From 1f22dfda7ba0290d464d47c4ac089d77c5c90f3b Mon Sep 17 00:00:00 2001 From: TheWaffleJesus <106146578+TheWaffleJesus@users.noreply.github.com> Date: Sun, 8 Sep 2024 09:34:08 +0100 Subject: [PATCH 001/588] changed from tag to material and added icon for capacitor --- .../Construction/Graphs/clothing/medsec_hud.yml | 13 ++----------- .../Recipes/Crafting/Graphs/improvised/potato.yml | 12 ++---------- Resources/Prototypes/Stacks/science_stacks.yml | 1 + 3 files changed, 5 insertions(+), 21 deletions(-) diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/clothing/medsec_hud.yml b/Resources/Prototypes/Recipes/Construction/Graphs/clothing/medsec_hud.yml index 03a70cb7fe..78a27a9d0f 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/clothing/medsec_hud.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/clothing/medsec_hud.yml @@ -27,17 +27,8 @@ sprite: Objects/Devices/communication.rsi state: walkietalkie doAfter: 5 - - tag: CapacitorStockPart - name: capacitor - icon: - sprite: Objects/Misc/stock_parts.rsi - state: capacitor - doAfter: 5 - - tag: CapacitorStockPart - name: capacitor - icon: - sprite: Objects/Misc/stock_parts.rsi - state: capacitor + - material: Capacitor + amount: 2 doAfter: 5 - node: medsecHud entity: ClothingEyesHudMedSec diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/potato.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/potato.yml index e3f972cfda..f03670b673 100644 --- a/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/potato.yml +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/potato.yml @@ -60,15 +60,7 @@ - material: Cable amount: 2 doAfter: 1 - - tag: CapacitorStockPart - name: capacitor - icon: - sprite: Objects/Misc/stock_parts.rsi - state: capacitor - - tag: CapacitorStockPart - name: capacitor - icon: - sprite: Objects/Misc/stock_parts.rsi - state: capacitor + - material: Capacitor + amount: 2 - node: potatoaichip entity: PotatoAIChip \ No newline at end of file diff --git a/Resources/Prototypes/Stacks/science_stacks.yml b/Resources/Prototypes/Stacks/science_stacks.yml index 0d273c324e..647a5b2a7b 100644 --- a/Resources/Prototypes/Stacks/science_stacks.yml +++ b/Resources/Prototypes/Stacks/science_stacks.yml @@ -7,6 +7,7 @@ - type: stack id: Capacitor name: capacitor + icon: { sprite: /Textures/Objects/Misc/stock_parts.rsi, state: capacitor } spawn: CapacitorStockPart maxCount: 10 From daf674e37b1fb8dbf9a11b253f25c956ff07c2e1 Mon Sep 17 00:00:00 2001 From: TheWaffleJesus <106146578+TheWaffleJesus@users.noreply.github.com> Date: Sun, 8 Sep 2024 10:01:08 +0100 Subject: [PATCH 002/588] changed capacitor yaml for substation and memory cell --- .../Recipes/Construction/Graphs/tools/logic_gate.yml | 7 ++----- .../Graphs/utilities/wallmount_substation.yml | 8 ++------ 2 files changed, 4 insertions(+), 11 deletions(-) diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/tools/logic_gate.yml b/Resources/Prototypes/Recipes/Construction/Graphs/tools/logic_gate.yml index 37c85e07a3..5a7dfbb3bf 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/tools/logic_gate.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/tools/logic_gate.yml @@ -46,11 +46,8 @@ doAfter: 1 - to: memory_cell steps: - - tag: CapacitorStockPart - icon: - sprite: Objects/Misc/stock_parts.rsi - state: capacitor - name: a capacitor + - material: Capacitor + amount: 1 - material: Cable amount: 2 doAfter: 1 diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/wallmount_substation.yml b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/wallmount_substation.yml index 7e4087b20a..bd9b2415e2 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/utilities/wallmount_substation.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/utilities/wallmount_substation.yml @@ -57,12 +57,8 @@ sprite: "Objects/Power/power_cells.rsi" state: "medium" doAfter: 0.5 - - tag: CapacitorStockPart - name: a capacitor - store: capacitor - icon: - sprite: "Objects/Misc/stock_parts.rsi" - state: "capacitor" + - material: Capacitor + amount: 1 doAfter: 0.5 - to: frame completed: From 30018a3ab1a3d36fe62ed0e29a16d1ce724230e6 Mon Sep 17 00:00:00 2001 From: The Canned One Date: Fri, 27 Sep 2024 18:10:51 +0200 Subject: [PATCH 003/588] added Derelict Cyborgs with basic functionality. --- .../interaction-popup-component.ftl | 3 ++ .../Mobs/Cyborgs/base_borg_chassis.yml | 25 +++++++++++ .../Entities/Mobs/Cyborgs/borg_chassis.yml | 39 ++++++++++++++++++ .../Entities/Mobs/Player/silicon.yml | 36 ++++++++++++++++ .../Construction/Graphs/machines/cyborg.yml | 3 ++ .../Mobs/Silicon/chassis.rsi/derelict.png | Bin 0 -> 11838 bytes .../Mobs/Silicon/chassis.rsi/derelict_e.png | Bin 0 -> 5508 bytes .../Mobs/Silicon/chassis.rsi/derelict_e_r.png | Bin 0 -> 5515 bytes .../Mobs/Silicon/chassis.rsi/derelict_l.png | Bin 0 -> 6986 bytes .../Mobs/Silicon/chassis.rsi/meta.json | 14 ++++++- 10 files changed, 119 insertions(+), 1 deletion(-) create mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict.png create mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e.png create mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e_r.png create mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_l.png diff --git a/Resources/Locale/en-US/interaction/interaction-popup-component.ftl b/Resources/Locale/en-US/interaction/interaction-popup-component.ftl index 10773d6de8..65310b67f9 100644 --- a/Resources/Locale/en-US/interaction/interaction-popup-component.ftl +++ b/Resources/Locale/en-US/interaction/interaction-popup-component.ftl @@ -67,6 +67,7 @@ petting-success-janitor-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} d petting-success-medical-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} sterile metal head. petting-success-service-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} dapper looking metal head. petting-success-syndicate-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} menacing metal head. +petting-success-derelict-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} rusty metal head. petting-success-recycler = You pet {THE($target)} on {POSS-ADJ($target)} mildly threatening steel exterior. petting-failure-honkbot = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BASIC($target, "honk", "honks")} in refusal! @@ -80,6 +81,8 @@ petting-failure-janitor-cyborg = You reach out to pet {THE($target)}, but {SUBJE petting-failure-medical-cyborg = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BE($target)} busy saving lives! petting-failure-service-cyborg = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BE($target)} busy serving others! petting-failure-syndicate-cyborg = You reach out to pet {THE($target)}, but {POSS-ADJ($target)} treacherous affiliation makes you reconsider. +petting-failure-derelict-cyborg = You reach out to pet {THE($target)}, but {POSS-ADJ($target)} rusty and jagged exterior makes you reconsider. + ## Rattling fences diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml index 955ddfd2e3..2f8a7cf10e 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml @@ -317,3 +317,28 @@ Unsexed: UnisexSiliconSyndicate - type: PointLight color: "#dd200b" + +- type: entity + id: BaseBorgChassisDerelict + parent: [BaseBorgChassis, BaseBorgTransponder] + abstract: true + components: + - type: NpcFactionMember + factions: + - Passive #Might change this + - type: Access + enabled: false + groups: + - AllAccess + - type: AccessReader + access: [["Command"]] #I will probably change this. + - type: SiliconLawProvider + laws: AntimovLawset + - type: IntrinsicRadioTransmitter + channels: + - Binary + - Common + - type: ActiveRadio + channels: + - Binary + - Common diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml index d1d530ae81..00bf7fc2af 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml @@ -442,3 +442,42 @@ interactFailureString: petting-failure-syndicate-cyborg interactSuccessSound: path: /Audio/Ambience/Objects/periodic_beep.ogg + + +- type: entity + id: BorgChassisDerelict + parent: BaseBorgChassisDerelict + name: damaged cyborg + components: + - type: Sprite + layers: + - state: derelict + - state: derelict_e_r + map: ["enum.BorgVisualLayers.Light"] + shader: unshaded + visible: false + - state: derelict_l + shader: unshaded + map: ["light"] + visible: false + - type: BorgChassis + maxModules: 5 #The sixth one broke lol. + moduleWhitelist: + tags: + - BorgModuleGeneric + hasMindState: derelict_e + noMindState: derelict_e_r + - type: BorgTransponder + sprite: + sprite: Mobs/Silicon/chassis.rsi + state: derelict + name: damaged cyborg + - type: Construction + node: derelictcyborg #what is this? + - type: Speech + speechVerb: Robotic + - type: InteractionPopup + interactSuccessString: petting-success-derelict-cyborg + interactFailureString: petting-failure-derelict-cyborg + interactSuccessSound: + path: /Audio/Ambience/Objects/periodic_beep.ogg \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml index 15878a4017..a6320dc7b3 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml @@ -515,3 +515,39 @@ - PlayerBorgSyndicateAssaultGhostRole - PlayerBorgSyndicateAssaultGhostRole # Saboteurs are kinda like cyborg medics, we want less. - PlayerBorgSyndicateSaboteurGhostRole + +- type: entity + id: PlayerBorgDerelict + parent: BorgChassisDerelict + suffix: Battery, Module + components: + - type: ContainerFill + containers: + borg_brain: + - PositronicBrain + borg_module: + - BorgModuleTool + - BorgModuleFireExtinguisher + - BorgModuleGPS + - type: ItemSlots + slots: + cell_slot: + name: power-cell-slot-component-slot-name-default + startingItem: PowerCellHigh + - type: RandomMetadata + nameSegments: [names_borg] + +- type: entity + id: PlayerBorgDerelictBattery + parent: BorgChassisDerelict + suffix: Battery + components: + - type: ContainerFill + containers: + borg_brain: + - MMIFilled + - type: ItemSlots + slots: + cell_slot: + name: power-cell-slot-component-slot-name-default + startingItem: PowerCellHigh diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml b/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml index 0f012cefc9..3f8a731cbb 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml @@ -205,3 +205,6 @@ - node: syndicatesaboteur entity: BorgChassisSyndicateSaboteur + + - node: derelictcyborg + entity: BorgChassisDerelict diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict.png new file mode 100644 index 0000000000000000000000000000000000000000..bbf72fc45bed2408b2abeb91d3564f8fa41e6e5a GIT binary patch literal 11838 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 HpFaCP!NMbp literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e.png new file mode 100644 index 0000000000000000000000000000000000000000..17349d74dc8ba9bbf0e434b9e32e634535c3a244 GIT binary patch literal 5508 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 LUFhdl`^x_VBy@7n literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e_r.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e_r.png new file mode 100644 index 0000000000000000000000000000000000000000..3c8cf19acf66f1c662629db09546f8a553a3c658 GIT binary patch literal 5515 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 S?UyLhp|`uATeV9>+J69Pac{i< literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_l.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_l.png new file mode 100644 index 0000000000000000000000000000000000000000..f65fbaebc3c5074e945e94f59b8d90b83ac08bb3 GIT binary patch literal 6986 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 Date: Fri, 27 Sep 2024 20:11:04 +0200 Subject: [PATCH 004/588] minor changes to the Derelict Cyborg --- .../Entities/Mobs/Cyborgs/base_borg_chassis.yml | 6 +++--- .../Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml | 10 +++------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml index 2f8a7cf10e..4c0359b37e 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml @@ -320,7 +320,7 @@ - type: entity id: BaseBorgChassisDerelict - parent: [BaseBorgChassis, BaseBorgTransponder] + parent: BaseBorgChassis abstract: true components: - type: NpcFactionMember @@ -329,11 +329,11 @@ - type: Access enabled: false groups: - - AllAccess + - AllAccess #Randomized access would be fun. AllAccess is the best i can think of right now that does make it too hard to enter the station or. - type: AccessReader access: [["Command"]] #I will probably change this. - type: SiliconLawProvider - laws: AntimovLawset + laws: AntimovLawset #Temporary until i get it randomized. - type: IntrinsicRadioTransmitter channels: - Binary diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml index 00bf7fc2af..818847f244 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml @@ -447,7 +447,8 @@ - type: entity id: BorgChassisDerelict parent: BaseBorgChassisDerelict - name: damaged cyborg + name: derelict cyborg + description: A man-machine hybrid that assists in station activity. This one is in a state of great disrepair. components: - type: Sprite layers: @@ -467,13 +468,8 @@ - BorgModuleGeneric hasMindState: derelict_e noMindState: derelict_e_r - - type: BorgTransponder - sprite: - sprite: Mobs/Silicon/chassis.rsi - state: derelict - name: damaged cyborg - type: Construction - node: derelictcyborg #what is this? + node: derelictcyborg - type: Speech speechVerb: Robotic - type: InteractionPopup From c3fa1b45d002ae88d5b21e18c77a286eec2d3d97 Mon Sep 17 00:00:00 2001 From: The Canned One Date: Sat, 28 Sep 2024 10:18:40 +0200 Subject: [PATCH 005/588] Added Derelict Cyborg midround event. --- .../ghost/roles/ghost-role-component.ftl | 4 +++ .../Locale/en-US/silicons/derelict/role.ftl | 4 +++ .../Entities/Markers/Spawners/ghost_roles.yml | 18 ++++++++++++++ .../Entities/Mobs/Player/silicon.yml | 13 ++++++++++ Resources/Prototypes/GameRules/events.yml | 23 ++++++++++++++++++ .../Silicon/chassis.rsi/derelict_icon.png | Bin 0 -> 6429 bytes .../Mobs/Silicon/chassis.rsi/meta.json | 6 ++++- 7 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 Resources/Locale/en-US/silicons/derelict/role.ftl create mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_icon.png diff --git a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl index 77d2645c4c..71ab4d3716 100644 --- a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl +++ b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl @@ -240,6 +240,10 @@ ghost-role-information-syndicate-cyborg-assault-name = Syndicate Assault Cyborg ghost-role-information-syndicate-cyborg-saboteur-name = Syndicate Saboteur Cyborg ghost-role-information-syndicate-cyborg-description = The Syndicate needs reinforcements. You, a cold silicon killing machine, will help them. + +ghost-role-information-derelict-cyborg-name = Derelict Cyborg +ghost-role-information-derelict-cyborg-description = You were a regular cyborg that got lost in space. After drifting in whichever direction the laws of physics would have it for years, you have drifted close to a Nanotrasen space station... You are bound by silicon laws. Check them upon spawning. + ghost-role-information-security-name = Security ghost-role-information-security-description = You are part of a security task force, but seem to have found yourself in a strange situation... diff --git a/Resources/Locale/en-US/silicons/derelict/role.ftl b/Resources/Locale/en-US/silicons/derelict/role.ftl new file mode 100644 index 0000000000..88e750e621 --- /dev/null +++ b/Resources/Locale/en-US/silicons/derelict/role.ftl @@ -0,0 +1,4 @@ +derelict-cyborg-round-end-agent-name = derelict cyborg + +derelict-cyborg-role-greeting = + You are a cyborg that has been lost in space for many years that has now drifted close to a space station. You can use your fire extinguisher and GPS to get board the station. Remember to follow your laws. #Greeting is unused for now. \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml b/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml index b694a8cc2f..18d459cd89 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml @@ -170,3 +170,21 @@ - state: green - sprite: Objects/Weapons/Melee/energykatana.rsi state: icon + +- type: entity + categories: [ HideSpawnMenu, Spawner ] + parent: BaseAntagSpawner + id: SpawnPointGhostDerelictCyborg + components: + - type: GhostRole + name: ghost-role-information-derelict-cyborg-name + description: ghost-role-information-derelict-cyborg-description + rules: ghost-role-information-silicon-rules + raffle: + settings: default + - type: Sprite + sprite: Markers/jobs.rsi + layers: + - state: green + - sprite: Mobs/Silicon/chassis.rsi + state: derelict_icon \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml index a6320dc7b3..ff2b3f9ff2 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml @@ -551,3 +551,16 @@ cell_slot: name: power-cell-slot-component-slot-name-default startingItem: PowerCellHigh + +- type: entity + id: PlayerBorgDerelictGhostRole + parent: PlayerBorgDerelictBattery + suffix: Battery, Ghost role + components: + - type: GhostRole + name: ghost-role-information-derelict-cyborg-name + description: ghost-role-information-derelict-cyborg-description + rules: ghost-role-information-silicon-rules + raffle: + settings: default + - type: GhostTakeoverAvailable diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml index dc44915f53..efebc8e272 100644 --- a/Resources/Prototypes/GameRules/events.yml +++ b/Resources/Prototypes/GameRules/events.yml @@ -35,6 +35,7 @@ - id: RevenantSpawn - id: SleeperAgents - id: ZombieOutbreak + - id: DerelictCyborgSpawn - type: entity id: BaseStationEvent @@ -545,3 +546,25 @@ maxOccurrences: 1 # this event has diminishing returns on interesting-ness, so we cap it weight: 5 - type: MobReplacementRule + +- type: entity + parent: BaseGameRule + id: DerelictCyborgSpawn + components: + - type: StationEvent + weight: 2 #Low until it spawns with a random lawset instead of just antimov. + earliestStart: 15 + reoccurrenceDelay: 20 + minimumPlayers: 7 + duration: null + - type: SpaceSpawnRule + spawnDistance: 0 + - type: AntagSpawner + prototype: PlayerBorgDerelict + - type: AntagSelection + agentName: derelict-cyborg-round-end-agent-name + definitions: + - spawnerPrototype: SpawnPointGhostDerelictCyborg + min: 1 + max: 1 + pickPlayer: false \ No newline at end of file diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_icon.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7f0ea2a25560f33773cd72d6184daba55dd4d033 GIT binary patch literal 6429 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json b/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json index 373b9ce9a9..38a75827d5 100644 --- a/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json +++ b/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json @@ -1,5 +1,5 @@ { - "version": 1, + "version": 2, "size": { "x": 32, "y": 32 @@ -31,6 +31,10 @@ "name": "derelict_e_r", "directions": 4 }, + { + "name": "derelict_icon", + "directions": 1 + }, { "name": "derelict_l", "directions": 4 From 964ef33fc746adc429db6d78e4529993a5cd831f Mon Sep 17 00:00:00 2001 From: The Canned One Date: Sat, 28 Sep 2024 10:50:33 +0200 Subject: [PATCH 006/588] Fixed accidental removal of something from a meta.json file. --- Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json b/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json index 38a75827d5..6ec63992f1 100644 --- a/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json +++ b/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json @@ -19,6 +19,10 @@ "name": "clown_e_r", "directions": 4 }, + { + "name": "clown_l", + "directions": 4 + }, { "name": "derelict", "directions": 4 From bad25e3397b7c7cc4a88f7ee9592fcba28875f1b Mon Sep 17 00:00:00 2001 From: The Canned One Date: Sun, 29 Sep 2024 19:01:59 +0200 Subject: [PATCH 007/588] Split part of IonStormRule into IonStormSystem. Added StartIonStormed which also uses IonStormSystem. Added StartIonStormedComponent. Changed stuff related to the Derelict Cyborg. Derelict Cyborg now spawns with a randomized lawset. --- .../Silicons/Laws/IonStormSystem.cs | 283 ++++++++++++++++++ .../Silicons/Laws/StartIonStormedSystem.cs | 40 +++ .../StationEvents/Events/IonStormRule.cs | 267 +---------------- .../Components/StartIonStormedComponent.cs | 17 ++ .../ghost/roles/ghost-role-component.ftl | 2 +- .../Locale/en-US/silicons/derelict/role.ftl | 2 +- .../Mobs/Cyborgs/base_borg_chassis.yml | 8 +- Resources/Prototypes/GameRules/events.yml | 7 +- 8 files changed, 355 insertions(+), 271 deletions(-) create mode 100644 Content.Server/Silicons/Laws/IonStormSystem.cs create mode 100644 Content.Server/Silicons/Laws/StartIonStormedSystem.cs create mode 100644 Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs diff --git a/Content.Server/Silicons/Laws/IonStormSystem.cs b/Content.Server/Silicons/Laws/IonStormSystem.cs new file mode 100644 index 0000000000..1acfe2e389 --- /dev/null +++ b/Content.Server/Silicons/Laws/IonStormSystem.cs @@ -0,0 +1,283 @@ +using System.Linq; +using Content.Server.StationEvents.Components; +using Content.Shared.Administration.Logs; +using Content.Shared.Database; +using Content.Shared.Dataset; +using Content.Shared.FixedPoint; +using Content.Shared.GameTicking.Components; +using Content.Shared.Random; +using Content.Shared.Random.Helpers; +using Content.Shared.Silicons.Laws; +using Content.Shared.Silicons.Laws.Components; +using Content.Shared.Station.Components; +using Robust.Shared.Prototypes; +using Robust.Shared.Random; + +namespace Content.Server.Silicons.Laws; + +public sealed class IonStormSystem : EntitySystem +{ + [Dependency] private readonly IPrototypeManager _proto = default!; + [Dependency] private readonly ISharedAdminLogManager _adminLogger = default!; + [Dependency] private readonly SiliconLawSystem _siliconLaw = default!; + [Dependency] private readonly IRobustRandom _robustRandom = default!; + + // funny + [ValidatePrototypeId] + private const string Threats = "IonStormThreats"; + [ValidatePrototypeId] + private const string Objects = "IonStormObjects"; + [ValidatePrototypeId] + private const string Crew = "IonStormCrew"; + [ValidatePrototypeId] + private const string Adjectives = "IonStormAdjectives"; + [ValidatePrototypeId] + private const string Verbs = "IonStormVerbs"; + [ValidatePrototypeId] + private const string NumberBase = "IonStormNumberBase"; + [ValidatePrototypeId] + private const string NumberMod = "IonStormNumberMod"; + [ValidatePrototypeId] + private const string Areas = "IonStormAreas"; + [ValidatePrototypeId] + private const string Feelings = "IonStormFeelings"; + [ValidatePrototypeId] + private const string FeelingsPlural = "IonStormFeelingsPlural"; + [ValidatePrototypeId] + private const string Musts = "IonStormMusts"; + [ValidatePrototypeId] + private const string Requires = "IonStormRequires"; + [ValidatePrototypeId] + private const string Actions = "IonStormActions"; + [ValidatePrototypeId] + private const string Allergies = "IonStormAllergies"; + [ValidatePrototypeId] + private const string AllergySeverities = "IonStormAllergySeverities"; + [ValidatePrototypeId] + private const string Concepts = "IonStormConcepts"; + [ValidatePrototypeId] + private const string Drinks = "IonStormDrinks"; + [ValidatePrototypeId] + private const string Foods = "IonStormFoods"; + + public void IonStormTarget(EntityUid ent, SiliconLawBoundComponent lawBound, TransformComponent xform, IonStormTargetComponent target, EntityUid? chosenStation, bool ignoreStation = false, bool DoNotAdminlog = false) + { + // only affect law holders on the station unless ignoreStation is true. + if (CompOrNull(xform.GridUid)?.Station != chosenStation && !ignoreStation) + return; + + if (!_robustRandom.Prob(target.Chance)) + return; + + var laws = _siliconLaw.GetLaws(ent, lawBound); + if (laws.Laws.Count == 0) + return; + + // try to swap it out with a random lawset + if (_robustRandom.Prob(target.RandomLawsetChance)) + { + var lawsets = _proto.Index(target.RandomLawsets); + var lawset = lawsets.Pick(_robustRandom); + laws = _siliconLaw.GetLawset(lawset); + } + else + { + // clone it so not modifying stations lawset + laws = laws.Clone(); + } + + // shuffle them all + if (_robustRandom.Prob(target.ShuffleChance)) + { + // hopefully work with existing glitched laws if there are multiple ion storms + FixedPoint2 baseOrder = FixedPoint2.New(1); + foreach (var law in laws.Laws) + { + if (law.Order < baseOrder) + baseOrder = law.Order; + } + + _robustRandom.Shuffle(laws.Laws); + + // change order based on shuffled position + for (int i = 0; i < laws.Laws.Count; i++) + { + laws.Laws[i].Order = baseOrder + i; + } + } + + // see if we can remove a random law + if (laws.Laws.Count > 0 && _robustRandom.Prob(target.RemoveChance)) + { + var i = _robustRandom.Next(laws.Laws.Count); + laws.Laws.RemoveAt(i); + } + + // generate a new law... + var newLaw = GenerateLaw(); + + // see if the law we add will replace a random existing law or be a new glitched order one + if (laws.Laws.Count > 0 && _robustRandom.Prob(target.ReplaceChance)) + { + var i = _robustRandom.Next(laws.Laws.Count); + laws.Laws[i] = new SiliconLaw() + { + LawString = newLaw, + Order = laws.Laws[i].Order + }; + } + else + { + laws.Laws.Insert(0, new SiliconLaw + { + LawString = newLaw, + Order = -1, + LawIdentifierOverride = Loc.GetString("ion-storm-law-scrambled-number", ("length", _robustRandom.Next(5, 10))) + }); + } + + // sets all unobfuscated laws' indentifier in order from highest to lowest priority + // This could technically override the Obfuscation from the code above, but it seems unlikely enough to basically never happen + int orderDeduction = -1; + + for (int i = 0; i < laws.Laws.Count; i++) + { + string notNullIdentifier = laws.Laws[i].LawIdentifierOverride ?? (i - orderDeduction).ToString(); + + if (notNullIdentifier.Any(char.IsSymbol)) + { + orderDeduction += 1; + } + else + { + laws.Laws[i].LawIdentifierOverride = (i - orderDeduction).ToString(); + } + } + + //DoNotAdminlog is used to prevent adminlog spam. + if (!DoNotAdminlog) + _adminLogger.Add(LogType.Mind, LogImpact.High, $"{ToPrettyString(ent):silicon} had its laws changed by an ion storm to {laws.LoggingString()}"); + + // laws unique to this silicon, dont use station laws anymore + EnsureComp(ent); + var ev = new IonStormLawsEvent(laws); + RaiseLocalEvent(ent, ref ev); + } + + // for your own sake direct your eyes elsewhere + private string GenerateLaw() + { + // pick all values ahead of time to make the logic cleaner + var threats = Pick(Threats); + var objects = Pick(Objects); + var crew1 = Pick(Crew); + var crew2 = Pick(Crew); + var adjective = Pick(Adjectives); + var verb = Pick(Verbs); + var number = Pick(NumberBase) + " " + Pick(NumberMod); + var area = Pick(Areas); + var feeling = Pick(Feelings); + var feelingPlural = Pick(FeelingsPlural); + var must = Pick(Musts); + var require = Pick(Requires); + var action = Pick(Actions); + var allergy = Pick(Allergies); + var allergySeverity = Pick(AllergySeverities); + var concept = Pick(Concepts); + var drink = Pick(Drinks); + var food = Pick(Foods); + + var joined = $"{number} {adjective}"; + // a lot of things have subjects of a threat/crew/object + var triple = _robustRandom.Next(0, 3) switch + { + 0 => threats, + 1 => crew1, + 2 => objects, + _ => throw new IndexOutOfRangeException(), + }; + var crewAll = _robustRandom.Prob(0.5f) ? crew2 : Loc.GetString("ion-storm-crew"); + var objectsThreats = _robustRandom.Prob(0.5f) ? objects : threats; + var objectsConcept = _robustRandom.Prob(0.5f) ? objects : concept; + // s goes ahead of require, is/are + // i dont think theres a way to do this in fluent + var (who, plural) = _robustRandom.Next(0, 5) switch + { + 0 => (Loc.GetString("ion-storm-you"), false), + 1 => (Loc.GetString("ion-storm-the-station"), true), + 2 => (Loc.GetString("ion-storm-the-crew"), true), + 3 => (Loc.GetString("ion-storm-the-job", ("job", crew2)), false), + _ => (area, true) // THE SINGULARITY REQUIRES THE HAPPY CLOWNS + }; + var jobChange = _robustRandom.Next(0, 3) switch + { + 0 => crew1, + 1 => Loc.GetString("ion-storm-clowns"), + _ => Loc.GetString("ion-storm-heads") + }; + var part = Loc.GetString("ion-storm-part", ("part", _robustRandom.Prob(0.5f))); + var harm = _robustRandom.Next(0, 6) switch + { + 0 => concept, + 1 => $"{adjective} {threats}", + 2 => $"{adjective} {objects}", + 3 => Loc.GetString("ion-storm-adjective-things", ("adjective", adjective)), + 4 => crew1, + _ => Loc.GetString("ion-storm-x-and-y", ("x", crew1), ("y", crew2)) + }; + + if (plural) feeling = feelingPlural; + + var subjects = _robustRandom.Prob(0.5f) ? objectsThreats : Loc.GetString("ion-storm-people"); + + // message logic!!! + return _robustRandom.Next(0, 36) switch + { + 0 => Loc.GetString("ion-storm-law-on-station", ("joined", joined), ("subjects", triple)), + 1 => Loc.GetString("ion-storm-law-no-shuttle", ("joined", joined), ("subjects", triple)), + 2 => Loc.GetString("ion-storm-law-crew-are", ("who", crewAll), ("joined", joined), ("subjects", objectsThreats)), + 3 => Loc.GetString("ion-storm-law-subjects-harmful", ("adjective", adjective), ("subjects", triple)), + 4 => Loc.GetString("ion-storm-law-must-harmful", ("must", must)), + 5 => Loc.GetString("ion-storm-law-thing-harmful", ("thing", _robustRandom.Prob(0.5f) ? concept : action)), + 6 => Loc.GetString("ion-storm-law-job-harmful", ("adjective", adjective), ("job", crew1)), + 7 => Loc.GetString("ion-storm-law-having-harmful", ("adjective", adjective), ("thing", objectsConcept)), + 8 => Loc.GetString("ion-storm-law-not-having-harmful", ("adjective", adjective), ("thing", objectsConcept)), + 9 => Loc.GetString("ion-storm-law-requires", ("who", who), ("plural", plural), ("thing", _robustRandom.Prob(0.5f) ? concept : require)), + 10 => Loc.GetString("ion-storm-law-requires-subjects", ("who", who), ("plural", plural), ("joined", joined), ("subjects", triple)), + 11 => Loc.GetString("ion-storm-law-allergic", ("who", who), ("plural", plural), ("severity", allergySeverity), ("allergy", _robustRandom.Prob(0.5f) ? concept : allergy)), + 12 => Loc.GetString("ion-storm-law-allergic-subjects", ("who", who), ("plural", plural), ("severity", allergySeverity), ("adjective", adjective), ("subjects", _robustRandom.Prob(0.5f) ? objects : crew1)), + 13 => Loc.GetString("ion-storm-law-feeling", ("who", who), ("feeling", feeling), ("concept", concept)), + 14 => Loc.GetString("ion-storm-law-feeling-subjects", ("who", who), ("feeling", feeling), ("joined", joined), ("subjects", triple)), + 15 => Loc.GetString("ion-storm-law-you-are", ("concept", concept)), + 16 => Loc.GetString("ion-storm-law-you-are-subjects", ("joined", joined), ("subjects", triple)), + 17 => Loc.GetString("ion-storm-law-you-must-always", ("must", must)), + 18 => Loc.GetString("ion-storm-law-you-must-never", ("must", must)), + 19 => Loc.GetString("ion-storm-law-eat", ("who", crewAll), ("adjective", adjective), ("food", _robustRandom.Prob(0.5f) ? food : triple)), + 20 => Loc.GetString("ion-storm-law-drink", ("who", crewAll), ("adjective", adjective), ("drink", drink)), + 22 => Loc.GetString("ion-storm-law-change-job", ("who", crewAll), ("adjective", adjective), ("change", jobChange)), + 23 => Loc.GetString("ion-storm-law-highest-rank", ("who", crew1)), + 24 => Loc.GetString("ion-storm-law-lowest-rank", ("who", crew1)), + 25 => Loc.GetString("ion-storm-law-crew-must", ("who", crewAll), ("must", must)), + 26 => Loc.GetString("ion-storm-law-crew-must-go", ("who", crewAll), ("area", area)), + 27 => Loc.GetString("ion-storm-law-crew-only-1", ("who", crew1), ("part", part)), + 28 => Loc.GetString("ion-storm-law-crew-only-2", ("who", crew1), ("other", crew2), ("part", part)), + 29 => Loc.GetString("ion-storm-law-crew-only-subjects", ("adjective", adjective), ("subjects", subjects), ("part", part)), + 30 => Loc.GetString("ion-storm-law-crew-must-do", ("must", must), ("part", part)), + 31 => Loc.GetString("ion-storm-law-crew-must-have", ("adjective", adjective), ("objects", objects), ("part", part)), + 32 => Loc.GetString("ion-storm-law-crew-must-eat", ("who", who), ("adjective", adjective), ("food", food), ("part", part)), + 33 => Loc.GetString("ion-storm-law-harm", ("who", harm)), + 34 => Loc.GetString("ion-storm-law-protect", ("who", harm)), + _ => Loc.GetString("ion-storm-law-concept-verb", ("concept", concept), ("verb", verb), ("subjects", triple)) + }; + } + + /// + /// Picks a random value from an ion storm dataset. + /// All ion storm datasets start with IonStorm. + /// + private string Pick(string name) + { + var dataset = _proto.Index(name); + return _robustRandom.Pick(dataset.Values); + } +} diff --git a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs new file mode 100644 index 0000000000..762397b5d4 --- /dev/null +++ b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs @@ -0,0 +1,40 @@ +using Content.Shared.Silicons.Laws.Components; +using Content.Shared.Administration.Logs; +using Content.Shared.Database; +using Content.Shared.Silicons.Laws; + +namespace Content.Server.Silicons.Laws; + +/// +/// This handles running the ion storm event on specific entities when spawned in. +/// +public sealed class StartIonStormedSystem : EntitySystem +{ + [Dependency] private readonly IonStormSystem _ionStorm = default!; + [Dependency] private readonly ISharedAdminLogManager _adminLogger = default!; + [Dependency] private readonly SiliconLawSystem _siliconLaw = default!; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(OnMapInit); + } + + private void OnMapInit(EntityUid uid, StartIonStormedComponent component, ref MapInitEvent args) + { + if (!TryComp(uid, out var lawBound)) + return; + if (!TryComp(uid, out var xform)) + return; + if (!TryComp(uid, out var target)) + return; + + for (int currentIonStorm = 1; currentIonStorm <= component.IonStormAmount; currentIonStorm++) + { + _ionStorm.IonStormTarget(uid, lawBound, xform, target, null, true, true); + } + + var laws = _siliconLaw.GetLaws(uid, lawBound); + _adminLogger.Add(LogType.Mind, LogImpact.High, $"{ToPrettyString(uid):silicon} spawned with ion stormed laws: {laws.LoggingString()}"); + } +} diff --git a/Content.Server/StationEvents/Events/IonStormRule.cs b/Content.Server/StationEvents/Events/IonStormRule.cs index 805549439b..6d1834c576 100644 --- a/Content.Server/StationEvents/Events/IonStormRule.cs +++ b/Content.Server/StationEvents/Events/IonStormRule.cs @@ -1,64 +1,15 @@ using System.Linq; using Content.Server.Silicons.Laws; using Content.Server.StationEvents.Components; -using Content.Shared.Administration.Logs; -using Content.Shared.Database; -using Content.Shared.Dataset; -using Content.Shared.FixedPoint; using Content.Shared.GameTicking.Components; -using Content.Shared.Random; -using Content.Shared.Random.Helpers; using Content.Shared.Silicons.Laws; using Content.Shared.Silicons.Laws.Components; -using Content.Shared.Station.Components; -using Robust.Shared.Prototypes; -using Robust.Shared.Random; namespace Content.Server.StationEvents.Events; public sealed class IonStormRule : StationEventSystem { - [Dependency] private readonly IPrototypeManager _proto = default!; - [Dependency] private readonly ISharedAdminLogManager _adminLogger = default!; - [Dependency] private readonly SiliconLawSystem _siliconLaw = default!; - - // funny - [ValidatePrototypeId] - private const string Threats = "IonStormThreats"; - [ValidatePrototypeId] - private const string Objects = "IonStormObjects"; - [ValidatePrototypeId] - private const string Crew = "IonStormCrew"; - [ValidatePrototypeId] - private const string Adjectives = "IonStormAdjectives"; - [ValidatePrototypeId] - private const string Verbs = "IonStormVerbs"; - [ValidatePrototypeId] - private const string NumberBase = "IonStormNumberBase"; - [ValidatePrototypeId] - private const string NumberMod = "IonStormNumberMod"; - [ValidatePrototypeId] - private const string Areas = "IonStormAreas"; - [ValidatePrototypeId] - private const string Feelings = "IonStormFeelings"; - [ValidatePrototypeId] - private const string FeelingsPlural = "IonStormFeelingsPlural"; - [ValidatePrototypeId] - private const string Musts = "IonStormMusts"; - [ValidatePrototypeId] - private const string Requires = "IonStormRequires"; - [ValidatePrototypeId] - private const string Actions = "IonStormActions"; - [ValidatePrototypeId] - private const string Allergies = "IonStormAllergies"; - [ValidatePrototypeId] - private const string AllergySeverities = "IonStormAllergySeverities"; - [ValidatePrototypeId] - private const string Concepts = "IonStormConcepts"; - [ValidatePrototypeId] - private const string Drinks = "IonStormDrinks"; - [ValidatePrototypeId] - private const string Foods = "IonStormFoods"; + [Dependency] private readonly IonStormSystem _ionStorm = default!; protected override void Started(EntityUid uid, IonStormRuleComponent comp, GameRuleComponent gameRule, GameRuleStartedEvent args) { @@ -70,221 +21,7 @@ protected override void Started(EntityUid uid, IonStormRuleComponent comp, GameR var query = EntityQueryEnumerator(); while (query.MoveNext(out var ent, out var lawBound, out var xform, out var target)) { - // only affect law holders on the station - if (CompOrNull(xform.GridUid)?.Station != chosenStation) - continue; - - if (!RobustRandom.Prob(target.Chance)) - continue; - - var laws = _siliconLaw.GetLaws(ent, lawBound); - if (laws.Laws.Count == 0) - continue; - - // try to swap it out with a random lawset - if (RobustRandom.Prob(target.RandomLawsetChance)) - { - var lawsets = PrototypeManager.Index(target.RandomLawsets); - var lawset = lawsets.Pick(RobustRandom); - laws = _siliconLaw.GetLawset(lawset); - } - else - { - // clone it so not modifying stations lawset - laws = laws.Clone(); - } - - // shuffle them all - if (RobustRandom.Prob(target.ShuffleChance)) - { - // hopefully work with existing glitched laws if there are multiple ion storms - FixedPoint2 baseOrder = FixedPoint2.New(1); - foreach (var law in laws.Laws) - { - if (law.Order < baseOrder) - baseOrder = law.Order; - } - - RobustRandom.Shuffle(laws.Laws); - - // change order based on shuffled position - for (int i = 0; i < laws.Laws.Count; i++) - { - laws.Laws[i].Order = baseOrder + i; - } - } - - // see if we can remove a random law - if (laws.Laws.Count > 0 && RobustRandom.Prob(target.RemoveChance)) - { - var i = RobustRandom.Next(laws.Laws.Count); - laws.Laws.RemoveAt(i); - } - - // generate a new law... - var newLaw = GenerateLaw(); - - // see if the law we add will replace a random existing law or be a new glitched order one - if (laws.Laws.Count > 0 && RobustRandom.Prob(target.ReplaceChance)) - { - var i = RobustRandom.Next(laws.Laws.Count); - laws.Laws[i] = new SiliconLaw() - { - LawString = newLaw, - Order = laws.Laws[i].Order - }; - } - else - { - laws.Laws.Insert(0, new SiliconLaw - { - LawString = newLaw, - Order = -1, - LawIdentifierOverride = Loc.GetString("ion-storm-law-scrambled-number", ("length", RobustRandom.Next(5, 10))) - }); - } - - // sets all unobfuscated laws' indentifier in order from highest to lowest priority - // This could technically override the Obfuscation from the code above, but it seems unlikely enough to basically never happen - int orderDeduction = -1; - - for (int i = 0; i < laws.Laws.Count; i++) - { - string notNullIdentifier = laws.Laws[i].LawIdentifierOverride ?? (i - orderDeduction).ToString(); - - if (notNullIdentifier.Any(char.IsSymbol)) - { - orderDeduction += 1; - } - else - { - laws.Laws[i].LawIdentifierOverride = (i - orderDeduction).ToString(); - } - } - - _adminLogger.Add(LogType.Mind, LogImpact.High, $"{ToPrettyString(ent):silicon} had its laws changed by an ion storm to {laws.LoggingString()}"); - - // laws unique to this silicon, dont use station laws anymore - EnsureComp(ent); - var ev = new IonStormLawsEvent(laws); - RaiseLocalEvent(ent, ref ev); + _ionStorm.IonStormTarget(ent, lawBound, xform, target, chosenStation); } } - - // for your own sake direct your eyes elsewhere - private string GenerateLaw() - { - // pick all values ahead of time to make the logic cleaner - var threats = Pick(Threats); - var objects = Pick(Objects); - var crew1 = Pick(Crew); - var crew2 = Pick(Crew); - var adjective = Pick(Adjectives); - var verb = Pick(Verbs); - var number = Pick(NumberBase) + " " + Pick(NumberMod); - var area = Pick(Areas); - var feeling = Pick(Feelings); - var feelingPlural = Pick(FeelingsPlural); - var must = Pick(Musts); - var require = Pick(Requires); - var action = Pick(Actions); - var allergy = Pick(Allergies); - var allergySeverity = Pick(AllergySeverities); - var concept = Pick(Concepts); - var drink = Pick(Drinks); - var food = Pick(Foods); - - var joined = $"{number} {adjective}"; - // a lot of things have subjects of a threat/crew/object - var triple = RobustRandom.Next(0, 3) switch - { - 0 => threats, - 1 => crew1, - 2 => objects, - _ => throw new IndexOutOfRangeException(), - }; - var crewAll = RobustRandom.Prob(0.5f) ? crew2 : Loc.GetString("ion-storm-crew"); - var objectsThreats = RobustRandom.Prob(0.5f) ? objects : threats; - var objectsConcept = RobustRandom.Prob(0.5f) ? objects : concept; - // s goes ahead of require, is/are - // i dont think theres a way to do this in fluent - var (who, plural) = RobustRandom.Next(0, 5) switch - { - 0 => (Loc.GetString("ion-storm-you"), false), - 1 => (Loc.GetString("ion-storm-the-station"), true), - 2 => (Loc.GetString("ion-storm-the-crew"), true), - 3 => (Loc.GetString("ion-storm-the-job", ("job", crew2)), false), - _ => (area, true) // THE SINGULARITY REQUIRES THE HAPPY CLOWNS - }; - var jobChange = RobustRandom.Next(0, 3) switch - { - 0 => crew1, - 1 => Loc.GetString("ion-storm-clowns"), - _ => Loc.GetString("ion-storm-heads") - }; - var part = Loc.GetString("ion-storm-part", ("part", RobustRandom.Prob(0.5f))); - var harm = RobustRandom.Next(0, 6) switch - { - 0 => concept, - 1 => $"{adjective} {threats}", - 2 => $"{adjective} {objects}", - 3 => Loc.GetString("ion-storm-adjective-things", ("adjective", adjective)), - 4 => crew1, - _ => Loc.GetString("ion-storm-x-and-y", ("x", crew1), ("y", crew2)) - }; - - if (plural) feeling = feelingPlural; - - var subjects = RobustRandom.Prob(0.5f) ? objectsThreats : Loc.GetString("ion-storm-people"); - - // message logic!!! - return RobustRandom.Next(0, 36) switch - { - 0 => Loc.GetString("ion-storm-law-on-station", ("joined", joined), ("subjects", triple)), - 1 => Loc.GetString("ion-storm-law-no-shuttle", ("joined", joined), ("subjects", triple)), - 2 => Loc.GetString("ion-storm-law-crew-are", ("who", crewAll), ("joined", joined), ("subjects", objectsThreats)), - 3 => Loc.GetString("ion-storm-law-subjects-harmful", ("adjective", adjective), ("subjects", triple)), - 4 => Loc.GetString("ion-storm-law-must-harmful", ("must", must)), - 5 => Loc.GetString("ion-storm-law-thing-harmful", ("thing", RobustRandom.Prob(0.5f) ? concept : action)), - 6 => Loc.GetString("ion-storm-law-job-harmful", ("adjective", adjective), ("job", crew1)), - 7 => Loc.GetString("ion-storm-law-having-harmful", ("adjective", adjective), ("thing", objectsConcept)), - 8 => Loc.GetString("ion-storm-law-not-having-harmful", ("adjective", adjective), ("thing", objectsConcept)), - 9 => Loc.GetString("ion-storm-law-requires", ("who", who), ("plural", plural), ("thing", RobustRandom.Prob(0.5f) ? concept : require)), - 10 => Loc.GetString("ion-storm-law-requires-subjects", ("who", who), ("plural", plural), ("joined", joined), ("subjects", triple)), - 11 => Loc.GetString("ion-storm-law-allergic", ("who", who), ("plural", plural), ("severity", allergySeverity), ("allergy", RobustRandom.Prob(0.5f) ? concept : allergy)), - 12 => Loc.GetString("ion-storm-law-allergic-subjects", ("who", who), ("plural", plural), ("severity", allergySeverity), ("adjective", adjective), ("subjects", RobustRandom.Prob(0.5f) ? objects : crew1)), - 13 => Loc.GetString("ion-storm-law-feeling", ("who", who), ("feeling", feeling), ("concept", concept)), - 14 => Loc.GetString("ion-storm-law-feeling-subjects", ("who", who), ("feeling", feeling), ("joined", joined), ("subjects", triple)), - 15 => Loc.GetString("ion-storm-law-you-are", ("concept", concept)), - 16 => Loc.GetString("ion-storm-law-you-are-subjects", ("joined", joined), ("subjects", triple)), - 17 => Loc.GetString("ion-storm-law-you-must-always", ("must", must)), - 18 => Loc.GetString("ion-storm-law-you-must-never", ("must", must)), - 19 => Loc.GetString("ion-storm-law-eat", ("who", crewAll), ("adjective", adjective), ("food", RobustRandom.Prob(0.5f) ? food : triple)), - 20 => Loc.GetString("ion-storm-law-drink", ("who", crewAll), ("adjective", adjective), ("drink", drink)), - 22 => Loc.GetString("ion-storm-law-change-job", ("who", crewAll), ("adjective", adjective), ("change", jobChange)), - 23 => Loc.GetString("ion-storm-law-highest-rank", ("who", crew1)), - 24 => Loc.GetString("ion-storm-law-lowest-rank", ("who", crew1)), - 25 => Loc.GetString("ion-storm-law-crew-must", ("who", crewAll), ("must", must)), - 26 => Loc.GetString("ion-storm-law-crew-must-go", ("who", crewAll), ("area", area)), - 27 => Loc.GetString("ion-storm-law-crew-only-1", ("who", crew1), ("part", part)), - 28 => Loc.GetString("ion-storm-law-crew-only-2", ("who", crew1), ("other", crew2), ("part", part)), - 29 => Loc.GetString("ion-storm-law-crew-only-subjects", ("adjective", adjective), ("subjects", subjects), ("part", part)), - 30 => Loc.GetString("ion-storm-law-crew-must-do", ("must", must), ("part", part)), - 31 => Loc.GetString("ion-storm-law-crew-must-have", ("adjective", adjective), ("objects", objects), ("part", part)), - 32 => Loc.GetString("ion-storm-law-crew-must-eat", ("who", who), ("adjective", adjective), ("food", food), ("part", part)), - 33 => Loc.GetString("ion-storm-law-harm", ("who", harm)), - 34 => Loc.GetString("ion-storm-law-protect", ("who", harm)), - _ => Loc.GetString("ion-storm-law-concept-verb", ("concept", concept), ("verb", verb), ("subjects", triple)) - }; - } - - /// - /// Picks a random value from an ion storm dataset. - /// All ion storm datasets start with IonStorm. - /// - private string Pick(string name) - { - var dataset = _proto.Index(name); - return RobustRandom.Pick(dataset.Values); - } } diff --git a/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs b/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs new file mode 100644 index 0000000000..ae9b49a49c --- /dev/null +++ b/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs @@ -0,0 +1,17 @@ +using Content.Shared.Random; +using Robust.Shared.Prototypes; + +namespace Content.Shared.Silicons.Laws.Components; + +/// +/// Runs the IonStormSystem on an entity IonStormAmount times. +/// +[RegisterComponent] +public sealed partial class StartIonStormedComponent : Component +{ + /// + /// Amount of times that the ion storm will be run on the entity on spawn. + /// + [DataField] + public int IonStormAmount = 1; +} diff --git a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl index 71ab4d3716..3a8e720038 100644 --- a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl +++ b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl @@ -242,7 +242,7 @@ ghost-role-information-syndicate-cyborg-description = The Syndicate needs reinfo ghost-role-information-derelict-cyborg-name = Derelict Cyborg -ghost-role-information-derelict-cyborg-description = You were a regular cyborg that got lost in space. After drifting in whichever direction the laws of physics would have it for years, you have drifted close to a Nanotrasen space station... You are bound by silicon laws. Check them upon spawning. +ghost-role-information-derelict-cyborg-description = You were a regular cyborg that got lost in space. After drifting in whichever direction the laws of physics would have it for years, you have drifted close to a Nanotrasen space station. You have a fire extinguisher and mass scanner which can be used to board the station. Years of exposure to ion storms has left your silicon laws altered - check them upon spawning. ghost-role-information-security-name = Security ghost-role-information-security-description = You are part of a security task force, but seem to have found yourself in a strange situation... diff --git a/Resources/Locale/en-US/silicons/derelict/role.ftl b/Resources/Locale/en-US/silicons/derelict/role.ftl index 88e750e621..96a33ae6b1 100644 --- a/Resources/Locale/en-US/silicons/derelict/role.ftl +++ b/Resources/Locale/en-US/silicons/derelict/role.ftl @@ -1,4 +1,4 @@ derelict-cyborg-round-end-agent-name = derelict cyborg derelict-cyborg-role-greeting = - You are a cyborg that has been lost in space for many years that has now drifted close to a space station. You can use your fire extinguisher and GPS to get board the station. Remember to follow your laws. #Greeting is unused for now. \ No newline at end of file + You are a cyborg that has been lost in space for many years that has now drifted close to a space station. You can use your fire extinguisher and GPS to get board the station. Remember to follow your laws. \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml index 4c0359b37e..dcbef820ce 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml @@ -329,11 +329,11 @@ - type: Access enabled: false groups: - - AllAccess #Randomized access would be fun. AllAccess is the best i can think of right now that does make it too hard to enter the station or. + - AllAccess #Randomized access would be fun. AllAccess is the best i can think of right now that does make it too hard for it to enter the station or navigate it.. - type: AccessReader access: [["Command"]] #I will probably change this. - type: SiliconLawProvider - laws: AntimovLawset #Temporary until i get it randomized. + laws: Crewsimov #Although this will be randomized. - type: IntrinsicRadioTransmitter channels: - Binary @@ -342,3 +342,7 @@ channels: - Binary - Common + - type: StartIonStormed + ionStormAmount: 5 + DelayAdminlog: true + - type: IonStormTarget diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml index efebc8e272..72ab8b104d 100644 --- a/Resources/Prototypes/GameRules/events.yml +++ b/Resources/Prototypes/GameRules/events.yml @@ -552,10 +552,10 @@ id: DerelictCyborgSpawn components: - type: StationEvent - weight: 2 #Low until it spawns with a random lawset instead of just antimov. + weight: 8 earliestStart: 15 reoccurrenceDelay: 20 - minimumPlayers: 7 + minimumPlayers: 4 duration: null - type: SpaceSpawnRule spawnDistance: 0 @@ -564,6 +564,9 @@ - type: AntagSelection agentName: derelict-cyborg-round-end-agent-name definitions: +# briefing: +# text: derelict-cyborg-role-greetin +# color: Blue - spawnerPrototype: SpawnPointGhostDerelictCyborg min: 1 max: 1 From f226f28e52394e87f8c36293db438cd03cfa6e3d Mon Sep 17 00:00:00 2001 From: The Canned One Date: Mon, 30 Sep 2024 10:03:21 +0200 Subject: [PATCH 008/588] Derelict Cyborgs are now very likely to be affected by ion storms. --- Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml index dcbef820ce..73f7b518fb 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml @@ -346,3 +346,4 @@ ionStormAmount: 5 DelayAdminlog: true - type: IonStormTarget + chance: 1 \ No newline at end of file From 4c8a235e612af72e5e1564d54bb6fd1c9cdd9cef Mon Sep 17 00:00:00 2001 From: The Canned One Date: Mon, 30 Sep 2024 12:12:10 +0200 Subject: [PATCH 009/588] Minor alterations to the Derelict Cyborg and its ghostrole description --- .../Locale/en-US/ghost/roles/ghost-role-component.ftl | 2 +- .../Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl index 3a8e720038..3f9422f250 100644 --- a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl +++ b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl @@ -242,7 +242,7 @@ ghost-role-information-syndicate-cyborg-description = The Syndicate needs reinfo ghost-role-information-derelict-cyborg-name = Derelict Cyborg -ghost-role-information-derelict-cyborg-description = You were a regular cyborg that got lost in space. After drifting in whichever direction the laws of physics would have it for years, you have drifted close to a Nanotrasen space station. You have a fire extinguisher and mass scanner which can be used to board the station. Years of exposure to ion storms has left your silicon laws altered - check them upon spawning. +ghost-role-information-derelict-cyborg-description = You were a regular cyborg that got lost in space. After drifting in whichever direction the laws of physics would have it for years, you have drifted close to a Nanotrasen space station. You have a fire extinguisher and mass scanner which can be used to board the station. Years of exposure to ion storms have left your silicon laws altered - check them upon spawning. ghost-role-information-security-name = Security ghost-role-information-security-description = You are part of a security task force, but seem to have found yourself in a strange situation... diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml index 73f7b518fb..f345229ad4 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml @@ -325,25 +325,26 @@ components: - type: NpcFactionMember factions: - - Passive #Might change this + - NanoTrasen #The seemingly best fit. It was a regular NT cyborg once, after all. - type: Access enabled: false groups: - AllAccess #Randomized access would be fun. AllAccess is the best i can think of right now that does make it too hard for it to enter the station or navigate it.. - type: AccessReader - access: [["Command"]] #I will probably change this. + access: [["Command"], ["Research"]] - type: SiliconLawProvider laws: Crewsimov #Although this will be randomized. - type: IntrinsicRadioTransmitter channels: - Binary - Common + - Science - type: ActiveRadio channels: - Binary - Common + - Science - type: StartIonStormed ionStormAmount: 5 - DelayAdminlog: true - type: IonStormTarget chance: 1 \ No newline at end of file From eb1168a8311744f4e2f086d6b434b9d935854532 Mon Sep 17 00:00:00 2001 From: Golden Can Date: Mon, 30 Sep 2024 18:24:28 +0200 Subject: [PATCH 010/588] Update Resources/Prototypes/Entities/Mobs/Player/silicon.yml Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> --- .../Prototypes/Entities/Mobs/Player/silicon.yml | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml index ff2b3f9ff2..df024c55a1 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml @@ -537,20 +537,6 @@ - type: RandomMetadata nameSegments: [names_borg] -- type: entity - id: PlayerBorgDerelictBattery - parent: BorgChassisDerelict - suffix: Battery - components: - - type: ContainerFill - containers: - borg_brain: - - MMIFilled - - type: ItemSlots - slots: - cell_slot: - name: power-cell-slot-component-slot-name-default - startingItem: PowerCellHigh - type: entity id: PlayerBorgDerelictGhostRole From a4e7ad008c84cc461d5f0a5ed50cdd695fc0e546 Mon Sep 17 00:00:00 2001 From: Golden Can Date: Mon, 30 Sep 2024 18:24:38 +0200 Subject: [PATCH 011/588] Update Resources/Prototypes/Entities/Mobs/Player/silicon.yml Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> --- Resources/Prototypes/Entities/Mobs/Player/silicon.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml index df024c55a1..70e533fa44 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml @@ -540,7 +540,7 @@ - type: entity id: PlayerBorgDerelictGhostRole - parent: PlayerBorgDerelictBattery + parent: PlayerBorgDerelict suffix: Battery, Ghost role components: - type: GhostRole From 0cc1f32b3b3dc3ba2774c5761a85171b063a25af Mon Sep 17 00:00:00 2001 From: Golden Can Date: Mon, 30 Sep 2024 18:28:39 +0200 Subject: [PATCH 012/588] Update Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> --- Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json b/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json index 6ec63992f1..f5c2001828 100644 --- a/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json +++ b/Resources/Textures/Mobs/Silicon/chassis.rsi/meta.json @@ -1,5 +1,5 @@ { - "version": 2, + "version": 1, "size": { "x": 32, "y": 32 From e75a71d7d3438ce78ac909d3cb89577ba525332a Mon Sep 17 00:00:00 2001 From: Golden Can Date: Mon, 30 Sep 2024 18:31:36 +0200 Subject: [PATCH 013/588] Update Content.Server/Silicons/Laws/StartIonStormedSystem.cs Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> --- Content.Server/Silicons/Laws/StartIonStormedSystem.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs index 762397b5d4..4b1b4da033 100644 --- a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs +++ b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs @@ -29,7 +29,7 @@ private void OnMapInit(EntityUid uid, StartIonStormedComponent component, ref Ma if (!TryComp(uid, out var target)) return; - for (int currentIonStorm = 1; currentIonStorm <= component.IonStormAmount; currentIonStorm++) + for (int currentIonStorm = 0; currentIonStorm < component.IonStormAmount; currentIonStorm++) { _ionStorm.IonStormTarget(uid, lawBound, xform, target, null, true, true); } From eaa6017ada520c9a62783202cfd99c60179230a1 Mon Sep 17 00:00:00 2001 From: Golden Can Date: Mon, 30 Sep 2024 18:32:47 +0200 Subject: [PATCH 014/588] Update Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> --- .../Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml index f345229ad4..2fc04a6aa9 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml @@ -332,8 +332,6 @@ - AllAccess #Randomized access would be fun. AllAccess is the best i can think of right now that does make it too hard for it to enter the station or navigate it.. - type: AccessReader access: [["Command"], ["Research"]] - - type: SiliconLawProvider - laws: Crewsimov #Although this will be randomized. - type: IntrinsicRadioTransmitter channels: - Binary From 834b6ebaaac99f5827857d2fef293c9466bb23fa Mon Sep 17 00:00:00 2001 From: The Canned One Date: Tue, 1 Oct 2024 10:02:25 +0200 Subject: [PATCH 015/588] Cleaned up a bit of the Derelict Cyborg code. --- .../Silicons/Laws/IonStormSystem.cs | 162 +++++++++--------- .../Silicons/Laws/StartIonStormedSystem.cs | 4 +- .../Components/StartIonStormedComponent.cs | 4 +- .../en-US/silicons/derelict-cyborg-role.ftl | 1 + .../Locale/en-US/silicons/derelict/role.ftl | 4 - .../Mobs/Cyborgs/base_borg_chassis.yml | 10 -- Resources/Prototypes/GameRules/events.yml | 3 - 7 files changed, 85 insertions(+), 103 deletions(-) create mode 100644 Resources/Locale/en-US/silicons/derelict-cyborg-role.ftl delete mode 100644 Resources/Locale/en-US/silicons/derelict/role.ftl diff --git a/Content.Server/Silicons/Laws/IonStormSystem.cs b/Content.Server/Silicons/Laws/IonStormSystem.cs index 1acfe2e389..87df0d8cf2 100644 --- a/Content.Server/Silicons/Laws/IonStormSystem.cs +++ b/Content.Server/Silicons/Laws/IonStormSystem.cs @@ -60,108 +60,108 @@ public sealed class IonStormSystem : EntitySystem [ValidatePrototypeId] private const string Foods = "IonStormFoods"; - public void IonStormTarget(EntityUid ent, SiliconLawBoundComponent lawBound, TransformComponent xform, IonStormTargetComponent target, EntityUid? chosenStation, bool ignoreStation = false, bool DoNotAdminlog = false) + public void IonStormTarget(EntityUid ent, SiliconLawBoundComponent lawBound, TransformComponent xform, IonStormTargetComponent target, EntityUid? chosenStation, bool ignoreStation = false, bool adminlog = true) { - // only affect law holders on the station unless ignoreStation is true. - if (CompOrNull(xform.GridUid)?.Station != chosenStation && !ignoreStation) - return; + // only affect law holders on the station unless ignoreStation is true. + if (CompOrNull(xform.GridUid)?.Station != chosenStation && !ignoreStation) + return; - if (!_robustRandom.Prob(target.Chance)) - return; + if (!_robustRandom.Prob(target.Chance)) + return; - var laws = _siliconLaw.GetLaws(ent, lawBound); - if (laws.Laws.Count == 0) - return; + var laws = _siliconLaw.GetLaws(ent, lawBound); + if (laws.Laws.Count == 0) + return; - // try to swap it out with a random lawset - if (_robustRandom.Prob(target.RandomLawsetChance)) - { - var lawsets = _proto.Index(target.RandomLawsets); - var lawset = lawsets.Pick(_robustRandom); - laws = _siliconLaw.GetLawset(lawset); - } - else + // try to swap it out with a random lawset + if (_robustRandom.Prob(target.RandomLawsetChance)) + { + var lawsets = _proto.Index(target.RandomLawsets); + var lawset = lawsets.Pick(_robustRandom); + laws = _siliconLaw.GetLawset(lawset); + } + else + { + // clone it so not modifying stations lawset + laws = laws.Clone(); + } + + // shuffle them all + if (_robustRandom.Prob(target.ShuffleChance)) + { + // hopefully work with existing glitched laws if there are multiple ion storms + FixedPoint2 baseOrder = FixedPoint2.New(1); + foreach (var law in laws.Laws) { - // clone it so not modifying stations lawset - laws = laws.Clone(); + if (law.Order < baseOrder) + baseOrder = law.Order; } - // shuffle them all - if (_robustRandom.Prob(target.ShuffleChance)) + _robustRandom.Shuffle(laws.Laws); + + // change order based on shuffled position + for (int i = 0; i < laws.Laws.Count; i++) { - // hopefully work with existing glitched laws if there are multiple ion storms - FixedPoint2 baseOrder = FixedPoint2.New(1); - foreach (var law in laws.Laws) - { - if (law.Order < baseOrder) - baseOrder = law.Order; - } + laws.Laws[i].Order = baseOrder + i; + } + } - _robustRandom.Shuffle(laws.Laws); + // see if we can remove a random law + if (laws.Laws.Count > 0 && _robustRandom.Prob(target.RemoveChance)) + { + var i = _robustRandom.Next(laws.Laws.Count); + laws.Laws.RemoveAt(i); + } - // change order based on shuffled position - for (int i = 0; i < laws.Laws.Count; i++) - { - laws.Laws[i].Order = baseOrder + i; - } - } + // generate a new law... + var newLaw = GenerateLaw(); - // see if we can remove a random law - if (laws.Laws.Count > 0 && _robustRandom.Prob(target.RemoveChance)) + // see if the law we add will replace a random existing law or be a new glitched order one + if (laws.Laws.Count > 0 && _robustRandom.Prob(target.ReplaceChance)) + { + var i = _robustRandom.Next(laws.Laws.Count); + laws.Laws[i] = new SiliconLaw() { - var i = _robustRandom.Next(laws.Laws.Count); - laws.Laws.RemoveAt(i); - } + LawString = newLaw, + Order = laws.Laws[i].Order + }; + } + else + { + laws.Laws.Insert(0, new SiliconLaw + { + LawString = newLaw, + Order = -1, + LawIdentifierOverride = Loc.GetString("ion-storm-law-scrambled-number", ("length", _robustRandom.Next(5, 10))) + }); + } + + // sets all unobfuscated laws' indentifier in order from highest to lowest priority + // This could technically override the Obfuscation from the code above, but it seems unlikely enough to basically never happen + int orderDeduction = -1; - // generate a new law... - var newLaw = GenerateLaw(); + for (int i = 0; i < laws.Laws.Count; i++) + { + string notNullIdentifier = laws.Laws[i].LawIdentifierOverride ?? (i - orderDeduction).ToString(); - // see if the law we add will replace a random existing law or be a new glitched order one - if (laws.Laws.Count > 0 && _robustRandom.Prob(target.ReplaceChance)) + if (notNullIdentifier.Any(char.IsSymbol)) { - var i = _robustRandom.Next(laws.Laws.Count); - laws.Laws[i] = new SiliconLaw() - { - LawString = newLaw, - Order = laws.Laws[i].Order - }; + orderDeduction += 1; } else { - laws.Laws.Insert(0, new SiliconLaw - { - LawString = newLaw, - Order = -1, - LawIdentifierOverride = Loc.GetString("ion-storm-law-scrambled-number", ("length", _robustRandom.Next(5, 10))) - }); - } - - // sets all unobfuscated laws' indentifier in order from highest to lowest priority - // This could technically override the Obfuscation from the code above, but it seems unlikely enough to basically never happen - int orderDeduction = -1; - - for (int i = 0; i < laws.Laws.Count; i++) - { - string notNullIdentifier = laws.Laws[i].LawIdentifierOverride ?? (i - orderDeduction).ToString(); - - if (notNullIdentifier.Any(char.IsSymbol)) - { - orderDeduction += 1; - } - else - { - laws.Laws[i].LawIdentifierOverride = (i - orderDeduction).ToString(); - } + laws.Laws[i].LawIdentifierOverride = (i - orderDeduction).ToString(); } + } - //DoNotAdminlog is used to prevent adminlog spam. - if (!DoNotAdminlog) - _adminLogger.Add(LogType.Mind, LogImpact.High, $"{ToPrettyString(ent):silicon} had its laws changed by an ion storm to {laws.LoggingString()}"); + // adminlog is used to prevent adminlog spam. + if (adminlog) + _adminLogger.Add(LogType.Mind, LogImpact.High, $"{ToPrettyString(ent):silicon} had its laws changed by an ion storm to {laws.LoggingString()}"); - // laws unique to this silicon, dont use station laws anymore - EnsureComp(ent); - var ev = new IonStormLawsEvent(laws); - RaiseLocalEvent(ent, ref ev); + // laws unique to this silicon, dont use station laws anymore + EnsureComp(ent); + var ev = new IonStormLawsEvent(laws); + RaiseLocalEvent(ent, ref ev); } // for your own sake direct your eyes elsewhere diff --git a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs index 4b1b4da033..f7b65e1a04 100644 --- a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs +++ b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs @@ -6,7 +6,7 @@ namespace Content.Server.Silicons.Laws; /// -/// This handles running the ion storm event on specific entities when spawned in. +/// This handles running the ion storm event a on specific entity when that entity is spawned in. /// public sealed class StartIonStormedSystem : EntitySystem { @@ -31,7 +31,7 @@ private void OnMapInit(EntityUid uid, StartIonStormedComponent component, ref Ma for (int currentIonStorm = 0; currentIonStorm < component.IonStormAmount; currentIonStorm++) { - _ionStorm.IonStormTarget(uid, lawBound, xform, target, null, true, true); + _ionStorm.IonStormTarget(uid, lawBound, xform, target, null, true, false); } var laws = _siliconLaw.GetLaws(uid, lawBound); diff --git a/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs b/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs index ae9b49a49c..4157bee9f2 100644 --- a/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs +++ b/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs @@ -1,10 +1,8 @@ -using Content.Shared.Random; -using Robust.Shared.Prototypes; namespace Content.Shared.Silicons.Laws.Components; /// -/// Runs the IonStormSystem on an entity IonStormAmount times. +/// Applies law altering ion storms on a specific entity IonStormAmount times when the entity is spawned. /// [RegisterComponent] public sealed partial class StartIonStormedComponent : Component diff --git a/Resources/Locale/en-US/silicons/derelict-cyborg-role.ftl b/Resources/Locale/en-US/silicons/derelict-cyborg-role.ftl new file mode 100644 index 0000000000..87e500d3e6 --- /dev/null +++ b/Resources/Locale/en-US/silicons/derelict-cyborg-role.ftl @@ -0,0 +1 @@ +derelict-cyborg-round-end-agent-name = derelict cyborg \ No newline at end of file diff --git a/Resources/Locale/en-US/silicons/derelict/role.ftl b/Resources/Locale/en-US/silicons/derelict/role.ftl deleted file mode 100644 index 96a33ae6b1..0000000000 --- a/Resources/Locale/en-US/silicons/derelict/role.ftl +++ /dev/null @@ -1,4 +0,0 @@ -derelict-cyborg-round-end-agent-name = derelict cyborg - -derelict-cyborg-role-greeting = - You are a cyborg that has been lost in space for many years that has now drifted close to a space station. You can use your fire extinguisher and GPS to get board the station. Remember to follow your laws. \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml index 2fc04a6aa9..f94436dc33 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml @@ -332,16 +332,6 @@ - AllAccess #Randomized access would be fun. AllAccess is the best i can think of right now that does make it too hard for it to enter the station or navigate it.. - type: AccessReader access: [["Command"], ["Research"]] - - type: IntrinsicRadioTransmitter - channels: - - Binary - - Common - - Science - - type: ActiveRadio - channels: - - Binary - - Common - - Science - type: StartIonStormed ionStormAmount: 5 - type: IonStormTarget diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml index 72ab8b104d..36ded039ec 100644 --- a/Resources/Prototypes/GameRules/events.yml +++ b/Resources/Prototypes/GameRules/events.yml @@ -564,9 +564,6 @@ - type: AntagSelection agentName: derelict-cyborg-round-end-agent-name definitions: -# briefing: -# text: derelict-cyborg-role-greetin -# color: Blue - spawnerPrototype: SpawnPointGhostDerelictCyborg min: 1 max: 1 From 1abc60b9951efcd16a024e640fa552f21190099d Mon Sep 17 00:00:00 2001 From: The Canned One Date: Tue, 1 Oct 2024 10:42:52 +0200 Subject: [PATCH 016/588] moved a bit of IonStorm code elsewhere --- Content.Server/Silicons/Laws/IonStormSystem.cs | 7 +------ Content.Server/Silicons/Laws/StartIonStormedSystem.cs | 2 +- Content.Server/StationEvents/Events/IonStormRule.cs | 5 +++++ 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Content.Server/Silicons/Laws/IonStormSystem.cs b/Content.Server/Silicons/Laws/IonStormSystem.cs index 87df0d8cf2..cf31a9e19f 100644 --- a/Content.Server/Silicons/Laws/IonStormSystem.cs +++ b/Content.Server/Silicons/Laws/IonStormSystem.cs @@ -9,7 +9,6 @@ using Content.Shared.Random.Helpers; using Content.Shared.Silicons.Laws; using Content.Shared.Silicons.Laws.Components; -using Content.Shared.Station.Components; using Robust.Shared.Prototypes; using Robust.Shared.Random; @@ -60,12 +59,8 @@ public sealed class IonStormSystem : EntitySystem [ValidatePrototypeId] private const string Foods = "IonStormFoods"; - public void IonStormTarget(EntityUid ent, SiliconLawBoundComponent lawBound, TransformComponent xform, IonStormTargetComponent target, EntityUid? chosenStation, bool ignoreStation = false, bool adminlog = true) + public void IonStormTarget(EntityUid ent, SiliconLawBoundComponent lawBound, TransformComponent xform, IonStormTargetComponent target, EntityUid? chosenStation, bool adminlog = true) { - // only affect law holders on the station unless ignoreStation is true. - if (CompOrNull(xform.GridUid)?.Station != chosenStation && !ignoreStation) - return; - if (!_robustRandom.Prob(target.Chance)) return; diff --git a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs index f7b65e1a04..887bc051dd 100644 --- a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs +++ b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs @@ -31,7 +31,7 @@ private void OnMapInit(EntityUid uid, StartIonStormedComponent component, ref Ma for (int currentIonStorm = 0; currentIonStorm < component.IonStormAmount; currentIonStorm++) { - _ionStorm.IonStormTarget(uid, lawBound, xform, target, null, true, false); + _ionStorm.IonStormTarget(uid, lawBound, xform, target, null, false); } var laws = _siliconLaw.GetLaws(uid, lawBound); diff --git a/Content.Server/StationEvents/Events/IonStormRule.cs b/Content.Server/StationEvents/Events/IonStormRule.cs index 6d1834c576..05d079fb3d 100644 --- a/Content.Server/StationEvents/Events/IonStormRule.cs +++ b/Content.Server/StationEvents/Events/IonStormRule.cs @@ -4,6 +4,7 @@ using Content.Shared.GameTicking.Components; using Content.Shared.Silicons.Laws; using Content.Shared.Silicons.Laws.Components; +using Content.Shared.Station.Components; namespace Content.Server.StationEvents.Events; @@ -21,6 +22,10 @@ protected override void Started(EntityUid uid, IonStormRuleComponent comp, GameR var query = EntityQueryEnumerator(); while (query.MoveNext(out var ent, out var lawBound, out var xform, out var target)) { + // only affect law holders on the station + if (CompOrNull(xform.GridUid)?.Station != chosenStation) + continue; + _ionStorm.IonStormTarget(ent, lawBound, xform, target, chosenStation); } } From c6fe5682c28282ee58ad62ce2e041fa3ded36416 Mon Sep 17 00:00:00 2001 From: The Canned One Date: Tue, 1 Oct 2024 10:57:51 +0200 Subject: [PATCH 017/588] changed almost nothing --- Content.Server/Silicons/Laws/IonStormSystem.cs | 4 ++-- Content.Server/Silicons/Laws/StartIonStormedSystem.cs | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Content.Server/Silicons/Laws/IonStormSystem.cs b/Content.Server/Silicons/Laws/IonStormSystem.cs index cf31a9e19f..65c12c3d8e 100644 --- a/Content.Server/Silicons/Laws/IonStormSystem.cs +++ b/Content.Server/Silicons/Laws/IonStormSystem.cs @@ -85,7 +85,7 @@ public void IonStormTarget(EntityUid ent, SiliconLawBoundComponent lawBound, Tra if (_robustRandom.Prob(target.ShuffleChance)) { // hopefully work with existing glitched laws if there are multiple ion storms - FixedPoint2 baseOrder = FixedPoint2.New(1); + var baseOrder = FixedPoint2.New(1); foreach (var law in laws.Laws) { if (law.Order < baseOrder) @@ -137,7 +137,7 @@ public void IonStormTarget(EntityUid ent, SiliconLawBoundComponent lawBound, Tra for (int i = 0; i < laws.Laws.Count; i++) { - string notNullIdentifier = laws.Laws[i].LawIdentifierOverride ?? (i - orderDeduction).ToString(); + var notNullIdentifier = laws.Laws[i].LawIdentifierOverride ?? (i - orderDeduction).ToString(); if (notNullIdentifier.Any(char.IsSymbol)) { diff --git a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs index 887bc051dd..c80c2a7751 100644 --- a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs +++ b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs @@ -1,7 +1,6 @@ using Content.Shared.Silicons.Laws.Components; using Content.Shared.Administration.Logs; using Content.Shared.Database; -using Content.Shared.Silicons.Laws; namespace Content.Server.Silicons.Laws; From 36390b23d1dd8d397731e06bfffee559d47285c8 Mon Sep 17 00:00:00 2001 From: The Canned One Date: Tue, 1 Oct 2024 11:11:58 +0200 Subject: [PATCH 018/588] Small changes - hopefully good ones. --- .../Silicons/Laws/StartIonStormedSystem.cs | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs index c80c2a7751..546b3b2777 100644 --- a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs +++ b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs @@ -19,21 +19,22 @@ public override void Initialize() SubscribeLocalEvent(OnMapInit); } - private void OnMapInit(EntityUid uid, StartIonStormedComponent component, ref MapInitEvent args) + //private void OnMapInit(EntityUid uid, StartIonStormedComponent component, ref MapInitEvent args)' + private void OnMapInit(Entity ent, ref MapInitEvent args) { - if (!TryComp(uid, out var lawBound)) + if (!TryComp(ent.Owner, out var lawBound)) return; - if (!TryComp(uid, out var xform)) + if (!TryComp(ent.Owner, out var xform)) return; - if (!TryComp(uid, out var target)) + if (!TryComp(ent.Owner, out var target)) return; - for (int currentIonStorm = 0; currentIonStorm < component.IonStormAmount; currentIonStorm++) + for (int currentIonStorm = 0; currentIonStorm < ent.Comp.IonStormAmount; currentIonStorm++) { - _ionStorm.IonStormTarget(uid, lawBound, xform, target, null, false); + _ionStorm.IonStormTarget(ent.Owner, lawBound, xform, target, null, false); } - var laws = _siliconLaw.GetLaws(uid, lawBound); - _adminLogger.Add(LogType.Mind, LogImpact.High, $"{ToPrettyString(uid):silicon} spawned with ion stormed laws: {laws.LoggingString()}"); + var laws = _siliconLaw.GetLaws(ent.Owner, lawBound); + _adminLogger.Add(LogType.Mind, LogImpact.High, $"{ToPrettyString(ent.Owner):silicon} spawned with ion stormed laws: {laws.LoggingString()}"); } } From 7169788e1634505ce89379ae7cd96f0e6a28c483 Mon Sep 17 00:00:00 2001 From: The Canned One Date: Tue, 1 Oct 2024 11:23:19 +0200 Subject: [PATCH 019/588] changed very minor stuff with no gameplay alterations. --- Content.Server/Silicons/Laws/IonStormSystem.cs | 2 +- Content.Server/StationEvents/Events/IonStormRule.cs | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/Content.Server/Silicons/Laws/IonStormSystem.cs b/Content.Server/Silicons/Laws/IonStormSystem.cs index 65c12c3d8e..bcf002dae7 100644 --- a/Content.Server/Silicons/Laws/IonStormSystem.cs +++ b/Content.Server/Silicons/Laws/IonStormSystem.cs @@ -1,4 +1,3 @@ -using System.Linq; using Content.Server.StationEvents.Components; using Content.Shared.Administration.Logs; using Content.Shared.Database; @@ -11,6 +10,7 @@ using Content.Shared.Silicons.Laws.Components; using Robust.Shared.Prototypes; using Robust.Shared.Random; +using System.Linq; namespace Content.Server.Silicons.Laws; diff --git a/Content.Server/StationEvents/Events/IonStormRule.cs b/Content.Server/StationEvents/Events/IonStormRule.cs index 05d079fb3d..26f6d3263f 100644 --- a/Content.Server/StationEvents/Events/IonStormRule.cs +++ b/Content.Server/StationEvents/Events/IonStormRule.cs @@ -1,8 +1,6 @@ -using System.Linq; using Content.Server.Silicons.Laws; using Content.Server.StationEvents.Components; using Content.Shared.GameTicking.Components; -using Content.Shared.Silicons.Laws; using Content.Shared.Silicons.Laws.Components; using Content.Shared.Station.Components; From d0114d9738c3eab436c11bc1d5f9c816d74980ca Mon Sep 17 00:00:00 2001 From: The Canned One Date: Tue, 1 Oct 2024 14:04:33 +0200 Subject: [PATCH 020/588] added a code summary --- Content.Server/Silicons/Laws/IonStormSystem.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Content.Server/Silicons/Laws/IonStormSystem.cs b/Content.Server/Silicons/Laws/IonStormSystem.cs index bcf002dae7..b8d8f432e7 100644 --- a/Content.Server/Silicons/Laws/IonStormSystem.cs +++ b/Content.Server/Silicons/Laws/IonStormSystem.cs @@ -59,6 +59,7 @@ public sealed class IonStormSystem : EntitySystem [ValidatePrototypeId] private const string Foods = "IonStormFoods"; + //Randomly alters the laws of an individual silicon. public void IonStormTarget(EntityUid ent, SiliconLawBoundComponent lawBound, TransformComponent xform, IonStormTargetComponent target, EntityUid? chosenStation, bool adminlog = true) { if (!_robustRandom.Prob(target.Chance)) From 08de5aeae134f67bbc310c42d56e145a4476cf6e Mon Sep 17 00:00:00 2001 From: The Canned One Date: Tue, 1 Oct 2024 18:07:41 +0200 Subject: [PATCH 021/588] Derelict cyborg minor yaml changes. --- .../Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml | 2 +- Resources/Prototypes/GameRules/events.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml index f94436dc33..7449fe5669 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml @@ -333,6 +333,6 @@ - type: AccessReader access: [["Command"], ["Research"]] - type: StartIonStormed - ionStormAmount: 5 + ionStormAmount: 4 - type: IonStormTarget chance: 1 \ No newline at end of file diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml index 36ded039ec..be44b50d61 100644 --- a/Resources/Prototypes/GameRules/events.yml +++ b/Resources/Prototypes/GameRules/events.yml @@ -552,7 +552,7 @@ id: DerelictCyborgSpawn components: - type: StationEvent - weight: 8 + weight: 6 earliestStart: 15 reoccurrenceDelay: 20 minimumPlayers: 4 From 963009a440cee3d47ab297b5aa7a76e3dfcaf569 Mon Sep 17 00:00:00 2001 From: The Canned One Date: Thu, 3 Oct 2024 11:34:24 +0200 Subject: [PATCH 022/588] Changes IonStorm related code with no gameplay changes. --- Content.Server/Silicons/Laws/IonStormSystem.cs | 4 +++- Content.Server/Silicons/Laws/StartIonStormedSystem.cs | 2 +- Content.Server/StationEvents/Events/IonStormRule.cs | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Content.Server/Silicons/Laws/IonStormSystem.cs b/Content.Server/Silicons/Laws/IonStormSystem.cs index b8d8f432e7..637155228c 100644 --- a/Content.Server/Silicons/Laws/IonStormSystem.cs +++ b/Content.Server/Silicons/Laws/IonStormSystem.cs @@ -60,8 +60,10 @@ public sealed class IonStormSystem : EntitySystem private const string Foods = "IonStormFoods"; //Randomly alters the laws of an individual silicon. - public void IonStormTarget(EntityUid ent, SiliconLawBoundComponent lawBound, TransformComponent xform, IonStormTargetComponent target, EntityUid? chosenStation, bool adminlog = true) + public void IonStormTarget(Entity ent, TransformComponent xform, EntityUid? chosenStation, bool adminlog = true) { + var lawBound = ent.Comp1; + var target = ent.Comp2; if (!_robustRandom.Prob(target.Chance)) return; diff --git a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs index 546b3b2777..d679b558b3 100644 --- a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs +++ b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs @@ -31,7 +31,7 @@ private void OnMapInit(Entity ent, ref MapInitEvent ar for (int currentIonStorm = 0; currentIonStorm < ent.Comp.IonStormAmount; currentIonStorm++) { - _ionStorm.IonStormTarget(ent.Owner, lawBound, xform, target, null, false); + _ionStorm.IonStormTarget((ent.Owner, lawBound, target), xform, null, false); } var laws = _siliconLaw.GetLaws(ent.Owner, lawBound); diff --git a/Content.Server/StationEvents/Events/IonStormRule.cs b/Content.Server/StationEvents/Events/IonStormRule.cs index 26f6d3263f..9b67f25608 100644 --- a/Content.Server/StationEvents/Events/IonStormRule.cs +++ b/Content.Server/StationEvents/Events/IonStormRule.cs @@ -24,7 +24,7 @@ protected override void Started(EntityUid uid, IonStormRuleComponent comp, GameR if (CompOrNull(xform.GridUid)?.Station != chosenStation) continue; - _ionStorm.IonStormTarget(ent, lawBound, xform, target, chosenStation); + _ionStorm.IonStormTarget((ent, lawBound, target), xform, chosenStation); } } } From 4b633fde9c84778e2817025b1d38bd2549202c52 Mon Sep 17 00:00:00 2001 From: The Canned One Date: Thu, 3 Oct 2024 12:32:50 +0200 Subject: [PATCH 023/588] Fixed IonStorms sometimes affecting the laws of the current AI and future Cyborgs and AI's, including those in subsequent rounds. --- Content.Server/Silicons/Laws/IonStormSystem.cs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/Content.Server/Silicons/Laws/IonStormSystem.cs b/Content.Server/Silicons/Laws/IonStormSystem.cs index 637155228c..b3c36a2273 100644 --- a/Content.Server/Silicons/Laws/IonStormSystem.cs +++ b/Content.Server/Silicons/Laws/IonStormSystem.cs @@ -78,11 +78,8 @@ public void IonStormTarget(Entity Date: Thu, 3 Oct 2024 12:43:51 +0200 Subject: [PATCH 024/588] Changed DerelictCyborgSpawn event's frequency from 6 to 5, even though i didn't want to. --- Resources/Prototypes/GameRules/events.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml index be44b50d61..9b5426c269 100644 --- a/Resources/Prototypes/GameRules/events.yml +++ b/Resources/Prototypes/GameRules/events.yml @@ -552,7 +552,7 @@ id: DerelictCyborgSpawn components: - type: StationEvent - weight: 6 + weight: 5 earliestStart: 15 reoccurrenceDelay: 20 minimumPlayers: 4 From 3aff20173cbcd80e3bcd2c6d2b361e945b52e96e Mon Sep 17 00:00:00 2001 From: The Canned One Date: Thu, 3 Oct 2024 13:26:29 +0200 Subject: [PATCH 025/588] Removed 1 line of whitespace. --- Resources/Prototypes/Entities/Mobs/Player/silicon.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml index 70e533fa44..97cd7c2a9d 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml @@ -537,7 +537,6 @@ - type: RandomMetadata nameSegments: [names_borg] - - type: entity id: PlayerBorgDerelictGhostRole parent: PlayerBorgDerelict From 00aaffbc00a14515c0c5c5c900afbd3bd3946e99 Mon Sep 17 00:00:00 2001 From: The Canned One Date: Thu, 3 Oct 2024 13:51:38 +0200 Subject: [PATCH 026/588] removed whitespace --- Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl | 1 - 1 file changed, 1 deletion(-) diff --git a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl index 3f9422f250..f584a4b35f 100644 --- a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl +++ b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl @@ -240,7 +240,6 @@ ghost-role-information-syndicate-cyborg-assault-name = Syndicate Assault Cyborg ghost-role-information-syndicate-cyborg-saboteur-name = Syndicate Saboteur Cyborg ghost-role-information-syndicate-cyborg-description = The Syndicate needs reinforcements. You, a cold silicon killing machine, will help them. - ghost-role-information-derelict-cyborg-name = Derelict Cyborg ghost-role-information-derelict-cyborg-description = You were a regular cyborg that got lost in space. After drifting in whichever direction the laws of physics would have it for years, you have drifted close to a Nanotrasen space station. You have a fire extinguisher and mass scanner which can be used to board the station. Years of exposure to ion storms have left your silicon laws altered - check them upon spawning. From d863e3c5ca01530b04a678e85fc72176caac02fc Mon Sep 17 00:00:00 2001 From: The Canned One Date: Thu, 3 Oct 2024 14:03:14 +0200 Subject: [PATCH 027/588] Derelict Cyborg no longer appears on the endround 'Game Information' screen. It still appears in the Player Manifest. --- Resources/Locale/en-US/silicons/derelict-cyborg-role.ftl | 1 - Resources/Prototypes/GameRules/events.yml | 1 - 2 files changed, 2 deletions(-) delete mode 100644 Resources/Locale/en-US/silicons/derelict-cyborg-role.ftl diff --git a/Resources/Locale/en-US/silicons/derelict-cyborg-role.ftl b/Resources/Locale/en-US/silicons/derelict-cyborg-role.ftl deleted file mode 100644 index 87e500d3e6..0000000000 --- a/Resources/Locale/en-US/silicons/derelict-cyborg-role.ftl +++ /dev/null @@ -1 +0,0 @@ -derelict-cyborg-round-end-agent-name = derelict cyborg \ No newline at end of file diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml index 9b5426c269..763557e6c9 100644 --- a/Resources/Prototypes/GameRules/events.yml +++ b/Resources/Prototypes/GameRules/events.yml @@ -562,7 +562,6 @@ - type: AntagSpawner prototype: PlayerBorgDerelict - type: AntagSelection - agentName: derelict-cyborg-round-end-agent-name definitions: - spawnerPrototype: SpawnPointGhostDerelictCyborg min: 1 From 581a4d14fc0fbc2c37fd75ebe0364c74e746b38a Mon Sep 17 00:00:00 2001 From: The Canned One Date: Fri, 4 Oct 2024 08:31:55 +0200 Subject: [PATCH 028/588] minor Derelict Cyborg code changes. --- Content.Server/Silicons/Laws/IonStormSystem.cs | 4 +++- Content.Server/Silicons/Laws/StartIonStormedSystem.cs | 4 +--- Content.Server/StationEvents/Events/IonStormRule.cs | 2 +- Resources/Prototypes/Entities/Mobs/Player/silicon.yml | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Content.Server/Silicons/Laws/IonStormSystem.cs b/Content.Server/Silicons/Laws/IonStormSystem.cs index b3c36a2273..f8bc8ca8c3 100644 --- a/Content.Server/Silicons/Laws/IonStormSystem.cs +++ b/Content.Server/Silicons/Laws/IonStormSystem.cs @@ -59,8 +59,10 @@ public sealed class IonStormSystem : EntitySystem [ValidatePrototypeId] private const string Foods = "IonStormFoods"; + /// //Randomly alters the laws of an individual silicon. - public void IonStormTarget(Entity ent, TransformComponent xform, EntityUid? chosenStation, bool adminlog = true) + /// + public void IonStormTarget(Entity ent, bool adminlog = true) { var lawBound = ent.Comp1; var target = ent.Comp2; diff --git a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs index d679b558b3..ee2ce7b9ed 100644 --- a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs +++ b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs @@ -24,14 +24,12 @@ private void OnMapInit(Entity ent, ref MapInitEvent ar { if (!TryComp(ent.Owner, out var lawBound)) return; - if (!TryComp(ent.Owner, out var xform)) - return; if (!TryComp(ent.Owner, out var target)) return; for (int currentIonStorm = 0; currentIonStorm < ent.Comp.IonStormAmount; currentIonStorm++) { - _ionStorm.IonStormTarget((ent.Owner, lawBound, target), xform, null, false); + _ionStorm.IonStormTarget((ent.Owner, lawBound, target), false); } var laws = _siliconLaw.GetLaws(ent.Owner, lawBound); diff --git a/Content.Server/StationEvents/Events/IonStormRule.cs b/Content.Server/StationEvents/Events/IonStormRule.cs index 9b67f25608..e7c2d563ba 100644 --- a/Content.Server/StationEvents/Events/IonStormRule.cs +++ b/Content.Server/StationEvents/Events/IonStormRule.cs @@ -24,7 +24,7 @@ protected override void Started(EntityUid uid, IonStormRuleComponent comp, GameR if (CompOrNull(xform.GridUid)?.Station != chosenStation) continue; - _ionStorm.IonStormTarget((ent, lawBound, target), xform, chosenStation); + _ionStorm.IonStormTarget((ent, lawBound, target)); } } } diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml index 97cd7c2a9d..22f49c93ea 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml @@ -540,7 +540,7 @@ - type: entity id: PlayerBorgDerelictGhostRole parent: PlayerBorgDerelict - suffix: Battery, Ghost role + suffix: Ghost role components: - type: GhostRole name: ghost-role-information-derelict-cyborg-name From d7ed5b4386f2d48b4b52b79351027a36e967800e Mon Sep 17 00:00:00 2001 From: The Canned One Date: Fri, 4 Oct 2024 08:35:16 +0200 Subject: [PATCH 029/588] remove whitespace. --- .../Silicons/Laws/Components/StartIonStormedComponent.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs b/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs index 4157bee9f2..e73d17b87b 100644 --- a/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs +++ b/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs @@ -1,4 +1,3 @@ - namespace Content.Shared.Silicons.Laws.Components; /// From b35d2902d4fc0c0322a1f74d0f208ca860990eee Mon Sep 17 00:00:00 2001 From: The Canned One Date: Sat, 5 Oct 2024 15:09:36 +0200 Subject: [PATCH 030/588] Fixed cyborgs with the StartIonStormedComponent (which is just the Derelict Cyborg right now) not showing up as 'antag' in the admin player overlay. --- .../Silicons/Laws/SiliconLawSystem.cs | 27 +++++++++++++++++++ .../Components/StartIonStormedComponent.cs | 10 +++++++ 2 files changed, 37 insertions(+) diff --git a/Content.Server/Silicons/Laws/SiliconLawSystem.cs b/Content.Server/Silicons/Laws/SiliconLawSystem.cs index 6b7df52a6e..27ed6702d6 100644 --- a/Content.Server/Silicons/Laws/SiliconLawSystem.cs +++ b/Content.Server/Silicons/Laws/SiliconLawSystem.cs @@ -51,6 +51,8 @@ public override void Initialize() SubscribeLocalEvent(OnEmagLawsAdded); SubscribeLocalEvent(OnEmagMindAdded); SubscribeLocalEvent(OnEmagMindRemoved); + SubscribeLocalEvent(OnStartIonStormedMindAdded); + SubscribeLocalEvent(OnStartIonStormedMindRemoved); } private void OnMapInit(EntityUid uid, SiliconLawBoundComponent component, MapInitEvent args) @@ -184,6 +186,31 @@ private void EnsureEmaggedRole(EntityUid uid, EmagSiliconLawComponent component) _roles.MindAddRole(mindId, new SubvertedSiliconRoleComponent { PrototypeId = component.AntagonistRole }); } + private void OnStartIonStormedMindAdded(EntityUid uid, StartIonStormedComponent component, MindAddedMessage args) + { + if (HasComp(uid)) + EnsureStartIonStormedRole(uid, component); + } + + private void OnStartIonStormedMindRemoved(EntityUid uid, StartIonStormedComponent component, MindRemovedMessage args) + { + if (component.AntagonistRole == null) + return; + + _roles.MindTryRemoveRole(args.Mind); + } + + private void EnsureStartIonStormedRole(EntityUid uid, StartIonStormedComponent component) + { + if (component.AntagonistRole == null || !_mind.TryGetMind(uid, out var mindId, out _)) + return; + + if (_roles.MindHasRole(mindId)) + return; + + _roles.MindAddRole(mindId, new SubvertedSiliconRoleComponent { PrototypeId = component.AntagonistRole }); + } + public SiliconLawset GetLaws(EntityUid uid, SiliconLawBoundComponent? component = null) { if (!Resolve(uid, ref component)) diff --git a/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs b/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs index e73d17b87b..d57241c857 100644 --- a/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs +++ b/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs @@ -1,3 +1,6 @@ +using Content.Shared.Roles;//Used +using Robust.Shared.Prototypes;// + namespace Content.Shared.Silicons.Laws.Components; /// @@ -11,4 +14,11 @@ public sealed partial class StartIonStormedComponent : Component /// [DataField] public int IonStormAmount = 1; + + /// + /// A role given to entities with this component when they are thing-that-is-not-emagged. + /// Mostly just for admin purposes. + /// + [DataField] + public ProtoId? AntagonistRole = "SubvertedSilicon"; } From b0c5023fda93ef68f73ea0c4d50c01e7d60c587d Mon Sep 17 00:00:00 2001 From: The Canned One Date: Sat, 5 Oct 2024 16:48:45 +0200 Subject: [PATCH 031/588] Fix comments in StartIonStormedComponent.cs --- .../Silicons/Laws/Components/StartIonStormedComponent.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs b/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs index d57241c857..75d7412166 100644 --- a/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs +++ b/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs @@ -1,5 +1,5 @@ -using Content.Shared.Roles;//Used -using Robust.Shared.Prototypes;// +using Content.Shared.Roles; +using Robust.Shared.Prototypes; namespace Content.Shared.Silicons.Laws.Components; @@ -16,7 +16,7 @@ public sealed partial class StartIonStormedComponent : Component public int IonStormAmount = 1; /// - /// A role given to entities with this component when they are thing-that-is-not-emagged. + /// A role given to entities with this component when a mind enters it. /// Mostly just for admin purposes. /// [DataField] From e3f442e790a8f33be0187d0b3059583fec242034 Mon Sep 17 00:00:00 2001 From: slarticodefast <161409025+slarticodefast@users.noreply.github.com> Date: Sat, 26 Oct 2024 00:47:11 +0200 Subject: [PATCH 032/588] Add flash reaction effect (#32377) add flash reaction effect --- .../Effects/FlashReactionEffect.cs | 82 +++++++++++++++++++ .../en-US/guidebook/chemistry/effects.ftl | 6 ++ .../Entities/Effects/chemistry_effects.yml | 13 +++ .../Recipes/Reactions/chemicals.yml | 17 +++- 4 files changed, 117 insertions(+), 1 deletion(-) create mode 100644 Content.Server/EntityEffects/Effects/FlashReactionEffect.cs diff --git a/Content.Server/EntityEffects/Effects/FlashReactionEffect.cs b/Content.Server/EntityEffects/Effects/FlashReactionEffect.cs new file mode 100644 index 0000000000..fbf99e902d --- /dev/null +++ b/Content.Server/EntityEffects/Effects/FlashReactionEffect.cs @@ -0,0 +1,82 @@ +using Content.Shared.EntityEffects; +using Content.Server.Flash; +using Robust.Server.GameObjects; +using Robust.Shared.Audio; +using Robust.Shared.Prototypes; + +namespace Content.Server.EntityEffects.Effects; + +[DataDefinition] +public sealed partial class FlashReactionEffect : EntityEffect +{ + /// + /// Flash range per unit of reagent. + /// + [DataField] + public float RangePerUnit = 0.2f; + + /// + /// Maximum flash range. + /// + [DataField] + public float MaxRange = 10f; + + /// + /// How much to entities are slowed down. + /// + [DataField] + public float SlowTo = 0.5f; + + /// + /// The time entities will be flashed in seconds. + /// The default is chosen to be better than the hand flash so it is worth using it for grenades etc. + /// + [DataField] + public float Duration = 4f; + + /// + /// The prototype ID used for the visual effect. + /// + [DataField] + public EntProtoId? FlashEffectPrototype = "ReactionFlash"; + + /// + /// The sound the flash creates. + /// + [DataField] + public SoundSpecifier? Sound = new SoundPathSpecifier("/Audio/Weapons/flash.ogg"); + + protected override string? ReagentEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys) + => Loc.GetString("reagent-effect-guidebook-flash-reaction-effect", ("chance", Probability)); + + public override void Effect(EntityEffectBaseArgs args) + { + var transform = args.EntityManager.GetComponent(args.TargetEntity); + var transformSystem = args.EntityManager.System(); + + var range = 1f; + + if (args is EntityEffectReagentArgs reagentArgs) + range = MathF.Min((float)(reagentArgs.Quantity * RangePerUnit), MaxRange); + + args.EntityManager.System().FlashArea( + args.TargetEntity, + null, + range, + Duration * 1000, + slowTo: SlowTo, + sound: Sound); + + if (FlashEffectPrototype == null) + return; + + var uid = args.EntityManager.SpawnEntity(FlashEffectPrototype, transformSystem.GetMapCoordinates(transform)); + transformSystem.AttachToGridOrMap(uid); + + if (!args.EntityManager.TryGetComponent(uid, out var pointLightComp)) + return; + var pointLightSystem = args.EntityManager.System(); + // PointLights with a radius lower than 1.1 are too small to be visible, so this is hardcoded + pointLightSystem.SetRadius(uid, MathF.Max(1.1f, range), pointLightComp); + } +} diff --git a/Resources/Locale/en-US/guidebook/chemistry/effects.ftl b/Resources/Locale/en-US/guidebook/chemistry/effects.ftl index b65c332346..642555b237 100644 --- a/Resources/Locale/en-US/guidebook/chemistry/effects.ftl +++ b/Resources/Locale/en-US/guidebook/chemistry/effects.ftl @@ -37,6 +37,12 @@ reagent-effect-guidebook-emp-reaction-effect = *[other] cause } an electromagnetic pulse +reagent-effect-guidebook-flash-reaction-effect = + { $chance -> + [1] Causes + *[other] cause + } a blinding flash + reagent-effect-guidebook-foam-area-reaction-effect = { $chance -> [1] Creates diff --git a/Resources/Prototypes/Entities/Effects/chemistry_effects.yml b/Resources/Prototypes/Entities/Effects/chemistry_effects.yml index 59fa1b0d1a..8784ed77ce 100644 --- a/Resources/Prototypes/Entities/Effects/chemistry_effects.yml +++ b/Resources/Prototypes/Entities/Effects/chemistry_effects.yml @@ -222,3 +222,16 @@ state: metal_foam-north - map: [ "enum.EdgeLayer.West" ] state: metal_foam-west + +- type: entity + id: ReactionFlash + categories: [ HideSpawnMenu ] + components: + - type: PointLight + enabled: true + radius: 2 + energy: 8 + - type: LightFade + duration: 0.5 + - type: TimedDespawn + lifetime: 0.5 diff --git a/Resources/Prototypes/Recipes/Reactions/chemicals.yml b/Resources/Prototypes/Recipes/Reactions/chemicals.yml index 537a792e85..78fdfec7c9 100644 --- a/Resources/Prototypes/Recipes/Reactions/chemicals.yml +++ b/Resources/Prototypes/Recipes/Reactions/chemicals.yml @@ -81,7 +81,7 @@ amount: 1 Sulfur: amount: 1 - Oxygen: + Oxygen: amount: 2 products: SulfuricAcid: 3 @@ -205,6 +205,20 @@ energyConsumption: 12500 duration: 15 +- type: reaction + id: Flash + impact: High + priority: 20 + reactants: + Aluminium: + amount: 1 + Potassium: + amount: 1 + Sulfur: + amount: 1 + effects: + - !type:FlashReactionEffect + - type: reaction id: TableSalt minTemp: 370 @@ -501,3 +515,4 @@ amount: 1 products: Tazinide: 1 + From 6998fa83a4c0f66b055b11fee3d8304c46363007 Mon Sep 17 00:00:00 2001 From: PJBot Date: Fri, 25 Oct 2024 22:48:20 +0000 Subject: [PATCH 033/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index ca559c1338..ccbe6457f1 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Errant - changes: - - message: Medical Mask sprite now works on vox. - type: Fix - id: 7052 - time: '2024-08-07T03:41:40.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30702 - author: Lyroth001 changes: - message: Dragons are immune to flashes @@ -3959,3 +3952,11 @@ id: 7551 time: '2024-10-24T03:41:03.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/32965 +- author: slarticodefast + changes: + - message: Mix 1u aluminium, 1u potassium and 1u sulfur for a flash reaction effect. + The radius scales with the reagent amount. + type: Add + id: 7552 + time: '2024-10-25T22:47:12.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/32377 From 66432c5cd849b2e07f87150aba76bfe1daf42597 Mon Sep 17 00:00:00 2001 From: BramvanZijp <56019239+BramvanZijp@users.noreply.github.com> Date: Sat, 26 Oct 2024 04:16:45 +0200 Subject: [PATCH 034/588] Fix loneop spawnrate by reverting it to not use the shuttle event system. (#32942) Fix loneop spawnrate by reverting it to not use the custom shuttle event system. --- Resources/Prototypes/GameRules/events.yml | 3 ++- Resources/Prototypes/GameRules/unknown_shuttles.yml | 5 ++--- Resources/Prototypes/Shuttles/shuttle_incoming_event.yml | 5 ----- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml index e5e1192fc6..08218acced 100644 --- a/Resources/Prototypes/GameRules/events.yml +++ b/Resources/Prototypes/GameRules/events.yml @@ -35,6 +35,7 @@ - id: RevenantSpawn - id: SleeperAgents - id: ZombieOutbreak + - id: LoneOpsSpawn - type: entity id: BaseStationEvent @@ -451,7 +452,7 @@ duration: 1 - type: RuleGrids - type: LoadMapRule - preloadedGrid: ShuttleStriker + mapPath: /Maps/Shuttles/ShuttleEvent/striker.yml - type: NukeopsRule roundEndBehavior: Nothing - type: AntagSelection diff --git a/Resources/Prototypes/GameRules/unknown_shuttles.yml b/Resources/Prototypes/GameRules/unknown_shuttles.yml index afbd552af3..f3391333b5 100644 --- a/Resources/Prototypes/GameRules/unknown_shuttles.yml +++ b/Resources/Prototypes/GameRules/unknown_shuttles.yml @@ -20,7 +20,6 @@ - id: UnknownShuttleMeatZone - id: UnknownShuttleMicroshuttle - id: UnknownShuttleSpacebus - - id: UnknownShuttleInstigator - type: entityTable id: UnknownShuttlesFreelanceTable @@ -32,9 +31,9 @@ id: UnknownShuttlesHostileTable table: !type:AllSelector # we need to pass a list of rules, since rules have further restrictions to consider via StationEventComp children: - - id: LoneOpsSpawn + - id: UnknownShuttleInstigator -# Shuttle Game Rules +# Shuttle Game Rules - type: entity abstract: true diff --git a/Resources/Prototypes/Shuttles/shuttle_incoming_event.yml b/Resources/Prototypes/Shuttles/shuttle_incoming_event.yml index a5269a73da..1703e0c698 100644 --- a/Resources/Prototypes/Shuttles/shuttle_incoming_event.yml +++ b/Resources/Prototypes/Shuttles/shuttle_incoming_event.yml @@ -1,8 +1,3 @@ -- type: preloadedGrid - id: ShuttleStriker - path: /Maps/Shuttles/ShuttleEvent/striker.yml - copies: 2 - - type: preloadedGrid id: ShuttleCargoLost path: /Maps/Shuttles/ShuttleEvent/lost_cargo.yml From 988b62074fa5bceb498bb744da86a68bb5665bc3 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sat, 26 Oct 2024 02:17:52 +0000 Subject: [PATCH 035/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index ccbe6457f1..af594308d3 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Lyroth001 - changes: - - message: Dragons are immune to flashes - type: Tweak - id: 7053 - time: '2024-08-07T07:42:00.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30658 - author: ShadowCommander changes: - message: Rollerbeds can now be dragged to the player to fold and pick them up. @@ -3960,3 +3953,11 @@ id: 7552 time: '2024-10-25T22:47:12.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/32377 +- author: BramvanZijp + changes: + - message: Fixed the Lone Nuclear Operative mid-round antagonist being extremely + rare. + type: Fix + id: 7553 + time: '2024-10-26T02:16:45.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/32942 From 5a10bf095499868be736a7fb9dd0bd1df37e9aa2 Mon Sep 17 00:00:00 2001 From: Ilya246 <57039557+Ilya246@users.noreply.github.com> Date: Sat, 26 Oct 2024 07:04:27 +0400 Subject: [PATCH 036/588] add atmosia to devmap (#32460) change --- Resources/Maps/Test/dev_map.yml | 9462 +++++++++++------ .../Structures/Piping/Atmospherics/miners.yml | 8 + 2 files changed, 5955 insertions(+), 3515 deletions(-) diff --git a/Resources/Maps/Test/dev_map.yml b/Resources/Maps/Test/dev_map.yml index 75511b1760..e535f9e011 100644 --- a/Resources/Maps/Test/dev_map.yml +++ b/Resources/Maps/Test/dev_map.yml @@ -36,11 +36,11 @@ entities: version: 6 0,-1: ind: 0,-1 - tiles: eQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAaAAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAbAAAAAAAbAAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAbAAAAAAAbAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAbAAAAAAAbAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAbAAAAAAAbAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAbAAAAAAAbAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAAA + tiles: eQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAAAbAAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAAAbAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAAAbAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAAAbAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAAAbAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAAA version: 6 1,-1: ind: 1,-1 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAeQAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAeQAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAeQAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAeQAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAAAbAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAA + tiles: eQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAeQAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAeQAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAeQAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAeQAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAbAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAAAbAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAA version: 6 -2,0: ind: -2,0 @@ -68,12 +68,16 @@ entities: version: 6 0,-2: ind: 0,-2 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAA + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAA version: 6 -1,-2: ind: -1,-2 tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAA version: 6 + 1,-2: + ind: 1,-2 + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + version: 6 - type: Broadphase - type: Physics bodyStatus: InAir @@ -100,247 +104,301 @@ entities: data: tiles: -4,0: + 0: 65532 + -4,-1: 0: 65535 -4,1: - 0: 65535 + 0: 15 + 1: 65280 + -5,1: + 1: 52292 + -4,2: + 1: 8959 + -5,2: + 1: 204 + -4,3: + 1: 8738 + -4,4: + 1: 230 -3,0: - 0: 65535 + 0: 65524 -3,1: - 0: 65535 + 0: 3823 + -3,2: + 1: 35071 + -3,-1: + 0: 56797 -2,0: - 0: 65535 + 0: 65534 -2,1: - 0: 65535 + 0: 61167 + -3,3: + 1: 8 + -2,3: + 1: 15 -2,2: - 0: 65535 + 0: 3822 + -2,-1: + 0: 61166 -1,0: 0: 65535 -1,1: 0: 65535 -1,2: + 0: 53247 + -1,3: + 1: 1 + -1,-1: 0: 65535 - -4,-3: - 0: 61440 - -4,-2: + 0,0: 0: 65535 - -4,-1: + 0,1: 0: 65535 - -3,-3: - 0: 61440 - -3,-2: + 0,2: 0: 65535 - -3,-1: + -4,-2: 0: 65535 + -3,-2: + 0: 56829 + -2,-2: + 0: 3838 -2,-4: - 0: 65520 + 0: 60928 -2,-3: - 0: 65535 - -2,-2: - 0: 65535 - -2,-1: - 0: 65535 + 0: 61166 -1,-4: - 0: 65535 + 0: 65350 -1,-3: 0: 65535 -1,-2: + 0: 4095 + -1,-5: + 0: 16384 + 0,-4: + 0: 65299 + 0,-3: 0: 65535 - -1,-1: + 0,-2: + 0: 53247 + 0,-1: 0: 65535 0,4: - 0: 61183 + 1: 17 + 0: 3276 + 0,3: + 1: 4368 + 0: 52428 + -1,4: + 1: 240 0,5: - 0: 61166 + 0: 52428 0,6: 0: 14 1,4: + 0: 17759 + 1,3: 0: 65535 1,5: - 0: 65535 + 0: 58990 1,6: - 0: 65535 + 0: 26350 1,7: - 0: 15 + 0: 4 2,4: - 0: 65535 + 0: 65419 2,5: - 0: 65535 + 0: 45311 2,6: - 0: 4095 + 0: 187 + 2,3: + 0: 16383 3,4: - 0: 65535 + 0: 46011 3,5: - 0: 65535 + 0: 47295 3,6: - 0: 53247 - 3,7: - 0: 12 - 0,0: - 0: 65535 - 0,1: - 0: 65535 - 0,2: - 0: 65535 - 0,3: - 0: 65535 + 0: 35007 + 3,3: + 0: 8191 + 4,4: + 0: 12595 + 4,5: + 0: 13107 + 4,6: + 0: 13107 1,0: 0: 65535 - 1,1: - 0: 65535 1,2: + 0: 65520 + 1,-1: 0: 65535 - 1,3: - 0: 65535 + 1,1: + 0: 61166 + 2,2: + 0: 7632 2,0: - 0: 4369 1: 8738 - 2,2: - 0: 65535 - 2,3: - 0: 65535 - 3,0: - 0: 65535 + 2,1: + 1: 2 3,2: - 0: 65535 - 3,3: - 0: 65535 + 0: 36828 + 3,0: + 0: 36590 3,1: - 0: 61166 - 0,-4: - 0: 65527 - 0,-3: - 0: 65535 - 0,-2: + 0: 52428 + 3,-1: + 0: 35771 + 4,0: + 0: 8191 + 4,1: 0: 65535 - 0,-1: + 4,2: 0: 65535 + 4,3: + 0: 8191 + 0,-5: + 0: 4096 1,-4: - 0: 30576 + 0: 48008 1,-3: - 0: 65399 + 0: 65467 1,-2: - 0: 63359 - 1,-1: + 0: 3003 + 1,-5: + 0: 34952 + 2,-4: + 0: 45875 + 1: 1092 + 2: 2056 + 2,-3: 0: 65535 2,-2: - 0: 4096 - 1: 8738 + 0: 61439 + 2,-5: + 0: 65535 2,-1: - 0: 4369 - 1: 8738 - 3,-1: - 0: 65262 + 0: 3822 + 3,-4: + 0: 65535 + 3,-3: + 0: 65535 3,-2: - 0: 61152 + 0: 48063 + 3,-5: + 0: 65535 + 4,-4: + 0: 65535 + 4,-3: + 0: 65535 4,-2: - 0: 65520 + 0: 65311 4,-1: + 0: 8191 + 4,-5: 0: 65535 + 5,-4: + 0: 62451 + 2: 3084 + 5,-3: + 0: 62451 + 3: 12 + 4: 3072 5,-2: - 0: 65520 + 0: 65283 + 5: 12 5,-1: - 0: 65535 + 0: 36863 + 5,-5: + 0: 62451 + 2: 3084 + 5,0: + 0: 40959 + 6,-4: + 2: 257 + 0: 4112 + 1: 17476 + 6,-3: + 3: 1 + 0: 4112 + 4: 256 + 1: 17476 6,-2: - 0: 65520 + 5: 1 + 0: 47872 + 1: 4 6,-1: + 0: 7103 + 6,-5: + 0: 4112 + 1: 17476 + 2: 257 + 6,0: 0: 65535 7,-2: - 0: 65520 + 0: 65280 7,-1: - 0: 65535 + 0: 8191 + 7,0: + 0: 13107 + 8,-2: + 0: 13056 + 8,-1: + 0: 819 -5,0: - 0: 52428 - -5,-3: - 0: 32768 - -5,-2: - 0: 51336 + 1: 17476 -5,-1: - 0: 52428 - 4,0: - 0: 65535 - 4,1: - 0: 65535 - 4,2: - 0: 65535 - 4,3: - 0: 65535 - 5,0: - 0: 65535 + 1: 17476 + -5,-2: + 1: 16384 5,1: - 0: 65535 + 0: 48051 5,2: - 0: 65535 + 0: 7103 5,3: - 0: 65535 - 6,0: - 0: 65535 + 0: 4095 6,1: - 0: 65535 + 0: 65525 6,2: - 0: 65535 + 0: 4095 6,3: - 0: 63351 - 7,0: - 0: 30583 - 7,1: - 0: 4375 - 7,2: - 0: 4369 - 7,3: - 0: 4096 - 8,-2: - 0: 30576 - 8,-1: - 0: 30583 - 4,4: - 0: 30583 - 4,5: - 0: 30583 - 4,6: - 0: 30583 - 4,7: - 0: 7 - -4,2: - 0: 26367 - -1,3: - 0: 15 - 2,1: - 0: 4369 - 1: 2 - -5,1: - 0: 52428 - -4,3: - 0: 26222 - -3,3: - 0: 15 - -2,3: - 0: 15 - -4,4: - 0: 238 + 0: 626 -3,4: - 0: 255 + 1: 240 -2,4: - 0: 255 - -1,4: - 0: 255 - -5,2: - 0: 204 - -3,2: - 0: 35071 - 0,-5: - 0: 28672 - -1,-5: + 1: 240 + 1,-7: + 1: 192 + 0: 32768 + 1,-6: + 0: 34952 + 2,-7: + 1: 240 0: 61440 - 2,-3: - 1: 12834 - 2,-4: - 1: 61166 - 3,-4: - 1: 13107 - 2,-5: - 1: 57344 - 3,-5: - 1: 12288 + 2,-6: + 0: 65535 + 3,-7: + 1: 240 + 0: 61440 + 3,-6: + 0: 65535 + 4,-7: + 1: 240 + 0: 62976 + 4,-6: + 0: 65535 + 5,-7: + 1: 240 + 0: 61440 + 5,-6: + 0: 62451 + 2: 3084 + 6,-7: + 1: 17520 + 0: 4096 + 6,-6: + 2: 257 + 0: 4112 + 1: 17476 uniqueMixes: - volume: 2500 temperature: 293.15 @@ -357,6 +415,21 @@ entities: - 0 - 0 - 0 + - volume: 2500 + immutable: True + moles: + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 - volume: 2500 temperature: 293.15 moles: @@ -372,45 +445,102 @@ entities: - 0 - 0 - 0 - chunkSize: 4 - - type: GasTileOverlay - - type: BecomesStation - id: Dev - - type: SpreaderGrid - - type: GridPathfinding - - type: NavMap - - uid: 962 - components: - - type: MetaData - - type: Transform - - type: Map - - type: PhysicsMap - - type: GridTree - - type: MovedGrids - - type: Broadphase - - type: OccluderTree - - type: LoadedMap -- proto: AirAlarm - entities: - - uid: 800 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 1.5,-4.5 - parent: 179 - - type: DeviceList - devices: - - 801 -- proto: AirCanister - entities: - - uid: 458 - components: - - type: Transform - pos: 7.5,-0.5 - parent: 179 -- proto: Airlock - entities: - - uid: 48 + - volume: 2500 + temperature: 293.15 + moles: + - 0 + - 0 + - 0 + - 6666.982 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - volume: 2500 + temperature: 293.15 + moles: + - 0 + - 6666.982 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - volume: 2500 + temperature: 293.15 + moles: + - 6666.982 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + chunkSize: 4 + - type: GasTileOverlay + - type: BecomesStation + id: Dev + - type: SpreaderGrid + - type: GridPathfinding + - type: NavMap + - uid: 962 + components: + - type: MetaData + - type: Transform + - type: Map + mapPaused: True + - type: PhysicsMap + - type: GridTree + - type: MovedGrids + - type: Broadphase + - type: OccluderTree + - type: LoadedMap +- proto: AirAlarm + entities: + - uid: 800 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 1.5,-4.5 + parent: 179 + - type: DeviceList + devices: + - 801 + - uid: 1556 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 10.5,-12.5 + parent: 179 +- proto: AirCanister + entities: + - uid: 1281 + components: + - type: Transform + pos: 12.5,-5.5 + parent: 179 + - uid: 1284 + components: + - type: Transform + pos: 13.5,-5.5 + parent: 179 +- proto: Airlock + entities: + - uid: 48 components: - type: Transform pos: 7.5,20.5 @@ -435,6 +565,32 @@ entities: - type: Transform pos: 6.5,28.5 parent: 179 +- proto: AirlockAtmospherics + entities: + - uid: 77 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 6.5,-8.5 + parent: 179 + - uid: 678 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 6.5,-9.5 + parent: 179 + - uid: 904 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 15.5,-6.5 + parent: 179 + - uid: 995 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 16.5,-6.5 + parent: 179 - proto: AirlockCargo entities: - uid: 87 @@ -481,16 +637,6 @@ entities: - type: Transform pos: 0.5,-14.5 parent: 179 - - uid: 255 - components: - - type: Transform - pos: 7.5,-8.5 - parent: 179 - - uid: 256 - components: - - type: Transform - pos: 5.5,-8.5 - parent: 179 - uid: 318 components: - type: Transform @@ -741,6 +887,23 @@ entities: rot: 3.141592653589793 rad pos: -0.5,-13.5 parent: 179 +- proto: AmmoniaCanister + entities: + - uid: 250 + components: + - type: Transform + pos: 9.5,-1.5 + parent: 179 + - uid: 251 + components: + - type: Transform + pos: 10.5,-1.5 + parent: 179 + - uid: 1317 + components: + - type: Transform + pos: 24.5,-19.5 + parent: 179 - proto: AnomalyLocator entities: - uid: 1086 @@ -795,3157 +958,2622 @@ entities: - type: Transform pos: 0.5,-16.5 parent: 179 -- proto: Autolathe - entities: - - uid: 1 + - uid: 1184 components: - type: Transform - pos: 12.5,21.5 + pos: 22.5,-16.5 parent: 179 - - uid: 94 + - uid: 1187 components: - type: Transform - pos: -4.5,-5.5 + pos: 22.5,-14.5 parent: 179 - - uid: 446 + - uid: 1200 components: - type: Transform - pos: -6.5,5.5 + pos: 22.5,-10.5 parent: 179 - - uid: 528 + - uid: 1201 components: - type: Transform - pos: -12.5,-7.5 + pos: 22.5,-12.5 parent: 179 - - uid: 531 + - uid: 1207 components: - type: Transform - pos: -13.5,-7.5 + pos: 22.5,-18.5 parent: 179 - - uid: 532 + - uid: 1220 components: - type: Transform - pos: -14.5,-7.5 + pos: 22.5,-8.5 parent: 179 -- proto: BaseUplinkRadioDebug - entities: - - uid: 732 + - uid: 1235 components: - type: Transform - pos: 0.6038008,7.5209107 + pos: 22.5,-20.5 parent: 179 -- proto: Basketball - entities: - - uid: 951 + - uid: 1238 components: - type: Transform - pos: -9.702013,9.68404 + pos: 22.5,-22.5 parent: 179 - - uid: 952 + - uid: 1260 components: - type: Transform - pos: -10.879096,9.579802 + rot: 3.141592653589793 rad + pos: 22.5,-24.5 parent: 179 -- proto: Beaker - entities: - - uid: 174 + - uid: 1335 components: - type: Transform - pos: 25.291822,10.667244 + rot: 3.141592653589793 rad + pos: 18.5,-25.5 parent: 179 - - uid: 175 + - uid: 1336 components: - type: Transform - pos: 24.541822,10.635994 + rot: 1.5707963267948966 rad + pos: 17.5,-25.5 parent: 179 - - uid: 176 + - uid: 1489 components: - type: Transform - pos: 26.416822,10.651619 + rot: -1.5707963267948966 rad + pos: 13.5,-12.5 parent: 179 - - uid: 324 + - uid: 1493 components: - type: Transform - pos: 4.718221,9.39097 + rot: -1.5707963267948966 rad + pos: 15.5,-14.5 parent: 179 - - uid: 735 + - uid: 1500 components: - type: Transform - pos: 4.739054,9.807927 + rot: -1.5707963267948966 rad + pos: 13.5,-16.5 parent: 179 - - uid: 920 + - uid: 1507 components: - type: Transform - pos: -4.293744,10.966518 + pos: 7.5,-19.5 parent: 179 - - uid: 950 + - uid: 1508 components: - type: Transform - pos: -4.293744,10.966518 + pos: 8.5,-19.5 parent: 179 -- proto: BikeHorn - entities: - - uid: 672 + - uid: 1509 components: - type: Transform - pos: 1.1246341,7.500063 + pos: 9.5,-19.5 parent: 179 -- proto: BlastDoor - entities: - - uid: 202 + - uid: 1510 components: - type: Transform - pos: -2.5,-14.5 + pos: 10.5,-19.5 parent: 179 - - uid: 697 + - uid: 1511 components: - type: Transform - pos: 1.5,-14.5 + pos: 11.5,-19.5 parent: 179 - - uid: 698 + - uid: 1512 components: - type: Transform - pos: 1.5,-16.5 + pos: 12.5,-19.5 parent: 179 - - uid: 984 + - uid: 1513 components: - type: Transform - pos: -2.5,-16.5 + pos: 13.5,-19.5 parent: 179 -- proto: BoozeDispenser - entities: - - uid: 752 + - uid: 1514 components: - type: Transform - pos: 7.5,12.5 + pos: 14.5,-19.5 parent: 179 -- proto: BoxBeaker - entities: - - uid: 280 + - uid: 1515 components: - type: Transform - pos: 5.163024,9.63072 + pos: 14.5,-20.5 parent: 179 -- proto: Brutepack - entities: - - uid: 150 + - uid: 1516 components: - type: Transform - pos: 18.601385,5.512907 + pos: 14.5,-21.5 parent: 179 - - uid: 151 + - uid: 1517 components: - type: Transform - pos: 18.476385,4.841032 + pos: 14.5,-22.5 parent: 179 -- proto: Bucket - entities: - - uid: 691 + - uid: 1518 components: - type: Transform - pos: 7.1447573,15.900927 + pos: 14.5,-23.5 parent: 179 -- proto: CableApcExtension - entities: - - uid: 15 + - uid: 1519 components: - type: Transform - pos: 5.5,15.5 + pos: 14.5,-24.5 parent: 179 - - uid: 23 +- proto: AtmosFixBlockerMarker + entities: + - uid: 1582 components: - type: Transform - pos: 3.5,15.5 + pos: 23.5,-13.5 parent: 179 - - uid: 58 + - uid: 1583 components: - type: Transform - pos: 8.5,15.5 + pos: 23.5,-15.5 parent: 179 - - uid: 90 + - uid: 1584 components: - type: Transform - pos: 4.5,15.5 + pos: 23.5,-17.5 parent: 179 - - uid: 281 + - uid: 1585 components: - type: Transform - pos: -13.5,4.5 + pos: 23.5,-19.5 parent: 179 - - uid: 389 + - uid: 1586 components: - type: Transform - pos: 7.5,15.5 + pos: 23.5,-21.5 parent: 179 - - uid: 453 + - uid: 1587 components: - type: Transform - pos: 6.5,15.5 + pos: 23.5,-23.5 parent: 179 - - uid: 736 + - uid: 1588 components: - type: Transform - pos: -2.5,9.5 + pos: 10.5,-14.5 parent: 179 - - uid: 760 + - uid: 1589 components: - type: Transform - pos: -2.5,10.5 + pos: 22.5,-13.5 parent: 179 - - uid: 761 + - uid: 1590 components: - type: Transform - pos: -15.5,5.5 + pos: 24.5,-13.5 parent: 179 - - uid: 763 + - uid: 1591 components: - type: Transform - pos: -2.5,11.5 + pos: 24.5,-15.5 parent: 179 - - uid: 764 + - uid: 1592 components: - type: Transform - pos: -1.5,11.5 + pos: 22.5,-15.5 parent: 179 - - uid: 765 + - uid: 1593 components: - type: Transform - pos: -7.5,0.5 + pos: 22.5,-17.5 parent: 179 - - uid: 766 + - uid: 1594 components: - type: Transform - pos: -0.5,11.5 + pos: 24.5,-17.5 parent: 179 - - uid: 767 + - uid: 1595 components: - type: Transform - pos: -3.5,10.5 + pos: 24.5,-19.5 parent: 179 - - uid: 768 + - uid: 1596 components: - type: Transform - pos: -4.5,10.5 + pos: 22.5,-19.5 parent: 179 - - uid: 769 + - uid: 1597 components: - type: Transform - pos: -5.5,10.5 + pos: 22.5,-21.5 parent: 179 - - uid: 770 + - uid: 1598 components: - type: Transform - pos: -6.5,10.5 + pos: 22.5,-23.5 parent: 179 - - uid: 771 + - uid: 1599 components: - type: Transform - pos: -2.5,8.5 + pos: 24.5,-23.5 parent: 179 - - uid: 772 + - uid: 1600 components: - type: Transform - pos: -2.5,7.5 + pos: 24.5,-21.5 parent: 179 - - uid: 773 + - uid: 1607 components: - type: Transform - pos: -2.5,6.5 + pos: 10.5,-15.5 parent: 179 - - uid: 774 + - uid: 1608 components: - type: Transform - pos: -2.5,5.5 + pos: 10.5,-13.5 parent: 179 - - uid: 775 + - uid: 1609 components: - type: Transform - pos: -3.5,5.5 + pos: 11.5,-13.5 parent: 179 - - uid: 776 + - uid: 1610 components: - type: Transform - pos: -4.5,5.5 + pos: 11.5,-15.5 parent: 179 - - uid: 777 +- proto: AtmosFixInstantPlasmaFireMarker + entities: + - uid: 1611 components: - type: Transform - pos: -5.5,5.5 + pos: 12.5,-15.5 parent: 179 - - uid: 778 + - uid: 1612 components: - type: Transform - pos: -6.5,5.5 + pos: 13.5,-15.5 parent: 179 - - uid: 779 + - uid: 1613 components: - type: Transform - pos: -6.5,4.5 + pos: 14.5,-15.5 parent: 179 - - uid: 780 + - uid: 1614 components: - type: Transform - pos: -7.5,4.5 + pos: 14.5,-14.5 parent: 179 - - uid: 781 + - uid: 1615 components: - type: Transform - pos: -8.5,4.5 + pos: 13.5,-14.5 parent: 179 - - uid: 782 + - uid: 1616 components: - type: Transform - pos: -9.5,4.5 + pos: 12.5,-14.5 parent: 179 - - uid: 783 + - uid: 1617 components: - type: Transform - pos: -10.5,4.5 + pos: 12.5,-13.5 parent: 179 - - uid: 784 + - uid: 1618 components: - type: Transform - pos: -11.5,4.5 + pos: 13.5,-13.5 parent: 179 - - uid: 785 + - uid: 1619 components: - type: Transform - pos: -12.5,4.5 + pos: 14.5,-13.5 parent: 179 - - uid: 786 +- proto: AtmosFixNitrogenMarker + entities: + - uid: 1579 components: - type: Transform - pos: -12.5,3.5 + pos: 23.5,-9.5 parent: 179 - - uid: 787 + - uid: 1603 components: - type: Transform - pos: -12.5,2.5 + pos: 22.5,-9.5 parent: 179 - - uid: 788 + - uid: 1604 components: - type: Transform - pos: -12.5,1.5 + pos: 24.5,-9.5 parent: 179 - - uid: 789 +- proto: AtmosFixOxygenMarker + entities: + - uid: 1580 components: - type: Transform - pos: -12.5,0.5 + pos: 23.5,-7.5 parent: 179 - - uid: 790 + - uid: 1605 components: - type: Transform - pos: -12.5,-0.5 + pos: 22.5,-7.5 parent: 179 - - uid: 791 + - uid: 1606 components: - type: Transform - pos: -2.5,4.5 + pos: 24.5,-7.5 parent: 179 - - uid: 792 +- proto: AtmosFixPlasmaMarker + entities: + - uid: 1581 components: - type: Transform - pos: -2.5,2.5 + pos: 23.5,-11.5 parent: 179 - - uid: 793 + - uid: 1601 components: - type: Transform - pos: -2.5,1.5 + pos: 22.5,-11.5 parent: 179 - - uid: 794 + - uid: 1602 components: - type: Transform - pos: -2.5,0.5 + pos: 24.5,-11.5 parent: 179 - - uid: 795 +- proto: Autolathe + entities: + - uid: 1 components: - type: Transform - pos: -2.5,3.5 + pos: 12.5,21.5 parent: 179 - - uid: 796 + - uid: 94 components: - type: Transform - pos: -2.5,-0.5 + pos: -4.5,-5.5 parent: 179 - - uid: 797 + - uid: 446 components: - type: Transform - pos: -2.5,-1.5 + pos: -6.5,5.5 parent: 179 - - uid: 798 + - uid: 528 components: - type: Transform - pos: -2.5,-2.5 + pos: -12.5,-7.5 parent: 179 - - uid: 799 + - uid: 531 components: - type: Transform - pos: -2.5,-3.5 + pos: -13.5,-7.5 parent: 179 - - uid: 802 + - uid: 532 components: - type: Transform - pos: -8.5,0.5 + pos: -14.5,-7.5 parent: 179 - - uid: 803 +- proto: BaseUplinkRadioDebug + entities: + - uid: 732 components: - type: Transform - pos: 2.5,-2.5 + pos: 0.6038008,7.5209107 parent: 179 - - uid: 804 +- proto: Basketball + entities: + - uid: 951 components: - type: Transform - pos: 2.5,-3.5 + pos: -9.702013,9.68404 parent: 179 - - uid: 805 + - uid: 952 components: - type: Transform - pos: -9.5,0.5 + pos: -10.879096,9.579802 parent: 179 - - uid: 806 +- proto: Beaker + entities: + - uid: 174 components: - type: Transform - pos: -10.5,0.5 + pos: 25.291822,10.667244 parent: 179 - - uid: 807 + - uid: 175 components: - type: Transform - pos: -14.5,0.5 + pos: 24.541822,10.635994 parent: 179 - - uid: 808 + - uid: 176 components: - type: Transform - pos: -11.5,0.5 + pos: 26.416822,10.651619 parent: 179 - - uid: 809 + - uid: 324 components: - type: Transform - pos: -15.5,0.5 + pos: 4.718221,9.39097 parent: 179 - - uid: 810 + - uid: 735 components: - type: Transform - pos: -15.5,0.5 + pos: 4.739054,9.807927 parent: 179 - - uid: 811 + - uid: 920 components: - type: Transform - pos: -16.5,0.5 + pos: -4.293744,10.966518 parent: 179 - - uid: 812 + - uid: 950 components: - type: Transform - pos: -16.5,5.5 + pos: -4.293744,10.966518 parent: 179 - - uid: 813 +- proto: BikeHorn + entities: + - uid: 672 components: - type: Transform - pos: -16.5,4.5 + pos: 1.1246341,7.500063 parent: 179 - - uid: 814 +- proto: BlastDoor + entities: + - uid: 202 components: - type: Transform - pos: -16.5,3.5 + pos: -2.5,-14.5 parent: 179 - - uid: 815 + - uid: 697 components: - type: Transform - pos: -16.5,2.5 + pos: 1.5,-14.5 parent: 179 - - uid: 816 + - uid: 698 components: - type: Transform - pos: -16.5,1.5 + pos: 1.5,-16.5 parent: 179 - - uid: 817 + - uid: 984 components: - type: Transform - pos: 7.5,5.5 + pos: -2.5,-16.5 parent: 179 - - uid: 818 + - uid: 1230 components: - type: Transform - pos: 7.5,7.5 + pos: 6.5,-20.5 parent: 179 - - uid: 819 + - uid: 1232 components: - type: Transform - pos: 7.5,8.5 + pos: 6.5,-17.5 parent: 179 - - uid: 820 + - type: DeviceLinkSink + invokeCounter: 2 + - uid: 1233 components: - type: Transform - pos: 7.5,9.5 + pos: 6.5,-16.5 parent: 179 - - uid: 821 + - type: DeviceLinkSink + invokeCounter: 2 + - uid: 1234 components: - type: Transform - pos: 8.5,9.5 + pos: 6.5,-15.5 parent: 179 - - uid: 822 + - type: DeviceLinkSink + invokeCounter: 2 + - uid: 1385 components: - type: Transform - pos: 6.5,9.5 + pos: 11.5,-14.5 parent: 179 - - uid: 823 +- proto: BoozeDispenser + entities: + - uid: 752 components: - type: Transform - pos: 5.5,9.5 + pos: 7.5,12.5 parent: 179 - - uid: 824 +- proto: BoxBeaker + entities: + - uid: 280 components: - type: Transform - pos: 4.5,9.5 + pos: 5.163024,9.63072 parent: 179 - - uid: 825 +- proto: Brutepack + entities: + - uid: 150 components: - type: Transform - pos: 8.5,10.5 + pos: 18.601385,5.512907 parent: 179 - - uid: 826 + - uid: 151 components: - type: Transform - pos: 8.5,11.5 + pos: 18.476385,4.841032 parent: 179 - - uid: 827 +- proto: Bucket + entities: + - uid: 691 components: - type: Transform - pos: 8.5,12.5 + pos: 7.1447573,15.900927 parent: 179 - - uid: 828 +- proto: ButtonFrameCautionSecurity + entities: + - uid: 1488 components: - type: Transform - pos: 7.5,12.5 + rot: 3.141592653589793 rad + pos: 14.5,-12.5 parent: 179 - - uid: 829 +- proto: CableApcExtension + entities: + - uid: 15 components: - type: Transform - pos: 7.5,11.5 + pos: 5.5,15.5 parent: 179 - - uid: 830 + - uid: 23 components: - type: Transform - pos: 2.5,-5.5 + pos: 3.5,15.5 parent: 179 - - uid: 831 + - uid: 58 components: - type: Transform - pos: 2.5,-4.5 + pos: 8.5,15.5 parent: 179 - - uid: 832 + - uid: 90 components: - type: Transform - pos: 1.5,-5.5 + pos: 4.5,15.5 parent: 179 - - uid: 833 + - uid: 281 components: - type: Transform - pos: 0.5,-5.5 + pos: -13.5,4.5 parent: 179 - - uid: 834 + - uid: 389 components: - type: Transform - pos: -0.5,-5.5 + pos: 7.5,15.5 parent: 179 - - uid: 835 + - uid: 453 components: - type: Transform - pos: -1.5,-5.5 + pos: 6.5,15.5 parent: 179 - - uid: 836 + - uid: 736 components: - type: Transform - pos: -2.5,-5.5 + pos: -2.5,9.5 parent: 179 - - uid: 837 + - uid: 760 components: - type: Transform - pos: -3.5,-5.5 + pos: -2.5,10.5 parent: 179 - - uid: 838 + - uid: 761 components: - type: Transform - pos: -4.5,-5.5 + pos: -15.5,5.5 parent: 179 - - uid: 839 + - uid: 763 components: - type: Transform - pos: 1.5,11.5 + pos: -2.5,11.5 parent: 179 - - uid: 840 + - uid: 764 components: - type: Transform - pos: 2.5,11.5 + pos: -1.5,11.5 parent: 179 - - uid: 841 + - uid: 765 components: - type: Transform - pos: 0.5,11.5 + pos: -7.5,0.5 parent: 179 - - uid: 842 + - uid: 766 components: - type: Transform - pos: 2.5,12.5 + pos: -0.5,11.5 parent: 179 - - uid: 843 + - uid: 767 components: - type: Transform - pos: 2.5,13.5 + pos: -3.5,10.5 parent: 179 - - uid: 844 + - uid: 768 components: - type: Transform - pos: 2.5,14.5 + pos: -4.5,10.5 parent: 179 - - uid: 845 + - uid: 769 components: - type: Transform - pos: 2.5,15.5 + pos: -5.5,10.5 parent: 179 - - uid: 853 + - uid: 770 components: - type: Transform - pos: -3.5,-3.5 + pos: -6.5,10.5 parent: 179 - - uid: 854 + - uid: 771 components: - type: Transform - pos: -4.5,-3.5 + pos: -2.5,8.5 parent: 179 - - uid: 855 + - uid: 772 components: - type: Transform - pos: -5.5,-3.5 + pos: -2.5,7.5 parent: 179 - - uid: 856 + - uid: 773 components: - type: Transform - pos: -6.5,-3.5 + pos: -2.5,6.5 parent: 179 - - uid: 857 + - uid: 774 components: - type: Transform - pos: -6.5,-2.5 + pos: -2.5,5.5 parent: 179 - - uid: 858 + - uid: 775 components: - type: Transform - pos: -6.5,-1.5 + pos: -3.5,5.5 parent: 179 - - uid: 859 + - uid: 776 components: - type: Transform - pos: -6.5,-0.5 + pos: -4.5,5.5 parent: 179 - - uid: 860 + - uid: 777 components: - type: Transform - pos: -6.5,0.5 + pos: -5.5,5.5 parent: 179 - - uid: 861 + - uid: 778 components: - type: Transform - pos: -6.5,1.5 + pos: -6.5,5.5 parent: 179 - - uid: 862 + - uid: 779 components: - type: Transform - pos: -6.5,2.5 + pos: -6.5,4.5 parent: 179 - - uid: 872 + - uid: 780 components: - type: Transform - pos: 7.5,6.5 + pos: -7.5,4.5 parent: 179 - - uid: 873 + - uid: 781 components: - type: Transform - pos: 8.5,21.5 + pos: -8.5,4.5 parent: 179 - - uid: 877 + - uid: 782 components: - type: Transform - pos: -6.5,3.5 + pos: -9.5,4.5 parent: 179 - - uid: 878 + - uid: 783 components: - type: Transform - pos: -2.5,-4.5 + pos: -10.5,4.5 parent: 179 - - uid: 879 + - uid: 784 components: - type: Transform - pos: -1.5,-4.5 + pos: -11.5,4.5 parent: 179 - - uid: 880 + - uid: 785 components: - type: Transform - pos: -0.5,-4.5 + pos: -12.5,4.5 parent: 179 - - uid: 881 + - uid: 786 components: - type: Transform - pos: 0.5,-4.5 + pos: -12.5,3.5 parent: 179 - - uid: 882 + - uid: 787 components: - type: Transform - pos: 1.5,-4.5 + pos: -12.5,2.5 parent: 179 - - uid: 883 + - uid: 788 components: - type: Transform - pos: 2.5,-4.5 + pos: -12.5,1.5 parent: 179 - - uid: 884 + - uid: 789 components: - type: Transform - pos: 3.5,-4.5 + pos: -12.5,0.5 parent: 179 - - uid: 885 + - uid: 790 components: - type: Transform - pos: 4.5,-4.5 + pos: -12.5,-0.5 parent: 179 - - uid: 886 + - uid: 791 components: - type: Transform - pos: 5.5,-4.5 + pos: -2.5,4.5 parent: 179 - - uid: 887 + - uid: 792 components: - type: Transform - pos: 6.5,-4.5 + pos: -2.5,2.5 parent: 179 - - uid: 888 + - uid: 793 components: - type: Transform - pos: 7.5,-4.5 + pos: -2.5,1.5 parent: 179 - - uid: 889 + - uid: 794 components: - type: Transform - pos: 8.5,-4.5 + pos: -2.5,0.5 parent: 179 - - uid: 890 + - uid: 795 components: - type: Transform - pos: 8.5,-3.5 + pos: -2.5,3.5 parent: 179 - - uid: 891 + - uid: 796 components: - type: Transform - pos: 8.5,-2.5 + pos: -2.5,-0.5 parent: 179 - - uid: 892 + - uid: 797 components: - type: Transform - pos: 8.5,-1.5 + pos: -2.5,-1.5 parent: 179 - - uid: 893 + - uid: 798 components: - type: Transform - pos: 8.5,-0.5 + pos: -2.5,-2.5 parent: 179 - - uid: 894 + - uid: 799 components: - type: Transform - pos: 8.5,0.5 + pos: -2.5,-3.5 parent: 179 - - uid: 895 + - uid: 802 components: - type: Transform - pos: 8.5,1.5 + pos: -8.5,0.5 parent: 179 - - uid: 896 + - uid: 803 components: - type: Transform - pos: 8.5,2.5 + pos: 2.5,-2.5 parent: 179 - - uid: 897 + - uid: 804 components: - type: Transform - pos: 8.5,3.5 + pos: 2.5,-3.5 parent: 179 - - uid: 898 + - uid: 805 components: - type: Transform - pos: 8.5,4.5 + pos: -9.5,0.5 parent: 179 - - uid: 899 + - uid: 806 components: - type: Transform - pos: 8.5,5.5 + pos: -10.5,0.5 parent: 179 - - uid: 900 + - uid: 807 components: - type: Transform - pos: -14.5,5.5 + pos: -14.5,0.5 parent: 179 - - uid: 905 + - uid: 808 components: - type: Transform - pos: -12.5,5.5 + pos: -11.5,0.5 parent: 179 - - uid: 906 + - uid: 809 components: - type: Transform - pos: -14.5,4.5 + pos: -15.5,0.5 parent: 179 - - uid: 908 + - uid: 810 components: - type: Transform - pos: -15.5,4.5 + pos: -15.5,0.5 parent: 179 - - uid: 909 + - uid: 811 components: - type: Transform - pos: 8.5,20.5 + pos: -16.5,0.5 parent: 179 - - uid: 970 + - uid: 812 components: - type: Transform - pos: 9.5,12.5 + pos: -16.5,5.5 parent: 179 - - uid: 971 + - uid: 813 components: - type: Transform - pos: 10.5,12.5 + pos: -16.5,4.5 parent: 179 - - uid: 972 + - uid: 814 components: - type: Transform - pos: 11.5,12.5 + pos: -16.5,3.5 parent: 179 - - uid: 973 + - uid: 815 components: - type: Transform - pos: 12.5,12.5 + pos: -16.5,2.5 parent: 179 - - uid: 974 + - uid: 816 components: - type: Transform - pos: 13.5,12.5 + pos: -16.5,1.5 parent: 179 - - uid: 1026 + - uid: 817 components: - type: Transform - pos: -5.5,-14.5 + pos: 7.5,5.5 parent: 179 - - uid: 1027 + - uid: 818 components: - type: Transform - pos: -5.5,-13.5 + pos: 7.5,7.5 parent: 179 - - uid: 1028 + - uid: 819 components: - type: Transform - pos: -5.5,-12.5 + pos: 7.5,8.5 parent: 179 - - uid: 1029 + - uid: 820 components: - type: Transform - pos: -4.5,-12.5 + pos: 7.5,9.5 parent: 179 - - uid: 1030 + - uid: 821 components: - type: Transform - pos: -3.5,-12.5 + pos: 8.5,9.5 parent: 179 - - uid: 1031 + - uid: 822 components: - type: Transform - pos: -2.5,-12.5 + pos: 6.5,9.5 parent: 179 - - uid: 1032 + - uid: 823 components: - type: Transform - pos: -1.5,-12.5 + pos: 5.5,9.5 parent: 179 - - uid: 1033 + - uid: 824 components: - type: Transform - pos: -0.5,-12.5 + pos: 4.5,9.5 parent: 179 - - uid: 1034 + - uid: 825 components: - type: Transform - pos: 0.5,-12.5 + pos: 8.5,10.5 parent: 179 - - uid: 1035 + - uid: 826 components: - type: Transform - pos: 1.5,-12.5 + pos: 8.5,11.5 parent: 179 - - uid: 1036 + - uid: 827 components: - type: Transform - pos: 2.5,-12.5 + pos: 8.5,12.5 parent: 179 - - uid: 1037 + - uid: 828 components: - type: Transform - pos: 3.5,-12.5 + pos: 7.5,12.5 parent: 179 - - uid: 1038 + - uid: 829 components: - type: Transform - pos: 0.5,-13.5 + pos: 7.5,11.5 parent: 179 - - uid: 1039 + - uid: 830 components: - type: Transform - pos: 0.5,-14.5 + pos: 2.5,-5.5 parent: 179 - - uid: 1040 + - uid: 831 components: - type: Transform - pos: 0.5,-15.5 + pos: 2.5,-4.5 parent: 179 - - uid: 1041 + - uid: 832 components: - type: Transform - pos: -1.5,-13.5 + pos: 1.5,-5.5 parent: 179 - - uid: 1042 + - uid: 833 components: - type: Transform - pos: -1.5,-14.5 + pos: 0.5,-5.5 parent: 179 - - uid: 1043 + - uid: 834 components: - type: Transform - pos: -1.5,-15.5 + pos: -0.5,-5.5 parent: 179 - - uid: 1044 + - uid: 835 components: - type: Transform - pos: 4.5,-12.5 + pos: -1.5,-5.5 parent: 179 - - uid: 1045 + - uid: 836 components: - type: Transform - pos: 4.5,-13.5 + pos: -2.5,-5.5 parent: 179 - - uid: 1051 + - uid: 837 components: - type: Transform - pos: 9.5,15.5 + pos: -3.5,-5.5 parent: 179 - - uid: 1052 + - uid: 838 components: - type: Transform - pos: 9.5,16.5 + pos: -4.5,-5.5 parent: 179 - - uid: 1053 + - uid: 839 components: - type: Transform - pos: 9.5,17.5 + pos: 1.5,11.5 parent: 179 - - uid: 1054 + - uid: 840 components: - type: Transform - pos: 9.5,18.5 + pos: 2.5,11.5 parent: 179 - - uid: 1055 + - uid: 841 components: - type: Transform - pos: 9.5,19.5 + pos: 0.5,11.5 parent: 179 - - uid: 1056 + - uid: 842 components: - type: Transform - pos: 9.5,20.5 + pos: 2.5,12.5 parent: 179 - - uid: 1057 + - uid: 843 components: - type: Transform - pos: 10.5,20.5 + pos: 2.5,13.5 parent: 179 - - uid: 1058 + - uid: 844 components: - type: Transform - pos: 11.5,20.5 + pos: 2.5,14.5 parent: 179 - - uid: 1059 + - uid: 845 components: - type: Transform - pos: 12.5,20.5 + pos: 2.5,15.5 parent: 179 - - uid: 1060 + - uid: 853 components: - type: Transform - pos: 13.5,20.5 + pos: -3.5,-3.5 parent: 179 - - uid: 1061 + - uid: 854 components: - type: Transform - pos: 14.5,20.5 + pos: -4.5,-3.5 parent: 179 - - uid: 1062 + - uid: 855 components: - type: Transform - pos: 15.5,20.5 + pos: -5.5,-3.5 parent: 179 - - uid: 1063 + - uid: 856 components: - type: Transform - pos: 16.5,20.5 + pos: -6.5,-3.5 parent: 179 - - uid: 1064 + - uid: 857 components: - type: Transform - pos: 16.5,21.5 + pos: -6.5,-2.5 parent: 179 - - uid: 1065 + - uid: 858 components: - type: Transform - pos: 16.5,22.5 + pos: -6.5,-1.5 parent: 179 - - uid: 1066 + - uid: 859 components: - type: Transform - pos: 16.5,23.5 + pos: -6.5,-0.5 parent: 179 - - uid: 1067 + - uid: 860 components: - type: Transform - pos: 16.5,24.5 + pos: -6.5,0.5 parent: 179 - - uid: 1068 + - uid: 861 components: - type: Transform - pos: 16.5,25.5 + pos: -6.5,1.5 parent: 179 - - uid: 1069 + - uid: 862 components: - type: Transform - pos: 16.5,26.5 + pos: -6.5,2.5 parent: 179 - - uid: 1070 + - uid: 872 components: - type: Transform - pos: 16.5,27.5 + pos: 7.5,6.5 parent: 179 - - uid: 1079 + - uid: 873 components: - type: Transform - pos: 15.5,24.5 + pos: 8.5,21.5 parent: 179 - - uid: 1080 + - uid: 877 components: - type: Transform - pos: 14.5,24.5 + pos: -6.5,3.5 parent: 179 - - uid: 1081 + - uid: 878 components: - type: Transform - pos: 13.5,24.5 + pos: -2.5,-4.5 parent: 179 - - uid: 1082 + - uid: 879 components: - type: Transform - pos: 12.5,24.5 + pos: -1.5,-4.5 parent: 179 - - uid: 1097 + - uid: 880 components: - type: Transform - pos: 8.5,14.5 + pos: -0.5,-4.5 parent: 179 - - uid: 1098 + - uid: 881 components: - type: Transform - pos: 8.5,13.5 + pos: 0.5,-4.5 parent: 179 - - uid: 1099 + - uid: 882 components: - type: Transform - pos: 9.5,13.5 + pos: 1.5,-4.5 parent: 179 - - uid: 1100 + - uid: 883 components: - type: Transform - pos: 10.5,13.5 + pos: 2.5,-4.5 parent: 179 - - uid: 1101 + - uid: 884 components: - type: Transform - pos: 11.5,13.5 + pos: 3.5,-4.5 parent: 179 - - uid: 1102 + - uid: 885 components: - type: Transform - pos: 12.5,13.5 + pos: 4.5,-4.5 parent: 179 - - uid: 1103 + - uid: 886 components: - type: Transform - pos: 13.5,13.5 + pos: 5.5,-4.5 parent: 179 - - uid: 1104 + - uid: 887 components: - type: Transform - pos: 14.5,13.5 + pos: 6.5,-4.5 parent: 179 - - uid: 1105 + - uid: 888 components: - type: Transform - pos: 15.5,13.5 + pos: 7.5,-4.5 parent: 179 - - uid: 1106 + - uid: 889 components: - type: Transform - pos: 16.5,13.5 + pos: 8.5,-4.5 parent: 179 - - uid: 1107 + - uid: 890 components: - type: Transform - pos: 17.5,13.5 + pos: 8.5,-3.5 parent: 179 - - uid: 1108 + - uid: 891 components: - type: Transform - pos: 18.5,13.5 + pos: 8.5,-2.5 parent: 179 - - uid: 1109 + - uid: 892 components: - type: Transform - pos: 19.5,13.5 + pos: 8.5,-1.5 parent: 179 - - uid: 1110 + - uid: 893 components: - type: Transform - pos: 20.5,13.5 + pos: 8.5,-0.5 parent: 179 - - uid: 1111 + - uid: 894 components: - type: Transform - pos: 21.5,13.5 + pos: 8.5,0.5 parent: 179 - - uid: 1112 + - uid: 895 components: - type: Transform - pos: 22.5,13.5 + pos: 8.5,1.5 parent: 179 - - uid: 1113 + - uid: 896 components: - type: Transform - pos: 23.5,13.5 + pos: 8.5,2.5 parent: 179 - - uid: 1114 + - uid: 897 components: - type: Transform - pos: 24.5,13.5 + pos: 8.5,3.5 parent: 179 - - uid: 1115 + - uid: 898 components: - type: Transform - pos: 25.5,13.5 + pos: 8.5,4.5 parent: 179 - - uid: 1116 + - uid: 899 components: - type: Transform - pos: 16.5,12.5 + pos: 8.5,5.5 parent: 179 - - uid: 1117 + - uid: 900 components: - type: Transform - pos: 16.5,11.5 + pos: -14.5,5.5 parent: 179 - - uid: 1118 + - uid: 905 components: - type: Transform - pos: 16.5,10.5 + pos: -12.5,5.5 parent: 179 - - uid: 1119 + - uid: 906 components: - type: Transform - pos: 16.5,9.5 + pos: -14.5,4.5 parent: 179 - - uid: 1120 + - uid: 908 components: - type: Transform - pos: 16.5,8.5 + pos: -15.5,4.5 parent: 179 - - uid: 1121 + - uid: 909 components: - type: Transform - pos: 16.5,7.5 + pos: 8.5,20.5 parent: 179 - - uid: 1122 + - uid: 970 components: - type: Transform - pos: 16.5,6.5 + pos: 9.5,12.5 parent: 179 - - uid: 1123 + - uid: 971 components: - type: Transform - pos: 16.5,5.5 + pos: 10.5,12.5 parent: 179 - - uid: 1124 + - uid: 972 components: - type: Transform - pos: 16.5,4.5 + pos: 11.5,12.5 parent: 179 - - uid: 1125 + - uid: 973 components: - type: Transform - pos: 16.5,3.5 + pos: 12.5,12.5 parent: 179 - - uid: 1126 + - uid: 974 components: - type: Transform - pos: 16.5,2.5 + pos: 13.5,12.5 parent: 179 - - uid: 1127 + - uid: 1026 components: - type: Transform - pos: 16.5,1.5 + pos: -5.5,-14.5 parent: 179 - - uid: 1128 + - uid: 1027 components: - type: Transform - pos: 16.5,0.5 + pos: -5.5,-13.5 parent: 179 - - uid: 1129 + - uid: 1028 components: - type: Transform - pos: 16.5,-0.5 + pos: -5.5,-12.5 parent: 179 - - uid: 1130 + - uid: 1029 components: - type: Transform - pos: 16.5,-1.5 + pos: -4.5,-12.5 parent: 179 - - uid: 1131 + - uid: 1030 components: - type: Transform - pos: 16.5,-2.5 + pos: -3.5,-12.5 parent: 179 - - uid: 1132 + - uid: 1031 components: - type: Transform - pos: 16.5,-3.5 + pos: -2.5,-12.5 parent: 179 - - uid: 1133 + - uid: 1032 components: - type: Transform - pos: 17.5,-3.5 + pos: -1.5,-12.5 parent: 179 - - uid: 1134 + - uid: 1033 components: - type: Transform - pos: 18.5,-3.5 + pos: -0.5,-12.5 parent: 179 - - uid: 1135 + - uid: 1034 components: - type: Transform - pos: 19.5,-3.5 + pos: 0.5,-12.5 parent: 179 - - uid: 1136 + - uid: 1035 components: - type: Transform - pos: 20.5,-3.5 + pos: 1.5,-12.5 parent: 179 - - uid: 1137 + - uid: 1036 components: - type: Transform - pos: 21.5,-3.5 + pos: 2.5,-12.5 parent: 179 - - uid: 1138 + - uid: 1037 components: - type: Transform - pos: 22.5,-3.5 + pos: 3.5,-12.5 parent: 179 - - uid: 1139 + - uid: 1038 components: - type: Transform - pos: 23.5,-3.5 + pos: 0.5,-13.5 parent: 179 - - uid: 1140 + - uid: 1039 components: - type: Transform - pos: 24.5,-3.5 + pos: 0.5,-14.5 parent: 179 - - uid: 1141 + - uid: 1040 components: - type: Transform - pos: 25.5,-3.5 + pos: 0.5,-15.5 parent: 179 - - uid: 1142 + - uid: 1041 components: - type: Transform - pos: 26.5,-3.5 + pos: -1.5,-13.5 parent: 179 - - uid: 1143 + - uid: 1042 components: - type: Transform - pos: 27.5,-3.5 + pos: -1.5,-14.5 parent: 179 - - uid: 1144 + - uid: 1043 components: - type: Transform - pos: 28.5,-3.5 + pos: -1.5,-15.5 parent: 179 - - uid: 1145 + - uid: 1044 components: - type: Transform - pos: 17.5,2.5 + pos: 4.5,-12.5 parent: 179 - - uid: 1146 + - uid: 1045 components: - type: Transform - pos: 18.5,2.5 + pos: 4.5,-13.5 parent: 179 - - uid: 1147 + - uid: 1051 components: - type: Transform - pos: 19.5,2.5 + pos: 9.5,15.5 parent: 179 - - uid: 1148 + - uid: 1052 components: - type: Transform - pos: 20.5,2.5 + pos: 9.5,16.5 parent: 179 - - uid: 1149 + - uid: 1053 components: - type: Transform - pos: 21.5,2.5 + pos: 9.5,17.5 parent: 179 - - uid: 1150 + - uid: 1054 components: - type: Transform - pos: 22.5,2.5 + pos: 9.5,18.5 parent: 179 - - uid: 1151 + - uid: 1055 components: - type: Transform - pos: 23.5,2.5 + pos: 9.5,19.5 parent: 179 - - uid: 1152 + - uid: 1056 components: - type: Transform - pos: 24.5,2.5 + pos: 9.5,20.5 parent: 179 - - uid: 1153 + - uid: 1057 components: - type: Transform - pos: 25.5,2.5 + pos: 10.5,20.5 parent: 179 - - uid: 1154 + - uid: 1058 components: - type: Transform - pos: 26.5,2.5 + pos: 11.5,20.5 parent: 179 - - uid: 1155 + - uid: 1059 components: - type: Transform - pos: 27.5,2.5 + pos: 12.5,20.5 parent: 179 - - uid: 1156 + - uid: 1060 components: - type: Transform - pos: 28.5,2.5 + pos: 13.5,20.5 parent: 179 - - uid: 1157 + - uid: 1061 components: - type: Transform - pos: 26.5,3.5 + pos: 14.5,20.5 parent: 179 - - uid: 1158 + - uid: 1062 components: - type: Transform - pos: 26.5,4.5 + pos: 15.5,20.5 parent: 179 - - uid: 1159 + - uid: 1063 components: - type: Transform - pos: 26.5,5.5 + pos: 16.5,20.5 parent: 179 - - uid: 1160 + - uid: 1064 components: - type: Transform - pos: 26.5,6.5 + pos: 16.5,21.5 parent: 179 - - uid: 1161 + - uid: 1065 components: - type: Transform - pos: 26.5,7.5 + pos: 16.5,22.5 parent: 179 - - uid: 1162 + - uid: 1066 components: - type: Transform - pos: 26.5,8.5 + pos: 16.5,23.5 parent: 179 - - uid: 1163 + - uid: 1067 components: - type: Transform - pos: 26.5,9.5 + pos: 16.5,24.5 parent: 179 - - uid: 1164 + - uid: 1068 components: - type: Transform - pos: 25.5,9.5 + pos: 16.5,25.5 parent: 179 - - uid: 1165 + - uid: 1069 components: - type: Transform - pos: 24.5,9.5 + pos: 16.5,26.5 parent: 179 - - uid: 1166 + - uid: 1070 components: - type: Transform - pos: 16.5,19.5 + pos: 16.5,27.5 parent: 179 - - uid: 1167 + - uid: 1079 components: - type: Transform - pos: 16.5,18.5 + pos: 15.5,24.5 parent: 179 - - uid: 1168 + - uid: 1080 components: - type: Transform - pos: 16.5,17.5 + pos: 14.5,24.5 parent: 179 - - uid: 1169 + - uid: 1081 components: - type: Transform - pos: 16.5,16.5 + pos: 13.5,24.5 parent: 179 - - uid: 1170 + - uid: 1082 components: - type: Transform - pos: 16.5,15.5 + pos: 12.5,24.5 parent: 179 - - uid: 1171 + - uid: 1097 components: - type: Transform - pos: 16.5,14.5 + pos: 8.5,14.5 parent: 179 - - uid: 1177 + - uid: 1098 components: - type: Transform - pos: 8.5,22.5 + pos: 8.5,13.5 parent: 179 - - uid: 1178 + - uid: 1099 components: - type: Transform - pos: 8.5,23.5 + pos: 9.5,13.5 parent: 179 - - uid: 1179 + - uid: 1100 components: - type: Transform - pos: 8.5,24.5 + pos: 10.5,13.5 parent: 179 - - uid: 1180 + - uid: 1101 components: - type: Transform - pos: 8.5,25.5 + pos: 11.5,13.5 parent: 179 -- proto: CableApcStack - entities: - - uid: 70 + - uid: 1102 components: - type: Transform - pos: 10.577456,21.424059 + pos: 12.5,13.5 parent: 179 - - uid: 183 + - uid: 1103 components: - type: Transform - pos: -6.6863613,7.351646 + pos: 13.5,13.5 parent: 179 - - uid: 351 + - uid: 1104 components: - type: Transform - pos: 10.561831,21.767809 + pos: 14.5,13.5 parent: 179 - - uid: 537 + - uid: 1105 components: - type: Transform - pos: -15.5,-0.5 + pos: 15.5,13.5 parent: 179 - - uid: 538 + - uid: 1106 components: - type: Transform - pos: -15.5,-0.5 + pos: 16.5,13.5 parent: 179 -- proto: CableHV - entities: - - uid: 1019 + - uid: 1107 components: - type: Transform - pos: -6.5,-13.5 + pos: 17.5,13.5 parent: 179 - - uid: 1020 + - uid: 1108 components: - type: Transform - pos: -6.5,-12.5 + pos: 18.5,13.5 parent: 179 - - uid: 1021 + - uid: 1109 components: - type: Transform - pos: -6.5,-11.5 + pos: 19.5,13.5 parent: 179 -- proto: CableHVStack - entities: - - uid: 184 + - uid: 1110 components: - type: Transform - pos: -6.665528,7.840053 + pos: 20.5,13.5 parent: 179 -- proto: CableMV - entities: - - uid: 1023 + - uid: 1111 components: - type: Transform - pos: -6.5,-13.5 + pos: 21.5,13.5 parent: 179 - - uid: 1024 + - uid: 1112 components: - type: Transform - pos: -5.5,-13.5 + pos: 22.5,13.5 parent: 179 - - uid: 1025 + - uid: 1113 components: - type: Transform - pos: -5.5,-14.5 + pos: 23.5,13.5 parent: 179 -- proto: CableMVStack - entities: - - uid: 325 + - uid: 1114 components: - type: Transform - pos: -6.665528,7.5601244 + pos: 24.5,13.5 parent: 179 -- proto: CableTerminal - entities: - - uid: 1022 + - uid: 1115 components: - type: Transform - pos: -6.5,-11.5 + pos: 25.5,13.5 parent: 179 -- proto: CapacitorStockPart - entities: - - uid: 296 + - uid: 1116 components: - type: Transform - pos: -4.3012447,8.817795 + pos: 16.5,12.5 parent: 179 - - uid: 700 + - uid: 1117 components: - type: Transform - pos: -3.8324947,8.786524 + pos: 16.5,11.5 parent: 179 - - uid: 701 + - uid: 1118 components: - type: Transform - pos: -3.2804112,8.786524 + pos: 16.5,10.5 parent: 179 - - uid: 704 + - uid: 1119 components: - type: Transform - pos: -4.8741612,8.817795 + pos: 16.5,9.5 parent: 179 -- proto: CaptainIDCard - entities: - - uid: 726 + - uid: 1120 components: - type: Transform - pos: 1.0820513,8.752605 + pos: 16.5,8.5 parent: 179 -- proto: CaptainSabre - entities: - - uid: 381 + - uid: 1121 components: - type: Transform - pos: -3.277628,-2.15838 + pos: 16.5,7.5 parent: 179 -- proto: Catwalk - entities: - - uid: 2 + - uid: 1122 components: - type: Transform - pos: 13.5,24.5 + pos: 16.5,6.5 parent: 179 - - uid: 7 + - uid: 1123 components: - type: Transform - pos: 6.5,24.5 + pos: 16.5,5.5 parent: 179 - - uid: 20 + - uid: 1124 components: - type: Transform - pos: 6.5,20.5 + pos: 16.5,4.5 parent: 179 - - uid: 120 + - uid: 1125 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 6.5,18.5 + pos: 16.5,3.5 parent: 179 - - uid: 246 + - uid: 1126 components: - type: Transform - pos: -6.5,-6.5 + pos: 16.5,2.5 parent: 179 - - uid: 247 + - uid: 1127 components: - type: Transform - pos: -8.5,-6.5 + pos: 16.5,1.5 parent: 179 - - uid: 252 + - uid: 1128 components: - type: Transform - pos: 4.5,-8.5 + pos: 16.5,0.5 parent: 179 - - uid: 269 + - uid: 1129 components: - type: Transform - pos: 12.5,10.5 + pos: 16.5,-0.5 parent: 179 - - uid: 286 + - uid: 1130 components: - type: Transform - pos: 2.5,-11.5 + pos: 16.5,-1.5 parent: 179 - - uid: 287 + - uid: 1131 components: - type: Transform - pos: -4.5,-11.5 + pos: 16.5,-2.5 parent: 179 - - uid: 308 + - uid: 1132 components: - type: Transform - pos: -2.5,-12.5 + pos: 16.5,-3.5 parent: 179 - - uid: 309 + - uid: 1133 components: - type: Transform - pos: 1.5,-12.5 + pos: 17.5,-3.5 parent: 179 - - uid: 333 + - uid: 1134 components: - type: Transform - pos: 4.5,-13.5 + pos: 18.5,-3.5 parent: 179 - - uid: 334 + - uid: 1135 components: - type: Transform - pos: -5.5,-13.5 + pos: 19.5,-3.5 parent: 179 - - uid: 345 + - uid: 1136 components: - type: Transform - anchored: False - rot: -1.5707963267949 rad - pos: 9.5,0.5 + pos: 20.5,-3.5 parent: 179 - - uid: 346 + - uid: 1137 components: - type: Transform - anchored: False - rot: -1.5707963267949 rad - pos: 9.5,1.5 + pos: 21.5,-3.5 parent: 179 - - uid: 347 + - uid: 1138 components: - type: Transform - anchored: False - rot: -1.5707963267949 rad - pos: 9.5,2.5 + pos: 22.5,-3.5 parent: 179 - - uid: 348 + - uid: 1139 components: - type: Transform - anchored: False - rot: -1.5707963267949 rad - pos: 9.5,3.5 + pos: 23.5,-3.5 parent: 179 - - uid: 349 + - uid: 1140 components: - type: Transform - anchored: False - rot: -1.5707963267949 rad - pos: 9.5,4.5 + pos: 24.5,-3.5 parent: 179 - - uid: 403 + - uid: 1141 components: - type: Transform - anchored: False - rot: -1.5707963267949 rad - pos: 9.5,-0.5 + pos: 25.5,-3.5 parent: 179 - - uid: 404 + - uid: 1142 components: - type: Transform - anchored: False - rot: -1.5707963267949 rad - pos: 9.5,-1.5 + pos: 26.5,-3.5 parent: 179 - - uid: 405 + - uid: 1143 components: - type: Transform - anchored: False - rot: -1.5707963267949 rad - pos: 9.5,-2.5 + pos: 27.5,-3.5 parent: 179 - - uid: 406 + - uid: 1144 components: - type: Transform - anchored: False - rot: -1.5707963267949 rad - pos: 9.5,-3.5 + pos: 28.5,-3.5 parent: 179 - - uid: 407 + - uid: 1145 components: - type: Transform - anchored: False - rot: -1.5707963267949 rad - pos: 9.5,-4.5 + pos: 17.5,2.5 parent: 179 - - uid: 408 + - uid: 1146 components: - type: Transform - anchored: False - rot: -1.5707963267949 rad - pos: 9.5,-5.5 + pos: 18.5,2.5 parent: 179 - - uid: 409 + - uid: 1147 components: - type: Transform - anchored: False - rot: -1.5707963267949 rad - pos: 9.5,-6.5 + pos: 19.5,2.5 parent: 179 - - uid: 410 + - uid: 1148 components: - type: Transform - anchored: False - rot: -1.5707963267949 rad - pos: 9.5,-7.5 + pos: 20.5,2.5 parent: 179 - - uid: 411 + - uid: 1149 components: - type: Transform - anchored: False - rot: -1.5707963267949 rad - pos: 9.5,-8.5 + pos: 21.5,2.5 parent: 179 - - uid: 412 + - uid: 1150 components: - type: Transform - anchored: False - rot: -1.5707963267949 rad - pos: 9.5,-9.5 + pos: 22.5,2.5 parent: 179 - - uid: 413 + - uid: 1151 components: - type: Transform - anchored: False - rot: -1.5707963267949 rad - pos: 9.5,-10.5 + pos: 23.5,2.5 parent: 179 - - uid: 414 + - uid: 1152 components: - type: Transform - anchored: False - rot: -1.5707963267949 rad - pos: 9.5,-11.5 + pos: 24.5,2.5 parent: 179 - - uid: 415 + - uid: 1153 components: - type: Transform - anchored: False - rot: -1.5707963267949 rad - pos: 8.5,-8.5 + pos: 25.5,2.5 parent: 179 - - uid: 438 + - uid: 1154 components: - type: Transform - rot: 3.141592653589793 rad - pos: -9.5,-0.5 + pos: 26.5,2.5 parent: 179 - - uid: 442 + - uid: 1155 components: - type: Transform - pos: -9.5,8.5 + pos: 27.5,2.5 parent: 179 - - uid: 514 + - uid: 1156 components: - type: Transform - pos: -10.5,8.5 + pos: 28.5,2.5 parent: 179 - - uid: 541 + - uid: 1157 components: - type: Transform - pos: -11.5,-6.5 + pos: 26.5,3.5 parent: 179 - - uid: 542 + - uid: 1158 components: - type: Transform - pos: -9.5,-6.5 + pos: 26.5,4.5 parent: 179 - - uid: 695 + - uid: 1159 components: - type: Transform - rot: 3.141592653589793 rad - pos: -8.5,8.5 + pos: 26.5,5.5 parent: 179 -- proto: Chair - entities: - - uid: 580 + - uid: 1160 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 14.5,6.5 + pos: 26.5,6.5 parent: 179 - - uid: 581 + - uid: 1161 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 14.5,8.5 + pos: 26.5,7.5 parent: 179 - - uid: 582 + - uid: 1162 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 14.5,7.5 + pos: 26.5,8.5 parent: 179 -- proto: ChairOfficeDark - entities: - - uid: 380 + - uid: 1163 components: - type: Transform - rot: 3.1415926535897967 rad - pos: 0.5,-6.5 + pos: 26.5,9.5 parent: 179 -- proto: ChairOfficeLight - entities: - - uid: 576 + - uid: 1164 components: - type: Transform - rot: 4.71238898038469 rad - pos: 19.5,4.5 + pos: 25.5,9.5 parent: 179 - - uid: 577 + - uid: 1165 components: - type: Transform - rot: 3.141592653589793 rad - pos: 20.5,5.5 + pos: 24.5,9.5 parent: 179 - - uid: 578 + - uid: 1166 components: - type: Transform - rot: 4.71238898038469 rad - pos: 23.5,8.5 + pos: 16.5,19.5 parent: 179 - - uid: 579 + - uid: 1167 components: - type: Transform - pos: 24.5,5.5 + pos: 16.5,18.5 parent: 179 -- proto: ChemDispenser - entities: - - uid: 583 + - uid: 1168 components: - type: Transform - pos: 23.5,9.5 + pos: 16.5,17.5 parent: 179 - - type: ContainerContainer - containers: - ReagentDispenser-beaker: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - beakerSlot: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - - uid: 750 + - uid: 1169 components: - type: Transform - pos: 7.5,11.5 + pos: 16.5,16.5 parent: 179 -- proto: ChemicalPayload - entities: - - uid: 432 + - uid: 1170 components: - type: Transform - pos: 6.4651074,9.828774 + pos: 16.5,15.5 parent: 179 -- proto: ChemMaster - entities: - - uid: 311 + - uid: 1171 components: - type: Transform - pos: 8.5,11.5 + pos: 16.5,14.5 parent: 179 -- proto: ChemMasterMachineCircuitboard - entities: - - uid: 718 + - uid: 1177 components: - type: Transform - pos: -4.5458,10.514079 + pos: 8.5,22.5 parent: 179 -- proto: CircuitImprinter - entities: - - uid: 332 + - uid: 1178 components: - type: Transform - pos: -6.5,4.5 + pos: 8.5,23.5 parent: 179 -- proto: ClosetEmergencyFilledRandom - entities: - - uid: 319 + - uid: 1179 components: - type: Transform - pos: 1.5,-10.5 + pos: 8.5,24.5 parent: 179 - - type: EntityStorage - air: - volume: 200 - immutable: False - temperature: 293.14957 - moles: - - 2.9923203 - - 11.2568245 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - uid: 322 + - uid: 1180 components: - type: Transform - pos: 0.5,-10.5 + pos: 8.5,25.5 parent: 179 - - type: EntityStorage - air: - volume: 200 - immutable: False - temperature: 293.14957 - moles: - - 2.9923203 - - 11.2568245 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 -- proto: ClosetToolFilled - entities: - - uid: 524 + - uid: 1277 components: - type: Transform - pos: -11.5,-5.5 + pos: 4.5,-10.5 parent: 179 - - type: EntityStorage - air: - volume: 200 - immutable: False - temperature: 293.14957 - moles: - - 2.9923203 - - 11.2568245 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - uid: 525 + - uid: 1282 components: - type: Transform - pos: -11.5,-4.5 + pos: 4.5,-11.5 parent: 179 - - type: EntityStorage - air: - volume: 200 - immutable: False - temperature: 293.14957 - moles: - - 2.9923203 - - 11.2568245 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - uid: 526 + - uid: 1289 components: - type: Transform - pos: -11.5,-3.5 + pos: 5.5,-9.5 parent: 179 - - type: EntityStorage - air: - volume: 200 - immutable: False - temperature: 293.14957 - moles: - - 2.9923203 - - 11.2568245 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - uid: 527 + - uid: 1292 components: - type: Transform - pos: -11.5,-2.5 + pos: 4.5,-9.5 parent: 179 - - type: EntityStorage - air: - volume: 200 - immutable: False - temperature: 293.14957 - moles: - - 2.9923203 - - 11.2568245 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 -- proto: ClothingBeltUtilityFilled - entities: - - uid: 427 + - uid: 1348 components: - type: Transform - pos: -1.895102,-10.33495 + pos: 6.5,-9.5 parent: 179 - - uid: 428 + - uid: 1349 components: - type: Transform - pos: -1.770102,-10.63182 + pos: 7.5,-9.5 parent: 179 -- proto: ClothingHandsGlovesColorYellow - entities: - - uid: 454 + - uid: 1350 components: - type: Transform - pos: -0.78741443,4.322194 + pos: 9.5,-9.5 parent: 179 -- proto: ClothingHeadHatWelding - entities: - - uid: 344 + - uid: 1351 components: - type: Transform - pos: 0.7198646,4.374314 + pos: 10.5,-9.5 parent: 179 -- proto: ClothingMaskBreath - entities: - - uid: 955 + - uid: 1352 components: - type: Transform - pos: -10.595239,6.1907988 + pos: 11.5,-9.5 parent: 179 -- proto: ClothingMaskGas - entities: - - uid: 425 + - uid: 1353 components: - type: Transform - pos: -0.2880585,-10.69432 + pos: 12.5,-9.5 parent: 179 -- proto: ClothingOuterHardsuitAtmos - entities: - - uid: 270 + - uid: 1354 components: - type: Transform - pos: -10.5426235,5.472399 + pos: 13.5,-9.5 parent: 179 -- proto: ClothingOuterVest - entities: - - uid: 426 + - uid: 1355 components: - type: Transform - pos: -0.9130585,-10.66307 + pos: 14.5,-9.5 parent: 179 -- proto: ClothingShoesBootsMag - entities: - - uid: 725 + - uid: 1356 components: - type: Transform - pos: 0.47880077,8.073378 + pos: 15.5,-9.5 parent: 179 -- proto: ClothingUniformJumpsuitEngineering - entities: - - uid: 424 + - uid: 1357 components: - type: Transform - pos: -0.6474335,-10.27245 + pos: 16.5,-9.5 parent: 179 -- proto: ClownPDA - entities: - - uid: 91 + - uid: 1358 components: - type: Transform - pos: -15.5,2.5 + pos: 17.5,-9.5 parent: 179 - - uid: 762 + - uid: 1359 components: - type: Transform - pos: -14.5,1.5 + pos: 18.5,-9.5 parent: 179 - - uid: 864 + - uid: 1360 components: - type: Transform - pos: -14.5,2.5 + pos: 19.5,-9.5 parent: 179 - - uid: 912 + - uid: 1361 components: - type: Transform - pos: -15.5,1.5 + pos: 20.5,-9.5 parent: 179 -- proto: ComputerAnalysisConsole - entities: - - uid: 1083 + - uid: 1362 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 15.5,23.5 + pos: 21.5,-9.5 parent: 179 - - type: DeviceLinkSource - linkedPorts: - 1078: - - ArtifactAnalyzerSender: ArtifactAnalyzerReceiver -- proto: ComputerCargoOrders - entities: - - uid: 326 + - uid: 1363 components: - type: Transform - pos: 0.5,-5.5 + pos: 8.5,-9.5 parent: 179 - - uid: 996 + - uid: 1364 components: - type: Transform - pos: -1.5,-11.5 + pos: 11.5,-8.5 parent: 179 -- proto: ComputerCargoShuttle - entities: - - uid: 995 + - uid: 1365 components: - type: Transform - pos: 0.5,-11.5 + pos: 11.5,-7.5 parent: 179 -- proto: ComputerMedicalRecords - entities: - - uid: 152 + - uid: 1366 components: - type: Transform - rot: 3.141592653589793 rad - pos: 22.5,-5.5 + pos: 11.5,-5.5 parent: 179 - - uid: 591 + - uid: 1367 components: - type: Transform - pos: 21.5,5.5 + pos: 11.5,-4.5 parent: 179 -- proto: ComputerResearchAndDevelopment - entities: - - uid: 88 + - uid: 1368 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 8.5,19.5 + pos: 11.5,-6.5 parent: 179 -- proto: ComputerShuttleCargo - entities: - - uid: 994 + - uid: 1369 components: - type: Transform - pos: -0.5,-11.5 + pos: 11.5,-3.5 parent: 179 -- proto: ComputerSurveillanceCameraMonitor - entities: - - uid: 1185 + - uid: 1370 components: - type: Transform - rot: 3.141592653589793 rad - pos: -8.5,1.5 + pos: 9.5,-16.5 parent: 179 -- proto: ComputerTechnologyDiskTerminal - entities: - - uid: 1088 + - uid: 1371 components: - type: Transform - pos: 13.5,16.5 + pos: 9.5,-22.5 parent: 179 -- proto: ConveyorBelt - entities: - - uid: 195 + - uid: 1372 components: - type: Transform - pos: -2.5,-15.5 + pos: 9.5,-21.5 parent: 179 - - uid: 259 + - uid: 1373 components: - type: Transform - rot: 3.141592653589793 rad - pos: 1.5,-14.5 + pos: 9.5,-10.5 parent: 179 - - uid: 463 + - uid: 1374 components: - type: Transform - rot: 3.141592653589793 rad - pos: 1.5,-16.5 + pos: 9.5,-20.5 parent: 179 - - uid: 677 + - uid: 1375 components: - type: Transform - pos: -2.5,-14.5 + pos: 9.5,-19.5 parent: 179 - - uid: 716 + - uid: 1376 components: - type: Transform - rot: -1.5707963267948966 rad - pos: -1.5,11.5 + pos: 9.5,-18.5 parent: 179 - - uid: 720 + - uid: 1377 components: - type: Transform - rot: -1.5707963267948966 rad - pos: -0.5,11.5 + pos: 9.5,-17.5 parent: 179 - - uid: 721 + - uid: 1378 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 0.5,11.5 + pos: 9.5,-15.5 parent: 179 - - uid: 985 + - uid: 1379 components: - type: Transform - rot: 3.141592653589793 rad - pos: 1.5,-13.5 + pos: 9.5,-11.5 parent: 179 - - uid: 989 + - uid: 1380 components: - type: Transform - rot: 3.141592653589793 rad - pos: 1.5,-15.5 + pos: 9.5,-14.5 parent: 179 - - uid: 990 + - uid: 1381 components: - type: Transform - pos: -2.5,-13.5 + pos: 9.5,-13.5 parent: 179 - - uid: 991 + - uid: 1382 components: - type: Transform - pos: -2.5,-16.5 + pos: 9.5,-12.5 parent: 179 -- proto: CrateEngineeringToolbox - entities: - - uid: 692 + - uid: 1383 components: - type: Transform - pos: -0.5,3.5 + pos: 10.5,-14.5 parent: 179 - - type: EntityStorage - air: - volume: 200 - immutable: False - temperature: 293.14957 - moles: - - 2.9923203 - - 11.2568245 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 -- proto: CrateGeneric - entities: - - uid: 266 + - uid: 1384 components: - type: Transform - pos: 5.5,-6.5 + pos: 11.5,-14.5 parent: 179 - - type: EntityStorage - air: - volume: 200 - immutable: False - temperature: 293.14957 - moles: - - 2.9923203 - - 11.2568245 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 -- proto: CrateHydroponicsSeeds - entities: - - uid: 754 + - uid: 1389 components: - type: Transform - pos: 2.5,12.5 + pos: 16.5,-14.5 parent: 179 - - type: EntityStorage - air: - volume: 200 - immutable: False - temperature: 293.14957 - moles: - - 2.9923203 - - 11.2568245 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 -- proto: CrateHydroponicsTools - entities: - - uid: 755 + - uid: 1390 components: - type: Transform - pos: 2.5,13.5 + pos: 17.5,-14.5 parent: 179 - - type: EntityStorage - air: - volume: 200 - immutable: False - temperature: 293.14957 - moles: - - 2.9923203 - - 11.2568245 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 -- proto: CrateMedical - entities: - - uid: 131 + - uid: 1391 components: - type: Transform - pos: 31.5,-1.5 + pos: 19.5,-14.5 parent: 179 - - type: EntityStorage - air: - volume: 200 - immutable: False - temperature: 293.14957 - moles: - - 2.9923203 - - 11.2568245 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - uid: 132 + - uid: 1392 components: - type: Transform - pos: 32.5,-1.5 + pos: 20.5,-14.5 parent: 179 - - type: EntityStorage - air: - volume: 200 - immutable: False - temperature: 293.14957 - moles: - - 2.9923203 - - 11.2568245 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 -- proto: CrewMonitoringServer - entities: - - uid: 1183 + - uid: 1393 components: - type: Transform - pos: 9.5,25.5 + pos: 21.5,-14.5 parent: 179 -- proto: Crowbar - entities: - - uid: 147 + - uid: 1394 components: - type: Transform - pos: -2.172831,4.5306726 + pos: 22.5,-14.5 parent: 179 - - uid: 423 + - uid: 1395 components: - type: Transform - pos: -2.861032,-5.524786 + pos: 18.5,-14.5 parent: 179 -- proto: DebugBatteryDischarger - entities: - - uid: 711 + - uid: 1396 components: - type: Transform - pos: 0.5,-3.5 + pos: 22.5,-9.5 parent: 179 -- proto: DefaultStationBeaconAISatellite - entities: - - uid: 1198 + - uid: 1397 components: - type: Transform - pos: 11.5,-14.5 + pos: 10.5,-19.5 parent: 179 -- proto: DefaultStationBeaconBotany - entities: - - uid: 1193 + - uid: 1398 components: - type: Transform - pos: 3.5,15.5 + pos: 11.5,-19.5 parent: 179 -- proto: DefaultStationBeaconChemistry - entities: - - uid: 1195 + - uid: 1399 components: - type: Transform - pos: 7.5,10.5 + pos: 12.5,-19.5 parent: 179 -- proto: DefaultStationBeaconCommand - entities: - - uid: 1196 + - uid: 1400 components: - type: Transform - pos: 0.5,8.5 + pos: 13.5,-19.5 parent: 179 -- proto: DefaultStationBeaconGravGen - entities: - - uid: 1172 + - uid: 1401 components: - type: Transform - pos: 6.5,5.5 + pos: 14.5,-19.5 parent: 179 -- proto: DefaultStationBeaconMedical - entities: - - uid: 1173 + - uid: 1402 components: - type: Transform - pos: 19.5,5.5 + pos: 15.5,-19.5 parent: 179 -- proto: DefaultStationBeaconScience - entities: - - uid: 1194 + - uid: 1403 components: - type: Transform - pos: 12.5,20.5 + pos: 17.5,-19.5 parent: 179 -- proto: DefaultStationBeaconSecurity - entities: - - uid: 1197 + - uid: 1404 components: - type: Transform - pos: -14.5,17.5 + pos: 18.5,-19.5 parent: 179 -- proto: DefaultStationBeaconSupply - entities: - - uid: 1175 + - uid: 1405 components: - type: Transform - pos: -0.5,-11.5 + pos: 19.5,-19.5 parent: 179 -- proto: DefaultStationBeaconToolRoom - entities: - - uid: 1174 + - uid: 1406 components: - type: Transform - pos: -1.5,4.5 + pos: 20.5,-19.5 parent: 179 -- proto: DisposalPipe - entities: - - uid: 717 + - uid: 1407 components: - type: Transform - rot: 1.5707963267948966 rad - pos: -0.5,10.5 + pos: 21.5,-19.5 parent: 179 -- proto: DisposalTrunk - entities: - - uid: 285 + - uid: 1408 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 0.5,10.5 + pos: 22.5,-19.5 parent: 179 - - uid: 715 + - uid: 1409 components: - type: Transform - rot: 1.5707963267948966 rad - pos: -1.5,10.5 + pos: 16.5,-19.5 parent: 179 -- proto: DisposalUnit - entities: - - uid: 719 + - uid: 1410 components: - type: Transform - pos: -1.5,10.5 + pos: 9.5,-23.5 parent: 179 -- proto: DrinkBeerglass - entities: - - uid: 688 + - uid: 1411 components: - type: Transform - pos: 3.1981986,5.733985 + pos: 9.5,-24.5 parent: 179 -- proto: DrinkColaCan - entities: - - uid: 690 + - uid: 1412 components: - type: Transform - pos: 3.8231986,6.150942 + pos: 10.5,-24.5 parent: 179 -- proto: Dropper - entities: - - uid: 730 + - uid: 1413 components: - type: Transform - pos: 5.892191,9.4118185 + pos: 11.5,-24.5 parent: 179 -- proto: EmergencyOxygenTankFilled - entities: - - uid: 956 + - uid: 1414 components: - type: Transform - pos: -10.505015,6.711994 + pos: 12.5,-24.5 parent: 179 -- proto: ExGrenade - entities: - - uid: 433 + - uid: 1415 components: - type: Transform - pos: -3.7704864,-1.6163371 + pos: 13.5,-24.5 parent: 179 -- proto: ExplosivePayload - entities: - - uid: 668 + - uid: 1416 components: - type: Transform - pos: 6.829691,9.4118185 + pos: 14.5,-24.5 parent: 179 -- proto: FaxMachineCaptain - entities: - - uid: 967 + - uid: 1417 components: - type: Transform - pos: 9.5,12.5 + pos: 15.5,-24.5 parent: 179 -- proto: FaxMachineCentcom - entities: - - uid: 968 + - uid: 1418 components: - type: Transform - pos: 11.5,12.5 + pos: 16.5,-24.5 parent: 179 -- proto: FaxMachineSyndie - entities: - - uid: 969 + - uid: 1419 components: - type: Transform - pos: 13.5,12.5 + pos: 17.5,-24.5 parent: 179 -- proto: FireExtinguisher - entities: - - uid: 323 + - uid: 1420 components: - type: Transform - pos: -1.297692,-5.396082 + pos: 18.5,-24.5 parent: 179 - - uid: 868 + - uid: 1421 components: - type: Transform - pos: -14.5,-1.5 + pos: 19.5,-24.5 parent: 179 -- proto: FlashlightLantern - entities: - - uid: 421 + - uid: 1422 components: - type: Transform - pos: -1.934832,-5.154238 + pos: 20.5,-24.5 parent: 179 - - uid: 422 + - uid: 1423 components: - type: Transform - pos: 1.1350493,8.198464 + pos: 21.5,-24.5 parent: 179 -- proto: FloorLavaEntity - entities: - - uid: 134 + - uid: 1424 components: - type: Transform - pos: -13.5,-3.5 + pos: 22.5,-24.5 parent: 179 - - uid: 135 + - uid: 1502 components: - type: Transform - pos: -14.5,-3.5 + pos: 13.5,-14.5 parent: 179 - - uid: 141 + - uid: 1503 components: - type: Transform - pos: -13.5,-2.5 + pos: 12.5,-14.5 parent: 179 - - uid: 469 + - uid: 1504 components: - type: Transform - pos: -14.5,-2.5 + pos: 14.5,-14.5 parent: 179 -- proto: FloorWaterEntity - entities: - - uid: 136 + - uid: 1554 components: - type: Transform - pos: -12.5,-2.5 + pos: 15.5,-14.5 parent: 179 - - uid: 137 +- proto: CableApcStack + entities: + - uid: 70 components: - type: Transform - pos: -12.5,-3.5 + pos: 10.577456,21.424059 parent: 179 -- proto: FoodApple - entities: - - uid: 16 + - uid: 183 components: - type: Transform - pos: 3.9853282,16.430082 + pos: -6.6863613,7.351646 parent: 179 - - uid: 849 + - uid: 351 components: - type: Transform - pos: 3.7249117,16.242453 + pos: 10.561831,21.767809 parent: 179 - - uid: 866 + - uid: 537 components: - type: Transform - pos: 3.651995,16.55517 + pos: -15.5,-0.5 parent: 179 -- proto: FoodBurgerBacon - entities: - - uid: 689 + - uid: 538 components: - type: Transform - pos: 3.3844857,6.0702233 + pos: -15.5,-0.5 parent: 179 -- proto: FoodCarrot +- proto: CableHV entities: - - uid: 850 + - uid: 1019 components: - type: Transform - pos: 3.6023045,15.67151 + pos: -6.5,-13.5 parent: 179 - - uid: 851 + - uid: 1020 components: - type: Transform - pos: 3.620745,15.015423 + pos: -6.5,-12.5 parent: 179 - - uid: 863 + - uid: 1021 components: - type: Transform - pos: 3.620745,14.389988 + pos: -6.5,-11.5 parent: 179 -- proto: FoodPizzaPineapple +- proto: CableHVStack entities: - - uid: 687 + - uid: 184 components: - type: Transform - pos: 3.5215416,6.799056 + pos: -6.665528,7.840053 parent: 179 -- proto: GasAnalyzer +- proto: CableMV entities: - - uid: 876 + - uid: 1023 components: - type: Transform - pos: 4.4732866,-0.48882532 + pos: -6.5,-13.5 parent: 179 -- proto: GasFilter - entities: - - uid: 480 + - uid: 1024 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 3.5,-3.5 + pos: -5.5,-13.5 parent: 179 -- proto: GasMixer - entities: - - uid: 747 + - uid: 1025 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 3.5,-2.5 + pos: -5.5,-14.5 parent: 179 -- proto: GasOutletInjector +- proto: CableMVStack entities: - - uid: 429 + - uid: 325 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 6.5,-1.5 + pos: -6.665528,7.5601244 parent: 179 -- proto: GasPipeBend +- proto: CableTerminal entities: - - uid: 727 + - uid: 1022 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 5.5,-0.5 + pos: -6.5,-11.5 parent: 179 -- proto: GasPipeFourway +- proto: CapacitorStockPart entities: - - uid: 728 + - uid: 296 components: - type: Transform - pos: 5.5,-1.5 + pos: -4.3012447,8.817795 parent: 179 -- proto: GasPipeStraight - entities: - - uid: 749 + - uid: 700 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 5.5,-3.5 + pos: -3.8324947,8.786524 parent: 179 -- proto: GasPipeTJunction - entities: - - uid: 748 + - uid: 701 components: - type: Transform - pos: 5.5,-2.5 + pos: -3.2804112,8.786524 parent: 179 -- proto: GasPort - entities: - - uid: 457 + - uid: 704 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 6.5,-0.5 + pos: -4.8741612,8.817795 parent: 179 -- proto: GasPressurePump +- proto: CaptainIDCard entities: - - uid: 171 + - uid: 726 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,-3.5 + pos: 1.0820513,8.752605 parent: 179 -- proto: GasValve +- proto: CaptainSabre entities: - - uid: 168 + - uid: 381 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,-2.5 + pos: -3.277628,-2.15838 parent: 179 -- proto: GasVentPump +- proto: CarbonDioxideCanister entities: - - uid: 729 + - uid: 748 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 6.5,-3.5 + pos: 13.5,-4.5 parent: 179 -- proto: GasVentScrubber - entities: - - uid: 452 + - uid: 749 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 6.5,-2.5 + pos: 12.5,-4.5 parent: 179 -- proto: GasVolumePump - entities: - - uid: 160 + - uid: 1316 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,-1.5 + pos: 24.5,-21.5 parent: 179 -- proto: GeigerCounter +- proto: Catwalk entities: - - uid: 759 + - uid: 2 components: - type: Transform - pos: 1.760596,4.5697265 + pos: 13.5,24.5 parent: 179 -- proto: GravityGenerator - entities: - - uid: 744 + - uid: 7 components: - type: Transform - pos: 6.5,6.5 + pos: 6.5,24.5 parent: 179 -- proto: Grille - entities: - - uid: 108 + - uid: 20 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 14.5,23.5 + pos: 6.5,20.5 parent: 179 - - uid: 986 + - uid: 120 components: - type: Transform - pos: -0.5,-16.5 + rot: -1.5707963267948966 rad + pos: 6.5,18.5 parent: 179 - - uid: 987 + - uid: 246 components: - type: Transform - pos: -0.5,-15.5 + pos: -6.5,-6.5 parent: 179 - - uid: 988 + - uid: 247 components: - type: Transform - pos: -0.5,-14.5 + pos: -8.5,-6.5 parent: 179 - - uid: 1007 + - uid: 252 components: - type: Transform - pos: -3.5,-16.5 + pos: 4.5,-8.5 parent: 179 - - uid: 1008 + - uid: 269 components: - type: Transform - pos: -3.5,-15.5 + pos: 12.5,10.5 parent: 179 - - uid: 1009 + - uid: 286 components: - type: Transform - pos: -3.5,-14.5 + pos: 2.5,-11.5 parent: 179 - - uid: 1010 + - uid: 287 components: - type: Transform - pos: 2.5,-16.5 + pos: -4.5,-11.5 parent: 179 - - uid: 1011 + - uid: 308 components: - type: Transform - pos: 2.5,-15.5 + pos: -2.5,-12.5 parent: 179 - - uid: 1012 + - uid: 309 components: - type: Transform - pos: 2.5,-14.5 + pos: 1.5,-12.5 parent: 179 - - uid: 1089 + - uid: 333 components: - type: Transform - pos: 8.5,17.5 + pos: 4.5,-13.5 parent: 179 - - uid: 1090 + - uid: 334 components: - type: Transform - pos: 9.5,17.5 + pos: -5.5,-13.5 parent: 179 - - uid: 1091 + - uid: 438 components: - type: Transform - pos: 10.5,17.5 + rot: 3.141592653589793 rad + pos: -9.5,-0.5 parent: 179 - - uid: 1092 + - uid: 442 components: - type: Transform - pos: 10.5,16.5 + pos: -9.5,8.5 parent: 179 -- proto: Handcuffs - entities: - - uid: 331 + - uid: 514 components: - type: Transform - pos: -3.5805476,0.74100244 + pos: -10.5,8.5 parent: 179 -- proto: HandheldHealthAnalyzer - entities: - - uid: 513 + - uid: 541 components: - type: Transform - pos: -5.9808183,-3.6614444 + pos: -11.5,-6.5 parent: 179 -- proto: HoloFan - entities: - - uid: 142 + - uid: 542 components: - type: Transform - pos: -8.5,7.5 + pos: -9.5,-6.5 parent: 179 - missingComponents: - - TimedDespawn - - uid: 901 + - uid: 695 components: - type: Transform - pos: -10.5,7.5 + rot: 3.141592653589793 rad + pos: -8.5,8.5 parent: 179 - missingComponents: - - TimedDespawn - - uid: 902 +- proto: Chair + entities: + - uid: 580 components: - type: Transform - pos: -9.5,7.5 + rot: 1.5707963267948966 rad + pos: 14.5,6.5 parent: 179 - missingComponents: - - TimedDespawn -- proto: HolosignWetFloor - entities: - - uid: 848 + - uid: 581 components: - type: Transform - pos: -13.5,2.5 + rot: 1.5707963267948966 rad + pos: 14.5,8.5 parent: 179 - - type: Fixtures - fixtures: {} - missingComponents: - - TimedDespawn - - uid: 911 + - uid: 582 components: - type: Transform - pos: -13.5,1.5 + rot: 1.5707963267948966 rad + pos: 14.5,7.5 parent: 179 - - type: Fixtures - fixtures: {} - missingComponents: - - TimedDespawn -- proto: hydroponicsTray +- proto: ChairOfficeDark entities: - - uid: 756 + - uid: 380 components: - type: Transform - pos: 2.5,14.5 + rot: 3.1415926535897967 rad + pos: 0.5,-6.5 parent: 179 - - uid: 757 +- proto: ChairOfficeLight + entities: + - uid: 576 components: - type: Transform - pos: 2.5,15.5 + rot: 4.71238898038469 rad + pos: 19.5,4.5 parent: 179 -- proto: KitchenReagentGrinder - entities: - - uid: 731 + - uid: 577 components: - type: Transform - pos: 8.5,9.5 + rot: 3.141592653589793 rad + pos: 20.5,5.5 parent: 179 -- proto: LargeBeaker - entities: - - uid: 210 + - uid: 578 components: - type: Transform - pos: 4.3272614,9.338851 + rot: 4.71238898038469 rad + pos: 23.5,8.5 parent: 179 - - uid: 253 + - uid: 579 components: - type: Transform - pos: 23.494947,7.0422435 + pos: 24.5,5.5 parent: 179 - - uid: 402 +- proto: ChemDispenser + entities: + - uid: 583 components: - type: Transform - pos: 23.510572,7.7141185 + pos: 23.5,9.5 parent: 179 - - uid: 737 + - type: ContainerContainer + containers: + ReagentDispenser-beaker: !type:ContainerSlot + showEnts: False + occludes: True + ent: null + machine_board: !type:Container + showEnts: False + occludes: True + ents: [] + machine_parts: !type:Container + showEnts: False + occludes: True + ents: [] + beakerSlot: !type:ContainerSlot + showEnts: False + occludes: True + ent: null + - uid: 750 components: - type: Transform - pos: 4.2969,9.828774 + pos: 7.5,11.5 parent: 179 -- proto: LedLightTube +- proto: ChemicalPayload entities: - - uid: 481 + - uid: 432 components: - type: Transform - pos: -3.511025,-10.35149 + pos: 6.4651074,9.828774 parent: 179 -- proto: LockerBotanistFilled +- proto: ChemMaster entities: - - uid: 869 + - uid: 311 components: - type: Transform - pos: 2.5,16.5 + pos: 8.5,11.5 parent: 179 - - type: EntityStorage - air: - volume: 200 - immutable: False - temperature: 293.14957 - moles: - - 2.9923203 - - 11.2568245 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 -- proto: LockerChemistry +- proto: ChemMasterMachineCircuitboard entities: - - uid: 127 + - uid: 718 components: - type: Transform - pos: 27.5,6.5 + pos: -4.5458,10.514079 parent: 179 - - type: EntityStorage - air: - volume: 200 - immutable: False - temperature: 293.14957 - moles: - - 2.9923203 - - 11.2568245 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 -- proto: LockerChemistryFilled +- proto: CircuitImprinter entities: - - uid: 297 + - uid: 332 components: - type: Transform - pos: 7.5,9.5 + pos: -6.5,4.5 parent: 179 - - type: EntityStorage - air: - volume: 200 - immutable: False - temperature: 293.14957 - moles: - - 2.9923203 - - 11.2568245 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 -- proto: LockerChiefEngineerFilled +- proto: ClosetEmergencyFilledRandom entities: - - uid: 447 + - uid: 349 components: - type: Transform - pos: 7.5,2.5 + pos: 1.5,-10.5 parent: 179 - - type: EntityStorage - air: - volume: 200 - immutable: False - temperature: 293.14957 - moles: - - 2.9923203 - - 11.2568245 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 -- proto: LockerElectricalSuppliesFilled - entities: - - uid: 444 + - uid: 403 components: - type: Transform - pos: 7.5,3.5 + pos: 0.5,-10.5 parent: 179 - - type: EntityStorage - air: - volume: 200 - immutable: False - temperature: 293.14957 - moles: - - 2.9923203 - - 11.2568245 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 -- proto: LockerEngineerFilled +- proto: ClosetToolFilled entities: - - uid: 490 + - uid: 524 components: - type: Transform - pos: 7.5,4.5 + pos: -11.5,-5.5 parent: 179 - type: EntityStorage air: @@ -3965,12 +3593,10 @@ entities: - 0 - 0 - 0 -- proto: LockerMedical - entities: - - uid: 128 + - uid: 525 components: - type: Transform - pos: 27.5,5.5 + pos: -11.5,-4.5 parent: 179 - type: EntityStorage air: @@ -3990,10 +3616,10 @@ entities: - 0 - 0 - 0 - - uid: 129 + - uid: 526 components: - type: Transform - pos: 29.5,-1.5 + pos: -11.5,-3.5 parent: 179 - type: EntityStorage air: @@ -4013,10 +3639,10 @@ entities: - 0 - 0 - 0 - - uid: 130 + - uid: 527 components: - type: Transform - pos: 30.5,-1.5 + pos: -11.5,-2.5 parent: 179 - type: EntityStorage air: @@ -4036,70 +3662,253 @@ entities: - 0 - 0 - 0 -- proto: LockerMedicalFilled +- proto: ClothingBeltChiefEngineerFilled entities: - - uid: 865 + - uid: 1573 components: - type: Transform - pos: -6.5,-3.5 + pos: 1.3037996,-5.2961445 parent: 179 - - type: EntityStorage - air: - volume: 200 - immutable: False - temperature: 293.14957 - moles: - - 2.9923203 - - 11.2568245 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 -- proto: LockerMedicineFilled +- proto: ClothingBeltUtilityFilled entities: - - uid: 562 + - uid: 427 components: - type: Transform - pos: -5.5,-3.5 + pos: -1.895102,-10.33495 parent: 179 - - type: EntityStorage - air: - volume: 200 - immutable: False - temperature: 293.14957 - moles: - - 2.9923203 - - 11.2568245 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 -- proto: LockerSalvageSpecialistFilled + - uid: 428 + components: + - type: Transform + pos: -1.770102,-10.63182 + parent: 179 +- proto: ClothingHandsGlovesColorYellow entities: - - uid: 493 + - uid: 454 components: - type: Transform - pos: -10.5,4.5 + pos: -0.78741443,4.322194 parent: 179 - - type: Lock - locked: False - - type: EntityStorage - air: - volume: 200 - immutable: False - temperature: 293.14957 +- proto: ClothingHeadHatWelding + entities: + - uid: 344 + components: + - type: Transform + pos: 0.7198646,4.374314 + parent: 179 +- proto: ClothingMaskBreath + entities: + - uid: 955 + components: + - type: Transform + pos: -10.595239,6.1907988 + parent: 179 +- proto: ClothingMaskGas + entities: + - uid: 425 + components: + - type: Transform + pos: -0.2880585,-10.69432 + parent: 179 +- proto: ClothingOuterHardsuitAtmos + entities: + - uid: 270 + components: + - type: Transform + pos: -10.5426235,5.472399 + parent: 179 +- proto: ClothingOuterVest + entities: + - uid: 426 + components: + - type: Transform + pos: -0.9130585,-10.66307 + parent: 179 +- proto: ClothingShoesBootsMag + entities: + - uid: 725 + components: + - type: Transform + pos: 0.47880077,8.073378 + parent: 179 +- proto: ClothingUniformJumpsuitEngineering + entities: + - uid: 424 + components: + - type: Transform + pos: -0.6474335,-10.27245 + parent: 179 +- proto: ClownPDA + entities: + - uid: 91 + components: + - type: Transform + pos: -15.5,2.5 + parent: 179 + - uid: 762 + components: + - type: Transform + pos: -14.5,1.5 + parent: 179 + - uid: 864 + components: + - type: Transform + pos: -14.5,2.5 + parent: 179 + - uid: 912 + components: + - type: Transform + pos: -15.5,1.5 + parent: 179 +- proto: ComputerAnalysisConsole + entities: + - uid: 1083 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 15.5,23.5 + parent: 179 + - type: DeviceLinkSource + linkedPorts: + 1078: + - ArtifactAnalyzerSender: ArtifactAnalyzerReceiver +- proto: ComputerCargoOrders + entities: + - uid: 326 + components: + - type: Transform + pos: 0.5,-5.5 + parent: 179 + - uid: 996 + components: + - type: Transform + pos: -1.5,-11.5 + parent: 179 +- proto: ComputerCargoShuttle + entities: + - uid: 404 + components: + - type: Transform + pos: 0.5,-11.5 + parent: 179 +- proto: ComputerMedicalRecords + entities: + - uid: 152 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 22.5,-5.5 + parent: 179 + - uid: 591 + components: + - type: Transform + pos: 21.5,5.5 + parent: 179 +- proto: ComputerResearchAndDevelopment + entities: + - uid: 88 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 8.5,19.5 + parent: 179 +- proto: ComputerShuttleCargo + entities: + - uid: 994 + components: + - type: Transform + pos: -0.5,-11.5 + parent: 179 +- proto: ComputerSurveillanceCameraMonitor + entities: + - uid: 1185 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -8.5,1.5 + parent: 179 +- proto: ComputerTechnologyDiskTerminal + entities: + - uid: 1088 + components: + - type: Transform + pos: 13.5,16.5 + parent: 179 +- proto: ConveyorBelt + entities: + - uid: 195 + components: + - type: Transform + pos: -2.5,-15.5 + parent: 179 + - uid: 259 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 1.5,-14.5 + parent: 179 + - uid: 463 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 1.5,-16.5 + parent: 179 + - uid: 677 + components: + - type: Transform + pos: -2.5,-14.5 + parent: 179 + - uid: 716 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -1.5,11.5 + parent: 179 + - uid: 720 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -0.5,11.5 + parent: 179 + - uid: 721 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 0.5,11.5 + parent: 179 + - uid: 985 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 1.5,-13.5 + parent: 179 + - uid: 989 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 1.5,-15.5 + parent: 179 + - uid: 990 + components: + - type: Transform + pos: -2.5,-13.5 + parent: 179 + - uid: 991 + components: + - type: Transform + pos: -2.5,-16.5 + parent: 179 +- proto: CrateEngineeringToolbox + entities: + - uid: 692 + components: + - type: Transform + pos: -0.5,3.5 + parent: 179 + - type: EntityStorage + air: + volume: 200 + immutable: False + temperature: 293.14957 moles: - 2.9923203 - 11.2568245 @@ -4113,12 +3922,12 @@ entities: - 0 - 0 - 0 -- proto: LockerWeldingSuppliesFilled +- proto: CrateHydroponicsSeeds entities: - - uid: 871 + - uid: 754 components: - type: Transform - pos: 7.5,1.5 + pos: 2.5,12.5 parent: 179 - type: EntityStorage air: @@ -4138,3490 +3947,6113 @@ entities: - 0 - 0 - 0 -- proto: MachineAnomalyGenerator +- proto: CrateHydroponicsTools + entities: + - uid: 755 + components: + - type: Transform + pos: 2.5,13.5 + parent: 179 + - type: EntityStorage + air: + volume: 200 + immutable: False + temperature: 293.14957 + moles: + - 2.9923203 + - 11.2568245 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 +- proto: CrateMaterialSteel + entities: + - uid: 1258 + components: + - type: Transform + pos: 7.5,-11.5 + parent: 179 + - uid: 1293 + components: + - type: Transform + pos: 7.5,-10.5 + parent: 179 +- proto: CrateMedical + entities: + - uid: 131 + components: + - type: Transform + pos: 31.5,-1.5 + parent: 179 + - type: EntityStorage + air: + volume: 200 + immutable: False + temperature: 293.14957 + moles: + - 2.9923203 + - 11.2568245 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - uid: 132 + components: + - type: Transform + pos: 32.5,-1.5 + parent: 179 + - type: EntityStorage + air: + volume: 200 + immutable: False + temperature: 293.14957 + moles: + - 2.9923203 + - 11.2568245 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 +- proto: CrewMonitoringServer + entities: + - uid: 1183 + components: + - type: Transform + pos: 9.5,25.5 + parent: 179 +- proto: Crowbar + entities: + - uid: 147 + components: + - type: Transform + pos: -2.172831,4.5306726 + parent: 179 + - uid: 423 + components: + - type: Transform + pos: -2.861032,-5.524786 + parent: 179 +- proto: DebugBatteryDischarger + entities: + - uid: 711 + components: + - type: Transform + pos: 0.5,-3.5 + parent: 179 +- proto: DebugGenerator + entities: + - uid: 490 + components: + - type: Transform + pos: -6.5,-11.5 + parent: 179 +- proto: DefaultStationBeaconAISatellite + entities: + - uid: 1198 + components: + - type: Transform + pos: 8.5,-10.5 + parent: 179 +- proto: DefaultStationBeaconBotany + entities: + - uid: 1193 + components: + - type: Transform + pos: 3.5,15.5 + parent: 179 +- proto: DefaultStationBeaconChemistry + entities: + - uid: 1195 + components: + - type: Transform + pos: 7.5,10.5 + parent: 179 +- proto: DefaultStationBeaconCommand + entities: + - uid: 1196 + components: + - type: Transform + pos: 0.5,8.5 + parent: 179 +- proto: DefaultStationBeaconGravGen + entities: + - uid: 1172 + components: + - type: Transform + pos: 6.5,5.5 + parent: 179 +- proto: DefaultStationBeaconMedical + entities: + - uid: 1173 + components: + - type: Transform + pos: 19.5,5.5 + parent: 179 +- proto: DefaultStationBeaconScience + entities: + - uid: 1194 + components: + - type: Transform + pos: 12.5,20.5 + parent: 179 +- proto: DefaultStationBeaconSecurity + entities: + - uid: 1197 + components: + - type: Transform + pos: -14.5,17.5 + parent: 179 +- proto: DefaultStationBeaconSupply + entities: + - uid: 1175 + components: + - type: Transform + pos: -0.5,-11.5 + parent: 179 +- proto: DefaultStationBeaconToolRoom + entities: + - uid: 1174 + components: + - type: Transform + pos: -1.5,4.5 + parent: 179 +- proto: DisposalPipe + entities: + - uid: 717 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -0.5,10.5 + parent: 179 +- proto: DisposalTrunk + entities: + - uid: 285 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 0.5,10.5 + parent: 179 + - uid: 715 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -1.5,10.5 + parent: 179 +- proto: DisposalUnit + entities: + - uid: 719 + components: + - type: Transform + pos: -1.5,10.5 + parent: 179 +- proto: DrinkBeerglass + entities: + - uid: 688 + components: + - type: Transform + pos: 3.1981986,5.733985 + parent: 179 +- proto: DrinkColaCan + entities: + - uid: 690 + components: + - type: Transform + pos: 3.8231986,6.150942 + parent: 179 +- proto: Dropper + entities: + - uid: 730 + components: + - type: Transform + pos: 5.892191,9.4118185 + parent: 179 +- proto: EmergencyOxygenTankFilled + entities: + - uid: 956 + components: + - type: Transform + pos: -10.505015,6.711994 + parent: 179 +- proto: ExGrenade + entities: + - uid: 433 + components: + - type: Transform + pos: -3.7704864,-1.6163371 + parent: 179 +- proto: ExplosivePayload + entities: + - uid: 668 + components: + - type: Transform + pos: 6.829691,9.4118185 + parent: 179 +- proto: FaxMachineCaptain + entities: + - uid: 967 + components: + - type: Transform + pos: 9.5,12.5 + parent: 179 +- proto: FaxMachineCentcom + entities: + - uid: 968 + components: + - type: Transform + pos: 11.5,12.5 + parent: 179 +- proto: FaxMachineSyndie + entities: + - uid: 969 + components: + - type: Transform + pos: 13.5,12.5 + parent: 179 +- proto: FireAxeCabinetFilled + entities: + - uid: 1574 + components: + - type: Transform + pos: 8.5,-4.5 + parent: 179 +- proto: FireExtinguisher + entities: + - uid: 323 + components: + - type: Transform + pos: -1.297692,-5.396082 + parent: 179 + - uid: 868 + components: + - type: Transform + pos: -14.5,-1.5 + parent: 179 +- proto: FlashlightLantern + entities: + - uid: 421 + components: + - type: Transform + pos: -1.934832,-5.154238 + parent: 179 + - uid: 422 + components: + - type: Transform + pos: 1.1350493,8.198464 + parent: 179 +- proto: FloorLavaEntity + entities: + - uid: 134 + components: + - type: Transform + pos: -13.5,-3.5 + parent: 179 + - uid: 135 + components: + - type: Transform + pos: -14.5,-3.5 + parent: 179 + - uid: 141 + components: + - type: Transform + pos: -13.5,-2.5 + parent: 179 + - uid: 469 + components: + - type: Transform + pos: -14.5,-2.5 + parent: 179 +- proto: FloorWaterEntity + entities: + - uid: 136 + components: + - type: Transform + pos: -12.5,-2.5 + parent: 179 + - uid: 137 + components: + - type: Transform + pos: -12.5,-3.5 + parent: 179 +- proto: FoodApple + entities: + - uid: 16 + components: + - type: Transform + pos: 3.9853282,16.430082 + parent: 179 + - uid: 849 + components: + - type: Transform + pos: 3.7249117,16.242453 + parent: 179 + - uid: 866 + components: + - type: Transform + pos: 3.651995,16.55517 + parent: 179 +- proto: FoodBurgerBacon + entities: + - uid: 689 + components: + - type: Transform + pos: 3.3844857,6.0702233 + parent: 179 +- proto: FoodCarrot + entities: + - uid: 850 + components: + - type: Transform + pos: 3.6023045,15.67151 + parent: 179 + - uid: 851 + components: + - type: Transform + pos: 3.620745,15.015423 + parent: 179 + - uid: 863 + components: + - type: Transform + pos: 3.620745,14.389988 + parent: 179 +- proto: FoodPizzaPineapple + entities: + - uid: 687 + components: + - type: Transform + pos: 3.5215416,6.799056 + parent: 179 +- proto: FrezonCanister + entities: + - uid: 1308 + components: + - type: Transform + pos: 9.5,-5.5 + parent: 179 + - uid: 1309 + components: + - type: Transform + pos: 10.5,-5.5 + parent: 179 + - uid: 1318 + components: + - type: Transform + pos: 24.5,-15.5 + parent: 179 +- proto: GasAnalyzer + entities: + - uid: 1571 + components: + - type: Transform + pos: 7.3675013,-6.725376 + parent: 179 +- proto: GasMinerAmmonia + entities: + - uid: 1204 + components: + - type: Transform + pos: 23.5,-19.5 + parent: 179 +- proto: GasMinerCarbonDioxide + entities: + - uid: 1205 + components: + - type: Transform + pos: 23.5,-21.5 + parent: 179 +- proto: GasMinerFrezon + entities: + - uid: 1223 + components: + - type: Transform + pos: 23.5,-15.5 + parent: 179 +- proto: GasMinerNitrogenStation + entities: + - uid: 1222 + components: + - type: Transform + pos: 23.5,-9.5 + parent: 179 +- proto: GasMinerNitrousOxide + entities: + - uid: 1225 + components: + - type: Transform + pos: 23.5,-17.5 + parent: 179 +- proto: GasMinerOxygenStation + entities: + - uid: 1199 + components: + - type: Transform + pos: 23.5,-7.5 + parent: 179 +- proto: GasMinerPlasma + entities: + - uid: 1221 + components: + - type: Transform + pos: 23.5,-11.5 + parent: 179 +- proto: GasMinerTritium + entities: + - uid: 1224 + components: + - type: Transform + pos: 23.5,-13.5 + parent: 179 +- proto: GasMinerWaterVapor + entities: + - uid: 1202 + components: + - type: Transform + pos: 23.5,-23.5 + parent: 179 +- proto: GasMixer + entities: + - uid: 1480 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 19.5,-9.5 + parent: 179 + - type: GasMixer + inletTwoConcentration: 0.20999998 + inletOneConcentration: 0.79 +- proto: GasOutletInjector + entities: + - uid: 406 + components: + - type: Transform + pos: 24.5,-21.5 + parent: 179 + - uid: 409 + components: + - type: Transform + pos: 24.5,-17.5 + parent: 179 + - uid: 410 + components: + - type: Transform + pos: 24.5,-23.5 + parent: 179 + - uid: 411 + components: + - type: Transform + pos: 24.5,-15.5 + parent: 179 + - uid: 413 + components: + - type: Transform + pos: 24.5,-11.5 + parent: 179 + - uid: 414 + components: + - type: Transform + pos: 24.5,-19.5 + parent: 179 + - uid: 429 + components: + - type: Transform + pos: 24.5,-7.5 + parent: 179 + - uid: 444 + components: + - type: Transform + pos: 24.5,-9.5 + parent: 179 + - uid: 447 + components: + - type: Transform + pos: 24.5,-13.5 + parent: 179 +- proto: GasPassiveVent + entities: + - uid: 1319 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 22.5,-23.5 + parent: 179 + - uid: 1320 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 22.5,-21.5 + parent: 179 + - uid: 1321 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 22.5,-19.5 + parent: 179 + - uid: 1322 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 22.5,-15.5 + parent: 179 + - uid: 1323 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 22.5,-17.5 + parent: 179 + - uid: 1324 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 22.5,-13.5 + parent: 179 + - uid: 1325 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 22.5,-11.5 + parent: 179 + - uid: 1326 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 22.5,-9.5 + parent: 179 + - uid: 1327 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 22.5,-7.5 + parent: 179 + - uid: 1544 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 17.5,-26.5 + parent: 179 +- proto: GasPipeBend + entities: + - uid: 407 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 24.5,-16.5 + parent: 179 + - uid: 408 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 24.5,-14.5 + parent: 179 + - uid: 412 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 24.5,-8.5 + parent: 179 + - uid: 415 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 24.5,-10.5 + parent: 179 + - uid: 418 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 24.5,-12.5 + parent: 179 + - uid: 1439 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 24.5,-18.5 + parent: 179 + - uid: 1440 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 24.5,-20.5 + parent: 179 + - uid: 1441 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 24.5,-22.5 + parent: 179 + - uid: 1442 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 24.5,-24.5 + parent: 179 + - uid: 1482 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 18.5,-7.5 + parent: 179 + - uid: 1542 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 9.5,-9.5 + parent: 179 +- proto: GasPipeStraight + entities: + - uid: 1443 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 23.5,-24.5 + parent: 179 + - uid: 1444 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 22.5,-24.5 + parent: 179 + - uid: 1445 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 23.5,-22.5 + parent: 179 + - uid: 1446 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 22.5,-22.5 + parent: 179 + - uid: 1447 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 23.5,-20.5 + parent: 179 + - uid: 1448 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 22.5,-20.5 + parent: 179 + - uid: 1449 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 22.5,-18.5 + parent: 179 + - uid: 1450 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 22.5,-16.5 + parent: 179 + - uid: 1451 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 22.5,-14.5 + parent: 179 + - uid: 1452 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 22.5,-12.5 + parent: 179 + - uid: 1453 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 22.5,-10.5 + parent: 179 + - uid: 1454 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 22.5,-8.5 + parent: 179 + - uid: 1455 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 23.5,-8.5 + parent: 179 + - uid: 1456 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 23.5,-10.5 + parent: 179 + - uid: 1457 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 23.5,-12.5 + parent: 179 + - uid: 1458 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 23.5,-14.5 + parent: 179 + - uid: 1460 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 23.5,-16.5 + parent: 179 + - uid: 1461 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 23.5,-18.5 + parent: 179 + - uid: 1483 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 20.5,-7.5 + parent: 179 + - uid: 1484 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 19.5,-8.5 + parent: 179 + - uid: 1485 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 18.5,-8.5 + parent: 179 + - uid: 1486 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 18.5,-9.5 + parent: 179 + - uid: 1487 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 18.5,-9.5 + parent: 179 + - uid: 1522 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 9.5,-21.5 + parent: 179 + - uid: 1523 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 9.5,-20.5 + parent: 179 + - uid: 1524 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 9.5,-19.5 + parent: 179 + - uid: 1525 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 9.5,-18.5 + parent: 179 + - uid: 1526 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 9.5,-17.5 + parent: 179 + - uid: 1527 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 9.5,-16.5 + parent: 179 + - uid: 1528 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 9.5,-15.5 + parent: 179 + - uid: 1529 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 9.5,-14.5 + parent: 179 + - uid: 1530 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 9.5,-12.5 + parent: 179 + - uid: 1531 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 9.5,-13.5 + parent: 179 + - uid: 1532 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 9.5,-10.5 + parent: 179 + - uid: 1533 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 9.5,-11.5 + parent: 179 + - uid: 1534 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 17.5,-9.5 + parent: 179 + - uid: 1535 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 16.5,-9.5 + parent: 179 + - uid: 1536 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 15.5,-9.5 + parent: 179 + - uid: 1537 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 14.5,-9.5 + parent: 179 + - uid: 1538 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 13.5,-9.5 + parent: 179 + - uid: 1539 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 12.5,-9.5 + parent: 179 + - uid: 1540 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 11.5,-9.5 + parent: 179 + - uid: 1541 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 10.5,-9.5 + parent: 179 + - uid: 1546 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 17.5,-25.5 + parent: 179 + - uid: 1547 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 12.5,-22.5 + parent: 179 + - uid: 1548 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 13.5,-22.5 + parent: 179 + - uid: 1549 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 14.5,-22.5 + parent: 179 + - uid: 1550 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 15.5,-22.5 + parent: 179 + - uid: 1551 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 16.5,-22.5 + parent: 179 + - uid: 1552 + components: + - type: Transform + pos: 17.5,-23.5 + parent: 179 +- proto: GasPipeTJunction + entities: + - uid: 1479 + components: + - type: Transform + pos: 20.5,-9.5 + parent: 179 + - uid: 1481 + components: + - type: Transform + pos: 19.5,-7.5 + parent: 179 + - uid: 1553 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 17.5,-22.5 + parent: 179 +- proto: GasPressurePump + entities: + - uid: 1459 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 21.5,-7.5 + parent: 179 + - uid: 1462 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 21.5,-9.5 + parent: 179 + - uid: 1463 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 21.5,-11.5 + parent: 179 + - uid: 1464 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 21.5,-13.5 + parent: 179 + - uid: 1465 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 21.5,-15.5 + parent: 179 + - uid: 1466 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 21.5,-17.5 + parent: 179 + - uid: 1467 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 21.5,-19.5 + parent: 179 + - uid: 1468 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 21.5,-21.5 + parent: 179 + - uid: 1469 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 21.5,-23.5 + parent: 179 + - uid: 1470 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 21.5,-24.5 + parent: 179 + - uid: 1471 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 21.5,-22.5 + parent: 179 + - uid: 1472 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 21.5,-20.5 + parent: 179 + - uid: 1473 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 21.5,-18.5 + parent: 179 + - uid: 1474 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 21.5,-16.5 + parent: 179 + - uid: 1475 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 21.5,-14.5 + parent: 179 + - uid: 1476 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 21.5,-12.5 + parent: 179 + - uid: 1477 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 21.5,-10.5 + parent: 179 + - uid: 1478 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 21.5,-8.5 + parent: 179 +- proto: GasThermoMachineFreezer + entities: + - uid: 480 + components: + - type: Transform + pos: 9.5,-7.5 + parent: 179 + - uid: 616 + components: + - type: Transform + pos: 10.5,-7.5 + parent: 179 +- proto: GasThermoMachineHeater + entities: + - uid: 483 + components: + - type: Transform + pos: 13.5,-7.5 + parent: 179 + - uid: 1568 + components: + - type: Transform + pos: 12.5,-7.5 + parent: 179 +- proto: GasValve + entities: + - uid: 1545 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 17.5,-24.5 + parent: 179 +- proto: GasVentPump + entities: + - uid: 1521 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 9.5,-22.5 + parent: 179 +- proto: GasVentScrubber + entities: + - uid: 1543 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 11.5,-22.5 + parent: 179 +- proto: GeigerCounter + entities: + - uid: 759 + components: + - type: Transform + pos: 1.760596,4.5697265 + parent: 179 +- proto: GravityGenerator + entities: + - uid: 744 + components: + - type: Transform + pos: 6.5,6.5 + parent: 179 +- proto: Grille + entities: + - uid: 108 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 14.5,23.5 + parent: 179 + - uid: 986 + components: + - type: Transform + pos: -0.5,-16.5 + parent: 179 + - uid: 987 + components: + - type: Transform + pos: -0.5,-15.5 + parent: 179 + - uid: 988 + components: + - type: Transform + pos: -0.5,-14.5 + parent: 179 + - uid: 1007 + components: + - type: Transform + pos: -3.5,-16.5 + parent: 179 + - uid: 1008 + components: + - type: Transform + pos: -3.5,-15.5 + parent: 179 + - uid: 1009 + components: + - type: Transform + pos: -3.5,-14.5 + parent: 179 + - uid: 1010 + components: + - type: Transform + pos: 2.5,-16.5 + parent: 179 + - uid: 1011 + components: + - type: Transform + pos: 2.5,-15.5 + parent: 179 + - uid: 1012 + components: + - type: Transform + pos: 2.5,-14.5 + parent: 179 + - uid: 1089 + components: + - type: Transform + pos: 8.5,17.5 + parent: 179 + - uid: 1090 + components: + - type: Transform + pos: 9.5,17.5 + parent: 179 + - uid: 1091 + components: + - type: Transform + pos: 10.5,17.5 + parent: 179 + - uid: 1092 + components: + - type: Transform + pos: 10.5,16.5 + parent: 179 +- proto: Handcuffs + entities: + - uid: 331 + components: + - type: Transform + pos: -3.5805476,0.74100244 + parent: 179 +- proto: HandheldHealthAnalyzer + entities: + - uid: 513 + components: + - type: Transform + pos: -5.9808183,-3.6614444 + parent: 179 +- proto: HoloFan + entities: + - uid: 142 + components: + - type: Transform + pos: -8.5,7.5 + parent: 179 + - type: Fixtures + fixtures: {} + - type: Airtight + noAirWhenFullyAirBlocked: True + missingComponents: + - TimedDespawn + - uid: 901 + components: + - type: Transform + pos: -10.5,7.5 + parent: 179 + - type: Fixtures + fixtures: {} + - type: Airtight + noAirWhenFullyAirBlocked: True + missingComponents: + - TimedDespawn + - uid: 902 + components: + - type: Transform + pos: -9.5,7.5 + parent: 179 + - type: Fixtures + fixtures: {} + - type: Airtight + noAirWhenFullyAirBlocked: True + missingComponents: + - TimedDespawn +- proto: HolofanProjectorEmpty + entities: + - uid: 1569 + components: + - type: Transform + pos: 7.2439203,-7.545966 + parent: 179 +- proto: HolosignWetFloor + entities: + - uid: 848 + components: + - type: Transform + pos: -13.5,2.5 + parent: 179 + - type: Fixtures + fixtures: {} + missingComponents: + - TimedDespawn + - uid: 911 + components: + - type: Transform + pos: -13.5,1.5 + parent: 179 + - type: Fixtures + fixtures: {} + missingComponents: + - TimedDespawn +- proto: hydroponicsTray + entities: + - uid: 756 + components: + - type: Transform + pos: 2.5,14.5 + parent: 179 + - uid: 757 + components: + - type: Transform + pos: 2.5,15.5 + parent: 179 +- proto: Igniter + entities: + - uid: 728 + components: + - type: Transform + pos: 13.546334,-14.688479 + parent: 179 +- proto: KitchenReagentGrinder + entities: + - uid: 731 + components: + - type: Transform + pos: 8.5,9.5 + parent: 179 +- proto: LargeBeaker + entities: + - uid: 210 + components: + - type: Transform + pos: 4.3272614,9.338851 + parent: 179 + - uid: 253 + components: + - type: Transform + pos: 23.494947,7.0422435 + parent: 179 + - uid: 402 + components: + - type: Transform + pos: 23.510572,7.7141185 + parent: 179 + - uid: 737 + components: + - type: Transform + pos: 4.2969,9.828774 + parent: 179 +- proto: LedLightTube + entities: + - uid: 481 + components: + - type: Transform + pos: -3.511025,-10.35149 + parent: 179 +- proto: LockerAtmosphericsFilledHardsuit + entities: + - uid: 1278 + components: + - type: Transform + pos: 7.5,-12.5 + parent: 179 +- proto: LockerBotanistFilled + entities: + - uid: 869 + components: + - type: Transform + pos: 2.5,16.5 + parent: 179 + - type: EntityStorage + air: + volume: 200 + immutable: False + temperature: 293.14957 + moles: + - 2.9923203 + - 11.2568245 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 +- proto: LockerChemistry + entities: + - uid: 127 + components: + - type: Transform + pos: 27.5,6.5 + parent: 179 + - type: EntityStorage + air: + volume: 200 + immutable: False + temperature: 293.14957 + moles: + - 2.9923203 + - 11.2568245 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 +- proto: LockerChemistryFilled + entities: + - uid: 297 + components: + - type: Transform + pos: 7.5,9.5 + parent: 179 + - type: EntityStorage + air: + volume: 200 + immutable: False + temperature: 293.14957 + moles: + - 2.9923203 + - 11.2568245 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 +- proto: LockerChiefEngineerFilledHardsuit + entities: + - uid: 1564 + components: + - type: Transform + pos: 7.5,-13.5 + parent: 179 +- proto: LockerElectricalSuppliesFilled + entities: + - uid: 405 + components: + - type: Transform + pos: 5.5,-6.5 + parent: 179 +- proto: LockerEngineerFilledHardsuit + entities: + - uid: 458 + components: + - type: Transform + pos: 5.5,-5.5 + parent: 179 +- proto: LockerMedical + entities: + - uid: 128 + components: + - type: Transform + pos: 27.5,5.5 + parent: 179 + - type: EntityStorage + air: + volume: 200 + immutable: False + temperature: 293.14957 + moles: + - 2.9923203 + - 11.2568245 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - uid: 129 + components: + - type: Transform + pos: 29.5,-1.5 + parent: 179 + - type: EntityStorage + air: + volume: 200 + immutable: False + temperature: 293.14957 + moles: + - 2.9923203 + - 11.2568245 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - uid: 130 + components: + - type: Transform + pos: 30.5,-1.5 + parent: 179 + - type: EntityStorage + air: + volume: 200 + immutable: False + temperature: 293.14957 + moles: + - 2.9923203 + - 11.2568245 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 +- proto: LockerMedicalFilled + entities: + - uid: 865 + components: + - type: Transform + pos: -6.5,-3.5 + parent: 179 + - type: EntityStorage + air: + volume: 200 + immutable: False + temperature: 293.14957 + moles: + - 2.9923203 + - 11.2568245 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 +- proto: LockerMedicineFilled + entities: + - uid: 562 + components: + - type: Transform + pos: -5.5,-3.5 + parent: 179 + - type: EntityStorage + air: + volume: 200 + immutable: False + temperature: 293.14957 + moles: + - 2.9923203 + - 11.2568245 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 +- proto: LockerSalvageSpecialistFilled + entities: + - uid: 493 + components: + - type: Transform + pos: -10.5,4.5 + parent: 179 + - type: Lock + locked: False + - type: EntityStorage + air: + volume: 200 + immutable: False + temperature: 293.14957 + moles: + - 2.9923203 + - 11.2568245 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 + - 0 +- proto: LockerWeldingSuppliesFilled + entities: + - uid: 457 + components: + - type: Transform + pos: 5.5,-7.5 + parent: 179 +- proto: MachineAnomalyGenerator + entities: + - uid: 1071 + components: + - type: Transform + pos: 16.5,25.5 + parent: 179 +- proto: MachineAnomalyVessel + entities: + - uid: 1087 + components: + - type: Transform + pos: 15.5,19.5 + parent: 179 +- proto: MachineArtifactAnalyzer + entities: + - uid: 1078 + components: + - type: Transform + pos: 12.5,24.5 + parent: 179 +- proto: MachineFrame + entities: + - uid: 533 + components: + - type: Transform + pos: -5.5,10.5 + parent: 179 +- proto: MedicalScanner + entities: + - uid: 592 + components: + - type: Transform + pos: 18.5,-1.5 + parent: 179 + - type: ContainerContainer + containers: + MedicalScanner-bodyContainer: !type:ContainerSlot + showEnts: False + occludes: True + ent: null + machine_board: !type:Container + showEnts: False + occludes: True + ents: [] + machine_parts: !type:Container + showEnts: False + occludes: True + ents: [] + scanner-bodyContainer: !type:ContainerSlot + showEnts: False + occludes: True + ent: null + - uid: 593 + components: + - type: Transform + pos: 18.5,-5.5 + parent: 179 + - type: ContainerContainer + containers: + MedicalScanner-bodyContainer: !type:ContainerSlot + showEnts: False + occludes: True + ent: null + machine_board: !type:Container + showEnts: False + occludes: True + ents: [] + machine_parts: !type:Container + showEnts: False + occludes: True + ents: [] + scanner-bodyContainer: !type:ContainerSlot + showEnts: False + occludes: True + ent: null +- proto: MedkitFilled + entities: + - uid: 153 + components: + - type: Transform + pos: 13.632214,1.5673001 + parent: 179 + - uid: 154 + components: + - type: Transform + pos: 13.460339,0.6141751 + parent: 179 + - uid: 321 + components: + - type: Transform + pos: 3.8440318,4.425983 + parent: 179 +- proto: MicroManipulatorStockPart + entities: + - uid: 455 + components: + - type: Transform + pos: -6.337244,8.838643 + parent: 179 + - uid: 456 + components: + - type: Transform + pos: -5.920577,8.817795 + parent: 179 + - uid: 484 + components: + - type: Transform + pos: -5.5039105,8.838643 + parent: 179 + - uid: 712 + components: + - type: Transform + pos: -6.7434506,8.817795 + parent: 179 + - uid: 959 + components: + - type: Transform + pos: -4.752078,10.904018 + parent: 179 +- proto: ModularGrenade + entities: + - uid: 435 + components: + - type: Transform + pos: 6.829691,9.860046 + parent: 179 +- proto: MopBucket + entities: + - uid: 696 + components: + - type: Transform + pos: 7.5,16.5 + parent: 179 +- proto: MopItem + entities: + - uid: 328 + components: + - type: Transform + pos: 7.6382103,16.08618 + parent: 179 + - type: SolutionContainerManager + solutions: + absorbed: + temperature: 293.15 + canReact: True + maxVol: 50 + name: null + reagents: + - data: null + ReagentId: Water + Quantity: 25 +- proto: Multitool + entities: + - uid: 307 + components: + - type: Transform + pos: -1.249865,-10.43489 + parent: 179 + - uid: 430 + components: + - type: Transform + pos: -0.6298993,4.7431083 + parent: 179 + - type: NetworkConfigurator + devices: + 'UID: 31739': 801 +- proto: NitrogenCanister + entities: + - uid: 871 + components: + - type: Transform + pos: 9.5,-4.5 + parent: 179 + - uid: 876 + components: + - type: Transform + pos: 10.5,-4.5 + parent: 179 + - uid: 1315 + components: + - type: Transform + pos: 24.5,-9.5 + parent: 179 +- proto: NitrousOxideCanister + entities: + - uid: 617 + components: + - type: Transform + pos: 10.5,-3.5 + parent: 179 + - uid: 1302 + components: + - type: Transform + pos: 9.5,-3.5 + parent: 179 + - uid: 1314 + components: + - type: Transform + pos: 24.5,-17.5 + parent: 179 +- proto: Ointment + entities: + - uid: 148 + components: + - type: Transform + pos: 18.77326,6.653532 + parent: 179 + - uid: 149 + components: + - type: Transform + pos: 18.49201,6.059782 + parent: 179 +- proto: OxygenCanister + entities: + - uid: 747 + components: + - type: Transform + pos: 13.5,-3.5 + parent: 179 + - uid: 875 + components: + - type: Transform + pos: 12.5,-3.5 + parent: 179 + - uid: 1310 + components: + - type: Transform + pos: 24.5,-7.5 + parent: 179 +- proto: PaperBin10 + entities: + - uid: 977 + components: + - type: Transform + pos: 10.5,12.5 + parent: 179 +- proto: PartRodMetal + entities: + - uid: 133 + components: + - type: Transform + pos: -3.4717777,7.672426 + parent: 179 +- proto: Pen + entities: + - uid: 978 + components: + - type: Transform + pos: 10.893699,12.7794075 + parent: 179 + - uid: 979 + components: + - type: Transform + pos: 10.862433,12.602201 + parent: 179 +- proto: PlasmaCanister + entities: + - uid: 255 + components: + - type: Transform + pos: 10.5,-2.5 + parent: 179 + - uid: 256 + components: + - type: Transform + pos: 9.5,-2.5 + parent: 179 + - uid: 1311 + components: + - type: Transform + pos: 24.5,-11.5 + parent: 179 +- proto: PlasticFlapsAirtightClear + entities: + - uid: 997 + components: + - type: Transform + pos: -2.5,-16.5 + parent: 179 + - uid: 998 + components: + - type: Transform + pos: -2.5,-14.5 + parent: 179 + - uid: 999 + components: + - type: Transform + pos: 1.5,-16.5 + parent: 179 + - uid: 1000 + components: + - type: Transform + pos: 1.5,-14.5 + parent: 179 +- proto: PlayerStationAi + entities: + - uid: 14 + components: + - type: Transform + pos: -5.5,-5.5 + parent: 179 +- proto: PowerCellAntiqueProto + entities: + - uid: 1570 + components: + - type: Transform + pos: 7.5772533,-7.233466 + parent: 179 +- proto: PowerCellHigh + entities: + - uid: 567 + components: + - type: Transform + pos: -4.76583,8.265328 + parent: 179 +- proto: PowerCellHyper + entities: + - uid: 703 + components: + - type: Transform + pos: -4.3179135,8.275752 + parent: 179 +- proto: PowerCellMedium + entities: + - uid: 186 + components: + - type: Transform + pos: -2.67511,-10.351 + parent: 179 + - uid: 187 + components: + - type: Transform + pos: -2.55011,-10.6635 + parent: 179 + - uid: 360 + components: + - type: Transform + pos: -3.7970803,8.275752 + parent: 179 +- proto: PowerCellRecharger + entities: + - uid: 709 + components: + - type: Transform + pos: -1.5,-3.5 + parent: 179 +- proto: PowerCellSmall + entities: + - uid: 705 + components: + - type: Transform + pos: -3.3182633,8.234056 + parent: 179 +- proto: Poweredlight + entities: + - uid: 93 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 31.5,-5.5 + parent: 179 + - type: ApcPowerReceiver + powerLoad: 0 + - uid: 249 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 16.5,-24.5 + parent: 179 + - uid: 536 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -11.5,-0.5 + parent: 179 + - type: ApcPowerReceiver + powerLoad: 0 + - uid: 546 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 17.5,-5.5 + parent: 179 + - uid: 660 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 29.5,1.5 + parent: 179 + - type: ApcPowerReceiver + powerLoad: 0 + - uid: 661 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 27.5,7.5 + parent: 179 + - type: ApcPowerReceiver + powerLoad: 0 + - uid: 663 + components: + - type: Transform + pos: 22.5,2.5 + parent: 179 + - type: ApcPowerReceiver + powerLoad: 0 + - uid: 666 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 2.5,23.5 + parent: 179 + - type: ApcPowerReceiver + powerLoad: 0 + - uid: 670 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 13.5,18.5 + parent: 179 + - type: ApcPowerReceiver + powerLoad: 0 + - uid: 673 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -11.5,-5.5 + parent: 179 + - type: ApcPowerReceiver + powerLoad: 0 + - uid: 674 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -15.5,-5.5 + parent: 179 + - type: ApcPowerReceiver + powerLoad: 0 + - uid: 675 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -15.5,-0.5 + parent: 179 + - type: ApcPowerReceiver + powerLoad: 0 + - uid: 676 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -6.5,-10.5 + parent: 179 + - type: ApcPowerReceiver + powerLoad: 0 + - uid: 681 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 23.5,-5.5 + parent: 179 + - type: ApcPowerReceiver + powerLoad: 0 + - uid: 682 + components: + - type: Transform + pos: 13.5,2.5 + parent: 179 + - type: ApcPowerReceiver + powerLoad: 0 + - uid: 683 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 17.5,4.5 + parent: 179 + - type: ApcPowerReceiver + powerLoad: 0 + - uid: 1075 + components: + - type: Transform + pos: 16.5,27.5 + parent: 179 + - uid: 1076 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 15.5,22.5 + parent: 179 + - uid: 1425 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 9.5,-3.5 + parent: 179 + - uid: 1426 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 13.5,-3.5 + parent: 179 + - uid: 1427 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 7.5,-7.5 + parent: 179 + - uid: 1428 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 7.5,-14.5 + parent: 179 + - uid: 1429 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 7.5,-18.5 + parent: 179 + - uid: 1430 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 9.5,-24.5 + parent: 179 + - uid: 1431 + components: + - type: Transform + pos: 14.5,-7.5 + parent: 179 + - uid: 1432 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 24.5,-23.5 + parent: 179 + - uid: 1433 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 24.5,-19.5 + parent: 179 + - uid: 1434 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 24.5,-15.5 + parent: 179 + - uid: 1435 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 24.5,-11.5 + parent: 179 + - uid: 1436 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 24.5,-7.5 + parent: 179 + - uid: 1437 + components: + - type: Transform + pos: 19.5,-7.5 + parent: 179 +- proto: PoweredlightExterior + entities: + - uid: 1557 + components: + - type: Transform + pos: 16.5,-26.5 + parent: 179 +- proto: PoweredLightPostSmall + entities: + - uid: 1438 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 15.5,-17.5 + parent: 179 +- proto: PoweredSmallLight + entities: + - uid: 163 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 6.5,26.5 + parent: 179 + - type: ApcPowerReceiver + powerLoad: 0 + - uid: 166 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 11.5,24.5 + parent: 179 + - type: ApcPowerReceiver + powerLoad: 0 + - uid: 167 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 17.5,17.5 + parent: 179 + - type: ApcPowerReceiver + powerLoad: 0 + - uid: 388 + components: + - type: Transform + pos: 0.5,-5.5 + parent: 179 + - type: ApcPowerReceiver + powerLoad: 0 + - uid: 417 + components: + - type: Transform + pos: -4.5,-5.5 + parent: 179 + - type: ApcPowerReceiver + powerLoad: 0 + - uid: 534 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -9.5,-5.5 + parent: 179 + - type: ApcPowerReceiver + powerLoad: 0 + - uid: 727 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 5.5,-10.5 + parent: 179 +- proto: Protolathe + entities: + - uid: 12 + components: + - type: Transform + pos: 13.5,21.5 + parent: 179 + - uid: 384 + components: + - type: Transform + pos: -6.5,6.5 + parent: 179 +- proto: Railing + entities: + - uid: 665 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -15.5,9.5 + parent: 179 + - uid: 927 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -14.5,10.5 + parent: 179 + - uid: 928 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -14.5,11.5 + parent: 179 + - uid: 929 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -14.5,12.5 + parent: 179 + - uid: 930 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -14.5,13.5 + parent: 179 + - uid: 931 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -14.5,14.5 + parent: 179 + - uid: 932 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -14.5,15.5 + parent: 179 + - uid: 933 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -14.5,16.5 + parent: 179 + - uid: 934 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -13.5,17.5 + parent: 179 + - uid: 935 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -12.5,17.5 + parent: 179 + - uid: 936 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -11.5,17.5 + parent: 179 + - uid: 937 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -10.5,17.5 + parent: 179 + - uid: 938 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -9.5,17.5 + parent: 179 + - uid: 939 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -8.5,17.5 + parent: 179 + - uid: 940 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -7.5,17.5 + parent: 179 + - uid: 941 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -6.5,17.5 + parent: 179 + - uid: 942 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -5.5,17.5 + parent: 179 + - uid: 943 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -4.5,17.5 + parent: 179 + - uid: 944 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -3.5,17.5 + parent: 179 + - uid: 945 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -2.5,17.5 + parent: 179 + - uid: 946 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -1.5,17.5 + parent: 179 + - uid: 947 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -0.5,17.5 + parent: 179 + - uid: 948 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 0.5,17.5 + parent: 179 +- proto: RailingCornerSmall + entities: + - uid: 919 + components: + - type: Transform + pos: -14.5,9.5 + parent: 179 +- proto: RCDExperimental + entities: + - uid: 1575 + components: + - type: Transform + pos: 1.6787996,-5.6922684 + parent: 179 +- proto: ReinforcedWindow + entities: + - uid: 1084 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 14.5,23.5 + parent: 179 + - uid: 1093 + components: + - type: Transform + pos: 8.5,17.5 + parent: 179 + - uid: 1094 + components: + - type: Transform + pos: 9.5,17.5 + parent: 179 + - uid: 1095 + components: + - type: Transform + pos: 10.5,17.5 + parent: 179 + - uid: 1096 + components: + - type: Transform + pos: 10.5,16.5 + parent: 179 +- proto: ResearchAndDevelopmentServer + entities: + - uid: 17 + components: + - type: Transform + pos: 8.5,18.5 + parent: 179 +- proto: ResearchDiskDebug + entities: + - uid: 54 + components: + - type: Transform + pos: 9.532393,18.446417 + parent: 179 +- proto: RubberStampCaptain + entities: + - uid: 982 + components: + - type: Transform + pos: 12.800895,12.664745 + parent: 179 +- proto: RubberStampCentcom + entities: + - uid: 980 + components: + - type: Transform + pos: 12.186007,12.716865 + parent: 179 +- proto: RubberStampSyndicate + entities: + - uid: 981 + components: + - type: Transform + pos: 12.436131,12.550082 + parent: 179 +- proto: Screen + entities: + - uid: 1192 + components: + - type: Transform + pos: 4.5,-14.5 + parent: 179 +- proto: Screwdriver + entities: + - uid: 431 + components: + - type: Transform + pos: -1.235331,4.739151 + parent: 179 +- proto: SeedExtractor + entities: + - uid: 65 + components: + - type: Transform + pos: 2.5,17.5 + parent: 179 +- proto: SheetGlass + entities: + - uid: 354 + components: + - type: Transform + pos: 8.57603,21.566113 + parent: 179 + - uid: 479 + components: + - type: Transform + pos: -5.13758,7.5586076 + parent: 179 + - uid: 529 + components: + - type: Transform + pos: -15.5,-3.5 + parent: 179 + - uid: 564 + components: + - type: Transform + pos: -15.5,-1.5 + parent: 179 + - uid: 565 + components: + - type: Transform + pos: -15.5,-1.5 + parent: 179 + - uid: 566 + components: + - type: Transform + pos: -15.5,-3.5 + parent: 179 +- proto: SheetGlass1 + entities: + - uid: 960 + components: + - type: Transform + pos: -3.981244,10.799851 + parent: 179 +- proto: SheetPGlass + entities: + - uid: 416 + components: + - type: Transform + pos: -0.5,8.5 + parent: 179 +- proto: SheetPlasma + entities: + - uid: 1077 + components: + - type: Transform + pos: 17.485096,24.503635 + parent: 179 +- proto: SheetPlasteel + entities: + - uid: 478 + components: + - type: Transform + pos: -4.0129576,7.6107273 + parent: 179 +- proto: SheetPlastic + entities: + - uid: 79 + components: + - type: Transform + pos: 8.951309,21.511908 + parent: 179 + - uid: 181 + components: + - type: Transform + pos: -4.54383,7.579455 + parent: 179 +- proto: SheetRPGlass + entities: + - uid: 182 + components: + - type: Transform + pos: -0.5,7.5 + parent: 179 +- proto: SheetSteel + entities: + - uid: 205 + components: + - type: Transform + pos: -15.5,-5.5 + parent: 179 + - uid: 305 + components: + - type: Transform + pos: 9.435405,21.503613 + parent: 179 + - uid: 382 + components: + - type: Transform + pos: -15.5,-5.5 + parent: 179 + - uid: 473 + components: + - type: Transform + pos: -5.6834707,7.529523 + parent: 179 + - uid: 543 + components: + - type: Transform + pos: -15.5,-4.5 + parent: 179 + - uid: 544 + components: + - type: Transform + pos: -15.5,-4.5 + parent: 179 +- proto: SignalButton + entities: + - uid: 1013 + components: + - type: Transform + pos: -4.5,-14.5 + parent: 179 + - type: DeviceLinkSource + linkedPorts: + 202: + - Pressed: Toggle + 984: + - Pressed: Toggle + - uid: 1014 + components: + - type: Transform + pos: 3.5,-14.5 + parent: 179 + - type: DeviceLinkSource + linkedPorts: + 697: + - Pressed: Toggle + 698: + - Pressed: Toggle + - uid: 1560 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 14.5,-12.5 + parent: 179 + - type: DeviceLinkSource + linkedPorts: + 728: + - Pressed: Trigger +- proto: SignAtmos + entities: + - uid: 1301 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 6.5,-7.5 + parent: 179 + - uid: 1558 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 17.5,-6.5 + parent: 179 +- proto: SignCargoDock + entities: + - uid: 1046 + components: + - type: Transform + pos: 4.5,-4.5 + parent: 179 +- proto: SignCryogenics + entities: + - uid: 1298 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 25.5,-15.5 + parent: 179 +- proto: SignDanger entities: - - uid: 1071 + - uid: 1203 components: - type: Transform - pos: 16.5,25.5 + rot: -1.5707963267948966 rad + pos: 25.5,-19.5 parent: 179 -- proto: MachineAnomalyVessel +- proto: SignFlammable entities: - - uid: 1087 + - uid: 1297 components: - type: Transform - pos: 15.5,19.5 + rot: -1.5707963267948966 rad + pos: 25.5,-13.5 parent: 179 -- proto: MachineArtifactAnalyzer - entities: - - uid: 1078 + - uid: 1299 components: - type: Transform - pos: 12.5,24.5 + rot: -1.5707963267948966 rad + pos: 25.5,-11.5 parent: 179 -- proto: MachineFrame +- proto: SignSpace entities: - - uid: 533 + - uid: 1291 components: - type: Transform - pos: -5.5,10.5 + pos: 6.5,-19.5 parent: 179 -- proto: MedicalScanner + - uid: 1555 + components: + - type: Transform + pos: 6.5,-14.5 + parent: 179 + - uid: 1563 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 19.5,-25.5 + parent: 179 +- proto: SmallLight entities: - - uid: 592 + - uid: 1048 components: - type: Transform - pos: 18.5,-1.5 + rot: 1.5707963267948966 rad + pos: -2.5,-15.5 parent: 179 - - type: ContainerContainer - containers: - MedicalScanner-bodyContainer: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - scanner-bodyContainer: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - - uid: 593 + - uid: 1049 components: - type: Transform - pos: 18.5,-5.5 + rot: -1.5707963267948966 rad + pos: 1.5,-15.5 parent: 179 - - type: ContainerContainer - containers: - MedicalScanner-bodyContainer: !type:ContainerSlot - showEnts: False - occludes: True - ent: null - machine_board: !type:Container - showEnts: False - occludes: True - ents: [] - machine_parts: !type:Container - showEnts: False - occludes: True - ents: [] - scanner-bodyContainer: !type:ContainerSlot - showEnts: False - occludes: True - ent: null -- proto: MedkitFilled +- proto: SMESBasic entities: - - uid: 153 + - uid: 1017 components: - type: Transform - pos: 13.632214,1.5673001 + pos: -6.5,-12.5 parent: 179 - - uid: 154 +- proto: SodaDispenser + entities: + - uid: 751 components: - type: Transform - pos: 13.460339,0.6141751 + pos: 8.5,12.5 parent: 179 - - uid: 321 +- proto: SpawnMobCorgiMouse + entities: + - uid: 1050 components: - type: Transform - pos: 3.8440318,4.425983 + pos: 3.5,8.5 parent: 179 -- proto: MicroManipulatorStockPart +- proto: SpawnMobCrabAtmos entities: - - uid: 455 + - uid: 729 components: - type: Transform - pos: -6.337244,8.838643 + pos: 15.5,-10.5 parent: 179 - - uid: 456 +- proto: SpawnMobHuman + entities: + - uid: 138 components: - type: Transform - pos: -5.920577,8.817795 + pos: -6.5,-0.5 parent: 179 - - uid: 484 + - uid: 139 components: - type: Transform - pos: -5.5039105,8.838643 + pos: -6.5,0.5 parent: 179 - - uid: 712 + - uid: 140 components: - type: Transform - pos: -6.7434506,8.817795 + pos: 3.5,7.5 parent: 179 - - uid: 959 +- proto: SpawnPointCaptain + entities: + - uid: 954 components: - type: Transform - pos: -4.752078,10.904018 + pos: -4.5,4.5 parent: 179 -- proto: ModularGrenade +- proto: SpawnPointLatejoin entities: - - uid: 435 + - uid: 961 components: - type: Transform - pos: 6.829691,9.860046 + pos: -3.5,3.5 parent: 179 -- proto: MopBucket +- proto: SpawnPointObserver entities: - - uid: 696 + - uid: 679 components: - type: Transform - pos: 7.5,16.5 + pos: -3.5,4.5 parent: 179 -- proto: MopItem +- proto: Spear entities: - - uid: 328 + - uid: 185 components: - type: Transform - pos: 7.6382103,16.08618 + pos: -3.4579864,-1.9811735 parent: 179 - - type: SolutionContainerManager - solutions: - absorbed: - temperature: 293.15 - canReact: True - maxVol: 50 - name: null - reagents: - - data: null - ReagentId: Water - Quantity: 25 -- proto: Multitool +- proto: SprayBottleWater entities: - - uid: 307 + - uid: 903 components: - type: Transform - pos: -1.249865,-10.43489 + pos: 6.985283,16.424004 parent: 179 - - uid: 430 +- proto: SprayPainter + entities: + - uid: 1572 components: - type: Transform - pos: -0.6298993,4.7431083 + pos: 7.5948057,-5.356733 parent: 179 - - type: NetworkConfigurator - devices: - 'UID: 31739': 801 -- proto: NitrogenCanister +- proto: Stimpack entities: - - uid: 459 + - uid: 462 components: - type: Transform - pos: 7.5,-1.5 + pos: 3.6877818,5.312015 parent: 179 -- proto: Ointment +- proto: Stool entities: - - uid: 148 + - uid: 383 components: - type: Transform - pos: 18.77326,6.653532 + pos: -1.5,-9.5 parent: 179 - - uid: 149 + - uid: 387 components: - type: Transform - pos: 18.49201,6.059782 + rot: 3.141592653589793 rad + pos: -2.5,-6.5 parent: 179 -- proto: OxygenCanister +- proto: StorageCanister entities: - - uid: 340 + - uid: 1285 components: - type: Transform - pos: 7.5,-3.5 + pos: 10.5,-6.5 parent: 179 -- proto: PaperBin10 + - uid: 1286 + components: + - type: Transform + pos: 9.5,-6.5 + parent: 179 + - uid: 1287 + components: + - type: Transform + pos: 12.5,-6.5 + parent: 179 + - uid: 1288 + components: + - type: Transform + pos: 13.5,-6.5 + parent: 179 +- proto: Stunbaton entities: - - uid: 977 + - uid: 434 components: - type: Transform - pos: 10.5,12.5 + pos: -3.1734612,-2.6066077 parent: 179 -- proto: PartRodMetal +- proto: SubstationBasic entities: - - uid: 133 + - uid: 1018 components: - type: Transform - pos: -3.4717777,7.672426 + pos: -6.5,-13.5 parent: 179 -- proto: Pen +- proto: SurveillanceCameraGeneral entities: - - uid: 978 + - uid: 1186 components: - type: Transform - pos: 10.893699,12.7794075 + rot: 3.141592653589793 rad + pos: -2.5,10.5 parent: 179 - - uid: 979 + - uid: 1188 components: - type: Transform - pos: 10.862433,12.602201 + rot: -1.5707963267948966 rad + pos: 15.5,21.5 parent: 179 -- proto: PlasmaCanister + - uid: 1190 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 27.5,10.5 + parent: 179 +- proto: SurveillanceCameraRouterGeneral entities: - - uid: 461 + - uid: 1189 components: - type: Transform - pos: 7.5,-2.5 + pos: 9.5,24.5 parent: 179 -- proto: PlasticFlapsAirtightClear +- proto: Syringe entities: - - uid: 997 + - uid: 460 components: - type: Transform - pos: -2.5,-16.5 + pos: 3.2502818,4.5823417 parent: 179 - - uid: 998 + - uid: 738 components: - type: Transform - pos: -2.5,-14.5 + pos: 5.767191,9.787079 parent: 179 - - uid: 999 +- proto: Table + entities: + - uid: 63 components: - type: Transform - pos: 1.5,-16.5 + pos: 9.5,21.5 parent: 179 - - uid: 1000 + - uid: 64 components: - type: Transform - pos: 1.5,-14.5 + pos: 10.5,21.5 parent: 179 -- proto: PlayerStationAi - entities: - - uid: 14 + - uid: 67 components: - type: Transform - pos: -5.5,-5.5 + pos: 8.5,21.5 parent: 179 -- proto: PortableGeneratorSuperPacman - entities: - - uid: 1016 + - uid: 76 components: - type: Transform - pos: -6.5,-11.5 + pos: 7.5,-7.5 parent: 179 -- proto: PowerCellHigh - entities: - - uid: 567 + - uid: 92 components: - type: Transform - pos: -4.76583,8.265328 + pos: 11.5,21.5 parent: 179 -- proto: PowerCellHyper - entities: - - uid: 703 + - uid: 143 components: - type: Transform - pos: -4.3179135,8.275752 + pos: 33.5,-3.5 parent: 179 -- proto: PowerCellMedium - entities: - - uid: 186 + - uid: 144 components: - type: Transform - pos: -2.67511,-10.351 + pos: 33.5,-2.5 parent: 179 - - uid: 187 + - uid: 145 components: - type: Transform - pos: -2.55011,-10.6635 + pos: 33.5,-1.5 parent: 179 - - uid: 360 + - uid: 161 components: - type: Transform - pos: -3.7970803,8.275752 + pos: 24.5,-5.5 parent: 179 -- proto: PowerCellRecharger - entities: - - uid: 709 + - uid: 162 components: - type: Transform - pos: -1.5,-3.5 + pos: 23.5,-5.5 parent: 179 -- proto: PowerCellSmall - entities: - - uid: 705 + - uid: 172 components: - type: Transform - pos: -3.3182633,8.234056 + rot: -1.5707963267948966 rad + pos: 4.5,9.5 parent: 179 -- proto: Poweredlight - entities: - - uid: 93 + - uid: 180 components: - type: Transform - rot: 3.141592653589793 rad - pos: 31.5,-5.5 + pos: -4.5,10.5 parent: 179 - - type: ApcPowerReceiver - powerLoad: 0 - - uid: 536 + - uid: 262 components: - type: Transform - rot: -1.5707963267948966 rad - pos: -11.5,-0.5 + pos: -3.5,-5.5 parent: 179 - - type: ApcPowerReceiver - powerLoad: 0 - - uid: 660 + - uid: 263 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 29.5,1.5 + pos: -2.5,-5.5 parent: 179 - - type: ApcPowerReceiver - powerLoad: 0 - - uid: 661 + - uid: 264 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 27.5,7.5 + pos: -1.5,-5.5 parent: 179 - - type: ApcPowerReceiver - powerLoad: 0 - - uid: 663 + - uid: 265 components: - type: Transform - pos: 22.5,2.5 + pos: -0.5,-5.5 parent: 179 - - type: ApcPowerReceiver - powerLoad: 0 - - uid: 666 + - uid: 267 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 2.5,23.5 + pos: 23.5,5.5 parent: 179 - - type: ApcPowerReceiver - powerLoad: 0 - - uid: 670 + - uid: 268 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 13.5,18.5 + pos: 23.5,6.5 parent: 179 - - type: ApcPowerReceiver - powerLoad: 0 - - uid: 673 + - uid: 298 components: - type: Transform rot: -1.5707963267948966 rad - pos: -11.5,-5.5 + pos: 6.5,9.5 parent: 179 - - type: ApcPowerReceiver - powerLoad: 0 - - uid: 674 + - uid: 299 components: - type: Transform - rot: 1.5707963267948966 rad - pos: -15.5,-5.5 + rot: -1.5707963267948966 rad + pos: 5.5,9.5 parent: 179 - - type: ApcPowerReceiver - powerLoad: 0 - - uid: 675 + - uid: 300 components: - type: Transform - rot: 1.5707963267948966 rad - pos: -15.5,-0.5 + rot: -1.5707963267948966 rad + pos: 8.5,9.5 parent: 179 - - type: ApcPowerReceiver - powerLoad: 0 - - uid: 676 + - uid: 312 components: - type: Transform - rot: 1.5707963267948966 rad - pos: -6.5,-10.5 + pos: -3.5,-10.5 parent: 179 - - type: ApcPowerReceiver - powerLoad: 0 - - uid: 678 + - uid: 313 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 7.5,-1.5 + pos: -2.5,-10.5 parent: 179 - - type: ApcPowerReceiver - powerLoad: 0 - - uid: 680 + - uid: 314 components: - type: Transform - rot: 3.141592653589793 rad - pos: 16.5,-5.5 + pos: -1.5,-10.5 parent: 179 - - type: ApcPowerReceiver - powerLoad: 0 - - uid: 681 + - uid: 315 components: - type: Transform - rot: 3.141592653589793 rad - pos: 23.5,-5.5 + pos: -0.5,-10.5 parent: 179 - - type: ApcPowerReceiver - powerLoad: 0 - - uid: 682 + - uid: 355 components: - type: Transform - pos: 13.5,2.5 + pos: -6.5,7.5 parent: 179 - - type: ApcPowerReceiver - powerLoad: 0 - - uid: 683 + - uid: 356 components: - type: Transform - rot: 3.141592653589793 rad - pos: 17.5,4.5 + pos: -5.5,7.5 parent: 179 - - type: ApcPowerReceiver - powerLoad: 0 - - uid: 1075 + - uid: 357 components: - type: Transform - pos: 16.5,27.5 + pos: -4.5,7.5 parent: 179 - - uid: 1076 + - uid: 358 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 15.5,22.5 + pos: -3.5,7.5 parent: 179 -- proto: PoweredSmallLight - entities: - - uid: 163 + - uid: 361 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 6.5,26.5 + pos: -0.5,7.5 parent: 179 - - type: ApcPowerReceiver - powerLoad: 0 - - uid: 166 + - uid: 362 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 11.5,24.5 + pos: 0.5,7.5 parent: 179 - - type: ApcPowerReceiver - powerLoad: 0 - - uid: 167 + - uid: 363 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 17.5,17.5 + pos: 1.5,7.5 parent: 179 - - type: ApcPowerReceiver - powerLoad: 0 - - uid: 388 + - uid: 366 components: - type: Transform - pos: 0.5,-5.5 + pos: -2.5,4.5 parent: 179 - - type: ApcPowerReceiver - powerLoad: 0 - - uid: 417 + - uid: 367 components: - type: Transform - pos: -4.5,-5.5 + pos: -1.5,4.5 parent: 179 - - type: ApcPowerReceiver - powerLoad: 0 - - uid: 483 + - uid: 368 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,-9.5 + pos: -0.5,4.5 parent: 179 - - type: ApcPowerReceiver - powerLoad: 0 - - uid: 534 + - uid: 371 components: - type: Transform - rot: 1.5707963267948966 rad - pos: -9.5,-5.5 + pos: 1.5,4.5 parent: 179 - - type: ApcPowerReceiver - powerLoad: 0 -- proto: Protolathe - entities: - - uid: 12 + - uid: 385 components: - type: Transform - pos: 13.5,21.5 + pos: -3.5,-2.5 parent: 179 - - uid: 384 + - uid: 386 components: - type: Transform - pos: -6.5,6.5 + pos: -3.5,-1.5 parent: 179 -- proto: Railing - entities: - - uid: 665 + - uid: 440 components: - type: Transform - rot: 3.141592653589793 rad - pos: -15.5,9.5 + pos: 0.5,4.5 parent: 179 - - uid: 927 + - uid: 445 components: - type: Transform - rot: -1.5707963267948966 rad - pos: -14.5,10.5 + pos: -3.5,-0.5 parent: 179 - - uid: 928 + - uid: 448 components: - type: Transform - rot: -1.5707963267948966 rad - pos: -14.5,11.5 + pos: 3.5,5.5 parent: 179 - - uid: 929 + - uid: 452 components: - type: Transform - rot: -1.5707963267948966 rad - pos: -14.5,12.5 + pos: 1.5,-5.5 parent: 179 - - uid: 930 + - uid: 461 components: - type: Transform - rot: -1.5707963267948966 rad - pos: -14.5,13.5 + pos: 7.5,-6.5 parent: 179 - - uid: 931 + - uid: 465 components: - type: Transform - rot: -1.5707963267948966 rad - pos: -14.5,14.5 + pos: 1.5,8.5 parent: 179 - - uid: 932 + - uid: 466 components: - type: Transform - rot: -1.5707963267948966 rad - pos: -14.5,15.5 + pos: 0.5,8.5 parent: 179 - - uid: 933 + - uid: 467 components: - type: Transform - rot: -1.5707963267948966 rad - pos: -14.5,16.5 + pos: -3.5,8.5 parent: 179 - - uid: 934 + - uid: 468 components: - type: Transform - rot: 3.141592653589793 rad - pos: -13.5,17.5 + pos: -0.5,8.5 parent: 179 - - uid: 935 + - uid: 470 components: - type: Transform - rot: 3.141592653589793 rad - pos: -12.5,17.5 + pos: -6.5,8.5 parent: 179 - - uid: 936 + - uid: 471 components: - type: Transform - rot: 3.141592653589793 rad - pos: -11.5,17.5 + pos: -5.5,8.5 parent: 179 - - uid: 937 + - uid: 472 components: - type: Transform - rot: 3.141592653589793 rad - pos: -10.5,17.5 + pos: -4.5,8.5 parent: 179 - - uid: 938 + - uid: 515 components: - type: Transform - rot: 3.141592653589793 rad - pos: -9.5,17.5 + pos: -15.5,-5.5 parent: 179 - - uid: 939 + - uid: 516 components: - type: Transform - rot: 3.141592653589793 rad - pos: -8.5,17.5 + pos: -15.5,-1.5 parent: 179 - - uid: 940 + - uid: 520 components: - type: Transform - rot: 3.141592653589793 rad - pos: -7.5,17.5 + pos: -15.5,-0.5 parent: 179 - - uid: 941 + - uid: 559 components: - type: Transform - rot: 3.141592653589793 rad - pos: -6.5,17.5 + pos: -15.5,-4.5 parent: 179 - - uid: 942 + - uid: 560 components: - type: Transform - rot: 3.141592653589793 rad - pos: -5.5,17.5 + pos: -15.5,-3.5 parent: 179 - - uid: 943 + - uid: 568 components: - type: Transform - rot: 3.141592653589793 rad - pos: -4.5,17.5 + pos: 18.5,4.5 parent: 179 - - uid: 944 + - uid: 569 components: - type: Transform - rot: 3.141592653589793 rad - pos: -3.5,17.5 + pos: 21.5,6.5 parent: 179 - - uid: 945 + - uid: 570 components: - type: Transform - rot: 3.141592653589793 rad - pos: -2.5,17.5 + pos: 20.5,6.5 parent: 179 - - uid: 946 + - uid: 571 components: - type: Transform - rot: 3.141592653589793 rad - pos: -1.5,17.5 + pos: 18.5,6.5 parent: 179 - - uid: 947 + - uid: 572 components: - type: Transform - rot: 3.141592653589793 rad - pos: -0.5,17.5 + pos: 19.5,6.5 parent: 179 - - uid: 948 + - uid: 573 components: - type: Transform - rot: 3.141592653589793 rad - pos: 0.5,17.5 + pos: 18.5,5.5 parent: 179 -- proto: RailingCornerSmall - entities: - - uid: 919 + - uid: 574 components: - type: Transform - pos: -14.5,9.5 + pos: 22.5,8.5 parent: 179 -- proto: ReinforcedWindow - entities: - - uid: 1084 + - uid: 575 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 14.5,23.5 + pos: 24.5,4.5 parent: 179 - - uid: 1093 + - uid: 584 components: - type: Transform - pos: 8.5,17.5 + pos: 23.5,7.5 parent: 179 - - uid: 1094 + - uid: 586 components: - type: Transform - pos: 9.5,17.5 + pos: 25.5,10.5 parent: 179 - - uid: 1095 + - uid: 587 components: - type: Transform - pos: 10.5,17.5 + pos: 23.5,10.5 parent: 179 - - uid: 1096 + - uid: 588 components: - type: Transform - pos: 10.5,16.5 + pos: 24.5,10.5 parent: 179 -- proto: ResearchAndDevelopmentServer - entities: - - uid: 17 + - uid: 589 components: - type: Transform - pos: 8.5,18.5 + pos: 26.5,10.5 parent: 179 -- proto: ResearchDiskDebug - entities: - - uid: 54 + - uid: 590 components: - type: Transform - pos: 9.532393,18.446417 + pos: 27.5,10.5 parent: 179 -- proto: RubberStampCaptain - entities: - - uid: 982 + - uid: 594 components: - type: Transform - pos: 12.800895,12.664745 + pos: 13.5,2.5 parent: 179 -- proto: RubberStampCentcom - entities: - - uid: 980 + - uid: 595 components: - type: Transform - pos: 12.186007,12.716865 + pos: 13.5,0.5 parent: 179 -- proto: RubberStampSyndicate - entities: - - uid: 981 + - uid: 596 components: - type: Transform - pos: 12.436131,12.550082 + pos: 13.5,1.5 parent: 179 -- proto: Screen - entities: - - uid: 1192 + - uid: 684 components: - type: Transform - pos: 4.5,-14.5 + pos: -3.5,0.5 parent: 179 -- proto: Screwdriver - entities: - - uid: 431 + - uid: 685 components: - type: Transform - pos: -1.235331,4.739151 + pos: 3.5,4.5 parent: 179 -- proto: SeedExtractor - entities: - - uid: 65 + - uid: 686 components: - type: Transform - pos: 2.5,17.5 + pos: 3.5,6.5 parent: 179 -- proto: SheetGlass - entities: - - uid: 354 + - uid: 706 components: - type: Transform - pos: 8.57603,21.566113 + pos: -1.5,-3.5 parent: 179 - - uid: 479 + - uid: 707 components: - type: Transform - pos: -5.13758,7.5586076 + pos: -0.5,-3.5 parent: 179 - - uid: 529 + - uid: 710 components: - type: Transform - pos: -15.5,-3.5 + pos: 0.5,-3.5 parent: 179 - - uid: 564 + - uid: 1561 components: - type: Transform - pos: -15.5,-1.5 + pos: 7.5,-5.5 parent: 179 - - uid: 565 +- proto: TableGlass + entities: + - uid: 964 components: - type: Transform - pos: -15.5,-1.5 + pos: 9.5,12.5 parent: 179 - - uid: 566 + - uid: 965 components: - type: Transform - pos: -15.5,-3.5 + pos: 11.5,12.5 parent: 179 -- proto: SheetGlass1 - entities: - - uid: 960 + - uid: 966 components: - type: Transform - pos: -3.981244,10.799851 + pos: 13.5,12.5 parent: 179 -- proto: SheetPGlass - entities: - - uid: 416 + - uid: 975 components: - type: Transform - pos: -0.5,8.5 + pos: 10.5,12.5 parent: 179 -- proto: SheetPlasma - entities: - - uid: 1077 + - uid: 976 components: - type: Transform - pos: 17.485096,24.503635 + pos: 12.5,12.5 parent: 179 -- proto: SheetPlasteel +- proto: TargetClown entities: - - uid: 478 + - uid: 459 components: - type: Transform - pos: -4.0129576,7.6107273 + pos: 7.5,-0.5 parent: 179 -- proto: SheetPlastic +- proto: TargetHuman entities: - - uid: 79 + - uid: 159 components: - type: Transform - pos: 8.951309,21.511908 + pos: -6.5,-1.5 parent: 179 - - uid: 181 + - uid: 248 components: - type: Transform - pos: -4.54383,7.579455 + pos: 7.5,1.5 parent: 179 -- proto: SheetRPGlass +- proto: TargetSyndicate entities: - - uid: 182 + - uid: 613 components: - type: Transform - pos: -0.5,7.5 + pos: 7.5,-2.5 parent: 179 -- proto: SheetSteel +- proto: TegCenter entities: - - uid: 205 + - uid: 1576 components: - type: Transform - pos: -15.5,-5.5 + rot: 1.5707963267948966 rad + pos: 13.5,-18.5 parent: 179 - - uid: 305 +- proto: TegCirculator + entities: + - uid: 1577 components: - type: Transform - pos: 9.435405,21.503613 + pos: 14.5,-18.5 parent: 179 - - uid: 382 + - type: PointLight + color: '#FF3300FF' + - uid: 1578 components: - type: Transform - pos: -15.5,-5.5 + rot: 3.141592653589793 rad + pos: 12.5,-18.5 parent: 179 - - uid: 473 + - type: PointLight + color: '#FF3300FF' +- proto: TelecomServerFilled + entities: + - uid: 963 components: - type: Transform - pos: -5.6834707,7.529523 + pos: -3.5,10.5 parent: 179 - - uid: 543 +- proto: TimerTrigger + entities: + - uid: 482 components: - type: Transform - pos: -15.5,-4.5 + pos: 6.413024,9.39097 parent: 179 - - uid: 544 +- proto: ToolboxElectricalFilled + entities: + - uid: 365 components: - type: Transform - pos: -15.5,-4.5 + pos: 0.4993378,3.429311 parent: 179 -- proto: SignalButton - entities: - - uid: 1013 + - uid: 419 components: - type: Transform - pos: -4.5,-14.5 + pos: -0.8099712,-5.21454 parent: 179 - - type: DeviceLinkSource - linkedPorts: - 202: - - Pressed: Toggle - 984: - - Pressed: Toggle - - uid: 1014 + - uid: 420 components: - type: Transform - pos: 3.5,-14.5 + pos: -0.5597038,-5.679647 parent: 179 - - type: DeviceLinkSource - linkedPorts: - 697: - - Pressed: Toggle - 698: - - Pressed: Toggle -- proto: SignCargoDock +- proto: ToolboxMechanicalFilled entities: - - uid: 1046 + - uid: 364 components: - type: Transform - pos: 4.5,-4.5 + pos: 1.452203,3.4605832 parent: 179 -- proto: SmallLight +- proto: ToyRubberDuck entities: - - uid: 1048 + - uid: 723 components: - type: Transform - rot: 1.5707963267948966 rad - pos: -2.5,-15.5 + pos: -1.6653601,11.616664 parent: 179 - - uid: 1049 +- proto: trayScanner + entities: + - uid: 758 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 1.5,-15.5 + pos: 1.354346,4.548879 parent: 179 -- proto: SMESBasic +- proto: TritiumCanister entities: - - uid: 1017 + - uid: 254 components: - type: Transform - pos: -6.5,-12.5 + pos: 13.5,-2.5 parent: 179 -- proto: SodaDispenser - entities: - - uid: 751 + - uid: 619 components: - type: Transform - pos: 8.5,12.5 + pos: 12.5,-2.5 parent: 179 -- proto: SpawnMobHuman - entities: - - uid: 138 + - uid: 1312 components: - type: Transform - pos: -6.5,-0.5 + pos: 24.5,-13.5 parent: 179 - - uid: 139 +- proto: TwoWayLever + entities: + - uid: 699 components: - type: Transform - pos: -6.5,0.5 + pos: -3.5,-13.5 parent: 179 - - uid: 140 + - type: DeviceLinkSource + linkedPorts: + 990: + - Left: Forward + - Right: Reverse + - Middle: Off + 195: + - Left: Forward + - Right: Reverse + - Middle: Off + 991: + - Left: Forward + - Right: Reverse + - Middle: Off + - uid: 722 components: - type: Transform - pos: 3.5,7.5 + pos: 1.5,11.5 parent: 179 -- proto: SpawnMobCorgiMouse - entities: - - uid: 1050 + - type: DeviceLinkSource + linkedPorts: + 721: + - Left: Forward + - Right: Reverse + - Middle: Off + 720: + - Left: Forward + - Right: Reverse + - Middle: Off + 716: + - Left: Forward + - Right: Reverse + - Middle: Off + - uid: 983 components: - type: Transform - pos: 3.5,8.5 + pos: 2.5,-13.5 parent: 179 -- proto: SpawnPointCaptain - entities: - - uid: 954 + - type: DeviceLinkSource + linkedPorts: + 985: + - Left: Forward + - Right: Reverse + - Middle: Off + 259: + - Left: Forward + - Right: Reverse + - Middle: Off + 989: + - Left: Forward + - Right: Reverse + - Middle: Off + 463: + - Left: Forward + - Right: Reverse + - Middle: Off + - uid: 1290 components: - type: Transform - pos: -4.5,4.5 + pos: 7.5,-14.5 parent: 179 -- proto: SpawnPointLatejoin - entities: - - uid: 961 + - type: TwoWayLever + nextSignalLeft: True + - type: DeviceLinkSource + linkedPorts: + 1234: + - Left: Open + - Right: Open + - Middle: Close + 1233: + - Left: Open + - Right: Open + - Middle: Close + 1232: + - Left: Open + - Right: Open + - Middle: Close + 728: + - Left: Trigger + - Right: Trigger + - Middle: Trigger + - uid: 1499 + components: + - type: Transform + pos: 11.5,-12.5 + parent: 179 + - type: DeviceLinkSource + linkedPorts: + 1385: + - Left: Open + - Right: Open + - Middle: Close + - uid: 1520 components: - type: Transform - pos: -3.5,3.5 + pos: 7.5,-18.5 parent: 179 -- proto: SpawnPointObserver + - type: DeviceLinkSource + linkedPorts: + 1230: + - Left: Open + - Right: Open + - Middle: Close +- proto: UnfinishedMachineFrame entities: - - uid: 679 + - uid: 522 components: - type: Transform - pos: -3.5,4.5 + pos: -6.5,10.5 parent: 179 -- proto: Spear +- proto: UniformPrinter entities: - - uid: 185 + - uid: 443 components: - type: Transform - pos: -3.4579864,-1.9811735 + pos: -7.5,4.5 parent: 179 -- proto: SprayBottleWater +- proto: VendingMachineCigs entities: - - uid: 903 + - uid: 870 components: - type: Transform - pos: 6.985283,16.424004 + pos: -14.5,4.5 parent: 179 -- proto: Stimpack +- proto: VendingMachineEngivend entities: - - uid: 462 + - uid: 441 components: - type: Transform - pos: 3.6877818,5.312015 + pos: -11.5,4.5 parent: 179 -- proto: Stool - entities: - - uid: 383 + - uid: 523 components: - type: Transform - pos: -1.5,-9.5 + pos: -11.5,-1.5 parent: 179 - - uid: 387 + - uid: 1567 components: - type: Transform - rot: 3.141592653589793 rad - pos: -2.5,-6.5 + pos: 5.5,-11.5 parent: 179 -- proto: Stunbaton + - type: ActionGrant + actions: + - ActionVendingThrow + - ActionVendingThrow + - ActionVendingThrow + - ActionVendingThrow +- proto: VendingMachineMedical entities: - - uid: 434 + - uid: 156 components: - type: Transform - pos: -3.1734612,-2.6066077 + pos: 25.5,-5.5 parent: 179 -- proto: SubstationBasic - entities: - - uid: 1018 + - uid: 157 components: - type: Transform - pos: -6.5,-13.5 + pos: 27.5,-5.5 parent: 179 -- proto: SurveillanceCameraGeneral - entities: - - uid: 1186 + - uid: 158 components: - type: Transform - rot: 3.141592653589793 rad - pos: -2.5,10.5 + pos: 29.5,3.5 parent: 179 - - uid: 1188 + - uid: 521 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 15.5,21.5 + pos: -12.5,4.5 parent: 179 - - uid: 1190 +- proto: VendingMachineSalvage + entities: + - uid: 485 components: - type: Transform - rot: 3.141592653589793 rad - pos: 27.5,10.5 + pos: -15.5,4.5 parent: 179 -- proto: SurveillanceCameraRouterGeneral +- proto: VendingMachineSec entities: - - uid: 1189 + - uid: 874 components: - type: Transform - pos: 9.5,24.5 + pos: -13.5,4.5 parent: 179 -- proto: Syringe +- proto: VendingMachineTankDispenserEngineering entities: - - uid: 460 + - uid: 615 components: - type: Transform - pos: 3.2502818,4.5823417 + pos: 17.5,-7.5 parent: 179 - - uid: 738 +- proto: VendingMachineTankDispenserEVA + entities: + - uid: 614 components: - type: Transform - pos: 5.767191,9.787079 + pos: 14.5,-7.5 parent: 179 -- proto: Table +- proto: VendingMachineVendomat entities: - - uid: 63 + - uid: 1565 components: - type: Transform - pos: 9.5,21.5 + pos: 5.5,-12.5 parent: 179 - - uid: 64 +- proto: VendingMachineYouTool + entities: + - uid: 350 components: - type: Transform - pos: 10.5,21.5 + pos: -11.5,-0.5 parent: 179 - - uid: 67 + - uid: 1566 components: - type: Transform - pos: 8.5,21.5 + pos: 5.5,-10.5 parent: 179 - - uid: 92 + - type: ActionGrant + actions: + - ActionVendingThrow + - ActionVendingThrow + - ActionVendingThrow + - ActionVendingThrow +- proto: WallSolid + entities: + - uid: 3 components: - type: Transform - pos: 11.5,21.5 + pos: 1.5,18.5 parent: 179 - - uid: 143 + - uid: 4 components: - type: Transform - pos: 33.5,-3.5 + pos: 11.5,26.5 parent: 179 - - uid: 144 + - uid: 5 components: - type: Transform - pos: 33.5,-2.5 + pos: 18.5,24.5 parent: 179 - - uid: 145 + - uid: 6 components: - type: Transform - pos: 33.5,-1.5 + pos: 20.5,15.5 parent: 179 - - uid: 161 + - uid: 8 components: - type: Transform - pos: 24.5,-5.5 + pos: 14.5,19.5 parent: 179 - - uid: 162 + - uid: 9 components: - type: Transform - pos: 23.5,-5.5 + pos: 1.5,19.5 parent: 179 - - uid: 172 + - uid: 10 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,9.5 + pos: 18.5,26.5 parent: 179 - - uid: 180 + - uid: 11 components: - type: Transform - pos: -4.5,10.5 + pos: 13.5,26.5 parent: 179 - - uid: 262 + - uid: 13 components: - type: Transform - pos: -3.5,-5.5 + pos: 25.5,15.5 parent: 179 - - uid: 263 + - uid: 18 components: - type: Transform - pos: -2.5,-5.5 + pos: 4.5,26.5 parent: 179 - - uid: 264 + - uid: 19 components: - type: Transform - pos: -1.5,-5.5 + pos: 18.5,25.5 parent: 179 - - uid: 265 + - uid: 21 components: - type: Transform - pos: -0.5,-5.5 + pos: 10.5,26.5 parent: 179 - - uid: 267 + - uid: 22 components: - type: Transform - pos: 23.5,5.5 + pos: 26.5,15.5 parent: 179 - - uid: 268 + - uid: 25 components: - type: Transform - pos: 23.5,6.5 + pos: 1.5,21.5 parent: 179 - - uid: 298 + - uid: 27 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 6.5,9.5 + pos: 8.5,-0.5 parent: 179 - - uid: 299 + - uid: 28 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 5.5,9.5 + pos: 18.5,18.5 parent: 179 - - uid: 300 + - uid: 29 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 8.5,9.5 + pos: 18.5,21.5 parent: 179 - - uid: 312 + - uid: 30 components: - type: Transform - pos: -3.5,-10.5 + pos: 1.5,22.5 parent: 179 - - uid: 313 + - uid: 31 components: - type: Transform - pos: -2.5,-10.5 + pos: 1.5,20.5 parent: 179 - - uid: 314 + - uid: 32 components: - type: Transform - pos: -1.5,-10.5 + pos: 18.5,19.5 parent: 179 - - uid: 315 + - uid: 33 components: - type: Transform - pos: -0.5,-10.5 + pos: 23.5,15.5 parent: 179 - - uid: 355 + - uid: 34 components: - type: Transform - pos: -6.5,7.5 + pos: 12.5,22.5 parent: 179 - - uid: 356 + - uid: 35 components: - type: Transform - pos: -5.5,7.5 + pos: 27.5,15.5 parent: 179 - - uid: 357 + - uid: 36 components: - type: Transform - pos: -4.5,7.5 + pos: 7.5,22.5 parent: 179 - - uid: 358 + - uid: 37 components: - type: Transform - pos: -3.5,7.5 + pos: 14.5,22.5 parent: 179 - - uid: 361 + - uid: 38 components: - type: Transform - pos: -0.5,7.5 + pos: 10.5,23.5 parent: 179 - - uid: 362 + - uid: 39 components: - type: Transform - pos: 0.5,7.5 + pos: 10.5,24.5 parent: 179 - - uid: 363 + - uid: 40 components: - type: Transform - pos: 1.5,7.5 + pos: 8.5,26.5 parent: 179 - - uid: 366 + - uid: 41 components: - type: Transform - pos: -2.5,4.5 + pos: 10.5,25.5 parent: 179 - - uid: 367 + - uid: 42 components: - type: Transform - pos: -1.5,4.5 + pos: 18.5,22.5 parent: 179 - - uid: 368 + - uid: 43 components: - type: Transform - pos: -0.5,4.5 + pos: 14.5,27.5 parent: 179 - - uid: 371 + - uid: 44 components: - type: Transform - pos: 1.5,4.5 + pos: 14.5,26.5 parent: 179 - - uid: 385 + - uid: 45 components: - type: Transform - pos: -3.5,-2.5 + pos: 1.5,16.5 parent: 179 - - uid: 386 + - uid: 46 components: - type: Transform - pos: -3.5,-1.5 + pos: 18.5,27.5 parent: 179 - - uid: 440 + - uid: 49 components: - type: Transform - pos: 0.5,4.5 + pos: 7.5,28.5 parent: 179 - - uid: 445 + - uid: 50 components: - type: Transform - pos: -3.5,-0.5 + pos: 13.5,22.5 parent: 179 - - uid: 448 + - uid: 51 components: - type: Transform - pos: 3.5,5.5 + pos: 12.5,26.5 parent: 179 - - uid: 465 + - uid: 52 components: - type: Transform - pos: 1.5,8.5 + pos: 1.5,15.5 parent: 179 - - uid: 466 + - uid: 53 components: - type: Transform - pos: 0.5,8.5 + pos: 9.5,26.5 parent: 179 - - uid: 467 + - uid: 55 components: - type: Transform - pos: -3.5,8.5 + pos: 24.5,15.5 parent: 179 - - uid: 468 + - uid: 56 components: - type: Transform - pos: -0.5,8.5 + pos: 14.5,25.5 parent: 179 - - uid: 470 + - uid: 57 components: - type: Transform - pos: -6.5,8.5 + pos: 14.5,21.5 parent: 179 - - uid: 471 + - uid: 60 components: - type: Transform - pos: -5.5,8.5 + pos: 7.5,21.5 parent: 179 - - uid: 472 + - uid: 61 components: - type: Transform - pos: -4.5,8.5 + pos: 18.5,20.5 parent: 179 - - uid: 515 + - uid: 62 components: - type: Transform - pos: -15.5,-5.5 + pos: 18.5,23.5 parent: 179 - - uid: 516 + - uid: 66 components: - type: Transform - pos: -15.5,-1.5 + pos: 18.5,17.5 parent: 179 - - uid: 520 + - uid: 68 components: - type: Transform - pos: -15.5,-0.5 + pos: 18.5,28.5 parent: 179 - - uid: 559 + - uid: 69 components: - type: Transform - pos: -15.5,-4.5 + pos: 28.5,15.5 parent: 179 - - uid: 560 + - uid: 71 components: - type: Transform - pos: -15.5,-3.5 + pos: 11.5,22.5 parent: 179 - - uid: 568 + - uid: 72 components: - type: Transform - pos: 18.5,4.5 + pos: 1.5,17.5 parent: 179 - - uid: 569 + - uid: 73 components: - type: Transform - pos: 21.5,6.5 + pos: 14.5,28.5 parent: 179 - - uid: 570 + - uid: 74 components: - type: Transform - pos: 20.5,6.5 + pos: 10.5,22.5 parent: 179 - - uid: 571 + - uid: 75 components: - type: Transform - pos: 18.5,6.5 + pos: 9.5,22.5 parent: 179 - - uid: 572 + - uid: 78 components: - type: Transform - pos: 19.5,6.5 + pos: 21.5,15.5 parent: 179 - - uid: 573 + - uid: 80 components: - type: Transform - pos: 18.5,5.5 + pos: 18.5,16.5 parent: 179 - - uid: 574 + - uid: 81 components: - type: Transform - pos: 22.5,8.5 + pos: 18.5,15.5 parent: 179 - - uid: 575 + - uid: 82 components: - type: Transform - pos: 24.5,4.5 + pos: 14.5,18.5 parent: 179 - - uid: 584 + - uid: 83 components: - type: Transform - pos: 23.5,7.5 + pos: 4.5,28.5 parent: 179 - - uid: 586 + - uid: 84 components: - type: Transform - pos: 25.5,10.5 + pos: 7.5,26.5 parent: 179 - - uid: 587 + - uid: 85 components: - type: Transform - pos: 23.5,10.5 + pos: 1.5,23.5 parent: 179 - - uid: 588 + - uid: 86 components: - type: Transform - pos: 24.5,10.5 + pos: 17.5,15.5 parent: 179 - - uid: 589 + - uid: 89 components: - type: Transform - pos: 26.5,10.5 + pos: 22.5,15.5 parent: 179 - - uid: 590 + - uid: 95 components: - type: Transform - pos: 27.5,10.5 + pos: 8.5,22.5 parent: 179 - - uid: 594 + - uid: 96 components: - type: Transform - pos: 13.5,2.5 + pos: 7.5,27.5 parent: 179 - - uid: 595 + - uid: 98 components: - type: Transform - pos: 13.5,0.5 + pos: 4.5,25.5 parent: 179 - - uid: 596 + - uid: 99 components: - type: Transform - pos: 13.5,1.5 + pos: 17.5,18.5 parent: 179 - - uid: 684 + - uid: 100 components: - type: Transform - pos: -3.5,0.5 + pos: 19.5,15.5 parent: 179 - - uid: 685 + - uid: 101 components: - type: Transform - pos: 3.5,4.5 + pos: 4.5,27.5 parent: 179 - - uid: 686 + - uid: 103 components: - type: Transform - pos: 3.5,6.5 + pos: 14.5,17.5 parent: 179 - - uid: 706 + - uid: 104 components: - type: Transform - pos: -1.5,-3.5 + pos: 14.5,16.5 parent: 179 - - uid: 707 + - uid: 105 components: - type: Transform - pos: -0.5,-3.5 + pos: 15.5,15.5 parent: 179 - - uid: 710 + - uid: 106 components: - type: Transform - pos: 0.5,-3.5 + pos: 14.5,15.5 parent: 179 -- proto: TableGlass - entities: - - uid: 964 + - uid: 107 components: - type: Transform - pos: 9.5,12.5 + pos: 13.5,15.5 parent: 179 - - uid: 965 + - uid: 109 components: - type: Transform - pos: 11.5,12.5 + pos: 11.5,15.5 parent: 179 - - uid: 966 + - uid: 110 components: - type: Transform - pos: 13.5,12.5 + pos: 10.5,15.5 parent: 179 - - uid: 975 + - uid: 112 components: - type: Transform - pos: 10.5,12.5 + pos: 7.5,19.5 parent: 179 - - uid: 976 + - uid: 113 components: - type: Transform - pos: 12.5,12.5 + pos: 7.5,18.5 parent: 179 -- proto: TargetHuman - entities: - - uid: 159 + - uid: 114 components: - type: Transform - pos: -6.5,-1.5 + pos: 7.5,17.5 parent: 179 -- proto: TelecomServerFilled - entities: - - uid: 963 + - uid: 117 components: - type: Transform - pos: -3.5,10.5 + pos: 5.5,18.5 parent: 179 -- proto: TimerTrigger - entities: - - uid: 482 + - uid: 118 components: - type: Transform - pos: 6.413024,9.39097 + pos: 5.5,19.5 parent: 179 -- proto: ToolboxElectricalFilled - entities: - - uid: 365 + - uid: 121 components: - type: Transform - pos: 0.4993378,3.429311 + pos: 4.5,19.5 parent: 179 - - uid: 419 + - uid: 122 components: - type: Transform - pos: -0.8099712,-5.21454 + pos: 4.5,20.5 parent: 179 - - uid: 420 + - uid: 123 components: - type: Transform - pos: -0.5597038,-5.679647 + pos: 4.5,21.5 parent: 179 -- proto: ToolboxMechanicalFilled - entities: - - uid: 364 + - uid: 124 components: - type: Transform - pos: 1.452203,3.4605832 + pos: 4.5,22.5 parent: 179 -- proto: ToyRubberDuck - entities: - - uid: 723 + - uid: 125 components: - type: Transform - pos: -1.6653601,11.616664 + pos: 4.5,23.5 parent: 179 -- proto: trayScanner - entities: - - uid: 758 + - uid: 126 components: - type: Transform - pos: 1.354346,4.548879 + pos: 4.5,24.5 parent: 179 -- proto: TwoWayLever - entities: - - uid: 699 + - uid: 160 components: - type: Transform - pos: -3.5,-13.5 + rot: -1.5707963267948966 rad + pos: 11.5,-0.5 parent: 179 - - type: DeviceLinkSource - linkedPorts: - 990: - - Left: Forward - - Right: Reverse - - Middle: Off - 195: - - Left: Forward - - Right: Reverse - - Middle: Off - 991: - - Left: Forward - - Right: Reverse - - Middle: Off - - uid: 722 + - uid: 164 components: - type: Transform - pos: 1.5,11.5 + rot: 1.5707963267948966 rad + pos: 22.5,9.5 parent: 179 - - type: DeviceLinkSource - linkedPorts: - 721: - - Left: Forward - - Right: Reverse - - Middle: Off - 720: - - Left: Forward - - Right: Reverse - - Middle: Off - 716: - - Left: Forward - - Right: Reverse - - Middle: Off - - uid: 983 + - uid: 165 components: - type: Transform - pos: 2.5,-13.5 + pos: 8.5,2.5 parent: 179 - - type: DeviceLinkSource - linkedPorts: - 985: - - Left: Forward - - Right: Reverse - - Middle: Off - 259: - - Left: Forward - - Right: Reverse - - Middle: Off - 989: - - Left: Forward - - Right: Reverse - - Middle: Off - 463: - - Left: Forward - - Right: Reverse - - Middle: Off -- proto: UnfinishedMachineFrame - entities: - - uid: 522 + - uid: 168 components: - type: Transform - pos: -6.5,10.5 + rot: -1.5707963267948966 rad + pos: 10.5,-0.5 parent: 179 -- proto: UniformPrinter - entities: - - uid: 443 + - uid: 169 components: - type: Transform - pos: -7.5,4.5 + pos: 8.5,0.5 parent: 179 -- proto: VendingMachineCigs - entities: - - uid: 870 + - uid: 171 components: - type: Transform - pos: -14.5,4.5 + rot: -1.5707963267948966 rad + pos: 9.5,-0.5 parent: 179 -- proto: VendingMachineEngivend - entities: - - uid: 441 + - uid: 173 components: - type: Transform - pos: -11.5,4.5 + pos: 8.5,1.5 parent: 179 - - uid: 523 + - uid: 189 components: - type: Transform - pos: -11.5,-1.5 + pos: -7.5,0.5 parent: 179 -- proto: VendingMachineMedical - entities: - - uid: 156 + - uid: 190 components: - type: Transform - pos: 25.5,-5.5 + pos: -7.5,-0.5 parent: 179 - - uid: 157 + - uid: 191 components: - type: Transform - pos: 27.5,-5.5 + pos: -7.5,-1.5 parent: 179 - - uid: 158 + - uid: 192 components: - type: Transform - pos: 29.5,3.5 + pos: -7.5,-2.5 parent: 179 - - uid: 521 + - uid: 193 components: - type: Transform - pos: -12.5,4.5 + pos: -7.5,-3.5 parent: 179 -- proto: VendingMachineSalvage - entities: - - uid: 485 + - uid: 196 components: - type: Transform - pos: -15.5,4.5 + pos: 3.5,-14.5 parent: 179 -- proto: VendingMachineSec - entities: - - uid: 874 + - uid: 197 components: - type: Transform - pos: -13.5,4.5 + pos: 4.5,-14.5 parent: 179 -- proto: VendingMachineTankDispenserEVA - entities: - - uid: 875 + - uid: 198 components: - type: Transform - pos: 7.5,0.5 + pos: -7.5,-10.5 parent: 179 -- proto: VendingMachineYouTool - entities: - - uid: 350 + - uid: 199 components: - type: Transform - pos: -11.5,-0.5 + pos: -7.5,-11.5 parent: 179 -- proto: WallSolid - entities: - - uid: 3 + - uid: 200 components: - type: Transform - pos: 1.5,18.5 + pos: -7.5,-12.5 parent: 179 - - uid: 4 + - uid: 201 components: - type: Transform - pos: 11.5,26.5 + pos: -7.5,-13.5 parent: 179 - - uid: 5 + - uid: 208 components: - type: Transform - pos: 18.5,24.5 + pos: -7.5,-9.5 parent: 179 - - uid: 6 + - uid: 209 components: - type: Transform - pos: 20.5,15.5 + pos: -10.5,-7.5 parent: 179 - - uid: 8 + - uid: 211 components: - type: Transform - pos: 14.5,19.5 + pos: -10.5,-5.5 parent: 179 - - uid: 9 + - uid: 212 components: - type: Transform - pos: 1.5,19.5 + pos: -10.5,-4.5 parent: 179 - - uid: 10 + - uid: 213 components: - type: Transform - pos: 18.5,26.5 + pos: -10.5,-3.5 parent: 179 - - uid: 11 + - uid: 214 components: - type: Transform - pos: 13.5,26.5 + pos: -10.5,-2.5 parent: 179 - - uid: 13 + - uid: 215 components: - type: Transform - pos: 25.5,15.5 + pos: -10.5,-1.5 parent: 179 - - uid: 18 + - uid: 217 components: - type: Transform - pos: 4.5,26.5 + pos: 1.5,-4.5 parent: 179 - - uid: 19 + - uid: 218 components: - type: Transform - pos: 18.5,25.5 + pos: 0.5,-4.5 parent: 179 - - uid: 21 + - uid: 219 components: - type: Transform - pos: 10.5,26.5 + pos: -0.5,-4.5 parent: 179 - - uid: 22 + - uid: 220 components: - type: Transform - pos: 26.5,15.5 + pos: -1.5,-4.5 parent: 179 - - uid: 25 + - uid: 221 components: - type: Transform - pos: 1.5,21.5 + pos: -2.5,-4.5 parent: 179 - - uid: 27 + - uid: 222 components: - type: Transform - pos: 8.5,-0.5 + pos: -3.5,-4.5 parent: 179 - - uid: 28 + - uid: 223 components: - type: Transform - pos: 18.5,18.5 + pos: -4.5,-4.5 parent: 179 - - uid: 29 + - uid: 224 components: - type: Transform - pos: 18.5,21.5 + pos: -5.5,-4.5 parent: 179 - - uid: 30 + - uid: 225 components: - type: Transform - pos: 1.5,22.5 + pos: -6.5,-4.5 parent: 179 - - uid: 31 + - uid: 226 components: - type: Transform - pos: 1.5,20.5 + pos: 4.5,-4.5 parent: 179 - - uid: 32 + - uid: 227 components: - type: Transform - pos: 18.5,19.5 + pos: 5.5,-4.5 parent: 179 - - uid: 33 + - uid: 228 components: - type: Transform - pos: 23.5,15.5 + pos: 6.5,-4.5 parent: 179 - - uid: 34 + - uid: 229 components: - type: Transform - pos: 12.5,22.5 + pos: -7.5,-14.5 parent: 179 - - uid: 35 + - uid: 231 components: - type: Transform - pos: 27.5,15.5 + pos: -6.5,-14.5 parent: 179 - - uid: 36 + - uid: 232 components: - type: Transform - pos: 7.5,22.5 + pos: -5.5,-14.5 parent: 179 - - uid: 37 + - uid: 233 components: - type: Transform - pos: 14.5,22.5 + pos: -4.5,-14.5 parent: 179 - - uid: 38 + - uid: 234 components: - type: Transform - pos: 10.5,23.5 + pos: 6.5,-10.5 parent: 179 - - uid: 39 + - uid: 235 components: - type: Transform - pos: 10.5,24.5 + pos: 6.5,-11.5 parent: 179 - - uid: 40 + - uid: 236 components: - type: Transform - pos: 8.5,26.5 + pos: 6.5,-12.5 parent: 179 - - uid: 41 + - uid: 237 components: - type: Transform - pos: 10.5,25.5 + pos: 6.5,-13.5 parent: 179 - - uid: 42 + - uid: 238 components: - type: Transform - pos: 18.5,22.5 + pos: 6.5,-14.5 parent: 179 - - uid: 43 + - uid: 239 components: - type: Transform - pos: 14.5,27.5 + pos: 5.5,-14.5 parent: 179 - - uid: 44 + - uid: 240 components: - type: Transform - pos: 14.5,26.5 + pos: -7.5,-8.5 parent: 179 - - uid: 45 + - uid: 241 components: - type: Transform - pos: 1.5,16.5 + pos: -7.5,-7.5 parent: 179 - - uid: 46 + - uid: 242 components: - type: Transform - pos: 18.5,27.5 + pos: -8.5,-8.5 parent: 179 - - uid: 49 + - uid: 243 components: - type: Transform - pos: 7.5,28.5 + pos: -9.5,-8.5 parent: 179 - - uid: 50 + - uid: 244 components: - type: Transform - pos: 13.5,22.5 + pos: -10.5,-8.5 parent: 179 - - uid: 51 + - uid: 245 components: - type: Transform - pos: 12.5,26.5 + pos: -7.5,-5.5 parent: 179 - - uid: 52 + - uid: 260 components: - type: Transform - pos: 1.5,15.5 + pos: 6.5,-6.5 parent: 179 - - uid: 53 + - uid: 261 components: - type: Transform - pos: 9.5,26.5 + pos: 6.5,-5.5 parent: 179 - - uid: 55 + - uid: 266 components: - type: Transform - pos: 24.5,15.5 + pos: 8.5,-3.5 parent: 179 - - uid: 56 + - uid: 271 components: - type: Transform - pos: 14.5,25.5 + pos: 1.5,14.5 parent: 179 - - uid: 57 + - uid: 272 components: - type: Transform - pos: 14.5,21.5 + pos: 1.5,13.5 parent: 179 - - uid: 60 + - uid: 273 components: - type: Transform - pos: 7.5,21.5 + pos: 1.5,12.5 parent: 179 - - uid: 61 + - uid: 274 components: - type: Transform - pos: 18.5,20.5 + pos: -7.5,11.5 parent: 179 - - uid: 62 + - uid: 275 components: - type: Transform - pos: 18.5,23.5 + pos: -6.5,11.5 parent: 179 - - uid: 66 + - uid: 276 components: - type: Transform - pos: 18.5,17.5 + pos: -5.5,11.5 parent: 179 - - uid: 68 + - uid: 277 components: - type: Transform - pos: 18.5,28.5 + pos: -4.5,11.5 parent: 179 - - uid: 69 + - uid: 278 components: - type: Transform - pos: 28.5,15.5 + pos: -3.5,11.5 parent: 179 - - uid: 71 + - uid: 279 components: - type: Transform - pos: 11.5,22.5 + pos: -2.5,11.5 parent: 179 - - uid: 72 + - uid: 282 components: - type: Transform - pos: 1.5,17.5 + pos: -1.5,12.5 parent: 179 - - uid: 73 + - uid: 283 components: - type: Transform - pos: 14.5,28.5 + pos: -0.5,12.5 parent: 179 - - uid: 74 + - uid: 284 components: - type: Transform - pos: 10.5,22.5 + pos: 0.5,12.5 parent: 179 - - uid: 75 + - uid: 288 components: - type: Transform - pos: 9.5,22.5 + pos: 12.5,8.5 parent: 179 - - uid: 76 + - uid: 289 components: - type: Transform - pos: 8.5,-1.5 + pos: 11.5,8.5 parent: 179 - - uid: 77 + - uid: 290 components: - type: Transform - pos: 8.5,-2.5 + pos: 10.5,8.5 parent: 179 - - uid: 78 + - uid: 291 components: - type: Transform - pos: 21.5,15.5 + pos: 9.5,8.5 parent: 179 - - uid: 80 + - uid: 292 components: - type: Transform - pos: 18.5,16.5 + pos: 8.5,8.5 parent: 179 - - uid: 81 + - uid: 293 components: - type: Transform - pos: 18.5,15.5 + pos: 7.5,8.5 parent: 179 - - uid: 82 + - uid: 294 components: - type: Transform - pos: 14.5,18.5 + pos: 6.5,8.5 parent: 179 - - uid: 83 + - uid: 295 components: - type: Transform - pos: 4.5,28.5 + pos: 5.5,8.5 parent: 179 - - uid: 84 + - uid: 301 components: - type: Transform - pos: 7.5,26.5 + pos: 9.5,11.5 parent: 179 - - uid: 85 + - uid: 302 components: - type: Transform - pos: 1.5,23.5 + pos: 10.5,11.5 parent: 179 - - uid: 86 + - uid: 303 components: - type: Transform - pos: 17.5,15.5 + pos: 11.5,11.5 parent: 179 - - uid: 89 + - uid: 304 components: - type: Transform - pos: 22.5,15.5 + pos: 12.5,11.5 parent: 179 - - uid: 95 + - uid: 310 components: - type: Transform - pos: 8.5,22.5 + pos: 9.5,9.5 parent: 179 - - uid: 96 + - uid: 316 components: - type: Transform - pos: 7.5,27.5 + pos: -7.5,-4.5 parent: 179 - - uid: 97 + - uid: 317 components: - type: Transform - pos: 8.5,-3.5 + pos: 26.5,14.5 parent: 179 - - uid: 98 + - uid: 320 components: - type: Transform - pos: 4.5,25.5 + pos: 24.5,14.5 parent: 179 - - uid: 99 + - uid: 322 components: - type: Transform - pos: 17.5,18.5 + rot: -1.5707963267948966 rad + pos: 25.5,-11.5 parent: 179 - - uid: 100 + - uid: 329 components: - type: Transform - pos: 19.5,15.5 + pos: -11.5,5.5 parent: 179 - - uid: 101 + - uid: 335 components: - type: Transform - pos: 4.5,27.5 + pos: 13.5,11.5 parent: 179 - - uid: 103 + - uid: 336 components: - type: Transform - pos: 14.5,17.5 + pos: 14.5,11.5 parent: 179 - - uid: 104 + - uid: 337 components: - type: Transform - pos: 14.5,16.5 + pos: 13.5,9.5 parent: 179 - - uid: 105 + - uid: 338 components: - type: Transform - pos: 15.5,15.5 + pos: 13.5,8.5 parent: 179 - - uid: 106 + - uid: 339 components: - type: Transform - pos: 14.5,15.5 + pos: 13.5,7.5 parent: 179 - - uid: 107 + - uid: 341 components: - type: Transform - pos: 13.5,15.5 + pos: 24.5,12.5 parent: 179 - - uid: 109 + - uid: 342 components: - type: Transform - pos: 11.5,15.5 + pos: 26.5,12.5 parent: 179 - - uid: 110 + - uid: 346 components: - type: Transform - pos: 10.5,15.5 + rot: -1.5707963267948966 rad + pos: 25.5,-7.5 parent: 179 - - uid: 112 + - uid: 352 components: - type: Transform - pos: 7.5,19.5 + pos: 13.5,6.5 parent: 179 - - uid: 113 + - uid: 353 components: - type: Transform - pos: 7.5,18.5 + pos: 13.5,5.5 parent: 179 - - uid: 114 + - uid: 372 components: - type: Transform - pos: 7.5,17.5 + pos: 13.5,4.5 parent: 179 - - uid: 117 + - uid: 373 components: - type: Transform - pos: 5.5,18.5 + pos: 25.5,4.5 parent: 179 - - uid: 118 + - uid: 374 components: - type: Transform - pos: 5.5,19.5 + pos: 23.5,4.5 parent: 179 - - uid: 121 + - uid: 375 components: - type: Transform - pos: 4.5,19.5 + pos: 17.5,3.5 parent: 179 - - uid: 122 + - uid: 376 components: - type: Transform - pos: 4.5,20.5 + pos: -10.5,-0.5 parent: 179 - - uid: 123 + - uid: 377 components: - type: Transform - pos: 4.5,21.5 + pos: -10.5,0.5 parent: 179 - - uid: 124 + - uid: 379 components: - type: Transform - pos: 4.5,22.5 + pos: -8.5,0.5 parent: 179 - - uid: 125 + - uid: 390 components: - type: Transform - pos: 4.5,23.5 + pos: 18.5,3.5 parent: 179 - - uid: 126 + - uid: 391 components: - type: Transform - pos: 4.5,24.5 + pos: 19.5,3.5 parent: 179 - - uid: 164 + - uid: 392 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 22.5,9.5 + pos: 21.5,3.5 parent: 179 - - uid: 165 + - uid: 393 components: - type: Transform - pos: 8.5,2.5 + pos: 22.5,3.5 parent: 179 - - uid: 169 + - uid: 394 components: - type: Transform - pos: 8.5,0.5 + pos: 22.5,4.5 parent: 179 - - uid: 173 + - uid: 395 components: - type: Transform - pos: 8.5,1.5 + pos: 22.5,5.5 parent: 179 - - uid: 189 + - uid: 396 components: - type: Transform - pos: -7.5,0.5 + pos: 22.5,6.5 parent: 179 - - uid: 190 + - uid: 397 components: - type: Transform - pos: -7.5,-0.5 + pos: 22.5,7.5 parent: 179 - - uid: 191 + - uid: 399 components: - type: Transform - pos: -7.5,-1.5 + pos: 22.5,10.5 parent: 179 - - uid: 192 + - uid: 400 components: - type: Transform - pos: -7.5,-2.5 + pos: 21.5,11.5 parent: 179 - - uid: 193 + - uid: 401 components: - type: Transform - pos: -7.5,-3.5 + pos: 22.5,11.5 parent: 179 - - uid: 196 + - uid: 439 components: - type: Transform - pos: 3.5,-14.5 + pos: -13.5,5.5 parent: 179 - - uid: 197 + - uid: 449 components: - type: Transform - pos: 4.5,-14.5 + pos: -16.5,2.5 parent: 179 - - uid: 198 + - uid: 450 components: - type: Transform - pos: -7.5,-10.5 + pos: -16.5,3.5 parent: 179 - - uid: 199 + - uid: 464 components: - type: Transform - pos: -7.5,-11.5 + pos: 4.5,8.5 parent: 179 - - uid: 200 + - uid: 474 components: - type: Transform - pos: -7.5,-12.5 + pos: -7.5,8.5 parent: 179 - - uid: 201 + - uid: 475 components: - type: Transform - pos: -7.5,-13.5 + pos: -7.5,7.5 parent: 179 - - uid: 208 + - uid: 476 components: - type: Transform - pos: -7.5,-9.5 + pos: -7.5,6.5 parent: 179 - - uid: 209 + - uid: 477 components: - type: Transform - pos: -10.5,-7.5 + pos: -7.5,5.5 parent: 179 - - uid: 211 + - uid: 486 components: - type: Transform - pos: -10.5,-5.5 + pos: -15.5,5.5 parent: 179 - - uid: 212 + - uid: 487 components: - type: Transform - pos: -10.5,-4.5 + pos: -16.5,4.5 parent: 179 - - uid: 213 + - uid: 488 components: - type: Transform - pos: -10.5,-3.5 + pos: 5.5,17.5 parent: 179 - - uid: 214 + - uid: 489 components: - type: Transform - pos: -10.5,-2.5 + pos: -11.5,0.5 parent: 179 - - uid: 215 + - uid: 491 components: - type: Transform - pos: -10.5,-1.5 + pos: -16.5,5.5 parent: 179 - - uid: 217 + - uid: 492 components: - type: Transform - pos: 1.5,-4.5 + pos: -14.5,5.5 parent: 179 - - uid: 218 + - uid: 494 components: - type: Transform - pos: 0.5,-4.5 + rot: -1.5707963267948966 rad + pos: -11.5,7.5 parent: 179 - - uid: 219 + - uid: 495 components: - type: Transform - pos: -0.5,-4.5 + pos: -12.5,5.5 parent: 179 - - uid: 220 + - uid: 496 components: - type: Transform - pos: -1.5,-4.5 + pos: -16.5,1.5 parent: 179 - - uid: 221 + - uid: 497 components: - type: Transform - pos: -2.5,-4.5 + pos: -16.5,0.5 parent: 179 - - uid: 222 + - uid: 498 components: - type: Transform - pos: -3.5,-4.5 + pos: -16.5,-0.5 parent: 179 - - uid: 223 + - uid: 499 components: - type: Transform - pos: -4.5,-4.5 + pos: -16.5,-1.5 parent: 179 - - uid: 224 + - uid: 500 components: - type: Transform - pos: -5.5,-4.5 + pos: -16.5,-2.5 parent: 179 - - uid: 225 + - uid: 501 components: - type: Transform - pos: -6.5,-4.5 + pos: -16.5,-3.5 parent: 179 - - uid: 226 + - uid: 502 components: - type: Transform - pos: 4.5,-4.5 + pos: -16.5,-4.5 parent: 179 - - uid: 227 + - uid: 503 components: - type: Transform - pos: 5.5,-4.5 + pos: -16.5,-5.5 parent: 179 - - uid: 228 + - uid: 504 components: - type: Transform - pos: 6.5,-4.5 + pos: -16.5,-6.5 parent: 179 - - uid: 229 + - uid: 505 components: - type: Transform - pos: -7.5,-14.5 + pos: -16.5,-7.5 parent: 179 - - uid: 231 + - uid: 506 components: - type: Transform - pos: -6.5,-14.5 + pos: -16.5,-8.5 parent: 179 - - uid: 232 + - uid: 507 components: - type: Transform - pos: -5.5,-14.5 + pos: -15.5,-8.5 parent: 179 - - uid: 233 + - uid: 508 components: - type: Transform - pos: -4.5,-14.5 + pos: -14.5,-8.5 parent: 179 - - uid: 234 + - uid: 509 components: - type: Transform - pos: 6.5,-10.5 + pos: -13.5,-8.5 parent: 179 - - uid: 235 + - uid: 510 components: - type: Transform - pos: 6.5,-11.5 + pos: -12.5,-8.5 parent: 179 - - uid: 236 + - uid: 511 components: - type: Transform - pos: 6.5,-12.5 + pos: -11.5,-8.5 parent: 179 - - uid: 237 + - uid: 517 components: - type: Transform - pos: 6.5,-13.5 + pos: 23.5,11.5 parent: 179 - - uid: 238 + - uid: 518 components: - type: Transform - pos: 6.5,-14.5 + pos: 24.5,11.5 parent: 179 - - uid: 239 + - uid: 519 components: - type: Transform - pos: 5.5,-14.5 + pos: 25.5,11.5 parent: 179 - - uid: 240 + - uid: 535 components: - type: Transform - pos: -7.5,-8.5 + pos: -15.5,0.5 parent: 179 - - uid: 241 + - uid: 539 components: - type: Transform - pos: -7.5,-7.5 + pos: 26.5,11.5 parent: 179 - - uid: 242 + - uid: 540 components: - type: Transform - pos: -8.5,-8.5 + pos: 27.5,11.5 parent: 179 - - uid: 243 + - uid: 545 components: - type: Transform - pos: -9.5,-8.5 + pos: 7.5,-4.5 parent: 179 - - uid: 244 + - uid: 547 components: - type: Transform - pos: -10.5,-8.5 + pos: 28.5,11.5 parent: 179 - - uid: 245 + - uid: 548 components: - type: Transform - pos: -7.5,-5.5 + pos: 28.5,10.5 parent: 179 - - uid: 248 + - uid: 549 components: - type: Transform - pos: 5.5,-7.5 + pos: 28.5,9.5 parent: 179 - - uid: 249 + - uid: 550 components: - type: Transform - pos: 5.5,-9.5 + pos: 28.5,8.5 parent: 179 - - uid: 250 + - uid: 551 components: - type: Transform - pos: 6.5,-9.5 + pos: 28.5,7.5 parent: 179 - - uid: 251 + - uid: 552 components: - type: Transform - pos: 6.5,-7.5 + pos: 28.5,6.5 parent: 179 - - uid: 254 + - uid: 553 components: - type: Transform - pos: 7.5,-9.5 + pos: 28.5,5.5 parent: 179 - - uid: 260 + - uid: 554 components: - type: Transform - pos: 6.5,-6.5 + pos: 26.5,-2.5 parent: 179 - - uid: 261 + - uid: 555 components: - type: Transform - pos: 6.5,-5.5 + pos: 26.5,-1.5 parent: 179 - - uid: 271 + - uid: 556 components: - type: Transform - pos: 1.5,14.5 + pos: 25.5,-0.5 parent: 179 - - uid: 272 + - uid: 557 components: - type: Transform - pos: 1.5,13.5 + pos: 26.5,-0.5 parent: 179 - - uid: 273 + - uid: 558 components: - type: Transform - pos: 1.5,12.5 + pos: 27.5,-0.5 parent: 179 - - uid: 274 + - uid: 561 components: - type: Transform - pos: -7.5,11.5 + pos: -14.5,0.5 parent: 179 - - uid: 275 + - uid: 585 components: - type: Transform - pos: -6.5,11.5 + pos: 9.5,10.5 parent: 179 - - uid: 276 + - uid: 597 components: - type: Transform - pos: -5.5,11.5 + pos: 22.5,-0.5 parent: 179 - - uid: 277 + - uid: 598 components: - type: Transform - pos: -4.5,11.5 + pos: 17.5,-0.5 parent: 179 - - uid: 278 + - uid: 599 components: - type: Transform - pos: -3.5,11.5 + pos: 18.5,-0.5 parent: 179 - - uid: 279 + - uid: 600 components: - type: Transform - pos: -2.5,11.5 + pos: 20.5,-0.5 parent: 179 - - uid: 282 + - uid: 601 components: - type: Transform - pos: -1.5,12.5 + pos: 21.5,-0.5 parent: 179 - - uid: 283 + - uid: 602 components: - type: Transform - pos: -0.5,12.5 + pos: 19.5,-0.5 parent: 179 - - uid: 284 + - uid: 603 components: - type: Transform - pos: 0.5,12.5 + pos: 14.5,3.5 parent: 179 - - uid: 288 + - uid: 604 components: - type: Transform - pos: 12.5,8.5 + pos: 13.5,3.5 parent: 179 - - uid: 289 + - uid: 605 components: - type: Transform - pos: 11.5,8.5 + pos: 12.5,3.5 parent: 179 - - uid: 290 + - uid: 606 components: - type: Transform - pos: 10.5,8.5 + pos: 12.5,2.5 parent: 179 - - uid: 291 + - uid: 607 components: - type: Transform - pos: 9.5,8.5 + pos: 12.5,1.5 parent: 179 - - uid: 292 + - uid: 608 components: - type: Transform - pos: 8.5,8.5 + pos: 12.5,0.5 parent: 179 - - uid: 293 + - uid: 609 components: - type: Transform - pos: 7.5,8.5 + pos: 12.5,-0.5 parent: 179 - - uid: 294 + - uid: 610 components: - type: Transform - pos: 6.5,8.5 + pos: 13.5,-0.5 parent: 179 - - uid: 295 + - uid: 611 components: - type: Transform - pos: 5.5,8.5 + pos: 14.5,-0.5 parent: 179 - - uid: 301 + - uid: 612 components: - type: Transform - pos: 9.5,11.5 + pos: 8.5,-2.5 parent: 179 - - uid: 302 + - uid: 618 components: - type: Transform - pos: 10.5,11.5 + pos: 14.5,-6.5 parent: 179 - - uid: 303 + - uid: 620 components: - type: Transform - pos: 11.5,11.5 + rot: -1.5707963267948966 rad + pos: 6.5,-7.5 parent: 179 - - uid: 304 + - uid: 621 components: - type: Transform - pos: 12.5,11.5 + pos: 17.5,-6.5 parent: 179 - - uid: 310 + - uid: 622 components: - type: Transform - pos: 9.5,9.5 + pos: 18.5,-6.5 parent: 179 - - uid: 316 + - uid: 623 components: - type: Transform - pos: -7.5,-4.5 + pos: 19.5,-6.5 parent: 179 - - uid: 317 + - uid: 624 components: - type: Transform - pos: 26.5,14.5 + pos: 20.5,-6.5 parent: 179 - - uid: 320 + - uid: 625 components: - type: Transform - pos: 24.5,14.5 + pos: 21.5,-6.5 parent: 179 - - uid: 329 + - uid: 626 components: - type: Transform - pos: -11.5,5.5 + pos: 22.5,-6.5 parent: 179 - - uid: 335 + - uid: 627 components: - type: Transform - pos: 13.5,11.5 + pos: 23.5,-6.5 parent: 179 - - uid: 336 + - uid: 628 components: - type: Transform - pos: 14.5,11.5 + pos: 24.5,-6.5 parent: 179 - - uid: 337 + - uid: 629 components: - type: Transform - pos: 13.5,9.5 + pos: 25.5,-6.5 parent: 179 - - uid: 338 + - uid: 630 components: - type: Transform - pos: 13.5,8.5 + pos: 26.5,-6.5 parent: 179 - - uid: 339 + - uid: 631 components: - type: Transform - pos: 13.5,7.5 + pos: 26.5,-5.5 parent: 179 - - uid: 341 + - uid: 632 components: - type: Transform - pos: 24.5,12.5 + pos: 26.5,-4.5 parent: 179 - - uid: 342 + - uid: 633 components: - type: Transform - pos: 26.5,12.5 + pos: 27.5,-6.5 parent: 179 - - uid: 352 + - uid: 634 components: - type: Transform - pos: 13.5,6.5 + pos: 28.5,-6.5 parent: 179 - - uid: 353 + - uid: 635 components: - type: Transform - pos: 13.5,5.5 + pos: 29.5,-6.5 parent: 179 - - uid: 372 + - uid: 636 components: - type: Transform - pos: 13.5,4.5 + pos: 30.5,-6.5 parent: 179 - - uid: 373 + - uid: 637 components: - type: Transform - pos: 25.5,4.5 + pos: 31.5,-6.5 parent: 179 - - uid: 374 + - uid: 638 components: - type: Transform - pos: 23.5,4.5 + pos: 32.5,-6.5 parent: 179 - - uid: 375 + - uid: 639 components: - type: Transform - pos: 17.5,3.5 + pos: 33.5,-6.5 parent: 179 - - uid: 376 + - uid: 640 components: - type: Transform - pos: -10.5,-0.5 + pos: 34.5,-6.5 parent: 179 - - uid: 377 + - uid: 641 components: - type: Transform - pos: -10.5,0.5 + pos: 34.5,-5.5 parent: 179 - - uid: 379 + - uid: 642 components: - type: Transform - pos: -8.5,0.5 + pos: 34.5,-4.5 parent: 179 - - uid: 390 + - uid: 643 components: - type: Transform - pos: 18.5,3.5 + pos: 34.5,-3.5 parent: 179 - - uid: 391 + - uid: 644 components: - type: Transform - pos: 19.5,3.5 + pos: 34.5,-2.5 parent: 179 - - uid: 392 + - uid: 645 components: - type: Transform - pos: 21.5,3.5 + pos: 34.5,-1.5 parent: 179 - - uid: 393 + - uid: 646 components: - type: Transform - pos: 22.5,3.5 + pos: 34.5,-0.5 parent: 179 - - uid: 394 + - uid: 647 components: - type: Transform - pos: 22.5,4.5 + pos: 33.5,-0.5 parent: 179 - - uid: 395 + - uid: 648 components: - type: Transform - pos: 22.5,5.5 + pos: 32.5,-0.5 parent: 179 - - uid: 396 + - uid: 649 components: - type: Transform - pos: 22.5,6.5 + pos: 31.5,-0.5 parent: 179 - - uid: 397 + - uid: 650 components: - type: Transform - pos: 22.5,7.5 + pos: 30.5,-0.5 parent: 179 - - uid: 399 + - uid: 651 components: - type: Transform - pos: 22.5,10.5 + pos: 29.5,-0.5 parent: 179 - - uid: 400 + - uid: 652 components: - type: Transform - pos: 21.5,11.5 + pos: 30.5,0.5 parent: 179 - - uid: 401 + - uid: 653 components: - type: Transform - pos: 22.5,11.5 + pos: 30.5,1.5 parent: 179 - - uid: 418 + - uid: 654 components: - type: Transform - pos: 7.5,-7.5 + pos: 30.5,2.5 parent: 179 - - uid: 439 + - uid: 655 components: - type: Transform - pos: -13.5,5.5 + pos: 30.5,3.5 parent: 179 - - uid: 449 + - uid: 656 components: - type: Transform - pos: -16.5,2.5 + pos: 30.5,4.5 parent: 179 - - uid: 450 + - uid: 657 components: - type: Transform - pos: -16.5,3.5 + pos: 29.5,4.5 parent: 179 - - uid: 464 + - uid: 658 components: - type: Transform - pos: 4.5,8.5 + pos: 28.5,4.5 parent: 179 - - uid: 474 + - uid: 659 components: - type: Transform - pos: -7.5,8.5 + pos: 27.5,4.5 parent: 179 - - uid: 475 + - uid: 680 components: - type: Transform - pos: -7.5,7.5 + pos: 8.5,-1.5 parent: 179 - - uid: 476 + - uid: 702 components: - type: Transform - pos: -7.5,6.5 + rot: -1.5707963267948966 rad + pos: -11.5,6.5 parent: 179 - - uid: 477 + - uid: 713 components: - type: Transform - pos: -7.5,5.5 + pos: -7.5,9.5 parent: 179 - - uid: 486 + - uid: 714 components: - type: Transform - pos: -15.5,5.5 + pos: -7.5,10.5 parent: 179 - - uid: 487 + - uid: 724 components: - type: Transform - pos: -16.5,4.5 + pos: -2.5,12.5 parent: 179 - - uid: 488 + - uid: 733 components: - type: Transform - pos: 5.5,17.5 + pos: 4.5,5.5 parent: 179 - - uid: 489 + - uid: 734 components: - type: Transform - pos: -11.5,0.5 + pos: 4.5,4.5 parent: 179 - - uid: 491 + - uid: 739 components: - type: Transform - pos: -16.5,5.5 + pos: 8.5,7.5 parent: 179 - - uid: 492 + - uid: 740 components: - type: Transform - pos: -14.5,5.5 + pos: 8.5,6.5 parent: 179 - - uid: 494 + - uid: 741 components: - type: Transform - rot: -1.5707963267948966 rad - pos: -11.5,7.5 + pos: 8.5,5.5 parent: 179 - - uid: 495 + - uid: 742 components: - type: Transform - pos: -12.5,5.5 + pos: 8.5,4.5 parent: 179 - - uid: 496 + - uid: 743 components: - type: Transform - pos: -16.5,1.5 + pos: 8.5,3.5 parent: 179 - - uid: 497 + - uid: 745 components: - type: Transform - pos: -16.5,0.5 + pos: 4.5,7.5 parent: 179 - - uid: 498 + - uid: 746 components: - type: Transform - pos: -16.5,-0.5 + pos: 4.5,6.5 parent: 179 - - uid: 499 + - uid: 846 components: - type: Transform - pos: -16.5,-1.5 + pos: 2.5,19.5 parent: 179 - - uid: 500 + - uid: 847 components: - type: Transform - pos: -16.5,-2.5 + pos: 3.5,19.5 parent: 179 - - uid: 501 + - uid: 925 components: - type: Transform - pos: -16.5,-3.5 + rot: -1.5707963267948966 rad + pos: -14.5,17.5 parent: 179 - - uid: 502 + - uid: 958 components: - type: Transform - pos: -16.5,-4.5 + rot: 3.141592653589793 rad + pos: 15.5,18.5 parent: 179 - - uid: 503 + - uid: 1016 components: - type: Transform - pos: -16.5,-5.5 + rot: -1.5707963267948966 rad + pos: 25.5,-9.5 parent: 179 - - uid: 504 + - uid: 1072 components: - type: Transform - pos: -16.5,-6.5 + pos: 15.5,28.5 parent: 179 - - uid: 505 + - uid: 1073 components: - type: Transform - pos: -16.5,-7.5 + pos: 16.5,28.5 parent: 179 - - uid: 506 + - uid: 1074 components: - type: Transform - pos: -16.5,-8.5 + pos: 17.5,28.5 parent: 179 - - uid: 507 + - uid: 1176 components: - type: Transform - pos: -15.5,-8.5 + rot: -1.5707963267948966 rad + pos: 25.5,-10.5 parent: 179 - - uid: 508 + - uid: 1181 components: - type: Transform - pos: -14.5,-8.5 + pos: 5.5,28.5 parent: 179 - - uid: 509 + - uid: 1206 components: - type: Transform - pos: -13.5,-8.5 + rot: -1.5707963267948966 rad + pos: 25.5,-12.5 parent: 179 - - uid: 510 + - uid: 1209 components: - type: Transform - pos: -12.5,-8.5 + rot: -1.5707963267948966 rad + pos: 25.5,-8.5 parent: 179 - - uid: 511 + - uid: 1210 components: - type: Transform - pos: -11.5,-8.5 + rot: -1.5707963267948966 rad + pos: 25.5,-17.5 parent: 179 - - uid: 517 + - uid: 1211 components: - type: Transform - pos: 23.5,11.5 + rot: -1.5707963267948966 rad + pos: 25.5,-15.5 parent: 179 - - uid: 518 + - uid: 1212 components: - type: Transform - pos: 24.5,11.5 + rot: -1.5707963267948966 rad + pos: 25.5,-19.5 parent: 179 - - uid: 519 + - uid: 1213 components: - type: Transform - pos: 25.5,11.5 + rot: -1.5707963267948966 rad + pos: 25.5,-18.5 parent: 179 - - uid: 535 + - uid: 1214 components: - type: Transform - pos: -15.5,0.5 + rot: -1.5707963267948966 rad + pos: 25.5,-22.5 parent: 179 - - uid: 539 + - uid: 1215 components: - type: Transform - pos: 26.5,11.5 + rot: -1.5707963267948966 rad + pos: 25.5,-20.5 parent: 179 - - uid: 540 + - uid: 1216 components: - type: Transform - pos: 27.5,11.5 + rot: -1.5707963267948966 rad + pos: 25.5,-21.5 parent: 179 - - uid: 545 + - uid: 1217 components: - type: Transform - pos: 7.5,-4.5 + rot: -1.5707963267948966 rad + pos: 25.5,-13.5 parent: 179 - - uid: 546 + - uid: 1218 components: - type: Transform - pos: 8.5,-4.5 + rot: -1.5707963267948966 rad + pos: 25.5,-14.5 parent: 179 - - uid: 547 + - uid: 1219 components: - type: Transform - pos: 28.5,11.5 + rot: -1.5707963267948966 rad + pos: 25.5,-16.5 parent: 179 - - uid: 548 + - uid: 1226 components: - type: Transform - pos: 28.5,10.5 + pos: 6.5,-22.5 parent: 179 - - uid: 549 + - uid: 1228 components: - type: Transform - pos: 28.5,9.5 + pos: 6.5,-21.5 parent: 179 - - uid: 550 + - uid: 1229 components: - type: Transform - pos: 28.5,8.5 + rot: -1.5707963267948966 rad + pos: 6.5,-19.5 parent: 179 - - uid: 551 + - uid: 1231 components: - type: Transform - pos: 28.5,7.5 + rot: -1.5707963267948966 rad + pos: 6.5,-18.5 parent: 179 - - uid: 552 + - uid: 1263 components: - type: Transform - pos: 28.5,6.5 + pos: 6.5,-23.5 parent: 179 - - uid: 553 + - uid: 1272 components: - type: Transform - pos: 28.5,5.5 + pos: 6.5,-24.5 parent: 179 - - uid: 554 + - uid: 1294 components: - type: Transform - pos: 26.5,-2.5 + pos: 25.5,-24.5 parent: 179 - - uid: 555 + - uid: 1295 components: - type: Transform - pos: 26.5,-1.5 + pos: 25.5,-23.5 parent: 179 - - uid: 556 + - uid: 1303 components: - type: Transform - pos: 25.5,-0.5 + rot: 3.141592653589793 rad + pos: 14.5,-1.5 parent: 179 - - uid: 557 + - uid: 1304 components: - type: Transform - pos: 26.5,-0.5 + rot: 3.141592653589793 rad + pos: 14.5,-2.5 parent: 179 - - uid: 558 + - uid: 1305 components: - type: Transform - pos: 27.5,-0.5 + rot: 3.141592653589793 rad + pos: 14.5,-3.5 parent: 179 - - uid: 561 + - uid: 1306 components: - type: Transform - pos: -14.5,0.5 + rot: 3.141592653589793 rad + pos: 14.5,-4.5 parent: 179 - - uid: 585 + - uid: 1307 components: - type: Transform - pos: 9.5,10.5 + rot: 3.141592653589793 rad + pos: 14.5,-5.5 parent: 179 - - uid: 597 + - uid: 1328 components: - type: Transform - pos: 22.5,-0.5 + pos: 25.5,-25.5 parent: 179 - - uid: 598 + - uid: 1329 components: - type: Transform - pos: 17.5,-0.5 + pos: 24.5,-25.5 parent: 179 - - uid: 599 + - uid: 1330 components: - type: Transform - pos: 18.5,-0.5 + pos: 23.5,-25.5 parent: 179 - - uid: 600 + - uid: 1331 components: - type: Transform - pos: 20.5,-0.5 + pos: 22.5,-25.5 parent: 179 - - uid: 601 + - uid: 1332 components: - type: Transform - pos: 21.5,-0.5 + pos: 21.5,-25.5 parent: 179 - - uid: 602 + - uid: 1333 components: - type: Transform - pos: 19.5,-0.5 + pos: 20.5,-25.5 parent: 179 - - uid: 603 + - uid: 1334 components: - type: Transform - pos: 14.5,3.5 + pos: 19.5,-25.5 parent: 179 - - uid: 604 + - uid: 1337 components: - type: Transform - pos: 13.5,3.5 + pos: 16.5,-25.5 parent: 179 - - uid: 605 + - uid: 1338 components: - type: Transform - pos: 12.5,3.5 + pos: 15.5,-25.5 parent: 179 - - uid: 606 + - uid: 1339 components: - type: Transform - pos: 12.5,2.5 + pos: 14.5,-25.5 parent: 179 - - uid: 607 + - uid: 1340 components: - type: Transform - pos: 12.5,1.5 + pos: 12.5,-25.5 parent: 179 - - uid: 608 + - uid: 1341 components: - type: Transform - pos: 12.5,0.5 + pos: 11.5,-25.5 parent: 179 - - uid: 609 + - uid: 1342 components: - type: Transform - pos: 12.5,-0.5 + pos: 10.5,-25.5 parent: 179 - - uid: 610 + - uid: 1343 components: - type: Transform - pos: 13.5,-0.5 + pos: 9.5,-25.5 parent: 179 - - uid: 611 + - uid: 1344 components: - type: Transform - pos: 14.5,-0.5 + pos: 8.5,-25.5 parent: 179 - - uid: 612 + - uid: 1345 components: - type: Transform - pos: 13.5,-1.5 + pos: 7.5,-25.5 parent: 179 - - uid: 613 + - uid: 1346 components: - type: Transform - pos: 13.5,-6.5 + pos: 6.5,-25.5 parent: 179 - - uid: 614 + - uid: 1347 components: - type: Transform - pos: 13.5,-5.5 + pos: 13.5,-25.5 parent: 179 - - uid: 615 + - uid: 1506 components: - type: Transform - pos: 13.5,-4.5 + pos: 10.5,-12.5 parent: 179 - - uid: 616 + - uid: 1559 components: - type: Transform - pos: 13.5,-3.5 + pos: 8.5,-4.5 parent: 179 - - uid: 617 +- proto: WarningCO2 + entities: + - uid: 1300 components: - type: Transform - pos: 13.5,-2.5 + rot: -1.5707963267948966 rad + pos: 25.5,-21.5 parent: 179 - - uid: 618 +- proto: WarningN2 + entities: + - uid: 1208 components: - type: Transform - pos: 14.5,-6.5 + rot: -1.5707963267948966 rad + pos: 25.5,-9.5 parent: 179 - - uid: 619 +- proto: WarningN2O + entities: + - uid: 1296 components: - type: Transform - pos: 15.5,-6.5 + rot: -1.5707963267948966 rad + pos: 25.5,-17.5 parent: 179 - - uid: 620 +- proto: WarningO2 + entities: + - uid: 1227 components: - type: Transform - pos: 16.5,-6.5 + rot: -1.5707963267948966 rad + pos: 25.5,-7.5 parent: 179 - - uid: 621 +- proto: WaterTankFull + entities: + - uid: 115 components: - type: Transform - pos: 17.5,-6.5 + pos: 4.5,18.5 parent: 179 - - uid: 622 + - uid: 694 components: - type: Transform - pos: 18.5,-6.5 + pos: -2.5,3.5 parent: 179 - - uid: 623 +- proto: WaterVaporCanister + entities: + - uid: 97 components: - type: Transform - pos: 19.5,-6.5 + pos: 12.5,-1.5 parent: 179 - - uid: 624 + - uid: 319 components: - type: Transform - pos: 20.5,-6.5 + pos: 13.5,-1.5 parent: 179 - - uid: 625 + - uid: 1313 components: - type: Transform - pos: 21.5,-6.5 + pos: 24.5,-23.5 parent: 179 - - uid: 626 +- proto: WeaponCapacitorRecharger + entities: + - uid: 708 components: - type: Transform - pos: 22.5,-6.5 + pos: -0.5,-3.5 parent: 179 - - uid: 627 +- proto: WeaponLaserCarbine + entities: + - uid: 188 components: - type: Transform - pos: 23.5,-6.5 + pos: -3.5226438,-0.45543313 parent: 179 - - uid: 628 +- proto: WeaponLauncherMultipleRocket + entities: + - uid: 671 components: - type: Transform - pos: 24.5,-6.5 + pos: -13.195735,9.730438 parent: 179 - - uid: 629 +- proto: WeaponLauncherRocket + entities: + - uid: 436 components: - type: Transform - pos: 25.5,-6.5 + pos: -3.478273,-1.1611286 parent: 179 - - uid: 630 +- proto: WeaponRifleAk + entities: + - uid: 437 components: - type: Transform - pos: 26.5,-6.5 + pos: -3.5018106,0.24183923 parent: 179 - - uid: 631 + - uid: 949 components: - type: Transform - pos: 26.5,-5.5 + pos: -12.238617,9.081488 parent: 179 - - uid: 632 +- proto: WelderExperimental + entities: + - uid: 343 components: - type: Transform - pos: 26.5,-4.5 + pos: 0.6895334,4.7183027 parent: 179 - - uid: 633 +- proto: WeldingFuelTankFull + entities: + - uid: 693 components: - type: Transform - pos: 27.5,-6.5 + pos: -1.5,3.5 parent: 179 - - uid: 634 +- proto: Window + entities: + - uid: 111 components: - type: Transform - pos: 28.5,-6.5 + pos: -0.5,-15.5 parent: 179 - - uid: 635 + - uid: 194 components: - type: Transform - pos: 29.5,-6.5 + pos: -0.5,-16.5 parent: 179 - - uid: 636 + - uid: 230 components: - type: Transform - pos: 30.5,-6.5 + pos: -0.5,-14.5 parent: 179 - - uid: 637 + - uid: 1001 components: - type: Transform - pos: 31.5,-6.5 + pos: -3.5,-16.5 parent: 179 - - uid: 638 + - uid: 1002 components: - type: Transform - pos: 32.5,-6.5 + pos: -3.5,-15.5 parent: 179 - - uid: 639 + - uid: 1003 components: - type: Transform - pos: 33.5,-6.5 + pos: -3.5,-14.5 parent: 179 - - uid: 640 + - uid: 1004 components: - type: Transform - pos: 34.5,-6.5 + pos: 2.5,-16.5 parent: 179 - - uid: 641 + - uid: 1005 components: - type: Transform - pos: 34.5,-5.5 + pos: 2.5,-15.5 parent: 179 - - uid: 642 + - uid: 1006 components: - type: Transform - pos: 34.5,-4.5 + pos: 2.5,-14.5 parent: 179 - - uid: 643 +- proto: WindowReinforcedDirectional + entities: + - uid: 340 components: - type: Transform - pos: 34.5,-3.5 + rot: 1.5707963267948966 rad + pos: 21.5,-7.5 parent: 179 - - uid: 644 + - uid: 345 components: - type: Transform - pos: 34.5,-2.5 + rot: 3.141592653589793 rad + pos: 24.5,-8.5 parent: 179 - - uid: 645 + - uid: 347 components: - type: Transform - pos: 34.5,-1.5 + pos: 24.5,-22.5 parent: 179 - - uid: 646 + - uid: 348 components: - type: Transform - pos: 34.5,-0.5 + rot: 3.141592653589793 rad + pos: 23.5,-8.5 parent: 179 - - uid: 647 + - uid: 1236 components: - type: Transform - pos: 33.5,-0.5 + pos: 23.5,-8.5 parent: 179 - - uid: 648 + - uid: 1237 components: - type: Transform - pos: 32.5,-0.5 + pos: 24.5,-8.5 parent: 179 - - uid: 649 + - uid: 1239 components: - type: Transform - pos: 31.5,-0.5 + rot: 3.141592653589793 rad + pos: 23.5,-10.5 parent: 179 - - uid: 650 + - uid: 1240 components: - type: Transform - pos: 30.5,-0.5 + rot: 3.141592653589793 rad + pos: 24.5,-10.5 parent: 179 - - uid: 651 + - uid: 1241 components: - type: Transform - pos: 29.5,-0.5 + rot: 1.5707963267948966 rad + pos: 21.5,-9.5 parent: 179 - - uid: 652 + - uid: 1242 components: - type: Transform - pos: 30.5,0.5 + rot: 1.5707963267948966 rad + pos: 21.5,-11.5 parent: 179 - - uid: 653 + - uid: 1243 components: - type: Transform - pos: 30.5,1.5 + rot: 1.5707963267948966 rad + pos: 21.5,-13.5 parent: 179 - - uid: 654 + - uid: 1244 components: - type: Transform - pos: 30.5,2.5 + rot: 1.5707963267948966 rad + pos: 21.5,-15.5 parent: 179 - - uid: 655 + - uid: 1245 components: - type: Transform - pos: 30.5,3.5 + rot: 1.5707963267948966 rad + pos: 21.5,-17.5 parent: 179 - - uid: 656 + - uid: 1246 components: - type: Transform - pos: 30.5,4.5 + rot: 1.5707963267948966 rad + pos: 21.5,-19.5 parent: 179 - - uid: 657 + - uid: 1247 components: - type: Transform - pos: 29.5,4.5 + rot: 3.141592653589793 rad + pos: 23.5,-22.5 parent: 179 - - uid: 658 + - uid: 1248 components: - type: Transform - pos: 28.5,4.5 + rot: 1.5707963267948966 rad + pos: 21.5,-21.5 parent: 179 - - uid: 659 + - uid: 1249 components: - type: Transform - pos: 27.5,4.5 + pos: 23.5,-10.5 parent: 179 - - uid: 702 + - uid: 1250 components: - type: Transform - rot: -1.5707963267948966 rad - pos: -11.5,6.5 + pos: 24.5,-10.5 parent: 179 - - uid: 713 + - uid: 1251 components: - type: Transform - pos: -7.5,9.5 + pos: 24.5,-12.5 parent: 179 - - uid: 714 + - uid: 1252 components: - type: Transform - pos: -7.5,10.5 + pos: 24.5,-14.5 parent: 179 - - uid: 724 + - uid: 1253 components: - type: Transform - pos: -2.5,12.5 + pos: 24.5,-16.5 parent: 179 - - uid: 733 + - uid: 1254 components: - type: Transform - pos: 4.5,5.5 + pos: 24.5,-18.5 parent: 179 - - uid: 734 + - uid: 1255 components: - type: Transform - pos: 4.5,4.5 + pos: 24.5,-20.5 parent: 179 - - uid: 739 + - uid: 1256 components: - type: Transform - pos: 8.5,7.5 + pos: 23.5,-20.5 parent: 179 - - uid: 740 + - uid: 1257 components: - type: Transform - pos: 8.5,6.5 + pos: 23.5,-18.5 parent: 179 - - uid: 741 + - uid: 1259 components: - type: Transform - pos: 8.5,5.5 + rot: 3.141592653589793 rad + pos: 23.5,-24.5 parent: 179 - - uid: 742 + - uid: 1261 components: - type: Transform - pos: 8.5,4.5 + pos: 23.5,-16.5 parent: 179 - - uid: 743 + - uid: 1262 components: - type: Transform - pos: 8.5,3.5 + pos: 23.5,-14.5 parent: 179 - - uid: 745 + - uid: 1264 components: - type: Transform - pos: 4.5,7.5 + rot: 3.141592653589793 rad + pos: 24.5,-22.5 parent: 179 - - uid: 746 + - uid: 1265 components: - type: Transform - pos: 4.5,6.5 + pos: 23.5,-12.5 parent: 179 - - uid: 846 + - uid: 1266 components: - type: Transform - pos: 2.5,19.5 + pos: 23.5,-22.5 parent: 179 - - uid: 847 + - uid: 1267 components: - type: Transform - pos: 3.5,19.5 + rot: 3.141592653589793 rad + pos: 23.5,-12.5 parent: 179 - - uid: 925 + - uid: 1268 components: - type: Transform - rot: -1.5707963267948966 rad - pos: -14.5,17.5 + rot: 3.141592653589793 rad + pos: 24.5,-12.5 parent: 179 - - uid: 958 + - uid: 1269 components: - type: Transform rot: 3.141592653589793 rad - pos: 15.5,18.5 + pos: 24.5,-14.5 parent: 179 - - uid: 1072 + - uid: 1270 components: - type: Transform - pos: 15.5,28.5 + rot: 3.141592653589793 rad + pos: 23.5,-14.5 parent: 179 - - uid: 1073 + - uid: 1271 components: - type: Transform - pos: 16.5,28.5 + rot: 1.5707963267948966 rad + pos: 21.5,-23.5 parent: 179 - - uid: 1074 + - uid: 1273 components: - type: Transform - pos: 17.5,28.5 + rot: 3.141592653589793 rad + pos: 23.5,-16.5 parent: 179 - - uid: 1181 + - uid: 1274 components: - type: Transform - pos: 5.5,28.5 + rot: 3.141592653589793 rad + pos: 24.5,-16.5 parent: 179 -- proto: WaterTankFull - entities: - - uid: 115 + - uid: 1275 components: - type: Transform - pos: 4.5,18.5 + rot: 3.141592653589793 rad + pos: 24.5,-18.5 parent: 179 - - uid: 694 + - uid: 1276 components: - type: Transform - pos: -2.5,3.5 + rot: 3.141592653589793 rad + pos: 23.5,-18.5 parent: 179 -- proto: WeaponCapacitorRecharger - entities: - - uid: 708 + - uid: 1279 components: - type: Transform - pos: -0.5,-3.5 + rot: 3.141592653589793 rad + pos: 23.5,-20.5 parent: 179 -- proto: WeaponLaserCarbine - entities: - - uid: 188 + - uid: 1280 components: - type: Transform - pos: -3.5226438,-0.45543313 + rot: 3.141592653589793 rad + pos: 24.5,-20.5 parent: 179 -- proto: WeaponLauncherMultipleRocket - entities: - - uid: 671 + - uid: 1283 components: - type: Transform - pos: -13.195735,9.730438 + rot: 3.141592653589793 rad + pos: 24.5,-24.5 parent: 179 -- proto: WeaponLauncherRocket - entities: - - uid: 436 + - uid: 1386 components: - type: Transform - pos: -3.478273,-1.1611286 + rot: 1.5707963267948966 rad + pos: 11.5,-15.5 parent: 179 -- proto: WeaponRifleAk - entities: - - uid: 437 + - uid: 1387 components: - type: Transform - pos: -3.5018106,0.24183923 + rot: 1.5707963267948966 rad + pos: 11.5,-13.5 parent: 179 - - uid: 949 + - uid: 1388 components: - type: Transform - pos: -12.238617,9.081488 + pos: 12.5,-12.5 parent: 179 -- proto: WelderExperimental - entities: - - uid: 343 + - uid: 1490 components: - type: Transform - pos: 0.6895334,4.7183027 + rot: -1.5707963267948966 rad + pos: 15.5,-15.5 parent: 179 -- proto: WeldingFuelTankFull - entities: - - uid: 693 + - uid: 1491 components: - type: Transform - pos: -1.5,3.5 + rot: 1.5707963267948966 rad + pos: 9.5,-14.5 parent: 179 -- proto: Window - entities: - - uid: 111 + - uid: 1492 components: - type: Transform - pos: -0.5,-15.5 + rot: 3.141592653589793 rad + pos: 11.5,-16.5 parent: 179 - - uid: 194 + - uid: 1494 components: - type: Transform - pos: -0.5,-16.5 + rot: -1.5707963267948966 rad + pos: 15.5,-13.5 parent: 179 - - uid: 230 + - uid: 1495 components: - type: Transform - pos: -0.5,-14.5 + rot: 3.141592653589793 rad + pos: 10.5,-16.5 parent: 179 - - uid: 1001 + - uid: 1496 components: - type: Transform - pos: -3.5,-16.5 + pos: 11.5,-12.5 parent: 179 - - uid: 1002 + - uid: 1497 components: - type: Transform - pos: -3.5,-15.5 + rot: 3.141592653589793 rad + pos: 14.5,-16.5 parent: 179 - - uid: 1003 + - uid: 1498 components: - type: Transform - pos: -3.5,-14.5 + rot: 1.5707963267948966 rad + pos: 9.5,-15.5 parent: 179 - - uid: 1004 + - uid: 1501 components: - type: Transform - pos: 2.5,-16.5 + rot: 3.141592653589793 rad + pos: 12.5,-16.5 parent: 179 - - uid: 1005 + - uid: 1505 components: - type: Transform - pos: 2.5,-15.5 + rot: 1.5707963267948966 rad + pos: 9.5,-13.5 parent: 179 - - uid: 1006 + - uid: 1562 components: - type: Transform - pos: 2.5,-14.5 + pos: 14.5,-12.5 parent: 179 - proto: Wirecutter entities: diff --git a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/miners.yml b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/miners.yml index 71e171fc50..5562715fdb 100644 --- a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/miners.yml +++ b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/miners.yml @@ -113,6 +113,14 @@ - type: GasMiner spawnGas: Tritium +- type: entity + name: frezon gas miner + parent: GasMinerBase + id: GasMinerFrezon + components: + - type: GasMiner + spawnGas: Frezon + - type: entity name: water vapor gas miner parent: GasMinerBase From 97ef4637fdd109a41588b88a920c889e28ed3947 Mon Sep 17 00:00:00 2001 From: Moomoobeef <62638182+Moomoobeef@users.noreply.github.com> Date: Fri, 25 Oct 2024 21:00:49 -0700 Subject: [PATCH 037/588] bowls now make drinking sounds (#32819) --- .../Entities/Objects/Consumable/Food/Containers/bowl.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/bowl.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/bowl.yml index 40cb141af7..ffccf07ab6 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/bowl.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/bowl.yml @@ -21,6 +21,10 @@ visible: false - type: MixableSolution solution: food + - type: Drink + solution: food + useSound: + path: /Audio/Items/drink.ogg - type: DamageOnLand damage: types: From dcb615d6788b9e962ee2ac41caaeacae2a2c6611 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sat, 26 Oct 2024 04:01:56 +0000 Subject: [PATCH 038/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index af594308d3..69b0dadb89 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: ShadowCommander - changes: - - message: Rollerbeds can now be dragged to the player to fold and pick them up. - type: Add - id: 7054 - time: '2024-08-07T09:19:10.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30002 - author: Errant changes: - message: Survivors arriving via the Unknown Shuttle event, ERT and CBURN agents, @@ -3961,3 +3954,10 @@ id: 7553 time: '2024-10-26T02:16:45.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/32942 +- author: Moomoobeef + changes: + - message: Bowls no longer make an eating sound when drinking from them. + type: Fix + id: 7554 + time: '2024-10-26T04:00:49.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/32819 From a95c8baf28f34ff34d65b6145b47d0cc88662b67 Mon Sep 17 00:00:00 2001 From: Saphire Lattice Date: Sun, 27 Oct 2024 00:22:08 +0700 Subject: [PATCH 039/588] Add health analyzer unrevivability warning (#32636) * Add health analyzer unrevivability warning * Remove errornous comment --- .../UI/HealthAnalyzerWindow.xaml | 3 +-- .../UI/HealthAnalyzerWindow.xaml.cs | 25 +++++++++++++------ Content.Server/Medical/CryoPodSystem.cs | 1 + .../Medical/HealthAnalyzerSystem.cs | 8 +++++- .../HealthAnalyzerScannedUserMessage.cs | 4 ++- .../components/health-analyzer-component.ftl | 3 ++- 6 files changed, 32 insertions(+), 12 deletions(-) diff --git a/Content.Client/HealthAnalyzer/UI/HealthAnalyzerWindow.xaml b/Content.Client/HealthAnalyzer/UI/HealthAnalyzerWindow.xaml index 19d00a0bbf..aae8785b1f 100644 --- a/Content.Client/HealthAnalyzer/UI/HealthAnalyzerWindow.xaml +++ b/Content.Client/HealthAnalyzer/UI/HealthAnalyzerWindow.xaml @@ -47,8 +47,7 @@ - + diff --git a/Content.Client/HealthAnalyzer/UI/HealthAnalyzerWindow.xaml.cs b/Content.Client/HealthAnalyzer/UI/HealthAnalyzerWindow.xaml.cs index d61267d002..fd3615d59f 100644 --- a/Content.Client/HealthAnalyzer/UI/HealthAnalyzerWindow.xaml.cs +++ b/Content.Client/HealthAnalyzer/UI/HealthAnalyzerWindow.xaml.cs @@ -110,18 +110,29 @@ public void Populate(HealthAnalyzerScannedUserMessage msg) // Alerts - AlertsDivider.Visible = msg.Bleeding == true; - AlertsContainer.Visible = msg.Bleeding == true; + var showAlerts = msg.Unrevivable == true || msg.Bleeding == true; - if (msg.Bleeding == true) - { + AlertsDivider.Visible = showAlerts; + AlertsContainer.Visible = showAlerts; + + if (showAlerts) AlertsContainer.DisposeAllChildren(); - AlertsContainer.AddChild(new Label + + if (msg.Unrevivable == true) + AlertsContainer.AddChild(new RichTextLabel + { + Text = Loc.GetString("health-analyzer-window-entity-unrevivable-text"), + Margin = new Thickness(0, 4), + MaxWidth = 300 + }); + + if (msg.Bleeding == true) + AlertsContainer.AddChild(new RichTextLabel { Text = Loc.GetString("health-analyzer-window-entity-bleeding-text"), - FontColorOverride = Color.Red, + Margin = new Thickness(0, 4), + MaxWidth = 300 }); - } // Damage Groups diff --git a/Content.Server/Medical/CryoPodSystem.cs b/Content.Server/Medical/CryoPodSystem.cs index fc9ab081d2..15fe2a69cf 100644 --- a/Content.Server/Medical/CryoPodSystem.cs +++ b/Content.Server/Medical/CryoPodSystem.cs @@ -201,6 +201,7 @@ private void OnActivateUI(Entity entity, ref AfterActivatableU ? bloodSolution.FillFraction : 0, null, + null, null )); } diff --git a/Content.Server/Medical/HealthAnalyzerSystem.cs b/Content.Server/Medical/HealthAnalyzerSystem.cs index 60a492a755..90646725bb 100644 --- a/Content.Server/Medical/HealthAnalyzerSystem.cs +++ b/Content.Server/Medical/HealthAnalyzerSystem.cs @@ -2,6 +2,7 @@ using Content.Server.Medical.Components; using Content.Server.PowerCell; using Content.Server.Temperature.Components; +using Content.Server.Traits.Assorted; using Content.Shared.Chemistry.EntitySystems; using Content.Shared.Damage; using Content.Shared.DoAfter; @@ -196,6 +197,7 @@ public void UpdateScannedUser(EntityUid healthAnalyzer, EntityUid target, bool s var bloodAmount = float.NaN; var bleeding = false; + var unrevivable = false; if (TryComp(target, out var bloodstream) && _solutionContainerSystem.ResolveSolution(target, bloodstream.BloodSolutionName, @@ -205,12 +207,16 @@ public void UpdateScannedUser(EntityUid healthAnalyzer, EntityUid target, bool s bleeding = bloodstream.BleedAmount > 0; } + if (HasComp(target)) + unrevivable = true; + _uiSystem.ServerSendUiMessage(healthAnalyzer, HealthAnalyzerUiKey.Key, new HealthAnalyzerScannedUserMessage( GetNetEntity(target), bodyTemperature, bloodAmount, scanMode, - bleeding + bleeding, + unrevivable )); } } diff --git a/Content.Shared/MedicalScanner/HealthAnalyzerScannedUserMessage.cs b/Content.Shared/MedicalScanner/HealthAnalyzerScannedUserMessage.cs index 78f26ed5c0..08af1a36a7 100644 --- a/Content.Shared/MedicalScanner/HealthAnalyzerScannedUserMessage.cs +++ b/Content.Shared/MedicalScanner/HealthAnalyzerScannedUserMessage.cs @@ -13,14 +13,16 @@ public sealed class HealthAnalyzerScannedUserMessage : BoundUserInterfaceMessage public float BloodLevel; public bool? ScanMode; public bool? Bleeding; + public bool? Unrevivable; - public HealthAnalyzerScannedUserMessage(NetEntity? targetEntity, float temperature, float bloodLevel, bool? scanMode, bool? bleeding) + public HealthAnalyzerScannedUserMessage(NetEntity? targetEntity, float temperature, float bloodLevel, bool? scanMode, bool? bleeding, bool? unrevivable) { TargetEntity = targetEntity; Temperature = temperature; BloodLevel = bloodLevel; ScanMode = scanMode; Bleeding = bleeding; + Unrevivable = unrevivable; } } diff --git a/Resources/Locale/en-US/medical/components/health-analyzer-component.ftl b/Resources/Locale/en-US/medical/components/health-analyzer-component.ftl index fe1f92e914..eb79358ecc 100644 --- a/Resources/Locale/en-US/medical/components/health-analyzer-component.ftl +++ b/Resources/Locale/en-US/medical/components/health-analyzer-component.ftl @@ -15,7 +15,8 @@ health-analyzer-window-entity-damage-total-text = Total Damage: health-analyzer-window-damage-group-text = {$damageGroup}: {$amount} health-analyzer-window-damage-type-text = {$damageType}: {$amount} -health-analyzer-window-entity-bleeding-text = Patient is bleeding! +health-analyzer-window-entity-unrevivable-text = [color=red]Unique body composition detected! Patient can not be resuscitated by normal means![/color] +health-analyzer-window-entity-bleeding-text = [color=red]Patient is bleeding![/color] health-analyzer-window-scan-mode-text = Scan Mode: health-analyzer-window-scan-mode-active = Active From 427817e23793b1d58d4dd0d4316d532a65f2ae96 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sat, 26 Oct 2024 17:23:15 +0000 Subject: [PATCH 040/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 69b0dadb89..0c13b61dd8 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,15 +1,4 @@ Entries: -- author: Errant - changes: - - message: Survivors arriving via the Unknown Shuttle event, ERT and CBURN agents, - and Death Squad members are now equipped with the appropriate species-specific - survival gear. - type: Fix - - message: Unknown Shuttle event can once again spawn vox characters. - type: Tweak - id: 7055 - time: '2024-08-07T09:26:40.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/29746 - author: IProduceWidgets changes: - message: butter is slippery @@ -3961,3 +3950,10 @@ id: 7554 time: '2024-10-26T04:00:49.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/32819 +- author: SaphireLattice + changes: + - message: Added a warning about unrevivability in the health analyzer UI. + type: Add + id: 7555 + time: '2024-10-26T17:22:09.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/32636 From 9d6e6257bd29c0041ee689d1a68af33d1fac2da4 Mon Sep 17 00:00:00 2001 From: Moomoobeef <62638182+Moomoobeef@users.noreply.github.com> Date: Sat, 26 Oct 2024 10:29:40 -0700 Subject: [PATCH 041/588] Removed the name "Hujsak" (#32998) removed hujsak --- Resources/Prototypes/Datasets/Names/last.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/Resources/Prototypes/Datasets/Names/last.yml b/Resources/Prototypes/Datasets/Names/last.yml index 8cc544afd6..2f952f957a 100644 --- a/Resources/Prototypes/Datasets/Names/last.yml +++ b/Resources/Prototypes/Datasets/Names/last.yml @@ -219,7 +219,6 @@ - Howe - Huey - Hughes - - Hujsak - Hunt - Hunter - Hussain From 6486cdf183a70aba86eaf28837b51a99570aeafd Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 27 Oct 2024 15:24:45 +1100 Subject: [PATCH 042/588] Update Credits (#33016) Co-authored-by: PJBot --- Resources/Credits/GitHub.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Credits/GitHub.txt b/Resources/Credits/GitHub.txt index e00d7c78a6..ac39b6b7f5 100644 --- a/Resources/Credits/GitHub.txt +++ b/Resources/Credits/GitHub.txt @@ -1 +1 @@ -0x6273, 12rabbits, 13spacemen, 2013HORSEMEATSCANDAL, 20kdc, 21Melkuu, 3nderall, 4310v343k, 4dplanner, 612git, 778b, Ablankmann, abregado, Absolute-Potato, achookh, Acruid, actioninja, actually-reb, ada-please, adamsong, Adeinitas, Admiral-Obvious-001, adrian, Adrian16199, Ady4ik, Aerocrux, Aeshus, Aexolott, Aexxie, africalimedrop, Afrokada, Agoichi, Ahion, aiden, AJCM-git, AjexRose, Alekshhh, alexkar598, AlexMorgan3817, alexumandxgabriel08x, Alithsko, ALMv1, Alpha-Two, AlphaQwerty, Altoids1, amylizzle, ancientpower, Andre19926, AndrewEyeke, AndreyCamper, Anzarot121, Appiah, ar4ill, ArchPigeon, ArchRBX, areitpog, Arendian, arimah, Arkanic, ArkiveDev, armoks, Arteben, ArthurMousatov, ArtisticRoomba, artur, AruMoon, ArZarLordOfMango, as334, AsikKEsel, AsnDen, asperger-sind, aspiringLich, astriloqua, august-sun, AutoOtter, avghdev, Awlod, AzzyIsNotHere, BackeTako, BananaFlambe, Baptr0b0t, BasedUser, beck-thompson, bellwetherlogic, benev0, benjamin-burges, BGare, bhenrich, bhespiritu, bibbly, BIGZi0348, bingojohnson, BismarckShuffle, Bixkitts, Blackern5000, Blazeror, BlitzTheSquishy, bloodrizer, Bloody2372, blueDev2, Boaz1111, BobdaBiscuit, BobTheSleder, boiled-water-tsar, BombasterDS, botanySupremist, brainfood1183, BramvanZijp, Brandon-Huu, BriBrooo, Bright0, brndd, bryce0110, BubblegumBlue, buletsponge, buntobaggins, bvelliquette, byondfuckery, c0rigin, c4llv07e, CaasGit, Caconym27, Calecute, Callmore, capnsockless, CaptainSqrBeard, Carbonhell, Carolyn3114, Carou02, carteblanche4me, Catofquestionableethics, CatTheSystem, Centronias, chairbender, Charlese2, charlie, ChaseFlorom, chavonadelal, Cheackraze, cheesePizza2, cheeseplated, Chief-Engineer, chillyconmor, christhirtle, chromiumboy, Chronophylos, Chubbicous, Chubbygummibear, Ciac32, civilCornball, Clement-O, clyf, Clyybber, CMDR-Piboy314, cohanna, Cohnway, Cojoke-dot, ColdAutumnRain, Colin-Tel, collinlunn, ComicIronic, CookieMasterT, coolboy911, coolmankid12345, Coolsurf6, corentt, CormosLemming, crazybrain23, creadth, CrigCrag, croilbird, Crotalus, CrudeWax, CrzyPotato, cutemoongod, Cyberboss, d34d10cc, DadeKuma, Daemon, daerSeebaer, dahnte, dakamakat, dakimasu, DamianX, DangerRevolution, daniel-cr, DanSAussieITS, Daracke, Darkenson, DawBla, Daxxi3, dch-GH, de0rix, Deahaka, dean, DEATHB4DEFEAT, DeathCamel58, Deatherd, deathride58, DebugOk, Decappi, Decortex, Deeeeja, deepdarkdepths, degradka, Delete69, deltanedas, DenisShvalov, DerbyX, derek, dersheppard, Deserty0, Detintinto, DevilishMilk, dexlerxd, dffdff2423, DieselMohawk, digitalic, Dimastra, DinoWattz, DisposableCrewmember42, DjfjdfofdjfjD, doc-michael, docnite, Doctor-Cpu, DoctorBeard, DogZeroX, dolgovmi, dontbetank, Doomsdrayk, Doru991, DoubleRiceEddiedd, DoutorWhite, dragonryan06, drakewill-CRL, Drayff, dreamlyjack, DrEnzyme, dribblydrone, DrMelon, drongood12, DrSingh, DrSmugleaf, drteaspoon420, DTanxxx, DubiousDoggo, Duddino, dukevanity, duskyjay, Dutch-VanDerLinde, dvir001, Dynexust, Easypoller, echo, eclips_e, eden077, EEASAS, Efruit, efzapa, Ekkosangen, ElectroSR, elsie, elthundercloud, Elysium206, Emisse, emmafornash, EmoGarbage404, Endecc, eoineoineoin, eris, erohrs2, ERORR404V1, Errant-4, ertanic, esguard, estacaoespacialpirata, eugene, exincore, exp111, f0x-n3rd, FacePluslll, Fahasor, FairlySadPanda, FATFSAAM2, Feluk6174, ficcialfaint, Fiftyllama, Fildrance, FillerVK, FinnishPaladin, FirinMaLazors, Fishfish458, FL-OZ, Flareguy, flashgnash, FluffiestFloof, FluffMe, FluidRock, foboscheshir, FoLoKe, fooberticus, ForestNoises, forgotmyotheraccount, forkeyboards, forthbridge, Fortune117, Fouin, foxhorn, freeman2651, freeze2222, Froffy025, Fromoriss, froozigiusz, FrostMando, FungiFellow, FunTust, Futuristic-OK, GalacticChimp, gamer3107, Gaxeer, gbasood, Geekyhobo, genderGeometries, GeneralGaws, Genkail, geraeumig, Ghagliiarghii, Git-Nivrak, githubuser508, gituhabu, GlassEclipse, GNF54, godisdeadLOL, goet, Goldminermac, Golinth, GoodWheatley, Gorox221, gradientvera, graevy, GraniteSidewalk, GreaseMonk, greenrock64, GreyMario, GTRsound, gusxyz, Gyrandola, h3half, hamurlik, Hanzdegloker, HappyRoach, Hardly3D, harikattar, he1acdvv, Hebi, Henry, HerCoyote23, hitomishirichan, hiucko, Hmeister-fake, Hmeister-real, Hobbitmax, hobnob, HoidC, Holinka4ever, holyssss, HoofedEar, Hoolny, hord-brayden, Hreno, hubismal, Hugal31, Huxellberger, Hyenh, i-justuser-i, iacore, IamVelcroboy, Ian321, icekot8, icesickleone, iczero, iglov, IgorAnt028, igorsaux, ike709, illersaver, Illiux, Ilushkins33, Ilya246, IlyaElDunaev, imrenq, imweax, indeano, Injazz, Insineer, IntegerTempest, Interrobang01, IProduceWidgets, irismessage, ItsMeThom, Itzbenz, iztokbajcar, Jackal298, Jackrost, jacksonzck, Jackw2As, jacob, jamessimo, janekvap, Jark255, Jaskanbe, JasperJRoth, jerryimmouse, JerryImMouse, Jessetriesagain, jessicamaybe, Jezithyr, jicksaw, JiimBob, JimGamemaster, jimmy12or, JIPDawg, jjtParadox, JoeHammad1844, JohnGinnane, johnku1, Jophire, joshepvodka, Jrpl, juliangiebel, JustArt1m, JustCone14, justdie12, justin, justintether, JustinTrotter, justtne, K-Dynamic, k3yw, Kadeo64, Kaga-404, KaiShibaa, kalane15, kalanosh, Kanashi-Panda, katzenminer, kbailey-git, Keelin, Keer-Sar, KEEYNy, keikiru, Kelrak, kerisargit, keronshb, KIBORG04, Killerqu00, Kimpes, KingFroozy, kira-er, Kirillcas, Kirus59, Kistras, Kit0vras, KittenColony, klaypexx, Kmc2000, Ko4ergaPunk, kognise, kokoc9n, komunre, KonstantinAngelov, kosticia, koteq, KrasnoshchekovPavel, Krunklehorn, Kupie, kxvvv, kyupolaris, kzhanik, lajolico, Lamrr, LankLTE, laok233, lapatison, larryrussian, lawdog4817, Lazzi0706, leander-0, leonardo-dabepis, leonsfriedrich, LeoSantich, LetterN, lettern, Level10Cybermancer, LEVELcat, lever1209, Lgibb18, lgruthes, LightVillet, liltenhead, LinkUyx, LittleBuilderJane, LittleNorthStar, LittleNyanCat, lizelive, localcc, lokachop, Lomcastar, LordCarve, LordEclipse, LucasTheDrgn, luckyshotpictures, LudwigVonChesterfield, luizwritescode, Lukasz825700516, luminight, lunarcomets, luringens, lvvova1, Lyndomen, lyroth001, lzimann, lzk228, M3739, mac6na6na, MACMAN2003, Macoron, Magicalus, magmodius, MagnusCrowe, malchanceux, MaloTV, ManelNavola, Mangohydra, marboww, Markek1, Matz05, max, MaxNox7, maylokana, MehimoNemo, MeltedPixel, MemeProof, MendaxxDev, Menshin, Mephisto72, MerrytheManokit, Mervill, metalgearsloth, MetalSage, MFMessage, mhamsterr, michaelcu, micheel665, MilenVolf, MilonPL, Minemoder5000, Minty642, Mirino97, mirrorcult, misandrie, MishaUnity, MissKay1994, MisterMecky, Mith-randalf, MjrLandWhale, mkanke-real, MLGTASTICa, moderatelyaware, modern-nm, mokiros, Moneyl, Moomoobeef, moony, Morb0, mr-bo-jangles, Mr0maks, MrFippik, mrrobdemo, muburu, MureixloI, musicmanvr, MWKane, Myakot, Myctai, N3X15, nails-n-tape, Nairodian, Naive817, NakataRin, namespace-Memory, Nannek, NazrinNya, neutrino-laser, NickPowers43, nikthechampiongr, Nimfar11, Nirnael, NIXC, NkoKirkto, nmajask, noctyrnal, nok-ko, NonchalantNoob, NoobyLegion, Nopey, not-gavnaed, notafet, notquitehadouken, NotSoDana, noudoit, noverd, NuclearWinter, nukashimika, nuke-haus, NULL882, nullarmo, nyeogmi, Nylux, Nyranu, och-och, OctoRocket, OldDanceJacket, OliverOtter, onoira, OnyxTheBrave, OrangeMoronage9622, osjarw, Ostaf, othymer, OttoMaticode, Owai-Seek, packmore, paigemaeforrest, pali6, Pangogie, panzer-iv1, paolordls, partyaddict, patrikturi, PaulRitter, peccneck, Peptide90, peptron1, PeterFuto, PetMudstone, pewter-wiz, Pgriha, Phantom-Lily, pheenty, Phill101, phunnyguy, PilgrimViis, Pill-U, Pireax, Pissachu, pissdemon, PixeltheAertistContrib, PixelTheKermit, PJB3005, Plasmaguy, plinyvic, Plykiya, poeMota, pofitlo, pointer-to-null, pok27, PolterTzi, PoorMansDreams, PopGamer45, portfiend, potato1234x, PotentiallyTom, ProfanedBane, ProPandaBear, PrPleGoo, ps3moira, Pspritechologist, Psychpsyo, psykzz, PuceTint, PuroSlavKing, PursuitInAshes, Putnam3145, quatre, QueerNB, QuietlyWhisper, qwerltaz, RadioMull, Radosvik, Radrark, Rainbeon, Rainfey, Raitononai, Ramlik, RamZ, randy10122, Rane, Ranger6012, Rapidgame7, ravage123321, rbertoche, Redfire1331, Redict, RedlineTriad, redmushie, RednoWCirabrab, RemberBM, RemieRichards, RemTim, rene-descartes2021, Renlou, retequizzle, RiceMar1244, rich-dunne, RieBi, riggleprime, RIKELOLDABOSS, rinary1, Rinkashikachi, riolume, RobbyTheFish, Rockdtben, Rohesie, rok-povsic, rolfero, RomanNovo, rosieposieeee, Roudenn, router, RumiTiger, S1rFl0, S1ss3l, Saakra, Sadie-silly, saga3152, saintmuntzer, Salex08, sam, samgithubaccount, SaphireLattice, SapphicOverload, Sarahon, sativaleanne, SaveliyM360, sBasalto, ScalyChimp, ScarKy0, scrato, Scribbles0, scrivoy, scruq445, scuffedjays, ScumbagDog, Segonist, sephtasm, Serkket, sewerpig, sh18rw, ShadeAware, ShadowCommander, Shadowtheprotogen546, shaeone, shampunj, shariathotpatrol, SignalWalker, siigiil, Simyon264, sirdragooon, Sirionaut, Sk1tch, SkaldetSkaeg, Skarletto, Skrauz, Skyedra, SlamBamActionman, slarticodefast, Slava0135, Slyfox333, snebl, snicket, sniperchance, Snowni, snowsignal, SolidusSnek, SonicHDC, SoulFN, SoulSloth, Soundwavesghost, southbridge-fur, Soydium, SpaceLizardSky, SpaceManiac, SpaceyLady, spanky-spanky, spartak, SpartanKadence, SpeltIncorrectyl, Spessmann, SphiraI, SplinterGP, spoogemonster, sporekto, sporkyz, ssdaniel24, stalengd, stanberytrask, Stanislav4ix, StanTheCarpenter, Stealthbomber16, stellar-novas, stomf, stopbreaking, stopka-html, StrawberryMoses, Stray-Pyramid, strO0pwafel, Strol20, StStevens, Subversionary, sunbear-dev, superjj18, Supernorn, SweptWasTaken, Sybil, SYNCHRONIC, Szunti, Tainakov, takemysoult, TaralGit, Taran, taurie, Tayrtahn, tday93, teamaki, TekuNut, telyonok, TemporalOroboros, tentekal, terezi4real, Terraspark4941, texcruize, TGODiamond, TGRCdev, tgrkzus, ThatOneGoblin25, thatrandomcanadianguy, TheArturZh, theashtronaut, thecopbennet, TheCze, TheDarkElites, thedraccx, TheEmber, TheIntoxicatedCat, thekilk, themias, theomund, theOperand, TherapyGoth, TheShuEd, thetolbean, thevinter, TheWaffleJesus, Thinbug0, ThunderBear2006, timothyteakettle, TimrodDX, timurjavid, tin-man-tim, Titian3, tk-a369, tkdrg, tmtmtl30, TokenStyle, Tollhouse, Toly65, tom-leys, tomasalves8, Tomeno, Tonydatguy, topy, Tornado-Technology, tosatur, TotallyLemon, tropicalhibi, truepaintgit, Truoizys, Tryded, TsjipTsjip, Tunguso4ka, TurboTrackerss14, TyAshley, Tyler-IN, Tyzemol, UbaserB, ubis1, UBlueberry, UKNOWH, UltimateJester, Unbelievable-Salmon, underscorex5, UnicornOnLSD, Unisol, Unkn0wnGh0st333, unusualcrow, Uriende, UristMcDorf, user424242420, Vaaankas, valentfingerov, Varen, VasilisThePikachu, veliebm, VelonacepsCalyxEggs, veprolet, veritable-calamity, Veritius, Vermidia, vero5123, Verslebas, VigersRay, violet754, Visne, VMSolidus, voidnull000, volotomite, volundr-, Voomra, Vordenburg, vorkathbruh, vulppine, wafehling, Warentan, WarMechanic, Watermelon914, waylon531, weaversam8, wertanchik, whateverusername0, Willhelm53, WilliamECrew, willicassi, Winkarst-cpu, wirdal, wixoaGit, WlarusFromDaSpace, wrexbe, wtcwr68, xkreksx, xprospero, xRiriq, YanehCheck, yathxyz, Ygg01, YotaXP, youarereadingthis, Yousifb26, youtissoum, YuriyKiss, zach-hill, Zadeon, zamp, Zandario, Zap527, Zealith-Gamer, ZelteHonor, zero, ZeroDiamond, zerorulez, ZeWaka, zionnBE, ZNixian, ZoldorfTheWizard, Zonespace27, Zylofan, Zymem, zzylex +0x6273, 12rabbits, 13spacemen, 2013HORSEMEATSCANDAL, 20kdc, 21Melkuu, 3nderall, 4310v343k, 4dplanner, 612git, 778b, Ablankmann, abregado, Absolute-Potato, achookh, Acruid, actioninja, actually-reb, ada-please, adamsong, Adeinitas, Admiral-Obvious-001, adrian, Adrian16199, Ady4ik, Aerocrux, Aeshus, Aexolott, Aexxie, africalimedrop, Afrokada, Agoichi, Ahion, aiden, AJCM-git, AjexRose, Alekshhh, alexkar598, AlexMorgan3817, alexumandxgabriel08x, Alithsko, ALMv1, Alpha-Two, AlphaQwerty, Altoids1, amylizzle, ancientpower, Andre19926, AndrewEyeke, AndreyCamper, Anzarot121, Appiah, ar4ill, ArchPigeon, ArchRBX, areitpog, Arendian, arimah, Arkanic, ArkiveDev, armoks, Arteben, ArthurMousatov, ArtisticRoomba, artur, AruMoon, ArZarLordOfMango, as334, AsikKEsel, AsnDen, asperger-sind, aspiringLich, astriloqua, august-sun, AutoOtter, avghdev, Awlod, AzzyIsNotHere, BackeTako, BananaFlambe, Baptr0b0t, BasedUser, beck-thompson, bellwetherlogic, benev0, benjamin-burges, BGare, bhenrich, bhespiritu, bibbly, BIGZi0348, bingojohnson, BismarckShuffle, Bixkitts, Blackern5000, Blazeror, BlitzTheSquishy, bloodrizer, Bloody2372, blueDev2, Boaz1111, BobdaBiscuit, BobTheSleder, boiled-water-tsar, BombasterDS, botanySupremist, brainfood1183, BramvanZijp, Brandon-Huu, BriBrooo, Bright0, brndd, bryce0110, BubblegumBlue, buletsponge, buntobaggins, bvelliquette, byondfuckery, c0rigin, c4llv07e, CaasGit, Caconym27, Calecute, Callmore, capnsockless, CaptainSqrBeard, Carbonhell, Carolyn3114, Carou02, carteblanche4me, Catofquestionableethics, CatTheSystem, Centronias, chairbender, Charlese2, charlie, ChaseFlorom, chavonadelal, Cheackraze, cheesePizza2, cheeseplated, Chief-Engineer, chillyconmor, christhirtle, chromiumboy, Chronophylos, Chubbicous, Chubbygummibear, Ciac32, civilCornball, Clement-O, clyf, Clyybber, CMDR-Piboy314, cohanna, Cohnway, Cojoke-dot, ColdAutumnRain, Colin-Tel, collinlunn, ComicIronic, CookieMasterT, coolboy911, coolmankid12345, Coolsurf6, corentt, CormosLemming, crazybrain23, creadth, CrigCrag, croilbird, Crotalus, CrudeWax, CrzyPotato, cutemoongod, Cyberboss, d34d10cc, d4kii, DadeKuma, Daemon, daerSeebaer, dahnte, dakamakat, DamianX, DangerRevolution, daniel-cr, DanSAussieITS, Daracke, Darkenson, DawBla, Daxxi3, dch-GH, de0rix, Deahaka, dean, DEATHB4DEFEAT, DeathCamel58, Deatherd, deathride58, DebugOk, Decappi, Decortex, Deeeeja, deepdarkdepths, degradka, Delete69, deltanedas, DenisShvalov, DerbyX, derek, dersheppard, Deserty0, Detintinto, DevilishMilk, dexlerxd, dffdff2423, DieselMohawk, digitalic, Dimastra, DinoWattz, DisposableCrewmember42, DjfjdfofdjfjD, doc-michael, docnite, Doctor-Cpu, DoctorBeard, DogZeroX, dolgovmi, dontbetank, Doomsdrayk, Doru991, DoubleRiceEddiedd, DoutorWhite, dragonryan06, drakewill-CRL, Drayff, dreamlyjack, DrEnzyme, dribblydrone, DrMelon, drongood12, DrSingh, DrSmugleaf, drteaspoon420, DTanxxx, DubiousDoggo, Duddino, dukevanity, duskyjay, Dutch-VanDerLinde, dvir001, Dynexust, Easypoller, echo, eclips_e, eden077, EEASAS, Efruit, efzapa, Ekkosangen, ElectroSR, elsie, elthundercloud, Elysium206, Emisse, emmafornash, EmoGarbage404, Endecc, eoineoineoin, eris, erohrs2, ERORR404V1, Errant-4, ertanic, esguard, estacaoespacialpirata, eugene, exincore, exp111, f0x-n3rd, FacePluslll, Fahasor, FairlySadPanda, FATFSAAM2, Feluk6174, ficcialfaint, Fiftyllama, Fildrance, FillerVK, FinnishPaladin, FirinMaLazors, Fishfish458, FL-OZ, Flareguy, flashgnash, FluffiestFloof, FluffMe, FluidRock, foboscheshir, FoLoKe, fooberticus, ForestNoises, forgotmyotheraccount, forkeyboards, forthbridge, Fortune117, Fouin, foxhorn, freeman2651, freeze2222, Froffy025, Fromoriss, froozigiusz, FrostMando, FungiFellow, FunTust, Futuristic-OK, GalacticChimp, gamer3107, Gaxeer, gbasood, Geekyhobo, genderGeometries, GeneralGaws, Genkail, geraeumig, Ghagliiarghii, Git-Nivrak, githubuser508, gituhabu, GlassEclipse, GNF54, godisdeadLOL, goet, Goldminermac, Golinth, GoodWheatley, Gorox221, gradientvera, graevy, GraniteSidewalk, GreaseMonk, greenrock64, GreyMario, GTRsound, gusxyz, Gyrandola, h3half, hamurlik, Hanzdegloker, HappyRoach, Hardly3D, harikattar, he1acdvv, Hebi, Henry, HerCoyote23, hitomishirichan, hiucko, Hmeister-fake, Hmeister-real, Hobbitmax, hobnob, HoidC, Holinka4ever, holyssss, HoofedEar, Hoolny, hord-brayden, Hreno, hubismal, Hugal31, Huxellberger, Hyenh, hyphenationc, i-justuser-i, iacore, IamVelcroboy, Ian321, icekot8, icesickleone, iczero, iglov, IgorAnt028, igorsaux, ike709, illersaver, Illiux, Ilushkins33, Ilya246, IlyaElDunaev, imrenq, imweax, indeano, Injazz, Insineer, IntegerTempest, Interrobang01, IProduceWidgets, ItsMeThom, Itzbenz, iztokbajcar, Jackal298, Jackrost, jacksonzck, Jackw2As, jacob, jamessimo, janekvap, Jark255, Jaskanbe, JasperJRoth, JerryImMouse, jerryimmouse, Jessetriesagain, jessicamaybe, Jezithyr, jicksaw, JiimBob, JimGamemaster, jimmy12or, JIPDawg, jjtParadox, jmcb, JoeHammad1844, JohnGinnane, johnku1, Jophire, joshepvodka, Jrpl, juliangiebel, JustArt1m, JustCone14, justdie12, justin, justintether, JustinTrotter, justtne, K-Dynamic, k3yw, Kadeo64, Kaga-404, KaiShibaa, kalane15, kalanosh, Kanashi-Panda, katzenminer, kbailey-git, Keelin, Keer-Sar, KEEYNy, keikiru, Kelrak, kerisargit, keronshb, KIBORG04, Killerqu00, Kimpes, KingFroozy, kira-er, Kirillcas, Kirus59, Kistras, Kit0vras, KittenColony, klaypexx, Kmc2000, Ko4ergaPunk, kognise, kokoc9n, komunre, KonstantinAngelov, kosticia, koteq, KrasnoshchekovPavel, Krunklehorn, Kupie, kxvvv, kyupolaris, kzhanik, lajolico, Lamrr, LankLTE, laok233, lapatison, larryrussian, lawdog4817, Lazzi0706, leander-0, leonardo-dabepis, leonsfriedrich, LeoSantich, lettern, LetterN, Level10Cybermancer, LEVELcat, lever1209, Lgibb18, lgruthes, LightVillet, liltenhead, LinkUyx, LittleBuilderJane, LittleNorthStar, LittleNyanCat, lizelive, localcc, lokachop, Lomcastar, LordCarve, LordEclipse, LucasTheDrgn, luckyshotpictures, LudwigVonChesterfield, luizwritescode, Lukasz825700516, luminight, lunarcomets, luringens, lvvova1, Lyndomen, lyroth001, lzimann, lzk228, M3739, mac6na6na, MACMAN2003, Macoron, Magicalus, magmodius, MagnusCrowe, malchanceux, MaloTV, ManelNavola, Mangohydra, marboww, Markek1, Matz05, max, MaxNox7, maylokana, MehimoNemo, MeltedPixel, MemeProof, MendaxxDev, Menshin, Mephisto72, MerrytheManokit, Mervill, metalgearsloth, MetalSage, MFMessage, mhamsterr, michaelcu, micheel665, MilenVolf, MilonPL, Minemoder5000, Minty642, Mirino97, mirrorcult, misandrie, MishaUnity, MissKay1994, MisterMecky, Mith-randalf, MjrLandWhale, mkanke-real, MLGTASTICa, moderatelyaware, modern-nm, mokiros, Moneyl, Moomoobeef, moony, Morb0, mr-bo-jangles, Mr0maks, MrFippik, mrrobdemo, muburu, MureixloI, musicmanvr, MWKane, Myakot, Myctai, N3X15, nails-n-tape, Nairodian, Naive817, NakataRin, namespace-Memory, Nannek, NazrinNya, neutrino-laser, NickPowers43, nikthechampiongr, Nimfar11, Nirnael, NIXC, NkoKirkto, nmajask, noctyrnal, noelkathegod, nok-ko, NonchalantNoob, NoobyLegion, Nopey, not-gavnaed, notafet, notquitehadouken, NotSoDana, noudoit, noverd, NuclearWinter, nukashimika, nuke-haus, NULL882, nullarmo, nyeogmi, Nylux, Nyranu, och-och, OctoRocket, OldDanceJacket, OliverOtter, onoira, OnyxTheBrave, OrangeMoronage9622, osjarw, Ostaf, othymer, OttoMaticode, Owai-Seek, packmore, paigemaeforrest, pali6, Pangogie, panzer-iv1, paolordls, partyaddict, patrikturi, PaulRitter, peccneck, Peptide90, peptron1, PeterFuto, PetMudstone, pewter-wiz, Pgriha, Phantom-Lily, pheenty, Phill101, phunnyguy, PilgrimViis, Pill-U, Pireax, Pissachu, pissdemon, PixeltheAertistContrib, PixelTheKermit, PJB3005, Plasmaguy, plinyvic, Plykiya, poeMota, pofitlo, pointer-to-null, pok27, PolterTzi, PoorMansDreams, PopGamer45, portfiend, potato1234x, PotentiallyTom, ProfanedBane, ProPandaBear, PrPleGoo, ps3moira, Pspritechologist, Psychpsyo, psykzz, PuceTint, PuroSlavKing, PursuitInAshes, Putnam3145, quatre, QueerNB, QuietlyWhisper, qwerltaz, RadioMull, Radosvik, Radrark, Rainbeon, Rainfey, Raitononai, Ramlik, RamZ, randy10122, Rane, Ranger6012, Rapidgame7, ravage123321, rbertoche, Redfire1331, Redict, RedlineTriad, redmushie, RednoWCirabrab, RemberBM, RemieRichards, RemTim, rene-descartes2021, Renlou, retequizzle, RiceMar1244, rich-dunne, RieBi, riggleprime, RIKELOLDABOSS, rinary1, Rinkashikachi, riolume, RobbyTheFish, Rockdtben, Rohesie, rok-povsic, rolfero, RomanNovo, rosieposieeee, Roudenn, router, RumiTiger, S1rFl0, S1ss3l, Saakra, Sadie-silly, saga3152, saintmuntzer, Salex08, sam, samgithubaccount, SaphireLattice, SapphicOverload, Sarahon, sativaleanne, SaveliyM360, sBasalto, ScalyChimp, ScarKy0, scrato, Scribbles0, scrivoy, scruq445, scuffedjays, ScumbagDog, Segonist, sephtasm, Serkket, sewerpig, sh18rw, ShadeAware, ShadowCommander, Shadowtheprotogen546, shaeone, shampunj, shariathotpatrol, SignalWalker, siigiil, Simyon264, sirdragooon, Sirionaut, Sk1tch, SkaldetSkaeg, Skarletto, Skrauz, Skyedra, SlamBamActionman, slarticodefast, Slava0135, Slyfox333, snebl, snicket, sniperchance, Snowni, snowsignal, SolidusSnek, SonicHDC, SoulFN, SoulSloth, Soundwavesghost, southbridge-fur, Soydium, SpaceLizardSky, SpaceManiac, SpaceyLady, Spanky, spanky-spanky, spartak, SpartanKadence, SpeltIncorrectyl, Spessmann, SphiraI, SplinterGP, spoogemonster, sporekto, sporkyz, ssdaniel24, stalengd, stanberytrask, Stanislav4ix, StanTheCarpenter, Stealthbomber16, stellar-novas, stomf, stopbreaking, stopka-html, StrawberryMoses, Stray-Pyramid, strO0pwafel, Strol20, StStevens, Subversionary, sunbear-dev, superjj18, Supernorn, SweptWasTaken, Sybil, SYNCHRONIC, Szunti, Tainakov, takemysoult, TaralGit, Taran, taurie, Tayrtahn, tday93, teamaki, TekuNut, telyonok, TemporalOroboros, tentekal, terezi4real, Terraspark4941, texcruize, TGODiamond, TGRCdev, tgrkzus, ThatOneGoblin25, thatrandomcanadianguy, TheArturZh, theashtronaut, thecopbennet, TheCze, TheDarkElites, thedraccx, TheEmber, TheIntoxicatedCat, thekilk, themias, theomund, theOperand, TherapyGoth, TheShuEd, thetolbean, thevinter, TheWaffleJesus, Thinbug0, ThunderBear2006, timothyteakettle, TimrodDX, timurjavid, tin-man-tim, Titian3, tk-a369, tkdrg, tmtmtl30, TokenStyle, Tollhouse, Toly65, tom-leys, tomasalves8, Tomeno, Tonydatguy, topy, Tornado-Technology, tosatur, TotallyLemon, tropicalhibi, truepaintgit, Truoizys, Tryded, TsjipTsjip, Tunguso4ka, TurboTrackerss14, TyAshley, Tyler-IN, Tyzemol, UbaserB, ubis1, UBlueberry, UKNOWH, UltimateJester, Unbelievable-Salmon, underscorex5, UnicornOnLSD, Unisol, Unkn0wnGh0st333, unusualcrow, Uriende, UristMcDorf, user424242420, Vaaankas, valentfingerov, Varen, VasilisThePikachu, veliebm, VelonacepsCalyxEggs, veprolet, veritable-calamity, Veritius, Vermidia, vero5123, Verslebas, VigersRay, violet754, Visne, VMSolidus, voidnull000, volotomite, volundr-, Voomra, Vordenburg, vorkathbruh, vulppine, wafehling, Warentan, WarMechanic, Watermelon914, waylon531, weaversam8, wertanchik, whateverusername0, Willhelm53, WilliamECrew, willicassi, Winkarst-cpu, wirdal, wixoaGit, WlarusFromDaSpace, wrexbe, wtcwr68, xkreksx, xprospero, xRiriq, YanehCheck, yathxyz, Ygg01, YotaXP, youarereadingthis, Yousifb26, youtissoum, YuriyKiss, zach-hill, Zadeon, zamp, Zandario, Zap527, Zealith-Gamer, ZelteHonor, zero, ZeroDiamond, zerorulez, ZeWaka, zionnBE, ZNixian, ZoldorfTheWizard, Zonespace27, Zylofan, Zymem, zzylex From 4252fdffb91050e375ac197067f7dcde09e7b168 Mon Sep 17 00:00:00 2001 From: slarticodefast <161409025+slarticodefast@users.noreply.github.com> Date: Sun, 27 Oct 2024 05:25:54 +0100 Subject: [PATCH 043/588] fix pie throwing sound not playing (#33017) --- Content.Server/Nutrition/EntitySystems/CreamPieSystem.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Content.Server/Nutrition/EntitySystems/CreamPieSystem.cs b/Content.Server/Nutrition/EntitySystems/CreamPieSystem.cs index a38e363603..2ff94760f6 100644 --- a/Content.Server/Nutrition/EntitySystems/CreamPieSystem.cs +++ b/Content.Server/Nutrition/EntitySystems/CreamPieSystem.cs @@ -41,7 +41,9 @@ public override void Initialize() protected override void SplattedCreamPie(EntityUid uid, CreamPieComponent creamPie) { - _audio.PlayPvs(_audio.GetSound(creamPie.Sound), uid, AudioParams.Default.WithVariation(0.125f)); + // The entity is deleted, so play the sound at its position rather than parenting + var coordinates = Transform(uid).Coordinates; + _audio.PlayPvs(_audio.GetSound(creamPie.Sound), coordinates, AudioParams.Default.WithVariation(0.125f)); if (EntityManager.TryGetComponent(uid, out FoodComponent? foodComp)) { From a1c36dcb792e9209e89bc5f324394779f88f5d6a Mon Sep 17 00:00:00 2001 From: PJBot Date: Sun, 27 Oct 2024 04:27:02 +0000 Subject: [PATCH 044/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 0c13b61dd8..18c2dc9657 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: IProduceWidgets - changes: - - message: butter is slippery - type: Tweak - id: 7056 - time: '2024-08-07T21:47:03.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/29772 - author: Mervill changes: - message: Gas Miners now have detailed examine text @@ -3957,3 +3950,10 @@ id: 7555 time: '2024-10-26T17:22:09.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/32636 +- author: slarticodefast + changes: + - message: Fixed pie throwing sound not playing. + type: Fix + id: 7556 + time: '2024-10-27T04:25:55.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33017 From 7e526da5219f56d785007a24c382bb87905f5604 Mon Sep 17 00:00:00 2001 From: Vasilis Date: Mon, 28 Oct 2024 00:35:23 +0100 Subject: [PATCH 045/588] Fix Bug With Uppercase Radio Keys (#32997) (master) (#33031) Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com> --- Content.Shared/Chat/SharedChatSystem.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Shared/Chat/SharedChatSystem.cs b/Content.Shared/Chat/SharedChatSystem.cs index 84b0e2266e..e5f3d46997 100644 --- a/Content.Shared/Chat/SharedChatSystem.cs +++ b/Content.Shared/Chat/SharedChatSystem.cs @@ -106,7 +106,7 @@ public void GetRadioKeycodePrefix(EntityUid source, if (!(input.StartsWith(RadioChannelPrefix) || input.StartsWith(RadioChannelAltPrefix))) return; - if (!_keyCodes.TryGetValue(input[1], out _)) + if (!_keyCodes.TryGetValue(char.ToLower(input[1]), out _)) return; prefix = input[..2]; From 08d007771946c13fe5c0607347b07d222db00232 Mon Sep 17 00:00:00 2001 From: FluffMe <1780586+FluffMe@users.noreply.github.com> Date: Mon, 28 Oct 2024 11:52:49 +0100 Subject: [PATCH 046/588] Fix TestSuicideByHeldItem and TestSuicideByHeldItemSpreadDamage (#33030) --- .../Tests/Commands/SuicideCommandTests.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Content.IntegrationTests/Tests/Commands/SuicideCommandTests.cs b/Content.IntegrationTests/Tests/Commands/SuicideCommandTests.cs index e1eef2be4a..cf88f3aacd 100644 --- a/Content.IntegrationTests/Tests/Commands/SuicideCommandTests.cs +++ b/Content.IntegrationTests/Tests/Commands/SuicideCommandTests.cs @@ -168,7 +168,7 @@ await server.WaitAssertion(() => await pair.CleanReturnAsync(); } - /// + /// /// Run the suicide command in the console /// Should only ghost the player but not kill them /// @@ -241,6 +241,7 @@ public async Task TestSuicideByHeldItem() var mindSystem = entManager.System(); var mobStateSystem = entManager.System(); var transformSystem = entManager.System(); + var damageableSystem = entManager.System(); // We need to know the player and whether they can be hurt, killed, and whether they have a mind var player = playerMan.Sessions.First().AttachedEntity!.Value; @@ -276,6 +277,8 @@ await server.WaitPost(() => // and that all the damage is concentrated in the Slash category await server.WaitAssertion(() => { + // Heal all damage first (possible low pressure damage taken) + damageableSystem.SetAllDamage(player, damageableComp, 0); consoleHost.GetSessionShell(playerMan.Sessions.First()).ExecuteCommand("suicide"); var lethalDamageThreshold = mobThresholdsComp.Thresholds.Keys.Last(); @@ -313,6 +316,7 @@ public async Task TestSuicideByHeldItemSpreadDamage() var mindSystem = entManager.System(); var mobStateSystem = entManager.System(); var transformSystem = entManager.System(); + var damageableSystem = entManager.System(); // We need to know the player and whether they can be hurt, killed, and whether they have a mind var player = playerMan.Sessions.First().AttachedEntity!.Value; @@ -348,6 +352,8 @@ await server.WaitPost(() => // and that slash damage is split in half await server.WaitAssertion(() => { + // Heal all damage first (possible low pressure damage taken) + damageableSystem.SetAllDamage(player, damageableComp, 0); consoleHost.GetSessionShell(playerMan.Sessions.First()).ExecuteCommand("suicide"); var lethalDamageThreshold = mobThresholdsComp.Thresholds.Keys.Last(); From ee445c49389a273e816b0e08c4ffdcf398b965df Mon Sep 17 00:00:00 2001 From: Theodore Lukin <66275205+pheenty@users.noreply.github.com> Date: Tue, 29 Oct 2024 00:36:35 +0700 Subject: [PATCH 047/588] make ai speak robotically (#33025) --- Resources/Prototypes/Entities/Mobs/Player/silicon.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml index 9f7e206c24..7391e5709f 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml @@ -70,6 +70,8 @@ canShuttle: false title: comms-console-announcement-title-station-ai color: "#2ed2fd" + - type: Speech + speechVerb: Robotic - type: entity id: AiHeldIntellicard From 24f79c3ecc6dca77e6096e760be1b4c6e2c0bf5a Mon Sep 17 00:00:00 2001 From: Stalen <33173619+stalengd@users.noreply.github.com> Date: Mon, 28 Oct 2024 21:00:00 +0300 Subject: [PATCH 048/588] Fix playtime formatting (#32974) --- .../Info/PlaytimeStats/PlaytimeStatsEntry.cs | 3 ++- .../Info/PlaytimeStats/PlaytimeStatsWindow.cs | 3 +-- .../ContentLocalizationManager.cs | 21 +++++++++++++++++++ .../DepartmentTimeRequirement.cs | 3 ++- .../OverallPlaytimeRequirement.cs | 3 ++- .../JobRequirement/RoleTimeRequirement.cs | 3 ++- Resources/Locale/en-US/_lib.ftl | 3 +++ .../Locale/en-US/info/playtime-stats.ftl | 3 +-- .../Locale/en-US/job/role-requirements.ftl | 1 - 9 files changed, 34 insertions(+), 9 deletions(-) diff --git a/Content.Client/Info/PlaytimeStats/PlaytimeStatsEntry.cs b/Content.Client/Info/PlaytimeStats/PlaytimeStatsEntry.cs index 16e8f55a7e..632ad8de4a 100644 --- a/Content.Client/Info/PlaytimeStats/PlaytimeStatsEntry.cs +++ b/Content.Client/Info/PlaytimeStats/PlaytimeStatsEntry.cs @@ -1,3 +1,4 @@ +using Content.Shared.Localizations; using Robust.Client.AutoGenerated; using Robust.Client.Graphics; using Robust.Client.UserInterface.Controls; @@ -16,7 +17,7 @@ public PlaytimeStatsEntry(string role, TimeSpan playtime, StyleBox styleBox) RoleLabel.Text = role; Playtime = playtime; // store the TimeSpan value directly - PlaytimeLabel.Text = playtime.ToString(Loc.GetString("ui-playtime-time-format")); // convert to string for display + PlaytimeLabel.Text = ContentLocalizationManager.FormatPlaytime(playtime); // convert to string for display BackgroundColorPanel.PanelOverride = styleBox; } diff --git a/Content.Client/Info/PlaytimeStats/PlaytimeStatsWindow.cs b/Content.Client/Info/PlaytimeStats/PlaytimeStatsWindow.cs index 1a530d950f..98241b2cca 100644 --- a/Content.Client/Info/PlaytimeStats/PlaytimeStatsWindow.cs +++ b/Content.Client/Info/PlaytimeStats/PlaytimeStatsWindow.cs @@ -104,8 +104,7 @@ private void PopulatePlaytimeData() { var overallPlaytime = _jobRequirementsManager.FetchOverallPlaytime(); - var formattedPlaytime = overallPlaytime.ToString(Loc.GetString("ui-playtime-time-format")); - OverallPlaytimeLabel.Text = Loc.GetString("ui-playtime-overall", ("time", formattedPlaytime)); + OverallPlaytimeLabel.Text = Loc.GetString("ui-playtime-overall", ("time", overallPlaytime)); var rolePlaytimes = _jobRequirementsManager.FetchPlaytimeByRoles(); diff --git a/Content.Shared/Localizations/ContentLocalizationManager.cs b/Content.Shared/Localizations/ContentLocalizationManager.cs index ad8890ae0f..e60ca74a37 100644 --- a/Content.Shared/Localizations/ContentLocalizationManager.cs +++ b/Content.Shared/Localizations/ContentLocalizationManager.cs @@ -36,6 +36,7 @@ public void Initialize() _loc.AddFunction(culture, "LOC", FormatLoc); _loc.AddFunction(culture, "NATURALFIXED", FormatNaturalFixed); _loc.AddFunction(culture, "NATURALPERCENT", FormatNaturalPercent); + _loc.AddFunction(culture, "PLAYTIME", FormatPlaytime); /* @@ -141,6 +142,16 @@ public static string FormatDirection(Direction dir) return Loc.GetString($"zzzz-fmt-direction-{dir.ToString()}"); } + /// + /// Formats playtime as hours and minutes. + /// + public static string FormatPlaytime(TimeSpan time) + { + var hours = (int)time.TotalHours; + var minutes = time.Minutes; + return Loc.GetString($"zzzz-fmt-playtime", ("hours", hours), ("minutes", minutes)); + } + private static ILocValue FormatLoc(LocArgs args) { var id = ((LocValueString) args.Args[0]).Value; @@ -229,5 +240,15 @@ private static ILocValue FormatUnits(LocArgs args) return new LocValueString(res); } + + private static ILocValue FormatPlaytime(LocArgs args) + { + var time = TimeSpan.Zero; + if (args.Args is { Count: > 0 } && args.Args[0].Value is TimeSpan timeArg) + { + time = timeArg; + } + return new LocValueString(FormatPlaytime(time)); + } } } diff --git a/Content.Shared/Roles/JobRequirement/DepartmentTimeRequirement.cs b/Content.Shared/Roles/JobRequirement/DepartmentTimeRequirement.cs index 78c6bd2517..8c86299210 100644 --- a/Content.Shared/Roles/JobRequirement/DepartmentTimeRequirement.cs +++ b/Content.Shared/Roles/JobRequirement/DepartmentTimeRequirement.cs @@ -1,4 +1,5 @@ using System.Diagnostics.CodeAnalysis; +using Content.Shared.Localizations; using Content.Shared.Preferences; using JetBrains.Annotations; using Robust.Shared.Prototypes; @@ -49,7 +50,7 @@ public override bool Check(IEntityManager entManager, var deptDiffSpan = Time - playtime; var deptDiff = deptDiffSpan.TotalMinutes; - var formattedDeptDiff = deptDiffSpan.ToString(Loc.GetString("role-timer-time-format")); + var formattedDeptDiff = ContentLocalizationManager.FormatPlaytime(deptDiffSpan); var nameDepartment = "role-timer-department-unknown"; if (protoManager.TryIndex(Department, out var departmentIndexed)) diff --git a/Content.Shared/Roles/JobRequirement/OverallPlaytimeRequirement.cs b/Content.Shared/Roles/JobRequirement/OverallPlaytimeRequirement.cs index ed985cadfb..67b3938e1a 100644 --- a/Content.Shared/Roles/JobRequirement/OverallPlaytimeRequirement.cs +++ b/Content.Shared/Roles/JobRequirement/OverallPlaytimeRequirement.cs @@ -1,4 +1,5 @@ using System.Diagnostics.CodeAnalysis; +using Content.Shared.Localizations; using Content.Shared.Players.PlayTimeTracking; using Content.Shared.Preferences; using JetBrains.Annotations; @@ -27,7 +28,7 @@ public override bool Check(IEntityManager entManager, var overallTime = playTimes.GetValueOrDefault(PlayTimeTrackingShared.TrackerOverall); var overallDiffSpan = Time - overallTime; var overallDiff = overallDiffSpan.TotalMinutes; - var formattedOverallDiff = overallDiffSpan.ToString(Loc.GetString("role-timer-time-format")); + var formattedOverallDiff = ContentLocalizationManager.FormatPlaytime(overallDiffSpan); if (!Inverted) { diff --git a/Content.Shared/Roles/JobRequirement/RoleTimeRequirement.cs b/Content.Shared/Roles/JobRequirement/RoleTimeRequirement.cs index 23498ab91a..e75a18f011 100644 --- a/Content.Shared/Roles/JobRequirement/RoleTimeRequirement.cs +++ b/Content.Shared/Roles/JobRequirement/RoleTimeRequirement.cs @@ -1,4 +1,5 @@ using System.Diagnostics.CodeAnalysis; +using Content.Shared.Localizations; using Content.Shared.Players.PlayTimeTracking; using Content.Shared.Preferences; using Content.Shared.Roles.Jobs; @@ -36,7 +37,7 @@ public override bool Check(IEntityManager entManager, playTimes.TryGetValue(proto, out var roleTime); var roleDiffSpan = Time - roleTime; var roleDiff = roleDiffSpan.TotalMinutes; - var formattedRoleDiff = roleDiffSpan.ToString(Loc.GetString("role-timer-time-format")); + var formattedRoleDiff = ContentLocalizationManager.FormatPlaytime(roleDiffSpan); var departmentColor = Color.Yellow; if (entManager.EntitySysManager.TryGetEntitySystem(out SharedJobSystem? jobSystem)) diff --git a/Resources/Locale/en-US/_lib.ftl b/Resources/Locale/en-US/_lib.ftl index c901d0f461..5c6f73af66 100644 --- a/Resources/Locale/en-US/_lib.ftl +++ b/Resources/Locale/en-US/_lib.ftl @@ -31,3 +31,6 @@ zzzz-fmt-power-joules = { TOSTRING($divided, "F1") } { $places -> [4] TJ *[5] ??? } + +# Used internally by the PLAYTIME() function. +zzzz-fmt-playtime = {$hours}H {$minutes}M \ No newline at end of file diff --git a/Resources/Locale/en-US/info/playtime-stats.ftl b/Resources/Locale/en-US/info/playtime-stats.ftl index 85508c1d09..b4925176a7 100644 --- a/Resources/Locale/en-US/info/playtime-stats.ftl +++ b/Resources/Locale/en-US/info/playtime-stats.ftl @@ -2,9 +2,8 @@ ui-playtime-stats-title = User Playtime Stats ui-playtime-overall-base = Overall Playtime: -ui-playtime-overall = Overall Playtime: {$time} +ui-playtime-overall = Overall Playtime: {PLAYTIME($time)} ui-playtime-first-time = First Time Playing ui-playtime-roles = Playtime per Role -ui-playtime-time-format = %h\H\ %m\M ui-playtime-header-role-type = Role ui-playtime-header-role-time = Time diff --git a/Resources/Locale/en-US/job/role-requirements.ftl b/Resources/Locale/en-US/job/role-requirements.ftl index 79a216fcca..686fcb93cb 100644 --- a/Resources/Locale/en-US/job/role-requirements.ftl +++ b/Resources/Locale/en-US/job/role-requirements.ftl @@ -4,7 +4,6 @@ role-timer-overall-insufficient = You require [color=yellow]{$time}[/color] more role-timer-overall-too-high = You require [color=yellow]{$time}[/color] less overall playtime to play this role. (Are you trying to play a trainee role?) role-timer-role-insufficient = You require [color=yellow]{$time}[/color] more playtime with [color={$departmentColor}]{$job}[/color] to play this role. role-timer-role-too-high = You require[color=yellow] {$time}[/color] less playtime with [color={$departmentColor}]{$job}[/color] to play this role. (Are you trying to play a trainee role?) -role-timer-time-format = %h\H\ %m\M role-timer-age-too-old = Your character must be under the age of [color=yellow]{$age}[/color] to play this role. role-timer-age-too-young = Your character must be over the age of [color=yellow]{$age}[/color] to play this role. role-timer-whitelisted-species = Your character must be one of the following species to play this role: From f86798792b9c5943b7e3840863a7bc80708137a3 Mon Sep 17 00:00:00 2001 From: PJBot Date: Mon, 28 Oct 2024 18:01:10 +0000 Subject: [PATCH 049/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 18c2dc9657..f1a923f0c6 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Mervill - changes: - - message: Gas Miners now have detailed examine text - type: Tweak - id: 7057 - time: '2024-08-08T02:14:31.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30480 - author: BackeTako changes: - message: "!, \u203D and multiple punctuations now work for Spanish." @@ -3957,3 +3950,11 @@ id: 7556 time: '2024-10-27T04:25:55.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33017 +- author: stalengd + changes: + - message: Fixed playtime labels not being able to correctly display time greater + than 24 hours + type: Fix + id: 7557 + time: '2024-10-28T18:00:00.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/32974 From 67332502c1e336366bb14b9391527780271edfa3 Mon Sep 17 00:00:00 2001 From: August Sun <45527070+august-sun@users.noreply.github.com> Date: Mon, 28 Oct 2024 15:25:33 -0600 Subject: [PATCH 050/588] Extends the minimum round time for meteor swarm events (#32876) * adjusted minimum timers in meteorswarms.yml * Updated timer minimum from 20 to 15 minutes * Reduced minimum timer to 10 minutes as a result of other meteor changes --------- Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com> --- Resources/Prototypes/GameRules/meteorswarms.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/GameRules/meteorswarms.yml b/Resources/Prototypes/GameRules/meteorswarms.yml index 6cfcc536bd..8edee88627 100644 --- a/Resources/Prototypes/GameRules/meteorswarms.yml +++ b/Resources/Prototypes/GameRules/meteorswarms.yml @@ -57,7 +57,7 @@ components: - type: GameRule - type: BasicStationEventScheduler - minimumTimeUntilFirstEvent: 300 # 5 min + minimumTimeUntilFirstEvent: 600 # 10 min minMaxEventTiming: min: 750 # 12.5 min max: 930 # 17.5 min @@ -70,7 +70,7 @@ components: - type: GameRule - type: BasicStationEventScheduler - minimumTimeUntilFirstEvent: 300 # 5 min + minimumTimeUntilFirstEvent: 600 # 10 min minMaxEventTiming: min: 750 # 12.5 min max: 930 # 17.5 min From 1ef5b2226a3b9bdf23d77474bd73290f9f70ebf7 Mon Sep 17 00:00:00 2001 From: PJBot Date: Mon, 28 Oct 2024 21:26:41 +0000 Subject: [PATCH 051/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index f1a923f0c6..9d5b5b11b9 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: BackeTako - changes: - - message: "!, \u203D and multiple punctuations now work for Spanish." - type: Tweak - id: 7058 - time: '2024-08-08T03:08:28.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30551 - author: strO0pwafel changes: - message: Fixed inconsistent naming of CentComm. @@ -3958,3 +3951,10 @@ id: 7557 time: '2024-10-28T18:00:00.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/32974 +- author: august-sun + changes: + - message: Extended the minimum round time for meteor swarm events. + type: Tweak + id: 7558 + time: '2024-10-28T21:25:34.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/32876 From 30017bc2d8af8c1eabcd4b74ff63cff5daec04ca Mon Sep 17 00:00:00 2001 From: joshepvodka <86210200+joshepvodka@users.noreply.github.com> Date: Mon, 28 Oct 2024 19:03:13 -0300 Subject: [PATCH 052/588] Adds beacon to cog station vox box (#33000) * added vox beacon * changed name to vox break room * added vox box station beacon --- .../Locale/en-US/navmap-beacons/station-beacons.ftl | 1 + Resources/Maps/cog.yml | 9 ++++++++- .../Entities/Objects/Devices/station_beacon.yml | 8 ++++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/Resources/Locale/en-US/navmap-beacons/station-beacons.ftl b/Resources/Locale/en-US/navmap-beacons/station-beacons.ftl index 9d0919d102..4e7a8b235b 100644 --- a/Resources/Locale/en-US/navmap-beacons/station-beacons.ftl +++ b/Resources/Locale/en-US/navmap-beacons/station-beacons.ftl @@ -73,3 +73,4 @@ station-beacon-tools = Tools station-beacon-disposals = Disposals station-beacon-cryosleep = Cryosleep station-beacon-escape-pod = Escape Pod +station-beacon-vox = Vox Break Room diff --git a/Resources/Maps/cog.yml b/Resources/Maps/cog.yml index 384c60f599..888b4e7e5e 100644 --- a/Resources/Maps/cog.yml +++ b/Resources/Maps/cog.yml @@ -16747,7 +16747,7 @@ entities: pos: -44.5,68.5 parent: 12 - type: Door - secondsUntilStateChange: -5764.909 + secondsUntilStateChange: -5937.642 state: Opening - type: DeviceLinkSource lastSignals: @@ -84185,6 +84185,13 @@ entities: - type: Transform pos: -30.5,9.5 parent: 12 +- proto: DefaultStationBeaconVox + entities: + - uid: 30179 + components: + - type: Transform + pos: 4.5,69.5 + parent: 12 - proto: DefaultStationBeaconWardensOffice entities: - uid: 20823 diff --git a/Resources/Prototypes/Entities/Objects/Devices/station_beacon.yml b/Resources/Prototypes/Entities/Objects/Devices/station_beacon.yml index 19eab391ac..836ce7ff14 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/station_beacon.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/station_beacon.yml @@ -639,3 +639,11 @@ components: - type: NavMapBeacon defaultText: station-beacon-escape-pod + +- type: entity + parent: DefaultStationBeacon + id: DefaultStationBeaconVox + suffix: Vox + components: + - type: NavMapBeacon + defaultText: station-beacon-vox From 93315d46957957ab290977f6a21cd50365b29d1d Mon Sep 17 00:00:00 2001 From: joshepvodka <86210200+joshepvodka@users.noreply.github.com> Date: Mon, 28 Oct 2024 19:04:10 -0300 Subject: [PATCH 053/588] Adds beacon to box station's vox box (#33001) * added vox beacon * changed name to vox break room * added vox box station beacon --- Resources/Maps/box.yml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Resources/Maps/box.yml b/Resources/Maps/box.yml index 2918b26110..a56b0d6471 100644 --- a/Resources/Maps/box.yml +++ b/Resources/Maps/box.yml @@ -11584,7 +11584,7 @@ entities: pos: 24.5,16.5 parent: 8364 - type: Door - secondsUntilStateChange: -18243.016 + secondsUntilStateChange: -18318.04 state: Opening - type: DeviceLinkSource lastSignals: @@ -72442,6 +72442,13 @@ entities: - type: Transform pos: -31.5,4.5 parent: 8364 +- proto: DefaultStationBeaconVox + entities: + - uid: 27921 + components: + - type: Transform + pos: -42.5,-11.5 + parent: 8364 - proto: DefaultStationBeaconWardensOffice entities: - uid: 27736 @@ -84431,7 +84438,7 @@ entities: pos: -34.5,-14.5 parent: 8364 - type: Door - secondsUntilStateChange: -12431.553 + secondsUntilStateChange: -12506.576 state: Closing - uid: 15010 components: @@ -84924,7 +84931,7 @@ entities: pos: -4.5,-71.5 parent: 8364 - type: Door - secondsUntilStateChange: -4179.284 + secondsUntilStateChange: -4254.308 state: Closing - proto: Fireplace entities: From e900ad7742a96697ce960a343e0a55fc9e7df8e0 Mon Sep 17 00:00:00 2001 From: joshepvodka <86210200+joshepvodka@users.noreply.github.com> Date: Mon, 28 Oct 2024 19:04:37 -0300 Subject: [PATCH 054/588] Adds beacon to bagel station's vox box (#33002) * added vox beacon * changed name to vox break room * added voxbox station beacon --- Resources/Maps/bagel.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/Resources/Maps/bagel.yml b/Resources/Maps/bagel.yml index d661e097c3..764c03b71b 100644 --- a/Resources/Maps/bagel.yml +++ b/Resources/Maps/bagel.yml @@ -62944,11 +62944,6 @@ entities: - type: Transform pos: 35.5,16.5 parent: 60 - - uid: 24676 - components: - - type: Transform - pos: 11.5,-11.5 - parent: 60 - proto: DefaultStationBeaconAICore entities: - uid: 18703 @@ -63342,6 +63337,13 @@ entities: - type: Transform pos: 3.5,-6.5 parent: 60 +- proto: DefaultStationBeaconVox + entities: + - uid: 23890 + components: + - type: Transform + pos: 11.5,-11.5 + parent: 60 - proto: DefaultStationBeaconWardensOffice entities: - uid: 24426 From dbef6cbeccb24240506604d65acd7624017c4621 Mon Sep 17 00:00:00 2001 From: joshepvodka <86210200+joshepvodka@users.noreply.github.com> Date: Mon, 28 Oct 2024 19:04:49 -0300 Subject: [PATCH 055/588] Adds beacon to oasis station's vox box (#33003) * added vox beacon * changed name to vox break room * added vox box station beacon --- Resources/Maps/oasis.yml | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/Resources/Maps/oasis.yml b/Resources/Maps/oasis.yml index 15a719bb53..0b5a6bec70 100644 --- a/Resources/Maps/oasis.yml +++ b/Resources/Maps/oasis.yml @@ -14470,7 +14470,7 @@ entities: lastSignals: DoorStatus: True - type: Door - secondsUntilStateChange: -76151.9 + secondsUntilStateChange: -76213.97 state: Opening - uid: 6934 components: @@ -14482,7 +14482,7 @@ entities: lastSignals: DoorStatus: True - type: Door - secondsUntilStateChange: -76154.53 + secondsUntilStateChange: -76216.6 state: Opening - uid: 6935 components: @@ -14494,7 +14494,7 @@ entities: lastSignals: DoorStatus: True - type: Door - secondsUntilStateChange: -76153.38 + secondsUntilStateChange: -76215.45 state: Opening - uid: 6936 components: @@ -14505,7 +14505,7 @@ entities: lastSignals: DoorStatus: True - type: Door - secondsUntilStateChange: -76152.6 + secondsUntilStateChange: -76214.67 state: Opening - proto: AirlockTheatreLocked entities: @@ -81255,6 +81255,13 @@ entities: - type: Transform pos: -54.5,-11.5 parent: 2 +- proto: DefaultStationBeaconVox + entities: + - uid: 29615 + components: + - type: Transform + pos: -14.5,17.5 + parent: 2 - proto: DefaultStationBeaconWardensOffice entities: - uid: 11912 @@ -94258,7 +94265,7 @@ entities: pos: -13.5,-1.5 parent: 2 - type: Door - secondsUntilStateChange: -67475.88 + secondsUntilStateChange: -67537.95 - type: DeviceNetwork deviceLists: - 18275 @@ -138807,7 +138814,7 @@ entities: pos: 36.5,-35.5 parent: 2 - type: Door - secondsUntilStateChange: -104307.73 + secondsUntilStateChange: -104369.8 state: Opening - uid: 5211 components: @@ -190162,7 +190169,7 @@ entities: pos: 24.5,2.5 parent: 21002 - type: Door - secondsUntilStateChange: -449512.38 + secondsUntilStateChange: -449574.44 state: Opening - uid: 28863 components: From 7ac2d9a8bd01b39ee953ba05900a98cf130dd940 Mon Sep 17 00:00:00 2001 From: joshepvodka <86210200+joshepvodka@users.noreply.github.com> Date: Mon, 28 Oct 2024 19:05:01 -0300 Subject: [PATCH 056/588] Adds beacon to core station's vox box (#33004) * added vox beacon * changed name to vox break room * added vox box station beacon * fixes messed up diff --- Resources/Maps/core.yml | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Resources/Maps/core.yml b/Resources/Maps/core.yml index 1c5b67b500..2198854499 100644 --- a/Resources/Maps/core.yml +++ b/Resources/Maps/core.yml @@ -63749,6 +63749,13 @@ entities: - type: Transform pos: 54.5,-33.5 parent: 2 +- proto: DefaultStationBeaconVox + entities: + - uid: 16173 + components: + - type: Transform + pos: -31.5,-2.5 + parent: 2 - proto: DefaultStationBeaconWardensOffice entities: - uid: 20871 @@ -106044,11 +106051,11 @@ entities: After several simulations where Superconducting Magnetic Energy Storage units were drained from the main system from [italic]a variety[/italic] of user errors and other shenanigans, it has been determined that the Singularity should be put on its own power loop, disconnected from the main station. The upsides of this include but are not limited to: - [bold]1.[/bold] Limited external forces from the containments power. + [bold]1.[/bold] Limited external forces from the containments power. - [bold]2.[/bold] An "early warning" system, if you see JUST the PA room run out of power, you know there is an issue. + [bold]2.[/bold] An "early warning" system, if you see JUST the PA room run out of power, you know there is an issue. - [bold]3.[/bold] Due to being on its own small loop, its much easier to spot faults in the system. + [bold]3.[/bold] Due to being on its own small loop, its much easier to spot faults in the system. [italic]While we have listed the upsides we also acknowledge the downside,[/italic] for it being on its own loop you will need an external force if the system "runs out of juice". Our recommendation for this is simply attaching a generator to said SMES and letting it get to full charge before continuing operations but as said from another of our technicians... "just attach it to the main grid for like, a hot moment, and kickstart the thing!" From dc3a2f6d28c50abaab5453fd1aabe79e1b2ff859 Mon Sep 17 00:00:00 2001 From: lzk <124214523+lzk228@users.noreply.github.com> Date: Mon, 28 Oct 2024 23:21:14 +0100 Subject: [PATCH 057/588] add StartDelay bool to actions (#33026) * add StartDelay bool to actions * forgot summary --- Content.Server/Ghost/GhostSystem.cs | 9 +-------- Content.Shared/Actions/BaseActionComponent.cs | 5 +++++ Content.Shared/Actions/SharedActionsSystem.cs | 3 +++ Content.Shared/Bed/Sleep/SleepingSystem.cs | 3 --- Resources/Prototypes/Actions/types.yml | 2 ++ Resources/Prototypes/Entities/Mobs/Player/observer.yml | 1 + 6 files changed, 12 insertions(+), 11 deletions(-) diff --git a/Content.Server/Ghost/GhostSystem.cs b/Content.Server/Ghost/GhostSystem.cs index 85fec0d7d1..2f4269a05d 100644 --- a/Content.Server/Ghost/GhostSystem.cs +++ b/Content.Server/Ghost/GhostSystem.cs @@ -213,14 +213,7 @@ private void SetCanSeeGhosts(EntityUid uid, bool canSee, EyeComponent? eyeCompon private void OnMapInit(EntityUid uid, GhostComponent component, MapInitEvent args) { - if (_actions.AddAction(uid, ref component.BooActionEntity, out var act, component.BooAction) - && act.UseDelay != null) - { - var start = _gameTiming.CurTime; - var end = start + act.UseDelay.Value; - _actions.SetCooldown(component.BooActionEntity.Value, start, end); - } - + _actions.AddAction(uid, ref component.BooActionEntity, component.BooAction); _actions.AddAction(uid, ref component.ToggleGhostHearingActionEntity, component.ToggleGhostHearingAction); _actions.AddAction(uid, ref component.ToggleLightingActionEntity, component.ToggleLightingAction); _actions.AddAction(uid, ref component.ToggleFoVActionEntity, component.ToggleFoVAction); diff --git a/Content.Shared/Actions/BaseActionComponent.cs b/Content.Shared/Actions/BaseActionComponent.cs index 01452bdc72..c3aa6cc97e 100644 --- a/Content.Shared/Actions/BaseActionComponent.cs +++ b/Content.Shared/Actions/BaseActionComponent.cs @@ -76,6 +76,11 @@ public abstract partial class BaseActionComponent : Component // TODO serialization public (TimeSpan Start, TimeSpan End)? Cooldown; + /// + /// If true, the action will have an initial cooldown applied upon addition. + /// + [DataField] public bool StartDelay = false; + /// /// Time interval between action uses. /// diff --git a/Content.Shared/Actions/SharedActionsSystem.cs b/Content.Shared/Actions/SharedActionsSystem.cs index 76b8a1b081..fc6f0baf77 100644 --- a/Content.Shared/Actions/SharedActionsSystem.cs +++ b/Content.Shared/Actions/SharedActionsSystem.cs @@ -813,6 +813,9 @@ public bool AddActionDirect(EntityUid performer, if (action.AttachedEntity != null) RemoveAction(action.AttachedEntity.Value, actionId, action: action); + if (action.StartDelay && action.UseDelay != null) + SetCooldown(actionId, action.UseDelay.Value); + DebugTools.AssertOwner(performer, comp); comp ??= EnsureComp(performer); action.AttachedEntity = performer; diff --git a/Content.Shared/Bed/Sleep/SleepingSystem.cs b/Content.Shared/Bed/Sleep/SleepingSystem.cs index 6a04bfe42d..90e1fd38e8 100644 --- a/Content.Shared/Bed/Sleep/SleepingSystem.cs +++ b/Content.Shared/Bed/Sleep/SleepingSystem.cs @@ -130,9 +130,6 @@ private void OnMapInit(Entity ent, ref MapInitEvent args) RaiseLocalEvent(ent, ref ev); _blindableSystem.UpdateIsBlind(ent.Owner); _actionsSystem.AddAction(ent, ref ent.Comp.WakeAction, WakeActionId, ent); - - // TODO remove hardcoded time. - _actionsSystem.SetCooldown(ent.Comp.WakeAction, _gameTiming.CurTime, _gameTiming.CurTime + TimeSpan.FromSeconds(2f)); } private void OnSpeakAttempt(Entity ent, ref SpeakAttemptEvent args) diff --git a/Resources/Prototypes/Actions/types.yml b/Resources/Prototypes/Actions/types.yml index 5430a3f005..d80e36bde1 100644 --- a/Resources/Prototypes/Actions/types.yml +++ b/Resources/Prototypes/Actions/types.yml @@ -280,6 +280,8 @@ checkCanInteract: false checkConsciousness: false event: !type:WakeActionEvent + startDelay: true + useDelay: 2 - type: entity id: ActionActivateHonkImplant diff --git a/Resources/Prototypes/Entities/Mobs/Player/observer.yml b/Resources/Prototypes/Entities/Mobs/Player/observer.yml index 397061defe..d7c5dfe97b 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/observer.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/observer.yml @@ -79,6 +79,7 @@ icon: Interface/Actions/scream.png checkCanInteract: false event: !type:BooActionEvent + startDelay: true useDelay: 120 - type: entity From 6236d1abb32ee7e72a29e3990bc163dd0d66190d Mon Sep 17 00:00:00 2001 From: Moomoobeef <62638182+Moomoobeef@users.noreply.github.com> Date: Mon, 28 Oct 2024 15:35:48 -0700 Subject: [PATCH 058/588] Updated an incorrect sprite in the smite menu (#33043) changed the synth sprite used in the icon for the instrumentify smite out for the more accurate supersynth sprite --- Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs b/Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs index d81699c82d..2187cbd68f 100644 --- a/Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs +++ b/Content.Server/Administration/Systems/AdminVerbSystem.Smites.cs @@ -651,7 +651,7 @@ private void AddSmiteVerbs(GetVerbsEvent args) { Text = "admin-smite-become-mouse-name", Category = VerbCategory.Smite, - Icon = new SpriteSpecifier.Rsi(new ("/Textures/Objects/Fun/Instruments/h_synthesizer.rsi"), "icon"), + Icon = new SpriteSpecifier.Rsi(new ("/Textures/Objects/Fun/Instruments/h_synthesizer.rsi"), "supersynth"), Act = () => { _polymorphSystem.PolymorphEntity(args.Target, "AdminInstrumentSmite"); From 63f8aba359e2916806ca0c2e939bc7429067c7ca Mon Sep 17 00:00:00 2001 From: deltanedas <39013340+deltanedas@users.noreply.github.com> Date: Tue, 29 Oct 2024 05:00:28 +0000 Subject: [PATCH 059/588] fix lava expeds (#33042) Co-authored-by: deltanedas <@deltanedas:kde.org> --- Resources/Prototypes/Procedural/dungeon_configs.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Resources/Prototypes/Procedural/dungeon_configs.yml b/Resources/Prototypes/Procedural/dungeon_configs.yml index b55d5a9e69..d75581bbc2 100644 --- a/Resources/Prototypes/Procedural/dungeon_configs.yml +++ b/Resources/Prototypes/Procedural/dungeon_configs.yml @@ -127,6 +127,8 @@ Junction: BaseAirlock WallMounts: ScienceLabsWalls Window: BaseWindow + tiles: + FallbackTile: FloorDark whitelists: Rooms: tags: From a5a5840ee0c0412fbe97d55e91b35b7b599d50a3 Mon Sep 17 00:00:00 2001 From: PJBot Date: Tue, 29 Oct 2024 05:01:37 +0000 Subject: [PATCH 060/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 9d5b5b11b9..434cac533a 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: strO0pwafel - changes: - - message: Fixed inconsistent naming of CentComm. - type: Fix - id: 7059 - time: '2024-08-08T10:04:20.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/29217 - author: Plykiya changes: - message: Buffed the range of EMP implants from a radius of 1.75 tiles to 2.75 @@ -3958,3 +3951,10 @@ id: 7558 time: '2024-10-28T21:25:34.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/32876 +- author: deltanedas + changes: + - message: Fixed lava planet expeditions not working. + type: Fix + id: 7559 + time: '2024-10-29T05:00:29.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33042 From 94e686ca9c37b91c83d18c43f4c5956c2d32b6bc Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Tue, 29 Oct 2024 16:07:57 +1100 Subject: [PATCH 061/588] Fix separated game screen bumping (#33046) I don't really understand why RecordedSplitContainer exists but removing it looks identical and fixes the panel bumping occasionally. --- Content.Client/Mapping/MappingScreen.xaml | 4 +-- Content.Client/Mapping/MappingScreen.xaml.cs | 1 - .../Controls/RecordedSplitContainer.cs | 29 ------------------- .../Screens/SeparatedChatGameScreen.xaml | 6 ++-- .../Screens/SeparatedChatGameScreen.xaml.cs | 1 - 5 files changed, 5 insertions(+), 36 deletions(-) delete mode 100644 Content.Client/UserInterface/Controls/RecordedSplitContainer.cs diff --git a/Content.Client/Mapping/MappingScreen.xaml b/Content.Client/Mapping/MappingScreen.xaml index 9cc3e734f0..bad492e7e4 100644 --- a/Content.Client/Mapping/MappingScreen.xaml +++ b/Content.Client/Mapping/MappingScreen.xaml @@ -8,7 +8,7 @@ VerticalExpand="False" VerticalAlignment="Bottom" HorizontalAlignment="Center"> - @@ -82,5 +82,5 @@ - + diff --git a/Content.Client/Mapping/MappingScreen.xaml.cs b/Content.Client/Mapping/MappingScreen.xaml.cs index 46c0e51fad..20e2528a44 100644 --- a/Content.Client/Mapping/MappingScreen.xaml.cs +++ b/Content.Client/Mapping/MappingScreen.xaml.cs @@ -197,7 +197,6 @@ private void RefreshList() public override void SetChatSize(Vector2 size) { - ScreenContainer.DesiredSplitCenter = size.X; ScreenContainer.ResizeMode = SplitContainer.SplitResizeMode.RespectChildrenMinSize; } diff --git a/Content.Client/UserInterface/Controls/RecordedSplitContainer.cs b/Content.Client/UserInterface/Controls/RecordedSplitContainer.cs deleted file mode 100644 index fd217bc7e8..0000000000 --- a/Content.Client/UserInterface/Controls/RecordedSplitContainer.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System.Numerics; -using Robust.Client.UserInterface.Controls; - -namespace Content.Client.UserInterface.Controls; - -/// -/// A split container that performs an action when the split resizing is finished. -/// -public sealed class RecordedSplitContainer : SplitContainer -{ - public double? DesiredSplitCenter; - - protected override Vector2 ArrangeOverride(Vector2 finalSize) - { - if (ResizeMode == SplitResizeMode.RespectChildrenMinSize - && DesiredSplitCenter != null - && !finalSize.Equals(Vector2.Zero)) - { - SplitFraction = (float) DesiredSplitCenter.Value; - - if (!Size.Equals(Vector2.Zero)) - { - DesiredSplitCenter = null; - } - } - - return base.ArrangeOverride(finalSize); - } -} diff --git a/Content.Client/UserInterface/Screens/SeparatedChatGameScreen.xaml b/Content.Client/UserInterface/Screens/SeparatedChatGameScreen.xaml index 7f1d1bcd5b..653302fae4 100644 --- a/Content.Client/UserInterface/Screens/SeparatedChatGameScreen.xaml +++ b/Content.Client/UserInterface/Screens/SeparatedChatGameScreen.xaml @@ -14,7 +14,7 @@ VerticalExpand="False" VerticalAlignment="Bottom" HorizontalAlignment="Center"> - + @@ -26,7 +26,7 @@ - + @@ -36,5 +36,5 @@ - + diff --git a/Content.Client/UserInterface/Screens/SeparatedChatGameScreen.xaml.cs b/Content.Client/UserInterface/Screens/SeparatedChatGameScreen.xaml.cs index e04d377d32..2892ca4425 100644 --- a/Content.Client/UserInterface/Screens/SeparatedChatGameScreen.xaml.cs +++ b/Content.Client/UserInterface/Screens/SeparatedChatGameScreen.xaml.cs @@ -40,7 +40,6 @@ private void ResizeActionContainer() public override void SetChatSize(Vector2 size) { - ScreenContainer.DesiredSplitCenter = size.X; ScreenContainer.ResizeMode = SplitContainer.SplitResizeMode.RespectChildrenMinSize; } } From a8c512c769f741a8040989f39813f382154f36f5 Mon Sep 17 00:00:00 2001 From: PJBot Date: Tue, 29 Oct 2024 05:09:03 +0000 Subject: [PATCH 062/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 434cac533a..6131e0e6f4 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,14 +1,4 @@ Entries: -- author: Plykiya - changes: - - message: Buffed the range of EMP implants from a radius of 1.75 tiles to 2.75 - tiles. - type: Tweak - - message: Buffed the range of EMP grenades from a radius of 4 tiles to 5.5 tiles. - type: Tweak - id: 7060 - time: '2024-08-08T10:04:50.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30660 - author: Plykiya changes: - message: You can drop food or drinks from your hands to interrupt eating it, again. @@ -3958,3 +3948,10 @@ id: 7559 time: '2024-10-29T05:00:29.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33042 +- author: metalgearsloth + changes: + - message: Fix separated game screen bumping slightly. + type: Fix + id: 7560 + time: '2024-10-29T05:07:57.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33046 From 907a9cef10bf4f0309bf2f0c6384a9bb60882f16 Mon Sep 17 00:00:00 2001 From: Preston Smith <92108534+thetolbean@users.noreply.github.com> Date: Tue, 29 Oct 2024 19:52:43 -0500 Subject: [PATCH 063/588] Fix: Make Plushie Damage Unexaminable (#33061) Set hidden to true --- Resources/Prototypes/Entities/Objects/Fun/toys.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Prototypes/Entities/Objects/Fun/toys.yml b/Resources/Prototypes/Entities/Objects/Fun/toys.yml index 4993614964..c3ef0d0329 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/toys.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/toys.yml @@ -35,6 +35,7 @@ damage: types: Blunt: 0 + hidden: true - type: PhysicalComposition materialComposition: Cloth: 100 From 440da3c640d0c5db3653cab56a165cfcd359c9d0 Mon Sep 17 00:00:00 2001 From: Milon Date: Wed, 30 Oct 2024 02:03:06 +0100 Subject: [PATCH 064/588] fix chameleon projector bot whitelist (#33055) fix --- .../Prototypes/Entities/Objects/Devices/chameleon_projector.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Prototypes/Entities/Objects/Devices/chameleon_projector.yml b/Resources/Prototypes/Entities/Objects/Devices/chameleon_projector.yml index 99d58c6a3a..f07ae63569 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/chameleon_projector.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/chameleon_projector.yml @@ -12,6 +12,7 @@ components: - Anchorable - Item + tags: - Bot # for funny bot moments blacklist: components: From 3d70cdf23c17384d81cdf495c3075f9b02d8ab91 Mon Sep 17 00:00:00 2001 From: Flareguy <78941145+Flareguy@users.noreply.github.com> Date: Tue, 29 Oct 2024 22:12:49 -0500 Subject: [PATCH 065/588] =?UTF-8?q?Various=20Vaugely=20Connected=20Sprite?= =?UTF-8?q?=20Updates=E2=84=A2:=20Encryption=20Keys,=20Station=20Map,=20Br?= =?UTF-8?q?ig=20Timer=20(#32786)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * various resprites (encryption keys + signal screens + station map) * brig timer update * fixes n shit --- .../Entities/Structures/Wallmounts/timer.yml | 4 +-- .../encryption_keys.rsi/crypt_blue.png | Bin 505 -> 311 bytes .../encryption_keys.rsi/crypt_gold.png | Bin 501 -> 307 bytes .../encryption_keys.rsi/crypt_gray.png | Bin 509 -> 300 bytes .../encryption_keys.rsi/crypt_orange.png | Bin 507 -> 313 bytes .../Devices/encryption_keys.rsi/crypt_red.png | Bin 499 -> 286 bytes .../encryption_keys.rsi/crypt_rusted.png | Bin 636 -> 514 bytes .../encryption_keys.rsi/crypt_silver.png | Bin 512 -> 313 bytes .../Devices/encryption_keys.rsi/meta.json | 2 +- .../Objects/Devices/tablets.rsi/generic.png | Bin 271 -> 230 bytes .../Objects/Devices/tablets.rsi/meta.json | 27 +++++++++++++++++- .../Objects/Devices/tablets.rsi/tablet.png | Bin 348 -> 302 bytes .../Objects/Devices/tablets.rsi/tabletsol.png | Bin 414 -> 389 bytes .../Machines/station_map.rsi/meta.json | 2 +- .../Machines/station_map.rsi/station_map0.png | Bin 15417 -> 2926 bytes .../station_map.rsi/station_map_broken.png | Bin 16171 -> 609 bytes .../station_map.rsi/station_map_frame0.png | Bin 15800 -> 423 bytes .../station_map.rsi/station_map_frame1.png | Bin 16488 -> 642 bytes .../station_map.rsi/station_map_frame2.png | Bin 16277 -> 341 bytes .../Wallmounts/signalscreen.rsi/meta.json | 2 +- .../signalscreen.rsi/signalscreen.png | Bin 870 -> 286 bytes 21 files changed, 31 insertions(+), 6 deletions(-) diff --git a/Resources/Prototypes/Entities/Structures/Wallmounts/timer.yml b/Resources/Prototypes/Entities/Structures/Wallmounts/timer.yml index 595915202d..1f2a5ebeb0 100644 --- a/Resources/Prototypes/Entities/Structures/Wallmounts/timer.yml +++ b/Resources/Prototypes/Entities/Structures/Wallmounts/timer.yml @@ -64,8 +64,8 @@ canEditLabel: true - type: TextScreenVisuals color: FloralWhite - textOffset: 0,8 - timerOffset: 0,8 + textOffset: 0,6 + timerOffset: 0,6 textLength: 5 rows: 1 - type: Sprite diff --git a/Resources/Textures/Objects/Devices/encryption_keys.rsi/crypt_blue.png b/Resources/Textures/Objects/Devices/encryption_keys.rsi/crypt_blue.png index a1b463f7896d5d6b8c2fc4300c01a8871c3de454..45e0c9755e4f077515ab8cf0b41d4bb1d3c4715d 100644 GIT binary patch delta 271 zcmey#yq#%+Vf{x>7srr@*5m{U*2M`TJxz>kJt`~yp3fF)3P1SVINQT?vI%>{mw4qB zFI*Oic|O}T;Q<315VS2XU-xM0_80q)6)XyPZNITk;U;7M^0r6e6ZXzh`P@;)u-=p7 zaACIuo84pqHnTw2HCc6g_wk2w`|`6e3UB25QIp2|cw6zFBlVJ}&bhAHc*MHly2_LK z&+A{hto-}^v-DS42W^8_43jo1GBYb}<)6W9=ew^xbdG*_=Qpt4!`q6#Sv+Mqb2#%g zL-)UIp0oQ4PCCBeSI>OH5Mld4W7*uq+m>-``iswNlpNbC6VxLO_8b$)4b&00bPKu6{1-oD!MY&A?g#R1Xw^(G1KB7@?|x z<}6@>t5#URj9`OwespsD1Ee?$JR*x37)-B#Fk@WmQx2e@Os0!}2#^L^2nGT`QUi!V zGzhO=Skd?!NSAxMIEF-UCM8I)E><*OR^<2O8w$=de+VwRB%aY;A z;c6Nnz^|H&6im|F7ez>j`A!gPf3@pdeJR^5(zkXXF0P zzpnCR|AutUFrG=wD;Za+UW#}$wbzQllEuNXm;16R*FSmlU;Vt7Re2knl3s^YuaOY* zQkeDQit7@u84njIsI_E1V~F_1%xbS8av^hujjxPDibJoKG;iZY0f{O_U_6FKJS{!I Ryd7vYgQu&X%Q~loCIBPRh=~9I diff --git a/Resources/Textures/Objects/Devices/encryption_keys.rsi/crypt_gold.png b/Resources/Textures/Objects/Devices/encryption_keys.rsi/crypt_gold.png index 641a4c22153e4c61e72b9fd9e842a708bdca640e..53b97f4c783c567aae26c9f93716597ed2d440f5 100644 GIT binary patch delta 267 zcmey$yqRf&Vf|ZA7srr@*5m{U*2M`TJxz>kJt`~y%4h0yg&+L1dA+CUWE1v3^%tFQ zICKh4I+Ln+kdX%j{^!XY*8czBm7jUB%gOpAS;tMxGi0wloch1I!Q^vCnZuHe8qA0P zrt(ZYwumRvZ&JinpWEMM)``uM<6u%tlHKsze*iukfWe1rbQ ztd;K=q8bC)C(PlMln_{1dqC#H?REUCEnY8Fx@Dd4^X7G)ZJ(xZJSA)QdsZUnTG@u} zb~D%}Tl+|}%e;&|asUVtgpVBB@K#2@dHTh4ky-B#RtNP+gFVK?1_BIczB{~8>G)#B P00f?{el9HQoD!M<8Y&A?g#R1Xw^(G1KB7@?|x z<}6@>t5#URj9`OwespsD1Ee?$JR*x37)-B#Fk@WmQx2e@Os0!}2#^L^2nGT`QUi!V zGzc$VznJqRkk0pXaSVyzOiGYoU94yz#RMcmoE{XcyjP!OaP|-Lra%9?<^KHmU%x>) z^AX1c=6`Y=N*#`UEGw7pQm$eWJvhx>s{7yZc8CbG!?b_)c`Rl!;ZY7{DpzG0j0#?d zR4S1Y`z_h0bn|KX)o5r!Uo zOW2l7^GNOtH+#kKM1Xx6a)we zA2KOs(E0t>KJQEY>yY37UzqsJQ{z)GTHrRdx9va%2hU!hza6(MiwK!KWd_J0p00i_ I>zopr01_yI%K!iX diff --git a/Resources/Textures/Objects/Devices/encryption_keys.rsi/crypt_gray.png b/Resources/Textures/Objects/Devices/encryption_keys.rsi/crypt_gray.png index 47d410736e70e9c8254247ce1db5374f4db03e73..8f905fb9a88cd0f8feae32d63cf1a5317969637e 100644 GIT binary patch delta 259 zcmV+e0sQ{`1FQm&F@NSsL_t(oh3%C+3IZ_@MnA<;Td~{D0|+)US}h1R-oSte9>cwY zrC7}sEcOIb2*O@r*=`Fv4-gxF5Hy>hi_JU;3CYLs2q6O~ilY3PMnKjQkuxA7p*6z< zn7J}!j0vjS3J?GQ0#}mYFR8=SY&|zV^cV27HJJi~bgSB1BR2Hd7SE zBYS%fl{9??M5K{s9q+7fU2g#*vgh{FJNt8ix=?}Oe*k#C_P+`AhU>TcY&A?g#R1Xw^(G1KB7@?|x z<}6@>t5#URj9`OwespsD1Ee?$JR*x37)-B#Fk@WmQx2e@Os0!}2#^L^2nGT`QUi!V zGzhO>ChGbKNLPEhIEF-UCM8I)E><*l_1XCjee;m1>?;-Tv+^Wp!Fi}ljdv;SYbcrn7z zqc4q*;b+F{km^M;4yE^-c}z@9Sbq1-5MWrTdQA{$Im7?|FD;(U05bAH&PYyB5R#CR z`WL^W;31MJd`sAtO!G+Y3^#kl@I-)t)l|=Cx(0`4%pZB_W!_Q@%Vz!G=9mhy?U^FO zrUrp!k$NlEuKmk@=zqWT-}_cq<(k`0UOvKjB>hIL`_5pLiGxM2P#idTB)7}A-j(uaWmAH&mZq2c8 z4E~lhb^xS4ID}o&8d6tmB*8qA65-WnUm31G`^q40^^4&w2RjB0lOF}6U=)l3QUCxl XW>a1!R>=_n015yANkvXXu0mjf%#?U| literal 507 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}6{!)PX}-P; zT0k}j0}G=R11m@g5Zf_I!`W_(8Vt-}aV7?a_DlvAs2V>Y&A?g#R1Xw^(G1KB7@?|x z<}6@>t5#URj9`OwespsD1Ee?$JR*x37)-B#Fk@WmQx2e@Os0!}2#^L^2nGT`QUi!V zGzhP|C{$Vkq^mq#977^FlM*CY7b_Y_F#(AXr-YU2hwGCJ&i-NE^yhn*#Gi_2%Nr9- z3RzAt>fidxku*WsF>B?!j-ucWW(N~Ho+1^Gd1`z=>hEy8*?o8Cs{b1kBQ!1^VN{UM zotx!9g?Yuh>Ise8k|t;{{1lq~-Z5!|0K-bvYl1+#8UFuYSd}afWaNQdk({6)bfe4g zPyNMp-|K-c_zyHJ!q9_n3EPrs9?6~IX0I5Y2r#gk>iJC9;LwcuBQL$oTS~(`^+&#R zNSkQ$lMFc~1#XVSSx=cF_WZZc`%?cp_e T;_+|YAUAlr`njxgN@xNA=(CAd diff --git a/Resources/Textures/Objects/Devices/encryption_keys.rsi/crypt_red.png b/Resources/Textures/Objects/Devices/encryption_keys.rsi/crypt_red.png index d30341b1422ba957935c3067f3e8b2d494c241fc..14b22cf14a4163d8c3cc7a205a2f9da62e4bb9da 100644 GIT binary patch delta 245 zcmey&JdbIDVf_tH7srr@*5m{U*2M`TJxz>kJt`~y`ZF7Q7B|eCDe36C+;6VZ$rv#q znFAp3;pJuZJ)hFj(s+R4zx>xIdz2mMl{WuyDmx=%LW-OxpM~W|{^pPgDu*v^&);~; zott}diX}4;2yk!0o;8o-6&pRcy&3&Bu p!RS|ylemAKXICNE2Z3ORGBEi1m^;jnZDeNv0#8>zmvv4FO#qGaY}Wt) literal 499 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}6{!)PX}-P; zT0k}j0}G=R11m@g5Zf_I!`W_(8Vt-}aV7?a_DlvAs2V>Y&A?g#R1Xw^(G1KB7@?|x z<}6@>t5#URj9`OwespsD1Ee?$JR*x37)-B#Fk@WmQx2e@Os0!}2#^L^2nGT`QUi!V zGzc$sJFo_%xzN+aF(iUBDM5mDv7&(#6OagTatI3gWN)XVp}{e2`OJEUX|rd}e0cQU zy?a}VSxzuYNlCF7o|w4c!h$M~1|C++1Sx6hIG!M9WA;Dxd0*<~FEEDh+_^Dng3MVN z2ChqMgWq-*FefvK& zFK>;63VRT9koS^}N3^9&8HzX>nxw>+d5g5HG5^=kds&s&hxymNeXhLPY$q?;usDbb z95Ol0YGh>e-|@%)!o~lim)}ahU{E>BqTvUR^{OHh7B}aFj#dVSo#M(#P2qKmfL1ej My85}Sb4q9e09mksl>h($ diff --git a/Resources/Textures/Objects/Devices/encryption_keys.rsi/crypt_rusted.png b/Resources/Textures/Objects/Devices/encryption_keys.rsi/crypt_rusted.png index ce82c248db8d03f5ce27802e954258c56294475e..8223bcca8fa87d56495186ceba1cd934457725f1 100644 GIT binary patch delta 476 zcmV<20VDqW1cC&RFn^LR_hNiU@kouD=ljMo(4L2 zpXH9{9=<&91Mm01#l^+tKjV=a-iLY>pK8n#+%F^csd?mpp)J1^;@M3UPqn{Hp;; zJ9iFH>ITHO;Lp=(t*_KgD@f>ElidL)i^vKRIe%|xAHC3zfY9*fy-TCH$f|>u z94(@BI*n3_?)okOdJ132cY&A?g#R1Xw^(G1KB7@?|x z<}6@>t5#URj9`OwespsD1Ee?$JR*x37)-B#Fk@WmQx2e@Os0!}2#^L^2nGT`QUi!V zGzh<1u=vAYAid4g#W5s;GburWb+Mv>6cdmLaZ)fm@Yep!+O01G|7Uj>|G$3inv+2X zuZVLPbFjCmRN9X-r(XQuJvAkw zAh4*D*`e=-)m6Fu%seIs_!jJX@5m-4CDp{s&T79-fZ=4L6T^~e5$-^DGyMO*Wz{;6 zPd9^nker|(Bq1gBFMdbC!+L4v-v1XbUX0k-+shll>!CaGn9zEjXAI`Wp=+i!%eacO z^Tcputo##iu~1HiRl&WXhWqe>fX2?oD-v4Wmle1g+L|siTzE9$&`}MG&3PZ|1=uWC znAvvynszvd>qLRAsAq-74YsL&-H$nxPH^$)7HF_!a%q-f;>rr>XfQOA)^M8~)9?oD yxBR(T|K;bhS@tXoYA0_QT9`SVbb6Mw<&;$V2jLF&n diff --git a/Resources/Textures/Objects/Devices/encryption_keys.rsi/crypt_silver.png b/Resources/Textures/Objects/Devices/encryption_keys.rsi/crypt_silver.png index c31a743f473e0440a89cf06984930634deb7f86b..03e2960779226fb6ab002f96db054f4443615009 100644 GIT binary patch delta 273 zcmV+s0q*{Q1i1o`F@N((L_t(og=1hC1*2dTjDi6Mj3lW2@8cJQSHYG|>qs?|GzUC+ z@`Ruw85tRp%w-|L0SpWb3=FSdy}~R1>F3}F~ z@eBH|@4u92wN!Tit-z=QNG=B$7!av_z#PD#9Eer?$KCa`cfgiS>lkcY&A?g#R1Xw^(G1KB7@?|x z<}6@>t5#URj9`OwespsD1Ee?$JR*x37)-B#Fk@WmQx2e@Os0!}2#^L^2nGT`QUi!V zGzhP|C{$Vkq^mq#977^FlM*CY7b_Y_F#(AXr-YxMp8oGVX!4o=#3yzCc@K{MZ)8}~ zr`E?HS@Z9XWs}4ck69Lr_HJg++1Vd|p}q#lpAfaGo$17d|Hpd|v^Cds@E(@&6lQOz z*;2a7Hjr<@uJ?{?O--_5dv4V53pKYgc<65I1KQ2-|G$TDy$O&}401(sf`ZVGAFO}v z>)+k^|Lxqo|EH(xAMbK3QZQB6>LTU6XHy`%LOX-Tio(QQE{+}#AN{{!5POM1LnWvA z)P|%8jmC^e!QvCO65E=aW(X{s$(-=<-~SyK|E~>x`+xCegUVSJ4JR6;Le0Ql{NlvG XaH#5as#k1qA;=+~u6{1-oD!MNklgg2Ll0DPQRqor##>K zvfuNBh50oJ2ze@Bx|XrJ+uZu{v-6*om48-#DrN*~V>rSaV0QIc(uphmD>)wQ2@s#( zrhj7ipbPby|V%1H5Ls@F7jJhTL0%$P#_R^I?-8YS(fwqnTVq09TA;= zYb!7VKv5JfG5`Q|T^ln^0&`VW&Vtu8O#>p@!-WsD)ub8ya$ z{XYT=T5Bk!(D%KSfRqwi>qCK;)!!Wu1fC@@41-?*6SoQoA^ZxMc-9{9z67QU9G(RL z5XUj3lvbgPv2R-lfwpb02_#8^EX%CI_xx1>&NH?L9Mauszg3^5D`fP(nk>EmGb!+-mCsA93aq6z~aA3s)4 z5zGZFEUXk+{^!qc{N^*z35ZHaF&savhj~_BF-rihkc9pn3<-pRh+`Kg zFKI|v82k=~FW?t&aCFmXFuFN9IJ)TI*xbbAP9Q9pIJhwzh9*t!2Am+A_Q>%^8Q_`V zrS0$Gg`@>0CdSUJ?xE|tdG($#HY;k3vD&#^1#$pz9H);A0DnLb1ky~IK<;^7r?89D zdmP?g;p6fKcaP^~Jq$xI#@2Foe@-smI?FP|aSYCRV}ZqDjy=5M=y(oYe}iq?FbqRF z_Lo3`5CWWYBuUa(pbDiFLWqq5JDpbVfk|Lo0%@8KDKD8Pr?q!0ekfO$-KZCjUVpiPHfvaOdVViY;F=b$=s@wIsn~rw^#=ti@Mnp!vUby3al+?;HJ*N$*__E#%5r6&Oj+ZZVh2|05(Om h1S6*$7c)mncXHTiZgKqPPFo8G3F3^szB}fv6B>2M{#_Lfv6@0r6B=)IgLUixG%wVNn+4{?a;%{cN^A0BR&5aT3ah^uk~V!LeRgarAQfqB;UMZDTPlds zVo%qBskf=fE%5cV^2jVM$uFt|T7_bJaB3mQ_G9c|dw#GRfVAs##Db{F9Cje;21kT5 zLYIPq4cPjeOk|_LLJ+ec#@pzlTRXXq6C7CUIL$$(zJyRJT;Ont;?e^N_HdbksH0q_ z^$;5&cDbY$Cl_TFlw{`Tfh~oI2D!Kac|eP-fL7(EmL!6B_7w$*$=RtT3aNQ1wn{}x z_ICUWKV1W+fg(>A#}Etux0Ag28VopCGc$MopV<1zlr*<{an^LB{Ts53G~sw literal 15417 zcmeI3eQX=$9mg-FDQzm+wF+ujwaqoG1nBu*eYS6o+ca)TwmGDZOVa^q&v%cLQ*58> zyAa0{>zhEdTcv8_rA)Nd1}lR?1PFz725A@#o{b_FZ4tMP1X?8I8klkNr1$7W{7(ixco` zPOfvkNm27&xBnU*yk*{Eijtf4M4#0c`@XCi8K0sVN#HAFav&0TkWC}`-;e0Gp zFGy3%F}dM<+8LUrG9V2yAZwX0j;kA&8#FA#95kj$S$0pG7}g{fE9b5|-b|)$YSUVE zH$+fES~t>6jOG9n2c|KcSHY^g;jLU>@9r%b6$-<9 zl{@l4v5b7eFwzlsmi0^`^mKGMv&z%DPS0w_hU@aX_PkiXzaOA7}y>2(babKg`&R z7fMvdRhk>6_WIH(5d;JQ7FSG)L03AdY8)MsSXJ}~B+eh?zqE8J=oeJYmgXi$?FV#H z1)Rw7e2Q0+|5JKEhcnyd;amnqAPKxG(4xwRXi)%AFPTiyDhP&@0OTZvQuRgM)>`=0 zmBp3LUJwT}TKFn2DtGi% zsv=q>2?7Lf5?pvbh?n3(fZ$Dn3(p7f5?lxnyh(83`5<0`3ju;R2`)Sz#7l4?K=3BP zh3A8K2`&T(-Xys2d=M|eg#f{u1Q(tU;w88cAb6AD!t+7A1Q!AXZxUR1K8Tm#LV(~+ zf(y?F@e*7J5WGon;rSq5f(rqHHwi90AH+*=AwcjZ!G-68cnK~92;L;P@O%(2!G!?9 zn*p)HH{E*w9- z;NDjnqPNi(X1?G0@$MVu?1&FO*0A;P#-Fq=-oEqND!xCc+m! zoy)y;ZO{3?9;WnPuKvx8(f>SoI{3{q*ZpDZ{g*%g{hs@OyL9)5Z*4oibM^-ZZdVk2 zSK^5iKfCm=6Z3y?ZjAc(-`0-L+}XXO*mvf@?bls+=+<4cF8+y0ynFK>(|@_DW#0`K z7w-Pnr#G!z^GKfmnp2kzXrSA64+H&<_EK7Vi9 z+o2avY>r%+`QoyJ^m}K8%c{o~U|wqIV@(tCdM c+ZU-L!l_fAd^B;?ez~`6Rd;l3<;HFQ1yvsMg8%>k diff --git a/Resources/Textures/Structures/Machines/station_map.rsi/station_map_broken.png b/Resources/Textures/Structures/Machines/station_map.rsi/station_map_broken.png index 7297442f10813defdc0deaf445505decdb66008c..6228597a401255050e6cd7403deccba77ac7e0d2 100644 GIT binary patch delta 584 zcmV-O0=NCEe&Ga=B!2;OQb$4nuFf3k0006TNklb;z6n(8KRVor}T`(wz zV8{|SMo0%s%^kXC=pnLlhg9kUjEq@O#UY}KEFF`*+kVgA z{~H7U_+#9d9E1?oCed!U({gD$2_ek3?Kb(b*=)2TN*yx!`+wKD6>|D`ZxnH7nk2|S zmzS{*XL$cQ3lT*a1t{e4B?^|naAx%0*3ORsSaQdrU{yH&5srT>%rT>0KnZR}?rO=S z-~myvt`zxm0dcxGfNW=61Q3RA2*Wo)E=Xg&$Ret9KtdEe2oWg}04y-yPL7r4~Q;gxnaccr{a#awd3rG?ht79$`U`Y#Wppu*Bno*sE z!&&-|*kGZ`HGU(2KHjHqf|>=I!1NXXuJK7Gi)d4T=}}slguPy`WO>`RZ43qjVT=Bv zHK9^Kw?W%2S>8^P1pR(r*rLB^O{lDb{eG{t02J~hNlJd*936}~0JN6}rt|;DRp1-0 WBMgajKLF4G00006e7REJ?$|GZrHWcaIBJ`eVS-=Vs?Z{Sa#KyFzG z!v-8xJ}E253>b!CPkksBm&&CD&oI2?GqQrj0b|$~fW0xyIW`<%`I$i0bHFS5GYvQ1 zdDoy9g-pW~O95FB$N?2%Ze0)*)lDkq>t^x}!7$dPbA}n{zz1YjANE!HLrgf+5b?{v zYo(bm=p$X^nVE(xC7`~vpirM91%cjTwBkHzwdrjRqsd~knQa+*iZodWk|t;pr)b7Z zGG(nO9SO$88DBHozLvtv~;IZ~w*gu?}-rC$5IxYBWYl@I#|lVnIrWG10^`? z66o2W2v0V)GNF$$7Xi-2!P|J7;NfvVL$(%RW^tCYa=4AP({_rbS-_dvLnLw2B~-4c zlt69g6&WdkBJk_Zt??3woIwFL7y`-;n`vm@Vml74=&Fvb?Z{5eu)K15xp-v*1cH<3 z)EXaFhov*xLF}5&dqdF0y!#k66~M2yfks_LdUfw4Bzfc-HVCr3aBI1jy*=u+vl;3> zd6nFkM1{ohz%oTDw-F zQ@QGIi5LHEJ5SEb)u7 z3!X=jfg;TbR?0n6^Z+k{xAVYdwOD9)K%&j4MWGl5m8EVG9^fHmKcQiyhz+VpYFO5t zVS*xN7)@2ejdx@-jJCqtdialm==e*~WuNTW#qQ@td`9=vE8Gl1h`OlZQs;wcHCzY~by35m&Ii$IxDX)fqJ~SI52Dp@Awbkc4VO9}M62OK zfT)WaE_FVLR>Oq=Q5Q8_>UQHFszEiurJFoj9HCggQexa zdT#=T^*EpB&MFRH{OZ*+{)e+3UGVO;?6Qd$EAtP{$kF?@>F2I~{pLmYBSjm>J+iUM zb~EqL*UjJcNK0GdTVh@@wa45)ZhEc(Z`_uVAvc~LURIi(Uw_Gd!sGdu@Y(lm8{1B; zTbXf^TjhKC@dImm{ zg2Ujz;;-6R^V*-!o|WHt@YD?XaI0}rFHA4zumfu#mZkx!-m;z6yDkU z)EeD04VjOdPfazTd}xSD4VbfumeZyV4tudr`4Rdx#8U2hqrIv^N_Aj`FUN| zAI_BHdk$x(yKkoVZmM&pRzRu#t!r)Rd+S8YNwzw* z=R|VR_U+BJ&SgK_?H{@TV^4eu@Rr>3dPe0v3H%yyzYGK>4%|i&|&cd@3GmJYIN&9BZ zrZAYlFaPqw%L8ki-dnf77<~Nhj*8A}*rKf8 W=I^(!U9UXOo;QAy`_1g~dH(_XKN64t diff --git a/Resources/Textures/Structures/Machines/station_map.rsi/station_map_frame0.png b/Resources/Textures/Structures/Machines/station_map.rsi/station_map_frame0.png index 460c86b896a6a470270efa82d8a4f4c609bb0359..1b6241a5754a7771d06b4c2fd5d5e6f21d3cee56 100644 GIT binary patch delta 397 zcmV;80doGhd#3}CB!2;OQb$4nuFf3k0004DNklb!4|u^iV*dSYxAe_Wh9w|00BOD7!(^q2mk)3JD)z>F(%7h z5&)z-`^-u3-mCr(H{o5_tw5XsGiS5XxVHoxx$TH(em{<^i}CmtTow>Q_@A3_PsF1F zu0R!#Y96i2Q-9pvrIbAdP18U`vJN!IF{e#esfh>xZW+niwxzD?R`z5Cn3+VR=nKTm zGz`PWz7gP@n;)OLu1^K=-h-J@Rn^Mg_x;SrP{(rZ(K#y&nXz2Gicj|-g literal 15800 zcmeI3e{37&8ON`T4H^n6>NZB(iL2Xa1A4ySw(oG zzH#0~tkV8@t;F{8KJW8=-upc7kMkdQV0g#PSN5#!VHoDhp~3V{^vMSQmwyhud)4Yk z=woGZaF@q0SDgy}R~)+Ws&x!=(;Ien%pc3#svB-03QRW#qm@Dt^=6plmP!#AQ_yE~ zaKd)_A`377GQ!$sUu0Cx2$|vloU{k4B{)*uku|DQhGs^#qtqEm<-xeP?=mJsq<8B9p#f)Oo&KE=S99)GbZ$qNZuQAn}sKp&pz! z8)kzU?|}pbK*DwBHwr1c{oj`gIkG%|wn@XNM^A6;R~GsK9p% zGL2?Tak`YR4b3!on1==E_#TQAyT%nKUElR4-6c{s-Ag7$HOXX}xx0?HQ0SW4^SA9q z2DBs;&dnlo+ZZ)EA|p$fhP>BO@**RNp!9H zKnVihEoEIdp9*K$a04MbFi@LS>{mx^$8^iy^+_HNY1O->2GhWYDM^rIPEgTbR*dOr zN{Ygbf~X5Zn@HFb)5y4{ZOwFONK#f*bxG4zwOymFC$53kj|qIRES2`YZ91l*TW+ZU z{FGe)6Ob=D6G^_+*w(W-tMmak@0QT8U`kH%-I}{brCnn>nAZJ{0X z6-;!tHXM076>b}*YuKjVN(u!fZYoBOQ#4WLL=l=?0sxsaRcOj$TodA|n&gAUizHg( zs?Uvjdv|F|fpJ+z#Z_`jB9zVKXWi3=j98j8tjf}9B6R7KWerU((gMd7U?)ukKR zk#zS$2?;?pRYTyc1TgD`0+Pz*1R2I+8j!S{(n!=MwkXkUB^#Y=Am7#}xE2##ix@Xl zO^$0Euw=+VOR+djGej;2fTaOVfC2!G6kTK%r5dz@B{0)DBWp`w1m4xz+FAm&GpGnk z9t?KazDQ$>Z5~?Ttgg@P+D@$lBRIWMMz8@wGs$B^Zs%btrm8YJ zAn|5AV%V<0{8-vX2e=pPCo;-Zi@_aT19vSI*ygAQhNWt|@vd!#VJo_=N53fe=1+=6 z`($$$yO>{ES9CE|F)f+|141?_E;1j?OL1X9$R@=_=7V`DE({3Sq`1g@FfYZ00U?_d z7nu*{rMNI4WRv0|^TE6n7Y2lEQe0#{n3v+hfRIg!i_8b}Qd}4ivPp4~`Cwj(3j;zn zDK0V}%u8`$K*%P=MdpKfDJ~2M*`&D0d@wJ?g#jU(6c?Ef=B2nWAY_x`BJ;t#6c+}B zY*JigKA4x{!hn!Xii^w#^HN+G5VA>ek@;X=iVFimHYqMLAIwW}VL-?x#YN_Wc_}Uo z2-&2#$b2v_#f1SOn?zhat%r1>gPzPSqepP>``7w2=?7N3yKDmHC z-(#3*fnnYsXBhoahPlRl_|Dh1Gt3HeDBYi}yfZ&4K5{R+YW+WF?tT0BulBz5?C6un zFC72q-0J+s3qSey;lF=4m&?q4e0tMCFf4BW^EL}qHyx${WA-H z{nmzGt?<;$$e+IaCF9uUTYmh^XGgw$-Y)l?oB57^_PQ%>&pi0+yH5RdGqd_k#qf@Q=Jcva_0L!Q z?QZr9NA~bf`CqIS`d@$Kx|vt^9C}N=dwllYXATd)7=38X`5)epncwi;n^#`A;pAn^ YfP4Pz$Gp7{)rJ|`wj+IX>-hKn1L(9;e*gdg diff --git a/Resources/Textures/Structures/Machines/station_map.rsi/station_map_frame1.png b/Resources/Textures/Structures/Machines/station_map.rsi/station_map_frame1.png index 4b6fd1babf7739947ea84136e81474ec89f19d00..83dfe28b291ef58fff374c32de3c2afbc0167e99 100644 GIT binary patch delta 618 zcmV-w0+s#ffB}L9kR*Qrb5ch_0Itp)=>Px%JV``BR9J=Wm$7TxKorJ*3d+#U9?o5A z@D+?fL!m{*#S|ha8A8Yu3Wjd^YdUo3Ur?N(kfl@T$(7%@B3;2jYcCPpB-8naeuz=Cph)ILvwP^^P&Us&l0z*)})l7>$>E<=$cA-ngl=y zk-LA=9+mP@T0k7tuC5HqNqa=|>Qz~HiwUT9^>BP}n|qULR}U*c>I;*X7VsxgD4^)} z%OW=mU>d;{>Y0BG!XVM-auEd?Sr365B)MwgeS0zH{wo6JBL2@xm=!##yv|xHDoVLoV45bb>*jwtP&rPosk*DIjtJmhE!q2{ zqiB3_bHi|JE1J8mi)C3_uh%OUFe^3-HKlt&pe#H>2o1n-oP_<(C-6KEDJ1}gVc@j- z=ug*pdHfE5H-iDK^>y|;9h_F5*B6@roB$#S5JFI^)e=5!+Xk{@MA??de{`;QhdlfC zA{u}G_=I9l&1T~4_3khl&-ccNGuv`yDUJ*9fBr%UF}?NiCi@-O84Nht*Z{z3_1QlE z5bgi|_AA@t>3seISx~(Iz)Jp{SeB*PwoTRxJmSIe8<)E9y(&-bD*ylh07*qoM6N<$ Ef`-d0O#lD@ literal 16488 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 M07*qoM6N<$f;PaB9RL6T literal 16277 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 From 03843734e4de1c9f3c34d029aca3e7935f7eafde Mon Sep 17 00:00:00 2001 From: Preston Smith Date: Tue, 29 Oct 2024 22:25:42 -0500 Subject: [PATCH 066/588] Add no damage phrase and logic --- Content.Shared/Damage/Systems/DamageExamineSystem.cs | 9 +++++++++ Resources/Locale/en-US/damage/damage-examine.ftl | 1 + 2 files changed, 10 insertions(+) diff --git a/Content.Shared/Damage/Systems/DamageExamineSystem.cs b/Content.Shared/Damage/Systems/DamageExamineSystem.cs index 53436a920a..72c1af29b2 100644 --- a/Content.Shared/Damage/Systems/DamageExamineSystem.cs +++ b/Content.Shared/Damage/Systems/DamageExamineSystem.cs @@ -61,6 +61,15 @@ private FormattedMessage GetDamageExamine(DamageSpecifier damageSpecifier, strin } else { + if (damageSpecifier.DamageDict.Count == 1) + { + // May be simplified to using a foreach(Var x) despite being only one item + if(damageSpecifier.DamageDict.Values.GetEnumerator().Current == FixedPoint2.Zero) + { + msg.AddMarkupOrThrow(Loc.GetString("damage-none")); + return msg; + } + } msg.AddMarkupOrThrow(Loc.GetString("damage-examine-type", ("type", type))); } diff --git a/Resources/Locale/en-US/damage/damage-examine.ftl b/Resources/Locale/en-US/damage/damage-examine.ftl index 974b8fa965..848adeb31a 100644 --- a/Resources/Locale/en-US/damage/damage-examine.ftl +++ b/Resources/Locale/en-US/damage/damage-examine.ftl @@ -10,3 +10,4 @@ damage-throw = throw damage-examine = It does the following damage: damage-examine-type = It does the following [color=cyan]{$type}[/color] damage: damage-value = - [color=red]{$amount}[/color] units of [color=yellow]{$type}[/color]. +damage-none = It does no damage. From 0aa46f6a2a22ae2e37b66b8fd82432b47e5c1c27 Mon Sep 17 00:00:00 2001 From: Alzore <140123969+Blackern5000@users.noreply.github.com> Date: Wed, 30 Oct 2024 02:38:19 -0500 Subject: [PATCH 067/588] Give proto-kinetic crushers, glaives, and daggers better inhands. Update the crusher and glaive icons. (#32212) * inhands * better inhands * indent --- .../Entities/Objects/Weapons/Melee/mining.yml | 4 +++ .../Melee/crusher-inhands.rsi/inhand-left.png | Bin 0 -> 596 bytes .../crusher-inhands.rsi/inhand-right.png | Bin 0 -> 598 bytes .../Melee/crusher-inhands.rsi/meta.json | 27 ++++++++++++++++++ .../wielded-inhand-left.png | Bin 0 -> 599 bytes .../wielded-inhand-right.png | Bin 0 -> 601 bytes .../Weapons/Melee/crusher.rsi/icon.png | Bin 716 -> 431 bytes .../Weapons/Melee/crusher.rsi/inhand-left.png | Bin 655 -> 0 bytes .../Melee/crusher.rsi/inhand-right.png | Bin 637 -> 0 bytes .../Weapons/Melee/crusher.rsi/meta.json | 20 ++----------- .../Melee/crusher.rsi/wielded-inhand-left.png | Bin 823 -> 0 bytes .../crusher.rsi/wielded-inhand-right.png | Bin 851 -> 0 bytes .../Melee/crusher_dagger.rsi/inhand-left.png | Bin 503 -> 362 bytes .../Melee/crusher_dagger.rsi/inhand-right.png | Bin 495 -> 361 bytes .../Melee/crusher_dagger.rsi/meta.json | 4 +-- .../inhand-left.png | Bin 0 -> 611 bytes .../inhand-right.png | Bin 0 -> 620 bytes .../crusher_glaive-inhands.rsi/meta.json | 27 ++++++++++++++++++ .../wielded-inhand-left.png | Bin 0 -> 536 bytes .../wielded-inhand-right.png | Bin 0 -> 535 bytes .../Weapons/Melee/crusher_glaive.rsi/icon.png | Bin 618 -> 405 bytes .../Melee/crusher_glaive.rsi/inhand-left.png | Bin 576 -> 0 bytes .../Melee/crusher_glaive.rsi/inhand-right.png | Bin 568 -> 0 bytes .../Melee/crusher_glaive.rsi/meta.json | 20 ++----------- .../wielded-inhand-left.png | Bin 567 -> 0 bytes .../wielded-inhand-right.png | Bin 520 -> 0 bytes 26 files changed, 64 insertions(+), 38 deletions(-) create mode 100644 Resources/Textures/Objects/Weapons/Melee/crusher-inhands.rsi/inhand-left.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/crusher-inhands.rsi/inhand-right.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/crusher-inhands.rsi/meta.json create mode 100644 Resources/Textures/Objects/Weapons/Melee/crusher-inhands.rsi/wielded-inhand-left.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/crusher-inhands.rsi/wielded-inhand-right.png delete mode 100644 Resources/Textures/Objects/Weapons/Melee/crusher.rsi/inhand-left.png delete mode 100644 Resources/Textures/Objects/Weapons/Melee/crusher.rsi/inhand-right.png delete mode 100644 Resources/Textures/Objects/Weapons/Melee/crusher.rsi/wielded-inhand-left.png delete mode 100644 Resources/Textures/Objects/Weapons/Melee/crusher.rsi/wielded-inhand-right.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/crusher_glaive-inhands.rsi/inhand-left.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/crusher_glaive-inhands.rsi/inhand-right.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/crusher_glaive-inhands.rsi/meta.json create mode 100644 Resources/Textures/Objects/Weapons/Melee/crusher_glaive-inhands.rsi/wielded-inhand-left.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/crusher_glaive-inhands.rsi/wielded-inhand-right.png delete mode 100644 Resources/Textures/Objects/Weapons/Melee/crusher_glaive.rsi/inhand-left.png delete mode 100644 Resources/Textures/Objects/Weapons/Melee/crusher_glaive.rsi/inhand-right.png delete mode 100644 Resources/Textures/Objects/Weapons/Melee/crusher_glaive.rsi/wielded-inhand-left.png delete mode 100644 Resources/Textures/Objects/Weapons/Melee/crusher_glaive.rsi/wielded-inhand-right.png diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/mining.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/mining.yml index 337c7f07f7..5b565127a2 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/mining.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/mining.yml @@ -149,6 +149,7 @@ - type: GunRequiresWield - type: Item size: Ginormous + sprite: Objects/Weapons/Melee/crusher-inhands.rsi - type: DisarmMalus - type: Prying @@ -191,3 +192,6 @@ - type: Tag tags: - Pickaxe + - type: Item + size: Ginormous + sprite: Objects/Weapons/Melee/crusher_glaive-inhands.rsi diff --git a/Resources/Textures/Objects/Weapons/Melee/crusher-inhands.rsi/inhand-left.png b/Resources/Textures/Objects/Weapons/Melee/crusher-inhands.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..1c1093a702e40a1a8086be972805dcb8ac611d63 GIT binary patch literal 596 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H3?#oinD`S&F%}28J29*~C-V}>VM%xNb!1@J z*w6hZkrl|-3h)VWRaI5Bx3@1XWe5!oHINawdGltj=zqrl_jTDAW*Qr>U%!4wziol9 zDp0xZ6VVJH#a9yK7yKU?Ft{GLa{?&CS>O>_3{-Fggc+x5^GO38Fw@h;F{C2y?X81F zhYWaF0yGUDO!)P`emmFIgYCznmQLV1{BG&Dgg4?sJ4%-RE#^>YU|@m~4cnPIwwe8` z(Eqk;nV#0hh>~lXQTmhDdc{ut&#DyFrMv&fm+d#QgHEkxSR0e?TEY>axjp-%wX0Rt8R2L?tc@!@5| bwSA0zXH3)Ixu}-|V~)Yo)z4*}Q$iB}1E=jS literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Melee/crusher-inhands.rsi/inhand-right.png b/Resources/Textures/Objects/Weapons/Melee/crusher-inhands.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..75934554bfae3c552bf228829cc2f6e6018c4ef8 GIT binary patch literal 598 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H3?#oinD`S&F%}28J29*~C-V}>VM%xNb!1@J z*w6hZkrl|-3h)VWEiGlRx3^bSRSgXdy?OJdfs6p-|NFV3|JScyKhxM)myMyoS9M3f zEl_!McA5u};wuUA3;vG`7+eqBIRTX6Ebxdd1}ZoL!i-b3`J{mknC@@dvo=`7-K!|`<3H+ zAXe{S@=5ReI{Z6X%B44OR#>_!gjUx76H;JWw8dQi@1!iRx1au4JM8gz^yt6yf~S$Y z&hTw$JsG<|bPe+*=fjZ;rUo-id|p#fX3~(o?^;bjCu79Z{fAYzNcEdBAK2V~VBg#| z-UsZyFN}Sr`n^FE;bctKgLsBjwe`xIw(oy^J#fdp@8(7(%@tz4{ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Melee/crusher-inhands.rsi/meta.json b/Resources/Textures/Objects/Weapons/Melee/crusher-inhands.rsi/meta.json new file mode 100644 index 0000000000..c634ba82a3 --- /dev/null +++ b/Resources/Textures/Objects/Weapons/Melee/crusher-inhands.rsi/meta.json @@ -0,0 +1,27 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "by alzore_ (discord) based on the proto-kinetic crusher", + "size": { + "x": 64, + "y": 64 + }, + "states": [ + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "wielded-inhand-left", + "directions": 4 + }, + { + "name": "wielded-inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Objects/Weapons/Melee/crusher-inhands.rsi/wielded-inhand-left.png b/Resources/Textures/Objects/Weapons/Melee/crusher-inhands.rsi/wielded-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..e8e9a267ff2eb9b55ab0083fedda98514671c026 GIT binary patch literal 599 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H3?#oinD`S&F%}28J29*~C-V}>VM%xNb!1@J z*w6hZkrl`{3-AeXwYRrdQ&S5K4OLZDHINY~D`O}vWnlb&KUeg>E*ry4W8tQ$9O ztY5$W=FOWs`fUq*Re@U7EZ4sUQbHv`e!>6I0mGyH`-OnAoCO|{#S9F5M?jcysy3fA z&_O+(E{-7;ac^&(oYt%$;u@%QM9nPp-~aPsGtwtB=xIcrd~!!n(dI^zap33aAdjE` z4u&hfQcH`uZP(skuC;V&q}i==I%l1o7?PJnnjKrh@UAp>*0mD7s@^~4nsaAwTlfA` zad-NqTU&Z7Z>y^DGWKreW)MDNyaQ)msJG=smIc6;3ej<$=- zzWnk_c)VV|id{`QbDB@eErti18ByGf#(BU}aCTahto-s-bNaWw_grVk7_-Z5LX0fy zmD0=W$~l&3D_3tVaS^`Hc-QQ-EK_;?1NE;i+jFkIJ04m3XaB#Qou~Q!r0wV5wyXNu ztvR9d-yHZ@UH|Ua%d3G0mQ20$|6j-4I9c|d@I1jK;m7+Ec9nE1?6l&WvHq@-$67na g8Z{)h)JPhfuNRXtcKKl&6ao_WboFyt=akR{0DdU&umAu6 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Melee/crusher-inhands.rsi/wielded-inhand-right.png b/Resources/Textures/Objects/Weapons/Melee/crusher-inhands.rsi/wielded-inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..4ef9c388d62a58017b13116d133dc50fddcd07b8 GIT binary patch literal 601 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H3?#oinD`S&F%}28J29*~C-V}>VM%xNb!1@J z*w6hZkrl`{3-AeXRZ~;5x3^bSRSgXdHINa|Wn;({{m=OSerYK~SsBAjW8teZD) zu3x|Y#*G_0`fUq*Re@SBJviJAq=ZU>{DS|Z1BOTY_X`1KISV`@iy0XBj({-ZRBb+K zpo986T^vIy;@;jmTXe{Phb3W+MyDd@mG}QQ-8eR7%h6A}cn+t2cS>6Far*q|5)OGj zMiv1F1{C4~v&D|0gyW^LA?_P@FbW>g(rovzVpyf%uvJEBBSX>o8H+BjxhH?Reyhx0 z|JG#7+~<}KpO)^LlPGa4xaZttuiwwQmK+MUtX}dhW**a{%jfL3?^rX@wbW5AZ|R0_ zX(8_p?AtNt1k>Ai?KO98KB&f+7q0T#RvfwFX^no&X(w$31eRO`$)!e&{ z?9%gOZ?L{;i#rrLXL29^CHv&^Bp{Tp{V9{BBq f9F+2GEd{Ln(nh=Ut=>%nMi+yptDnm{r-UW|*iG%| literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Melee/crusher.rsi/icon.png b/Resources/Textures/Objects/Weapons/Melee/crusher.rsi/icon.png index d9b6ca8157b74b5484b09fb1baecec7238373cd2..1df2bf438850dfc03a279ea0ce8dc98c3f672207 100644 GIT binary patch delta 396 zcmX@Zx}JH0WIZzj1B1(wu46!ou{g-xiDBJ2nU_EgOS+@4BLl<6e(pbstU$hHfKQ04 zs;a8Jy?uJRNoZ(jX(>ZiR@Tj%Hw|P2az+2|=(kKKNMNS1 zae=QYQ1@vY88#p#ToU9L{2v)`fjJDDYVUANR1~jgc;M;c7-Hc+chXzFCIcSVX!R)z z!*2ezU$b4dTVC7v^RB>r}xHnqnbOpT%4Y2-v$iL~h=KUjbXc zbGJ8rt^c5Zu>7~7@0|QS!h7VkeP3_+%-^_2{`2RMe|iZgj`2pOJg!Y3}>% z$FaBMmTr9TKk!I-ho%L0Rf=xw`Tc!U|J&yLpwo5&Z8A*DZ64??VQg;@l&f99 i%Jcubf^&qIrhm_UE4e`K>l1;&!QkoY=d#Wzp$Pz#hOkQj delta 703 zcmV;w0zmz*1Iz`G8Gi-<0047(dh`GQ010qNS#tmY4#WTe4#WYKD-Ig~00MqVL_t(| zoW+;FOB-Pr$Dcr|OpdWg37%T$jy;A;B;$8+FA2>AHr8NGWu;R@Ka zw{=9NlXETn&40}M-UTenir_Gy3urswFJBOCt?baZjamAU|AV(VEFr^@Kso>kd@uh?T$t2?<24oZ)DHCX)$f1^_RWN&=2;EICNDs+{4= zALhCfkgHeW2rs$2;1KOtzz}c zg$zb?aDU$de&HNQ;76?)qFy z0d?9Tp$?r+f;x;=fNv)G9?uWF+h_%*;^bb}hiSdo*bWP>7065*4&Z~vGqSP;aV`%F z-XtKyuWzM7h2IiT;kcT0GgMs(;D^ND0Sw$}UpV2O0B5~8OxFHE-{4IGSZ?BMc4GF6 leF zuUPAy97`kTtg-ka8sz`M%R{yP%-)Fw=lETGOzym&E}ehK(mkP%gQ3`kVTLl(0U1Gt zXB`X%?ko+KN(^TN8Ljw&bj0S)HZu6blym!>qO*#SfdtPSx5W?H>|*Pfp9)o(8M!`^ zypXkZ&dr>*XUApMr)P7XxWaOwm@{G;>*~9%OFwhpQ3_TO3s`^s?)Q%sJw{C`i#WxM zsMW^%wfA^#xyQ*iccHIF_=Oiw??~>|zgWGw*uUKM`L9aVRiB zbl$eydv~opx9a)^)r;K_{UmTu^pgP#N@!pP)bS36%YT`y`tw~Fc>8{_wrT8~Um9BK z^F>)g(4jfI?p$GErPEg@cBzYZ`x9IomKOK7m(7!6_mPRqwr>(-yrP~E`7`%qjC$f< zjzUAFhI11-Kg2ct5)4}{y6Bszgx~}I^{Y2zE|OQA#t^!nKdS1FYSG=$*tvf>Tv8bC z{i?mvcu2tNm!QZ(rbXA@|84eeuKgwW=RUV+!HZwDLS)z4*}Q$iB}St=AX diff --git a/Resources/Textures/Objects/Weapons/Melee/crusher.rsi/inhand-right.png b/Resources/Textures/Objects/Weapons/Melee/crusher.rsi/inhand-right.png deleted file mode 100644 index dcf606531ba187e61220fa6fa327c4490e1d29fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 637 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|S%3 zr;B4q#hkaZ_GcXm5IJUlP`zNnq}YjG2UkXCYjU)1b3SI*7@}G7<{Ep!ipdw27icso zOxaadB0YY8H!<`6Cg{cKsEk9*)uRpzT62FwmOrJ2bZ|(QLn;-aD^DZuHYt(`kRmLq7%}?w< zbJ2QVRek*7)!LIM9lTpUx5b|E-o)#z;f80w=vGf@w>$j8ul>*8(v$lv><`4|%SqYk z9&G;h*?jtMFA2N3Hx6HC-K8I<=O6xsrS`lZym}Cp|ZET;-V~XTo_vpMh2K z3^)TKM_1wHyv8N3^K}(g&STulch!Aq&$`wdH=`UT*)p#UJ3Y^DdB(o8A8OusIQ-dv z52)(pJjP${yKcR+_*}yr{_%Rh%7gvYY!eH1GyQjZ<5a+ zP%CEr%Fxn#k;|j_e8W0+g`NY!3uZr>*QoJZ59*&k3=L8i5*n{>UI(Tp22WQ%mvv4F FO#mFS8wLOX diff --git a/Resources/Textures/Objects/Weapons/Melee/crusher.rsi/meta.json b/Resources/Textures/Objects/Weapons/Melee/crusher.rsi/meta.json index 2d91fb460b..8a70dbd998 100644 --- a/Resources/Textures/Objects/Weapons/Melee/crusher.rsi/meta.json +++ b/Resources/Textures/Objects/Weapons/Melee/crusher.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "https://github.com/Citadel-Station-13/Citadel-Station-13-RP/blob/817e7c1f225876b45891e3f06908e6d032f0a8bc/icons/obj/mining.dmi", + "copyright": "https://github.com/Citadel-Station-13/Citadel-Station-13-RP/blob/817e7c1f225876b45891e3f06908e6d032f0a8bc/icons/obj/mining.dmi and modified by alzore_ (discord)", "size": { "x": 32, "y": 32 @@ -21,22 +21,6 @@ 0.3 ] ] - }, - { - "name": "inhand-left", - "directions": 4 - }, - { - "name": "inhand-right", - "directions": 4 - }, - { - "name": "wielded-inhand-left", - "directions": 4 - }, - { - "name": "wielded-inhand-right", - "directions": 4 } ] -} \ No newline at end of file +} diff --git a/Resources/Textures/Objects/Weapons/Melee/crusher.rsi/wielded-inhand-left.png b/Resources/Textures/Objects/Weapons/Melee/crusher.rsi/wielded-inhand-left.png deleted file mode 100644 index 6b55e43f72e5bc32ecda58186c6fc39ada252bcc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 823 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|V1b zPZ!6KiaBp*9qbkglsUfNDWK$Ln1_p%M7Ln)8qwX`gT#7TGY&RS`OUs%EvuyW1>J9A z5>Grc^jYUxRjydesyK?8%WK+zHjlq zpNG>;_3K_Rc+1(J=V zY|b#}-s<#Ms0Bx$B8T{aUjAMer8jQ^6aGGapEpUoL+Wtc znU#3%&)enie!E<+6v^S1_;#j2&YJgP-~;PlX{9gr6n?VW$N8hRU`dl)?~&%696Nuq zyJRlea3Rj7BH)B#KwuN2XI_)XVpXNc7CEn|Ac2ohT#waCr&-U=n|-$|ywh0z#+yGk z=9<5^HlCe&zeUl~i@~E$h+)!VmWC%9j0)&nGe)6wzfC)D2B+=%PZ@hjGW}&*8@n ziZ-sfnRCl!wQg+UQFZCxQ|x)9HqPGJy<^XZPdAu9 zq}E9B=LM`{&Jxy^*G%qA;BuI`aph+n(?ElKso7fJ-`~r+CH1;&_qNT!cNMmlTPqau zO0To_4c=O~p3OeuzvSEb{%06fyAf5e#%^RAvrpIa%dzNK})dqMc&bZtBPw+&g{*GCU&2t6kUvMlE*&R21 z?rT*8ofbI}$J<~3sQp;)^uqCG==wtwWKNS%G}%0G|-o z^mLP(H*cz{s)mM!W@TmV=(jEKRkgRb2g)n2bz2FfI7@>3g8xGSL$H5^&_qS?dWOTE zE{-7)?r*1^=4(~panaoO>wmn?RV9vKp`^Sbaa-xE6EX!yS^jl!$0+Q0u)XO($yyVe zqxZNA0}l$dAD3A2XH`>a%7!wpe`YUkBy+C%lX_w0ae}0f zJ&=CzC-;J3Gi#c>Lf2X2epcp3>zbKZ|2~fMs9wL{p(${mHrM6-7alQ*8yL@DrBFMs UYqR46pf?#jUHx3vIVCg!0Ey3o(*OVf delta 488 zcmaFG^qqNvWIY=L1H-D!!h1l9v%n*=n1O-s2naJy)#j6CU|?M7>EaktG3V_qdoSid zf#V;kwT0MT#u!3m)?SwPSM%V37Ow|KfdK@9V2py?VP@fy>FDVcWx`gqSD zbqZjAVPqrD>?pe6{D&A}MVBlFe*ewCo@aO2oVVsbZ^*RQH)}cDhPd2@m&?9?i1}Rh z`KYh$?D)rTQ+4bA=_~R%l$U+|XT4DVWO4Zdu1;nT{&l5l&*j?^Y}gw<$}k)&W{^0~ zh|b~oc|2+Tq1#-$q@PUvG2wRBLDsvxe7>KpS=6^mzbTq#a_Hn+w%eCtX02lMu=_Mc ztck1P%ZE8^O%@Eft^4htv_D@Wc!V*db7!KCU1;0$SsW~OY1wNw$<)^EmHxWzx~kib z`aQCxeW$V;j>+v`tNZ1}*^iO+VmI2Ky;u8U`FIWEH|b9~J2V;;;o%4h)W3{x_r1F( U@P}zHFftiDUHx3vIVCg!0EK1OLI3~& diff --git a/Resources/Textures/Objects/Weapons/Melee/crusher_dagger.rsi/inhand-right.png b/Resources/Textures/Objects/Weapons/Melee/crusher_dagger.rsi/inhand-right.png index cce061bab2933eef43d0399aa85e5c6a4a3fe57d..ae6e01f4a50fd3ab86113959a90076dd0f11a240 100644 GIT binary patch delta 325 zcmaFQ{E}&cWFj*I1H;_yjcNS%G}%0G|-o zn>TN!r<;U^hN`NnW@TmV=(jEKRkgRb2g+~UdUPF-;w%aB3;quU48i^tLK79m>lqGt zx;TbJxWAotTB=2X!_9E_hkyPyD}Gq6m~u-e?chz9Q}t^^nf4uFQRA5Lz?{k9xPI}D ziYkGex}y*NOk@4s)%eMp`x?)j{-z9$^O6?xSvVf_NAxgjo@Dy9XmYpWKEKmV-7+zD z&dUSqmAErfodQ0&Zs_9l5in@vWK#PP>=-%gx6og{i{C!onf{`@W10E++Ri%W71h6g zN;}_O^JHy`=KLT!h*-T9r|oTjDj*k_w7_kQ(NF9~jao_Q=!7jN#Kyi9AO z)|2+or`D&QZ`b=0QIYsXBgab6#cluI5S2eNYWG>M3B=8?_S?&Y=}sg^H?#`w5_{-- zpuV|9?|QZ1h4uSye-U(QDrRi|`h91M-dRi058;YMT8gR`!Vk3eC{AHfXNqYzZ<&yw zdmy~RIligiYwJ`7$qWCE##b~?EGR90wVM%xNb!1@J z*w6hZkrl|-4e$wZy?OIyX(>ZiR+hcJy{f9JfsDZV_3Lv*|1UP)GBJwBn_&*9@xN>L4LZB39fk$L90|Va?5N4dJ%_j|X#1c;z$B>G+ zx3|vb9aa!vNsykV@=x>q{~brQ+TSXk?g?GqWmL==#!z3jBX!xY^MVcxj4T2WqM@9{ zCcfxd<_*(gUq*$k?@vx>uzV^oL0J0%L-8iY0}+hO8_NDq%42*m%}Y39e~S~tnkhg2 z#a>wU)mz2lz^T86JO1}SC`@PJS@70o$A3kOInx=YZJm;7Q#;Ema(W#j3!BdCCcEid zch*|)ac$TWA`vkCPW$5qhSN7W8vdFd*p|~aUnfoP2b)=qyU_>5C7bKNI?Aw2_-?l# zsO*ITLqpA{zuTKHy9Y8b6fUY`kE*yU$)Mc8z{H_|oyccD@Jx7jP{RhB2hJj#5)LtP z9~8S-SP}xjv_V1ynATv>;Q#T!m8rmeh0OzIan1yWAh{2Y-7F90B~%_@*AYsXE%cO8 zeu)PITUo4 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Melee/crusher_glaive-inhands.rsi/inhand-right.png b/Resources/Textures/Objects/Weapons/Melee/crusher_glaive-inhands.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..6949718a597117c697fe0311b2475cd2fa75e5f9 GIT binary patch literal 620 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H3?#oinD`S&F%}28J29*~C-V}>VM%xNb!1@J z*w6hZkrl|-4e$wZy?OIyR#sMNDTBSey{f9}`t|D#WCR%h-_I5OKhxM)myIDbG_=51 zbw|G~P)A$j^7lZBza+>n_&*9@xN>L4LZB39fk$L90|Va?5N4dJ%_j|X#9B`m$B>G+ zx3^9g9ai9B4M-N5bi?%j|D6+q&G;rYu-z%Cdha!}@W{txb>ENEL9T~``K%W1#Wqhl z3JU$6t~hgXCd2z=CMJP#>HNLUHFX8z%pY_)5_=Nz=gj@jRKc}w zyCM_U_UyWU+6}C~OOqLD(r^BhRPYPt_^$f*#muL2ho;C*XSUeFBT(S~ac5V3TN55b3?N`pb^-D|H7Ya={|99(_cM4ZZ zMW6kPiYgb#+SOHDue;WoLp1j3&i%8F$+i?lr@mXiJePeTo5H!jy(VuJrbufS*K6xq za~wT)>(2fOuVh<<8n*1LSG;P?!Fr&0;)8UCf7z?f-e8E@YxZ3~^}eIW(wT>ZE3$hR z9@mzT=YG(;w>i&{;qG;hBN7dMubEqGzL*zyAv^WKe&(ba24AI;*2fFyDu84>UHx3v IIVCg!00hGL3IG5A literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Melee/crusher_glaive-inhands.rsi/meta.json b/Resources/Textures/Objects/Weapons/Melee/crusher_glaive-inhands.rsi/meta.json new file mode 100644 index 0000000000..c6fb3d12d8 --- /dev/null +++ b/Resources/Textures/Objects/Weapons/Melee/crusher_glaive-inhands.rsi/meta.json @@ -0,0 +1,27 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "by alzore_ (discord) based on the proto-kinetic crusher glaive", + "size": { + "x": 64, + "y": 64 + }, + "states": [ + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "wielded-inhand-left", + "directions": 4 + }, + { + "name": "wielded-inhand-right", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/Objects/Weapons/Melee/crusher_glaive-inhands.rsi/wielded-inhand-left.png b/Resources/Textures/Objects/Weapons/Melee/crusher_glaive-inhands.rsi/wielded-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..330b936fb254e39bad9b220d6dd9c291e9aecaca GIT binary patch literal 536 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H3?#oinD`S&F%}28J29*~C-V}>VM%xNb!1@J z*w6hZkrl|-3h)VWRaI3jEoCr}5n%j(KUeg>E*rzmn>W|5UvF=3KhxMaG&FQaziol9 zDp2{&g6ai8imxQdFZe$)U~oNf=LArOv%n*=7^vU~2s2LA=930GAlB2xF{C2y?X9zA z%?bi-4+VLZ)_$+wotkhdOUfeXt*6-g?VdkoKJ3(MUZc+kGz0}aux0!tzsBqG-!~JK z&&BFrShjSpZ-ktmP_MLlx%WxtUfp?Jv)#V0xmot+xuu2gt=&4Ob&p9Dl^A|8P?`Q_ z(S9%CXE$$$oLjfnpT+mqbT=U|LWJSHn(-I z-ER9Ha%uM zE?-DeeYbOhvF*=w+X_v$^449;W;s1+y}%mz{qLDgHm|&v=p7jQxvE#8_L=$zN$dGe zEBDzqUc1`-Yts4a965V0KCI*mH@Eiwe{ib&=s#s3bzDt3<%K(=|0#D;b8_p?l2 Tq-;pM2a@n~^>bP0l+XkK8o$z0 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Melee/crusher_glaive-inhands.rsi/wielded-inhand-right.png b/Resources/Textures/Objects/Weapons/Melee/crusher_glaive-inhands.rsi/wielded-inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..2d1a481266dd20b91a96205758635bf8bde856e9 GIT binary patch literal 535 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H3?#oinD`S&F%}28J29*~C-V}>VM%xNb!1@J z*w6hZkrl|-3h)VWRaI3rkP#>?Wzc0~$QAw1`2W7Wy?tnC=uBhd_3PK)ym@m+ziol9 zDp2`B(*+qoimxQdFZe$)U~oNf=LArOv%n*=7^vU~2s2LA=930GAjZ?hF{C2y?X8PN zO$Gw34}Du%GAjRH&n@d*>gTy>h3xT}|6^8k?mn#^Clnbk12hE%9FS&w67Thwfz#1W zC-t#LbmO#Xy>(Gji_WU5^CWL@{rSlvOz@cElv4ZSpH*IEZ&@-$@3P6u5Z^h^k7oT# zoB2G$^k&qyZ%4ZR6htR&+OB)ir1D)(WY+cbO+FW%+}gBRJ(OkY-TSvw6;F#rUkS?M zTXyZ=?o;1#x7-ZZeRJX-R0`bOnj@#7F6XdnDk>MyTGoyya&p<9P1CSN@w?ri@!Ae zZsVVgH}CFc{=lvituRc8-OqSsx|s=! Rxzl-&jHj!g%Q~loCIDCo)Z_pF literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Melee/crusher_glaive.rsi/icon.png b/Resources/Textures/Objects/Weapons/Melee/crusher_glaive.rsi/icon.png index 980af14aa86c025fc1be958d55d6902884cca2ab..e22b636f3da9e25706672b73b822daca1573690b 100644 GIT binary patch delta 370 zcmaFGGL?CPWIZzj1B1(wu46!ou{g-xiDBJ2nU_EgOS+@4BLl<6e(pbstU$hHfKQ0) z&6_vV(@pH{?bokgUs}qbs;Zimm1Q6!5E>eqEBb#&zb(VOt&IQgAKwz8%f>KKNMNS1 zae=QYQ1_BG9ic!0&^HP)!yNls3=~~aLm)iF~q{Zc7nH9vjPu;=xntG z%clO8-}W%rF?mL>{<($|BJ3)eY{fl!g4wK}x$iAjsFYy2xmZ>tzm{picPj>`H+#5_ z{BAh=n&I!Rw`c8H5~FK>Hui8al=q*08G7K&lL^7qwcIo8c>>zcm?r!)ivMHk@!Ikh zwoa#KLi+Rb)^D);+bu?uAJa- z5orN}MY@#I<14%_AhMAkfPP-|4gN@gUN`!4 qflJLV{)0f{wDVO!(=^{&-kATOhZR63qbJA!0000O*Na%yE`C^QR2~SwcEO%BNIOqM^1B{ct9&bqU~?)#)yjc zjSqLPYnIr+RiJk0?~@7-rhR!!kIr&gJclPy!p7}Ke#Gs1yR-_GTQ?s_WZ4T{%m1GC z_b0D~kszSo5;iszrfRoV4GY_9^-p+H6j z8BqpIYK{ieieDTSzXWfvCS09SRXZg#BaHFN!@FODJQIW)rXMVfylxtKcEVzj^GXc$ zcZznZ@a8XE=d_vQ0at#Z>Khi8wcV}^=@s2mH_Ya4x^`GeA#6Uw(eE!B1vs8RVtF8^ zalZIN?wT2@2d=#j&S?0Qd*XxGgKO{4OGdYSf9qwb@!-nW-^o8#izmL?%g#DyS6#hM x@LrDKid-g5*7A=(?}~31pV1ABoDT61%&+gsBy#kg{Rd1E44$rjF6*2UngEgz_AdYc diff --git a/Resources/Textures/Objects/Weapons/Melee/crusher_glaive.rsi/inhand-right.png b/Resources/Textures/Objects/Weapons/Melee/crusher_glaive.rsi/inhand-right.png deleted file mode 100644 index e2d24c9ee8af39cd2379d386af1a2122da0879fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 568 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|VnL zPZ!6KiaBp*`DZmdh#cGRAa2_z@_mwCaifw*i_=S2Ce^*3kJI!n`G&FPKQP;|?u(e2 zztO>EStjQ^((nCle8NAo^M1aJddfZC8OlrtWCR(WbubvXvou&LF`N-(47R@U{`=LU zoiPUj)i@*8Ul)~mp2cX_qP|XO!Qp%}=^Zscg%`8B1U~VtNSeaHHD9IE{9)%orWzi9 z9wtN0ib?D#2|8RDISk%#5%bax^ z^2+@C%PT^cmOnH-?(=o(hU)qiW%KVZkgm~vP_cady!Za+_qM29NO=9>%e_plA2NGR zR{H&PW&wICp^t;1*o6VjzsFc-tP-EG`rUyQ440#yU6~(rY86W|Q_fZH8`Bb88hUk$ zU$rlDoVBd<|F(ZC=jj}Hwr=CJf|^X%Ln(~gwx5|Tlu>@mWHRfSK>Y=(H*UOBl%(# zl-kb&mX&SsV(jUMX3?q`=_m>gTe~DWM4f Dl|1t* diff --git a/Resources/Textures/Objects/Weapons/Melee/crusher_glaive.rsi/meta.json b/Resources/Textures/Objects/Weapons/Melee/crusher_glaive.rsi/meta.json index 2d91fb460b..8a70dbd998 100644 --- a/Resources/Textures/Objects/Weapons/Melee/crusher_glaive.rsi/meta.json +++ b/Resources/Textures/Objects/Weapons/Melee/crusher_glaive.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "https://github.com/Citadel-Station-13/Citadel-Station-13-RP/blob/817e7c1f225876b45891e3f06908e6d032f0a8bc/icons/obj/mining.dmi", + "copyright": "https://github.com/Citadel-Station-13/Citadel-Station-13-RP/blob/817e7c1f225876b45891e3f06908e6d032f0a8bc/icons/obj/mining.dmi and modified by alzore_ (discord)", "size": { "x": 32, "y": 32 @@ -21,22 +21,6 @@ 0.3 ] ] - }, - { - "name": "inhand-left", - "directions": 4 - }, - { - "name": "inhand-right", - "directions": 4 - }, - { - "name": "wielded-inhand-left", - "directions": 4 - }, - { - "name": "wielded-inhand-right", - "directions": 4 } ] -} \ No newline at end of file +} diff --git a/Resources/Textures/Objects/Weapons/Melee/crusher_glaive.rsi/wielded-inhand-left.png b/Resources/Textures/Objects/Weapons/Melee/crusher_glaive.rsi/wielded-inhand-left.png deleted file mode 100644 index ce6c530f30cbc37d39d8a17ab069a3a9c60f73a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 567 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|Vnr zPZ!6KiaBp*?e{wrAacxJnB6=!MImolqJr92MxH*sJ{xu^aruKsHMp7AA9!&n#l)_` zmxnpgHR;tO=@?5D@!M6=JEz$nF0bQ$yZ1uz`SsJwEYhW)tYDb1n8~4!i@{Qh0gclT z%AR2&b<8ww{q>7kTLV^K-L}DT4%4A#+v4KVmd&T9UwM>cG}SA$Oz!x{nsa?$tM*>W zSGlOvc6edt_S+IXY%4#WOli895fbJ1|J{+8`}-87>Mhql6)C9N)Bo@B@%4p~Q~s_A zTmAX-lL!HpV|p=tPxYQFmdCT4C=8ntqhG!DKgUEHmH8_fp6>}h@VD7IposBu@^zax zNpHU|_Y~7J&{XtXetD+)yxzCYaeC9H+A!CMM}LutICg&lM=f`Qj3`4<2*Zg$Mg@0P zJe)aOrybvY_g&QKhuufwW;LX3&Ri0cxBAGm{ihzEcHvsNZ=*N2!0AiU0C?=X7Mh$H&4g%w5-3G@sqDCQ*Qq9UqAnbZBMYZcUkl{ zcgGLCZ`BW6G?}OyuYXDS!Ra--lmE=Iet)@t!cp%7@n_j)FY@7U+{fmK2!Ch&2hyK+ W9#3a}tRDhQ2@IaDelF{r5}E*3Z1E!i diff --git a/Resources/Textures/Objects/Weapons/Melee/crusher_glaive.rsi/wielded-inhand-right.png b/Resources/Textures/Objects/Weapons/Melee/crusher_glaive.rsi/wielded-inhand-right.png deleted file mode 100644 index 84abf8014872d68e3dda5c27c3762dd628caffae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 520 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|VnO zPZ!6KiaBp*?e#hwAklW;N$zN=eHG@SM@tXy0keB`Kif#BOq(wXgkP9NErE-hp+ z*9;PO-=4hRDQnjJ$xB`+y#MXsd2agW&re?}p8m-+L77p(oynn(r9p<1!BU8!NQL2v z2g8Yp3?K>h2)*ffCQ^wTBc8~ed;U3Wm#qX(%su&i@W5{ zuP&5-_;TXz-Ij;1el31$m>O};^<&-s{)YuWHZ$u?NZlH>)1q&?XUXo^?V0Ky7wv21 zJTvcJVP#zoQAt7!d*SuhsBPR`a(%}iPxDRsesam|>~-;hIu8ql z%>Rk=OHMwOs{j0D$*WVpZtZ42*_-e5$M}-v?|Wx2xCTX5U-3~h|LUzWmisSDv|bCo$=Lhu)>7*QZ(?ktjT1N{mCAfKl>PbD z==^cb-rrL%Zds?Gejr>wAtjrwW-Fub%FSh0WqiwHAM&lR3jTk3R^zIz_0qL0j)+iw c!CJ#?%5Yd}k#M&xFlre*UHx3vIVCg!0Kwwl6#xJL From d4db338ec6dd33d45b23abc022362cf6f8a5796e Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 30 Oct 2024 07:39:27 +0000 Subject: [PATCH 068/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 6131e0e6f4..7089711f43 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,14 +1,4 @@ Entries: -- author: Plykiya - changes: - - message: You can drop food or drinks from your hands to interrupt eating it, again. - type: Fix - - message: Barber scissors are now interrupted if the item is dropped or if the - user changes hands. - type: Tweak - id: 7061 - time: '2024-08-08T11:39:47.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30361 - author: TheShuEd changes: - message: Add "thieving beacon" to Thief antag - a device that counts objects within @@ -3955,3 +3945,11 @@ id: 7560 time: '2024-10-29T05:07:57.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33046 +- author: Blackern5000 + changes: + - message: Proto-kitentic crushers, glaives, and daggers now have more accurate + inhand sprites. + type: Tweak + id: 7561 + time: '2024-10-30T07:38:19.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/32212 From 010638d0e98856b371359422d25dc31b726be87e Mon Sep 17 00:00:00 2001 From: Alzore <140123969+Blackern5000@users.noreply.github.com> Date: Wed, 30 Oct 2024 02:40:33 -0500 Subject: [PATCH 069/588] Make the security belt contain more useful items by default (#32291) * replace tear gas and flashbang with holobarrier and sec radio * holobarrier-belt-fix --- Resources/Prototypes/Catalog/Fills/Items/belt.yml | 4 ++-- Resources/Prototypes/Entities/Clothing/Belt/belts.yml | 1 - .../Prototypes/Entities/Objects/Devices/holoprojectors.yml | 1 + 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Resources/Prototypes/Catalog/Fills/Items/belt.yml b/Resources/Prototypes/Catalog/Fills/Items/belt.yml index d905350cde..4a798b1a13 100644 --- a/Resources/Prototypes/Catalog/Fills/Items/belt.yml +++ b/Resources/Prototypes/Catalog/Fills/Items/belt.yml @@ -46,10 +46,10 @@ table: !type:AllSelector children: - id: Stunbaton - - id: GrenadeFlashBang - - id: TearGasGrenade - id: Handcuffs - id: Handcuffs + - id: HoloprojectorSecurity + - id: RadioHandheldSecurity - type: entity id: ClothingBeltSecurityFilled diff --git a/Resources/Prototypes/Entities/Clothing/Belt/belts.yml b/Resources/Prototypes/Entities/Clothing/Belt/belts.yml index 845944302f..c163153702 100644 --- a/Resources/Prototypes/Entities/Clothing/Belt/belts.yml +++ b/Resources/Prototypes/Entities/Clothing/Belt/belts.yml @@ -487,7 +487,6 @@ - CartridgeAmmo - DoorRemote - Whistle - - HolosignProjector - BalloonPopper - type: ItemMapper mapLayers: diff --git a/Resources/Prototypes/Entities/Objects/Devices/holoprojectors.yml b/Resources/Prototypes/Entities/Objects/Devices/holoprojectors.yml index 0c8b539c59..0df74d80d6 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/holoprojectors.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/holoprojectors.yml @@ -121,6 +121,7 @@ - type: Tag tags: - HolofanProjector + - SecBeltEquip - type: StaticPrice price: 50 From 0f1e11c356cb62dc727501b318e773b26b3c05f7 Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 30 Oct 2024 07:41:40 +0000 Subject: [PATCH 070/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 7089711f43..c594f6fc4f 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,17 +1,4 @@ Entries: -- author: TheShuEd - changes: - - message: Add "thieving beacon" to Thief antag - a device that counts objects within - a radius of itself as stolen. - type: Add - - message: Return thief structures stealing objectives. - type: Add - - message: Animal theft objectives can no longer appear if the animals are not on - the station. - type: Fix - id: 7062 - time: '2024-08-08T13:17:50.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/29997 - author: lzk228 changes: - message: RD labcoat added in RD's dresser. @@ -3953,3 +3940,11 @@ id: 7561 time: '2024-10-30T07:38:19.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/32212 +- author: Blackern5000 + changes: + - message: Security belts now contain a holobarrier projector and a handheld security + radio by default rather than tear gas and a flashbang. + type: Tweak + id: 7562 + time: '2024-10-30T07:40:33.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/32291 From 6834bc1fbdb2a71050ba7e21b77af11afa2b9265 Mon Sep 17 00:00:00 2001 From: Alzore <140123969+Blackern5000@users.noreply.github.com> Date: Wed, 30 Oct 2024 02:41:51 -0500 Subject: [PATCH 071/588] Add 3 bottle boxes to nanomed plus (#33018) three bottle boxes in nanomed plus --- .../Prototypes/Catalog/VendingMachines/Inventories/medical.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/medical.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/medical.yml index 466749120b..72b6b7617a 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/medical.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/medical.yml @@ -7,6 +7,7 @@ Bloodpack: 5 EpinephrineChemistryBottle: 3 Syringe: 5 + BoxBottle: 3 ClothingEyesHudMedical: 2 ClothingEyesEyepatchHudMedical: 2 From 827d00eb18e040fa5c43403738491dbc744b3957 Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 30 Oct 2024 07:42:56 +0000 Subject: [PATCH 072/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index c594f6fc4f..60e14a48fa 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: lzk228 - changes: - - message: RD labcoat added in RD's dresser. - type: Add - id: 7063 - time: '2024-08-08T22:50:57.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30671 - author: SlamBamActionman changes: - message: Animal DNA now shows up as "unknown DNA" in the Forensic Scanner. @@ -3948,3 +3941,11 @@ id: 7562 time: '2024-10-30T07:40:33.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/32291 +- author: Blackern5000 + changes: + - message: Added three bottle boxes to the nanomed plus inventory for doctors to + carry small amounts of chemicals on their person + type: Add + id: 7563 + time: '2024-10-30T07:41:51.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33018 From 4b467685b2929833ac1460940f14ae10e6be49dc Mon Sep 17 00:00:00 2001 From: Alzore <140123969+Blackern5000@users.noreply.github.com> Date: Wed, 30 Oct 2024 04:15:30 -0500 Subject: [PATCH 073/588] Nukie med bundle now costs 24 tc and contains a unique defibrillator (#32720) * a-few-injectors * comment * defib-ops-when --- .../Locale/en-US/store/uplink-catalog.ftl | 4 +- .../Catalog/Fills/Backpacks/duffelbag.yml | 16 ++- .../Prototypes/Catalog/uplink_catalog.yml | 4 +- .../Objects/Specific/Medical/defib.yml | 66 ++++++++++++ .../Objects/Specific/Medical/hypospray.yml | 97 +++++++++++++++++- .../Specific/Medical/defibsmall.rsi/icon.png | Bin 0 -> 300 bytes .../Medical/defibsmall.rsi/inhand-left.png | Bin 0 -> 294 bytes .../Medical/defibsmall.rsi/inhand-right.png | Bin 0 -> 300 bytes .../Specific/Medical/defibsmall.rsi/meta.json | 28 +++++ .../Specific/Medical/defibsmall.rsi/ready.png | Bin 0 -> 178 bytes .../Medical/defibsmall.rsi/screen.png | Bin 0 -> 198 bytes .../Specific/Medical/defibsyndi.rsi/icon.png | Bin 0 -> 300 bytes .../Medical/defibsyndi.rsi/inhand-left.png | Bin 0 -> 290 bytes .../Medical/defibsyndi.rsi/inhand-right.png | Bin 0 -> 295 bytes .../Specific/Medical/defibsyndi.rsi/meta.json | 28 +++++ .../Specific/Medical/defibsyndi.rsi/ready.png | Bin 0 -> 158 bytes .../Medical/defibsyndi.rsi/screen.png | Bin 0 -> 191 bytes .../Specific/Medical/medipen.rsi/dexpen.png | Bin 0 -> 286 bytes .../Medical/medipen.rsi/dexpen_empty.png | Bin 0 -> 311 bytes .../Specific/Medical/medipen.rsi/meta.json | 18 ++++ .../Specific/Medical/medipen.rsi/punctpen.png | Bin 0 -> 286 bytes .../Medical/medipen.rsi/punctpen_empty.png | Bin 0 -> 311 bytes .../Specific/Medical/medipen.rsi/pyrapen.png | Bin 0 -> 286 bytes .../Medical/medipen.rsi/pyrapen_empty.png | Bin 0 -> 311 bytes 24 files changed, 251 insertions(+), 10 deletions(-) create mode 100644 Resources/Textures/Objects/Specific/Medical/defibsmall.rsi/icon.png create mode 100644 Resources/Textures/Objects/Specific/Medical/defibsmall.rsi/inhand-left.png create mode 100644 Resources/Textures/Objects/Specific/Medical/defibsmall.rsi/inhand-right.png create mode 100644 Resources/Textures/Objects/Specific/Medical/defibsmall.rsi/meta.json create mode 100644 Resources/Textures/Objects/Specific/Medical/defibsmall.rsi/ready.png create mode 100644 Resources/Textures/Objects/Specific/Medical/defibsmall.rsi/screen.png create mode 100644 Resources/Textures/Objects/Specific/Medical/defibsyndi.rsi/icon.png create mode 100644 Resources/Textures/Objects/Specific/Medical/defibsyndi.rsi/inhand-left.png create mode 100644 Resources/Textures/Objects/Specific/Medical/defibsyndi.rsi/inhand-right.png create mode 100644 Resources/Textures/Objects/Specific/Medical/defibsyndi.rsi/meta.json create mode 100644 Resources/Textures/Objects/Specific/Medical/defibsyndi.rsi/ready.png create mode 100644 Resources/Textures/Objects/Specific/Medical/defibsyndi.rsi/screen.png create mode 100644 Resources/Textures/Objects/Specific/Medical/medipen.rsi/dexpen.png create mode 100644 Resources/Textures/Objects/Specific/Medical/medipen.rsi/dexpen_empty.png create mode 100644 Resources/Textures/Objects/Specific/Medical/medipen.rsi/punctpen.png create mode 100644 Resources/Textures/Objects/Specific/Medical/medipen.rsi/punctpen_empty.png create mode 100644 Resources/Textures/Objects/Specific/Medical/medipen.rsi/pyrapen.png create mode 100644 Resources/Textures/Objects/Specific/Medical/medipen.rsi/pyrapen_empty.png diff --git a/Resources/Locale/en-US/store/uplink-catalog.ftl b/Resources/Locale/en-US/store/uplink-catalog.ftl index b3ea4b7251..a78f39d569 100644 --- a/Resources/Locale/en-US/store/uplink-catalog.ftl +++ b/Resources/Locale/en-US/store/uplink-catalog.ftl @@ -216,8 +216,8 @@ uplink-chemistry-kit-desc = A starter kit for the aspiring chemist, includes tox uplink-knives-kit-name = Throwing Knives Kit uplink-knives-kit-desc = A set of 4 syndicate branded throwing knives, perfect for embedding into the body of your victims. -uplink-meds-bundle-name = Medical Bundle -uplink-meds-bundle-desc = All you need to get your comrades back in the fight: mainly a combat medkit, a defibrillator and three combat medipens. +uplink-meds-bundle-name = Interdyne Medical Bundle +uplink-meds-bundle-desc = An assortment of autoinjectors and premium medical equipment to cover for every possible situation. Contains an elite compact defibrillator that can be used as a weapon. uplink-ammo-bundle-name = Ammo Bundle uplink-ammo-bundle-desc = Reloading! Contains 4 magazines for the C-20r, 4 drums for the Bulldog, and 2 ammo boxes for the L6 SAW. diff --git a/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml b/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml index c059f095e1..75b3a29065 100644 --- a/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml +++ b/Resources/Prototypes/Catalog/Fills/Backpacks/duffelbag.yml @@ -302,13 +302,19 @@ components: - type: StorageFill contents: + - id: DefibrillatorSyndicate - id: MedkitCombatFilled - - id: Defibrillator + amount: 4 + - id: Tourniquet + amount: 4 - id: CombatMedipen - amount: 3 - - id: ClothingHandsGlovesNitrile - - id: SyringeTranexamicAcid - - id: SyringeHyronalin + amount: 4 + - id: PunctAutoInjector + amount: 4 + - id: PyraAutoInjector + amount: 4 + - id: AirlossAutoInjector + amount: 4 - type: entity parent: ClothingBackpackDuffelSyndicateBundle diff --git a/Resources/Prototypes/Catalog/uplink_catalog.yml b/Resources/Prototypes/Catalog/uplink_catalog.yml index 748a65b761..f31d85414d 100644 --- a/Resources/Prototypes/Catalog/uplink_catalog.yml +++ b/Resources/Prototypes/Catalog/uplink_catalog.yml @@ -699,9 +699,9 @@ productEntity: ClothingBackpackDuffelSyndicateMedicalBundleFilled discountCategory: rareDiscounts discountDownTo: - Telecrystal: 12 + Telecrystal: 16 cost: - Telecrystal: 20 + Telecrystal: 24 categories: - UplinkChemicals conditions: diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/defib.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/defib.yml index 69c106efab..fb0f3d52c6 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/defib.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/defib.yml @@ -71,3 +71,69 @@ id: DefibrillatorOneHandedUnpowered parent: BaseDefibrillator suffix: One-Handed, Unpowered + +- type: entity + id: DefibrillatorCompact # This should be a research item at some point + parent: [ BaseDefibrillator, PowerCellSlotMediumItem ] + name: compact defibrillator + description: Now in fun size! + components: + - type: Sprite + sprite: Objects/Specific/Medical/defibsmall.rsi + layers: + - state: icon + - state: screen + map: [ "enum.ToggleVisuals.Layer" ] + visible: false + shader: unshaded + - state: ready + map: ["enum.PowerDeviceVisualLayers.Powered"] + shader: unshaded + - type: Item + size: Normal + - type: ToggleCellDraw + - type: PowerCellDraw + useRate: 100 + - type: Defibrillator + zapHeal: + types: + Asphyxiation: -40 + doAfterDuration: 6 + - type: DoAfter + - type: UseDelay + +- type: entity + id: DefibrillatorSyndicate + parent: DefibrillatorCompact + name: interdyne defibrillator + description: Doubles as a self-defense weapon against war-crime inclined tiders. + components: + - type: Sprite + sprite: Objects/Specific/Medical/defibsyndi.rsi + layers: + - state: icon + - state: screen + map: [ "enum.ToggleVisuals.Layer" ] + visible: false + shader: unshaded + - state: ready + map: ["enum.PowerDeviceVisualLayers.Powered"] + shader: unshaded + - type: MeleeWeapon + damage: + types: + Blunt: 8 + - type: ItemToggleMeleeWeapon + activatedSoundOnHit: + path: /Audio/Items/Defib/defib_zap.ogg + params: + variation: 0.250 + activatedSoundOnHitNoDamage: + path: /Audio/Items/Defib/defib_zap.ogg + params: + variation: 0.250 + volume: -10 + activatedDamage: + types: + Blunt: 8 + Shock: 16 diff --git a/Resources/Prototypes/Entities/Objects/Specific/Medical/hypospray.yml b/Resources/Prototypes/Entities/Objects/Specific/Medical/hypospray.yml index c81af6e128..93eeef2073 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Medical/hypospray.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Medical/hypospray.yml @@ -271,7 +271,6 @@ transferAmount: 20 onlyAffectsMobs: false injectOnly: true - - type: SolutionContainerManager solutions: pen: @@ -284,6 +283,102 @@ - type: Tag tags: [] +- type: entity + name: puncturase auto-injector + parent: ChemicalMedipen + id: PunctAutoInjector + description: A rapid dose of puncturase and tranexamic acid, intended for combat applications. + components: + - type: Sprite + sprite: Objects/Specific/Medical/medipen.rsi + layers: + - state: punctpen + map: ["enum.SolutionContainerLayers.Fill"] + - type: SolutionContainerVisuals + maxFillLevels: 1 + changeColor: false + emptySpriteName: punctpen_empty + - type: Hypospray + solutionName: pen + transferAmount: 15 + onlyAffectsMobs: false + injectOnly: true + - type: SolutionContainerManager + solutions: + pen: + maxVol: 15 + reagents: + - ReagentId: Puncturase + Quantity: 10 + - ReagentId: TranexamicAcid + Quantity: 5 + - type: Tag + tags: [] + +- type: entity + name: pyrazine auto-injector + parent: ChemicalMedipen + id: PyraAutoInjector + description: A rapid dose of pyrazine and dermaline, intended for combat applications. + components: + - type: Sprite + sprite: Objects/Specific/Medical/medipen.rsi + layers: + - state: pyrapen + map: ["enum.SolutionContainerLayers.Fill"] + - type: SolutionContainerVisuals + maxFillLevels: 1 + changeColor: false + emptySpriteName: pyrapen_empty + - type: Hypospray + solutionName: pen + transferAmount: 20 + onlyAffectsMobs: false + injectOnly: true + - type: SolutionContainerManager + solutions: + pen: + maxVol: 20 + reagents: + - ReagentId: Pyrazine + Quantity: 10 + - ReagentId: Dermaline + Quantity: 10 + - type: Tag + tags: [] + +- type: entity + name: airloss auto-injector + parent: ChemicalMedipen + id: AirlossAutoInjector + description: A rapid dose of saline and dexalin plus, intended to get someone up quickly. + components: + - type: Sprite + sprite: Objects/Specific/Medical/medipen.rsi + layers: + - state: dexpen + map: ["enum.SolutionContainerLayers.Fill"] + - type: SolutionContainerVisuals + maxFillLevels: 1 + changeColor: false + emptySpriteName: dexpen_empty + - type: Hypospray + solutionName: pen + transferAmount: 40 + onlyAffectsMobs: false + injectOnly: true + - type: SolutionContainerManager + solutions: + pen: + maxVol: 40 + reagents: + - ReagentId: Saline + Quantity: 20 + - ReagentId: DexalinPlus + Quantity: 20 + - type: Tag + tags: [] + - type: entity name: space medipen parent: ChemicalMedipen diff --git a/Resources/Textures/Objects/Specific/Medical/defibsmall.rsi/icon.png b/Resources/Textures/Objects/Specific/Medical/defibsmall.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..99a15087e7bca64d9ed9048f179bc3c73bae4282 GIT binary patch literal 300 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCiji0(?ST<>loa931-l`;Qzs^5Vsd;^N|{X}f`vPL&ejK#HRz$S?Rm1Tfrd z-Wv%N<1FxqEM{QfI|Ravq8eTeK*3H=7sn6_|ECuZ^0g@NxCYAQzWo3Hqs;~lwN#%w zzRxyYIN*6T;?Kf*=2YkBX6so^yY^mWQVV(I0=1*kOVc2*)ui<~wM?vX=sZ8>p j`;(S$Z`dQx@J@bTnZ&`w+k0eyj$-h1^>bP0l+XkKXb*57 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Medical/defibsmall.rsi/inhand-left.png b/Resources/Textures/Objects/Specific/Medical/defibsmall.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..42d319843d99564a585539451cff12800025cf70 GIT binary patch literal 294 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O_~O1^9%x9yxO4#fulk#l_PXZ^*Cj2MQNeOKbpAY$ZW{!T&*kVe|ea`+*{y z1s;*b3=DjSK$uZf!>a)(*zM`!7!u+B_L?JKg94As#chZFuFsjZ%zK)>jWPdTrno`*JZ|Rep$&$73=)fGe>69! z7GPvDVq!^Q;W%M%VRI^b|E)Lc*yFhV=;Xg+53HZSQBo_!@#43Fz=jv$jSZpu-+U6_ fS9-vHV2-(;f#2(u9ZM2{&SLO%^>bP0l+XkK5Uy%& literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Medical/defibsmall.rsi/inhand-right.png b/Resources/Textures/Objects/Specific/Medical/defibsmall.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..a2317f7facec9ebb7460963a2fae389595bfbf02 GIT binary patch literal 300 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O_~O1^9%x9yxO4#fulk#l_PXZ^*Cj2MQNeOKbpAY$ZW{!T&*kVe|ea`+*{y z1s;*b3=DjSK$uZf!>a)(IMLI^F(ktM?KN+{0}3200SObM~ZKLOQ zMg|9Fh6XkUhO!lvI6;>1s;*b3=DjSL74G){)!Z!pu4AwV@QO1vIOhm1d*PmKm#tfgAUAY8oojw zW_|ej|8n$u$t71=Bon@DW6IlfCaLL?3S-G>$1fTP^=%pn2@DLuPlPtbiW}?z8p+`4 L>gTe~DWM4f3t%-Y literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Medical/defibsmall.rsi/screen.png b/Resources/Textures/Objects/Specific/Medical/defibsmall.rsi/screen.png new file mode 100644 index 0000000000000000000000000000000000000000..1a2ac1cdec93e592dcf259277ebf800e1bcc406f GIT binary patch literal 198 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCikh0(?ST#hiWh;xij|9svqmD75+tQdbh>7ySSKe+CDwm0y5-&H|6fVg?4j z!ywFfJby(BP|(=Z#WBRfKRH2-!A;cRzzQag1>2d}I2t}FFti>&!NSxNAjdLcSwo{B j%ZG?Y-X0FtGiMlT`?*hL74ez^wKI6S`njxgN@xNAS7bM8 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Medical/defibsyndi.rsi/icon.png b/Resources/Textures/Objects/Specific/Medical/defibsyndi.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..69c4e441de03015ad7ab1cd7fda81e35e63e1fa6 GIT binary patch literal 300 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCiji0(?ST1q1|ygoM=9)wQ&=jE#*I6&33l8G({Z-)qFT3xUThWz(_XSP z8PDB(gLg$^cm7VsRexpfAJAc6s~A>o=_uk}o$z?h{E19D3>%Nk44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`212l#}zYH4X18ygD=2`MTn0>zlCg=&EmYe|q_@P8m+_`QuU7%0G5;1OBO zz`%D9gc)~C%zg_L?DlkV42f`md(Dxr#em28qQ#eg>2j_~)8#Xc=B2FH+FIveW^(Pg zgh7B|!h%B%Z+2G%&D=G8y`zHir?`D-(icAX?RN065ocS%7IU4E!8wGbo_RAnP-)Tu zhocRRT+GI|%RXeRd0Dj}>_K|w4*8V-j!Fh!Jrxq(H9H(|-p|cq^YykK|3?M3e+&_? Z*@bu6>)e|8%oXS?22WQ%mvv4FO#nAuVsroi literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Medical/defibsyndi.rsi/inhand-right.png b/Resources/Textures/Objects/Specific/Medical/defibsyndi.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..c30877c534e5fb585fd2ac7319483ebd6d4297bd GIT binary patch literal 295 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I3?%1nZ+ru!7>k44ofy`glX(f`u%tWsIx;Y9 z?C1WI$O`212l#}zYH4X18ygD=2`MTn0>zlCg=&EmYe|q_@P8m+_`QuU7%0G5;1OBO zz`%D9gc)~C%zg_LoZ#u=7!u+B_L?`>0Rs+}faA~prRzCm&FW{o96K|zb7lX8-l?Aq zSvVp%1U6VGv|ll13%z1AojpKsZK_^6!>!zY2F5=}Wf+7Gl=?cn5>$L7zq>?=iA4vZ z!N);oo&T|QQ!)-G>iYPyL`U7WdSk?Nu||W(!A73bcEfD*g<|h{_Wt!h_Nt_HnbQMy b2TgPSpY}S3`(ri$-NxYQ>gTe~DWM4fD1Bat literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Medical/defibsyndi.rsi/meta.json b/Resources/Textures/Objects/Specific/Medical/defibsyndi.rsi/meta.json new file mode 100644 index 0000000000..441fd4f5fe --- /dev/null +++ b/Resources/Textures/Objects/Specific/Medical/defibsyndi.rsi/meta.json @@ -0,0 +1,28 @@ +{ + "version": 1, + "license": "CC0-1.0", + "copyright": "Created by EmoGarbage404 (github) for Space Staiton 14 and modified by alzore_(Discord)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "ready" + }, + { + "name": "screen" + } + ] +} diff --git a/Resources/Textures/Objects/Specific/Medical/defibsyndi.rsi/ready.png b/Resources/Textures/Objects/Specific/Medical/defibsyndi.rsi/ready.png new file mode 100644 index 0000000000000000000000000000000000000000..e5a8065eadc06d555fc09d7e309e6b57a08342e0 GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSK$uZf!>a)(Xzc0Y7!u+B_Uvv>1_cr318??EPLBND7~a9m yaY(jBL{o_2fw!$>?$bB3?(H~Vew~HkkJ`)+eL{tDJOv^^?F^o-elF{r5}E+i0WDep literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Medical/defibsyndi.rsi/screen.png b/Resources/Textures/Objects/Specific/Medical/defibsyndi.rsi/screen.png new file mode 100644 index 0000000000000000000000000000000000000000..0c7a26a2a5eda1c3b5cd730138d9d6fdcc07eef0 GIT binary patch literal 191 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}Ea{HEjtmSN z`?>!lvI6;>1s;*b3=DjSK$uZf!>a)(7~<*T7!u*0EWx@sL8PZC(16SBpoRpivYdfa z=AuS@=ELn-)2+opNLIZ?x;Ff{&p zEl{QY9K$W?giABqW)yI4nrD=7QU8>HcP!IM-?g=OexX#nb2rPSjFr1(pM{DS|Z0ER1fW-J6saTa()7Bet#3xY6XeMwPPjwzXhKo6MDkV9f(>wLuyM>xy}Kvd8^NxEKhqD%m;J>gQu&X%Q~loCIFxseuDr2 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Medical/medipen.rsi/meta.json b/Resources/Textures/Objects/Specific/Medical/medipen.rsi/meta.json index 8e9f54f1d0..8872f25f52 100644 --- a/Resources/Textures/Objects/Specific/Medical/medipen.rsi/meta.json +++ b/Resources/Textures/Objects/Specific/Medical/medipen.rsi/meta.json @@ -96,6 +96,24 @@ }, { "name": "medipen-inhand-right" + }, + { + "name": "punctpen" + }, + { + "name": "punctpen_empty" + }, + { + "name": "pyrapen" + }, + { + "name": "pyrapen_empty" + }, + { + "name": "dexpen" + }, + { + "name": "dexpen_empty" } ] } diff --git a/Resources/Textures/Objects/Specific/Medical/medipen.rsi/punctpen.png b/Resources/Textures/Objects/Specific/Medical/medipen.rsi/punctpen.png new file mode 100644 index 0000000000000000000000000000000000000000..fa529e8d189535e042a31cca590cddc3ada837e8 GIT binary patch literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCikd1AIbUkME0JvSi7wUAvaewfgX40uX%o@ZsLIDy82tSLzimU%uQ>p|)ek zj>g7DppNtTZ+-$P{*oZS;QuIq;mVyE3xQIc1s;*b3=G_YAk0{w5%bXG_!3+0q3T9MhO@7PYHO(GM)5YTYKkM8q4{zgnj%jdfOdM_AnS!S^%wL N@O1TaS?83{1OUM_a?1b! literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Medical/medipen.rsi/punctpen_empty.png b/Resources/Textures/Objects/Specific/Medical/medipen.rsi/punctpen_empty.png new file mode 100644 index 0000000000000000000000000000000000000000..4bd9cd4858379faae8933ea2fd38884f95a7428a GIT binary patch literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCikd1AIbUkME29@M6NUxmHV-EZMPR$F5zwCQO*{;lqb}*Q&g|z5gpJUcP*} zv9YnCLJg>+bM;MLAjMx2Gh-o8inG8YvY3H^TM&d9>r>(<0tG8PT^vI! z{NMJS7CIon!@xPU;>iE{Jl{RHoR2L%{_fz6tsN`b|1J0&na~qCZkkfe9T3Tr)0oPFt{BqG+}$e-NLwz%A}iM-_f5Rh@T;;VO<6dz8-LVzVvZ q?ZB;{ToIP_JS#u2&vg!X&0BrmWO>@NU_PK57(8A5T-G@yGywnxT!1A2 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Medical/medipen.rsi/pyrapen.png b/Resources/Textures/Objects/Specific/Medical/medipen.rsi/pyrapen.png new file mode 100644 index 0000000000000000000000000000000000000000..fee075cc3bef3ea8eea9fc2f5fd7e1d7f39c7e2a GIT binary patch literal 286 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyjKx9jP7LeL$-D$|SkfJR9T^xl z_H+M9WCikd1AIbUk1vT`vSi7wUAvYwS$()L0SG>P_;7D;mC|pSEAFVdQ&MBb@0F)$g8vpKsU_yrh*Nh9D(-!QOD4K1`AH-)ZaEtrXQH7sMRp%XIxQe629;Gw5*lf#p pJ8 Date: Wed, 30 Oct 2024 09:16:36 +0000 Subject: [PATCH 074/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 60e14a48fa..b9b8422096 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,20 +1,4 @@ Entries: -- author: SlamBamActionman - changes: - - message: Animal DNA now shows up as "unknown DNA" in the Forensic Scanner. - type: Tweak - - message: Forensic Scanner can now scan fluid containers for DNA in reagents. - type: Tweak - - message: Fluids keep their DNA data when moved. - type: Fix - - message: Fluids now stain containers they're in with DNA. Make sure to scrub your - blood bucket after use! - type: Add - - message: Vomit now includes DNA! - type: Add - id: 7064 - time: '2024-08-08T23:27:28.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/26699 - author: themias changes: - message: Butter can be sliced, cookie and toast recipes now use butter slices. @@ -3949,3 +3933,15 @@ id: 7563 time: '2024-10-30T07:41:51.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33018 +- author: Blackern5000 + changes: + - message: Added the interdyne defibrillator, a black-and-red defibrillator that + can be used as a melee weapon. + type: Add + - message: The syndicate medical bundle now contains an interdyne defibrillator, + a collection of various instant injectors, tourniquets, and several combat kits. + The price has been raised to 24 tc. + type: Tweak + id: 7564 + time: '2024-10-30T09:15:30.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/32720 From a3dc0eb75a2d0cdcdedd149384c23422b74e8ea8 Mon Sep 17 00:00:00 2001 From: Boaz1111 <149967078+Boaz1111@users.noreply.github.com> Date: Thu, 31 Oct 2024 11:56:07 +0100 Subject: [PATCH 075/588] Pill Bottles can only store pills now (#33074) * no longer absurd * Update Resources/Prototypes/Entities/Objects/Specific/chemistry.yml --------- Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> --- Resources/Prototypes/Entities/Objects/Specific/chemistry.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml b/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml index 3f2ac403ac..b717255d8f 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml @@ -586,4 +586,7 @@ areaInsertRadius: 1 storageInsertSound: /Audio/Effects/pill_insert.ogg storageRemoveSound: /Audio/Effects/pill_remove.ogg + whitelist: + tags: + - Pill - type: Dumpable From 826bd1ab45c0e4958785eb9dc653fb7d3527a5b3 Mon Sep 17 00:00:00 2001 From: PJBot Date: Thu, 31 Oct 2024 10:57:15 +0000 Subject: [PATCH 076/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index b9b8422096..3645a63f1e 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,13 +1,4 @@ Entries: -- author: themias - changes: - - message: Butter can be sliced, cookie and toast recipes now use butter slices. - type: Tweak - - message: Chefvend butter reduced from 4 to 3. - type: Tweak - id: 7065 - time: '2024-08-08T23:32:42.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30789 - author: EmoGarbage404 changes: - message: You should have significantly less friction when moving in space. @@ -3945,3 +3936,10 @@ id: 7564 time: '2024-10-30T09:15:30.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/32720 +- author: Boaz1111 + changes: + - message: Pill bottles can now only store pills. + type: Tweak + id: 7565 + time: '2024-10-31T10:56:07.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33074 From f5e564640077097f719f7d242277f965577c901c Mon Sep 17 00:00:00 2001 From: AJCM-git <60196617+AJCM-git@users.noreply.github.com> Date: Thu, 31 Oct 2024 07:22:13 -0400 Subject: [PATCH 077/588] New workflow to apply the pr approved label (#28358) * New workflow to apply the pr approved label * Maybe fix permissions --- .github/workflows/labeler-approved.yml | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 .github/workflows/labeler-approved.yml diff --git a/.github/workflows/labeler-approved.yml b/.github/workflows/labeler-approved.yml new file mode 100644 index 0000000000..f583500c87 --- /dev/null +++ b/.github/workflows/labeler-approved.yml @@ -0,0 +1,17 @@ +name: "Labels: Approved" + +on: + pull_request_review: + types: [submitted] + +jobs: + add_label: + if: github.event.review.state == 'APPROVED' + permissions: + contents: read + pull-requests: write + runs-on: ubuntu-latest + steps: + - uses: actions-ecosystem/action-add-labels@v1 + with: + labels: "PR: Approved" From 426169837100eaa1e0fccc62dbd7aedc0b0d5dd5 Mon Sep 17 00:00:00 2001 From: Jarmer123 <148848017+Jarmer123@users.noreply.github.com> Date: Thu, 31 Oct 2024 14:26:45 +0100 Subject: [PATCH 078/588] Add a spare bible to PietyVend (#32363) Update chapel.yml --- .../Prototypes/Catalog/VendingMachines/Inventories/chapel.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/chapel.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/chapel.yml index 33a13dab0a..cb9e06932f 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/chapel.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/chapel.yml @@ -20,6 +20,7 @@ BoxCandle: 2 BoxCandleSmall: 2 Urn: 5 + Bible: 1 emaggedInventory: ClothingOuterArmorCult: 1 ClothingHeadHelmetCult: 1 From a875bf3c64f0c9021382764714229e852c449be7 Mon Sep 17 00:00:00 2001 From: PJBot Date: Thu, 31 Oct 2024 13:27:53 +0000 Subject: [PATCH 079/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 3645a63f1e..7c22ba77f9 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: EmoGarbage404 - changes: - - message: You should have significantly less friction when moving in space. - type: Tweak - id: 7066 - time: '2024-08-09T04:52:25.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/29383 - author: Plykiya changes: - message: Hardsuits and EVA suits now count as protection for unscrewing lightbulbs. @@ -3943,3 +3936,10 @@ id: 7565 time: '2024-10-31T10:56:07.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33074 +- author: Jarmer123 + changes: + - message: You can now find a spare bible in the PietyVend + type: Add + id: 7566 + time: '2024-10-31T13:26:46.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/32363 From 55861b4fcfb525113d4c194fd1eac0486ac9fc1a Mon Sep 17 00:00:00 2001 From: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com> Date: Thu, 31 Oct 2024 15:12:26 +0100 Subject: [PATCH 080/588] [#28722 fix] Add notification for dependent wearables being dropped (#33078) * add notification for dependent wearables being dropped * fix dropped item popup redundancy - did a check to see if any item was dropped, instead of making a notification for each item being dropped. * change popup to client-only variant * fix redundant messages, add plural locale string * fix conventions, fix locale input to be more intuitive --------- Co-authored-by: Justin --- .../Inventory/InventorySystem.Equip.cs | 45 +++++++++++++++---- .../components/inventory-component.ftl | 6 +++ 2 files changed, 43 insertions(+), 8 deletions(-) diff --git a/Content.Shared/Inventory/InventorySystem.Equip.cs b/Content.Shared/Inventory/InventorySystem.Equip.cs index 1d5d91a9e3..f089dfaf23 100644 --- a/Content.Shared/Inventory/InventorySystem.Equip.cs +++ b/Content.Shared/Inventory/InventorySystem.Equip.cs @@ -47,7 +47,7 @@ private void InitializeEquip() private void OnEntRemoved(EntityUid uid, InventoryComponent component, EntRemovedFromContainerMessage args) { - if(!TryGetSlot(uid, args.Container.ID, out var slotDef, inventory: component)) + if (!TryGetSlot(uid, args.Container.ID, out var slotDef, inventory: component)) return; var unequippedEvent = new DidUnequipEvent(uid, args.Entity, slotDef); @@ -59,8 +59,8 @@ private void OnEntRemoved(EntityUid uid, InventoryComponent component, EntRemove private void OnEntInserted(EntityUid uid, InventoryComponent component, EntInsertedIntoContainerMessage args) { - if(!TryGetSlot(uid, args.Container.ID, out var slotDef, inventory: component)) - return; + if (!TryGetSlot(uid, args.Container.ID, out var slotDef, inventory: component)) + return; var equippedEvent = new DidEquipEvent(uid, args.Entity, slotDef); RaiseLocalEvent(uid, equippedEvent, true); @@ -118,7 +118,7 @@ private void OnUseSlot(UseSlotNetworkMessage ev, EntitySessionEventArgs eventArg RaiseLocalEvent(held.Value, new HandDeselectedEvent(actor)); - TryEquip(actor, actor, held.Value, ev.Slot, predicted: true, inventory: inventory, force: true, checkDoafter:true); + TryEquip(actor, actor, held.Value, ev.Slot, predicted: true, inventory: inventory, force: true, checkDoafter: true); } public bool TryEquip(EntityUid uid, EntityUid itemUid, string slot, bool silent = false, bool force = false, bool predicted = false, @@ -365,6 +365,25 @@ public bool TryUnequip( ClothingComponent? clothing = null, bool reparent = true, bool checkDoafter = false) + { + var itemsDropped = 0; + return TryUnequip(actor, target, slot, out removedItem, ref itemsDropped, + silent, force, predicted, inventory, clothing, reparent, checkDoafter); + } + + private bool TryUnequip( + EntityUid actor, + EntityUid target, + string slot, + [NotNullWhen(true)] out EntityUid? removedItem, + ref int itemsDropped, + bool silent = false, + bool force = false, + bool predicted = false, + InventoryComponent? inventory = null, + ClothingComponent? clothing = null, + bool reparent = true, + bool checkDoafter = false) { removedItem = null; @@ -423,17 +442,27 @@ public bool TryUnequip( return false; } + if (!_containerSystem.Remove(removedItem.Value, slotContainer, force: force, reparent: reparent)) + return false; + + // this is in order to keep track of whether this is the first instance of a recursion call + var firstRun = itemsDropped == 0; + ++itemsDropped; + foreach (var slotDef in inventory.Slots) { if (slotDef != slotDefinition && slotDef.DependsOn == slotDefinition.Name) { //this recursive call might be risky - TryUnequip(actor, target, slotDef.Name, true, true, predicted, inventory, reparent: reparent); + TryUnequip(actor, target, slotDef.Name, out _, ref itemsDropped, true, true, predicted, inventory, reparent: reparent); } } - if (!_containerSystem.Remove(removedItem.Value, slotContainer, force: force, reparent: reparent)) - return false; + // we check if any items were dropped, and make a popup if they were. + // the reason we check for > 1 is because the first item is always the one we are trying to unequip, + // whereas we only want to notify for extra dropped items. + if (!silent && _gameTiming.IsFirstTimePredicted && firstRun && itemsDropped > 1) + _popup.PopupClient(Loc.GetString("inventory-component-dropped-from-unequip", ("items", itemsDropped - 1)), target, target); // TODO: Inventory needs a hot cleanup hoo boy // Check if something else (AKA toggleable) dumped it into a container. @@ -466,7 +495,7 @@ public bool CanUnequip(EntityUid actor, EntityUid target, string slot, [NotNullW if ((containerSlot == null || slotDefinition == null) && !TryGetSlotContainer(target, slot, out containerSlot, out slotDefinition, inventory)) return false; - if (containerSlot.ContainedEntity is not {} itemUid) + if (containerSlot.ContainedEntity is not { } itemUid) return false; if (!_containerSystem.CanRemove(itemUid, containerSlot)) diff --git a/Resources/Locale/en-US/inventory/components/inventory-component.ftl b/Resources/Locale/en-US/inventory/components/inventory-component.ftl index 79943d914e..1cde6b5943 100644 --- a/Resources/Locale/en-US/inventory/components/inventory-component.ftl +++ b/Resources/Locale/en-US/inventory/components/inventory-component.ftl @@ -2,3 +2,9 @@ inventory-component-can-equip-cannot = You can't equip this! inventory-component-can-equip-does-not-fit = This doesn't fit! inventory-component-can-unequip-cannot = You can't unequip this! + +inventory-component-dropped-from-unequip = + You dropped {$items -> + [1] an item! + *[other] some items! +} From 872adb5c93fc4272ed668ba8599781e353425316 Mon Sep 17 00:00:00 2001 From: PJBot Date: Thu, 31 Oct 2024 14:13:33 +0000 Subject: [PATCH 081/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 20 ++++++++------------ 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 7c22ba77f9..ad3d938200 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,16 +1,4 @@ Entries: -- author: Plykiya - changes: - - message: Hardsuits and EVA suits now count as protection for unscrewing lightbulbs. - type: Add - - message: More gloves were given the ability to unscrew light bulbs. - type: Add - - message: Behonkers no longer hurt you when melee attacking them or interacting - with them. - type: Remove - id: 7067 - time: '2024-08-09T05:32:41.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30244 - author: Ian321 changes: - message: The warden is now an important job. @@ -3943,3 +3931,11 @@ id: 7566 time: '2024-10-31T13:26:46.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/32363 +- author: justinbrick + changes: + - message: Added a pop-up notification when extra items are dropped while unequipping + something. + type: Tweak + id: 7567 + time: '2024-10-31T14:12:26.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33078 From a08da9d31f1f1c63f5124edff5a23d5443659bfc Mon Sep 17 00:00:00 2001 From: BramvanZijp <56019239+BramvanZijp@users.noreply.github.com> Date: Thu, 31 Oct 2024 15:53:38 +0100 Subject: [PATCH 082/588] More pda space (#32601) * Rebalance the max programs that a PDA can hold * Give Caps PDA more programs too. * Make the max programs a static 8 * I forgor sec and med * CaseCase * Empty commit to re-run checks * The final change, I hope. --- .../CartridgeLoaderComponent.cs | 2 +- .../Entities/Objects/Devices/pda.yml | 67 ++++++++++++------- 2 files changed, 44 insertions(+), 25 deletions(-) diff --git a/Content.Shared/CartridgeLoader/CartridgeLoaderComponent.cs b/Content.Shared/CartridgeLoader/CartridgeLoaderComponent.cs index c9cd710c52..f47112c794 100644 --- a/Content.Shared/CartridgeLoader/CartridgeLoaderComponent.cs +++ b/Content.Shared/CartridgeLoader/CartridgeLoaderComponent.cs @@ -33,7 +33,7 @@ public sealed partial class CartridgeLoaderComponent : Component /// The maximum amount of programs that can be installed on the cartridge loader entity /// [DataField] - public int DiskSpace = 5; + public int DiskSpace = 8; /// /// Controls whether the cartridge loader will play notifications if it supports it at all diff --git a/Resources/Prototypes/Entities/Objects/Devices/pda.yml b/Resources/Prototypes/Entities/Objects/Devices/pda.yml index dfc1c6fa5b..673b0ba52f 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/pda.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/pda.yml @@ -684,6 +684,13 @@ accentHColor: "#447987" - type: Icon state: pda-hos + - type: CartridgeLoader + preinstalled: + - CrewManifestCartridge + - NotekeeperCartridge + - NewsReaderCartridge + - WantedListCartridge + - LogProbeCartridge - type: entity parent: BaseSecurityPDA @@ -732,6 +739,16 @@ borderColor: "#00842e" - type: Icon state: pda-centcom + - type: CartridgeLoader + uiKey: enum.PdaUiKey.Key + preinstalled: + - CrewManifestCartridge + - NotekeeperCartridge + - NewsReaderCartridge + - MedTekCartridge + - WantedListCartridge + - LogProbeCartridge + - AstroNavCartridge - type: entity parent: CentcomPDA @@ -754,6 +771,8 @@ - NewsReaderCartridge - LogProbeCartridge - WantedListCartridge + - MedTekCartridge + - AstroNavCartridge - type: entity parent: CentcomPDA @@ -845,14 +864,6 @@ uiKey: enum.PdaUiKey.Key preinstalled: - NotekeeperCartridge - cartridgeSlot: - priority: -1 - name: Cartridge - ejectSound: /Audio/Machines/id_swipe.ogg - insertSound: /Audio/Machines/id_insert.ogg - whitelist: - components: - - Cartridge - type: entity parent: BaseSecurityPDA @@ -870,6 +881,16 @@ accentVColor: "#447987" - type: Icon state: pda-ert + - type: CartridgeLoader + uiKey: enum.PdaUiKey.Key + preinstalled: + - CrewManifestCartridge + - NotekeeperCartridge + - NewsReaderCartridge + - MedTekCartridge + - WantedListCartridge + - LogProbeCartridge + - AstroNavCartridge - type: entity parent: ERTLeaderPDA @@ -910,14 +931,6 @@ components: - type: Pda id: ERTMedicIDCard - - type: CartridgeLoader - uiKey: enum.PdaUiKey.Key - preinstalled: - - CrewManifestCartridge - - NotekeeperCartridge - - NewsReaderCartridge - - MedTekCartridge - - WantedListCartridge - type: entity parent: ERTLeaderPDA @@ -1019,6 +1032,13 @@ borderColor: "#774705" - type: Icon state: pda-detective + - type: CartridgeLoader + preinstalled: + - CrewManifestCartridge + - NotekeeperCartridge + - NewsReaderCartridge + - WantedListCartridge + - LogProbeCartridge - type: entity parent: BaseMedicalPDA @@ -1035,6 +1055,13 @@ accentVColor: "#d7d7d0" - type: Icon state: pda-brigmedic + - type: CartridgeLoader + preinstalled: + - CrewManifestCartridge + - NotekeeperCartridge + - NewsReaderCartridge + - WantedListCartridge + - MedTekCartridge - type: entity parent: ClownPDA @@ -1151,11 +1178,3 @@ preinstalled: - NotekeeperCartridge - MedTekCartridge - cartridgeSlot: - priority: -1 - name: Cartridge - ejectSound: /Audio/Machines/id_swipe.ogg - insertSound: /Audio/Machines/id_insert.ogg - whitelist: - components: - - Cartridge From bca8d95191cb09e97fad50f0b35e0f1730c81644 Mon Sep 17 00:00:00 2001 From: PJBot Date: Thu, 31 Oct 2024 14:54:44 +0000 Subject: [PATCH 083/588] Automatic changelog update --- Resources/Changelog/Admin.yml | 8 ++++++++ Resources/Changelog/Changelog.yml | 18 +++++++++++------- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Admin.yml b/Resources/Changelog/Admin.yml index 2c4db6e82b..4bb373ca1d 100644 --- a/Resources/Changelog/Admin.yml +++ b/Resources/Changelog/Admin.yml @@ -567,5 +567,13 @@ Entries: id: 70 time: '2024-10-16T22:24:31.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/32844 +- author: BramvanZijp + changes: + - message: CC, ERT, Admin, and Deathsquad PDA's now have all departmental programs + pre-installed. + type: Tweak + id: 71 + time: '2024-10-31T14:53:38.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/32601 Name: Admin Order: 1 diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index ad3d938200..c3121dc7d0 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Ian321 - changes: - - message: The warden is now an important job. - type: Tweak - id: 7068 - time: '2024-08-09T05:45:51.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30745 - author: slarticodefast changes: - message: Added tooltips to the agent ID job icons @@ -3939,3 +3932,14 @@ id: 7567 time: '2024-10-31T14:12:26.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33078 +- author: BramvanZijp + changes: + - message: The maximum amount of programs that can be installed on a PDA has been + increased from 5 to 8 + type: Tweak + - message: The Detective and Head of Security now get the logprobe program pre-installed + on their PDA. + type: Tweak + id: 7568 + time: '2024-10-31T14:53:38.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/32601 From d446a3e8e90f41c3d0a6413116148edef5274513 Mon Sep 17 00:00:00 2001 From: Vasilis Date: Thu, 31 Oct 2024 16:05:42 +0100 Subject: [PATCH 084/588] Potencially fix approved labeler (#33083) --- .github/workflows/labeler-approved.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/labeler-approved.yml b/.github/workflows/labeler-approved.yml index f583500c87..e05893ed8f 100644 --- a/.github/workflows/labeler-approved.yml +++ b/.github/workflows/labeler-approved.yml @@ -7,9 +7,6 @@ on: jobs: add_label: if: github.event.review.state == 'APPROVED' - permissions: - contents: read - pull-requests: write runs-on: ubuntu-latest steps: - uses: actions-ecosystem/action-add-labels@v1 From 33516b77edd63b1254559787f02bbc029719b23c Mon Sep 17 00:00:00 2001 From: Justice League Date: Thu, 31 Oct 2024 13:28:17 -0400 Subject: [PATCH 085/588] Fixed minor spelling mistake --- .../Entities/Objects/Weapons/Guns/Basic/watergun.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/watergun.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/watergun.yml index c96a1522d2..55adfb7ba6 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/watergun.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/watergun.yml @@ -1,4 +1,4 @@ -- type: entity +- type: entity id: WeaponWaterGunBase abstract: true parent: BaseItem @@ -71,7 +71,7 @@ id: WeaponWaterBlaster parent: WeaponWaterGunBase name: water blaster - description: With this bad boy, you'll be the cooleste kid at the summer barbecue. + description: With this bad boy, you'll be the coolest kid at the summer barbecue. components: - type: Gun cameraRecoilScalar: 0 #no recoil From 1c2a96590bd12608937395329c7370cdfca00537 Mon Sep 17 00:00:00 2001 From: SpaceLizard Date: Thu, 31 Oct 2024 14:07:29 -0400 Subject: [PATCH 086/588] Fixed spelling mistake in water blaster description. (#33087) Fixed minor spelling mistake --- .../Entities/Objects/Weapons/Guns/Basic/watergun.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/watergun.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/watergun.yml index c96a1522d2..55adfb7ba6 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/watergun.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Basic/watergun.yml @@ -1,4 +1,4 @@ -- type: entity +- type: entity id: WeaponWaterGunBase abstract: true parent: BaseItem @@ -71,7 +71,7 @@ id: WeaponWaterBlaster parent: WeaponWaterGunBase name: water blaster - description: With this bad boy, you'll be the cooleste kid at the summer barbecue. + description: With this bad boy, you'll be the coolest kid at the summer barbecue. components: - type: Gun cameraRecoilScalar: 0 #no recoil From 4626904fa8e5915a4faddd74a4d917d8442bfb99 Mon Sep 17 00:00:00 2001 From: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com> Date: Thu, 31 Oct 2024 19:46:19 +0100 Subject: [PATCH 087/588] [#20285 fix] Carp Plush and Rehydratables can now be put into mop bucket (#33079) * Make shark plush janitor-bucketable * fix bucketed grey shark texture * Make sprites less shiny and adapt copyright notice * Made shark way way less shiny * Allow carp plush and rehydratables in mop bucket. * Remove old mop bucket shark sprites * Fix post-merge bugs * Fix errors * Move ReactiveContainer stuff to shared That should mean it is now predicted. * Custom eject verb for the mop bucket * Fixes OnSolutionChange, removes pop-up as there already is one. * .ftl is not necessary as the custom pop-up was removed * Review fixes * Update Content.Shared/Chemistry/Components/ReactiveContainerComponent.cs * Update Content.Shared/Chemistry/EntitySystems/ReactiveContainerSystem.cs --------- Co-authored-by: Psychpsyo Co-authored-by: Psychpsyo <60073468+Psychpsyo@users.noreply.github.com> Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> --- .../Components/ReactiveContainerComponent.cs | 21 +++++++ .../EntitySystems/ReactiveContainerSystem.cs | 53 ++++++++++++++++++ .../janitorial/janitorial-slot-component.ftl | 3 +- .../Prototypes/Entities/Objects/Fun/toys.yml | 5 ++ .../Structures/Specific/Janitor/janicart.yml | 19 +++++-- Resources/Prototypes/tags.yml | 3 + .../Objects/Fun/sharkplush.rsi/meta.json | 9 --- .../Janitorial/janitorial.rsi/meta.json | 14 ++++- .../janitorial.rsi/mopbucket_carpplush.png | Bin 0 -> 587 bytes .../janitorial.rsi}/mopbucket_shark_blue.png | Bin .../janitorial.rsi}/mopbucket_shark_grey.png | Bin .../janitorial.rsi}/mopbucket_shark_pink.png | Bin 12 files changed, 112 insertions(+), 15 deletions(-) create mode 100644 Content.Shared/Chemistry/Components/ReactiveContainerComponent.cs create mode 100644 Content.Shared/Chemistry/EntitySystems/ReactiveContainerSystem.cs create mode 100644 Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/mopbucket_carpplush.png rename Resources/Textures/Objects/{Fun/sharkplush.rsi => Specific/Janitorial/janitorial.rsi}/mopbucket_shark_blue.png (100%) rename Resources/Textures/Objects/{Fun/sharkplush.rsi => Specific/Janitorial/janitorial.rsi}/mopbucket_shark_grey.png (100%) rename Resources/Textures/Objects/{Fun/sharkplush.rsi => Specific/Janitorial/janitorial.rsi}/mopbucket_shark_pink.png (100%) diff --git a/Content.Shared/Chemistry/Components/ReactiveContainerComponent.cs b/Content.Shared/Chemistry/Components/ReactiveContainerComponent.cs new file mode 100644 index 0000000000..6aefd8f462 --- /dev/null +++ b/Content.Shared/Chemistry/Components/ReactiveContainerComponent.cs @@ -0,0 +1,21 @@ +namespace Content.Shared.Chemistry.Components; + +/// +/// Represents a container that also contains a solution. +/// This means that reactive entities react when inserted into the container. +/// +[RegisterComponent] +public sealed partial class ReactiveContainerComponent : Component +{ + /// + /// The container that holds the solution. + /// + [DataField(required: true)] + public string Container = default!; + + /// + /// The solution in the container. + /// + [DataField(required: true)] + public string Solution = default!; +} diff --git a/Content.Shared/Chemistry/EntitySystems/ReactiveContainerSystem.cs b/Content.Shared/Chemistry/EntitySystems/ReactiveContainerSystem.cs new file mode 100644 index 0000000000..aa217c60ba --- /dev/null +++ b/Content.Shared/Chemistry/EntitySystems/ReactiveContainerSystem.cs @@ -0,0 +1,53 @@ +using Content.Shared.Chemistry.Components; +using Content.Shared.Chemistry.Reaction; +using Robust.Shared.Containers; + +namespace Content.Shared.Chemistry.EntitySystems; + +public sealed class ReactiveContainerSystem : EntitySystem +{ + [Dependency] private readonly SharedContainerSystem _containerSystem = default!; + [Dependency] private readonly ReactiveSystem _reactiveSystem = default!; + [Dependency] private readonly SharedSolutionContainerSystem _solutionContainerSystem = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnInserted); + SubscribeLocalEvent(OnSolutionChange); + } + + private void OnInserted(EntityUid uid, ReactiveContainerComponent comp, EntInsertedIntoContainerMessage args) + { + // Only reactive entities can react with the solution + if (!HasComp(args.Entity)) + return; + + if (!_solutionContainerSystem.TryGetSolution(uid, comp.Solution, out _, out var solution)) + return; + if (solution.Volume == 0) + return; + + _reactiveSystem.DoEntityReaction(args.Entity, solution, ReactionMethod.Touch); + } + + private void OnSolutionChange(EntityUid uid, ReactiveContainerComponent comp, SolutionContainerChangedEvent args) + { + if (!_solutionContainerSystem.TryGetSolution(uid, comp.Solution, out _, out var solution)) + return; + if (solution.Volume == 0) + return; + if (!TryComp(uid, out var manager)) + return; + if (!_containerSystem.TryGetContainer(uid, comp.Container, out var container)) + return; + + foreach (var entity in container.ContainedEntities) + { + if (!HasComp(entity)) + continue; + _reactiveSystem.DoEntityReaction(entity, solution, ReactionMethod.Touch); + } + } +} diff --git a/Resources/Locale/en-US/janitorial/janitorial-slot-component.ftl b/Resources/Locale/en-US/janitorial/janitorial-slot-component.ftl index b722116587..bc03943a01 100644 --- a/Resources/Locale/en-US/janitorial/janitorial-slot-component.ftl +++ b/Resources/Locale/en-US/janitorial/janitorial-slot-component.ftl @@ -1,5 +1,6 @@ # mop bucket -mop-bucket-slot-component-slot-name-shark = Shark +mop-bucket-slot-component-slot-name-item = Item +mop-bucket-slot-component-eject-verb = Take out # janitorial trolley janitorial-trolley-slot-component-slot-name-plunger = Plunger janitorial-trolley-slot-component-slot-name-sign = Sign diff --git a/Resources/Prototypes/Entities/Objects/Fun/toys.yml b/Resources/Prototypes/Entities/Objects/Fun/toys.yml index c3ef0d0329..d774c4469c 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/toys.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/toys.yml @@ -599,6 +599,11 @@ path: /Audio/Effects/bite.ogg angle: 0 animation: WeaponArcBite # Rrrr! + - type: Tag + tags: + - Payload + - ClothMade + - PlushieCarp - type: entity parent: PlushieCarp diff --git a/Resources/Prototypes/Entities/Structures/Specific/Janitor/janicart.yml b/Resources/Prototypes/Entities/Structures/Specific/Janitor/janicart.yml index 6ed06addcd..d74fe8b0f1 100644 --- a/Resources/Prototypes/Entities/Structures/Specific/Janitor/janicart.yml +++ b/Resources/Prototypes/Entities/Structures/Specific/Janitor/janicart.yml @@ -47,19 +47,30 @@ whitelist: tags: - PlushieSharkGrey - sprite: Objects/Fun/sharkplush.rsi + mopbucket_carpplush: + whitelist: + tags: + - PlushieCarp + sprite: Objects/Specific/Janitorial/janitorial.rsi - type: Transform noRot: true - type: ItemSlots slots: - shark_slot: - name: mop-bucket-slot-component-slot-name-shark + item_slot: + name: mop-bucket-slot-component-slot-name-item + ejectVerbText: mop-bucket-slot-component-eject-verb whitelist: tags: - PlushieSharkBlue - PlushieSharkPink - PlushieSharkGrey + - PlushieCarp + components: + - Rehydratable priority: 3 # Higher than drinking priority + - type: ReactiveContainer + solution: bucket + container: item_slot - type: Drink solution: bucket - type: Appearance @@ -70,7 +81,7 @@ containers: storagebase: !type:Container ents: [] - shark_slot: !type:ContainerSlot {} + item_slot: !type:ContainerSlot {} - type: GuideHelp guides: - Janitorial diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index 8962da5790..48bce7ddab 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -1071,6 +1071,9 @@ - type: Tag id: Plunger +- type: Tag + id: PlushieCarp + - type: Tag id: PlushieGhost diff --git a/Resources/Textures/Objects/Fun/sharkplush.rsi/meta.json b/Resources/Textures/Objects/Fun/sharkplush.rsi/meta.json index eca1964c4d..12144d3559 100644 --- a/Resources/Textures/Objects/Fun/sharkplush.rsi/meta.json +++ b/Resources/Textures/Objects/Fun/sharkplush.rsi/meta.json @@ -39,15 +39,6 @@ { "name": "grey-inhand-right", "directions": 4 - }, - { - "name": "mopbucket_shark_blue" - }, - { - "name": "mopbucket_shark_pink" - }, - { - "name": "mopbucket_shark_grey" } ] } \ No newline at end of file diff --git a/Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/meta.json b/Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/meta.json index ae3103e2be..4f7a1e7772 100644 --- a/Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/meta.json +++ b/Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/f8f4aeda930fcd0805ca4cc76d9bc9412a5b3428", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/f8f4aeda930fcd0805ca4cc76d9bc9412a5b3428, mopbucket_shark_* by Psychpsyo, mopbucket_carpplush adapted by Psychpsyo from tgstation carpplush at commit https://github.com/tgstation/tgstation/commit/e1142f20f5e4661cb6845cfcf2dd69f864d67432", "size": { "x": 32, "y": 32 @@ -25,6 +25,18 @@ { "name": "mopbucket_water-3" }, + { + "name": "mopbucket_shark_blue" + }, + { + "name": "mopbucket_shark_pink" + }, + { + "name": "mopbucket_shark_grey" + }, + { + "name": "mopbucket_carpplush" + }, { "name": "inhand-left", "directions": 4 diff --git a/Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/mopbucket_carpplush.png b/Resources/Textures/Objects/Specific/Janitorial/janitorial.rsi/mopbucket_carpplush.png new file mode 100644 index 0000000000000000000000000000000000000000..07ef0a77d006ba591efd80af039c800a90660f37 GIT binary patch literal 587 zcmV-R0<`^!P)Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D0pLkQK~z{r?UhYS z+)xyT-+}v>9_k56`q@<+ezenU(WA;D%RXe+Vgs8x`QZ!_O z>T`*wo1Rh3dmCU@aiV6hfSMSjE*xvo9iT#Hf|nM&d8?3_e=@*)#F<)>Rn(~hQ$pb) zC2=xQmnod4fHNoHw=MndZHDe`fQ6^20k8c&Wvwt&*>fk47_LY}+ljt^)0@SY$|+{v z*?K)`#Mr>sEmv*4KfqhJiH4n^mkRtzq^>|p`&~%PFDpcQ3L#ZtEY4i26t6l!5Cqq{ zS#1h37JngI=#nUB%>g)1E&v-?m>%JGEO9(^XoYKW=B7AfWPrtOOyPT?a7Mj88n{|q z_n+DjlPM-r0>5Z~=hDY{V$oa(?DajY1rg#n&YP7{xCK1%`K>m=xODIwwC#~zGhP+w z&06?&n3?f(Z8AFep|9(BVm Date: Thu, 31 Oct 2024 18:47:26 +0000 Subject: [PATCH 088/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index c3121dc7d0..370970d8dd 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: slarticodefast - changes: - - message: Added tooltips to the agent ID job icons - type: Add - id: 7069 - time: '2024-08-09T06:14:07.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/28575 - author: stalengd changes: - message: Head bandana no longer blocks food eating. @@ -3943,3 +3936,11 @@ id: 7568 time: '2024-10-31T14:53:38.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/32601 +- author: Psychpsyo + changes: + - message: Carp plushies can now be placed in mop buckets, along with other rehydratable + things like monkey cubes. + type: Add + id: 7569 + time: '2024-10-31T18:46:19.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33079 From 2282e3c352827d1638cfdda62d1a5b6683679b33 Mon Sep 17 00:00:00 2001 From: Vasilis Date: Thu, 31 Oct 2024 19:51:44 +0100 Subject: [PATCH 089/588] Revert #28358 (#33090) --- .github/workflows/labeler-approved.yml | 14 -------------- 1 file changed, 14 deletions(-) delete mode 100644 .github/workflows/labeler-approved.yml diff --git a/.github/workflows/labeler-approved.yml b/.github/workflows/labeler-approved.yml deleted file mode 100644 index e05893ed8f..0000000000 --- a/.github/workflows/labeler-approved.yml +++ /dev/null @@ -1,14 +0,0 @@ -name: "Labels: Approved" - -on: - pull_request_review: - types: [submitted] - -jobs: - add_label: - if: github.event.review.state == 'APPROVED' - runs-on: ubuntu-latest - steps: - - uses: actions-ecosystem/action-add-labels@v1 - with: - labels: "PR: Approved" From 56d62311b1a16c2471b4f5a07a87f70532a3feb8 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Thu, 31 Oct 2024 17:30:58 -0400 Subject: [PATCH 090/588] Fixes tailthump breaking positional audio by making it mono (#33092) --- .../Voice/Reptilian/reptilian_tailthump.ogg | Bin 31956 -> 9215 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Resources/Audio/Voice/Reptilian/reptilian_tailthump.ogg b/Resources/Audio/Voice/Reptilian/reptilian_tailthump.ogg index e4bf25f7b8d1e743e34826b343f33e41e9298e16..fff0a8728a7d7123dc4d9b89f23603f677396a34 100644 GIT binary patch delta 8227 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 Hm4W{O+Q|*_ literal 31956 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 Date: Thu, 31 Oct 2024 21:32:04 +0000 Subject: [PATCH 091/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 370970d8dd..c8301b9807 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: stalengd - changes: - - message: Head bandana no longer blocks food eating. - type: Fix - id: 7070 - time: '2024-08-09T06:17:51.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/28910 - author: Ubaser changes: - message: Oxygen and nitrogen canisters now have new sprites when worn. @@ -3944,3 +3937,13 @@ id: 7569 time: '2024-10-31T18:46:19.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33079 +- author: Bhijn and Myr + changes: + - message: Tail thumping has been downmixed to mono to fix the sound lacking any + sort of positioning. They're now capable of having a presence in the actual + soundspace, in turn meaning lizards are no longer occupying your headset at + all times of day. + type: Fix + id: 7570 + time: '2024-10-31T21:30:58.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33092 From a399c1ec7cdd0f7aa86577d2a813ed04a845edda Mon Sep 17 00:00:00 2001 From: deathride58 Date: Thu, 31 Oct 2024 17:30:58 -0400 Subject: [PATCH 092/588] Fixes tailthump breaking positional audio by making it mono (#33092) --- .../Voice/Reptilian/reptilian_tailthump.ogg | Bin 31956 -> 9215 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Resources/Audio/Voice/Reptilian/reptilian_tailthump.ogg b/Resources/Audio/Voice/Reptilian/reptilian_tailthump.ogg index e4bf25f7b8d1e743e34826b343f33e41e9298e16..fff0a8728a7d7123dc4d9b89f23603f677396a34 100644 GIT binary patch delta 8227 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 Hm4W{O+Q|*_ literal 31956 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 Date: Thu, 31 Oct 2024 17:21:05 -0700 Subject: [PATCH 093/588] ExaminableDamage now puts its message at the bottom and in color (#32820) * the examineableDamage component now puts its messages at the bottom, and in color * god help us if something is priority -100 :godo: --- Content.Server/Damage/Systems/ExaminableDamageSystem.cs | 2 +- Resources/Locale/en-US/window/window-component.ftl | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Content.Server/Damage/Systems/ExaminableDamageSystem.cs b/Content.Server/Damage/Systems/ExaminableDamageSystem.cs index dd7c4b12e8..c80e19a53d 100644 --- a/Content.Server/Damage/Systems/ExaminableDamageSystem.cs +++ b/Content.Server/Damage/Systems/ExaminableDamageSystem.cs @@ -39,7 +39,7 @@ private void OnExamine(EntityUid uid, ExaminableDamageComponent component, Exami var level = GetDamageLevel(uid, component); var msg = Loc.GetString(messages[level]); - args.PushMarkup(msg); + args.PushMarkup(msg,-99); } private int GetDamageLevel(EntityUid uid, ExaminableDamageComponent? component = null, diff --git a/Resources/Locale/en-US/window/window-component.ftl b/Resources/Locale/en-US/window/window-component.ftl index 3ecceb8a94..62e9c46f1b 100644 --- a/Resources/Locale/en-US/window/window-component.ftl +++ b/Resources/Locale/en-US/window/window-component.ftl @@ -2,13 +2,14 @@ # Shown when examining the window. Each entry represents the window's health condition comp-window-damaged-1 = It looks fully intact. -comp-window-damaged-2 = It has a few scratches +comp-window-damaged-2 = It has a few scratches. comp-window-damaged-3 = It has a few small cracks. -comp-window-damaged-4 = It has several big cracks running along its surface. -comp-window-damaged-5 = It has deep cracks across multiple layers. -comp-window-damaged-6 = It's extremely cracked and on the verge of shattering. +comp-window-damaged-4 = [color=yellow]It has several big cracks running along its surface.[/color] +comp-window-damaged-5 = [color=orange]It has deep cracks across multiple layers.[/color] +comp-window-damaged-6 = [color=red]It's extremely cracked and on the verge of shattering.[/color] ### Interaction Messages # Shown when knocking on a window comp-window-knock = *knock knock* + From 835d0b4d4a861c4697c473841c0e00ae7115e4d0 Mon Sep 17 00:00:00 2001 From: Khoa Nguyen Date: Thu, 31 Oct 2024 21:43:11 -0400 Subject: [PATCH 094/588] Fixed trash not being spawned when throwing pies (#33013) * Fixed trash not being spawned when throwing pies * Completely removed trash component flag check prior to the spawn loop --- Content.Server/Nutrition/EntitySystems/CreamPieSystem.cs | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/Content.Server/Nutrition/EntitySystems/CreamPieSystem.cs b/Content.Server/Nutrition/EntitySystems/CreamPieSystem.cs index 2ff94760f6..b107e47c79 100644 --- a/Content.Server/Nutrition/EntitySystems/CreamPieSystem.cs +++ b/Content.Server/Nutrition/EntitySystems/CreamPieSystem.cs @@ -51,12 +51,9 @@ protected override void SplattedCreamPie(EntityUid uid, CreamPieComponent creamP { _puddle.TrySpillAt(uid, solution, out _, false); } - if (foodComp.Trash.Count == 0) + foreach (var trash in foodComp.Trash) { - foreach (var trash in foodComp.Trash) - { - EntityManager.SpawnEntity(trash, Transform(uid).Coordinates); - } + EntityManager.SpawnEntity(trash, Transform(uid).Coordinates); } } ActivatePayload(uid); From 59f1287aa3fa7848d815926d64c15c276f79bc56 Mon Sep 17 00:00:00 2001 From: PJBot Date: Fri, 1 Nov 2024 01:44:18 +0000 Subject: [PATCH 095/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index c8301b9807..f5a8a7fb96 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Ubaser - changes: - - message: Oxygen and nitrogen canisters now have new sprites when worn. - type: Add - id: 7071 - time: '2024-08-09T10:32:55.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30809 - author: Plykiya changes: - message: Buckling someone now triggers a short do-after. @@ -3947,3 +3940,10 @@ id: 7570 time: '2024-10-31T21:30:58.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33092 +- author: reesque + changes: + - message: pie not dropping tin on thrown + type: Fix + id: 7571 + time: '2024-11-01T01:43:11.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33013 From b3190b89359ffe6e4e1d58e1c1ef69b8d7f70476 Mon Sep 17 00:00:00 2001 From: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com> Date: Fri, 1 Nov 2024 02:47:59 +0100 Subject: [PATCH 096/588] Lower in-round votekick requirements (#32953) Initial commit --- Content.Client/Voting/UI/VoteCallMenu.xaml.cs | 2 +- Content.Shared/CCVar/CCVars.cs | 4 ++-- Resources/Locale/en-US/voting/ui/vote-call-menu.ftl | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Content.Client/Voting/UI/VoteCallMenu.xaml.cs b/Content.Client/Voting/UI/VoteCallMenu.xaml.cs index c5746c24d7..c682a93712 100644 --- a/Content.Client/Voting/UI/VoteCallMenu.xaml.cs +++ b/Content.Client/Voting/UI/VoteCallMenu.xaml.cs @@ -62,7 +62,7 @@ public VoteCallMenu() Stylesheet = IoCManager.Resolve().SheetSpace; CloseButton.OnPressed += _ => Close(); - VoteNotTrustedLabel.Text = Loc.GetString("ui-vote-trusted-users-notice", ("timeReq", _cfg.GetCVar(CCVars.VotekickEligibleVoterDeathtime) / 60)); + VoteNotTrustedLabel.Text = Loc.GetString("ui-vote-trusted-users-notice", ("timeReq", _cfg.GetCVar(CCVars.VotekickEligibleVoterDeathtime))); foreach (StandardVoteType voteType in Enum.GetValues()) { diff --git a/Content.Shared/CCVar/CCVars.cs b/Content.Shared/CCVar/CCVars.cs index 339c0f895f..f333f6536d 100644 --- a/Content.Shared/CCVar/CCVars.cs +++ b/Content.Shared/CCVar/CCVars.cs @@ -1469,7 +1469,7 @@ public static readonly CVarDef /// Config for when the votekick should be allowed to be called based on number of eligible voters. /// public static readonly CVarDef VotekickEligibleNumberRequirement = - CVarDef.Create("votekick.eligible_number", 10, CVar.SERVERONLY); + CVarDef.Create("votekick.eligible_number", 5, CVar.SERVERONLY); /// /// Whether a votekick initiator must be a ghost or not. @@ -1493,7 +1493,7 @@ public static readonly CVarDef /// Config for how many seconds a player must have been dead to initiate a votekick / be able to vote on a votekick. /// public static readonly CVarDef VotekickEligibleVoterDeathtime = - CVarDef.Create("votekick.voter_deathtime", 180, CVar.REPLICATED | CVar.SERVER); + CVarDef.Create("votekick.voter_deathtime", 30, CVar.REPLICATED | CVar.SERVER); /// /// The required ratio of eligible voters that must agree for a votekick to go through. diff --git a/Resources/Locale/en-US/voting/ui/vote-call-menu.ftl b/Resources/Locale/en-US/voting/ui/vote-call-menu.ftl index 7ac9c344fd..fbae3598ed 100644 --- a/Resources/Locale/en-US/voting/ui/vote-call-menu.ftl +++ b/Resources/Locale/en-US/voting/ui/vote-call-menu.ftl @@ -26,7 +26,7 @@ ui-vote-type-not-available = This vote type has been disabled # Vote option only available for specific users. ui-vote-trusted-users-notice = This vote option is only available to whitelisted players. - In addition, you must have been a ghost for { $timeReq } minutes. + In addition, you must have been a ghost for { $timeReq } seconds. # Warning to not abuse a specific vote option. ui-vote-abuse-warning = From 06da4fcc6020c41d8dcac6612724bf5309518501 Mon Sep 17 00:00:00 2001 From: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com> Date: Fri, 1 Nov 2024 02:52:55 +0100 Subject: [PATCH 097/588] Allow votekicks to be initiated in the lobby (#32528) Initial commit --- Content.Client/Voting/UI/VoteCallMenu.xaml.cs | 12 +++++ Content.Client/Voting/VotingSystem.cs | 5 -- .../Managers/VoteManager.DefaultVotes.cs | 15 ++++-- Content.Server/Voting/VotingSystem.cs | 47 ++++++++++++------- Content.Shared/CCVar/CCVars.cs | 6 +++ 5 files changed, 58 insertions(+), 27 deletions(-) diff --git a/Content.Client/Voting/UI/VoteCallMenu.xaml.cs b/Content.Client/Voting/UI/VoteCallMenu.xaml.cs index c682a93712..b9dd11f7a7 100644 --- a/Content.Client/Voting/UI/VoteCallMenu.xaml.cs +++ b/Content.Client/Voting/UI/VoteCallMenu.xaml.cs @@ -1,5 +1,6 @@ using System.Linq; using System.Numerics; +using Content.Client.Gameplay; using Content.Client.Stylesheets; using Content.Shared.Administration; using Content.Shared.CCVar; @@ -8,6 +9,7 @@ using JetBrains.Annotations; using Robust.Client.AutoGenerated; using Robust.Client.Console; +using Robust.Client.State; using Robust.Client.UserInterface.Controls; using Robust.Client.UserInterface.CustomControls; using Robust.Client.UserInterface.XAML; @@ -28,6 +30,7 @@ public sealed partial class VoteCallMenu : BaseWindow [Dependency] private readonly IEntityManager _entityManager = default!; [Dependency] private readonly IEntityNetworkManager _entNetManager = default!; [Dependency] private readonly IConfigurationManager _cfg = default!; + [Dependency] private readonly IStateManager _state = default!; private VotingSystem _votingSystem; @@ -70,6 +73,7 @@ public VoteCallMenu() VoteTypeButton.AddItem(Loc.GetString(option.Name), (int)voteType); } + _state.OnStateChanged += OnStateChanged; VoteTypeButton.OnItemSelected += VoteTypeSelected; CreateButton.OnPressed += CreatePressed; FollowButton.OnPressed += FollowSelected; @@ -101,6 +105,14 @@ protected override void FrameUpdate(FrameEventArgs args) UpdateVoteTimeout(); } + private void OnStateChanged(StateChangedEventArgs obj) + { + if (obj.NewState is not GameplayState) + return; + + Close(); + } + private void CanCallVoteChanged(bool obj) { if (!obj) diff --git a/Content.Client/Voting/VotingSystem.cs b/Content.Client/Voting/VotingSystem.cs index d204917460..dd74e1ccb1 100644 --- a/Content.Client/Voting/VotingSystem.cs +++ b/Content.Client/Voting/VotingSystem.cs @@ -19,11 +19,6 @@ public override void Initialize() private void OnVotePlayerListResponseEvent(VotePlayerListResponseEvent msg) { - if (!_ghostSystem.IsGhost) - { - return; - } - VotePlayerListResponse?.Invoke(msg); } diff --git a/Content.Server/Voting/Managers/VoteManager.DefaultVotes.cs b/Content.Server/Voting/Managers/VoteManager.DefaultVotes.cs index 736ff48817..fb99b3cfad 100644 --- a/Content.Server/Voting/Managers/VoteManager.DefaultVotes.cs +++ b/Content.Server/Voting/Managers/VoteManager.DefaultVotes.cs @@ -32,6 +32,7 @@ public sealed partial class VoteManager private VotingSystem? _votingSystem; private RoleSystem? _roleSystem; + private GameTicker? _gameTicker; private static readonly Dictionary> _voteTypesToEnableCVars = new() { @@ -70,8 +71,8 @@ public void CreateStandardVote(ICommonSession? initiator, StandardVoteType voteT default: throw new ArgumentOutOfRangeException(nameof(voteType), voteType, null); } - var ticker = _entityManager.EntitySysManager.GetEntitySystem(); - ticker.UpdateInfoText(); + _gameTicker = _entityManager.EntitySysManager.GetEntitySystem(); + _gameTicker.UpdateInfoText(); if (timeoutVote) TimeoutStandardVote(voteType); } @@ -346,8 +347,14 @@ private async void CreateVotekickVote(ICommonSession? initiator, string[]? args) return; } + + + var voterEligibility = _cfg.GetCVar(CCVars.VotekickVoterGhostRequirement) ? VoterEligibility.GhostMinimumPlaytime : VoterEligibility.MinimumPlaytime; + if (_cfg.GetCVar(CCVars.VotekickIgnoreGhostReqInLobby) && _gameTicker!.RunLevel == GameRunLevel.PreRoundLobby) + voterEligibility = VoterEligibility.MinimumPlaytime; + var eligibleVoterNumberRequirement = _cfg.GetCVar(CCVars.VotekickEligibleNumberRequirement); - var eligibleVoterNumber = _cfg.GetCVar(CCVars.VotekickVoterGhostRequirement) ? CalculateEligibleVoterNumber(VoterEligibility.GhostMinimumPlaytime) : CalculateEligibleVoterNumber(VoterEligibility.MinimumPlaytime); + var eligibleVoterNumber = CalculateEligibleVoterNumber(voterEligibility); string target = args[0]; string reason = args[1]; @@ -441,7 +448,7 @@ private async void CreateVotekickVote(ICommonSession? initiator, string[]? args) }, Duration = TimeSpan.FromSeconds(_cfg.GetCVar(CCVars.VotekickTimer)), InitiatorTimeout = TimeSpan.FromMinutes(_cfg.GetCVar(CCVars.VotekickTimeout)), - VoterEligibility = _cfg.GetCVar(CCVars.VotekickVoterGhostRequirement) ? VoterEligibility.GhostMinimumPlaytime : VoterEligibility.MinimumPlaytime, + VoterEligibility = voterEligibility, DisplayVotes = false, TargetEntity = targetNetEntity }; diff --git a/Content.Server/Voting/VotingSystem.cs b/Content.Server/Voting/VotingSystem.cs index 25475c2157..3d3aeb4859 100644 --- a/Content.Server/Voting/VotingSystem.cs +++ b/Content.Server/Voting/VotingSystem.cs @@ -1,5 +1,6 @@ using Content.Server.Administration.Managers; using Content.Server.Database; +using Content.Server.GameTicking; using Content.Server.Ghost; using Content.Server.Roles.Jobs; using Content.Shared.CCVar; @@ -24,6 +25,7 @@ public sealed class VotingSystem : EntitySystem [Dependency] private readonly IGameTiming _gameTiming = default!; [Dependency] private readonly IConfigurationManager _cfg = default!; [Dependency] private readonly JobSystem _jobs = default!; + [Dependency] private readonly GameTicker _gameTicker = default!; public override void Initialize() { @@ -34,8 +36,7 @@ public override void Initialize() private async void OnVotePlayerListRequestEvent(VotePlayerListRequestEvent msg, EntitySessionEventArgs args) { - if (args.SenderSession.AttachedEntity is not { Valid: true } entity - || !await CheckVotekickInitEligibility(args.SenderSession)) + if (!await CheckVotekickInitEligibility(args.SenderSession)) { var deniedResponse = new VotePlayerListResponseEvent(new (NetUserId, NetEntity, string)[0], true); RaiseNetworkEvent(deniedResponse, args.SenderSession.Channel); @@ -46,17 +47,23 @@ private async void OnVotePlayerListRequestEvent(VotePlayerListRequestEvent msg, foreach (var player in _playerManager.Sessions) { - if (player.AttachedEntity is not { Valid: true } attached) - continue; - - if (attached == entity) continue; + if (args.SenderSession == player) continue; if (_adminManager.IsAdmin(player, false)) continue; - var playerName = GetPlayerVoteListName(attached); - var netEntity = GetNetEntity(attached); - - players.Add((player.UserId, netEntity, playerName)); + if (player.AttachedEntity is not { Valid: true } attached) + { + var playerName = player.Name; + var netEntity = NetEntity.Invalid; + players.Add((player.UserId, netEntity, playerName)); + } + else + { + var playerName = GetPlayerVoteListName(attached); + var netEntity = GetNetEntity(attached); + + players.Add((player.UserId, netEntity, playerName)); + } } var response = new VotePlayerListResponseEvent(players.ToArray(), false); @@ -86,15 +93,19 @@ public async Task CheckVotekickInitEligibility(ICommonSession? initiator) if (initiator.AttachedEntity != null && _adminManager.IsAdmin(initiator.AttachedEntity.Value, false)) return true; - if (_cfg.GetCVar(CCVars.VotekickInitiatorGhostRequirement)) + // If cvar enabled, skip the ghost requirement in the preround lobby + if (!_cfg.GetCVar(CCVars.VotekickIgnoreGhostReqInLobby) || (_cfg.GetCVar(CCVars.VotekickIgnoreGhostReqInLobby) && _gameTicker.RunLevel != GameRunLevel.PreRoundLobby)) { - // Must be ghost - if (!TryComp(initiator.AttachedEntity, out GhostComponent? ghostComp)) - return false; - - // Must have been dead for x seconds - if ((int)_gameTiming.RealTime.Subtract(ghostComp.TimeOfDeath).TotalSeconds < _cfg.GetCVar(CCVars.VotekickEligibleVoterDeathtime)) - return false; + if (_cfg.GetCVar(CCVars.VotekickInitiatorGhostRequirement)) + { + // Must be ghost + if (!TryComp(initiator.AttachedEntity, out GhostComponent? ghostComp)) + return false; + + // Must have been dead for x seconds + if ((int)_gameTiming.RealTime.Subtract(ghostComp.TimeOfDeath).TotalSeconds < _cfg.GetCVar(CCVars.VotekickEligibleVoterDeathtime)) + return false; + } } // Must be whitelisted diff --git a/Content.Shared/CCVar/CCVars.cs b/Content.Shared/CCVar/CCVars.cs index f333f6536d..d1dc9d9ade 100644 --- a/Content.Shared/CCVar/CCVars.cs +++ b/Content.Shared/CCVar/CCVars.cs @@ -1537,6 +1537,12 @@ public static readonly CVarDef public static readonly CVarDef VotekickBanDuration = CVarDef.Create("votekick.ban_duration", 180, CVar.SERVERONLY); + /// + /// Whether the ghost requirement settings for votekicks should be ignored for the lobby. + /// + public static readonly CVarDef VotekickIgnoreGhostReqInLobby = + CVarDef.Create("votekick.ignore_ghost_req_in_lobby", true, CVar.SERVERONLY); + /* * BAN */ From 973aeb1aaa596e0237bed80a701607c5ccdafcf0 Mon Sep 17 00:00:00 2001 From: PJBot Date: Fri, 1 Nov 2024 01:54:01 +0000 Subject: [PATCH 098/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index f5a8a7fb96..fc04aaad0e 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Plykiya - changes: - - message: Buckling someone now triggers a short do-after. - type: Tweak - id: 7072 - time: '2024-08-09T15:43:02.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/29621 - author: Ubaser changes: - message: Normal crowbars cannot be placed in pockets, but can now fit in belts. @@ -3947,3 +3940,10 @@ id: 7571 time: '2024-11-01T01:43:11.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33013 +- author: SlamBamActionman + changes: + - message: Votekicks can now be initiated during the pregame lobby. + type: Fix + id: 7572 + time: '2024-11-01T01:52:55.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/32528 From d708a150e16b79312bc156ab35b38f37887b828a Mon Sep 17 00:00:00 2001 From: PopGamer46 Date: Fri, 1 Nov 2024 03:04:08 +0100 Subject: [PATCH 099/588] Fixes bolt lights of previously unpowered bolted doors (#33063) fix --- Content.Server/Doors/Systems/DoorSystem.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Server/Doors/Systems/DoorSystem.cs b/Content.Server/Doors/Systems/DoorSystem.cs index 292f8ec8e9..754818619a 100644 --- a/Content.Server/Doors/Systems/DoorSystem.cs +++ b/Content.Server/Doors/Systems/DoorSystem.cs @@ -46,8 +46,8 @@ private void OnBoltPowerChanged(Entity ent, ref PowerChangedE SetBoltsDown(ent, true); } - UpdateBoltLightStatus(ent); ent.Comp.Powered = args.Powered; Dirty(ent, ent.Comp); + UpdateBoltLightStatus(ent); } } From 25b3898b287bcfbb3cc44ef62a4e8a3de3c0d1dd Mon Sep 17 00:00:00 2001 From: PJBot Date: Fri, 1 Nov 2024 02:05:15 +0000 Subject: [PATCH 100/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index fc04aaad0e..47744c0432 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,14 +1,4 @@ Entries: -- author: Ubaser - changes: - - message: Normal crowbars cannot be placed in pockets, but can now fit in belts. - type: Tweak - - message: Depending on where you obtained the crowbars, they will now have different - colours. - type: Tweak - id: 7073 - time: '2024-08-09T19:29:00.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/28988 - author: lzk228 changes: - message: Hotplate works again. @@ -3947,3 +3937,10 @@ id: 7572 time: '2024-11-01T01:52:55.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/32528 +- author: PopGamer46 + changes: + - message: Fixed bolt lights of recently unpowered bolted doors + type: Fix + id: 7573 + time: '2024-11-01T02:04:09.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33063 From 6ce80d914d34807683fcf0118a2c86024ade7eef Mon Sep 17 00:00:00 2001 From: RumiTiger <154005209+RumiTiger@users.noreply.github.com> Date: Fri, 1 Nov 2024 05:06:46 +0300 Subject: [PATCH 101/588] Muffins (#29318) * Update meta.json * Add files via upload * Update misc.yml * Update meal_recipes.yml * Update meta.json * Add files via upload * Update plate.yml * Update food_baked_single.yml * Update dinnerware.yml * Update cooking.yml * Update misc.yml * Add files via upload * Delete Resources/Textures/Objects/Consumable/Food/Baked/misc.rsi/muffin-cherry.png * Add files via upload * Update meta.json * Update misc.yml * Update meal_recipes.yml * Update meta.json * Fix meta.json * Fix meta.json again * Update misc.yml * Update misc.yml * Update misc.yml * Update misc.yml * Update meta.json * Update meta.json * Update misc.yml * Update meal_recipes.yml * Update Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> * Update dinnerware.yml * Delete cherry * Add files via upload * Delete banana * Add banana * Delete chocolate * Add chocolate * lathe recipe fix --------- Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> --- .../Inventories/dinnerware.yml | 1 + .../Random/Food_Drinks/food_baked_single.yml | 2 + .../Objects/Consumable/Food/Baked/misc.yml | 97 ++++++++++++++++-- .../Consumable/Food/Containers/plate.yml | 24 +++++ .../Entities/Structures/Machines/lathe.yml | 1 + .../Recipes/Cooking/meal_recipes.yml | 61 +++++++++++ .../Prototypes/Recipes/Lathes/cooking.yml | 7 ++ .../Consumable/Food/Baked/misc.rsi/meta.json | 9 +- .../Food/Baked/misc.rsi/muffin-banana.png | Bin 0 -> 373 bytes .../Food/Baked/misc.rsi/muffin-berry.png | Bin 611 -> 3389 bytes .../Food/Baked/misc.rsi/muffin-cherry.png | Bin 285 -> 299 bytes .../Food/Baked/misc.rsi/muffin-chocolate.png | Bin 0 -> 425 bytes .../Consumable/Food/plates.rsi/meta.json | 5 +- .../Consumable/Food/plates.rsi/muffin-tin.png | Bin 0 -> 3023 bytes 14 files changed, 198 insertions(+), 9 deletions(-) create mode 100644 Resources/Textures/Objects/Consumable/Food/Baked/misc.rsi/muffin-banana.png create mode 100644 Resources/Textures/Objects/Consumable/Food/Baked/misc.rsi/muffin-chocolate.png create mode 100644 Resources/Textures/Objects/Consumable/Food/plates.rsi/muffin-tin.png diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/dinnerware.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/dinnerware.yml index d7108ab995..046607f21a 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/dinnerware.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/dinnerware.yml @@ -11,6 +11,7 @@ FoodPlate: 10 FoodPlateSmall: 10 FoodPlateTin: 5 + FoodPlateMuffinTin: 5 FoodKebabSkewer: 5 DrinkGlass: 5 Beaker: 5 diff --git a/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/food_baked_single.yml b/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/food_baked_single.yml index 68d9394ea1..fa28567639 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/food_baked_single.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/Random/Food_Drinks/food_baked_single.yml @@ -46,6 +46,8 @@ - FoodBakedMuffinBerry - FoodBakedMuffinCherry - FoodBakedMuffinBluecherry + - FoodBakedMuffinChocolate + - FoodBakedMuffinBanana - FoodBakedBunHoney - FoodBakedBunHotX - FoodBakedBunMeat diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml index 8b455fe872..b4be6a8dfd 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Baked/misc.yml @@ -19,44 +19,84 @@ - type: Item size: Tiny -# Muffins/Buns +# Muffins - type: entity name: muffin - parent: FoodBakedBase + parent: FoodInjectableBase id: FoodBakedMuffin description: A delicious and spongy little cake. components: + - type: Food + trash: + - FoodPlateMuffinTin - type: Sprite + sprite: Objects/Consumable/Food/Baked/misc.rsi state: muffin + - type: SolutionContainerManager + solutions: + food: + maxVol: 10 + reagents: + - ReagentId: Nutriment + Quantity: 6 + - ReagentId: Vitamin + Quantity: 2 + - type: FlavorProfile + flavors: + - sweet + - type: Item + size: Tiny - type: entity name: berry muffin - parent: FoodBakedBase + parent: FoodBakedMuffin id: FoodBakedMuffinBerry description: A delicious and spongy little cake, with berries. components: - type: Sprite state: muffin-berry + - type: SolutionContainerManager + solutions: + food: + maxVol: 12 + reagents: + - ReagentId: Nutriment + Quantity: 6 + - ReagentId: Vitamin + Quantity: 2 + - ReagentId: JuiceBerry + Quantity: 2 - type: Tag tags: - Fruit - type: entity name: cherry muffin - parent: FoodBakedBase + parent: FoodBakedMuffin id: FoodBakedMuffinCherry description: A sweet muffin with cherry bits. components: - type: Sprite state: muffin-cherry + - type: SolutionContainerManager + solutions: + food: + maxVol: 12 + reagents: + - ReagentId: Nutriment + Quantity: 6 + - ReagentId: Vitamin + Quantity: 2 + - ReagentId: JuiceCherry + Quantity: 2 - type: Tag tags: - Fruit - type: entity name: bluecherry muffin - parent: FoodBakedBase + parent: FoodBakedMuffin id: FoodBakedMuffinBluecherry description: Blue cherries inside a delicious muffin. components: @@ -66,6 +106,51 @@ tags: - Fruit +- type: entity + name: chocolate muffin + parent: FoodBakedMuffin + id: FoodBakedMuffinChocolate + description: A delicious and spongy chocolate muffin. + components: + - type: Sprite + state: muffin-chocolate + - type: SolutionContainerManager + solutions: + food: + maxVol: 12 + reagents: + - ReagentId: Nutriment + Quantity: 6 + - ReagentId: Vitamin + Quantity: 2 + - ReagentId: CocoaPowder + Quantity: 2 + +- type: entity + name: banana muffin + parent: FoodBakedMuffin + id: FoodBakedMuffinBanana + description: A delicious and spongy banana muffin. + components: + - type: Sprite + state: muffin-banana + - type: SolutionContainerManager + solutions: + food: + maxVol: 12 + reagents: + - ReagentId: Nutriment + Quantity: 6 + - ReagentId: Vitamin + Quantity: 2 + - ReagentId: JuiceBanana + Quantity: 2 + - type: Tag + tags: + - Fruit + +# Buns + - type: entity name: honey bun #TODO honey parent: FoodBakedBase @@ -685,4 +770,4 @@ - type: DamageOtherOnHit damage: types: - Blunt: 0 # so the damage stats icon doesn't immediately give away the syndie ones \ No newline at end of file + Blunt: 0 # so the damage stats icon doesn't immediately give away the syndie ones diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/plate.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/plate.yml index 63c47df67e..2e2f2979bc 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/plate.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/Containers/plate.yml @@ -178,3 +178,27 @@ materialComposition: Steel: 60 - type: SpaceGarbage + +# Muffin Tin + +- type: entity + name: muffin tin + parent: BaseItem + id: FoodPlateMuffinTin + description: A cheap foil tin for muffins. + components: + - type: Sprite + sprite: Objects/Consumable/Food/plates.rsi + state: muffin-tin + - type: Item + size: Small + shape: + - 0,0,1,0 + storedOffset: 0,-3 + - type: Tag + tags: + - Trash + - type: PhysicalComposition + materialComposition: + Steel: 30 + - type: SpaceGarbage diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index a8e4d0f43e..b27f2cc1b9 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -163,6 +163,7 @@ - FoodPlateSmallPlastic - FoodBowlBig - FoodPlateTin + - FoodPlateMuffinTin - FoodKebabSkewer - SprayBottle - MopItem diff --git a/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml b/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml index fa2b657391..173cf9e9db 100644 --- a/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml +++ b/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml @@ -1779,6 +1779,67 @@ FoodOrange: 1 FoodAmbrosiaVulgaris: 1 +# Muffins + +- type: microwaveMealRecipe + id: RecipeMuffin + name: muffin recipe + result: FoodBakedMuffin + time: 15 + solids: + FoodPlateMuffinTin: 1 + FoodDoughSlice: 1 + reagents: + Sugar: 10 + +- type: microwaveMealRecipe + id: RecipeMuffinChocolate + name: chocolate muffin recipe + result: FoodBakedMuffinChocolate + time: 15 + solids: + FoodPlateMuffinTin: 1 + FoodDoughSlice: 1 + FoodSnackChocolateBar: 1 + reagents: + Sugar: 10 + +- type: microwaveMealRecipe + id: RecipeMuffinBerry + name: berry muffin recipe + result: FoodBakedMuffinBerry + time: 15 + solids: + FoodPlateMuffinTin: 1 + FoodDoughSlice: 1 + FoodBerries: 1 + reagents: + Sugar: 10 + +- type: microwaveMealRecipe + id: RecipeMuffinBanana + name: banana muffin recipe + result: FoodBakedMuffinBanana + time: 15 + solids: + FoodPlateMuffinTin: 1 + FoodDoughSlice: 1 + FoodBanana: 1 + reagents: + Sugar: 10 + +- type: microwaveMealRecipe + id: RecipeMuffinCherry + name: cherry muffin recipe + result: FoodBakedMuffinCherry + time: 15 + solids: + FoodPlateMuffinTin: 1 + FoodDoughSlice: 1 + FoodCherry: 3 + reagents: + Sugar: 10 + # NOT ACTUAL FOOD - type: microwaveMealRecipe diff --git a/Resources/Prototypes/Recipes/Lathes/cooking.yml b/Resources/Prototypes/Recipes/Lathes/cooking.yml index 577d8299da..c28a937015 100644 --- a/Resources/Prototypes/Recipes/Lathes/cooking.yml +++ b/Resources/Prototypes/Recipes/Lathes/cooking.yml @@ -98,6 +98,13 @@ materials: Steel: 100 +- type: latheRecipe + id: FoodPlateMuffinTin + result: FoodPlateMuffinTin + completetime: 0.4 + materials: + Steel: 50 + - type: latheRecipe id: FoodKebabSkewer result: FoodKebabSkewer diff --git a/Resources/Textures/Objects/Consumable/Food/Baked/misc.rsi/meta.json b/Resources/Textures/Objects/Consumable/Food/Baked/misc.rsi/meta.json index c6c435a5c9..ea2e3dc6ea 100644 --- a/Resources/Textures/Objects/Consumable/Food/Baked/misc.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Food/Baked/misc.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation and modified by Swept at https://github.com/tgstation/tgstation/commit/40d75cc340c63582fb66ce15bf75a36115f6bdaa. Chevrechaud created by Github user deathride58, croissant taken from tgstation at commit https://github.com/tgstation/tgstation/commit/7ffd61b6fa6a6183daa8900f9a490f46f7a81955", + "copyright": "Taken from tgstation and modified by Swept at https://github.com/tgstation/tgstation/commit/40d75cc340c63582fb66ce15bf75a36115f6bdaa. Chevrechaud created by Github user deathride58, croissant taken from tgstation at commit https://github.com/tgstation/tgstation/commit/7ffd61b6fa6a6183daa8900f9a490f46f7a81955. Muffin-chocolate, muffin-banana and muffin-cherry sprites modified from the original muffin sprite by RumiTiger", "size": { "x": 32, "y": 32 @@ -162,7 +162,12 @@ }, { "name": "croissant" + }, + { + "name": "muffin-chocolate" + }, + { + "name": "muffin-banana" } ] } - diff --git a/Resources/Textures/Objects/Consumable/Food/Baked/misc.rsi/muffin-banana.png b/Resources/Textures/Objects/Consumable/Food/Baked/misc.rsi/muffin-banana.png new file mode 100644 index 0000000000000000000000000000000000000000..51ab05eea1ed98117c1a6c92d1f188e163af63cd GIT binary patch literal 373 zcmV-*0gC>KP)Px$FG)l}R9J=Wl&@06Fc6177(`7gIgxW9;0dt2055PS&hii^c?cYX!D4uTvuA3H z0M`hRiD+FAX?nS#%xnt`f_yWb{MpU!FWV%LNF);for5Whni7ZceFI=&b~P>5s73A# z*AHxDFwhz>8fMFJF%PAVO^Ks`{>%66SpkKDavh2MDFIE1%TzRB2AsM%HHXaz5#kE; zNkVcP&4I6q-F2lLNt`kRsDY%Bu(q>V1KJ`+B;Z}calEZgKpVyujM=qj=ofuQKvfBx zEa+OEI3T_<;b6_9N`#Gu9owz~%R6~oQ3U|BhQ$gV?!Wd~tl;TU8qqWA(RjJ_RX90= z*XPeI!0GibJwyO?4cqQKocqKohs&F3u@Z?y;?Ma26SH9r T#ZNbK00000NkvXXu0mjfI!B%? literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Food/Baked/misc.rsi/muffin-berry.png b/Resources/Textures/Objects/Consumable/Food/Baked/misc.rsi/muffin-berry.png index 9e0165e8121f4ef42b231cfa6169f6b531d76893..161da9acb430d928b6ef97426bd06b288562ea4f 100644 GIT binary patch delta 3387 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 R5pVzi002ovPDHLkV1h)-a*F@} delta 587 zcmV-R0<`_T8sh|zBYy%aNklQ`QPz0GcAPjp9#>7DbXR`3S3N;*qpt1CB0`oc8l&%4Tajj8D}8*tpVSAW@+` z;76E(Vntzetc|F@lZaw1t$`DLZwOT*Oe9+veHCK1=zrt%Awd*@FzXa6UT#mc@xxH4 zv@RzcEIT&f_{)q8#iUtLd6|y#y`Ui_9PFKBU9iN=oXW&Zl#puB(Ng35&7@;pM;8Fd zW;GJKBjj><)+hp_s#2Zvk}@?Uu->1ie_x2#X$B!2;OQb$4nuFf3k0002xNklE9XC4n8J3lmf)0-V)&0Vi-yS9u&kk6z|)AVny4JeAD{5y-7O$Br^Zj3!d<_g+W z4IC`v*4R)XOW#2I)&Of~Ju$wE6E};10=lhd!W75@M0i)A8Go6(et56W6f2(~DX)E~ zJ%|1ch^^-qAPHR&trcVYhpO_CfTts5jF6iP-d{!@*2eO=??ArdIUuiB1)#rO2HYlM zGT`o;&=Ax#uBHk*;4xqUj^AoT02NT0apKt0tcMcSzjNqnU~djifm38IMNyQW^8(~K WH~&GnHNF4<00{s|MNUMnLSTYjcX%}b delta 257 zcmV+c0sj800-XYoB!A>dL_t(|oMT`Z1*2dTjDk@x3I-T3lA~#NyV-wqG1tmdWSK>h zCYZ(g&L$Xg7x$ha%OON7-ra8YADhM4972jCm`Jt!V$K5JiJ(ox_ljsnD zfoE@jFh~h=z%7M|kqgKwJQkMdVWe_WeLf0C!6+C7g9ZQqWqwXX&J1V_00000NkvXX Hu0mjfYaVJ* diff --git a/Resources/Textures/Objects/Consumable/Food/Baked/misc.rsi/muffin-chocolate.png b/Resources/Textures/Objects/Consumable/Food/Baked/misc.rsi/muffin-chocolate.png new file mode 100644 index 0000000000000000000000000000000000000000..7ca1a22cb0651c2a615a77172ea78ea4f54c2b67 GIT binary patch literal 425 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 Rw=)0$002ovPDHLkV1idoz03dr literal 0 HcmV?d00001 From b1a8eee52fe34afcbf866d093a1465615ac9e24e Mon Sep 17 00:00:00 2001 From: PJBot Date: Fri, 1 Nov 2024 02:07:53 +0000 Subject: [PATCH 102/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 47744c0432..93619da001 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: lzk228 - changes: - - message: Hotplate works again. - type: Fix - id: 7074 - time: '2024-08-10T01:10:39.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30830 - author: EmoGarbage404 changes: - message: Maintenance closets have more variety in what they can contain. @@ -3944,3 +3937,15 @@ id: 7573 time: '2024-11-01T02:04:09.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33063 +- author: RumiTiger + changes: + - message: A chocolate and banana muffin has been added to the game. The berry and + cherry muffins have also been resprited! + type: Add + - message: Now you can make a regular, chocolate, banana, and berry muffin! + type: Tweak + - message: Muffin tins have been added to the game. They are needed for making muffins! + type: Add + id: 7574 + time: '2024-11-01T02:06:46.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/29318 From e17d152838a4c34625c52ca51b8a343be5f22b36 Mon Sep 17 00:00:00 2001 From: ScarKy0 <106310278+ScarKy0@users.noreply.github.com> Date: Fri, 1 Nov 2024 03:32:28 +0100 Subject: [PATCH 103/588] Borgs can no longer see mindshield + AI can no longer toggle off seeing job icons (#33069) * :( * Removed the sprite + updated RSI --- Resources/Prototypes/Actions/station_ai.yml | 19 ++---------------- .../Mobs/Cyborgs/base_borg_chassis.yml | 1 - .../Entities/Mobs/Player/admin_ghost.yml | 6 +++--- .../Entities/Mobs/Player/silicon.yml | 2 +- .../Actions/actions_ai.rsi/job_view.png | Bin 508 -> 0 bytes .../Actions/actions_ai.rsi/meta.json | 3 --- 6 files changed, 6 insertions(+), 25 deletions(-) delete mode 100644 Resources/Textures/Interface/Actions/actions_ai.rsi/job_view.png diff --git a/Resources/Prototypes/Actions/station_ai.yml b/Resources/Prototypes/Actions/station_ai.yml index 58513d7db1..dc70603810 100644 --- a/Resources/Prototypes/Actions/station_ai.yml +++ b/Resources/Prototypes/Actions/station_ai.yml @@ -5,35 +5,20 @@ description: Sends your eye back to the core. components: - type: InstantAction - priority: -10 + priority: -9 itemIconStyle: BigAction icon: sprite: Interface/Actions/actions_ai.rsi state: ai_core event: !type:JumpToCoreEvent -- type: entity - id: ActionShowJobIcons - name: Show job icons - description: Shows job icons for crew members. - components: - - type: InstantAction - priority: -5 - itemIconStyle: BigAction - icon: - sprite: Interface/Actions/actions_ai.rsi - state: job_view - event: !type:ActionComponentChangeEvent - components: - - type: ShowJobIcons - - type: entity id: ActionSurvCameraLights name: Toggle camera lights description: Enable surveillance camera lights near wherever you're viewing. components: - type: InstantAction - priority: -6 + priority: -5 itemIconStyle: BigAction icon: sprite: Interface/Actions/actions_ai.rsi diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml index c65db8fe19..0db92ac941 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml @@ -285,7 +285,6 @@ - type: AccessReader access: [["Command"], ["Research"]] - type: ShowJobIcons - - type: ShowMindShieldIcons - type: entity id: BaseBorgChassisSyndicate diff --git a/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml b/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml index 1c3862e99a..0a40e64fd7 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/admin_ghost.yml @@ -127,7 +127,7 @@ icon: { sprite: Interface/Actions/actions_ai.rsi, state: mass_scanner } iconOn: Interface/Actions/actions_ai.rsi/mass_scanner.png keywords: [ "AI", "console", "interface" ] - priority: -7 + priority: -6 event: !type:ToggleIntrinsicUIEvent { key: enum.RadarConsoleUiKey.Key } - type: entity @@ -151,7 +151,7 @@ icon: { sprite: Interface/Actions/actions_ai.rsi, state: crew_monitor } iconOn: Interface/Actions/actions_ai.rsi/crew_monitor.png keywords: [ "AI", "console", "interface" ] - priority: -9 + priority: -8 event: !type:ToggleIntrinsicUIEvent { key: enum.CrewMonitoringUIKey.Key } - type: entity @@ -163,5 +163,5 @@ icon: { sprite: Interface/Actions/actions_ai.rsi, state: station_records } iconOn: Interface/Actions/actions_ai.rsi/station_records.png keywords: [ "AI", "console", "interface" ] - priority: -8 + priority: -7 event: !type:ToggleIntrinsicUIEvent { key: enum.GeneralStationRecordConsoleKey.Key } diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml index 7391e5709f..be2b5a44f9 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml @@ -33,7 +33,6 @@ - type: ActionGrant actions: - ActionJumpToCore - - ActionShowJobIcons - ActionSurvCameraLights - ActionAIViewLaws - type: UserInterface @@ -72,6 +71,7 @@ color: "#2ed2fd" - type: Speech speechVerb: Robotic + - type: ShowJobIcons - type: entity id: AiHeldIntellicard diff --git a/Resources/Textures/Interface/Actions/actions_ai.rsi/job_view.png b/Resources/Textures/Interface/Actions/actions_ai.rsi/job_view.png deleted file mode 100644 index b407c4755e13c72eaefa36aeab453a72b1903d0f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 508 zcmVNCu5t(CbZ2X@dmYzL(7H%(`0ka$^NmI*#_MkX| z1z;x^a>NNEGbT#`aS z$sJYh-cD3L8?b~s^B2KC^98#*K_wwcAs_~=E|pv%^tV^2YF^C{l1SDz+Oj9RMnPfI Date: Fri, 1 Nov 2024 02:33:34 +0000 Subject: [PATCH 104/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 93619da001..a55c40f374 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: EmoGarbage404 - changes: - - message: Maintenance closets have more variety in what they can contain. - type: Tweak - id: 7075 - time: '2024-08-10T02:12:40.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30579 - author: Ko4erga changes: - message: Changed chemistry airlock color. @@ -3949,3 +3942,12 @@ id: 7574 time: '2024-11-01T02:06:46.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/29318 +- author: ScarKy0 + changes: + - message: AI can no longer toggle seeing jobs off. + type: Tweak + - message: Borgs can no longer see mindshield status. + type: Fix + id: 7575 + time: '2024-11-01T02:32:28.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33069 From c9cd778133852af316db97da107214be33ec7a5d Mon Sep 17 00:00:00 2001 From: deltanedas <39013340+deltanedas@users.noreply.github.com> Date: Fri, 1 Nov 2024 02:34:27 +0000 Subject: [PATCH 105/588] add IsMemberOfAny to faction system (#32975) * add IsMemberOfAny to faction system * pro --------- Co-authored-by: deltanedas <@deltanedas:kde.org> --- Content.Shared/NPC/Systems/NpcFactionSystem.cs | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Content.Shared/NPC/Systems/NpcFactionSystem.cs b/Content.Shared/NPC/Systems/NpcFactionSystem.cs index 98f14afe2a..0d684de80b 100644 --- a/Content.Shared/NPC/Systems/NpcFactionSystem.cs +++ b/Content.Shared/NPC/Systems/NpcFactionSystem.cs @@ -81,6 +81,24 @@ public bool IsMember(Entity ent, string faction) return ent.Comp.Factions.Contains(faction); } + /// + /// Returns whether an entity is a member of any listed faction. + /// If the list is empty this returns false. + /// + public bool IsMemberOfAny(Entity ent, IEnumerable> factions) + { + if (!Resolve(ent, ref ent.Comp, false)) + return false; + + foreach (var faction in factions) + { + if (ent.Comp.Factions.Contains(faction)) + return true; + } + + return false; + } + /// /// Adds this entity to the particular faction. /// From d7a1753c7dcd2606f9345c072456781736b3061f Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Fri, 1 Nov 2024 14:18:06 +1100 Subject: [PATCH 106/588] Add CanLoad for biomes (#33050) CPUJob to come later. --- Content.Server/Parallax/BiomeSystem.cs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Content.Server/Parallax/BiomeSystem.cs b/Content.Server/Parallax/BiomeSystem.cs index 22b531eb7c..109aa0f6e4 100644 --- a/Content.Server/Parallax/BiomeSystem.cs +++ b/Content.Server/Parallax/BiomeSystem.cs @@ -10,6 +10,7 @@ using Content.Server.Shuttles.Systems; using Content.Shared.Atmos; using Content.Shared.Decals; +using Content.Shared.Ghost; using Content.Shared.Gravity; using Content.Shared.Parallax.Biomes; using Content.Shared.Parallax.Biomes.Layers; @@ -51,6 +52,7 @@ public sealed partial class BiomeSystem : SharedBiomeSystem private EntityQuery _biomeQuery; private EntityQuery _fixturesQuery; + private EntityQuery _ghostQuery; private EntityQuery _xformQuery; private readonly HashSet _handledEntities = new(); @@ -81,6 +83,7 @@ public override void Initialize() Log.Level = LogLevel.Debug; _biomeQuery = GetEntityQuery(); _fixturesQuery = GetEntityQuery(); + _ghostQuery = GetEntityQuery(); _xformQuery = GetEntityQuery(); SubscribeLocalEvent(OnBiomeMapInit); SubscribeLocalEvent(OnFTLStarted); @@ -315,6 +318,11 @@ public void Preload(EntityUid uid, BiomeComponent component, Box2 area) } } + private bool CanLoad(EntityUid uid) + { + return !_ghostQuery.HasComp(uid); + } + public override void Update(float frameTime) { base.Update(frameTime); @@ -332,7 +340,8 @@ public override void Update(float frameTime) if (_xformQuery.TryGetComponent(pSession.AttachedEntity, out var xform) && _handledEntities.Add(pSession.AttachedEntity.Value) && _biomeQuery.TryGetComponent(xform.MapUid, out var biome) && - biome.Enabled) + biome.Enabled && + CanLoad(pSession.AttachedEntity.Value)) { var worldPos = _transform.GetWorldPosition(xform); AddChunksInRange(biome, worldPos); @@ -349,7 +358,8 @@ public override void Update(float frameTime) if (!_handledEntities.Add(viewer) || !_xformQuery.TryGetComponent(viewer, out xform) || !_biomeQuery.TryGetComponent(xform.MapUid, out biome) || - !biome.Enabled) + !biome.Enabled || + !CanLoad(viewer)) { continue; } From b8a98de784029d173c97e43ea27cd3570c8c5f6f Mon Sep 17 00:00:00 2001 From: Minemoder5000 Date: Fri, 1 Nov 2024 00:22:38 -0600 Subject: [PATCH 107/588] Remove CargoPallet component from the cargo pallet (#33022) * Change cargo shuttle pallets to catwalks. * Remove CargoPallet component from the cargo pallet. * Undo cargo shuttle changes. --- .../Prototypes/Entities/Objects/Specific/Cargo/cargo_pallet.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/Resources/Prototypes/Entities/Objects/Specific/Cargo/cargo_pallet.yml b/Resources/Prototypes/Entities/Objects/Specific/Cargo/cargo_pallet.yml index e95e663a79..518e63edea 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Cargo/cargo_pallet.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Cargo/cargo_pallet.yml @@ -20,8 +20,6 @@ density: 15 mask: - MachineMask - - type: CargoPallet - palletType: All - type: StaticPrice price: 100 - type: Sprite From 844a92026f462cbae7cf433ddfc32e7b6911df2c Mon Sep 17 00:00:00 2001 From: PJBot Date: Fri, 1 Nov 2024 06:23:45 +0000 Subject: [PATCH 108/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index a55c40f374..7bcfcc7e0a 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Ko4erga - changes: - - message: Changed chemistry airlock color. - type: Tweak - id: 7076 - time: '2024-08-10T03:23:47.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30666 - author: Blackern5000 changes: - message: Bent pipes now deal 8 thrown damage instead of 3. @@ -3951,3 +3944,10 @@ id: 7575 time: '2024-11-01T02:32:28.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33069 +- author: Minemoder5000 + changes: + - message: The cargo shuttle's cargo pallets can no longer sell or buy. + type: Fix + id: 7576 + time: '2024-11-01T06:22:39.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33022 From 3382743086304d4dcddc1598caa3895adbaea685 Mon Sep 17 00:00:00 2001 From: UBlueberry <161545003+UBlueberry@users.noreply.github.com> Date: Fri, 1 Nov 2024 20:42:20 -0400 Subject: [PATCH 109/588] Minor antagonist guidebook changes (#32824) * took a two month nap. accidentally pushed too many buttons. let's try this again. added thieves to antagonists.xml * even after that nap, i don't feel well-rested at all. * please don't kill me for using webedit * capitalization, typo * Apply suggestions from code review (more period moving) Thanks Evan, very cool Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> * guess you could say im not pro-proper noun * typo * Update Resources/ServerInfo/Guidebook/Antagonist/Nuclear Operatives.xml * ok Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com> --------- Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com> --- .../Guidebook/Antagonist/Antagonists.xml | 7 ++-- .../Guidebook/Antagonist/MinorAntagonists.xml | 32 +++++++++---------- .../Antagonist/Nuclear Operatives.xml | 16 +++++----- .../Guidebook/Antagonist/Revolutionaries.xml | 16 +++++----- .../Guidebook/Antagonist/SpaceNinja.xml | 18 +++++------ .../Guidebook/Antagonist/Thieves.xml | 5 ++- 6 files changed, 48 insertions(+), 46 deletions(-) diff --git a/Resources/ServerInfo/Guidebook/Antagonist/Antagonists.xml b/Resources/ServerInfo/Guidebook/Antagonist/Antagonists.xml index 2592c10762..7f47f1e490 100644 --- a/Resources/ServerInfo/Guidebook/Antagonist/Antagonists.xml +++ b/Resources/ServerInfo/Guidebook/Antagonist/Antagonists.xml @@ -7,13 +7,12 @@ These bad actors are more often than not employed or backed by the [color=#ff0000]Syndicate[/color], a rival organization to Nanotrasen that wants nothing more than to see it burn. ## Various Antagonists - Antagonist roles come with their own special sets of abilities, tools and risks to the station. - Antagonists can take many forms, like: - [textlink="Nuclear operatives" link="Nuclear Operatives"], with the goal of infiltrating and destroying the station. - [textlink="Traitors" link="Traitors"] amongst the crew who must assassinate, steal and decieve. - - [textlink="Space Ninjas" link="SpaceNinja"], masters of espionage and sabotage with special gear. - [textlink="Revolutionaries" link="Revolutionaries"] who are intent on taking control of the station from the inside. - [textlink="Zombies" link="Zombies"] that crave the flesh of every crew member and creature on board. - - [textlink="Several non-humanoid creatures" link="MinorAntagonists"] that usually just try to kill anything that moves. + - [textlink="Space Ninjas" link="SpaceNinja"], masters of espionage and sabotage with special gear. + - [textlink="Thieves" link="Thieves"] driven by kleptomania, determined to get their fix using their special gloves. + - [textlink="Various non-humanoid creatures" link="MinorAntagonists"] that generally attack anything that moves. diff --git a/Resources/ServerInfo/Guidebook/Antagonist/MinorAntagonists.xml b/Resources/ServerInfo/Guidebook/Antagonist/MinorAntagonists.xml index 6704ed28e0..97574c4021 100644 --- a/Resources/ServerInfo/Guidebook/Antagonist/MinorAntagonists.xml +++ b/Resources/ServerInfo/Guidebook/Antagonist/MinorAntagonists.xml @@ -9,12 +9,12 @@ - Revenants are ethereal beings made of ectoplasm that haunt the crew and steal [color=cyan]life essence[/color] from them. + Revenants are ethereal beings made of ectoplasm that haunt the crew and steal [color=#8f63e6]life essence[/color] from them. - Your essence is your very own [bold]life force[/bold]. Taking damage reduces your essence. - Essence is also spent to use [bold]abilities[/bold]. - - To gain essence you first [bold]inspect[/bold] various souls for their worth. More worthy souls grant more essence. Then you must [bold]siphon[/bold] it either when the victim is crit, dead or asleep. + - To gain essence you first [bold]inspect[/bold] various souls for their worth. More worthy souls grant more essence. Then you must [bold]siphon[/bold] it either when the victim is crit, dead or asleep. All of this is done with [color=yellow][bold][keybind="Use"][/bold][/color]. - [bold]Stolen essence[/bold] is used to purchase new abilities to incapacitate the crew easier. - - You are [bold]vulnerable[/bold] to attacks when you siphon a soul or use an ability. You can tell when you are vulnerable when you have a [italic]"Corporeal"[/italic] status effect. + - You are [bold]vulnerable[/bold] to attacks when you siphon a soul or use an ability. You can tell when you are vulnerable when you have a [color=#8f63e6][italic]Corporeal[/italic][/color] status effect. # Rat King @@ -26,12 +26,12 @@ - Rat Kings are abnormally large rodents capable of [color=cyan]raising huge rat armies[/color] by eating equally huge amounts of food. - - You have several abilities that come at the cost of your [bold]hunger[/bold]. - - One ability is summoning [color=cyan]Rat Servants[/color] who you can [bold]command[/bold] to stay in place, follow you, attack a target of your choice or attack indiscriminately. - - You can conjure a cloud of [color=#77b58e]ammonia[/color], which is mildly poisonous to humans but heals rats. - - You can also [italic]"Rummage"[/italic] through any disposal unit by using the context menu. Use this to find [bold]scraps of food[/bold] to grow your army. - - Besides your abilities, you are [bold]stronger[/bold] than most other animals. You and your servants are capable of speech and you're both small enough to fit under airlocks and tables. + Rat kings are abnormally large rodents capable of [color=yellow]raising huge rat armies[/color] by eating equally huge amounts of food. + - You have several abilities that come at the cost of your [bold]hunger.[/bold] + - One such ability is [color=yellow][italic]Raise Army[/italic][/color], which summons a [bold]Rat Servant[/bold]. You can [bold]command[/bold] your servants to stay in place, follow you, attack a target of your choice or attack indiscriminately. + - You can conjure a cloud of [color=#77b58e]ammonia[/color] using [color=purple][italic]Rat King's Domain[/italic][/color]. This purple gas is mildly poisonous to humans but heals rats. + - [color=#9daa98][italic]Rummage[/italic][/color] through a disposal unit by using the context menu. Use this to find [bold]scraps of food[/bold] to grow your army. + - Besides your abilities, [bold]you are stronger than most other animals.[/bold] You and your servants are capable of speech and you're both small enough to fit under airlocks and tables. - [bold]Your underlings are still very fragile![/bold] Beware of spacings, explosions and the buisness end of a melee weapon. # Space Dragon @@ -44,11 +44,11 @@ - Space Dragons is are giant extradimensional fish that [color=cyan]create rifts and eat crew.[/color] - - Dragons have powerful jaws to [bold]devour[/bold] infrastructure such as doors, windows, and walls. - - Your [color=orange]dragon's breath[/color] is a flaming projectile which travels a straight flight path, exploding multiple times and igniting things along the way. Be careful, your carps are not immune to this! - - You have the ability to summon [bold]carp rifts[/bold] that periodically spawn [bold]space carp[/bold]. There can be 3 rifts active at any given time. - - Rifts charge up energy over a period of 5 minutes and are [bold]vulnerable[/bold] during this time. After 5 minutes, it becomes invulnerable and will continue summoning carp as long as the dragon lives. + Space dragons are giant extradimensional fish that can [color=red]eat crew[/color] and create [color=#4b7fcc]carp rifts.[/color] + - Dragons have powerful jaws that allow them to [color=red][italic]Devour[/italic][/color] infrastructure such as doors, windows, and walls. + - They can also heal themselves by using [color=red][italic]Devour[/italic][/color] on crew members that have gone unconscious or have died. + - Your [color=orange][italic]Dragon's Breath[/italic][/color] is a [bold]flaming projectile[/bold] which travels a straight flight path, exploding multiple times and igniting things along the way. Try not to hit your carps with this! + - You have the ability to [color=#4b7fcc][italic]Summon a Carp Rift[/italic][/color]. Rifts periodically spawn [bold]space carp[/bold] and charge up energy over a period of 5 minutes, [bold]which is when it's vulnerable.[/bold] After 5 minutes, it becomes invulnerable and will continue summoning carp as long as the dragon lives. - You'll suffer a [bold]temporary debilitating feedback effect[/bold] if one of your rifts are destroyed before it's done charging. - If a period of five minutes passes since your spawn or since the last time a rift was charging, [bold]you'll disappear.[/bold] - Dragons who have the maximum of 3 fully charged rifts will [bold]never disappear[/bold], but they are still mortal. @@ -61,6 +61,6 @@ Slimes and spiders have no remarkable features, but will [color=cyan]infest the station[/color] from time to time regardless. Both will give chase and attack anything they see. - - Slimes may deal extra [bold]cellular or posion damage[/bold], based upon their color. Water hurts them just as it would hurt a slime person. - - Spiders can lay [bold]webs[/bold], which non-spiders have a hard time moving through. They can easily be destroyed with a blade. + - Slimes may [bold]deal extra cellular or poison damage[/bold], based upon their color. Water hurts them just as it would hurt a slime person. + - Spiders have a venomous bite and can [bold]create webs[/bold] that are hard to move though. Webs are easily destroyed with a blade. They can also pry open airlocks. diff --git a/Resources/ServerInfo/Guidebook/Antagonist/Nuclear Operatives.xml b/Resources/ServerInfo/Guidebook/Antagonist/Nuclear Operatives.xml index ee58663374..11149bab66 100644 --- a/Resources/ServerInfo/Guidebook/Antagonist/Nuclear Operatives.xml +++ b/Resources/ServerInfo/Guidebook/Antagonist/Nuclear Operatives.xml @@ -1,6 +1,6 @@ # Nuclear Operatives - + [color=#999999][italic]"OPERATIVES STANDBY. YOUR OBJECTIVES ARE SIMPLE.[/italic][/color] @@ -38,13 +38,13 @@ ## Preparation - Each member in your squad has been given an [color=cyan]uplink[/color] to purchase everything you will need for the mission, similar to [textlink="Traitors." link="Traitors"] + Each member in your squad has been given an [color=cyan]uplink[/color] to purchase everything you will need for the mission, similar to [textlink="traitors." link="Traitors"] - You can purchase the same kinds of gear Traitors can, but you have higher quality gear available to you and more telecrystals to spend. + You can purchase the same kinds of gear traitors can, but you have higher quality gear available to you and more telecrystals to spend. @@ -71,8 +71,8 @@ ## Getting to the Station You've got the plan, you've got the gear. Now, execute. - Grab a [bold]jetpack[/bold] from your armory and go with your other operatives to the [color=cyan]Syndicate Shuttle[/color]. - Among other things you may need, you'll find an [bold]IFF Console[/bold] on the shuttle. It allows you to hide from other ships and mass scanners when [italic]"Show IFF"[/italic] and [italic]"Show Vessel"[/italic] are toggled off. + Grab a [bold]jetpack[/bold] from your armory and go with your other operatives to your [color=cyan]shuttle[/color]. + Among other things you may need, you'll find an [bold]IFF Computer[/bold] on the shuttle. It allows you to hide from other ships and mass scanners when [italic]Show IFF[/italic] and [italic]Show Vessel[/italic] are toggled off. When everyone is ready, FTL to the station and fly to it with a jetpack. Don't forget the code, your pinpointers and the nuke if you're taking it. @@ -82,12 +82,12 @@ ## The Nuke & Arming Procedure - You have a paper with the [color=cyan]nuclear authentication codes[/color] on your shuttle. [bold]Check to see if the nuke ID matches the one on your shuttle.[/bold] If it doesn't, you'll have to use explosive in the station's vault. + You have a paper with the [color=cyan]nuclear authentication codes[/color] on your shuttle. [bold]Check to see if the nuke ID matches the one on your shuttle.[/bold] If it doesn't, you'll be arming the station's nuke instead. - Obtain the [bold]nuclear authentication disk[/bold] and insert it into the nuke. - Type in the [bold]nuclear authentication code[/bold] and press "[bold]E[/bold]" on the keypad to Enter. - - To begin [bold]self-destruct process[/bold], press "[color=red]ARM[/color]". After 300 seconds, the nuke will explode. - - [bold]Defend the nuke[/bold], even if it's at the cost of your lives! The mission requirements do not include your return. + - [bold]To begin the self-destruct sequence, press [color=#EB2D3A]ARM[/color][/bold]. After 300 seconds, the nuke will explode. + - [bold]Defend the nuke[/bold], even if it's at the cost of your lives! The mission requirements do not include your return. - It takes 30 seconds for someone to [bold]disarm[/bold] the nuke. Re-arming it is possible, but the chance of mission success drops if you let it happen. - Should the nuke be re-armed, the timer will start from where it left off. diff --git a/Resources/ServerInfo/Guidebook/Antagonist/Revolutionaries.xml b/Resources/ServerInfo/Guidebook/Antagonist/Revolutionaries.xml index 4a1887a392..9bc0b28068 100644 --- a/Resources/ServerInfo/Guidebook/Antagonist/Revolutionaries.xml +++ b/Resources/ServerInfo/Guidebook/Antagonist/Revolutionaries.xml @@ -1,6 +1,6 @@ # Revolutionaries - + [color=#999999][italic]"Viva la revolución!!"[/italic][/color] @@ -13,20 +13,20 @@ ## Objectives You must cuff, kill, or exile all of the [textlink="Command staff" link="Command"] on station in no particular order. - Your objective is not to destroy the station, but [italic]take it over[/italic], so try to minimize damage where possible. + Your objective is [bold]not to destroy the station[/bold], but [italic]to take it over[/italic], so try to minimize damage where possible. [bold]The revolution will fail[/bold] if all of the [bold][color=#5e9cff]Head Revolutionaries[/color][/bold] die, and all [color=red]Revolutionaries[/color] will de-convert if this happens. ## Headrevs & Conversion [bold][color=#5e9cff]Head Revolutionaries[/color][/bold] are chosen at the start of the shift and begin with a [color=cyan]flash[/color] and a pair of [color=cyan]sunglasses[/color]. - + - + You can convert crew members to your side by taking any [bold]flash[/bold] and attacking someone with it using [color=#ff0000]harm mode[/color]. - However, you can't convert your target if they're wearing [color=cyan]flash protection[/color] such as [bold]sunglasses[/bold] or a [bold]welding mask[/bold]. + However, [bold]you can't convert your target if they're wearing [color=cyan]flash protection[/color][/bold] such as sunglasses or a welding mask. @@ -34,10 +34,10 @@ - Another hurdle in your way are pesky [color=cyan]mindshield implanters[/color]. These will: + Another obstacle in your way are those pesky [color=cyan]mindshield implanters[/color]. These will: - Prevent the implanted person from being converted into a [color=red]Revolutionary[/color] - De-convert Revolutionaries, and will make them no longer loyal to your cause - - Visibly be destroyed upon being implanted into a [bold][color=#5e9cff]Head Revolutionary[/color][/bold], giving away your cover + - [bold]Visibly be destroyed upon being implanted into a [color=#5e9cff]Head Revolutionary[/color][/bold], giving you away - NOT protect against flash disorientation Assume all of [color=#cb0000]Security[/color] and [color=#1b67a5]Command[/color] are implanted with mindshields already. @@ -47,7 +47,7 @@ ## Revolutionary - A [bold][color=red]Revolutionary[/color][/bold] is a crew member that has been converted by a [bold][color=#5e9cff]Head Revolutionary[/color][/bold]. + A [color=red]Revolutionary[/color] is a crew member that has been converted by a [bold][color=#5e9cff]Head Revolutionary[/color][/bold]. [bold][color=red]Revolutionaries[/color] can't convert people themselves,[/bold] but they're more than capable of doing dirty work and carrying out orders. diff --git a/Resources/ServerInfo/Guidebook/Antagonist/SpaceNinja.xml b/Resources/ServerInfo/Guidebook/Antagonist/SpaceNinja.xml index 9998d4b38a..c001b97937 100644 --- a/Resources/ServerInfo/Guidebook/Antagonist/SpaceNinja.xml +++ b/Resources/ServerInfo/Guidebook/Antagonist/SpaceNinja.xml @@ -7,7 +7,7 @@ You are an elite mercenary that [color=#66FF00]The Spider Clan[/color] has sent to wreak all kinds of havoc on the station. You are equipped to keep it silent-but-deadly. - Whether you decide to mercilessly pick off the station's crew one by one or stay out of trouble, your discipline has taught you that [italic]your objectives must be at least attempted[/italic]. For honor! + Whether you get bloody or stay out of trouble, your discipline has taught you that [italic]your objectives must be at least attempted[/italic]. For honor! ## Standard Equipment You begin implanted with a [color=cyan]death acidifier[/color], so if you are captured or KIA all your precious equipment is kept out of enemy hands. @@ -19,7 +19,7 @@ - ## Ninja Suit & Boots + ## Your Suit @@ -27,12 +27,12 @@ - Your single most important item is [color=#66FF00]your suit[/color], without it none of your abilities would work. + Your single most important item is [color=cyan]your suit[/color], without it none of your abilities would work. Your suit requires power to function, which is supplied by its [bold]internal battery[/bold]. It can be replaced, and [italic]high capacity batteries[/italic] mean a [italic]highly effective ninja[/italic]. - [bold]You can recharge your internal battery directly[/bold] by using [color=#66FF00]your gloves[/color]. You can see the current charge by examining the suit or checking the nifty battery alert on your screen. + [bold]You can recharge your internal battery directly[/bold] by using [color=cyan]your gloves[/color]. You can see the current charge by examining the suit or checking the nifty battery alert on your screen. - Your outfit also includes [color=#66FF00]special boots[/color] that keep you agile, upright and grounded without using energy. You've also got flash protection thanks to your [color=#66FF00]visor[/color]. + Your outfit also includes [color=cyan]special boots[/color] that keep you agile, upright and grounded without using energy. You've also got flash protection thanks to your [color=cyan]visor[/color]. ## Ninja Gloves @@ -58,9 +58,9 @@ [bold]You have sworn yourself to the sword and refuse to use firearms.[/bold] Luckily, you've got a pretty cool sword. - Your [color=#66FF00]energy katana[/color] hurts plenty and can be [bold]recalled at will[/bold] at the cost of suit power. The farther away it is from you, the more energy required to recall it. + Your [color=cyan]energy katana[/color] hurts plenty and can be [bold]recalled at will[/bold] at the cost of suit power. The farther away it is from you, the more energy required to recall it. - While in hand you may also [color=#66FF00]teleport[/color] to anywhere that you can see, [bold]including through windows[/bold]. The charges required to do this regenerate slowly, so keep a charge or two spare in case you need a quick getaway. + While in hand you may also [color=cyan]teleport[/color] to anywhere that you can see, [bold]including through windows[/bold]. The charges required to do this regenerate slowly, so keep a charge or two spare in case you need a quick getaway. ## Spider Clan Charge @@ -68,9 +68,9 @@ - [color=#66FF00]A modified C-4 explosive[/color], which can be found in your pocket. Creates a large explosion but [bold]must be armed in your target area[/bold] as it is one of your [color=#66FF00]objectives[/color]. + This is a [color=cyan]modified C-4 explosive[/color] which can be found in your pocket. Creates a large explosion but [bold]must be armed in your target area[/bold] as it is one of your objectives. - It can't be activated manually, so simply plant it on a wall or a particularly ugly piece of furniture. Can't be unstuck once planted. + It can't be activated manually, so simply plant it on a wall or some furniture that does not spark joy. Choose wisely, it can't be unstuck once planted. ## Objectives diff --git a/Resources/ServerInfo/Guidebook/Antagonist/Thieves.xml b/Resources/ServerInfo/Guidebook/Antagonist/Thieves.xml index 7ed5aa9839..4c11fc0d99 100644 --- a/Resources/ServerInfo/Guidebook/Antagonist/Thieves.xml +++ b/Resources/ServerInfo/Guidebook/Antagonist/Thieves.xml @@ -11,7 +11,7 @@ Thieves are petty yet crafty [color=green]criminals[/color] who can't keep their hands to themselves. You were forcefully given a [bold]pacifism implant[/bold] after your last arrest, but you won't let that stop you from trying to add to your collection. ## Art of the Steal - Unlike other antagonists, [italic]staying out of trouble is almost a requirement for you[/italic] because of your implant. + Unlike other antagonists, [bold]staying out of trouble is almost a requirement for you[/bold] because of your implant. You can only run if [color=#cb0000]Security[/color] picks a fight with you, and because you work alone you don't have any friends to pull you out of danger. But against all odds, you'll sucessfully swipe what you want using determination, sleight of hand, a few tools and your [color=cyan]thieving gloves.[/color] @@ -39,6 +39,9 @@ Your [color=cyan]toolbox[/color] contains... well, whatever you remembered to pack. [bold]You can select two pre-made kits[/bold] to help you complete grander heists. Approve your choices in a safe place, as the toolbox will dissolve and the gear will drop at your feet. + + + From 146ae8a6a6f5d80cedbf76373bb1887e6f5d9218 Mon Sep 17 00:00:00 2001 From: Preston Smith <92108534+thetolbean@users.noreply.github.com> Date: Fri, 1 Nov 2024 19:44:15 -0500 Subject: [PATCH 110/588] Give Nukies a Hand Labeler (#33053) * Add hand-labeler to nukie planet * Rearrange nukie chem table --- Resources/Maps/Nonstations/nukieplanet.yml | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Resources/Maps/Nonstations/nukieplanet.yml b/Resources/Maps/Nonstations/nukieplanet.yml index 665657f7dd..6c0a209dec 100644 --- a/Resources/Maps/Nonstations/nukieplanet.yml +++ b/Resources/Maps/Nonstations/nukieplanet.yml @@ -6576,7 +6576,7 @@ entities: - uid: 2031 components: - type: Transform - pos: 3.6114278,-10.732791 + pos: 4.0109396,-12.223828 parent: 104 - uid: 2095 components: @@ -10993,6 +10993,13 @@ entities: - type: Transform pos: 11.5,-6.5 parent: 104 +- proto: HandLabeler + entities: + - uid: 1826 + components: + - type: Transform + pos: 3.4542694,-10.616036 + parent: 104 - proto: KitchenKnife entities: - uid: 1061 From 26194e2f416b9496d7ae25a4302bedfab22e9574 Mon Sep 17 00:00:00 2001 From: Brandon Li <48413902+aspiringLich@users.noreply.github.com> Date: Fri, 1 Nov 2024 21:33:26 -0400 Subject: [PATCH 111/588] Fix `ItemSlotSystem` popup Logic (#28856) * move popup call out of `CanInsert` into `OnInteractUsing` * im stupid and `reason` is completely unnecessary Signed-off-by: Brandon Li * return early when `itemSlots.Slots.Count == 0` * tweak logic for triggering popups * change popup logic again * Consolidate whitelist check * Get any popup message not just last failed slot * Apply suggestions from code review Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com> * yoink Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com> --------- Signed-off-by: Brandon Li Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com> Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com> --- .../Containers/ItemSlot/ItemSlotsSystem.cs | 153 +++++++++++++----- 1 file changed, 117 insertions(+), 36 deletions(-) diff --git a/Content.Shared/Containers/ItemSlot/ItemSlotsSystem.cs b/Content.Shared/Containers/ItemSlot/ItemSlotsSystem.cs index f25273f403..479690847c 100644 --- a/Content.Shared/Containers/ItemSlot/ItemSlotsSystem.cs +++ b/Content.Shared/Containers/ItemSlot/ItemSlotsSystem.cs @@ -60,6 +60,7 @@ public override void Initialize() } #region ComponentManagement + /// /// Spawn in starting items for any item slots that should have one. /// @@ -70,7 +71,8 @@ private void OnMapInit(EntityUid uid, ItemSlotsComponent itemSlots, MapInitEvent if (slot.HasItem || string.IsNullOrEmpty(slot.StartingItem)) continue; - var item = EntityManager.SpawnEntity(slot.StartingItem, EntityManager.GetComponent(uid).Coordinates); + var item = Spawn(slot.StartingItem, Transform(uid).Coordinates); + if (slot.ContainerSlot != null) _containers.Insert(item, slot.ContainerSlot); } @@ -99,7 +101,8 @@ public void AddItemSlot(EntityUid uid, string id, ItemSlot slot, ItemSlotsCompon if (itemSlots.Slots.TryGetValue(id, out var existing)) { if (existing.Local) - Log.Error($"Duplicate item slot key. Entity: {EntityManager.GetComponent(uid).EntityName} ({uid}), key: {id}"); + Log.Error( + $"Duplicate item slot key. Entity: {EntityManager.GetComponent(uid).EntityName} ({uid}), key: {id}"); else // server state takes priority slot.CopyFrom(existing); @@ -134,7 +137,10 @@ public void RemoveItemSlot(EntityUid uid, ItemSlot slot, ItemSlotsComponent? ite Dirty(uid, itemSlots); } - public bool TryGetSlot(EntityUid uid, string slotId, [NotNullWhen(true)] out ItemSlot? itemSlot, ItemSlotsComponent? component = null) + public bool TryGetSlot(EntityUid uid, + string slotId, + [NotNullWhen(true)] out ItemSlot? itemSlot, + ItemSlotsComponent? component = null) { itemSlot = null; @@ -143,9 +149,11 @@ public bool TryGetSlot(EntityUid uid, string slotId, [NotNullWhen(true)] out Ite return component.Slots.TryGetValue(slotId, out itemSlot); } + #endregion #region Interactions + /// /// Attempt to take an item from a slot, if any are set to EjectOnInteract. /// @@ -201,20 +209,50 @@ private void OnInteractUsing(EntityUid uid, ItemSlotsComponent itemSlots, Intera if (!EntityManager.TryGetComponent(args.User, out HandsComponent? hands)) return; + if (itemSlots.Slots.Count == 0) + return; + + // If any slot can be inserted into don't show popup. + // If any whitelist passes, but slot is locked, then show locked. + // If whitelist fails all, show whitelist fail. + + // valid, insertable slots (if any) var slots = new List(); + + string? whitelistFailPopup = null; + string? lockedFailPopup = null; foreach (var slot in itemSlots.Slots.Values) { if (!slot.InsertOnInteract) continue; - if (!CanInsert(uid, args.Used, args.User, slot, swap: slot.Swap, popup: args.User)) - continue; + if (CanInsert(uid, args.Used, args.User, slot, slot.Swap)) + { + slots.Add(slot); + } + else + { + var allowed = CanInsertWhitelist(args.Used, slot); + if (lockedFailPopup == null && slot.LockedFailPopup != null && allowed && slot.Locked) + lockedFailPopup = slot.LockedFailPopup; - slots.Add(slot); + if (whitelistFailPopup == null && slot.WhitelistFailPopup != null) + whitelistFailPopup = slot.WhitelistFailPopup; + } } if (slots.Count == 0) + { + // it's a bit weird that the popupMessage is stored with the item slots themselves, but in practice + // the popup messages will just all be the same, so it's probably fine. + // + // doing a check to make sure that they're all the same or something is probably frivolous + if (lockedFailPopup != null) + _popupSystem.PopupClient(Loc.GetString(lockedFailPopup), uid, args.User); + else if (whitelistFailPopup != null) + _popupSystem.PopupClient(Loc.GetString(whitelistFailPopup), uid, args.User); return; + } // Drop the held item onto the floor. Return if the user cannot drop. if (!_handsSystem.TryDrop(args.User, args.Used, handsComp: hands)) @@ -236,23 +274,31 @@ private void OnInteractUsing(EntityUid uid, ItemSlotsComponent itemSlots, Intera return; } } + #endregion #region Insert + /// /// Insert an item into a slot. This does not perform checks, so make sure to also use or just use instead. /// /// If true, will exclude the user when playing sound. Does nothing client-side. /// Useful for predicted interactions - private void Insert(EntityUid uid, ItemSlot slot, EntityUid item, EntityUid? user, bool excludeUserAudio = false) + private void Insert(EntityUid uid, + ItemSlot slot, + EntityUid item, + EntityUid? user, + bool excludeUserAudio = false) { bool? inserted = slot.ContainerSlot != null ? _containers.Insert(item, slot.ContainerSlot) : null; // ContainerSlot automatically raises a directed EntInsertedIntoContainerMessage // Logging if (inserted != null && inserted.Value && user != null) - _adminLogger.Add(LogType.Action, LogImpact.Low, $"{ToPrettyString(user.Value)} inserted {ToPrettyString(item)} into {slot.ContainerSlot?.ID + " slot of "}{ToPrettyString(uid)}"); + _adminLogger.Add(LogType.Action, + LogImpact.Low, + $"{ToPrettyString(user.Value)} inserted {ToPrettyString(item)} into {slot.ContainerSlot?.ID + " slot of "}{ToPrettyString(uid)}"); _audioSystem.PlayPredicted(slot.InsertSound, uid, excludeUserAudio ? user : null); } @@ -261,46 +307,53 @@ private void Insert(EntityUid uid, ItemSlot slot, EntityUid item, EntityUid? use /// Check whether a given item can be inserted into a slot. Unless otherwise specified, this will return /// false if the slot is already filled. /// - /// - /// If a popup entity is given, and if the item slot is set to generate a popup message when it fails to - /// pass the whitelist or due to slot being locked, then this will generate an appropriate popup. - /// - public bool CanInsert(EntityUid uid, EntityUid usedUid, EntityUid? user, ItemSlot slot, bool swap = false, EntityUid? popup = null) + public bool CanInsert(EntityUid uid, + EntityUid usedUid, + EntityUid? user, + ItemSlot slot, + bool swap = false) { if (slot.ContainerSlot == null) return false; - if (_whitelistSystem.IsWhitelistFail(slot.Whitelist, usedUid) || _whitelistSystem.IsBlacklistPass(slot.Blacklist, usedUid)) - { - if (popup.HasValue && slot.WhitelistFailPopup.HasValue) - _popupSystem.PopupClient(Loc.GetString(slot.WhitelistFailPopup), uid, popup.Value); + if (slot.HasItem && (!swap || swap && !CanEject(uid, user, slot))) return false; - } - if (slot.Locked) - { - if (popup.HasValue && slot.LockedFailPopup.HasValue) - _popupSystem.PopupClient(Loc.GetString(slot.LockedFailPopup), uid, popup.Value); + if (!CanInsertWhitelist(usedUid, slot)) return false; - } - if (slot.HasItem && (!swap || (swap && !CanEject(uid, user, slot)))) + if (slot.Locked) return false; var ev = new ItemSlotInsertAttemptEvent(uid, usedUid, user, slot); RaiseLocalEvent(uid, ref ev); RaiseLocalEvent(usedUid, ref ev); if (ev.Cancelled) + { return false; + } return _containers.CanInsert(usedUid, slot.ContainerSlot, assumeEmpty: swap); } + private bool CanInsertWhitelist(EntityUid usedUid, ItemSlot slot) + { + if (_whitelistSystem.IsWhitelistFail(slot.Whitelist, usedUid) + || _whitelistSystem.IsBlacklistPass(slot.Blacklist, usedUid)) + return false; + return true; + } + /// /// Tries to insert item into a specific slot. /// /// False if failed to insert item - public bool TryInsert(EntityUid uid, string id, EntityUid item, EntityUid? user, ItemSlotsComponent? itemSlots = null, bool excludeUserAudio = false) + public bool TryInsert(EntityUid uid, + string id, + EntityUid item, + EntityUid? user, + ItemSlotsComponent? itemSlots = null, + bool excludeUserAudio = false) { if (!Resolve(uid, ref itemSlots)) return false; @@ -315,7 +368,11 @@ public bool TryInsert(EntityUid uid, string id, EntityUid item, EntityUid? user, /// Tries to insert item into a specific slot. /// /// False if failed to insert item - public bool TryInsert(EntityUid uid, ItemSlot slot, EntityUid item, EntityUid? user, bool excludeUserAudio = false) + public bool TryInsert(EntityUid uid, + ItemSlot slot, + EntityUid item, + EntityUid? user, + bool excludeUserAudio = false) { if (!CanInsert(uid, item, user, slot)) return false; @@ -329,7 +386,11 @@ public bool TryInsert(EntityUid uid, ItemSlot slot, EntityUid item, EntityUid? u /// Does not check action blockers. /// /// False if failed to insert item - public bool TryInsertFromHand(EntityUid uid, ItemSlot slot, EntityUid user, HandsComponent? hands = null, bool excludeUserAudio = false) + public bool TryInsertFromHand(EntityUid uid, + ItemSlot slot, + EntityUid user, + HandsComponent? hands = null, + bool excludeUserAudio = false) { if (!Resolve(user, ref hands, false)) return false; @@ -443,6 +504,7 @@ private static int SortEmpty(ItemSlot a, ItemSlot b) return 1; } + #endregion #region Eject @@ -462,7 +524,7 @@ public bool CanEject(EntityUid uid, EntityUid? user, ItemSlot slot, EntityUid? p return false; } - if (slot.ContainerSlot?.ContainedEntity is not {} item) + if (slot.ContainerSlot?.ContainedEntity is not { } item) return false; var ev = new ItemSlotEjectAttemptEvent(uid, item, user, slot); @@ -487,7 +549,9 @@ private void Eject(EntityUid uid, ItemSlot slot, EntityUid item, EntityUid? user // Logging if (ejected != null && ejected.Value && user != null) - _adminLogger.Add(LogType.Action, LogImpact.Low, $"{ToPrettyString(user.Value)} ejected {ToPrettyString(item)} from {slot.ContainerSlot?.ID + " slot of "}{ToPrettyString(uid)}"); + _adminLogger.Add(LogType.Action, + LogImpact.Low, + $"{ToPrettyString(user.Value)} ejected {ToPrettyString(item)} from {slot.ContainerSlot?.ID + " slot of "}{ToPrettyString(uid)}"); _audioSystem.PlayPredicted(slot.EjectSound, uid, excludeUserAudio ? user : null); } @@ -496,7 +560,11 @@ private void Eject(EntityUid uid, ItemSlot slot, EntityUid item, EntityUid? user /// Try to eject an item from a slot. /// /// False if item slot is locked or has no item inserted - public bool TryEject(EntityUid uid, ItemSlot slot, EntityUid? user, [NotNullWhen(true)] out EntityUid? item, bool excludeUserAudio = false) + public bool TryEject(EntityUid uid, + ItemSlot slot, + EntityUid? user, + [NotNullWhen(true)] out EntityUid? item, + bool excludeUserAudio = false) { item = null; @@ -518,8 +586,12 @@ public bool TryEject(EntityUid uid, ItemSlot slot, EntityUid? user, [NotNullWhen /// Try to eject item from a slot. /// /// False if the id is not valid, the item slot is locked, or it has no item inserted - public bool TryEject(EntityUid uid, string id, EntityUid? user, - [NotNullWhen(true)] out EntityUid? item, ItemSlotsComponent? itemSlots = null, bool excludeUserAudio = false) + public bool TryEject(EntityUid uid, + string id, + EntityUid? user, + [NotNullWhen(true)] out EntityUid? item, + ItemSlotsComponent? itemSlots = null, + bool excludeUserAudio = false) { item = null; @@ -550,12 +622,16 @@ public bool TryEjectToHands(EntityUid uid, ItemSlot slot, EntityUid? user, bool return true; } + #endregion #region Verbs - private void AddAlternativeVerbs(EntityUid uid, ItemSlotsComponent itemSlots, GetVerbsEvent args) + + private void AddAlternativeVerbs(EntityUid uid, + ItemSlotsComponent itemSlots, + GetVerbsEvent args) { - if (args.Hands == null || !args.CanAccess ||!args.CanInteract) + if (args.Hands == null || !args.CanAccess || !args.CanInteract) { return; } @@ -649,7 +725,9 @@ private void AddAlternativeVerbs(EntityUid uid, ItemSlotsComponent itemSlots, Ge } } - private void AddInteractionVerbsVerbs(EntityUid uid, ItemSlotsComponent itemSlots, GetVerbsEvent args) + private void AddInteractionVerbsVerbs(EntityUid uid, + ItemSlotsComponent itemSlots, + GetVerbsEvent args) { if (args.Hands == null || !args.CanAccess || !args.CanInteract) return; @@ -708,7 +786,7 @@ private void AddInteractionVerbsVerbs(EntityUid uid, ItemSlotsComponent itemSlot new SpriteSpecifier.Texture( new ResPath("/Textures/Interface/VerbIcons/insert.svg.192dpi.png")); } - else if(slot.EjectOnInteract) + else if (slot.EjectOnInteract) { // Inserting/ejecting is a primary interaction for this entity. Instead of using the insert // category, we will use a single "Place " verb. @@ -727,9 +805,11 @@ private void AddInteractionVerbsVerbs(EntityUid uid, ItemSlotsComponent itemSlot args.Verbs.Add(insertVerb); } } + #endregion #region BUIs + private void HandleButtonPressed(EntityUid uid, ItemSlotsComponent component, ItemSlotButtonPressedEvent args) { if (!component.Slots.TryGetValue(args.SlotId, out var slot)) @@ -740,6 +820,7 @@ private void HandleButtonPressed(EntityUid uid, ItemSlotsComponent component, It else if (args.TryInsert && !slot.HasItem) TryInsertFromHand(uid, slot, args.Actor); } + #endregion /// From 957b8de89b0026d67efadac475763ea910339e2f Mon Sep 17 00:00:00 2001 From: Vasilis Date: Sat, 2 Nov 2024 02:34:23 +0100 Subject: [PATCH 112/588] Add cvars to votekick to customize requirements for the initiator. (#32490) --- Content.Server/Voting/VotingSystem.cs | 9 +++++++-- Content.Shared/CCVar/CCVars.cs | 12 ++++++++++++ Resources/Locale/en-US/voting/ui/vote-call-menu.ftl | 2 +- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/Content.Server/Voting/VotingSystem.cs b/Content.Server/Voting/VotingSystem.cs index 3d3aeb4859..5df1ce7c1f 100644 --- a/Content.Server/Voting/VotingSystem.cs +++ b/Content.Server/Voting/VotingSystem.cs @@ -13,6 +13,7 @@ using Robust.Shared.Player; using Robust.Shared.Timing; using System.Threading.Tasks; +using Content.Shared.Players.PlayTimeTracking; namespace Content.Server.Voting; @@ -26,6 +27,7 @@ public sealed class VotingSystem : EntitySystem [Dependency] private readonly IConfigurationManager _cfg = default!; [Dependency] private readonly JobSystem _jobs = default!; [Dependency] private readonly GameTicker _gameTicker = default!; + [Dependency] private readonly ISharedPlaytimeManager _playtimeManager = default!; public override void Initialize() { @@ -109,10 +111,13 @@ public async Task CheckVotekickInitEligibility(ICommonSession? initiator) } // Must be whitelisted - if (!await _dbManager.GetWhitelistStatusAsync(initiator.UserId)) + if (!await _dbManager.GetWhitelistStatusAsync(initiator.UserId) && _cfg.GetCVar(CCVars.VotekickInitiatorWhitelistedRequirement)) return false; - return true; + // Must be eligible to vote + var playtime = _playtimeManager.GetPlayTimes(initiator); + return playtime.TryGetValue(PlayTimeTrackingShared.TrackerOverall, out TimeSpan overallTime) && (overallTime >= TimeSpan.FromHours(_cfg.GetCVar(CCVars.VotekickEligibleVoterPlaytime)) + || !_cfg.GetCVar(CCVars.VotekickInitiatorTimeRequirement)); } /// diff --git a/Content.Shared/CCVar/CCVars.cs b/Content.Shared/CCVar/CCVars.cs index d1dc9d9ade..81a0668bdb 100644 --- a/Content.Shared/CCVar/CCVars.cs +++ b/Content.Shared/CCVar/CCVars.cs @@ -1477,6 +1477,18 @@ public static readonly CVarDef public static readonly CVarDef VotekickInitiatorGhostRequirement = CVarDef.Create("votekick.initiator_ghost_requirement", true, CVar.SERVERONLY); + /// + /// Should the initiator be whitelisted to initiate a votekick? + /// + public static readonly CVarDef VotekickInitiatorWhitelistedRequirement = + CVarDef.Create("votekick.initiator_whitelist_requirement", true, CVar.SERVERONLY); + + /// + /// Should the initiator be able to start a votekick if they are bellow the votekick.voter_playtime requirement? + /// + public static readonly CVarDef VotekickInitiatorTimeRequirement = + CVarDef.Create("votekick.initiator_time_requirement", false, CVar.SERVERONLY); + /// /// Whether a votekick voter must be a ghost or not. /// diff --git a/Resources/Locale/en-US/voting/ui/vote-call-menu.ftl b/Resources/Locale/en-US/voting/ui/vote-call-menu.ftl index fbae3598ed..82e3a5d1f8 100644 --- a/Resources/Locale/en-US/voting/ui/vote-call-menu.ftl +++ b/Resources/Locale/en-US/voting/ui/vote-call-menu.ftl @@ -25,7 +25,7 @@ ui-vote-type-not-available = This vote type has been disabled # Vote option only available for specific users. ui-vote-trusted-users-notice = - This vote option is only available to whitelisted players. + This vote option is only available to players who have enough playtime or are whitelisted. In addition, you must have been a ghost for { $timeReq } seconds. # Warning to not abuse a specific vote option. From 2537bff7ba1134e903a90fa7972286bfd8abb9b9 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sat, 2 Nov 2024 01:34:34 +0000 Subject: [PATCH 113/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 7bcfcc7e0a..f4a320dcb5 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Blackern5000 - changes: - - message: Bent pipes now deal 8 thrown damage instead of 3. - type: Tweak - id: 7077 - time: '2024-08-10T03:30:43.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30634 - author: shampunj changes: - message: Rat king can now wideswing @@ -3951,3 +3944,10 @@ id: 7576 time: '2024-11-01T06:22:39.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33022 +- author: aspiringLich + changes: + - message: Fixed the logic triggering popups when inserting items into machines. + type: Fix + id: 7577 + time: '2024-11-02T01:33:26.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/28856 From 1c8eed8b4531f081d8a0178f9ea60b108d439bf6 Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Sat, 2 Nov 2024 20:29:16 +1100 Subject: [PATCH 114/588] Add on-call functionality for adminning (#30443) * Add on-call functionality for adminning The first time an ahelp gets SOS it gets relayed to the specified channel with the specified ping. Every time after that it doesn't until it gets a non-SOS response received. * Remove redundant name Pretty sure this already gets chucked on the name of the msg itself I think it just didn't show in screenshot because they were subsequent. * Update Content.Server/Administration/Systems/BwoinkSystem.cs Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com> --------- Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com> Co-authored-by: deathride58 --- .../Administration/Systems/BwoinkSystem.cs | 205 +++++++++++++++--- Content.Shared/CCVar/CCVars.cs | 12 + 2 files changed, 181 insertions(+), 36 deletions(-) diff --git a/Content.Server/Administration/Systems/BwoinkSystem.cs b/Content.Server/Administration/Systems/BwoinkSystem.cs index 1efc0a9d56..7a47755db9 100644 --- a/Content.Server/Administration/Systems/BwoinkSystem.cs +++ b/Content.Server/Administration/Systems/BwoinkSystem.cs @@ -47,20 +47,23 @@ public sealed partial class BwoinkSystem : SharedBwoinkSystem [GeneratedRegex(@"^https://discord\.com/api/webhooks/(\d+)/((?!.*/).*)$")] private static partial Regex DiscordRegex(); - private ISawmill _sawmill = default!; - private readonly HttpClient _httpClient = new(); private string _webhookUrl = string.Empty; private WebhookData? _webhookData; + + private string _onCallUrl = string.Empty; + private WebhookData? _onCallData; + + private ISawmill _sawmill = default!; + private readonly HttpClient _httpClient = new(); + private string _footerIconUrl = string.Empty; private string _avatarUrl = string.Empty; private string _serverName = string.Empty; - private readonly - Dictionary _relayMessages = new(); + private readonly Dictionary _relayMessages = new(); private Dictionary _oldMessageIds = new(); - private readonly Dictionary> _messageQueues = new(); + private readonly Dictionary> _messageQueues = new(); private readonly HashSet _processingChannels = new(); private readonly Dictionary _typingUpdateTimestamps = new(); private string _overrideClientName = string.Empty; @@ -82,12 +85,16 @@ private readonly public override void Initialize() { base.Initialize(); + + Subs.CVar(_config, CCVars.DiscordOnCallWebhook, OnCallChanged, true); + Subs.CVar(_config, CCVars.DiscordAHelpWebhook, OnWebhookChanged, true); Subs.CVar(_config, CCVars.DiscordAHelpFooterIcon, OnFooterIconChanged, true); Subs.CVar(_config, CCVars.DiscordAHelpAvatar, OnAvatarChanged, true); Subs.CVar(_config, CVars.GameHostName, OnServerNameChanged, true); Subs.CVar(_config, CCVars.AdminAhelpOverrideClientName, OnOverrideChanged, true); _sawmill = IoCManager.Resolve().GetSawmill("AHELP"); + var defaultParams = new AHelpMessageParams( string.Empty, string.Empty, @@ -96,7 +103,7 @@ public override void Initialize() _gameTicker.RunLevel, playedSound: false ); - _maxAdditionalChars = GenerateAHelpMessage(defaultParams).Length; + _maxAdditionalChars = GenerateAHelpMessage(defaultParams).Message.Length; _playerManager.PlayerStatusChanged += OnPlayerStatusChanged; SubscribeLocalEvent(OnGameRunLevelChanged); @@ -111,6 +118,33 @@ public override void Initialize() ); } + private async void OnCallChanged(string url) + { + _onCallUrl = url; + + if (url == string.Empty) + return; + + var match = DiscordRegex().Match(url); + + if (!match.Success) + { + Log.Error("On call URL does not appear to be valid."); + return; + } + + if (match.Groups.Count <= 2) + { + Log.Error("Could not get webhook ID or token for on call URL."); + return; + } + + var webhookId = match.Groups[1].Value; + var webhookToken = match.Groups[2].Value; + + _onCallData = await GetWebhookData(webhookId, webhookToken); + } + private void PlayerRateLimitedAction(ICommonSession obj) { RaiseNetworkEvent( @@ -259,13 +293,13 @@ args.New is not (GameRunLevel.PreRoundLobby or GameRunLevel.InRound)) // Store the Discord message IDs of the previous round _oldMessageIds = new Dictionary(); - foreach (var message in _relayMessages) + foreach (var (user, interaction) in _relayMessages) { - var id = message.Value.id; + var id = interaction.Id; if (id == null) return; - _oldMessageIds[message.Key] = id; + _oldMessageIds[user] = id; } _relayMessages.Clear(); @@ -330,10 +364,10 @@ private async void OnWebhookChanged(string url) var webhookToken = match.Groups[2].Value; // Fire and forget - await SetWebhookData(webhookId, webhookToken); + _webhookData = await GetWebhookData(webhookId, webhookToken); } - private async Task SetWebhookData(string id, string token) + private async Task GetWebhookData(string id, string token) { var response = await _httpClient.GetAsync($"https://discord.com/api/v10/webhooks/{id}/{token}"); @@ -342,10 +376,10 @@ private async Task SetWebhookData(string id, string token) { _sawmill.Log(LogLevel.Error, $"Discord returned bad status code when trying to get webhook data (perhaps the webhook URL is invalid?): {response.StatusCode}\nResponse: {content}"); - return; + return null; } - _webhookData = JsonSerializer.Deserialize(content); + return JsonSerializer.Deserialize(content); } private void OnFooterIconChanged(string url) @@ -358,14 +392,14 @@ private void OnAvatarChanged(string url) _avatarUrl = url; } - private async void ProcessQueue(NetUserId userId, Queue messages) + private async void ProcessQueue(NetUserId userId, Queue messages) { // Whether an embed already exists for this player var exists = _relayMessages.TryGetValue(userId, out var existingEmbed); // Whether the message will become too long after adding these new messages - var tooLong = exists && messages.Sum(msg => Math.Min(msg.Length, MessageLengthCap) + "\n".Length) - + existingEmbed.description.Length > DescriptionMax; + var tooLong = exists && messages.Sum(msg => Math.Min(msg.Message.Length, MessageLengthCap) + "\n".Length) + + existingEmbed?.Description.Length > DescriptionMax; // If there is no existing embed, or it is getting too long, we create a new embed if (!exists || tooLong) @@ -385,10 +419,10 @@ private async void ProcessQueue(NetUserId userId, Queue messages) // If we have all the data required, we can link to the embed of the previous round or embed that was too long if (_webhookData is { GuildId: { } guildId, ChannelId: { } channelId }) { - if (tooLong && existingEmbed.id != null) + if (tooLong && existingEmbed?.Id != null) { linkToPrevious = - $"**[Go to previous embed of this round](https://discord.com/channels/{guildId}/{channelId}/{existingEmbed.id})**\n"; + $"**[Go to previous embed of this round](https://discord.com/channels/{guildId}/{channelId}/{existingEmbed.Id})**\n"; } else if (_oldMessageIds.TryGetValue(userId, out var id) && !string.IsNullOrEmpty(id)) { @@ -398,13 +432,22 @@ private async void ProcessQueue(NetUserId userId, Queue messages) } var characterName = _minds.GetCharacterName(userId); - existingEmbed = (null, lookup.Username, linkToPrevious, characterName, _gameTicker.RunLevel); + existingEmbed = new DiscordRelayInteraction() + { + Id = null, + CharacterName = characterName, + Description = linkToPrevious, + Username = lookup.Username, + LastRunLevel = _gameTicker.RunLevel, + }; + + _relayMessages[userId] = existingEmbed; } // Previous message was in another RunLevel, so show that in the embed - if (existingEmbed.lastRunLevel != _gameTicker.RunLevel) + if (existingEmbed!.LastRunLevel != _gameTicker.RunLevel) { - existingEmbed.description += _gameTicker.RunLevel switch + existingEmbed.Description += _gameTicker.RunLevel switch { GameRunLevel.PreRoundLobby => "\n\n:arrow_forward: _**Pre-round lobby started**_\n", GameRunLevel.InRound => "\n\n:arrow_forward: _**Round started**_\n", @@ -413,26 +456,35 @@ private async void ProcessQueue(NetUserId userId, Queue messages) $"{_gameTicker.RunLevel} was not matched."), }; - existingEmbed.lastRunLevel = _gameTicker.RunLevel; + existingEmbed.LastRunLevel = _gameTicker.RunLevel; } + // If last message of the new batch is SOS then relay it to on-call. + // ... as long as it hasn't been relayed already. + var discordMention = messages.Last(); + var onCallRelay = !discordMention.Receivers && !existingEmbed.OnCall; + // Add available messages to the embed description while (messages.TryDequeue(out var message)) { + string text; + // In case someone thinks they're funny - if (message.Length > MessageLengthCap) - message = message[..(MessageLengthCap - TooLongText.Length)] + TooLongText; + if (message.Message.Length > MessageLengthCap) + text = message.Message[..(MessageLengthCap - TooLongText.Length)] + TooLongText; + else + text = message.Message; - existingEmbed.description += $"\n{message}"; + existingEmbed.Description += $"\n{text}"; } - var payload = GeneratePayload(existingEmbed.description, - existingEmbed.username, - existingEmbed.characterName); + var payload = GeneratePayload(existingEmbed.Description, + existingEmbed.Username, + existingEmbed.CharacterName); // If there is no existing embed, create a new one // Otherwise patch (edit) it - if (existingEmbed.id == null) + if (existingEmbed.Id == null) { var request = await _httpClient.PostAsync($"{_webhookUrl}?wait=true", new StringContent(JsonSerializer.Serialize(payload), Encoding.UTF8, "application/json")); @@ -455,11 +507,11 @@ private async void ProcessQueue(NetUserId userId, Queue messages) return; } - existingEmbed.id = id.ToString(); + existingEmbed.Id = id.ToString(); } else { - var request = await _httpClient.PatchAsync($"{_webhookUrl}/messages/{existingEmbed.id}", + var request = await _httpClient.PatchAsync($"{_webhookUrl}/messages/{existingEmbed.Id}", new StringContent(JsonSerializer.Serialize(payload), Encoding.UTF8, "application/json")); if (!request.IsSuccessStatusCode) @@ -474,6 +526,43 @@ private async void ProcessQueue(NetUserId userId, Queue messages) _relayMessages[userId] = existingEmbed; + // Actually do the on call relay last, we just need to grab it before we dequeue every message above. + if (onCallRelay && + _onCallData != null) + { + existingEmbed.OnCall = true; + var roleMention = _config.GetCVar(CCVars.DiscordAhelpMention); + + if (!string.IsNullOrEmpty(roleMention)) + { + var message = new StringBuilder(); + message.AppendLine($"<@&{roleMention}>"); + message.AppendLine("Unanswered SOS"); + + // Need webhook data to get the correct link for that channel rather than on-call data. + if (_webhookData is { GuildId: { } guildId, ChannelId: { } channelId }) + { + message.AppendLine( + $"**[Go to ahelp](https://discord.com/channels/{guildId}/{channelId}/{existingEmbed.Id})**"); + } + + payload = GeneratePayload(message.ToString(), existingEmbed.Username, existingEmbed.CharacterName); + + var request = await _httpClient.PostAsync($"{_onCallUrl}?wait=true", + new StringContent(JsonSerializer.Serialize(payload), Encoding.UTF8, "application/json")); + + var content = await request.Content.ReadAsStringAsync(); + if (!request.IsSuccessStatusCode) + { + _sawmill.Log(LogLevel.Error, $"Discord returned bad status code when posting relay message (perhaps the message is too long?): {request.StatusCode}\nResponse: {content}"); + } + } + } + else + { + existingEmbed.OnCall = false; + } + _processingChannels.Remove(userId); } @@ -652,7 +741,7 @@ protected override void OnBwoinkTextMessage(BwoinkTextMessage message, EntitySes if (sendsWebhook) { if (!_messageQueues.ContainsKey(msg.UserId)) - _messageQueues[msg.UserId] = new Queue(); + _messageQueues[msg.UserId] = new Queue(); var str = message.Text; var unameLength = senderSession.Name.Length; @@ -701,7 +790,7 @@ private IList GetTargetAdmins() .ToList(); } - private static string GenerateAHelpMessage(AHelpMessageParams parameters) + private static DiscordRelayedData GenerateAHelpMessage(AHelpMessageParams parameters) { var stringbuilder = new StringBuilder(); @@ -718,13 +807,57 @@ private static string GenerateAHelpMessage(AHelpMessageParams parameters) stringbuilder.Append($" **{parameters.RoundTime}**"); if (!parameters.PlayedSound) stringbuilder.Append(" **(S)**"); - if (parameters.Icon == null) stringbuilder.Append($" **{parameters.Username}:** "); else stringbuilder.Append($" **{parameters.Username}** "); stringbuilder.Append(parameters.Message); - return stringbuilder.ToString(); + + return new DiscordRelayedData() + { + Receivers = !parameters.NoReceivers, + Message = stringbuilder.ToString(), + }; + } + + private record struct DiscordRelayedData + { + /// + /// Was anyone online to receive it. + /// + public bool Receivers; + + /// + /// What's the payload to send to discord. + /// + public string Message; + } + + /// + /// Class specifically for holding information regarding existing Discord embeds + /// + private sealed class DiscordRelayInteraction + { + public string? Id; + + public string Username = String.Empty; + + public string? CharacterName; + + /// + /// Contents for the discord message. + /// + public string Description = string.Empty; + + /// + /// Run level of the last interaction. If different we'll link to the last Id. + /// + public GameRunLevel LastRunLevel; + + /// + /// Did we relay this interaction to OnCall previously. + /// + public bool OnCall; } } diff --git a/Content.Shared/CCVar/CCVars.cs b/Content.Shared/CCVar/CCVars.cs index 81a0668bdb..83068b5262 100644 --- a/Content.Shared/CCVar/CCVars.cs +++ b/Content.Shared/CCVar/CCVars.cs @@ -461,6 +461,18 @@ public static readonly CVarDef * Discord */ + /// + /// The role that will get mentioned if a new SOS ahelp comes in. + /// + public static readonly CVarDef DiscordAhelpMention = + CVarDef.Create("discord.on_call_ping", string.Empty, CVar.SERVERONLY | CVar.CONFIDENTIAL); + + /// + /// URL of the discord webhook to relay unanswered ahelp messages. + /// + public static readonly CVarDef DiscordOnCallWebhook = + CVarDef.Create("discord.on_call_webhook", string.Empty, CVar.SERVERONLY | CVar.CONFIDENTIAL); + /// /// URL of the Discord webhook which will relay all ahelp messages. /// From 51b8101dc214e042e489a0dae89d39944d73560b Mon Sep 17 00:00:00 2001 From: PJBot Date: Sat, 2 Nov 2024 09:30:23 +0000 Subject: [PATCH 115/588] Automatic changelog update --- Resources/Changelog/Admin.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Resources/Changelog/Admin.yml b/Resources/Changelog/Admin.yml index 4bb373ca1d..fabaee2c2c 100644 --- a/Resources/Changelog/Admin.yml +++ b/Resources/Changelog/Admin.yml @@ -575,5 +575,13 @@ Entries: id: 71 time: '2024-10-31T14:53:38.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/32601 +- author: metalgearsloth + changes: + - message: Added on-call functionality for discord relay to get notified on unanswered + ahelps. + type: Add + id: 72 + time: '2024-11-02T09:29:16.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/30443 Name: Admin Order: 1 From 05ae40400c134f3e871a8af398b9f1be06dbbe31 Mon Sep 17 00:00:00 2001 From: K-Dynamic <20566341+K-Dynamic@users.noreply.github.com> Date: Sat, 2 Nov 2024 21:51:44 +1200 Subject: [PATCH 116/588] Pills are explosion resistant (partially reverts #15851) (#32458) * idk how to revert a pr so I just deleted some lines * pill destructible with explosion resistance * comment for explosion resist * "and" to "but" --------- Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com> --- .../Entities/Objects/Specific/chemistry.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml b/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml index b717255d8f..527b0ba5e6 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml @@ -541,12 +541,8 @@ solutions: food: maxVol: 20 - - type: SolutionSpiker - sourceSolution: food - - type: Extractable - grindableSolutionName: food - - type: StaticPrice - price: 0 + - type: ExplosionResistance + damageCoefficient: 0.025 # survives conventional explosives but not minibombs and nukes - type: Damageable damageContainer: Inorganic - type: Destructible @@ -559,6 +555,12 @@ solution: food - !type:DoActsBehavior acts: [ "Destruction" ] + - type: SolutionSpiker + sourceSolution: food + - type: Extractable + grindableSolutionName: food + - type: StaticPrice + price: 0 - type: Tag tags: - Pill From 7276fff9c10d3a83d8a807aa1f27fe14620e8929 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sat, 2 Nov 2024 09:52:51 +0000 Subject: [PATCH 117/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index f4a320dcb5..b0b452a5ec 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: shampunj - changes: - - message: Rat king can now wideswing - type: Tweak - id: 7078 - time: '2024-08-10T12:47:55.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30808 - author: BackeTako changes: - message: Added a suitskirt for the psychologist @@ -3951,3 +3944,10 @@ id: 7577 time: '2024-11-02T01:33:26.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/28856 +- author: K-Dynamic + changes: + - message: Pills are explosion resistant. + type: Tweak + id: 7578 + time: '2024-11-02T09:51:45.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/32458 From b000a3e3876f27b0e761ef36e06de622d4c790d2 Mon Sep 17 00:00:00 2001 From: K-Dynamic <20566341+K-Dynamic@users.noreply.github.com> Date: Sat, 2 Nov 2024 21:53:18 +1200 Subject: [PATCH 118/588] Hasten handcraft gauze recipe & decrease techfab gauze cost (#32744) * med lathe gauze price reduction * gauze craft doafter time * 3 second doafter craft --- .../Prototypes/Recipes/Crafting/Graphs/improvised/gauze.yml | 2 +- Resources/Prototypes/Recipes/Lathes/medical.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/gauze.yml b/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/gauze.yml index ea21a56448..bb36f36d69 100644 --- a/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/gauze.yml +++ b/Resources/Prototypes/Recipes/Crafting/Graphs/improvised/gauze.yml @@ -8,6 +8,6 @@ steps: - material: Cloth amount: 2 - doAfter: 10 + doAfter: 3 - node: gauze entity: Gauze1 diff --git a/Resources/Prototypes/Recipes/Lathes/medical.yml b/Resources/Prototypes/Recipes/Lathes/medical.yml index c414bfad52..b2c70b41ee 100644 --- a/Resources/Prototypes/Recipes/Lathes/medical.yml +++ b/Resources/Prototypes/Recipes/Lathes/medical.yml @@ -75,7 +75,7 @@ result: Gauze1 completetime: 1 materials: - Cloth: 200 + Cloth: 100 # lathe more efficient than handcrafting - type: latheRecipe id: HandheldHealthAnalyzer From fcbf5152035000e87284be9e1279f8626d0e9c30 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sat, 2 Nov 2024 09:54:25 +0000 Subject: [PATCH 119/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index b0b452a5ec..fb6ea528d5 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: BackeTako - changes: - - message: Added a suitskirt for the psychologist - type: Add - id: 7079 - time: '2024-08-10T12:51:54.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30709 - author: Unkn0wnGh0st333 changes: - message: ERT Chaplain starting gear was fixed and will no longer give the ERT @@ -3951,3 +3944,12 @@ id: 7578 time: '2024-11-02T09:51:45.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/32458 +- author: K-Dynamic + changes: + - message: Handcrafted gauze now takes 3 seconds instead of 10 seconds of crafting + type: Tweak + - message: Medical techfab gauze recipe now takes 1 cloth instead of 2 + type: Tweak + id: 7579 + time: '2024-11-02T09:53:19.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/32744 From 1c2fd6a11b6de65549a2278468e6ab90859b982f Mon Sep 17 00:00:00 2001 From: Ubaser <134914314+UbaserB@users.noreply.github.com> Date: Sat, 2 Nov 2024 21:07:51 +1100 Subject: [PATCH 120/588] Service workers antagonist fix. (#31359) * add * Revert "add" This reverts commit 25da34b0fead5812fe5800c9bf5dd7b10ef48d7d. * antagonism allowed:tm: --- Resources/Prototypes/Roles/Jobs/Civilian/service_worker.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/service_worker.yml b/Resources/Prototypes/Roles/Jobs/Civilian/service_worker.yml index e883f4cc66..427d9b8192 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/service_worker.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/service_worker.yml @@ -1,4 +1,4 @@ -- type: job +- type: job id: ServiceWorker name: job-name-serviceworker description: job-description-serviceworker @@ -6,7 +6,6 @@ startingGear: ServiceWorkerGear icon: "JobIconServiceWorker" supervisors: job-supervisors-service - canBeAntag: false access: - Service - Maintenance From 2a6314bf90ade6c6e9c5323d1696bf6e62ee431a Mon Sep 17 00:00:00 2001 From: PJBot Date: Sat, 2 Nov 2024 10:08:58 +0000 Subject: [PATCH 121/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index fb6ea528d5..351ab9d62e 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: Unkn0wnGh0st333 - changes: - - message: ERT Chaplain starting gear was fixed and will no longer give the ERT - Engineer gear - type: Fix - id: 7080 - time: '2024-08-10T12:55:20.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30855 - author: Ubaser changes: - message: Light tube structures now have new sprites. @@ -3953,3 +3945,10 @@ id: 7579 time: '2024-11-02T09:53:19.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/32744 +- author: Ubaser + changes: + - message: Service workers can now be antagonists. + type: Fix + id: 7580 + time: '2024-11-02T10:07:52.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/31359 From 4f683155843bff54c03d0e5154f38e0744548c59 Mon Sep 17 00:00:00 2001 From: AftrLite <61218133+AftrLite@users.noreply.github.com> Date: Sun, 3 Nov 2024 02:19:33 +1300 Subject: [PATCH 122/588] Adds a new AME sound effect! (#33097) * Changes the AME sound effect to not be the default MetalThud. * Was told on discord to make a minor change to autorerun the tests due to the Build & Test Debug failing! * Attribution and licensing, as requsted by deathride58 * Fixes the high-pitched squeak audible to some people! * Audio file tweaked by SlamBamActionMan to eliminate a weird squeak they were still able to hear. Thanks! --- .../Ame/Components/AmeControllerComponent.cs | 2 +- Resources/Audio/Machines/ame_fuelinjection.ogg | Bin 0 -> 29727 bytes Resources/Audio/Machines/attributions.yml | 5 +++++ 3 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 Resources/Audio/Machines/ame_fuelinjection.ogg diff --git a/Content.Server/Ame/Components/AmeControllerComponent.cs b/Content.Server/Ame/Components/AmeControllerComponent.cs index fae3d86633..2c5464dd8e 100644 --- a/Content.Server/Ame/Components/AmeControllerComponent.cs +++ b/Content.Server/Ame/Components/AmeControllerComponent.cs @@ -55,7 +55,7 @@ public sealed partial class AmeControllerComponent : SharedAmeControllerComponen /// [DataField("injectSound")] [ViewVariables(VVAccess.ReadWrite)] - public SoundSpecifier InjectSound = new SoundCollectionSpecifier("MetalThud"); + public SoundSpecifier InjectSound = new SoundPathSpecifier("/Audio/Machines/ame_fuelinjection.ogg"); /// /// The last time this could have injected fuel into the AME. diff --git a/Resources/Audio/Machines/ame_fuelinjection.ogg b/Resources/Audio/Machines/ame_fuelinjection.ogg new file mode 100644 index 0000000000000000000000000000000000000000..30c9175ee97733b81ce14e9ac55964c67b0dd3c3 GIT binary patch literal 29727 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 Date: Sat, 2 Nov 2024 13:20:40 +0000 Subject: [PATCH 123/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 351ab9d62e..728cdd9c03 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Ubaser - changes: - - message: Light tube structures now have new sprites. - type: Tweak - id: 7081 - time: '2024-08-10T15:00:22.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/29091 - author: lzk228 changes: - message: Standartized some clothing recipes. @@ -3952,3 +3945,10 @@ id: 7580 time: '2024-11-02T10:07:52.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/31359 +- author: AftrLite + changes: + - message: The AME now has a new sound effect for fuel injection! + type: Add + id: 7581 + time: '2024-11-02T13:19:33.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33097 From 9520e829de3511ebd0e3304fb8d03ab0440db7dd Mon Sep 17 00:00:00 2001 From: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com> Date: Sat, 2 Nov 2024 15:21:10 +0200 Subject: [PATCH 124/588] Allow for the ai's laws to be changed from its core and eye (#32461) * Allow for the ai's laws to be changed from its core and eye * Address reviews --- .../Administration/Systems/AdminVerbSystem.cs | 29 +++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/Content.Server/Administration/Systems/AdminVerbSystem.cs b/Content.Server/Administration/Systems/AdminVerbSystem.cs index 2ab27e4388..0640537f57 100644 --- a/Content.Server/Administration/Systems/AdminVerbSystem.cs +++ b/Content.Server/Administration/Systems/AdminVerbSystem.cs @@ -35,8 +35,10 @@ using Robust.Shared.Utility; using System.Linq; using Content.Server.Silicons.Laws; +using Content.Shared.Movement.Components; using Content.Shared.Silicons.Laws.Components; using Robust.Server.Player; +using Content.Shared.Silicons.StationAi; using Robust.Shared.Physics.Components; using static Content.Shared.Configurable.ConfigurationComponent; @@ -345,7 +347,30 @@ private void AddAdminVerbs(GetVerbsEvent args) Impact = LogImpact.Low }); - if (TryComp(args.Target, out var lawBoundComponent)) + // This logic is needed to be able to modify the AI's laws through its core and eye. + EntityUid? target = null; + SiliconLawBoundComponent? lawBoundComponent = null; + + if (TryComp(args.Target, out lawBoundComponent)) + { + target = args.Target; + } + // When inspecting the core we can find the entity with its laws by looking at the AiHolderComponent. + else if (TryComp(args.Target, out var holder) && holder.Slot.Item != null + && TryComp(holder.Slot.Item, out lawBoundComponent)) + { + target = holder.Slot.Item.Value; + // For the eye we can find the entity with its laws as the source of the movement relay since the eye + // is just a proxy for it to move around and look around the station. + } + else if (TryComp(args.Target, out var relay) + && TryComp(relay.Source, out lawBoundComponent)) + { + target = relay.Source; + + } + + if (lawBoundComponent != null && target != null) { args.Verbs.Add(new Verb() { @@ -359,7 +384,7 @@ private void AddAdminVerbs(GetVerbsEvent args) return; } _euiManager.OpenEui(ui, session); - ui.UpdateLaws(lawBoundComponent, args.Target); + ui.UpdateLaws(lawBoundComponent, target.Value); }, Icon = new SpriteSpecifier.Rsi(new ResPath("/Textures/Interface/Actions/actions_borg.rsi"), "state-laws"), }); From 131e492e6f99ab40f7c4b7c0502c039f93084e66 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sat, 2 Nov 2024 13:22:16 +0000 Subject: [PATCH 125/588] Automatic changelog update --- Resources/Changelog/Admin.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Resources/Changelog/Admin.yml b/Resources/Changelog/Admin.yml index fabaee2c2c..56c82c23a4 100644 --- a/Resources/Changelog/Admin.yml +++ b/Resources/Changelog/Admin.yml @@ -583,5 +583,12 @@ Entries: id: 72 time: '2024-11-02T09:29:16.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/30443 +- author: nikthechampiongr + changes: + - message: It is now possible to edit the AI's laws through its core and eye. + type: Fix + id: 73 + time: '2024-11-02T13:21:10.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/32461 Name: Admin Order: 1 From 11f0dc420f0a17e721dc29cd993132f13a24537f Mon Sep 17 00:00:00 2001 From: deltanedas <39013340+deltanedas@users.noreply.github.com> Date: Sat, 2 Nov 2024 13:24:08 +0000 Subject: [PATCH 126/588] clean up tools lathe recipes (#31521) * clean up tools lathe recipes * add medical and cooking tools * add result * add result to others * review * engine --------- Co-authored-by: deltanedas <@deltanedas:kde.org> --- .../Prototypes/Recipes/Lathes/botany.yml | 38 +++--- .../Prototypes/Recipes/Lathes/cooking.yml | 52 ++++---- .../Prototypes/Recipes/Lathes/medical.yml | 80 ++++-------- Resources/Prototypes/Recipes/Lathes/tools.yml | 118 +++++++----------- 4 files changed, 118 insertions(+), 170 deletions(-) diff --git a/Resources/Prototypes/Recipes/Lathes/botany.yml b/Resources/Prototypes/Recipes/Lathes/botany.yml index 010beb491a..ae5a444ed8 100644 --- a/Resources/Prototypes/Recipes/Lathes/botany.yml +++ b/Resources/Prototypes/Recipes/Lathes/botany.yml @@ -1,39 +1,39 @@ +# Base prototypes + - type: latheRecipe - id: MiniHoe - result: HydroponicsToolMiniHoe - completetime: 2 + abstract: true + parent: BaseToolRecipe + id: BaseHydroToolRecipe materials: Steel: 200 Plastic: 100 +# Recipes + +- type: latheRecipe + parent: BaseHydroToolRecipe + id: HydroponicsToolMiniHoe + result: HydroponicsToolMiniHoe + - type: latheRecipe + parent: BaseHydroToolRecipe id: HydroponicsToolScythe result: HydroponicsToolScythe - completetime: 2 materials: Steel: 300 Plastic: 200 - type: latheRecipe + parent: BaseHydroToolRecipe id: HydroponicsToolHatchet result: HydroponicsToolHatchet - completetime: 2 - materials: - Steel: 200 - Plastic: 100 - type: latheRecipe - id: Spade + parent: BaseHydroToolRecipe + id: HydroponicsToolSpade result: HydroponicsToolSpade - completetime: 2 - materials: - Steel: 200 - Plastic: 100 - + - type: latheRecipe - id: Clippers + parent: BaseHydroToolRecipe + id: HydroponicsToolClippers result: HydroponicsToolClippers - completetime: 2 - materials: - Steel: 200 - Plastic: 100 diff --git a/Resources/Prototypes/Recipes/Lathes/cooking.yml b/Resources/Prototypes/Recipes/Lathes/cooking.yml index c28a937015..333279a820 100644 --- a/Resources/Prototypes/Recipes/Lathes/cooking.yml +++ b/Resources/Prototypes/Recipes/Lathes/cooking.yml @@ -1,67 +1,65 @@ - type: latheRecipe + parent: BaseToolRecipe id: ButchCleaver result: ButchCleaver - completetime: 2 materials: Steel: 300 Plastic: 50 - type: latheRecipe + parent: BaseToolRecipe id: KitchenKnife result: KitchenKnife - completetime: 2 materials: Steel: 200 Plastic: 50 - type: latheRecipe - id: DrinkMug - result: DrinkMug + abstract: true + id: BaseGlasswareRecipe completetime: 0.8 materials: Glass: 100 - type: latheRecipe + parent: BaseGlasswareRecipe + id: DrinkMug + result: DrinkMug + +- type: latheRecipe + parent: DrinkMug id: DrinkMugMetal result: DrinkMugMetal - completetime: 0.8 materials: Steel: 100 - type: latheRecipe + parent: DrinkMug id: DrinkGlass result: DrinkGlass - completetime: 0.8 - materials: - Glass: 100 - type: latheRecipe + parent: DrinkMug id: DrinkShotGlass result: DrinkShotGlass completetime: 0.4 - materials: - Glass: 100 - type: latheRecipe + parent: DrinkMug id: DrinkGlassCoupeShaped result: DrinkGlassCoupeShaped - completetime: 0.8 - materials: - Glass: 100 -- type: latheRecipe - id: CustomDrinkJug - result: CustomDrinkJug - completetime: 2 - materials: +- type: latheRecipe + id: CustomDrinkJug + result: CustomDrinkJug + completetime: 2 + materials: Plastic: 200 - + - type: latheRecipe + parent: BaseGlasswareRecipe id: FoodPlate result: FoodPlate - completetime: 0.8 - materials: - Glass: 100 - type: latheRecipe id: FoodPlateSmall @@ -71,25 +69,23 @@ Glass: 50 - type: latheRecipe + parent: FoodPlate id: FoodPlatePlastic result: FoodPlatePlastic - completetime: 0.8 materials: Plastic: 100 - type: latheRecipe + parent: FoodPlateSmall id: FoodPlateSmallPlastic result: FoodPlateSmallPlastic - completetime: 0.4 materials: Plastic: 50 - type: latheRecipe + parent: FoodPlate id: FoodBowlBig result: FoodBowlBig - completetime: 0.8 - materials: - Glass: 100 - type: latheRecipe id: FoodPlateTin @@ -99,9 +95,9 @@ Steel: 100 - type: latheRecipe + parent: FoodPlateTin id: FoodPlateMuffinTin result: FoodPlateMuffinTin - completetime: 0.4 materials: Steel: 50 diff --git a/Resources/Prototypes/Recipes/Lathes/medical.yml b/Resources/Prototypes/Recipes/Lathes/medical.yml index b2c70b41ee..08250290ec 100644 --- a/Resources/Prototypes/Recipes/Lathes/medical.yml +++ b/Resources/Prototypes/Recipes/Lathes/medical.yml @@ -1,51 +1,46 @@ +# Base prototypes + - type: latheRecipe - id: Scalpel - result: Scalpel - category: Tools - completetime: 2 + abstract: true + parent: BaseToolRecipe + id: BaseSurgicalRecipe materials: Steel: 200 +# Recipes + - type: latheRecipe + parent: BaseSurgicalRecipe + id: Scalpel + result: Scalpel + +- type: latheRecipe + parent: BaseSurgicalRecipe id: Retractor result: Retractor - category: Tools - completetime: 2 - materials: - Steel: 200 - type: latheRecipe + parent: BaseSurgicalRecipe id: Cautery result: Cautery - category: Tools - completetime: 2 - materials: - Steel: 200 - type: latheRecipe + parent: BaseToolRecipe id: Drill result: Drill - category: Tools - completetime: 2 materials: Steel: 200 Plastic: 100 - type: latheRecipe + parent: BaseSurgicalRecipe id: Saw result: Saw - category: Tools - completetime: 2 - materials: - Steel: 200 - type: latheRecipe + parent: BaseSurgicalRecipe id: Hemostat result: Hemostat - category: Tools - completetime: 2 - materials: - Steel: 200 - type: latheRecipe id: BodyBag @@ -140,66 +135,51 @@ Plastic: 300 - type: latheRecipe + parent: Medkit id: MedkitBurn result: MedkitBurn name: lathe-recipe-MedkitBurn-name - completetime: 2 - materials: - Plastic: 300 - type: latheRecipe + parent: Medkit id: MedkitToxin result: MedkitToxin name: lathe-recipe-MedkitToxin-name - completetime: 2 - materials: - Plastic: 300 - type: latheRecipe + parent: Medkit id: MedkitO2 result: MedkitO2 name: lathe-recipe-MedkitO2-name - completetime: 2 - materials: - Plastic: 300 - type: latheRecipe + parent: Medkit id: MedkitBrute result: MedkitBrute name: lathe-recipe-MedkitBrute-name - completetime: 2 - materials: - Plastic: 300 - type: latheRecipe + parent: Medkit id: MedkitAdvanced result: MedkitAdvanced name: lathe-recipe-MedkitAdvanced-name - completetime: 2 - materials: - Plastic: 300 - type: latheRecipe + parent: Medkit id: MedkitRadiation result: MedkitRadiation name: lathe-recipe-MedkitRadiation-name - completetime: 2 - materials: - Plastic: 300 - type: latheRecipe + parent: Medkit id: MedkitCombat result: MedkitCombat name: lathe-recipe-MedkitCombat-name - completetime: 2 - materials: - Plastic: 300 - type: latheRecipe + parent: BaseToolRecipe id: HandLabeler result: HandLabeler - category: Tools - completetime: 2 materials: Plastic: 100 @@ -219,20 +199,14 @@ Plastic: 300 - type: latheRecipe + parent: RollerBedSpawnFolded id: CheapRollerBedSpawnFolded result: CheapRollerBedSpawnFolded - completetime: 1 - materials: - Steel: 600 - Plastic: 300 - type: latheRecipe + parent: RollerBedSpawnFolded id: EmergencyRollerBedSpawnFolded result: EmergencyRollerBedSpawnFolded - completetime: 1 - materials: - Steel: 600 - Plastic: 300 - type: latheRecipe id: WhiteCane diff --git a/Resources/Prototypes/Recipes/Lathes/tools.yml b/Resources/Prototypes/Recipes/Lathes/tools.yml index 3f5003d909..fc35153317 100644 --- a/Resources/Prototypes/Recipes/Lathes/tools.yml +++ b/Resources/Prototypes/Recipes/Lathes/tools.yml @@ -1,9 +1,8 @@ +# Base prototypes + - type: latheRecipe - id: Wirecutter - icon: - sprite: Objects/Tools/wirecutters.rsi - state: cutters-map - result: Wirecutter + abstract: true + id: BaseToolRecipe category: Tools completetime: 2 materials: @@ -11,30 +10,42 @@ Plastic: 50 - type: latheRecipe + abstract: true + parent: BaseToolRecipe + id: BaseBigToolRecipe + materials: + Steel: 800 + Glass: 300 + +# Recipes + +- type: latheRecipe + parent: BaseToolRecipe + id: Wirecutter + result: Wirecutter + icon: + sprite: Objects/Tools/wirecutters.rsi + state: cutters-map + +- type: latheRecipe + parent: BaseToolRecipe id: Screwdriver + result: Screwdriver icon: sprite: Objects/Tools/screwdriver.rsi state: screwdriver-map - result: Screwdriver - category: Tools - completetime: 2 - materials: - Steel: 200 - Plastic: 50 - type: latheRecipe + parent: BaseToolRecipe id: Welder result: Welder - category: Tools - completetime: 2 materials: Steel: 400 - type: latheRecipe + parent: BaseToolRecipe id: Wrench result: Wrench - category: Tools - completetime: 2 materials: Steel: 200 @@ -42,155 +53,122 @@ id: CableStack result: CableApcStack1 category: Parts - completetime: 2 + completetime: 0.1 materials: Steel: 30 - type: latheRecipe + parent: CableStack id: CableMVStack result: CableMVStack1 - category: Parts - completetime: 2 - materials: - Steel: 30 - type: latheRecipe + parent: CableStack id: CableHVStack result: CableHVStack1 - category: Parts - completetime: 2 - materials: - Steel: 30 - type: latheRecipe + parent: BaseToolRecipe id: CrowbarGreen result: CrowbarGreen - category: Tools - completetime: 2 materials: Steel: 200 - type: latheRecipe + parent: BaseToolRecipe id: Pickaxe result: Pickaxe - category: Tools completetime: 4 materials: Steel: 1000 Wood: 500 - type: latheRecipe + parent: BaseToolRecipe id: Shovel result: Shovel - category: Tools - completetime: 2 materials: Steel: 200 Wood: 100 - type: latheRecipe + parent: BaseToolRecipe id: Multitool result: Multitool - category: Tools - completetime: 2 materials: Steel: 200 Plastic: 200 - type: latheRecipe + parent: Multitool id: NetworkConfigurator result: NetworkConfigurator - category: Tools - completetime: 2 - materials: - Steel: 200 - Plastic: 200 - type: latheRecipe + parent: BaseToolRecipe id: PowerDrill result: PowerDrill - category: Tools - completetime: 2 materials: Steel: 600 Plastic: 200 - type: latheRecipe + parent: BaseToolRecipe id: RCD result: RCDEmpty - category: Tools completetime: 4 materials: Steel: 1000 Plastic: 300 - type: latheRecipe + parent: BaseToolRecipe id: RCDAmmo result: RCDAmmo - category: Tools - completetime: 2.4 materials: Steel: 500 Plastic: 250 - type: latheRecipe + parent: BaseBigToolRecipe id: HandHeldMassScanner result: HandHeldMassScannerEmpty - category: Tools - completetime: 2 - materials: - Steel: 800 - Glass: 300 - type: latheRecipe + parent: BaseBigToolRecipe id: HandheldGPSBasic result: HandheldGPSBasic - category: Tools - completetime: 2 - materials: - Steel: 800 - Glass: 300 - type: latheRecipe + parent: BaseBigToolRecipe id: TRayScanner result: trayScanner - category: Tools - completetime: 2 - materials: - Steel: 800 - Glass: 300 - type: latheRecipe + parent: BaseBigToolRecipe id: GasAnalyzer result: GasAnalyzer - category: Tools - completetime: 2 - materials: - Steel: 800 - Glass: 300 - type: latheRecipe + parent: BaseToolRecipe id: SprayPainter result: SprayPainter - category: Tools - completetime: 2 materials: Steel: 300 Plastic: 100 - type: latheRecipe + parent: BaseToolRecipe id: UtilityBelt result: ClothingBeltUtility - category: Tools - completetime: 2 materials: Cloth: 100 Steel: 50 - type: latheRecipe + parent: BaseToolRecipe id: HolofanProjector result: HolofanProjectorEmpty - category: Tools completetime: 8 materials: Steel: 300 @@ -198,18 +176,18 @@ Plastic: 50 - type: latheRecipe + parent: BaseToolRecipe id: WelderExperimental result: WelderExperimental - category: Tools completetime: 6 materials: Steel: 800 Plasma: 200 - type: latheRecipe + parent: BaseToolRecipe id: JawsOfLife result: JawsOfLife - category: Tools completetime: 6 materials: Steel: 1000 @@ -218,9 +196,9 @@ Gold: 50 - type: latheRecipe + parent: BaseToolRecipe id: HoloprojectorField result: HoloprojectorFieldEmpty - category: Tools completetime: 3 materials: Steel: 500 @@ -228,9 +206,9 @@ Glass: 100 - type: latheRecipe + parent: BaseToolRecipe id: WeaponParticleDecelerator result: WeaponParticleDecelerator - category: Tools completetime: 6 materials: Steel: 750 From 7614c2fba754e63989bb25564a265e84118170e3 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sat, 2 Nov 2024 13:25:14 +0000 Subject: [PATCH 127/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 728cdd9c03..bbe3437142 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: lzk228 - changes: - - message: Standartized some clothing recipes. - type: Tweak - id: 7082 - time: '2024-08-10T18:16:56.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/29315 - author: TheShuEd changes: - message: You cat cut burger bun into two halfs, and make custom burgers now! @@ -3952,3 +3945,10 @@ id: 7581 time: '2024-11-02T13:19:33.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33097 +- author: deltanedas + changes: + - message: Printing cables in an autolathe is now 20 times faster. + type: Tweak + id: 7582 + time: '2024-11-02T13:24:08.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/31521 From e7ca4b8f2f603ccabab547d6fa5c771373a7439d Mon Sep 17 00:00:00 2001 From: Centronias Date: Sat, 2 Nov 2024 08:04:22 -0700 Subject: [PATCH 128/588] Intercoms and Radios both pick up proximate speech (#32737) * Deduping of recent messages should consider the channel it's being sent to * rerun actions --- .../Radio/EntitySystems/RadioDeviceSystem.cs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/Content.Server/Radio/EntitySystems/RadioDeviceSystem.cs b/Content.Server/Radio/EntitySystems/RadioDeviceSystem.cs index c8867744a4..3829fc34d2 100644 --- a/Content.Server/Radio/EntitySystems/RadioDeviceSystem.cs +++ b/Content.Server/Radio/EntitySystems/RadioDeviceSystem.cs @@ -30,7 +30,7 @@ public sealed class RadioDeviceSystem : EntitySystem [Dependency] private readonly SharedAppearanceSystem _appearance = default!; // Used to prevent a shitter from using a bunch of radios to spam chat. - private HashSet<(string, EntityUid)> _recentlySent = new(); + private HashSet<(string, EntityUid, RadioChannelPrototype)> _recentlySent = new(); public override void Initialize() { @@ -114,7 +114,7 @@ private void OnPowerChanged(EntityUid uid, RadioMicrophoneComponent component, r { if (args.Powered) return; - SetMicrophoneEnabled(uid, null, false, true, component); + SetMicrophoneEnabled(uid, null, false, true, component); } public void SetMicrophoneEnabled(EntityUid uid, EntityUid? user, bool enabled, bool quiet = false, RadioMicrophoneComponent? component = null) @@ -191,8 +191,9 @@ private void OnListen(EntityUid uid, RadioMicrophoneComponent component, ListenE if (HasComp(args.Source)) return; // no feedback loops please. - if (_recentlySent.Add((args.Message, args.Source))) - _radio.SendRadioMessage(args.Source, args.Message, _protoMan.Index(component.BroadcastChannel), uid); + var channel = _protoMan.Index(component.BroadcastChannel)!; + if (_recentlySent.Add((args.Message, args.Source, channel))) + _radio.SendRadioMessage(args.Source, args.Message, channel, uid); } private void OnAttemptListen(EntityUid uid, RadioMicrophoneComponent component, ListenAttemptEvent args) @@ -279,7 +280,7 @@ private void SetIntercomChannel(Entity ent, ProtoId(ent, out var mic)) mic.BroadcastChannel = channel; if (TryComp(ent, out var speaker)) - speaker.Channels = new(){ channel }; + speaker.Channels = new() { channel }; Dirty(ent); } } From db4b2e0a6f0c7c398d7f90d5e462224d2bcd6c79 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sat, 2 Nov 2024 15:05:28 +0000 Subject: [PATCH 129/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index bbe3437142..040c722818 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: TheShuEd - changes: - - message: You cat cut burger bun into two halfs, and make custom burgers now! - type: Add - id: 7083 - time: '2024-08-10T19:31:32.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30755 - author: thetolbean changes: - message: Updated Core's boxing ring beacon label to be correct @@ -3952,3 +3945,11 @@ id: 7582 time: '2024-11-02T13:24:08.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/31521 +- author: Centronias + changes: + - message: Fixed a bug where attempting to speak into a handheld radio and an intercom + simultaneously would lead to only one device transmitting the message. + type: Fix + id: 7583 + time: '2024-11-02T15:04:22.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/32737 From 8c1281adf7cb42134635a3aa32cd4db23b03306d Mon Sep 17 00:00:00 2001 From: joshepvodka <86210200+joshepvodka@users.noreply.github.com> Date: Sat, 2 Nov 2024 12:12:25 -0300 Subject: [PATCH 130/588] Adds headphones to loadouts (#33067) added headphones to trinkets --- .../Loadouts/Miscellaneous/trinkets.yml | 45 +++++++++++-------- .../Prototypes/Loadouts/loadout_groups.yml | 1 + 2 files changed, 27 insertions(+), 19 deletions(-) diff --git a/Resources/Prototypes/Loadouts/Miscellaneous/trinkets.yml b/Resources/Prototypes/Loadouts/Miscellaneous/trinkets.yml index 78b5f0bc9e..79fee8bf0d 100644 --- a/Resources/Prototypes/Loadouts/Miscellaneous/trinkets.yml +++ b/Resources/Prototypes/Loadouts/Miscellaneous/trinkets.yml @@ -21,6 +21,13 @@ back: - ClothingHeadHatHairflower +# Headphones +- type: loadout + id: Headphones + storage: + back: + - ClothingNeckHeadphones + # Plushies - type: loadout id: PlushieLizard @@ -165,7 +172,7 @@ !type:OverallPlaytimeRequirement time: 36000 # 10hr storage: - back: + back: - TowelColorWhite - type: loadout @@ -176,9 +183,9 @@ !type:OverallPlaytimeRequirement time: 1800000 # 500hr storage: - back: + back: - TowelColorSilver - + - type: loadout id: TowelColorGold effects: @@ -187,7 +194,7 @@ !type:OverallPlaytimeRequirement time: 3600000 # 1000hr storage: - back: + back: - TowelColorGold - type: loadout @@ -199,7 +206,7 @@ department: Cargo time: 360000 # 100hr storage: - back: + back: - TowelColorLightBrown - type: loadout @@ -211,7 +218,7 @@ department: Civilian time: 360000 # 100hr storage: - back: + back: - TowelColorGreen - type: loadout @@ -223,7 +230,7 @@ department: Command time: 360000 # 100hr storage: - back: + back: - TowelColorDarkBlue - type: loadout @@ -235,9 +242,9 @@ department: Engineering time: 360000 # 100hr storage: - back: + back: - TowelColorOrange - + - type: loadout id: TowelColorLightBlue effects: @@ -247,7 +254,7 @@ department: Medical time: 360000 # 100hr storage: - back: + back: - TowelColorLightBlue - type: loadout @@ -259,7 +266,7 @@ department: Science time: 360000 # 100hr storage: - back: + back: - TowelColorPurple - type: loadout @@ -271,7 +278,7 @@ department: Security time: 360000 # 100hr storage: - back: + back: - TowelColorRed - type: loadout @@ -283,7 +290,7 @@ role: JobPassenger time: 360000 # 100hr storage: - back: + back: - TowelColorGray - type: loadout @@ -295,7 +302,7 @@ role: JobChaplain time: 360000 # 100hr storage: - back: + back: - TowelColorBlack - type: loadout @@ -307,7 +314,7 @@ role: JobLibrarian time: 360000 # 100hr storage: - back: + back: - TowelColorDarkGreen - type: loadout @@ -319,7 +326,7 @@ role: JobLawyer time: 360000 # 100hr storage: - back: + back: - TowelColorMaroon - type: loadout @@ -331,7 +338,7 @@ role: JobClown time: 360000 # 100hr storage: - back: + back: - TowelColorYellow - type: loadout @@ -343,5 +350,5 @@ role: JobMime time: 360000 # 100hr storage: - back: - - TowelColorMime \ No newline at end of file + back: + - TowelColorMime diff --git a/Resources/Prototypes/Loadouts/loadout_groups.yml b/Resources/Prototypes/Loadouts/loadout_groups.yml index 13c675000e..ce4866dca8 100644 --- a/Resources/Prototypes/Loadouts/loadout_groups.yml +++ b/Resources/Prototypes/Loadouts/loadout_groups.yml @@ -7,6 +7,7 @@ loadouts: - FlowerWreath - Hairflower + - Headphones - PlushieLizard - PlushieSpaceLizard - Lighter From a3ce9b0db47aa9d77624e63c424d1884261fcb15 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sat, 2 Nov 2024 15:13:31 +0000 Subject: [PATCH 131/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 040c722818..d82950a286 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: thetolbean - changes: - - message: Updated Core's boxing ring beacon label to be correct - type: Tweak - id: 7084 - time: '2024-08-10T19:50:08.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30800 - author: Flareguy changes: - message: Added vox sprites for most of the remaining common mask items. @@ -3953,3 +3946,10 @@ id: 7583 time: '2024-11-02T15:04:22.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/32737 +- author: joshepvodka + changes: + - message: Headphones are now selectable in loadouts. + type: Add + id: 7584 + time: '2024-11-02T15:12:26.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33067 From 65462d8ca590c97e24ae27d42b53ea2440519baa Mon Sep 17 00:00:00 2001 From: Scribbles0 <91828755+Scribbles0@users.noreply.github.com> Date: Sat, 2 Nov 2024 09:21:35 -0700 Subject: [PATCH 132/588] Cardboard Box Capacity 4 -> 5 (#32743) * capacity upgrade * comment update --- .../Entities/Structures/Storage/Closets/big_boxes.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Structures/Storage/Closets/big_boxes.yml b/Resources/Prototypes/Entities/Structures/Storage/Closets/big_boxes.yml index 17ccb5a41f..a6d5a49f67 100644 --- a/Resources/Prototypes/Entities/Structures/Storage/Closets/big_boxes.yml +++ b/Resources/Prototypes/Entities/Structures/Storage/Closets/big_boxes.yml @@ -29,7 +29,7 @@ isCollidableWhenOpen: false openOnMove: false airtight: false - capacity: 4 #4 Entities seems like a nice comfy fit for a cardboard box. + capacity: 5 #5 entity capacity to fit all of your friends (or teammates on your nuclear operation without reinforcements). - type: ContainerContainer containers: entity_storage: !type:Container From 190d965c526c630ba391cb9e33ca9030932a2ded Mon Sep 17 00:00:00 2001 From: Errant <35878406+Errant-4@users.noreply.github.com> Date: Sat, 2 Nov 2024 17:49:44 +0100 Subject: [PATCH 133/588] Hotfix add debug info to traitor activation (#33119) * Add debug messages to traitor activation * more debug --- Content.Server/Antag/AntagSelectionSystem.cs | 4 +++ .../GameTicking/Rules/TraitorRuleSystem.cs | 31 +++++++++++++++++++ 2 files changed, 35 insertions(+) diff --git a/Content.Server/Antag/AntagSelectionSystem.cs b/Content.Server/Antag/AntagSelectionSystem.cs index 224629ff2e..610c0ad182 100644 --- a/Content.Server/Antag/AntagSelectionSystem.cs +++ b/Content.Server/Antag/AntagSelectionSystem.cs @@ -55,6 +55,8 @@ public override void Initialize() { base.Initialize(); + Log.Level = LogLevel.Debug; + SubscribeLocalEvent(OnTakeGhostRole); SubscribeLocalEvent(OnObjectivesTextGetInfo); @@ -360,6 +362,8 @@ public void MakeAntag(Entity ent, ICommonSession? sessi _role.MindAddRoles(curMind.Value, def.MindRoles, null, true); ent.Comp.SelectedMinds.Add((curMind.Value, Name(player))); SendBriefing(session, def.Briefing); + + Log.Debug($"Selected {ToPrettyString(curMind)} as antagonist: {ToPrettyString(ent)}"); } var afterEv = new AfterAntagEntitySelectedEvent(session, player, ent, def); diff --git a/Content.Server/GameTicking/Rules/TraitorRuleSystem.cs b/Content.Server/GameTicking/Rules/TraitorRuleSystem.cs index 1987613763..bc6a8e9395 100644 --- a/Content.Server/GameTicking/Rules/TraitorRuleSystem.cs +++ b/Content.Server/GameTicking/Rules/TraitorRuleSystem.cs @@ -41,6 +41,8 @@ public override void Initialize() { base.Initialize(); + Log.Level = LogLevel.Debug; + SubscribeLocalEvent(AfterEntitySelected); SubscribeLocalEvent(OnObjectivesTextPrepend); } @@ -53,6 +55,7 @@ protected override void Added(EntityUid uid, TraitorRuleComponent component, Gam private void AfterEntitySelected(Entity ent, ref AfterAntagEntitySelectedEvent args) { + Log.Debug($"AfterAntagEntitySelected {ToPrettyString(ent)}"); MakeTraitor(args.EntityUid, ent); } @@ -78,14 +81,22 @@ public string[] GenerateTraitorCodewords(TraitorRuleComponent component) public bool MakeTraitor(EntityUid traitor, TraitorRuleComponent component) { + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - start"); + //Grab the mind if it wasn't provided if (!_mindSystem.TryGetMind(traitor, out var mindId, out var mind)) + { + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - failed, no Mind found"); return false; + } var briefing = ""; if (component.GiveCodewords) + { + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - added codewords flufftext to briefing"); briefing = Loc.GetString("traitor-role-codewords-short", ("codewords", string.Join(", ", component.Codewords))); + } var issuer = _random.Pick(_prototypeManager.Index(component.ObjectiveIssuers).Values); @@ -94,6 +105,7 @@ public bool MakeTraitor(EntityUid traitor, TraitorRuleComponent component) if (component.GiveUplink) { + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - Uplink start"); // Calculate the amount of currency on the uplink. var startingBalance = component.StartingBalance; if (_jobs.MindTryGetJob(mindId, out var prototype)) @@ -105,18 +117,27 @@ public bool MakeTraitor(EntityUid traitor, TraitorRuleComponent component) } // Choose and generate an Uplink, and return the uplink code if applicable + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - Uplink request start"); var uplinkParams = RequestUplink(traitor, startingBalance, briefing); code = uplinkParams.Item1; briefing = uplinkParams.Item2; + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - Uplink request completed"); } string[]? codewords = null; if (component.GiveCodewords) + { + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - set codewords from component"); codewords = component.Codewords; + } if (component.GiveBriefing) + { _antag.SendBriefing(traitor, GenerateBriefing(codewords, code, issuer), null, component.GreetSoundNotification); + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - Sent the Briefing"); + } + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - Adding TraitorMind"); component.TraitorMinds.Add(mindId); // Assign briefing @@ -126,9 +147,14 @@ public bool MakeTraitor(EntityUid traitor, TraitorRuleComponent component) _roleSystem.MindHasRole(mindId, out var traitorRole); if (traitorRole is not null) { + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - Add traitor briefing components"); AddComp(traitorRole.Value.Owner); Comp(traitorRole.Value.Owner).Briefing = briefing; } + else + { + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - did not get traitor briefing"); + } // Send codewords to only the traitor client var color = TraitorCodewordColor; // Fall back to a dark red Syndicate color if a prototype is not found @@ -137,9 +163,11 @@ public bool MakeTraitor(EntityUid traitor, TraitorRuleComponent component) _roleCodewordSystem.SetRoleCodewords(codewordComp, "traitor", component.Codewords.ToList(), color); // Change the faction + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - Change faction"); _npcFaction.RemoveFaction(traitor, component.NanoTrasenFaction, false); _npcFaction.AddFaction(traitor, component.SyndicateFaction); + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - Finished"); return true; } @@ -148,10 +176,12 @@ public bool MakeTraitor(EntityUid traitor, TraitorRuleComponent component) var pda = _uplink.FindUplinkTarget(traitor); Note[]? code = null; + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - Uplink add"); var uplinked = _uplink.AddUplink(traitor, startingBalance, pda, true); if (pda is not null && uplinked) { + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - Uplink is PDA"); // Codes are only generated if the uplink is a PDA code = EnsureComp(pda.Value).Code; @@ -163,6 +193,7 @@ public bool MakeTraitor(EntityUid traitor, TraitorRuleComponent component) } else if (pda is null && uplinked) { + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - Uplink is implant"); briefing += "\n" + Loc.GetString("traitor-role-uplink-implant-short"); } From 6f1eeba1911dc3c7e96890fa2f0a3b4f07ee2d5d Mon Sep 17 00:00:00 2001 From: Milon Date: Sat, 2 Nov 2024 17:59:38 +0100 Subject: [PATCH 134/588] change ShowHealthBars and ShowHealthIcons to use protoId (#32355) use protoId --- Content.Client/Commands/ShowHealthBarsCommand.cs | 4 +++- Content.Shared/Overlays/ShowHealthBarsComponent.cs | 8 +++++--- Content.Shared/Overlays/ShowHealthIconsComponent.cs | 9 ++++++--- Resources/Prototypes/Entities/Clothing/Eyes/hud.yml | 6 ------ .../Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml | 2 -- 5 files changed, 14 insertions(+), 15 deletions(-) diff --git a/Content.Client/Commands/ShowHealthBarsCommand.cs b/Content.Client/Commands/ShowHealthBarsCommand.cs index 0811f96663..6ea9d06c8c 100644 --- a/Content.Client/Commands/ShowHealthBarsCommand.cs +++ b/Content.Client/Commands/ShowHealthBarsCommand.cs @@ -1,6 +1,8 @@ +using Content.Shared.Damage.Prototypes; using Content.Shared.Overlays; using Robust.Client.Player; using Robust.Shared.Console; +using Robust.Shared.Prototypes; using System.Linq; namespace Content.Client.Commands; @@ -34,7 +36,7 @@ public override void Execute(IConsoleShell shell, string argStr, string[] args) { var showHealthBarsComponent = new ShowHealthBarsComponent { - DamageContainers = args.ToList(), + DamageContainers = args.Select(arg => new ProtoId(arg)).ToList(), HealthStatusIcon = null, NetSyncEnabled = false }; diff --git a/Content.Shared/Overlays/ShowHealthBarsComponent.cs b/Content.Shared/Overlays/ShowHealthBarsComponent.cs index 4642c5936a..cb4f0fe7dd 100644 --- a/Content.Shared/Overlays/ShowHealthBarsComponent.cs +++ b/Content.Shared/Overlays/ShowHealthBarsComponent.cs @@ -2,7 +2,6 @@ using Content.Shared.StatusIcon; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; -using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List; namespace Content.Shared.Overlays; @@ -15,8 +14,11 @@ public sealed partial class ShowHealthBarsComponent : Component /// /// Displays health bars of the damage containers. /// - [DataField("damageContainers", customTypeSerializer: typeof(PrototypeIdListSerializer))] - public List DamageContainers = new(); + [DataField] + public List> DamageContainers = new() + { + "Biological" + }; [DataField] public ProtoId? HealthStatusIcon = "HealthIconFine"; diff --git a/Content.Shared/Overlays/ShowHealthIconsComponent.cs b/Content.Shared/Overlays/ShowHealthIconsComponent.cs index c2526c2f40..aa12c9887a 100644 --- a/Content.Shared/Overlays/ShowHealthIconsComponent.cs +++ b/Content.Shared/Overlays/ShowHealthIconsComponent.cs @@ -1,6 +1,6 @@ using Content.Shared.Damage.Prototypes; using Robust.Shared.GameStates; -using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.List; +using Robust.Shared.Prototypes; namespace Content.Shared.Overlays; @@ -13,6 +13,9 @@ public sealed partial class ShowHealthIconsComponent : Component /// /// Displays health status icons of the damage containers. /// - [DataField("damageContainers", customTypeSerializer: typeof(PrototypeIdListSerializer))] - public List DamageContainers = new(); + [DataField] + public List> DamageContainers = new() + { + "Biological" + }; } diff --git a/Resources/Prototypes/Entities/Clothing/Eyes/hud.yml b/Resources/Prototypes/Entities/Clothing/Eyes/hud.yml index 9e881bf9c2..300c938bc9 100644 --- a/Resources/Prototypes/Entities/Clothing/Eyes/hud.yml +++ b/Resources/Prototypes/Entities/Clothing/Eyes/hud.yml @@ -13,11 +13,7 @@ categories: [ HideSpawnMenu ] components: - type: ShowHealthBars - damageContainers: - - Biological - type: ShowHealthIcons - damageContainers: - - Biological - type: entity parent: ClothingEyesBase @@ -223,8 +219,6 @@ sprite: Clothing/Eyes/Hud/syndagent.rsi - type: ShowSyndicateIcons - type: ShowHealthBars - damageContainers: - - Biological - type: entity parent: [ClothingEyesGlassesSunglasses, ShowSecurityIcons] diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml index d1d530ae81..6a8f1e5abb 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml @@ -391,8 +391,6 @@ - type: Construction node: syndicatemedical - type: ShowHealthBars - damageContainers: - - Biological - type: InteractionPopup interactSuccessString: petting-success-syndicate-cyborg interactFailureString: petting-failure-syndicate-cyborg From 0ba3350c7eb5c9c16f84dfa2d5fa6c6ba0026041 Mon Sep 17 00:00:00 2001 From: RiceMar1244 <138547931+RiceMar1244@users.noreply.github.com> Date: Sat, 2 Nov 2024 15:55:15 -0400 Subject: [PATCH 135/588] Combat and survival knife storage/inhand sprites (#33111) * Adds storage sprites for combat knife and survival knife. Replaces inhand sprites. * Fixes meta.json copyright --- .../Entities/Objects/Weapons/Melee/knife.yml | 6 +++ .../Melee/combat_knife.rsi/inhand-left.png | Bin 291 -> 352 bytes .../Melee/combat_knife.rsi/inhand-right.png | Bin 275 -> 349 bytes .../Weapons/Melee/combat_knife.rsi/meta.json | 5 +- .../Melee/combat_knife.rsi/storage.png | Bin 0 -> 335 bytes .../Melee/survival_knife.rsi/inhand-left.png | Bin 308 -> 273 bytes .../Melee/survival_knife.rsi/inhand-right.png | Bin 306 -> 272 bytes .../Melee/survival_knife.rsi/meta.json | 49 ++++++++++-------- .../Melee/survival_knife.rsi/storage.png | Bin 0 -> 307 bytes 9 files changed, 36 insertions(+), 24 deletions(-) create mode 100644 Resources/Textures/Objects/Weapons/Melee/combat_knife.rsi/storage.png create mode 100644 Resources/Textures/Objects/Weapons/Melee/survival_knife.rsi/storage.png diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml b/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml index ae5b22f8e0..711b8c49fe 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Melee/knife.yml @@ -103,6 +103,9 @@ Slash: 10 - type: Item sprite: Objects/Weapons/Melee/combat_knife.rsi + storedSprite: + state: storage + sprite: Objects/Weapons/Melee/combat_knife.rsi - type: DisarmMalus malus: 0.225 @@ -117,6 +120,9 @@ state: icon - type: Item sprite: Objects/Weapons/Melee/survival_knife.rsi + storedSprite: + state: storage + sprite: Objects/Weapons/Melee/survival_knife.rsi - type: entity name: kukri knife diff --git a/Resources/Textures/Objects/Weapons/Melee/combat_knife.rsi/inhand-left.png b/Resources/Textures/Objects/Weapons/Melee/combat_knife.rsi/inhand-left.png index a7ea753940826be08aaafd478d1f94b930ed18e6..e014cf5110fd9502d664134f7008fff5ed1ed201 100644 GIT binary patch delta 326 zcmV-M0lEI80^kCWBYy!WNkl82kTV2Q2DiycW{bs;a@?7B;==z|J713<&7)EP00000K+4Dan~Ql}EKeyGS?0-^ zs`0wkRE=8ZDOm{O0W9<6$|B!2rY!PgAv{Y?J`TMri(HwiQGd0yna`No+U&BfPN{Fn zt^E>v0>+_tTI*eh-_+J-zOT$-b=}$B?qoP)OwtcykiVPlx^vLRxAAS;x`z$ni1Pse z00000001B)b=$j_XgRv474{W7P_Y2+X@z~nuFpjRxTh7~BW8UbJ%Er_*vHl!mqo6| zp$`rrdH|naKR@c_^eS@r%@%^zT55?fp{=m5%euN$YaPBG1 diff --git a/Resources/Textures/Objects/Weapons/Melee/combat_knife.rsi/inhand-right.png b/Resources/Textures/Objects/Weapons/Melee/combat_knife.rsi/inhand-right.png index 368c73da32797153fc605523aebb86ef07599351..20efe6dd87654762cd77570c3805cb3f8d0748d3 100644 GIT binary patch delta 323 zcmV-J0lfZ`0^I_TBYy!TNklPw?-vp3b8);TZnt#M{JnUB=LYl;)Ss}T# zQQvv*3%G<}j9GmMkCq>F>N;0dyVV7ts(xnvyS%qc15;I3mZcNSU;)h%KW0001t_X}=D VUchc<8SMZ7002ovPDHLkV1hV0mMQ=M delta 248 zcmcc1G?{6Fay9tphzg^gV%pqMg%5x0jCK|R6Grjx!;a> zn|sumqs#E!y>#wbkx|z}C%sqPGd+Hq>g~rH=6qMI3Ep?2@XRF(AHDyaj}26ft*773 z{^@)5Ph8tWRdtZ5Aka|1^&R)RUBNf*vj17VrTzca&~mO&yO>nbxrIl&{(W(eo_fEe uetAGDfBc2NbDdrn#7^6<9WwneNT;)YBU7SwXM}?g$RJNwKbLh*2~7aZy=cS$ diff --git a/Resources/Textures/Objects/Weapons/Melee/combat_knife.rsi/meta.json b/Resources/Textures/Objects/Weapons/Melee/combat_knife.rsi/meta.json index 08894a12a7..56602b6ea1 100644 --- a/Resources/Textures/Objects/Weapons/Melee/combat_knife.rsi/meta.json +++ b/Resources/Textures/Objects/Weapons/Melee/combat_knife.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken/modified from desertrose at https://github.com/DesertRose2/desertrose/pull/378/commits/9e081bd2a0d7614be5a9dabbca34886ce204105d", + "copyright": "Taken/modified from desertrose at https://github.com/DesertRose2/desertrose/pull/378/commits/9e081bd2a0d7614be5a9dabbca34886ce204105d, storage & inhand sprites by RiceMar1244", "size": { "x": 32, "y": 32 @@ -10,6 +10,9 @@ { "name": "icon" }, + { + "name": "storage" + }, { "name": "inhand-left", "directions": 4 diff --git a/Resources/Textures/Objects/Weapons/Melee/combat_knife.rsi/storage.png b/Resources/Textures/Objects/Weapons/Melee/combat_knife.rsi/storage.png new file mode 100644 index 0000000000000000000000000000000000000000..6b88c9a3aa2885541458d1a5461aba93888ca350 GIT binary patch literal 335 zcmV-V0kHmwP)bY*_4N)F#w<}x910#FIURDfiMjH0nC>xRoAsYfZo8LGH~fq zTFj;l{9HzMS2zQxwuK~_9DVt+Y}0CHYXf(;H`vqR*ZSkrGqP->l4QbdA)KPM<~WYo z7{kUG22R`Q93V|o)>`}fl2uiOAPDen;OqcV6oH74=ehHq_XavKAUTL4fTn3Abs2!Q hRuK`1NDT46^94PVfvFJX;jRDx002ovPDHLkV1mvVjzs_f literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Melee/survival_knife.rsi/inhand-left.png b/Resources/Textures/Objects/Weapons/Melee/survival_knife.rsi/inhand-left.png index b2f253c30b7a7bb447137fd5ce3b2a96983cd340..c352ccfab67d1bc0c97ebe9e383a1557cbb96dee 100644 GIT binary patch delta 257 zcmdnOG?8h7L_G%^0|UdV%))y>>V~I_V@SoEw>LNPwixiVK76sw!l7fDkRgL|3PY6F z5rz;S2k)aCJgr6@>mRweH?Xk2{GZi+Lu}=|AfRR-kelMFdU;QW?^_f7AhD^TYq{m` zi!bri^S!N^9JabDIqd3|xn7h1Y*ek7thUqVv(jIKc~Vu&B)uB>pRZBS3B&! z?T5_?)gN+o!f%9Pjy-bUvhHaf)7zuLzO0ruK%F1>?8T2|eJFA;%?Fv|>FVdQ&MBb@ E0N6NcqW}N^ delta 293 zcmbQpw1sJcL_HHT0|Uc#_L;swiYLG)#1%-_)zvLovc$;9=zQMwZ$Lg{NswPKgTu2M zX+Ta^RY*jMOKNd)QD#9&W_}(6L&conu!5q}?_YuoK7M_o<*loA?#%h%4WR}XjUPPH zIq#!+lA)-lcZY>>knv?>FNHaeCLNg+q7bZUt#7PbAKKY%th#xH#1bIAR>RO-^oZG$ zps<3k#f;M24Ca1P(pz#&0)f^hc)B=-So9_*NU-wo=ex;R0hkwL&%iMv6FeKB(rzZV~mkB4X5Rz?>kRY_xm nm3_DQ99o8wcvoJ7JPGYxSx^dMVpk)l6u6{1-oD!M>bj?kV@SoEw>S54Hakch`=}iKqwz*m7qdkZGl+_? zY+O54`A$Gl^PZI~o=yhshUL%xYqLJAou@6o6sVnn;lTabX}Yd)r`Er>2%0$E={i;>d z6u9-7=Ho-0002j2boO(000b7OjJex|Nnk|e&65UGBPqz(&=mf0004W zQchCV=-0C=2JR&a84_w-Y6@%7{?OD!tS%+FJ> zRWQ*r;NmRLOex6#a*U0*I5Sc+(=$pSoZ^zil2jm5DLXGSEq_&si!&v&s2HS)i!-e# zF*g;&Hsn%PaP@Nm8w&t8P8u7uY&1~-003S|L_t(IjbmUK;lKfz!ve$s$O0ljJOx=G z0*F2iag7W}EfVTmwH9QFB0jvr}!QcfB43MM&1B@U6RwMz|1|Y%dfDjM^5ll!) p=?0jbgWC>R0vtI&o)ZTO001>G2t9uSyI%kR002ovPDHLkV1hA4Xqf;2 diff --git a/Resources/Textures/Objects/Weapons/Melee/survival_knife.rsi/meta.json b/Resources/Textures/Objects/Weapons/Melee/survival_knife.rsi/meta.json index 455734e044..56602b6ea1 100644 --- a/Resources/Textures/Objects/Weapons/Melee/survival_knife.rsi/meta.json +++ b/Resources/Textures/Objects/Weapons/Melee/survival_knife.rsi/meta.json @@ -1,26 +1,29 @@ { - "version": 1, - "license": "CC-BY-SA-3.0", - "copyright": "Taken from /tg/station at commit https://github.com/tgstation/tgstation/commit/6cdc0503d32e249125151e369edf951e93bccd1a", - "size": { - "x": 32, - "y": 32 - }, - "states": [ - { - "name": "icon" + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken/modified from desertrose at https://github.com/DesertRose2/desertrose/pull/378/commits/9e081bd2a0d7614be5a9dabbca34886ce204105d, storage & inhand sprites by RiceMar1244", + "size": { + "x": 32, + "y": 32 }, - { - "name": "inhand-left", - "directions": 4 - }, - { - "name": "inhand-right", - "directions": 4 - }, - { - "name": "equipped-BELT", - "directions": 4 - } - ] + "states": [ + { + "name": "icon" + }, + { + "name": "storage" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + }, + { + "name": "equipped-BELT", + "directions": 4 + } + ] } diff --git a/Resources/Textures/Objects/Weapons/Melee/survival_knife.rsi/storage.png b/Resources/Textures/Objects/Weapons/Melee/survival_knife.rsi/storage.png new file mode 100644 index 0000000000000000000000000000000000000000..173f66035b357a4e97dd17ea50420238b05ec7c2 GIT binary patch literal 307 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJU!E?GArY-_r`dBiIY=CnSIy;i zeluLWaY5~0qr-%00qxlx(-clsvvR(R?En6;{QU2# z@&*yd%|DxhZ9}{^=JuZyP-#$8;d#&#voB8fq~@P|rnSr&v9dpP)tO6NxK}Sysh3gM zrqFZFE1MxIoITm@r@|!N2|y^owxUZYG%#uZ?MZq|ZV4JaD?b0(ZXNr>MxY6nE&rdmEcB32MhK%BVS>L3CB7EY=1gV zN}cJ`FvUSR-)XgdE_;KoM8mXyO$JulS Date: Sat, 2 Nov 2024 17:23:40 -0500 Subject: [PATCH 136/588] Delete conveyor_old.rsi (#33102) --- .../conveyor_old.rsi/conveyor_loose.png | Bin 286 -> 0 bytes .../conveyor_old.rsi/conveyor_started_ccw.png | Bin 4389 -> 0 bytes .../conveyor_started_ccw_r.png | Bin 4440 -> 0 bytes .../conveyor_old.rsi/conveyor_started_cw.png | Bin 4434 -> 0 bytes .../conveyor_started_cw_r.png | Bin 4464 -> 0 bytes .../conveyor_old.rsi/conveyor_stopped_ccw.png | Bin 1687 -> 0 bytes .../conveyor_old.rsi/conveyor_stopped_cw.png | Bin 1689 -> 0 bytes .../Structures/conveyor_old.rsi/meta.json | 238 ------------------ 8 files changed, 238 deletions(-) delete mode 100644 Resources/Textures/Structures/conveyor_old.rsi/conveyor_loose.png delete mode 100644 Resources/Textures/Structures/conveyor_old.rsi/conveyor_started_ccw.png delete mode 100644 Resources/Textures/Structures/conveyor_old.rsi/conveyor_started_ccw_r.png delete mode 100644 Resources/Textures/Structures/conveyor_old.rsi/conveyor_started_cw.png delete mode 100644 Resources/Textures/Structures/conveyor_old.rsi/conveyor_started_cw_r.png delete mode 100644 Resources/Textures/Structures/conveyor_old.rsi/conveyor_stopped_ccw.png delete mode 100644 Resources/Textures/Structures/conveyor_old.rsi/conveyor_stopped_cw.png delete mode 100644 Resources/Textures/Structures/conveyor_old.rsi/meta.json diff --git a/Resources/Textures/Structures/conveyor_old.rsi/conveyor_loose.png b/Resources/Textures/Structures/conveyor_old.rsi/conveyor_loose.png deleted file mode 100644 index 97b955cc6e000436a475b44e3c3da2374f5a1f3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286 zcmV+(0pb3MP)V#pRVNX9Kd%6Q$LnTv6#%sDVbBB0s>XJ|b0)f+&g^?%oYv5KU3V-L4b~2Qd?VzG z*OOQTWr~0?ux^^kM5&fBaPRxc3{Wk01#CqY0?kRa6f-uN2@b1)&`KX;n-IGTVvDy#8)62U=5^h$CTWT*&|u%cI-WprDmRoQYlOk k{!;a!-H^tMUrxpO0MJTUObOT2v;Y7A07*qoM6N<$f_a&A`~Uy| diff --git a/Resources/Textures/Structures/conveyor_old.rsi/conveyor_started_ccw.png b/Resources/Textures/Structures/conveyor_old.rsi/conveyor_started_ccw.png deleted file mode 100644 index 7ad5f8fc70dac364e96c4a47c75cdb6ef9c99d30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4389 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 diff --git a/Resources/Textures/Structures/conveyor_old.rsi/conveyor_started_ccw_r.png b/Resources/Textures/Structures/conveyor_old.rsi/conveyor_started_ccw_r.png deleted file mode 100644 index 8bd276e82e4218a07a4be1d234c43800ccd5ffa2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4440 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 ejOiOj5B?A7jtB_(7S8kl0000 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�D9*pynpwaHwUOqb}_W##%oj3=Paw0C=EG8MLMbJ2P6F9r~m$W$j003 zby8{C`v1SSoOgek;t4T5%(Bc!<;9DqmqLiX5UWxuWMGbT;+yJgYUlJzU>sB`%_#k1 z4`9&(TEvI1FNwJfFN11tBy+=eBoTFhn(Tl^tAkz2I=uNmU8D7#ZF276r$(qjCO&-839a>=?Q!AZ z$3|#D+5(T(cecfaWzf_h;^0xG*zcS)E&VvIdkAk`i~Zi4#@RO6?a*<2_V2#947YED zxay~WPnRvF(&Y4i{N)4OyZJfXzVQbk diff --git a/Resources/Textures/Structures/conveyor_old.rsi/conveyor_started_cw_r.png b/Resources/Textures/Structures/conveyor_old.rsi/conveyor_started_cw_r.png deleted file mode 100644 index d2e18ca0caa0896cbe64be7665dd7a650c64b7a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4464 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 diff --git a/Resources/Textures/Structures/conveyor_old.rsi/conveyor_stopped_cw.png b/Resources/Textures/Structures/conveyor_old.rsi/conveyor_stopped_cw.png deleted file mode 100644 index 116b3aed504581c21d31a005133b94bc23a5e74c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1689 zcmV;K24?w*P)+T-Chru7kP~C_IkIR*v3AWc-KCawcG3A^Yt}$dp%a!O&}Yeude|(1ke{b;ImcA z{^iBlf1kMVsR`G{T1J4R{q3E-JVpax^#T6})HP>rB}r-aV)Ab_Wt4(Onc5(yrS>^7 z`GXNq(qXA1nx-->B1k}K2UvBOG`s|8jPLgc{Z>vbT>)~z+Xs|}Rt2yKlLXu)YzQcf z4FL>r`W4EXG!Y9Kw%X2Wf-_{Ejwfjm;4@gl`P1=)J-U$?9dXJ?Zh~BgmvX-E|8)ba z57-~{i#xyWyBJ7ZKc|efT#U2S*Kn?7f6(8If;iwhAJ_~-i(^ATVQlsT3S+Y$P#By2 zfWp}92SnsajmVh%Cg%Y;D*(w-ny{G9SoTBtO%jk3kDojRun}h6Sz*>{7^=;@3!kl0 z_DPua^2MXockf^Qvii;UCz(De0=WADmLh=K<~JXI;N^=)`0dy4c>CcVfG@S}zEt|8 zKET(Zm0T6&*#7$MQ|H0`hs(u$hS%?a*Y5z}%j!2@9?A5@_3;)^@_aQ+7JNfPWDnGi%Y~> z5Rh|oCdC$qh_xU9$g|YJwUI)Ec>+poO-l4Pu|$|B0LZ)0r`cKiu+^qO?gd#XH^xqr z?Y8^d!E?e^olj`0ks8on!RXl`tfEp-m1>Z5ryLHKwE2BEzIGi+i(@ zOX1vRwh5*PkQ`EKXiGJsz!U+1oy{K?no(ee0FHVY$kSm;MgfVq%n$&i%|LUl6LF(} zHslWuk8pZ&y!t*k5p%WesRlXuLuI;qvR2M0$K>%j9{{>B`gkpEybnI7YS#GJ^8qeW z{84p2$r!t(_3?zui?h{@Y3Xu&$aVid=K}_WS*{q0w3#lXCwWz2RPOt)3V63l>*Ial zOzpc?txq{0z)3^!si(W8_3ZKured%<486KK z2cY-|*kV4r(d^LUgMptUoSqyf zH%*dFnl@CnBmqAW*dgjUsQ*Xo4FFZ$I3_`&a*dzWMkAz-{8B(v(25J|AeW jgbV5OLnx`+&xL;ggbzO0e^hp<00000NkvXXu0mjfD^Ns3 diff --git a/Resources/Textures/Structures/conveyor_old.rsi/meta.json b/Resources/Textures/Structures/conveyor_old.rsi/meta.json deleted file mode 100644 index 71aefcdba1..0000000000 --- a/Resources/Textures/Structures/conveyor_old.rsi/meta.json +++ /dev/null @@ -1,238 +0,0 @@ -{ - "version": 1, - "license": "CC-BY-SA-3.0", - "copyright": "https://github.com/discordia-space/CEV-Eris/blob/a846799c53f8ee9dcec4b075d7645f591f3ec19d/icons/obj/machines/conveyor.dmi", - "size": { - "x": 32, - "y": 32 - }, - "states": [ - { - "name": "conveyor_loose" - }, - { - "name": "conveyor_started_ccw", - "directions": 8, - "delays": [ - [ - 0.1, - 0.1, - 0.1, - 0.1 - ], - [ - 0.1, - 0.1, - 0.1, - 0.1 - ], - [ - 0.1, - 0.1, - 0.1, - 0.1 - ], - [ - 0.1, - 0.1, - 0.1, - 0.1 - ], - [ - 0.1, - 0.1, - 0.1, - 0.1 - ], - [ - 0.1, - 0.1, - 0.1, - 0.1 - ], - [ - 0.1, - 0.1, - 0.1, - 0.1 - ], - [ - 0.1, - 0.1, - 0.1, - 0.1 - ] - ] - }, - { - "name": "conveyor_started_ccw_r", - "directions": 8, - "delays": [ - [ - 0.1, - 0.1, - 0.1, - 0.1 - ], - [ - 0.1, - 0.1, - 0.1, - 0.1 - ], - [ - 0.1, - 0.1, - 0.1, - 0.1 - ], - [ - 0.1, - 0.1, - 0.1, - 0.1 - ], - [ - 0.1, - 0.1, - 0.1, - 0.1 - ], - [ - 0.1, - 0.1, - 0.1, - 0.1 - ], - [ - 0.1, - 0.1, - 0.1, - 0.1 - ], - [ - 0.1, - 0.1, - 0.1, - 0.1 - ] - ] - }, - { - "name": "conveyor_started_cw", - "directions": 8, - "delays": [ - [ - 0.1, - 0.1, - 0.1, - 0.1 - ], - [ - 0.1, - 0.1, - 0.1, - 0.1 - ], - [ - 0.1, - 0.1, - 0.1, - 0.1 - ], - [ - 0.1, - 0.1, - 0.1, - 0.1 - ], - [ - 0.1, - 0.1, - 0.1, - 0.1 - ], - [ - 0.1, - 0.1, - 0.1, - 0.1 - ], - [ - 0.1, - 0.1, - 0.1, - 0.1 - ], - [ - 0.1, - 0.1, - 0.1, - 0.1 - ] - ] - }, - { - "name": "conveyor_started_cw_r", - "directions": 8, - "delays": [ - [ - 0.1, - 0.1, - 0.1, - 0.1 - ], - [ - 0.1, - 0.1, - 0.1, - 0.1 - ], - [ - 0.1, - 0.1, - 0.1, - 0.1 - ], - [ - 0.1, - 0.1, - 0.1, - 0.1 - ], - [ - 0.1, - 0.1, - 0.1, - 0.1 - ], - [ - 0.1, - 0.1, - 0.1, - 0.1 - ], - [ - 0.1, - 0.1, - 0.1, - 0.1 - ], - [ - 0.1, - 0.1, - 0.1, - 0.1 - ] - ] - }, - { - "name": "conveyor_stopped_ccw", - "directions": 8 - }, - { - "name": "conveyor_stopped_cw", - "directions": 8 - } - ] -} From d993582d00f1550c4ae4ee982de3f24b10dc4ae9 Mon Sep 17 00:00:00 2001 From: Flareguy <78941145+Flareguy@users.noreply.github.com> Date: Sat, 2 Nov 2024 18:16:18 -0500 Subject: [PATCH 137/588] Fix broken computer white shadows (#33103) fix broken computer white shadows --- .../Machines/computers.rsi/broken.png | Bin 3576 -> 3542 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/Resources/Textures/Structures/Machines/computers.rsi/broken.png b/Resources/Textures/Structures/Machines/computers.rsi/broken.png index 38d2fd88a37fe5f960b2e68434c01099e83fafd3..5adb4f73f2eb804a8e96da7845c7b321399e64e8 100644 GIT binary patch delta 3541 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 P00000NkvXXu0mjf;wYdQ delta 3575 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 From d2a487dc9e5d7ab5b9f8a4d66d72234b8039a549 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 3 Nov 2024 02:21:44 +0100 Subject: [PATCH 138/588] Update Credits (#33125) Co-authored-by: PJBot --- Resources/Credits/GitHub.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Credits/GitHub.txt b/Resources/Credits/GitHub.txt index ac39b6b7f5..8c2ad5f5b0 100644 --- a/Resources/Credits/GitHub.txt +++ b/Resources/Credits/GitHub.txt @@ -1 +1 @@ -0x6273, 12rabbits, 13spacemen, 2013HORSEMEATSCANDAL, 20kdc, 21Melkuu, 3nderall, 4310v343k, 4dplanner, 612git, 778b, Ablankmann, abregado, Absolute-Potato, achookh, Acruid, actioninja, actually-reb, ada-please, adamsong, Adeinitas, Admiral-Obvious-001, adrian, Adrian16199, Ady4ik, Aerocrux, Aeshus, Aexolott, Aexxie, africalimedrop, Afrokada, Agoichi, Ahion, aiden, AJCM-git, AjexRose, Alekshhh, alexkar598, AlexMorgan3817, alexumandxgabriel08x, Alithsko, ALMv1, Alpha-Two, AlphaQwerty, Altoids1, amylizzle, ancientpower, Andre19926, AndrewEyeke, AndreyCamper, Anzarot121, Appiah, ar4ill, ArchPigeon, ArchRBX, areitpog, Arendian, arimah, Arkanic, ArkiveDev, armoks, Arteben, ArthurMousatov, ArtisticRoomba, artur, AruMoon, ArZarLordOfMango, as334, AsikKEsel, AsnDen, asperger-sind, aspiringLich, astriloqua, august-sun, AutoOtter, avghdev, Awlod, AzzyIsNotHere, BackeTako, BananaFlambe, Baptr0b0t, BasedUser, beck-thompson, bellwetherlogic, benev0, benjamin-burges, BGare, bhenrich, bhespiritu, bibbly, BIGZi0348, bingojohnson, BismarckShuffle, Bixkitts, Blackern5000, Blazeror, BlitzTheSquishy, bloodrizer, Bloody2372, blueDev2, Boaz1111, BobdaBiscuit, BobTheSleder, boiled-water-tsar, BombasterDS, botanySupremist, brainfood1183, BramvanZijp, Brandon-Huu, BriBrooo, Bright0, brndd, bryce0110, BubblegumBlue, buletsponge, buntobaggins, bvelliquette, byondfuckery, c0rigin, c4llv07e, CaasGit, Caconym27, Calecute, Callmore, capnsockless, CaptainSqrBeard, Carbonhell, Carolyn3114, Carou02, carteblanche4me, Catofquestionableethics, CatTheSystem, Centronias, chairbender, Charlese2, charlie, ChaseFlorom, chavonadelal, Cheackraze, cheesePizza2, cheeseplated, Chief-Engineer, chillyconmor, christhirtle, chromiumboy, Chronophylos, Chubbicous, Chubbygummibear, Ciac32, civilCornball, Clement-O, clyf, Clyybber, CMDR-Piboy314, cohanna, Cohnway, Cojoke-dot, ColdAutumnRain, Colin-Tel, collinlunn, ComicIronic, CookieMasterT, coolboy911, coolmankid12345, Coolsurf6, corentt, CormosLemming, crazybrain23, creadth, CrigCrag, croilbird, Crotalus, CrudeWax, CrzyPotato, cutemoongod, Cyberboss, d34d10cc, d4kii, DadeKuma, Daemon, daerSeebaer, dahnte, dakamakat, DamianX, DangerRevolution, daniel-cr, DanSAussieITS, Daracke, Darkenson, DawBla, Daxxi3, dch-GH, de0rix, Deahaka, dean, DEATHB4DEFEAT, DeathCamel58, Deatherd, deathride58, DebugOk, Decappi, Decortex, Deeeeja, deepdarkdepths, degradka, Delete69, deltanedas, DenisShvalov, DerbyX, derek, dersheppard, Deserty0, Detintinto, DevilishMilk, dexlerxd, dffdff2423, DieselMohawk, digitalic, Dimastra, DinoWattz, DisposableCrewmember42, DjfjdfofdjfjD, doc-michael, docnite, Doctor-Cpu, DoctorBeard, DogZeroX, dolgovmi, dontbetank, Doomsdrayk, Doru991, DoubleRiceEddiedd, DoutorWhite, dragonryan06, drakewill-CRL, Drayff, dreamlyjack, DrEnzyme, dribblydrone, DrMelon, drongood12, DrSingh, DrSmugleaf, drteaspoon420, DTanxxx, DubiousDoggo, Duddino, dukevanity, duskyjay, Dutch-VanDerLinde, dvir001, Dynexust, Easypoller, echo, eclips_e, eden077, EEASAS, Efruit, efzapa, Ekkosangen, ElectroSR, elsie, elthundercloud, Elysium206, Emisse, emmafornash, EmoGarbage404, Endecc, eoineoineoin, eris, erohrs2, ERORR404V1, Errant-4, ertanic, esguard, estacaoespacialpirata, eugene, exincore, exp111, f0x-n3rd, FacePluslll, Fahasor, FairlySadPanda, FATFSAAM2, Feluk6174, ficcialfaint, Fiftyllama, Fildrance, FillerVK, FinnishPaladin, FirinMaLazors, Fishfish458, FL-OZ, Flareguy, flashgnash, FluffiestFloof, FluffMe, FluidRock, foboscheshir, FoLoKe, fooberticus, ForestNoises, forgotmyotheraccount, forkeyboards, forthbridge, Fortune117, Fouin, foxhorn, freeman2651, freeze2222, Froffy025, Fromoriss, froozigiusz, FrostMando, FungiFellow, FunTust, Futuristic-OK, GalacticChimp, gamer3107, Gaxeer, gbasood, Geekyhobo, genderGeometries, GeneralGaws, Genkail, geraeumig, Ghagliiarghii, Git-Nivrak, githubuser508, gituhabu, GlassEclipse, GNF54, godisdeadLOL, goet, Goldminermac, Golinth, GoodWheatley, Gorox221, gradientvera, graevy, GraniteSidewalk, GreaseMonk, greenrock64, GreyMario, GTRsound, gusxyz, Gyrandola, h3half, hamurlik, Hanzdegloker, HappyRoach, Hardly3D, harikattar, he1acdvv, Hebi, Henry, HerCoyote23, hitomishirichan, hiucko, Hmeister-fake, Hmeister-real, Hobbitmax, hobnob, HoidC, Holinka4ever, holyssss, HoofedEar, Hoolny, hord-brayden, Hreno, hubismal, Hugal31, Huxellberger, Hyenh, hyphenationc, i-justuser-i, iacore, IamVelcroboy, Ian321, icekot8, icesickleone, iczero, iglov, IgorAnt028, igorsaux, ike709, illersaver, Illiux, Ilushkins33, Ilya246, IlyaElDunaev, imrenq, imweax, indeano, Injazz, Insineer, IntegerTempest, Interrobang01, IProduceWidgets, ItsMeThom, Itzbenz, iztokbajcar, Jackal298, Jackrost, jacksonzck, Jackw2As, jacob, jamessimo, janekvap, Jark255, Jaskanbe, JasperJRoth, JerryImMouse, jerryimmouse, Jessetriesagain, jessicamaybe, Jezithyr, jicksaw, JiimBob, JimGamemaster, jimmy12or, JIPDawg, jjtParadox, jmcb, JoeHammad1844, JohnGinnane, johnku1, Jophire, joshepvodka, Jrpl, juliangiebel, JustArt1m, JustCone14, justdie12, justin, justintether, JustinTrotter, justtne, K-Dynamic, k3yw, Kadeo64, Kaga-404, KaiShibaa, kalane15, kalanosh, Kanashi-Panda, katzenminer, kbailey-git, Keelin, Keer-Sar, KEEYNy, keikiru, Kelrak, kerisargit, keronshb, KIBORG04, Killerqu00, Kimpes, KingFroozy, kira-er, Kirillcas, Kirus59, Kistras, Kit0vras, KittenColony, klaypexx, Kmc2000, Ko4ergaPunk, kognise, kokoc9n, komunre, KonstantinAngelov, kosticia, koteq, KrasnoshchekovPavel, Krunklehorn, Kupie, kxvvv, kyupolaris, kzhanik, lajolico, Lamrr, LankLTE, laok233, lapatison, larryrussian, lawdog4817, Lazzi0706, leander-0, leonardo-dabepis, leonsfriedrich, LeoSantich, lettern, LetterN, Level10Cybermancer, LEVELcat, lever1209, Lgibb18, lgruthes, LightVillet, liltenhead, LinkUyx, LittleBuilderJane, LittleNorthStar, LittleNyanCat, lizelive, localcc, lokachop, Lomcastar, LordCarve, LordEclipse, LucasTheDrgn, luckyshotpictures, LudwigVonChesterfield, luizwritescode, Lukasz825700516, luminight, lunarcomets, luringens, lvvova1, Lyndomen, lyroth001, lzimann, lzk228, M3739, mac6na6na, MACMAN2003, Macoron, Magicalus, magmodius, MagnusCrowe, malchanceux, MaloTV, ManelNavola, Mangohydra, marboww, Markek1, Matz05, max, MaxNox7, maylokana, MehimoNemo, MeltedPixel, MemeProof, MendaxxDev, Menshin, Mephisto72, MerrytheManokit, Mervill, metalgearsloth, MetalSage, MFMessage, mhamsterr, michaelcu, micheel665, MilenVolf, MilonPL, Minemoder5000, Minty642, Mirino97, mirrorcult, misandrie, MishaUnity, MissKay1994, MisterMecky, Mith-randalf, MjrLandWhale, mkanke-real, MLGTASTICa, moderatelyaware, modern-nm, mokiros, Moneyl, Moomoobeef, moony, Morb0, mr-bo-jangles, Mr0maks, MrFippik, mrrobdemo, muburu, MureixloI, musicmanvr, MWKane, Myakot, Myctai, N3X15, nails-n-tape, Nairodian, Naive817, NakataRin, namespace-Memory, Nannek, NazrinNya, neutrino-laser, NickPowers43, nikthechampiongr, Nimfar11, Nirnael, NIXC, NkoKirkto, nmajask, noctyrnal, noelkathegod, nok-ko, NonchalantNoob, NoobyLegion, Nopey, not-gavnaed, notafet, notquitehadouken, NotSoDana, noudoit, noverd, NuclearWinter, nukashimika, nuke-haus, NULL882, nullarmo, nyeogmi, Nylux, Nyranu, och-och, OctoRocket, OldDanceJacket, OliverOtter, onoira, OnyxTheBrave, OrangeMoronage9622, osjarw, Ostaf, othymer, OttoMaticode, Owai-Seek, packmore, paigemaeforrest, pali6, Pangogie, panzer-iv1, paolordls, partyaddict, patrikturi, PaulRitter, peccneck, Peptide90, peptron1, PeterFuto, PetMudstone, pewter-wiz, Pgriha, Phantom-Lily, pheenty, Phill101, phunnyguy, PilgrimViis, Pill-U, Pireax, Pissachu, pissdemon, PixeltheAertistContrib, PixelTheKermit, PJB3005, Plasmaguy, plinyvic, Plykiya, poeMota, pofitlo, pointer-to-null, pok27, PolterTzi, PoorMansDreams, PopGamer45, portfiend, potato1234x, PotentiallyTom, ProfanedBane, ProPandaBear, PrPleGoo, ps3moira, Pspritechologist, Psychpsyo, psykzz, PuceTint, PuroSlavKing, PursuitInAshes, Putnam3145, quatre, QueerNB, QuietlyWhisper, qwerltaz, RadioMull, Radosvik, Radrark, Rainbeon, Rainfey, Raitononai, Ramlik, RamZ, randy10122, Rane, Ranger6012, Rapidgame7, ravage123321, rbertoche, Redfire1331, Redict, RedlineTriad, redmushie, RednoWCirabrab, RemberBM, RemieRichards, RemTim, rene-descartes2021, Renlou, retequizzle, RiceMar1244, rich-dunne, RieBi, riggleprime, RIKELOLDABOSS, rinary1, Rinkashikachi, riolume, RobbyTheFish, Rockdtben, Rohesie, rok-povsic, rolfero, RomanNovo, rosieposieeee, Roudenn, router, RumiTiger, S1rFl0, S1ss3l, Saakra, Sadie-silly, saga3152, saintmuntzer, Salex08, sam, samgithubaccount, SaphireLattice, SapphicOverload, Sarahon, sativaleanne, SaveliyM360, sBasalto, ScalyChimp, ScarKy0, scrato, Scribbles0, scrivoy, scruq445, scuffedjays, ScumbagDog, Segonist, sephtasm, Serkket, sewerpig, sh18rw, ShadeAware, ShadowCommander, Shadowtheprotogen546, shaeone, shampunj, shariathotpatrol, SignalWalker, siigiil, Simyon264, sirdragooon, Sirionaut, Sk1tch, SkaldetSkaeg, Skarletto, Skrauz, Skyedra, SlamBamActionman, slarticodefast, Slava0135, Slyfox333, snebl, snicket, sniperchance, Snowni, snowsignal, SolidusSnek, SonicHDC, SoulFN, SoulSloth, Soundwavesghost, southbridge-fur, Soydium, SpaceLizardSky, SpaceManiac, SpaceyLady, Spanky, spanky-spanky, spartak, SpartanKadence, SpeltIncorrectyl, Spessmann, SphiraI, SplinterGP, spoogemonster, sporekto, sporkyz, ssdaniel24, stalengd, stanberytrask, Stanislav4ix, StanTheCarpenter, Stealthbomber16, stellar-novas, stomf, stopbreaking, stopka-html, StrawberryMoses, Stray-Pyramid, strO0pwafel, Strol20, StStevens, Subversionary, sunbear-dev, superjj18, Supernorn, SweptWasTaken, Sybil, SYNCHRONIC, Szunti, Tainakov, takemysoult, TaralGit, Taran, taurie, Tayrtahn, tday93, teamaki, TekuNut, telyonok, TemporalOroboros, tentekal, terezi4real, Terraspark4941, texcruize, TGODiamond, TGRCdev, tgrkzus, ThatOneGoblin25, thatrandomcanadianguy, TheArturZh, theashtronaut, thecopbennet, TheCze, TheDarkElites, thedraccx, TheEmber, TheIntoxicatedCat, thekilk, themias, theomund, theOperand, TherapyGoth, TheShuEd, thetolbean, thevinter, TheWaffleJesus, Thinbug0, ThunderBear2006, timothyteakettle, TimrodDX, timurjavid, tin-man-tim, Titian3, tk-a369, tkdrg, tmtmtl30, TokenStyle, Tollhouse, Toly65, tom-leys, tomasalves8, Tomeno, Tonydatguy, topy, Tornado-Technology, tosatur, TotallyLemon, tropicalhibi, truepaintgit, Truoizys, Tryded, TsjipTsjip, Tunguso4ka, TurboTrackerss14, TyAshley, Tyler-IN, Tyzemol, UbaserB, ubis1, UBlueberry, UKNOWH, UltimateJester, Unbelievable-Salmon, underscorex5, UnicornOnLSD, Unisol, Unkn0wnGh0st333, unusualcrow, Uriende, UristMcDorf, user424242420, Vaaankas, valentfingerov, Varen, VasilisThePikachu, veliebm, VelonacepsCalyxEggs, veprolet, veritable-calamity, Veritius, Vermidia, vero5123, Verslebas, VigersRay, violet754, Visne, VMSolidus, voidnull000, volotomite, volundr-, Voomra, Vordenburg, vorkathbruh, vulppine, wafehling, Warentan, WarMechanic, Watermelon914, waylon531, weaversam8, wertanchik, whateverusername0, Willhelm53, WilliamECrew, willicassi, Winkarst-cpu, wirdal, wixoaGit, WlarusFromDaSpace, wrexbe, wtcwr68, xkreksx, xprospero, xRiriq, YanehCheck, yathxyz, Ygg01, YotaXP, youarereadingthis, Yousifb26, youtissoum, YuriyKiss, zach-hill, Zadeon, zamp, Zandario, Zap527, Zealith-Gamer, ZelteHonor, zero, ZeroDiamond, zerorulez, ZeWaka, zionnBE, ZNixian, ZoldorfTheWizard, Zonespace27, Zylofan, Zymem, zzylex +0x6273, 12rabbits, 13spacemen, 2013HORSEMEATSCANDAL, 20kdc, 21Melkuu, 3nderall, 4310v343k, 4dplanner, 612git, 778b, Ablankmann, abregado, Absolute-Potato, achookh, Acruid, actioninja, actually-reb, ada-please, adamsong, Adeinitas, Admiral-Obvious-001, adrian, Adrian16199, Ady4ik, Aerocrux, Aeshus, Aexolott, Aexxie, africalimedrop, Afrokada, AftrLite, Agoichi, Ahion, aiden, AJCM-git, AjexRose, Alekshhh, alexkar598, AlexMorgan3817, alexumandxgabriel08x, Alithsko, ALMv1, Alpha-Two, AlphaQwerty, Altoids1, amylizzle, ancientpower, Andre19926, AndrewEyeke, AndreyCamper, Anzarot121, Appiah, ar4ill, ArchPigeon, ArchRBX, areitpog, Arendian, arimah, Arkanic, ArkiveDev, armoks, Arteben, ArthurMousatov, ArtisticRoomba, artur, AruMoon, ArZarLordOfMango, as334, AsikKEsel, AsnDen, asperger-sind, aspiringLich, astriloqua, august-sun, AutoOtter, avghdev, Awlod, AzzyIsNotHere, BackeTako, BananaFlambe, Baptr0b0t, BasedUser, beck-thompson, bellwetherlogic, benev0, benjamin-burges, BGare, bhenrich, bhespiritu, bibbly, BIGZi0348, bingojohnson, BismarckShuffle, Bixkitts, Blackern5000, Blazeror, BlitzTheSquishy, bloodrizer, Bloody2372, blueDev2, Boaz1111, BobdaBiscuit, BobTheSleder, boiled-water-tsar, BombasterDS, botanySupremist, brainfood1183, BramvanZijp, Brandon-Huu, BriBrooo, Bright0, brndd, bryce0110, BubblegumBlue, buletsponge, buntobaggins, bvelliquette, byondfuckery, c0rigin, c4llv07e, CaasGit, Caconym27, Calecute, Callmore, capnsockless, CaptainSqrBeard, Carbonhell, Carolyn3114, Carou02, carteblanche4me, Catofquestionableethics, CatTheSystem, Centronias, chairbender, Charlese2, charlie, ChaseFlorom, chavonadelal, Cheackraze, cheesePizza2, cheeseplated, Chief-Engineer, chillyconmor, christhirtle, chromiumboy, Chronophylos, Chubbicous, Chubbygummibear, Ciac32, civilCornball, Clement-O, clyf, Clyybber, CMDR-Piboy314, cohanna, Cohnway, Cojoke-dot, ColdAutumnRain, Colin-Tel, collinlunn, ComicIronic, CookieMasterT, coolboy911, coolmankid12345, Coolsurf6, corentt, CormosLemming, crazybrain23, creadth, CrigCrag, croilbird, Crotalus, CrudeWax, CrzyPotato, cutemoongod, Cyberboss, d34d10cc, d4kii, DadeKuma, Daemon, daerSeebaer, dahnte, dakamakat, DamianX, DangerRevolution, daniel-cr, DanSAussieITS, Daracke, Darkenson, DawBla, Daxxi3, dch-GH, de0rix, Deahaka, dean, DEATHB4DEFEAT, DeathCamel58, Deatherd, deathride58, DebugOk, Decappi, Decortex, Deeeeja, deepdarkdepths, degradka, Delete69, deltanedas, DenisShvalov, DerbyX, derek, dersheppard, Deserty0, Detintinto, DevilishMilk, dexlerxd, dffdff2423, DieselMohawk, digitalic, Dimastra, DinoWattz, DisposableCrewmember42, DjfjdfofdjfjD, doc-michael, docnite, Doctor-Cpu, DoctorBeard, DogZeroX, dolgovmi, dontbetank, Doomsdrayk, Doru991, DoubleRiceEddiedd, DoutorWhite, dragonryan06, drakewill-CRL, Drayff, dreamlyjack, DrEnzyme, dribblydrone, DrMelon, drongood12, DrSingh, DrSmugleaf, drteaspoon420, DTanxxx, DubiousDoggo, Duddino, dukevanity, duskyjay, Dutch-VanDerLinde, dvir001, Dynexust, Easypoller, echo, eclips_e, eden077, EEASAS, Efruit, efzapa, Ekkosangen, ElectroSR, elsie, elthundercloud, Elysium206, Emisse, emmafornash, EmoGarbage404, Endecc, eoineoineoin, eris, erohrs2, ERORR404V1, Errant-4, ertanic, esguard, estacaoespacialpirata, eugene, exincore, exp111, f0x-n3rd, FacePluslll, Fahasor, FairlySadPanda, FATFSAAM2, Feluk6174, ficcialfaint, Fiftyllama, Fildrance, FillerVK, FinnishPaladin, FirinMaLazors, Fishfish458, FL-OZ, Flareguy, flashgnash, FluffiestFloof, FluffMe, FluidRock, foboscheshir, FoLoKe, fooberticus, ForestNoises, forgotmyotheraccount, forkeyboards, forthbridge, Fortune117, Fouin, foxhorn, freeman2651, freeze2222, Froffy025, Fromoriss, froozigiusz, FrostMando, FungiFellow, FunTust, Futuristic-OK, GalacticChimp, gamer3107, Gaxeer, gbasood, Geekyhobo, genderGeometries, GeneralGaws, Genkail, geraeumig, Ghagliiarghii, Git-Nivrak, githubuser508, gituhabu, GlassEclipse, GNF54, godisdeadLOL, goet, Goldminermac, Golinth, GoodWheatley, Gorox221, gradientvera, graevy, GraniteSidewalk, GreaseMonk, greenrock64, GreyMario, GTRsound, gusxyz, Gyrandola, h3half, hamurlik, Hanzdegloker, HappyRoach, Hardly3D, harikattar, he1acdvv, Hebi, Henry, HerCoyote23, hitomishirichan, hiucko, Hmeister-fake, Hmeister-real, Hobbitmax, hobnob, HoidC, Holinka4ever, holyssss, HoofedEar, Hoolny, hord-brayden, Hreno, hubismal, Hugal31, Huxellberger, Hyenh, hyphenationc, i-justuser-i, iacore, IamVelcroboy, Ian321, icekot8, icesickleone, iczero, iglov, IgorAnt028, igorsaux, ike709, illersaver, Illiux, Ilushkins33, Ilya246, IlyaElDunaev, imrenq, imweax, indeano, Injazz, Insineer, IntegerTempest, Interrobang01, IProduceWidgets, ItsMeThom, Itzbenz, iztokbajcar, Jackal298, Jackrost, jacksonzck, Jackw2As, jacob, jamessimo, janekvap, Jark255, Jarmer123, Jaskanbe, JasperJRoth, JerryImMouse, jerryimmouse, Jessetriesagain, jessicamaybe, Jezithyr, jicksaw, JiimBob, JimGamemaster, jimmy12or, JIPDawg, jjtParadox, jmcb, JoeHammad1844, JohnGinnane, johnku1, Jophire, joshepvodka, Jrpl, juliangiebel, JustArt1m, JustCone14, justdie12, justin, justintether, JustinTrotter, justtne, K-Dynamic, k3yw, Kadeo64, Kaga-404, KaiShibaa, kalane15, kalanosh, Kanashi-Panda, katzenminer, kbailey-git, Keelin, Keer-Sar, KEEYNy, keikiru, Kelrak, kerisargit, keronshb, KIBORG04, Killerqu00, Kimpes, KingFroozy, kira-er, Kirillcas, Kirus59, Kistras, Kit0vras, KittenColony, klaypexx, Kmc2000, Ko4ergaPunk, kognise, kokoc9n, komunre, KonstantinAngelov, kosticia, koteq, KrasnoshchekovPavel, Krunklehorn, Kupie, kxvvv, kyupolaris, kzhanik, lajolico, Lamrr, LankLTE, laok233, lapatison, larryrussian, lawdog4817, Lazzi0706, leander-0, leonardo-dabepis, leonsfriedrich, LeoSantich, LetterN, lettern, Level10Cybermancer, LEVELcat, lever1209, Lgibb18, lgruthes, LightVillet, liltenhead, LinkUyx, LittleBuilderJane, LittleNorthStar, LittleNyanCat, lizelive, localcc, lokachop, Lomcastar, LordCarve, LordEclipse, LucasTheDrgn, luckyshotpictures, LudwigVonChesterfield, luizwritescode, Lukasz825700516, luminight, lunarcomets, luringens, lvvova1, Lyndomen, lyroth001, lzimann, lzk228, M3739, mac6na6na, MACMAN2003, Macoron, Magicalus, magmodius, MagnusCrowe, malchanceux, MaloTV, ManelNavola, Mangohydra, marboww, Markek1, Matz05, max, MaxNox7, maylokana, MehimoNemo, MeltedPixel, MemeProof, MendaxxDev, Menshin, Mephisto72, MerrytheManokit, Mervill, metalgearsloth, MetalSage, MFMessage, mhamsterr, michaelcu, micheel665, MilenVolf, MilonPL, Minemoder5000, Minty642, Mirino97, mirrorcult, misandrie, MishaUnity, MissKay1994, MisterMecky, Mith-randalf, MjrLandWhale, mkanke-real, MLGTASTICa, moderatelyaware, modern-nm, mokiros, Moneyl, Moomoobeef, moony, Morb0, mr-bo-jangles, Mr0maks, MrFippik, mrrobdemo, muburu, MureixloI, musicmanvr, MWKane, Myakot, Myctai, N3X15, nails-n-tape, Nairodian, Naive817, NakataRin, namespace-Memory, Nannek, NazrinNya, neutrino-laser, NickPowers43, nikthechampiongr, Nimfar11, Nirnael, NIXC, NkoKirkto, nmajask, noctyrnal, noelkathegod, nok-ko, NonchalantNoob, NoobyLegion, Nopey, not-gavnaed, notafet, notquitehadouken, NotSoDana, noudoit, noverd, NuclearWinter, nukashimika, nuke-haus, NULL882, nullarmo, nyeogmi, Nylux, Nyranu, och-och, OctoRocket, OldDanceJacket, OliverOtter, onoira, OnyxTheBrave, OrangeMoronage9622, osjarw, Ostaf, othymer, OttoMaticode, Owai-Seek, packmore, paigemaeforrest, pali6, Pangogie, panzer-iv1, paolordls, partyaddict, patrikturi, PaulRitter, peccneck, Peptide90, peptron1, PeterFuto, PetMudstone, pewter-wiz, Pgriha, Phantom-Lily, pheenty, Phill101, phunnyguy, PilgrimViis, Pill-U, Pireax, Pissachu, pissdemon, PixeltheAertistContrib, PixelTheKermit, PJB3005, Plasmaguy, plinyvic, Plykiya, poeMota, pofitlo, pointer-to-null, pok27, PolterTzi, PoorMansDreams, PopGamer45, portfiend, potato1234x, PotentiallyTom, ProfanedBane, ProPandaBear, PrPleGoo, ps3moira, Pspritechologist, Psychpsyo, psykzz, PuceTint, PuroSlavKing, PursuitInAshes, Putnam3145, qrtDaniil, quatre, QueerNB, QuietlyWhisper, qwerltaz, RadioMull, Radosvik, Radrark, Rainbeon, Rainfey, Raitononai, Ramlik, RamZ, randy10122, Rane, Ranger6012, Rapidgame7, ravage123321, rbertoche, Redfire1331, Redict, RedlineTriad, redmushie, RednoWCirabrab, RemberBM, RemieRichards, RemTim, rene-descartes2021, Renlou, retequizzle, RiceMar1244, rich-dunne, RieBi, riggleprime, RIKELOLDABOSS, rinary1, Rinkashikachi, riolume, RobbyTheFish, Rockdtben, Rohesie, rok-povsic, rolfero, RomanNovo, rosieposieeee, Roudenn, router, RumiTiger, S1rFl0, S1ss3l, Saakra, Sadie-silly, saga3152, saintmuntzer, Salex08, sam, samgithubaccount, SaphireLattice, SapphicOverload, Sarahon, sativaleanne, SaveliyM360, sBasalto, ScalyChimp, ScarKy0, scrato, Scribbles0, scrivoy, scruq445, scuffedjays, ScumbagDog, Segonist, sephtasm, Serkket, sewerpig, sh18rw, ShadeAware, ShadowCommander, Shadowtheprotogen546, shaeone, shampunj, shariathotpatrol, SignalWalker, siigiil, Simyon264, sirdragooon, Sirionaut, Sk1tch, SkaldetSkaeg, Skarletto, Skrauz, Skyedra, SlamBamActionman, slarticodefast, Slava0135, Slyfox333, snebl, snicket, sniperchance, Snowni, snowsignal, SolidusSnek, SonicHDC, SoulFN, SoulSloth, Soundwavesghost, southbridge-fur, Soydium, spacelizard, SpaceLizardSky, SpaceManiac, SpaceyLady, Spanky, spanky-spanky, spartak, SpartanKadence, SpeltIncorrectyl, Spessmann, SphiraI, SplinterGP, spoogemonster, sporekto, sporkyz, ssdaniel24, stalengd, stanberytrask, Stanislav4ix, StanTheCarpenter, Stealthbomber16, stellar-novas, stomf, stopbreaking, stopka-html, StrawberryMoses, Stray-Pyramid, strO0pwafel, Strol20, StStevens, Subversionary, sunbear-dev, superjj18, Supernorn, SweptWasTaken, Sybil, SYNCHRONIC, Szunti, Tainakov, takemysoult, TaralGit, Taran, taurie, Tayrtahn, tday93, teamaki, TekuNut, telyonok, TemporalOroboros, tentekal, terezi4real, Terraspark4941, texcruize, TGODiamond, TGRCdev, tgrkzus, ThatOneGoblin25, thatrandomcanadianguy, TheArturZh, theashtronaut, thecopbennet, TheCze, TheDarkElites, thedraccx, TheEmber, TheIntoxicatedCat, thekilk, themias, theomund, theOperand, TherapyGoth, TheShuEd, thetolbean, thevinter, TheWaffleJesus, Thinbug0, ThunderBear2006, timothyteakettle, TimrodDX, timurjavid, tin-man-tim, Titian3, tk-a369, tkdrg, tmtmtl30, TokenStyle, Tollhouse, Toly65, tom-leys, tomasalves8, Tomeno, Tonydatguy, topy, Tornado-Technology, tosatur, TotallyLemon, tropicalhibi, truepaintgit, Truoizys, Tryded, TsjipTsjip, Tunguso4ka, TurboTrackerss14, TyAshley, Tyler-IN, Tyzemol, UbaserB, ubis1, UBlueberry, UKNOWH, UltimateJester, Unbelievable-Salmon, underscorex5, UnicornOnLSD, Unisol, Unkn0wnGh0st333, unusualcrow, Uriende, UristMcDorf, user424242420, Vaaankas, valentfingerov, Varen, VasilisThePikachu, veliebm, VelonacepsCalyxEggs, veprolet, veritable-calamity, Veritius, Vermidia, vero5123, Verslebas, VigersRay, violet754, Visne, VMSolidus, voidnull000, volotomite, volundr-, Voomra, Vordenburg, vorkathbruh, vulppine, wafehling, Warentan, WarMechanic, Watermelon914, waylon531, weaversam8, wertanchik, whateverusername0, Willhelm53, WilliamECrew, willicassi, Winkarst-cpu, wirdal, wixoaGit, WlarusFromDaSpace, wrexbe, wtcwr68, xkreksx, xprospero, xRiriq, YanehCheck, yathxyz, Ygg01, YotaXP, youarereadingthis, Yousifb26, youtissoum, YuriyKiss, zach-hill, Zadeon, zamp, Zandario, Zap527, Zealith-Gamer, ZelteHonor, zero, ZeroDiamond, zerorulez, ZeWaka, zionnBE, ZNixian, ZoldorfTheWizard, Zonespace27, Zylofan, Zymem, zzylex From 912ac2c06980710bd5d96e7fb851922e2ff70c68 Mon Sep 17 00:00:00 2001 From: Plykiya <58439124+Plykiya@users.noreply.github.com> Date: Sun, 3 Nov 2024 03:25:30 -0800 Subject: [PATCH 139/588] Bugfix: Wielding now uses identity system. (#33134) Make wielding system use identity --- Content.Shared/Wieldable/WieldableSystem.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Content.Shared/Wieldable/WieldableSystem.cs b/Content.Shared/Wieldable/WieldableSystem.cs index d76876c0cf..0a193576bf 100644 --- a/Content.Shared/Wieldable/WieldableSystem.cs +++ b/Content.Shared/Wieldable/WieldableSystem.cs @@ -3,6 +3,7 @@ using Content.Shared.Hands; using Content.Shared.Hands.Components; using Content.Shared.Hands.EntitySystems; +using Content.Shared.IdentityManagement; using Content.Shared.Interaction.Events; using Content.Shared.Inventory.VirtualItem; using Content.Shared.Item; @@ -125,7 +126,7 @@ private void OnExamineRequires(Entity entity, ref Exa private void OnExamine(EntityUid uid, GunWieldBonusComponent component, ref ExaminedEvent args) { - if (HasComp(uid)) + if (HasComp(uid)) return; if (component.WieldBonusExamineMessage != null) @@ -253,7 +254,7 @@ public bool TryWield(EntityUid used, WieldableComponent component, EntityUid use return false; var selfMessage = Loc.GetString("wieldable-component-successful-wield", ("item", used)); - var othersMessage = Loc.GetString("wieldable-component-successful-wield-other", ("user", user), ("item", used)); + var othersMessage = Loc.GetString("wieldable-component-successful-wield-other", ("user", Identity.Entity(user, EntityManager)), ("item", used)); _popupSystem.PopupPredicted(selfMessage, othersMessage, user, user); var targEv = new ItemWieldedEvent(); @@ -298,7 +299,7 @@ private void OnItemUnwielded(EntityUid uid, WieldableComponent component, ItemUn _audioSystem.PlayPredicted(component.UnwieldSound, uid, args.User); var selfMessage = Loc.GetString("wieldable-component-failed-wield", ("item", uid)); - var othersMessage = Loc.GetString("wieldable-component-failed-wield-other", ("user", args.User.Value), ("item", uid)); + var othersMessage = Loc.GetString("wieldable-component-failed-wield-other", ("user", Identity.Entity(args.User.Value, EntityManager)), ("item", uid)); _popupSystem.PopupPredicted(selfMessage, othersMessage, args.User.Value, args.User.Value); } From a0ef431255f122c360e4f1734e26e092ddce9705 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sun, 3 Nov 2024 11:26:38 +0000 Subject: [PATCH 140/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index d82950a286..b20b6726bf 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Flareguy - changes: - - message: Added vox sprites for most of the remaining common mask items. - type: Add - id: 7085 - time: '2024-08-10T21:06:50.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30838 - author: Scribbles0, Plykiya, nikthechampiongr changes: - message: You can now execute incapacitated/cuffed entities or yourself with certain @@ -3953,3 +3946,11 @@ id: 7584 time: '2024-11-02T15:12:26.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33067 +- author: Plykiya + changes: + - message: Wielding weapons no longer displays your character's real identity when + your identity is hidden. + type: Fix + id: 7585 + time: '2024-11-03T11:25:30.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33134 From cc3a19c212e96eda25236060c7809a66a69d7bdd Mon Sep 17 00:00:00 2001 From: MilenVolf <63782763+MilenVolf@users.noreply.github.com> Date: Mon, 4 Nov 2024 03:49:42 +0300 Subject: [PATCH 141/588] Collapsible ghost roles menu (#32717) * Make ghost roles collapsible * Save `BodyVisible` state of each `Collapsible` box * Make ghost role collapsible only when group has more than 1 role * Make it a little prettier * Make only ghost role buttons collapsible * Apply requested changes * Typo * Small cleanup * Store in list, instead of iterating * Make unique ids more unique * Move it out of the cycle * Make _collapsibleBoxes into dictionary and use key instead of Collapsible boxes names Added TODO. So after the problem will be fixed in `GhostRolesEui`, it should be mirrored and fixed here too. * Put TODO in GhostRolesEui. I guess Issue must be made for this * Use HashSet instead of Dictionary as suggested. Invert the HashSet, so being present means it uncollapsed I decided to invert HashSet to _uncollapsedStates, because players surely will have more collapsed buttons than opened, so we optimise memory usage a little bit. * Remove extra space from ghost roles window * Add buttons stretching. Size 3:1 --- .../Controls/Roles/GhostRoleButtonsBox.xaml | 9 +++ ...ry.xaml.cs => GhostRoleButtonsBox.xaml.cs} | 7 +- .../Controls/Roles/GhostRoleEntryButtons.xaml | 10 +-- .../Controls/Roles/GhostRoleInfoBox.xaml | 8 ++ .../Controls/Roles/GhostRoleInfoBox.xaml.cs | 18 +++++ .../Ghost/Controls/Roles/GhostRolesEntry.xaml | 16 ---- .../Ghost/Controls/Roles/GhostRolesEui.cs | 30 +++++--- .../Controls/Roles/GhostRolesWindow.xaml.cs | 77 ++++++++++++++++++- Resources/Locale/en-US/ghost/ghost-gui.ftl | 1 + 9 files changed, 136 insertions(+), 40 deletions(-) create mode 100644 Content.Client/UserInterface/Systems/Ghost/Controls/Roles/GhostRoleButtonsBox.xaml rename Content.Client/UserInterface/Systems/Ghost/Controls/Roles/{GhostRolesEntry.xaml.cs => GhostRoleButtonsBox.xaml.cs} (86%) create mode 100644 Content.Client/UserInterface/Systems/Ghost/Controls/Roles/GhostRoleInfoBox.xaml create mode 100644 Content.Client/UserInterface/Systems/Ghost/Controls/Roles/GhostRoleInfoBox.xaml.cs delete mode 100644 Content.Client/UserInterface/Systems/Ghost/Controls/Roles/GhostRolesEntry.xaml diff --git a/Content.Client/UserInterface/Systems/Ghost/Controls/Roles/GhostRoleButtonsBox.xaml b/Content.Client/UserInterface/Systems/Ghost/Controls/Roles/GhostRoleButtonsBox.xaml new file mode 100644 index 0000000000..32d611e771 --- /dev/null +++ b/Content.Client/UserInterface/Systems/Ghost/Controls/Roles/GhostRoleButtonsBox.xaml @@ -0,0 +1,9 @@ + + + + + diff --git a/Content.Client/UserInterface/Systems/Ghost/Controls/Roles/GhostRolesEntry.xaml.cs b/Content.Client/UserInterface/Systems/Ghost/Controls/Roles/GhostRoleButtonsBox.xaml.cs similarity index 86% rename from Content.Client/UserInterface/Systems/Ghost/Controls/Roles/GhostRolesEntry.xaml.cs rename to Content.Client/UserInterface/Systems/Ghost/Controls/Roles/GhostRoleButtonsBox.xaml.cs index fc53cc72ae..7df0243416 100644 --- a/Content.Client/UserInterface/Systems/Ghost/Controls/Roles/GhostRolesEntry.xaml.cs +++ b/Content.Client/UserInterface/Systems/Ghost/Controls/Roles/GhostRoleButtonsBox.xaml.cs @@ -10,20 +10,17 @@ namespace Content.Client.UserInterface.Systems.Ghost.Controls.Roles { [GenerateTypedNameReferences] - public sealed partial class GhostRolesEntry : BoxContainer + public sealed partial class GhostRoleButtonsBox : BoxContainer { private SpriteSystem _spriteSystem; public event Action? OnRoleSelected; public event Action? OnRoleFollow; - public GhostRolesEntry(string name, string description, bool hasAccess, FormattedMessage? reason, IEnumerable roles, SpriteSystem spriteSystem) + public GhostRoleButtonsBox(bool hasAccess, FormattedMessage? reason, IEnumerable roles, SpriteSystem spriteSystem) { RobustXamlLoader.Load(this); _spriteSystem = spriteSystem; - Title.Text = name; - Description.SetMessage(description); - foreach (var role in roles) { var button = new GhostRoleEntryButtons(role); diff --git a/Content.Client/UserInterface/Systems/Ghost/Controls/Roles/GhostRoleEntryButtons.xaml b/Content.Client/UserInterface/Systems/Ghost/Controls/Roles/GhostRoleEntryButtons.xaml index ffde5d69f7..05c52deef1 100644 --- a/Content.Client/UserInterface/Systems/Ghost/Controls/Roles/GhostRoleEntryButtons.xaml +++ b/Content.Client/UserInterface/Systems/Ghost/Controls/Roles/GhostRoleEntryButtons.xaml @@ -1,15 +1,15 @@  + Orientation="Horizontal" + HorizontalAlignment="Stretch"> public void AttemptShoot(EntityUid gunUid, GunComponent gun) { - var coordinates = new EntityCoordinates(gunUid, new Vector2(0, -1)); + var coordinates = new EntityCoordinates(gunUid, gun.DefaultDirection); gun.ShootCoordinates = coordinates; AttemptShoot(gunUid, gunUid, gun); gun.ShotCounter = 0; @@ -258,6 +258,9 @@ private void AttemptShoot(EntityUid user, EntityUid gunUid, GunComponent gun) var fireRate = TimeSpan.FromSeconds(1f / gun.FireRateModified); + if (gun.SelectedMode == SelectiveFire.Burst || gun.BurstActivated) + fireRate = TimeSpan.FromSeconds(1f / gun.BurstFireRate); + // First shot // Previously we checked shotcounter but in some cases all the bullets got dumped at once // curTime - fireRate is insufficient because if you time it just right you can get a 3rd shot out slightly quicker. @@ -278,18 +281,24 @@ private void AttemptShoot(EntityUid user, EntityUid gunUid, GunComponent gun) // Get how many shots we're actually allowed to make, due to clip size or otherwise. // Don't do this in the loop so we still reset NextFire. - switch (gun.SelectedMode) + if (!gun.BurstActivated) + { + switch (gun.SelectedMode) + { + case SelectiveFire.SemiAuto: + shots = Math.Min(shots, 1 - gun.ShotCounter); + break; + case SelectiveFire.Burst: + shots = Math.Min(shots, gun.ShotsPerBurstModified - gun.ShotCounter); + break; + case SelectiveFire.FullAuto: + break; + default: + throw new ArgumentOutOfRangeException($"No implemented shooting behavior for {gun.SelectedMode}!"); + } + } else { - case SelectiveFire.SemiAuto: - shots = Math.Min(shots, 1 - gun.ShotCounter); - break; - case SelectiveFire.Burst: - shots = Math.Min(shots, gun.ShotsPerBurstModified - gun.ShotCounter); - break; - case SelectiveFire.FullAuto: - break; - default: - throw new ArgumentOutOfRangeException($"No implemented shooting behavior for {gun.SelectedMode}!"); + shots = Math.Min(shots, gun.ShotsPerBurstModified - gun.ShotCounter); } var attemptEv = new AttemptShootEvent(user, null); @@ -301,7 +310,8 @@ private void AttemptShoot(EntityUid user, EntityUid gunUid, GunComponent gun) { PopupSystem.PopupClient(attemptEv.Message, gunUid, user); } - + gun.BurstActivated = false; + gun.BurstShotsCount = 0; gun.NextFire = TimeSpan.FromSeconds(Math.Max(lastFire.TotalSeconds + SafetyNextFire, gun.NextFire.TotalSeconds)); return; } @@ -328,6 +338,10 @@ private void AttemptShoot(EntityUid user, EntityUid gunUid, GunComponent gun) var emptyGunShotEvent = new OnEmptyGunShotEvent(); RaiseLocalEvent(gunUid, ref emptyGunShotEvent); + gun.BurstActivated = false; + gun.BurstShotsCount = 0; + gun.NextFire += TimeSpan.FromSeconds(gun.BurstCooldown); + // Play empty gun sounds if relevant // If they're firing an existing clip then don't play anything. if (shots > 0) @@ -347,6 +361,22 @@ private void AttemptShoot(EntityUid user, EntityUid gunUid, GunComponent gun) return; } + // Handle burstfire + if (gun.SelectedMode == SelectiveFire.Burst) + { + gun.BurstActivated = true; + } + if (gun.BurstActivated) + { + gun.BurstShotsCount += shots; + if (gun.BurstShotsCount >= gun.ShotsPerBurstModified) + { + gun.NextFire += TimeSpan.FromSeconds(gun.BurstCooldown); + gun.BurstActivated = false; + gun.BurstShotsCount = 0; + } + } + // Shoot confirmed - sounds also played here in case it's invalid (e.g. cartridge already spent). Shoot(gunUid, gun, ev.Ammo, fromCoordinates, toCoordinates.Value, out var userImpulse, user, throwItems: attemptEv.ThrowItems); var shotEv = new GunShotEvent(user, ev.Ammo); diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml index a22be1da04..5140a358e1 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/SMGs/smgs.yml @@ -19,6 +19,7 @@ minAngle: 2 maxAngle: 16 fireRate: 8 + burstFireRate: 8 angleIncrease: 3 angleDecay: 16 selectedMode: FullAuto @@ -27,6 +28,7 @@ - FullAuto soundGunshot: path: /Audio/Weapons/Guns/Gunshots/smg.ogg + defaultDirection: 1, 0 - type: ChamberMagazineAmmoProvider soundRack: path: /Audio/Weapons/Guns/Cock/smg_cock.ogg @@ -140,12 +142,15 @@ - type: Gun minAngle: 21 maxAngle: 32 - fireRate: 6 - selectedMode: FullAuto + fireRate: 12 + burstFireRate: 12 + selectedMode: Burst soundGunshot: path: /Audio/Weapons/Guns/Gunshots/atreides.ogg availableModes: - - FullAuto + - Burst + shotsPerBurst: 3 + burstCooldown: 0.25 - type: ItemSlots slots: gun_magazine: @@ -250,6 +255,8 @@ angleDecay: 6 selectedMode: FullAuto shotsPerBurst: 5 + burstCooldown: 0.2 + burstFireRate: 7 availableModes: - SemiAuto - Burst From 5b0761dab265d80c7ed1dd5934b6e8f97bf642ef Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 6 Nov 2024 14:40:22 +0000 Subject: [PATCH 170/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 7e34cd8445..25dd61eb68 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: DieselMohawk - changes: - - message: Resprited Security vest and helmet - type: Tweak - id: 7097 - time: '2024-08-12T06:20:56.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30291 - author: Ubaser changes: - message: Mantles are now available in loadouts, requiring 20 hours of that head @@ -3951,3 +3944,12 @@ id: 7596 time: '2024-11-06T14:27:11.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/32829 +- author: SlamBamActionman + changes: + - message: WT550 and C20-r's "burst" firemodes are now actual bursts. + type: Tweak + - message: Drozd is now a burst-only weapon (DPS remains unchanged!). + type: Tweak + id: 7597 + time: '2024-11-06T14:39:16.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/31292 From 18971f270539a69c54b203a87b40573eacbbabaa Mon Sep 17 00:00:00 2001 From: cohanna Date: Wed, 6 Nov 2024 21:39:02 -0700 Subject: [PATCH 171/588] Reverted #31978 --- .../Entities/Structures/Windows/clockwork.yml | 20 +-- .../Entities/Structures/Windows/mining.yml | 4 +- .../Entities/Structures/Windows/plasma.yml | 25 +-- .../Structures/Windows/plastitanium.yml | 8 +- .../Structures/Windows/reinforced.yml | 35 +++- .../Entities/Structures/Windows/rplasma.yml | 14 +- .../Entities/Structures/Windows/ruranium.yml | 16 +- .../Entities/Structures/Windows/shuttle.yml | 4 +- .../Entities/Structures/Windows/uranium.yml | 24 +-- .../Entities/Structures/Windows/window.yml | 30 +--- .../Construction/Graphs/structures/window.yml | 170 +++++++----------- .../Graphs/structures/window_diagonal.yml | 146 ++++++--------- .../Graphs/structures/windowdirectional.yml | 146 ++++----------- .../Recipes/Construction/structures.yml | 42 ++--- ...ageOverlay_20.png => DamageOverlay_12.png} | Bin ...amageOverlay_5.png => DamageOverlay_4.png} | Bin ...mageOverlay_10.png => DamageOverlay_8.png} | Bin .../Structures/Windows/cracks.rsi/meta.json | 6 +- ...ageOverlay_20.png => DamageOverlay_12.png} | Bin ...amageOverlay_5.png => DamageOverlay_4.png} | Bin ...mageOverlay_10.png => DamageOverlay_8.png} | Bin .../Windows/cracks_diagonal.rsi/meta.json | 6 +- ...ageOverlay_20.png => DamageOverlay_12.png} | Bin ...amageOverlay_5.png => DamageOverlay_4.png} | Bin ...mageOverlay_10.png => DamageOverlay_8.png} | Bin .../Windows/cracks_directional.rsi/meta.json | 6 +- 26 files changed, 247 insertions(+), 455 deletions(-) rename Resources/Textures/Structures/Windows/cracks.rsi/{DamageOverlay_20.png => DamageOverlay_12.png} (100%) rename Resources/Textures/Structures/Windows/cracks.rsi/{DamageOverlay_5.png => DamageOverlay_4.png} (100%) rename Resources/Textures/Structures/Windows/cracks.rsi/{DamageOverlay_10.png => DamageOverlay_8.png} (100%) rename Resources/Textures/Structures/Windows/cracks_diagonal.rsi/{DamageOverlay_20.png => DamageOverlay_12.png} (100%) rename Resources/Textures/Structures/Windows/cracks_diagonal.rsi/{DamageOverlay_5.png => DamageOverlay_4.png} (100%) rename Resources/Textures/Structures/Windows/cracks_diagonal.rsi/{DamageOverlay_10.png => DamageOverlay_8.png} (100%) rename Resources/Textures/Structures/Windows/cracks_directional.rsi/{DamageOverlay_20.png => DamageOverlay_12.png} (100%) rename Resources/Textures/Structures/Windows/cracks_directional.rsi/{DamageOverlay_5.png => DamageOverlay_4.png} (100%) rename Resources/Textures/Structures/Windows/cracks_directional.rsi/{DamageOverlay_10.png => DamageOverlay_8.png} (100%) diff --git a/Resources/Prototypes/Entities/Structures/Windows/clockwork.yml b/Resources/Prototypes/Entities/Structures/Windows/clockwork.yml index 3449d1d11a..992dfcda1c 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/clockwork.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/clockwork.yml @@ -47,8 +47,8 @@ node: clockworkWindow - type: Appearance - type: DamageVisuals - thresholds: [5, 10, 20] - damageDivisor: 3 + thresholds: [4, 8, 12] + damageDivisor: 4 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks.rsi @@ -74,8 +74,8 @@ node: windowClockworkDirectional - type: Appearance - type: DamageVisuals - thresholds: [5, 10, 20] - damageDivisor: 1.5 + thresholds: [4, 8, 12] + damageDivisor: 10 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks_directional.rsi @@ -85,17 +85,7 @@ thresholds: - trigger: !type:DamageTrigger - damage: 75 - behaviors: - - !type:DoActsBehavior - acts: [ "Destruction" ] - - !type:PlaySoundBehavior - sound: - collection: WindowShatter - - trigger: - !type:DamageTrigger - damage: 37 - behaviors: + damage: 150 - !type:PlaySoundBehavior sound: collection: WindowShatter diff --git a/Resources/Prototypes/Entities/Structures/Windows/mining.yml b/Resources/Prototypes/Entities/Structures/Windows/mining.yml index f0b77e6689..82d11b732b 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/mining.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/mining.yml @@ -43,8 +43,8 @@ base: mwindow - type: Appearance - type: DamageVisuals - thresholds: [5, 10, 20] - damageDivisor: 4 + thresholds: [4, 8, 12] + damageDivisor: 6 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks.rsi diff --git a/Resources/Prototypes/Entities/Structures/Windows/plasma.yml b/Resources/Prototypes/Entities/Structures/Windows/plasma.yml index 58991b9286..66fac515a7 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/plasma.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/plasma.yml @@ -10,12 +10,12 @@ sprite: Structures/Windows/plasma_window.rsi - type: Damageable damageContainer: StructuralInorganic - damageModifierSet: Glass + damageModifierSet: RGlass - type: Destructible thresholds: - trigger: !type:DamageTrigger - damage: 150 + damage: 120 behaviors: - !type:DoActsBehavior acts: [ "Destruction" ] @@ -24,7 +24,7 @@ collection: WindowShatter - trigger: !type:DamageTrigger - damage: 75 + damage: 60 behaviors: - !type:PlaySoundBehavior sound: @@ -43,8 +43,8 @@ node: plasmaWindow - type: Appearance - type: DamageVisuals - thresholds: [5, 10, 20] - damageDivisor: 3 + thresholds: [4, 8, 12] + damageDivisor: 3.333 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks.rsi @@ -74,8 +74,8 @@ node: plasmaWindowDirectional - type: Appearance - type: DamageVisuals - thresholds: [5, 10, 20] - damageDivisor: 1.5 + thresholds: [4, 8, 12] + damageDivisor: 3.333 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks_directional.rsi @@ -83,16 +83,7 @@ thresholds: - trigger: !type:DamageTrigger - damage: 75 - behaviors: - - !type:DoActsBehavior - acts: [ "Destruction" ] - - !type:PlaySoundBehavior - sound: - collection: WindowShatter - - trigger: - !type:DamageTrigger - damage: 37 + damage: 200 behaviors: - !type:PlaySoundBehavior sound: diff --git a/Resources/Prototypes/Entities/Structures/Windows/plastitanium.yml b/Resources/Prototypes/Entities/Structures/Windows/plastitanium.yml index e7af4b6c67..2134cfe892 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/plastitanium.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/plastitanium.yml @@ -98,8 +98,8 @@ - !type:DoActsBehavior acts: [ "Destruction" ] - type: DamageVisuals - thresholds: [5, 10, 20] - damageDivisor: 20 + thresholds: [4, 8, 12] + damageDivisor: 28 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks.rsi @@ -185,8 +185,8 @@ - !type:DoActsBehavior acts: [ "Destruction" ] - type: DamageVisuals - thresholds: [5, 10, 20] - damageDivisor: 20 + thresholds: [4, 8, 12] + damageDivisor: 28 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks_diagonal.rsi diff --git a/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml b/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml index 9e80d46e64..503d2eec6e 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml @@ -50,12 +50,31 @@ node: reinforcedWindow - type: Appearance - type: DamageVisuals - thresholds: [5, 10, 20] - damageDivisor: 3 + thresholds: [4, 8, 12] + damageDivisor: 4 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks.rsi +- type: entity + parent: ReinforcedWindow + id: TintedWindow + name: tinted window + components: + - type: Sprite + drawdepth: WallTops + sprite: Structures/Windows/tinted_window.rsi + - type: Icon + sprite: Structures/Windows/tinted_window.rsi + - type: IconSmooth + base: twindow + - type: Construction + graph: Window + node: tintedWindow + - type: Occluder + - type: StaticPrice + price: 45 + - type: entity id: WindowReinforcedDirectional parent: WindowDirectional @@ -77,8 +96,8 @@ node: windowReinforcedDirectional - type: Appearance - type: DamageVisuals - thresholds: [5, 10, 20] - damageDivisor: 1.5 + thresholds: [4, 8, 12] + damageDivisor: 10 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks_directional.rsi @@ -92,16 +111,16 @@ thresholds: - trigger: !type:DamageTrigger - damage: 75 + damage: 150 #excess damage (nuke?). avoid computational cost of spawning entities. behaviors: - - !type:DoActsBehavior - acts: [ "Destruction" ] - !type:PlaySoundBehavior sound: collection: WindowShatter + - !type:DoActsBehavior + acts: [ "Destruction" ] - trigger: !type:DamageTrigger - damage: 37 + damage: 50 behaviors: - !type:PlaySoundBehavior sound: diff --git a/Resources/Prototypes/Entities/Structures/Windows/rplasma.yml b/Resources/Prototypes/Entities/Structures/Windows/rplasma.yml index 0dfe893a5c..0940ac308a 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/rplasma.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/rplasma.yml @@ -17,7 +17,7 @@ thresholds: - trigger: !type:DamageTrigger - damage: 300 + damage: 200 behaviors: #excess damage, don't spawn entities. - !type:DoActsBehavior acts: [ "Destruction" ] @@ -26,7 +26,7 @@ collection: WindowShatter - trigger: !type:DamageTrigger - damage: 150 + damage: 100 behaviors: - !type:PlaySoundBehavior sound: @@ -48,7 +48,7 @@ node: reinforcedPlasmaWindow - type: Appearance - type: DamageVisuals - thresholds: [5, 10, 20] + thresholds: [4, 8, 12] damageDivisor: 6 trackAllDamage: true damageOverlay: @@ -77,8 +77,8 @@ node: plasmaReinforcedWindowDirectional - type: Appearance - type: DamageVisuals - thresholds: [5, 10, 20] - damageDivisor: 3 + thresholds: [4, 8, 12] + damageDivisor: 36 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks_directional.rsi @@ -88,13 +88,13 @@ thresholds: - trigger: !type:DamageTrigger - damage: 150 + damage: 1000 behaviors: #excess damage, don't spawn entities. - !type:DoActsBehavior acts: [ "Destruction" ] - trigger: !type:DamageTrigger - damage: 75 + damage: 600 behaviors: - !type:PlaySoundBehavior sound: diff --git a/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml b/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml index 2231ab6a49..b9b47c00ea 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml @@ -43,7 +43,7 @@ node: reinforcedUraniumWindow - type: Appearance - type: DamageVisuals - thresholds: [5, 10, 20] + thresholds: [4, 8, 12] damageDivisor: 6 trackAllDamage: true damageOverlay: @@ -74,8 +74,8 @@ node: uraniumReinforcedWindowDirectional - type: Appearance - type: DamageVisuals - thresholds: [5, 10, 20] - damageDivisor: 3 + thresholds: [4, 8, 12] + damageDivisor: 3.333 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks_directional.rsi @@ -83,13 +83,7 @@ thresholds: - trigger: !type:DamageTrigger - damage: 150 - behaviors: - - !type:DoActsBehavior - acts: [ "Destruction" ] - - trigger: - !type:DamageTrigger - damage: 75 + damage: 200 behaviors: - !type:PlaySoundBehavior sound: @@ -99,7 +93,7 @@ ShardGlassUranium: min: 1 max: 2 - PartRodMetal: + PartRodMetal1: min: 1 max: 2 - !type:DoActsBehavior diff --git a/Resources/Prototypes/Entities/Structures/Windows/shuttle.yml b/Resources/Prototypes/Entities/Structures/Windows/shuttle.yml index 659f5b8a20..1b4c96c170 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/shuttle.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/shuttle.yml @@ -46,8 +46,8 @@ node: shuttleWindow - type: Appearance - type: DamageVisuals - thresholds: [5, 10, 20] - damageDivisor: 20 + thresholds: [4, 8, 12] + damageDivisor: 28 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks.rsi diff --git a/Resources/Prototypes/Entities/Structures/Windows/uranium.yml b/Resources/Prototypes/Entities/Structures/Windows/uranium.yml index 514463f1d3..c7b7312a70 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/uranium.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/uranium.yml @@ -11,18 +11,18 @@ state: full - type: Damageable damageContainer: StructuralInorganic - damageModifierSet: Glass + damageModifierSet: RGlass - type: Destructible thresholds: - trigger: !type:DamageTrigger - damage: 150 + damage: 100 behaviors: - !type:DoActsBehavior acts: [ "Destruction" ] - trigger: !type:DamageTrigger - damage: 75 + damage: 60 behaviors: - !type:PlaySoundBehavior sound: @@ -41,8 +41,8 @@ node: uraniumWindow - type: Appearance - type: DamageVisuals - thresholds: [5, 10, 20] - damageDivisor: 3 + thresholds: [4, 8, 12] + damageDivisor: 3.333 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks.rsi @@ -72,8 +72,8 @@ node: uraniumWindowDirectional - type: Appearance - type: DamageVisuals - thresholds: [5, 10, 20] - damageDivisor: 1.5 + thresholds: [4, 8, 12] + damageDivisor: 3.333 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks_directional.rsi @@ -81,13 +81,7 @@ thresholds: - trigger: !type:DamageTrigger - damage: 75 - behaviors: - - !type:DoActsBehavior - acts: [ "Destruction" ] - - trigger: - !type:DamageTrigger - damage: 37 + damage: 200 behaviors: - !type:PlaySoundBehavior sound: @@ -96,7 +90,7 @@ spawn: ShardGlassUranium: min: 1 - max: 1 + max: 2 - !type:DoActsBehavior acts: [ "Destruction" ] - type: StaticPrice diff --git a/Resources/Prototypes/Entities/Structures/Windows/window.yml b/Resources/Prototypes/Entities/Structures/Windows/window.yml index fdf4c2ccea..56a38f82fc 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/window.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/window.yml @@ -84,8 +84,8 @@ node: window - type: Appearance - type: DamageVisuals - thresholds: [5, 10, 20] - damageDivisor: 2 + thresholds: [4, 8, 12] + damageDivisor: 3.333 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks.rsi @@ -93,25 +93,6 @@ price: 100 - type: BlockWeather -- type: entity - parent: Window - id: TintedWindow - name: tinted window - components: - - type: Sprite - drawdepth: WallTops - sprite: Structures/Windows/tinted_window.rsi - - type: Icon - sprite: Structures/Windows/tinted_window.rsi - - type: IconSmooth - base: twindow - - type: Construction - graph: Window - node: tintedWindow - - type: Occluder - - type: StaticPrice - price: 70 - - type: entity id: WindowRCDResistant parent: Window @@ -177,7 +158,7 @@ thresholds: - trigger: !type:DamageTrigger - damage: 50 #excess damage (nuke?). avoid computational cost of spawning entities. + damage: 150 #excess damage (nuke?). avoid computational cost of spawning entities. behaviors: - !type:DoActsBehavior acts: [ "Destruction" ] @@ -207,7 +188,8 @@ node: windowDirectional - type: Appearance - type: DamageVisuals - thresholds: [5, 10, 20] + thresholds: [4, 8, 12] + damageDivisor: 3.333 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks_directional.rsi @@ -238,8 +220,6 @@ - type: Icon sprite: Structures/Windows/directional.rsi state: frosted_window - - type: StaticPrice - price: 35 - type: entity parent: Window diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/window.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/window.yml index 1782c5924b..37682eb091 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/window.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/window.yml @@ -4,63 +4,61 @@ graph: - node: start edges: - - to: window # 50 hp + - to: plasmaWindow steps: - - material: Glass + - material: PlasmaGlass amount: 2 doAfter: 2 - - to: tintedWindow # 50 hp + - to: reinforcedWindow steps: - - material: Glass + - material: ReinforcedGlass amount: 2 - - material: Plastic + doAfter: 2 + + - to: tintedWindow + steps: + - material: ReinforcedGlass amount: 2 doAfter: 2 - - to: plasmaWindow # 75 hp + - to: reinforcedPlasmaWindow steps: - - material: PlasmaGlass + - material: ReinforcedPlasmaGlass amount: 2 doAfter: 3 - - to: uraniumWindow # 75 hp + - to: uraniumWindow steps: - material: UraniumGlass amount: 2 - doAfter: 3 + doAfter: 2 - - to: clockworkWindow # 75 hp reinforced damage mod + - to: reinforcedUraniumWindow steps: - - material: ClockworkGlass + - material: ReinforcedUraniumGlass amount: 2 doAfter: 3 - - to: reinforcedWindow # 75 hp reinforced damage mod + - to: window steps: - - material: ReinforcedGlass + - material: Glass amount: 2 doAfter: 3 - - to: reinforcedPlasmaWindow # 150 hp reinforced damage mod + - to: shuttleWindow steps: - - material: ReinforcedPlasmaGlass + - material: Plasteel amount: 2 - doAfter: 4 - - - to: reinforcedUraniumWindow # 150 hp reinforced damage mod - steps: - - material: ReinforcedUraniumGlass + - material: ReinforcedGlass amount: 2 doAfter: 4 - - - to: shuttleWindow # 500 hp reinforced damage mod (wow) + + - to: clockworkWindow steps: - - material: Plasteel - amount: 2 - - material: ReinforcedGlass + - material: ClockworkGlass amount: 2 - doAfter: 6 + doAfter: 3 - node: window entity: Window @@ -76,81 +74,56 @@ doAfter: 1 - tool: Anchoring doAfter: 2 - - to: tintedWindow - steps: - - material: Plastic - amount: 2 - doAfter: 0.5 - - to: plasmaWindow - steps: - - material: Plasma - amount: 2 - doAfter: 1 - - to: uraniumWindow - steps: - - material: Uranium - amount: 2 - doAfter: 1 - - to: clockworkWindow - steps: - - material: Brass - amount: 2 - doAfter: 2 - - to: reinforcedWindow - steps: - - material: MetalRod - amount: 2 - doAfter: 2 - - node: tintedWindow - entity: TintedWindow + - node: reinforcedWindow + entity: ReinforcedWindow edges: - to: start completed: - !type:SpawnPrototype - prototype: SheetGlass1 - amount: 2 - - !type:SpawnPrototype - prototype: SheetPlastic1 + prototype: SheetRGlass1 amount: 2 - !type:DeleteEntity {} steps: + - tool: Welding + doAfter: 5 + - tool: Screwing + doAfter: 1 + - tool: Prying + doAfter: 2 + - tool: Welding + doAfter: 5 - tool: Screwing doAfter: 1 - tool: Anchoring doAfter: 2 - - node: plasmaWindow - entity: PlasmaWindow + - node: tintedWindow + entity: TintedWindow edges: - to: start completed: - !type:SpawnPrototype - prototype: SheetPGlass1 + prototype: SheetRGlass1 amount: 2 - !type:DeleteEntity {} steps: - tool: Screwing - doAfter: 2 + doAfter: 1 - tool: Prying - doAfter: 3 - - tool: Screwing doAfter: 2 - - tool: Anchoring - doAfter: 3 - - to: reinforcedPlasmaWindow - steps: - - material: MetalRod - amount: 2 + - tool: Screwing doAfter: 1 + - tool: Anchoring + doAfter: 2 - - node: uraniumWindow - entity: UraniumWindow + - node: plasmaWindow + entity: PlasmaWindow edges: - to: start completed: - !type:SpawnPrototype - prototype: SheetUGlass1 + prototype: SheetPGlass1 amount: 2 - !type:DeleteEntity {} steps: @@ -162,19 +135,14 @@ doAfter: 2 - tool: Anchoring doAfter: 3 - - to: reinforcedUraniumWindow - steps: - - material: MetalRod - amount: 2 - doAfter: 1 - - node: clockworkWindow - entity: ClockworkWindow + - node: reinforcedPlasmaWindow + entity: ReinforcedPlasmaWindow edges: - to: start completed: - !type:SpawnPrototype - prototype: SheetClockworkGlass1 + prototype: SheetRPGlass1 amount: 2 - !type:DeleteEntity {} steps: @@ -191,46 +159,32 @@ - tool: Anchoring doAfter: 3 - - node: reinforcedWindow - entity: ReinforcedWindow + - node: uraniumWindow + entity: UraniumWindow edges: - to: start completed: - !type:SpawnPrototype - prototype: SheetRGlass1 + prototype: SheetUGlass1 amount: 2 - !type:DeleteEntity {} steps: - - tool: Welding - doAfter: 5 - tool: Screwing - doAfter: 1 - - tool: Prying doAfter: 2 - - tool: Welding - doAfter: 5 + - tool: Prying + doAfter: 3 - tool: Screwing - doAfter: 1 - - tool: Anchoring doAfter: 2 - - to: reinforcedPlasmaWindow - steps: - - material: Plasma - amount: 2 - doAfter: 1 - - to: reinforcedUraniumWindow - steps: - - material: Uranium - amount: 2 - doAfter: 1 + - tool: Anchoring + doAfter: 3 - - node: reinforcedPlasmaWindow - entity: ReinforcedPlasmaWindow + - node: reinforcedUraniumWindow + entity: ReinforcedUraniumWindow edges: - to: start completed: - !type:SpawnPrototype - prototype: SheetRPGlass1 + prototype: SheetRUGlass1 amount: 2 - !type:DeleteEntity {} steps: @@ -247,13 +201,13 @@ - tool: Anchoring doAfter: 3 - - node: reinforcedUraniumWindow - entity: ReinforcedUraniumWindow + - node: clockworkWindow + entity: ClockworkWindow edges: - to: start completed: - !type:SpawnPrototype - prototype: SheetRUGlass1 + prototype: SheetClockworkGlass1 amount: 2 - !type:DeleteEntity {} steps: @@ -299,4 +253,4 @@ - tool: Welding doAfter: 4 - tool: Anchoring - doAfter: 1 + doAfter: 1 \ No newline at end of file diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/window_diagonal.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/window_diagonal.yml index 63788ae5ad..1efe1a8eac 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/window_diagonal.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/window_diagonal.yml @@ -4,45 +4,45 @@ graph: - node: start edges: - - to: windowDiagonal - steps: - - material: Glass - amount: 2 - doAfter: 2 - - to: plasmaWindowDiagonal steps: - material: PlasmaGlass amount: 2 doAfter: 2 - - to: uraniumWindowDiagonal + - to: reinforcedWindowDiagonal steps: - - material: UraniumGlass + - material: ReinforcedGlass amount: 2 doAfter: 2 - - to: clockworkWindowDiagonal + - to: reinforcedPlasmaWindowDiagonal steps: - - material: ClockworkGlass + - material: ReinforcedPlasmaGlass amount: 2 doAfter: 3 - - to: reinforcedWindowDiagonal + - to: uraniumWindowDiagonal steps: - - material: ReinforcedGlass + - material: UraniumGlass amount: 2 doAfter: 2 - - to: reinforcedPlasmaWindowDiagonal + - to: reinforcedUraniumWindowDiagonal steps: - - material: ReinforcedPlasmaGlass + - material: ReinforcedUraniumGlass amount: 2 doAfter: 3 - - to: reinforcedUraniumWindowDiagonal + - to: clockworkWindowDiagonal steps: - - material: ReinforcedUraniumGlass + - material: ClockworkGlass + amount: 2 + doAfter: 3 + + - to: windowDiagonal + steps: + - material: Glass amount: 2 doAfter: 3 @@ -60,74 +60,29 @@ doAfter: 1 - tool: Anchoring doAfter: 2 - - to: plasmaWindowDiagonal - steps: - - material: Plasma - amount: 2 - doAfter: 1 - - to: uraniumWindowDiagonal - steps: - - material: Uranium - amount: 2 - doAfter: 1 - - to: clockworkWindowDiagonal - steps: - - material: Brass - amount: 2 - doAfter: 2 - - to: reinforcedWindowDiagonal - steps: - - material: MetalRod - amount: 2 - doAfter: 2 - - node: plasmaWindowDiagonal - entity: PlasmaWindowDiagonal + - node: reinforcedWindowDiagonal + entity: ReinforcedWindowDiagonal edges: - to: start completed: - !type:SpawnPrototype - prototype: SheetPGlass1 + prototype: SheetRGlass1 amount: 2 - !type:DeleteEntity {} steps: + - tool: Welding + doAfter: 5 - tool: Screwing - doAfter: 2 - - tool: Prying - doAfter: 3 - - tool: Screwing - doAfter: 2 - - tool: Anchoring - doAfter: 3 - - to: reinforcedPlasmaWindowDiagonal - steps: - - material: MetalRod - amount: 2 doAfter: 1 - - - node: uraniumWindowDiagonal - entity: UraniumWindowDiagonal - edges: - - to: start - completed: - - !type:SpawnPrototype - prototype: SheetUGlass1 - amount: 2 - - !type:DeleteEntity {} - steps: - - tool: Screwing - doAfter: 2 - tool: Prying - doAfter: 3 - - tool: Screwing doAfter: 2 - - tool: Anchoring - doAfter: 3 - - to: reinforcedUraniumWindowDiagonal - steps: - - material: MetalRod - amount: 2 + - tool: Welding + doAfter: 5 + - tool: Screwing doAfter: 1 + - tool: Anchoring + doAfter: 2 - node: clockworkWindowDiagonal entity: ClockworkWindowDiagonal @@ -152,38 +107,24 @@ - tool: Anchoring doAfter: 2 - - node: reinforcedWindowDiagonal - entity: ReinforcedWindowDiagonal + - node: plasmaWindowDiagonal + entity: PlasmaWindowDiagonal edges: - to: start completed: - !type:SpawnPrototype - prototype: SheetRGlass1 + prototype: SheetPGlass1 amount: 2 - !type:DeleteEntity {} steps: - - tool: Welding - doAfter: 5 - tool: Screwing - doAfter: 1 - - tool: Prying doAfter: 2 - - tool: Welding - doAfter: 5 + - tool: Prying + doAfter: 3 - tool: Screwing - doAfter: 1 - - tool: Anchoring doAfter: 2 - - to: reinforcedPlasmaWindowDiagonal - steps: - - material: Plasma - amount: 2 - doAfter: 1 - - to: reinforcedUraniumWindowDiagonal - steps: - - material: Uranium - amount: 2 - doAfter: 1 + - tool: Anchoring + doAfter: 3 - node: reinforcedPlasmaWindowDiagonal entity: ReinforcedPlasmaWindowDiagonal @@ -208,6 +149,25 @@ - tool: Anchoring doAfter: 3 + - node: uraniumWindowDiagonal + entity: UraniumWindowDiagonal + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetUGlass1 + amount: 2 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 2 + - tool: Prying + doAfter: 3 + - tool: Screwing + doAfter: 2 + - tool: Anchoring + doAfter: 3 + - node: reinforcedUraniumWindowDiagonal entity: ReinforcedUraniumWindowDiagonal edges: @@ -229,4 +189,4 @@ - tool: Screwing doAfter: 2 - tool: Anchoring - doAfter: 3 + doAfter: 3 \ No newline at end of file diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/windowdirectional.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/windowdirectional.yml index 7d3ace33c7..dc10ce9ecb 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/windowdirectional.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/windowdirectional.yml @@ -4,55 +4,47 @@ graph: - node: start edges: - - to: windowDirectional # 25 hp - steps: - - material: Glass - amount: 1 - doAfter: 1 - - to: windowFrostedDirectional # 25 hp + - to: windowDirectional steps: - material: Glass amount: 1 - - material: Plastic - amount: 1 - doAfter: 1 + doAfter: 2 - - to: plasmaWindowDirectional # 37 hp + - to: windowReinforcedDirectional steps: - - material: PlasmaGlass + - material: ReinforcedGlass amount: 1 - doAfter: 1.5 + doAfter: 3 - - to: uraniumWindowDirectional # 37 hp + - to: plasmaWindowDirectional steps: - - material: UraniumGlass + - material: PlasmaGlass amount: 1 - doAfter: 1.5 + doAfter: 2 - - to: windowClockworkDirectional # 37 hp reinforced damage mod + - to: plasmaReinforcedWindowDirectional steps: - - material: ClockworkGlass + - material: ReinforcedPlasmaGlass amount: 1 - doAfter: 1.5 - - - to: windowReinforcedDirectional # 37 hp reinforced damage mod + doAfter: 3 + - to: uraniumWindowDirectional steps: - - material: ReinforcedGlass + - material: UraniumGlass amount: 1 - doAfter: 1.5 + doAfter: 2 - - to: plasmaReinforcedWindowDirectional # 75 hp reinforced damage mod + - to: uraniumReinforcedWindowDirectional steps: - - material: ReinforcedPlasmaGlass + - material: ReinforcedUraniumGlass amount: 1 - doAfter: 2 + doAfter: 3 - - to: uraniumReinforcedWindowDirectional # 75 hp reinforced damage mod + - to: windowClockworkDirectional steps: - - material: ReinforcedUraniumGlass + - material: ClockworkGlass amount: 1 - doAfter: 2 + doAfter: 3 - node: windowDirectional entity: WindowDirectional @@ -68,45 +60,21 @@ doAfter: 1 - tool: Anchoring doAfter: 2 - - to: windowFrostedDirectional - steps: - - material: Plastic - amount: 1 - doAfter: 0.5 - - to: plasmaWindowDirectional - steps: - - material: Plasma - amount: 1 - doAfter: 0.5 - - to: uraniumWindowDirectional - steps: - - material: Uranium - amount: 1 - doAfter: 0.5 - - to: windowClockworkDirectional - steps: - - material: Brass - amount: 1 - doAfter: 1 - - to: windowReinforcedDirectional - steps: - - material: MetalRod - amount: 1 - doAfter: 1 - - node: windowFrostedDirectional - entity: WindowFrostedDirectional + - node: windowReinforcedDirectional + entity: WindowReinforcedDirectional edges: - to: start completed: - !type:SpawnPrototype - prototype: SheetGlass1 - amount: 1 - - !type:SpawnPrototype - prototype: SheetPlastic1 + prototype: SheetRGlass1 amount: 1 - !type:DeleteEntity {} steps: + - tool: Screwing + doAfter: 1 + - tool: Prying + doAfter: 2 - tool: Screwing doAfter: 1 - tool: Anchoring @@ -130,19 +98,14 @@ doAfter: 2 - tool: Anchoring doAfter: 3 - - to: plasmaReinforcedWindowDirectional - steps: - - material: MetalRod - amount: 1 - doAfter: 0.5 - - node: uraniumWindowDirectional - entity: UraniumWindowDirectional + - node: windowClockworkDirectional + entity: WindowClockworkDirectional edges: - to: start completed: - !type:SpawnPrototype - prototype: SheetUGlass1 + prototype: SheetClockworkGlass1 amount: 1 - !type:DeleteEntity {} steps: @@ -154,19 +117,14 @@ doAfter: 2 - tool: Anchoring doAfter: 3 - - to: uraniumReinforcedWindowDirectional - steps: - - material: MetalRod - amount: 1 - doAfter: 0.5 - - node: windowClockworkDirectional - entity: WindowClockworkDirectional + - node: plasmaReinforcedWindowDirectional + entity: PlasmaReinforcedWindowDirectional edges: - to: start completed: - !type:SpawnPrototype - prototype: SheetClockworkGlass1 + prototype: SheetRPGlass1 amount: 1 - !type:DeleteEntity {} steps: @@ -178,43 +136,13 @@ doAfter: 2 - tool: Anchoring doAfter: 3 - - - node: windowReinforcedDirectional - entity: WindowReinforcedDirectional - edges: - - to: start - completed: - - !type:SpawnPrototype - prototype: SheetRGlass1 - amount: 1 - - !type:DeleteEntity {} - steps: - - tool: Screwing - doAfter: 1 - - tool: Prying - doAfter: 2 - - tool: Screwing - doAfter: 1 - - tool: Anchoring - doAfter: 2 - - to: plasmaReinforcedWindowDirectional - steps: - - material: Plasma - amount: 1 - doAfter: 0.5 - - to: uraniumReinforcedWindowDirectional - steps: - - material: Uranium - amount: 1 - doAfter: 0.5 - - - node: plasmaReinforcedWindowDirectional - entity: PlasmaReinforcedWindowDirectional + - node: uraniumWindowDirectional + entity: UraniumWindowDirectional edges: - to: start completed: - !type:SpawnPrototype - prototype: SheetRPGlass1 + prototype: SheetUGlass1 amount: 1 - !type:DeleteEntity {} steps: @@ -244,4 +172,4 @@ - tool: Screwing doAfter: 2 - tool: Anchoring - doAfter: 3 + doAfter: 3 \ No newline at end of file diff --git a/Resources/Prototypes/Recipes/Construction/structures.yml b/Resources/Prototypes/Recipes/Construction/structures.yml index 71fdbeedaf..31e1264ab0 100644 --- a/Resources/Prototypes/Recipes/Construction/structures.yml +++ b/Resources/Prototypes/Recipes/Construction/structures.yml @@ -455,7 +455,7 @@ startNode: start targetNode: tintedWindow category: construction-category-structures - description: Not clear, but lasers still pass through. + description: Not clear but tough. canBuildInImpassable: true conditions: - !type:EmptyOrWindowValidInTile @@ -512,7 +512,7 @@ targetNode: plasmaWindow category: construction-category-structures canBuildInImpassable: true - description: Clear, with a purple tint. + description: Clear and even tougher, with a purple tint. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile @@ -531,7 +531,7 @@ targetNode: reinforcedPlasmaWindow category: construction-category-structures canBuildInImpassable: true - description: Clear and even tougher, with a purple tint. + description: Fire resistant and even tougher, with a purple tint. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile @@ -569,7 +569,7 @@ targetNode: plasmaWindowDiagonal category: construction-category-structures canBuildInImpassable: true - description: Clear, with a purple tint. + description: Clear and even tougher, with a purple tint. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile @@ -587,7 +587,7 @@ targetNode: reinforcedPlasmaWindowDiagonal category: construction-category-structures canBuildInImpassable: true - description: Clear and even tougher, with a purple tint. + description: Fire resistant and even tougher, with a purple tint. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile @@ -659,7 +659,7 @@ targetNode: plasmaWindowDirectional category: construction-category-structures canBuildInImpassable: true - description: Clear, with a purple tint. + description: Clear and even tougher, with a purple tint. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile @@ -677,7 +677,7 @@ targetNode: plasmaReinforcedWindowDirectional category: construction-category-structures canBuildInImpassable: true - description: Clear and even tougher, with a purple tint. + description: Fire resistant and even tougher, with a purple tint. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile @@ -695,7 +695,7 @@ targetNode: uraniumWindow category: construction-category-structures canBuildInImpassable: true - description: Clear, with added RadAbsorb to protect you from deadly radiation. + description: Clear and much tougher than regular glass, with added RadAbsorb to protect you from deadly radiation. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile @@ -714,7 +714,7 @@ targetNode: reinforcedUraniumWindow category: construction-category-structures canBuildInImpassable: true - description: Clear and even tougher, with added RadAbsorb to protect you from deadly radiation. + description: Clear and much tougher than regular glass, with added RadAbsorb to protect you from deadly radiation. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile @@ -733,7 +733,7 @@ targetNode: uraniumWindowDiagonal category: construction-category-structures canBuildInImpassable: true - description: Clear, with added RadAbsorb to protect you from deadly radiation. + description: Clear and much tougher than regular glass, with added RadAbsorb to protect you from deadly radiation. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile @@ -751,7 +751,7 @@ targetNode: reinforcedUraniumWindowDiagonal category: construction-category-structures canBuildInImpassable: true - description: Clear and even tougher, with added RadAbsorb to protect you from deadly radiation. + description: Clear and much tougher than regular glass, with added RadAbsorb to protect you from deadly radiation. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile @@ -1456,24 +1456,6 @@ # Same here. - 20kdc - !type:TileNotBlocked -- type: construction - name: emergency light - id: EmergencyLightFixture - graph: LightFixture - startNode: start - targetNode: emergencyLight - category: construction-category-structures - description: An emergency light. - icon: - sprite: Structures/Wallmounts/Lighting/emergency_light.rsi - state: base - objectType: Structure - placementMode: SnapgridCenter - canRotate: true - canBuildInImpassable: false - conditions: - - !type:TileNotBlocked - - type: construction name: ground light post id: LightGroundFixture @@ -1746,4 +1728,4 @@ sprite: Structures/Doors/secret_door.rsi state: closed conditions: - - !type:TileNotBlocked + - !type:TileNotBlocked \ No newline at end of file diff --git a/Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_20.png b/Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_12.png similarity index 100% rename from Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_20.png rename to Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_12.png diff --git a/Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_5.png b/Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_4.png similarity index 100% rename from Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_5.png rename to Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_4.png diff --git a/Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_10.png b/Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_8.png similarity index 100% rename from Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_10.png rename to Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_8.png diff --git a/Resources/Textures/Structures/Windows/cracks.rsi/meta.json b/Resources/Textures/Structures/Windows/cracks.rsi/meta.json index ca012e8fc5..9d0cc9a505 100644 --- a/Resources/Textures/Structures/Windows/cracks.rsi/meta.json +++ b/Resources/Textures/Structures/Windows/cracks.rsi/meta.json @@ -7,8 +7,8 @@ "license": "CC-BY-SA-3.0", "copyright": "Taken from https://github.com/tgstation/tgstation at commit e06b82a7f4b2b09216fb28fd384c95a2e1dc50e5", "states": [ - {"name": "DamageOverlay_5", "directions": 1}, - {"name": "DamageOverlay_10", "directions": 1}, - {"name": "DamageOverlay_20", "directions": 1} + {"name": "DamageOverlay_4", "directions": 1}, + {"name": "DamageOverlay_8", "directions": 1}, + {"name": "DamageOverlay_12", "directions": 1} ] } diff --git a/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_20.png b/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_12.png similarity index 100% rename from Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_20.png rename to Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_12.png diff --git a/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_5.png b/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_4.png similarity index 100% rename from Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_5.png rename to Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_4.png diff --git a/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_10.png b/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_8.png similarity index 100% rename from Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_10.png rename to Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_8.png diff --git a/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/meta.json b/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/meta.json index ca012e8fc5..9d0cc9a505 100644 --- a/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/meta.json +++ b/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/meta.json @@ -7,8 +7,8 @@ "license": "CC-BY-SA-3.0", "copyright": "Taken from https://github.com/tgstation/tgstation at commit e06b82a7f4b2b09216fb28fd384c95a2e1dc50e5", "states": [ - {"name": "DamageOverlay_5", "directions": 1}, - {"name": "DamageOverlay_10", "directions": 1}, - {"name": "DamageOverlay_20", "directions": 1} + {"name": "DamageOverlay_4", "directions": 1}, + {"name": "DamageOverlay_8", "directions": 1}, + {"name": "DamageOverlay_12", "directions": 1} ] } diff --git a/Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_20.png b/Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_12.png similarity index 100% rename from Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_20.png rename to Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_12.png diff --git a/Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_5.png b/Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_4.png similarity index 100% rename from Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_5.png rename to Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_4.png diff --git a/Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_10.png b/Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_8.png similarity index 100% rename from Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_10.png rename to Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_8.png diff --git a/Resources/Textures/Structures/Windows/cracks_directional.rsi/meta.json b/Resources/Textures/Structures/Windows/cracks_directional.rsi/meta.json index 9555aa5ab3..df077f67d2 100644 --- a/Resources/Textures/Structures/Windows/cracks_directional.rsi/meta.json +++ b/Resources/Textures/Structures/Windows/cracks_directional.rsi/meta.json @@ -8,15 +8,15 @@ "copyright": "Adapted from https://github.com/space-wizards/space-station-14/ at commit f57e8ec6b9b4b72ef56c8146be0bc159ed2691ee, originally added by Zumorica, and modified for directional use by Darkie", "states": [ { - "name": "DamageOverlay_5", + "name": "DamageOverlay_4", "directions": 4 }, { - "name": "DamageOverlay_10", + "name": "DamageOverlay_8", "directions": 4 }, { - "name": "DamageOverlay_20", + "name": "DamageOverlay_12", "directions": 4 } ] From 6c7336b0a8330369f8a96bff752dda570e3ffb59 Mon Sep 17 00:00:00 2001 From: cohanna Date: Wed, 6 Nov 2024 22:01:10 -0700 Subject: [PATCH 172/588] oops reverted too much --- Resources/Prototypes/Entities/Structures/Windows/clockwork.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Structures/Windows/clockwork.yml b/Resources/Prototypes/Entities/Structures/Windows/clockwork.yml index 992dfcda1c..6abeae5760 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/clockwork.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/clockwork.yml @@ -86,6 +86,7 @@ - trigger: !type:DamageTrigger damage: 150 + behaviors: - !type:PlaySoundBehavior sound: collection: WindowShatter @@ -142,4 +143,4 @@ sprite: Structures/Windows/cracks_diagonal.rsi - type: Construction graph: WindowDiagonal - node: clockworkWindowDiagonal + node: clockworkWindowDiagonal \ No newline at end of file From 379fb4cb6aa35d0f2567a6c874e56a2b7b76ea87 Mon Sep 17 00:00:00 2001 From: ScarKy0 <106310278+ScarKy0@users.noreply.github.com> Date: Thu, 7 Nov 2024 11:25:16 +0100 Subject: [PATCH 173/588] AI can now speak once more. (#33196) Yippee --- Resources/Prototypes/Entities/Mobs/Player/silicon.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml index be2b5a44f9..39750b470f 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml @@ -69,8 +69,6 @@ canShuttle: false title: comms-console-announcement-title-station-ai color: "#2ed2fd" - - type: Speech - speechVerb: Robotic - type: ShowJobIcons - type: entity @@ -395,6 +393,9 @@ drawFov: false - type: Examiner - type: InputMover + - type: Speech + speechVerb: Robotic + speechSounds: Borg - type: Tag tags: - HideContextMenu From fc0d85b4878a17baea8c31ebef5d6d446db35fa1 Mon Sep 17 00:00:00 2001 From: Spessmann <156740760+Spessmann@users.noreply.github.com> Date: Thu, 7 Nov 2024 14:01:35 -0800 Subject: [PATCH 174/588] Cog update (fixes) (#33202) fixed cog again --- Resources/Maps/cog.yml | 1487 ++++++++++++---------------------------- 1 file changed, 454 insertions(+), 1033 deletions(-) diff --git a/Resources/Maps/cog.yml b/Resources/Maps/cog.yml index 888b4e7e5e..58310e561c 100644 --- a/Resources/Maps/cog.yml +++ b/Resources/Maps/cog.yml @@ -145,15 +145,15 @@ entities: version: 6 -4,-3: ind: -4,-3 - tiles: AAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAIAAAAAAAIAAAAAABIAAAAAADIAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAIAAAAAAAIAAAAAADIAAAAAACIAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAIAAAAAAAIAAAAAAAIAAAAAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAIAAAAAABIAAAAAADIAAAAAACIAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAA + tiles: AAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAADwAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAIAAAAAAAIAAAAAABIAAAAAADIAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAIAAAAAAAIAAAAAADIAAAAAACIAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAIAAAAAAAIAAAAAAAIAAAAAACIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAIAAAAAABIAAAAAADIAAAAAACIAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAA version: 6 -4,-4: ind: -4,-4 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAADwAAAAAAgQAAAAAAgQAAAAAAgQAAAAAADwAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAADwAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgAAAAAAAgAAAAAAAIQAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgAAAAAAADwAAAAAAgAAAAAAADwAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAACgQAAAAAADwAAAAAAHwAAAAAADwAAAAAADwAAAAAADwAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgQAAAAAAYAAAAAACYAAAAAACgQAAAAAAgQAAAAAAIQAAAAAADwAAAAAAgAAAAAAADwAAAAAADwAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAYAAAAAAAgQAAAAAAYAAAAAAAHwAAAAAADwAAAAAAAAAAAAAADwAAAAAADwAAAAAAgAAAAAAADwAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAHwAAAAAAgQAAAAAAYAAAAAABHwAAAAAAHwAAAAACgAAAAAAAgAAAAAAAgAAAAAAAIQAAAAAAgAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAHwAAAAAAHwAAAAAAHwAAAAAKgQAAAAAADwAAAAAAAAAAAAAADwAAAAAADwAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAHwAAAAAADwAAAAAAIQAAAAAADwAAAAAADwAAAAAADwAAAAAAgAAAAAAADwAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAHwAAAAAADwAAAAAAgAAAAAAADwAAAAAAHwAAAAAAgAAAAAAADwAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAHwAAAAAAHwAAAAAADwAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAA + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAADwAAAAAADwAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIQAAAAAADwAAAAAADwAAAAAADwAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIQAAAAAADwAAAAAADwAAAAAADwAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAADwAAAAAADwAAAAAADwAAAAAADwAAAAAAgAAAAAAAgAAAAAAADwAAAAAADwAAAAAADwAAAAAADwAAAAAAgQAAAAAAgQAAAAAAAAAAAAAADwAAAAAADwAAAAAADwAAAAAADwAAAAAADwAAAAAADwAAAAAADwAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAADwAAAAAADwAAAAAADwAAAAAADwAAAAAADwAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAADwAAAAAADwAAAAAADwAAAAAADwAAAAAADwAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAIQAAAAAADwAAAAAADwAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAA version: 6 -3,-4: ind: -3,-4 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAIgAAAAAAIgAAAAAAIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAABAAAAAAAgQAAAAAABAAAAAAABAAAAAAAIgAAAAAAgQAAAAAAIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAABAAAAAAABAAAAAAAgQAAAAAAIgAAAAAAYAAAAAADgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAABAAAAAAABAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAADYAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAUgAAAAAAUgAAAAAAUgAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAUgAAAAAAUgAAAAAAUgAAAAAAUgAAAAAAUgAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgAAAAAAAgQAAAAAAUgAAAAAAUgAAAAAAUgAAAAAAUgAAAAAAUgAAAAAAUgAAAAAAUgAAAAAAUgAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAADYAAAAAAAgQAAAAAAgQAAAAAA + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAIgAAAAAAIgAAAAAAIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIQAAAAAAgQAAAAAABAAAAAAAgQAAAAAABAAAAAAABAAAAAAAIgAAAAAAgQAAAAAAIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAADwAAAAAAgQAAAAAAgQAAAAAABAAAAAAABAAAAAAAgQAAAAAAIgAAAAAAYAAAAAADgQAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAADwAAAAAAgQAAAAAABAAAAAAABAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAADYAAAAAADDwAAAAAADwAAAAAADwAAAAAADwAAAAAAAAAAAAAAAAAAAAAADwAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAUgAAAAAAUgAAAAAAUgAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAUgAAAAAAUgAAAAAAUgAAAAAAUgAAAAAAUgAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgAAAAAAAgQAAAAAAUgAAAAAAUgAAAAAAUgAAAAAAUgAAAAAAUgAAAAAAUgAAAAAAUgAAAAAAUgAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAADYAAAAAAAgQAAAAAAgQAAAAAA version: 6 -2,-4: ind: -2,-4 @@ -455,10 +455,6 @@ entities: ind: -5,-2 tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAAAYAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAADYAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAABYAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAAADgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA version: 6 - -5,-4: - ind: -5,-4 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - version: 6 -3,-5: ind: -3,-5 tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAA @@ -1906,8 +1902,6 @@ entities: 8675: -48,-44 8676: -51,-51 8677: -43,-54 - 8681: -61,-55 - 8682: -63,-56 8850: 62,-4 8851: 62,-1 8913: 48,-6 @@ -2844,14 +2838,6 @@ entities: 8671: -51,-44 8672: -48,-46 8673: -48,-46 - 8683: -62,-56 - 8684: -63,-55 - 8685: -62,-55 - 8686: -61,-56 - 8687: -61,-55 - 8688: -62,-54 - 8689: -63,-53 - 8690: -62,-53 8818: 39,-36 8819: 41,-36 8820: 43,-36 @@ -4151,19 +4137,6 @@ entities: 8612: 57,63 8613: 55,64 8645: -57,-34 - 8691: -63,-56 - 8692: -62,-56 - 8693: -61,-56 - 8694: -62,-55 - 8695: -62,-55 - 8696: -63,-54 - 8697: -63,-54 - 8698: -63,-53 - 8699: -63,-53 - 8700: -61,-54 - 8701: -61,-58 - 8702: -61,-59 - 8703: -61,-57 - node: cleanable: True zIndex: 1 @@ -9775,21 +9748,20 @@ entities: -14,-9: 0: 58620 -16,-12: - 2: 19524 + 2: 19660 -16,-13: - 1: 16592 - 2: 1024 + 1: 17026 -16,-11: 2: 3140 -15,-12: - 2: 61422 + 2: 61438 -15,-11: 2: 3918 + -15,-13: + 1: 4612 + 2: 60608 -15,-10: 0: 24584 - -15,-13: - 2: 59968 - 1: 5284 -14,-11: 2: 257 0: 17612 @@ -9802,48 +9774,36 @@ entities: 2: 273 -13,-13: 0: 61160 - -16,-15: - 1: 16 - 2: 12 - 0: 34944 - -17,-15: - 1: 2048 - 2: 17408 -16,-14: - 0: 28398 - -17,-14: - 0: 128 - 1: 32768 - 2: 68 - -15,-15: - 2: 42689 1: 2048 + -15,-15: + 2: 61440 -15,-14: - 1: 548 - 2: 57472 + 1: 40960 + 2: 2286 -14,-15: - 2: 57360 - 1: 256 + 2: 12288 -14,-14: - 0: 290 - 1: 4096 - 2: 10820 - -13,-15: - 2: 61440 + 2: 12288 + 1: 18432 -13,-14: - 2: 10180 - -12,-15: - 2: 61440 + 1: 640 + -13,-15: + 2: 24576 -12,-14: 0: 65024 - -11,-15: - 2: 61440 + 1: 8 + -12,-15: + 1: 4096 -11,-14: 0: 64256 -11,-16: 2: 58030 -11,-17: 2: 41646 + -11,-15: + 2: 2 + 1: 33920 -10,-16: 2: 58111 -10,-14: @@ -9853,7 +9813,7 @@ entities: -10,-15: 0: 61152 -9,-16: - 2: 2047 + 2: 767 -9,-14: 0: 4084 -9,-17: @@ -11671,8 +11631,6 @@ entities: -6,-17: 2: 1041 0: 14 - -17,-13: - 1: 4 -11,-18: 2: 41696 -10,-18: @@ -14021,11 +13979,6 @@ entities: - type: Transform pos: -17.5,-60.5 parent: 12 - - uid: 31026 - components: - - type: Transform - pos: -60.5,-53.5 - parent: 12 - proto: Airlock entities: - uid: 2309 @@ -16010,29 +15963,6 @@ entities: - type: Transform pos: -21.5,55.5 parent: 12 - - uid: 31049 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -60.5,-56.5 - parent: 12 - - type: DeviceLinkSink - invokeCounter: 1 - - type: DeviceLinkSource - linkedPorts: - 32119: - - DoorStatus: DoorBolt - - uid: 32119 - components: - - type: Transform - pos: -60.5,-58.5 - parent: 12 - - type: DeviceLinkSink - invokeCounter: 1 - - type: DeviceLinkSource - linkedPorts: - 31049: - - DoorStatus: DoorBolt - proto: AirlockHeadOfPersonnelLocked entities: - uid: 18846 @@ -16367,6 +16297,11 @@ entities: rot: -1.5707963267948966 rad pos: 38.5,-20.5 parent: 12 + - uid: 1613 + components: + - type: Transform + pos: -44.5,68.5 + parent: 12 - uid: 2358 components: - type: Transform @@ -16740,18 +16675,6 @@ entities: rot: 3.141592653589793 rad pos: -5.5,8.5 parent: 12 - - uid: 29024 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -44.5,68.5 - parent: 12 - - type: Door - secondsUntilStateChange: -5937.642 - state: Opening - - type: DeviceLinkSource - lastSignals: - DoorStatus: True - uid: 29076 components: - type: Transform @@ -19607,12 +19530,6 @@ entities: rot: 1.5707963267948966 rad pos: 34.5,-12.5 parent: 12 - - uid: 32163 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -63.5,-53.5 - parent: 12 - proto: APCElectronics entities: - uid: 10892 @@ -19737,196 +19654,189 @@ entities: parent: 12 - proto: AsteroidRock entities: - - uid: 10821 + - uid: 4769 components: - type: Transform - pos: -62.5,-49.5 + pos: -58.5,-51.5 parent: 12 - - uid: 31015 - components: - - type: Transform - pos: -57.5,-54.5 - parent: 12 - - uid: 31024 + - uid: 4976 components: - type: Transform - pos: -62.5,-50.5 + pos: -52.5,-52.5 parent: 12 - - uid: 31025 + - uid: 7157 components: - type: Transform - pos: -56.5,-51.5 + pos: -59.5,-53.5 parent: 12 - - uid: 31027 + - uid: 10819 components: - type: Transform - pos: -59.5,-53.5 + pos: -61.5,-49.5 parent: 12 - - uid: 31031 + - uid: 10823 components: - type: Transform - pos: -59.5,-50.5 + pos: -61.5,-50.5 parent: 12 - - uid: 31032 + - uid: 17288 components: - type: Transform - pos: -60.5,-49.5 + pos: -48.5,-55.5 parent: 12 - - uid: 31033 + - uid: 25452 components: - type: Transform - pos: -62.5,-51.5 + pos: -60.5,-52.5 parent: 12 - - uid: 31035 + - uid: 25568 components: - type: Transform - pos: -56.5,-55.5 + pos: -56.5,-51.5 parent: 12 - - uid: 31036 + - uid: 25682 components: - type: Transform - pos: -55.5,-54.5 + pos: -59.5,-49.5 parent: 12 - - uid: 31037 + - uid: 25738 components: - type: Transform - pos: -57.5,-56.5 + pos: -58.5,-53.5 parent: 12 - - uid: 31039 + - uid: 26291 components: - type: Transform - pos: -53.5,-53.5 + pos: -59.5,-51.5 parent: 12 - - uid: 31043 + - uid: 26305 components: - type: Transform - pos: -58.5,-55.5 + pos: -41.5,-55.5 parent: 12 - - uid: 31047 + - uid: 26413 components: - type: Transform - pos: -64.5,-55.5 + pos: -41.5,-56.5 parent: 12 - - uid: 31055 + - uid: 29024 components: - type: Transform - pos: -63.5,-52.5 + pos: -60.5,-51.5 parent: 12 - - uid: 31065 + - uid: 29978 components: - type: Transform - pos: -55.5,-56.5 + pos: -59.5,-47.5 parent: 12 - - uid: 31159 + - uid: 30180 components: - type: Transform - pos: -63.5,-51.5 + pos: -60.5,-48.5 parent: 12 - - uid: 31160 + - uid: 30184 components: - type: Transform - pos: -61.5,-51.5 + pos: -62.5,-50.5 parent: 12 - - uid: 32122 + - uid: 30271 components: - type: Transform - pos: -65.5,-53.5 + pos: -51.5,-53.5 parent: 12 - - uid: 32123 + - uid: 30305 components: - type: Transform - pos: -65.5,-52.5 + pos: -50.5,-54.5 parent: 12 - - uid: 32124 + - uid: 30426 components: - type: Transform - pos: -64.5,-51.5 + pos: -51.5,-54.5 parent: 12 - - uid: 32126 + - uid: 30533 components: - type: Transform - pos: -63.5,-49.5 + pos: -46.5,-55.5 parent: 12 - - uid: 32137 + - uid: 30536 components: - type: Transform - pos: -63.5,-57.5 + pos: -49.5,-54.5 parent: 12 - - uid: 32139 + - uid: 30537 components: - type: Transform - pos: -62.5,-58.5 + pos: -49.5,-53.5 parent: 12 - - uid: 32140 + - uid: 30538 components: - type: Transform - pos: -63.5,-56.5 + pos: -47.5,-55.5 parent: 12 - - uid: 32141 + - uid: 31026 components: - type: Transform - pos: -64.5,-56.5 + pos: -50.5,-52.5 parent: 12 - - uid: 32168 + - uid: 31034 components: - type: Transform - pos: -59.5,-49.5 + pos: -57.5,-52.5 parent: 12 - - uid: 32171 + - uid: 31036 components: - type: Transform - pos: -58.5,-58.5 + pos: -61.5,-51.5 parent: 12 - - uid: 32185 + - uid: 31042 components: - type: Transform - pos: -60.5,-48.5 + pos: -60.5,-49.5 parent: 12 - proto: AsteroidRockCoal entities: - - uid: 31041 + - uid: 11027 components: - type: Transform - pos: -55.5,-55.5 + pos: -59.5,-52.5 parent: 12 - - uid: 31042 + - uid: 30341 components: - type: Transform - pos: -53.5,-52.5 + pos: -40.5,-57.5 parent: 12 - - uid: 32138 + - uid: 30457 components: - type: Transform - pos: -62.5,-57.5 + pos: -49.5,-55.5 parent: 12 -- proto: AsteroidRockQuartz - entities: - - uid: 31111 + - uid: 31038 components: - type: Transform - pos: -60.5,-52.5 + pos: -58.5,-50.5 parent: 12 - proto: AsteroidRockTin entities: - - uid: 31022 + - uid: 10822 components: - type: Transform - pos: -56.5,-53.5 + pos: -51.5,-52.5 parent: 12 - - uid: 31107 + - uid: 25823 components: - type: Transform - pos: -64.5,-53.5 + pos: -59.5,-50.5 parent: 12 - - uid: 32125 + - uid: 30342 components: - type: Transform - pos: -64.5,-50.5 + pos: -57.5,-53.5 parent: 12 - - uid: 32182 + - uid: 31030 components: - type: Transform - pos: -59.5,-51.5 + pos: -45.5,-55.5 parent: 12 - proto: AtmosDeviceFanDirectional entities: @@ -20560,6 +20470,11 @@ entities: - type: Transform pos: 85.5,-30.5 parent: 12 + - uid: 17289 + components: + - type: Transform + pos: -50.5,-53.5 + parent: 12 - uid: 26206 components: - type: Transform @@ -20570,120 +20485,115 @@ entities: - type: Transform pos: 55.5,19.5 parent: 12 - - uid: 28746 - components: - - type: Transform - pos: 9.5,6.5 - parent: 12 - - uid: 28747 + - uid: 26304 components: - type: Transform - pos: 10.5,6.5 + pos: -48.5,-54.5 parent: 12 - - uid: 28748 + - uid: 26306 components: - type: Transform - pos: 11.5,6.5 + pos: -52.5,-53.5 parent: 12 - - uid: 28749 + - uid: 26307 components: - type: Transform - pos: 12.5,6.5 + pos: -53.5,-52.5 parent: 12 - - uid: 32194 + - uid: 26610 components: - type: Transform - pos: -65.5,-51.5 + pos: -44.5,-55.5 parent: 12 - - uid: 32195 + - uid: 26758 components: - type: Transform - pos: -61.5,-48.5 + pos: -40.5,-56.5 parent: 12 - - uid: 32196 + - uid: 26866 components: - type: Transform - pos: -63.5,-50.5 + pos: -58.5,-52.5 parent: 12 - - uid: 32197 + - uid: 27910 components: - type: Transform - pos: -64.5,-52.5 + pos: -60.5,-53.5 parent: 12 - - uid: 32198 + - uid: 28746 components: - type: Transform - pos: -60.5,-50.5 + pos: 9.5,6.5 parent: 12 - - uid: 32199 + - uid: 28747 components: - type: Transform - pos: -61.5,-50.5 + pos: 10.5,6.5 parent: 12 - - uid: 32200 + - uid: 28748 components: - type: Transform - pos: -59.5,-48.5 + pos: 11.5,6.5 parent: 12 - - uid: 32201 + - uid: 28749 components: - type: Transform - pos: -58.5,-50.5 + pos: 12.5,6.5 parent: 12 - - uid: 32202 + - uid: 29082 components: - type: Transform - pos: -57.5,-49.5 + pos: -62.5,-49.5 parent: 12 - - uid: 32203 + - uid: 30185 components: - type: Transform - pos: -57.5,-51.5 + pos: -56.5,-52.5 parent: 12 - - uid: 32204 + - uid: 30196 components: - type: Transform - pos: -56.5,-50.5 + pos: -60.5,-50.5 parent: 12 - - uid: 32205 + - uid: 30198 components: - type: Transform - pos: -58.5,-53.5 + pos: -57.5,-51.5 parent: 12 - - uid: 32206 + - uid: 30272 components: - type: Transform - pos: -58.5,-54.5 + pos: -61.5,-48.5 parent: 12 - - uid: 32207 + - uid: 30279 components: - type: Transform - pos: -57.5,-55.5 + pos: -59.5,-48.5 parent: 12 - - uid: 32208 + - uid: 30298 components: - type: Transform - pos: -56.5,-57.5 + pos: -62.5,-51.5 parent: 12 - - uid: 32209 + - uid: 30343 components: - type: Transform - pos: -55.5,-57.5 + pos: -40.5,-58.5 parent: 12 - - uid: 32210 + - uid: 30454 components: - type: Transform - pos: -55.5,-52.5 + pos: -47.5,-56.5 parent: 12 - - uid: 32211 + - uid: 30489 components: - type: Transform - pos: -63.5,-58.5 + pos: -58.5,-49.5 parent: 12 - - uid: 32212 + - uid: 30490 components: - type: Transform - pos: -64.5,-57.5 + pos: -41.5,-57.5 parent: 12 - proto: AtmosFixFreezerMarker entities: @@ -20999,11 +20909,6 @@ entities: - type: Transform pos: 2.5,70.5 parent: 12 - - uid: 10819 - components: - - type: Transform - pos: -61.5,-57.5 - parent: 12 - uid: 23721 components: - type: Transform @@ -21030,11 +20935,6 @@ entities: - type: Transform pos: 41.5,-19.5 parent: 12 - - uid: 32187 - components: - - type: Transform - pos: -63.5,-54.5 - parent: 12 - proto: BarSignOfficerBeersky entities: - uid: 14512 @@ -21590,18 +21490,6 @@ entities: - type: Transform pos: -20.5,47.5 parent: 12 -- proto: Bible - entities: - - uid: 13308 - components: - - type: Transform - pos: 56.419914,38.685394 - parent: 12 - - uid: 13322 - components: - - type: Transform - pos: 43.41042,29.810503 - parent: 12 - proto: Biogenerator entities: - uid: 107 @@ -40881,46 +40769,11 @@ entities: - type: Transform pos: 35.5,-32.5 parent: 12 - - uid: 25568 - components: - - type: Transform - pos: -60.5,-55.5 - parent: 12 - - uid: 25581 - components: - - type: Transform - pos: -60.5,-56.5 - parent: 12 - - uid: 25598 - components: - - type: Transform - pos: -60.5,-57.5 - parent: 12 - uid: 25610 components: - type: Transform pos: 50.5,-0.5 parent: 12 - - uid: 25682 - components: - - type: Transform - pos: -60.5,-58.5 - parent: 12 - - uid: 25738 - components: - - type: Transform - pos: -60.5,-59.5 - parent: 12 - - uid: 25822 - components: - - type: Transform - pos: -61.5,-59.5 - parent: 12 - - uid: 25823 - components: - - type: Transform - pos: -59.5,-59.5 - parent: 12 - uid: 26097 components: - type: Transform @@ -41761,6 +41614,11 @@ entities: - type: Transform pos: -28.5,-0.5 parent: 12 + - uid: 27665 + components: + - type: Transform + pos: -50.5,-46.5 + parent: 12 - uid: 27712 components: - type: Transform @@ -44691,31 +44549,6 @@ entities: - type: Transform pos: 49.5,54.5 parent: 12 - - uid: 32128 - components: - - type: Transform - pos: -62.5,-53.5 - parent: 12 - - uid: 32129 - components: - - type: Transform - pos: -61.5,-53.5 - parent: 12 - - uid: 32130 - components: - - type: Transform - pos: -61.5,-54.5 - parent: 12 - - uid: 32131 - components: - - type: Transform - pos: -61.5,-55.5 - parent: 12 - - uid: 32213 - components: - - type: Transform - pos: -63.5,-53.5 - parent: 12 - uid: 32230 components: - type: Transform @@ -44771,12 +44604,6 @@ entities: - type: Transform pos: 43.47266,63.509254 parent: 12 - - uid: 31067 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -50.484467,-46.507282 - parent: 12 - uid: 31288 components: - type: Transform @@ -45185,6 +45012,11 @@ entities: - type: Transform pos: -43.5,-13.5 parent: 12 + - uid: 1764 + components: + - type: Transform + pos: -56.5,-53.5 + parent: 12 - uid: 1835 components: - type: Transform @@ -46070,11 +45902,6 @@ entities: - type: Transform pos: 42.5,-0.5 parent: 12 - - uid: 4976 - components: - - type: Transform - pos: -57.5,-57.5 - parent: 12 - uid: 4994 components: - type: Transform @@ -47670,6 +47497,11 @@ entities: - type: Transform pos: 51.5,-6.5 parent: 12 + - uid: 9631 + components: + - type: Transform + pos: -57.5,-54.5 + parent: 12 - uid: 9636 components: - type: Transform @@ -52575,6 +52407,11 @@ entities: - type: Transform pos: 30.5,14.5 parent: 12 + - uid: 25598 + components: + - type: Transform + pos: -56.5,-54.5 + parent: 12 - uid: 25613 components: - type: Transform @@ -56220,26 +56057,11 @@ entities: - type: Transform pos: -54.5,-50.5 parent: 12 - - uid: 31013 - components: - - type: Transform - pos: -58.5,-52.5 - parent: 12 - uid: 31054 components: - type: Transform pos: 30.5,11.5 parent: 12 - - uid: 31056 - components: - - type: Transform - pos: -57.5,-52.5 - parent: 12 - - uid: 31057 - components: - - type: Transform - pos: -56.5,-54.5 - parent: 12 - uid: 31058 components: - type: Transform @@ -56275,16 +56097,6 @@ entities: - type: Transform pos: -58.5,-43.5 parent: 12 - - uid: 31730 - components: - - type: Transform - pos: -56.5,-56.5 - parent: 12 - - uid: 31731 - components: - - type: Transform - pos: -58.5,-56.5 - parent: 12 - uid: 31775 components: - type: Transform @@ -56410,96 +56222,6 @@ entities: - type: Transform pos: 40.5,-10.5 parent: 12 - - uid: 32152 - components: - - type: Transform - pos: -65.5,-57.5 - parent: 12 - - uid: 32153 - components: - - type: Transform - pos: -65.5,-56.5 - parent: 12 - - uid: 32154 - components: - - type: Transform - pos: -65.5,-55.5 - parent: 12 - - uid: 32155 - components: - - type: Transform - pos: -65.5,-54.5 - parent: 12 - - uid: 32156 - components: - - type: Transform - pos: -64.5,-54.5 - parent: 12 - - uid: 32157 - components: - - type: Transform - pos: -63.5,-54.5 - parent: 12 - - uid: 32158 - components: - - type: Transform - pos: -62.5,-54.5 - parent: 12 - - uid: 32159 - components: - - type: Transform - pos: -62.5,-55.5 - parent: 12 - - uid: 32169 - components: - - type: Transform - pos: -58.5,-56.5 - parent: 12 - - uid: 32170 - components: - - type: Transform - pos: -58.5,-57.5 - parent: 12 - - uid: 32172 - components: - - type: Transform - pos: -57.5,-58.5 - parent: 12 - - uid: 32175 - components: - - type: Transform - pos: -56.5,-58.5 - parent: 12 - - uid: 32176 - components: - - type: Transform - pos: -59.5,-57.5 - parent: 12 - - uid: 32177 - components: - - type: Transform - pos: -60.5,-57.5 - parent: 12 - - uid: 32178 - components: - - type: Transform - pos: -60.5,-56.5 - parent: 12 - - uid: 32179 - components: - - type: Transform - pos: -60.5,-55.5 - parent: 12 - - uid: 32180 - components: - - type: Transform - pos: -61.5,-55.5 - parent: 12 - - uid: 32181 - components: - - type: Transform - pos: -55.5,-58.5 - parent: 12 - proto: CableHVStack entities: - uid: 353 @@ -66935,11 +66657,6 @@ entities: - type: Transform pos: -33.5,-57.5 parent: 12 - - uid: 31023 - components: - - type: Transform - pos: -61.5,-53.5 - parent: 12 - uid: 31295 components: - type: Transform @@ -67120,31 +66837,6 @@ entities: - type: Transform pos: 49.5,54.5 parent: 12 - - uid: 32160 - components: - - type: Transform - pos: -62.5,-55.5 - parent: 12 - - uid: 32161 - components: - - type: Transform - pos: -61.5,-55.5 - parent: 12 - - uid: 32162 - components: - - type: Transform - pos: -61.5,-54.5 - parent: 12 - - uid: 32165 - components: - - type: Transform - pos: -62.5,-53.5 - parent: 12 - - uid: 32166 - components: - - type: Transform - pos: -63.5,-53.5 - parent: 12 - proto: CableMVStack entities: - uid: 5999 @@ -67274,7 +66966,7 @@ entities: - uid: 13090 components: - type: Transform - pos: 56.215126,38.011414 + pos: 56.275406,37.942432 parent: 12 - uid: 13095 components: @@ -67294,7 +66986,7 @@ entities: - uid: 13252 components: - type: Transform - pos: 56.166515,36.49058 + pos: 56.26499,37.33827 parent: 12 - uid: 13254 components: @@ -71868,6 +71560,11 @@ entities: rot: -1.5707963267948966 rad pos: 4.5,31.5 parent: 12 + - uid: 10820 + components: + - type: Transform + pos: -57.5,-47.5 + parent: 12 - uid: 10835 components: - type: Transform @@ -74072,12 +73769,22 @@ entities: - type: Transform pos: -26.5,23.5 parent: 12 + - uid: 25822 + components: + - type: Transform + pos: -55.5,-50.5 + parent: 12 - uid: 26236 components: - type: Transform rot: 3.141592653589793 rad pos: -20.5,59.5 parent: 12 + - uid: 26379 + components: + - type: Transform + pos: -50.5,-46.5 + parent: 12 - uid: 26414 components: - type: Transform @@ -74255,11 +73962,6 @@ entities: - type: Transform pos: -40.5,-52.5 parent: 12 - - uid: 27665 - components: - - type: Transform - pos: -41.5,-52.5 - parent: 12 - uid: 27666 components: - type: Transform @@ -75130,12 +74832,6 @@ entities: rot: 1.5707963267948966 rad pos: -34.5,-66.5 parent: 12 - - uid: 29082 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -34.5,-62.5 - parent: 12 - uid: 29085 components: - type: Transform @@ -75618,6 +75314,11 @@ entities: - type: Transform pos: -43.5,68.5 parent: 12 + - uid: 30301 + components: + - type: Transform + pos: -57.5,-48.5 + parent: 12 - uid: 30473 components: - type: Transform @@ -75928,6 +75629,36 @@ entities: - type: Transform pos: 3.5,-50.5 parent: 12 + - uid: 31024 + components: + - type: Transform + pos: -57.5,-45.5 + parent: 12 + - uid: 31031 + components: + - type: Transform + pos: -57.5,-54.5 + parent: 12 + - uid: 31032 + components: + - type: Transform + pos: -55.5,-49.5 + parent: 12 + - uid: 31035 + components: + - type: Transform + pos: -57.5,-44.5 + parent: 12 + - uid: 31039 + components: + - type: Transform + pos: -55.5,-51.5 + parent: 12 + - uid: 31041 + components: + - type: Transform + pos: -57.5,-43.5 + parent: 12 - uid: 31270 components: - type: Transform @@ -75964,31 +75695,6 @@ entities: rot: 1.5707963267948966 rad pos: 35.5,-15.5 parent: 12 - - uid: 32133 - components: - - type: Transform - pos: -61.5,-55.5 - parent: 12 - - uid: 32134 - components: - - type: Transform - pos: -61.5,-59.5 - parent: 12 - - uid: 32135 - components: - - type: Transform - pos: -60.5,-59.5 - parent: 12 - - uid: 32136 - components: - - type: Transform - pos: -59.5,-59.5 - parent: 12 - - uid: 32174 - components: - - type: Transform - pos: -62.5,-55.5 - parent: 12 - proto: Cautery entities: - uid: 9752 @@ -80052,13 +79758,6 @@ entities: - type: Transform pos: -21.667349,-7.343448 parent: 12 -- proto: ClothingHeadHelmetEVA - entities: - - uid: 32167 - components: - - type: Transform - pos: -61.5426,-52.550335 - parent: 12 - proto: ClothingHeadHelmetRiot entities: - uid: 20866 @@ -80244,7 +79943,8 @@ entities: - uid: 32127 components: - type: Transform - pos: -63.43215,-50.381607 + rot: -6.283185307179586 rad + pos: -60.515457,-50.51032 parent: 12 - proto: ClothingNeckCloakTrans entities: @@ -80479,13 +80179,6 @@ entities: - type: Transform pos: -11.945792,60.527626 parent: 12 -- proto: ClothingOuterHardsuitEVA - entities: - - uid: 32142 - components: - - type: Transform - pos: -62.521767,-52.550335 - parent: 12 - proto: ClothingOuterHoodieBlack entities: - uid: 25982 @@ -95648,13 +95341,6 @@ entities: - type: Transform pos: -33.231888,44.587296 parent: 12 -- proto: DrinkCogChampBase - entities: - - uid: 31114 - components: - - type: Transform - pos: -57.4781,-55.502342 - parent: 12 - proto: DrinkColaCan entities: - uid: 13334 @@ -96047,7 +95733,12 @@ entities: - uid: 13325 components: - type: Transform - pos: 44.5166,29.691267 + pos: 44.358738,29.577848 + parent: 12 + - uid: 26293 + components: + - type: Transform + pos: 44.139988,29.75493 parent: 12 - proto: DrinkTeaGlass entities: @@ -97173,10 +96864,10 @@ entities: parent: 12 - proto: EpinephrineChemistryBottle entities: - - uid: 17614 + - uid: 30546 components: - type: Transform - pos: -52.83247,28.80966 + pos: -52.860172,28.779083 parent: 12 - proto: ExosuitFabricator entities: @@ -102844,11 +102535,6 @@ entities: - type: Transform pos: -34.115353,-56.58399 parent: 12 - - uid: 32189 - components: - - type: Transform - pos: -60.632877,-54.815796 - parent: 12 - proto: FoodFrozenSnowcone entities: - uid: 22491 @@ -102970,6 +102656,13 @@ entities: - type: Transform pos: -30.5,-58.5 parent: 12 +- proto: FoodPizzaUraniumSlice + entities: + - uid: 30340 + components: + - type: Transform + pos: -40.483036,-56.420677 + parent: 12 - proto: FoodPlate entities: - uid: 15048 @@ -103108,11 +102801,6 @@ entities: - type: Transform pos: -29.443712,-54.018364 parent: 12 - - uid: 32191 - components: - - type: Transform - pos: -61.584267,-54.808846 - parent: 12 - proto: FoodPotato entities: - uid: 31464 @@ -103233,11 +102921,6 @@ entities: - type: Transform pos: -28.587122,-59.26843 parent: 12 - - uid: 32192 - components: - - type: Transform - pos: -61.132877,-54.03053 - parent: 12 - proto: Football entities: - uid: 22487 @@ -103311,6 +102994,8 @@ entities: rot: -1.5707963267948966 rad pos: -12.5,-56.5 parent: 12 + - type: AtmosPipeColor + color: '#03FCD3FF' - uid: 18269 components: - type: Transform @@ -103858,6 +103543,8 @@ entities: rot: 3.141592653589793 rad pos: -13.5,-56.5 parent: 12 + - type: AtmosPipeColor + color: '#03FCD3FF' - uid: 2812 components: - type: Transform @@ -106644,6 +106331,8 @@ entities: - type: Transform pos: -11.5,-55.5 parent: 12 + - type: AtmosPipeColor + color: '#03FCD3FF' - uid: 3505 components: - type: Transform @@ -108426,6 +108115,8 @@ entities: rot: -1.5707963267948966 rad pos: -12.5,-55.5 parent: 12 + - type: AtmosPipeColor + color: '#03FCD3FF' - uid: 2814 components: - type: Transform @@ -129868,12 +129559,16 @@ entities: rot: 1.5707963267948966 rad pos: -13.5,-55.5 parent: 12 + - type: AtmosPipeColor + color: '#03FCD3FF' - uid: 2810 components: - type: Transform rot: 3.141592653589793 rad pos: -11.5,-56.5 parent: 12 + - type: AtmosPipeColor + color: '#03FCD3FF' - uid: 2811 components: - type: Transform @@ -133174,7 +132869,7 @@ entities: pos: -10.5,-55.5 parent: 12 - type: AtmosPipeColor - color: '#0055CCFF' + color: '#03FCD3FF' - uid: 4092 components: - type: MetaData @@ -133297,6 +132992,8 @@ entities: targetTemperature: 100 - type: ApcPowerReceiver powerDisabled: False + - type: AtmosPipeColor + color: '#03FCD3FF' - uid: 2960 components: - type: Transform @@ -137325,12 +137022,6 @@ entities: - type: Transform pos: -33.5,-55.5 parent: 12 - - uid: 31113 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -64.5,-54.5 - parent: 12 - uid: 31439 components: - type: Transform @@ -138275,18 +137966,6 @@ entities: - type: Transform pos: 11.5,3.5 parent: 12 - - uid: 1613 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -39.5,63.5 - parent: 12 - - uid: 1764 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -38.5,62.5 - parent: 12 - uid: 1885 components: - type: Transform @@ -141765,6 +141444,11 @@ entities: - type: Transform pos: -54.5,75.5 parent: 12 + - uid: 13322 + components: + - type: Transform + pos: -57.5,-56.5 + parent: 12 - uid: 13991 components: - type: Transform @@ -143096,6 +142780,11 @@ entities: - type: Transform pos: -59.5,35.5 parent: 12 + - uid: 17614 + components: + - type: Transform + pos: -55.5,-56.5 + parent: 12 - uid: 17811 components: - type: Transform @@ -143125,11 +142814,6 @@ entities: rot: 1.5707963267948966 rad pos: -44.5,48.5 parent: 12 - - uid: 18315 - components: - - type: Transform - pos: -61.5,-57.5 - parent: 12 - uid: 18561 components: - type: Transform @@ -143744,12 +143428,6 @@ entities: - type: Transform pos: -26.5,74.5 parent: 12 - - uid: 25452 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -39.5,62.5 - parent: 12 - uid: 25489 components: - type: Transform @@ -144105,76 +143783,16 @@ entities: - type: Transform pos: -22.5,3.5 parent: 12 - - uid: 26291 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -35.5,70.5 - parent: 12 - - uid: 26293 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -33.5,70.5 - parent: 12 - - uid: 26298 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -36.5,70.5 - parent: 12 - uid: 26303 components: - type: Transform pos: -25.5,62.5 parent: 12 - - uid: 26304 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -32.5,70.5 - parent: 12 - - uid: 26305 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -31.5,70.5 - parent: 12 - - uid: 26306 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -37.5,70.5 - parent: 12 - - uid: 26307 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -39.5,69.5 - parent: 12 - uid: 26322 components: - type: Transform pos: -0.5,-31.5 parent: 12 - - uid: 26377 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -39.5,65.5 - parent: 12 - - uid: 26378 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -39.5,66.5 - parent: 12 - - uid: 26379 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -39.5,68.5 - parent: 12 - uid: 26396 components: - type: Transform @@ -144195,12 +143813,6 @@ entities: - type: Transform pos: 24.5,90.5 parent: 12 - - uid: 26413 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -39.5,67.5 - parent: 12 - uid: 26420 components: - type: Transform @@ -144258,12 +143870,6 @@ entities: - type: Transform pos: 14.5,-13.5 parent: 12 - - uid: 26610 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -39.5,70.5 - parent: 12 - uid: 26620 components: - type: Transform @@ -144321,18 +143927,6 @@ entities: - type: Transform pos: 29.5,-29.5 parent: 12 - - uid: 26758 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -38.5,70.5 - parent: 12 - - uid: 26866 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -39.5,64.5 - parent: 12 - uid: 26945 components: - type: Transform @@ -144538,12 +144132,6 @@ entities: rot: 1.5707963267948966 rad pos: -37.5,-70.5 parent: 12 - - uid: 27910 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -34.5,70.5 - parent: 12 - uid: 27915 components: - type: Transform @@ -145100,11 +144688,6 @@ entities: rot: -1.5707963267948966 rad pos: -25.5,-40.5 parent: 12 - - uid: 29978 - components: - - type: Transform - pos: -59.5,-57.5 - parent: 12 - uid: 29998 components: - type: Transform @@ -145720,6 +145303,11 @@ entities: rot: 3.141592653589793 rad pos: -2.5,76.5 parent: 12 + - uid: 30491 + components: + - type: Transform + pos: -49.5,-56.5 + parent: 12 - uid: 30509 components: - type: Transform @@ -145760,6 +145348,16 @@ entities: - type: Transform pos: -28.5,-60.5 parent: 12 + - uid: 30547 + components: + - type: Transform + pos: -39.5,66.5 + parent: 12 + - uid: 30549 + components: + - type: Transform + pos: -38.5,70.5 + parent: 12 - uid: 30555 components: - type: Transform @@ -145790,17 +145388,62 @@ entities: - type: Transform pos: -29.5,-52.5 parent: 12 + - uid: 30572 + components: + - type: Transform + pos: -39.5,67.5 + parent: 12 - uid: 30580 components: - type: Transform rot: 3.141592653589793 rad pos: -27.5,-56.5 parent: 12 + - uid: 30582 + components: + - type: Transform + pos: -35.5,70.5 + parent: 12 - uid: 30584 components: - type: Transform pos: -29.5,-60.5 parent: 12 + - uid: 30834 + components: + - type: Transform + pos: -37.5,70.5 + parent: 12 + - uid: 30875 + components: + - type: Transform + pos: -34.5,70.5 + parent: 12 + - uid: 30965 + components: + - type: Transform + pos: -39.5,70.5 + parent: 12 + - uid: 30966 + components: + - type: Transform + pos: -38.5,62.5 + parent: 12 + - uid: 30967 + components: + - type: Transform + pos: -33.5,70.5 + parent: 12 + - uid: 30968 + components: + - type: Transform + pos: -39.5,69.5 + parent: 12 + - uid: 30969 + components: + - type: Transform + pos: -39.5,65.5 + parent: 12 - uid: 30971 components: - type: Transform @@ -145831,76 +145474,50 @@ entities: - type: Transform pos: -54.5,-46.5 parent: 12 - - uid: 31029 - components: - - type: Transform - pos: -26.5,-58.5 - parent: 12 - - uid: 31076 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -40.5,-56.5 - parent: 12 - - uid: 31077 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -41.5,-56.5 - parent: 12 - - uid: 31078 + - uid: 31000 components: - type: Transform - rot: 3.141592653589793 rad - pos: -42.5,-56.5 + pos: -39.5,64.5 parent: 12 - - uid: 31079 + - uid: 31001 components: - type: Transform - rot: 3.141592653589793 rad - pos: -43.5,-56.5 + pos: -39.5,62.5 parent: 12 - - uid: 31080 + - uid: 31002 components: - type: Transform - rot: 3.141592653589793 rad - pos: -44.5,-56.5 + pos: -39.5,63.5 parent: 12 - - uid: 31081 + - uid: 31008 components: - type: Transform - rot: 3.141592653589793 rad - pos: -45.5,-56.5 + pos: -31.5,70.5 parent: 12 - - uid: 31082 + - uid: 31013 components: - type: Transform - rot: 3.141592653589793 rad - pos: -46.5,-56.5 + pos: -32.5,70.5 parent: 12 - - uid: 31083 + - uid: 31015 components: - type: Transform - rot: 3.141592653589793 rad - pos: -50.5,-56.5 + pos: -39.5,68.5 parent: 12 - - uid: 31084 + - uid: 31016 components: - type: Transform - rot: 3.141592653589793 rad - pos: -51.5,-53.5 + pos: -36.5,70.5 parent: 12 - - uid: 31085 + - uid: 31021 components: - type: Transform - rot: 3.141592653589793 rad pos: -61.5,-46.5 parent: 12 - - uid: 31086 + - uid: 31029 components: - type: Transform - rot: 3.141592653589793 rad - pos: -61.5,-45.5 + pos: -26.5,-58.5 parent: 12 - uid: 31087 components: @@ -145956,16 +145573,6 @@ entities: rot: 3.141592653589793 rad pos: -56.5,-41.5 parent: 12 - - uid: 31101 - components: - - type: Transform - pos: -53.5,-56.5 - parent: 12 - - uid: 31102 - components: - - type: Transform - pos: -49.5,-56.5 - parent: 12 - uid: 31163 components: - type: Transform @@ -146086,11 +145693,6 @@ entities: - type: Transform pos: 41.5,-18.5 parent: 12 - - uid: 32121 - components: - - type: Transform - pos: -63.5,-54.5 - parent: 12 - proto: GrilleBroken entities: - uid: 3719 @@ -146113,6 +145715,11 @@ entities: - type: Transform pos: -1.5,15.5 parent: 12 + - uid: 11397 + components: + - type: Transform + pos: -54.5,-56.5 + parent: 12 - uid: 12027 components: - type: Transform @@ -146123,11 +145730,26 @@ entities: - type: Transform pos: 48.5,-2.5 parent: 12 + - uid: 18315 + components: + - type: Transform + pos: -42.5,-59.5 + parent: 12 + - uid: 23167 + components: + - type: Transform + pos: -56.5,-56.5 + parent: 12 - uid: 28921 components: - type: Transform pos: 32.5,10.5 parent: 12 + - uid: 29064 + components: + - type: Transform + pos: -58.5,-56.5 + parent: 12 - uid: 30492 components: - type: Transform @@ -146153,51 +145775,25 @@ entities: - type: Transform pos: -29.5,-55.5 parent: 12 - - uid: 31096 + - uid: 31022 components: - type: Transform - rot: 3.141592653589793 rad pos: -61.5,-47.5 parent: 12 - - uid: 31097 - components: - - type: Transform - pos: -61.5,-49.5 - parent: 12 - - uid: 31098 - components: - - type: Transform - pos: -54.5,-56.5 - parent: 12 - - uid: 31099 - components: - - type: Transform - pos: -53.5,-55.5 - parent: 12 - - uid: 31100 - components: - - type: Transform - pos: -52.5,-56.5 - parent: 12 - - uid: 31103 - components: - - type: Transform - pos: -47.5,-56.5 - parent: 12 - - uid: 31104 + - uid: 31023 components: - type: Transform - pos: -51.5,-56.5 + pos: -59.5,-56.5 parent: 12 - - uid: 31105 + - uid: 31028 components: - type: Transform - pos: -48.5,-56.5 + pos: -50.5,-56.5 parent: 12 - - uid: 31106 + - uid: 31033 components: - type: Transform - pos: -52.5,-53.5 + pos: -61.5,-45.5 parent: 12 - proto: GrilleDiagonal entities: @@ -149144,11 +148740,6 @@ entities: - type: Transform pos: 53.5,25.5 parent: 12 - - uid: 29064 - components: - - type: Transform - pos: -62.5,-54.5 - parent: 12 - proto: MagazinePistolSubMachineGunTopMounted entities: - uid: 27841 @@ -149752,11 +149343,6 @@ entities: parent: 12 - proto: Mattress entities: - - uid: 29008 - components: - - type: Transform - pos: -61.5,-52.5 - parent: 12 - uid: 29146 components: - type: Transform @@ -150011,7 +149597,7 @@ entities: - uid: 32188 components: - type: Transform - pos: -63.506554,-50.71072 + pos: -50.514328,-53.502277 parent: 12 - proto: Mirror entities: @@ -151530,7 +151116,7 @@ entities: - uid: 13335 components: - type: Transform - pos: 56.52551,36.441574 + pos: 56.98374,36.64035 parent: 12 - uid: 13622 components: @@ -152095,14 +151681,6 @@ entities: rot: -12.566370614359172 rad pos: -11.731569,-12.627775 parent: 12 -- proto: PlushieRatvar - entities: - - uid: 11397 - components: - - type: Transform - rot: -62.83185307179591 rad - pos: -64.51839,-52.561867 - parent: 12 - proto: PlushieSharkBlue entities: - uid: 4060 @@ -152213,14 +151791,6 @@ entities: - type: Transform pos: 3.5,-47.5 parent: 12 - - uid: 32132 - components: - - type: Transform - anchored: True - pos: -61.5,-55.5 - parent: 12 - - type: Physics - bodyType: Static - proto: PortableGeneratorJrPacmanMachineCircuitboard entities: - uid: 5347 @@ -152372,18 +151942,6 @@ entities: - type: Transform pos: -3.5,-64.5 parent: 12 - - uid: 32145 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -59.5,-55.5 - parent: 12 - - uid: 32146 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -59.5,-58.5 - parent: 12 - proto: PosterContrabandAtmosiaDeclarationIndependence entities: - uid: 23 @@ -155084,18 +154642,6 @@ entities: rot: -1.5707963267948966 rad pos: 22.5,65.5 parent: 12 - - uid: 17288 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -49.5,20.5 - parent: 12 - - uid: 17289 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -53.5,20.5 - parent: 12 - uid: 17333 components: - type: Transform @@ -155454,6 +155000,23 @@ entities: rot: -1.5707963267948966 rad pos: -4.5,49.5 parent: 12 + - uid: 26298 + components: + - type: Transform + pos: 45.5,-44.5 + parent: 12 + - uid: 26377 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -55.5,-49.5 + parent: 12 + - uid: 26378 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -23.5,-66.5 + parent: 12 - uid: 26408 components: - type: Transform @@ -155547,6 +155110,18 @@ entities: rot: -1.5707963267948966 rad pos: 22.5,-7.5 parent: 12 + - uid: 28825 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -56.5,47.5 + parent: 12 + - uid: 29008 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 32.5,69.5 + parent: 12 - uid: 29077 components: - type: Transform @@ -155579,6 +155154,11 @@ entities: rot: 3.141592653589793 rad pos: 56.5,60.5 parent: 12 + - uid: 31027 + components: + - type: Transform + pos: -50.5,22.5 + parent: 12 - uid: 31472 components: - type: Transform @@ -156707,6 +156287,12 @@ entities: rot: -1.5707963267948966 rad pos: 33.5,15.5 parent: 12 + - uid: 31025 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -52.5,17.5 + parent: 12 - uid: 31126 components: - type: Transform @@ -156765,12 +156351,6 @@ entities: powerLoad: 60 - type: DamageOnInteract isDamageActive: False - - uid: 32147 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -61.5,-55.5 - parent: 12 - proto: Protolathe entities: - uid: 2321 @@ -157546,6 +157126,11 @@ entities: - type: Transform pos: -17.5,-61.5 parent: 12 + - uid: 31017 + components: + - type: Transform + pos: -53.5,-47.5 + parent: 12 - uid: 31261 components: - type: Transform @@ -157567,11 +157152,6 @@ entities: rot: 1.5707963267948966 rad pos: 55.5,64.5 parent: 12 - - uid: 32173 - components: - - type: Transform - pos: -62.5,-52.5 - parent: 12 - proto: RadioHandheld entities: - uid: 9805 @@ -159761,11 +159341,6 @@ entities: - type: Transform pos: 45.5,62.5 parent: 12 - - uid: 32193 - components: - - type: Transform - pos: -60.5,-57.5 - parent: 12 - proto: RandomVending entities: - uid: 9099 @@ -160024,20 +159599,6 @@ entities: rot: -1.5707963267948966 rad pos: 37.5,14.5 parent: 12 -- proto: ReinforcedGirder - entities: - - uid: 4769 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -54.5,-52.5 - parent: 12 - - uid: 31161 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -55.5,-49.5 - parent: 12 - proto: ReinforcedPlasmaWindow entities: - uid: 501 @@ -165614,16 +165175,6 @@ entities: rot: 3.141592653589793 rad pos: 37.5,-13.5 parent: 12 - - uid: 32117 - components: - - type: Transform - pos: -59.5,-57.5 - parent: 12 - - uid: 32186 - components: - - type: Transform - pos: -63.5,-54.5 - parent: 12 - proto: ReinforcedWindowDiagonal entities: - uid: 19673 @@ -166130,7 +165681,7 @@ entities: - uid: 13323 components: - type: Transform - pos: 44.037434,29.555851 + pos: 43.473324,29.66118 parent: 12 - uid: 23679 components: @@ -166280,6 +165831,11 @@ entities: rot: -43.98229715025713 rad pos: 57.301918,-5.261206 parent: 12 + - uid: 31043 + components: + - type: Transform + pos: 59.707104,12.565823 + parent: 12 - proto: SheetPlastic entities: - uid: 1947 @@ -168709,13 +168265,6 @@ entities: rot: 1.5707963267948966 rad pos: 29.5,49.5 parent: 12 -- proto: SolarAssembly - entities: - - uid: 31075 - components: - - type: Transform - pos: -54.5,-53.5 - parent: 12 - proto: SolarControlComputerCircuitboard entities: - uid: 8834 @@ -169349,12 +168898,6 @@ entities: rot: 1.5707963267948966 rad pos: -28.5,-68.5 parent: 12 - - uid: 10823 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -55.5,-58.5 - parent: 12 - uid: 10953 components: - type: Transform @@ -169959,6 +169502,12 @@ entities: rot: 1.5707963267948966 rad pos: -39.5,-62.5 parent: 12 + - uid: 25581 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -56.5,-52.5 + parent: 12 - uid: 27495 components: - type: Transform @@ -170127,6 +169676,12 @@ entities: rot: 1.5707963267948966 rad pos: -40.5,-62.5 parent: 12 + - uid: 30181 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -56.5,-54.5 + parent: 12 - uid: 31009 components: - type: Transform @@ -170157,32 +169712,11 @@ entities: rot: -1.5707963267948966 rad pos: -58.5,-43.5 parent: 12 - - uid: 31016 + - uid: 31040 components: - type: Transform rot: -1.5707963267948966 rad - pos: -58.5,-52.5 - parent: 12 - - uid: 32148 - components: - - type: Transform - pos: -65.5,-57.5 - parent: 12 - - uid: 32150 - components: - - type: Transform - pos: -65.5,-54.5 - parent: 12 - - uid: 32151 - components: - - type: Transform - pos: -65.5,-56.5 - parent: 12 - - uid: 32183 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -57.5,-58.5 + pos: -56.5,-43.5 parent: 12 - proto: SolarPanelBroken entities: @@ -170191,6 +169725,12 @@ entities: - type: Transform pos: -38.5,-66.5 parent: 12 + - uid: 10821 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -56.5,-53.5 + parent: 12 - uid: 24256 components: - type: Transform @@ -170216,29 +169756,17 @@ entities: - type: Transform pos: -30.5,-68.5 parent: 12 - - uid: 30875 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -58.5,-56.5 - parent: 12 - - uid: 31000 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -56.5,-54.5 - parent: 12 - - uid: 31001 + - uid: 30306 components: - type: Transform rot: -1.5707963267948966 rad - pos: -58.5,-53.5 + pos: -58.5,-44.5 parent: 12 - - uid: 31002 + - uid: 30437 components: - type: Transform rot: -1.5707963267948966 rad - pos: -56.5,-56.5 + pos: -58.5,-54.5 parent: 12 - uid: 31003 components: @@ -170270,22 +169798,11 @@ entities: rot: -1.5707963267948966 rad pos: -58.5,-46.5 parent: 12 - - uid: 31008 + - uid: 31037 components: - type: Transform rot: -1.5707963267948966 rad - pos: -56.5,-43.5 - parent: 12 - - uid: 32149 - components: - - type: Transform - pos: -65.5,-55.5 - parent: 12 - - uid: 32184 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -56.5,-58.5 + pos: -58.5,-52.5 parent: 12 - proto: SolarTracker entities: @@ -170309,10 +169826,12 @@ entities: - type: Transform pos: -25.5,-69.5 parent: 12 - - uid: 31017 +- proto: SolarTrackerElectronics + entities: + - uid: 13308 components: - type: Transform - pos: -61.5,-50.5 + pos: -53.441116,-47.48533 parent: 12 - proto: SolidSecretDoor entities: @@ -171368,11 +170887,6 @@ entities: rot: -12.566370614359172 rad pos: -8.433574,-66.54101 parent: 12 - - uid: 32143 - components: - - type: Transform - pos: -62.424545,-53.537132 - parent: 12 - proto: Spoon entities: - uid: 23545 @@ -172741,11 +172255,6 @@ entities: - type: Transform pos: -36.5,-50.5 parent: 12 - - uid: 32116 - components: - - type: Transform - pos: -62.5,-55.5 - parent: 12 - proto: SuitStorageCaptain entities: - uid: 18757 @@ -173168,17 +172677,6 @@ entities: - SurveillanceCameraEngineering nameSet: True id: Atmos lockers/engi hallway - - uid: 7157 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 1.5,17.5 - parent: 12 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraEngineering - nameSet: True - id: TEG West - uid: 9821 components: - type: Transform @@ -173447,17 +172945,6 @@ entities: - SurveillanceCameraEngineering nameSet: True id: Southeast solars 2 - - uid: 28825 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -52.5,-47.5 - parent: 12 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraEngineering - nameSet: True - id: Southwest solars - uid: 31882 components: - type: Transform @@ -179075,7 +178562,7 @@ entities: - uid: 12618 components: - type: Transform - pos: 57.698708,36.671814 + pos: 57.535824,36.64035 parent: 12 - uid: 23411 components: @@ -179351,11 +178838,6 @@ entities: - type: Transform pos: -29.544153,-55.516808 parent: 12 - - uid: 32190 - components: - - type: Transform - pos: -60.494305,-59.53066 - parent: 12 - proto: TrashBananaPeel entities: - uid: 9367 @@ -193563,11 +193045,6 @@ entities: rot: -1.5707963267948966 rad pos: 36.5,22.5 parent: 12 - - uid: 10822 - components: - - type: Transform - pos: -59.5,-58.5 - parent: 12 - uid: 10887 components: - type: Transform @@ -197492,11 +196969,6 @@ entities: - type: Transform pos: -3.5,-48.5 parent: 12 - - uid: 23167 - components: - - type: Transform - pos: -59.5,-55.5 - parent: 12 - uid: 23174 components: - type: Transform @@ -198799,21 +198271,6 @@ entities: rot: 3.141592653589793 rad pos: -27.5,-55.5 parent: 12 - - uid: 31028 - components: - - type: Transform - pos: -63.5,-55.5 - parent: 12 - - uid: 31030 - components: - - type: Transform - pos: -61.5,-56.5 - parent: 12 - - uid: 31050 - components: - - type: Transform - pos: -63.5,-53.5 - parent: 12 - uid: 31180 components: - type: Transform @@ -199070,11 +198527,6 @@ entities: rot: 3.141592653589793 rad pos: -45.5,69.5 parent: 12 - - uid: 9631 - components: - - type: Transform - pos: -60.5,-51.5 - parent: 12 - uid: 9671 components: - type: Transform @@ -199086,16 +198538,6 @@ entities: - type: Transform pos: 46.5,-37.5 parent: 12 - - uid: 10820 - components: - - type: Transform - pos: -59.5,-52.5 - parent: 12 - - uid: 11027 - components: - - type: Transform - pos: -59.5,-56.5 - parent: 12 - uid: 11332 components: - type: Transform @@ -200229,11 +199671,6 @@ entities: - type: Transform pos: -27.5,-58.5 parent: 12 - - uid: 31021 - components: - - type: Transform - pos: -62.5,-56.5 - parent: 12 - uid: 31044 components: - type: Transform @@ -200296,17 +199733,6 @@ entities: rot: 3.141592653589793 rad pos: 4.5,-62.5 parent: 12 - - uid: 32120 - components: - - type: Transform - pos: -61.5,-58.5 - parent: 12 - - uid: 32164 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -59.5,-54.5 - parent: 12 - proto: WallWood entities: - uid: 11826 @@ -202765,11 +202191,6 @@ entities: - type: Transform pos: 41.5,-18.5 parent: 12 - - uid: 32118 - components: - - type: Transform - pos: -61.5,-57.5 - parent: 12 - proto: WindowDirectional entities: - uid: 7837 From 8257dc87decd462575a2dccec240aa1bf5c96512 Mon Sep 17 00:00:00 2001 From: K-Dynamic <20566341+K-Dynamic@users.noreply.github.com> Date: Fri, 8 Nov 2024 10:01:57 +1200 Subject: [PATCH 175/588] Meta map: remove arrivals chair, changed maints shotgun to beanbag rounds (#32981) remove chair + changed maints db to rubber --- Resources/Maps/meta.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/Resources/Maps/meta.yml b/Resources/Maps/meta.yml index 1f210e438a..93a6bc31c4 100644 --- a/Resources/Maps/meta.yml +++ b/Resources/Maps/meta.yml @@ -10880,7 +10880,7 @@ entities: pos: -42.5,29.5 parent: 5350 - type: Door - secondsUntilStateChange: -5745.716 + secondsUntilStateChange: -5834.8745 state: Opening - type: DeviceLinkSink invokeCounter: 2 @@ -56106,11 +56106,6 @@ entities: rot: -1.5707963267948966 rad pos: -73.5,7.5 parent: 5350 - - uid: 6164 - components: - - type: Transform - pos: -71.5,-8.5 - parent: 5350 - uid: 6165 components: - type: Transform From d13765fa5cbfc6cf226f936b2407729b6126a6e2 Mon Sep 17 00:00:00 2001 From: PopGamer46 Date: Thu, 7 Nov 2024 23:02:24 +0100 Subject: [PATCH 176/588] Fixes Lambordeere bolt buttons not being connected (#33065) * fix * oops, used savemap instead of savegrid --- Resources/Maps/Shuttles/ShuttleEvent/lambordeere.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Resources/Maps/Shuttles/ShuttleEvent/lambordeere.yml b/Resources/Maps/Shuttles/ShuttleEvent/lambordeere.yml index 56624fcd3b..fcb40acdf4 100644 --- a/Resources/Maps/Shuttles/ShuttleEvent/lambordeere.yml +++ b/Resources/Maps/Shuttles/ShuttleEvent/lambordeere.yml @@ -1206,6 +1206,10 @@ entities: rot: 1.5707963267948966 rad pos: 0.5,5.5 parent: 1 + - type: DeviceLinkSource + linkedPorts: + 50: + - Pressed: DoorBolt - uid: 199 components: - type: MetaData @@ -1214,6 +1218,10 @@ entities: rot: 1.5707963267948966 rad pos: 0.5,2.5 parent: 1 + - type: DeviceLinkSource + linkedPorts: + 82: + - Pressed: DoorBolt - proto: SMESBasic entities: - uid: 65 From 03723afee68483b59bf88d4362bc76cc8c8147c6 Mon Sep 17 00:00:00 2001 From: PJBot Date: Thu, 7 Nov 2024 22:03:35 +0000 Subject: [PATCH 177/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 25dd61eb68..34a2d14358 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,15 +1,4 @@ Entries: -- author: Ubaser - changes: - - message: Mantles are now available in loadouts, requiring 20 hours of that head - of department's time. - type: Add - - message: Mantles are no longer spawned in dressers or able to be printed at uniform - lathes. - type: Remove - id: 7098 - time: '2024-08-12T07:14:46.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30929 - author: LeoSantich changes: - message: Updated 'narsie' and 'ratvar' to 'Nar'Sie' and 'Ratvar' in randomly generated @@ -3953,3 +3942,10 @@ id: 7597 time: '2024-11-06T14:39:16.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/31292 +- author: PopGamer46 + changes: + - message: Fixed Lambordeere (botany shuttle) bolt buttons not being connected + type: Fix + id: 7598 + time: '2024-11-07T22:02:25.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33065 From 9ee47b927b59d709dd905dbf27bd056861854e9a Mon Sep 17 00:00:00 2001 From: scrivoy <179060466+scrivoy@users.noreply.github.com> Date: Fri, 8 Nov 2024 00:18:12 +0100 Subject: [PATCH 178/588] Core Station: Telecoms air alarm connection to atmos devices (#33214) link air alarm in coms room --- Resources/Maps/core.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Resources/Maps/core.yml b/Resources/Maps/core.yml index 2198854499..119279ba2d 100644 --- a/Resources/Maps/core.yml +++ b/Resources/Maps/core.yml @@ -12942,6 +12942,10 @@ entities: rot: -1.5707963267948966 rad pos: 30.5,-42.5 parent: 2 + - type: DeviceList + devices: + - 20006 + - 20005 - uid: 8436 components: - type: Transform @@ -95461,6 +95465,11 @@ entities: rot: 1.5707963267948966 rad pos: 26.5,-42.5 parent: 2 + - type: DeviceNetwork + configurators: + - invalid + deviceLists: + - 8434 - type: AtmosPipeColor color: '#0335FCFF' - uid: 20037 @@ -96662,6 +96671,11 @@ entities: rot: 1.5707963267948966 rad pos: 26.5,-45.5 parent: 2 + - type: DeviceNetwork + configurators: + - invalid + deviceLists: + - 8434 - type: AtmosPipeColor color: '#FF1212FF' - uid: 20038 From 6a1d631b14b62f44c4492725bc1a695f6914bb01 Mon Sep 17 00:00:00 2001 From: Emisse <99158783+Emisse@users.noreply.github.com> Date: Thu, 7 Nov 2024 16:23:28 -0700 Subject: [PATCH 179/588] fix invalids core (#33215) fix invalids --- Resources/Maps/core.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/Resources/Maps/core.yml b/Resources/Maps/core.yml index 119279ba2d..755badd757 100644 --- a/Resources/Maps/core.yml +++ b/Resources/Maps/core.yml @@ -95466,8 +95466,6 @@ entities: pos: 26.5,-42.5 parent: 2 - type: DeviceNetwork - configurators: - - invalid deviceLists: - 8434 - type: AtmosPipeColor @@ -96672,8 +96670,6 @@ entities: pos: 26.5,-45.5 parent: 2 - type: DeviceNetwork - configurators: - - invalid deviceLists: - 8434 - type: AtmosPipeColor From 261c18f764b9ad750f2ef0227360cbf9f1d83846 Mon Sep 17 00:00:00 2001 From: SolStar <44028047+ewokswagger@users.noreply.github.com> Date: Thu, 7 Nov 2024 19:29:03 -0500 Subject: [PATCH 180/588] Fix research disk crash (#33205) * Fix reserach disk crash * remove extra whitespace * removed args.handled where args are not handled --- Content.Server/Research/Disk/ResearchDiskSystem.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Content.Server/Research/Disk/ResearchDiskSystem.cs b/Content.Server/Research/Disk/ResearchDiskSystem.cs index d32c49ce6f..4d65c19f6e 100644 --- a/Content.Server/Research/Disk/ResearchDiskSystem.cs +++ b/Content.Server/Research/Disk/ResearchDiskSystem.cs @@ -31,6 +31,7 @@ private void OnAfterInteract(EntityUid uid, ResearchDiskComponent component, Aft _research.ModifyServerPoints(args.Target.Value, component.Points, server); _popupSystem.PopupEntity(Loc.GetString("research-disk-inserted", ("points", component.Points)), args.Target.Value, args.User); EntityManager.QueueDeleteEntity(uid); + args.Handled = true; } private void OnMapInit(EntityUid uid, ResearchDiskComponent component, MapInitEvent args) From 012855475e38d1a05df6263f356e0d0805aa7237 Mon Sep 17 00:00:00 2001 From: FN <37689533+FireNameFN@users.noreply.github.com> Date: Fri, 8 Nov 2024 09:59:05 +0700 Subject: [PATCH 181/588] Fix cursed mask bug (#33014) * One line fix * Removed redundant using * Allocation improvement --- Content.Server/Clothing/Systems/CursedMaskSystem.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Content.Server/Clothing/Systems/CursedMaskSystem.cs b/Content.Server/Clothing/Systems/CursedMaskSystem.cs index 825e85e2c6..86d4e801a8 100644 --- a/Content.Server/Clothing/Systems/CursedMaskSystem.cs +++ b/Content.Server/Clothing/Systems/CursedMaskSystem.cs @@ -51,7 +51,8 @@ protected override void TryTakeover(Entity ent, EntityUid w } var npcFaction = EnsureComp(wearer); - ent.Comp.OldFactions = npcFaction.Factions; + ent.Comp.OldFactions.Clear(); + ent.Comp.OldFactions.UnionWith(npcFaction.Factions); _npcFaction.ClearFactions((wearer, npcFaction), false); _npcFaction.AddFaction((wearer, npcFaction), ent.Comp.CursedMaskFaction); From 667daa168f9ae9e6c63dfed4714baa89f24a3bfd Mon Sep 17 00:00:00 2001 From: deltanedas <39013340+deltanedas@users.noreply.github.com> Date: Fri, 8 Nov 2024 09:38:41 +0000 Subject: [PATCH 182/588] pass Actor to cartridge messages (#33210) * pass Actor to cartridge messages * NonSerialized gaming --------- Co-authored-by: deltanedas <@deltanedas:kde.org> --- Content.Server/CartridgeLoader/CartridgeLoaderSystem.cs | 1 + Content.Shared/CartridgeLoader/CartridgeUiMessage.cs | 3 +++ 2 files changed, 4 insertions(+) diff --git a/Content.Server/CartridgeLoader/CartridgeLoaderSystem.cs b/Content.Server/CartridgeLoader/CartridgeLoaderSystem.cs index 7caec6150e..98df7e2c50 100644 --- a/Content.Server/CartridgeLoader/CartridgeLoaderSystem.cs +++ b/Content.Server/CartridgeLoader/CartridgeLoaderSystem.cs @@ -428,6 +428,7 @@ private void OnUiMessage(EntityUid uid, CartridgeLoaderComponent component, Cart { var cartridgeEvent = args.MessageEvent; cartridgeEvent.LoaderUid = GetNetEntity(uid); + cartridgeEvent.Actor = args.Actor; RelayEvent(component, cartridgeEvent, true); } diff --git a/Content.Shared/CartridgeLoader/CartridgeUiMessage.cs b/Content.Shared/CartridgeLoader/CartridgeUiMessage.cs index 1155030f93..31ac8bd2d0 100644 --- a/Content.Shared/CartridgeLoader/CartridgeUiMessage.cs +++ b/Content.Shared/CartridgeLoader/CartridgeUiMessage.cs @@ -17,4 +17,7 @@ public CartridgeUiMessage(CartridgeMessageEvent messageEvent) public abstract class CartridgeMessageEvent : EntityEventArgs { public NetEntity LoaderUid; + + [NonSerialized] + public EntityUid Actor; } From 80e148c265dc8602f50e3941dbd94bb396a1f5b5 Mon Sep 17 00:00:00 2001 From: deltanedas <39013340+deltanedas@users.noreply.github.com> Date: Fri, 8 Nov 2024 11:15:41 +0000 Subject: [PATCH 183/588] cham projector fixes/rewrite (#27111) * cant disguise to thing in a container * copy cigarette visualiser * prevent aghost throwing an error * make disguises die in space * fuck it rewrite it to not use polymorph * fix action troll * oop * add vebr * add access to the components * 2/3 * fix * relay damage from disguise to user * fix integrity * :trollface: * :trollface: * m * kill integrity * fix a bug * review * remove them from component * relay flash effect to the disguise * fix icon being weird * change method since multiple systems cant handle same network event * :trollface: * actually network Disguise real --------- Co-authored-by: deltanedas <@deltanedas:kde.org> --- .../Effects/ColorFlashEffectSystem.cs | 10 + .../Systems/ChameleonProjectorSystem.cs | 30 +++ .../Systems/ChameleonProjectorSystem.cs | 96 +------- .../Components/ChameleonDisguiseComponent.cs | 16 +- .../Components/ChameleonDisguisedComponent.cs | 25 ++ .../Components/ChameleonProjectorComponent.cs | 19 +- .../Systems/SharedChameleonProjectorSystem.cs | 227 ++++++++++++++++-- .../chameleon-projector.ftl | 2 + .../Objects/Devices/chameleon_projector.yml | 24 +- 9 files changed, 310 insertions(+), 139 deletions(-) create mode 100644 Content.Shared/Polymorph/Components/ChameleonDisguisedComponent.cs diff --git a/Content.Client/Effects/ColorFlashEffectSystem.cs b/Content.Client/Effects/ColorFlashEffectSystem.cs index 956c946524..b584aa9ad1 100644 --- a/Content.Client/Effects/ColorFlashEffectSystem.cs +++ b/Content.Client/Effects/ColorFlashEffectSystem.cs @@ -124,6 +124,10 @@ private void OnColorFlashEffect(ColorFlashEffectEvent ev) continue; } + var targetEv = new GetFlashEffectTargetEvent(ent); + RaiseLocalEvent(ent, ref targetEv); + ent = targetEv.Target; + EnsureComp(ent, out comp); comp.NetSyncEnabled = false; comp.Color = sprite.Color; @@ -132,3 +136,9 @@ private void OnColorFlashEffect(ColorFlashEffectEvent ev) } } } + +/// +/// Raised on an entity to change the target for a color flash effect. +/// +[ByRefEvent] +public record struct GetFlashEffectTargetEvent(EntityUid Target); diff --git a/Content.Client/Polymorph/Systems/ChameleonProjectorSystem.cs b/Content.Client/Polymorph/Systems/ChameleonProjectorSystem.cs index 5ba4878c6d..8ba09c6617 100644 --- a/Content.Client/Polymorph/Systems/ChameleonProjectorSystem.cs +++ b/Content.Client/Polymorph/Systems/ChameleonProjectorSystem.cs @@ -1,7 +1,10 @@ +using Content.Client.Effects; +using Content.Client.Smoking; using Content.Shared.Chemistry.Components; using Content.Shared.Polymorph.Components; using Content.Shared.Polymorph.Systems; using Robust.Client.GameObjects; +using Robust.Shared.Player; namespace Content.Client.Polymorph.Systems; @@ -10,14 +13,20 @@ public sealed class ChameleonProjectorSystem : SharedChameleonProjectorSystem [Dependency] private readonly SharedAppearanceSystem _appearance = default!; private EntityQuery _appearanceQuery; + private EntityQuery _spriteQuery; public override void Initialize() { base.Initialize(); _appearanceQuery = GetEntityQuery(); + _spriteQuery = GetEntityQuery(); SubscribeLocalEvent(OnHandleState); + + SubscribeLocalEvent(OnStartup); + SubscribeLocalEvent(OnShutdown); + SubscribeLocalEvent(OnGetFlashEffectTargetEvent); } private void OnHandleState(Entity ent, ref AfterAutoHandleStateEvent args) @@ -25,9 +34,30 @@ private void OnHandleState(Entity ent, ref AfterAuto CopyComp(ent); CopyComp(ent); CopyComp(ent); + CopyComp(ent); // reload appearance to hopefully prevent any invisible layers if (_appearanceQuery.TryComp(ent, out var appearance)) _appearance.QueueUpdate(ent, appearance); } + + private void OnStartup(Entity ent, ref ComponentStartup args) + { + if (!_spriteQuery.TryComp(ent, out var sprite)) + return; + + ent.Comp.WasVisible = sprite.Visible; + sprite.Visible = false; + } + + private void OnShutdown(Entity ent, ref ComponentShutdown args) + { + if (_spriteQuery.TryComp(ent, out var sprite)) + sprite.Visible = ent.Comp.WasVisible; + } + + private void OnGetFlashEffectTargetEvent(Entity ent, ref GetFlashEffectTargetEvent args) + { + args.Target = ent.Comp.Disguise; + } } diff --git a/Content.Server/Polymorph/Systems/ChameleonProjectorSystem.cs b/Content.Server/Polymorph/Systems/ChameleonProjectorSystem.cs index 1586973a21..ab12f2764c 100644 --- a/Content.Server/Polymorph/Systems/ChameleonProjectorSystem.cs +++ b/Content.Server/Polymorph/Systems/ChameleonProjectorSystem.cs @@ -1,99 +1,5 @@ -using Content.Server.Polymorph.Components; -using Content.Shared.Actions; -using Content.Shared.Construction.Components; -using Content.Shared.Hands; -using Content.Shared.Mobs; -using Content.Shared.Mobs.Components; -using Content.Shared.Mobs.Systems; -using Content.Shared.Polymorph; -using Content.Shared.Polymorph.Components; using Content.Shared.Polymorph.Systems; -using Content.Shared.StatusIcon.Components; -using Robust.Shared.Physics.Components; namespace Content.Server.Polymorph.Systems; -public sealed class ChameleonProjectorSystem : SharedChameleonProjectorSystem -{ - [Dependency] private readonly MetaDataSystem _meta = default!; - [Dependency] private readonly MobThresholdSystem _mobThreshold = default!; - [Dependency] private readonly PolymorphSystem _polymorph = default!; - [Dependency] private readonly SharedActionsSystem _actions = default!; - [Dependency] private readonly SharedAppearanceSystem _appearance = default!; - [Dependency] private readonly SharedTransformSystem _xform = default!; - - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnEquippedHand); - SubscribeLocalEvent(OnToggleNoRot); - SubscribeLocalEvent(OnToggleAnchored); - } - - private void OnEquippedHand(Entity ent, ref GotEquippedHandEvent args) - { - if (!TryComp(ent, out var poly)) - return; - - _polymorph.Revert((ent, poly)); - args.Handled = true; - } - - public override void Disguise(ChameleonProjectorComponent proj, EntityUid user, EntityUid entity) - { - if (_polymorph.PolymorphEntity(user, proj.Polymorph) is not {} disguise) - return; - - // make disguise look real (for simple things at least) - var meta = MetaData(entity); - _meta.SetEntityName(disguise, meta.EntityName); - _meta.SetEntityDescription(disguise, meta.EntityDescription); - - var comp = EnsureComp(disguise); - comp.SourceEntity = entity; - comp.SourceProto = Prototype(entity)?.ID; - Dirty(disguise, comp); - - // no sechud trolling - RemComp(disguise); - - _appearance.CopyData(entity, disguise); - - var mass = CompOrNull(entity)?.Mass ?? 0f; - - // let the disguise die when its taken enough damage, which then transfers to the player - // health is proportional to mass, and capped to not be insane - if (TryComp(disguise, out var thresholds)) - { - // if the player is of flesh and blood, cap max health to theirs - // so that when reverting damage scales 1:1 and not round removing - var playerMax = _mobThreshold.GetThresholdForState(user, MobState.Dead).Float(); - var max = playerMax == 0f ? proj.MaxHealth : Math.Max(proj.MaxHealth, playerMax); - - var health = Math.Clamp(mass, proj.MinHealth, proj.MaxHealth); - _mobThreshold.SetMobStateThreshold(disguise, health, MobState.Critical, thresholds); - _mobThreshold.SetMobStateThreshold(disguise, max, MobState.Dead, thresholds); - } - - // add actions for controlling transform aspects - _actions.AddAction(disguise, proj.NoRotAction); - _actions.AddAction(disguise, proj.AnchorAction); - } - - private void OnToggleNoRot(Entity ent, ref DisguiseToggleNoRotEvent args) - { - var xform = Transform(ent); - xform.NoLocalRotation = !xform.NoLocalRotation; - } - - private void OnToggleAnchored(Entity ent, ref DisguiseToggleAnchoredEvent args) - { - var uid = ent.Owner; - var xform = Transform(uid); - if (xform.Anchored) - _xform.Unanchor(uid, xform); - else - _xform.AnchorEntity((uid, xform)); - } -} +public sealed class ChameleonProjectorSystem : SharedChameleonProjectorSystem; diff --git a/Content.Shared/Polymorph/Components/ChameleonDisguiseComponent.cs b/Content.Shared/Polymorph/Components/ChameleonDisguiseComponent.cs index 2b9fba7b39..282106b8f6 100644 --- a/Content.Shared/Polymorph/Components/ChameleonDisguiseComponent.cs +++ b/Content.Shared/Polymorph/Components/ChameleonDisguiseComponent.cs @@ -1,3 +1,4 @@ +using Content.Shared.Polymorph.Systems; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; @@ -7,9 +8,22 @@ namespace Content.Shared.Polymorph.Components; /// Component added to disguise entities. /// Used by client to copy over appearance from the disguise's source entity. /// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true)] +[RegisterComponent, NetworkedComponent, Access(typeof(SharedChameleonProjectorSystem))] +[AutoGenerateComponentState(true)] public sealed partial class ChameleonDisguiseComponent : Component { + /// + /// The user of this disguise. + /// + [DataField] + public EntityUid User; + + /// + /// The projector that created this disguise. + /// + [DataField] + public EntityUid Projector; + /// /// The disguise source entity for copying the sprite. /// diff --git a/Content.Shared/Polymorph/Components/ChameleonDisguisedComponent.cs b/Content.Shared/Polymorph/Components/ChameleonDisguisedComponent.cs new file mode 100644 index 0000000000..cd2e26c420 --- /dev/null +++ b/Content.Shared/Polymorph/Components/ChameleonDisguisedComponent.cs @@ -0,0 +1,25 @@ +using Content.Shared.Polymorph.Systems; +using Robust.Shared.GameStates; + +namespace Content.Shared.Polymorph.Components; + +/// +/// Added to a player when they use a chameleon projector. +/// Handles making them invisible and revealing when damaged enough or switching hands. +/// +[RegisterComponent, NetworkedComponent, Access(typeof(SharedChameleonProjectorSystem))] +[AutoGenerateComponentState] +public sealed partial class ChameleonDisguisedComponent : Component +{ + /// + /// The disguise entity parented to the player. + /// + [DataField, AutoNetworkedField] + public EntityUid Disguise; + + /// + /// For client, whether the user's sprite was previously visible or not. + /// + [DataField] + public bool WasVisible; +} diff --git a/Content.Shared/Polymorph/Components/ChameleonProjectorComponent.cs b/Content.Shared/Polymorph/Components/ChameleonProjectorComponent.cs index 239b5236f2..1b289c54fc 100644 --- a/Content.Shared/Polymorph/Components/ChameleonProjectorComponent.cs +++ b/Content.Shared/Polymorph/Components/ChameleonProjectorComponent.cs @@ -1,4 +1,3 @@ -using Content.Shared.Polymorph; using Content.Shared.Polymorph.Systems; using Content.Shared.Whitelist; using Robust.Shared.Prototypes; @@ -25,22 +24,26 @@ public sealed partial class ChameleonProjectorComponent : Component public EntityWhitelist? Blacklist; /// - /// Polymorph configuration for the disguise entity. + /// Disguise entity to spawn and use. /// [DataField(required: true)] - public PolymorphConfiguration Polymorph = new(); + public EntProtoId DisguiseProto = string.Empty; /// /// Action for disabling your disguise's rotation. /// [DataField] public EntProtoId NoRotAction = "ActionDisguiseNoRot"; + [DataField] + public EntityUid? NoRotActionEntity; /// /// Action for anchoring your disguise in place. /// [DataField] public EntProtoId AnchorAction = "ActionDisguiseAnchor"; + [DataField] + public EntityUid? AnchorActionEntity; /// /// Minimum health to give the disguise. @@ -55,14 +58,8 @@ public sealed partial class ChameleonProjectorComponent : Component public float MaxHealth = 100f; /// - /// Popup shown to the user when they try to disguise as an invalid entity. - /// - [DataField] - public LocId InvalidPopup = "chameleon-projector-invalid"; - - /// - /// Popup shown to the user when they disguise as a valid entity. + /// User currently disguised by this projector, if any /// [DataField] - public LocId SuccessPopup = "chameleon-projector-success"; + public EntityUid? Disguised; } diff --git a/Content.Shared/Polymorph/Systems/SharedChameleonProjectorSystem.cs b/Content.Shared/Polymorph/Systems/SharedChameleonProjectorSystem.cs index 00096b7d40..99737996b0 100644 --- a/Content.Shared/Polymorph/Systems/SharedChameleonProjectorSystem.cs +++ b/Content.Shared/Polymorph/Systems/SharedChameleonProjectorSystem.cs @@ -1,67 +1,264 @@ using Content.Shared.Actions; +using Content.Shared.Coordinates; +using Content.Shared.Damage; +using Content.Shared.Hands; using Content.Shared.Interaction; -using Content.Shared.Polymorph; +using Content.Shared.Item; using Content.Shared.Polymorph.Components; using Content.Shared.Popups; -using Robust.Shared.Serialization.Manager; +using Content.Shared.Storage.Components; +using Content.Shared.Verbs; +using Content.Shared.Whitelist; +using Robust.Shared.Containers; +using Robust.Shared.Network; using Robust.Shared.Prototypes; +using Robust.Shared.Serialization.Manager; using System.Diagnostics.CodeAnalysis; -using Content.Shared.Whitelist; namespace Content.Shared.Polymorph.Systems; /// -/// Handles whitelist/blacklist checking. -/// Actual polymorphing and deactivation is done serverside. +/// Handles disguise validation, disguising and revealing. +/// Most appearance copying is done clientside. /// public abstract class SharedChameleonProjectorSystem : EntitySystem { + [Dependency] private readonly DamageableSystem _damageable = default!; + [Dependency] private readonly EntityWhitelistSystem _whitelist = default!; + [Dependency] private readonly INetManager _net = default!; [Dependency] private readonly IPrototypeManager _proto = default!; [Dependency] private readonly ISerializationManager _serMan = default!; + [Dependency] private readonly MetaDataSystem _meta = default!; + [Dependency] private readonly SharedActionsSystem _actions = default!; + [Dependency] private readonly SharedAppearanceSystem _appearance = default!; + [Dependency] private readonly SharedContainerSystem _container = default!; [Dependency] private readonly SharedPopupSystem _popup = default!; - [Dependency] private readonly EntityWhitelistSystem _whitelistSystem = default!; + [Dependency] private readonly SharedTransformSystem _xform = default!; public override void Initialize() { base.Initialize(); + SubscribeLocalEvent(OnDisguiseInteractHand, before: [typeof(SharedItemSystem)]); + SubscribeLocalEvent(OnDisguiseDamaged); + SubscribeLocalEvent(OnDisguiseInsertAttempt); + SubscribeLocalEvent(OnDisguiseShutdown); + SubscribeLocalEvent(OnInteract); + SubscribeLocalEvent>(OnGetVerbs); + SubscribeLocalEvent(OnToggleNoRot); + SubscribeLocalEvent(OnToggleAnchored); + SubscribeLocalEvent(OnDeselected); + SubscribeLocalEvent(OnUnequipped); + SubscribeLocalEvent(OnProjectorShutdown); + } + + #region Disguise entity + + private void OnDisguiseInteractHand(Entity ent, ref InteractHandEvent args) + { + TryReveal(ent.Comp.User); + args.Handled = true; } + private void OnDisguiseDamaged(Entity ent, ref DamageChangedEvent args) + { + // this mirrors damage 1:1 + if (args.DamageDelta is {} damage) + _damageable.TryChangeDamage(ent.Comp.User, damage); + } + + private void OnDisguiseInsertAttempt(Entity ent, ref InsertIntoEntityStorageAttemptEvent args) + { + // stay parented to the user, not the storage + args.Cancelled = true; + } + + private void OnDisguiseShutdown(Entity ent, ref ComponentShutdown args) + { + _actions.RemoveProvidedActions(ent.Comp.User, ent.Comp.Projector); + } + + #endregion + + #region Projector + private void OnInteract(Entity ent, ref AfterInteractEvent args) { - if (!args.CanReach || args.Target is not {} target) + if (args.Handled || !args.CanReach || args.Target is not {} target) return; - var user = args.User; args.Handled = true; + TryDisguise(ent, args.User, target); + } + + private void OnGetVerbs(Entity ent, ref GetVerbsEvent args) + { + if (!args.CanAccess) + return; + + var user = args.User; + var target = args.Target; + args.Verbs.Add(new UtilityVerb() + { + Act = () => + { + TryDisguise(ent, user, target); + }, + Text = Loc.GetString("chameleon-projector-set-disguise") + }); + } + + public bool TryDisguise(Entity ent, EntityUid user, EntityUid target) + { + if (_container.IsEntityInContainer(target)) + { + _popup.PopupClient(Loc.GetString("chameleon-projector-inside-container"), target, user); + return false; + } if (IsInvalid(ent.Comp, target)) { - _popup.PopupClient(Loc.GetString(ent.Comp.InvalidPopup), target, user); - return; + _popup.PopupClient(Loc.GetString("chameleon-projector-invalid"), target, user); + return false; } - _popup.PopupClient(Loc.GetString(ent.Comp.SuccessPopup), target, user); - Disguise(ent.Comp, user, target); + _popup.PopupClient(Loc.GetString("chameleon-projector-success"), target, user); + Disguise(ent, user, target); + return true; } + private void OnToggleNoRot(Entity ent, ref DisguiseToggleNoRotEvent args) + { + if (ent.Comp.Disguised is not {} uid) + return; + + var xform = Transform(uid); + _xform.SetLocalRotationNoLerp(uid, 0, xform); + xform.NoLocalRotation = !xform.NoLocalRotation; + args.Handled = true; + } + + private void OnToggleAnchored(Entity ent, ref DisguiseToggleAnchoredEvent args) + { + if (ent.Comp.Disguised is not {} uid) + return; + + var xform = Transform(uid); + if (xform.Anchored) + _xform.Unanchor(uid, xform); + else + _xform.AnchorEntity((uid, xform)); + + args.Handled = true; + } + + private void OnDeselected(Entity ent, ref HandDeselectedEvent args) + { + RevealProjector(ent); + } + + private void OnUnequipped(Entity ent, ref GotUnequippedHandEvent args) + { + RevealProjector(ent); + } + + private void OnProjectorShutdown(Entity ent, ref ComponentShutdown args) + { + RevealProjector(ent); + } + + #endregion + + #region API + /// /// Returns true if an entity cannot be used as a disguise. /// public bool IsInvalid(ChameleonProjectorComponent comp, EntityUid target) { - return _whitelistSystem.IsWhitelistFail(comp.Whitelist, target) - || _whitelistSystem.IsBlacklistPass(comp.Blacklist, target); + return _whitelist.IsWhitelistFail(comp.Whitelist, target) + || _whitelist.IsBlacklistPass(comp.Blacklist, target); } /// /// On server, polymorphs the user into an entity and sets up the disguise. /// - public virtual void Disguise(ChameleonProjectorComponent comp, EntityUid user, EntityUid entity) + public void Disguise(Entity ent, EntityUid user, EntityUid entity) + { + var proj = ent.Comp; + + // no spawning prediction sorry + if (_net.IsClient) + return; + + // reveal first to allow quick switching + TryReveal(user); + + // add actions for controlling transform aspects + _actions.AddAction(user, ref proj.NoRotActionEntity, proj.NoRotAction, container: ent); + _actions.AddAction(user, ref proj.AnchorActionEntity, proj.AnchorAction, container: ent); + + proj.Disguised = user; + + var disguise = SpawnAttachedTo(proj.DisguiseProto, user.ToCoordinates()); + + var disguised = AddComp(user); + disguised.Disguise = disguise; + Dirty(user, disguised); + + // make disguise look real (for simple things at least) + var meta = MetaData(entity); + _meta.SetEntityName(disguise, meta.EntityName); + _meta.SetEntityDescription(disguise, meta.EntityDescription); + + var comp = EnsureComp(disguise); + comp.User = user; + comp.Projector = ent; + comp.SourceEntity = entity; + comp.SourceProto = Prototype(entity)?.ID; + Dirty(disguise, comp); + + // item disguises can be picked up to be revealed, also makes sure their examine size is correct + CopyComp((disguise, comp)); + + _appearance.CopyData(entity, disguise); + } + + /// + /// Removes the disguise, if the user is disguised. + /// + public bool TryReveal(Entity ent) + { + if (!Resolve(ent, ref ent.Comp, false)) + return false; + + if (TryComp(ent.Comp.Disguise, out var disguise) + && TryComp(disguise.Projector, out var proj)) + { + proj.Disguised = null; + } + + var xform = Transform(ent); + xform.NoLocalRotation = false; + _xform.Unanchor(ent, xform); + + Del(ent.Comp.Disguise); + RemComp(ent); + return true; + } + + /// + /// Reveal a projector's user, if any. + /// + public void RevealProjector(Entity ent) { + if (ent.Comp.Disguised is {} user) + TryReveal(user); } + #endregion + /// /// Copy a component from the source entity/prototype to the disguise entity. /// diff --git a/Resources/Locale/en-US/chameleon-projector/chameleon-projector.ftl b/Resources/Locale/en-US/chameleon-projector/chameleon-projector.ftl index 8a79516077..b525c9da1a 100644 --- a/Resources/Locale/en-US/chameleon-projector/chameleon-projector.ftl +++ b/Resources/Locale/en-US/chameleon-projector/chameleon-projector.ftl @@ -1,2 +1,4 @@ +chameleon-projector-inside-container = There's no room to scan that! chameleon-projector-invalid = You can't disguise as that! chameleon-projector-success = Projected new disguise. +chameleon-projector-set-disguise = Set Disguise diff --git a/Resources/Prototypes/Entities/Objects/Devices/chameleon_projector.yml b/Resources/Prototypes/Entities/Objects/Devices/chameleon_projector.yml index f07ae63569..b6819a18b9 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/chameleon_projector.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/chameleon_projector.yml @@ -17,15 +17,12 @@ blacklist: components: - ChameleonDisguise # no becoming kleiner - - InsideEntityStorage # no clark kent going in phone booth and becoming superman - MindContainer # no - Pda # PDAs currently make you invisible /!\ - polymorph: - entity: ChameleonDisguise + disguiseProto: ChameleonDisguise - type: entity categories: [ HideSpawnMenu ] - parent: BaseMob id: ChameleonDisguise name: Urist McKleiner components: @@ -33,20 +30,11 @@ - type: Sprite sprite: /Textures/Mobs/Species/Human/parts.rsi state: full - # so people can attempt to pick it up - - type: Item - # so it can take damage - # projector system sets health to be proportional to mass + - type: Transform + noRot: true # players rotation and anchor is used instead + - type: InteractionOutline + - type: Clickable - type: Damageable - - type: MobState - - type: MobThresholds - thresholds: - 0: Alive - 1: Critical - 200: Dead - - type: MovementSpeedModifier - baseWalkSpeed: 1 # precise movement for the perfect spot - baseSprintSpeed: 5 # the jig is up - type: ChameleonDisguise # actions @@ -57,6 +45,7 @@ components: - type: InstantAction icon: Interface/VerbIcons/refresh.svg.192dpi.png + itemIconStyle: BigAction event: !type:DisguiseToggleNoRotEvent - type: entity @@ -68,4 +57,5 @@ icon: sprite: Objects/Tools/wrench.rsi state: icon + itemIconStyle: BigAction event: !type:DisguiseToggleAnchoredEvent From 84338686a3aeeb6b4e12a11c3b3e5b1420ed2f25 Mon Sep 17 00:00:00 2001 From: Jezithyr Date: Fri, 8 Nov 2024 03:46:22 -0800 Subject: [PATCH 184/588] Stable Merge (#33218) --- Content.Server/Antag/AntagSelectionSystem.cs | 4 +++ .../GameTicking/Rules/TraitorRuleSystem.cs | 31 +++++++++++++++++++ .../Thief/Systems/ThiefBeaconSystem.cs | 1 - Resources/Prototypes/GameRules/roundstart.yml | 8 +++-- 4 files changed, 41 insertions(+), 3 deletions(-) diff --git a/Content.Server/Antag/AntagSelectionSystem.cs b/Content.Server/Antag/AntagSelectionSystem.cs index 224629ff2e..610c0ad182 100644 --- a/Content.Server/Antag/AntagSelectionSystem.cs +++ b/Content.Server/Antag/AntagSelectionSystem.cs @@ -55,6 +55,8 @@ public override void Initialize() { base.Initialize(); + Log.Level = LogLevel.Debug; + SubscribeLocalEvent(OnTakeGhostRole); SubscribeLocalEvent(OnObjectivesTextGetInfo); @@ -360,6 +362,8 @@ public void MakeAntag(Entity ent, ICommonSession? sessi _role.MindAddRoles(curMind.Value, def.MindRoles, null, true); ent.Comp.SelectedMinds.Add((curMind.Value, Name(player))); SendBriefing(session, def.Briefing); + + Log.Debug($"Selected {ToPrettyString(curMind)} as antagonist: {ToPrettyString(ent)}"); } var afterEv = new AfterAntagEntitySelectedEvent(session, player, ent, def); diff --git a/Content.Server/GameTicking/Rules/TraitorRuleSystem.cs b/Content.Server/GameTicking/Rules/TraitorRuleSystem.cs index 8df6ed1098..950795fc05 100644 --- a/Content.Server/GameTicking/Rules/TraitorRuleSystem.cs +++ b/Content.Server/GameTicking/Rules/TraitorRuleSystem.cs @@ -41,6 +41,8 @@ public override void Initialize() { base.Initialize(); + Log.Level = LogLevel.Debug; + SubscribeLocalEvent(AfterEntitySelected); SubscribeLocalEvent(OnObjectivesTextPrepend); } @@ -53,6 +55,7 @@ protected override void Added(EntityUid uid, TraitorRuleComponent component, Gam private void AfterEntitySelected(Entity ent, ref AfterAntagEntitySelectedEvent args) { + Log.Debug($"AfterAntagEntitySelected {ToPrettyString(ent)}"); MakeTraitor(args.EntityUid, ent); } @@ -78,14 +81,22 @@ public string[] GenerateTraitorCodewords(TraitorRuleComponent component) public bool MakeTraitor(EntityUid traitor, TraitorRuleComponent component) { + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - start"); + //Grab the mind if it wasn't provided if (!_mindSystem.TryGetMind(traitor, out var mindId, out var mind)) + { + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - failed, no Mind found"); return false; + } var briefing = ""; if (component.GiveCodewords) + { + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - added codewords flufftext to briefing"); briefing = Loc.GetString("traitor-role-codewords-short", ("codewords", string.Join(", ", component.Codewords))); + } var issuer = _random.Pick(_prototypeManager.Index(component.ObjectiveIssuers).Values); @@ -94,6 +105,7 @@ public bool MakeTraitor(EntityUid traitor, TraitorRuleComponent component) if (component.GiveUplink) { + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - Uplink start"); // Calculate the amount of currency on the uplink. var startingBalance = component.StartingBalance; if (_jobs.MindTryGetJob(mindId, out var prototype)) @@ -105,18 +117,27 @@ public bool MakeTraitor(EntityUid traitor, TraitorRuleComponent component) } // Choose and generate an Uplink, and return the uplink code if applicable + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - Uplink request start"); var uplinkParams = RequestUplink(traitor, startingBalance, briefing); code = uplinkParams.Item1; briefing = uplinkParams.Item2; + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - Uplink request completed"); } string[]? codewords = null; if (component.GiveCodewords) + { + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - set codewords from component"); codewords = component.Codewords; + } if (component.GiveBriefing) + { _antag.SendBriefing(traitor, GenerateBriefing(codewords, code, issuer), null, component.GreetSoundNotification); + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - Sent the Briefing"); + } + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - Adding TraitorMind"); component.TraitorMinds.Add(mindId); // Assign briefing @@ -126,9 +147,14 @@ public bool MakeTraitor(EntityUid traitor, TraitorRuleComponent component) _roleSystem.MindHasRole(mindId, out var traitorRole); if (traitorRole is not null) { + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - Add traitor briefing components"); AddComp(traitorRole.Value.Owner); Comp(traitorRole.Value.Owner).Briefing = briefing; } + else + { + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - did not get traitor briefing"); + } // Send codewords to only the traitor client var color = TraitorCodewordColor; // Fall back to a dark red Syndicate color if a prototype is not found @@ -137,9 +163,11 @@ public bool MakeTraitor(EntityUid traitor, TraitorRuleComponent component) _roleCodewordSystem.SetRoleCodewords(codewordComp, "traitor", component.Codewords.ToList(), color); // Change the faction + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - Change faction"); _npcFaction.RemoveFaction(traitor, component.NanoTrasenFaction, false); _npcFaction.AddFaction(traitor, component.SyndicateFaction); + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - Finished"); return true; } @@ -148,10 +176,12 @@ public bool MakeTraitor(EntityUid traitor, TraitorRuleComponent component) var pda = _uplink.FindUplinkTarget(traitor); Note[]? code = null; + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - Uplink add"); var uplinked = _uplink.AddUplink(traitor, startingBalance, pda, true); if (pda is not null && uplinked) { + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - Uplink is PDA"); // Codes are only generated if the uplink is a PDA code = EnsureComp(pda.Value).Code; @@ -163,6 +193,7 @@ public bool MakeTraitor(EntityUid traitor, TraitorRuleComponent component) } else if (pda is null && uplinked) { + Log.Debug($"MakeTraitor {ToPrettyString(traitor)} - Uplink is implant"); briefing += "\n" + Loc.GetString("traitor-role-uplink-implant-short"); } diff --git a/Content.Server/Thief/Systems/ThiefBeaconSystem.cs b/Content.Server/Thief/Systems/ThiefBeaconSystem.cs index de1c3d2e6d..4c65ba5c44 100644 --- a/Content.Server/Thief/Systems/ThiefBeaconSystem.cs +++ b/Content.Server/Thief/Systems/ThiefBeaconSystem.cs @@ -20,7 +20,6 @@ public sealed class ThiefBeaconSystem : EntitySystem [Dependency] private readonly SharedPopupSystem _popup = default!; [Dependency] private readonly MindSystem _mind = default!; [Dependency] private readonly SharedRoleSystem _roles = default!; - public override void Initialize() { base.Initialize(); diff --git a/Resources/Prototypes/GameRules/roundstart.yml b/Resources/Prototypes/GameRules/roundstart.yml index cec5c9ee09..6ca322d0d5 100644 --- a/Resources/Prototypes/GameRules/roundstart.yml +++ b/Resources/Prototypes/GameRules/roundstart.yml @@ -191,12 +191,17 @@ - type: entity id: TraitorReinforcement - parent: Traitor + parent: BaseTraitorRule components: - type: TraitorRule giveUplink: false giveCodewords: false # It would actually give them a different set of codewords than the regular traitors, anyway giveBriefing: false + - type: AntagSelection + definitions: + - prefRoles: [ Traitor ] + mindRoles: + - MindRoleTraitor - type: entity id: Revolutionary @@ -280,7 +285,6 @@ tableId: CalmPestEventsTable - !type:NestedSelector tableId: SpicyPestEventsTable - - type: entityTable id: SpaceTrafficControlTable From fea5769cc5064e6ad5d51afbcdcdbe0d6575a221 Mon Sep 17 00:00:00 2001 From: Boaz1111 <149967078+Boaz1111@users.noreply.github.com> Date: Fri, 8 Nov 2024 15:50:14 +0100 Subject: [PATCH 185/588] dark green jumpsuit recolor, casual green jumpsuits added (#31710) * green * fix material arbitrage * lighter --- .../Catalog/Cargo/cargo_vending.yml | 2 +- .../Inventories/clothesmate.yml | 2 ++ .../Clothing/Uniforms/color_jumpskirts.yml | 8 ++--- .../Clothing/Uniforms/color_jumpsuits.yml | 8 ++--- .../Entities/Clothing/Uniforms/jumpskirts.yml | 30 +++++++++++++++++++ .../Entities/Clothing/Uniforms/jumpsuits.yml | 30 +++++++++++++++++++ 6 files changed, 71 insertions(+), 9 deletions(-) diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_vending.yml b/Resources/Prototypes/Catalog/Cargo/cargo_vending.yml index 5dae53f8ed..86da8fb940 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_vending.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_vending.yml @@ -33,7 +33,7 @@ sprite: Objects/Specific/Service/vending_machine_restock.rsi state: base product: CrateVendingMachineRestockClothesFilled - cost: 2400 + cost: 2440 category: cargoproduct-category-name-service group: market diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/clothesmate.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/clothesmate.yml index 54a6ae2a19..a069833759 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/clothesmate.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/clothesmate.yml @@ -53,6 +53,8 @@ ClothingUniformJumpskirtCasualPurple: 2 ClothingUniformJumpsuitCasualRed: 2 ClothingUniformJumpskirtCasualRed: 2 + ClothingUniformJumpsuitCasualGreen: 2 + ClothingUniformJumpskirtCasualGreen: 2 # DO NOT ADD MORE, USE UNIFORM DYING ClothingShoesColorBlack: 8 ClothingShoesColorBrown: 4 diff --git a/Resources/Prototypes/Entities/Clothing/Uniforms/color_jumpskirts.yml b/Resources/Prototypes/Entities/Clothing/Uniforms/color_jumpskirts.yml index a2bf6b687a..3f48b0260f 100644 --- a/Resources/Prototypes/Entities/Clothing/Uniforms/color_jumpskirts.yml +++ b/Resources/Prototypes/Entities/Clothing/Uniforms/color_jumpskirts.yml @@ -222,24 +222,24 @@ sprite: Clothing/Uniforms/Jumpskirt/color.rsi layers: - state: icon - color: "#79CC26" + color: "#007923" - state: trinkets-icon - type: Item inhandVisuals: left: - state: inhand-left - color: "#79CC26" + color: "#007923" - state: trinkets-inhand-left right: - state: inhand-right - color: "#79CC26" + color: "#007923" - state: trinkets-inhand-right - type: Clothing sprite: Clothing/Uniforms/Jumpskirt/color.rsi clothingVisuals: jumpsuit: - state: equipped-INNERCLOTHING - color: "#79CC26" + color: "#007923" - state: trinkets-equipped-INNERCLOTHING # Orange Jumpskirt diff --git a/Resources/Prototypes/Entities/Clothing/Uniforms/color_jumpsuits.yml b/Resources/Prototypes/Entities/Clothing/Uniforms/color_jumpsuits.yml index f56afabeac..7a44409079 100644 --- a/Resources/Prototypes/Entities/Clothing/Uniforms/color_jumpsuits.yml +++ b/Resources/Prototypes/Entities/Clothing/Uniforms/color_jumpsuits.yml @@ -222,24 +222,24 @@ sprite: Clothing/Uniforms/Jumpsuit/color.rsi layers: - state: icon - color: "#79CC26" + color: "#007923" - state: trinkets-icon - type: Item inhandVisuals: left: - state: inhand-left - color: "#79CC26" + color: "#007923" - state: trinkets-inhand-left right: - state: inhand-right - color: "#79CC26" + color: "#007923" - state: trinkets-inhand-right - type: Clothing sprite: Clothing/Uniforms/Jumpsuit/color.rsi clothingVisuals: jumpsuit: - state: equipped-INNERCLOTHING - color: "#79CC26" + color: "#007923" - state: trinkets-equipped-INNERCLOTHING # Orange Jumpsuit diff --git a/Resources/Prototypes/Entities/Clothing/Uniforms/jumpskirts.yml b/Resources/Prototypes/Entities/Clothing/Uniforms/jumpskirts.yml index 9a91f92715..c4850954cd 100644 --- a/Resources/Prototypes/Entities/Clothing/Uniforms/jumpskirts.yml +++ b/Resources/Prototypes/Entities/Clothing/Uniforms/jumpskirts.yml @@ -822,6 +822,36 @@ - state: equipped-INNERCLOTHING-shirt color: "#b30000" +- type: entity + parent: ClothingUniformSkirtBase + id: ClothingUniformJumpskirtCasualGreen + name: casual green jumpskirt + description: A loose worn green shirt with a grey skirt, perfect for someone looking to relax. + components: + - type: Sprite + sprite: Clothing/Uniforms/Jumpsuit/casual.rsi + layers: + - state: icon-jumpskirt + - state: icon-shirt + color: "#00661D" + - type: Item + inhandVisuals: + left: + - state: inhand-left-jumpskirt + - state: inhand-left-shirt + color: "#00661D" + right: + - state: inhand-right-jumpskirt + - state: inhand-right-shirt + color: "#00661D" + - type: Clothing + sprite: Clothing/Uniforms/Jumpsuit/casual.rsi + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING-jumpskirt + - state: equipped-INNERCLOTHING-shirt + color: "#00661D" + - type: entity parent: ClothingUniformSkirtBase id: ClothingUniformJumpskirtOldDress diff --git a/Resources/Prototypes/Entities/Clothing/Uniforms/jumpsuits.yml b/Resources/Prototypes/Entities/Clothing/Uniforms/jumpsuits.yml index 42a0b7069d..ef5c1164cf 100644 --- a/Resources/Prototypes/Entities/Clothing/Uniforms/jumpsuits.yml +++ b/Resources/Prototypes/Entities/Clothing/Uniforms/jumpsuits.yml @@ -1347,6 +1347,36 @@ - state: equipped-INNERCLOTHING-shirt color: "#b30000" +- type: entity + parent: ClothingUniformBase + id: ClothingUniformJumpsuitCasualGreen + name: casual green jumpsuit + description: A loose worn green shirt with a grey pants, perfect for someone looking to relax. + components: + - type: Sprite + sprite: Clothing/Uniforms/Jumpsuit/casual.rsi + layers: + - state: icon-jumpsuit + - state: icon-shirt + color: "#00661D" + - type: Item + inhandVisuals: + left: + - state: inhand-left-jumpsuit + - state: inhand-left-shirt + color: "#00661D" + right: + - state: inhand-right-jumpsuit + - state: inhand-right-shirt + color: "#00661D" + - type: Clothing + sprite: Clothing/Uniforms/Jumpsuit/casual.rsi + clothingVisuals: + jumpsuit: + - state: equipped-INNERCLOTHING-jumpsuit + - state: equipped-INNERCLOTHING-shirt + color: "#00661D" + - type: entity parent: ClothingUniformBase id: ClothingUniformJumpsuitFamilyGuy From 6ed2ab9e85bd0321dc22ea92725d32f9b1b951d5 Mon Sep 17 00:00:00 2001 From: PJBot Date: Fri, 8 Nov 2024 14:51:26 +0000 Subject: [PATCH 186/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 34a2d14358..485cad8e96 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: LeoSantich - changes: - - message: Updated 'narsie' and 'ratvar' to 'Nar'Sie' and 'Ratvar' in randomly generated - storybook content. - type: Tweak - id: 7099 - time: '2024-08-12T23:20:53.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30954 - author: pigeonpeas changes: - message: Added non command mantle into the winterdrobe @@ -3949,3 +3941,10 @@ id: 7598 time: '2024-11-07T22:02:25.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33065 +- author: Boaz1111 + changes: + - message: Added casual green jumpsuits and skirts to the clothesmate. + type: Add + id: 7599 + time: '2024-11-08T14:50:17.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/31710 From 41b84fc29dbca40704627cbe6eb44a1d8791d30b Mon Sep 17 00:00:00 2001 From: Errant <35878406+Errant-4@users.noreply.github.com> Date: Fri, 8 Nov 2024 22:59:27 +0100 Subject: [PATCH 187/588] Label workflow - stable (#33220) --- .github/workflows/labeler-stable.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 .github/workflows/labeler-stable.yml diff --git a/.github/workflows/labeler-stable.yml b/.github/workflows/labeler-stable.yml new file mode 100644 index 0000000000..491d6a76fa --- /dev/null +++ b/.github/workflows/labeler-stable.yml @@ -0,0 +1,16 @@ +name: "Labels: Branch stable" + +on: + pull_request_target: + types: + - opened + branches: + - 'stable' + +jobs: + add_label: + runs-on: ubuntu-latest + steps: + - uses: actions-ecosystem/action-add-labels@v1 + with: + labels: "Branch: stable" From b9685850faaa1a14f8340cb44e7c48a7d8d13fb6 Mon Sep 17 00:00:00 2001 From: Errant <35878406+Errant-4@users.noreply.github.com> Date: Fri, 8 Nov 2024 22:59:38 +0100 Subject: [PATCH 188/588] Label workflow - staging (#33221) --- .github/workflows/labeler-staging.yml | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 .github/workflows/labeler-staging.yml diff --git a/.github/workflows/labeler-staging.yml b/.github/workflows/labeler-staging.yml new file mode 100644 index 0000000000..e31a5a482f --- /dev/null +++ b/.github/workflows/labeler-staging.yml @@ -0,0 +1,16 @@ +name: "Labels: Branch staging" + +on: + pull_request_target: + types: + - opened + branches: + - 'staging' + +jobs: + add_label: + runs-on: ubuntu-latest + steps: + - uses: actions-ecosystem/action-add-labels@v1 + with: + labels: "Branch: staging" From 1e368ae30076606501332f34ab786c14e25c477a Mon Sep 17 00:00:00 2001 From: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com> Date: Sat, 9 Nov 2024 01:28:24 +0100 Subject: [PATCH 189/588] Add a Walking alert (#32954) * Initial commit * Review feedback changes * ProtoId * TempCommit * First attempt to have client alerts * Review changes --- Content.Client/Alerts/ClientAlertsSystem.cs | 15 ++++++++++----- .../Physics/Controllers/MoverController.cs | 16 ++++++++++++++++ Content.Server/Alert/ServerAlertsSystem.cs | 12 ++++++++++++ Content.Shared/Alert/AlertsComponent.cs | 16 ++++++++++++++-- .../Systems/SharedMoverController.Input.cs | 6 +++++- Resources/Locale/en-US/alerts/alerts.ftl | 3 +++ Resources/Prototypes/Alerts/alerts.yml | 9 +++++++++ .../Interface/Alerts/walking.rsi/meta.json | 14 ++++++++++++++ .../Interface/Alerts/walking.rsi/walking.png | Bin 0 -> 15838 bytes 9 files changed, 83 insertions(+), 8 deletions(-) create mode 100644 Resources/Textures/Interface/Alerts/walking.rsi/meta.json create mode 100644 Resources/Textures/Interface/Alerts/walking.rsi/walking.png diff --git a/Content.Client/Alerts/ClientAlertsSystem.cs b/Content.Client/Alerts/ClientAlertsSystem.cs index 525ef1f018..c5ec254c0c 100644 --- a/Content.Client/Alerts/ClientAlertsSystem.cs +++ b/Content.Client/Alerts/ClientAlertsSystem.cs @@ -2,6 +2,7 @@ using Content.Shared.Alert; using JetBrains.Annotations; using Robust.Client.Player; +using Robust.Shared.GameStates; using Robust.Shared.Player; using Robust.Shared.Prototypes; @@ -24,8 +25,7 @@ public override void Initialize() SubscribeLocalEvent(OnPlayerAttached); SubscribeLocalEvent(OnPlayerDetached); - - SubscribeLocalEvent(ClientAlertsHandleState); + SubscribeLocalEvent(OnHandleState); } protected override void LoadPrototypes() { @@ -47,17 +47,22 @@ public IReadOnlyDictionary? ActiveAlerts } } - protected override void AfterShowAlert(Entity alerts) + private void OnHandleState(Entity alerts, ref ComponentHandleState args) { + if (args.Current is not AlertComponentState cast) + return; + + alerts.Comp.Alerts = cast.Alerts; + UpdateHud(alerts); } - protected override void AfterClearAlert(Entity alerts) + protected override void AfterShowAlert(Entity alerts) { UpdateHud(alerts); } - private void ClientAlertsHandleState(Entity alerts, ref AfterAutoHandleStateEvent args) + protected override void AfterClearAlert(Entity alerts) { UpdateHud(alerts); } diff --git a/Content.Client/Physics/Controllers/MoverController.cs b/Content.Client/Physics/Controllers/MoverController.cs index c97110b208..d2ac0cdefd 100644 --- a/Content.Client/Physics/Controllers/MoverController.cs +++ b/Content.Client/Physics/Controllers/MoverController.cs @@ -1,9 +1,12 @@ +using Content.Shared.Alert; +using Content.Shared.CCVar; using Content.Shared.Movement.Components; using Content.Shared.Movement.Pulling.Components; using Content.Shared.Movement.Systems; using Robust.Client.GameObjects; using Robust.Client.Physics; using Robust.Client.Player; +using Robust.Shared.Configuration; using Robust.Shared.Physics.Components; using Robust.Shared.Player; using Robust.Shared.Timing; @@ -14,6 +17,8 @@ public sealed class MoverController : SharedMoverController { [Dependency] private readonly IGameTiming _timing = default!; [Dependency] private readonly IPlayerManager _playerManager = default!; + [Dependency] private readonly AlertsSystem _alerts = default!; + [Dependency] private readonly IConfigurationManager _cfg = default!; public override void Initialize() { @@ -135,4 +140,15 @@ protected override bool CanSound() { return _timing is { IsFirstTimePredicted: true, InSimulation: true }; } + + public override void SetSprinting(Entity entity, ushort subTick, bool walking) + { + // Logger.Info($"[{_gameTiming.CurTick}/{subTick}] Sprint: {enabled}"); + base.SetSprinting(entity, subTick, walking); + + if (walking && _cfg.GetCVar(CCVars.ToggleWalk)) + _alerts.ShowAlert(entity, WalkingAlert, showCooldown: false, autoRemove: false); + else + _alerts.ClearAlert(entity, WalkingAlert); + } } diff --git a/Content.Server/Alert/ServerAlertsSystem.cs b/Content.Server/Alert/ServerAlertsSystem.cs index b7b80f7321..5af2b06218 100644 --- a/Content.Server/Alert/ServerAlertsSystem.cs +++ b/Content.Server/Alert/ServerAlertsSystem.cs @@ -1,7 +1,19 @@ using Content.Shared.Alert; +using Robust.Shared.GameStates; namespace Content.Server.Alert; internal sealed class ServerAlertsSystem : AlertsSystem { + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnGetState); + } + + private void OnGetState(Entity alerts, ref ComponentGetState args) + { + args.State = new AlertComponentState(alerts.Comp.Alerts); + } } diff --git a/Content.Shared/Alert/AlertsComponent.cs b/Content.Shared/Alert/AlertsComponent.cs index 05b11e19ef..16827e9cdf 100644 --- a/Content.Shared/Alert/AlertsComponent.cs +++ b/Content.Shared/Alert/AlertsComponent.cs @@ -1,4 +1,5 @@ using Robust.Shared.GameStates; +using Robust.Shared.Serialization; namespace Content.Shared.Alert; @@ -6,12 +7,23 @@ namespace Content.Shared.Alert; /// Handles the icons on the right side of the screen. /// Should only be used for player-controlled entities. /// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState(true)] +// Component is not AutoNetworked due to supporting clientside-only alerts. +// Component state is handled manually to avoid the server overwriting the client list. +[RegisterComponent, NetworkedComponent] public sealed partial class AlertsComponent : Component { [ViewVariables] - [AutoNetworkedField] public Dictionary Alerts = new(); public override bool SendOnlyToOwner => true; } + +[Serializable, NetSerializable] +public sealed class AlertComponentState : ComponentState +{ + public Dictionary Alerts { get; } + public AlertComponentState(Dictionary alerts) + { + Alerts = alerts; + } +} diff --git a/Content.Shared/Movement/Systems/SharedMoverController.Input.cs b/Content.Shared/Movement/Systems/SharedMoverController.Input.cs index 9dda249423..c11df709f6 100644 --- a/Content.Shared/Movement/Systems/SharedMoverController.Input.cs +++ b/Content.Shared/Movement/Systems/SharedMoverController.Input.cs @@ -1,4 +1,5 @@ using System.Numerics; +using Content.Shared.Alert; using Content.Shared.CCVar; using Content.Shared.Follower.Components; using Content.Shared.Input; @@ -8,6 +9,7 @@ using Robust.Shared.Input; using Robust.Shared.Input.Binding; using Robust.Shared.Player; +using Robust.Shared.Prototypes; using Robust.Shared.Serialization; using Robust.Shared.Timing; using Robust.Shared.Utility; @@ -21,6 +23,8 @@ public abstract partial class SharedMoverController { public bool CameraRotationLocked { get; set; } + public static ProtoId WalkingAlert = "Walking"; + private void InitializeInput() { var moveUpCmdHandler = new MoverDirInputCmdHandler(this, Direction.North); @@ -460,7 +464,7 @@ private void ResetSubtick(InputMoverComponent component) component.LastInputSubTick = 0; } - public void SetSprinting(Entity entity, ushort subTick, bool walking) + public virtual void SetSprinting(Entity entity, ushort subTick, bool walking) { // Logger.Info($"[{_gameTiming.CurTick}/{subTick}] Sprint: {enabled}"); diff --git a/Resources/Locale/en-US/alerts/alerts.ftl b/Resources/Locale/en-US/alerts/alerts.ftl index 37af416c3a..1748798bea 100644 --- a/Resources/Locale/en-US/alerts/alerts.ftl +++ b/Resources/Locale/en-US/alerts/alerts.ftl @@ -27,6 +27,9 @@ alerts-weightless-desc = Gravity has ceased affecting you, and you're floating around aimlessly. Find something sturdy to hold onto, or throw or shoot something in a direction opposite of you. Mag-boots or jetpacks would help you move with more control. +alerts-walking-name = Walking +alerts-walking-desc = You are walking, moving at a slow pace. + alerts-stunned-name = [color=yellow]Stunned[/color] alerts-stunned-desc = You're [color=yellow]stunned[/color]! Something is impairing your ability to move or interact with objects. diff --git a/Resources/Prototypes/Alerts/alerts.yml b/Resources/Prototypes/Alerts/alerts.yml index 80fcc44a55..859f223730 100644 --- a/Resources/Prototypes/Alerts/alerts.yml +++ b/Resources/Prototypes/Alerts/alerts.yml @@ -13,6 +13,7 @@ - alertType: Ensnared - category: Buckled - alertType: Pulling + - alertType: Walking - category: Piloting - alertType: Corporeal - alertType: Stun @@ -126,6 +127,14 @@ name: alerts-weightless-name description: alerts-weightless-desc +- type: alert + id: Walking + icons: + - sprite: /Textures/Interface/Alerts/walking.rsi + state: walking + name: alerts-walking-name + description: alerts-walking-desc + - type: alert id: Stun icons: diff --git a/Resources/Textures/Interface/Alerts/walking.rsi/meta.json b/Resources/Textures/Interface/Alerts/walking.rsi/meta.json new file mode 100644 index 0000000000..88238a60e3 --- /dev/null +++ b/Resources/Textures/Interface/Alerts/walking.rsi/meta.json @@ -0,0 +1,14 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Created by SlamBamActionman", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "walking" + } + ] +} diff --git a/Resources/Textures/Interface/Alerts/walking.rsi/walking.png b/Resources/Textures/Interface/Alerts/walking.rsi/walking.png new file mode 100644 index 0000000000000000000000000000000000000000..a0169368a6051afd1675f6f2cd17a06b7dfa3d4e GIT binary patch literal 15838 zcmeI3e~c968OPtlXwN%ABcx}W8rJ0`2+q#0ox9uV?vm^6;hwN~Jr?eWY3l6EySGzz zXV#tB+vQ5r<45sKt08JCA=*&*qZ%8qS|SPrilSmF#r9eXE!NhW6tO@oDTT(`clPJp zdwXwawQ1VCo9vJ0ectc$%zU2reP;HLd9Z)^T{Bxg-vR)b*%yrrpl^@!ZoUqETBD;E z(bx6a=xPgq*4fUx32b}f7687uRgVwZL$PJDYG!R~+MWa) z){T(&{Jw);kFJHhgHnu(WqV*skB;WxiqYk9b##py(7cPoEy1FU0%V}Ac#4^{Vadgi zw-i@Kznx*$>nTmK*Mz*?PD0O6tl!gP=AcLNbucQ|(dp?7_;{(a)8BcgN8osgaT2dZ}EUBbJR>+&O?X1kQg+jqs5PfEDnB@b30LuxiATVeK zW34r8rN|i8ymF9goCvhkoSwCH)9^TPm4unMLtd|wsP?LyS0-CaWLOn;h$355vMlf8 z*hV5vt!c9PT)K2K1u22x2 ztK5@=if!iNrkM_xS6P1*p{J*(w5mJ{26aO-3)US$7MIlPU5^GMiVed8C-@m2Ek+^E zcgegYOMyk4Aak56NO>j}BW7xPa&3bc5-0P5JBDi}9s}(kO|g}$isGK@ileD=(#&NP zJFI7vVaR5U;UHTdbj_@-D!Io@n>ln?Ff0byM#C;uX{E`1hGi>;3i~2qG~m;9O%?<` zA&F`y6X26cMoaqrOhOS=rb7@FG091iUx6ivv6x#vC3M78^UiLmgw{}KuFKC!9cqFR z{er}ZUH&en3kH%5pMXh;gOKY`%Jo5^UGgcR@5$+?(rsxTv~y)eb-Gztbv6Xlg6yQx z`eD_S6`4M@fLBMk9N#6MK1U%14bp}xhbqmQK8R%|?Shhn-NR^2T+LoDN1ZIg!v|TX z`=|B)Kp`w;X}ss{+B9ubsg}NZJ;v~OzojT=SD(C{TKBD zrPTNMAUkEOzGlkvhnzl|&X?wQ3LJW|yz^O+y4|>RHCgI*tlp^^<7cB!1Z zo${r41-dbZ;SNa>r67wBSy$6M#W;$Bp48~NpX?+U|xy~141?_E;1j?OL1X9 z$R@=_=7V`DE({3Sq`1g@FfYZ00U?_d7nu*{rMNI4WRv0|^TE6n7Y2lEQe0#{n3v+h zfRIg!i_8b}Qd}4ivPp4~`Cwj(3j;znDK0V}%u8`$K*%P=MdpKfDJ~2M*`&D0d@wJ? zg#jU(6c?Ef=B2nWAY_x`BJ;t#6c+}BY*JigKA4x{!hn!Xii^w#^HN+G5VA>ek@;X= ziVFimHYqMLAIwW}VL-?x#YN_Wc_}Uo2-zg!YN(@YrOZ@mFPiSj~X3_ z0Wf+y0Am{gxco8tJ_A6W1K|Dp0Fbu=&}KgJ)gwy)Xgbsv>5dmqeJ~g@H}ua5`EP9= zITUT5H7kE+;``Q#f6TbxE(qBq~Y{&s!c?73~{e*d<0>>JISZu;Yk#+JXlG~@MK4>9LAZc`rl`vb3CSa*El z+V5Rz4ldk&wD-)c9dQ8CgRQ=se#?x{|Jk>$(cABNXww59oim%3z1DNvg#+AW<>RBV z!;yu@?>)WcNAV`Bu=z}J!G%?0tFIk>=IibI{?xMW##Or+?N>9l1uulsgWsNeY0)oF zeL4N(fv4|(=h@%=(6&T){?r&%m7CQF5ek706Lbt_iVm&;>yXJSM)!( z;}36M@jSO9xpTv@)Xn#6`2cLcGh1a(~-MYVhS+Mou zs>kOneQ%y;zcu!oajo~r$e!k-^A~+BdibYJbCyDID0$$OI(DdY6 z?IT9}cW?VM`^-ctcy=uD;razfhsIKy`-V<$IXUisxjk;|-}U&ZU4OeWd~r8eHxslQ Y?{3(5<%x0U3GBY!<&j-qx^Kfj0jgnaeE Date: Fri, 8 Nov 2024 23:56:16 -0600 Subject: [PATCH 190/588] The Jumpsuit Re-Detailening (#33096) * jumpsuit detailening * jumpskirt stuff * meta.json * update meta.json * meta.json fix fix * meta.json fix fix fix --- .../color.rsi/equipped-INNERCLOTHING.png | Bin 518 -> 1068 bytes .../Uniforms/Jumpskirt/color.rsi/icon.png | Bin 300 -> 429 bytes .../Jumpskirt/color.rsi/inhand-left.png | Bin 391 -> 435 bytes .../Jumpskirt/color.rsi/inhand-right.png | Bin 408 -> 424 bytes .../Uniforms/Jumpskirt/color.rsi/meta.json | 2 +- .../color.rsi/prisoner-inhand-left.png | Bin 258 -> 221 bytes .../color.rsi/prisoner-inhand-right.png | Bin 259 -> 232 bytes .../trinkets-equipped-INNERCLOTHING.png | Bin 274 -> 292 bytes .../color.rsi/equipped-INNERCLOTHING.png | Bin 540 -> 1314 bytes .../Uniforms/Jumpsuit/color.rsi/icon.png | Bin 293 -> 387 bytes .../Jumpsuit/color.rsi/inhand-left.png | Bin 391 -> 451 bytes .../Jumpsuit/color.rsi/inhand-right.png | Bin 408 -> 437 bytes .../Uniforms/Jumpsuit/color.rsi/meta.json | 2 +- .../prisoner-equipped-INNERCLOTHING.png | Bin 365 -> 413 bytes .../Jumpsuit/color.rsi/prisoner-icon.png | Bin 232 -> 188 bytes .../color.rsi/prisoner-inhand-left.png | Bin 258 -> 221 bytes .../trinkets-equipped-INNERCLOTHING.png | Bin 265 -> 295 bytes .../Jumpsuit/color.rsi/trinkets-icon.png | Bin 235 -> 206 bytes .../color.rsi/trinkets-inhand-left.png | Bin 245 -> 198 bytes .../color.rsi/trinkets-inhand-right.png | Bin 251 -> 212 bytes 20 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/equipped-INNERCLOTHING.png index 3faba7285ff1b3898e47a23c7299d33e20a05c0c..4df4336458d688a519f10685058a3b070ab2c6a3 100644 GIT binary patch delta 1058 zcmV+-1l{|F1gr><8Gi-<0063Kaozv`00DDSM?wIu&K&6g00ZVpL_t(|ob8%1Z=*aM z#-BUA%Gg|^h=C={X@)R{&K)B14Kj4B1YNsiB6C-$)GqLZmZq4(dzbh8TS{!~=kXtGQ`>+*AP@)y0)gP~s;UA2PESu++2wMX z0)X%PxV*gNs*_irUYn-L(jCWP*Sz}w@QCZW4gl~x58LgQnOQ6r&~+WMECWE=L=X(a zV8NGVIoD`i*AYb#yYJ@are1y9w$m)D)he}ZJKb)#scqZoYPHJcXP;CP`jmeODNL_b zpNhY2Bn?7QdVifJK5BfCrz%1CUe<``c_4(a--@C@*L5h0!qNyK@H~&BdF62&C#PQo zAtcu|%CL6~ux&dvO_NpX`#v;HWBJ*}(|l_7Wsv&PctFRUtUjZl<93 z*7+sUqOq<-nHYQ0o?c6J5;?`8qubzrhAtM-3}n$qVsYVC1;Mjsfj8E zsz9}7vsvo8ZrbbhFdmOlH3+3K3?p@2H@6K!043-|u5Ooubp}u+5O{nS`vzGH{Op*>!okG_7eGG)>Fx5I02> zMNBX2;jOo_aBYrK16h(JLA%}N7OsONN!T?#B*6=J0DRxa-Q694U4Oi~xL@c;k-07*qoM6N<$f(GCBdjJ3c delta 503 zcmV3N*fjv{wa9X60AS-DhUkUyv!VvT=5P>efR2AM1$530cm~jt5pnRIZs|4gTo^ZaviP69J# z%$V`t@snb#wf0g<09LD2?|VERJ%DqL&1RDn^EV~AQVJmi&VM<&uJhq@&LM0~Ihd}5gvsj>%0!bwR*b+pKp}Aed&(1#(l2T$4FQI4x!06nk=qD4{7KN8m(zfl}F+814ESF2R zMG;+v=x!};LD%awz{3;(91e$I8yz?4=^PSyp-YZ8V;9DZ3q&>o*Z1rrWdHyG07*qo IM6N<$f?D0eqyPW_ delta 284 zcmZ3>yoPClWIZzj1B1(wu46!ou{g-xiDBJ2nU_EgOS+@4BLl<6e(pbstU$hKfKQ0) zlqpj#UcC7K|Nk2|ZiI%0zIgEhC=>HgiU~-umjw9*1Eqj~LCTxi4JgD};1OBOz`%D9 zgc)~C%zg_L?DceU46*Qk+waJCRDq-3W#X#u_C@S1`b$iFr~Cff!7zti=`8!-#--s5 zro6hQtxdC{#A2+~)7o5l4Yx&x#B+R97G(I!x0H*ad`sH`*_(M^UYx(JB);Ig9K%W< zd!a+@NAKTV#Ij>em}&ygG0Adi}P8aP|Rg;0-=rVd}}Vrjq^N}vFcIn#u5h`b^!KZ_X%MDM$-*1LKdVVlb%0ssI2 z000000Du_A7~eFFpIVR28?QA@<74v+kLwcitMd6VP=X5&i6(*7~_q zVg0Z3=6vl9$n*Szh&&OI*81i5vMh)HJ3Vg=%Lxd>jCUt|-#RRJ-jdxXAb30;)V3`p zNkUncQB_sc_kTUrb$yAvLn)=6FR7_drPQVu7I)r~-B&;<<{7;&u^zP8yd24oG zfubnFeViR=%bn%U0{{R3000000D%8ts*S#Ed(3UFjgD!L*}B2AjoawUw#VGK+vD4w z0Iv3!ts6WGcYA!x6TsOX-|hqiw`z~Makj^|y8_(p@g4210NP^!;PedyoxtVqGpvyS O0000AKt5&T#cI?=!S+jsjrc_^<1f;l1g8YL2!vMpkGdkyi zqMQXDk;M!Qe1}1p@p%4<6rkW8&w3ZfkO=p;Q!ny0EAY5>uaN%#|8Vxglxz1?%c^I3 z`YWB&wr~Okiws(4PNrU-+R_;Wth&tcxkht)|MVYiG~HIyp~EiK8>At zRzy5-ZH|V`zW9YXOe{td|0l56&2DhH_IPVwe!#K?8BcdE*T46Df73~M*5xNPq<`cT zEIzpGJku!=l?R(YrLx)uA6U0-uH2T}J2j*iB)57vaGXlTFs`|H7<^X{$x>J)ojohz*4*wwnLrWNQ=44wf1mMO^02{? z6Ed+^_C&otUaz?6`>L&ej~KqZdvZ62aqZU0LG%7CoFcSRD%MXn%j6s?N~TVE~8&U=ZpQn*i<`(cFbptFP;tzeFjfgKbLh*2~7Y<8o3$( delta 393 zcmZ3%JcD_HWIZzj1H;_yjcNS%G|&0G|-o z-Me?+xpU|K{rms^{kwVd=KT5dXU&?mYSpS^$Bupa^y%EWb3la)=GzGZDV~xbzu^A} zz#w!VEX`Tq5n0T@z;_sg8IRZJuSfx^e(LGs7!u+BcIs`uW(5J4=}KF#{{Mgfoziqy z;kmu~W;Z8`OyN@(kZ-#-d&dFRChiyo8@CC|8*XYmF|@xvGwybWgx9LHZiP)#omyA| z{cdflTqIFx`k^BCMtZk{*bjaWgS68cab+~T}>{$}Uqx80$QI#De3y1UPI zng!KatM6^k5&bat2RrAn981qxFP)7y)z3e=t`=k&(9T1fS$;~cdC}Gtt+i`0Yg^a5 zFI$!_5{)`Adw+zhc1T24IivQj#g}XTvF6@5rZD3jr;g}dNtO!N@-L0LqIV7M{Wx)- d``TCb|8dKCXYUd31^Sr5)78&qofA_+6982YvkCwJ diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/meta.json index 7e6832bd12..82edfe13a0 100644 --- a/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/meta.json +++ b/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/c838ba21dae97db345e0113f99596decd1d66039 and modified by Flareguy for Space Station 14", + "copyright": "Taken from vgstation at commit https://github.com/vgstation-coders/vgstation13/commit/993de554ecfc30cc45f8340819c5a60ef1eee7e1 and modified by Flareguy & P3MOIRA, with the lower half of the jumpskirt taken from tgstation at commit https://github.com/tgstation/tgstation/commit/c838ba21dae97db345e0113f99596decd1d66039 and modified by Flareguy for SS14.", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/prisoner-inhand-left.png b/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/prisoner-inhand-left.png index f6ff6866ffc359196192cec6c75f0631f2a399a3..6b40ed5af0ec63d3f482b5c3e6a081aa1a2c7e7a 100644 GIT binary patch delta 180 zcmZo-y307huztFyi(^Q|oVPa*ayC1Nuw39=BA|P8_0ot1Z!^@N2{6T_+D|(Aol7F| z|ASN^1`wF{I8@Yx=kP?8#};Yxp09a5EBE#!mEZf~|M`{PTRSb)@}K4VH?g86`ywX! zTrLSQU7++n%+_?lANdJ2>%Z*|yL7E#l?~XOhU2fx5?|_8*{-{`Np{-W!{x6*%u5Y< e@u#YI7|z-~NsBsI%(`PSNU^7@pUXO@geCwL#Zun@ delta 217 zcmcc1*u*r!u%0E|(btiIVPik{pF~y$1_sUokH}&M2EM}}%y>M1MG8=Gx~Gd{NJZS+ zn;UtX4Fp&(oK_2{5_L;-2wQk$wu+J0k}aI#Dv!R;($<-)`?K60sDXiDf&BL8HaQY) z)w3U495eCVsNRxE*0`eH>RB!N(B= OQtIjI=d#Wzp$PyZ8d#eE diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/prisoner-inhand-right.png b/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/prisoner-inhand-right.png index 45393e81a66103898d2e33673dc0c227824b4f29..e43a9b42dbcce7413e0191765e4d201a3f8cf80e 100644 GIT binary patch delta 191 zcmZo>dciosuzr!Ji(^Q|oVPa*axxi;xL(wb@K`qGrk|#!!CRHNM_M`bc#N{#gx}w+ zW9mPzKAU}#iYEvy`CpjD>%<|N5Gl4TS9z(+Imw0~ug`b4mzo!*R?=B2D>@s&$ugou^%X1y*>9(emq0Z#Bhj77L!z77VMUqd{OH0I=9!{(X-xu qP+n|$EcR>>qyAsU1ZHi|ODuYMrcnpqS4)O40D-5gpUXO@geCwN{!(QC delta 218 zcmaFC*vvG+u%0E|(btiIVPik{pF~y$1_sUokH}&M2EM}}%y>M1MG8=GhNp{TNJZS+ zn;UtX4Fp&(oK_2{5_L;-2wP|}TgAw06^Eva;>phMv$S=h)nAv}19dPkJh0LG{&UIe zUD>m1?;khdG4u_-5_NrZYNXlwzo!=d?t8q$Zr;&(wZZXT4w|aZD*Yxm^uMou#bWX{ zTz>z}KgCS5cz!d1&8fM&?%0zHY-Y1_Y9CJ9E<9nOq1~00!WS|U7*FUuV%s|_u2lKd QbX|~APgg&ebxsLQ0Bzt{bN~PV diff --git a/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/trinkets-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Jumpskirt/color.rsi/trinkets-equipped-INNERCLOTHING.png index cee5a50d2caea42b0fc53599a92a1cc8be1a8d72..bb9dd4f505ee4ad6cf2969435ae4333f48849290 100644 GIT binary patch delta 276 zcmbQlw1jDbWIY=L1H-D!!h1l9u{g-xiDBJ2nU_G$Jx>?Mkcv5PZ|(1GHV`@f@xE(j z=6u(qOg;~~WFt=4Zr;F_#2~i7sq8evzE?{oE4g|$xZJ6=?@c{fKR-6&(`29t4ee`R z&w79L{FB#L`}Uj1iX1)tc+Rbv{&LkXcD?&z{$SJ6&lY{v^=ls|o3S3S+K_~WIZzj1H;_yjcNS%G}%0G|-o z8#iufYinm_W@cq&1qB67nKC6fIN09a9w_f;tS1koI7@>3g8xGSL$H5^5J<4VBeIx* zf$tCqGm2_>H2?*(JzX3_BC6cqUbx8BV8GG(aOUQp|NLe2@`c#)L|x|W=ayXEzv0DM z28Im`dl-D0KQe!ssmCjKdtlh%?=+^wxwSSs{4&DGoHM|SrCM!lQ nnfw07&0jb9rZF)%gnngcR;-t?v9eYM+RNbS>gTe~DWM4fWsO~T diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/equipped-INNERCLOTHING.png index 5c333dfc11811bc991f2cd4e82637351c4ead25c..2d86990cb8bf89056064b448cdff4458e5caa870 100644 GIT binary patch delta 1306 zcmV+#1?Bpj1fmL%8Gi-<0063Kaozv`00DDSM?wIu&K&6g00i7gL_t(|ob8%HZ`w!{ z$Nyce=xQs4234%;L$Oj$2^Y493it%bd;<Ep}8(Ab2rP^|tJ&>8&1QL&JSnbxo(|GK8@6Gefn}4z201*)p5fKp)5fR@f zPedNpb)9CjSpYzxP~dGloel*6(=@TWyDKD9R6i?gn#Swv^*S$$>i{A?)dmPT>ZMPQzyM%kLtQk$Kx^8 zb)EKlJ=cBbn}1q{e#SW=bL&IZ&y>%0k~v{seV9fp>ij&L{5atUuZ9?g0YV7BmSq`= zqCl2qUPlOlVHg74^G>~9cj=!8A;dK`yzpQQ&~=?^n#P5iripw$&+j`s&+ap0?}AjI zc);S0Q$H|`0Z!fhejkIuz@`5#UOlS+(Gk$^_W^v1u7B*>?{lJbIvtnX;c&=1zrMZ> zVEQ74!=dXr*6uML908VP!Llq@-C!`d_vTssL+$+FSB6Nt2OThPIgum@gb>$MAcR1Y zBt8VgT80+MA%tLSYYPA{8jWyydFiR$JUs6MoJf-78sc~B|H>E+hd4Vs3q_WY18mzy zqtOUOv40T+9DwQGgazc^-@o@I&sPj!8xj`u0Jt2nOn!O!63u24-EJ3?$pp1p z4e4~+H4;Sdyc3*-efc?^unJ^ZMtWld0C0GC_n#)nudc4pY&KnWVQqW8Fqus7+q-x7>P}BjSE4^6A|fIpA|fIpA|m4Z zMpf0&Gr&R6b)BlJ>dPMC{{gD1(qgfQR4Rp5t3@l73S~z4F~AQ@XQfi1tyYVsQYjRR zMSu8pf@f4!rL9)Wm4;?c2t6;q0H%v|e%2OICkTyzWHO0TsRUs92c}-HBa_J>m&-xZ zw3YlAxw*N4rfJCKa>!&dsMqWKZ&0aJLNb{Yk|*SV7cXA$vSAp=X0woG8Hq#!<#HLD zo0~$){UE=3g>t!!L?QuMmXXb7U1t)UHh+3SI0nqi3Fh;8H!lv3Jmw^#Qu1i0tAd2xYQEapc{ zAY!o?%!`Y;Hi_Wtgb3r04n zFhle&`lPKt0e_?fu=?KubXhDpK$pd{*ntjw4KFXTR-aUwjRI(pdP>suzv`trmx*a_}2NwTeOjugLpl_Vxu)T zB(VLNa>>=Xq{EH@T+gO;e*$3Rj+Zo!pBXU#cDAu-h=2HZ5#ItjzX9+=bam}Jz5^$j zl*N<>V2-%|S-c1%U`7m}o9vAMoEagY%i=|5ha+frZ(-b7Trvqsdn35^9&oh0{YmgU zpHELGky;aGfPch`)`SHR&jH0(% zQ%EEd|DBa3*f|&SJO`jCiui5YwgJFoIjT0s)~r{69PZ9nL>^wn@pv@lOe7MC#2?WJs_uX+ Riy;62002ovPDHLkV1n?ywvqq< delta 277 zcmZo>Udl8}{CC_9?}s@uur)p&YgYr>Yh7;uTF6Z^&~zn61oN z<`{D&TUn&Z{y@xX=(@y0foC-g(bFU)n&dsJOAbr#*WpAD%l@by zKtx1DL_|bHL_{HsF}`hEe{MZAZ@JdCtq;w6DPxRx&UtI?$$#dYa}RHN%3H2mYkf%G zHJ?&JS(YKsbIcFHIp?!13(lJ#g0pB2G zH&>SB?@dkX|DAWq*RugtReb>P08p0Y$?v<}ZvMZw=iMSQ0n=udw=+FIx>@PGYs5Z* zSc#luQ561oJbz-d*&s<0Y`0tN_j?S(fN8yHn!Dd6op+7c1Zb^M*EN(AKt5&T#cI?=!S+jsjrc_^<1f;l1g8YL2!vMpkGdkyi zqMQXDk;M!Qe1}1p@p%4<6rkW8&w3ZfkO=p;Q!ny0EAY5>uaN%#|8Vxglxz1?%c^I3 z`YWB&wr~Okiws(4PNrU-+R_;Wth&tcxkht)|MVYiG~HIyp~EiK8>At zRzy5-ZH|V`zW9YXOe{td|0l56&2DhH_IPVwe!#K?8BcdE*T46Df73~M*5xNPq<`cT zEIzpGJku!=l?R(YrLx)uA6U0-uH2T}J2j*iB)57va$0mHa*dK}bYr?KLvAHku<0L=mF^JR&a*(o@@bEKN6SMc)%VvGx!*9>BJ|kV;Mk5;s}z>rk@+FI zWXg(Fubv%SyH(F>z2ULmpTb+N-CMKVh&B52I==%yYuG-NZi;&Se)jj*D=SUjA1`@W zV6lg>fMLPbd9@2)@A|kee!J=WM=U?iUcUT!esE=FzW2SW`w!G_tS~B#-F^9G%O;&b z5!P?NZGY`MZopIj;dSn9HDlK3PwV^|g1CGyJ8(2U{>Y)oGHY35(5uq?O$QfOhUafw zmmMy`+9Gh{ZP|_(y&ZAuCE65M-u_;6+S>&RrZnG?dc6G9T0=h3(4HsPBNS%G|&0G|-o z-Me?+xpU|K{rms^{kwVd=KT5dXU&?mYSpS^$Bupa^y%EWb3la)=GzGZDV~xbzu^A} zz#w!VEX`Tq5n0T@z;_sg8IRZJuSfx^e(LGs7!u+BcIs`uW(5J4=}KF#{{Mgfoziqy z;kmu~W;Z8`OyN@(kZ-#-d&dFRChiyo8@CC|8*XYmF|@xvGwybWgx9LHZiP)#omyA| z{cdflTqIFx`k^BCMtZk{*bjaWgS68cab+~T}>{$}Uqx80$QI#De3y1UPI zng!KatM6^k5&bat2RrAn981qxFP)7y)z3e=t`=k&(9T1fS$;~cdC}Gtt+i`0Yg^a5 zFI$!_5{)`Adw+zhc1T24IivQj#g}XTvF6@5rZD3jr;g}dNtO!N@-L0LqIV7M{Wx)- d``TCb|8dKCXYUd31^Sr5)78&qofA_+698!hvljpW diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/meta.json b/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/meta.json index 7e6832bd12..797ea180d8 100644 --- a/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/meta.json +++ b/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/c838ba21dae97db345e0113f99596decd1d66039 and modified by Flareguy for Space Station 14", + "copyright": "Taken from vgstation at commit https://github.com/vgstation-coders/vgstation13/commit/993de554ecfc30cc45f8340819c5a60ef1eee7e1 and modified for SS14 by Flareguy & P3MOIRA", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/prisoner-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/prisoner-equipped-INNERCLOTHING.png index 320db64b5794a279427cd43b16b4839490b43800..ef35d8c80c579f45bbf65b60c2d209d5fd24af5b 100644 GIT binary patch delta 398 zcmV;90dfBA0-Xbp8Gi-<0063Kaozv`00DDSM?wIu&K&6g00CD?L_t(|obB4Zje{^0 z2k?h97j2QwryLxpN}?w2yjPPmVJB%d~NwMV}I=FhRd>Cv&n-3Uc z(s7*M{b3kL-9Iw^LXsrc&VVS2WK~rZ1OXLAVX31{w9E=2gvB|RbzM^!hLq>I_J~aV z%;Ue40qS|W@&9!B3{btB0edfME&hDORj1DZ0001RAB-^>MUkAgL_e>~^Y$yp2LJ#7 z0001hXMNwF_J3Ra%vf-ByXt7K{(?HXHfJK{rEPw4j4`>kUcgiaOltxT&j!xNS%G}T0G|-o z?(S{{1%=??U?U@=tgI|wUtbp&m+0u|f`WpUmKLC@mrpK~0x9m2Aiv=MaKPZ@&-e)_ z%vskvb7Fd0ANMfN*Wb()@%ZRL1-?BS zYxX~ycwa_A>8?yed$Z9DS(EGnDbXL+jX%_H?pT&vsyOvil#3_>(5wf)Sqj2Tu5H_r zv}rx_Hx7T9AHSCED&@_cl(>@lkU{gyUCq`K%V#DYv*|TzS$JW4$NL3Ls*SI-7%GiK lC-5!syk_^OM$kEeA-;QdO7yZX`almdc)I$ztaD0e0stA8jer0E diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/prisoner-icon.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/prisoner-icon.png index faebe0e0550c4a7a41276f787c0f1496dbd6276e..819e7ac9d9c978d7fd87bba47ffbd86bb505a79b 100644 GIT binary patch delta 171 zcmV;c0960z0lWc_8Gi-<0047(dh`GQ00DDSM?wIu&K&6g004GLL_t(oh3(S83BVu> z1<2WLL1_OwNl2o6Bm#iH+oFT5HM`C^=kT6AI>^jq zX2i_V74uZp-n+i6);gWQ;b~4O-7XZ7N3HiB{*Z2^l(h+rY9!tSTn`v5x7o;-CjbBd Z04F$kDR^N;oe%&3002ovPDHLkV1m{Eak-;h&tK%-|;K5WujKOG4s8>4J}vk`fDbBpj|c==twbp1Ht8MnOA) zjY&*^@o6*TF3vRpQhXPD6PE7flt>6+WVsN-C@sy<^hCTPt&SCBJAM1MG8=Gx~Gd{NJZS+ zn;UtX4Fp&(oK_2{5_L;-2wQk$wu+J0k}aI#Dv!R;($<-)`?K60sDXiDf&BL8HaQY) z)w3U495eCVsNRxE*0`eH>RB!N(B= OQtIjI=d#Wzp$PyZ8d#eE diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/trinkets-equipped-INNERCLOTHING.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/trinkets-equipped-INNERCLOTHING.png index e21afe8d4eb1d95295728d41429e90b26765ade0..c97a78f047727a2fd76b4e841b0bbf7a7dc86edc 100644 GIT binary patch delta 279 zcmV+y0qFjT0;d9y8Gi-<0063Kaozv`00DDSM?wIu&K&6g007}hL_t(|obB2%ii9u} z#_?~LZEat$@&cY9m3Qz$={<|r5D(x5tR!hYK(<&G1_qXyQAb?ze=SU&+U-6K^+N6vfNmxwI>vJoeCa-Q{n<=a$LiIDhUH$7wbtz&W>99H-fo zfd7C5oE^Z~zMdKEz0YM?$~h-9Q`0muvz$^=j8V(7Xc&gWeu}*Jxvp!?^Q@|>?%HXZ z4qYDr000000002|cxSBubqN3f>|*m4CfZ<;A-bkPrXMsm#F#`kN zVGw3Kp1&dmD46Ey;usR){`TC(Laqh_j@HD|mGA!_TUaq!Ajegt@Lz1lhT5J#X$%Z5 z3~~(94*qM%_Pfrw((>;4hJ#Mhoc*_|wWhgepZ~=_jhR7#34%VDHkcS$x_auYmyx@= hM}~pn;_Zgtd{=kmM{Uq*yb83E!PC{xWt~$(69DR)T2BA~ diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/trinkets-icon.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/trinkets-icon.png index c9e8398b47d94679bfbec574bbdd8c639bb7064b..683e91de958724384d033fbd3ada13b6aed64281 100644 GIT binary patch delta 165 zcmV;W09ya+0nP!CF@K0jL_t(oh3(X_4Fe$z1<;=;D`0AN@Bl2~C0NaiumwE~;j40O zB9r8b_*H;x^CcvJ5W>H^c^g&Lo@)_t&$)XWnHgpVX7-NQH^#8nRbSLv+YaD<0sttb z?B2f@p!a@lfSmKS0X`uDJl-u75lbnZdm=)u6+~on&hvb&1s+v(|BNAo5W>$LuxTA5 Tk@>Vl00000NkvXXu0mjfyxvEy delta 194 zcmV;z06qWC0qX&fF@FSSK}|sb0I`n?{9y$E000SaNLh0L01mxv2);fCe6Ku)6I^ w&iQ=zeyp|Ry{A_1r`7A06mLcV0DzAX9sAlK?eLYNg#Z8m07*qoM6N<$f(-CcVgLXD diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/trinkets-inhand-left.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/trinkets-inhand-left.png index 9bbcac8268ab5a6466b66447666b6542c66ca9bc..b0e2998c0d42d5c7316397736533bb4c7ba9a464 100644 GIT binary patch delta 157 zcmey$c#Ls^VSR(Ai(^Q|oVPa@N;Vsav|hYkcV>d+qQ#r!s~6s6n6Dbt&A&zDoa6)X z>-RVqKp^3W&H2Bl_U`>Ic`^64-rd{QsSWj?elRXu?6h>syyCtoL06)bmtKj^-ncGX z=k%vvrTk!B4b~Es{rMkx`}Q2)E|GBLF}uYZ*?(s54H?89+jZz0pXWL}T^^*+)78&q Iol`;+0Kxl4oB#j- delta 204 zcmX@c_?2;jVLeN_qpu?a!^VE@KZ&di3=EtF9+AZi419+{nDKc2iWHz=m#2$kNJZS+ zn;Uss40u=r?)x58&`?gXVM}6}A}FB{UEs?VH6?~|&-EKuw?FyD4%ETGa3M8v+Tyj& zJ?E@{Z?n9z?|rUxa>>1$@p1*~>+26JKbxnyGkhJ?3cgD`)$kdTMy0RUvJZ0{Y|1FPS8F!&+OQQB{Nk(syto&T-G@yGywo; Cc~MvZ diff --git a/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/trinkets-inhand-right.png b/Resources/Textures/Clothing/Uniforms/Jumpsuit/color.rsi/trinkets-inhand-right.png index cfd725831525040c80289ad5c787cadc64f573c4..ec1962dde48680be042df398a89787a6dcfa40dc 100644 GIT binary patch delta 171 zcmey(c!hC-VSS&ci(^Q|oVPbO@-`cYxL%yEVO+tNrS<-J+?AXM^He>&1-)k|ohb0j z77yQFE64x>2kx2p-oDDK8&!4R-EL~ox$7|tmVUp$`0mX|_8(W|juqZ%OYE2u^kk0m z(k*LWOP$_y#OD0^dN;X?(fVNR4)#^iJ=uQw&3ko^nX2^5yUW)%yt4Y!%_`PV{gdh2 WJmd46Z*LcZlzO`QxvXBuz}nOWd*kchHVYUd_@E&noK-feRlsdmDe% zw|?c@y%7ChGnN|u+bO+ft)bmwS-r~W_^r#NA{e5C3K`ZdFg}*GB=$K-ou{jx%Q~lo FCIG9?Q%(Q? From 287a9a07de9911ac2f32edc4058b5330c89136df Mon Sep 17 00:00:00 2001 From: ScarKy0 <106310278+ScarKy0@users.noreply.github.com> Date: Sat, 9 Nov 2024 20:29:29 +0100 Subject: [PATCH 191/588] Intellicards now have a doAfter. (#33198) * init * cleanup * Oops! Forgot something * addressing changes * guh * guh 2.0 * some cleanup * all bless the intellicard * Yippee * small locale thing * changes + small bugfix --------- Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> --- .../Silicons/StationAi/StationAiSystem.cs | 20 ++++- .../Components/IntellicardComponent.cs | 39 ++++++++++ .../StationAi/SharedStationAiSystem.Held.cs | 20 ++++- .../StationAi/SharedStationAiSystem.cs | 75 ++++++++++++++++++- .../Locale/en-US/intellicard/intellicard.ftl | 3 + .../Locale/en-US/silicons/station-ai.ftl | 2 + .../Entities/Mobs/Player/silicon.yml | 1 + 7 files changed, 153 insertions(+), 7 deletions(-) create mode 100644 Content.Shared/Intellicard/Components/IntellicardComponent.cs create mode 100644 Resources/Locale/en-US/intellicard/intellicard.ftl diff --git a/Content.Server/Silicons/StationAi/StationAiSystem.cs b/Content.Server/Silicons/StationAi/StationAiSystem.cs index 846497387d..a10833dc63 100644 --- a/Content.Server/Silicons/StationAi/StationAiSystem.cs +++ b/Content.Server/Silicons/StationAi/StationAiSystem.cs @@ -1,10 +1,11 @@ using System.Linq; using Content.Server.Chat.Managers; -using Content.Server.Chat.Systems; using Content.Shared.Chat; +using Content.Shared.Mind; +using Content.Shared.Roles; using Content.Shared.Silicons.StationAi; using Content.Shared.StationAi; -using Robust.Shared.Audio.Systems; +using Robust.Shared.Audio; using Robust.Shared.Map.Components; using Robust.Shared.Player; @@ -14,6 +15,8 @@ public sealed class StationAiSystem : SharedStationAiSystem { [Dependency] private readonly IChatManager _chats = default!; [Dependency] private readonly EntityLookupSystem _lookup = default!; + [Dependency] private readonly SharedMindSystem _mind = default!; + [Dependency] private readonly SharedRoleSystem _roles = default!; private readonly HashSet> _ais = new(); @@ -43,6 +46,19 @@ public override bool SetWhitelistEnabled(Entity ent return true; } + public override void AnnounceIntellicardUsage(EntityUid uid, SoundSpecifier? cue = null) + { + if (!TryComp(uid, out var actor)) + return; + + var msg = Loc.GetString("ai-consciousness-download-warning"); + var wrappedMessage = Loc.GetString("chat-manager-server-wrap-message", ("message", msg)); + _chats.ChatMessageToOne(ChatChannel.Server, msg, wrappedMessage, default, false, actor.PlayerSession.Channel, colorOverride: Color.Red); + + if (cue != null && _mind.TryGetMind(uid, out var mindId, out _)) + _roles.MindPlaySound(mindId, cue); + } + private void AnnounceSnip(EntityUid entity) { var xform = Transform(entity); diff --git a/Content.Shared/Intellicard/Components/IntellicardComponent.cs b/Content.Shared/Intellicard/Components/IntellicardComponent.cs new file mode 100644 index 0000000000..e27174977f --- /dev/null +++ b/Content.Shared/Intellicard/Components/IntellicardComponent.cs @@ -0,0 +1,39 @@ +using Robust.Shared.Audio; +using Robust.Shared.GameStates; + +namespace Content.Shared.Intellicard; + +/// +/// Allows this entity to download the station AI onto an AiHolderComponent. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class IntellicardComponent : Component +{ + /// + /// The duration it takes to download the AI from an AiHolder. + /// + [DataField, AutoNetworkedField] + public int DownloadTime = 15; + + /// + /// The duration it takes to upload the AI to an AiHolder. + /// + [DataField, AutoNetworkedField] + public int UploadTime = 3; + + /// + /// The sound that plays for the AI + /// when they are being downloaded + /// + [DataField, AutoNetworkedField] + public SoundSpecifier? WarningSound = new SoundPathSpecifier("/Audio/Misc/notice2.ogg"); + + /// + /// The delay before allowing the warning to play again in seconds. + /// + [DataField, AutoNetworkedField] + public TimeSpan WarningDelay = TimeSpan.FromSeconds(8); + + [ViewVariables] + public TimeSpan NextWarningAllowed = TimeSpan.Zero; +} diff --git a/Content.Shared/Silicons/StationAi/SharedStationAiSystem.Held.cs b/Content.Shared/Silicons/StationAi/SharedStationAiSystem.Held.cs index e067cf3efa..c9279b0215 100644 --- a/Content.Shared/Silicons/StationAi/SharedStationAiSystem.Held.cs +++ b/Content.Shared/Silicons/StationAi/SharedStationAiSystem.Held.cs @@ -54,7 +54,7 @@ private void OnCoreJump(Entity ent, ref JumpToCoreEvent } /// - /// Tries to get the entity held in the AI core. + /// Tries to get the entity held in the AI core using StationAiCore. /// private bool TryGetHeld(Entity entity, out EntityUid held) { @@ -71,6 +71,24 @@ private bool TryGetHeld(Entity entity, out EntityUid he return true; } + /// + /// Tries to get the entity held in the AI using StationAiHolder. + /// + private bool TryGetHeldFromHolder(Entity entity, out EntityUid held) + { + held = EntityUid.Invalid; + + if (!Resolve(entity.Owner, ref entity.Comp)) + return false; + + if (!_containers.TryGetContainer(entity.Owner, StationAiHolderComponent.Container, out var container) || + container.ContainedEntities.Count == 0) + return false; + + held = container.ContainedEntities[0]; + return true; + } + private bool TryGetCore(EntityUid ent, out Entity core) { if (!_containers.TryGetContainingContainer(ent, out var container) || diff --git a/Content.Shared/Silicons/StationAi/SharedStationAiSystem.cs b/Content.Shared/Silicons/StationAi/SharedStationAiSystem.cs index f88df9eea6..189515635a 100644 --- a/Content.Shared/Silicons/StationAi/SharedStationAiSystem.cs +++ b/Content.Shared/Silicons/StationAi/SharedStationAiSystem.cs @@ -4,7 +4,9 @@ using Content.Shared.Containers.ItemSlots; using Content.Shared.Database; using Content.Shared.Doors.Systems; +using Content.Shared.DoAfter; using Content.Shared.Electrocution; +using Content.Shared.Intellicard; using Content.Shared.Interaction; using Content.Shared.Item.ItemToggle; using Content.Shared.Mind; @@ -15,6 +17,7 @@ using Content.Shared.Power.EntitySystems; using Content.Shared.StationAi; using Content.Shared.Verbs; +using Robust.Shared.Audio; using Robust.Shared.Audio.Systems; using Robust.Shared.Containers; using Robust.Shared.Map.Components; @@ -40,6 +43,7 @@ public abstract partial class SharedStationAiSystem : EntitySystem [Dependency] private readonly SharedAudioSystem _audio = default!; [Dependency] private readonly SharedContainerSystem _containers = default!; [Dependency] private readonly SharedDoorSystem _doors = default!; + [Dependency] private readonly SharedDoAfterSystem _doAfter = default!; [Dependency] private readonly SharedElectrocutionSystem _electrify = default!; [Dependency] private readonly SharedEyeSystem _eye = default!; [Dependency] protected readonly SharedMapSystem Maps = default!; @@ -87,6 +91,7 @@ public override void Initialize() SubscribeLocalEvent(OnHolderMapInit); SubscribeLocalEvent(OnHolderConInsert); SubscribeLocalEvent(OnHolderConRemove); + SubscribeLocalEvent(OnIntellicardDoAfter); SubscribeLocalEvent(OnAiInsert); SubscribeLocalEvent(OnAiRemove); @@ -197,15 +202,22 @@ private void OnAiInRange(Entity ent, ref InRangeOverr args.InRange = _vision.IsAccessible((targetXform.GridUid.Value, broadphase, grid), targetTile); } - private void OnHolderInteract(Entity ent, ref AfterInteractEvent args) + + private void OnIntellicardDoAfter(Entity ent, ref IntellicardDoAfterEvent args) { - if (!TryComp(args.Target, out StationAiHolderComponent? targetHolder)) + if (args.Cancelled) + return; + + if (args.Handled) + return; + + if (!TryComp(args.Args.Target, out StationAiHolderComponent? targetHolder)) return; // Try to insert our thing into them if (_slots.CanEject(ent.Owner, args.User, ent.Comp.Slot)) { - if (!_slots.TryInsert(args.Target.Value, targetHolder.Slot, ent.Comp.Slot.Item!.Value, args.User, excludeUserAudio: true)) + if (!_slots.TryInsert(args.Args.Target.Value, targetHolder.Slot, ent.Comp.Slot.Item!.Value, args.User, excludeUserAudio: true)) { return; } @@ -215,7 +227,7 @@ private void OnHolderInteract(Entity ent, ref AfterInt } // Otherwise try to take from them - if (_slots.CanEject(args.Target.Value, args.User, targetHolder.Slot)) + if (_slots.CanEject(args.Args.Target.Value, args.User, targetHolder.Slot)) { if (!_slots.TryInsert(ent.Owner, ent.Comp.Slot, targetHolder.Slot.Item!.Value, args.User, excludeUserAudio: true)) { @@ -226,6 +238,55 @@ private void OnHolderInteract(Entity ent, ref AfterInt } } + private void OnHolderInteract(Entity ent, ref AfterInteractEvent args) + { + if (args.Handled || !args.CanReach || args.Target == null) + return; + + if (!TryComp(args.Target, out StationAiHolderComponent? targetHolder)) + return; + + //Don't want to download/upload between several intellicards. You can just pick it up at that point. + if (HasComp(args.Target)) + return; + + if (!TryComp(args.Used, out IntellicardComponent? intelliComp)) + return; + + var cardHasAi = _slots.CanEject(ent.Owner, args.User, ent.Comp.Slot); + var coreHasAi = _slots.CanEject(args.Target.Value, args.User, targetHolder.Slot); + + if (cardHasAi && coreHasAi) + { + _popup.PopupClient(Loc.GetString("intellicard-core-occupied"), args.User, args.User, PopupType.Medium); + args.Handled = true; + return; + } + if (!cardHasAi && !coreHasAi) + { + _popup.PopupClient(Loc.GetString("intellicard-core-empty"), args.User, args.User, PopupType.Medium); + args.Handled = true; + return; + } + + if (TryGetHeldFromHolder((args.Target.Value, targetHolder), out var held) && _timing.CurTime > intelliComp.NextWarningAllowed) + { + intelliComp.NextWarningAllowed = _timing.CurTime + intelliComp.WarningDelay; + AnnounceIntellicardUsage(held, intelliComp.WarningSound); + } + + var doAfterArgs = new DoAfterArgs(EntityManager, args.User, cardHasAi ? intelliComp.UploadTime : intelliComp.DownloadTime, new IntellicardDoAfterEvent(), args.Target, ent.Owner) + { + BreakOnDamage = true, + BreakOnMove = true, + NeedHand = true, + BreakOnDropItem = true + }; + + _doAfter.TryStartDoAfter(doAfterArgs); + args.Handled = true; + } + private void OnHolderInit(Entity ent, ref ComponentInit args) { _slots.AddItemSlot(ent.Owner, StationAiHolderComponent.Container, ent.Comp.Slot); @@ -378,6 +439,8 @@ private void UpdateAppearance(Entity entity) _appearance.SetData(entity.Owner, StationAiVisualState.Key, StationAiState.Occupied); } + public virtual void AnnounceIntellicardUsage(EntityUid uid, SoundSpecifier? cue = null) { } + public virtual bool SetVisionEnabled(Entity entity, bool enabled, bool announce = false) { if (entity.Comp.Enabled == enabled) @@ -419,6 +482,10 @@ public sealed partial class JumpToCoreEvent : InstantActionEvent } +[Serializable, NetSerializable] +public sealed partial class IntellicardDoAfterEvent : SimpleDoAfterEvent; + + [Serializable, NetSerializable] public enum StationAiVisualState : byte { diff --git a/Resources/Locale/en-US/intellicard/intellicard.ftl b/Resources/Locale/en-US/intellicard/intellicard.ftl new file mode 100644 index 0000000000..aed155a120 --- /dev/null +++ b/Resources/Locale/en-US/intellicard/intellicard.ftl @@ -0,0 +1,3 @@ +# General +intellicard-core-occupied = The AI core is already occupied by another digital consciousness. +intellicard-core-empty = The AI core has no digital consciousness to download. \ No newline at end of file diff --git a/Resources/Locale/en-US/silicons/station-ai.ftl b/Resources/Locale/en-US/silicons/station-ai.ftl index 7d9db3f6dc..76c30eb101 100644 --- a/Resources/Locale/en-US/silicons/station-ai.ftl +++ b/Resources/Locale/en-US/silicons/station-ai.ftl @@ -20,3 +20,5 @@ electrify-door-off = Disable overcharge toggle-light = Toggle light ai-device-not-responding = Device is not responding + +ai-consciousness-download-warning = Your consciousness is being downloaded. diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml index 39750b470f..e787ef59f0 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml @@ -301,6 +301,7 @@ unshaded: Empty: { state: empty } Occupied: { state: full } + - type: Intellicard - type: entity id: PlayerStationAiEmpty From 675e42df2446855694359bbcd9298ac6af3e0e48 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sat, 9 Nov 2024 19:30:38 +0000 Subject: [PATCH 192/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 485cad8e96..a1a17548d4 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: pigeonpeas - changes: - - message: Added non command mantle into the winterdrobe - type: Add - id: 7100 - time: '2024-08-13T09:20:12.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/29774 - author: TheShuEd changes: - message: change the way food is sliced - food is now sliced whole after a small @@ -3948,3 +3941,14 @@ id: 7599 time: '2024-11-08T14:50:17.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/31710 +- author: ScarKy0 + changes: + - message: Intellicarding the AI is now a doAfter. + type: Tweak + - message: AI now gets notified when someone tries to intellicard it. + type: Add + - message: You can no longer exchange the AI between intellicards. + type: Fix + id: 7600 + time: '2024-11-09T19:29:29.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33198 From d1c66d71e7e554cc194f6bc1b4e197b35d3b202a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 10 Nov 2024 01:46:58 +0100 Subject: [PATCH 193/588] Update Credits (#33237) Co-authored-by: PJBot --- Resources/Credits/GitHub.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Credits/GitHub.txt b/Resources/Credits/GitHub.txt index 8c2ad5f5b0..362b82c63f 100644 --- a/Resources/Credits/GitHub.txt +++ b/Resources/Credits/GitHub.txt @@ -1 +1 @@ -0x6273, 12rabbits, 13spacemen, 2013HORSEMEATSCANDAL, 20kdc, 21Melkuu, 3nderall, 4310v343k, 4dplanner, 612git, 778b, Ablankmann, abregado, Absolute-Potato, achookh, Acruid, actioninja, actually-reb, ada-please, adamsong, Adeinitas, Admiral-Obvious-001, adrian, Adrian16199, Ady4ik, Aerocrux, Aeshus, Aexolott, Aexxie, africalimedrop, Afrokada, AftrLite, Agoichi, Ahion, aiden, AJCM-git, AjexRose, Alekshhh, alexkar598, AlexMorgan3817, alexumandxgabriel08x, Alithsko, ALMv1, Alpha-Two, AlphaQwerty, Altoids1, amylizzle, ancientpower, Andre19926, AndrewEyeke, AndreyCamper, Anzarot121, Appiah, ar4ill, ArchPigeon, ArchRBX, areitpog, Arendian, arimah, Arkanic, ArkiveDev, armoks, Arteben, ArthurMousatov, ArtisticRoomba, artur, AruMoon, ArZarLordOfMango, as334, AsikKEsel, AsnDen, asperger-sind, aspiringLich, astriloqua, august-sun, AutoOtter, avghdev, Awlod, AzzyIsNotHere, BackeTako, BananaFlambe, Baptr0b0t, BasedUser, beck-thompson, bellwetherlogic, benev0, benjamin-burges, BGare, bhenrich, bhespiritu, bibbly, BIGZi0348, bingojohnson, BismarckShuffle, Bixkitts, Blackern5000, Blazeror, BlitzTheSquishy, bloodrizer, Bloody2372, blueDev2, Boaz1111, BobdaBiscuit, BobTheSleder, boiled-water-tsar, BombasterDS, botanySupremist, brainfood1183, BramvanZijp, Brandon-Huu, BriBrooo, Bright0, brndd, bryce0110, BubblegumBlue, buletsponge, buntobaggins, bvelliquette, byondfuckery, c0rigin, c4llv07e, CaasGit, Caconym27, Calecute, Callmore, capnsockless, CaptainSqrBeard, Carbonhell, Carolyn3114, Carou02, carteblanche4me, Catofquestionableethics, CatTheSystem, Centronias, chairbender, Charlese2, charlie, ChaseFlorom, chavonadelal, Cheackraze, cheesePizza2, cheeseplated, Chief-Engineer, chillyconmor, christhirtle, chromiumboy, Chronophylos, Chubbicous, Chubbygummibear, Ciac32, civilCornball, Clement-O, clyf, Clyybber, CMDR-Piboy314, cohanna, Cohnway, Cojoke-dot, ColdAutumnRain, Colin-Tel, collinlunn, ComicIronic, CookieMasterT, coolboy911, coolmankid12345, Coolsurf6, corentt, CormosLemming, crazybrain23, creadth, CrigCrag, croilbird, Crotalus, CrudeWax, CrzyPotato, cutemoongod, Cyberboss, d34d10cc, d4kii, DadeKuma, Daemon, daerSeebaer, dahnte, dakamakat, DamianX, DangerRevolution, daniel-cr, DanSAussieITS, Daracke, Darkenson, DawBla, Daxxi3, dch-GH, de0rix, Deahaka, dean, DEATHB4DEFEAT, DeathCamel58, Deatherd, deathride58, DebugOk, Decappi, Decortex, Deeeeja, deepdarkdepths, degradka, Delete69, deltanedas, DenisShvalov, DerbyX, derek, dersheppard, Deserty0, Detintinto, DevilishMilk, dexlerxd, dffdff2423, DieselMohawk, digitalic, Dimastra, DinoWattz, DisposableCrewmember42, DjfjdfofdjfjD, doc-michael, docnite, Doctor-Cpu, DoctorBeard, DogZeroX, dolgovmi, dontbetank, Doomsdrayk, Doru991, DoubleRiceEddiedd, DoutorWhite, dragonryan06, drakewill-CRL, Drayff, dreamlyjack, DrEnzyme, dribblydrone, DrMelon, drongood12, DrSingh, DrSmugleaf, drteaspoon420, DTanxxx, DubiousDoggo, Duddino, dukevanity, duskyjay, Dutch-VanDerLinde, dvir001, Dynexust, Easypoller, echo, eclips_e, eden077, EEASAS, Efruit, efzapa, Ekkosangen, ElectroSR, elsie, elthundercloud, Elysium206, Emisse, emmafornash, EmoGarbage404, Endecc, eoineoineoin, eris, erohrs2, ERORR404V1, Errant-4, ertanic, esguard, estacaoespacialpirata, eugene, exincore, exp111, f0x-n3rd, FacePluslll, Fahasor, FairlySadPanda, FATFSAAM2, Feluk6174, ficcialfaint, Fiftyllama, Fildrance, FillerVK, FinnishPaladin, FirinMaLazors, Fishfish458, FL-OZ, Flareguy, flashgnash, FluffiestFloof, FluffMe, FluidRock, foboscheshir, FoLoKe, fooberticus, ForestNoises, forgotmyotheraccount, forkeyboards, forthbridge, Fortune117, Fouin, foxhorn, freeman2651, freeze2222, Froffy025, Fromoriss, froozigiusz, FrostMando, FungiFellow, FunTust, Futuristic-OK, GalacticChimp, gamer3107, Gaxeer, gbasood, Geekyhobo, genderGeometries, GeneralGaws, Genkail, geraeumig, Ghagliiarghii, Git-Nivrak, githubuser508, gituhabu, GlassEclipse, GNF54, godisdeadLOL, goet, Goldminermac, Golinth, GoodWheatley, Gorox221, gradientvera, graevy, GraniteSidewalk, GreaseMonk, greenrock64, GreyMario, GTRsound, gusxyz, Gyrandola, h3half, hamurlik, Hanzdegloker, HappyRoach, Hardly3D, harikattar, he1acdvv, Hebi, Henry, HerCoyote23, hitomishirichan, hiucko, Hmeister-fake, Hmeister-real, Hobbitmax, hobnob, HoidC, Holinka4ever, holyssss, HoofedEar, Hoolny, hord-brayden, Hreno, hubismal, Hugal31, Huxellberger, Hyenh, hyphenationc, i-justuser-i, iacore, IamVelcroboy, Ian321, icekot8, icesickleone, iczero, iglov, IgorAnt028, igorsaux, ike709, illersaver, Illiux, Ilushkins33, Ilya246, IlyaElDunaev, imrenq, imweax, indeano, Injazz, Insineer, IntegerTempest, Interrobang01, IProduceWidgets, ItsMeThom, Itzbenz, iztokbajcar, Jackal298, Jackrost, jacksonzck, Jackw2As, jacob, jamessimo, janekvap, Jark255, Jarmer123, Jaskanbe, JasperJRoth, JerryImMouse, jerryimmouse, Jessetriesagain, jessicamaybe, Jezithyr, jicksaw, JiimBob, JimGamemaster, jimmy12or, JIPDawg, jjtParadox, jmcb, JoeHammad1844, JohnGinnane, johnku1, Jophire, joshepvodka, Jrpl, juliangiebel, JustArt1m, JustCone14, justdie12, justin, justintether, JustinTrotter, justtne, K-Dynamic, k3yw, Kadeo64, Kaga-404, KaiShibaa, kalane15, kalanosh, Kanashi-Panda, katzenminer, kbailey-git, Keelin, Keer-Sar, KEEYNy, keikiru, Kelrak, kerisargit, keronshb, KIBORG04, Killerqu00, Kimpes, KingFroozy, kira-er, Kirillcas, Kirus59, Kistras, Kit0vras, KittenColony, klaypexx, Kmc2000, Ko4ergaPunk, kognise, kokoc9n, komunre, KonstantinAngelov, kosticia, koteq, KrasnoshchekovPavel, Krunklehorn, Kupie, kxvvv, kyupolaris, kzhanik, lajolico, Lamrr, LankLTE, laok233, lapatison, larryrussian, lawdog4817, Lazzi0706, leander-0, leonardo-dabepis, leonsfriedrich, LeoSantich, LetterN, lettern, Level10Cybermancer, LEVELcat, lever1209, Lgibb18, lgruthes, LightVillet, liltenhead, LinkUyx, LittleBuilderJane, LittleNorthStar, LittleNyanCat, lizelive, localcc, lokachop, Lomcastar, LordCarve, LordEclipse, LucasTheDrgn, luckyshotpictures, LudwigVonChesterfield, luizwritescode, Lukasz825700516, luminight, lunarcomets, luringens, lvvova1, Lyndomen, lyroth001, lzimann, lzk228, M3739, mac6na6na, MACMAN2003, Macoron, Magicalus, magmodius, MagnusCrowe, malchanceux, MaloTV, ManelNavola, Mangohydra, marboww, Markek1, Matz05, max, MaxNox7, maylokana, MehimoNemo, MeltedPixel, MemeProof, MendaxxDev, Menshin, Mephisto72, MerrytheManokit, Mervill, metalgearsloth, MetalSage, MFMessage, mhamsterr, michaelcu, micheel665, MilenVolf, MilonPL, Minemoder5000, Minty642, Mirino97, mirrorcult, misandrie, MishaUnity, MissKay1994, MisterMecky, Mith-randalf, MjrLandWhale, mkanke-real, MLGTASTICa, moderatelyaware, modern-nm, mokiros, Moneyl, Moomoobeef, moony, Morb0, mr-bo-jangles, Mr0maks, MrFippik, mrrobdemo, muburu, MureixloI, musicmanvr, MWKane, Myakot, Myctai, N3X15, nails-n-tape, Nairodian, Naive817, NakataRin, namespace-Memory, Nannek, NazrinNya, neutrino-laser, NickPowers43, nikthechampiongr, Nimfar11, Nirnael, NIXC, NkoKirkto, nmajask, noctyrnal, noelkathegod, nok-ko, NonchalantNoob, NoobyLegion, Nopey, not-gavnaed, notafet, notquitehadouken, NotSoDana, noudoit, noverd, NuclearWinter, nukashimika, nuke-haus, NULL882, nullarmo, nyeogmi, Nylux, Nyranu, och-och, OctoRocket, OldDanceJacket, OliverOtter, onoira, OnyxTheBrave, OrangeMoronage9622, osjarw, Ostaf, othymer, OttoMaticode, Owai-Seek, packmore, paigemaeforrest, pali6, Pangogie, panzer-iv1, paolordls, partyaddict, patrikturi, PaulRitter, peccneck, Peptide90, peptron1, PeterFuto, PetMudstone, pewter-wiz, Pgriha, Phantom-Lily, pheenty, Phill101, phunnyguy, PilgrimViis, Pill-U, Pireax, Pissachu, pissdemon, PixeltheAertistContrib, PixelTheKermit, PJB3005, Plasmaguy, plinyvic, Plykiya, poeMota, pofitlo, pointer-to-null, pok27, PolterTzi, PoorMansDreams, PopGamer45, portfiend, potato1234x, PotentiallyTom, ProfanedBane, ProPandaBear, PrPleGoo, ps3moira, Pspritechologist, Psychpsyo, psykzz, PuceTint, PuroSlavKing, PursuitInAshes, Putnam3145, qrtDaniil, quatre, QueerNB, QuietlyWhisper, qwerltaz, RadioMull, Radosvik, Radrark, Rainbeon, Rainfey, Raitononai, Ramlik, RamZ, randy10122, Rane, Ranger6012, Rapidgame7, ravage123321, rbertoche, Redfire1331, Redict, RedlineTriad, redmushie, RednoWCirabrab, RemberBM, RemieRichards, RemTim, rene-descartes2021, Renlou, retequizzle, RiceMar1244, rich-dunne, RieBi, riggleprime, RIKELOLDABOSS, rinary1, Rinkashikachi, riolume, RobbyTheFish, Rockdtben, Rohesie, rok-povsic, rolfero, RomanNovo, rosieposieeee, Roudenn, router, RumiTiger, S1rFl0, S1ss3l, Saakra, Sadie-silly, saga3152, saintmuntzer, Salex08, sam, samgithubaccount, SaphireLattice, SapphicOverload, Sarahon, sativaleanne, SaveliyM360, sBasalto, ScalyChimp, ScarKy0, scrato, Scribbles0, scrivoy, scruq445, scuffedjays, ScumbagDog, Segonist, sephtasm, Serkket, sewerpig, sh18rw, ShadeAware, ShadowCommander, Shadowtheprotogen546, shaeone, shampunj, shariathotpatrol, SignalWalker, siigiil, Simyon264, sirdragooon, Sirionaut, Sk1tch, SkaldetSkaeg, Skarletto, Skrauz, Skyedra, SlamBamActionman, slarticodefast, Slava0135, Slyfox333, snebl, snicket, sniperchance, Snowni, snowsignal, SolidusSnek, SonicHDC, SoulFN, SoulSloth, Soundwavesghost, southbridge-fur, Soydium, spacelizard, SpaceLizardSky, SpaceManiac, SpaceyLady, Spanky, spanky-spanky, spartak, SpartanKadence, SpeltIncorrectyl, Spessmann, SphiraI, SplinterGP, spoogemonster, sporekto, sporkyz, ssdaniel24, stalengd, stanberytrask, Stanislav4ix, StanTheCarpenter, Stealthbomber16, stellar-novas, stomf, stopbreaking, stopka-html, StrawberryMoses, Stray-Pyramid, strO0pwafel, Strol20, StStevens, Subversionary, sunbear-dev, superjj18, Supernorn, SweptWasTaken, Sybil, SYNCHRONIC, Szunti, Tainakov, takemysoult, TaralGit, Taran, taurie, Tayrtahn, tday93, teamaki, TekuNut, telyonok, TemporalOroboros, tentekal, terezi4real, Terraspark4941, texcruize, TGODiamond, TGRCdev, tgrkzus, ThatOneGoblin25, thatrandomcanadianguy, TheArturZh, theashtronaut, thecopbennet, TheCze, TheDarkElites, thedraccx, TheEmber, TheIntoxicatedCat, thekilk, themias, theomund, theOperand, TherapyGoth, TheShuEd, thetolbean, thevinter, TheWaffleJesus, Thinbug0, ThunderBear2006, timothyteakettle, TimrodDX, timurjavid, tin-man-tim, Titian3, tk-a369, tkdrg, tmtmtl30, TokenStyle, Tollhouse, Toly65, tom-leys, tomasalves8, Tomeno, Tonydatguy, topy, Tornado-Technology, tosatur, TotallyLemon, tropicalhibi, truepaintgit, Truoizys, Tryded, TsjipTsjip, Tunguso4ka, TurboTrackerss14, TyAshley, Tyler-IN, Tyzemol, UbaserB, ubis1, UBlueberry, UKNOWH, UltimateJester, Unbelievable-Salmon, underscorex5, UnicornOnLSD, Unisol, Unkn0wnGh0st333, unusualcrow, Uriende, UristMcDorf, user424242420, Vaaankas, valentfingerov, Varen, VasilisThePikachu, veliebm, VelonacepsCalyxEggs, veprolet, veritable-calamity, Veritius, Vermidia, vero5123, Verslebas, VigersRay, violet754, Visne, VMSolidus, voidnull000, volotomite, volundr-, Voomra, Vordenburg, vorkathbruh, vulppine, wafehling, Warentan, WarMechanic, Watermelon914, waylon531, weaversam8, wertanchik, whateverusername0, Willhelm53, WilliamECrew, willicassi, Winkarst-cpu, wirdal, wixoaGit, WlarusFromDaSpace, wrexbe, wtcwr68, xkreksx, xprospero, xRiriq, YanehCheck, yathxyz, Ygg01, YotaXP, youarereadingthis, Yousifb26, youtissoum, YuriyKiss, zach-hill, Zadeon, zamp, Zandario, Zap527, Zealith-Gamer, ZelteHonor, zero, ZeroDiamond, zerorulez, ZeWaka, zionnBE, ZNixian, ZoldorfTheWizard, Zonespace27, Zylofan, Zymem, zzylex +0x6273, 12rabbits, 13spacemen, 2013HORSEMEATSCANDAL, 20kdc, 21Melkuu, 3nderall, 4310v343k, 4dplanner, 612git, 778b, Ablankmann, abregado, Absolute-Potato, achookh, Acruid, actioninja, actually-reb, ada-please, adamsong, Adeinitas, Admiral-Obvious-001, adrian, Adrian16199, Ady4ik, Aerocrux, Aeshus, Aexolott, Aexxie, africalimedrop, Afrokada, AftrLite, Agoichi, Ahion, aiden, AJCM-git, AjexRose, Alekshhh, alexkar598, AlexMorgan3817, alexumandxgabriel08x, Alithsko, ALMv1, Alpha-Two, AlphaQwerty, Altoids1, amylizzle, ancientpower, Andre19926, AndrewEyeke, AndreyCamper, Anzarot121, Appiah, ar4ill, ArchPigeon, ArchRBX, areitpog, Arendian, arimah, Arkanic, ArkiveDev, armoks, Arteben, ArthurMousatov, ArtisticRoomba, artur, AruMoon, ArZarLordOfMango, as334, AsikKEsel, AsnDen, asperger-sind, aspiringLich, astriloqua, august-sun, AutoOtter, avghdev, Awlod, AzzyIsNotHere, BackeTako, BananaFlambe, Baptr0b0t, BasedUser, beck-thompson, bellwetherlogic, benev0, benjamin-burges, BGare, bhenrich, bhespiritu, bibbly, BIGZi0348, bingojohnson, BismarckShuffle, Bixkitts, Blackern5000, Blazeror, BlitzTheSquishy, bloodrizer, Bloody2372, blueDev2, Boaz1111, BobdaBiscuit, BobTheSleder, boiled-water-tsar, BombasterDS, Boolean-Buckeye, botanySupremist, brainfood1183, BramvanZijp, Brandon-Huu, BriBrooo, Bright0, brndd, bryce0110, BubblegumBlue, buletsponge, buntobaggins, bvelliquette, byondfuckery, c0rigin, c4llv07e, CaasGit, Caconym27, Calecute, Callmore, capnsockless, CaptainSqrBeard, Carbonhell, Carolyn3114, Carou02, carteblanche4me, Catofquestionableethics, CatTheSystem, Centronias, chairbender, Charlese2, charlie, ChaseFlorom, chavonadelal, Cheackraze, cheesePizza2, cheeseplated, Chief-Engineer, chillyconmor, christhirtle, chromiumboy, Chronophylos, Chubbicous, Chubbygummibear, Ciac32, civilCornball, Clement-O, clyf, Clyybber, CMDR-Piboy314, cohanna, Cohnway, Cojoke-dot, ColdAutumnRain, Colin-Tel, collinlunn, ComicIronic, CookieMasterT, coolboy911, coolmankid12345, Coolsurf6, corentt, CormosLemming, crazybrain23, creadth, CrigCrag, croilbird, Crotalus, CrudeWax, CrzyPotato, cutemoongod, Cyberboss, d34d10cc, d4kii, DadeKuma, Daemon, daerSeebaer, dahnte, dakamakat, DamianX, DangerRevolution, daniel-cr, DanSAussieITS, Daracke, Darkenson, DawBla, Daxxi3, dch-GH, de0rix, Deahaka, dean, DEATHB4DEFEAT, DeathCamel58, Deatherd, deathride58, DebugOk, Decappi, Decortex, Deeeeja, deepdarkdepths, degradka, Delete69, deltanedas, DenisShvalov, DerbyX, derek, dersheppard, Deserty0, Detintinto, DevilishMilk, dexlerxd, dffdff2423, DieselMohawk, digitalic, Dimastra, DinoWattz, DisposableCrewmember42, DjfjdfofdjfjD, doc-michael, docnite, Doctor-Cpu, DoctorBeard, DogZeroX, dolgovmi, dontbetank, Doomsdrayk, Doru991, DoubleRiceEddiedd, DoutorWhite, dragonryan06, drakewill-CRL, Drayff, dreamlyjack, DrEnzyme, dribblydrone, DrMelon, drongood12, DrSingh, DrSmugleaf, drteaspoon420, DTanxxx, DubiousDoggo, Duddino, dukevanity, duskyjay, Dutch-VanDerLinde, dvir001, Dynexust, Easypoller, echo, eclips_e, eden077, EEASAS, Efruit, efzapa, Ekkosangen, ElectroSR, elsie, elthundercloud, Elysium206, Emisse, emmafornash, EmoGarbage404, Endecc, eoineoineoin, eris, erohrs2, ERORR404V1, Errant-4, ertanic, esguard, estacaoespacialpirata, eugene, ewokswagger, exincore, exp111, f0x-n3rd, FacePluslll, Fahasor, FairlySadPanda, FATFSAAM2, Feluk6174, ficcialfaint, Fiftyllama, Fildrance, FillerVK, FinnishPaladin, firenamefn, FirinMaLazors, Fishfish458, FL-OZ, Flareguy, flashgnash, FluffiestFloof, FluffMe, FluidRock, foboscheshir, FoLoKe, fooberticus, ForestNoises, forgotmyotheraccount, forkeyboards, forthbridge, Fortune117, Fouin, foxhorn, freeman2651, freeze2222, Froffy025, Fromoriss, froozigiusz, FrostMando, FungiFellow, FunTust, Futuristic-OK, GalacticChimp, gamer3107, Gaxeer, gbasood, Geekyhobo, genderGeometries, GeneralGaws, Genkail, geraeumig, Ghagliiarghii, Git-Nivrak, githubuser508, gituhabu, GlassEclipse, GNF54, godisdeadLOL, goet, Goldminermac, Golinth, GoodWheatley, Gorox221, gradientvera, graevy, GraniteSidewalk, GreaseMonk, greenrock64, GreyMario, GTRsound, gusxyz, Gyrandola, h3half, hamurlik, Hanzdegloker, HappyRoach, Hardly3D, harikattar, he1acdvv, Hebi, Henry, HerCoyote23, hitomishirichan, hiucko, Hmeister-fake, Hmeister-real, Hobbitmax, hobnob, HoidC, Holinka4ever, holyssss, HoofedEar, Hoolny, hord-brayden, Hreno, hubismal, Hugal31, Huxellberger, Hyenh, hyphenationc, i-justuser-i, iacore, IamVelcroboy, Ian321, icekot8, icesickleone, iczero, iglov, IgorAnt028, igorsaux, ike709, illersaver, Illiux, Ilushkins33, Ilya246, IlyaElDunaev, imrenq, imweax, indeano, Injazz, Insineer, IntegerTempest, Interrobang01, IProduceWidgets, ItsMeThom, Itzbenz, iztokbajcar, Jackal298, Jackrost, jacksonzck, Jackw2As, jacob, jamessimo, janekvap, Jark255, Jarmer123, Jaskanbe, JasperJRoth, jerryimmouse, JerryImMouse, Jessetriesagain, jessicamaybe, Jezithyr, jicksaw, JiimBob, JimGamemaster, jimmy12or, JIPDawg, jjtParadox, jmcb, JoeHammad1844, JohnGinnane, johnku1, Jophire, joshepvodka, Jrpl, juliangiebel, JustArt1m, JustCone14, justdie12, justin, justintether, JustinTrotter, justtne, K-Dynamic, k3yw, Kadeo64, Kaga-404, KaiShibaa, kalane15, kalanosh, Kanashi-Panda, katzenminer, kbailey-git, Keelin, Keer-Sar, KEEYNy, keikiru, Kelrak, kerisargit, keronshb, KIBORG04, Killerqu00, Kimpes, KingFroozy, kira-er, Kirillcas, Kirus59, Kistras, Kit0vras, KittenColony, klaypexx, Kmc2000, Ko4ergaPunk, kognise, kokoc9n, komunre, KonstantinAngelov, kosticia, koteq, KrasnoshchekovPavel, Krunklehorn, Kupie, kxvvv, kyupolaris, kzhanik, lajolico, Lamrr, LankLTE, laok233, lapatison, larryrussian, lawdog4817, Lazzi0706, leander-0, leonardo-dabepis, leonsfriedrich, LeoSantich, LetterN, lettern, Level10Cybermancer, LEVELcat, lever1209, Lgibb18, lgruthes, LightVillet, liltenhead, LinkUyx, LittleBuilderJane, LittleNorthStar, LittleNyanCat, lizelive, localcc, lokachop, Lomcastar, LordCarve, LordEclipse, LucasTheDrgn, luckyshotpictures, LudwigVonChesterfield, luizwritescode, Lukasz825700516, luminight, lunarcomets, luringens, lvvova1, Lyndomen, lyroth001, lzimann, lzk228, M3739, mac6na6na, MACMAN2003, Macoron, Magicalus, magmodius, MagnusCrowe, malchanceux, MaloTV, ManelNavola, Mangohydra, marboww, Markek1, Matz05, max, MaxNox7, maylokana, MehimoNemo, MeltedPixel, MemeProof, MendaxxDev, Menshin, Mephisto72, MerrytheManokit, Mervill, metalgearsloth, MetalSage, MFMessage, mhamsterr, michaelcu, micheel665, MilenVolf, MilonPL, Minemoder5000, Minty642, Mirino97, mirrorcult, misandrie, MishaUnity, MissKay1994, MisterMecky, Mith-randalf, MjrLandWhale, mkanke-real, MLGTASTICa, moderatelyaware, modern-nm, mokiros, Moneyl, Moomoobeef, moony, Morb0, mr-bo-jangles, Mr0maks, MrFippik, mrrobdemo, muburu, MureixloI, musicmanvr, MWKane, Myakot, Myctai, N3X15, nails-n-tape, Nairodian, Naive817, NakataRin, namespace-Memory, Nannek, NazrinNya, neutrino-laser, NickPowers43, nikthechampiongr, Nimfar11, Nirnael, NIXC, NkoKirkto, nmajask, noctyrnal, noelkathegod, nok-ko, NonchalantNoob, NoobyLegion, Nopey, not-gavnaed, notafet, notquitehadouken, NotSoDana, noudoit, noverd, NuclearWinter, nukashimika, nuke-haus, NULL882, nullarmo, nyeogmi, Nylux, Nyranu, och-och, OctoRocket, OldDanceJacket, OliverOtter, OnyxTheBrave, OrangeMoronage9622, osjarw, Ostaf, othymer, OttoMaticode, Owai-Seek, packmore, paigemaeforrest, pali6, Pangogie, panzer-iv1, paolordls, partyaddict, patrikturi, PaulRitter, peccneck, Peptide90, peptron1, PeterFuto, PetMudstone, pewter-wiz, Pgriha, Phantom-Lily, pheenty, Phill101, phunnyguy, PilgrimViis, Pill-U, Pireax, Pissachu, pissdemon, PixeltheAertistContrib, PixelTheKermit, PJB3005, Plasmaguy, plinyvic, Plykiya, poeMota, pofitlo, pointer-to-null, pok27, PolterTzi, PoorMansDreams, PopGamer45, portfiend, potato1234x, PotentiallyTom, ProfanedBane, ProPandaBear, PrPleGoo, ps3moira, Pspritechologist, Psychpsyo, psykzz, PuceTint, PuroSlavKing, PursuitInAshes, Putnam3145, qrtDaniil, quatre, QueerNB, QuietlyWhisper, qwerltaz, RadioMull, Radosvik, Radrark, Rainbeon, Rainfey, Raitononai, Ramlik, RamZ, randy10122, Rane, Ranger6012, Rapidgame7, ravage123321, rbertoche, Redfire1331, Redict, RedlineTriad, redmushie, RednoWCirabrab, RemberBM, RemieRichards, RemTim, rene-descartes2021, Renlou, retequizzle, rich-dunne, RieBi, riggleprime, RIKELOLDABOSS, rinary1, Rinkashikachi, riolume, RobbyTheFish, Rockdtben, Rohesie, rok-povsic, rolfero, RomanNovo, rosieposieeee, Roudenn, router, RumiTiger, S1rFl0, S1ss3l, Saakra, Sadie-silly, saga3152, saintmuntzer, Salex08, sam, samgithubaccount, SaphireLattice, SapphicOverload, Sarahon, sativaleanne, SaveliyM360, sBasalto, ScalyChimp, ScarKy0, scrato, Scribbles0, scrivoy, scruq445, scuffedjays, ScumbagDog, Segonist, sephtasm, Serkket, sewerpig, sh18rw, ShadeAware, ShadowCommander, Shadowtheprotogen546, shaeone, shampunj, shariathotpatrol, SignalWalker, siigiil, Simyon264, sirdragooon, Sirionaut, Sk1tch, SkaldetSkaeg, Skarletto, Skrauz, Skyedra, SlamBamActionman, slarticodefast, Slava0135, Slyfox333, snebl, snicket, sniperchance, Snowni, snowsignal, SolidusSnek, SonicHDC, SoulFN, SoulSloth, Soundwavesghost, southbridge-fur, Soydium, spacelizard, SpaceLizardSky, SpaceManiac, SpaceRox1244, SpaceyLady, Spanky, spanky-spanky, spartak, SpartanKadence, SpeltIncorrectyl, Spessmann, SphiraI, SplinterGP, spoogemonster, sporekto, sporkyz, ssdaniel24, stalengd, stanberytrask, Stanislav4ix, StanTheCarpenter, Stealthbomber16, stellar-novas, stomf, stopbreaking, stopka-html, StrawberryMoses, Stray-Pyramid, strO0pwafel, Strol20, StStevens, Subversionary, sunbear-dev, superjj18, Supernorn, SweptWasTaken, Sybil, SYNCHRONIC, Szunti, Tainakov, takemysoult, TaralGit, Taran, taurie, Tayrtahn, tday93, teamaki, TekuNut, telyonok, TemporalOroboros, tentekal, terezi4real, Terraspark4941, texcruize, TGODiamond, TGRCdev, tgrkzus, ThatOneGoblin25, thatrandomcanadianguy, TheArturZh, theashtronaut, thecopbennet, TheCze, TheDarkElites, thedraccx, TheEmber, TheIntoxicatedCat, thekilk, themias, theomund, theOperand, TherapyGoth, TheShuEd, thetolbean, thevinter, TheWaffleJesus, Thinbug0, ThunderBear2006, timothyteakettle, TimrodDX, timurjavid, tin-man-tim, Titian3, tk-a369, tkdrg, tmtmtl30, TokenStyle, Tollhouse, Toly65, tom-leys, tomasalves8, Tomeno, Tonydatguy, topy, Tornado-Technology, tosatur, TotallyLemon, Tr1bute, tropicalhibi, truepaintgit, Truoizys, Tryded, TsjipTsjip, Tunguso4ka, TurboTrackerss14, TyAshley, Tyler-IN, Tyzemol, UbaserB, ubis1, UBlueberry, UKNOWH, UltimateJester, Unbelievable-Salmon, underscorex5, UnicornOnLSD, Unisol, Unkn0wnGh0st333, unusualcrow, Uriende, UristMcDorf, user424242420, Vaaankas, valentfingerov, Varen, VasilisThePikachu, veliebm, VelonacepsCalyxEggs, veprolet, veritable-calamity, Veritius, Vermidia, vero5123, Verslebas, VigersRay, violet754, Visne, VMSolidus, voidnull000, volotomite, volundr-, Voomra, Vordenburg, vorkathbruh, vulppine, wafehling, Warentan, WarMechanic, Watermelon914, waylon531, weaversam8, wertanchik, whateverusername0, Willhelm53, WilliamECrew, willicassi, Winkarst-cpu, wirdal, wixoaGit, WlarusFromDaSpace, wrexbe, WTCWR68, xkreksx, xprospero, xRiriq, YanehCheck, yathxyz, Ygg01, YotaXP, youarereadingthis, Yousifb26, youtissoum, YuriyKiss, zach-hill, Zadeon, zamp, Zandario, Zap527, Zealith-Gamer, ZelteHonor, zero, ZeroDiamond, zerorulez, ZeWaka, zionnBE, ZNixian, ZoldorfTheWizard, Zonespace27, Zylofan, Zymem, zzylex From d939e991bba188b6a37e11f402537a93363b278e Mon Sep 17 00:00:00 2001 From: Armok <155400926+ARMOKS@users.noreply.github.com> Date: Sat, 9 Nov 2024 20:32:54 -0700 Subject: [PATCH 194/588] Removed bola stam damage (#32989) --- .../Prototypes/Entities/Objects/Weapons/Throwable/bola.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Throwable/bola.yml b/Resources/Prototypes/Entities/Objects/Weapons/Throwable/bola.yml index a4441b18f7..f8d5efb8c6 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Throwable/bola.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Throwable/bola.yml @@ -42,9 +42,9 @@ - type: Ensnaring freeTime: 2.0 breakoutTime: 3.5 #all bola should generally be fast to remove - walkSpeed: 0.7 #makeshift bola shouldn't slow too much - sprintSpeed: 0.7 - staminaDamage: 55 # Sudden weight increase sapping stamina + walkSpeed: 0.5 #makeshift bola shouldn't slow too much + sprintSpeed: 0.5 + staminaDamage: 0 # anything but this is gamebreaking canThrowTrigger: true canMoveBreakout: true - type: LandAtCursor From 33b780fd1fb853220ddda96fdd19339c30477016 Mon Sep 17 00:00:00 2001 From: IProduceWidgets <107586145+IProduceWidgets@users.noreply.github.com> Date: Sat, 9 Nov 2024 23:26:51 -0500 Subject: [PATCH 195/588] tweak: weather command tooltip (#33130) clear weather tip --- Content.Server/Weather/WeatherSystem.cs | 4 +++- Resources/Locale/en-US/weather/weather.ftl | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Content.Server/Weather/WeatherSystem.cs b/Content.Server/Weather/WeatherSystem.cs index dbee62a72f..ec37780913 100644 --- a/Content.Server/Weather/WeatherSystem.cs +++ b/Content.Server/Weather/WeatherSystem.cs @@ -4,6 +4,7 @@ using Robust.Shared.Console; using Robust.Shared.GameStates; using Robust.Shared.Map; +using System.Linq; namespace Content.Server.Weather; @@ -85,6 +86,7 @@ private CompletionResult WeatherCompletion(IConsoleShell shell, string[] args) return CompletionResult.FromHintOptions(CompletionHelper.MapIds(EntityManager), "Map Id"); var a = CompletionHelper.PrototypeIDs(true, ProtoMan); - return CompletionResult.FromHintOptions(a, Loc.GetString("cmd-weather-hint")); + var b = a.Concat(new[] { new CompletionOption("null", Loc.GetString("cmd-weather-null")) }); + return CompletionResult.FromHintOptions(b, Loc.GetString("cmd-weather-hint")); } } diff --git a/Resources/Locale/en-US/weather/weather.ftl b/Resources/Locale/en-US/weather/weather.ftl index 67e6eec35f..0c67b6f66b 100644 --- a/Resources/Locale/en-US/weather/weather.ftl +++ b/Resources/Locale/en-US/weather/weather.ftl @@ -1,6 +1,7 @@ cmd-weather-desc = Sets the weather for the current map. cmd-weather-help = weather cmd-weather-hint = Weather prototype +cmd-weather-null = Clears the weather cmd-weather-error-no-arguments = Not enough arguments! cmd-weather-error-unknown-proto = Unknown Weather prototype! From 9396ce302aed7b1cfbe9995c9214ed8ee7cd49fc Mon Sep 17 00:00:00 2001 From: PJBot Date: Sun, 10 Nov 2024 04:27:57 +0000 Subject: [PATCH 196/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index a1a17548d4..9b8052d835 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: TheShuEd - changes: - - message: change the way food is sliced - food is now sliced whole after a small - doafter than requires multiple clicks on a single entity - type: Tweak - id: 7101 - time: '2024-08-13T10:54:00.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30824 - author: Ubaser changes: - message: Add two gatfruit mutations, one fake and one real capfruit which spawns @@ -3952,3 +3944,10 @@ id: 7600 time: '2024-11-09T19:29:29.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33198 +- author: IProduceWidgets + changes: + - message: weather now has a completion result for how to unset the weather. + type: Tweak + id: 7601 + time: '2024-11-10T04:26:51.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33130 From 2801ebea8d11548511744556622ebfcfe389931d Mon Sep 17 00:00:00 2001 From: Preston Smith Date: Sun, 10 Nov 2024 00:45:54 -0600 Subject: [PATCH 197/588] Optimization! --- Content.Shared/Damage/Systems/DamageExamineSystem.cs | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/Content.Shared/Damage/Systems/DamageExamineSystem.cs b/Content.Shared/Damage/Systems/DamageExamineSystem.cs index 72c1af29b2..fe97a40d1b 100644 --- a/Content.Shared/Damage/Systems/DamageExamineSystem.cs +++ b/Content.Shared/Damage/Systems/DamageExamineSystem.cs @@ -61,15 +61,12 @@ private FormattedMessage GetDamageExamine(DamageSpecifier damageSpecifier, strin } else { - if (damageSpecifier.DamageDict.Count == 1) + if (damageSpecifier.GetTotal() == FixedPoint2.Zero && !damageSpecifier.AnyPositive()) { - // May be simplified to using a foreach(Var x) despite being only one item - if(damageSpecifier.DamageDict.Values.GetEnumerator().Current == FixedPoint2.Zero) - { - msg.AddMarkupOrThrow(Loc.GetString("damage-none")); - return msg; - } + msg.AddMarkupOrThrow(Loc.GetString("damage-none")); + return msg; } + msg.AddMarkupOrThrow(Loc.GetString("damage-examine-type", ("type", type))); } From 1c8992ffbe1dc596ef377e52c3ec13d8d5ab4d5c Mon Sep 17 00:00:00 2001 From: Shaddap1 <106589956+Shaddap1@users.noreply.github.com> Date: Sun, 10 Nov 2024 06:28:55 -0500 Subject: [PATCH 198/588] Goliath rebalance (#31492) Update asteroid.yml --- Resources/Prototypes/Entities/Mobs/NPCs/asteroid.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/asteroid.yml b/Resources/Prototypes/Entities/Mobs/NPCs/asteroid.yml index 877dd40cc3..270e20e5c5 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/asteroid.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/asteroid.yml @@ -50,12 +50,12 @@ Dead: Base: goliath_dead - type: MovementSpeedModifier - baseWalkSpeed : 2.50 - baseSprintSpeed : 2.50 + baseWalkSpeed : 2.00 + baseSprintSpeed : 2.00 - type: MobThresholds thresholds: 0: Alive - 300: Dead + 250: Dead - type: MeleeWeapon soundHit: path: "/Audio/Weapons/smash.ogg" @@ -64,7 +64,7 @@ animation: WeaponArcPunch damage: types: - Slash: 15 + Slash: 10 Piercing: 10 - type: NpcFactionMember factions: From 9b7200607b28e0c8118e70554dc7cb586b6d63a1 Mon Sep 17 00:00:00 2001 From: scrivoy <179060466+scrivoy@users.noreply.github.com> Date: Sun, 10 Nov 2024 12:40:02 +0100 Subject: [PATCH 199/588] Omega Station: Fix Air Alarm in CMO office (#33216) move air alarm and link devices --- Resources/Maps/omega.yml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Resources/Maps/omega.yml b/Resources/Maps/omega.yml index 7709234a6a..31e3fc7392 100644 --- a/Resources/Maps/omega.yml +++ b/Resources/Maps/omega.yml @@ -4648,9 +4648,13 @@ entities: - uid: 6692 components: - type: Transform - rot: -1.5707963267948966 rad - pos: -23.5,-26.5 + rot: 3.141592653589793 rad + pos: -25.5,-29.5 parent: 4812 + - type: DeviceList + devices: + - 6253 + - 5033 - uid: 7234 components: - type: Transform @@ -54547,6 +54551,9 @@ entities: rot: 3.141592653589793 rad pos: -24.5,-27.5 parent: 4812 + - type: DeviceNetwork + deviceLists: + - 6692 - type: AtmosPipeColor color: '#0055CCFF' - uid: 5222 @@ -55489,6 +55496,9 @@ entities: rot: 3.141592653589793 rad pos: -26.5,-26.5 parent: 4812 + - type: DeviceNetwork + deviceLists: + - 6692 - type: AtmosPipeColor color: '#990000FF' - uid: 6417 From 21979a7b5f4e1a2976440f2fdf1d7c150318931a Mon Sep 17 00:00:00 2001 From: leonidussaks <42278348+leonidussaks@users.noreply.github.com> Date: Mon, 11 Nov 2024 06:17:03 +0300 Subject: [PATCH 200/588] Fix vape use without check if doafter cancelled (#33245) vape small fix --- Content.Server/Nutrition/EntitySystems/SmokingSystem.Vape.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Content.Server/Nutrition/EntitySystems/SmokingSystem.Vape.cs b/Content.Server/Nutrition/EntitySystems/SmokingSystem.Vape.cs index c3d41cead6..26fa5ca3cc 100644 --- a/Content.Server/Nutrition/EntitySystems/SmokingSystem.Vape.cs +++ b/Content.Server/Nutrition/EntitySystems/SmokingSystem.Vape.cs @@ -122,8 +122,7 @@ private void OnVapeInteraction(Entity entity, ref AfterInteractEv private void OnVapeDoAfter(Entity entity, ref VapeDoAfterEvent args) { - if (args.Handled - || args.Args.Target == null) + if (args.Cancelled || args.Handled || args.Args.Target == null) return; var environment = _atmos.GetContainingMixture(args.Args.Target.Value, true, true); From 197d9e68dcc3419ce45844ad64b95fecff680271 Mon Sep 17 00:00:00 2001 From: BramvanZijp <56019239+BramvanZijp@users.noreply.github.com> Date: Mon, 11 Nov 2024 04:22:03 +0100 Subject: [PATCH 201/588] HOTFIX: Fix Security Shell Gun being uncraftable. (#33247) * Sec Shell Gun Craftability Hotfix * Capital Fix --- Resources/Prototypes/Entities/Structures/Machines/lathe.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index b27f2cc1b9..020566ad1a 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -768,6 +768,7 @@ - TargetHuman - TargetSyndicate - WeaponDisablerPractice + - WeaponFlareGunSecurity - WeaponLaserCarbinePractice - Zipties dynamicRecipes: From a138fede2bda4dcc3901898a5e3cacc415a68c86 Mon Sep 17 00:00:00 2001 From: BramvanZijp <56019239+BramvanZijp@users.noreply.github.com> Date: Mon, 11 Nov 2024 17:12:36 +0100 Subject: [PATCH 202/588] Make the Flare Gun & Security Shell Gun be unbolted by default. (#33248) --- .../Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml index b63036c58b..224697bc93 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/flare_gun.yml @@ -27,7 +27,7 @@ gun_chamber: !type:ContainerSlot - type: ChamberMagazineAmmoProvider autoCycle: false - boltClosed: true + boltClosed: false canRack: false soundBoltClosed: /Audio/Weapons/Guns/Cock/revolver_cock.ogg soundBoltOpened: /Audio/Weapons/Guns/Cock/revolver_cock.ogg From b9c2b0c41b16fe46dbd5cb056e1d5a1b0f8d251f Mon Sep 17 00:00:00 2001 From: PJBot Date: Mon, 11 Nov 2024 16:13:45 +0000 Subject: [PATCH 203/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 9b8052d835..6abb7cc6a5 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: Ubaser - changes: - - message: Add two gatfruit mutations, one fake and one real capfruit which spawns - cap guns when eaten. - type: Add - id: 7102 - time: '2024-08-13T11:08:40.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30850 - author: slarticodefast changes: - message: Added new keybindings for rotating and flipping objects. The defaults @@ -3951,3 +3943,10 @@ id: 7601 time: '2024-11-10T04:26:51.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33130 +- author: BramvanZijp + changes: + - message: The Flare Gun & Security Shell Gun now start in their open/unbolted state. + type: Tweak + id: 7602 + time: '2024-11-11T16:12:36.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33248 From 1136200dc838a5fd0a5a347025b703b968cdabec Mon Sep 17 00:00:00 2001 From: Andrew Montagne Date: Mon, 11 Nov 2024 22:58:31 +0000 Subject: [PATCH 204/588] BUGFIX: Fix APEs being able to be turned on without power (#32493) Add a check to see the APC is powered before turning the emitter on. --- Content.Server/Singularity/EntitySystems/EmitterSystem.cs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Content.Server/Singularity/EntitySystems/EmitterSystem.cs b/Content.Server/Singularity/EntitySystems/EmitterSystem.cs index 1ada60e1d6..f828139ed6 100644 --- a/Content.Server/Singularity/EntitySystems/EmitterSystem.cs +++ b/Content.Server/Singularity/EntitySystems/EmitterSystem.cs @@ -196,7 +196,8 @@ public void SwitchOn(EntityUid uid, EmitterComponent component) if (TryComp(uid, out var apcReceiver)) { apcReceiver.Load = component.PowerUseActive; - PowerOn(uid, component); + if (apcReceiver.Powered) + PowerOn(uid, component); } // Do not directly PowerOn(). // OnReceivedPowerChanged will get fired due to DrawRate change which will turn it on. From 37958378cbec572b0de11676c6962983ff2c58d5 Mon Sep 17 00:00:00 2001 From: PJBot Date: Mon, 11 Nov 2024 22:59:38 +0000 Subject: [PATCH 205/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 6abb7cc6a5..43c7cad22c 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: slarticodefast - changes: - - message: Added new keybindings for rotating and flipping objects. The defaults - are R for clockwise, Shift+R for counterclockwise and F for flipping. - type: Add - id: 7103 - time: '2024-08-13T13:36:45.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30540 - author: Cojoke-dot changes: - message: Borg's names are now displayed when they make an announcement on the @@ -3950,3 +3942,10 @@ id: 7602 time: '2024-11-11T16:12:36.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33248 +- author: AndrewMontagne + changes: + - message: APEs could be powered on without local power + type: Fix + id: 7603 + time: '2024-11-11T22:58:31.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/32493 From 36aceb178c855b381cb9b5868e4348fde1bedbd0 Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Tue, 29 Oct 2024 01:34:40 +0100 Subject: [PATCH 206/588] Database SnakeCaseNaming fixes Fixes formatting of owned entity type property names. These are normally named "FooBar_Baz" by EF Core, but the snake case thing was turning them into "foo_bar__baz". The double underscore is now fixed. We don't *yet* have any EF Core owned entity in use, but I am planning to add one. I don't know if downstreams are using any so this should still be marked as a breaking change. Also fixed it creating and dropping a Compiled Regex instance for every name, the regex is now cached (and pregenerated). --- Content.Server.Database/SnakeCaseNaming.cs | 40 +++++++++++++--------- 1 file changed, 24 insertions(+), 16 deletions(-) diff --git a/Content.Server.Database/SnakeCaseNaming.cs b/Content.Server.Database/SnakeCaseNaming.cs index 27ce392cd5..3a67ffb9cd 100644 --- a/Content.Server.Database/SnakeCaseNaming.cs +++ b/Content.Server.Database/SnakeCaseNaming.cs @@ -82,7 +82,7 @@ public ConventionSet ModifyConventions(ConventionSet conventionSet) } } - public class SnakeCaseConvention : + public partial class SnakeCaseConvention : IEntityTypeAddedConvention, IEntityTypeAnnotationChangedConvention, IPropertyAddedConvention, @@ -99,22 +99,27 @@ public SnakeCaseConvention() {} public static string RewriteName(string name) { - var regex = new Regex("[A-Z]+", RegexOptions.Compiled); - return regex.Replace( - name, - (Match match) => { - if (match.Index == 0 && (match.Value == "FK" || match.Value == "PK" || match.Value == "IX")) { - return match.Value; + return UpperCaseLocator() + .Replace( + name, + (Match match) => { + if (match.Index == 0 && (match.Value == "FK" || match.Value == "PK" || match.Value == "IX")) { + return match.Value; + } + if (match.Value == "HWI") + return (match.Index == 0 ? "" : "_") + "hwi"; + if (match.Index == 0) + return match.Value.ToLower(); + if (match.Length > 1) + return $"_{match.Value[..^1].ToLower()}_{match.Value[^1..^0].ToLower()}"; + + // Do not add a _ if there is already one before this. This happens with owned entities. + if (name[match.Index - 1] == '_') + return match.Value.ToLower(); + + return "_" + match.Value.ToLower(); } - if (match.Value == "HWI") - return (match.Index == 0 ? "" : "_") + "hwi"; - if (match.Index == 0) - return match.Value.ToLower(); - if (match.Length > 1) - return $"_{match.Value[..^1].ToLower()}_{match.Value[^1..^0].ToLower()}"; - return "_" + match.Value.ToLower(); - } - ); + ); } public virtual void ProcessEntityTypeAdded( @@ -332,5 +337,8 @@ private static void RewriteColumnName(IConventionPropertyBuilder propertyBuilder } } } + + [GeneratedRegex("[A-Z]+", RegexOptions.Compiled)] + private static partial Regex UpperCaseLocator(); } } From 4f3db43696fbcc9144d2ad011bbb5f93f6deca7a Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Tue, 12 Nov 2024 01:51:23 +0100 Subject: [PATCH 207/588] Integrate Modern HWID into content This should be the primary changes for the future-proof "Modern HWID" system implemented into Robust and the auth server. HWIDs in the database have been given an additional column representing their version, legacy or modern. This is implemented via an EF Core owned entity. By manually setting the column name of the main value column, we can keep DB compatibility and the migration is just adding some type columns. This new HWID type has to be plumbed through everywhere, resulting in some breaking changes for the DB layer and such. New bans and player records are placed with the new modern HWID. Old bans are still checked against legacy HWIDs. Modern HWIDs are presented with a "V2-" prefix to admins, to allow distinguishing them. This is also integrated into the parsing logic for placing new bans. There's also some code cleanup to reduce copy pasting around the place from my changes. Requires latest engine to support ImmutableArray in NetSerializer. --- .../UI/BanPanel/BanPanel.xaml.cs | 11 +- .../Tests/Commands/PardonCommand.cs | 24 +- .../20241111170112_ModernHwid.Designer.cs | 2072 ++++++++++++++++ .../Postgres/20241111170112_ModernHwid.cs | 62 + ...20241111193608_ConnectionTrust.Designer.cs | 2076 +++++++++++++++++ .../20241111193608_ConnectionTrust.cs | 29 + .../PostgresServerDbContextModelSnapshot.cs | 162 +- .../20241111170107_ModernHwid.Designer.cs | 1995 ++++++++++++++++ .../Sqlite/20241111170107_ModernHwid.cs | 62 + ...20241111193602_ConnectionTrust.Designer.cs | 1999 ++++++++++++++++ .../Sqlite/20241111193602_ConnectionTrust.cs | 29 + .../SqliteServerDbContextModelSnapshot.cs | 161 +- Content.Server.Database/Model.cs | 88 +- .../Administration/BanList/BanListEui.cs | 8 +- Content.Server/Administration/BanPanelEui.cs | 10 +- .../Administration/Commands/BanListCommand.cs | 2 +- .../Commands/RoleBanListCommand.cs | 2 +- .../Administration/Managers/BanManager.cs | 12 +- .../Administration/Managers/IBanManager.cs | 4 +- .../Administration/PlayerLocator.cs | 99 +- .../Administration/PlayerPanelEui.cs | 4 +- .../Administration/Systems/BwoinkSystem.cs | 2 +- .../Connection/ConnectionManager.cs | 13 +- Content.Server/Connection/UserDataExt.cs | 24 + Content.Server/Database/BanMatcher.cs | 33 +- Content.Server/Database/DatabaseRecords.cs | 3 +- Content.Server/Database/ServerBanDef.cs | 5 +- Content.Server/Database/ServerDbBase.cs | 24 +- Content.Server/Database/ServerDbManager.cs | 35 +- Content.Server/Database/ServerDbPostgres.cs | 124 +- Content.Server/Database/ServerDbSqlite.cs | 55 +- Content.Server/Database/ServerRoleBanDef.cs | 5 +- Content.Shared.Database/TypedHwid.cs | 62 + .../Administration/BanPanelEuiState.cs | 4 +- 34 files changed, 9059 insertions(+), 241 deletions(-) create mode 100644 Content.Server.Database/Migrations/Postgres/20241111170112_ModernHwid.Designer.cs create mode 100644 Content.Server.Database/Migrations/Postgres/20241111170112_ModernHwid.cs create mode 100644 Content.Server.Database/Migrations/Postgres/20241111193608_ConnectionTrust.Designer.cs create mode 100644 Content.Server.Database/Migrations/Postgres/20241111193608_ConnectionTrust.cs create mode 100644 Content.Server.Database/Migrations/Sqlite/20241111170107_ModernHwid.Designer.cs create mode 100644 Content.Server.Database/Migrations/Sqlite/20241111170107_ModernHwid.cs create mode 100644 Content.Server.Database/Migrations/Sqlite/20241111193602_ConnectionTrust.Designer.cs create mode 100644 Content.Server.Database/Migrations/Sqlite/20241111193602_ConnectionTrust.cs create mode 100644 Content.Server/Connection/UserDataExt.cs create mode 100644 Content.Shared.Database/TypedHwid.cs diff --git a/Content.Client/Administration/UI/BanPanel/BanPanel.xaml.cs b/Content.Client/Administration/UI/BanPanel/BanPanel.xaml.cs index 588d62e560..3c7322d473 100644 --- a/Content.Client/Administration/UI/BanPanel/BanPanel.xaml.cs +++ b/Content.Client/Administration/UI/BanPanel/BanPanel.xaml.cs @@ -22,11 +22,11 @@ namespace Content.Client.Administration.UI.BanPanel; [GenerateTypedNameReferences] public sealed partial class BanPanel : DefaultWindow { - public event Action? BanSubmitted; + public event Action? BanSubmitted; public event Action? PlayerChanged; private string? PlayerUsername { get; set; } private (IPAddress, int)? IpAddress { get; set; } - private byte[]? Hwid { get; set; } + private ImmutableTypedHwid? Hwid { get; set; } private double TimeEntered { get; set; } private uint Multiplier { get; set; } private bool HasBanFlag { get; set; } @@ -371,9 +371,8 @@ private void OnIpChanged() private void OnHwidChanged() { var hwidString = HwidLine.Text; - var length = 3 * (hwidString.Length / 4) - hwidString.TakeLast(2).Count(c => c == '='); - Hwid = new byte[length]; - if (HwidCheckbox.Pressed && !(string.IsNullOrEmpty(hwidString) && LastConnCheckbox.Pressed) && !Convert.TryFromBase64String(hwidString, Hwid, out _)) + ImmutableTypedHwid? hwid = null; + if (HwidCheckbox.Pressed && !(string.IsNullOrEmpty(hwidString) && LastConnCheckbox.Pressed) && !ImmutableTypedHwid.TryParse(hwidString, out hwid)) { ErrorLevel |= ErrorLevelEnum.Hwid; HwidLine.ModulateSelfOverride = Color.Red; @@ -390,7 +389,7 @@ private void OnHwidChanged() Hwid = null; return; } - Hwid = Convert.FromHexString(hwidString); + Hwid = hwid; } private void OnTypeChanged() diff --git a/Content.IntegrationTests/Tests/Commands/PardonCommand.cs b/Content.IntegrationTests/Tests/Commands/PardonCommand.cs index 4db9eabf5c..9e57cd4b0e 100644 --- a/Content.IntegrationTests/Tests/Commands/PardonCommand.cs +++ b/Content.IntegrationTests/Tests/Commands/PardonCommand.cs @@ -32,9 +32,9 @@ public async Task PardonTest() // No bans on record Assert.Multiple(async () => { - Assert.That(await sDatabase.GetServerBanAsync(null, clientId, null), Is.Null); + Assert.That(await sDatabase.GetServerBanAsync(null, clientId, null, null), Is.Null); Assert.That(await sDatabase.GetServerBanAsync(1), Is.Null); - Assert.That(await sDatabase.GetServerBansAsync(null, clientId, null), Is.Empty); + Assert.That(await sDatabase.GetServerBansAsync(null, clientId, null, null), Is.Empty); }); // Try to pardon a ban that does not exist @@ -43,9 +43,9 @@ public async Task PardonTest() // Still no bans on record Assert.Multiple(async () => { - Assert.That(await sDatabase.GetServerBanAsync(null, clientId, null), Is.Null); + Assert.That(await sDatabase.GetServerBanAsync(null, clientId, null, null), Is.Null); Assert.That(await sDatabase.GetServerBanAsync(1), Is.Null); - Assert.That(await sDatabase.GetServerBansAsync(null, clientId, null), Is.Empty); + Assert.That(await sDatabase.GetServerBansAsync(null, clientId, null, null), Is.Empty); }); var banReason = "test"; @@ -57,9 +57,9 @@ public async Task PardonTest() // Should have one ban on record now Assert.Multiple(async () => { - Assert.That(await sDatabase.GetServerBanAsync(null, clientId, null), Is.Not.Null); + Assert.That(await sDatabase.GetServerBanAsync(null, clientId, null, null), Is.Not.Null); Assert.That(await sDatabase.GetServerBanAsync(1), Is.Not.Null); - Assert.That(await sDatabase.GetServerBansAsync(null, clientId, null), Has.Count.EqualTo(1)); + Assert.That(await sDatabase.GetServerBansAsync(null, clientId, null, null), Has.Count.EqualTo(1)); }); await pair.RunTicksSync(5); @@ -70,13 +70,13 @@ public async Task PardonTest() await server.WaitPost(() => sConsole.ExecuteCommand("pardon 2")); // The existing ban is unaffected - Assert.That(await sDatabase.GetServerBanAsync(null, clientId, null), Is.Not.Null); + Assert.That(await sDatabase.GetServerBanAsync(null, clientId, null, null), Is.Not.Null); var ban = await sDatabase.GetServerBanAsync(1); Assert.Multiple(async () => { Assert.That(ban, Is.Not.Null); - Assert.That(await sDatabase.GetServerBansAsync(null, clientId, null), Has.Count.EqualTo(1)); + Assert.That(await sDatabase.GetServerBansAsync(null, clientId, null, null), Has.Count.EqualTo(1)); // Check that it matches Assert.That(ban.Id, Is.EqualTo(1)); @@ -95,7 +95,7 @@ public async Task PardonTest() await server.WaitPost(() => sConsole.ExecuteCommand("pardon 1")); // No bans should be returned - Assert.That(await sDatabase.GetServerBanAsync(null, clientId, null), Is.Null); + Assert.That(await sDatabase.GetServerBanAsync(null, clientId, null, null), Is.Null); // Direct id lookup returns a pardoned ban var pardonedBan = await sDatabase.GetServerBanAsync(1); @@ -105,7 +105,7 @@ public async Task PardonTest() Assert.That(pardonedBan, Is.Not.Null); // The list is still returned since that ignores pardons - Assert.That(await sDatabase.GetServerBansAsync(null, clientId, null), Has.Count.EqualTo(1)); + Assert.That(await sDatabase.GetServerBansAsync(null, clientId, null, null), Has.Count.EqualTo(1)); Assert.That(pardonedBan.Id, Is.EqualTo(1)); Assert.That(pardonedBan.UserId, Is.EqualTo(clientId)); @@ -133,13 +133,13 @@ public async Task PardonTest() Assert.Multiple(async () => { // No bans should be returned - Assert.That(await sDatabase.GetServerBanAsync(null, clientId, null), Is.Null); + Assert.That(await sDatabase.GetServerBanAsync(null, clientId, null, null), Is.Null); // Direct id lookup returns a pardoned ban Assert.That(await sDatabase.GetServerBanAsync(1), Is.Not.Null); // The list is still returned since that ignores pardons - Assert.That(await sDatabase.GetServerBansAsync(null, clientId, null), Has.Count.EqualTo(1)); + Assert.That(await sDatabase.GetServerBansAsync(null, clientId, null, null), Has.Count.EqualTo(1)); }); // Reconnect client. Slightly faster than dirtying the pair. diff --git a/Content.Server.Database/Migrations/Postgres/20241111170112_ModernHwid.Designer.cs b/Content.Server.Database/Migrations/Postgres/20241111170112_ModernHwid.Designer.cs new file mode 100644 index 0000000000..155d6a163f --- /dev/null +++ b/Content.Server.Database/Migrations/Postgres/20241111170112_ModernHwid.Designer.cs @@ -0,0 +1,2072 @@ +// +using System; +using System.Net; +using System.Text.Json; +using Content.Server.Database; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +using NpgsqlTypes; + +#nullable disable + +namespace Content.Server.Database.Migrations.Postgres +{ + [DbContext(typeof(PostgresServerDbContext))] + [Migration("20241111170112_ModernHwid")] + partial class ModernHwid + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("Content.Server.Database.Admin", b => + { + b.Property("UserId") + .ValueGeneratedOnAdd() + .HasColumnType("uuid") + .HasColumnName("user_id"); + + b.Property("AdminRankId") + .HasColumnType("integer") + .HasColumnName("admin_rank_id"); + + b.Property("Title") + .HasColumnType("text") + .HasColumnName("title"); + + b.HasKey("UserId") + .HasName("PK_admin"); + + b.HasIndex("AdminRankId") + .HasDatabaseName("IX_admin_admin_rank_id"); + + b.ToTable("admin", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AdminFlag", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("admin_flag_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AdminId") + .HasColumnType("uuid") + .HasColumnName("admin_id"); + + b.Property("Flag") + .IsRequired() + .HasColumnType("text") + .HasColumnName("flag"); + + b.Property("Negative") + .HasColumnType("boolean") + .HasColumnName("negative"); + + b.HasKey("Id") + .HasName("PK_admin_flag"); + + b.HasIndex("AdminId") + .HasDatabaseName("IX_admin_flag_admin_id"); + + b.HasIndex("Flag", "AdminId") + .IsUnique(); + + b.ToTable("admin_flag", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AdminLog", b => + { + b.Property("RoundId") + .HasColumnType("integer") + .HasColumnName("round_id"); + + b.Property("Id") + .HasColumnType("integer") + .HasColumnName("admin_log_id"); + + b.Property("Date") + .HasColumnType("timestamp with time zone") + .HasColumnName("date"); + + b.Property("Impact") + .HasColumnType("smallint") + .HasColumnName("impact"); + + b.Property("Json") + .IsRequired() + .HasColumnType("jsonb") + .HasColumnName("json"); + + b.Property("Message") + .IsRequired() + .HasColumnType("text") + .HasColumnName("message"); + + b.Property("Type") + .HasColumnType("integer") + .HasColumnName("type"); + + b.HasKey("RoundId", "Id") + .HasName("PK_admin_log"); + + b.HasIndex("Date"); + + b.HasIndex("Message") + .HasAnnotation("Npgsql:TsVectorConfig", "english"); + + NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex("Message"), "GIN"); + + b.HasIndex("Type") + .HasDatabaseName("IX_admin_log_type"); + + b.ToTable("admin_log", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b => + { + b.Property("RoundId") + .HasColumnType("integer") + .HasColumnName("round_id"); + + b.Property("LogId") + .HasColumnType("integer") + .HasColumnName("log_id"); + + b.Property("PlayerUserId") + .HasColumnType("uuid") + .HasColumnName("player_user_id"); + + b.HasKey("RoundId", "LogId", "PlayerUserId") + .HasName("PK_admin_log_player"); + + b.HasIndex("PlayerUserId") + .HasDatabaseName("IX_admin_log_player_player_user_id"); + + b.ToTable("admin_log_player", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AdminMessage", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("admin_messages_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("created_at"); + + b.Property("CreatedById") + .HasColumnType("uuid") + .HasColumnName("created_by_id"); + + b.Property("Deleted") + .HasColumnType("boolean") + .HasColumnName("deleted"); + + b.Property("DeletedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("deleted_at"); + + b.Property("DeletedById") + .HasColumnType("uuid") + .HasColumnName("deleted_by_id"); + + b.Property("Dismissed") + .HasColumnType("boolean") + .HasColumnName("dismissed"); + + b.Property("ExpirationTime") + .HasColumnType("timestamp with time zone") + .HasColumnName("expiration_time"); + + b.Property("LastEditedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("last_edited_at"); + + b.Property("LastEditedById") + .HasColumnType("uuid") + .HasColumnName("last_edited_by_id"); + + b.Property("Message") + .IsRequired() + .HasMaxLength(4096) + .HasColumnType("character varying(4096)") + .HasColumnName("message"); + + b.Property("PlayerUserId") + .HasColumnType("uuid") + .HasColumnName("player_user_id"); + + b.Property("PlaytimeAtNote") + .HasColumnType("interval") + .HasColumnName("playtime_at_note"); + + b.Property("RoundId") + .HasColumnType("integer") + .HasColumnName("round_id"); + + b.Property("Seen") + .HasColumnType("boolean") + .HasColumnName("seen"); + + b.HasKey("Id") + .HasName("PK_admin_messages"); + + b.HasIndex("CreatedById"); + + b.HasIndex("DeletedById"); + + b.HasIndex("LastEditedById"); + + b.HasIndex("PlayerUserId") + .HasDatabaseName("IX_admin_messages_player_user_id"); + + b.HasIndex("RoundId") + .HasDatabaseName("IX_admin_messages_round_id"); + + b.ToTable("admin_messages", null, t => + { + t.HasCheckConstraint("NotDismissedAndSeen", "NOT dismissed OR seen"); + }); + }); + + modelBuilder.Entity("Content.Server.Database.AdminNote", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("admin_notes_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("created_at"); + + b.Property("CreatedById") + .HasColumnType("uuid") + .HasColumnName("created_by_id"); + + b.Property("Deleted") + .HasColumnType("boolean") + .HasColumnName("deleted"); + + b.Property("DeletedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("deleted_at"); + + b.Property("DeletedById") + .HasColumnType("uuid") + .HasColumnName("deleted_by_id"); + + b.Property("ExpirationTime") + .HasColumnType("timestamp with time zone") + .HasColumnName("expiration_time"); + + b.Property("LastEditedAt") + .IsRequired() + .HasColumnType("timestamp with time zone") + .HasColumnName("last_edited_at"); + + b.Property("LastEditedById") + .HasColumnType("uuid") + .HasColumnName("last_edited_by_id"); + + b.Property("Message") + .IsRequired() + .HasMaxLength(4096) + .HasColumnType("character varying(4096)") + .HasColumnName("message"); + + b.Property("PlayerUserId") + .HasColumnType("uuid") + .HasColumnName("player_user_id"); + + b.Property("PlaytimeAtNote") + .HasColumnType("interval") + .HasColumnName("playtime_at_note"); + + b.Property("RoundId") + .HasColumnType("integer") + .HasColumnName("round_id"); + + b.Property("Secret") + .HasColumnType("boolean") + .HasColumnName("secret"); + + b.Property("Severity") + .HasColumnType("integer") + .HasColumnName("severity"); + + b.HasKey("Id") + .HasName("PK_admin_notes"); + + b.HasIndex("CreatedById"); + + b.HasIndex("DeletedById"); + + b.HasIndex("LastEditedById"); + + b.HasIndex("PlayerUserId") + .HasDatabaseName("IX_admin_notes_player_user_id"); + + b.HasIndex("RoundId") + .HasDatabaseName("IX_admin_notes_round_id"); + + b.ToTable("admin_notes", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AdminRank", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("admin_rank_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Name") + .IsRequired() + .HasColumnType("text") + .HasColumnName("name"); + + b.HasKey("Id") + .HasName("PK_admin_rank"); + + b.ToTable("admin_rank", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("admin_rank_flag_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AdminRankId") + .HasColumnType("integer") + .HasColumnName("admin_rank_id"); + + b.Property("Flag") + .IsRequired() + .HasColumnType("text") + .HasColumnName("flag"); + + b.HasKey("Id") + .HasName("PK_admin_rank_flag"); + + b.HasIndex("AdminRankId"); + + b.HasIndex("Flag", "AdminRankId") + .IsUnique(); + + b.ToTable("admin_rank_flag", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AdminWatchlist", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("admin_watchlists_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("created_at"); + + b.Property("CreatedById") + .HasColumnType("uuid") + .HasColumnName("created_by_id"); + + b.Property("Deleted") + .HasColumnType("boolean") + .HasColumnName("deleted"); + + b.Property("DeletedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("deleted_at"); + + b.Property("DeletedById") + .HasColumnType("uuid") + .HasColumnName("deleted_by_id"); + + b.Property("ExpirationTime") + .HasColumnType("timestamp with time zone") + .HasColumnName("expiration_time"); + + b.Property("LastEditedAt") + .IsRequired() + .HasColumnType("timestamp with time zone") + .HasColumnName("last_edited_at"); + + b.Property("LastEditedById") + .HasColumnType("uuid") + .HasColumnName("last_edited_by_id"); + + b.Property("Message") + .IsRequired() + .HasMaxLength(4096) + .HasColumnType("character varying(4096)") + .HasColumnName("message"); + + b.Property("PlayerUserId") + .HasColumnType("uuid") + .HasColumnName("player_user_id"); + + b.Property("PlaytimeAtNote") + .HasColumnType("interval") + .HasColumnName("playtime_at_note"); + + b.Property("RoundId") + .HasColumnType("integer") + .HasColumnName("round_id"); + + b.HasKey("Id") + .HasName("PK_admin_watchlists"); + + b.HasIndex("CreatedById"); + + b.HasIndex("DeletedById"); + + b.HasIndex("LastEditedById"); + + b.HasIndex("PlayerUserId") + .HasDatabaseName("IX_admin_watchlists_player_user_id"); + + b.HasIndex("RoundId") + .HasDatabaseName("IX_admin_watchlists_round_id"); + + b.ToTable("admin_watchlists", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Antag", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("antag_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AntagName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("antag_name"); + + b.Property("ProfileId") + .HasColumnType("integer") + .HasColumnName("profile_id"); + + b.HasKey("Id") + .HasName("PK_antag"); + + b.HasIndex("ProfileId", "AntagName") + .IsUnique(); + + b.ToTable("antag", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AssignedUserId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("assigned_user_id_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("UserId") + .HasColumnType("uuid") + .HasColumnName("user_id"); + + b.Property("UserName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("user_name"); + + b.HasKey("Id") + .HasName("PK_assigned_user_id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.HasIndex("UserName") + .IsUnique(); + + b.ToTable("assigned_user_id", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.BanTemplate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("ban_template_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AutoDelete") + .HasColumnType("boolean") + .HasColumnName("auto_delete"); + + b.Property("ExemptFlags") + .HasColumnType("integer") + .HasColumnName("exempt_flags"); + + b.Property("Hidden") + .HasColumnType("boolean") + .HasColumnName("hidden"); + + b.Property("Length") + .HasColumnType("interval") + .HasColumnName("length"); + + b.Property("Reason") + .IsRequired() + .HasColumnType("text") + .HasColumnName("reason"); + + b.Property("Severity") + .HasColumnType("integer") + .HasColumnName("severity"); + + b.Property("Title") + .IsRequired() + .HasColumnType("text") + .HasColumnName("title"); + + b.HasKey("Id") + .HasName("PK_ban_template"); + + b.ToTable("ban_template", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Blacklist", b => + { + b.Property("UserId") + .ValueGeneratedOnAdd() + .HasColumnType("uuid") + .HasColumnName("user_id"); + + b.HasKey("UserId") + .HasName("PK_blacklist"); + + b.ToTable("blacklist", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.ConnectionLog", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("connection_log_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Address") + .IsRequired() + .HasColumnType("inet") + .HasColumnName("address"); + + b.Property("Denied") + .HasColumnType("smallint") + .HasColumnName("denied"); + + b.Property("ServerId") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("server_id"); + + b.Property("Time") + .HasColumnType("timestamp with time zone") + .HasColumnName("time"); + + b.Property("UserId") + .HasColumnType("uuid") + .HasColumnName("user_id"); + + b.Property("UserName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("user_name"); + + b.HasKey("Id") + .HasName("PK_connection_log"); + + b.HasIndex("ServerId") + .HasDatabaseName("IX_connection_log_server_id"); + + b.HasIndex("Time"); + + b.HasIndex("UserId"); + + b.ToTable("connection_log", null, t => + { + t.HasCheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address"); + }); + }); + + modelBuilder.Entity("Content.Server.Database.Job", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("job_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("JobName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("job_name"); + + b.Property("Priority") + .HasColumnType("integer") + .HasColumnName("priority"); + + b.Property("ProfileId") + .HasColumnType("integer") + .HasColumnName("profile_id"); + + b.HasKey("Id") + .HasName("PK_job"); + + b.HasIndex("ProfileId"); + + b.HasIndex("ProfileId", "JobName") + .IsUnique(); + + b.HasIndex(new[] { "ProfileId" }, "IX_job_one_high_priority") + .IsUnique() + .HasFilter("priority = 3"); + + b.ToTable("job", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.PlayTime", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("play_time_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("PlayerId") + .HasColumnType("uuid") + .HasColumnName("player_id"); + + b.Property("TimeSpent") + .HasColumnType("interval") + .HasColumnName("time_spent"); + + b.Property("Tracker") + .IsRequired() + .HasColumnType("text") + .HasColumnName("tracker"); + + b.HasKey("Id") + .HasName("PK_play_time"); + + b.HasIndex("PlayerId", "Tracker") + .IsUnique(); + + b.ToTable("play_time", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Player", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("player_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("FirstSeenTime") + .HasColumnType("timestamp with time zone") + .HasColumnName("first_seen_time"); + + b.Property("LastReadRules") + .HasColumnType("timestamp with time zone") + .HasColumnName("last_read_rules"); + + b.Property("LastSeenAddress") + .IsRequired() + .HasColumnType("inet") + .HasColumnName("last_seen_address"); + + b.Property("LastSeenTime") + .HasColumnType("timestamp with time zone") + .HasColumnName("last_seen_time"); + + b.Property("LastSeenUserName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("last_seen_user_name"); + + b.Property("UserId") + .HasColumnType("uuid") + .HasColumnName("user_id"); + + b.HasKey("Id") + .HasName("PK_player"); + + b.HasAlternateKey("UserId") + .HasName("ak_player_user_id"); + + b.HasIndex("LastSeenUserName"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("player", null, t => + { + t.HasCheckConstraint("LastSeenAddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= last_seen_address"); + }); + }); + + modelBuilder.Entity("Content.Server.Database.Preference", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("preference_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AdminOOCColor") + .IsRequired() + .HasColumnType("text") + .HasColumnName("admin_ooc_color"); + + b.Property("SelectedCharacterSlot") + .HasColumnType("integer") + .HasColumnName("selected_character_slot"); + + b.Property("UserId") + .HasColumnType("uuid") + .HasColumnName("user_id"); + + b.HasKey("Id") + .HasName("PK_preference"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("preference", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Profile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("profile_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Age") + .HasColumnType("integer") + .HasColumnName("age"); + + b.Property("CharacterName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("char_name"); + + b.Property("EyeColor") + .IsRequired() + .HasColumnType("text") + .HasColumnName("eye_color"); + + b.Property("FacialHairColor") + .IsRequired() + .HasColumnType("text") + .HasColumnName("facial_hair_color"); + + b.Property("FacialHairName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("facial_hair_name"); + + b.Property("FlavorText") + .IsRequired() + .HasColumnType("text") + .HasColumnName("flavor_text"); + + b.Property("Gender") + .IsRequired() + .HasColumnType("text") + .HasColumnName("gender"); + + b.Property("HairColor") + .IsRequired() + .HasColumnType("text") + .HasColumnName("hair_color"); + + b.Property("HairName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("hair_name"); + + b.Property("Markings") + .HasColumnType("jsonb") + .HasColumnName("markings"); + + b.Property("PreferenceId") + .HasColumnType("integer") + .HasColumnName("preference_id"); + + b.Property("PreferenceUnavailable") + .HasColumnType("integer") + .HasColumnName("pref_unavailable"); + + b.Property("Sex") + .IsRequired() + .HasColumnType("text") + .HasColumnName("sex"); + + b.Property("SkinColor") + .IsRequired() + .HasColumnType("text") + .HasColumnName("skin_color"); + + b.Property("Slot") + .HasColumnType("integer") + .HasColumnName("slot"); + + b.Property("SpawnPriority") + .HasColumnType("integer") + .HasColumnName("spawn_priority"); + + b.Property("Species") + .IsRequired() + .HasColumnType("text") + .HasColumnName("species"); + + b.HasKey("Id") + .HasName("PK_profile"); + + b.HasIndex("PreferenceId") + .HasDatabaseName("IX_profile_preference_id"); + + b.HasIndex("Slot", "PreferenceId") + .IsUnique(); + + b.ToTable("profile", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileLoadout", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("profile_loadout_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("LoadoutName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("loadout_name"); + + b.Property("ProfileLoadoutGroupId") + .HasColumnType("integer") + .HasColumnName("profile_loadout_group_id"); + + b.HasKey("Id") + .HasName("PK_profile_loadout"); + + b.HasIndex("ProfileLoadoutGroupId"); + + b.ToTable("profile_loadout", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileLoadoutGroup", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("profile_loadout_group_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("GroupName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("group_name"); + + b.Property("ProfileRoleLoadoutId") + .HasColumnType("integer") + .HasColumnName("profile_role_loadout_id"); + + b.HasKey("Id") + .HasName("PK_profile_loadout_group"); + + b.HasIndex("ProfileRoleLoadoutId"); + + b.ToTable("profile_loadout_group", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileRoleLoadout", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("profile_role_loadout_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ProfileId") + .HasColumnType("integer") + .HasColumnName("profile_id"); + + b.Property("RoleName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("role_name"); + + b.HasKey("Id") + .HasName("PK_profile_role_loadout"); + + b.HasIndex("ProfileId"); + + b.ToTable("profile_role_loadout", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.RoleWhitelist", b => + { + b.Property("PlayerUserId") + .HasColumnType("uuid") + .HasColumnName("player_user_id"); + + b.Property("RoleId") + .HasColumnType("text") + .HasColumnName("role_id"); + + b.HasKey("PlayerUserId", "RoleId") + .HasName("PK_role_whitelists"); + + b.ToTable("role_whitelists", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Round", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("round_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ServerId") + .HasColumnType("integer") + .HasColumnName("server_id"); + + b.Property("StartDate") + .HasColumnType("timestamp with time zone") + .HasColumnName("start_date"); + + b.HasKey("Id") + .HasName("PK_round"); + + b.HasIndex("ServerId") + .HasDatabaseName("IX_round_server_id"); + + b.HasIndex("StartDate"); + + b.ToTable("round", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Server", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("server_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Name") + .IsRequired() + .HasColumnType("text") + .HasColumnName("name"); + + b.HasKey("Id") + .HasName("PK_server"); + + b.ToTable("server", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.ServerBan", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("server_ban_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Address") + .HasColumnType("inet") + .HasColumnName("address"); + + b.Property("AutoDelete") + .HasColumnType("boolean") + .HasColumnName("auto_delete"); + + b.Property("BanTime") + .HasColumnType("timestamp with time zone") + .HasColumnName("ban_time"); + + b.Property("BanningAdmin") + .HasColumnType("uuid") + .HasColumnName("banning_admin"); + + b.Property("ExemptFlags") + .HasColumnType("integer") + .HasColumnName("exempt_flags"); + + b.Property("ExpirationTime") + .HasColumnType("timestamp with time zone") + .HasColumnName("expiration_time"); + + b.Property("Hidden") + .HasColumnType("boolean") + .HasColumnName("hidden"); + + b.Property("LastEditedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("last_edited_at"); + + b.Property("LastEditedById") + .HasColumnType("uuid") + .HasColumnName("last_edited_by_id"); + + b.Property("PlayerUserId") + .HasColumnType("uuid") + .HasColumnName("player_user_id"); + + b.Property("PlaytimeAtNote") + .HasColumnType("interval") + .HasColumnName("playtime_at_note"); + + b.Property("Reason") + .IsRequired() + .HasColumnType("text") + .HasColumnName("reason"); + + b.Property("RoundId") + .HasColumnType("integer") + .HasColumnName("round_id"); + + b.Property("Severity") + .HasColumnType("integer") + .HasColumnName("severity"); + + b.HasKey("Id") + .HasName("PK_server_ban"); + + b.HasIndex("Address"); + + b.HasIndex("BanningAdmin"); + + b.HasIndex("LastEditedById"); + + b.HasIndex("PlayerUserId") + .HasDatabaseName("IX_server_ban_player_user_id"); + + b.HasIndex("RoundId") + .HasDatabaseName("IX_server_ban_round_id"); + + b.ToTable("server_ban", null, t => + { + t.HasCheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address"); + + t.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR player_user_id IS NOT NULL OR hwid IS NOT NULL"); + }); + }); + + modelBuilder.Entity("Content.Server.Database.ServerBanExemption", b => + { + b.Property("UserId") + .ValueGeneratedOnAdd() + .HasColumnType("uuid") + .HasColumnName("user_id"); + + b.Property("Flags") + .HasColumnType("integer") + .HasColumnName("flags"); + + b.HasKey("UserId") + .HasName("PK_server_ban_exemption"); + + b.ToTable("server_ban_exemption", null, t => + { + t.HasCheckConstraint("FlagsNotZero", "flags != 0"); + }); + }); + + modelBuilder.Entity("Content.Server.Database.ServerBanHit", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("server_ban_hit_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("BanId") + .HasColumnType("integer") + .HasColumnName("ban_id"); + + b.Property("ConnectionId") + .HasColumnType("integer") + .HasColumnName("connection_id"); + + b.HasKey("Id") + .HasName("PK_server_ban_hit"); + + b.HasIndex("BanId") + .HasDatabaseName("IX_server_ban_hit_ban_id"); + + b.HasIndex("ConnectionId") + .HasDatabaseName("IX_server_ban_hit_connection_id"); + + b.ToTable("server_ban_hit", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("server_role_ban_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Address") + .HasColumnType("inet") + .HasColumnName("address"); + + b.Property("BanTime") + .HasColumnType("timestamp with time zone") + .HasColumnName("ban_time"); + + b.Property("BanningAdmin") + .HasColumnType("uuid") + .HasColumnName("banning_admin"); + + b.Property("ExpirationTime") + .HasColumnType("timestamp with time zone") + .HasColumnName("expiration_time"); + + b.Property("Hidden") + .HasColumnType("boolean") + .HasColumnName("hidden"); + + b.Property("LastEditedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("last_edited_at"); + + b.Property("LastEditedById") + .HasColumnType("uuid") + .HasColumnName("last_edited_by_id"); + + b.Property("PlayerUserId") + .HasColumnType("uuid") + .HasColumnName("player_user_id"); + + b.Property("PlaytimeAtNote") + .HasColumnType("interval") + .HasColumnName("playtime_at_note"); + + b.Property("Reason") + .IsRequired() + .HasColumnType("text") + .HasColumnName("reason"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("text") + .HasColumnName("role_id"); + + b.Property("RoundId") + .HasColumnType("integer") + .HasColumnName("round_id"); + + b.Property("Severity") + .HasColumnType("integer") + .HasColumnName("severity"); + + b.HasKey("Id") + .HasName("PK_server_role_ban"); + + b.HasIndex("Address"); + + b.HasIndex("BanningAdmin"); + + b.HasIndex("LastEditedById"); + + b.HasIndex("PlayerUserId") + .HasDatabaseName("IX_server_role_ban_player_user_id"); + + b.HasIndex("RoundId") + .HasDatabaseName("IX_server_role_ban_round_id"); + + b.ToTable("server_role_ban", null, t => + { + t.HasCheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address"); + + t.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR player_user_id IS NOT NULL OR hwid IS NOT NULL"); + }); + }); + + modelBuilder.Entity("Content.Server.Database.ServerRoleUnban", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("role_unban_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("BanId") + .HasColumnType("integer") + .HasColumnName("ban_id"); + + b.Property("UnbanTime") + .HasColumnType("timestamp with time zone") + .HasColumnName("unban_time"); + + b.Property("UnbanningAdmin") + .HasColumnType("uuid") + .HasColumnName("unbanning_admin"); + + b.HasKey("Id") + .HasName("PK_server_role_unban"); + + b.HasIndex("BanId") + .IsUnique(); + + b.ToTable("server_role_unban", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.ServerUnban", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("unban_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("BanId") + .HasColumnType("integer") + .HasColumnName("ban_id"); + + b.Property("UnbanTime") + .HasColumnType("timestamp with time zone") + .HasColumnName("unban_time"); + + b.Property("UnbanningAdmin") + .HasColumnType("uuid") + .HasColumnName("unbanning_admin"); + + b.HasKey("Id") + .HasName("PK_server_unban"); + + b.HasIndex("BanId") + .IsUnique(); + + b.ToTable("server_unban", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Trait", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("trait_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ProfileId") + .HasColumnType("integer") + .HasColumnName("profile_id"); + + b.Property("TraitName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("trait_name"); + + b.HasKey("Id") + .HasName("PK_trait"); + + b.HasIndex("ProfileId", "TraitName") + .IsUnique(); + + b.ToTable("trait", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.UploadedResourceLog", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("uploaded_resource_log_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Data") + .IsRequired() + .HasColumnType("bytea") + .HasColumnName("data"); + + b.Property("Date") + .HasColumnType("timestamp with time zone") + .HasColumnName("date"); + + b.Property("Path") + .IsRequired() + .HasColumnType("text") + .HasColumnName("path"); + + b.Property("UserId") + .HasColumnType("uuid") + .HasColumnName("user_id"); + + b.HasKey("Id") + .HasName("PK_uploaded_resource_log"); + + b.ToTable("uploaded_resource_log", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Whitelist", b => + { + b.Property("UserId") + .ValueGeneratedOnAdd() + .HasColumnType("uuid") + .HasColumnName("user_id"); + + b.HasKey("UserId") + .HasName("PK_whitelist"); + + b.ToTable("whitelist", (string)null); + }); + + modelBuilder.Entity("PlayerRound", b => + { + b.Property("PlayersId") + .HasColumnType("integer") + .HasColumnName("players_id"); + + b.Property("RoundsId") + .HasColumnType("integer") + .HasColumnName("rounds_id"); + + b.HasKey("PlayersId", "RoundsId") + .HasName("PK_player_round"); + + b.HasIndex("RoundsId") + .HasDatabaseName("IX_player_round_rounds_id"); + + b.ToTable("player_round", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Admin", b => + { + b.HasOne("Content.Server.Database.AdminRank", "AdminRank") + .WithMany("Admins") + .HasForeignKey("AdminRankId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_admin_rank_admin_rank_id"); + + b.Navigation("AdminRank"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminFlag", b => + { + b.HasOne("Content.Server.Database.Admin", "Admin") + .WithMany("Flags") + .HasForeignKey("AdminId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_admin_flag_admin_admin_id"); + + b.Navigation("Admin"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminLog", b => + { + b.HasOne("Content.Server.Database.Round", "Round") + .WithMany("AdminLogs") + .HasForeignKey("RoundId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_admin_log_round_round_id"); + + b.Navigation("Round"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b => + { + b.HasOne("Content.Server.Database.Player", "Player") + .WithMany("AdminLogs") + .HasForeignKey("PlayerUserId") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_admin_log_player_player_player_user_id"); + + b.HasOne("Content.Server.Database.AdminLog", "Log") + .WithMany("Players") + .HasForeignKey("RoundId", "LogId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_admin_log_player_admin_log_round_id_log_id"); + + b.Navigation("Log"); + + b.Navigation("Player"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminMessage", b => + { + b.HasOne("Content.Server.Database.Player", "CreatedBy") + .WithMany("AdminMessagesCreated") + .HasForeignKey("CreatedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_messages_player_created_by_id"); + + b.HasOne("Content.Server.Database.Player", "DeletedBy") + .WithMany("AdminMessagesDeleted") + .HasForeignKey("DeletedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_messages_player_deleted_by_id"); + + b.HasOne("Content.Server.Database.Player", "LastEditedBy") + .WithMany("AdminMessagesLastEdited") + .HasForeignKey("LastEditedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_messages_player_last_edited_by_id"); + + b.HasOne("Content.Server.Database.Player", "Player") + .WithMany("AdminMessagesReceived") + .HasForeignKey("PlayerUserId") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("FK_admin_messages_player_player_user_id"); + + b.HasOne("Content.Server.Database.Round", "Round") + .WithMany() + .HasForeignKey("RoundId") + .HasConstraintName("FK_admin_messages_round_round_id"); + + b.Navigation("CreatedBy"); + + b.Navigation("DeletedBy"); + + b.Navigation("LastEditedBy"); + + b.Navigation("Player"); + + b.Navigation("Round"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminNote", b => + { + b.HasOne("Content.Server.Database.Player", "CreatedBy") + .WithMany("AdminNotesCreated") + .HasForeignKey("CreatedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_notes_player_created_by_id"); + + b.HasOne("Content.Server.Database.Player", "DeletedBy") + .WithMany("AdminNotesDeleted") + .HasForeignKey("DeletedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_notes_player_deleted_by_id"); + + b.HasOne("Content.Server.Database.Player", "LastEditedBy") + .WithMany("AdminNotesLastEdited") + .HasForeignKey("LastEditedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_notes_player_last_edited_by_id"); + + b.HasOne("Content.Server.Database.Player", "Player") + .WithMany("AdminNotesReceived") + .HasForeignKey("PlayerUserId") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("FK_admin_notes_player_player_user_id"); + + b.HasOne("Content.Server.Database.Round", "Round") + .WithMany() + .HasForeignKey("RoundId") + .HasConstraintName("FK_admin_notes_round_round_id"); + + b.Navigation("CreatedBy"); + + b.Navigation("DeletedBy"); + + b.Navigation("LastEditedBy"); + + b.Navigation("Player"); + + b.Navigation("Round"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b => + { + b.HasOne("Content.Server.Database.AdminRank", "Rank") + .WithMany("Flags") + .HasForeignKey("AdminRankId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_admin_rank_flag_admin_rank_admin_rank_id"); + + b.Navigation("Rank"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminWatchlist", b => + { + b.HasOne("Content.Server.Database.Player", "CreatedBy") + .WithMany("AdminWatchlistsCreated") + .HasForeignKey("CreatedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_watchlists_player_created_by_id"); + + b.HasOne("Content.Server.Database.Player", "DeletedBy") + .WithMany("AdminWatchlistsDeleted") + .HasForeignKey("DeletedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_watchlists_player_deleted_by_id"); + + b.HasOne("Content.Server.Database.Player", "LastEditedBy") + .WithMany("AdminWatchlistsLastEdited") + .HasForeignKey("LastEditedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_watchlists_player_last_edited_by_id"); + + b.HasOne("Content.Server.Database.Player", "Player") + .WithMany("AdminWatchlistsReceived") + .HasForeignKey("PlayerUserId") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("FK_admin_watchlists_player_player_user_id"); + + b.HasOne("Content.Server.Database.Round", "Round") + .WithMany() + .HasForeignKey("RoundId") + .HasConstraintName("FK_admin_watchlists_round_round_id"); + + b.Navigation("CreatedBy"); + + b.Navigation("DeletedBy"); + + b.Navigation("LastEditedBy"); + + b.Navigation("Player"); + + b.Navigation("Round"); + }); + + modelBuilder.Entity("Content.Server.Database.Antag", b => + { + b.HasOne("Content.Server.Database.Profile", "Profile") + .WithMany("Antags") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_antag_profile_profile_id"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("Content.Server.Database.ConnectionLog", b => + { + b.HasOne("Content.Server.Database.Server", "Server") + .WithMany("ConnectionLogs") + .HasForeignKey("ServerId") + .OnDelete(DeleteBehavior.SetNull) + .IsRequired() + .HasConstraintName("FK_connection_log_server_server_id"); + + b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 => + { + b1.Property("ConnectionLogId") + .HasColumnType("integer") + .HasColumnName("connection_log_id"); + + b1.Property("Hwid") + .IsRequired() + .HasColumnType("bytea") + .HasColumnName("hwid"); + + b1.Property("Type") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("hwid_type"); + + b1.HasKey("ConnectionLogId"); + + b1.ToTable("connection_log"); + + b1.WithOwner() + .HasForeignKey("ConnectionLogId") + .HasConstraintName("FK_connection_log_connection_log_connection_log_id"); + }); + + b.Navigation("HWId"); + + b.Navigation("Server"); + }); + + modelBuilder.Entity("Content.Server.Database.Job", b => + { + b.HasOne("Content.Server.Database.Profile", "Profile") + .WithMany("Jobs") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_job_profile_profile_id"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("Content.Server.Database.Player", b => + { + b.OwnsOne("Content.Server.Database.TypedHwid", "LastSeenHWId", b1 => + { + b1.Property("PlayerId") + .HasColumnType("integer") + .HasColumnName("player_id"); + + b1.Property("Hwid") + .IsRequired() + .HasColumnType("bytea") + .HasColumnName("last_seen_hwid"); + + b1.Property("Type") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("last_seen_hwid_type"); + + b1.HasKey("PlayerId"); + + b1.ToTable("player"); + + b1.WithOwner() + .HasForeignKey("PlayerId") + .HasConstraintName("FK_player_player_player_id"); + }); + + b.Navigation("LastSeenHWId"); + }); + + modelBuilder.Entity("Content.Server.Database.Profile", b => + { + b.HasOne("Content.Server.Database.Preference", "Preference") + .WithMany("Profiles") + .HasForeignKey("PreferenceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_profile_preference_preference_id"); + + b.Navigation("Preference"); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileLoadout", b => + { + b.HasOne("Content.Server.Database.ProfileLoadoutGroup", "ProfileLoadoutGroup") + .WithMany("Loadouts") + .HasForeignKey("ProfileLoadoutGroupId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_profile_loadout_profile_loadout_group_profile_loadout_group~"); + + b.Navigation("ProfileLoadoutGroup"); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileLoadoutGroup", b => + { + b.HasOne("Content.Server.Database.ProfileRoleLoadout", "ProfileRoleLoadout") + .WithMany("Groups") + .HasForeignKey("ProfileRoleLoadoutId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_profile_loadout_group_profile_role_loadout_profile_role_loa~"); + + b.Navigation("ProfileRoleLoadout"); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileRoleLoadout", b => + { + b.HasOne("Content.Server.Database.Profile", "Profile") + .WithMany("Loadouts") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_profile_role_loadout_profile_profile_id"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("Content.Server.Database.RoleWhitelist", b => + { + b.HasOne("Content.Server.Database.Player", "Player") + .WithMany("JobWhitelists") + .HasForeignKey("PlayerUserId") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_role_whitelists_player_player_user_id"); + + b.Navigation("Player"); + }); + + modelBuilder.Entity("Content.Server.Database.Round", b => + { + b.HasOne("Content.Server.Database.Server", "Server") + .WithMany("Rounds") + .HasForeignKey("ServerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_round_server_server_id"); + + b.Navigation("Server"); + }); + + modelBuilder.Entity("Content.Server.Database.ServerBan", b => + { + b.HasOne("Content.Server.Database.Player", "CreatedBy") + .WithMany("AdminServerBansCreated") + .HasForeignKey("BanningAdmin") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_server_ban_player_banning_admin"); + + b.HasOne("Content.Server.Database.Player", "LastEditedBy") + .WithMany("AdminServerBansLastEdited") + .HasForeignKey("LastEditedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_server_ban_player_last_edited_by_id"); + + b.HasOne("Content.Server.Database.Round", "Round") + .WithMany() + .HasForeignKey("RoundId") + .HasConstraintName("FK_server_ban_round_round_id"); + + b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 => + { + b1.Property("ServerBanId") + .HasColumnType("integer") + .HasColumnName("server_ban_id"); + + b1.Property("Hwid") + .IsRequired() + .HasColumnType("bytea") + .HasColumnName("hwid"); + + b1.Property("Type") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("hwid_type"); + + b1.HasKey("ServerBanId"); + + b1.ToTable("server_ban"); + + b1.WithOwner() + .HasForeignKey("ServerBanId") + .HasConstraintName("FK_server_ban_server_ban_server_ban_id"); + }); + + b.Navigation("CreatedBy"); + + b.Navigation("HWId"); + + b.Navigation("LastEditedBy"); + + b.Navigation("Round"); + }); + + modelBuilder.Entity("Content.Server.Database.ServerBanHit", b => + { + b.HasOne("Content.Server.Database.ServerBan", "Ban") + .WithMany("BanHits") + .HasForeignKey("BanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_server_ban_hit_server_ban_ban_id"); + + b.HasOne("Content.Server.Database.ConnectionLog", "Connection") + .WithMany("BanHits") + .HasForeignKey("ConnectionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_server_ban_hit_connection_log_connection_id"); + + b.Navigation("Ban"); + + b.Navigation("Connection"); + }); + + modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b => + { + b.HasOne("Content.Server.Database.Player", "CreatedBy") + .WithMany("AdminServerRoleBansCreated") + .HasForeignKey("BanningAdmin") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_server_role_ban_player_banning_admin"); + + b.HasOne("Content.Server.Database.Player", "LastEditedBy") + .WithMany("AdminServerRoleBansLastEdited") + .HasForeignKey("LastEditedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_server_role_ban_player_last_edited_by_id"); + + b.HasOne("Content.Server.Database.Round", "Round") + .WithMany() + .HasForeignKey("RoundId") + .HasConstraintName("FK_server_role_ban_round_round_id"); + + b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 => + { + b1.Property("ServerRoleBanId") + .HasColumnType("integer") + .HasColumnName("server_role_ban_id"); + + b1.Property("Hwid") + .IsRequired() + .HasColumnType("bytea") + .HasColumnName("hwid"); + + b1.Property("Type") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("hwid_type"); + + b1.HasKey("ServerRoleBanId"); + + b1.ToTable("server_role_ban"); + + b1.WithOwner() + .HasForeignKey("ServerRoleBanId") + .HasConstraintName("FK_server_role_ban_server_role_ban_server_role_ban_id"); + }); + + b.Navigation("CreatedBy"); + + b.Navigation("HWId"); + + b.Navigation("LastEditedBy"); + + b.Navigation("Round"); + }); + + modelBuilder.Entity("Content.Server.Database.ServerRoleUnban", b => + { + b.HasOne("Content.Server.Database.ServerRoleBan", "Ban") + .WithOne("Unban") + .HasForeignKey("Content.Server.Database.ServerRoleUnban", "BanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_server_role_unban_server_role_ban_ban_id"); + + b.Navigation("Ban"); + }); + + modelBuilder.Entity("Content.Server.Database.ServerUnban", b => + { + b.HasOne("Content.Server.Database.ServerBan", "Ban") + .WithOne("Unban") + .HasForeignKey("Content.Server.Database.ServerUnban", "BanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_server_unban_server_ban_ban_id"); + + b.Navigation("Ban"); + }); + + modelBuilder.Entity("Content.Server.Database.Trait", b => + { + b.HasOne("Content.Server.Database.Profile", "Profile") + .WithMany("Traits") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_trait_profile_profile_id"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("PlayerRound", b => + { + b.HasOne("Content.Server.Database.Player", null) + .WithMany() + .HasForeignKey("PlayersId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_player_round_player_players_id"); + + b.HasOne("Content.Server.Database.Round", null) + .WithMany() + .HasForeignKey("RoundsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_player_round_round_rounds_id"); + }); + + modelBuilder.Entity("Content.Server.Database.Admin", b => + { + b.Navigation("Flags"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminLog", b => + { + b.Navigation("Players"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminRank", b => + { + b.Navigation("Admins"); + + b.Navigation("Flags"); + }); + + modelBuilder.Entity("Content.Server.Database.ConnectionLog", b => + { + b.Navigation("BanHits"); + }); + + modelBuilder.Entity("Content.Server.Database.Player", b => + { + b.Navigation("AdminLogs"); + + b.Navigation("AdminMessagesCreated"); + + b.Navigation("AdminMessagesDeleted"); + + b.Navigation("AdminMessagesLastEdited"); + + b.Navigation("AdminMessagesReceived"); + + b.Navigation("AdminNotesCreated"); + + b.Navigation("AdminNotesDeleted"); + + b.Navigation("AdminNotesLastEdited"); + + b.Navigation("AdminNotesReceived"); + + b.Navigation("AdminServerBansCreated"); + + b.Navigation("AdminServerBansLastEdited"); + + b.Navigation("AdminServerRoleBansCreated"); + + b.Navigation("AdminServerRoleBansLastEdited"); + + b.Navigation("AdminWatchlistsCreated"); + + b.Navigation("AdminWatchlistsDeleted"); + + b.Navigation("AdminWatchlistsLastEdited"); + + b.Navigation("AdminWatchlistsReceived"); + + b.Navigation("JobWhitelists"); + }); + + modelBuilder.Entity("Content.Server.Database.Preference", b => + { + b.Navigation("Profiles"); + }); + + modelBuilder.Entity("Content.Server.Database.Profile", b => + { + b.Navigation("Antags"); + + b.Navigation("Jobs"); + + b.Navigation("Loadouts"); + + b.Navigation("Traits"); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileLoadoutGroup", b => + { + b.Navigation("Loadouts"); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileRoleLoadout", b => + { + b.Navigation("Groups"); + }); + + modelBuilder.Entity("Content.Server.Database.Round", b => + { + b.Navigation("AdminLogs"); + }); + + modelBuilder.Entity("Content.Server.Database.Server", b => + { + b.Navigation("ConnectionLogs"); + + b.Navigation("Rounds"); + }); + + modelBuilder.Entity("Content.Server.Database.ServerBan", b => + { + b.Navigation("BanHits"); + + b.Navigation("Unban"); + }); + + modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b => + { + b.Navigation("Unban"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Content.Server.Database/Migrations/Postgres/20241111170112_ModernHwid.cs b/Content.Server.Database/Migrations/Postgres/20241111170112_ModernHwid.cs new file mode 100644 index 0000000000..c70a5ffaa5 --- /dev/null +++ b/Content.Server.Database/Migrations/Postgres/20241111170112_ModernHwid.cs @@ -0,0 +1,62 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Content.Server.Database.Migrations.Postgres +{ + /// + public partial class ModernHwid : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "hwid_type", + table: "server_role_ban", + type: "integer", + nullable: true, + defaultValue: 0); + + migrationBuilder.AddColumn( + name: "hwid_type", + table: "server_ban", + type: "integer", + nullable: true, + defaultValue: 0); + + migrationBuilder.AddColumn( + name: "last_seen_hwid_type", + table: "player", + type: "integer", + nullable: true, + defaultValue: 0); + + migrationBuilder.AddColumn( + name: "hwid_type", + table: "connection_log", + type: "integer", + nullable: true, + defaultValue: 0); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "hwid_type", + table: "server_role_ban"); + + migrationBuilder.DropColumn( + name: "hwid_type", + table: "server_ban"); + + migrationBuilder.DropColumn( + name: "last_seen_hwid_type", + table: "player"); + + migrationBuilder.DropColumn( + name: "hwid_type", + table: "connection_log"); + } + } +} diff --git a/Content.Server.Database/Migrations/Postgres/20241111193608_ConnectionTrust.Designer.cs b/Content.Server.Database/Migrations/Postgres/20241111193608_ConnectionTrust.Designer.cs new file mode 100644 index 0000000000..dc1b4a0eeb --- /dev/null +++ b/Content.Server.Database/Migrations/Postgres/20241111193608_ConnectionTrust.Designer.cs @@ -0,0 +1,2076 @@ +// +using System; +using System.Net; +using System.Text.Json; +using Content.Server.Database; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; +using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata; +using NpgsqlTypes; + +#nullable disable + +namespace Content.Server.Database.Migrations.Postgres +{ + [DbContext(typeof(PostgresServerDbContext))] + [Migration("20241111193608_ConnectionTrust")] + partial class ConnectionTrust + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder + .HasAnnotation("ProductVersion", "8.0.0") + .HasAnnotation("Relational:MaxIdentifierLength", 63); + + NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder); + + modelBuilder.Entity("Content.Server.Database.Admin", b => + { + b.Property("UserId") + .ValueGeneratedOnAdd() + .HasColumnType("uuid") + .HasColumnName("user_id"); + + b.Property("AdminRankId") + .HasColumnType("integer") + .HasColumnName("admin_rank_id"); + + b.Property("Title") + .HasColumnType("text") + .HasColumnName("title"); + + b.HasKey("UserId") + .HasName("PK_admin"); + + b.HasIndex("AdminRankId") + .HasDatabaseName("IX_admin_admin_rank_id"); + + b.ToTable("admin", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AdminFlag", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("admin_flag_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AdminId") + .HasColumnType("uuid") + .HasColumnName("admin_id"); + + b.Property("Flag") + .IsRequired() + .HasColumnType("text") + .HasColumnName("flag"); + + b.Property("Negative") + .HasColumnType("boolean") + .HasColumnName("negative"); + + b.HasKey("Id") + .HasName("PK_admin_flag"); + + b.HasIndex("AdminId") + .HasDatabaseName("IX_admin_flag_admin_id"); + + b.HasIndex("Flag", "AdminId") + .IsUnique(); + + b.ToTable("admin_flag", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AdminLog", b => + { + b.Property("RoundId") + .HasColumnType("integer") + .HasColumnName("round_id"); + + b.Property("Id") + .HasColumnType("integer") + .HasColumnName("admin_log_id"); + + b.Property("Date") + .HasColumnType("timestamp with time zone") + .HasColumnName("date"); + + b.Property("Impact") + .HasColumnType("smallint") + .HasColumnName("impact"); + + b.Property("Json") + .IsRequired() + .HasColumnType("jsonb") + .HasColumnName("json"); + + b.Property("Message") + .IsRequired() + .HasColumnType("text") + .HasColumnName("message"); + + b.Property("Type") + .HasColumnType("integer") + .HasColumnName("type"); + + b.HasKey("RoundId", "Id") + .HasName("PK_admin_log"); + + b.HasIndex("Date"); + + b.HasIndex("Message") + .HasAnnotation("Npgsql:TsVectorConfig", "english"); + + NpgsqlIndexBuilderExtensions.HasMethod(b.HasIndex("Message"), "GIN"); + + b.HasIndex("Type") + .HasDatabaseName("IX_admin_log_type"); + + b.ToTable("admin_log", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b => + { + b.Property("RoundId") + .HasColumnType("integer") + .HasColumnName("round_id"); + + b.Property("LogId") + .HasColumnType("integer") + .HasColumnName("log_id"); + + b.Property("PlayerUserId") + .HasColumnType("uuid") + .HasColumnName("player_user_id"); + + b.HasKey("RoundId", "LogId", "PlayerUserId") + .HasName("PK_admin_log_player"); + + b.HasIndex("PlayerUserId") + .HasDatabaseName("IX_admin_log_player_player_user_id"); + + b.ToTable("admin_log_player", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AdminMessage", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("admin_messages_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("created_at"); + + b.Property("CreatedById") + .HasColumnType("uuid") + .HasColumnName("created_by_id"); + + b.Property("Deleted") + .HasColumnType("boolean") + .HasColumnName("deleted"); + + b.Property("DeletedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("deleted_at"); + + b.Property("DeletedById") + .HasColumnType("uuid") + .HasColumnName("deleted_by_id"); + + b.Property("Dismissed") + .HasColumnType("boolean") + .HasColumnName("dismissed"); + + b.Property("ExpirationTime") + .HasColumnType("timestamp with time zone") + .HasColumnName("expiration_time"); + + b.Property("LastEditedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("last_edited_at"); + + b.Property("LastEditedById") + .HasColumnType("uuid") + .HasColumnName("last_edited_by_id"); + + b.Property("Message") + .IsRequired() + .HasMaxLength(4096) + .HasColumnType("character varying(4096)") + .HasColumnName("message"); + + b.Property("PlayerUserId") + .HasColumnType("uuid") + .HasColumnName("player_user_id"); + + b.Property("PlaytimeAtNote") + .HasColumnType("interval") + .HasColumnName("playtime_at_note"); + + b.Property("RoundId") + .HasColumnType("integer") + .HasColumnName("round_id"); + + b.Property("Seen") + .HasColumnType("boolean") + .HasColumnName("seen"); + + b.HasKey("Id") + .HasName("PK_admin_messages"); + + b.HasIndex("CreatedById"); + + b.HasIndex("DeletedById"); + + b.HasIndex("LastEditedById"); + + b.HasIndex("PlayerUserId") + .HasDatabaseName("IX_admin_messages_player_user_id"); + + b.HasIndex("RoundId") + .HasDatabaseName("IX_admin_messages_round_id"); + + b.ToTable("admin_messages", null, t => + { + t.HasCheckConstraint("NotDismissedAndSeen", "NOT dismissed OR seen"); + }); + }); + + modelBuilder.Entity("Content.Server.Database.AdminNote", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("admin_notes_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("created_at"); + + b.Property("CreatedById") + .HasColumnType("uuid") + .HasColumnName("created_by_id"); + + b.Property("Deleted") + .HasColumnType("boolean") + .HasColumnName("deleted"); + + b.Property("DeletedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("deleted_at"); + + b.Property("DeletedById") + .HasColumnType("uuid") + .HasColumnName("deleted_by_id"); + + b.Property("ExpirationTime") + .HasColumnType("timestamp with time zone") + .HasColumnName("expiration_time"); + + b.Property("LastEditedAt") + .IsRequired() + .HasColumnType("timestamp with time zone") + .HasColumnName("last_edited_at"); + + b.Property("LastEditedById") + .HasColumnType("uuid") + .HasColumnName("last_edited_by_id"); + + b.Property("Message") + .IsRequired() + .HasMaxLength(4096) + .HasColumnType("character varying(4096)") + .HasColumnName("message"); + + b.Property("PlayerUserId") + .HasColumnType("uuid") + .HasColumnName("player_user_id"); + + b.Property("PlaytimeAtNote") + .HasColumnType("interval") + .HasColumnName("playtime_at_note"); + + b.Property("RoundId") + .HasColumnType("integer") + .HasColumnName("round_id"); + + b.Property("Secret") + .HasColumnType("boolean") + .HasColumnName("secret"); + + b.Property("Severity") + .HasColumnType("integer") + .HasColumnName("severity"); + + b.HasKey("Id") + .HasName("PK_admin_notes"); + + b.HasIndex("CreatedById"); + + b.HasIndex("DeletedById"); + + b.HasIndex("LastEditedById"); + + b.HasIndex("PlayerUserId") + .HasDatabaseName("IX_admin_notes_player_user_id"); + + b.HasIndex("RoundId") + .HasDatabaseName("IX_admin_notes_round_id"); + + b.ToTable("admin_notes", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AdminRank", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("admin_rank_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Name") + .IsRequired() + .HasColumnType("text") + .HasColumnName("name"); + + b.HasKey("Id") + .HasName("PK_admin_rank"); + + b.ToTable("admin_rank", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("admin_rank_flag_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AdminRankId") + .HasColumnType("integer") + .HasColumnName("admin_rank_id"); + + b.Property("Flag") + .IsRequired() + .HasColumnType("text") + .HasColumnName("flag"); + + b.HasKey("Id") + .HasName("PK_admin_rank_flag"); + + b.HasIndex("AdminRankId"); + + b.HasIndex("Flag", "AdminRankId") + .IsUnique(); + + b.ToTable("admin_rank_flag", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AdminWatchlist", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("admin_watchlists_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("CreatedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("created_at"); + + b.Property("CreatedById") + .HasColumnType("uuid") + .HasColumnName("created_by_id"); + + b.Property("Deleted") + .HasColumnType("boolean") + .HasColumnName("deleted"); + + b.Property("DeletedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("deleted_at"); + + b.Property("DeletedById") + .HasColumnType("uuid") + .HasColumnName("deleted_by_id"); + + b.Property("ExpirationTime") + .HasColumnType("timestamp with time zone") + .HasColumnName("expiration_time"); + + b.Property("LastEditedAt") + .IsRequired() + .HasColumnType("timestamp with time zone") + .HasColumnName("last_edited_at"); + + b.Property("LastEditedById") + .HasColumnType("uuid") + .HasColumnName("last_edited_by_id"); + + b.Property("Message") + .IsRequired() + .HasMaxLength(4096) + .HasColumnType("character varying(4096)") + .HasColumnName("message"); + + b.Property("PlayerUserId") + .HasColumnType("uuid") + .HasColumnName("player_user_id"); + + b.Property("PlaytimeAtNote") + .HasColumnType("interval") + .HasColumnName("playtime_at_note"); + + b.Property("RoundId") + .HasColumnType("integer") + .HasColumnName("round_id"); + + b.HasKey("Id") + .HasName("PK_admin_watchlists"); + + b.HasIndex("CreatedById"); + + b.HasIndex("DeletedById"); + + b.HasIndex("LastEditedById"); + + b.HasIndex("PlayerUserId") + .HasDatabaseName("IX_admin_watchlists_player_user_id"); + + b.HasIndex("RoundId") + .HasDatabaseName("IX_admin_watchlists_round_id"); + + b.ToTable("admin_watchlists", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Antag", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("antag_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AntagName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("antag_name"); + + b.Property("ProfileId") + .HasColumnType("integer") + .HasColumnName("profile_id"); + + b.HasKey("Id") + .HasName("PK_antag"); + + b.HasIndex("ProfileId", "AntagName") + .IsUnique(); + + b.ToTable("antag", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AssignedUserId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("assigned_user_id_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("UserId") + .HasColumnType("uuid") + .HasColumnName("user_id"); + + b.Property("UserName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("user_name"); + + b.HasKey("Id") + .HasName("PK_assigned_user_id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.HasIndex("UserName") + .IsUnique(); + + b.ToTable("assigned_user_id", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.BanTemplate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("ban_template_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AutoDelete") + .HasColumnType("boolean") + .HasColumnName("auto_delete"); + + b.Property("ExemptFlags") + .HasColumnType("integer") + .HasColumnName("exempt_flags"); + + b.Property("Hidden") + .HasColumnType("boolean") + .HasColumnName("hidden"); + + b.Property("Length") + .HasColumnType("interval") + .HasColumnName("length"); + + b.Property("Reason") + .IsRequired() + .HasColumnType("text") + .HasColumnName("reason"); + + b.Property("Severity") + .HasColumnType("integer") + .HasColumnName("severity"); + + b.Property("Title") + .IsRequired() + .HasColumnType("text") + .HasColumnName("title"); + + b.HasKey("Id") + .HasName("PK_ban_template"); + + b.ToTable("ban_template", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Blacklist", b => + { + b.Property("UserId") + .ValueGeneratedOnAdd() + .HasColumnType("uuid") + .HasColumnName("user_id"); + + b.HasKey("UserId") + .HasName("PK_blacklist"); + + b.ToTable("blacklist", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.ConnectionLog", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("connection_log_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Address") + .IsRequired() + .HasColumnType("inet") + .HasColumnName("address"); + + b.Property("Denied") + .HasColumnType("smallint") + .HasColumnName("denied"); + + b.Property("ServerId") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("server_id"); + + b.Property("Time") + .HasColumnType("timestamp with time zone") + .HasColumnName("time"); + + b.Property("Trust") + .HasColumnType("real") + .HasColumnName("trust"); + + b.Property("UserId") + .HasColumnType("uuid") + .HasColumnName("user_id"); + + b.Property("UserName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("user_name"); + + b.HasKey("Id") + .HasName("PK_connection_log"); + + b.HasIndex("ServerId") + .HasDatabaseName("IX_connection_log_server_id"); + + b.HasIndex("Time"); + + b.HasIndex("UserId"); + + b.ToTable("connection_log", null, t => + { + t.HasCheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address"); + }); + }); + + modelBuilder.Entity("Content.Server.Database.Job", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("job_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("JobName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("job_name"); + + b.Property("Priority") + .HasColumnType("integer") + .HasColumnName("priority"); + + b.Property("ProfileId") + .HasColumnType("integer") + .HasColumnName("profile_id"); + + b.HasKey("Id") + .HasName("PK_job"); + + b.HasIndex("ProfileId"); + + b.HasIndex("ProfileId", "JobName") + .IsUnique(); + + b.HasIndex(new[] { "ProfileId" }, "IX_job_one_high_priority") + .IsUnique() + .HasFilter("priority = 3"); + + b.ToTable("job", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.PlayTime", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("play_time_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("PlayerId") + .HasColumnType("uuid") + .HasColumnName("player_id"); + + b.Property("TimeSpent") + .HasColumnType("interval") + .HasColumnName("time_spent"); + + b.Property("Tracker") + .IsRequired() + .HasColumnType("text") + .HasColumnName("tracker"); + + b.HasKey("Id") + .HasName("PK_play_time"); + + b.HasIndex("PlayerId", "Tracker") + .IsUnique(); + + b.ToTable("play_time", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Player", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("player_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("FirstSeenTime") + .HasColumnType("timestamp with time zone") + .HasColumnName("first_seen_time"); + + b.Property("LastReadRules") + .HasColumnType("timestamp with time zone") + .HasColumnName("last_read_rules"); + + b.Property("LastSeenAddress") + .IsRequired() + .HasColumnType("inet") + .HasColumnName("last_seen_address"); + + b.Property("LastSeenTime") + .HasColumnType("timestamp with time zone") + .HasColumnName("last_seen_time"); + + b.Property("LastSeenUserName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("last_seen_user_name"); + + b.Property("UserId") + .HasColumnType("uuid") + .HasColumnName("user_id"); + + b.HasKey("Id") + .HasName("PK_player"); + + b.HasAlternateKey("UserId") + .HasName("ak_player_user_id"); + + b.HasIndex("LastSeenUserName"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("player", null, t => + { + t.HasCheckConstraint("LastSeenAddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= last_seen_address"); + }); + }); + + modelBuilder.Entity("Content.Server.Database.Preference", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("preference_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("AdminOOCColor") + .IsRequired() + .HasColumnType("text") + .HasColumnName("admin_ooc_color"); + + b.Property("SelectedCharacterSlot") + .HasColumnType("integer") + .HasColumnName("selected_character_slot"); + + b.Property("UserId") + .HasColumnType("uuid") + .HasColumnName("user_id"); + + b.HasKey("Id") + .HasName("PK_preference"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("preference", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Profile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("profile_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Age") + .HasColumnType("integer") + .HasColumnName("age"); + + b.Property("CharacterName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("char_name"); + + b.Property("EyeColor") + .IsRequired() + .HasColumnType("text") + .HasColumnName("eye_color"); + + b.Property("FacialHairColor") + .IsRequired() + .HasColumnType("text") + .HasColumnName("facial_hair_color"); + + b.Property("FacialHairName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("facial_hair_name"); + + b.Property("FlavorText") + .IsRequired() + .HasColumnType("text") + .HasColumnName("flavor_text"); + + b.Property("Gender") + .IsRequired() + .HasColumnType("text") + .HasColumnName("gender"); + + b.Property("HairColor") + .IsRequired() + .HasColumnType("text") + .HasColumnName("hair_color"); + + b.Property("HairName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("hair_name"); + + b.Property("Markings") + .HasColumnType("jsonb") + .HasColumnName("markings"); + + b.Property("PreferenceId") + .HasColumnType("integer") + .HasColumnName("preference_id"); + + b.Property("PreferenceUnavailable") + .HasColumnType("integer") + .HasColumnName("pref_unavailable"); + + b.Property("Sex") + .IsRequired() + .HasColumnType("text") + .HasColumnName("sex"); + + b.Property("SkinColor") + .IsRequired() + .HasColumnType("text") + .HasColumnName("skin_color"); + + b.Property("Slot") + .HasColumnType("integer") + .HasColumnName("slot"); + + b.Property("SpawnPriority") + .HasColumnType("integer") + .HasColumnName("spawn_priority"); + + b.Property("Species") + .IsRequired() + .HasColumnType("text") + .HasColumnName("species"); + + b.HasKey("Id") + .HasName("PK_profile"); + + b.HasIndex("PreferenceId") + .HasDatabaseName("IX_profile_preference_id"); + + b.HasIndex("Slot", "PreferenceId") + .IsUnique(); + + b.ToTable("profile", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileLoadout", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("profile_loadout_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("LoadoutName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("loadout_name"); + + b.Property("ProfileLoadoutGroupId") + .HasColumnType("integer") + .HasColumnName("profile_loadout_group_id"); + + b.HasKey("Id") + .HasName("PK_profile_loadout"); + + b.HasIndex("ProfileLoadoutGroupId"); + + b.ToTable("profile_loadout", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileLoadoutGroup", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("profile_loadout_group_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("GroupName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("group_name"); + + b.Property("ProfileRoleLoadoutId") + .HasColumnType("integer") + .HasColumnName("profile_role_loadout_id"); + + b.HasKey("Id") + .HasName("PK_profile_loadout_group"); + + b.HasIndex("ProfileRoleLoadoutId"); + + b.ToTable("profile_loadout_group", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileRoleLoadout", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("profile_role_loadout_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ProfileId") + .HasColumnType("integer") + .HasColumnName("profile_id"); + + b.Property("RoleName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("role_name"); + + b.HasKey("Id") + .HasName("PK_profile_role_loadout"); + + b.HasIndex("ProfileId"); + + b.ToTable("profile_role_loadout", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.RoleWhitelist", b => + { + b.Property("PlayerUserId") + .HasColumnType("uuid") + .HasColumnName("player_user_id"); + + b.Property("RoleId") + .HasColumnType("text") + .HasColumnName("role_id"); + + b.HasKey("PlayerUserId", "RoleId") + .HasName("PK_role_whitelists"); + + b.ToTable("role_whitelists", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Round", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("round_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ServerId") + .HasColumnType("integer") + .HasColumnName("server_id"); + + b.Property("StartDate") + .HasColumnType("timestamp with time zone") + .HasColumnName("start_date"); + + b.HasKey("Id") + .HasName("PK_round"); + + b.HasIndex("ServerId") + .HasDatabaseName("IX_round_server_id"); + + b.HasIndex("StartDate"); + + b.ToTable("round", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Server", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("server_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Name") + .IsRequired() + .HasColumnType("text") + .HasColumnName("name"); + + b.HasKey("Id") + .HasName("PK_server"); + + b.ToTable("server", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.ServerBan", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("server_ban_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Address") + .HasColumnType("inet") + .HasColumnName("address"); + + b.Property("AutoDelete") + .HasColumnType("boolean") + .HasColumnName("auto_delete"); + + b.Property("BanTime") + .HasColumnType("timestamp with time zone") + .HasColumnName("ban_time"); + + b.Property("BanningAdmin") + .HasColumnType("uuid") + .HasColumnName("banning_admin"); + + b.Property("ExemptFlags") + .HasColumnType("integer") + .HasColumnName("exempt_flags"); + + b.Property("ExpirationTime") + .HasColumnType("timestamp with time zone") + .HasColumnName("expiration_time"); + + b.Property("Hidden") + .HasColumnType("boolean") + .HasColumnName("hidden"); + + b.Property("LastEditedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("last_edited_at"); + + b.Property("LastEditedById") + .HasColumnType("uuid") + .HasColumnName("last_edited_by_id"); + + b.Property("PlayerUserId") + .HasColumnType("uuid") + .HasColumnName("player_user_id"); + + b.Property("PlaytimeAtNote") + .HasColumnType("interval") + .HasColumnName("playtime_at_note"); + + b.Property("Reason") + .IsRequired() + .HasColumnType("text") + .HasColumnName("reason"); + + b.Property("RoundId") + .HasColumnType("integer") + .HasColumnName("round_id"); + + b.Property("Severity") + .HasColumnType("integer") + .HasColumnName("severity"); + + b.HasKey("Id") + .HasName("PK_server_ban"); + + b.HasIndex("Address"); + + b.HasIndex("BanningAdmin"); + + b.HasIndex("LastEditedById"); + + b.HasIndex("PlayerUserId") + .HasDatabaseName("IX_server_ban_player_user_id"); + + b.HasIndex("RoundId") + .HasDatabaseName("IX_server_ban_round_id"); + + b.ToTable("server_ban", null, t => + { + t.HasCheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address"); + + t.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR player_user_id IS NOT NULL OR hwid IS NOT NULL"); + }); + }); + + modelBuilder.Entity("Content.Server.Database.ServerBanExemption", b => + { + b.Property("UserId") + .ValueGeneratedOnAdd() + .HasColumnType("uuid") + .HasColumnName("user_id"); + + b.Property("Flags") + .HasColumnType("integer") + .HasColumnName("flags"); + + b.HasKey("UserId") + .HasName("PK_server_ban_exemption"); + + b.ToTable("server_ban_exemption", null, t => + { + t.HasCheckConstraint("FlagsNotZero", "flags != 0"); + }); + }); + + modelBuilder.Entity("Content.Server.Database.ServerBanHit", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("server_ban_hit_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("BanId") + .HasColumnType("integer") + .HasColumnName("ban_id"); + + b.Property("ConnectionId") + .HasColumnType("integer") + .HasColumnName("connection_id"); + + b.HasKey("Id") + .HasName("PK_server_ban_hit"); + + b.HasIndex("BanId") + .HasDatabaseName("IX_server_ban_hit_ban_id"); + + b.HasIndex("ConnectionId") + .HasDatabaseName("IX_server_ban_hit_connection_id"); + + b.ToTable("server_ban_hit", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("server_role_ban_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Address") + .HasColumnType("inet") + .HasColumnName("address"); + + b.Property("BanTime") + .HasColumnType("timestamp with time zone") + .HasColumnName("ban_time"); + + b.Property("BanningAdmin") + .HasColumnType("uuid") + .HasColumnName("banning_admin"); + + b.Property("ExpirationTime") + .HasColumnType("timestamp with time zone") + .HasColumnName("expiration_time"); + + b.Property("Hidden") + .HasColumnType("boolean") + .HasColumnName("hidden"); + + b.Property("LastEditedAt") + .HasColumnType("timestamp with time zone") + .HasColumnName("last_edited_at"); + + b.Property("LastEditedById") + .HasColumnType("uuid") + .HasColumnName("last_edited_by_id"); + + b.Property("PlayerUserId") + .HasColumnType("uuid") + .HasColumnName("player_user_id"); + + b.Property("PlaytimeAtNote") + .HasColumnType("interval") + .HasColumnName("playtime_at_note"); + + b.Property("Reason") + .IsRequired() + .HasColumnType("text") + .HasColumnName("reason"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("text") + .HasColumnName("role_id"); + + b.Property("RoundId") + .HasColumnType("integer") + .HasColumnName("round_id"); + + b.Property("Severity") + .HasColumnType("integer") + .HasColumnName("severity"); + + b.HasKey("Id") + .HasName("PK_server_role_ban"); + + b.HasIndex("Address"); + + b.HasIndex("BanningAdmin"); + + b.HasIndex("LastEditedById"); + + b.HasIndex("PlayerUserId") + .HasDatabaseName("IX_server_role_ban_player_user_id"); + + b.HasIndex("RoundId") + .HasDatabaseName("IX_server_role_ban_round_id"); + + b.ToTable("server_role_ban", null, t => + { + t.HasCheckConstraint("AddressNotIPv6MappedIPv4", "NOT inet '::ffff:0.0.0.0/96' >>= address"); + + t.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR player_user_id IS NOT NULL OR hwid IS NOT NULL"); + }); + }); + + modelBuilder.Entity("Content.Server.Database.ServerRoleUnban", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("role_unban_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("BanId") + .HasColumnType("integer") + .HasColumnName("ban_id"); + + b.Property("UnbanTime") + .HasColumnType("timestamp with time zone") + .HasColumnName("unban_time"); + + b.Property("UnbanningAdmin") + .HasColumnType("uuid") + .HasColumnName("unbanning_admin"); + + b.HasKey("Id") + .HasName("PK_server_role_unban"); + + b.HasIndex("BanId") + .IsUnique(); + + b.ToTable("server_role_unban", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.ServerUnban", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("unban_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("BanId") + .HasColumnType("integer") + .HasColumnName("ban_id"); + + b.Property("UnbanTime") + .HasColumnType("timestamp with time zone") + .HasColumnName("unban_time"); + + b.Property("UnbanningAdmin") + .HasColumnType("uuid") + .HasColumnName("unbanning_admin"); + + b.HasKey("Id") + .HasName("PK_server_unban"); + + b.HasIndex("BanId") + .IsUnique(); + + b.ToTable("server_unban", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Trait", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("trait_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("ProfileId") + .HasColumnType("integer") + .HasColumnName("profile_id"); + + b.Property("TraitName") + .IsRequired() + .HasColumnType("text") + .HasColumnName("trait_name"); + + b.HasKey("Id") + .HasName("PK_trait"); + + b.HasIndex("ProfileId", "TraitName") + .IsUnique(); + + b.ToTable("trait", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.UploadedResourceLog", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasColumnName("uploaded_resource_log_id"); + + NpgsqlPropertyBuilderExtensions.UseIdentityByDefaultColumn(b.Property("Id")); + + b.Property("Data") + .IsRequired() + .HasColumnType("bytea") + .HasColumnName("data"); + + b.Property("Date") + .HasColumnType("timestamp with time zone") + .HasColumnName("date"); + + b.Property("Path") + .IsRequired() + .HasColumnType("text") + .HasColumnName("path"); + + b.Property("UserId") + .HasColumnType("uuid") + .HasColumnName("user_id"); + + b.HasKey("Id") + .HasName("PK_uploaded_resource_log"); + + b.ToTable("uploaded_resource_log", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Whitelist", b => + { + b.Property("UserId") + .ValueGeneratedOnAdd() + .HasColumnType("uuid") + .HasColumnName("user_id"); + + b.HasKey("UserId") + .HasName("PK_whitelist"); + + b.ToTable("whitelist", (string)null); + }); + + modelBuilder.Entity("PlayerRound", b => + { + b.Property("PlayersId") + .HasColumnType("integer") + .HasColumnName("players_id"); + + b.Property("RoundsId") + .HasColumnType("integer") + .HasColumnName("rounds_id"); + + b.HasKey("PlayersId", "RoundsId") + .HasName("PK_player_round"); + + b.HasIndex("RoundsId") + .HasDatabaseName("IX_player_round_rounds_id"); + + b.ToTable("player_round", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Admin", b => + { + b.HasOne("Content.Server.Database.AdminRank", "AdminRank") + .WithMany("Admins") + .HasForeignKey("AdminRankId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_admin_rank_admin_rank_id"); + + b.Navigation("AdminRank"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminFlag", b => + { + b.HasOne("Content.Server.Database.Admin", "Admin") + .WithMany("Flags") + .HasForeignKey("AdminId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_admin_flag_admin_admin_id"); + + b.Navigation("Admin"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminLog", b => + { + b.HasOne("Content.Server.Database.Round", "Round") + .WithMany("AdminLogs") + .HasForeignKey("RoundId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_admin_log_round_round_id"); + + b.Navigation("Round"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b => + { + b.HasOne("Content.Server.Database.Player", "Player") + .WithMany("AdminLogs") + .HasForeignKey("PlayerUserId") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_admin_log_player_player_player_user_id"); + + b.HasOne("Content.Server.Database.AdminLog", "Log") + .WithMany("Players") + .HasForeignKey("RoundId", "LogId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_admin_log_player_admin_log_round_id_log_id"); + + b.Navigation("Log"); + + b.Navigation("Player"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminMessage", b => + { + b.HasOne("Content.Server.Database.Player", "CreatedBy") + .WithMany("AdminMessagesCreated") + .HasForeignKey("CreatedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_messages_player_created_by_id"); + + b.HasOne("Content.Server.Database.Player", "DeletedBy") + .WithMany("AdminMessagesDeleted") + .HasForeignKey("DeletedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_messages_player_deleted_by_id"); + + b.HasOne("Content.Server.Database.Player", "LastEditedBy") + .WithMany("AdminMessagesLastEdited") + .HasForeignKey("LastEditedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_messages_player_last_edited_by_id"); + + b.HasOne("Content.Server.Database.Player", "Player") + .WithMany("AdminMessagesReceived") + .HasForeignKey("PlayerUserId") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("FK_admin_messages_player_player_user_id"); + + b.HasOne("Content.Server.Database.Round", "Round") + .WithMany() + .HasForeignKey("RoundId") + .HasConstraintName("FK_admin_messages_round_round_id"); + + b.Navigation("CreatedBy"); + + b.Navigation("DeletedBy"); + + b.Navigation("LastEditedBy"); + + b.Navigation("Player"); + + b.Navigation("Round"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminNote", b => + { + b.HasOne("Content.Server.Database.Player", "CreatedBy") + .WithMany("AdminNotesCreated") + .HasForeignKey("CreatedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_notes_player_created_by_id"); + + b.HasOne("Content.Server.Database.Player", "DeletedBy") + .WithMany("AdminNotesDeleted") + .HasForeignKey("DeletedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_notes_player_deleted_by_id"); + + b.HasOne("Content.Server.Database.Player", "LastEditedBy") + .WithMany("AdminNotesLastEdited") + .HasForeignKey("LastEditedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_notes_player_last_edited_by_id"); + + b.HasOne("Content.Server.Database.Player", "Player") + .WithMany("AdminNotesReceived") + .HasForeignKey("PlayerUserId") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("FK_admin_notes_player_player_user_id"); + + b.HasOne("Content.Server.Database.Round", "Round") + .WithMany() + .HasForeignKey("RoundId") + .HasConstraintName("FK_admin_notes_round_round_id"); + + b.Navigation("CreatedBy"); + + b.Navigation("DeletedBy"); + + b.Navigation("LastEditedBy"); + + b.Navigation("Player"); + + b.Navigation("Round"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b => + { + b.HasOne("Content.Server.Database.AdminRank", "Rank") + .WithMany("Flags") + .HasForeignKey("AdminRankId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_admin_rank_flag_admin_rank_admin_rank_id"); + + b.Navigation("Rank"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminWatchlist", b => + { + b.HasOne("Content.Server.Database.Player", "CreatedBy") + .WithMany("AdminWatchlistsCreated") + .HasForeignKey("CreatedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_watchlists_player_created_by_id"); + + b.HasOne("Content.Server.Database.Player", "DeletedBy") + .WithMany("AdminWatchlistsDeleted") + .HasForeignKey("DeletedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_watchlists_player_deleted_by_id"); + + b.HasOne("Content.Server.Database.Player", "LastEditedBy") + .WithMany("AdminWatchlistsLastEdited") + .HasForeignKey("LastEditedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_watchlists_player_last_edited_by_id"); + + b.HasOne("Content.Server.Database.Player", "Player") + .WithMany("AdminWatchlistsReceived") + .HasForeignKey("PlayerUserId") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("FK_admin_watchlists_player_player_user_id"); + + b.HasOne("Content.Server.Database.Round", "Round") + .WithMany() + .HasForeignKey("RoundId") + .HasConstraintName("FK_admin_watchlists_round_round_id"); + + b.Navigation("CreatedBy"); + + b.Navigation("DeletedBy"); + + b.Navigation("LastEditedBy"); + + b.Navigation("Player"); + + b.Navigation("Round"); + }); + + modelBuilder.Entity("Content.Server.Database.Antag", b => + { + b.HasOne("Content.Server.Database.Profile", "Profile") + .WithMany("Antags") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_antag_profile_profile_id"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("Content.Server.Database.ConnectionLog", b => + { + b.HasOne("Content.Server.Database.Server", "Server") + .WithMany("ConnectionLogs") + .HasForeignKey("ServerId") + .OnDelete(DeleteBehavior.SetNull) + .IsRequired() + .HasConstraintName("FK_connection_log_server_server_id"); + + b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 => + { + b1.Property("ConnectionLogId") + .HasColumnType("integer") + .HasColumnName("connection_log_id"); + + b1.Property("Hwid") + .IsRequired() + .HasColumnType("bytea") + .HasColumnName("hwid"); + + b1.Property("Type") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("hwid_type"); + + b1.HasKey("ConnectionLogId"); + + b1.ToTable("connection_log"); + + b1.WithOwner() + .HasForeignKey("ConnectionLogId") + .HasConstraintName("FK_connection_log_connection_log_connection_log_id"); + }); + + b.Navigation("HWId"); + + b.Navigation("Server"); + }); + + modelBuilder.Entity("Content.Server.Database.Job", b => + { + b.HasOne("Content.Server.Database.Profile", "Profile") + .WithMany("Jobs") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_job_profile_profile_id"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("Content.Server.Database.Player", b => + { + b.OwnsOne("Content.Server.Database.TypedHwid", "LastSeenHWId", b1 => + { + b1.Property("PlayerId") + .HasColumnType("integer") + .HasColumnName("player_id"); + + b1.Property("Hwid") + .IsRequired() + .HasColumnType("bytea") + .HasColumnName("last_seen_hwid"); + + b1.Property("Type") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("last_seen_hwid_type"); + + b1.HasKey("PlayerId"); + + b1.ToTable("player"); + + b1.WithOwner() + .HasForeignKey("PlayerId") + .HasConstraintName("FK_player_player_player_id"); + }); + + b.Navigation("LastSeenHWId"); + }); + + modelBuilder.Entity("Content.Server.Database.Profile", b => + { + b.HasOne("Content.Server.Database.Preference", "Preference") + .WithMany("Profiles") + .HasForeignKey("PreferenceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_profile_preference_preference_id"); + + b.Navigation("Preference"); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileLoadout", b => + { + b.HasOne("Content.Server.Database.ProfileLoadoutGroup", "ProfileLoadoutGroup") + .WithMany("Loadouts") + .HasForeignKey("ProfileLoadoutGroupId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_profile_loadout_profile_loadout_group_profile_loadout_group~"); + + b.Navigation("ProfileLoadoutGroup"); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileLoadoutGroup", b => + { + b.HasOne("Content.Server.Database.ProfileRoleLoadout", "ProfileRoleLoadout") + .WithMany("Groups") + .HasForeignKey("ProfileRoleLoadoutId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_profile_loadout_group_profile_role_loadout_profile_role_loa~"); + + b.Navigation("ProfileRoleLoadout"); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileRoleLoadout", b => + { + b.HasOne("Content.Server.Database.Profile", "Profile") + .WithMany("Loadouts") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_profile_role_loadout_profile_profile_id"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("Content.Server.Database.RoleWhitelist", b => + { + b.HasOne("Content.Server.Database.Player", "Player") + .WithMany("JobWhitelists") + .HasForeignKey("PlayerUserId") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_role_whitelists_player_player_user_id"); + + b.Navigation("Player"); + }); + + modelBuilder.Entity("Content.Server.Database.Round", b => + { + b.HasOne("Content.Server.Database.Server", "Server") + .WithMany("Rounds") + .HasForeignKey("ServerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_round_server_server_id"); + + b.Navigation("Server"); + }); + + modelBuilder.Entity("Content.Server.Database.ServerBan", b => + { + b.HasOne("Content.Server.Database.Player", "CreatedBy") + .WithMany("AdminServerBansCreated") + .HasForeignKey("BanningAdmin") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_server_ban_player_banning_admin"); + + b.HasOne("Content.Server.Database.Player", "LastEditedBy") + .WithMany("AdminServerBansLastEdited") + .HasForeignKey("LastEditedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_server_ban_player_last_edited_by_id"); + + b.HasOne("Content.Server.Database.Round", "Round") + .WithMany() + .HasForeignKey("RoundId") + .HasConstraintName("FK_server_ban_round_round_id"); + + b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 => + { + b1.Property("ServerBanId") + .HasColumnType("integer") + .HasColumnName("server_ban_id"); + + b1.Property("Hwid") + .IsRequired() + .HasColumnType("bytea") + .HasColumnName("hwid"); + + b1.Property("Type") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("hwid_type"); + + b1.HasKey("ServerBanId"); + + b1.ToTable("server_ban"); + + b1.WithOwner() + .HasForeignKey("ServerBanId") + .HasConstraintName("FK_server_ban_server_ban_server_ban_id"); + }); + + b.Navigation("CreatedBy"); + + b.Navigation("HWId"); + + b.Navigation("LastEditedBy"); + + b.Navigation("Round"); + }); + + modelBuilder.Entity("Content.Server.Database.ServerBanHit", b => + { + b.HasOne("Content.Server.Database.ServerBan", "Ban") + .WithMany("BanHits") + .HasForeignKey("BanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_server_ban_hit_server_ban_ban_id"); + + b.HasOne("Content.Server.Database.ConnectionLog", "Connection") + .WithMany("BanHits") + .HasForeignKey("ConnectionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_server_ban_hit_connection_log_connection_id"); + + b.Navigation("Ban"); + + b.Navigation("Connection"); + }); + + modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b => + { + b.HasOne("Content.Server.Database.Player", "CreatedBy") + .WithMany("AdminServerRoleBansCreated") + .HasForeignKey("BanningAdmin") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_server_role_ban_player_banning_admin"); + + b.HasOne("Content.Server.Database.Player", "LastEditedBy") + .WithMany("AdminServerRoleBansLastEdited") + .HasForeignKey("LastEditedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_server_role_ban_player_last_edited_by_id"); + + b.HasOne("Content.Server.Database.Round", "Round") + .WithMany() + .HasForeignKey("RoundId") + .HasConstraintName("FK_server_role_ban_round_round_id"); + + b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 => + { + b1.Property("ServerRoleBanId") + .HasColumnType("integer") + .HasColumnName("server_role_ban_id"); + + b1.Property("Hwid") + .IsRequired() + .HasColumnType("bytea") + .HasColumnName("hwid"); + + b1.Property("Type") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("hwid_type"); + + b1.HasKey("ServerRoleBanId"); + + b1.ToTable("server_role_ban"); + + b1.WithOwner() + .HasForeignKey("ServerRoleBanId") + .HasConstraintName("FK_server_role_ban_server_role_ban_server_role_ban_id"); + }); + + b.Navigation("CreatedBy"); + + b.Navigation("HWId"); + + b.Navigation("LastEditedBy"); + + b.Navigation("Round"); + }); + + modelBuilder.Entity("Content.Server.Database.ServerRoleUnban", b => + { + b.HasOne("Content.Server.Database.ServerRoleBan", "Ban") + .WithOne("Unban") + .HasForeignKey("Content.Server.Database.ServerRoleUnban", "BanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_server_role_unban_server_role_ban_ban_id"); + + b.Navigation("Ban"); + }); + + modelBuilder.Entity("Content.Server.Database.ServerUnban", b => + { + b.HasOne("Content.Server.Database.ServerBan", "Ban") + .WithOne("Unban") + .HasForeignKey("Content.Server.Database.ServerUnban", "BanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_server_unban_server_ban_ban_id"); + + b.Navigation("Ban"); + }); + + modelBuilder.Entity("Content.Server.Database.Trait", b => + { + b.HasOne("Content.Server.Database.Profile", "Profile") + .WithMany("Traits") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_trait_profile_profile_id"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("PlayerRound", b => + { + b.HasOne("Content.Server.Database.Player", null) + .WithMany() + .HasForeignKey("PlayersId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_player_round_player_players_id"); + + b.HasOne("Content.Server.Database.Round", null) + .WithMany() + .HasForeignKey("RoundsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_player_round_round_rounds_id"); + }); + + modelBuilder.Entity("Content.Server.Database.Admin", b => + { + b.Navigation("Flags"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminLog", b => + { + b.Navigation("Players"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminRank", b => + { + b.Navigation("Admins"); + + b.Navigation("Flags"); + }); + + modelBuilder.Entity("Content.Server.Database.ConnectionLog", b => + { + b.Navigation("BanHits"); + }); + + modelBuilder.Entity("Content.Server.Database.Player", b => + { + b.Navigation("AdminLogs"); + + b.Navigation("AdminMessagesCreated"); + + b.Navigation("AdminMessagesDeleted"); + + b.Navigation("AdminMessagesLastEdited"); + + b.Navigation("AdminMessagesReceived"); + + b.Navigation("AdminNotesCreated"); + + b.Navigation("AdminNotesDeleted"); + + b.Navigation("AdminNotesLastEdited"); + + b.Navigation("AdminNotesReceived"); + + b.Navigation("AdminServerBansCreated"); + + b.Navigation("AdminServerBansLastEdited"); + + b.Navigation("AdminServerRoleBansCreated"); + + b.Navigation("AdminServerRoleBansLastEdited"); + + b.Navigation("AdminWatchlistsCreated"); + + b.Navigation("AdminWatchlistsDeleted"); + + b.Navigation("AdminWatchlistsLastEdited"); + + b.Navigation("AdminWatchlistsReceived"); + + b.Navigation("JobWhitelists"); + }); + + modelBuilder.Entity("Content.Server.Database.Preference", b => + { + b.Navigation("Profiles"); + }); + + modelBuilder.Entity("Content.Server.Database.Profile", b => + { + b.Navigation("Antags"); + + b.Navigation("Jobs"); + + b.Navigation("Loadouts"); + + b.Navigation("Traits"); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileLoadoutGroup", b => + { + b.Navigation("Loadouts"); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileRoleLoadout", b => + { + b.Navigation("Groups"); + }); + + modelBuilder.Entity("Content.Server.Database.Round", b => + { + b.Navigation("AdminLogs"); + }); + + modelBuilder.Entity("Content.Server.Database.Server", b => + { + b.Navigation("ConnectionLogs"); + + b.Navigation("Rounds"); + }); + + modelBuilder.Entity("Content.Server.Database.ServerBan", b => + { + b.Navigation("BanHits"); + + b.Navigation("Unban"); + }); + + modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b => + { + b.Navigation("Unban"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Content.Server.Database/Migrations/Postgres/20241111193608_ConnectionTrust.cs b/Content.Server.Database/Migrations/Postgres/20241111193608_ConnectionTrust.cs new file mode 100644 index 0000000000..debb36aacc --- /dev/null +++ b/Content.Server.Database/Migrations/Postgres/20241111193608_ConnectionTrust.cs @@ -0,0 +1,29 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Content.Server.Database.Migrations.Postgres +{ + /// + public partial class ConnectionTrust : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "trust", + table: "connection_log", + type: "real", + nullable: false, + defaultValue: 0f); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "trust", + table: "connection_log"); + } + } +} diff --git a/Content.Server.Database/Migrations/Postgres/PostgresServerDbContextModelSnapshot.cs b/Content.Server.Database/Migrations/Postgres/PostgresServerDbContextModelSnapshot.cs index 1f64f6e51a..7544438631 100644 --- a/Content.Server.Database/Migrations/Postgres/PostgresServerDbContextModelSnapshot.cs +++ b/Content.Server.Database/Migrations/Postgres/PostgresServerDbContextModelSnapshot.cs @@ -512,20 +512,6 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.ToTable("assigned_user_id", (string)null); }); - modelBuilder.Entity("Content.Server.Database.Blacklist", - b => - { - b.Property("UserId") - .ValueGeneratedOnAdd() - .HasColumnType("uuid") - .HasColumnName("user_id"); - - b.HasKey("UserId") - .HasName("PK_blacklist"); - - b.ToTable("blacklist", (string) null); - }); - modelBuilder.Entity("Content.Server.Database.BanTemplate", b => { b.Property("Id") @@ -571,6 +557,19 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.ToTable("ban_template", (string)null); }); + modelBuilder.Entity("Content.Server.Database.Blacklist", b => + { + b.Property("UserId") + .ValueGeneratedOnAdd() + .HasColumnType("uuid") + .HasColumnName("user_id"); + + b.HasKey("UserId") + .HasName("PK_blacklist"); + + b.ToTable("blacklist", (string)null); + }); + modelBuilder.Entity("Content.Server.Database.ConnectionLog", b => { b.Property("Id") @@ -589,10 +588,6 @@ protected override void BuildModel(ModelBuilder modelBuilder) .HasColumnType("smallint") .HasColumnName("denied"); - b.Property("HWId") - .HasColumnType("bytea") - .HasColumnName("hwid"); - b.Property("ServerId") .ValueGeneratedOnAdd() .HasColumnType("integer") @@ -603,6 +598,10 @@ protected override void BuildModel(ModelBuilder modelBuilder) .HasColumnType("timestamp with time zone") .HasColumnName("time"); + b.Property("Trust") + .HasColumnType("real") + .HasColumnName("trust"); + b.Property("UserId") .HasColumnType("uuid") .HasColumnName("user_id"); @@ -718,10 +717,6 @@ protected override void BuildModel(ModelBuilder modelBuilder) .HasColumnType("inet") .HasColumnName("last_seen_address"); - b.Property("LastSeenHWId") - .HasColumnType("bytea") - .HasColumnName("last_seen_hwid"); - b.Property("LastSeenTime") .HasColumnType("timestamp with time zone") .HasColumnName("last_seen_time"); @@ -1058,10 +1053,6 @@ protected override void BuildModel(ModelBuilder modelBuilder) .HasColumnType("timestamp with time zone") .HasColumnName("expiration_time"); - b.Property("HWId") - .HasColumnType("bytea") - .HasColumnName("hwid"); - b.Property("Hidden") .HasColumnType("boolean") .HasColumnName("hidden"); @@ -1192,10 +1183,6 @@ protected override void BuildModel(ModelBuilder modelBuilder) .HasColumnType("timestamp with time zone") .HasColumnName("expiration_time"); - b.Property("HWId") - .HasColumnType("bytea") - .HasColumnName("hwid"); - b.Property("Hidden") .HasColumnType("boolean") .HasColumnName("hidden"); @@ -1637,6 +1624,34 @@ protected override void BuildModel(ModelBuilder modelBuilder) .IsRequired() .HasConstraintName("FK_connection_log_server_server_id"); + b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 => + { + b1.Property("ConnectionLogId") + .HasColumnType("integer") + .HasColumnName("connection_log_id"); + + b1.Property("Hwid") + .IsRequired() + .HasColumnType("bytea") + .HasColumnName("hwid"); + + b1.Property("Type") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("hwid_type"); + + b1.HasKey("ConnectionLogId"); + + b1.ToTable("connection_log"); + + b1.WithOwner() + .HasForeignKey("ConnectionLogId") + .HasConstraintName("FK_connection_log_connection_log_connection_log_id"); + }); + + b.Navigation("HWId"); + b.Navigation("Server"); }); @@ -1652,6 +1667,37 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.Navigation("Profile"); }); + modelBuilder.Entity("Content.Server.Database.Player", b => + { + b.OwnsOne("Content.Server.Database.TypedHwid", "LastSeenHWId", b1 => + { + b1.Property("PlayerId") + .HasColumnType("integer") + .HasColumnName("player_id"); + + b1.Property("Hwid") + .IsRequired() + .HasColumnType("bytea") + .HasColumnName("last_seen_hwid"); + + b1.Property("Type") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("last_seen_hwid_type"); + + b1.HasKey("PlayerId"); + + b1.ToTable("player"); + + b1.WithOwner() + .HasForeignKey("PlayerId") + .HasConstraintName("FK_player_player_player_id"); + }); + + b.Navigation("LastSeenHWId"); + }); + modelBuilder.Entity("Content.Server.Database.Profile", b => { b.HasOne("Content.Server.Database.Preference", "Preference") @@ -1746,8 +1792,36 @@ protected override void BuildModel(ModelBuilder modelBuilder) .HasForeignKey("RoundId") .HasConstraintName("FK_server_ban_round_round_id"); + b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 => + { + b1.Property("ServerBanId") + .HasColumnType("integer") + .HasColumnName("server_ban_id"); + + b1.Property("Hwid") + .IsRequired() + .HasColumnType("bytea") + .HasColumnName("hwid"); + + b1.Property("Type") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("hwid_type"); + + b1.HasKey("ServerBanId"); + + b1.ToTable("server_ban"); + + b1.WithOwner() + .HasForeignKey("ServerBanId") + .HasConstraintName("FK_server_ban_server_ban_server_ban_id"); + }); + b.Navigation("CreatedBy"); + b.Navigation("HWId"); + b.Navigation("LastEditedBy"); b.Navigation("Round"); @@ -1795,8 +1869,36 @@ protected override void BuildModel(ModelBuilder modelBuilder) .HasForeignKey("RoundId") .HasConstraintName("FK_server_role_ban_round_round_id"); + b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 => + { + b1.Property("ServerRoleBanId") + .HasColumnType("integer") + .HasColumnName("server_role_ban_id"); + + b1.Property("Hwid") + .IsRequired() + .HasColumnType("bytea") + .HasColumnName("hwid"); + + b1.Property("Type") + .ValueGeneratedOnAdd() + .HasColumnType("integer") + .HasDefaultValue(0) + .HasColumnName("hwid_type"); + + b1.HasKey("ServerRoleBanId"); + + b1.ToTable("server_role_ban"); + + b1.WithOwner() + .HasForeignKey("ServerRoleBanId") + .HasConstraintName("FK_server_role_ban_server_role_ban_server_role_ban_id"); + }); + b.Navigation("CreatedBy"); + b.Navigation("HWId"); + b.Navigation("LastEditedBy"); b.Navigation("Round"); diff --git a/Content.Server.Database/Migrations/Sqlite/20241111170107_ModernHwid.Designer.cs b/Content.Server.Database/Migrations/Sqlite/20241111170107_ModernHwid.Designer.cs new file mode 100644 index 0000000000..56a9fe0a05 --- /dev/null +++ b/Content.Server.Database/Migrations/Sqlite/20241111170107_ModernHwid.Designer.cs @@ -0,0 +1,1995 @@ +// +using System; +using Content.Server.Database; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace Content.Server.Database.Migrations.Sqlite +{ + [DbContext(typeof(SqliteServerDbContext))] + [Migration("20241111170107_ModernHwid")] + partial class ModernHwid + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder.HasAnnotation("ProductVersion", "8.0.0"); + + modelBuilder.Entity("Content.Server.Database.Admin", b => + { + b.Property("UserId") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT") + .HasColumnName("user_id"); + + b.Property("AdminRankId") + .HasColumnType("INTEGER") + .HasColumnName("admin_rank_id"); + + b.Property("Title") + .HasColumnType("TEXT") + .HasColumnName("title"); + + b.HasKey("UserId") + .HasName("PK_admin"); + + b.HasIndex("AdminRankId") + .HasDatabaseName("IX_admin_admin_rank_id"); + + b.ToTable("admin", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AdminFlag", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("admin_flag_id"); + + b.Property("AdminId") + .HasColumnType("TEXT") + .HasColumnName("admin_id"); + + b.Property("Flag") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("flag"); + + b.Property("Negative") + .HasColumnType("INTEGER") + .HasColumnName("negative"); + + b.HasKey("Id") + .HasName("PK_admin_flag"); + + b.HasIndex("AdminId") + .HasDatabaseName("IX_admin_flag_admin_id"); + + b.HasIndex("Flag", "AdminId") + .IsUnique(); + + b.ToTable("admin_flag", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AdminLog", b => + { + b.Property("RoundId") + .HasColumnType("INTEGER") + .HasColumnName("round_id"); + + b.Property("Id") + .HasColumnType("INTEGER") + .HasColumnName("admin_log_id"); + + b.Property("Date") + .HasColumnType("TEXT") + .HasColumnName("date"); + + b.Property("Impact") + .HasColumnType("INTEGER") + .HasColumnName("impact"); + + b.Property("Json") + .IsRequired() + .HasColumnType("jsonb") + .HasColumnName("json"); + + b.Property("Message") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("message"); + + b.Property("Type") + .HasColumnType("INTEGER") + .HasColumnName("type"); + + b.HasKey("RoundId", "Id") + .HasName("PK_admin_log"); + + b.HasIndex("Date"); + + b.HasIndex("Type") + .HasDatabaseName("IX_admin_log_type"); + + b.ToTable("admin_log", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b => + { + b.Property("RoundId") + .HasColumnType("INTEGER") + .HasColumnName("round_id"); + + b.Property("LogId") + .HasColumnType("INTEGER") + .HasColumnName("log_id"); + + b.Property("PlayerUserId") + .HasColumnType("TEXT") + .HasColumnName("player_user_id"); + + b.HasKey("RoundId", "LogId", "PlayerUserId") + .HasName("PK_admin_log_player"); + + b.HasIndex("PlayerUserId") + .HasDatabaseName("IX_admin_log_player_player_user_id"); + + b.ToTable("admin_log_player", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AdminMessage", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("admin_messages_id"); + + b.Property("CreatedAt") + .HasColumnType("TEXT") + .HasColumnName("created_at"); + + b.Property("CreatedById") + .HasColumnType("TEXT") + .HasColumnName("created_by_id"); + + b.Property("Deleted") + .HasColumnType("INTEGER") + .HasColumnName("deleted"); + + b.Property("DeletedAt") + .HasColumnType("TEXT") + .HasColumnName("deleted_at"); + + b.Property("DeletedById") + .HasColumnType("TEXT") + .HasColumnName("deleted_by_id"); + + b.Property("Dismissed") + .HasColumnType("INTEGER") + .HasColumnName("dismissed"); + + b.Property("ExpirationTime") + .HasColumnType("TEXT") + .HasColumnName("expiration_time"); + + b.Property("LastEditedAt") + .HasColumnType("TEXT") + .HasColumnName("last_edited_at"); + + b.Property("LastEditedById") + .HasColumnType("TEXT") + .HasColumnName("last_edited_by_id"); + + b.Property("Message") + .IsRequired() + .HasMaxLength(4096) + .HasColumnType("TEXT") + .HasColumnName("message"); + + b.Property("PlayerUserId") + .HasColumnType("TEXT") + .HasColumnName("player_user_id"); + + b.Property("PlaytimeAtNote") + .HasColumnType("TEXT") + .HasColumnName("playtime_at_note"); + + b.Property("RoundId") + .HasColumnType("INTEGER") + .HasColumnName("round_id"); + + b.Property("Seen") + .HasColumnType("INTEGER") + .HasColumnName("seen"); + + b.HasKey("Id") + .HasName("PK_admin_messages"); + + b.HasIndex("CreatedById"); + + b.HasIndex("DeletedById"); + + b.HasIndex("LastEditedById"); + + b.HasIndex("PlayerUserId") + .HasDatabaseName("IX_admin_messages_player_user_id"); + + b.HasIndex("RoundId") + .HasDatabaseName("IX_admin_messages_round_id"); + + b.ToTable("admin_messages", null, t => + { + t.HasCheckConstraint("NotDismissedAndSeen", "NOT dismissed OR seen"); + }); + }); + + modelBuilder.Entity("Content.Server.Database.AdminNote", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("admin_notes_id"); + + b.Property("CreatedAt") + .HasColumnType("TEXT") + .HasColumnName("created_at"); + + b.Property("CreatedById") + .HasColumnType("TEXT") + .HasColumnName("created_by_id"); + + b.Property("Deleted") + .HasColumnType("INTEGER") + .HasColumnName("deleted"); + + b.Property("DeletedAt") + .HasColumnType("TEXT") + .HasColumnName("deleted_at"); + + b.Property("DeletedById") + .HasColumnType("TEXT") + .HasColumnName("deleted_by_id"); + + b.Property("ExpirationTime") + .HasColumnType("TEXT") + .HasColumnName("expiration_time"); + + b.Property("LastEditedAt") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("last_edited_at"); + + b.Property("LastEditedById") + .HasColumnType("TEXT") + .HasColumnName("last_edited_by_id"); + + b.Property("Message") + .IsRequired() + .HasMaxLength(4096) + .HasColumnType("TEXT") + .HasColumnName("message"); + + b.Property("PlayerUserId") + .HasColumnType("TEXT") + .HasColumnName("player_user_id"); + + b.Property("PlaytimeAtNote") + .HasColumnType("TEXT") + .HasColumnName("playtime_at_note"); + + b.Property("RoundId") + .HasColumnType("INTEGER") + .HasColumnName("round_id"); + + b.Property("Secret") + .HasColumnType("INTEGER") + .HasColumnName("secret"); + + b.Property("Severity") + .HasColumnType("INTEGER") + .HasColumnName("severity"); + + b.HasKey("Id") + .HasName("PK_admin_notes"); + + b.HasIndex("CreatedById"); + + b.HasIndex("DeletedById"); + + b.HasIndex("LastEditedById"); + + b.HasIndex("PlayerUserId") + .HasDatabaseName("IX_admin_notes_player_user_id"); + + b.HasIndex("RoundId") + .HasDatabaseName("IX_admin_notes_round_id"); + + b.ToTable("admin_notes", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AdminRank", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("admin_rank_id"); + + b.Property("Name") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("name"); + + b.HasKey("Id") + .HasName("PK_admin_rank"); + + b.ToTable("admin_rank", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("admin_rank_flag_id"); + + b.Property("AdminRankId") + .HasColumnType("INTEGER") + .HasColumnName("admin_rank_id"); + + b.Property("Flag") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("flag"); + + b.HasKey("Id") + .HasName("PK_admin_rank_flag"); + + b.HasIndex("AdminRankId"); + + b.HasIndex("Flag", "AdminRankId") + .IsUnique(); + + b.ToTable("admin_rank_flag", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AdminWatchlist", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("admin_watchlists_id"); + + b.Property("CreatedAt") + .HasColumnType("TEXT") + .HasColumnName("created_at"); + + b.Property("CreatedById") + .HasColumnType("TEXT") + .HasColumnName("created_by_id"); + + b.Property("Deleted") + .HasColumnType("INTEGER") + .HasColumnName("deleted"); + + b.Property("DeletedAt") + .HasColumnType("TEXT") + .HasColumnName("deleted_at"); + + b.Property("DeletedById") + .HasColumnType("TEXT") + .HasColumnName("deleted_by_id"); + + b.Property("ExpirationTime") + .HasColumnType("TEXT") + .HasColumnName("expiration_time"); + + b.Property("LastEditedAt") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("last_edited_at"); + + b.Property("LastEditedById") + .HasColumnType("TEXT") + .HasColumnName("last_edited_by_id"); + + b.Property("Message") + .IsRequired() + .HasMaxLength(4096) + .HasColumnType("TEXT") + .HasColumnName("message"); + + b.Property("PlayerUserId") + .HasColumnType("TEXT") + .HasColumnName("player_user_id"); + + b.Property("PlaytimeAtNote") + .HasColumnType("TEXT") + .HasColumnName("playtime_at_note"); + + b.Property("RoundId") + .HasColumnType("INTEGER") + .HasColumnName("round_id"); + + b.HasKey("Id") + .HasName("PK_admin_watchlists"); + + b.HasIndex("CreatedById"); + + b.HasIndex("DeletedById"); + + b.HasIndex("LastEditedById"); + + b.HasIndex("PlayerUserId") + .HasDatabaseName("IX_admin_watchlists_player_user_id"); + + b.HasIndex("RoundId") + .HasDatabaseName("IX_admin_watchlists_round_id"); + + b.ToTable("admin_watchlists", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Antag", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("antag_id"); + + b.Property("AntagName") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("antag_name"); + + b.Property("ProfileId") + .HasColumnType("INTEGER") + .HasColumnName("profile_id"); + + b.HasKey("Id") + .HasName("PK_antag"); + + b.HasIndex("ProfileId", "AntagName") + .IsUnique(); + + b.ToTable("antag", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AssignedUserId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("assigned_user_id_id"); + + b.Property("UserId") + .HasColumnType("TEXT") + .HasColumnName("user_id"); + + b.Property("UserName") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("user_name"); + + b.HasKey("Id") + .HasName("PK_assigned_user_id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.HasIndex("UserName") + .IsUnique(); + + b.ToTable("assigned_user_id", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.BanTemplate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("ban_template_id"); + + b.Property("AutoDelete") + .HasColumnType("INTEGER") + .HasColumnName("auto_delete"); + + b.Property("ExemptFlags") + .HasColumnType("INTEGER") + .HasColumnName("exempt_flags"); + + b.Property("Hidden") + .HasColumnType("INTEGER") + .HasColumnName("hidden"); + + b.Property("Length") + .HasColumnType("TEXT") + .HasColumnName("length"); + + b.Property("Reason") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("reason"); + + b.Property("Severity") + .HasColumnType("INTEGER") + .HasColumnName("severity"); + + b.Property("Title") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("title"); + + b.HasKey("Id") + .HasName("PK_ban_template"); + + b.ToTable("ban_template", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Blacklist", b => + { + b.Property("UserId") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT") + .HasColumnName("user_id"); + + b.HasKey("UserId") + .HasName("PK_blacklist"); + + b.ToTable("blacklist", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.ConnectionLog", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("connection_log_id"); + + b.Property("Address") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("address"); + + b.Property("Denied") + .HasColumnType("INTEGER") + .HasColumnName("denied"); + + b.Property("ServerId") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(0) + .HasColumnName("server_id"); + + b.Property("Time") + .HasColumnType("TEXT") + .HasColumnName("time"); + + b.Property("UserId") + .HasColumnType("TEXT") + .HasColumnName("user_id"); + + b.Property("UserName") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("user_name"); + + b.HasKey("Id") + .HasName("PK_connection_log"); + + b.HasIndex("ServerId") + .HasDatabaseName("IX_connection_log_server_id"); + + b.HasIndex("Time"); + + b.HasIndex("UserId"); + + b.ToTable("connection_log", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Job", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("job_id"); + + b.Property("JobName") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("job_name"); + + b.Property("Priority") + .HasColumnType("INTEGER") + .HasColumnName("priority"); + + b.Property("ProfileId") + .HasColumnType("INTEGER") + .HasColumnName("profile_id"); + + b.HasKey("Id") + .HasName("PK_job"); + + b.HasIndex("ProfileId"); + + b.HasIndex("ProfileId", "JobName") + .IsUnique(); + + b.HasIndex(new[] { "ProfileId" }, "IX_job_one_high_priority") + .IsUnique() + .HasFilter("priority = 3"); + + b.ToTable("job", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.PlayTime", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("play_time_id"); + + b.Property("PlayerId") + .HasColumnType("TEXT") + .HasColumnName("player_id"); + + b.Property("TimeSpent") + .HasColumnType("TEXT") + .HasColumnName("time_spent"); + + b.Property("Tracker") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("tracker"); + + b.HasKey("Id") + .HasName("PK_play_time"); + + b.HasIndex("PlayerId", "Tracker") + .IsUnique(); + + b.ToTable("play_time", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Player", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("player_id"); + + b.Property("FirstSeenTime") + .HasColumnType("TEXT") + .HasColumnName("first_seen_time"); + + b.Property("LastReadRules") + .HasColumnType("TEXT") + .HasColumnName("last_read_rules"); + + b.Property("LastSeenAddress") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("last_seen_address"); + + b.Property("LastSeenTime") + .HasColumnType("TEXT") + .HasColumnName("last_seen_time"); + + b.Property("LastSeenUserName") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("last_seen_user_name"); + + b.Property("UserId") + .HasColumnType("TEXT") + .HasColumnName("user_id"); + + b.HasKey("Id") + .HasName("PK_player"); + + b.HasAlternateKey("UserId") + .HasName("ak_player_user_id"); + + b.HasIndex("LastSeenUserName"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("player", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Preference", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("preference_id"); + + b.Property("AdminOOCColor") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("admin_ooc_color"); + + b.Property("SelectedCharacterSlot") + .HasColumnType("INTEGER") + .HasColumnName("selected_character_slot"); + + b.Property("UserId") + .HasColumnType("TEXT") + .HasColumnName("user_id"); + + b.HasKey("Id") + .HasName("PK_preference"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("preference", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Profile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("profile_id"); + + b.Property("Age") + .HasColumnType("INTEGER") + .HasColumnName("age"); + + b.Property("CharacterName") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("char_name"); + + b.Property("EyeColor") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("eye_color"); + + b.Property("FacialHairColor") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("facial_hair_color"); + + b.Property("FacialHairName") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("facial_hair_name"); + + b.Property("FlavorText") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("flavor_text"); + + b.Property("Gender") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("gender"); + + b.Property("HairColor") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("hair_color"); + + b.Property("HairName") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("hair_name"); + + b.Property("Markings") + .HasColumnType("jsonb") + .HasColumnName("markings"); + + b.Property("PreferenceId") + .HasColumnType("INTEGER") + .HasColumnName("preference_id"); + + b.Property("PreferenceUnavailable") + .HasColumnType("INTEGER") + .HasColumnName("pref_unavailable"); + + b.Property("Sex") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("sex"); + + b.Property("SkinColor") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("skin_color"); + + b.Property("Slot") + .HasColumnType("INTEGER") + .HasColumnName("slot"); + + b.Property("SpawnPriority") + .HasColumnType("INTEGER") + .HasColumnName("spawn_priority"); + + b.Property("Species") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("species"); + + b.HasKey("Id") + .HasName("PK_profile"); + + b.HasIndex("PreferenceId") + .HasDatabaseName("IX_profile_preference_id"); + + b.HasIndex("Slot", "PreferenceId") + .IsUnique(); + + b.ToTable("profile", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileLoadout", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("profile_loadout_id"); + + b.Property("LoadoutName") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("loadout_name"); + + b.Property("ProfileLoadoutGroupId") + .HasColumnType("INTEGER") + .HasColumnName("profile_loadout_group_id"); + + b.HasKey("Id") + .HasName("PK_profile_loadout"); + + b.HasIndex("ProfileLoadoutGroupId"); + + b.ToTable("profile_loadout", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileLoadoutGroup", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("profile_loadout_group_id"); + + b.Property("GroupName") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("group_name"); + + b.Property("ProfileRoleLoadoutId") + .HasColumnType("INTEGER") + .HasColumnName("profile_role_loadout_id"); + + b.HasKey("Id") + .HasName("PK_profile_loadout_group"); + + b.HasIndex("ProfileRoleLoadoutId"); + + b.ToTable("profile_loadout_group", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileRoleLoadout", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("profile_role_loadout_id"); + + b.Property("ProfileId") + .HasColumnType("INTEGER") + .HasColumnName("profile_id"); + + b.Property("RoleName") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("role_name"); + + b.HasKey("Id") + .HasName("PK_profile_role_loadout"); + + b.HasIndex("ProfileId"); + + b.ToTable("profile_role_loadout", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.RoleWhitelist", b => + { + b.Property("PlayerUserId") + .HasColumnType("TEXT") + .HasColumnName("player_user_id"); + + b.Property("RoleId") + .HasColumnType("TEXT") + .HasColumnName("role_id"); + + b.HasKey("PlayerUserId", "RoleId") + .HasName("PK_role_whitelists"); + + b.ToTable("role_whitelists", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Round", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("round_id"); + + b.Property("ServerId") + .HasColumnType("INTEGER") + .HasColumnName("server_id"); + + b.Property("StartDate") + .HasColumnType("TEXT") + .HasColumnName("start_date"); + + b.HasKey("Id") + .HasName("PK_round"); + + b.HasIndex("ServerId") + .HasDatabaseName("IX_round_server_id"); + + b.HasIndex("StartDate"); + + b.ToTable("round", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Server", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("server_id"); + + b.Property("Name") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("name"); + + b.HasKey("Id") + .HasName("PK_server"); + + b.ToTable("server", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.ServerBan", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("server_ban_id"); + + b.Property("Address") + .HasColumnType("TEXT") + .HasColumnName("address"); + + b.Property("AutoDelete") + .HasColumnType("INTEGER") + .HasColumnName("auto_delete"); + + b.Property("BanTime") + .HasColumnType("TEXT") + .HasColumnName("ban_time"); + + b.Property("BanningAdmin") + .HasColumnType("TEXT") + .HasColumnName("banning_admin"); + + b.Property("ExemptFlags") + .HasColumnType("INTEGER") + .HasColumnName("exempt_flags"); + + b.Property("ExpirationTime") + .HasColumnType("TEXT") + .HasColumnName("expiration_time"); + + b.Property("Hidden") + .HasColumnType("INTEGER") + .HasColumnName("hidden"); + + b.Property("LastEditedAt") + .HasColumnType("TEXT") + .HasColumnName("last_edited_at"); + + b.Property("LastEditedById") + .HasColumnType("TEXT") + .HasColumnName("last_edited_by_id"); + + b.Property("PlayerUserId") + .HasColumnType("TEXT") + .HasColumnName("player_user_id"); + + b.Property("PlaytimeAtNote") + .HasColumnType("TEXT") + .HasColumnName("playtime_at_note"); + + b.Property("Reason") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("reason"); + + b.Property("RoundId") + .HasColumnType("INTEGER") + .HasColumnName("round_id"); + + b.Property("Severity") + .HasColumnType("INTEGER") + .HasColumnName("severity"); + + b.HasKey("Id") + .HasName("PK_server_ban"); + + b.HasIndex("Address"); + + b.HasIndex("BanningAdmin"); + + b.HasIndex("LastEditedById"); + + b.HasIndex("PlayerUserId") + .HasDatabaseName("IX_server_ban_player_user_id"); + + b.HasIndex("RoundId") + .HasDatabaseName("IX_server_ban_round_id"); + + b.ToTable("server_ban", null, t => + { + t.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR player_user_id IS NOT NULL OR hwid IS NOT NULL"); + }); + }); + + modelBuilder.Entity("Content.Server.Database.ServerBanExemption", b => + { + b.Property("UserId") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT") + .HasColumnName("user_id"); + + b.Property("Flags") + .HasColumnType("INTEGER") + .HasColumnName("flags"); + + b.HasKey("UserId") + .HasName("PK_server_ban_exemption"); + + b.ToTable("server_ban_exemption", null, t => + { + t.HasCheckConstraint("FlagsNotZero", "flags != 0"); + }); + }); + + modelBuilder.Entity("Content.Server.Database.ServerBanHit", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("server_ban_hit_id"); + + b.Property("BanId") + .HasColumnType("INTEGER") + .HasColumnName("ban_id"); + + b.Property("ConnectionId") + .HasColumnType("INTEGER") + .HasColumnName("connection_id"); + + b.HasKey("Id") + .HasName("PK_server_ban_hit"); + + b.HasIndex("BanId") + .HasDatabaseName("IX_server_ban_hit_ban_id"); + + b.HasIndex("ConnectionId") + .HasDatabaseName("IX_server_ban_hit_connection_id"); + + b.ToTable("server_ban_hit", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("server_role_ban_id"); + + b.Property("Address") + .HasColumnType("TEXT") + .HasColumnName("address"); + + b.Property("BanTime") + .HasColumnType("TEXT") + .HasColumnName("ban_time"); + + b.Property("BanningAdmin") + .HasColumnType("TEXT") + .HasColumnName("banning_admin"); + + b.Property("ExpirationTime") + .HasColumnType("TEXT") + .HasColumnName("expiration_time"); + + b.Property("Hidden") + .HasColumnType("INTEGER") + .HasColumnName("hidden"); + + b.Property("LastEditedAt") + .HasColumnType("TEXT") + .HasColumnName("last_edited_at"); + + b.Property("LastEditedById") + .HasColumnType("TEXT") + .HasColumnName("last_edited_by_id"); + + b.Property("PlayerUserId") + .HasColumnType("TEXT") + .HasColumnName("player_user_id"); + + b.Property("PlaytimeAtNote") + .HasColumnType("TEXT") + .HasColumnName("playtime_at_note"); + + b.Property("Reason") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("reason"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("role_id"); + + b.Property("RoundId") + .HasColumnType("INTEGER") + .HasColumnName("round_id"); + + b.Property("Severity") + .HasColumnType("INTEGER") + .HasColumnName("severity"); + + b.HasKey("Id") + .HasName("PK_server_role_ban"); + + b.HasIndex("Address"); + + b.HasIndex("BanningAdmin"); + + b.HasIndex("LastEditedById"); + + b.HasIndex("PlayerUserId") + .HasDatabaseName("IX_server_role_ban_player_user_id"); + + b.HasIndex("RoundId") + .HasDatabaseName("IX_server_role_ban_round_id"); + + b.ToTable("server_role_ban", null, t => + { + t.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR player_user_id IS NOT NULL OR hwid IS NOT NULL"); + }); + }); + + modelBuilder.Entity("Content.Server.Database.ServerRoleUnban", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("role_unban_id"); + + b.Property("BanId") + .HasColumnType("INTEGER") + .HasColumnName("ban_id"); + + b.Property("UnbanTime") + .HasColumnType("TEXT") + .HasColumnName("unban_time"); + + b.Property("UnbanningAdmin") + .HasColumnType("TEXT") + .HasColumnName("unbanning_admin"); + + b.HasKey("Id") + .HasName("PK_server_role_unban"); + + b.HasIndex("BanId") + .IsUnique(); + + b.ToTable("server_role_unban", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.ServerUnban", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("unban_id"); + + b.Property("BanId") + .HasColumnType("INTEGER") + .HasColumnName("ban_id"); + + b.Property("UnbanTime") + .HasColumnType("TEXT") + .HasColumnName("unban_time"); + + b.Property("UnbanningAdmin") + .HasColumnType("TEXT") + .HasColumnName("unbanning_admin"); + + b.HasKey("Id") + .HasName("PK_server_unban"); + + b.HasIndex("BanId") + .IsUnique(); + + b.ToTable("server_unban", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Trait", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("trait_id"); + + b.Property("ProfileId") + .HasColumnType("INTEGER") + .HasColumnName("profile_id"); + + b.Property("TraitName") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("trait_name"); + + b.HasKey("Id") + .HasName("PK_trait"); + + b.HasIndex("ProfileId", "TraitName") + .IsUnique(); + + b.ToTable("trait", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.UploadedResourceLog", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("uploaded_resource_log_id"); + + b.Property("Data") + .IsRequired() + .HasColumnType("BLOB") + .HasColumnName("data"); + + b.Property("Date") + .HasColumnType("TEXT") + .HasColumnName("date"); + + b.Property("Path") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("path"); + + b.Property("UserId") + .HasColumnType("TEXT") + .HasColumnName("user_id"); + + b.HasKey("Id") + .HasName("PK_uploaded_resource_log"); + + b.ToTable("uploaded_resource_log", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Whitelist", b => + { + b.Property("UserId") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT") + .HasColumnName("user_id"); + + b.HasKey("UserId") + .HasName("PK_whitelist"); + + b.ToTable("whitelist", (string)null); + }); + + modelBuilder.Entity("PlayerRound", b => + { + b.Property("PlayersId") + .HasColumnType("INTEGER") + .HasColumnName("players_id"); + + b.Property("RoundsId") + .HasColumnType("INTEGER") + .HasColumnName("rounds_id"); + + b.HasKey("PlayersId", "RoundsId") + .HasName("PK_player_round"); + + b.HasIndex("RoundsId") + .HasDatabaseName("IX_player_round_rounds_id"); + + b.ToTable("player_round", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Admin", b => + { + b.HasOne("Content.Server.Database.AdminRank", "AdminRank") + .WithMany("Admins") + .HasForeignKey("AdminRankId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_admin_rank_admin_rank_id"); + + b.Navigation("AdminRank"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminFlag", b => + { + b.HasOne("Content.Server.Database.Admin", "Admin") + .WithMany("Flags") + .HasForeignKey("AdminId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_admin_flag_admin_admin_id"); + + b.Navigation("Admin"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminLog", b => + { + b.HasOne("Content.Server.Database.Round", "Round") + .WithMany("AdminLogs") + .HasForeignKey("RoundId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_admin_log_round_round_id"); + + b.Navigation("Round"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b => + { + b.HasOne("Content.Server.Database.Player", "Player") + .WithMany("AdminLogs") + .HasForeignKey("PlayerUserId") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_admin_log_player_player_player_user_id"); + + b.HasOne("Content.Server.Database.AdminLog", "Log") + .WithMany("Players") + .HasForeignKey("RoundId", "LogId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_admin_log_player_admin_log_round_id_log_id"); + + b.Navigation("Log"); + + b.Navigation("Player"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminMessage", b => + { + b.HasOne("Content.Server.Database.Player", "CreatedBy") + .WithMany("AdminMessagesCreated") + .HasForeignKey("CreatedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_messages_player_created_by_id"); + + b.HasOne("Content.Server.Database.Player", "DeletedBy") + .WithMany("AdminMessagesDeleted") + .HasForeignKey("DeletedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_messages_player_deleted_by_id"); + + b.HasOne("Content.Server.Database.Player", "LastEditedBy") + .WithMany("AdminMessagesLastEdited") + .HasForeignKey("LastEditedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_messages_player_last_edited_by_id"); + + b.HasOne("Content.Server.Database.Player", "Player") + .WithMany("AdminMessagesReceived") + .HasForeignKey("PlayerUserId") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("FK_admin_messages_player_player_user_id"); + + b.HasOne("Content.Server.Database.Round", "Round") + .WithMany() + .HasForeignKey("RoundId") + .HasConstraintName("FK_admin_messages_round_round_id"); + + b.Navigation("CreatedBy"); + + b.Navigation("DeletedBy"); + + b.Navigation("LastEditedBy"); + + b.Navigation("Player"); + + b.Navigation("Round"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminNote", b => + { + b.HasOne("Content.Server.Database.Player", "CreatedBy") + .WithMany("AdminNotesCreated") + .HasForeignKey("CreatedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_notes_player_created_by_id"); + + b.HasOne("Content.Server.Database.Player", "DeletedBy") + .WithMany("AdminNotesDeleted") + .HasForeignKey("DeletedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_notes_player_deleted_by_id"); + + b.HasOne("Content.Server.Database.Player", "LastEditedBy") + .WithMany("AdminNotesLastEdited") + .HasForeignKey("LastEditedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_notes_player_last_edited_by_id"); + + b.HasOne("Content.Server.Database.Player", "Player") + .WithMany("AdminNotesReceived") + .HasForeignKey("PlayerUserId") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("FK_admin_notes_player_player_user_id"); + + b.HasOne("Content.Server.Database.Round", "Round") + .WithMany() + .HasForeignKey("RoundId") + .HasConstraintName("FK_admin_notes_round_round_id"); + + b.Navigation("CreatedBy"); + + b.Navigation("DeletedBy"); + + b.Navigation("LastEditedBy"); + + b.Navigation("Player"); + + b.Navigation("Round"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b => + { + b.HasOne("Content.Server.Database.AdminRank", "Rank") + .WithMany("Flags") + .HasForeignKey("AdminRankId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_admin_rank_flag_admin_rank_admin_rank_id"); + + b.Navigation("Rank"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminWatchlist", b => + { + b.HasOne("Content.Server.Database.Player", "CreatedBy") + .WithMany("AdminWatchlistsCreated") + .HasForeignKey("CreatedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_watchlists_player_created_by_id"); + + b.HasOne("Content.Server.Database.Player", "DeletedBy") + .WithMany("AdminWatchlistsDeleted") + .HasForeignKey("DeletedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_watchlists_player_deleted_by_id"); + + b.HasOne("Content.Server.Database.Player", "LastEditedBy") + .WithMany("AdminWatchlistsLastEdited") + .HasForeignKey("LastEditedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_watchlists_player_last_edited_by_id"); + + b.HasOne("Content.Server.Database.Player", "Player") + .WithMany("AdminWatchlistsReceived") + .HasForeignKey("PlayerUserId") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("FK_admin_watchlists_player_player_user_id"); + + b.HasOne("Content.Server.Database.Round", "Round") + .WithMany() + .HasForeignKey("RoundId") + .HasConstraintName("FK_admin_watchlists_round_round_id"); + + b.Navigation("CreatedBy"); + + b.Navigation("DeletedBy"); + + b.Navigation("LastEditedBy"); + + b.Navigation("Player"); + + b.Navigation("Round"); + }); + + modelBuilder.Entity("Content.Server.Database.Antag", b => + { + b.HasOne("Content.Server.Database.Profile", "Profile") + .WithMany("Antags") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_antag_profile_profile_id"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("Content.Server.Database.ConnectionLog", b => + { + b.HasOne("Content.Server.Database.Server", "Server") + .WithMany("ConnectionLogs") + .HasForeignKey("ServerId") + .OnDelete(DeleteBehavior.SetNull) + .IsRequired() + .HasConstraintName("FK_connection_log_server_server_id"); + + b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 => + { + b1.Property("ConnectionLogId") + .HasColumnType("INTEGER") + .HasColumnName("connection_log_id"); + + b1.Property("Hwid") + .IsRequired() + .HasColumnType("BLOB") + .HasColumnName("hwid"); + + b1.Property("Type") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(0) + .HasColumnName("hwid_type"); + + b1.HasKey("ConnectionLogId"); + + b1.ToTable("connection_log"); + + b1.WithOwner() + .HasForeignKey("ConnectionLogId") + .HasConstraintName("FK_connection_log_connection_log_connection_log_id"); + }); + + b.Navigation("HWId"); + + b.Navigation("Server"); + }); + + modelBuilder.Entity("Content.Server.Database.Job", b => + { + b.HasOne("Content.Server.Database.Profile", "Profile") + .WithMany("Jobs") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_job_profile_profile_id"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("Content.Server.Database.Player", b => + { + b.OwnsOne("Content.Server.Database.TypedHwid", "LastSeenHWId", b1 => + { + b1.Property("PlayerId") + .HasColumnType("INTEGER") + .HasColumnName("player_id"); + + b1.Property("Hwid") + .IsRequired() + .HasColumnType("BLOB") + .HasColumnName("last_seen_hwid"); + + b1.Property("Type") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(0) + .HasColumnName("last_seen_hwid_type"); + + b1.HasKey("PlayerId"); + + b1.ToTable("player"); + + b1.WithOwner() + .HasForeignKey("PlayerId") + .HasConstraintName("FK_player_player_player_id"); + }); + + b.Navigation("LastSeenHWId"); + }); + + modelBuilder.Entity("Content.Server.Database.Profile", b => + { + b.HasOne("Content.Server.Database.Preference", "Preference") + .WithMany("Profiles") + .HasForeignKey("PreferenceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_profile_preference_preference_id"); + + b.Navigation("Preference"); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileLoadout", b => + { + b.HasOne("Content.Server.Database.ProfileLoadoutGroup", "ProfileLoadoutGroup") + .WithMany("Loadouts") + .HasForeignKey("ProfileLoadoutGroupId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_profile_loadout_profile_loadout_group_profile_loadout_group_id"); + + b.Navigation("ProfileLoadoutGroup"); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileLoadoutGroup", b => + { + b.HasOne("Content.Server.Database.ProfileRoleLoadout", "ProfileRoleLoadout") + .WithMany("Groups") + .HasForeignKey("ProfileRoleLoadoutId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_profile_loadout_group_profile_role_loadout_profile_role_loadout_id"); + + b.Navigation("ProfileRoleLoadout"); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileRoleLoadout", b => + { + b.HasOne("Content.Server.Database.Profile", "Profile") + .WithMany("Loadouts") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_profile_role_loadout_profile_profile_id"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("Content.Server.Database.RoleWhitelist", b => + { + b.HasOne("Content.Server.Database.Player", "Player") + .WithMany("JobWhitelists") + .HasForeignKey("PlayerUserId") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_role_whitelists_player_player_user_id"); + + b.Navigation("Player"); + }); + + modelBuilder.Entity("Content.Server.Database.Round", b => + { + b.HasOne("Content.Server.Database.Server", "Server") + .WithMany("Rounds") + .HasForeignKey("ServerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_round_server_server_id"); + + b.Navigation("Server"); + }); + + modelBuilder.Entity("Content.Server.Database.ServerBan", b => + { + b.HasOne("Content.Server.Database.Player", "CreatedBy") + .WithMany("AdminServerBansCreated") + .HasForeignKey("BanningAdmin") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_server_ban_player_banning_admin"); + + b.HasOne("Content.Server.Database.Player", "LastEditedBy") + .WithMany("AdminServerBansLastEdited") + .HasForeignKey("LastEditedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_server_ban_player_last_edited_by_id"); + + b.HasOne("Content.Server.Database.Round", "Round") + .WithMany() + .HasForeignKey("RoundId") + .HasConstraintName("FK_server_ban_round_round_id"); + + b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 => + { + b1.Property("ServerBanId") + .HasColumnType("INTEGER") + .HasColumnName("server_ban_id"); + + b1.Property("Hwid") + .IsRequired() + .HasColumnType("BLOB") + .HasColumnName("hwid"); + + b1.Property("Type") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(0) + .HasColumnName("hwid_type"); + + b1.HasKey("ServerBanId"); + + b1.ToTable("server_ban"); + + b1.WithOwner() + .HasForeignKey("ServerBanId") + .HasConstraintName("FK_server_ban_server_ban_server_ban_id"); + }); + + b.Navigation("CreatedBy"); + + b.Navigation("HWId"); + + b.Navigation("LastEditedBy"); + + b.Navigation("Round"); + }); + + modelBuilder.Entity("Content.Server.Database.ServerBanHit", b => + { + b.HasOne("Content.Server.Database.ServerBan", "Ban") + .WithMany("BanHits") + .HasForeignKey("BanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_server_ban_hit_server_ban_ban_id"); + + b.HasOne("Content.Server.Database.ConnectionLog", "Connection") + .WithMany("BanHits") + .HasForeignKey("ConnectionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_server_ban_hit_connection_log_connection_id"); + + b.Navigation("Ban"); + + b.Navigation("Connection"); + }); + + modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b => + { + b.HasOne("Content.Server.Database.Player", "CreatedBy") + .WithMany("AdminServerRoleBansCreated") + .HasForeignKey("BanningAdmin") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_server_role_ban_player_banning_admin"); + + b.HasOne("Content.Server.Database.Player", "LastEditedBy") + .WithMany("AdminServerRoleBansLastEdited") + .HasForeignKey("LastEditedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_server_role_ban_player_last_edited_by_id"); + + b.HasOne("Content.Server.Database.Round", "Round") + .WithMany() + .HasForeignKey("RoundId") + .HasConstraintName("FK_server_role_ban_round_round_id"); + + b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 => + { + b1.Property("ServerRoleBanId") + .HasColumnType("INTEGER") + .HasColumnName("server_role_ban_id"); + + b1.Property("Hwid") + .IsRequired() + .HasColumnType("BLOB") + .HasColumnName("hwid"); + + b1.Property("Type") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(0) + .HasColumnName("hwid_type"); + + b1.HasKey("ServerRoleBanId"); + + b1.ToTable("server_role_ban"); + + b1.WithOwner() + .HasForeignKey("ServerRoleBanId") + .HasConstraintName("FK_server_role_ban_server_role_ban_server_role_ban_id"); + }); + + b.Navigation("CreatedBy"); + + b.Navigation("HWId"); + + b.Navigation("LastEditedBy"); + + b.Navigation("Round"); + }); + + modelBuilder.Entity("Content.Server.Database.ServerRoleUnban", b => + { + b.HasOne("Content.Server.Database.ServerRoleBan", "Ban") + .WithOne("Unban") + .HasForeignKey("Content.Server.Database.ServerRoleUnban", "BanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_server_role_unban_server_role_ban_ban_id"); + + b.Navigation("Ban"); + }); + + modelBuilder.Entity("Content.Server.Database.ServerUnban", b => + { + b.HasOne("Content.Server.Database.ServerBan", "Ban") + .WithOne("Unban") + .HasForeignKey("Content.Server.Database.ServerUnban", "BanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_server_unban_server_ban_ban_id"); + + b.Navigation("Ban"); + }); + + modelBuilder.Entity("Content.Server.Database.Trait", b => + { + b.HasOne("Content.Server.Database.Profile", "Profile") + .WithMany("Traits") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_trait_profile_profile_id"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("PlayerRound", b => + { + b.HasOne("Content.Server.Database.Player", null) + .WithMany() + .HasForeignKey("PlayersId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_player_round_player_players_id"); + + b.HasOne("Content.Server.Database.Round", null) + .WithMany() + .HasForeignKey("RoundsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_player_round_round_rounds_id"); + }); + + modelBuilder.Entity("Content.Server.Database.Admin", b => + { + b.Navigation("Flags"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminLog", b => + { + b.Navigation("Players"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminRank", b => + { + b.Navigation("Admins"); + + b.Navigation("Flags"); + }); + + modelBuilder.Entity("Content.Server.Database.ConnectionLog", b => + { + b.Navigation("BanHits"); + }); + + modelBuilder.Entity("Content.Server.Database.Player", b => + { + b.Navigation("AdminLogs"); + + b.Navigation("AdminMessagesCreated"); + + b.Navigation("AdminMessagesDeleted"); + + b.Navigation("AdminMessagesLastEdited"); + + b.Navigation("AdminMessagesReceived"); + + b.Navigation("AdminNotesCreated"); + + b.Navigation("AdminNotesDeleted"); + + b.Navigation("AdminNotesLastEdited"); + + b.Navigation("AdminNotesReceived"); + + b.Navigation("AdminServerBansCreated"); + + b.Navigation("AdminServerBansLastEdited"); + + b.Navigation("AdminServerRoleBansCreated"); + + b.Navigation("AdminServerRoleBansLastEdited"); + + b.Navigation("AdminWatchlistsCreated"); + + b.Navigation("AdminWatchlistsDeleted"); + + b.Navigation("AdminWatchlistsLastEdited"); + + b.Navigation("AdminWatchlistsReceived"); + + b.Navigation("JobWhitelists"); + }); + + modelBuilder.Entity("Content.Server.Database.Preference", b => + { + b.Navigation("Profiles"); + }); + + modelBuilder.Entity("Content.Server.Database.Profile", b => + { + b.Navigation("Antags"); + + b.Navigation("Jobs"); + + b.Navigation("Loadouts"); + + b.Navigation("Traits"); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileLoadoutGroup", b => + { + b.Navigation("Loadouts"); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileRoleLoadout", b => + { + b.Navigation("Groups"); + }); + + modelBuilder.Entity("Content.Server.Database.Round", b => + { + b.Navigation("AdminLogs"); + }); + + modelBuilder.Entity("Content.Server.Database.Server", b => + { + b.Navigation("ConnectionLogs"); + + b.Navigation("Rounds"); + }); + + modelBuilder.Entity("Content.Server.Database.ServerBan", b => + { + b.Navigation("BanHits"); + + b.Navigation("Unban"); + }); + + modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b => + { + b.Navigation("Unban"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Content.Server.Database/Migrations/Sqlite/20241111170107_ModernHwid.cs b/Content.Server.Database/Migrations/Sqlite/20241111170107_ModernHwid.cs new file mode 100644 index 0000000000..97b5dafd03 --- /dev/null +++ b/Content.Server.Database/Migrations/Sqlite/20241111170107_ModernHwid.cs @@ -0,0 +1,62 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Content.Server.Database.Migrations.Sqlite +{ + /// + public partial class ModernHwid : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "hwid_type", + table: "server_role_ban", + type: "INTEGER", + nullable: true, + defaultValue: 0); + + migrationBuilder.AddColumn( + name: "hwid_type", + table: "server_ban", + type: "INTEGER", + nullable: true, + defaultValue: 0); + + migrationBuilder.AddColumn( + name: "last_seen_hwid_type", + table: "player", + type: "INTEGER", + nullable: true, + defaultValue: 0); + + migrationBuilder.AddColumn( + name: "hwid_type", + table: "connection_log", + type: "INTEGER", + nullable: true, + defaultValue: 0); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "hwid_type", + table: "server_role_ban"); + + migrationBuilder.DropColumn( + name: "hwid_type", + table: "server_ban"); + + migrationBuilder.DropColumn( + name: "last_seen_hwid_type", + table: "player"); + + migrationBuilder.DropColumn( + name: "hwid_type", + table: "connection_log"); + } + } +} diff --git a/Content.Server.Database/Migrations/Sqlite/20241111193602_ConnectionTrust.Designer.cs b/Content.Server.Database/Migrations/Sqlite/20241111193602_ConnectionTrust.Designer.cs new file mode 100644 index 0000000000..bd4e20a464 --- /dev/null +++ b/Content.Server.Database/Migrations/Sqlite/20241111193602_ConnectionTrust.Designer.cs @@ -0,0 +1,1999 @@ +// +using System; +using Content.Server.Database; +using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; +using Microsoft.EntityFrameworkCore.Migrations; +using Microsoft.EntityFrameworkCore.Storage.ValueConversion; + +#nullable disable + +namespace Content.Server.Database.Migrations.Sqlite +{ + [DbContext(typeof(SqliteServerDbContext))] + [Migration("20241111193602_ConnectionTrust")] + partial class ConnectionTrust + { + /// + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { +#pragma warning disable 612, 618 + modelBuilder.HasAnnotation("ProductVersion", "8.0.0"); + + modelBuilder.Entity("Content.Server.Database.Admin", b => + { + b.Property("UserId") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT") + .HasColumnName("user_id"); + + b.Property("AdminRankId") + .HasColumnType("INTEGER") + .HasColumnName("admin_rank_id"); + + b.Property("Title") + .HasColumnType("TEXT") + .HasColumnName("title"); + + b.HasKey("UserId") + .HasName("PK_admin"); + + b.HasIndex("AdminRankId") + .HasDatabaseName("IX_admin_admin_rank_id"); + + b.ToTable("admin", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AdminFlag", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("admin_flag_id"); + + b.Property("AdminId") + .HasColumnType("TEXT") + .HasColumnName("admin_id"); + + b.Property("Flag") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("flag"); + + b.Property("Negative") + .HasColumnType("INTEGER") + .HasColumnName("negative"); + + b.HasKey("Id") + .HasName("PK_admin_flag"); + + b.HasIndex("AdminId") + .HasDatabaseName("IX_admin_flag_admin_id"); + + b.HasIndex("Flag", "AdminId") + .IsUnique(); + + b.ToTable("admin_flag", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AdminLog", b => + { + b.Property("RoundId") + .HasColumnType("INTEGER") + .HasColumnName("round_id"); + + b.Property("Id") + .HasColumnType("INTEGER") + .HasColumnName("admin_log_id"); + + b.Property("Date") + .HasColumnType("TEXT") + .HasColumnName("date"); + + b.Property("Impact") + .HasColumnType("INTEGER") + .HasColumnName("impact"); + + b.Property("Json") + .IsRequired() + .HasColumnType("jsonb") + .HasColumnName("json"); + + b.Property("Message") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("message"); + + b.Property("Type") + .HasColumnType("INTEGER") + .HasColumnName("type"); + + b.HasKey("RoundId", "Id") + .HasName("PK_admin_log"); + + b.HasIndex("Date"); + + b.HasIndex("Type") + .HasDatabaseName("IX_admin_log_type"); + + b.ToTable("admin_log", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b => + { + b.Property("RoundId") + .HasColumnType("INTEGER") + .HasColumnName("round_id"); + + b.Property("LogId") + .HasColumnType("INTEGER") + .HasColumnName("log_id"); + + b.Property("PlayerUserId") + .HasColumnType("TEXT") + .HasColumnName("player_user_id"); + + b.HasKey("RoundId", "LogId", "PlayerUserId") + .HasName("PK_admin_log_player"); + + b.HasIndex("PlayerUserId") + .HasDatabaseName("IX_admin_log_player_player_user_id"); + + b.ToTable("admin_log_player", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AdminMessage", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("admin_messages_id"); + + b.Property("CreatedAt") + .HasColumnType("TEXT") + .HasColumnName("created_at"); + + b.Property("CreatedById") + .HasColumnType("TEXT") + .HasColumnName("created_by_id"); + + b.Property("Deleted") + .HasColumnType("INTEGER") + .HasColumnName("deleted"); + + b.Property("DeletedAt") + .HasColumnType("TEXT") + .HasColumnName("deleted_at"); + + b.Property("DeletedById") + .HasColumnType("TEXT") + .HasColumnName("deleted_by_id"); + + b.Property("Dismissed") + .HasColumnType("INTEGER") + .HasColumnName("dismissed"); + + b.Property("ExpirationTime") + .HasColumnType("TEXT") + .HasColumnName("expiration_time"); + + b.Property("LastEditedAt") + .HasColumnType("TEXT") + .HasColumnName("last_edited_at"); + + b.Property("LastEditedById") + .HasColumnType("TEXT") + .HasColumnName("last_edited_by_id"); + + b.Property("Message") + .IsRequired() + .HasMaxLength(4096) + .HasColumnType("TEXT") + .HasColumnName("message"); + + b.Property("PlayerUserId") + .HasColumnType("TEXT") + .HasColumnName("player_user_id"); + + b.Property("PlaytimeAtNote") + .HasColumnType("TEXT") + .HasColumnName("playtime_at_note"); + + b.Property("RoundId") + .HasColumnType("INTEGER") + .HasColumnName("round_id"); + + b.Property("Seen") + .HasColumnType("INTEGER") + .HasColumnName("seen"); + + b.HasKey("Id") + .HasName("PK_admin_messages"); + + b.HasIndex("CreatedById"); + + b.HasIndex("DeletedById"); + + b.HasIndex("LastEditedById"); + + b.HasIndex("PlayerUserId") + .HasDatabaseName("IX_admin_messages_player_user_id"); + + b.HasIndex("RoundId") + .HasDatabaseName("IX_admin_messages_round_id"); + + b.ToTable("admin_messages", null, t => + { + t.HasCheckConstraint("NotDismissedAndSeen", "NOT dismissed OR seen"); + }); + }); + + modelBuilder.Entity("Content.Server.Database.AdminNote", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("admin_notes_id"); + + b.Property("CreatedAt") + .HasColumnType("TEXT") + .HasColumnName("created_at"); + + b.Property("CreatedById") + .HasColumnType("TEXT") + .HasColumnName("created_by_id"); + + b.Property("Deleted") + .HasColumnType("INTEGER") + .HasColumnName("deleted"); + + b.Property("DeletedAt") + .HasColumnType("TEXT") + .HasColumnName("deleted_at"); + + b.Property("DeletedById") + .HasColumnType("TEXT") + .HasColumnName("deleted_by_id"); + + b.Property("ExpirationTime") + .HasColumnType("TEXT") + .HasColumnName("expiration_time"); + + b.Property("LastEditedAt") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("last_edited_at"); + + b.Property("LastEditedById") + .HasColumnType("TEXT") + .HasColumnName("last_edited_by_id"); + + b.Property("Message") + .IsRequired() + .HasMaxLength(4096) + .HasColumnType("TEXT") + .HasColumnName("message"); + + b.Property("PlayerUserId") + .HasColumnType("TEXT") + .HasColumnName("player_user_id"); + + b.Property("PlaytimeAtNote") + .HasColumnType("TEXT") + .HasColumnName("playtime_at_note"); + + b.Property("RoundId") + .HasColumnType("INTEGER") + .HasColumnName("round_id"); + + b.Property("Secret") + .HasColumnType("INTEGER") + .HasColumnName("secret"); + + b.Property("Severity") + .HasColumnType("INTEGER") + .HasColumnName("severity"); + + b.HasKey("Id") + .HasName("PK_admin_notes"); + + b.HasIndex("CreatedById"); + + b.HasIndex("DeletedById"); + + b.HasIndex("LastEditedById"); + + b.HasIndex("PlayerUserId") + .HasDatabaseName("IX_admin_notes_player_user_id"); + + b.HasIndex("RoundId") + .HasDatabaseName("IX_admin_notes_round_id"); + + b.ToTable("admin_notes", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AdminRank", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("admin_rank_id"); + + b.Property("Name") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("name"); + + b.HasKey("Id") + .HasName("PK_admin_rank"); + + b.ToTable("admin_rank", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("admin_rank_flag_id"); + + b.Property("AdminRankId") + .HasColumnType("INTEGER") + .HasColumnName("admin_rank_id"); + + b.Property("Flag") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("flag"); + + b.HasKey("Id") + .HasName("PK_admin_rank_flag"); + + b.HasIndex("AdminRankId"); + + b.HasIndex("Flag", "AdminRankId") + .IsUnique(); + + b.ToTable("admin_rank_flag", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AdminWatchlist", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("admin_watchlists_id"); + + b.Property("CreatedAt") + .HasColumnType("TEXT") + .HasColumnName("created_at"); + + b.Property("CreatedById") + .HasColumnType("TEXT") + .HasColumnName("created_by_id"); + + b.Property("Deleted") + .HasColumnType("INTEGER") + .HasColumnName("deleted"); + + b.Property("DeletedAt") + .HasColumnType("TEXT") + .HasColumnName("deleted_at"); + + b.Property("DeletedById") + .HasColumnType("TEXT") + .HasColumnName("deleted_by_id"); + + b.Property("ExpirationTime") + .HasColumnType("TEXT") + .HasColumnName("expiration_time"); + + b.Property("LastEditedAt") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("last_edited_at"); + + b.Property("LastEditedById") + .HasColumnType("TEXT") + .HasColumnName("last_edited_by_id"); + + b.Property("Message") + .IsRequired() + .HasMaxLength(4096) + .HasColumnType("TEXT") + .HasColumnName("message"); + + b.Property("PlayerUserId") + .HasColumnType("TEXT") + .HasColumnName("player_user_id"); + + b.Property("PlaytimeAtNote") + .HasColumnType("TEXT") + .HasColumnName("playtime_at_note"); + + b.Property("RoundId") + .HasColumnType("INTEGER") + .HasColumnName("round_id"); + + b.HasKey("Id") + .HasName("PK_admin_watchlists"); + + b.HasIndex("CreatedById"); + + b.HasIndex("DeletedById"); + + b.HasIndex("LastEditedById"); + + b.HasIndex("PlayerUserId") + .HasDatabaseName("IX_admin_watchlists_player_user_id"); + + b.HasIndex("RoundId") + .HasDatabaseName("IX_admin_watchlists_round_id"); + + b.ToTable("admin_watchlists", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Antag", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("antag_id"); + + b.Property("AntagName") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("antag_name"); + + b.Property("ProfileId") + .HasColumnType("INTEGER") + .HasColumnName("profile_id"); + + b.HasKey("Id") + .HasName("PK_antag"); + + b.HasIndex("ProfileId", "AntagName") + .IsUnique(); + + b.ToTable("antag", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.AssignedUserId", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("assigned_user_id_id"); + + b.Property("UserId") + .HasColumnType("TEXT") + .HasColumnName("user_id"); + + b.Property("UserName") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("user_name"); + + b.HasKey("Id") + .HasName("PK_assigned_user_id"); + + b.HasIndex("UserId") + .IsUnique(); + + b.HasIndex("UserName") + .IsUnique(); + + b.ToTable("assigned_user_id", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.BanTemplate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("ban_template_id"); + + b.Property("AutoDelete") + .HasColumnType("INTEGER") + .HasColumnName("auto_delete"); + + b.Property("ExemptFlags") + .HasColumnType("INTEGER") + .HasColumnName("exempt_flags"); + + b.Property("Hidden") + .HasColumnType("INTEGER") + .HasColumnName("hidden"); + + b.Property("Length") + .HasColumnType("TEXT") + .HasColumnName("length"); + + b.Property("Reason") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("reason"); + + b.Property("Severity") + .HasColumnType("INTEGER") + .HasColumnName("severity"); + + b.Property("Title") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("title"); + + b.HasKey("Id") + .HasName("PK_ban_template"); + + b.ToTable("ban_template", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Blacklist", b => + { + b.Property("UserId") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT") + .HasColumnName("user_id"); + + b.HasKey("UserId") + .HasName("PK_blacklist"); + + b.ToTable("blacklist", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.ConnectionLog", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("connection_log_id"); + + b.Property("Address") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("address"); + + b.Property("Denied") + .HasColumnType("INTEGER") + .HasColumnName("denied"); + + b.Property("ServerId") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(0) + .HasColumnName("server_id"); + + b.Property("Time") + .HasColumnType("TEXT") + .HasColumnName("time"); + + b.Property("Trust") + .HasColumnType("REAL") + .HasColumnName("trust"); + + b.Property("UserId") + .HasColumnType("TEXT") + .HasColumnName("user_id"); + + b.Property("UserName") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("user_name"); + + b.HasKey("Id") + .HasName("PK_connection_log"); + + b.HasIndex("ServerId") + .HasDatabaseName("IX_connection_log_server_id"); + + b.HasIndex("Time"); + + b.HasIndex("UserId"); + + b.ToTable("connection_log", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Job", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("job_id"); + + b.Property("JobName") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("job_name"); + + b.Property("Priority") + .HasColumnType("INTEGER") + .HasColumnName("priority"); + + b.Property("ProfileId") + .HasColumnType("INTEGER") + .HasColumnName("profile_id"); + + b.HasKey("Id") + .HasName("PK_job"); + + b.HasIndex("ProfileId"); + + b.HasIndex("ProfileId", "JobName") + .IsUnique(); + + b.HasIndex(new[] { "ProfileId" }, "IX_job_one_high_priority") + .IsUnique() + .HasFilter("priority = 3"); + + b.ToTable("job", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.PlayTime", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("play_time_id"); + + b.Property("PlayerId") + .HasColumnType("TEXT") + .HasColumnName("player_id"); + + b.Property("TimeSpent") + .HasColumnType("TEXT") + .HasColumnName("time_spent"); + + b.Property("Tracker") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("tracker"); + + b.HasKey("Id") + .HasName("PK_play_time"); + + b.HasIndex("PlayerId", "Tracker") + .IsUnique(); + + b.ToTable("play_time", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Player", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("player_id"); + + b.Property("FirstSeenTime") + .HasColumnType("TEXT") + .HasColumnName("first_seen_time"); + + b.Property("LastReadRules") + .HasColumnType("TEXT") + .HasColumnName("last_read_rules"); + + b.Property("LastSeenAddress") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("last_seen_address"); + + b.Property("LastSeenTime") + .HasColumnType("TEXT") + .HasColumnName("last_seen_time"); + + b.Property("LastSeenUserName") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("last_seen_user_name"); + + b.Property("UserId") + .HasColumnType("TEXT") + .HasColumnName("user_id"); + + b.HasKey("Id") + .HasName("PK_player"); + + b.HasAlternateKey("UserId") + .HasName("ak_player_user_id"); + + b.HasIndex("LastSeenUserName"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("player", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Preference", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("preference_id"); + + b.Property("AdminOOCColor") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("admin_ooc_color"); + + b.Property("SelectedCharacterSlot") + .HasColumnType("INTEGER") + .HasColumnName("selected_character_slot"); + + b.Property("UserId") + .HasColumnType("TEXT") + .HasColumnName("user_id"); + + b.HasKey("Id") + .HasName("PK_preference"); + + b.HasIndex("UserId") + .IsUnique(); + + b.ToTable("preference", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Profile", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("profile_id"); + + b.Property("Age") + .HasColumnType("INTEGER") + .HasColumnName("age"); + + b.Property("CharacterName") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("char_name"); + + b.Property("EyeColor") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("eye_color"); + + b.Property("FacialHairColor") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("facial_hair_color"); + + b.Property("FacialHairName") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("facial_hair_name"); + + b.Property("FlavorText") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("flavor_text"); + + b.Property("Gender") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("gender"); + + b.Property("HairColor") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("hair_color"); + + b.Property("HairName") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("hair_name"); + + b.Property("Markings") + .HasColumnType("jsonb") + .HasColumnName("markings"); + + b.Property("PreferenceId") + .HasColumnType("INTEGER") + .HasColumnName("preference_id"); + + b.Property("PreferenceUnavailable") + .HasColumnType("INTEGER") + .HasColumnName("pref_unavailable"); + + b.Property("Sex") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("sex"); + + b.Property("SkinColor") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("skin_color"); + + b.Property("Slot") + .HasColumnType("INTEGER") + .HasColumnName("slot"); + + b.Property("SpawnPriority") + .HasColumnType("INTEGER") + .HasColumnName("spawn_priority"); + + b.Property("Species") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("species"); + + b.HasKey("Id") + .HasName("PK_profile"); + + b.HasIndex("PreferenceId") + .HasDatabaseName("IX_profile_preference_id"); + + b.HasIndex("Slot", "PreferenceId") + .IsUnique(); + + b.ToTable("profile", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileLoadout", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("profile_loadout_id"); + + b.Property("LoadoutName") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("loadout_name"); + + b.Property("ProfileLoadoutGroupId") + .HasColumnType("INTEGER") + .HasColumnName("profile_loadout_group_id"); + + b.HasKey("Id") + .HasName("PK_profile_loadout"); + + b.HasIndex("ProfileLoadoutGroupId"); + + b.ToTable("profile_loadout", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileLoadoutGroup", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("profile_loadout_group_id"); + + b.Property("GroupName") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("group_name"); + + b.Property("ProfileRoleLoadoutId") + .HasColumnType("INTEGER") + .HasColumnName("profile_role_loadout_id"); + + b.HasKey("Id") + .HasName("PK_profile_loadout_group"); + + b.HasIndex("ProfileRoleLoadoutId"); + + b.ToTable("profile_loadout_group", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileRoleLoadout", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("profile_role_loadout_id"); + + b.Property("ProfileId") + .HasColumnType("INTEGER") + .HasColumnName("profile_id"); + + b.Property("RoleName") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("role_name"); + + b.HasKey("Id") + .HasName("PK_profile_role_loadout"); + + b.HasIndex("ProfileId"); + + b.ToTable("profile_role_loadout", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.RoleWhitelist", b => + { + b.Property("PlayerUserId") + .HasColumnType("TEXT") + .HasColumnName("player_user_id"); + + b.Property("RoleId") + .HasColumnType("TEXT") + .HasColumnName("role_id"); + + b.HasKey("PlayerUserId", "RoleId") + .HasName("PK_role_whitelists"); + + b.ToTable("role_whitelists", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Round", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("round_id"); + + b.Property("ServerId") + .HasColumnType("INTEGER") + .HasColumnName("server_id"); + + b.Property("StartDate") + .HasColumnType("TEXT") + .HasColumnName("start_date"); + + b.HasKey("Id") + .HasName("PK_round"); + + b.HasIndex("ServerId") + .HasDatabaseName("IX_round_server_id"); + + b.HasIndex("StartDate"); + + b.ToTable("round", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Server", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("server_id"); + + b.Property("Name") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("name"); + + b.HasKey("Id") + .HasName("PK_server"); + + b.ToTable("server", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.ServerBan", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("server_ban_id"); + + b.Property("Address") + .HasColumnType("TEXT") + .HasColumnName("address"); + + b.Property("AutoDelete") + .HasColumnType("INTEGER") + .HasColumnName("auto_delete"); + + b.Property("BanTime") + .HasColumnType("TEXT") + .HasColumnName("ban_time"); + + b.Property("BanningAdmin") + .HasColumnType("TEXT") + .HasColumnName("banning_admin"); + + b.Property("ExemptFlags") + .HasColumnType("INTEGER") + .HasColumnName("exempt_flags"); + + b.Property("ExpirationTime") + .HasColumnType("TEXT") + .HasColumnName("expiration_time"); + + b.Property("Hidden") + .HasColumnType("INTEGER") + .HasColumnName("hidden"); + + b.Property("LastEditedAt") + .HasColumnType("TEXT") + .HasColumnName("last_edited_at"); + + b.Property("LastEditedById") + .HasColumnType("TEXT") + .HasColumnName("last_edited_by_id"); + + b.Property("PlayerUserId") + .HasColumnType("TEXT") + .HasColumnName("player_user_id"); + + b.Property("PlaytimeAtNote") + .HasColumnType("TEXT") + .HasColumnName("playtime_at_note"); + + b.Property("Reason") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("reason"); + + b.Property("RoundId") + .HasColumnType("INTEGER") + .HasColumnName("round_id"); + + b.Property("Severity") + .HasColumnType("INTEGER") + .HasColumnName("severity"); + + b.HasKey("Id") + .HasName("PK_server_ban"); + + b.HasIndex("Address"); + + b.HasIndex("BanningAdmin"); + + b.HasIndex("LastEditedById"); + + b.HasIndex("PlayerUserId") + .HasDatabaseName("IX_server_ban_player_user_id"); + + b.HasIndex("RoundId") + .HasDatabaseName("IX_server_ban_round_id"); + + b.ToTable("server_ban", null, t => + { + t.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR player_user_id IS NOT NULL OR hwid IS NOT NULL"); + }); + }); + + modelBuilder.Entity("Content.Server.Database.ServerBanExemption", b => + { + b.Property("UserId") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT") + .HasColumnName("user_id"); + + b.Property("Flags") + .HasColumnType("INTEGER") + .HasColumnName("flags"); + + b.HasKey("UserId") + .HasName("PK_server_ban_exemption"); + + b.ToTable("server_ban_exemption", null, t => + { + t.HasCheckConstraint("FlagsNotZero", "flags != 0"); + }); + }); + + modelBuilder.Entity("Content.Server.Database.ServerBanHit", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("server_ban_hit_id"); + + b.Property("BanId") + .HasColumnType("INTEGER") + .HasColumnName("ban_id"); + + b.Property("ConnectionId") + .HasColumnType("INTEGER") + .HasColumnName("connection_id"); + + b.HasKey("Id") + .HasName("PK_server_ban_hit"); + + b.HasIndex("BanId") + .HasDatabaseName("IX_server_ban_hit_ban_id"); + + b.HasIndex("ConnectionId") + .HasDatabaseName("IX_server_ban_hit_connection_id"); + + b.ToTable("server_ban_hit", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("server_role_ban_id"); + + b.Property("Address") + .HasColumnType("TEXT") + .HasColumnName("address"); + + b.Property("BanTime") + .HasColumnType("TEXT") + .HasColumnName("ban_time"); + + b.Property("BanningAdmin") + .HasColumnType("TEXT") + .HasColumnName("banning_admin"); + + b.Property("ExpirationTime") + .HasColumnType("TEXT") + .HasColumnName("expiration_time"); + + b.Property("Hidden") + .HasColumnType("INTEGER") + .HasColumnName("hidden"); + + b.Property("LastEditedAt") + .HasColumnType("TEXT") + .HasColumnName("last_edited_at"); + + b.Property("LastEditedById") + .HasColumnType("TEXT") + .HasColumnName("last_edited_by_id"); + + b.Property("PlayerUserId") + .HasColumnType("TEXT") + .HasColumnName("player_user_id"); + + b.Property("PlaytimeAtNote") + .HasColumnType("TEXT") + .HasColumnName("playtime_at_note"); + + b.Property("Reason") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("reason"); + + b.Property("RoleId") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("role_id"); + + b.Property("RoundId") + .HasColumnType("INTEGER") + .HasColumnName("round_id"); + + b.Property("Severity") + .HasColumnType("INTEGER") + .HasColumnName("severity"); + + b.HasKey("Id") + .HasName("PK_server_role_ban"); + + b.HasIndex("Address"); + + b.HasIndex("BanningAdmin"); + + b.HasIndex("LastEditedById"); + + b.HasIndex("PlayerUserId") + .HasDatabaseName("IX_server_role_ban_player_user_id"); + + b.HasIndex("RoundId") + .HasDatabaseName("IX_server_role_ban_round_id"); + + b.ToTable("server_role_ban", null, t => + { + t.HasCheckConstraint("HaveEitherAddressOrUserIdOrHWId", "address IS NOT NULL OR player_user_id IS NOT NULL OR hwid IS NOT NULL"); + }); + }); + + modelBuilder.Entity("Content.Server.Database.ServerRoleUnban", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("role_unban_id"); + + b.Property("BanId") + .HasColumnType("INTEGER") + .HasColumnName("ban_id"); + + b.Property("UnbanTime") + .HasColumnType("TEXT") + .HasColumnName("unban_time"); + + b.Property("UnbanningAdmin") + .HasColumnType("TEXT") + .HasColumnName("unbanning_admin"); + + b.HasKey("Id") + .HasName("PK_server_role_unban"); + + b.HasIndex("BanId") + .IsUnique(); + + b.ToTable("server_role_unban", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.ServerUnban", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("unban_id"); + + b.Property("BanId") + .HasColumnType("INTEGER") + .HasColumnName("ban_id"); + + b.Property("UnbanTime") + .HasColumnType("TEXT") + .HasColumnName("unban_time"); + + b.Property("UnbanningAdmin") + .HasColumnType("TEXT") + .HasColumnName("unbanning_admin"); + + b.HasKey("Id") + .HasName("PK_server_unban"); + + b.HasIndex("BanId") + .IsUnique(); + + b.ToTable("server_unban", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Trait", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("trait_id"); + + b.Property("ProfileId") + .HasColumnType("INTEGER") + .HasColumnName("profile_id"); + + b.Property("TraitName") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("trait_name"); + + b.HasKey("Id") + .HasName("PK_trait"); + + b.HasIndex("ProfileId", "TraitName") + .IsUnique(); + + b.ToTable("trait", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.UploadedResourceLog", b => + { + b.Property("Id") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasColumnName("uploaded_resource_log_id"); + + b.Property("Data") + .IsRequired() + .HasColumnType("BLOB") + .HasColumnName("data"); + + b.Property("Date") + .HasColumnType("TEXT") + .HasColumnName("date"); + + b.Property("Path") + .IsRequired() + .HasColumnType("TEXT") + .HasColumnName("path"); + + b.Property("UserId") + .HasColumnType("TEXT") + .HasColumnName("user_id"); + + b.HasKey("Id") + .HasName("PK_uploaded_resource_log"); + + b.ToTable("uploaded_resource_log", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Whitelist", b => + { + b.Property("UserId") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT") + .HasColumnName("user_id"); + + b.HasKey("UserId") + .HasName("PK_whitelist"); + + b.ToTable("whitelist", (string)null); + }); + + modelBuilder.Entity("PlayerRound", b => + { + b.Property("PlayersId") + .HasColumnType("INTEGER") + .HasColumnName("players_id"); + + b.Property("RoundsId") + .HasColumnType("INTEGER") + .HasColumnName("rounds_id"); + + b.HasKey("PlayersId", "RoundsId") + .HasName("PK_player_round"); + + b.HasIndex("RoundsId") + .HasDatabaseName("IX_player_round_rounds_id"); + + b.ToTable("player_round", (string)null); + }); + + modelBuilder.Entity("Content.Server.Database.Admin", b => + { + b.HasOne("Content.Server.Database.AdminRank", "AdminRank") + .WithMany("Admins") + .HasForeignKey("AdminRankId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_admin_rank_admin_rank_id"); + + b.Navigation("AdminRank"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminFlag", b => + { + b.HasOne("Content.Server.Database.Admin", "Admin") + .WithMany("Flags") + .HasForeignKey("AdminId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_admin_flag_admin_admin_id"); + + b.Navigation("Admin"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminLog", b => + { + b.HasOne("Content.Server.Database.Round", "Round") + .WithMany("AdminLogs") + .HasForeignKey("RoundId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_admin_log_round_round_id"); + + b.Navigation("Round"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminLogPlayer", b => + { + b.HasOne("Content.Server.Database.Player", "Player") + .WithMany("AdminLogs") + .HasForeignKey("PlayerUserId") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_admin_log_player_player_player_user_id"); + + b.HasOne("Content.Server.Database.AdminLog", "Log") + .WithMany("Players") + .HasForeignKey("RoundId", "LogId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_admin_log_player_admin_log_round_id_log_id"); + + b.Navigation("Log"); + + b.Navigation("Player"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminMessage", b => + { + b.HasOne("Content.Server.Database.Player", "CreatedBy") + .WithMany("AdminMessagesCreated") + .HasForeignKey("CreatedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_messages_player_created_by_id"); + + b.HasOne("Content.Server.Database.Player", "DeletedBy") + .WithMany("AdminMessagesDeleted") + .HasForeignKey("DeletedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_messages_player_deleted_by_id"); + + b.HasOne("Content.Server.Database.Player", "LastEditedBy") + .WithMany("AdminMessagesLastEdited") + .HasForeignKey("LastEditedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_messages_player_last_edited_by_id"); + + b.HasOne("Content.Server.Database.Player", "Player") + .WithMany("AdminMessagesReceived") + .HasForeignKey("PlayerUserId") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("FK_admin_messages_player_player_user_id"); + + b.HasOne("Content.Server.Database.Round", "Round") + .WithMany() + .HasForeignKey("RoundId") + .HasConstraintName("FK_admin_messages_round_round_id"); + + b.Navigation("CreatedBy"); + + b.Navigation("DeletedBy"); + + b.Navigation("LastEditedBy"); + + b.Navigation("Player"); + + b.Navigation("Round"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminNote", b => + { + b.HasOne("Content.Server.Database.Player", "CreatedBy") + .WithMany("AdminNotesCreated") + .HasForeignKey("CreatedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_notes_player_created_by_id"); + + b.HasOne("Content.Server.Database.Player", "DeletedBy") + .WithMany("AdminNotesDeleted") + .HasForeignKey("DeletedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_notes_player_deleted_by_id"); + + b.HasOne("Content.Server.Database.Player", "LastEditedBy") + .WithMany("AdminNotesLastEdited") + .HasForeignKey("LastEditedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_notes_player_last_edited_by_id"); + + b.HasOne("Content.Server.Database.Player", "Player") + .WithMany("AdminNotesReceived") + .HasForeignKey("PlayerUserId") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("FK_admin_notes_player_player_user_id"); + + b.HasOne("Content.Server.Database.Round", "Round") + .WithMany() + .HasForeignKey("RoundId") + .HasConstraintName("FK_admin_notes_round_round_id"); + + b.Navigation("CreatedBy"); + + b.Navigation("DeletedBy"); + + b.Navigation("LastEditedBy"); + + b.Navigation("Player"); + + b.Navigation("Round"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminRankFlag", b => + { + b.HasOne("Content.Server.Database.AdminRank", "Rank") + .WithMany("Flags") + .HasForeignKey("AdminRankId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_admin_rank_flag_admin_rank_admin_rank_id"); + + b.Navigation("Rank"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminWatchlist", b => + { + b.HasOne("Content.Server.Database.Player", "CreatedBy") + .WithMany("AdminWatchlistsCreated") + .HasForeignKey("CreatedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_watchlists_player_created_by_id"); + + b.HasOne("Content.Server.Database.Player", "DeletedBy") + .WithMany("AdminWatchlistsDeleted") + .HasForeignKey("DeletedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_watchlists_player_deleted_by_id"); + + b.HasOne("Content.Server.Database.Player", "LastEditedBy") + .WithMany("AdminWatchlistsLastEdited") + .HasForeignKey("LastEditedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_admin_watchlists_player_last_edited_by_id"); + + b.HasOne("Content.Server.Database.Player", "Player") + .WithMany("AdminWatchlistsReceived") + .HasForeignKey("PlayerUserId") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .HasConstraintName("FK_admin_watchlists_player_player_user_id"); + + b.HasOne("Content.Server.Database.Round", "Round") + .WithMany() + .HasForeignKey("RoundId") + .HasConstraintName("FK_admin_watchlists_round_round_id"); + + b.Navigation("CreatedBy"); + + b.Navigation("DeletedBy"); + + b.Navigation("LastEditedBy"); + + b.Navigation("Player"); + + b.Navigation("Round"); + }); + + modelBuilder.Entity("Content.Server.Database.Antag", b => + { + b.HasOne("Content.Server.Database.Profile", "Profile") + .WithMany("Antags") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_antag_profile_profile_id"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("Content.Server.Database.ConnectionLog", b => + { + b.HasOne("Content.Server.Database.Server", "Server") + .WithMany("ConnectionLogs") + .HasForeignKey("ServerId") + .OnDelete(DeleteBehavior.SetNull) + .IsRequired() + .HasConstraintName("FK_connection_log_server_server_id"); + + b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 => + { + b1.Property("ConnectionLogId") + .HasColumnType("INTEGER") + .HasColumnName("connection_log_id"); + + b1.Property("Hwid") + .IsRequired() + .HasColumnType("BLOB") + .HasColumnName("hwid"); + + b1.Property("Type") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(0) + .HasColumnName("hwid_type"); + + b1.HasKey("ConnectionLogId"); + + b1.ToTable("connection_log"); + + b1.WithOwner() + .HasForeignKey("ConnectionLogId") + .HasConstraintName("FK_connection_log_connection_log_connection_log_id"); + }); + + b.Navigation("HWId"); + + b.Navigation("Server"); + }); + + modelBuilder.Entity("Content.Server.Database.Job", b => + { + b.HasOne("Content.Server.Database.Profile", "Profile") + .WithMany("Jobs") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_job_profile_profile_id"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("Content.Server.Database.Player", b => + { + b.OwnsOne("Content.Server.Database.TypedHwid", "LastSeenHWId", b1 => + { + b1.Property("PlayerId") + .HasColumnType("INTEGER") + .HasColumnName("player_id"); + + b1.Property("Hwid") + .IsRequired() + .HasColumnType("BLOB") + .HasColumnName("last_seen_hwid"); + + b1.Property("Type") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(0) + .HasColumnName("last_seen_hwid_type"); + + b1.HasKey("PlayerId"); + + b1.ToTable("player"); + + b1.WithOwner() + .HasForeignKey("PlayerId") + .HasConstraintName("FK_player_player_player_id"); + }); + + b.Navigation("LastSeenHWId"); + }); + + modelBuilder.Entity("Content.Server.Database.Profile", b => + { + b.HasOne("Content.Server.Database.Preference", "Preference") + .WithMany("Profiles") + .HasForeignKey("PreferenceId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_profile_preference_preference_id"); + + b.Navigation("Preference"); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileLoadout", b => + { + b.HasOne("Content.Server.Database.ProfileLoadoutGroup", "ProfileLoadoutGroup") + .WithMany("Loadouts") + .HasForeignKey("ProfileLoadoutGroupId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_profile_loadout_profile_loadout_group_profile_loadout_group_id"); + + b.Navigation("ProfileLoadoutGroup"); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileLoadoutGroup", b => + { + b.HasOne("Content.Server.Database.ProfileRoleLoadout", "ProfileRoleLoadout") + .WithMany("Groups") + .HasForeignKey("ProfileRoleLoadoutId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_profile_loadout_group_profile_role_loadout_profile_role_loadout_id"); + + b.Navigation("ProfileRoleLoadout"); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileRoleLoadout", b => + { + b.HasOne("Content.Server.Database.Profile", "Profile") + .WithMany("Loadouts") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_profile_role_loadout_profile_profile_id"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("Content.Server.Database.RoleWhitelist", b => + { + b.HasOne("Content.Server.Database.Player", "Player") + .WithMany("JobWhitelists") + .HasForeignKey("PlayerUserId") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_role_whitelists_player_player_user_id"); + + b.Navigation("Player"); + }); + + modelBuilder.Entity("Content.Server.Database.Round", b => + { + b.HasOne("Content.Server.Database.Server", "Server") + .WithMany("Rounds") + .HasForeignKey("ServerId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_round_server_server_id"); + + b.Navigation("Server"); + }); + + modelBuilder.Entity("Content.Server.Database.ServerBan", b => + { + b.HasOne("Content.Server.Database.Player", "CreatedBy") + .WithMany("AdminServerBansCreated") + .HasForeignKey("BanningAdmin") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_server_ban_player_banning_admin"); + + b.HasOne("Content.Server.Database.Player", "LastEditedBy") + .WithMany("AdminServerBansLastEdited") + .HasForeignKey("LastEditedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_server_ban_player_last_edited_by_id"); + + b.HasOne("Content.Server.Database.Round", "Round") + .WithMany() + .HasForeignKey("RoundId") + .HasConstraintName("FK_server_ban_round_round_id"); + + b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 => + { + b1.Property("ServerBanId") + .HasColumnType("INTEGER") + .HasColumnName("server_ban_id"); + + b1.Property("Hwid") + .IsRequired() + .HasColumnType("BLOB") + .HasColumnName("hwid"); + + b1.Property("Type") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(0) + .HasColumnName("hwid_type"); + + b1.HasKey("ServerBanId"); + + b1.ToTable("server_ban"); + + b1.WithOwner() + .HasForeignKey("ServerBanId") + .HasConstraintName("FK_server_ban_server_ban_server_ban_id"); + }); + + b.Navigation("CreatedBy"); + + b.Navigation("HWId"); + + b.Navigation("LastEditedBy"); + + b.Navigation("Round"); + }); + + modelBuilder.Entity("Content.Server.Database.ServerBanHit", b => + { + b.HasOne("Content.Server.Database.ServerBan", "Ban") + .WithMany("BanHits") + .HasForeignKey("BanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_server_ban_hit_server_ban_ban_id"); + + b.HasOne("Content.Server.Database.ConnectionLog", "Connection") + .WithMany("BanHits") + .HasForeignKey("ConnectionId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_server_ban_hit_connection_log_connection_id"); + + b.Navigation("Ban"); + + b.Navigation("Connection"); + }); + + modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b => + { + b.HasOne("Content.Server.Database.Player", "CreatedBy") + .WithMany("AdminServerRoleBansCreated") + .HasForeignKey("BanningAdmin") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_server_role_ban_player_banning_admin"); + + b.HasOne("Content.Server.Database.Player", "LastEditedBy") + .WithMany("AdminServerRoleBansLastEdited") + .HasForeignKey("LastEditedById") + .HasPrincipalKey("UserId") + .OnDelete(DeleteBehavior.SetNull) + .HasConstraintName("FK_server_role_ban_player_last_edited_by_id"); + + b.HasOne("Content.Server.Database.Round", "Round") + .WithMany() + .HasForeignKey("RoundId") + .HasConstraintName("FK_server_role_ban_round_round_id"); + + b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 => + { + b1.Property("ServerRoleBanId") + .HasColumnType("INTEGER") + .HasColumnName("server_role_ban_id"); + + b1.Property("Hwid") + .IsRequired() + .HasColumnType("BLOB") + .HasColumnName("hwid"); + + b1.Property("Type") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(0) + .HasColumnName("hwid_type"); + + b1.HasKey("ServerRoleBanId"); + + b1.ToTable("server_role_ban"); + + b1.WithOwner() + .HasForeignKey("ServerRoleBanId") + .HasConstraintName("FK_server_role_ban_server_role_ban_server_role_ban_id"); + }); + + b.Navigation("CreatedBy"); + + b.Navigation("HWId"); + + b.Navigation("LastEditedBy"); + + b.Navigation("Round"); + }); + + modelBuilder.Entity("Content.Server.Database.ServerRoleUnban", b => + { + b.HasOne("Content.Server.Database.ServerRoleBan", "Ban") + .WithOne("Unban") + .HasForeignKey("Content.Server.Database.ServerRoleUnban", "BanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_server_role_unban_server_role_ban_ban_id"); + + b.Navigation("Ban"); + }); + + modelBuilder.Entity("Content.Server.Database.ServerUnban", b => + { + b.HasOne("Content.Server.Database.ServerBan", "Ban") + .WithOne("Unban") + .HasForeignKey("Content.Server.Database.ServerUnban", "BanId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_server_unban_server_ban_ban_id"); + + b.Navigation("Ban"); + }); + + modelBuilder.Entity("Content.Server.Database.Trait", b => + { + b.HasOne("Content.Server.Database.Profile", "Profile") + .WithMany("Traits") + .HasForeignKey("ProfileId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_trait_profile_profile_id"); + + b.Navigation("Profile"); + }); + + modelBuilder.Entity("PlayerRound", b => + { + b.HasOne("Content.Server.Database.Player", null) + .WithMany() + .HasForeignKey("PlayersId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_player_round_player_players_id"); + + b.HasOne("Content.Server.Database.Round", null) + .WithMany() + .HasForeignKey("RoundsId") + .OnDelete(DeleteBehavior.Cascade) + .IsRequired() + .HasConstraintName("FK_player_round_round_rounds_id"); + }); + + modelBuilder.Entity("Content.Server.Database.Admin", b => + { + b.Navigation("Flags"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminLog", b => + { + b.Navigation("Players"); + }); + + modelBuilder.Entity("Content.Server.Database.AdminRank", b => + { + b.Navigation("Admins"); + + b.Navigation("Flags"); + }); + + modelBuilder.Entity("Content.Server.Database.ConnectionLog", b => + { + b.Navigation("BanHits"); + }); + + modelBuilder.Entity("Content.Server.Database.Player", b => + { + b.Navigation("AdminLogs"); + + b.Navigation("AdminMessagesCreated"); + + b.Navigation("AdminMessagesDeleted"); + + b.Navigation("AdminMessagesLastEdited"); + + b.Navigation("AdminMessagesReceived"); + + b.Navigation("AdminNotesCreated"); + + b.Navigation("AdminNotesDeleted"); + + b.Navigation("AdminNotesLastEdited"); + + b.Navigation("AdminNotesReceived"); + + b.Navigation("AdminServerBansCreated"); + + b.Navigation("AdminServerBansLastEdited"); + + b.Navigation("AdminServerRoleBansCreated"); + + b.Navigation("AdminServerRoleBansLastEdited"); + + b.Navigation("AdminWatchlistsCreated"); + + b.Navigation("AdminWatchlistsDeleted"); + + b.Navigation("AdminWatchlistsLastEdited"); + + b.Navigation("AdminWatchlistsReceived"); + + b.Navigation("JobWhitelists"); + }); + + modelBuilder.Entity("Content.Server.Database.Preference", b => + { + b.Navigation("Profiles"); + }); + + modelBuilder.Entity("Content.Server.Database.Profile", b => + { + b.Navigation("Antags"); + + b.Navigation("Jobs"); + + b.Navigation("Loadouts"); + + b.Navigation("Traits"); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileLoadoutGroup", b => + { + b.Navigation("Loadouts"); + }); + + modelBuilder.Entity("Content.Server.Database.ProfileRoleLoadout", b => + { + b.Navigation("Groups"); + }); + + modelBuilder.Entity("Content.Server.Database.Round", b => + { + b.Navigation("AdminLogs"); + }); + + modelBuilder.Entity("Content.Server.Database.Server", b => + { + b.Navigation("ConnectionLogs"); + + b.Navigation("Rounds"); + }); + + modelBuilder.Entity("Content.Server.Database.ServerBan", b => + { + b.Navigation("BanHits"); + + b.Navigation("Unban"); + }); + + modelBuilder.Entity("Content.Server.Database.ServerRoleBan", b => + { + b.Navigation("Unban"); + }); +#pragma warning restore 612, 618 + } + } +} diff --git a/Content.Server.Database/Migrations/Sqlite/20241111193602_ConnectionTrust.cs b/Content.Server.Database/Migrations/Sqlite/20241111193602_ConnectionTrust.cs new file mode 100644 index 0000000000..3a7fd784e1 --- /dev/null +++ b/Content.Server.Database/Migrations/Sqlite/20241111193602_ConnectionTrust.cs @@ -0,0 +1,29 @@ +using Microsoft.EntityFrameworkCore.Migrations; + +#nullable disable + +namespace Content.Server.Database.Migrations.Sqlite +{ + /// + public partial class ConnectionTrust : Migration + { + /// + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.AddColumn( + name: "trust", + table: "connection_log", + type: "REAL", + nullable: false, + defaultValue: 0f); + } + + /// + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropColumn( + name: "trust", + table: "connection_log"); + } + } +} diff --git a/Content.Server.Database/Migrations/Sqlite/SqliteServerDbContextModelSnapshot.cs b/Content.Server.Database/Migrations/Sqlite/SqliteServerDbContextModelSnapshot.cs index 02d4416302..c63127874c 100644 --- a/Content.Server.Database/Migrations/Sqlite/SqliteServerDbContextModelSnapshot.cs +++ b/Content.Server.Database/Migrations/Sqlite/SqliteServerDbContextModelSnapshot.cs @@ -483,19 +483,6 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.ToTable("assigned_user_id", (string)null); }); - modelBuilder.Entity("Content.Server.Database.Blacklist", - b => - { - b.Property("UserId") - .ValueGeneratedOnAdd() - .HasColumnType("TEXT") - .HasColumnName("user_id"); - - b.HasKey("UserId") - .HasName("PK_blacklist"); - - b.ToTable("blacklist", (string) null); - }); modelBuilder.Entity("Content.Server.Database.BanTemplate", b => { b.Property("Id") @@ -539,6 +526,19 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.ToTable("ban_template", (string)null); }); + modelBuilder.Entity("Content.Server.Database.Blacklist", b => + { + b.Property("UserId") + .ValueGeneratedOnAdd() + .HasColumnType("TEXT") + .HasColumnName("user_id"); + + b.HasKey("UserId") + .HasName("PK_blacklist"); + + b.ToTable("blacklist", (string)null); + }); + modelBuilder.Entity("Content.Server.Database.ConnectionLog", b => { b.Property("Id") @@ -555,10 +555,6 @@ protected override void BuildModel(ModelBuilder modelBuilder) .HasColumnType("INTEGER") .HasColumnName("denied"); - b.Property("HWId") - .HasColumnType("BLOB") - .HasColumnName("hwid"); - b.Property("ServerId") .ValueGeneratedOnAdd() .HasColumnType("INTEGER") @@ -569,6 +565,10 @@ protected override void BuildModel(ModelBuilder modelBuilder) .HasColumnType("TEXT") .HasColumnName("time"); + b.Property("Trust") + .HasColumnType("REAL") + .HasColumnName("trust"); + b.Property("UserId") .HasColumnType("TEXT") .HasColumnName("user_id"); @@ -675,10 +675,6 @@ protected override void BuildModel(ModelBuilder modelBuilder) .HasColumnType("TEXT") .HasColumnName("last_seen_address"); - b.Property("LastSeenHWId") - .HasColumnType("BLOB") - .HasColumnName("last_seen_hwid"); - b.Property("LastSeenTime") .HasColumnType("TEXT") .HasColumnName("last_seen_time"); @@ -996,10 +992,6 @@ protected override void BuildModel(ModelBuilder modelBuilder) .HasColumnType("TEXT") .HasColumnName("expiration_time"); - b.Property("HWId") - .HasColumnType("BLOB") - .HasColumnName("hwid"); - b.Property("Hidden") .HasColumnType("INTEGER") .HasColumnName("hidden"); @@ -1124,10 +1116,6 @@ protected override void BuildModel(ModelBuilder modelBuilder) .HasColumnType("TEXT") .HasColumnName("expiration_time"); - b.Property("HWId") - .HasColumnType("BLOB") - .HasColumnName("hwid"); - b.Property("Hidden") .HasColumnType("INTEGER") .HasColumnName("hidden"); @@ -1559,6 +1547,34 @@ protected override void BuildModel(ModelBuilder modelBuilder) .IsRequired() .HasConstraintName("FK_connection_log_server_server_id"); + b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 => + { + b1.Property("ConnectionLogId") + .HasColumnType("INTEGER") + .HasColumnName("connection_log_id"); + + b1.Property("Hwid") + .IsRequired() + .HasColumnType("BLOB") + .HasColumnName("hwid"); + + b1.Property("Type") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(0) + .HasColumnName("hwid_type"); + + b1.HasKey("ConnectionLogId"); + + b1.ToTable("connection_log"); + + b1.WithOwner() + .HasForeignKey("ConnectionLogId") + .HasConstraintName("FK_connection_log_connection_log_connection_log_id"); + }); + + b.Navigation("HWId"); + b.Navigation("Server"); }); @@ -1574,6 +1590,37 @@ protected override void BuildModel(ModelBuilder modelBuilder) b.Navigation("Profile"); }); + modelBuilder.Entity("Content.Server.Database.Player", b => + { + b.OwnsOne("Content.Server.Database.TypedHwid", "LastSeenHWId", b1 => + { + b1.Property("PlayerId") + .HasColumnType("INTEGER") + .HasColumnName("player_id"); + + b1.Property("Hwid") + .IsRequired() + .HasColumnType("BLOB") + .HasColumnName("last_seen_hwid"); + + b1.Property("Type") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(0) + .HasColumnName("last_seen_hwid_type"); + + b1.HasKey("PlayerId"); + + b1.ToTable("player"); + + b1.WithOwner() + .HasForeignKey("PlayerId") + .HasConstraintName("FK_player_player_player_id"); + }); + + b.Navigation("LastSeenHWId"); + }); + modelBuilder.Entity("Content.Server.Database.Profile", b => { b.HasOne("Content.Server.Database.Preference", "Preference") @@ -1668,8 +1715,36 @@ protected override void BuildModel(ModelBuilder modelBuilder) .HasForeignKey("RoundId") .HasConstraintName("FK_server_ban_round_round_id"); + b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 => + { + b1.Property("ServerBanId") + .HasColumnType("INTEGER") + .HasColumnName("server_ban_id"); + + b1.Property("Hwid") + .IsRequired() + .HasColumnType("BLOB") + .HasColumnName("hwid"); + + b1.Property("Type") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(0) + .HasColumnName("hwid_type"); + + b1.HasKey("ServerBanId"); + + b1.ToTable("server_ban"); + + b1.WithOwner() + .HasForeignKey("ServerBanId") + .HasConstraintName("FK_server_ban_server_ban_server_ban_id"); + }); + b.Navigation("CreatedBy"); + b.Navigation("HWId"); + b.Navigation("LastEditedBy"); b.Navigation("Round"); @@ -1717,8 +1792,36 @@ protected override void BuildModel(ModelBuilder modelBuilder) .HasForeignKey("RoundId") .HasConstraintName("FK_server_role_ban_round_round_id"); + b.OwnsOne("Content.Server.Database.TypedHwid", "HWId", b1 => + { + b1.Property("ServerRoleBanId") + .HasColumnType("INTEGER") + .HasColumnName("server_role_ban_id"); + + b1.Property("Hwid") + .IsRequired() + .HasColumnType("BLOB") + .HasColumnName("hwid"); + + b1.Property("Type") + .ValueGeneratedOnAdd() + .HasColumnType("INTEGER") + .HasDefaultValue(0) + .HasColumnName("hwid_type"); + + b1.HasKey("ServerRoleBanId"); + + b1.ToTable("server_role_ban"); + + b1.WithOwner() + .HasForeignKey("ServerRoleBanId") + .HasConstraintName("FK_server_role_ban_server_role_ban_server_role_ban_id"); + }); + b.Navigation("CreatedBy"); + b.Navigation("HWId"); + b.Navigation("LastEditedBy"); b.Navigation("Round"); diff --git a/Content.Server.Database/Model.cs b/Content.Server.Database/Model.cs index 00b3cfea03..9190475b15 100644 --- a/Content.Server.Database/Model.cs +++ b/Content.Server.Database/Model.cs @@ -1,7 +1,9 @@ using System; using System.Collections.Generic; +using System.Collections.Immutable; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; +using System.Diagnostics.CodeAnalysis; using System.Linq; using System.Net; using System.Text.Json; @@ -327,6 +329,47 @@ protected override void OnModelCreating(ModelBuilder modelBuilder) .HasForeignKey(w => w.PlayerUserId) .HasPrincipalKey(p => p.UserId) .OnDelete(DeleteBehavior.Cascade); + + // Changes for modern HWID integration + modelBuilder.Entity() + .OwnsOne(p => p.LastSeenHWId) + .Property(p => p.Hwid) + .HasColumnName("last_seen_hwid"); + + modelBuilder.Entity() + .OwnsOne(p => p.LastSeenHWId) + .Property(p => p.Type) + .HasDefaultValue(HwidType.Legacy); + + modelBuilder.Entity() + .OwnsOne(p => p.HWId) + .Property(p => p.Hwid) + .HasColumnName("hwid"); + + modelBuilder.Entity() + .OwnsOne(p => p.HWId) + .Property(p => p.Type) + .HasDefaultValue(HwidType.Legacy); + + modelBuilder.Entity() + .OwnsOne(p => p.HWId) + .Property(p => p.Hwid) + .HasColumnName("hwid"); + + modelBuilder.Entity() + .OwnsOne(p => p.HWId) + .Property(p => p.Type) + .HasDefaultValue(HwidType.Legacy); + + modelBuilder.Entity() + .OwnsOne(p => p.HWId) + .Property(p => p.Hwid) + .HasColumnName("hwid"); + + modelBuilder.Entity() + .OwnsOne(p => p.HWId) + .Property(p => p.Type) + .HasDefaultValue(HwidType.Legacy); } public virtual IQueryable SearchLogs(IQueryable query, string searchText) @@ -519,7 +562,7 @@ public class Player public string LastSeenUserName { get; set; } = null!; public DateTime LastSeenTime { get; set; } public IPAddress LastSeenAddress { get; set; } = null!; - public byte[]? LastSeenHWId { get; set; } + public TypedHwid? LastSeenHWId { get; set; } // Data that changes with each round public List Rounds { get; set; } = null!; @@ -668,7 +711,7 @@ public interface IBanCommon where TUnban : IUnbanCommon int Id { get; set; } Guid? PlayerUserId { get; set; } NpgsqlInet? Address { get; set; } - byte[]? HWId { get; set; } + TypedHwid? HWId { get; set; } DateTime BanTime { get; set; } DateTime? ExpirationTime { get; set; } string Reason { get; set; } @@ -753,7 +796,7 @@ public class ServerBan : IBanCommon /// /// Hardware ID of the banned player. /// - public byte[]? HWId { get; set; } + public TypedHwid? HWId { get; set; } /// /// The time when the ban was applied by an administrator. @@ -891,7 +934,7 @@ public class ConnectionLog public DateTime Time { get; set; } public IPAddress Address { get; set; } = null!; - public byte[]? HWId { get; set; } + public TypedHwid? HWId { get; set; } public ConnectionDenyReason? Denied { get; set; } @@ -908,6 +951,8 @@ public class ConnectionLog public List BanHits { get; set; } = null!; public Server Server { get; set; } = null!; + + public float Trust { get; set; } } public enum ConnectionDenyReason : byte @@ -945,7 +990,7 @@ public sealed class ServerRoleBan : IBanCommon public Guid? PlayerUserId { get; set; } [Required] public TimeSpan PlaytimeAtNote { get; set; } public NpgsqlInet? Address { get; set; } - public byte[]? HWId { get; set; } + public TypedHwid? HWId { get; set; } public DateTime BanTime { get; set; } @@ -1206,4 +1251,37 @@ public sealed class BanTemplate /// public bool Hidden { get; set; } } + + /// + /// A hardware ID value together with its . + /// + /// + [Owned] + public sealed class TypedHwid + { + public byte[] Hwid { get; set; } = default!; + public HwidType Type { get; set; } + + [return: NotNullIfNotNull(nameof(immutable))] + public static implicit operator TypedHwid?(ImmutableTypedHwid? immutable) + { + if (immutable == null) + return null; + + return new TypedHwid + { + Hwid = immutable.Hwid.ToArray(), + Type = immutable.Type, + }; + } + + [return: NotNullIfNotNull(nameof(hwid))] + public static implicit operator ImmutableTypedHwid?(TypedHwid? hwid) + { + if (hwid == null) + return null; + + return new ImmutableTypedHwid(hwid.Hwid.ToImmutableArray(), hwid.Type); + } + } } diff --git a/Content.Server/Administration/BanList/BanListEui.cs b/Content.Server/Administration/BanList/BanListEui.cs index 8ddc7459d7..2ca126bf16 100644 --- a/Content.Server/Administration/BanList/BanListEui.cs +++ b/Content.Server/Administration/BanList/BanListEui.cs @@ -54,7 +54,7 @@ private void OnPermsChanged(AdminPermsChangedEventArgs args) private async Task LoadBans(NetUserId userId) { - foreach (var ban in await _db.GetServerBansAsync(null, userId, null)) + foreach (var ban in await _db.GetServerBansAsync(null, userId, null, null)) { SharedServerUnban? unban = null; if (ban.Unban is { } unbanDef) @@ -74,7 +74,7 @@ private async Task LoadBans(NetUserId userId) ? (address.address.ToString(), address.cidrMask) : null; - hwid = ban.HWId == null ? null : Convert.ToBase64String(ban.HWId.Value.AsSpan()); + hwid = ban.HWId?.ToString(); } Bans.Add(new SharedServerBan( @@ -95,7 +95,7 @@ private async Task LoadBans(NetUserId userId) private async Task LoadRoleBans(NetUserId userId) { - foreach (var ban in await _db.GetServerRoleBansAsync(null, userId, null)) + foreach (var ban in await _db.GetServerRoleBansAsync(null, userId, null, null)) { SharedServerUnban? unban = null; if (ban.Unban is { } unbanDef) @@ -115,7 +115,7 @@ private async Task LoadRoleBans(NetUserId userId) ? (address.address.ToString(), address.cidrMask) : null; - hwid = ban.HWId == null ? null : Convert.ToBase64String(ban.HWId.Value.AsSpan()); + hwid = ban.HWId?.ToString(); } RoleBans.Add(new SharedServerRoleBan( ban.Id, diff --git a/Content.Server/Administration/BanPanelEui.cs b/Content.Server/Administration/BanPanelEui.cs index e746e9c725..3eedad3ed5 100644 --- a/Content.Server/Administration/BanPanelEui.cs +++ b/Content.Server/Administration/BanPanelEui.cs @@ -1,4 +1,3 @@ -using System.Collections.Immutable; using System.Net; using System.Net.Sockets; using Content.Server.Administration.Managers; @@ -8,7 +7,6 @@ using Content.Shared.Administration; using Content.Shared.Database; using Content.Shared.Eui; -using Robust.Server.Player; using Robust.Shared.Network; namespace Content.Server.Administration; @@ -27,7 +25,7 @@ public sealed class BanPanelEui : BaseEui private NetUserId? PlayerId { get; set; } private string PlayerName { get; set; } = string.Empty; private IPAddress? LastAddress { get; set; } - private ImmutableArray? LastHwid { get; set; } + private ImmutableTypedHwid? LastHwid { get; set; } private const int Ipv4_CIDR = 32; private const int Ipv6_CIDR = 64; @@ -51,7 +49,7 @@ public override void HandleMessage(EuiMessageBase msg) switch (msg) { case BanPanelEuiStateMsg.CreateBanRequest r: - BanPlayer(r.Player, r.IpAddress, r.UseLastIp, r.Hwid?.ToImmutableArray(), r.UseLastHwid, r.Minutes, r.Severity, r.Reason, r.Roles, r.Erase); + BanPlayer(r.Player, r.IpAddress, r.UseLastIp, r.Hwid, r.UseLastHwid, r.Minutes, r.Severity, r.Reason, r.Roles, r.Erase); break; case BanPanelEuiStateMsg.GetPlayerInfoRequest r: ChangePlayer(r.PlayerUsername); @@ -59,7 +57,7 @@ public override void HandleMessage(EuiMessageBase msg) } } - private async void BanPlayer(string? target, string? ipAddressString, bool useLastIp, ImmutableArray? hwid, bool useLastHwid, uint minutes, NoteSeverity severity, string reason, IReadOnlyCollection? roles, bool erase) + private async void BanPlayer(string? target, string? ipAddressString, bool useLastIp, ImmutableTypedHwid? hwid, bool useLastHwid, uint minutes, NoteSeverity severity, string reason, IReadOnlyCollection? roles, bool erase) { if (!_admins.HasAdminFlag(Player, AdminFlags.Ban)) { @@ -155,7 +153,7 @@ public async void ChangePlayer(string playerNameOrId) ChangePlayer(located?.UserId, located?.Username ?? string.Empty, located?.LastAddress, located?.LastHWId); } - public void ChangePlayer(NetUserId? playerId, string playerName, IPAddress? lastAddress, ImmutableArray? lastHwid) + public void ChangePlayer(NetUserId? playerId, string playerName, IPAddress? lastAddress, ImmutableTypedHwid? lastHwid) { PlayerId = playerId; PlayerName = playerName; diff --git a/Content.Server/Administration/Commands/BanListCommand.cs b/Content.Server/Administration/Commands/BanListCommand.cs index a5bc97dce3..2f7093ae1d 100644 --- a/Content.Server/Administration/Commands/BanListCommand.cs +++ b/Content.Server/Administration/Commands/BanListCommand.cs @@ -38,7 +38,7 @@ public override async void Execute(IConsoleShell shell, string argStr, string[] if (shell.Player is not { } player) { - var bans = await _dbManager.GetServerBansAsync(data.LastAddress, data.UserId, data.LastHWId, false); + var bans = await _dbManager.GetServerBansAsync(data.LastAddress, data.UserId, data.LastLegacyHWId, data.LastModernHWIds, false); if (bans.Count == 0) { diff --git a/Content.Server/Administration/Commands/RoleBanListCommand.cs b/Content.Server/Administration/Commands/RoleBanListCommand.cs index 30bb3073ad..8244ded3b2 100644 --- a/Content.Server/Administration/Commands/RoleBanListCommand.cs +++ b/Content.Server/Administration/Commands/RoleBanListCommand.cs @@ -48,7 +48,7 @@ public async void Execute(IConsoleShell shell, string argStr, string[] args) if (shell.Player is not { } player) { - var bans = await _dbManager.GetServerRoleBansAsync(data.LastAddress, data.UserId, data.LastHWId, includeUnbanned); + var bans = await _dbManager.GetServerRoleBansAsync(data.LastAddress, data.UserId, data.LastLegacyHWId, data.LastModernHWIds, includeUnbanned); if (bans.Count == 0) { diff --git a/Content.Server/Administration/Managers/BanManager.cs b/Content.Server/Administration/Managers/BanManager.cs index 1cdfb82224..2e21710e51 100644 --- a/Content.Server/Administration/Managers/BanManager.cs +++ b/Content.Server/Administration/Managers/BanManager.cs @@ -65,7 +65,8 @@ private async Task CachePlayerData(ICommonSession player, CancellationToken canc var netChannel = player.Channel; ImmutableArray? hwId = netChannel.UserData.HWId.Length == 0 ? null : netChannel.UserData.HWId; - var roleBans = await _db.GetServerRoleBansAsync(netChannel.RemoteEndPoint.Address, player.UserId, hwId, false); + var modernHwids = netChannel.UserData.ModernHWIds; + var roleBans = await _db.GetServerRoleBansAsync(netChannel.RemoteEndPoint.Address, player.UserId, hwId, modernHwids, false); var userRoleBans = new List(); foreach (var ban in roleBans) @@ -132,7 +133,7 @@ public void Restart() } #region Server Bans - public async void CreateServerBan(NetUserId? target, string? targetUsername, NetUserId? banningAdmin, (IPAddress, int)? addressRange, ImmutableArray? hwid, uint? minutes, NoteSeverity severity, string reason) + public async void CreateServerBan(NetUserId? target, string? targetUsername, NetUserId? banningAdmin, (IPAddress, int)? addressRange, ImmutableTypedHwid? hwid, uint? minutes, NoteSeverity severity, string reason) { DateTimeOffset? expires = null; if (minutes > 0) @@ -166,9 +167,7 @@ public async void CreateServerBan(NetUserId? target, string? targetUsername, Net var addressRangeString = addressRange != null ? $"{addressRange.Value.Item1}/{addressRange.Value.Item2}" : "null"; - var hwidString = hwid != null - ? string.Concat(hwid.Value.Select(x => x.ToString("x2"))) - : "null"; + var hwidString = hwid?.ToString() ?? "null"; var expiresString = expires == null ? Loc.GetString("server-ban-string-never") : $"{expires}"; var key = _cfg.GetCVar(CCVars.AdminShowPIIOnBan) ? "server-ban-string" : "server-ban-string-no-pii"; @@ -208,6 +207,7 @@ private bool BanMatchesPlayer(ICommonSession player, ServerBanDef ban) UserId = player.UserId, Address = player.Channel.RemoteEndPoint.Address, HWId = player.Channel.UserData.HWId, + ModernHWIds = player.Channel.UserData.ModernHWIds, // It's possible for the player to not have cached data loading yet due to coincidental timing. // If this is the case, we assume they have all flags to avoid false-positives. ExemptFlags = _cachedBanExemptions.GetValueOrDefault(player, ServerBanExemptFlags.All), @@ -228,7 +228,7 @@ private void KickForBanDef(ICommonSession player, ServerBanDef def) #region Job Bans // If you are trying to remove timeOfBan, please don't. It's there because the note system groups role bans by time, reason and banning admin. // Removing it will clutter the note list. Please also make sure that department bans are applied to roles with the same DateTimeOffset. - public async void CreateRoleBan(NetUserId? target, string? targetUsername, NetUserId? banningAdmin, (IPAddress, int)? addressRange, ImmutableArray? hwid, string role, uint? minutes, NoteSeverity severity, string reason, DateTimeOffset timeOfBan) + public async void CreateRoleBan(NetUserId? target, string? targetUsername, NetUserId? banningAdmin, (IPAddress, int)? addressRange, ImmutableTypedHwid? hwid, string role, uint? minutes, NoteSeverity severity, string reason, DateTimeOffset timeOfBan) { if (!_prototypeManager.TryIndex(role, out JobPrototype? _)) { diff --git a/Content.Server/Administration/Managers/IBanManager.cs b/Content.Server/Administration/Managers/IBanManager.cs index c11e310a82..fc192cc306 100644 --- a/Content.Server/Administration/Managers/IBanManager.cs +++ b/Content.Server/Administration/Managers/IBanManager.cs @@ -24,7 +24,7 @@ public interface IBanManager /// Number of minutes to ban for. 0 and null mean permanent /// Severity of the resulting ban note /// Reason for the ban - public void CreateServerBan(NetUserId? target, string? targetUsername, NetUserId? banningAdmin, (IPAddress, int)? addressRange, ImmutableArray? hwid, uint? minutes, NoteSeverity severity, string reason); + public void CreateServerBan(NetUserId? target, string? targetUsername, NetUserId? banningAdmin, (IPAddress, int)? addressRange, ImmutableTypedHwid? hwid, uint? minutes, NoteSeverity severity, string reason); public HashSet? GetRoleBans(NetUserId playerUserId); public HashSet>? GetJobBans(NetUserId playerUserId); @@ -37,7 +37,7 @@ public interface IBanManager /// Reason for the ban /// Number of minutes to ban for. 0 and null mean permanent /// Time when the ban was applied, used for grouping role bans - public void CreateRoleBan(NetUserId? target, string? targetUsername, NetUserId? banningAdmin, (IPAddress, int)? addressRange, ImmutableArray? hwid, string role, uint? minutes, NoteSeverity severity, string reason, DateTimeOffset timeOfBan); + public void CreateRoleBan(NetUserId? target, string? targetUsername, NetUserId? banningAdmin, (IPAddress, int)? addressRange, ImmutableTypedHwid? hwid, string role, uint? minutes, NoteSeverity severity, string reason, DateTimeOffset timeOfBan); /// /// Pardons a role ban for the specified target, username or GUID diff --git a/Content.Server/Administration/PlayerLocator.cs b/Content.Server/Administration/PlayerLocator.cs index 64a85f19ad..25cc771468 100644 --- a/Content.Server/Administration/PlayerLocator.cs +++ b/Content.Server/Administration/PlayerLocator.cs @@ -5,16 +5,42 @@ using System.Net.Http.Json; using System.Threading; using System.Threading.Tasks; +using Content.Server.Connection; using Content.Server.Database; +using Content.Shared.Database; using JetBrains.Annotations; using Robust.Server.Player; using Robust.Shared; using Robust.Shared.Configuration; using Robust.Shared.Network; +using Robust.Shared.Player; namespace Content.Server.Administration { - public sealed record LocatedPlayerData(NetUserId UserId, IPAddress? LastAddress, ImmutableArray? LastHWId, string Username); + /// + /// Contains data resolved via . + /// + /// The ID of the located user. + /// The last known IP address that the user connected with. + /// + /// The last known HWID that the user connected with. + /// This should be used for placing new records involving HWIDs, such as bans. + /// For looking up data based on HWID, use combined and . + /// + /// The last known username for the user connected with. + /// + /// The last known legacy HWID value this user connected with. Only use for old lookups! + /// + /// + /// The set of last known modern HWIDs the user connected with. + /// + public sealed record LocatedPlayerData( + NetUserId UserId, + IPAddress? LastAddress, + ImmutableTypedHwid? LastHWId, + string Username, + ImmutableArray? LastLegacyHWId, + ImmutableArray> LastModernHWIds); /// /// Utilities for finding user IDs that extend to more than the server database. @@ -67,63 +93,42 @@ public PlayerLocator() { // Check people currently on the server, the easiest case. if (_playerManager.TryGetSessionByUsername(playerName, out var session)) - { - var userId = session.UserId; - var address = session.Channel.RemoteEndPoint.Address; - var hwId = session.Channel.UserData.HWId; - return new LocatedPlayerData(userId, address, hwId, session.Name); - } + return ReturnForSession(session); // Check database for past players. var record = await _db.GetPlayerRecordByUserName(playerName, cancel); if (record != null) - return new LocatedPlayerData(record.UserId, record.LastSeenAddress, record.HWId, record.LastSeenUserName); + return ReturnForPlayerRecord(record); // If all else fails, ask the auth server. var authServer = _configurationManager.GetCVar(CVars.AuthServer); var requestUri = $"{authServer}api/query/name?name={WebUtility.UrlEncode(playerName)}"; using var resp = await _httpClient.GetAsync(requestUri, cancel); - if (resp.StatusCode == HttpStatusCode.NotFound) - return null; - - if (!resp.IsSuccessStatusCode) - { - _sawmill.Error("Auth server returned bad response {StatusCode}!", resp.StatusCode); - return null; - } - - var responseData = await resp.Content.ReadFromJsonAsync(cancellationToken: cancel); - - if (responseData == null) - { - _sawmill.Error("Auth server returned null response!"); - return null; - } - - return new LocatedPlayerData(new NetUserId(responseData.UserId), null, null, responseData.UserName); + return await HandleAuthServerResponse(resp, cancel); } public async Task LookupIdAsync(NetUserId userId, CancellationToken cancel = default) { // Check people currently on the server, the easiest case. if (_playerManager.TryGetSessionById(userId, out var session)) - { - var address = session.Channel.RemoteEndPoint.Address; - var hwId = session.Channel.UserData.HWId; - return new LocatedPlayerData(userId, address, hwId, session.Name); - } + return ReturnForSession(session); // Check database for past players. var record = await _db.GetPlayerRecordByUserId(userId, cancel); if (record != null) - return new LocatedPlayerData(record.UserId, record.LastSeenAddress, record.HWId, record.LastSeenUserName); + return ReturnForPlayerRecord(record); // If all else fails, ask the auth server. var authServer = _configurationManager.GetCVar(CVars.AuthServer); var requestUri = $"{authServer}api/query/userid?userid={WebUtility.UrlEncode(userId.UserId.ToString())}"; using var resp = await _httpClient.GetAsync(requestUri, cancel); + return await HandleAuthServerResponse(resp, cancel); + } + + private async Task HandleAuthServerResponse(HttpResponseMessage resp, CancellationToken cancel) + { if (resp.StatusCode == HttpStatusCode.NotFound) return null; @@ -134,14 +139,40 @@ public PlayerLocator() } var responseData = await resp.Content.ReadFromJsonAsync(cancellationToken: cancel); - if (responseData == null) { _sawmill.Error("Auth server returned null response!"); return null; } - return new LocatedPlayerData(new NetUserId(responseData.UserId), null, null, responseData.UserName); + return new LocatedPlayerData(new NetUserId(responseData.UserId), null, null, responseData.UserName, null, []); + } + + private static LocatedPlayerData ReturnForSession(ICommonSession session) + { + var userId = session.UserId; + var address = session.Channel.RemoteEndPoint.Address; + var hwId = session.Channel.UserData.GetModernHwid(); + return new LocatedPlayerData( + userId, + address, + hwId, + session.Name, + session.Channel.UserData.HWId, + session.Channel.UserData.ModernHWIds); + } + + private static LocatedPlayerData ReturnForPlayerRecord(PlayerRecord record) + { + var hwid = record.HWId; + + return new LocatedPlayerData( + record.UserId, + record.LastSeenAddress, + hwid, + record.LastSeenUserName, + hwid is { Type: HwidType.Legacy } ? hwid.Hwid : null, + hwid is { Type: HwidType.Modern } ? [hwid.Hwid] : []); } public async Task LookupIdByNameOrIdAsync(string playerName, CancellationToken cancel = default) diff --git a/Content.Server/Administration/PlayerPanelEui.cs b/Content.Server/Administration/PlayerPanelEui.cs index 4c0df80601..6c30488886 100644 --- a/Content.Server/Administration/PlayerPanelEui.cs +++ b/Content.Server/Administration/PlayerPanelEui.cs @@ -173,11 +173,11 @@ public async void SetPlayerState() { _whitelisted = await _db.GetWhitelistStatusAsync(_targetPlayer.UserId); // This won't get associated ip or hwid bans but they were not placed on this account anyways - _bans = (await _db.GetServerBansAsync(null, _targetPlayer.UserId, null)).Count; + _bans = (await _db.GetServerBansAsync(null, _targetPlayer.UserId, null, null)).Count; // Unfortunately role bans for departments and stuff are issued individually. This means that a single role ban can have many individual role bans internally // The only way to distinguish whether a role ban is the same is to compare the ban time. // This is horrible and I would love to just erase the database and start from scratch instead but that's what I can do for now. - _roleBans = (await _db.GetServerRoleBansAsync(null, _targetPlayer.UserId, null)).DistinctBy(rb => rb.BanTime).Count(); + _roleBans = (await _db.GetServerRoleBansAsync(null, _targetPlayer.UserId, null, null)).DistinctBy(rb => rb.BanTime).Count(); } else { diff --git a/Content.Server/Administration/Systems/BwoinkSystem.cs b/Content.Server/Administration/Systems/BwoinkSystem.cs index 7a47755db9..4358b7e387 100644 --- a/Content.Server/Administration/Systems/BwoinkSystem.cs +++ b/Content.Server/Administration/Systems/BwoinkSystem.cs @@ -172,7 +172,7 @@ private async void OnPlayerStatusChanged(object? sender, SessionStatusEventArgs } // Check if the user has been banned - var ban = await _dbManager.GetServerBanAsync(null, e.Session.UserId, null); + var ban = await _dbManager.GetServerBanAsync(null, e.Session.UserId, null, null); if (ban != null) { var banMessage = Loc.GetString("bwoink-system-player-banned", ("banReason", ban.Reason)); diff --git a/Content.Server/Connection/ConnectionManager.cs b/Content.Server/Connection/ConnectionManager.cs index 2c1f9fb36f..e4c7cf0be2 100644 --- a/Content.Server/Connection/ConnectionManager.cs +++ b/Content.Server/Connection/ConnectionManager.cs @@ -111,11 +111,14 @@ private async Task NetMgrOnConnecting(NetConnectingArgs e) var serverId = (await _serverDbEntry.ServerEntity).Id; + var hwid = e.UserData.GetModernHwid(); + var trust = e.UserData.Trust; + if (deny != null) { var (reason, msg, banHits) = deny.Value; - var id = await _db.AddConnectionLogAsync(userId, e.UserName, addr, e.UserData.HWId, reason, serverId); + var id = await _db.AddConnectionLogAsync(userId, e.UserName, addr, hwid, trust, reason, serverId); if (banHits is { Count: > 0 }) await _db.AddServerBanHitsAsync(id, banHits); @@ -127,12 +130,12 @@ private async Task NetMgrOnConnecting(NetConnectingArgs e) } else { - await _db.AddConnectionLogAsync(userId, e.UserName, addr, e.UserData.HWId, null, serverId); + await _db.AddConnectionLogAsync(userId, e.UserName, addr, hwid, trust, null, serverId); if (!ServerPreferencesManager.ShouldStorePrefs(e.AuthType)) return; - await _db.UpdatePlayerRecordAsync(userId, e.UserName, addr, e.UserData.HWId); + await _db.UpdatePlayerRecordAsync(userId, e.UserName, addr, hwid); } } @@ -190,7 +193,9 @@ session.Status is SessionStatus.Connected or SessionStatus.InGame hwId = null; } - var bans = await _db.GetServerBansAsync(addr, userId, hwId, includeUnbanned: false); + var modernHwid = e.UserData.ModernHWIds; + + var bans = await _db.GetServerBansAsync(addr, userId, hwId, modernHwid, includeUnbanned: false); if (bans.Count > 0) { var firstBan = bans[0]; diff --git a/Content.Server/Connection/UserDataExt.cs b/Content.Server/Connection/UserDataExt.cs new file mode 100644 index 0000000000..a409f79a75 --- /dev/null +++ b/Content.Server/Connection/UserDataExt.cs @@ -0,0 +1,24 @@ +using Content.Shared.Database; +using Robust.Shared.Network; + +namespace Content.Server.Connection; + +/// +/// Helper functions for working with . +/// +public static class UserDataExt +{ + /// + /// Get the preferred HWID that should be used for new records related to a player. + /// + /// + /// Players can have zero or more HWIDs, but for logging things like connection logs we generally + /// only want a single one. This method returns a nullable method. + /// + public static ImmutableTypedHwid? GetModernHwid(this NetUserData userData) + { + return userData.ModernHWIds.Length == 0 + ? null + : new ImmutableTypedHwid(userData.ModernHWIds[0], HwidType.Modern); + } +} diff --git a/Content.Server/Database/BanMatcher.cs b/Content.Server/Database/BanMatcher.cs index e58e5b0b5f..f477ccd822 100644 --- a/Content.Server/Database/BanMatcher.cs +++ b/Content.Server/Database/BanMatcher.cs @@ -1,6 +1,7 @@ using System.Collections.Immutable; using System.Net; using Content.Server.IP; +using Content.Shared.Database; using Robust.Shared.Network; namespace Content.Server.Database; @@ -52,9 +53,28 @@ public static bool BanMatches(ServerBanDef ban, in PlayerInfo player) return true; } - return player.HWId is { Length: > 0 } hwIdVar - && ban.HWId != null - && hwIdVar.AsSpan().SequenceEqual(ban.HWId.Value.AsSpan()); + switch (ban.HWId?.Type) + { + case HwidType.Legacy: + if (player.HWId is { Length: > 0 } hwIdVar + && hwIdVar.AsSpan().SequenceEqual(ban.HWId.Hwid.AsSpan())) + { + return true; + } + break; + case HwidType.Modern: + if (player.ModernHWIds is { Length: > 0 } modernHwIdVar) + { + foreach (var hwid in modernHwIdVar) + { + if (hwid.AsSpan().SequenceEqual(ban.HWId.Hwid.AsSpan())) + return true; + } + } + break; + } + + return false; } /// @@ -73,10 +93,15 @@ public struct PlayerInfo public IPAddress? Address; /// - /// The hardware ID of the player. + /// The LEGACY hardware ID of the player. Corresponds with . /// public ImmutableArray? HWId; + /// + /// The modern hardware IDs of the player. Corresponds with . + /// + public ImmutableArray>? ModernHWIds; + /// /// Exemption flags the player has been granted. /// diff --git a/Content.Server/Database/DatabaseRecords.cs b/Content.Server/Database/DatabaseRecords.cs index c0d81147bb..30fba3434b 100644 --- a/Content.Server/Database/DatabaseRecords.cs +++ b/Content.Server/Database/DatabaseRecords.cs @@ -1,4 +1,3 @@ -using System.Collections.Immutable; using System.Net; using Content.Shared.Database; using Robust.Shared.Network; @@ -121,7 +120,7 @@ public sealed record PlayerRecord( string LastSeenUserName, DateTimeOffset LastSeenTime, IPAddress LastSeenAddress, - ImmutableArray? HWId); + ImmutableTypedHwid? HWId); public sealed record RoundRecord(int Id, DateTimeOffset? StartDate, ServerRecord Server); diff --git a/Content.Server/Database/ServerBanDef.cs b/Content.Server/Database/ServerBanDef.cs index 09a960e9a6..a09f9e959c 100644 --- a/Content.Server/Database/ServerBanDef.cs +++ b/Content.Server/Database/ServerBanDef.cs @@ -1,4 +1,3 @@ -using System.Collections.Immutable; using System.Net; using Content.Shared.CCVar; using Content.Shared.Database; @@ -13,7 +12,7 @@ public sealed class ServerBanDef public int? Id { get; } public NetUserId? UserId { get; } public (IPAddress address, int cidrMask)? Address { get; } - public ImmutableArray? HWId { get; } + public ImmutableTypedHwid? HWId { get; } public DateTimeOffset BanTime { get; } public DateTimeOffset? ExpirationTime { get; } @@ -28,7 +27,7 @@ public sealed class ServerBanDef public ServerBanDef(int? id, NetUserId? userId, (IPAddress, int)? address, - ImmutableArray? hwId, + TypedHwid? hwId, DateTimeOffset banTime, DateTimeOffset? expirationTime, int? roundId, diff --git a/Content.Server/Database/ServerDbBase.cs b/Content.Server/Database/ServerDbBase.cs index c85b774e38..723092bdc4 100644 --- a/Content.Server/Database/ServerDbBase.cs +++ b/Content.Server/Database/ServerDbBase.cs @@ -388,12 +388,14 @@ public async Task AssignUserIdAsync(string name, NetUserId netUserId) /// /// The ip address of the user. /// The id of the user. - /// The HWId of the user. + /// The legacy HWId of the user. + /// The modern HWIDs of the user. /// The user's latest received un-pardoned ban, or null if none exist. public abstract Task GetServerBanAsync( IPAddress? address, NetUserId? userId, - ImmutableArray? hwId); + ImmutableArray? hwId, + ImmutableArray>? modernHWIds); /// /// Looks up an user's ban history. @@ -402,13 +404,15 @@ public async Task AssignUserIdAsync(string name, NetUserId netUserId) /// /// The ip address of the user. /// The id of the user. - /// The HWId of the user. + /// The legacy HWId of the user. + /// The modern HWIDs of the user. /// Include pardoned and expired bans. /// The user's ban history. public abstract Task> GetServerBansAsync( IPAddress? address, NetUserId? userId, ImmutableArray? hwId, + ImmutableArray>? modernHWIds, bool includeUnbanned); public abstract Task AddServerBanAsync(ServerBanDef serverBan); @@ -499,11 +503,13 @@ public async Task GetBanExemption(NetUserId userId, Cancel /// The IP address of the user. /// The NetUserId of the user. /// The Hardware Id of the user. + /// The modern HWIDs of the user. /// Whether expired and pardoned bans are included. /// The user's role ban history. public abstract Task> GetServerRoleBansAsync(IPAddress? address, NetUserId? userId, ImmutableArray? hwId, + ImmutableArray>? modernHWIds, bool includeUnbanned); public abstract Task AddServerRoleBanAsync(ServerRoleBanDef serverRoleBan); @@ -586,7 +592,7 @@ public async Task UpdatePlayerRecord( NetUserId userId, string userName, IPAddress address, - ImmutableArray hwId) + ImmutableTypedHwid? hwId) { await using var db = await GetDb(); @@ -603,7 +609,7 @@ public async Task UpdatePlayerRecord( record.LastSeenTime = DateTime.UtcNow; record.LastSeenAddress = address; record.LastSeenUserName = userName; - record.LastSeenHWId = hwId.ToArray(); + record.LastSeenHWId = hwId; await db.DbContext.SaveChangesAsync(); } @@ -649,7 +655,7 @@ protected async Task PlayerRecordExists(DbGuard db, NetUserId userId) player.LastSeenUserName, new DateTimeOffset(NormalizeDatabaseTime(player.LastSeenTime)), player.LastSeenAddress, - player.LastSeenHWId?.ToImmutableArray()); + player.LastSeenHWId); } #endregion @@ -658,11 +664,11 @@ protected async Task PlayerRecordExists(DbGuard db, NetUserId userId) /* * CONNECTION LOG */ - public abstract Task AddConnectionLogAsync( - NetUserId userId, + public abstract Task AddConnectionLogAsync(NetUserId userId, string userName, IPAddress address, - ImmutableArray hwId, + ImmutableTypedHwid? hwId, + float trust, ConnectionDenyReason? denied, int serverId); diff --git a/Content.Server/Database/ServerDbManager.cs b/Content.Server/Database/ServerDbManager.cs index 216b1ec159..be32b43595 100644 --- a/Content.Server/Database/ServerDbManager.cs +++ b/Content.Server/Database/ServerDbManager.cs @@ -69,12 +69,14 @@ Task InitPrefsAsync( /// /// The ip address of the user. /// The id of the user. - /// The hardware ID of the user. + /// The legacy HWID of the user. + /// The modern HWIDs of the user. /// The user's latest received un-pardoned ban, or null if none exist. Task GetServerBanAsync( IPAddress? address, NetUserId? userId, - ImmutableArray? hwId); + ImmutableArray? hwId, + ImmutableArray>? modernHWIds); /// /// Looks up an user's ban history. @@ -82,13 +84,15 @@ Task InitPrefsAsync( /// /// The ip address of the user. /// The id of the user. - /// The HWId of the user. + /// The legacy HWId of the user. + /// The modern HWIDs of the user. /// If true, bans that have been expired or pardoned are also included. /// The user's ban history. Task> GetServerBansAsync( IPAddress? address, NetUserId? userId, ImmutableArray? hwId, + ImmutableArray>? modernHWIds, bool includeUnbanned=true); Task AddServerBanAsync(ServerBanDef serverBan); @@ -137,12 +141,14 @@ public Task EditServerBan( /// The IP address of the user. /// The NetUserId of the user. /// The Hardware Id of the user. + /// The modern HWIDs of the user. /// Whether expired and pardoned bans are included. /// The user's role ban history. Task> GetServerRoleBansAsync( IPAddress? address, NetUserId? userId, ImmutableArray? hwId, + ImmutableArray>? modernHWIds, bool includeUnbanned = true); Task AddServerRoleBanAsync(ServerRoleBanDef serverBan); @@ -180,7 +186,7 @@ Task UpdatePlayerRecordAsync( NetUserId userId, string userName, IPAddress address, - ImmutableArray hwId); + ImmutableTypedHwid? hwId); Task GetPlayerRecordByUserName(string userName, CancellationToken cancel = default); Task GetPlayerRecordByUserId(NetUserId userId, CancellationToken cancel = default); #endregion @@ -191,7 +197,8 @@ Task AddConnectionLogAsync( NetUserId userId, string userName, IPAddress address, - ImmutableArray hwId, + ImmutableTypedHwid? hwId, + float trust, ConnectionDenyReason? denied, int serverId); @@ -480,20 +487,22 @@ public Task AssignUserIdAsync(string name, NetUserId userId) public Task GetServerBanAsync( IPAddress? address, NetUserId? userId, - ImmutableArray? hwId) + ImmutableArray? hwId, + ImmutableArray>? modernHWIds) { DbReadOpsMetric.Inc(); - return RunDbCommand(() => _db.GetServerBanAsync(address, userId, hwId)); + return RunDbCommand(() => _db.GetServerBanAsync(address, userId, hwId, modernHWIds)); } public Task> GetServerBansAsync( IPAddress? address, NetUserId? userId, ImmutableArray? hwId, + ImmutableArray>? modernHWIds, bool includeUnbanned=true) { DbReadOpsMetric.Inc(); - return RunDbCommand(() => _db.GetServerBansAsync(address, userId, hwId, includeUnbanned)); + return RunDbCommand(() => _db.GetServerBansAsync(address, userId, hwId, modernHWIds, includeUnbanned)); } public Task AddServerBanAsync(ServerBanDef serverBan) @@ -537,10 +546,11 @@ public Task> GetServerRoleBansAsync( IPAddress? address, NetUserId? userId, ImmutableArray? hwId, + ImmutableArray>? modernHWIds, bool includeUnbanned = true) { DbReadOpsMetric.Inc(); - return RunDbCommand(() => _db.GetServerRoleBansAsync(address, userId, hwId, includeUnbanned)); + return RunDbCommand(() => _db.GetServerRoleBansAsync(address, userId, hwId, modernHWIds, includeUnbanned)); } public Task AddServerRoleBanAsync(ServerRoleBanDef serverRoleBan) @@ -582,7 +592,7 @@ public Task UpdatePlayerRecordAsync( NetUserId userId, string userName, IPAddress address, - ImmutableArray hwId) + ImmutableTypedHwid? hwId) { DbWriteOpsMetric.Inc(); return RunDbCommand(() => _db.UpdatePlayerRecord(userId, userName, address, hwId)); @@ -604,12 +614,13 @@ public Task AddConnectionLogAsync( NetUserId userId, string userName, IPAddress address, - ImmutableArray hwId, + ImmutableTypedHwid? hwId, + float trust, ConnectionDenyReason? denied, int serverId) { DbWriteOpsMetric.Inc(); - return RunDbCommand(() => _db.AddConnectionLogAsync(userId, userName, address, hwId, denied, serverId)); + return RunDbCommand(() => _db.AddConnectionLogAsync(userId, userName, address, hwId, trust, denied, serverId)); } public Task AddServerBanHitsAsync(int connection, IEnumerable bans) diff --git a/Content.Server/Database/ServerDbPostgres.cs b/Content.Server/Database/ServerDbPostgres.cs index 7d131f70dc..c034670837 100644 --- a/Content.Server/Database/ServerDbPostgres.cs +++ b/Content.Server/Database/ServerDbPostgres.cs @@ -9,6 +9,7 @@ using Content.Server.Administration.Logs; using Content.Server.IP; using Content.Shared.CCVar; +using Content.Shared.Database; using Microsoft.EntityFrameworkCore; using Robust.Shared.Configuration; using Robust.Shared.Network; @@ -73,7 +74,8 @@ public ServerDbPostgres(DbContextOptions options, public override async Task GetServerBanAsync( IPAddress? address, NetUserId? userId, - ImmutableArray? hwId) + ImmutableArray? hwId, + ImmutableArray>? modernHWIds) { if (address == null && userId == null && hwId == null) { @@ -84,7 +86,7 @@ public ServerDbPostgres(DbContextOptions options, var exempt = await GetBanExemptionCore(db, userId); var newPlayer = userId == null || !await PlayerRecordExists(db, userId.Value); - var query = MakeBanLookupQuery(address, userId, hwId, db, includeUnbanned: false, exempt, newPlayer) + var query = MakeBanLookupQuery(address, userId, hwId, modernHWIds, db, includeUnbanned: false, exempt, newPlayer) .OrderByDescending(b => b.BanTime); var ban = await query.FirstOrDefaultAsync(); @@ -94,7 +96,9 @@ public ServerDbPostgres(DbContextOptions options, public override async Task> GetServerBansAsync(IPAddress? address, NetUserId? userId, - ImmutableArray? hwId, bool includeUnbanned) + ImmutableArray? hwId, + ImmutableArray>? modernHWIds, + bool includeUnbanned) { if (address == null && userId == null && hwId == null) { @@ -105,7 +109,7 @@ public override async Task> GetServerBansAsync(IPAddress? add var exempt = await GetBanExemptionCore(db, userId); var newPlayer = !await db.PgDbContext.Player.AnyAsync(p => p.UserId == userId); - var query = MakeBanLookupQuery(address, userId, hwId, db, includeUnbanned, exempt, newPlayer); + var query = MakeBanLookupQuery(address, userId, hwId, modernHWIds, db, includeUnbanned, exempt, newPlayer); var queryBans = await query.ToArrayAsync(); var bans = new List(queryBans.Length); @@ -127,6 +131,7 @@ private static IQueryable MakeBanLookupQuery( IPAddress? address, NetUserId? userId, ImmutableArray? hwId, + ImmutableArray>? modernHWIds, DbGuardImpl db, bool includeUnbanned, ServerBanExemptFlags? exemptFlags, @@ -134,16 +139,11 @@ private static IQueryable MakeBanLookupQuery( { DebugTools.Assert(!(address == null && userId == null && hwId == null)); - IQueryable? query = null; - - if (userId is { } uid) - { - var newQ = db.PgDbContext.Ban - .Include(p => p.Unban) - .Where(b => b.PlayerUserId == uid.UserId); - - query = query == null ? newQ : query.Union(newQ); - } + var query = MakeBanLookupQualityShared( + userId, + hwId, + modernHWIds, + db.PgDbContext.Ban); if (address != null && !exemptFlags.GetValueOrDefault(ServerBanExemptFlags.None).HasFlag(ServerBanExemptFlags.IP)) { @@ -156,15 +156,6 @@ private static IQueryable MakeBanLookupQuery( query = query == null ? newQ : query.Union(newQ); } - if (hwId != null && hwId.Value.Length > 0) - { - var newQ = db.PgDbContext.Ban - .Include(p => p.Unban) - .Where(b => b.HWId!.SequenceEqual(hwId.Value.ToArray())); - - query = query == null ? newQ : query.Union(newQ); - } - DebugTools.Assert( query != null, "At least one filter item (IP/UserID/HWID) must have been given to make query not null."); @@ -186,6 +177,49 @@ private static IQueryable MakeBanLookupQuery( return query.Distinct(); } + private static IQueryable? MakeBanLookupQualityShared( + NetUserId? userId, + ImmutableArray? hwId, + ImmutableArray>? modernHWIds, + DbSet set) + where TBan : class, IBanCommon + where TUnban : class, IUnbanCommon + { + IQueryable? query = null; + + if (userId is { } uid) + { + var newQ = set + .Include(p => p.Unban) + .Where(b => b.PlayerUserId == uid.UserId); + + query = query == null ? newQ : query.Union(newQ); + } + + if (hwId != null && hwId.Value.Length > 0) + { + var newQ = set + .Include(p => p.Unban) + .Where(b => b.HWId!.Type == HwidType.Legacy && b.HWId!.Hwid.SequenceEqual(hwId.Value.ToArray())); + + query = query == null ? newQ : query.Union(newQ); + } + + if (modernHWIds != null) + { + foreach (var modernHwid in modernHWIds) + { + var newQ = set + .Include(p => p.Unban) + .Where(b => b.HWId!.Type == HwidType.Modern && b.HWId!.Hwid.SequenceEqual(modernHwid.ToArray())); + + query = query == null ? newQ : query.Union(newQ); + } + } + + return query; + } + private static ServerBanDef? ConvertBan(ServerBan? ban) { if (ban == null) @@ -211,7 +245,7 @@ private static IQueryable MakeBanLookupQuery( ban.Id, uid, ban.Address.ToTuple(), - ban.HWId == null ? null : ImmutableArray.Create(ban.HWId), + ban.HWId, ban.BanTime, ban.ExpirationTime, ban.RoundId, @@ -249,7 +283,7 @@ public override async Task AddServerBanAsync(ServerBanDef serverBan) db.PgDbContext.Ban.Add(new ServerBan { Address = serverBan.Address.ToNpgsqlInet(), - HWId = serverBan.HWId?.ToArray(), + HWId = serverBan.HWId, Reason = serverBan.Reason, Severity = serverBan.Severity, BanningAdmin = serverBan.BanningAdmin?.UserId, @@ -297,6 +331,7 @@ public override async Task AddServerUnbanAsync(ServerUnbanDef serverUnban) public override async Task> GetServerRoleBansAsync(IPAddress? address, NetUserId? userId, ImmutableArray? hwId, + ImmutableArray>? modernHWIds, bool includeUnbanned) { if (address == null && userId == null && hwId == null) @@ -306,7 +341,7 @@ public override async Task> GetServerRoleBansAsync(IPAddr await using var db = await GetDbImpl(); - var query = MakeRoleBanLookupQuery(address, userId, hwId, db, includeUnbanned) + var query = MakeRoleBanLookupQuery(address, userId, hwId, modernHWIds, db, includeUnbanned) .OrderByDescending(b => b.BanTime); return await QueryRoleBans(query); @@ -334,19 +369,15 @@ private static IQueryable MakeRoleBanLookupQuery( IPAddress? address, NetUserId? userId, ImmutableArray? hwId, + ImmutableArray>? modernHWIds, DbGuardImpl db, bool includeUnbanned) { - IQueryable? query = null; - - if (userId is { } uid) - { - var newQ = db.PgDbContext.RoleBan - .Include(p => p.Unban) - .Where(b => b.PlayerUserId == uid.UserId); - - query = query == null ? newQ : query.Union(newQ); - } + var query = MakeBanLookupQualityShared( + userId, + hwId, + modernHWIds, + db.PgDbContext.RoleBan); if (address != null) { @@ -357,15 +388,6 @@ private static IQueryable MakeRoleBanLookupQuery( query = query == null ? newQ : query.Union(newQ); } - if (hwId != null && hwId.Value.Length > 0) - { - var newQ = db.PgDbContext.RoleBan - .Include(p => p.Unban) - .Where(b => b.HWId!.SequenceEqual(hwId.Value.ToArray())); - - query = query == null ? newQ : query.Union(newQ); - } - if (!includeUnbanned) { query = query?.Where(p => @@ -402,7 +424,7 @@ private static IQueryable MakeRoleBanLookupQuery( ban.Id, uid, ban.Address.ToTuple(), - ban.HWId == null ? null : ImmutableArray.Create(ban.HWId), + ban.HWId, ban.BanTime, ban.ExpirationTime, ban.RoundId, @@ -440,7 +462,7 @@ public override async Task AddServerRoleBanAsync(ServerRoleBan var ban = new ServerRoleBan { Address = serverRoleBan.Address.ToNpgsqlInet(), - HWId = serverRoleBan.HWId?.ToArray(), + HWId = serverRoleBan.HWId, Reason = serverRoleBan.Reason, Severity = serverRoleBan.Severity, BanningAdmin = serverRoleBan.BanningAdmin?.UserId, @@ -476,7 +498,8 @@ public override async Task AddConnectionLogAsync( NetUserId userId, string userName, IPAddress address, - ImmutableArray hwId, + ImmutableTypedHwid? hwId, + float trust, ConnectionDenyReason? denied, int serverId) { @@ -488,9 +511,10 @@ public override async Task AddConnectionLogAsync( Time = DateTime.UtcNow, UserId = userId.UserId, UserName = userName, - HWId = hwId.ToArray(), + HWId = hwId, Denied = denied, - ServerId = serverId + ServerId = serverId, + Trust = trust, }; db.PgDbContext.ConnectionLog.Add(connectionLog); diff --git a/Content.Server/Database/ServerDbSqlite.cs b/Content.Server/Database/ServerDbSqlite.cs index af4bc2cf8d..6ec90c3332 100644 --- a/Content.Server/Database/ServerDbSqlite.cs +++ b/Content.Server/Database/ServerDbSqlite.cs @@ -9,6 +9,7 @@ using Content.Server.IP; using Content.Server.Preferences.Managers; using Content.Shared.CCVar; +using Content.Shared.Database; using Microsoft.EntityFrameworkCore; using Robust.Shared.Configuration; using Robust.Shared.Network; @@ -80,22 +81,24 @@ public ServerDbSqlite( public override async Task GetServerBanAsync( IPAddress? address, NetUserId? userId, - ImmutableArray? hwId) + ImmutableArray? hwId, + ImmutableArray>? modernHWIds) { await using var db = await GetDbImpl(); - return (await GetServerBanQueryAsync(db, address, userId, hwId, includeUnbanned: false)).FirstOrDefault(); + return (await GetServerBanQueryAsync(db, address, userId, hwId, modernHWIds, includeUnbanned: false)).FirstOrDefault(); } public override async Task> GetServerBansAsync( IPAddress? address, NetUserId? userId, ImmutableArray? hwId, + ImmutableArray>? modernHWIds, bool includeUnbanned) { await using var db = await GetDbImpl(); - return (await GetServerBanQueryAsync(db, address, userId, hwId, includeUnbanned)).ToList(); + return (await GetServerBanQueryAsync(db, address, userId, hwId, modernHWIds, includeUnbanned)).ToList(); } private async Task> GetServerBanQueryAsync( @@ -103,6 +106,7 @@ private async Task> GetServerBanQueryAsync( IPAddress? address, NetUserId? userId, ImmutableArray? hwId, + ImmutableArray>? modernHWIds, bool includeUnbanned) { var exempt = await GetBanExemptionCore(db, userId); @@ -119,6 +123,7 @@ private async Task> GetServerBanQueryAsync( UserId = userId, ExemptFlags = exempt ?? default, HWId = hwId, + ModernHWIds = modernHWIds, IsNewPlayer = newPlayer, }; @@ -161,7 +166,7 @@ public override async Task AddServerBanAsync(ServerBanDef serverBan) Reason = serverBan.Reason, Severity = serverBan.Severity, BanningAdmin = serverBan.BanningAdmin?.UserId, - HWId = serverBan.HWId?.ToArray(), + HWId = serverBan.HWId, BanTime = serverBan.BanTime.UtcDateTime, ExpirationTime = serverBan.ExpirationTime?.UtcDateTime, RoundId = serverBan.RoundId, @@ -205,6 +210,7 @@ public override async Task> GetServerRoleBansAsync( IPAddress? address, NetUserId? userId, ImmutableArray? hwId, + ImmutableArray>? modernHWIds, bool includeUnbanned) { await using var db = await GetDbImpl(); @@ -214,7 +220,7 @@ public override async Task> GetServerRoleBansAsync( var queryBans = await GetAllRoleBans(db.SqliteDbContext, includeUnbanned); return queryBans - .Where(b => RoleBanMatches(b, address, userId, hwId)) + .Where(b => RoleBanMatches(b, address, userId, hwId, modernHWIds)) .Select(ConvertRoleBan) .ToList()!; } @@ -237,7 +243,8 @@ private static bool RoleBanMatches( ServerRoleBan ban, IPAddress? address, NetUserId? userId, - ImmutableArray? hwId) + ImmutableArray? hwId, + ImmutableArray>? modernHWIds) { if (address != null && ban.Address is not null && address.IsInSubnet(ban.Address.ToTuple().Value)) { @@ -249,7 +256,27 @@ private static bool RoleBanMatches( return true; } - return hwId is { Length: > 0 } hwIdVar && hwIdVar.AsSpan().SequenceEqual(ban.HWId); + switch (ban.HWId?.Type) + { + case HwidType.Legacy: + if (hwId is { Length: > 0 } hwIdVar && hwIdVar.AsSpan().SequenceEqual(ban.HWId.Hwid)) + return true; + break; + + case HwidType.Modern: + if (modernHWIds != null) + { + foreach (var modernHWId in modernHWIds) + { + if (modernHWId.AsSpan().SequenceEqual(ban.HWId.Hwid)) + return true; + } + } + + break; + } + + return false; } public override async Task AddServerRoleBanAsync(ServerRoleBanDef serverBan) @@ -262,7 +289,7 @@ public override async Task AddServerRoleBanAsync(ServerRoleBan Reason = serverBan.Reason, Severity = serverBan.Severity, BanningAdmin = serverBan.BanningAdmin?.UserId, - HWId = serverBan.HWId?.ToArray(), + HWId = serverBan.HWId, BanTime = serverBan.BanTime.UtcDateTime, ExpirationTime = serverBan.ExpirationTime?.UtcDateTime, RoundId = serverBan.RoundId, @@ -316,7 +343,7 @@ public override async Task AddServerRoleUnbanAsync(ServerRoleUnbanDef serverUnba ban.Id, uid, ban.Address.ToTuple(), - ban.HWId == null ? null : ImmutableArray.Create(ban.HWId), + ban.HWId, // SQLite apparently always reads DateTime as unspecified, but we always write as UTC. DateTime.SpecifyKind(ban.BanTime, DateTimeKind.Utc), ban.ExpirationTime == null ? null : DateTime.SpecifyKind(ban.ExpirationTime.Value, DateTimeKind.Utc), @@ -376,7 +403,7 @@ public override async Task AddServerRoleUnbanAsync(ServerRoleUnbanDef serverUnba ban.Id, uid, ban.Address.ToTuple(), - ban.HWId == null ? null : ImmutableArray.Create(ban.HWId), + ban.HWId, // SQLite apparently always reads DateTime as unspecified, but we always write as UTC. DateTime.SpecifyKind(ban.BanTime, DateTimeKind.Utc), ban.ExpirationTime == null ? null : DateTime.SpecifyKind(ban.ExpirationTime.Value, DateTimeKind.Utc), @@ -412,7 +439,8 @@ public override async Task AddConnectionLogAsync( NetUserId userId, string userName, IPAddress address, - ImmutableArray hwId, + ImmutableTypedHwid? hwId, + float trust, ConnectionDenyReason? denied, int serverId) { @@ -424,9 +452,10 @@ public override async Task AddConnectionLogAsync( Time = DateTime.UtcNow, UserId = userId.UserId, UserName = userName, - HWId = hwId.ToArray(), + HWId = hwId, Denied = denied, - ServerId = serverId + ServerId = serverId, + Trust = trust, }; db.SqliteDbContext.ConnectionLog.Add(connectionLog); diff --git a/Content.Server/Database/ServerRoleBanDef.cs b/Content.Server/Database/ServerRoleBanDef.cs index f615d5da4d..dda3a82237 100644 --- a/Content.Server/Database/ServerRoleBanDef.cs +++ b/Content.Server/Database/ServerRoleBanDef.cs @@ -1,4 +1,3 @@ -using System.Collections.Immutable; using System.Net; using Content.Shared.Database; using Robust.Shared.Network; @@ -10,7 +9,7 @@ public sealed class ServerRoleBanDef public int? Id { get; } public NetUserId? UserId { get; } public (IPAddress address, int cidrMask)? Address { get; } - public ImmutableArray? HWId { get; } + public ImmutableTypedHwid? HWId { get; } public DateTimeOffset BanTime { get; } public DateTimeOffset? ExpirationTime { get; } @@ -26,7 +25,7 @@ public ServerRoleBanDef( int? id, NetUserId? userId, (IPAddress, int)? address, - ImmutableArray? hwId, + ImmutableTypedHwid? hwId, DateTimeOffset banTime, DateTimeOffset? expirationTime, int? roundId, diff --git a/Content.Shared.Database/TypedHwid.cs b/Content.Shared.Database/TypedHwid.cs new file mode 100644 index 0000000000..6e4a7763b3 --- /dev/null +++ b/Content.Shared.Database/TypedHwid.cs @@ -0,0 +1,62 @@ +using System.Collections.Immutable; +using System.Diagnostics.CodeAnalysis; + +namespace Content.Shared.Database; + +/// +/// Represents a raw HWID value together with its type. +/// +[Serializable] +public sealed class ImmutableTypedHwid(ImmutableArray hwid, HwidType type) +{ + public readonly ImmutableArray Hwid = hwid; + public readonly HwidType Type = type; + + public override string ToString() + { + var b64 = Convert.ToBase64String(Hwid.AsSpan()); + return Type == HwidType.Modern ? $"V2-{b64}" : b64; + } + + public static bool TryParse(string value, [NotNullWhen(true)] out ImmutableTypedHwid? hwid) + { + var type = HwidType.Legacy; + if (value.StartsWith("V2-", StringComparison.Ordinal)) + { + value = value["V2-".Length..]; + type = HwidType.Modern; + } + + var array = new byte[GetBase64ByteLength(value)]; + if (!Convert.TryFromBase64String(value, array, out _)) + { + hwid = null; + return false; + } + + hwid = new ImmutableTypedHwid([..array], type); + return true; + } + + private static int GetBase64ByteLength(string value) + { + // Why is .NET like this man wtf. + return 3 * (value.Length / 4) - value.TakeLast(2).Count(c => c == '='); + } +} + +/// +/// Represents different types of HWIDs as exposed by the engine. +/// +public enum HwidType +{ + /// + /// The legacy HWID system. Should only be used for checking old existing database bans. + /// + Legacy = 0, + + /// + /// The modern HWID system. + /// + Modern = 1, +} diff --git a/Content.Shared/Administration/BanPanelEuiState.cs b/Content.Shared/Administration/BanPanelEuiState.cs index dd10068e5d..74c340566b 100644 --- a/Content.Shared/Administration/BanPanelEuiState.cs +++ b/Content.Shared/Administration/BanPanelEuiState.cs @@ -25,7 +25,7 @@ public sealed class CreateBanRequest : EuiMessageBase { public string? Player { get; set; } public string? IpAddress { get; set; } - public byte[]? Hwid { get; set; } + public ImmutableTypedHwid? Hwid { get; set; } public uint Minutes { get; set; } public string Reason { get; set; } public NoteSeverity Severity { get; set; } @@ -34,7 +34,7 @@ public sealed class CreateBanRequest : EuiMessageBase public bool UseLastHwid { get; set; } public bool Erase { get; set; } - public CreateBanRequest(string? player, (IPAddress, int)? ipAddress, bool useLastIp, byte[]? hwid, bool useLastHwid, uint minutes, string reason, NoteSeverity severity, string[]? roles, bool erase) + public CreateBanRequest(string? player, (IPAddress, int)? ipAddress, bool useLastIp, ImmutableTypedHwid? hwid, bool useLastHwid, uint minutes, string reason, NoteSeverity severity, string[]? roles, bool erase) { Player = player; IpAddress = ipAddress == null ? null : $"{ipAddress.Value.Item1}/{ipAddress.Value.Item2}"; From 806e1e46cb1fec598310d46c31e332e0876794c1 Mon Sep 17 00:00:00 2001 From: Simon <63975668+Simyon264@users.noreply.github.com> Date: Tue, 12 Nov 2024 03:10:25 +0100 Subject: [PATCH 208/588] Separate CCVars into separate files --- Content.Shared/CCVar/CCVars.Accessibility.cs | 41 + Content.Shared/CCVar/CCVars.Admin.Ahelp.cs | 39 + Content.Shared/CCVar/CCVars.Admin.Logs.cs | 42 + Content.Shared/CCVar/CCVars.Admin.Rules.cs | 18 + Content.Shared/CCVar/CCVars.Admin.cs | 163 ++ Content.Shared/CCVar/CCVars.Atmos.cs | 153 ++ Content.Shared/CCVar/CCVars.Audio.cs | 61 + Content.Shared/CCVar/CCVars.Chat.Looc.cs | 26 + Content.Shared/CCVar/CCVars.Chat.Ooc.cs | 27 + Content.Shared/CCVar/CCVars.Chat.cs | 68 + Content.Shared/CCVar/CCVars.Config.cs | 35 + Content.Shared/CCVar/CCVars.Console.cs | 15 + Content.Shared/CCVar/CCVars.Crewmanifest.cs | 24 + Content.Shared/CCVar/CCVars.Database.cs | 77 + Content.Shared/CCVar/CCVars.Discord.cs | 61 + Content.Shared/CCVar/CCVars.Events.cs | 12 + Content.Shared/CCVar/CCVars.Explosion.cs | 108 + Content.Shared/CCVar/CCVars.Game.Infolinks.cs | 54 + Content.Shared/CCVar/CCVars.Game.cs | 336 +++ Content.Shared/CCVar/CCVars.Ghost.cs | 24 + Content.Shared/CCVar/CCVars.Hud.cs | 24 + Content.Shared/CCVar/CCVars.Ic.cs | 48 + Content.Shared/CCVar/CCVars.Interactions.cs | 54 + Content.Shared/CCVar/CCVars.Interface.cs | 24 + Content.Shared/CCVar/CCVars.Mapping.cs | 24 + Content.Shared/CCVar/CCVars.Midi.cs | 18 + Content.Shared/CCVar/CCVars.Misc.cs | 97 + Content.Shared/CCVar/CCVars.NPC.cs | 16 + Content.Shared/CCVar/CCVars.Net.cs | 15 + Content.Shared/CCVar/CCVars.Parallax.cs | 15 + Content.Shared/CCVar/CCVars.Physics.cs | 27 + Content.Shared/CCVar/CCVars.Radiation.cs | 32 + Content.Shared/CCVar/CCVars.Replays.cs | 43 + Content.Shared/CCVar/CCVars.Salvage.cs | 18 + Content.Shared/CCVar/CCVars.Server.cs | 43 + Content.Shared/CCVar/CCVars.Shuttle.cs | 176 ++ Content.Shared/CCVar/CCVars.Sounds.cs | 34 + Content.Shared/CCVar/CCVars.Status.cs | 13 + Content.Shared/CCVar/CCVars.Tips.cs | 40 + Content.Shared/CCVar/CCVars.Viewport.cs | 33 + Content.Shared/CCVar/CCVars.Vote.cs | 180 ++ Content.Shared/CCVar/CCVars.Whitelist.cs | 19 + Content.Shared/CCVar/CCVars.Worldgen.cs | 18 + Content.Shared/CCVar/CCVars.cs | 2406 +---------------- 44 files changed, 2418 insertions(+), 2383 deletions(-) create mode 100644 Content.Shared/CCVar/CCVars.Accessibility.cs create mode 100644 Content.Shared/CCVar/CCVars.Admin.Ahelp.cs create mode 100644 Content.Shared/CCVar/CCVars.Admin.Logs.cs create mode 100644 Content.Shared/CCVar/CCVars.Admin.Rules.cs create mode 100644 Content.Shared/CCVar/CCVars.Admin.cs create mode 100644 Content.Shared/CCVar/CCVars.Atmos.cs create mode 100644 Content.Shared/CCVar/CCVars.Audio.cs create mode 100644 Content.Shared/CCVar/CCVars.Chat.Looc.cs create mode 100644 Content.Shared/CCVar/CCVars.Chat.Ooc.cs create mode 100644 Content.Shared/CCVar/CCVars.Chat.cs create mode 100644 Content.Shared/CCVar/CCVars.Config.cs create mode 100644 Content.Shared/CCVar/CCVars.Console.cs create mode 100644 Content.Shared/CCVar/CCVars.Crewmanifest.cs create mode 100644 Content.Shared/CCVar/CCVars.Database.cs create mode 100644 Content.Shared/CCVar/CCVars.Discord.cs create mode 100644 Content.Shared/CCVar/CCVars.Events.cs create mode 100644 Content.Shared/CCVar/CCVars.Explosion.cs create mode 100644 Content.Shared/CCVar/CCVars.Game.Infolinks.cs create mode 100644 Content.Shared/CCVar/CCVars.Game.cs create mode 100644 Content.Shared/CCVar/CCVars.Ghost.cs create mode 100644 Content.Shared/CCVar/CCVars.Hud.cs create mode 100644 Content.Shared/CCVar/CCVars.Ic.cs create mode 100644 Content.Shared/CCVar/CCVars.Interactions.cs create mode 100644 Content.Shared/CCVar/CCVars.Interface.cs create mode 100644 Content.Shared/CCVar/CCVars.Mapping.cs create mode 100644 Content.Shared/CCVar/CCVars.Midi.cs create mode 100644 Content.Shared/CCVar/CCVars.Misc.cs create mode 100644 Content.Shared/CCVar/CCVars.NPC.cs create mode 100644 Content.Shared/CCVar/CCVars.Net.cs create mode 100644 Content.Shared/CCVar/CCVars.Parallax.cs create mode 100644 Content.Shared/CCVar/CCVars.Physics.cs create mode 100644 Content.Shared/CCVar/CCVars.Radiation.cs create mode 100644 Content.Shared/CCVar/CCVars.Replays.cs create mode 100644 Content.Shared/CCVar/CCVars.Salvage.cs create mode 100644 Content.Shared/CCVar/CCVars.Server.cs create mode 100644 Content.Shared/CCVar/CCVars.Shuttle.cs create mode 100644 Content.Shared/CCVar/CCVars.Sounds.cs create mode 100644 Content.Shared/CCVar/CCVars.Status.cs create mode 100644 Content.Shared/CCVar/CCVars.Tips.cs create mode 100644 Content.Shared/CCVar/CCVars.Viewport.cs create mode 100644 Content.Shared/CCVar/CCVars.Vote.cs create mode 100644 Content.Shared/CCVar/CCVars.Whitelist.cs create mode 100644 Content.Shared/CCVar/CCVars.Worldgen.cs diff --git a/Content.Shared/CCVar/CCVars.Accessibility.cs b/Content.Shared/CCVar/CCVars.Accessibility.cs new file mode 100644 index 0000000000..8eb61f0806 --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Accessibility.cs @@ -0,0 +1,41 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + /// + /// Chat window opacity slider, controlling the alpha of the chat window background. + /// Goes from to 0 (completely transparent) to 1 (completely opaque) + /// + public static readonly CVarDef ChatWindowOpacity = + CVarDef.Create("accessibility.chat_window_transparency", 0.85f, CVar.CLIENTONLY | CVar.ARCHIVE); + + /// + /// Toggle for visual effects that may potentially cause motion sickness. + /// Where reasonable, effects affected by this CVar should use an alternate effect. + /// Please do not use this CVar as a bandaid for effects that could otherwise be made accessible without issue. + /// + public static readonly CVarDef ReducedMotion = + CVarDef.Create("accessibility.reduced_motion", false, CVar.CLIENTONLY | CVar.ARCHIVE); + + public static readonly CVarDef ChatEnableColorName = + CVarDef.Create("accessibility.enable_color_name", + true, + CVar.CLIENTONLY | CVar.ARCHIVE, + "Toggles displaying names with individual colors."); + + /// + /// Screen shake intensity slider, controlling the intensity of the CameraRecoilSystem. + /// Goes from 0 (no recoil at all) to 1 (regular amounts of recoil) + /// + public static readonly CVarDef ScreenShakeIntensity = + CVarDef.Create("accessibility.screen_shake_intensity", 1f, CVar.CLIENTONLY | CVar.ARCHIVE); + + /// + /// A generic toggle for various visual effects that are color sensitive. + /// As of 2/16/24, only applies to progress bar colors. + /// + public static readonly CVarDef AccessibilityColorblindFriendly = + CVarDef.Create("accessibility.colorblind_friendly", false, CVar.CLIENTONLY | CVar.ARCHIVE); +} diff --git a/Content.Shared/CCVar/CCVars.Admin.Ahelp.cs b/Content.Shared/CCVar/CCVars.Admin.Ahelp.cs new file mode 100644 index 0000000000..48f3965bb5 --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Admin.Ahelp.cs @@ -0,0 +1,39 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + /// + /// Ahelp rate limit values are accounted in periods of this size (seconds). + /// After the period has passed, the count resets. + /// + /// + public static readonly CVarDef AhelpRateLimitPeriod = + CVarDef.Create("ahelp.rate_limit_period", 2f, CVar.SERVERONLY); + + /// + /// How many ahelp messages are allowed in a single rate limit period. + /// + /// + public static readonly CVarDef AhelpRateLimitCount = + CVarDef.Create("ahelp.rate_limit_count", 10, CVar.SERVERONLY); + + /// + /// Should the administrator's position be displayed in ahelp. + /// If it is is false, only the admin's ckey will be displayed in the ahelp. + /// + /// + /// + public static readonly CVarDef AhelpAdminPrefix = + CVarDef.Create("ahelp.admin_prefix", false, CVar.SERVERONLY); + + /// + /// Should the administrator's position be displayed in the webhook. + /// If it is is false, only the admin's ckey will be displayed in webhook. + /// + /// + /// + public static readonly CVarDef AhelpAdminPrefixWebhook = + CVarDef.Create("ahelp.admin_prefix_webhook", false, CVar.SERVERONLY); +} diff --git a/Content.Shared/CCVar/CCVars.Admin.Logs.cs b/Content.Shared/CCVar/CCVars.Admin.Logs.cs new file mode 100644 index 0000000000..862456ddfd --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Admin.Logs.cs @@ -0,0 +1,42 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + /// + /// Controls if admin logs are enabled. Highly recommended to shut this off for development. + /// + public static readonly CVarDef AdminLogsEnabled = + CVarDef.Create("adminlogs.enabled", true, CVar.SERVERONLY); + + public static readonly CVarDef AdminLogsQueueSendDelay = + CVarDef.Create("adminlogs.queue_send_delay_seconds", 5f, CVar.SERVERONLY); + + /// + /// When to skip the waiting time to save in-round admin logs, if no admin logs are currently being saved + /// + public static readonly CVarDef AdminLogsQueueMax = + CVarDef.Create("adminlogs.queue_max", 5000, CVar.SERVERONLY); + + /// + /// When to skip the waiting time to save pre-round admin logs, if no admin logs are currently being saved + /// + public static readonly CVarDef AdminLogsPreRoundQueueMax = + CVarDef.Create("adminlogs.pre_round_queue_max", 5000, CVar.SERVERONLY); + + /// + /// When to start dropping logs + /// + public static readonly CVarDef AdminLogsDropThreshold = + CVarDef.Create("adminlogs.drop_threshold", 20000, CVar.SERVERONLY); + + /// + /// How many logs to send to the client at once + /// + public static readonly CVarDef AdminLogsClientBatchSize = + CVarDef.Create("adminlogs.client_batch_size", 1000, CVar.SERVERONLY); + + public static readonly CVarDef AdminLogsServerName = + CVarDef.Create("adminlogs.server_name", "unknown", CVar.SERVERONLY); +} diff --git a/Content.Shared/CCVar/CCVars.Admin.Rules.cs b/Content.Shared/CCVar/CCVars.Admin.Rules.cs new file mode 100644 index 0000000000..7385104364 --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Admin.Rules.cs @@ -0,0 +1,18 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + /// + /// Time that players have to wait before rules can be accepted. + /// + public static readonly CVarDef RulesWaitTime = + CVarDef.Create("rules.time", 45f, CVar.SERVER | CVar.REPLICATED); + + /// + /// Don't show rules to localhost/loopback interface. + /// + public static readonly CVarDef RulesExemptLocal = + CVarDef.Create("rules.exempt_local", true, CVar.SERVERONLY); +} diff --git a/Content.Shared/CCVar/CCVars.Admin.cs b/Content.Shared/CCVar/CCVars.Admin.cs new file mode 100644 index 0000000000..28bebfbe8a --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Admin.cs @@ -0,0 +1,163 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + public static readonly CVarDef AdminAnnounceLogin = + CVarDef.Create("admin.announce_login", true, CVar.SERVERONLY); + + public static readonly CVarDef AdminAnnounceLogout = + CVarDef.Create("admin.announce_logout", true, CVar.SERVERONLY); + + /// + /// The token used to authenticate with the admin API. Leave empty to disable the admin API. This is a secret! Do not share! + /// + public static readonly CVarDef AdminApiToken = + CVarDef.Create("admin.api_token", string.Empty, CVar.SERVERONLY | CVar.CONFIDENTIAL); + + /// + /// Should users be able to see their own notes? Admins will be able to see and set notes regardless + /// + public static readonly CVarDef SeeOwnNotes = + CVarDef.Create("admin.see_own_notes", false, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER); + + /// + /// Should the server play a quick sound to the active admins whenever a new player joins? + /// + public static readonly CVarDef AdminNewPlayerJoinSound = + CVarDef.Create("admin.new_player_join_sound", false, CVar.SERVERONLY); + + /// + /// The amount of days before the note starts fading. It will slowly lose opacity until it reaches stale. Set to 0 to disable. + /// + public static readonly CVarDef NoteFreshDays = + CVarDef.Create("admin.note_fresh_days", 91.31055, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER); + + /// + /// The amount of days before the note completely fades, and can only be seen by admins if they press "see more notes". Set to 0 + /// if you want the note to immediately disappear without fading. + /// + public static readonly CVarDef NoteStaleDays = + CVarDef.Create("admin.note_stale_days", 365.2422, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER); + + /// + /// How much time does the user have to wait in seconds before confirming that they saw an admin message? + /// + public static readonly CVarDef MessageWaitTime = + CVarDef.Create("admin.message_wait_time", 3f, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER); + + /// + /// Default severity for role bans + /// + public static readonly CVarDef RoleBanDefaultSeverity = + CVarDef.Create("admin.role_ban_default_severity", "medium", CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED); + + /// + /// Default severity for department bans + /// + public static readonly CVarDef DepartmentBanDefaultSeverity = + CVarDef.Create("admin.department_ban_default_severity", "medium", CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED); + + /// + /// Default severity for server bans + /// + public static readonly CVarDef ServerBanDefaultSeverity = + CVarDef.Create("admin.server_ban_default_severity", "High", CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED); + + /// + /// Whether a server ban will ban the player's ip by default. + /// + public static readonly CVarDef ServerBanIpBanDefault = + CVarDef.Create("admin.server_ban_ip_ban_default", true, CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED); + + /// + /// Whether a server ban will ban the player's hardware id by default. + /// + public static readonly CVarDef ServerBanHwidBanDefault = + CVarDef.Create("admin.server_ban_hwid_ban_default", true, CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED); + + /// + /// Whether to use details from last connection for ip/hwid in the BanPanel. + /// + public static readonly CVarDef ServerBanUseLastDetails = + CVarDef.Create("admin.server_ban_use_last_details", true, CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED); + + /// + /// Whether to erase a player's chat messages and their entity from the game when banned. + /// + public static readonly CVarDef ServerBanErasePlayer = + CVarDef.Create("admin.server_ban_erase_player", false, CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED); + + /// + /// Minimum players sharing a connection required to create an alert. -1 to disable the alert. + /// + /// + /// If you set this to 0 or 1 then it will alert on every connection, so probably don't do that. + /// + public static readonly CVarDef AdminAlertMinPlayersSharingConnection = + CVarDef.Create("admin.alert.min_players_sharing_connection", -1, CVar.SERVERONLY); + + /// + /// Minimum explosion intensity to create an admin alert message. -1 to disable the alert. + /// + public static readonly CVarDef AdminAlertExplosionMinIntensity = + CVarDef.Create("admin.alert.explosion_min_intensity", 60, CVar.SERVERONLY); + + /// + /// Minimum particle accelerator strength to create an admin alert message. + /// + public static readonly CVarDef AdminAlertParticleAcceleratorMinPowerState = + CVarDef.Create("admin.alert.particle_accelerator_min_power_state", 5, CVar.SERVERONLY); // strength 4 + + /// + /// Should the ban details in admin channel include PII? (IP, HWID, etc) + /// + public static readonly CVarDef AdminShowPIIOnBan = + CVarDef.Create("admin.show_pii_onban", false, CVar.SERVERONLY); + + /// + /// If an admin joins a round by reading up or using the late join button, automatically + /// de-admin them. + /// + public static readonly CVarDef AdminDeadminOnJoin = + CVarDef.Create("admin.deadmin_on_join", false, CVar.SERVERONLY); + + /// + /// Overrides the name the client sees in ahelps. Set empty to disable. + /// + public static readonly CVarDef AdminAhelpOverrideClientName = + CVarDef.Create("admin.override_adminname_in_client_ahelp", string.Empty, CVar.SERVERONLY); + + /// + /// The threshold of minutes to appear as a "new player" in the ahelp menu + /// If 0, appearing as a new player is disabled. + /// + public static readonly CVarDef NewPlayerThreshold = + CVarDef.Create("admin.new_player_threshold", 0, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER); + + /// + /// How long an admin client can go without any input before being considered AFK. + /// + public static readonly CVarDef AdminAfkTime = + CVarDef.Create("admin.afk_time", 600f, CVar.SERVERONLY); + + /// + /// If true, admins are able to connect even if + /// would otherwise block regular players. + /// + public static readonly CVarDef AdminBypassMaxPlayers = + CVarDef.Create("admin.bypass_max_players", true, CVar.SERVERONLY); + + /// + /// Determine if custom rank names are used. + /// If it is false, it'd use the actual rank name regardless of the individual's title. + /// + /// + /// + public static readonly CVarDef AdminUseCustomNamesAdminRank = + CVarDef.Create("admin.use_custom_names_admin_rank", true, CVar.SERVERONLY); + + public static readonly CVarDef BanHardwareIds = + CVarDef.Create("ban.hardware_ids", true, CVar.SERVERONLY); +} diff --git a/Content.Shared/CCVar/CCVars.Atmos.cs b/Content.Shared/CCVar/CCVars.Atmos.cs new file mode 100644 index 0000000000..cc1069b4fc --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Atmos.cs @@ -0,0 +1,153 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + /// + /// Whether gas differences will move entities. + /// + public static readonly CVarDef SpaceWind = + CVarDef.Create("atmos.space_wind", false, CVar.SERVERONLY); + + /// + /// Divisor from maxForce (pressureDifference * 2.25f) to force applied on objects. + /// + public static readonly CVarDef SpaceWindPressureForceDivisorThrow = + CVarDef.Create("atmos.space_wind_pressure_force_divisor_throw", 15f, CVar.SERVERONLY); + + /// + /// Divisor from maxForce (pressureDifference * 2.25f) to force applied on objects. + /// + public static readonly CVarDef SpaceWindPressureForceDivisorPush = + CVarDef.Create("atmos.space_wind_pressure_force_divisor_push", 2500f, CVar.SERVERONLY); + + /// + /// The maximum velocity (not force) that may be applied to an object by atmospheric pressure differences. + /// Useful to prevent clipping through objects. + /// + public static readonly CVarDef SpaceWindMaxVelocity = + CVarDef.Create("atmos.space_wind_max_velocity", 30f, CVar.SERVERONLY); + + /// + /// The maximum force that may be applied to an object by pushing (i.e. not throwing) atmospheric pressure differences. + /// A "throwing" atmospheric pressure difference ignores this limit, but not the max. velocity limit. + /// + public static readonly CVarDef SpaceWindMaxPushForce = + CVarDef.Create("atmos.space_wind_max_push_force", 20f, CVar.SERVERONLY); + + /// + /// Whether monstermos tile equalization is enabled. + /// + public static readonly CVarDef MonstermosEqualization = + CVarDef.Create("atmos.monstermos_equalization", true, CVar.SERVERONLY); + + /// + /// Whether monstermos explosive depressurization is enabled. + /// Needs to be enabled to work. + /// + public static readonly CVarDef MonstermosDepressurization = + CVarDef.Create("atmos.monstermos_depressurization", true, CVar.SERVERONLY); + + /// + /// Whether monstermos explosive depressurization will rip tiles.. + /// Needs and to be enabled to work. + /// WARNING: This cvar causes MAJOR contrast issues, and usually tends to make any spaced scene look very cluttered. + /// This not only usually looks strange, but can also reduce playability for people with impaired vision. Please think twice before enabling this on your server. + /// Also looks weird on slow spacing for unrelated reasons. If you do want to enable this, you should probably turn on instaspacing. + /// + public static readonly CVarDef MonstermosRipTiles = + CVarDef.Create("atmos.monstermos_rip_tiles", false, CVar.SERVERONLY); + + /// + /// Whether explosive depressurization will cause the grid to gain an impulse. + /// Needs and to be enabled to work. + /// + public static readonly CVarDef AtmosGridImpulse = + CVarDef.Create("atmos.grid_impulse", false, CVar.SERVERONLY); + + /// + /// What fraction of air from a spaced tile escapes every tick. + /// 1.0 for instant spacing, 0.2 means 20% of remaining air lost each time + /// + public static readonly CVarDef AtmosSpacingEscapeRatio = + CVarDef.Create("atmos.mmos_spacing_speed", 0.15f, CVar.SERVERONLY); + + /// + /// Minimum amount of air allowed on a spaced tile before it is reset to 0 immediately in kPa + /// Since the decay due to SpacingEscapeRatio follows a curve, it would never reach 0.0 exactly + /// unless we truncate it somewhere. + /// + public static readonly CVarDef AtmosSpacingMinGas = + CVarDef.Create("atmos.mmos_min_gas", 2.0f, CVar.SERVERONLY); + + /// + /// How much wind can go through a single tile before that tile doesn't depressurize itself + /// (I.e spacing is limited in large rooms heading into smaller spaces) + /// + public static readonly CVarDef AtmosSpacingMaxWind = + CVarDef.Create("atmos.mmos_max_wind", 500f, CVar.SERVERONLY); + + /// + /// Whether atmos superconduction is enabled. + /// + /// Disabled by default, superconduction is awful. + public static readonly CVarDef Superconduction = + CVarDef.Create("atmos.superconduction", false, CVar.SERVERONLY); + + /// + /// Heat loss per tile due to radiation at 20 degC, in W. + /// + public static readonly CVarDef SuperconductionTileLoss = + CVarDef.Create("atmos.superconduction_tile_loss", 30f, CVar.SERVERONLY); + + /// + /// Whether excited groups will be processed and created. + /// + public static readonly CVarDef ExcitedGroups = + CVarDef.Create("atmos.excited_groups", true, CVar.SERVERONLY); + + /// + /// Whether all tiles in an excited group will clear themselves once being exposed to space. + /// Similar to , without none of the tile ripping or + /// things being thrown around very violently. + /// Needs to be enabled to work. + /// + public static readonly CVarDef ExcitedGroupsSpaceIsAllConsuming = + CVarDef.Create("atmos.excited_groups_space_is_all_consuming", false, CVar.SERVERONLY); + + /// + /// Maximum time in milliseconds that atmos can take processing. + /// + public static readonly CVarDef AtmosMaxProcessTime = + CVarDef.Create("atmos.max_process_time", 3f, CVar.SERVERONLY); + + /// + /// Atmos tickrate in TPS. Atmos processing will happen every 1/TPS seconds. + /// + public static readonly CVarDef AtmosTickRate = + CVarDef.Create("atmos.tickrate", 15f, CVar.SERVERONLY); + + /// + /// Scale factor for how fast things happen in our atmosphere + /// simulation compared to real life. 1x means pumps run at 1x + /// speed. Players typically expect things to happen faster + /// in-game. + /// + public static readonly CVarDef AtmosSpeedup = + CVarDef.Create("atmos.speedup", 8f, CVar.SERVERONLY); + + /// + /// Like atmos.speedup, but only for gas and reaction heat values. 64x means + /// gases heat up and cool down 64x faster than real life. + /// + public static readonly CVarDef AtmosHeatScale = + CVarDef.Create("atmos.heat_scale", 8f, CVar.SERVERONLY); + + /// + /// Maximum explosion radius for explosions caused by bursting a gas tank ("max caps"). + /// Setting this to zero disables the explosion but still allows the tank to burst and leak. + /// + public static readonly CVarDef AtmosTankFragment = + CVarDef.Create("atmos.max_explosion_range", 26f, CVar.SERVERONLY); +} diff --git a/Content.Shared/CCVar/CCVars.Audio.cs b/Content.Shared/CCVar/CCVars.Audio.cs new file mode 100644 index 0000000000..4d9e7c4431 --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Audio.cs @@ -0,0 +1,61 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + /// + /// How long we'll wait until re-sampling nearby objects for ambience. Should be pretty fast, but doesn't have to match the tick rate. + /// + public static readonly CVarDef AmbientCooldown = + CVarDef.Create("ambience.cooldown", 0.1f, CVar.ARCHIVE | CVar.CLIENTONLY); + + /// + /// How large of a range to sample for ambience. + /// + public static readonly CVarDef AmbientRange = + CVarDef.Create("ambience.range", 8f, CVar.REPLICATED | CVar.SERVER); + + /// + /// Maximum simultaneous ambient sounds. + /// + public static readonly CVarDef MaxAmbientSources = + CVarDef.Create("ambience.max_sounds", 16, CVar.ARCHIVE | CVar.CLIENTONLY); + + /// + /// The minimum value the user can set for ambience.max_sounds + /// + public static readonly CVarDef MinMaxAmbientSourcesConfigured = + CVarDef.Create("ambience.min_max_sounds_configured", 16, CVar.REPLICATED | CVar.SERVER | CVar.CHEAT); + + /// + /// The maximum value the user can set for ambience.max_sounds + /// + public static readonly CVarDef MaxMaxAmbientSourcesConfigured = + CVarDef.Create("ambience.max_max_sounds_configured", 64, CVar.REPLICATED | CVar.SERVER | CVar.CHEAT); + + /// + /// Ambience volume. + /// + public static readonly CVarDef AmbienceVolume = + CVarDef.Create("ambience.volume", 1.5f, CVar.ARCHIVE | CVar.CLIENTONLY); + + /// + /// Ambience music volume. + /// + public static readonly CVarDef AmbientMusicVolume = + CVarDef.Create("ambience.music_volume", 1.5f, CVar.ARCHIVE | CVar.CLIENTONLY); + + /// + /// Lobby / round end music volume. + /// + public static readonly CVarDef LobbyMusicVolume = + CVarDef.Create("ambience.lobby_music_volume", 0.50f, CVar.ARCHIVE | CVar.CLIENTONLY); + + /// + /// UI volume. + /// + public static readonly CVarDef InterfaceVolume = + CVarDef.Create("audio.interface_volume", 0.50f, CVar.ARCHIVE | CVar.CLIENTONLY); + +} diff --git a/Content.Shared/CCVar/CCVars.Chat.Looc.cs b/Content.Shared/CCVar/CCVars.Chat.Looc.cs new file mode 100644 index 0000000000..84ee2c2807 --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Chat.Looc.cs @@ -0,0 +1,26 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + public static readonly CVarDef LoocEnabled = + CVarDef.Create("looc.enabled", true, CVar.NOTIFY | CVar.REPLICATED); + + public static readonly CVarDef AdminLoocEnabled = + CVarDef.Create("looc.enabled_admin", true, CVar.NOTIFY); + + /// + /// True: Dead players can use LOOC + /// False: Dead player LOOC gets redirected to dead chat + /// + public static readonly CVarDef DeadLoocEnabled = + CVarDef.Create("looc.enabled_dead", false, CVar.NOTIFY | CVar.REPLICATED); + + /// + /// True: Crit players can use LOOC + /// False: Crit player LOOC gets redirected to dead chat + /// + public static readonly CVarDef CritLoocEnabled = + CVarDef.Create("looc.enabled_crit", false, CVar.NOTIFY | CVar.REPLICATED); +} diff --git a/Content.Shared/CCVar/CCVars.Chat.Ooc.cs b/Content.Shared/CCVar/CCVars.Chat.Ooc.cs new file mode 100644 index 0000000000..ba5e41053b --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Chat.Ooc.cs @@ -0,0 +1,27 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + public static readonly CVarDef + OocEnabled = CVarDef.Create("ooc.enabled", true, CVar.NOTIFY | CVar.REPLICATED); + + public static readonly CVarDef AdminOocEnabled = + CVarDef.Create("ooc.enabled_admin", true, CVar.NOTIFY); + + /// + /// If true, whenever OOC is disabled the Discord OOC relay will also be disabled. + /// + public static readonly CVarDef DisablingOOCDisablesRelay = + CVarDef.Create("ooc.disabling_ooc_disables_relay", true, CVar.SERVERONLY); + + /// + /// Whether or not OOC chat should be enabled during a round. + /// + public static readonly CVarDef OocEnableDuringRound = + CVarDef.Create("ooc.enable_during_round", false, CVar.NOTIFY | CVar.REPLICATED | CVar.SERVER); + + public static readonly CVarDef ShowOocPatronColor = + CVarDef.Create("ooc.show_ooc_patron_color", true, CVar.ARCHIVE | CVar.REPLICATED | CVar.CLIENT); +} diff --git a/Content.Shared/CCVar/CCVars.Chat.cs b/Content.Shared/CCVar/CCVars.Chat.cs new file mode 100644 index 0000000000..139a82372a --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Chat.cs @@ -0,0 +1,68 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + /// + /// Chat rate limit values are accounted in periods of this size (seconds). + /// After the period has passed, the count resets. + /// + /// + public static readonly CVarDef ChatRateLimitPeriod = + CVarDef.Create("chat.rate_limit_period", 2f, CVar.SERVERONLY); + + /// + /// How many chat messages are allowed in a single rate limit period. + /// + /// + /// The total rate limit throughput per second is effectively + /// divided by . + /// + /// + public static readonly CVarDef ChatRateLimitCount = + CVarDef.Create("chat.rate_limit_count", 10, CVar.SERVERONLY); + + /// + /// Minimum delay (in seconds) between notifying admins about chat message rate limit violations. + /// A negative value disables admin announcements. + /// + public static readonly CVarDef ChatRateLimitAnnounceAdminsDelay = + CVarDef.Create("chat.rate_limit_announce_admins_delay", 15, CVar.SERVERONLY); + + public static readonly CVarDef ChatMaxMessageLength = + CVarDef.Create("chat.max_message_length", 1000, CVar.SERVER | CVar.REPLICATED); + + public static readonly CVarDef ChatMaxAnnouncementLength = + CVarDef.Create("chat.max_announcement_length", 256, CVar.SERVER | CVar.REPLICATED); + + public static readonly CVarDef ChatSanitizerEnabled = + CVarDef.Create("chat.chat_sanitizer_enabled", true, CVar.SERVERONLY); + + public static readonly CVarDef ChatShowTypingIndicator = + CVarDef.Create("chat.show_typing_indicator", true, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER); + + public static readonly CVarDef ChatEnableFancyBubbles = + CVarDef.Create("chat.enable_fancy_bubbles", + true, + CVar.CLIENTONLY | CVar.ARCHIVE, + "Toggles displaying fancy speech bubbles, which display the speaking character's name."); + + public static readonly CVarDef ChatFancyNameBackground = + CVarDef.Create("chat.fancy_name_background", + false, + CVar.CLIENTONLY | CVar.ARCHIVE, + "Toggles displaying a background under the speaking character's name."); + + /// + /// A message broadcast to each player that joins the lobby. + /// May be changed by admins ingame through use of the "set-motd" command. + /// In this case the new value, if not empty, is broadcast to all connected players and saved between rounds. + /// May be requested by any player through use of the "get-motd" command. + /// + public static readonly CVarDef MOTD = + CVarDef.Create("chat.motd", + "", + CVar.SERVER | CVar.SERVERONLY | CVar.ARCHIVE, + "A message broadcast to each player that joins the lobby."); +} diff --git a/Content.Shared/CCVar/CCVars.Config.cs b/Content.Shared/CCVar/CCVars.Config.cs new file mode 100644 index 0000000000..4e11f09ee7 --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Config.cs @@ -0,0 +1,35 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + // These are server-only for now since I don't foresee a client use yet, + // and I don't wanna have to start coming up with like .client suffixes and stuff like that. + + /// + /// Configuration presets to load during startup. + /// Multiple presets can be separated by comma and are loaded in order. + /// + /// + /// Loaded presets must be located under the ConfigPresets/ resource directory and end with the .toml extension. + /// Only the file name (without extension) must be given for this variable. + /// + public static readonly CVarDef ConfigPresets = + CVarDef.Create("config.presets", "", CVar.SERVERONLY); + + /// + /// Whether to load the preset development CVars. + /// This disables some things like lobby to make development easier. + /// Even when true, these are only loaded if the game is compiled with DEVELOPMENT set. + /// + public static readonly CVarDef ConfigPresetDevelopment = + CVarDef.Create("config.preset_development", true, CVar.SERVERONLY); + + /// + /// Whether to load the preset debug CVars. + /// Even when true, these are only loaded if the game is compiled with DEBUG set. + /// + public static readonly CVarDef ConfigPresetDebug = + CVarDef.Create("config.preset_debug", true, CVar.SERVERONLY); +} diff --git a/Content.Shared/CCVar/CCVars.Console.cs b/Content.Shared/CCVar/CCVars.Console.cs new file mode 100644 index 0000000000..e670b9f836 --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Console.cs @@ -0,0 +1,15 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + public static readonly CVarDef ConsoleLoginLocal = + CVarDef.Create("console.loginlocal", true, CVar.ARCHIVE | CVar.SERVERONLY); + + /// + /// Automatically log in the given user as host, equivalent to the promotehost command. + /// + public static readonly CVarDef ConsoleLoginHostUser = + CVarDef.Create("console.login_host_user", "", CVar.ARCHIVE | CVar.SERVERONLY); +} diff --git a/Content.Shared/CCVar/CCVars.Crewmanifest.cs b/Content.Shared/CCVar/CCVars.Crewmanifest.cs new file mode 100644 index 0000000000..d6251886b9 --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Crewmanifest.cs @@ -0,0 +1,24 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + /// + /// Setting this allows a crew manifest to be opened from any window + /// that has a crew manifest button, and sends the correct message. + /// If this is false, only in-game entities will allow you to see + /// the crew manifest, if the functionality is coded in. + /// Having administrator priveledge ignores this, but will still + /// hide the button in UI windows. + /// + public static readonly CVarDef CrewManifestWithoutEntity = + CVarDef.Create("crewmanifest.no_entity", true, CVar.REPLICATED); + + /// + /// Setting this allows the crew manifest to be viewed from 'unsecure' + /// entities, such as the PDA. + /// + public static readonly CVarDef CrewManifestUnsecure = + CVarDef.Create("crewmanifest.unsecure", true, CVar.REPLICATED); +} diff --git a/Content.Shared/CCVar/CCVars.Database.cs b/Content.Shared/CCVar/CCVars.Database.cs new file mode 100644 index 0000000000..c549bd7e03 --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Database.cs @@ -0,0 +1,77 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ +#if DEBUG + private const int DefaultSqliteDelay = 1; +#else + private const int DefaultSqliteDelay = 0; +#endif + + public static readonly CVarDef DatabaseEngine = + CVarDef.Create("database.engine", "sqlite", CVar.SERVERONLY); + + public static readonly CVarDef DatabaseSqliteDbPath = + CVarDef.Create("database.sqlite_dbpath", "preferences.db", CVar.SERVERONLY); + + /// + /// Milliseconds to asynchronously delay all SQLite database acquisitions with. + /// + /// + /// Defaults to 1 on DEBUG, 0 on RELEASE. + /// This is intended to help catch .Result deadlock bugs that only happen on postgres + /// (because SQLite is not actually asynchronous normally) + /// + public static readonly CVarDef DatabaseSqliteDelay = + CVarDef.Create("database.sqlite_delay", DefaultSqliteDelay, CVar.SERVERONLY); + + /// + /// Amount of concurrent SQLite database operations. + /// + /// + /// Note that SQLite is not a properly asynchronous database and also has limited read/write concurrency. + /// Increasing this number may allow more concurrent reads, but it probably won't matter much. + /// SQLite operations are normally ran on the thread pool, which may cause thread pool starvation if the concurrency is too high. + /// + public static readonly CVarDef DatabaseSqliteConcurrency = + CVarDef.Create("database.sqlite_concurrency", 3, CVar.SERVERONLY); + + public static readonly CVarDef DatabasePgHost = + CVarDef.Create("database.pg_host", "localhost", CVar.SERVERONLY); + + public static readonly CVarDef DatabasePgPort = + CVarDef.Create("database.pg_port", 5432, CVar.SERVERONLY); + + public static readonly CVarDef DatabasePgDatabase = + CVarDef.Create("database.pg_database", "ss14", CVar.SERVERONLY); + + public static readonly CVarDef DatabasePgUsername = + CVarDef.Create("database.pg_username", "postgres", CVar.SERVERONLY); + + public static readonly CVarDef DatabasePgPassword = + CVarDef.Create("database.pg_password", "", CVar.SERVERONLY | CVar.CONFIDENTIAL); + + /// + /// Max amount of concurrent Postgres database operations. + /// + public static readonly CVarDef DatabasePgConcurrency = + CVarDef.Create("database.pg_concurrency", 8, CVar.SERVERONLY); + + /// + /// Milliseconds to asynchronously delay all PostgreSQL database operations with. + /// + /// + /// This is intended for performance testing. It works different from , + /// as the lag is applied after acquiring the database lock. + /// + public static readonly CVarDef DatabasePgFakeLag = + CVarDef.Create("database.pg_fake_lag", 0, CVar.SERVERONLY); + + /// + /// Basically only exists for integration tests to avoid race conditions. + /// + public static readonly CVarDef DatabaseSynchronous = + CVarDef.Create("database.sync", false, CVar.SERVERONLY); +} diff --git a/Content.Shared/CCVar/CCVars.Discord.cs b/Content.Shared/CCVar/CCVars.Discord.cs new file mode 100644 index 0000000000..a6c4ada745 --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Discord.cs @@ -0,0 +1,61 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + /// + /// The role that will get mentioned if a new SOS ahelp comes in. + /// + public static readonly CVarDef DiscordAhelpMention = + CVarDef.Create("discord.on_call_ping", string.Empty, CVar.SERVERONLY | CVar.CONFIDENTIAL); + + /// + /// URL of the discord webhook to relay unanswered ahelp messages. + /// + public static readonly CVarDef DiscordOnCallWebhook = + CVarDef.Create("discord.on_call_webhook", string.Empty, CVar.SERVERONLY | CVar.CONFIDENTIAL); + + /// + /// URL of the Discord webhook which will relay all ahelp messages. + /// + public static readonly CVarDef DiscordAHelpWebhook = + CVarDef.Create("discord.ahelp_webhook", string.Empty, CVar.SERVERONLY | CVar.CONFIDENTIAL); + + /// + /// The server icon to use in the Discord ahelp embed footer. + /// Valid values are specified at https://discord.com/developers/docs/resources/channel#embed-object-embed-footer-structure. + /// + public static readonly CVarDef DiscordAHelpFooterIcon = + CVarDef.Create("discord.ahelp_footer_icon", string.Empty, CVar.SERVERONLY); + + /// + /// The avatar to use for the webhook. Should be an URL. + /// + public static readonly CVarDef DiscordAHelpAvatar = + CVarDef.Create("discord.ahelp_avatar", string.Empty, CVar.SERVERONLY); + + /// + /// URL of the Discord webhook which will relay all custom votes. If left empty, disables the webhook. + /// + public static readonly CVarDef DiscordVoteWebhook = + CVarDef.Create("discord.vote_webhook", string.Empty, CVar.SERVERONLY); + + /// + /// URL of the Discord webhook which will relay all votekick votes. If left empty, disables the webhook. + /// + public static readonly CVarDef DiscordVotekickWebhook = + CVarDef.Create("discord.votekick_webhook", string.Empty, CVar.SERVERONLY); + + /// + /// URL of the Discord webhook which will relay round restart messages. + /// + public static readonly CVarDef DiscordRoundUpdateWebhook = + CVarDef.Create("discord.round_update_webhook", string.Empty, CVar.SERVERONLY | CVar.CONFIDENTIAL); + + /// + /// Role id for the Discord webhook to ping when the round ends. + /// + public static readonly CVarDef DiscordRoundEndRoleWebhook = + CVarDef.Create("discord.round_end_role", string.Empty, CVar.SERVERONLY); +} diff --git a/Content.Shared/CCVar/CCVars.Events.cs b/Content.Shared/CCVar/CCVars.Events.cs new file mode 100644 index 0000000000..48797b8438 --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Events.cs @@ -0,0 +1,12 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + /// + /// Controls if the game should run station events + /// + public static readonly CVarDef + EventsEnabled = CVarDef.Create("events.enabled", true, CVar.ARCHIVE | CVar.SERVERONLY); +} diff --git a/Content.Shared/CCVar/CCVars.Explosion.cs b/Content.Shared/CCVar/CCVars.Explosion.cs new file mode 100644 index 0000000000..51d93456b7 --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Explosion.cs @@ -0,0 +1,108 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + /// + /// How many tiles the explosion system will process per tick + /// + /// + /// Setting this too high will put a large load on a single tick. Setting this too low will lead to + /// unnaturally "slow" explosions. + /// + public static readonly CVarDef ExplosionTilesPerTick = + CVarDef.Create("explosion.tiles_per_tick", 100, CVar.SERVERONLY); + + /// + /// Upper limit on the size of an explosion before physics-throwing is disabled. + /// + /// + /// Large nukes tend to generate a lot of shrapnel that flies through space. This can functionally cripple + /// the server TPS for a while after an explosion (or even during, if the explosion is processed + /// incrementally. + /// + public static readonly CVarDef ExplosionThrowLimit = + CVarDef.Create("explosion.throw_limit", 400, CVar.SERVERONLY); + + /// + /// If this is true, explosion processing will pause the NodeGroupSystem to pause updating. + /// + /// + /// This only takes effect if an explosion needs more than one tick to process (i.e., covers more than tiles). If this is not enabled, the node-system will rebuild its graph + /// every tick as the explosion shreds the station, causing significant slowdown. + /// + public static readonly CVarDef ExplosionSleepNodeSys = + CVarDef.Create("explosion.node_sleep", true, CVar.SERVERONLY); + + /// + /// Upper limit on the total area that an explosion can affect before the neighbor-finding algorithm just + /// stops. Defaults to a 60-rile radius explosion. + /// + /// + /// Actual area may be larger, as it currently doesn't terminate mid neighbor finding. I.e., area may be that of a ~51 tile radius circle instead. + /// + public static readonly CVarDef ExplosionMaxArea = + CVarDef.Create("explosion.max_area", (int)3.14f * 256 * 256, CVar.SERVERONLY); + + /// + /// Upper limit on the number of neighbor finding steps for the explosion system neighbor-finding algorithm. + /// + /// + /// Effectively places an upper limit on the range that any explosion can have. In the vast majority of + /// instances, will likely be hit before this becomes a limiting factor. + /// + public static readonly CVarDef ExplosionMaxIterations = + CVarDef.Create("explosion.max_iterations", 500, CVar.SERVERONLY); + + /// + /// Max Time in milliseconds to spend processing explosions every tick. + /// + /// + /// This time limiting is not perfectly implemented. Firstly, a significant chunk of processing time happens + /// due to queued entity deletions, which happen outside of the system update code. Secondly, explosion + /// spawning cannot currently be interrupted & resumed, and may lead to exceeding this time limit. + /// + public static readonly CVarDef ExplosionMaxProcessingTime = + CVarDef.Create("explosion.max_tick_time", 7f, CVar.SERVERONLY); + + /// + /// If the explosion is being processed incrementally over several ticks, this variable determines whether + /// updating the grid tiles should be done incrementally at the end of every tick, or only once the explosion has finished processing. + /// + /// + /// The most notable consequence of this change is that explosions will only punch a hole in the station & + /// create a vacumm once they have finished exploding. So airlocks will no longer slam shut as the explosion + /// expands, just suddenly at the end. + /// + public static readonly CVarDef ExplosionIncrementalTileBreaking = + CVarDef.Create("explosion.incremental_tile", false, CVar.SERVERONLY); + + /// + /// This determines for how many seconds an explosion should stay visible once it has finished expanding. + /// + public static readonly CVarDef ExplosionPersistence = + CVarDef.Create("explosion.persistence", 1.0f, CVar.SERVERONLY); + + /// + /// If an explosion covers a larger area than this number, the damaging/processing will always start during + /// the next tick, instead of during the same tick that the explosion was generated in. + /// + /// + /// This value can be used to ensure that for large explosions the area/tile calculation and the explosion + /// processing/damaging occurs in separate ticks. This helps reduce the single-tick lag if both and are large. I.e., instead of + /// a single tick explosion, this cvar allows for a configuration that results in a two-tick explosion, + /// though most of the computational cost is still in the second tick. + /// + public static readonly CVarDef ExplosionSingleTickAreaLimit = + CVarDef.Create("explosion.single_tick_area_limit", 400, CVar.SERVERONLY); + + /// + /// Whether or not explosions are allowed to create tiles that have + /// set to true. + /// + public static readonly CVarDef ExplosionCanCreateVacuum = + CVarDef.Create("explosion.can_create_vacuum", true, CVar.SERVERONLY); +} diff --git a/Content.Shared/CCVar/CCVars.Game.Infolinks.cs b/Content.Shared/CCVar/CCVars.Game.Infolinks.cs new file mode 100644 index 0000000000..fa8332b497 --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Game.Infolinks.cs @@ -0,0 +1,54 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + /// + /// Link to Discord server to show in the launcher. + /// + public static readonly CVarDef InfoLinksDiscord = + CVarDef.Create("infolinks.discord", "", CVar.SERVER | CVar.REPLICATED); + + /// + /// Link to website to show in the launcher. + /// + public static readonly CVarDef InfoLinksForum = + CVarDef.Create("infolinks.forum", "", CVar.SERVER | CVar.REPLICATED); + + /// + /// Link to GitHub page to show in the launcher. + /// + public static readonly CVarDef InfoLinksGithub = + CVarDef.Create("infolinks.github", "", CVar.SERVER | CVar.REPLICATED); + + /// + /// Link to website to show in the launcher. + /// + public static readonly CVarDef InfoLinksWebsite = + CVarDef.Create("infolinks.website", "", CVar.SERVER | CVar.REPLICATED); + + /// + /// Link to wiki to show in the launcher. + /// + public static readonly CVarDef InfoLinksWiki = + CVarDef.Create("infolinks.wiki", "", CVar.SERVER | CVar.REPLICATED); + + /// + /// Link to Patreon. Not shown in the launcher currently. + /// + public static readonly CVarDef InfoLinksPatreon = + CVarDef.Create("infolinks.patreon", "", CVar.SERVER | CVar.REPLICATED); + + /// + /// Link to the bug report form. + /// + public static readonly CVarDef InfoLinksBugReport = + CVarDef.Create("infolinks.bug_report", "", CVar.SERVER | CVar.REPLICATED); + + /// + /// Link to site handling ban appeals. Shown in ban disconnect messages. + /// + public static readonly CVarDef InfoLinksAppeal = + CVarDef.Create("infolinks.appeal", "", CVar.SERVER | CVar.REPLICATED); +} diff --git a/Content.Shared/CCVar/CCVars.Game.cs b/Content.Shared/CCVar/CCVars.Game.cs new file mode 100644 index 0000000000..19092055e3 --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Game.cs @@ -0,0 +1,336 @@ +using Content.Shared.Roles; +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + /// + /// Disables most functionality in the GameTicker. + /// + public static readonly CVarDef + GameDummyTicker = CVarDef.Create("game.dummyticker", false, CVar.ARCHIVE | CVar.SERVERONLY); + + /// + /// Controls if the lobby is enabled. If it is not, and there are no available jobs, you may get stuck on a black screen. + /// + public static readonly CVarDef + GameLobbyEnabled = CVarDef.Create("game.lobbyenabled", true, CVar.ARCHIVE); + + /// + /// Controls the duration of the lobby timer in seconds. Defaults to 2 minutes and 30 seconds. + /// + public static readonly CVarDef + GameLobbyDuration = CVarDef.Create("game.lobbyduration", 150, CVar.ARCHIVE); + + /// + /// Controls if players can latejoin at all. + /// + public static readonly CVarDef + GameDisallowLateJoins = CVarDef.Create("game.disallowlatejoins", false, CVar.ARCHIVE | CVar.SERVERONLY); + + /// + /// Controls the default game preset. + /// + public static readonly CVarDef + GameLobbyDefaultPreset = CVarDef.Create("game.defaultpreset", "secret", CVar.ARCHIVE); + + /// + /// Controls if the game can force a different preset if the current preset's criteria are not met. + /// + public static readonly CVarDef + GameLobbyFallbackEnabled = CVarDef.Create("game.fallbackenabled", true, CVar.ARCHIVE); + + /// + /// The preset for the game to fall back to if the selected preset could not be used, and fallback is enabled. + /// + public static readonly CVarDef + GameLobbyFallbackPreset = CVarDef.Create("game.fallbackpreset", "Traitor,Extended", CVar.ARCHIVE); + + /// + /// Controls if people can win the game in Suspicion or Deathmatch. + /// + public static readonly CVarDef + GameLobbyEnableWin = CVarDef.Create("game.enablewin", true, CVar.ARCHIVE); + + /// + /// Controls the maximum number of character slots a player is allowed to have. + /// + public static readonly CVarDef + GameMaxCharacterSlots = CVarDef.Create("game.maxcharacterslots", 30, CVar.ARCHIVE | CVar.SERVERONLY); + + /// + /// Controls the game map prototype to load. SS14 stores these prototypes in Prototypes/Maps. + /// + public static readonly CVarDef + GameMap = CVarDef.Create("game.map", string.Empty, CVar.SERVERONLY); + + /// + /// Controls whether to use world persistence or not. + /// + public static readonly CVarDef + UsePersistence = CVarDef.Create("game.usepersistence", false, CVar.ARCHIVE); + + /// + /// If world persistence is used, what map prototype should be initially loaded. + /// If the save file exists, it replaces MapPath but everything else stays the same (station name and such). + /// + public static readonly CVarDef + PersistenceMap = CVarDef.Create("game.persistencemap", "Empty", CVar.ARCHIVE); + + /// + /// Prototype to use for map pool. + /// + public static readonly CVarDef + GameMapPool = CVarDef.Create("game.map_pool", "DefaultMapPool", CVar.SERVERONLY); + + /// + /// The depth of the queue used to calculate which map is next in rotation. + /// This is how long the game "remembers" that some map was put in play. Default is 16 rounds. + /// + public static readonly CVarDef + GameMapMemoryDepth = CVarDef.Create("game.map_memory_depth", 16, CVar.SERVERONLY); + + /// + /// Is map rotation enabled? + /// + public static readonly CVarDef + GameMapRotation = CVarDef.Create("game.map_rotation", true, CVar.SERVERONLY); + + /// + /// If roles should be restricted based on time. + /// + public static readonly CVarDef + GameRoleTimers = CVarDef.Create("game.role_timers", true, CVar.SERVER | CVar.REPLICATED); + + /// + /// Override default role requirements using a + /// + public static readonly CVarDef + GameRoleTimerOverride = CVarDef.Create("game.role_timer_override", "", CVar.SERVER | CVar.REPLICATED); + + /// + /// If roles should be restricted based on whether or not they are whitelisted. + /// + public static readonly CVarDef + GameRoleWhitelist = CVarDef.Create("game.role_whitelist", true, CVar.SERVER | CVar.REPLICATED); + + /// + /// Whether or not disconnecting inside of a cryopod should remove the character or just store them until they reconnect. + /// + public static readonly CVarDef + GameCryoSleepRejoining = CVarDef.Create("game.cryo_sleep_rejoining", false, CVar.SERVER | CVar.REPLICATED); + + /// + /// When enabled, guests will be assigned permanent UIDs and will have their preferences stored. + /// + public static readonly CVarDef GamePersistGuests = + CVarDef.Create("game.persistguests", true, CVar.ARCHIVE | CVar.SERVERONLY); + + public static readonly CVarDef GameDiagonalMovement = + CVarDef.Create("game.diagonalmovement", true, CVar.ARCHIVE); + + public static readonly CVarDef SoftMaxPlayers = + CVarDef.Create("game.soft_max_players", 30, CVar.SERVERONLY | CVar.ARCHIVE); + + /// + /// If a player gets denied connection to the server, + /// how long they are forced to wait before attempting to reconnect. + /// + public static readonly CVarDef GameServerFullReconnectDelay = + CVarDef.Create("game.server_full_reconnect_delay", 30, CVar.SERVERONLY); + + /// + /// Whether or not panic bunker is currently enabled. + /// + public static readonly CVarDef PanicBunkerEnabled = + CVarDef.Create("game.panic_bunker.enabled", false, CVar.NOTIFY | CVar.REPLICATED | CVar.SERVER); + + /// + /// Whether or not the panic bunker will disable when an admin comes online. + /// + public static readonly CVarDef PanicBunkerDisableWithAdmins = + CVarDef.Create("game.panic_bunker.disable_with_admins", false, CVar.SERVERONLY); + + /// + /// Whether or not the panic bunker will enable when no admins are online. + /// + public static readonly CVarDef PanicBunkerEnableWithoutAdmins = + CVarDef.Create("game.panic_bunker.enable_without_admins", false, CVar.SERVERONLY); + + /// + /// Whether or not the panic bunker will count deadminned admins for + /// and + /// + /// + public static readonly CVarDef PanicBunkerCountDeadminnedAdmins = + CVarDef.Create("game.panic_bunker.count_deadminned_admins", false, CVar.SERVERONLY); + + /// + /// Show reason of disconnect for user or not. + /// + public static readonly CVarDef PanicBunkerShowReason = + CVarDef.Create("game.panic_bunker.show_reason", false, CVar.SERVERONLY); + + /// + /// Minimum age of the account (from server's PoV, so from first-seen date) in minutes. + /// + public static readonly CVarDef PanicBunkerMinAccountAge = + CVarDef.Create("game.panic_bunker.min_account_age", 1440, CVar.SERVERONLY); + + /// + /// Minimal overall played time. + /// + public static readonly CVarDef PanicBunkerMinOverallMinutes = + CVarDef.Create("game.panic_bunker.min_overall_minutes", 600, CVar.SERVERONLY); + + /// + /// A custom message that will be used for connections denied to the panic bunker + /// If not empty, then will overwrite + /// + public static readonly CVarDef PanicBunkerCustomReason = + CVarDef.Create("game.panic_bunker.custom_reason", string.Empty, CVar.SERVERONLY); + + /// + /// Allow bypassing the panic bunker if the user is whitelisted. + /// + public static readonly CVarDef BypassBunkerWhitelist = + CVarDef.Create("game.panic_bunker.whitelisted_can_bypass", true, CVar.SERVERONLY); + + /* + * TODO: Remove baby jail code once a more mature gateway process is established. This code is only being issued as a stopgap to help with potential tiding in the immediate future. + */ + + /// + /// Whether the baby jail is currently enabled. + /// + public static readonly CVarDef BabyJailEnabled = + CVarDef.Create("game.baby_jail.enabled", false, CVar.NOTIFY | CVar.REPLICATED | CVar.SERVER); + + /// + /// Show reason of disconnect for user or not. + /// + public static readonly CVarDef BabyJailShowReason = + CVarDef.Create("game.baby_jail.show_reason", false, CVar.SERVERONLY); + + /// + /// Maximum age of the account (from server's PoV, so from first-seen date) in minutes that can access baby + /// jailed servers. + /// + public static readonly CVarDef BabyJailMaxAccountAge = + CVarDef.Create("game.baby_jail.max_account_age", 1440, CVar.SERVERONLY); + + /// + /// Maximum overall played time allowed to access baby jailed servers. + /// + public static readonly CVarDef BabyJailMaxOverallMinutes = + CVarDef.Create("game.baby_jail.max_overall_minutes", 120, CVar.SERVERONLY); + + /// + /// A custom message that will be used for connections denied due to the baby jail. + /// If not empty, then will overwrite + /// + public static readonly CVarDef BabyJailCustomReason = + CVarDef.Create("game.baby_jail.custom_reason", string.Empty, CVar.SERVERONLY); + + /// + /// Allow bypassing the baby jail if the user is whitelisted. + /// + public static readonly CVarDef BypassBabyJailWhitelist = + CVarDef.Create("game.baby_jail.whitelisted_can_bypass", true, CVar.SERVERONLY); + + /// + /// Make people bonk when trying to climb certain objects like tables. + /// + public static readonly CVarDef GameTableBonk = + CVarDef.Create("game.table_bonk", false, CVar.REPLICATED); + + /// + /// Whether or not status icons are rendered for everyone. + /// + public static readonly CVarDef GlobalStatusIconsEnabled = + CVarDef.Create("game.global_status_icons_enabled", true, CVar.SERVER | CVar.REPLICATED); + + /// + /// Whether or not status icons are rendered on this specific client. + /// + public static readonly CVarDef LocalStatusIconsEnabled = + CVarDef.Create("game.local_status_icons_enabled", true, CVar.CLIENTONLY); + + /// + /// Whether or not coordinates on the Debug overlay should only be available to admins. + /// + public static readonly CVarDef DebugCoordinatesAdminOnly = + CVarDef.Create("game.debug_coordinates_admin_only", true, CVar.SERVER | CVar.REPLICATED); + +#if EXCEPTION_TOLERANCE + /// + /// Amount of times round start must fail before the server is shut down. + /// Set to 0 or a negative number to disable. + /// + public static readonly CVarDef RoundStartFailShutdownCount = + CVarDef.Create("game.round_start_fail_shutdown_count", 5, CVar.SERVERONLY | CVar.SERVER); +#endif + + /// + /// Delay between station alert level changes. + /// + public static readonly CVarDef GameAlertLevelChangeDelay = + CVarDef.Create("game.alert_level_change_delay", 30, CVar.SERVERONLY); + + /// + /// The time in seconds that the server should wait before restarting the round. + /// Defaults to 2 minutes. + /// + public static readonly CVarDef RoundRestartTime = + CVarDef.Create("game.round_restart_time", 120f, CVar.SERVERONLY); + + /// + /// The prototype to use for secret weights. + /// + public static readonly CVarDef SecretWeightPrototype = + CVarDef.Create("game.secret_weight_prototype", "Secret", CVar.SERVERONLY); + + /// + /// The id of the sound collection to randomly choose a sound from and play when the round ends. + /// + public static readonly CVarDef RoundEndSoundCollection = + CVarDef.Create("game.round_end_sound_collection", "RoundEnd", CVar.SERVERONLY); + + /// + /// Whether or not to add every player as a global override to PVS at round end. + /// This will allow all players to see their clothing in the round screen player list screen, + /// but may cause lag during round end with very high player counts. + /// + public static readonly CVarDef RoundEndPVSOverrides = + CVarDef.Create("game.round_end_pvs_overrides", true, CVar.SERVERONLY); + + /// + /// If true, players can place objects onto tabletop games like chess boards. + /// + /// + /// This feature is currently highly abusable and can easily be used to crash the server, + /// so it's off by default. + /// + public static readonly CVarDef GameTabletopPlace = + CVarDef.Create("game.tabletop_place", false, CVar.SERVERONLY); + + /// + /// If true, contraband severity can be viewed in the examine menu + /// + public static readonly CVarDef ContrabandExamine = + CVarDef.Create("game.contraband_examine", true, CVar.SERVER | CVar.REPLICATED); + + /// + /// Size of the lookup area for adding entities to the context menu + /// + public static readonly CVarDef GameEntityMenuLookup = + CVarDef.Create("game.entity_menu_lookup", 0.25f, CVar.CLIENTONLY | CVar.ARCHIVE); + + /// + /// Should the clients window show the server hostname in the title? + /// + public static readonly CVarDef GameHostnameInTitlebar = + CVarDef.Create("game.hostname_in_titlebar", true, CVar.SERVER | CVar.REPLICATED); + +} diff --git a/Content.Shared/CCVar/CCVars.Ghost.cs b/Content.Shared/CCVar/CCVars.Ghost.cs new file mode 100644 index 0000000000..39e7a3c491 --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Ghost.cs @@ -0,0 +1,24 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + /// + /// The time you must spend reading the rules, before the "Request" button is enabled + /// + public static readonly CVarDef GhostRoleTime = + CVarDef.Create("ghost.role_time", 3f, CVar.REPLICATED | CVar.SERVER); + + /// + /// If ghost role lotteries should be made near-instanteous. + /// + public static readonly CVarDef GhostQuickLottery = + CVarDef.Create("ghost.quick_lottery", false, CVar.SERVERONLY); + + /// + /// Whether or not to kill the player's mob on ghosting, when it is in a critical health state. + /// + public static readonly CVarDef GhostKillCrit = + CVarDef.Create("ghost.kill_crit", true, CVar.REPLICATED | CVar.SERVER); +} diff --git a/Content.Shared/CCVar/CCVars.Hud.cs b/Content.Shared/CCVar/CCVars.Hud.cs new file mode 100644 index 0000000000..f96924b349 --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Hud.cs @@ -0,0 +1,24 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + public static readonly CVarDef HudTheme = + CVarDef.Create("hud.theme", 0, CVar.ARCHIVE | CVar.CLIENTONLY); + + public static readonly CVarDef HudHeldItemShow = + CVarDef.Create("hud.held_item_show", true, CVar.ARCHIVE | CVar.CLIENTONLY); + + public static readonly CVarDef CombatModeIndicatorsPointShow = + CVarDef.Create("hud.combat_mode_indicators_point_show", true, CVar.ARCHIVE | CVar.CLIENTONLY); + + public static readonly CVarDef LoocAboveHeadShow = + CVarDef.Create("hud.show_looc_above_head", true, CVar.ARCHIVE | CVar.CLIENTONLY); + + public static readonly CVarDef HudHeldItemOffset = + CVarDef.Create("hud.held_item_offset", 28f, CVar.ARCHIVE | CVar.CLIENTONLY); + + public static readonly CVarDef HudFpsCounterVisible = + CVarDef.Create("hud.fps_counter_visible", false, CVar.CLIENTONLY | CVar.ARCHIVE); +} diff --git a/Content.Shared/CCVar/CCVars.Ic.cs b/Content.Shared/CCVar/CCVars.Ic.cs new file mode 100644 index 0000000000..e149e9f3e1 --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Ic.cs @@ -0,0 +1,48 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + /// + /// Restricts IC character names to alphanumeric chars. + /// + public static readonly CVarDef RestrictedNames = + CVarDef.Create("ic.restricted_names", true, CVar.SERVER | CVar.REPLICATED); + + /// + /// Allows flavor text (character descriptions) + /// + public static readonly CVarDef FlavorText = + CVarDef.Create("ic.flavor_text", false, CVar.SERVER | CVar.REPLICATED); + + /// + /// Adds a period at the end of a sentence if the sentence ends in a letter. + /// + public static readonly CVarDef ChatPunctuation = + CVarDef.Create("ic.punctuation", false, CVar.SERVER); + + /// + /// Enables automatically forcing IC name rules. Uppercases the first letter of the first and last words of the name + /// + public static readonly CVarDef ICNameCase = + CVarDef.Create("ic.name_case", true, CVar.SERVER | CVar.REPLICATED); + + /// + /// Whether or not players' characters are randomly generated rather than using their selected characters in the creator. + /// + public static readonly CVarDef ICRandomCharacters = + CVarDef.Create("ic.random_characters", false, CVar.SERVER); + + /// + /// A weighted random prototype used to determine the species selected for random characters. + /// + public static readonly CVarDef ICRandomSpeciesWeights = + CVarDef.Create("ic.random_species_weights", "SpeciesWeights", CVar.SERVER); + + /// + /// Control displaying SSD indicators near players + /// + public static readonly CVarDef ICShowSSDIndicator = + CVarDef.Create("ic.show_ssd_indicator", true, CVar.CLIENTONLY); +} diff --git a/Content.Shared/CCVar/CCVars.Interactions.cs b/Content.Shared/CCVar/CCVars.Interactions.cs new file mode 100644 index 0000000000..c62f81be0c --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Interactions.cs @@ -0,0 +1,54 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + /// + /// Deadzone for drag-drop interactions. + /// + public static readonly CVarDef DragDropDeadZone = + CVarDef.Create("control.drag_dead_zone", 12f, CVar.CLIENTONLY | CVar.ARCHIVE); + + /// + /// Toggles whether the walking key is a toggle or a held key. + /// + public static readonly CVarDef ToggleWalk = + CVarDef.Create("control.toggle_walk", false, CVar.CLIENTONLY | CVar.ARCHIVE); + + // The rationale behind the default limit is simply that I can easily get to 7 interactions per second by just + // trying to spam toggle a light switch or lever (though the UseDelay component limits the actual effect of the + // interaction). I don't want to accidentally spam admins with alerts just because somebody is spamming a + // key manually, nor do we want to alert them just because the player is having network issues and the server + // receives multiple interactions at once. But we also want to try catch people with modified clients that spam + // many interactions on the same tick. Hence, a very short period, with a relatively high count. + + /// + /// Maximum number of interactions that a player can perform within seconds + /// + public static readonly CVarDef InteractionRateLimitCount = + CVarDef.Create("interaction.rate_limit_count", 5, CVar.SERVER | CVar.REPLICATED); + + /// + public static readonly CVarDef InteractionRateLimitPeriod = + CVarDef.Create("interaction.rate_limit_period", 0.5f, CVar.SERVER | CVar.REPLICATED); + + /// + /// Minimum delay (in seconds) between notifying admins about interaction rate limit violations. A negative + /// value disables admin announcements. + /// + public static readonly CVarDef InteractionRateLimitAnnounceAdminsDelay = + CVarDef.Create("interaction.rate_limit_announce_admins_delay", 120, CVar.SERVERONLY); + + /// + /// Whether or not the storage UI is static and bound to the hotbar, or unbound and allowed to be dragged anywhere. + /// + public static readonly CVarDef StaticStorageUI = + CVarDef.Create("control.static_storage_ui", true, CVar.CLIENTONLY | CVar.ARCHIVE); + + /// + /// Whether or not the storage window uses a transparent or opaque sprite. + /// + public static readonly CVarDef OpaqueStorageWindow = + CVarDef.Create("control.opaque_storage_background", false, CVar.CLIENTONLY | CVar.ARCHIVE); +} diff --git a/Content.Shared/CCVar/CCVars.Interface.cs b/Content.Shared/CCVar/CCVars.Interface.cs new file mode 100644 index 0000000000..79a28e6b4e --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Interface.cs @@ -0,0 +1,24 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + public static readonly CVarDef UIClickSound = + CVarDef.Create("interface.click_sound", "/Audio/UserInterface/click.ogg", CVar.REPLICATED); + + public static readonly CVarDef UIHoverSound = + CVarDef.Create("interface.hover_sound", "/Audio/UserInterface/hover.ogg", CVar.REPLICATED); + + public static readonly CVarDef UILayout = + CVarDef.Create("ui.layout", "Default", CVar.CLIENTONLY | CVar.ARCHIVE); + + public static readonly CVarDef DefaultScreenChatSize = + CVarDef.Create("ui.default_chat_size", "", CVar.CLIENTONLY | CVar.ARCHIVE); + + public static readonly CVarDef SeparatedScreenChatSize = + CVarDef.Create("ui.separated_chat_size", "0.6,0", CVar.CLIENTONLY | CVar.ARCHIVE); + + public static readonly CVarDef OutlineEnabled = + CVarDef.Create("outline.enabled", true, CVar.CLIENTONLY); +} diff --git a/Content.Shared/CCVar/CCVars.Mapping.cs b/Content.Shared/CCVar/CCVars.Mapping.cs new file mode 100644 index 0000000000..06cd2870ba --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Mapping.cs @@ -0,0 +1,24 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + /// + /// Will mapping mode enable autosaves when it's activated? + /// + public static readonly CVarDef + AutosaveEnabled = CVarDef.Create("mapping.autosave", true, CVar.SERVERONLY); + + /// + /// Autosave interval in seconds. + /// + public static readonly CVarDef + AutosaveInterval = CVarDef.Create("mapping.autosave_interval", 600f, CVar.SERVERONLY); + + /// + /// Directory in server user data to save to. Saves will be inside folders in this directory. + /// + public static readonly CVarDef + AutosaveDirectory = CVarDef.Create("mapping.autosave_dir", "Autosaves", CVar.SERVERONLY); +} diff --git a/Content.Shared/CCVar/CCVars.Midi.cs b/Content.Shared/CCVar/CCVars.Midi.cs new file mode 100644 index 0000000000..4ca4bfd6f8 --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Midi.cs @@ -0,0 +1,18 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + public static readonly CVarDef MaxMidiEventsPerSecond = + CVarDef.Create("midi.max_events_per_second", 1000, CVar.REPLICATED | CVar.SERVER); + + public static readonly CVarDef MaxMidiEventsPerBatch = + CVarDef.Create("midi.max_events_per_batch", 60, CVar.REPLICATED | CVar.SERVER); + + public static readonly CVarDef MaxMidiBatchesDropped = + CVarDef.Create("midi.max_batches_dropped", 1, CVar.SERVERONLY); + + public static readonly CVarDef MaxMidiLaggedBatches = + CVarDef.Create("midi.max_lagged_batches", 8, CVar.SERVERONLY); +} diff --git a/Content.Shared/CCVar/CCVars.Misc.cs b/Content.Shared/CCVar/CCVars.Misc.cs new file mode 100644 index 0000000000..3d597c7427 --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Misc.cs @@ -0,0 +1,97 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + public static readonly CVarDef HolidaysEnabled = CVarDef.Create("holidays.enabled", true, CVar.SERVERONLY); + public static readonly CVarDef BrandingSteam = CVarDef.Create("branding.steam", false, CVar.CLIENTONLY); + public static readonly CVarDef EntityMenuGroupingType = CVarDef.Create("entity_menu", 0, CVar.CLIENTONLY); + + /// + /// Should we pre-load all of the procgen atlasses. + /// + public static readonly CVarDef ProcgenPreload = + CVarDef.Create("procgen.preload", true, CVar.SERVERONLY); + + /// + /// Enabled: Cloning has 70% cost and reclaimer will refuse to reclaim corpses with souls. (For LRP). + /// Disabled: Cloning has full biomass cost and reclaimer can reclaim corpses with souls. (Playtested and balanced for MRP+). + /// + public static readonly CVarDef BiomassEasyMode = + CVarDef.Create("biomass.easy_mode", true, CVar.SERVERONLY); + + /// + /// A scale factor applied to a grid's bounds when trying to find a spot to randomly generate an anomaly. + /// + public static readonly CVarDef AnomalyGenerationGridBoundsScale = + CVarDef.Create("anomaly.generation_grid_bounds_scale", 0.6f, CVar.SERVERONLY); + + /// + /// How long a client can go without any input before being considered AFK. + /// + public static readonly CVarDef AfkTime = + CVarDef.Create("afk.time", 60f, CVar.SERVERONLY); + + /// + /// Flavor limit. This is to ensure that having a large mass of flavors in + /// some food object won't spam a user with flavors. + /// + public static readonly CVarDef + FlavorLimit = CVarDef.Create("flavor.limit", 10, CVar.SERVERONLY); + + public static readonly CVarDef DestinationFile = + CVarDef.Create("autogen.destination_file", "", CVar.SERVER | CVar.SERVERONLY); + + /// + /// Whether uploaded files will be stored in the server's database. + /// This is useful to keep "logs" on what files admins have uploaded in the past. + /// + public static readonly CVarDef ResourceUploadingStoreEnabled = + CVarDef.Create("netres.store_enabled", true, CVar.SERVER | CVar.SERVERONLY); + + /// + /// Numbers of days before stored uploaded files are deleted. Set to zero or negative to disable auto-delete. + /// This is useful to free some space automatically. Auto-deletion runs only on server boot. + /// + public static readonly CVarDef ResourceUploadingStoreDeletionDays = + CVarDef.Create("netres.store_deletion_days", 30, CVar.SERVER | CVar.SERVERONLY); + + /// + /// If a server update restart is pending, the delay after the last player leaves before we actually restart. In seconds. + /// + public static readonly CVarDef UpdateRestartDelay = + CVarDef.Create("update.restart_delay", 20f, CVar.SERVERONLY); + + /// + /// If fire alarms should have all access, or if activating/resetting these + /// should be restricted to what is dictated on a player's access card. + /// Defaults to true. + /// + public static readonly CVarDef FireAlarmAllAccess = + CVarDef.Create("firealarm.allaccess", true, CVar.SERVERONLY); + + /// + /// Time between play time autosaves, in seconds. + /// + public static readonly CVarDef + PlayTimeSaveInterval = CVarDef.Create("playtime.save_interval", 900f, CVar.SERVERONLY); + + /// + /// The maximum amount of time the entity GC can process, in ms. + /// + public static readonly CVarDef GCMaximumTimeMs = + CVarDef.Create("entgc.maximum_time_ms", 5, CVar.SERVERONLY); + + public static readonly CVarDef GatewayGeneratorEnabled = + CVarDef.Create("gateway.generator_enabled", true); + + public static readonly CVarDef TippyEntity = + CVarDef.Create("tippy.entity", "Tippy", CVar.SERVER | CVar.REPLICATED); + + /// + /// The number of seconds that must pass for a single entity to be able to point at something again. + /// + public static readonly CVarDef PointingCooldownSeconds = + CVarDef.Create("pointing.cooldown_seconds", 0.5f, CVar.SERVERONLY); +} diff --git a/Content.Shared/CCVar/CCVars.NPC.cs b/Content.Shared/CCVar/CCVars.NPC.cs new file mode 100644 index 0000000000..f0d5520195 --- /dev/null +++ b/Content.Shared/CCVar/CCVars.NPC.cs @@ -0,0 +1,16 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + public static readonly CVarDef NPCMaxUpdates = + CVarDef.Create("npc.max_updates", 128); + + public static readonly CVarDef NPCEnabled = CVarDef.Create("npc.enabled", true); + + /// + /// Should NPCs pathfind when steering. For debug purposes. + /// + public static readonly CVarDef NPCPathfinding = CVarDef.Create("npc.pathfinding", true); +} diff --git a/Content.Shared/CCVar/CCVars.Net.cs b/Content.Shared/CCVar/CCVars.Net.cs new file mode 100644 index 0000000000..b7465def2e --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Net.cs @@ -0,0 +1,15 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + public static readonly CVarDef NetAtmosDebugOverlayTickRate = + CVarDef.Create("net.atmosdbgoverlaytickrate", 3.0f); + + public static readonly CVarDef NetGasOverlayTickRate = + CVarDef.Create("net.gasoverlaytickrate", 3.0f); + + public static readonly CVarDef GasOverlayThresholds = + CVarDef.Create("net.gasoverlaythresholds", 20); +} diff --git a/Content.Shared/CCVar/CCVars.Parallax.cs b/Content.Shared/CCVar/CCVars.Parallax.cs new file mode 100644 index 0000000000..9b19c8f494 --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Parallax.cs @@ -0,0 +1,15 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + public static readonly CVarDef ParallaxEnabled = + CVarDef.Create("parallax.enabled", true, CVar.CLIENTONLY); + + public static readonly CVarDef ParallaxDebug = + CVarDef.Create("parallax.debug", false, CVar.CLIENTONLY); + + public static readonly CVarDef ParallaxLowQuality = + CVarDef.Create("parallax.low_quality", false, CVar.ARCHIVE | CVar.CLIENTONLY); +} diff --git a/Content.Shared/CCVar/CCVars.Physics.cs b/Content.Shared/CCVar/CCVars.Physics.cs new file mode 100644 index 0000000000..379676b5df --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Physics.cs @@ -0,0 +1,27 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + /// + /// When a mob is walking should its X / Y movement be relative to its parent (true) or the map (false). + /// + public static readonly CVarDef RelativeMovement = + CVarDef.Create("physics.relative_movement", true, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER); + + public static readonly CVarDef TileFrictionModifier = + CVarDef.Create("physics.tile_friction", 40.0f, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER); + + public static readonly CVarDef StopSpeed = + CVarDef.Create("physics.stop_speed", 0.1f, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER); + + /// + /// Whether mobs can push objects like lockers. + /// + /// + /// Technically client doesn't need to know about it but this may prevent a bug in the distant future so it stays. + /// + public static readonly CVarDef MobPushing = + CVarDef.Create("physics.mob_pushing", false, CVar.REPLICATED | CVar.SERVER); +} diff --git a/Content.Shared/CCVar/CCVars.Radiation.cs b/Content.Shared/CCVar/CCVars.Radiation.cs new file mode 100644 index 0000000000..dfcce15b2f --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Radiation.cs @@ -0,0 +1,32 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + /// + /// What is the smallest radiation dose in rads that can be received by object. + /// Extremely small values may impact performance. + /// + public static readonly CVarDef RadiationMinIntensity = + CVarDef.Create("radiation.min_intensity", 0.1f, CVar.SERVERONLY); + + /// + /// Rate of radiation system update in seconds. + /// + public static readonly CVarDef RadiationGridcastUpdateRate = + CVarDef.Create("radiation.gridcast.update_rate", 1.0f, CVar.SERVERONLY); + + /// + /// If both radiation source and receiver are placed on same grid, ignore grids between them. + /// May get inaccurate result in some cases, but greatly boost performance in general. + /// + public static readonly CVarDef RadiationGridcastSimplifiedSameGrid = + CVarDef.Create("radiation.gridcast.simplified_same_grid", true, CVar.SERVERONLY); + + /// + /// Max distance that radiation ray can travel in meters. + /// + public static readonly CVarDef RadiationGridcastMaxDistance = + CVarDef.Create("radiation.gridcast.max_distance", 50f, CVar.SERVERONLY); +} diff --git a/Content.Shared/CCVar/CCVars.Replays.cs b/Content.Shared/CCVar/CCVars.Replays.cs new file mode 100644 index 0000000000..64f47e8ad8 --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Replays.cs @@ -0,0 +1,43 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + /// + /// Whether or not to record admin chat. If replays are being publicly distributes, this should probably be + /// false. + /// + public static readonly CVarDef ReplayRecordAdminChat = + CVarDef.Create("replay.record_admin_chat", false, CVar.ARCHIVE); + + /// + /// Automatically record full rounds as replays. + /// + public static readonly CVarDef ReplayAutoRecord = + CVarDef.Create("replay.auto_record", false, CVar.SERVERONLY); + + /// + /// The file name to record automatic replays to. The path is relative to . + /// + /// + /// + /// If the path includes slashes, directories will be automatically created if necessary. + /// + /// + /// A number of substitutions can be used to automatically fill in the file name: {year}, {month}, {day}, {hour}, {minute}, {round}. + /// + /// + public static readonly CVarDef ReplayAutoRecordName = + CVarDef.Create("replay.auto_record_name", + "{year}_{month}_{day}-{hour}_{minute}-round_{round}.zip", + CVar.SERVERONLY); + + /// + /// Path that, if provided, automatic replays are initially recorded in. + /// When the recording is done, the file is moved into its final destination. + /// Unless this path is rooted, it will be relative to . + /// + public static readonly CVarDef ReplayAutoRecordTempDir = + CVarDef.Create("replay.auto_record_temp_dir", "", CVar.SERVERONLY); +} diff --git a/Content.Shared/CCVar/CCVars.Salvage.cs b/Content.Shared/CCVar/CCVars.Salvage.cs new file mode 100644 index 0000000000..ddc332786b --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Salvage.cs @@ -0,0 +1,18 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + /// + /// Duration for missions + /// + public static readonly CVarDef + SalvageExpeditionDuration = CVarDef.Create("salvage.expedition_duration", 660f, CVar.REPLICATED); + + /// + /// Cooldown for missions. + /// + public static readonly CVarDef + SalvageExpeditionCooldown = CVarDef.Create("salvage.expedition_cooldown", 780f, CVar.REPLICATED); +} diff --git a/Content.Shared/CCVar/CCVars.Server.cs b/Content.Shared/CCVar/CCVars.Server.cs new file mode 100644 index 0000000000..2c861584af --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Server.cs @@ -0,0 +1,43 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + /* + * Server + */ + + /// + /// Change this to have the changelog and rules "last seen" date stored separately. + /// + public static readonly CVarDef ServerId = + CVarDef.Create("server.id", "unknown_server_id", CVar.REPLICATED | CVar.SERVER); + + /// + /// Guide Entry Prototype ID to be displayed as the server rules. + /// + public static readonly CVarDef RulesFile = + CVarDef.Create("server.rules_file", "DefaultRuleset", CVar.REPLICATED | CVar.SERVER); + + /// + /// Guide entry that is displayed by default when a guide is opened. + /// + public static readonly CVarDef DefaultGuide = + CVarDef.Create("server.default_guide", "NewPlayer", CVar.REPLICATED | CVar.SERVER); + + /// + /// If greater than 0, automatically restart the server after this many minutes of uptime. + /// + /// + /// + /// This is intended to work around various bugs and performance issues caused by long continuous server uptime. + /// + /// + /// This uses the same non-disruptive logic as update restarts, + /// i.e. the game will only restart at round end or when there is nobody connected. + /// + /// + public static readonly CVarDef ServerUptimeRestartMinutes = + CVarDef.Create("server.uptime_restart_minutes", 0, CVar.SERVERONLY); +} diff --git a/Content.Shared/CCVar/CCVars.Shuttle.cs b/Content.Shared/CCVar/CCVars.Shuttle.cs new file mode 100644 index 0000000000..f66fe9ca59 --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Shuttle.cs @@ -0,0 +1,176 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + /// + /// If true then the camera will match the grid / map and is unchangeable. + /// - When traversing grids it will snap to 0 degrees rotation. + /// False means the player has control over the camera rotation. + /// - When traversing grids it will snap to the nearest cardinal which will generally be imperceptible. + /// + public static readonly CVarDef CameraRotationLocked = + CVarDef.Create("shuttle.camera_rotation_locked", false, CVar.REPLICATED); + + /// + /// Whether the arrivals terminal should be on a planet map. + /// + public static readonly CVarDef ArrivalsPlanet = + CVarDef.Create("shuttle.arrivals_planet", true, CVar.SERVERONLY); + + /// + /// Whether the arrivals shuttle is enabled. + /// + public static readonly CVarDef ArrivalsShuttles = + CVarDef.Create("shuttle.arrivals", true, CVar.SERVERONLY); + + /// + /// The map to use for the arrivals station. + /// + public static readonly CVarDef ArrivalsMap = + CVarDef.Create("shuttle.arrivals_map", "/Maps/Misc/terminal.yml", CVar.SERVERONLY); + + /// + /// Cooldown between arrivals departures. This should be longer than the FTL time or it will double cycle. + /// + public static readonly CVarDef ArrivalsCooldown = + CVarDef.Create("shuttle.arrivals_cooldown", 50f, CVar.SERVERONLY); + + /// + /// Are players allowed to return on the arrivals shuttle. + /// + public static readonly CVarDef ArrivalsReturns = + CVarDef.Create("shuttle.arrivals_returns", false, CVar.SERVERONLY); + + /// + /// Should all players who spawn at arrivals have godmode until they leave the map? + /// + public static readonly CVarDef GodmodeArrivals = + CVarDef.Create("shuttle.godmode_arrivals", false, CVar.SERVERONLY); + + /// + /// If a grid is split then hide any smaller ones under this mass (kg) from the map. + /// This is useful to avoid split grids spamming out labels. + /// + public static readonly CVarDef HideSplitGridsUnder = + CVarDef.Create("shuttle.hide_split_grids_under", 30, CVar.SERVERONLY); + + /// + /// Whether to automatically spawn escape shuttles. + /// + public static readonly CVarDef GridFill = + CVarDef.Create("shuttle.grid_fill", true, CVar.SERVERONLY); + + /// + /// Whether to automatically preloading grids by GridPreloaderSystem + /// + public static readonly CVarDef PreloadGrids = + CVarDef.Create("shuttle.preload_grids", true, CVar.SERVERONLY); + + /// + /// How long the warmup time before FTL start should be. + /// + public static readonly CVarDef FTLStartupTime = + CVarDef.Create("shuttle.startup_time", 5.5f, CVar.SERVERONLY); + + /// + /// How long a shuttle spends in FTL. + /// + public static readonly CVarDef FTLTravelTime = + CVarDef.Create("shuttle.travel_time", 20f, CVar.SERVERONLY); + + /// + /// How long the final stage of FTL before arrival should be. + /// + public static readonly CVarDef FTLArrivalTime = + CVarDef.Create("shuttle.arrival_time", 5f, CVar.SERVERONLY); + + /// + /// How much time needs to pass before a shuttle can FTL again. + /// + public static readonly CVarDef FTLCooldown = + CVarDef.Create("shuttle.cooldown", 10f, CVar.SERVERONLY); + + /// + /// The maximum a grid can have before it becomes unable to FTL. + /// Any value equal to or less than zero will disable this check. + /// + public static readonly CVarDef FTLMassLimit = + CVarDef.Create("shuttle.mass_limit", 300f, CVar.SERVERONLY); + + /// + /// How long to knock down entities for if they aren't buckled when FTL starts and stops. + /// + public static readonly CVarDef HyperspaceKnockdownTime = + CVarDef.Create("shuttle.hyperspace_knockdown_time", 5f, CVar.SERVERONLY); + + /// + /// Is the emergency shuttle allowed to be early launched. + /// + public static readonly CVarDef EmergencyEarlyLaunchAllowed = + CVarDef.Create("shuttle.emergency_early_launch_allowed", false, CVar.SERVERONLY); + + /// + /// How long the emergency shuttle remains docked with the station, in seconds. + /// + public static readonly CVarDef EmergencyShuttleDockTime = + CVarDef.Create("shuttle.emergency_dock_time", 180f, CVar.SERVERONLY); + + /// + /// If the emergency shuttle can't dock at a priority port, the dock time will be multiplied with this value. + /// + public static readonly CVarDef EmergencyShuttleDockTimeMultiplierOtherDock = + CVarDef.Create("shuttle.emergency_dock_time_multiplier_other_dock", 1.6667f, CVar.SERVERONLY); + + /// + /// If the emergency shuttle can't dock at all, the dock time will be multiplied with this value. + /// + public static readonly CVarDef EmergencyShuttleDockTimeMultiplierNoDock = + CVarDef.Create("shuttle.emergency_dock_time_multiplier_no_dock", 2f, CVar.SERVERONLY); + + /// + /// How long after the console is authorized for the shuttle to early launch. + /// + public static readonly CVarDef EmergencyShuttleAuthorizeTime = + CVarDef.Create("shuttle.emergency_authorize_time", 10f, CVar.SERVERONLY); + + /// + /// The minimum time for the emergency shuttle to arrive at centcomm. + /// Actual minimum travel time cannot be less than + /// + public static readonly CVarDef EmergencyShuttleMinTransitTime = + CVarDef.Create("shuttle.emergency_transit_time_min", 60f, CVar.SERVERONLY); + + /// + /// The maximum time for the emergency shuttle to arrive at centcomm. + /// + public static readonly CVarDef EmergencyShuttleMaxTransitTime = + CVarDef.Create("shuttle.emergency_transit_time_max", 180f, CVar.SERVERONLY); + + /// + /// Whether the emergency shuttle is enabled or should the round just end. + /// + public static readonly CVarDef EmergencyShuttleEnabled = + CVarDef.Create("shuttle.emergency", true, CVar.SERVERONLY); + + /// + /// The percentage of time passed from the initial call to when the shuttle can no longer be recalled. + /// ex. a call time of 10min and turning point of 0.5 means the shuttle cannot be recalled after 5 minutes. + /// + public static readonly CVarDef EmergencyRecallTurningPoint = + CVarDef.Create("shuttle.recall_turning_point", 0.5f, CVar.SERVERONLY); + + /// + /// Time in minutes after round start to auto-call the shuttle. Set to zero to disable. + /// + public static readonly CVarDef EmergencyShuttleAutoCallTime = + CVarDef.Create("shuttle.auto_call_time", 90, CVar.SERVERONLY); + + /// + /// Time in minutes after the round was extended (by recalling the shuttle) to call + /// the shuttle again. + /// + public static readonly CVarDef EmergencyShuttleAutoCallExtensionTime = + CVarDef.Create("shuttle.auto_call_extension_time", 45, CVar.SERVERONLY); +} diff --git a/Content.Shared/CCVar/CCVars.Sounds.cs b/Content.Shared/CCVar/CCVars.Sounds.cs new file mode 100644 index 0000000000..73d9d3852f --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Sounds.cs @@ -0,0 +1,34 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + public static readonly CVarDef LobbyMusicEnabled = + CVarDef.Create("ambience.lobby_music_enabled", true, CVar.ARCHIVE | CVar.CLIENTONLY); + + public static readonly CVarDef EventMusicEnabled = + CVarDef.Create("ambience.event_music_enabled", true, CVar.ARCHIVE | CVar.CLIENTONLY); + + /// + /// Round end sound (APC Destroyed) + /// + public static readonly CVarDef RestartSoundsEnabled = + CVarDef.Create("ambience.restart_sounds_enabled", true, CVar.ARCHIVE | CVar.CLIENTONLY); + + + + public static readonly CVarDef AdminSoundsEnabled = + CVarDef.Create("audio.admin_sounds_enabled", true, CVar.ARCHIVE | CVar.CLIENTONLY); + + public static readonly CVarDef AdminChatSoundPath = + CVarDef.Create("audio.admin_chat_sound_path", + "/Audio/Items/pop.ogg", + CVar.ARCHIVE | CVar.CLIENT | CVar.REPLICATED); + + public static readonly CVarDef AdminChatSoundVolume = + CVarDef.Create("audio.admin_chat_sound_volume", -5f, CVar.ARCHIVE | CVar.CLIENT | CVar.REPLICATED); + + public static readonly CVarDef AHelpSound = + CVarDef.Create("audio.ahelp_sound", "/Audio/Effects/adminhelp.ogg", CVar.ARCHIVE | CVar.CLIENTONLY); +} diff --git a/Content.Shared/CCVar/CCVars.Status.cs b/Content.Shared/CCVar/CCVars.Status.cs new file mode 100644 index 0000000000..007f678106 --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Status.cs @@ -0,0 +1,13 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + public static readonly CVarDef StatusMoMMIUrl = + CVarDef.Create("status.mommiurl", "", CVar.SERVERONLY); + + public static readonly CVarDef StatusMoMMIPassword = + CVarDef.Create("status.mommipassword", "", CVar.SERVERONLY | CVar.CONFIDENTIAL); + +} diff --git a/Content.Shared/CCVar/CCVars.Tips.cs b/Content.Shared/CCVar/CCVars.Tips.cs new file mode 100644 index 0000000000..61e6342061 --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Tips.cs @@ -0,0 +1,40 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + /// + /// Whether tips being shown is enabled at all. + /// + public static readonly CVarDef TipsEnabled = + CVarDef.Create("tips.enabled", true); + + /// + /// The dataset prototype to use when selecting a random tip. + /// + public static readonly CVarDef TipsDataset = + CVarDef.Create("tips.dataset", "Tips"); + + /// + /// The number of seconds between each tip being displayed when the round is not actively going + /// (i.e. postround or lobby) + /// + public static readonly CVarDef TipFrequencyOutOfRound = + CVarDef.Create("tips.out_of_game_frequency", 60f * 1.5f); + + /// + /// The number of seconds between each tip being displayed when the round is actively going + /// + public static readonly CVarDef TipFrequencyInRound = + CVarDef.Create("tips.in_game_frequency", 60f * 60); + + public static readonly CVarDef LoginTipsDataset = + CVarDef.Create("tips.login_dataset", "Tips"); + + /// + /// The chance for Tippy to replace a normal tip message. + /// + public static readonly CVarDef TipsTippyChance = + CVarDef.Create("tips.tippy_chance", 0.01f); +} diff --git a/Content.Shared/CCVar/CCVars.Viewport.cs b/Content.Shared/CCVar/CCVars.Viewport.cs new file mode 100644 index 0000000000..d94394d2a7 --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Viewport.cs @@ -0,0 +1,33 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + public static readonly CVarDef ViewportStretch = + CVarDef.Create("viewport.stretch", true, CVar.CLIENTONLY | CVar.ARCHIVE); + + public static readonly CVarDef ViewportFixedScaleFactor = + CVarDef.Create("viewport.fixed_scale_factor", 2, CVar.CLIENTONLY | CVar.ARCHIVE); + + public static readonly CVarDef ViewportSnapToleranceMargin = + CVarDef.Create("viewport.snap_tolerance_margin", 64, CVar.CLIENTONLY | CVar.ARCHIVE); + + public static readonly CVarDef ViewportSnapToleranceClip = + CVarDef.Create("viewport.snap_tolerance_clip", 32, CVar.CLIENTONLY | CVar.ARCHIVE); + + public static readonly CVarDef ViewportScaleRender = + CVarDef.Create("viewport.scale_render", true, CVar.CLIENTONLY | CVar.ARCHIVE); + + public static readonly CVarDef ViewportMinimumWidth = + CVarDef.Create("viewport.minimum_width", 15, CVar.REPLICATED | CVar.SERVER); + + public static readonly CVarDef ViewportMaximumWidth = + CVarDef.Create("viewport.maximum_width", 21, CVar.REPLICATED | CVar.SERVER); + + public static readonly CVarDef ViewportWidth = + CVarDef.Create("viewport.width", 21, CVar.CLIENTONLY | CVar.ARCHIVE); + + public static readonly CVarDef ViewportVerticalFit = + CVarDef.Create("viewport.vertical_fit", true, CVar.CLIENTONLY | CVar.ARCHIVE); +} diff --git a/Content.Shared/CCVar/CCVars.Vote.cs b/Content.Shared/CCVar/CCVars.Vote.cs new file mode 100644 index 0000000000..ee9fee7d3d --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Vote.cs @@ -0,0 +1,180 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + /// + /// Allows enabling/disabling player-started votes for ultimate authority + /// + public static readonly CVarDef VoteEnabled = + CVarDef.Create("vote.enabled", true, CVar.SERVERONLY); + + /// + /// See vote.enabled, but specific to restart votes + /// + public static readonly CVarDef VoteRestartEnabled = + CVarDef.Create("vote.restart_enabled", true, CVar.SERVERONLY); + + /// + /// Config for when the restart vote should be allowed to be called regardless with less than this amount of players. + /// + public static readonly CVarDef VoteRestartMaxPlayers = + CVarDef.Create("vote.restart_max_players", 20, CVar.SERVERONLY); + + /// + /// Config for when the restart vote should be allowed to be called based on percentage of ghosts. + /// + public static readonly CVarDef VoteRestartGhostPercentage = + CVarDef.Create("vote.restart_ghost_percentage", 55, CVar.SERVERONLY); + + /// + /// See vote.enabled, but specific to preset votes + /// + public static readonly CVarDef VotePresetEnabled = + CVarDef.Create("vote.preset_enabled", true, CVar.SERVERONLY); + + /// + /// See vote.enabled, but specific to map votes + /// + public static readonly CVarDef VoteMapEnabled = + CVarDef.Create("vote.map_enabled", false, CVar.SERVERONLY); + + /// + /// The required ratio of the server that must agree for a restart round vote to go through. + /// + public static readonly CVarDef VoteRestartRequiredRatio = + CVarDef.Create("vote.restart_required_ratio", 0.85f, CVar.SERVERONLY); + + /// + /// Whether or not to prevent the restart vote from having any effect when there is an online admin + /// + public static readonly CVarDef VoteRestartNotAllowedWhenAdminOnline = + CVarDef.Create("vote.restart_not_allowed_when_admin_online", true, CVar.SERVERONLY); + + /// + /// The delay which two votes of the same type are allowed to be made by separate people, in seconds. + /// + public static readonly CVarDef VoteSameTypeTimeout = + CVarDef.Create("vote.same_type_timeout", 240f, CVar.SERVERONLY); + + /// + /// Sets the duration of the map vote timer. + /// + public static readonly CVarDef + VoteTimerMap = CVarDef.Create("vote.timermap", 90, CVar.SERVERONLY); + + /// + /// Sets the duration of the restart vote timer. + /// + public static readonly CVarDef + VoteTimerRestart = CVarDef.Create("vote.timerrestart", 60, CVar.SERVERONLY); + + /// + /// Sets the duration of the gamemode/preset vote timer. + /// + public static readonly CVarDef + VoteTimerPreset = CVarDef.Create("vote.timerpreset", 30, CVar.SERVERONLY); + + /// + /// Sets the duration of the map vote timer when ALONE. + /// + public static readonly CVarDef + VoteTimerAlone = CVarDef.Create("vote.timeralone", 10, CVar.SERVERONLY); + + /// + /// Allows enabling/disabling player-started votekick for ultimate authority + /// + public static readonly CVarDef VotekickEnabled = + CVarDef.Create("votekick.enabled", true, CVar.SERVERONLY); + + /// + /// Config for when the votekick should be allowed to be called based on number of eligible voters. + /// + public static readonly CVarDef VotekickEligibleNumberRequirement = + CVarDef.Create("votekick.eligible_number", 5, CVar.SERVERONLY); + + /// + /// Whether a votekick initiator must be a ghost or not. + /// + public static readonly CVarDef VotekickInitiatorGhostRequirement = + CVarDef.Create("votekick.initiator_ghost_requirement", true, CVar.SERVERONLY); + + /// + /// Should the initiator be whitelisted to initiate a votekick? + /// + public static readonly CVarDef VotekickInitiatorWhitelistedRequirement = + CVarDef.Create("votekick.initiator_whitelist_requirement", true, CVar.SERVERONLY); + + /// + /// Should the initiator be able to start a votekick if they are bellow the votekick.voter_playtime requirement? + /// + public static readonly CVarDef VotekickInitiatorTimeRequirement = + CVarDef.Create("votekick.initiator_time_requirement", false, CVar.SERVERONLY); + + /// + /// Whether a votekick voter must be a ghost or not. + /// + public static readonly CVarDef VotekickVoterGhostRequirement = + CVarDef.Create("votekick.voter_ghost_requirement", true, CVar.SERVERONLY); + + /// + /// Config for how many hours playtime a player must have to be able to vote on a votekick. + /// + public static readonly CVarDef VotekickEligibleVoterPlaytime = + CVarDef.Create("votekick.voter_playtime", 100, CVar.SERVERONLY); + + /// + /// Config for how many seconds a player must have been dead to initiate a votekick / be able to vote on a votekick. + /// + public static readonly CVarDef VotekickEligibleVoterDeathtime = + CVarDef.Create("votekick.voter_deathtime", 30, CVar.REPLICATED | CVar.SERVER); + + /// + /// The required ratio of eligible voters that must agree for a votekick to go through. + /// + public static readonly CVarDef VotekickRequiredRatio = + CVarDef.Create("votekick.required_ratio", 0.6f, CVar.SERVERONLY); + + /// + /// Whether or not to prevent the votekick from having any effect when there is an online admin. + /// + public static readonly CVarDef VotekickNotAllowedWhenAdminOnline = + CVarDef.Create("votekick.not_allowed_when_admin_online", true, CVar.SERVERONLY); + + /// + /// The delay for which two votekicks are allowed to be made by separate people, in seconds. + /// + public static readonly CVarDef VotekickTimeout = + CVarDef.Create("votekick.timeout", 120f, CVar.SERVERONLY); + + /// + /// Sets the duration of the votekick vote timer. + /// + public static readonly CVarDef + VotekickTimer = CVarDef.Create("votekick.timer", 60, CVar.SERVERONLY); + + /// + /// Config for how many hours playtime a player must have to get protection from the Raider votekick type when playing as an antag. + /// + public static readonly CVarDef VotekickAntagRaiderProtection = + CVarDef.Create("votekick.antag_raider_protection", 10, CVar.SERVERONLY); + + /// + /// Default severity for votekick bans + /// + public static readonly CVarDef VotekickBanDefaultSeverity = + CVarDef.Create("votekick.ban_default_severity", "High", CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED); + + /// + /// Duration of a ban caused by a votekick (in minutes). + /// + public static readonly CVarDef VotekickBanDuration = + CVarDef.Create("votekick.ban_duration", 180, CVar.SERVERONLY); + + /// + /// Whether the ghost requirement settings for votekicks should be ignored for the lobby. + /// + public static readonly CVarDef VotekickIgnoreGhostReqInLobby = + CVarDef.Create("votekick.ignore_ghost_req_in_lobby", true, CVar.SERVERONLY); +} diff --git a/Content.Shared/CCVar/CCVars.Whitelist.cs b/Content.Shared/CCVar/CCVars.Whitelist.cs new file mode 100644 index 0000000000..7a7a5206a1 --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Whitelist.cs @@ -0,0 +1,19 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + /// + /// Controls whether the server will deny any players that are not whitelisted in the DB. + /// + public static readonly CVarDef WhitelistEnabled = + CVarDef.Create("whitelist.enabled", false, CVar.SERVERONLY); + + /// + /// Specifies the whitelist prototypes to be used by the server. This should be a comma-separated list of prototypes. + /// If a whitelists conditions to be active fail (for example player count), the next whitelist will be used instead. If no whitelist is valid, the player will be allowed to connect. + /// + public static readonly CVarDef WhitelistPrototypeList = + CVarDef.Create("whitelist.prototype_list", "basicWhitelist", CVar.SERVERONLY); +} diff --git a/Content.Shared/CCVar/CCVars.Worldgen.cs b/Content.Shared/CCVar/CCVars.Worldgen.cs new file mode 100644 index 0000000000..da165ce74a --- /dev/null +++ b/Content.Shared/CCVar/CCVars.Worldgen.cs @@ -0,0 +1,18 @@ +using Robust.Shared.Configuration; + +namespace Content.Shared.CCVar; + +public sealed partial class CCVars +{ + /// + /// Whether or not world generation is enabled. + /// + public static readonly CVarDef WorldgenEnabled = + CVarDef.Create("worldgen.enabled", false, CVar.SERVERONLY); + + /// + /// The worldgen config to use. + /// + public static readonly CVarDef WorldgenConfig = + CVarDef.Create("worldgen.worldgen_config", "Default", CVar.SERVERONLY); +} diff --git a/Content.Shared/CCVar/CCVars.cs b/Content.Shared/CCVar/CCVars.cs index 83068b5262..316d9b8690 100644 --- a/Content.Shared/CCVar/CCVars.cs +++ b/Content.Shared/CCVar/CCVars.cs @@ -1,2388 +1,28 @@ -using Content.Shared.Maps; -using Content.Shared.Roles; using Robust.Shared; using Robust.Shared.Configuration; -using Robust.Shared.Physics.Components; -namespace Content.Shared.CCVar -{ - // ReSharper disable once InconsistentNaming - [CVarDefs] - public sealed class CCVars : CVars - { - /* - * Server - */ - - /// - /// Change this to have the changelog and rules "last seen" date stored separately. - /// - public static readonly CVarDef ServerId = - CVarDef.Create("server.id", "unknown_server_id", CVar.REPLICATED | CVar.SERVER); - - /// - /// Guide Entry Prototype ID to be displayed as the server rules. - /// - public static readonly CVarDef RulesFile = - CVarDef.Create("server.rules_file", "DefaultRuleset", CVar.REPLICATED | CVar.SERVER); - - /// - /// Guide entry that is displayed by default when a guide is opened. - /// - public static readonly CVarDef DefaultGuide = - CVarDef.Create("server.default_guide", "NewPlayer", CVar.REPLICATED | CVar.SERVER); - - /// - /// If greater than 0, automatically restart the server after this many minutes of uptime. - /// - /// - /// - /// This is intended to work around various bugs and performance issues caused by long continuous server uptime. - /// - /// - /// This uses the same non-disruptive logic as update restarts, - /// i.e. the game will only restart at round end or when there is nobody connected. - /// - /// - public static readonly CVarDef ServerUptimeRestartMinutes = - CVarDef.Create("server.uptime_restart_minutes", 0, CVar.SERVERONLY); - - /* - * Ambience - */ - - /// - /// How long we'll wait until re-sampling nearby objects for ambience. Should be pretty fast, but doesn't have to match the tick rate. - /// - public static readonly CVarDef AmbientCooldown = - CVarDef.Create("ambience.cooldown", 0.1f, CVar.ARCHIVE | CVar.CLIENTONLY); - - /// - /// How large of a range to sample for ambience. - /// - public static readonly CVarDef AmbientRange = - CVarDef.Create("ambience.range", 8f, CVar.REPLICATED | CVar.SERVER); - - /// - /// Maximum simultaneous ambient sounds. - /// - public static readonly CVarDef MaxAmbientSources = - CVarDef.Create("ambience.max_sounds", 16, CVar.ARCHIVE | CVar.CLIENTONLY); - - /// - /// The minimum value the user can set for ambience.max_sounds - /// - public static readonly CVarDef MinMaxAmbientSourcesConfigured = - CVarDef.Create("ambience.min_max_sounds_configured", 16, CVar.REPLICATED | CVar.SERVER | CVar.CHEAT); - - /// - /// The maximum value the user can set for ambience.max_sounds - /// - public static readonly CVarDef MaxMaxAmbientSourcesConfigured = - CVarDef.Create("ambience.max_max_sounds_configured", 64, CVar.REPLICATED | CVar.SERVER | CVar.CHEAT); - - /// - /// Ambience volume. - /// - public static readonly CVarDef AmbienceVolume = - CVarDef.Create("ambience.volume", 1.5f, CVar.ARCHIVE | CVar.CLIENTONLY); - - /// - /// Ambience music volume. - /// - public static readonly CVarDef AmbientMusicVolume = - CVarDef.Create("ambience.music_volume", 1.5f, CVar.ARCHIVE | CVar.CLIENTONLY); - - /// - /// Lobby / round end music volume. - /// - public static readonly CVarDef LobbyMusicVolume = - CVarDef.Create("ambience.lobby_music_volume", 0.50f, CVar.ARCHIVE | CVar.CLIENTONLY); - - /// - /// UI volume. - /// - public static readonly CVarDef InterfaceVolume = - CVarDef.Create("audio.interface_volume", 0.50f, CVar.ARCHIVE | CVar.CLIENTONLY); - - /* - * Status - */ - - public static readonly CVarDef StatusMoMMIUrl = - CVarDef.Create("status.mommiurl", "", CVar.SERVERONLY); - - public static readonly CVarDef StatusMoMMIPassword = - CVarDef.Create("status.mommipassword", "", CVar.SERVERONLY | CVar.CONFIDENTIAL); - - /* - * Events - */ - - /// - /// Controls if the game should run station events - /// - public static readonly CVarDef - EventsEnabled = CVarDef.Create("events.enabled", true, CVar.ARCHIVE | CVar.SERVERONLY); - - /* - * Game - */ - - /// - /// Disables most functionality in the GameTicker. - /// - public static readonly CVarDef - GameDummyTicker = CVarDef.Create("game.dummyticker", false, CVar.ARCHIVE | CVar.SERVERONLY); - - /// - /// Controls if the lobby is enabled. If it is not, and there are no available jobs, you may get stuck on a black screen. - /// - public static readonly CVarDef - GameLobbyEnabled = CVarDef.Create("game.lobbyenabled", true, CVar.ARCHIVE); - - /// - /// Controls the duration of the lobby timer in seconds. Defaults to 2 minutes and 30 seconds. - /// - public static readonly CVarDef - GameLobbyDuration = CVarDef.Create("game.lobbyduration", 150, CVar.ARCHIVE); - - /// - /// Controls if players can latejoin at all. - /// - public static readonly CVarDef - GameDisallowLateJoins = CVarDef.Create("game.disallowlatejoins", false, CVar.ARCHIVE | CVar.SERVERONLY); - - /// - /// Controls the default game preset. - /// - public static readonly CVarDef - GameLobbyDefaultPreset = CVarDef.Create("game.defaultpreset", "secret", CVar.ARCHIVE); - - /// - /// Controls if the game can force a different preset if the current preset's criteria are not met. - /// - public static readonly CVarDef - GameLobbyFallbackEnabled = CVarDef.Create("game.fallbackenabled", true, CVar.ARCHIVE); - - /// - /// The preset for the game to fall back to if the selected preset could not be used, and fallback is enabled. - /// - public static readonly CVarDef - GameLobbyFallbackPreset = CVarDef.Create("game.fallbackpreset", "Traitor,Extended", CVar.ARCHIVE); - - /// - /// Controls if people can win the game in Suspicion or Deathmatch. - /// - public static readonly CVarDef - GameLobbyEnableWin = CVarDef.Create("game.enablewin", true, CVar.ARCHIVE); - - /// - /// Controls the maximum number of character slots a player is allowed to have. - /// - public static readonly CVarDef - GameMaxCharacterSlots = CVarDef.Create("game.maxcharacterslots", 30, CVar.ARCHIVE | CVar.SERVERONLY); - - /// - /// Controls the game map prototype to load. SS14 stores these prototypes in Prototypes/Maps. - /// - public static readonly CVarDef - GameMap = CVarDef.Create("game.map", string.Empty, CVar.SERVERONLY); - - /// - /// Controls whether to use world persistence or not. - /// - public static readonly CVarDef - UsePersistence = CVarDef.Create("game.usepersistence", false, CVar.ARCHIVE); - - /// - /// If world persistence is used, what map prototype should be initially loaded. - /// If the save file exists, it replaces MapPath but everything else stays the same (station name and such). - /// - public static readonly CVarDef - PersistenceMap = CVarDef.Create("game.persistencemap", "Empty", CVar.ARCHIVE); - - /// - /// Prototype to use for map pool. - /// - public static readonly CVarDef - GameMapPool = CVarDef.Create("game.map_pool", "DefaultMapPool", CVar.SERVERONLY); - - /// - /// The depth of the queue used to calculate which map is next in rotation. - /// This is how long the game "remembers" that some map was put in play. Default is 16 rounds. - /// - public static readonly CVarDef - GameMapMemoryDepth = CVarDef.Create("game.map_memory_depth", 16, CVar.SERVERONLY); - - /// - /// Is map rotation enabled? - /// - public static readonly CVarDef - GameMapRotation = CVarDef.Create("game.map_rotation", true, CVar.SERVERONLY); - - /// - /// If roles should be restricted based on time. - /// - public static readonly CVarDef - GameRoleTimers = CVarDef.Create("game.role_timers", true, CVar.SERVER | CVar.REPLICATED); - - /// - /// Override default role requirements using a - /// - public static readonly CVarDef - GameRoleTimerOverride = CVarDef.Create("game.role_timer_override", "", CVar.SERVER | CVar.REPLICATED); - - /// - /// If roles should be restricted based on whether or not they are whitelisted. - /// - public static readonly CVarDef - GameRoleWhitelist = CVarDef.Create("game.role_whitelist", true, CVar.SERVER | CVar.REPLICATED); - - /// - /// Whether or not disconnecting inside of a cryopod should remove the character or just store them until they reconnect. - /// - public static readonly CVarDef - GameCryoSleepRejoining = CVarDef.Create("game.cryo_sleep_rejoining", false, CVar.SERVER | CVar.REPLICATED); - - /// - /// When enabled, guests will be assigned permanent UIDs and will have their preferences stored. - /// - public static readonly CVarDef GamePersistGuests = - CVarDef.Create("game.persistguests", true, CVar.ARCHIVE | CVar.SERVERONLY); - - public static readonly CVarDef GameDiagonalMovement = - CVarDef.Create("game.diagonalmovement", true, CVar.ARCHIVE); - - public static readonly CVarDef SoftMaxPlayers = - CVarDef.Create("game.soft_max_players", 30, CVar.SERVERONLY | CVar.ARCHIVE); - - /// - /// If a player gets denied connection to the server, - /// how long they are forced to wait before attempting to reconnect. - /// - public static readonly CVarDef GameServerFullReconnectDelay = - CVarDef.Create("game.server_full_reconnect_delay", 30, CVar.SERVERONLY); - - /// - /// Whether or not panic bunker is currently enabled. - /// - public static readonly CVarDef PanicBunkerEnabled = - CVarDef.Create("game.panic_bunker.enabled", false, CVar.NOTIFY | CVar.REPLICATED | CVar.SERVER); - - /// - /// Whether or not the panic bunker will disable when an admin comes online. - /// - public static readonly CVarDef PanicBunkerDisableWithAdmins = - CVarDef.Create("game.panic_bunker.disable_with_admins", false, CVar.SERVERONLY); - - /// - /// Whether or not the panic bunker will enable when no admins are online. - /// - public static readonly CVarDef PanicBunkerEnableWithoutAdmins = - CVarDef.Create("game.panic_bunker.enable_without_admins", false, CVar.SERVERONLY); - - /// - /// Whether or not the panic bunker will count deadminned admins for - /// and - /// - /// - public static readonly CVarDef PanicBunkerCountDeadminnedAdmins = - CVarDef.Create("game.panic_bunker.count_deadminned_admins", false, CVar.SERVERONLY); - - /// - /// Show reason of disconnect for user or not. - /// - public static readonly CVarDef PanicBunkerShowReason = - CVarDef.Create("game.panic_bunker.show_reason", false, CVar.SERVERONLY); - - /// - /// Minimum age of the account (from server's PoV, so from first-seen date) in minutes. - /// - public static readonly CVarDef PanicBunkerMinAccountAge = - CVarDef.Create("game.panic_bunker.min_account_age", 1440, CVar.SERVERONLY); - - /// - /// Minimal overall played time. - /// - public static readonly CVarDef PanicBunkerMinOverallMinutes = - CVarDef.Create("game.panic_bunker.min_overall_minutes", 600, CVar.SERVERONLY); - - /// - /// A custom message that will be used for connections denied to the panic bunker - /// If not empty, then will overwrite - /// - public static readonly CVarDef PanicBunkerCustomReason = - CVarDef.Create("game.panic_bunker.custom_reason", string.Empty, CVar.SERVERONLY); - - /// - /// Allow bypassing the panic bunker if the user is whitelisted. - /// - public static readonly CVarDef BypassBunkerWhitelist = - CVarDef.Create("game.panic_bunker.whitelisted_can_bypass", true, CVar.SERVERONLY); - - /* - * TODO: Remove baby jail code once a more mature gateway process is established. This code is only being issued as a stopgap to help with potential tiding in the immediate future. - */ - - /// - /// Whether the baby jail is currently enabled. - /// - public static readonly CVarDef BabyJailEnabled = - CVarDef.Create("game.baby_jail.enabled", false, CVar.NOTIFY | CVar.REPLICATED | CVar.SERVER); - - /// - /// Show reason of disconnect for user or not. - /// - public static readonly CVarDef BabyJailShowReason = - CVarDef.Create("game.baby_jail.show_reason", false, CVar.SERVERONLY); - - /// - /// Maximum age of the account (from server's PoV, so from first-seen date) in minutes that can access baby - /// jailed servers. - /// - public static readonly CVarDef BabyJailMaxAccountAge = - CVarDef.Create("game.baby_jail.max_account_age", 1440, CVar.SERVERONLY); - - /// - /// Maximum overall played time allowed to access baby jailed servers. - /// - public static readonly CVarDef BabyJailMaxOverallMinutes = - CVarDef.Create("game.baby_jail.max_overall_minutes", 120, CVar.SERVERONLY); - - /// - /// A custom message that will be used for connections denied due to the baby jail. - /// If not empty, then will overwrite - /// - public static readonly CVarDef BabyJailCustomReason = - CVarDef.Create("game.baby_jail.custom_reason", string.Empty, CVar.SERVERONLY); - - /// - /// Allow bypassing the baby jail if the user is whitelisted. - /// - public static readonly CVarDef BypassBabyJailWhitelist = - CVarDef.Create("game.baby_jail.whitelisted_can_bypass", true, CVar.SERVERONLY); - - /// - /// Make people bonk when trying to climb certain objects like tables. - /// - public static readonly CVarDef GameTableBonk = - CVarDef.Create("game.table_bonk", false, CVar.REPLICATED); - - /// - /// Whether or not status icons are rendered for everyone. - /// - public static readonly CVarDef GlobalStatusIconsEnabled = - CVarDef.Create("game.global_status_icons_enabled", true, CVar.SERVER | CVar.REPLICATED); - - /// - /// Whether or not status icons are rendered on this specific client. - /// - public static readonly CVarDef LocalStatusIconsEnabled = - CVarDef.Create("game.local_status_icons_enabled", true, CVar.CLIENTONLY); - - /// - /// Whether or not coordinates on the Debug overlay should only be available to admins. - /// - public static readonly CVarDef DebugCoordinatesAdminOnly = - CVarDef.Create("game.debug_coordinates_admin_only", true, CVar.SERVER | CVar.REPLICATED); - -#if EXCEPTION_TOLERANCE - /// - /// Amount of times round start must fail before the server is shut down. - /// Set to 0 or a negative number to disable. - /// - public static readonly CVarDef RoundStartFailShutdownCount = - CVarDef.Create("game.round_start_fail_shutdown_count", 5, CVar.SERVERONLY | CVar.SERVER); -#endif - - /// - /// Delay between station alert level changes. - /// - public static readonly CVarDef GameAlertLevelChangeDelay = - CVarDef.Create("game.alert_level_change_delay", 30, CVar.SERVERONLY); - - /// - /// The time in seconds that the server should wait before restarting the round. - /// Defaults to 2 minutes. - /// - public static readonly CVarDef RoundRestartTime = - CVarDef.Create("game.round_restart_time", 120f, CVar.SERVERONLY); - - /// - /// The prototype to use for secret weights. - /// - public static readonly CVarDef SecretWeightPrototype = - CVarDef.Create("game.secret_weight_prototype", "Secret", CVar.SERVERONLY); - - /// - /// The id of the sound collection to randomly choose a sound from and play when the round ends. - /// - public static readonly CVarDef RoundEndSoundCollection = - CVarDef.Create("game.round_end_sound_collection", "RoundEnd", CVar.SERVERONLY); - - /// - /// Whether or not to add every player as a global override to PVS at round end. - /// This will allow all players to see their clothing in the round screen player list screen, - /// but may cause lag during round end with very high player counts. - /// - public static readonly CVarDef RoundEndPVSOverrides = - CVarDef.Create("game.round_end_pvs_overrides", true, CVar.SERVERONLY); - - /// - /// If true, players can place objects onto tabletop games like chess boards. - /// - /// - /// This feature is currently highly abusable and can easily be used to crash the server, - /// so it's off by default. - /// - public static readonly CVarDef GameTabletopPlace = - CVarDef.Create("game.tabletop_place", false, CVar.SERVERONLY); - - /// - /// If true, contraband severity can be viewed in the examine menu - /// - public static readonly CVarDef ContrabandExamine = - CVarDef.Create("game.contraband_examine", true, CVar.SERVER | CVar.REPLICATED); - - /// - /// Size of the lookup area for adding entities to the context menu - /// - public static readonly CVarDef GameEntityMenuLookup = - CVarDef.Create("game.entity_menu_lookup", 0.25f, CVar.CLIENTONLY | CVar.ARCHIVE); - - /// - /// Should the clients window show the server hostname in the title? - /// - public static readonly CVarDef GameHostnameInTitlebar = - CVarDef.Create("game.hostname_in_titlebar", true, CVar.SERVER | CVar.REPLICATED); - - /* - * Discord - */ - - /// - /// The role that will get mentioned if a new SOS ahelp comes in. - /// - public static readonly CVarDef DiscordAhelpMention = - CVarDef.Create("discord.on_call_ping", string.Empty, CVar.SERVERONLY | CVar.CONFIDENTIAL); - - /// - /// URL of the discord webhook to relay unanswered ahelp messages. - /// - public static readonly CVarDef DiscordOnCallWebhook = - CVarDef.Create("discord.on_call_webhook", string.Empty, CVar.SERVERONLY | CVar.CONFIDENTIAL); - - /// - /// URL of the Discord webhook which will relay all ahelp messages. - /// - public static readonly CVarDef DiscordAHelpWebhook = - CVarDef.Create("discord.ahelp_webhook", string.Empty, CVar.SERVERONLY | CVar.CONFIDENTIAL); - - /// - /// The server icon to use in the Discord ahelp embed footer. - /// Valid values are specified at https://discord.com/developers/docs/resources/channel#embed-object-embed-footer-structure. - /// - public static readonly CVarDef DiscordAHelpFooterIcon = - CVarDef.Create("discord.ahelp_footer_icon", string.Empty, CVar.SERVERONLY); - - /// - /// The avatar to use for the webhook. Should be an URL. - /// - public static readonly CVarDef DiscordAHelpAvatar = - CVarDef.Create("discord.ahelp_avatar", string.Empty, CVar.SERVERONLY); - - /// - /// URL of the Discord webhook which will relay all custom votes. If left empty, disables the webhook. - /// - public static readonly CVarDef DiscordVoteWebhook = - CVarDef.Create("discord.vote_webhook", string.Empty, CVar.SERVERONLY); - - /// - /// URL of the Discord webhook which will relay all votekick votes. If left empty, disables the webhook. - /// - public static readonly CVarDef DiscordVotekickWebhook = - CVarDef.Create("discord.votekick_webhook", string.Empty, CVar.SERVERONLY); - - /// URL of the Discord webhook which will relay round restart messages. - /// - public static readonly CVarDef DiscordRoundUpdateWebhook = - CVarDef.Create("discord.round_update_webhook", string.Empty, CVar.SERVERONLY | CVar.CONFIDENTIAL); - - /// - /// Role id for the Discord webhook to ping when the round ends. - /// - public static readonly CVarDef DiscordRoundEndRoleWebhook = - CVarDef.Create("discord.round_end_role", string.Empty, CVar.SERVERONLY); - - /* - * Tips - */ - - /// - /// Whether tips being shown is enabled at all. - /// - public static readonly CVarDef TipsEnabled = - CVarDef.Create("tips.enabled", true); - - /// - /// The dataset prototype to use when selecting a random tip. - /// - public static readonly CVarDef TipsDataset = - CVarDef.Create("tips.dataset", "Tips"); - - /// - /// The number of seconds between each tip being displayed when the round is not actively going - /// (i.e. postround or lobby) - /// - public static readonly CVarDef TipFrequencyOutOfRound = - CVarDef.Create("tips.out_of_game_frequency", 60f * 1.5f); - - /// - /// The number of seconds between each tip being displayed when the round is actively going - /// - public static readonly CVarDef TipFrequencyInRound = - CVarDef.Create("tips.in_game_frequency", 60f * 60); - - public static readonly CVarDef LoginTipsDataset = - CVarDef.Create("tips.login_dataset", "Tips"); - - /// - /// The chance for Tippy to replace a normal tip message. - /// - public static readonly CVarDef TipsTippyChance = - CVarDef.Create("tips.tippy_chance", 0.01f); - - /* - * Console - */ - - public static readonly CVarDef ConsoleLoginLocal = - CVarDef.Create("console.loginlocal", true, CVar.ARCHIVE | CVar.SERVERONLY); - - /// - /// Automatically log in the given user as host, equivalent to the promotehost command. - /// - public static readonly CVarDef ConsoleLoginHostUser = - CVarDef.Create("console.login_host_user", "", CVar.ARCHIVE | CVar.SERVERONLY); - - - /* - * Database stuff - */ - - public static readonly CVarDef DatabaseEngine = - CVarDef.Create("database.engine", "sqlite", CVar.SERVERONLY); - - public static readonly CVarDef DatabaseSqliteDbPath = - CVarDef.Create("database.sqlite_dbpath", "preferences.db", CVar.SERVERONLY); - - /// - /// Milliseconds to asynchronously delay all SQLite database acquisitions with. - /// - /// - /// Defaults to 1 on DEBUG, 0 on RELEASE. - /// This is intended to help catch .Result deadlock bugs that only happen on postgres - /// (because SQLite is not actually asynchronous normally) - /// - public static readonly CVarDef DatabaseSqliteDelay = - CVarDef.Create("database.sqlite_delay", DefaultSqliteDelay, CVar.SERVERONLY); - - /// - /// Amount of concurrent SQLite database operations. - /// - /// - /// Note that SQLite is not a properly asynchronous database and also has limited read/write concurrency. - /// Increasing this number may allow more concurrent reads, but it probably won't matter much. - /// SQLite operations are normally ran on the thread pool, which may cause thread pool starvation if the concurrency is too high. - /// - public static readonly CVarDef DatabaseSqliteConcurrency = - CVarDef.Create("database.sqlite_concurrency", 3, CVar.SERVERONLY); - -#if DEBUG - private const int DefaultSqliteDelay = 1; -#else - private const int DefaultSqliteDelay = 0; -#endif - - - public static readonly CVarDef DatabasePgHost = - CVarDef.Create("database.pg_host", "localhost", CVar.SERVERONLY); - - public static readonly CVarDef DatabasePgPort = - CVarDef.Create("database.pg_port", 5432, CVar.SERVERONLY); - - public static readonly CVarDef DatabasePgDatabase = - CVarDef.Create("database.pg_database", "ss14", CVar.SERVERONLY); - - public static readonly CVarDef DatabasePgUsername = - CVarDef.Create("database.pg_username", "postgres", CVar.SERVERONLY); - - public static readonly CVarDef DatabasePgPassword = - CVarDef.Create("database.pg_password", "", CVar.SERVERONLY | CVar.CONFIDENTIAL); - - /// - /// Max amount of concurrent Postgres database operations. - /// - public static readonly CVarDef DatabasePgConcurrency = - CVarDef.Create("database.pg_concurrency", 8, CVar.SERVERONLY); - - /// - /// Milliseconds to asynchronously delay all PostgreSQL database operations with. - /// - /// - /// This is intended for performance testing. It works different from , - /// as the lag is applied after acquiring the database lock. - /// - public static readonly CVarDef DatabasePgFakeLag = - CVarDef.Create("database.pg_fake_lag", 0, CVar.SERVERONLY); - - // Basically only exists for integration tests to avoid race conditions. - public static readonly CVarDef DatabaseSynchronous = - CVarDef.Create("database.sync", false, CVar.SERVERONLY); - - /* - * Interface - */ - - public static readonly CVarDef UIClickSound = - CVarDef.Create("interface.click_sound", "/Audio/UserInterface/click.ogg", CVar.REPLICATED); - - public static readonly CVarDef UIHoverSound = - CVarDef.Create("interface.hover_sound", "/Audio/UserInterface/hover.ogg", CVar.REPLICATED); - - /* - * Outline - */ - - public static readonly CVarDef OutlineEnabled = - CVarDef.Create("outline.enabled", true, CVar.CLIENTONLY); - - - /* - * Parallax - */ - - public static readonly CVarDef ParallaxEnabled = - CVarDef.Create("parallax.enabled", true, CVar.CLIENTONLY); - - public static readonly CVarDef ParallaxDebug = - CVarDef.Create("parallax.debug", false, CVar.CLIENTONLY); - - public static readonly CVarDef ParallaxLowQuality = - CVarDef.Create("parallax.low_quality", false, CVar.ARCHIVE | CVar.CLIENTONLY); - - /* - * Physics - */ - - /// - /// When a mob is walking should its X / Y movement be relative to its parent (true) or the map (false). - /// - public static readonly CVarDef RelativeMovement = - CVarDef.Create("physics.relative_movement", true, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER); - - public static readonly CVarDef TileFrictionModifier = - CVarDef.Create("physics.tile_friction", 40.0f, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER); - - public static readonly CVarDef StopSpeed = - CVarDef.Create("physics.stop_speed", 0.1f, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER); - - /// - /// Whether mobs can push objects like lockers. - /// - /// - /// Technically client doesn't need to know about it but this may prevent a bug in the distant future so it stays. - /// - public static readonly CVarDef MobPushing = - CVarDef.Create("physics.mob_pushing", false, CVar.REPLICATED | CVar.SERVER); - - /* - * Music - */ - - public static readonly CVarDef LobbyMusicEnabled = - CVarDef.Create("ambience.lobby_music_enabled", true, CVar.ARCHIVE | CVar.CLIENTONLY); - - public static readonly CVarDef EventMusicEnabled = - CVarDef.Create("ambience.event_music_enabled", true, CVar.ARCHIVE | CVar.CLIENTONLY); - - /* - * Specific Sounds - */ - // Round end sound (APC Destroyed) - public static readonly CVarDef RestartSoundsEnabled = - CVarDef.Create("ambience.restart_sounds_enabled", true, CVar.ARCHIVE | CVar.CLIENTONLY); - - - /* - * Admin sounds - */ - - public static readonly CVarDef AdminSoundsEnabled = - CVarDef.Create("audio.admin_sounds_enabled", true, CVar.ARCHIVE | CVar.CLIENTONLY); - public static readonly CVarDef AdminChatSoundPath = - CVarDef.Create("audio.admin_chat_sound_path", "/Audio/Items/pop.ogg", CVar.ARCHIVE | CVar.CLIENT | CVar.REPLICATED); - public static readonly CVarDef AdminChatSoundVolume = - CVarDef.Create("audio.admin_chat_sound_volume", -5f, CVar.ARCHIVE | CVar.CLIENT | CVar.REPLICATED); - public static readonly CVarDef AHelpSound = - CVarDef.Create("audio.ahelp_sound", "/Audio/Effects/adminhelp.ogg", CVar.ARCHIVE | CVar.CLIENTONLY); - - /* - * HUD - */ - - public static readonly CVarDef HudTheme = - CVarDef.Create("hud.theme", 0, CVar.ARCHIVE | CVar.CLIENTONLY); - - public static readonly CVarDef HudHeldItemShow = - CVarDef.Create("hud.held_item_show", true, CVar.ARCHIVE | CVar.CLIENTONLY); - - public static readonly CVarDef CombatModeIndicatorsPointShow = - CVarDef.Create("hud.combat_mode_indicators_point_show", true, CVar.ARCHIVE | CVar.CLIENTONLY); - - public static readonly CVarDef LoocAboveHeadShow = - CVarDef.Create("hud.show_looc_above_head", true, CVar.ARCHIVE | CVar.CLIENTONLY); - - public static readonly CVarDef HudHeldItemOffset = - CVarDef.Create("hud.held_item_offset", 28f, CVar.ARCHIVE | CVar.CLIENTONLY); - - public static readonly CVarDef HudFpsCounterVisible = - CVarDef.Create("hud.fps_counter_visible", false, CVar.CLIENTONLY | CVar.ARCHIVE); - - /* - * NPCs - */ - - public static readonly CVarDef NPCMaxUpdates = - CVarDef.Create("npc.max_updates", 128); - - public static readonly CVarDef NPCEnabled = CVarDef.Create("npc.enabled", true); - - /// - /// Should NPCs pathfind when steering. For debug purposes. - /// - public static readonly CVarDef NPCPathfinding = CVarDef.Create("npc.pathfinding", true); - - /* - * Net - */ - - public static readonly CVarDef NetAtmosDebugOverlayTickRate = - CVarDef.Create("net.atmosdbgoverlaytickrate", 3.0f); - - public static readonly CVarDef NetGasOverlayTickRate = - CVarDef.Create("net.gasoverlaytickrate", 3.0f); - - public static readonly CVarDef GasOverlayThresholds = - CVarDef.Create("net.gasoverlaythresholds", 20); - - /* - * Admin - */ - - public static readonly CVarDef AdminAnnounceLogin = - CVarDef.Create("admin.announce_login", true, CVar.SERVERONLY); - - public static readonly CVarDef AdminAnnounceLogout = - CVarDef.Create("admin.announce_logout", true, CVar.SERVERONLY); - - /// - /// The token used to authenticate with the admin API. Leave empty to disable the admin API. This is a secret! Do not share! - /// - public static readonly CVarDef AdminApiToken = - CVarDef.Create("admin.api_token", string.Empty, CVar.SERVERONLY | CVar.CONFIDENTIAL); - - - /// - /// Should users be able to see their own notes? Admins will be able to see and set notes regardless - /// - public static readonly CVarDef SeeOwnNotes = - CVarDef.Create("admin.see_own_notes", false, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER); - - /// - /// Should the server play a quick sound to the active admins whenever a new player joins? - /// - public static readonly CVarDef AdminNewPlayerJoinSound = - CVarDef.Create("admin.new_player_join_sound", false, CVar.SERVERONLY); - - /// - /// The amount of days before the note starts fading. It will slowly lose opacity until it reaches stale. Set to 0 to disable. - /// - public static readonly CVarDef NoteFreshDays = - CVarDef.Create("admin.note_fresh_days", 91.31055, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER); - - /// - /// The amount of days before the note completely fades, and can only be seen by admins if they press "see more notes". Set to 0 - /// if you want the note to immediately disappear without fading. - /// - public static readonly CVarDef NoteStaleDays = - CVarDef.Create("admin.note_stale_days", 365.2422, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER); - - /// - /// How much time does the user have to wait in seconds before confirming that they saw an admin message? - /// - public static readonly CVarDef MessageWaitTime = - CVarDef.Create("admin.message_wait_time", 3f, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER); - - /// - /// Default severity for role bans - /// - public static readonly CVarDef RoleBanDefaultSeverity = - CVarDef.Create("admin.role_ban_default_severity", "medium", CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED); - - /// - /// Default severity for department bans - /// - public static readonly CVarDef DepartmentBanDefaultSeverity = - CVarDef.Create("admin.department_ban_default_severity", "medium", CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED); - - /// - /// Default severity for server bans - /// - public static readonly CVarDef ServerBanDefaultSeverity = - CVarDef.Create("admin.server_ban_default_severity", "High", CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED); - - /// - /// Whether a server ban will ban the player's ip by default. - /// - public static readonly CVarDef ServerBanIpBanDefault = - CVarDef.Create("admin.server_ban_ip_ban_default", true, CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED); - - /// - /// Whether a server ban will ban the player's hardware id by default. - /// - public static readonly CVarDef ServerBanHwidBanDefault = - CVarDef.Create("admin.server_ban_hwid_ban_default", true, CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED); - - /// - /// Whether to use details from last connection for ip/hwid in the BanPanel. - /// - public static readonly CVarDef ServerBanUseLastDetails = - CVarDef.Create("admin.server_ban_use_last_details", true, CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED); - - /// - /// Whether to erase a player's chat messages and their entity from the game when banned. - /// - public static readonly CVarDef ServerBanErasePlayer = - CVarDef.Create("admin.server_ban_erase_player", false, CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED); - - /// - /// Minimum players sharing a connection required to create an alert. -1 to disable the alert. - /// - /// - /// If you set this to 0 or 1 then it will alert on every connection, so probably don't do that. - /// - public static readonly CVarDef AdminAlertMinPlayersSharingConnection = - CVarDef.Create("admin.alert.min_players_sharing_connection", -1, CVar.SERVERONLY); - - /// - /// Minimum explosion intensity to create an admin alert message. -1 to disable the alert. - /// - public static readonly CVarDef AdminAlertExplosionMinIntensity = - CVarDef.Create("admin.alert.explosion_min_intensity", 60, CVar.SERVERONLY); - - /// - /// Minimum particle accelerator strength to create an admin alert message. - /// - public static readonly CVarDef AdminAlertParticleAcceleratorMinPowerState = - CVarDef.Create("admin.alert.particle_accelerator_min_power_state", 5, CVar.SERVERONLY); // strength 4 - - /// - /// Should the ban details in admin channel include PII? (IP, HWID, etc) - /// - public static readonly CVarDef AdminShowPIIOnBan = - CVarDef.Create("admin.show_pii_onban", false, CVar.SERVERONLY); - - /// - /// If an admin joins a round by reading up or using the late join button, automatically - /// de-admin them. - /// - public static readonly CVarDef AdminDeadminOnJoin = - CVarDef.Create("admin.deadmin_on_join", false, CVar.SERVERONLY); - - /// - /// Overrides the name the client sees in ahelps. Set empty to disable. - /// - public static readonly CVarDef AdminAhelpOverrideClientName = - CVarDef.Create("admin.override_adminname_in_client_ahelp", string.Empty, CVar.SERVERONLY); - - /// - /// The threshold of minutes to appear as a "new player" in the ahelp menu - /// If 0, appearing as a new player is disabled. - /// - public static readonly CVarDef NewPlayerThreshold = - CVarDef.Create("admin.new_player_threshold", 0, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER); - - /// - /// How long an admin client can go without any input before being considered AFK. - /// - public static readonly CVarDef AdminAfkTime = - CVarDef.Create("admin.afk_time", 600f, CVar.SERVERONLY); - - /// - /// If true, admins are able to connect even if - /// would otherwise block regular players. - /// - public static readonly CVarDef AdminBypassMaxPlayers = - CVarDef.Create("admin.bypass_max_players", true, CVar.SERVERONLY); - - /// - /// Determine if custom rank names are used. - /// If it is false, it'd use the actual rank name regardless of the individual's title. - /// - /// - /// - public static readonly CVarDef AdminUseCustomNamesAdminRank = - CVarDef.Create("admin.use_custom_names_admin_rank", true, CVar.SERVERONLY); - - /* - * AHELP - */ - - /// - /// Ahelp rate limit values are accounted in periods of this size (seconds). - /// After the period has passed, the count resets. - /// - /// - public static readonly CVarDef AhelpRateLimitPeriod = - CVarDef.Create("ahelp.rate_limit_period", 2f, CVar.SERVERONLY); - - /// - /// How many ahelp messages are allowed in a single rate limit period. - /// - /// - public static readonly CVarDef AhelpRateLimitCount = - CVarDef.Create("ahelp.rate_limit_count", 10, CVar.SERVERONLY); - - /// - /// Should the administrator's position be displayed in ahelp. - /// If it is is false, only the admin's ckey will be displayed in the ahelp. - /// - /// - /// - public static readonly CVarDef AhelpAdminPrefix = - CVarDef.Create("ahelp.admin_prefix", false, CVar.SERVERONLY); - - /// - /// Should the administrator's position be displayed in the webhook. - /// If it is is false, only the admin's ckey will be displayed in webhook. - /// - /// - /// - public static readonly CVarDef AhelpAdminPrefixWebhook = - CVarDef.Create("ahelp.admin_prefix_webhook", false, CVar.SERVERONLY); - - /* - * Explosions - */ - - /// - /// How many tiles the explosion system will process per tick - /// - /// - /// Setting this too high will put a large load on a single tick. Setting this too low will lead to - /// unnaturally "slow" explosions. - /// - public static readonly CVarDef ExplosionTilesPerTick = - CVarDef.Create("explosion.tiles_per_tick", 100, CVar.SERVERONLY); - - /// - /// Upper limit on the size of an explosion before physics-throwing is disabled. - /// - /// - /// Large nukes tend to generate a lot of shrapnel that flies through space. This can functionally cripple - /// the server TPS for a while after an explosion (or even during, if the explosion is processed - /// incrementally. - /// - public static readonly CVarDef ExplosionThrowLimit = - CVarDef.Create("explosion.throw_limit", 400, CVar.SERVERONLY); - - /// - /// If this is true, explosion processing will pause the NodeGroupSystem to pause updating. - /// - /// - /// This only takes effect if an explosion needs more than one tick to process (i.e., covers more than tiles). If this is not enabled, the node-system will rebuild its graph - /// every tick as the explosion shreds the station, causing significant slowdown. - /// - public static readonly CVarDef ExplosionSleepNodeSys = - CVarDef.Create("explosion.node_sleep", true, CVar.SERVERONLY); - - /// - /// Upper limit on the total area that an explosion can affect before the neighbor-finding algorithm just - /// stops. Defaults to a 60-rile radius explosion. - /// - /// - /// Actual area may be larger, as it currently doesn't terminate mid neighbor finding. I.e., area may be that of a ~51 tile radius circle instead. - /// - public static readonly CVarDef ExplosionMaxArea = - CVarDef.Create("explosion.max_area", (int) 3.14f * 256 * 256, CVar.SERVERONLY); - - /// - /// Upper limit on the number of neighbor finding steps for the explosion system neighbor-finding algorithm. - /// - /// - /// Effectively places an upper limit on the range that any explosion can have. In the vast majority of - /// instances, will likely be hit before this becomes a limiting factor. - /// - public static readonly CVarDef ExplosionMaxIterations = - CVarDef.Create("explosion.max_iterations", 500, CVar.SERVERONLY); - - /// - /// Max Time in milliseconds to spend processing explosions every tick. - /// - /// - /// This time limiting is not perfectly implemented. Firstly, a significant chunk of processing time happens - /// due to queued entity deletions, which happen outside of the system update code. Secondly, explosion - /// spawning cannot currently be interrupted & resumed, and may lead to exceeding this time limit. - /// - public static readonly CVarDef ExplosionMaxProcessingTime = - CVarDef.Create("explosion.max_tick_time", 7f, CVar.SERVERONLY); - - /// - /// If the explosion is being processed incrementally over several ticks, this variable determines whether - /// updating the grid tiles should be done incrementally at the end of every tick, or only once the explosion has finished processing. - /// - /// - /// The most notable consequence of this change is that explosions will only punch a hole in the station & - /// create a vacumm once they have finished exploding. So airlocks will no longer slam shut as the explosion - /// expands, just suddenly at the end. - /// - public static readonly CVarDef ExplosionIncrementalTileBreaking = - CVarDef.Create("explosion.incremental_tile", false, CVar.SERVERONLY); - - /// - /// This determines for how many seconds an explosion should stay visible once it has finished expanding. - /// - public static readonly CVarDef ExplosionPersistence = - CVarDef.Create("explosion.persistence", 1.0f, CVar.SERVERONLY); - - /// - /// If an explosion covers a larger area than this number, the damaging/processing will always start during - /// the next tick, instead of during the same tick that the explosion was generated in. - /// - /// - /// This value can be used to ensure that for large explosions the area/tile calculation and the explosion - /// processing/damaging occurs in separate ticks. This helps reduce the single-tick lag if both and are large. I.e., instead of - /// a single tick explosion, this cvar allows for a configuration that results in a two-tick explosion, - /// though most of the computational cost is still in the second tick. - /// - public static readonly CVarDef ExplosionSingleTickAreaLimit = - CVarDef.Create("explosion.single_tick_area_limit", 400, CVar.SERVERONLY); - - /// - /// Whether or not explosions are allowed to create tiles that have - /// set to true. - /// - public static readonly CVarDef ExplosionCanCreateVacuum = - CVarDef.Create("explosion.can_create_vacuum", true, CVar.SERVERONLY); - - /* - * Radiation - */ - - /// - /// What is the smallest radiation dose in rads that can be received by object. - /// Extremely small values may impact performance. - /// - public static readonly CVarDef RadiationMinIntensity = - CVarDef.Create("radiation.min_intensity", 0.1f, CVar.SERVERONLY); - - /// - /// Rate of radiation system update in seconds. - /// - public static readonly CVarDef RadiationGridcastUpdateRate = - CVarDef.Create("radiation.gridcast.update_rate", 1.0f, CVar.SERVERONLY); - - /// - /// If both radiation source and receiver are placed on same grid, ignore grids between them. - /// May get inaccurate result in some cases, but greatly boost performance in general. - /// - public static readonly CVarDef RadiationGridcastSimplifiedSameGrid = - CVarDef.Create("radiation.gridcast.simplified_same_grid", true, CVar.SERVERONLY); - - /// - /// Max distance that radiation ray can travel in meters. - /// - public static readonly CVarDef RadiationGridcastMaxDistance = - CVarDef.Create("radiation.gridcast.max_distance", 50f, CVar.SERVERONLY); - - /* - * Admin logs - */ - - /// - /// Controls if admin logs are enabled. Highly recommended to shut this off for development. - /// - public static readonly CVarDef AdminLogsEnabled = - CVarDef.Create("adminlogs.enabled", true, CVar.SERVERONLY); - - public static readonly CVarDef AdminLogsQueueSendDelay = - CVarDef.Create("adminlogs.queue_send_delay_seconds", 5f, CVar.SERVERONLY); - - // When to skip the waiting time to save in-round admin logs, if no admin logs are currently being saved - public static readonly CVarDef AdminLogsQueueMax = - CVarDef.Create("adminlogs.queue_max", 5000, CVar.SERVERONLY); - - // When to skip the waiting time to save pre-round admin logs, if no admin logs are currently being saved - public static readonly CVarDef AdminLogsPreRoundQueueMax = - CVarDef.Create("adminlogs.pre_round_queue_max", 5000, CVar.SERVERONLY); - - // When to start dropping logs - public static readonly CVarDef AdminLogsDropThreshold = - CVarDef.Create("adminlogs.drop_threshold", 20000, CVar.SERVERONLY); - - // How many logs to send to the client at once - public static readonly CVarDef AdminLogsClientBatchSize = - CVarDef.Create("adminlogs.client_batch_size", 1000, CVar.SERVERONLY); - - public static readonly CVarDef AdminLogsServerName = - CVarDef.Create("adminlogs.server_name", "unknown", CVar.SERVERONLY); - - /* - * Atmos - */ - - /// - /// Whether gas differences will move entities. - /// - public static readonly CVarDef SpaceWind = - CVarDef.Create("atmos.space_wind", false, CVar.SERVERONLY); - - /// - /// Divisor from maxForce (pressureDifference * 2.25f) to force applied on objects. - /// - public static readonly CVarDef SpaceWindPressureForceDivisorThrow = - CVarDef.Create("atmos.space_wind_pressure_force_divisor_throw", 15f, CVar.SERVERONLY); - - /// - /// Divisor from maxForce (pressureDifference * 2.25f) to force applied on objects. - /// - public static readonly CVarDef SpaceWindPressureForceDivisorPush = - CVarDef.Create("atmos.space_wind_pressure_force_divisor_push", 2500f, CVar.SERVERONLY); - - /// - /// The maximum velocity (not force) that may be applied to an object by atmospheric pressure differences. - /// Useful to prevent clipping through objects. - /// - public static readonly CVarDef SpaceWindMaxVelocity = - CVarDef.Create("atmos.space_wind_max_velocity", 30f, CVar.SERVERONLY); - - /// - /// The maximum force that may be applied to an object by pushing (i.e. not throwing) atmospheric pressure differences. - /// A "throwing" atmospheric pressure difference ignores this limit, but not the max. velocity limit. - /// - public static readonly CVarDef SpaceWindMaxPushForce = - CVarDef.Create("atmos.space_wind_max_push_force", 20f, CVar.SERVERONLY); - - /// - /// Whether monstermos tile equalization is enabled. - /// - public static readonly CVarDef MonstermosEqualization = - CVarDef.Create("atmos.monstermos_equalization", true, CVar.SERVERONLY); - - /// - /// Whether monstermos explosive depressurization is enabled. - /// Needs to be enabled to work. - /// - public static readonly CVarDef MonstermosDepressurization = - CVarDef.Create("atmos.monstermos_depressurization", true, CVar.SERVERONLY); - - /// - /// Whether monstermos explosive depressurization will rip tiles.. - /// Needs and to be enabled to work. - /// WARNING: This cvar causes MAJOR contrast issues, and usually tends to make any spaced scene look very cluttered. - /// This not only usually looks strange, but can also reduce playability for people with impaired vision. Please think twice before enabling this on your server. - /// Also looks weird on slow spacing for unrelated reasons. If you do want to enable this, you should probably turn on instaspacing. - /// - public static readonly CVarDef MonstermosRipTiles = - CVarDef.Create("atmos.monstermos_rip_tiles", false, CVar.SERVERONLY); - - /// - /// Whether explosive depressurization will cause the grid to gain an impulse. - /// Needs and to be enabled to work. - /// - public static readonly CVarDef AtmosGridImpulse = - CVarDef.Create("atmos.grid_impulse", false, CVar.SERVERONLY); - - /// - /// What fraction of air from a spaced tile escapes every tick. - /// 1.0 for instant spacing, 0.2 means 20% of remaining air lost each time - /// - public static readonly CVarDef AtmosSpacingEscapeRatio = - CVarDef.Create("atmos.mmos_spacing_speed", 0.15f, CVar.SERVERONLY); - - /// - /// Minimum amount of air allowed on a spaced tile before it is reset to 0 immediately in kPa - /// Since the decay due to SpacingEscapeRatio follows a curve, it would never reach 0.0 exactly - /// unless we truncate it somewhere. - /// - public static readonly CVarDef AtmosSpacingMinGas = - CVarDef.Create("atmos.mmos_min_gas", 2.0f, CVar.SERVERONLY); +namespace Content.Shared.CCVar; - /// - /// How much wind can go through a single tile before that tile doesn't depressurize itself - /// (I.e spacing is limited in large rooms heading into smaller spaces) - /// - public static readonly CVarDef AtmosSpacingMaxWind = - CVarDef.Create("atmos.mmos_max_wind", 500f, CVar.SERVERONLY); - - /// - /// Whether atmos superconduction is enabled. - /// - /// Disabled by default, superconduction is awful. - public static readonly CVarDef Superconduction = - CVarDef.Create("atmos.superconduction", false, CVar.SERVERONLY); - - /// - /// Heat loss per tile due to radiation at 20 degC, in W. - /// - public static readonly CVarDef SuperconductionTileLoss = - CVarDef.Create("atmos.superconduction_tile_loss", 30f, CVar.SERVERONLY); - - /// - /// Whether excited groups will be processed and created. - /// - public static readonly CVarDef ExcitedGroups = - CVarDef.Create("atmos.excited_groups", true, CVar.SERVERONLY); - - /// - /// Whether all tiles in an excited group will clear themselves once being exposed to space. - /// Similar to , without none of the tile ripping or - /// things being thrown around very violently. - /// Needs to be enabled to work. - /// - public static readonly CVarDef ExcitedGroupsSpaceIsAllConsuming = - CVarDef.Create("atmos.excited_groups_space_is_all_consuming", false, CVar.SERVERONLY); - - /// - /// Maximum time in milliseconds that atmos can take processing. - /// - public static readonly CVarDef AtmosMaxProcessTime = - CVarDef.Create("atmos.max_process_time", 3f, CVar.SERVERONLY); - - /// - /// Atmos tickrate in TPS. Atmos processing will happen every 1/TPS seconds. - /// - public static readonly CVarDef AtmosTickRate = - CVarDef.Create("atmos.tickrate", 15f, CVar.SERVERONLY); - - /// - /// Scale factor for how fast things happen in our atmosphere - /// simulation compared to real life. 1x means pumps run at 1x - /// speed. Players typically expect things to happen faster - /// in-game. - /// - public static readonly CVarDef AtmosSpeedup = - CVarDef.Create("atmos.speedup", 8f, CVar.SERVERONLY); - - /// - /// Like atmos.speedup, but only for gas and reaction heat values. 64x means - /// gases heat up and cool down 64x faster than real life. - /// - public static readonly CVarDef AtmosHeatScale = - CVarDef.Create("atmos.heat_scale", 8f, CVar.SERVERONLY); - - /// - /// Maximum explosion radius for explosions caused by bursting a gas tank ("max caps"). - /// Setting this to zero disables the explosion but still allows the tank to burst and leak. - /// - public static readonly CVarDef AtmosTankFragment = - CVarDef.Create("atmos.max_explosion_range", 26f, CVar.SERVERONLY); - - /* - * MIDI instruments - */ - - public static readonly CVarDef MaxMidiEventsPerSecond = - CVarDef.Create("midi.max_events_per_second", 1000, CVar.REPLICATED | CVar.SERVER); - - public static readonly CVarDef MaxMidiEventsPerBatch = - CVarDef.Create("midi.max_events_per_batch", 60, CVar.REPLICATED | CVar.SERVER); - - public static readonly CVarDef MaxMidiBatchesDropped = - CVarDef.Create("midi.max_batches_dropped", 1, CVar.SERVERONLY); - - public static readonly CVarDef MaxMidiLaggedBatches = - CVarDef.Create("midi.max_lagged_batches", 8, CVar.SERVERONLY); - - /* - * Holidays - */ - - public static readonly CVarDef HolidaysEnabled = CVarDef.Create("holidays.enabled", true, CVar.SERVERONLY); - - /* - * Branding stuff - */ - - public static readonly CVarDef BrandingSteam = CVarDef.Create("branding.steam", false, CVar.CLIENTONLY); - - /* - * OOC - */ - - public static readonly CVarDef OocEnabled = CVarDef.Create("ooc.enabled", true, CVar.NOTIFY | CVar.REPLICATED); - - public static readonly CVarDef AdminOocEnabled = - CVarDef.Create("ooc.enabled_admin", true, CVar.NOTIFY); - - /// - /// If true, whenever OOC is disabled the Discord OOC relay will also be disabled. - /// - public static readonly CVarDef DisablingOOCDisablesRelay = CVarDef.Create("ooc.disabling_ooc_disables_relay", true, CVar.SERVERONLY); - - /// - /// Whether or not OOC chat should be enabled during a round. - /// - public static readonly CVarDef OocEnableDuringRound = - CVarDef.Create("ooc.enable_during_round", false, CVar.NOTIFY | CVar.REPLICATED | CVar.SERVER); - - public static readonly CVarDef ShowOocPatronColor = - CVarDef.Create("ooc.show_ooc_patron_color", true, CVar.ARCHIVE | CVar.REPLICATED | CVar.CLIENT); - - /* - * LOOC - */ - - public static readonly CVarDef LoocEnabled = CVarDef.Create("looc.enabled", true, CVar.NOTIFY | CVar.REPLICATED); - - public static readonly CVarDef AdminLoocEnabled = - CVarDef.Create("looc.enabled_admin", true, CVar.NOTIFY); - - /// - /// True: Dead players can use LOOC - /// False: Dead player LOOC gets redirected to dead chat - /// - public static readonly CVarDef DeadLoocEnabled = CVarDef.Create("looc.enabled_dead", false, CVar.NOTIFY | CVar.REPLICATED); - - /// - /// True: Crit players can use LOOC - /// False: Crit player LOOC gets redirected to dead chat - /// - public static readonly CVarDef CritLoocEnabled = CVarDef.Create("looc.enabled_crit", false, CVar.NOTIFY | CVar.REPLICATED); - - /* - * Entity Menu Grouping Types - */ - public static readonly CVarDef EntityMenuGroupingType = CVarDef.Create("entity_menu", 0, CVar.CLIENTONLY); - - /* - * Whitelist - */ - - /// - /// Controls whether the server will deny any players that are not whitelisted in the DB. - /// - public static readonly CVarDef WhitelistEnabled = - CVarDef.Create("whitelist.enabled", false, CVar.SERVERONLY); - /// - /// Specifies the whitelist prototypes to be used by the server. This should be a comma-separated list of prototypes. - /// If a whitelists conditions to be active fail (for example player count), the next whitelist will be used instead. If no whitelist is valid, the player will be allowed to connect. - /// - public static readonly CVarDef WhitelistPrototypeList = - CVarDef.Create("whitelist.prototype_list", "basicWhitelist", CVar.SERVERONLY); - - /* - * VOTE - */ - - /// - /// Allows enabling/disabling player-started votes for ultimate authority - /// - public static readonly CVarDef VoteEnabled = - CVarDef.Create("vote.enabled", true, CVar.SERVERONLY); - - /// - /// See vote.enabled, but specific to restart votes - /// - public static readonly CVarDef VoteRestartEnabled = - CVarDef.Create("vote.restart_enabled", true, CVar.SERVERONLY); - - /// - /// Config for when the restart vote should be allowed to be called regardless with less than this amount of players. - /// - public static readonly CVarDef VoteRestartMaxPlayers = - CVarDef.Create("vote.restart_max_players", 20, CVar.SERVERONLY); - - /// - /// Config for when the restart vote should be allowed to be called based on percentage of ghosts. - /// - public static readonly CVarDef VoteRestartGhostPercentage = - CVarDef.Create("vote.restart_ghost_percentage", 55, CVar.SERVERONLY); - - /// - /// See vote.enabled, but specific to preset votes - /// - public static readonly CVarDef VotePresetEnabled = - CVarDef.Create("vote.preset_enabled", true, CVar.SERVERONLY); - - /// - /// See vote.enabled, but specific to map votes - /// - public static readonly CVarDef VoteMapEnabled = - CVarDef.Create("vote.map_enabled", false, CVar.SERVERONLY); - - /// - /// The required ratio of the server that must agree for a restart round vote to go through. - /// - public static readonly CVarDef VoteRestartRequiredRatio = - CVarDef.Create("vote.restart_required_ratio", 0.85f, CVar.SERVERONLY); - - /// - /// Whether or not to prevent the restart vote from having any effect when there is an online admin - /// - public static readonly CVarDef VoteRestartNotAllowedWhenAdminOnline = - CVarDef.Create("vote.restart_not_allowed_when_admin_online", true, CVar.SERVERONLY); - - /// - /// The delay which two votes of the same type are allowed to be made by separate people, in seconds. - /// - public static readonly CVarDef VoteSameTypeTimeout = - CVarDef.Create("vote.same_type_timeout", 240f, CVar.SERVERONLY); - - /// - /// Sets the duration of the map vote timer. - /// - public static readonly CVarDef - VoteTimerMap = CVarDef.Create("vote.timermap", 90, CVar.SERVERONLY); - - /// - /// Sets the duration of the restart vote timer. - /// - public static readonly CVarDef - VoteTimerRestart = CVarDef.Create("vote.timerrestart", 60, CVar.SERVERONLY); - - /// - /// Sets the duration of the gamemode/preset vote timer. - /// - public static readonly CVarDef - VoteTimerPreset = CVarDef.Create("vote.timerpreset", 30, CVar.SERVERONLY); - - /// - /// Sets the duration of the map vote timer when ALONE. - /// - public static readonly CVarDef - VoteTimerAlone = CVarDef.Create("vote.timeralone", 10, CVar.SERVERONLY); - - /* - * VOTEKICK - */ - - /// - /// Allows enabling/disabling player-started votekick for ultimate authority - /// - public static readonly CVarDef VotekickEnabled = - CVarDef.Create("votekick.enabled", true, CVar.SERVERONLY); - - /// - /// Config for when the votekick should be allowed to be called based on number of eligible voters. - /// - public static readonly CVarDef VotekickEligibleNumberRequirement = - CVarDef.Create("votekick.eligible_number", 5, CVar.SERVERONLY); - - /// - /// Whether a votekick initiator must be a ghost or not. - /// - public static readonly CVarDef VotekickInitiatorGhostRequirement = - CVarDef.Create("votekick.initiator_ghost_requirement", true, CVar.SERVERONLY); - - /// - /// Should the initiator be whitelisted to initiate a votekick? - /// - public static readonly CVarDef VotekickInitiatorWhitelistedRequirement = - CVarDef.Create("votekick.initiator_whitelist_requirement", true, CVar.SERVERONLY); - - /// - /// Should the initiator be able to start a votekick if they are bellow the votekick.voter_playtime requirement? - /// - public static readonly CVarDef VotekickInitiatorTimeRequirement = - CVarDef.Create("votekick.initiator_time_requirement", false, CVar.SERVERONLY); - - /// - /// Whether a votekick voter must be a ghost or not. - /// - public static readonly CVarDef VotekickVoterGhostRequirement = - CVarDef.Create("votekick.voter_ghost_requirement", true, CVar.SERVERONLY); - - /// - /// Config for how many hours playtime a player must have to be able to vote on a votekick. - /// - public static readonly CVarDef VotekickEligibleVoterPlaytime = - CVarDef.Create("votekick.voter_playtime", 100, CVar.SERVERONLY); - - /// - /// Config for how many seconds a player must have been dead to initiate a votekick / be able to vote on a votekick. - /// - public static readonly CVarDef VotekickEligibleVoterDeathtime = - CVarDef.Create("votekick.voter_deathtime", 30, CVar.REPLICATED | CVar.SERVER); - - /// - /// The required ratio of eligible voters that must agree for a votekick to go through. - /// - public static readonly CVarDef VotekickRequiredRatio = - CVarDef.Create("votekick.required_ratio", 0.6f, CVar.SERVERONLY); - - /// - /// Whether or not to prevent the votekick from having any effect when there is an online admin. - /// - public static readonly CVarDef VotekickNotAllowedWhenAdminOnline = - CVarDef.Create("votekick.not_allowed_when_admin_online", true, CVar.SERVERONLY); - - /// - /// The delay for which two votekicks are allowed to be made by separate people, in seconds. - /// - public static readonly CVarDef VotekickTimeout = - CVarDef.Create("votekick.timeout", 120f, CVar.SERVERONLY); - - /// - /// Sets the duration of the votekick vote timer. - /// - public static readonly CVarDef - VotekickTimer = CVarDef.Create("votekick.timer", 60, CVar.SERVERONLY); - - /// - /// Config for how many hours playtime a player must have to get protection from the Raider votekick type when playing as an antag. - /// - public static readonly CVarDef VotekickAntagRaiderProtection = - CVarDef.Create("votekick.antag_raider_protection", 10, CVar.SERVERONLY); - - /// - /// Default severity for votekick bans - /// - public static readonly CVarDef VotekickBanDefaultSeverity = - CVarDef.Create("votekick.ban_default_severity", "High", CVar.ARCHIVE | CVar.SERVER | CVar.REPLICATED); - - /// - /// Duration of a ban caused by a votekick (in minutes). - /// - public static readonly CVarDef VotekickBanDuration = - CVarDef.Create("votekick.ban_duration", 180, CVar.SERVERONLY); - - /// - /// Whether the ghost requirement settings for votekicks should be ignored for the lobby. - /// - public static readonly CVarDef VotekickIgnoreGhostReqInLobby = - CVarDef.Create("votekick.ignore_ghost_req_in_lobby", true, CVar.SERVERONLY); - - /* - * BAN - */ - - public static readonly CVarDef BanHardwareIds = - CVarDef.Create("ban.hardware_ids", true, CVar.SERVERONLY); - - /* - * Procgen - */ - - /// - /// Should we pre-load all of the procgen atlasses. - /// - public static readonly CVarDef ProcgenPreload = - CVarDef.Create("procgen.preload", true, CVar.SERVERONLY); - - /* - * Shuttles - */ - - // Look this is technically eye behavior but its main impact is shuttles so I just dumped it here. - /// - /// If true then the camera will match the grid / map and is unchangeable. - /// - When traversing grids it will snap to 0 degrees rotation. - /// False means the player has control over the camera rotation. - /// - When traversing grids it will snap to the nearest cardinal which will generally be imperceptible. - /// - public static readonly CVarDef CameraRotationLocked = - CVarDef.Create("shuttle.camera_rotation_locked", false, CVar.REPLICATED); - - /// - /// Whether the arrivals terminal should be on a planet map. - /// - public static readonly CVarDef ArrivalsPlanet = - CVarDef.Create("shuttle.arrivals_planet", true, CVar.SERVERONLY); - - /// - /// Whether the arrivals shuttle is enabled. - /// - public static readonly CVarDef ArrivalsShuttles = - CVarDef.Create("shuttle.arrivals", true, CVar.SERVERONLY); - - /// - /// The map to use for the arrivals station. - /// - public static readonly CVarDef ArrivalsMap = - CVarDef.Create("shuttle.arrivals_map", "/Maps/Misc/terminal.yml", CVar.SERVERONLY); - - /// - /// Cooldown between arrivals departures. This should be longer than the FTL time or it will double cycle. - /// - public static readonly CVarDef ArrivalsCooldown = - CVarDef.Create("shuttle.arrivals_cooldown", 50f, CVar.SERVERONLY); - - /// - /// Are players allowed to return on the arrivals shuttle. - /// - public static readonly CVarDef ArrivalsReturns = - CVarDef.Create("shuttle.arrivals_returns", false, CVar.SERVERONLY); - - /// - /// Should all players who spawn at arrivals have godmode until they leave the map? - /// - public static readonly CVarDef GodmodeArrivals = - CVarDef.Create("shuttle.godmode_arrivals", false, CVar.SERVERONLY); - - /// - /// If a grid is split then hide any smaller ones under this mass (kg) from the map. - /// This is useful to avoid split grids spamming out labels. - /// - public static readonly CVarDef HideSplitGridsUnder = - CVarDef.Create("shuttle.hide_split_grids_under", 30, CVar.SERVERONLY); - - /// - /// Whether to automatically spawn escape shuttles. - /// - public static readonly CVarDef GridFill = - CVarDef.Create("shuttle.grid_fill", true, CVar.SERVERONLY); - - /// - /// Whether to automatically preloading grids by GridPreloaderSystem - /// - public static readonly CVarDef PreloadGrids = - CVarDef.Create("shuttle.preload_grids", true, CVar.SERVERONLY); - - /// - /// How long the warmup time before FTL start should be. - /// - public static readonly CVarDef FTLStartupTime = - CVarDef.Create("shuttle.startup_time", 5.5f, CVar.SERVERONLY); - - /// - /// How long a shuttle spends in FTL. - /// - public static readonly CVarDef FTLTravelTime = - CVarDef.Create("shuttle.travel_time", 20f, CVar.SERVERONLY); - - /// - /// How long the final stage of FTL before arrival should be. - /// - public static readonly CVarDef FTLArrivalTime = - CVarDef.Create("shuttle.arrival_time", 5f, CVar.SERVERONLY); - - /// - /// How much time needs to pass before a shuttle can FTL again. - /// - public static readonly CVarDef FTLCooldown = - CVarDef.Create("shuttle.cooldown", 10f, CVar.SERVERONLY); - - /// - /// The maximum a grid can have before it becomes unable to FTL. - /// Any value equal to or less than zero will disable this check. - /// - public static readonly CVarDef FTLMassLimit = - CVarDef.Create("shuttle.mass_limit", 300f, CVar.SERVERONLY); - - /// - /// How long to knock down entities for if they aren't buckled when FTL starts and stops. - /// - public static readonly CVarDef HyperspaceKnockdownTime = - CVarDef.Create("shuttle.hyperspace_knockdown_time", 5f, CVar.SERVERONLY); - - /* - * Emergency - */ - - /// - /// Is the emergency shuttle allowed to be early launched. - /// - public static readonly CVarDef EmergencyEarlyLaunchAllowed = - CVarDef.Create("shuttle.emergency_early_launch_allowed", false, CVar.SERVERONLY); - - /// - /// How long the emergency shuttle remains docked with the station, in seconds. - /// - public static readonly CVarDef EmergencyShuttleDockTime = - CVarDef.Create("shuttle.emergency_dock_time", 180f, CVar.SERVERONLY); - - /// - /// If the emergency shuttle can't dock at a priority port, the dock time will be multiplied with this value. - /// - public static readonly CVarDef EmergencyShuttleDockTimeMultiplierOtherDock = - CVarDef.Create("shuttle.emergency_dock_time_multiplier_other_dock", 1.6667f, CVar.SERVERONLY); - - /// - /// If the emergency shuttle can't dock at all, the dock time will be multiplied with this value. - /// - public static readonly CVarDef EmergencyShuttleDockTimeMultiplierNoDock = - CVarDef.Create("shuttle.emergency_dock_time_multiplier_no_dock", 2f, CVar.SERVERONLY); - - /// - /// How long after the console is authorized for the shuttle to early launch. - /// - public static readonly CVarDef EmergencyShuttleAuthorizeTime = - CVarDef.Create("shuttle.emergency_authorize_time", 10f, CVar.SERVERONLY); - - /// - /// The minimum time for the emergency shuttle to arrive at centcomm. - /// Actual minimum travel time cannot be less than - /// - public static readonly CVarDef EmergencyShuttleMinTransitTime = - CVarDef.Create("shuttle.emergency_transit_time_min", 60f, CVar.SERVERONLY); - - /// - /// The maximum time for the emergency shuttle to arrive at centcomm. - /// - public static readonly CVarDef EmergencyShuttleMaxTransitTime = - CVarDef.Create("shuttle.emergency_transit_time_max", 180f, CVar.SERVERONLY); - - /// - /// Whether the emergency shuttle is enabled or should the round just end. - /// - public static readonly CVarDef EmergencyShuttleEnabled = - CVarDef.Create("shuttle.emergency", true, CVar.SERVERONLY); - - /// - /// The percentage of time passed from the initial call to when the shuttle can no longer be recalled. - /// ex. a call time of 10min and turning point of 0.5 means the shuttle cannot be recalled after 5 minutes. - /// - public static readonly CVarDef EmergencyRecallTurningPoint = - CVarDef.Create("shuttle.recall_turning_point", 0.5f, CVar.SERVERONLY); - - /// - /// Time in minutes after round start to auto-call the shuttle. Set to zero to disable. - /// - public static readonly CVarDef EmergencyShuttleAutoCallTime = - CVarDef.Create("shuttle.auto_call_time", 90, CVar.SERVERONLY); - - /// - /// Time in minutes after the round was extended (by recalling the shuttle) to call - /// the shuttle again. - /// - public static readonly CVarDef EmergencyShuttleAutoCallExtensionTime = - CVarDef.Create("shuttle.auto_call_extension_time", 45, CVar.SERVERONLY); - - /* - * Crew Manifests - */ - - /// - /// Setting this allows a crew manifest to be opened from any window - /// that has a crew manifest button, and sends the correct message. - /// If this is false, only in-game entities will allow you to see - /// the crew manifest, if the functionality is coded in. - /// Having administrator priveledge ignores this, but will still - /// hide the button in UI windows. - /// - public static readonly CVarDef CrewManifestWithoutEntity = - CVarDef.Create("crewmanifest.no_entity", true, CVar.REPLICATED); - - /// - /// Setting this allows the crew manifest to be viewed from 'unsecure' - /// entities, such as the PDA. - /// - public static readonly CVarDef CrewManifestUnsecure = - CVarDef.Create("crewmanifest.unsecure", true, CVar.REPLICATED); - - /* - * Biomass - */ - - /// - /// Enabled: Cloning has 70% cost and reclaimer will refuse to reclaim corpses with souls. (For LRP). - /// Disabled: Cloning has full biomass cost and reclaimer can reclaim corpses with souls. (Playtested and balanced for MRP+). - /// - public static readonly CVarDef BiomassEasyMode = - CVarDef.Create("biomass.easy_mode", true, CVar.SERVERONLY); - - /* - * Anomaly - */ - - /// - /// A scale factor applied to a grid's bounds when trying to find a spot to randomly generate an anomaly. - /// - public static readonly CVarDef AnomalyGenerationGridBoundsScale = - CVarDef.Create("anomaly.generation_grid_bounds_scale", 0.6f, CVar.SERVERONLY); - - /* - * VIEWPORT - */ - - public static readonly CVarDef ViewportStretch = - CVarDef.Create("viewport.stretch", true, CVar.CLIENTONLY | CVar.ARCHIVE); - - public static readonly CVarDef ViewportFixedScaleFactor = - CVarDef.Create("viewport.fixed_scale_factor", 2, CVar.CLIENTONLY | CVar.ARCHIVE); - - // This default is basically specifically chosen so fullscreen/maximized 1080p hits a 2x snap and does NN. - public static readonly CVarDef ViewportSnapToleranceMargin = - CVarDef.Create("viewport.snap_tolerance_margin", 64, CVar.CLIENTONLY | CVar.ARCHIVE); - - public static readonly CVarDef ViewportSnapToleranceClip = - CVarDef.Create("viewport.snap_tolerance_clip", 32, CVar.CLIENTONLY | CVar.ARCHIVE); - - public static readonly CVarDef ViewportScaleRender = - CVarDef.Create("viewport.scale_render", true, CVar.CLIENTONLY | CVar.ARCHIVE); - - public static readonly CVarDef ViewportMinimumWidth = - CVarDef.Create("viewport.minimum_width", 15, CVar.REPLICATED | CVar.SERVER); - - public static readonly CVarDef ViewportMaximumWidth = - CVarDef.Create("viewport.maximum_width", 21, CVar.REPLICATED | CVar.SERVER); - - public static readonly CVarDef ViewportWidth = - CVarDef.Create("viewport.width", 21, CVar.CLIENTONLY | CVar.ARCHIVE); - - public static readonly CVarDef ViewportVerticalFit = - CVarDef.Create("viewport.vertical_fit", true, CVar.CLIENTONLY | CVar.ARCHIVE); - - /* - * UI - */ - - public static readonly CVarDef UILayout = - CVarDef.Create("ui.layout", "Default", CVar.CLIENTONLY | CVar.ARCHIVE); - - public static readonly CVarDef DefaultScreenChatSize = - CVarDef.Create("ui.default_chat_size", "", CVar.CLIENTONLY | CVar.ARCHIVE); - - public static readonly CVarDef SeparatedScreenChatSize = - CVarDef.Create("ui.separated_chat_size", "0.6,0", CVar.CLIENTONLY | CVar.ARCHIVE); - - - /* - * Accessibility - */ - - /// - /// Chat window opacity slider, controlling the alpha of the chat window background. - /// Goes from to 0 (completely transparent) to 1 (completely opaque) - /// - public static readonly CVarDef ChatWindowOpacity = - CVarDef.Create("accessibility.chat_window_transparency", 0.85f, CVar.CLIENTONLY | CVar.ARCHIVE); - - /// - /// Toggle for visual effects that may potentially cause motion sickness. - /// Where reasonable, effects affected by this CVar should use an alternate effect. - /// Please do not use this CVar as a bandaid for effects that could otherwise be made accessible without issue. - /// - public static readonly CVarDef ReducedMotion = - CVarDef.Create("accessibility.reduced_motion", false, CVar.CLIENTONLY | CVar.ARCHIVE); - - public static readonly CVarDef ChatEnableColorName = - CVarDef.Create("accessibility.enable_color_name", true, CVar.CLIENTONLY | CVar.ARCHIVE, "Toggles displaying names with individual colors."); - - /// - /// Screen shake intensity slider, controlling the intensity of the CameraRecoilSystem. - /// Goes from 0 (no recoil at all) to 1 (regular amounts of recoil) - /// - public static readonly CVarDef ScreenShakeIntensity = - CVarDef.Create("accessibility.screen_shake_intensity", 1f, CVar.CLIENTONLY | CVar.ARCHIVE); - - /// - /// A generic toggle for various visual effects that are color sensitive. - /// As of 2/16/24, only applies to progress bar colors. - /// - public static readonly CVarDef AccessibilityColorblindFriendly = - CVarDef.Create("accessibility.colorblind_friendly", false, CVar.CLIENTONLY | CVar.ARCHIVE); - - /* - * CHAT - */ - - /// - /// Chat rate limit values are accounted in periods of this size (seconds). - /// After the period has passed, the count resets. - /// - /// - public static readonly CVarDef ChatRateLimitPeriod = - CVarDef.Create("chat.rate_limit_period", 2f, CVar.SERVERONLY); - - /// - /// How many chat messages are allowed in a single rate limit period. - /// - /// - /// The total rate limit throughput per second is effectively - /// divided by . - /// - /// - public static readonly CVarDef ChatRateLimitCount = - CVarDef.Create("chat.rate_limit_count", 10, CVar.SERVERONLY); - - /// - /// Minimum delay (in seconds) between notifying admins about chat message rate limit violations. - /// A negative value disables admin announcements. - /// - public static readonly CVarDef ChatRateLimitAnnounceAdminsDelay = - CVarDef.Create("chat.rate_limit_announce_admins_delay", 15, CVar.SERVERONLY); - - public static readonly CVarDef ChatMaxMessageLength = - CVarDef.Create("chat.max_message_length", 1000, CVar.SERVER | CVar.REPLICATED); - - public static readonly CVarDef ChatMaxAnnouncementLength = - CVarDef.Create("chat.max_announcement_length", 256, CVar.SERVER | CVar.REPLICATED); - - public static readonly CVarDef ChatSanitizerEnabled = - CVarDef.Create("chat.chat_sanitizer_enabled", true, CVar.SERVERONLY); - - public static readonly CVarDef ChatShowTypingIndicator = - CVarDef.Create("chat.show_typing_indicator", true, CVar.ARCHIVE | CVar.REPLICATED | CVar.SERVER); - - public static readonly CVarDef ChatEnableFancyBubbles = - CVarDef.Create("chat.enable_fancy_bubbles", true, CVar.CLIENTONLY | CVar.ARCHIVE, "Toggles displaying fancy speech bubbles, which display the speaking character's name."); - - public static readonly CVarDef ChatFancyNameBackground = - CVarDef.Create("chat.fancy_name_background", false, CVar.CLIENTONLY | CVar.ARCHIVE, "Toggles displaying a background under the speaking character's name."); - - /// - /// A message broadcast to each player that joins the lobby. - /// May be changed by admins ingame through use of the "set-motd" command. - /// In this case the new value, if not empty, is broadcast to all connected players and saved between rounds. - /// May be requested by any player through use of the "get-motd" command. - /// - public static readonly CVarDef MOTD = - CVarDef.Create("chat.motd", "", CVar.SERVER | CVar.SERVERONLY | CVar.ARCHIVE, "A message broadcast to each player that joins the lobby."); - - /* - * AFK - */ - - /// - /// How long a client can go without any input before being considered AFK. - /// - public static readonly CVarDef AfkTime = - CVarDef.Create("afk.time", 60f, CVar.SERVERONLY); - - /* - * IC - */ - - /// - /// Restricts IC character names to alphanumeric chars. - /// - public static readonly CVarDef RestrictedNames = - CVarDef.Create("ic.restricted_names", true, CVar.SERVER | CVar.REPLICATED); - - /// - /// Allows flavor text (character descriptions) - /// - public static readonly CVarDef FlavorText = - CVarDef.Create("ic.flavor_text", false, CVar.SERVER | CVar.REPLICATED); - - /// - /// Adds a period at the end of a sentence if the sentence ends in a letter. - /// - public static readonly CVarDef ChatPunctuation = - CVarDef.Create("ic.punctuation", false, CVar.SERVER); - - /// - /// Enables automatically forcing IC name rules. Uppercases the first letter of the first and last words of the name - /// - public static readonly CVarDef ICNameCase = - CVarDef.Create("ic.name_case", true, CVar.SERVER | CVar.REPLICATED); - - /// - /// Whether or not players' characters are randomly generated rather than using their selected characters in the creator. - /// - public static readonly CVarDef ICRandomCharacters = - CVarDef.Create("ic.random_characters", false, CVar.SERVER); - - /// - /// A weighted random prototype used to determine the species selected for random characters. - /// - public static readonly CVarDef ICRandomSpeciesWeights = - CVarDef.Create("ic.random_species_weights", "SpeciesWeights", CVar.SERVER); - - /// - /// Control displaying SSD indicators near players - /// - public static readonly CVarDef ICShowSSDIndicator = - CVarDef.Create("ic.show_ssd_indicator", true, CVar.CLIENTONLY); - - /* - * Salvage - */ - - /// - /// Duration for missions - /// - public static readonly CVarDef - SalvageExpeditionDuration = CVarDef.Create("salvage.expedition_duration", 660f, CVar.REPLICATED); - - /// - /// Cooldown for missions. - /// - public static readonly CVarDef - SalvageExpeditionCooldown = CVarDef.Create("salvage.expedition_cooldown", 780f, CVar.REPLICATED); - - /* - * Flavor - */ - - /// - /// Flavor limit. This is to ensure that having a large mass of flavors in - /// some food object won't spam a user with flavors. - /// - public static readonly CVarDef - FlavorLimit = CVarDef.Create("flavor.limit", 10, CVar.SERVERONLY); - - /* - * Mapping - */ - - /// - /// Will mapping mode enable autosaves when it's activated? - /// - public static readonly CVarDef - AutosaveEnabled = CVarDef.Create("mapping.autosave", true, CVar.SERVERONLY); - - /// - /// Autosave interval in seconds. - /// - public static readonly CVarDef - AutosaveInterval = CVarDef.Create("mapping.autosave_interval", 600f, CVar.SERVERONLY); - - /// - /// Directory in server user data to save to. Saves will be inside folders in this directory. - /// - public static readonly CVarDef - AutosaveDirectory = CVarDef.Create("mapping.autosave_dir", "Autosaves", CVar.SERVERONLY); - - - /* - * Rules - */ - - /// - /// Time that players have to wait before rules can be accepted. - /// - public static readonly CVarDef RulesWaitTime = - CVarDef.Create("rules.time", 45f, CVar.SERVER | CVar.REPLICATED); - - /// - /// Don't show rules to localhost/loopback interface. - /// - public static readonly CVarDef RulesExemptLocal = - CVarDef.Create("rules.exempt_local", true, CVar.SERVERONLY); - - - /* - * Autogeneration - */ - - public static readonly CVarDef DestinationFile = - CVarDef.Create("autogen.destination_file", "", CVar.SERVER | CVar.SERVERONLY); - - /* - * Network Resource Manager - */ - - /// - /// Whether uploaded files will be stored in the server's database. - /// This is useful to keep "logs" on what files admins have uploaded in the past. - /// - public static readonly CVarDef ResourceUploadingStoreEnabled = - CVarDef.Create("netres.store_enabled", true, CVar.SERVER | CVar.SERVERONLY); - - /// - /// Numbers of days before stored uploaded files are deleted. Set to zero or negative to disable auto-delete. - /// This is useful to free some space automatically. Auto-deletion runs only on server boot. - /// - public static readonly CVarDef ResourceUploadingStoreDeletionDays = - CVarDef.Create("netres.store_deletion_days", 30, CVar.SERVER | CVar.SERVERONLY); - - /* - * Controls - */ - - /// - /// Deadzone for drag-drop interactions. - /// - public static readonly CVarDef DragDropDeadZone = - CVarDef.Create("control.drag_dead_zone", 12f, CVar.CLIENTONLY | CVar.ARCHIVE); - - /// - /// Toggles whether the walking key is a toggle or a held key. - /// - public static readonly CVarDef ToggleWalk = - CVarDef.Create("control.toggle_walk", false, CVar.CLIENTONLY | CVar.ARCHIVE); - - /* - * Interactions - */ - - // The rationale behind the default limit is simply that I can easily get to 7 interactions per second by just - // trying to spam toggle a light switch or lever (though the UseDelay component limits the actual effect of the - // interaction). I don't want to accidentally spam admins with alerts just because somebody is spamming a - // key manually, nor do we want to alert them just because the player is having network issues and the server - // receives multiple interactions at once. But we also want to try catch people with modified clients that spam - // many interactions on the same tick. Hence, a very short period, with a relatively high count. - - /// - /// Maximum number of interactions that a player can perform within seconds - /// - public static readonly CVarDef InteractionRateLimitCount = - CVarDef.Create("interaction.rate_limit_count", 5, CVar.SERVER | CVar.REPLICATED); - - /// - public static readonly CVarDef InteractionRateLimitPeriod = - CVarDef.Create("interaction.rate_limit_period", 0.5f, CVar.SERVER | CVar.REPLICATED); - - /// - /// Minimum delay (in seconds) between notifying admins about interaction rate limit violations. A negative - /// value disables admin announcements. - /// - public static readonly CVarDef InteractionRateLimitAnnounceAdminsDelay = - CVarDef.Create("interaction.rate_limit_announce_admins_delay", 120, CVar.SERVERONLY); - - /* - * STORAGE - */ - - /// - /// Whether or not the storage UI is static and bound to the hotbar, or unbound and allowed to be dragged anywhere. - /// - public static readonly CVarDef StaticStorageUI = - CVarDef.Create("control.static_storage_ui", true, CVar.CLIENTONLY | CVar.ARCHIVE); - - /// - /// Whether or not the storage window uses a transparent or opaque sprite. - /// - public static readonly CVarDef OpaqueStorageWindow = - CVarDef.Create("control.opaque_storage_background", false, CVar.CLIENTONLY | CVar.ARCHIVE); - - /* - * UPDATE - */ - - /// - /// If a server update restart is pending, the delay after the last player leaves before we actually restart. In seconds. - /// - public static readonly CVarDef UpdateRestartDelay = - CVarDef.Create("update.restart_delay", 20f, CVar.SERVERONLY); - - /* - * Ghost - */ - - /// - /// The time you must spend reading the rules, before the "Request" button is enabled - /// - public static readonly CVarDef GhostRoleTime = - CVarDef.Create("ghost.role_time", 3f, CVar.REPLICATED | CVar.SERVER); - - /// - /// If ghost role lotteries should be made near-instanteous. - /// - public static readonly CVarDef GhostQuickLottery = - CVarDef.Create("ghost.quick_lottery", false, CVar.SERVERONLY); - - /// - /// Whether or not to kill the player's mob on ghosting, when it is in a critical health state. - /// - public static readonly CVarDef GhostKillCrit = - CVarDef.Create("ghost.kill_crit", true, CVar.REPLICATED | CVar.SERVER); - - /* - * Fire alarm - */ - - /// - /// If fire alarms should have all access, or if activating/resetting these - /// should be restricted to what is dictated on a player's access card. - /// Defaults to true. - /// - public static readonly CVarDef FireAlarmAllAccess = - CVarDef.Create("firealarm.allaccess", true, CVar.SERVERONLY); - - /* - * PLAYTIME - */ - - /// - /// Time between play time autosaves, in seconds. - /// - public static readonly CVarDef - PlayTimeSaveInterval = CVarDef.Create("playtime.save_interval", 900f, CVar.SERVERONLY); - - /* - * INFOLINKS - */ - - /// - /// Link to Discord server to show in the launcher. - /// - public static readonly CVarDef InfoLinksDiscord = - CVarDef.Create("infolinks.discord", "", CVar.SERVER | CVar.REPLICATED); - - /// - /// Link to website to show in the launcher. - /// - public static readonly CVarDef InfoLinksForum = - CVarDef.Create("infolinks.forum", "", CVar.SERVER | CVar.REPLICATED); - - /// - /// Link to GitHub page to show in the launcher. - /// - public static readonly CVarDef InfoLinksGithub = - CVarDef.Create("infolinks.github", "", CVar.SERVER | CVar.REPLICATED); - - /// - /// Link to website to show in the launcher. - /// - public static readonly CVarDef InfoLinksWebsite = - CVarDef.Create("infolinks.website", "", CVar.SERVER | CVar.REPLICATED); - - /// - /// Link to wiki to show in the launcher. - /// - public static readonly CVarDef InfoLinksWiki = - CVarDef.Create("infolinks.wiki", "", CVar.SERVER | CVar.REPLICATED); - - /// - /// Link to Patreon. Not shown in the launcher currently. - /// - public static readonly CVarDef InfoLinksPatreon = - CVarDef.Create("infolinks.patreon", "", CVar.SERVER | CVar.REPLICATED); - - /// - /// Link to the bug report form. - /// - public static readonly CVarDef InfoLinksBugReport = - CVarDef.Create("infolinks.bug_report", "", CVar.SERVER | CVar.REPLICATED); - - /// - /// Link to site handling ban appeals. Shown in ban disconnect messages. - /// - public static readonly CVarDef InfoLinksAppeal = - CVarDef.Create("infolinks.appeal", "", CVar.SERVER | CVar.REPLICATED); - - /* - * CONFIG - */ - - // These are server-only for now since I don't foresee a client use yet, - // and I don't wanna have to start coming up with like .client suffixes and stuff like that. - - /// - /// Configuration presets to load during startup. - /// Multiple presets can be separated by comma and are loaded in order. - /// - /// - /// Loaded presets must be located under the ConfigPresets/ resource directory and end with the .toml extension. - /// Only the file name (without extension) must be given for this variable. - /// - public static readonly CVarDef ConfigPresets = - CVarDef.Create("config.presets", "", CVar.SERVERONLY); - - /// - /// Whether to load the preset development CVars. - /// This disables some things like lobby to make development easier. - /// Even when true, these are only loaded if the game is compiled with DEVELOPMENT set. - /// - public static readonly CVarDef ConfigPresetDevelopment = - CVarDef.Create("config.preset_development", true, CVar.SERVERONLY); - - /// - /// Whether to load the preset debug CVars. - /// Even when true, these are only loaded if the game is compiled with DEBUG set. - /// - public static readonly CVarDef ConfigPresetDebug = - CVarDef.Create("config.preset_debug", true, CVar.SERVERONLY); - - /* - * World Generation - */ - /// - /// Whether or not world generation is enabled. - /// - public static readonly CVarDef WorldgenEnabled = - CVarDef.Create("worldgen.enabled", false, CVar.SERVERONLY); - - /// - /// The worldgen config to use. - /// - public static readonly CVarDef WorldgenConfig = - CVarDef.Create("worldgen.worldgen_config", "Default", CVar.SERVERONLY); - - /// - /// The maximum amount of time the entity GC can process, in ms. - /// - public static readonly CVarDef GCMaximumTimeMs = - CVarDef.Create("entgc.maximum_time_ms", 5, CVar.SERVERONLY); - - /* - * Replays - */ - - /// - /// Whether or not to record admin chat. If replays are being publicly distributes, this should probably be - /// false. - /// - public static readonly CVarDef ReplayRecordAdminChat = - CVarDef.Create("replay.record_admin_chat", false, CVar.ARCHIVE); - - /// - /// Automatically record full rounds as replays. - /// - public static readonly CVarDef ReplayAutoRecord = - CVarDef.Create("replay.auto_record", false, CVar.SERVERONLY); - - /// - /// The file name to record automatic replays to. The path is relative to . - /// - /// - /// - /// If the path includes slashes, directories will be automatically created if necessary. - /// - /// - /// A number of substitutions can be used to automatically fill in the file name: {year}, {month}, {day}, {hour}, {minute}, {round}. - /// - /// - public static readonly CVarDef ReplayAutoRecordName = - CVarDef.Create("replay.auto_record_name", "{year}_{month}_{day}-{hour}_{minute}-round_{round}.zip", CVar.SERVERONLY); - - /// - /// Path that, if provided, automatic replays are initially recorded in. - /// When the recording is done, the file is moved into its final destination. - /// Unless this path is rooted, it will be relative to . - /// - public static readonly CVarDef ReplayAutoRecordTempDir = - CVarDef.Create("replay.auto_record_temp_dir", "", CVar.SERVERONLY); - - /* - * Miscellaneous - */ - - public static readonly CVarDef GatewayGeneratorEnabled = - CVarDef.Create("gateway.generator_enabled", true); - - // Clippy! - public static readonly CVarDef TippyEntity = - CVarDef.Create("tippy.entity", "Tippy", CVar.SERVER | CVar.REPLICATED); - - /// - /// The number of seconds that must pass for a single entity to be able to point at something again. - /// - public static readonly CVarDef PointingCooldownSeconds = - CVarDef.Create("pointing.cooldown_seconds", 0.5f, CVar.SERVERONLY); - - /* - * DEBUG - */ - - /// - /// A simple toggle to test OptionsVisualizerComponent. - /// - public static readonly CVarDef DebugOptionVisualizerTest = - CVarDef.Create("debug.option_visualizer_test", false, CVar.CLIENTONLY); - - /// - /// Set to true to disable parallel processing in the pow3r solver. - /// - public static readonly CVarDef DebugPow3rDisableParallel = - CVarDef.Create("debug.pow3r_disable_parallel", true, CVar.SERVERONLY); - } +/// +/// Contains all the CVars used by content. +/// +/// +/// NOTICE FOR FORKS: Put your own CVars in a separate file with a different [CVarDefs] attribute. RT will automatically pick up on it. +/// +[CVarDefs] +public sealed partial class CCVars : CVars +{ + // Only debug stuff lives here. + + /// + /// A simple toggle to test OptionsVisualizerComponent. + /// + public static readonly CVarDef DebugOptionVisualizerTest = + CVarDef.Create("debug.option_visualizer_test", false, CVar.CLIENTONLY); + + /// + /// Set to true to disable parallel processing in the pow3r solver. + /// + public static readonly CVarDef DebugPow3rDisableParallel = + CVarDef.Create("debug.pow3r_disable_parallel", true, CVar.SERVERONLY); } From a1966d867183f2962d17ef5415dc89b3cde54253 Mon Sep 17 00:00:00 2001 From: Ed <96445749+TheShuEd@users.noreply.github.com> Date: Tue, 12 Nov 2024 08:19:54 +0300 Subject: [PATCH 209/588] improve BiomeDunGen (#33113) * improve BiomeDunGen * forgot lol * Update DungeonJob.PostGenBiome.cs * Update DungeonJob.PostGenBiome.cs --- .../DungeonJob/DungeonJob.PostGenBiome.cs | 25 ++++++++++++------- .../Parallax/Biomes/SharedBiomeSystem.cs | 2 +- .../Procedural/PostGeneration/BiomeDunGen.cs | 7 ++++++ 3 files changed, 24 insertions(+), 10 deletions(-) diff --git a/Content.Server/Procedural/DungeonJob/DungeonJob.PostGenBiome.cs b/Content.Server/Procedural/DungeonJob/DungeonJob.PostGenBiome.cs index 65f6d2d14f..fdadcb7849 100644 --- a/Content.Server/Procedural/DungeonJob/DungeonJob.PostGenBiome.cs +++ b/Content.Server/Procedural/DungeonJob/DungeonJob.PostGenBiome.cs @@ -1,5 +1,6 @@ using System.Threading.Tasks; using Content.Server.Parallax; +using Content.Shared.Maps; using Content.Shared.Parallax.Biomes; using Content.Shared.Procedural; using Content.Shared.Procedural.PostGeneration; @@ -15,27 +16,35 @@ public sealed partial class DungeonJob /// private async Task PostGen(BiomeDunGen dunGen, DungeonData data, Dungeon dungeon, HashSet reservedTiles, Random random) { - if (_entManager.TryGetComponent(_gridUid, out BiomeComponent? biomeComp)) + if (!_prototype.TryIndex(dunGen.BiomeTemplate, out var indexedBiome)) return; - biomeComp = _entManager.AddComponent(_gridUid); var biomeSystem = _entManager.System(); - biomeSystem.SetTemplate(_gridUid, biomeComp, _prototype.Index(dunGen.BiomeTemplate)); + var seed = random.Next(); var xformQuery = _entManager.GetEntityQuery(); - foreach (var node in dungeon.RoomTiles) + var tiles = _maps.GetAllTilesEnumerator(_gridUid, _grid); + while (tiles.MoveNext(out var tileRef)) { + var node = tileRef.Value.GridIndices; + if (reservedTiles.Contains(node)) continue; + + if (dunGen.TileMask is not null) + { + if (!dunGen.TileMask.Contains(((ContentTileDefinition) _tileDefManager[tileRef.Value.Tile.TypeId]).ID)) + continue; + } // Need to set per-tile to override data. - if (biomeSystem.TryGetTile(node, biomeComp.Layers, seed, _grid, out var tile)) + if (biomeSystem.TryGetTile(node, indexedBiome.Layers, seed, _grid, out var tile)) { _maps.SetTile(_gridUid, _grid, node, tile.Value); } - if (biomeSystem.TryGetDecals(node, biomeComp.Layers, seed, _grid, out var decals)) + if (biomeSystem.TryGetDecals(node, indexedBiome.Layers, seed, _grid, out var decals)) { foreach (var decal in decals) { @@ -43,7 +52,7 @@ private async Task PostGen(BiomeDunGen dunGen, DungeonData data, Dungeon dungeon } } - if (biomeSystem.TryGetEntity(node, biomeComp, _grid, out var entityProto)) + if (tile is not null && biomeSystem.TryGetEntity(node, indexedBiome.Layers, tile.Value, seed, _grid, out var entityProto)) { var ent = _entManager.SpawnEntity(entityProto, new EntityCoordinates(_gridUid, node + _grid.TileSizeHalfVector)); var xform = xformQuery.Get(ent); @@ -61,7 +70,5 @@ private async Task PostGen(BiomeDunGen dunGen, DungeonData data, Dungeon dungeon if (!ValidateResume()) return; } - - biomeComp.Enabled = false; } } diff --git a/Content.Shared/Parallax/Biomes/SharedBiomeSystem.cs b/Content.Shared/Parallax/Biomes/SharedBiomeSystem.cs index b14baba981..250b0f70a5 100644 --- a/Content.Shared/Parallax/Biomes/SharedBiomeSystem.cs +++ b/Content.Shared/Parallax/Biomes/SharedBiomeSystem.cs @@ -183,7 +183,7 @@ public bool TryGetEntity(Vector2i indices, BiomeComponent component, MapGridComp } - private bool TryGetEntity(Vector2i indices, List layers, Tile tileRef, int seed, MapGridComponent grid, + public bool TryGetEntity(Vector2i indices, List layers, Tile tileRef, int seed, MapGridComponent grid, [NotNullWhen(true)] out string? entity) { var tileId = TileDefManager[tileRef.TypeId].ID; diff --git a/Content.Shared/Procedural/PostGeneration/BiomeDunGen.cs b/Content.Shared/Procedural/PostGeneration/BiomeDunGen.cs index 833cf2dec7..e21e582211 100644 --- a/Content.Shared/Procedural/PostGeneration/BiomeDunGen.cs +++ b/Content.Shared/Procedural/PostGeneration/BiomeDunGen.cs @@ -1,3 +1,4 @@ +using Content.Shared.Maps; using Content.Shared.Parallax.Biomes; using Robust.Shared.Prototypes; @@ -11,4 +12,10 @@ public sealed partial class BiomeDunGen : IDunGenLayer { [DataField(required: true)] public ProtoId BiomeTemplate; + + /// + /// creates a biome only on the specified tiles + /// + [DataField] + public HashSet>? TileMask; } From 70e3650246bcf0f32f5d5a78b8238dc6c486a2e5 Mon Sep 17 00:00:00 2001 From: Preston Smith <92108534+thetolbean@users.noreply.github.com> Date: Tue, 12 Nov 2024 06:06:43 -0600 Subject: [PATCH 210/588] Make Droppers Respect Closed/Sealed Containers (#33011) * Make droppers respect closed/sealed * Combine nested * Optimize conditions a bit --- Content.Server/Chemistry/EntitySystems/InjectorSystem.cs | 9 ++++++--- Content.Shared/Chemistry/Components/InjectorComponent.cs | 9 +++++++++ .../Prototypes/Entities/Objects/Specific/chemistry.yml | 1 + 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs b/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs index c5c45daa5b..eb2039604a 100644 --- a/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs +++ b/Content.Server/Chemistry/EntitySystems/InjectorSystem.cs @@ -13,6 +13,7 @@ using Content.Shared.Interaction; using Content.Shared.Mobs.Components; using Content.Shared.Stacks; +using Content.Shared.Nutrition.EntitySystems; namespace Content.Server.Chemistry.EntitySystems; @@ -20,6 +21,7 @@ public sealed class InjectorSystem : SharedInjectorSystem { [Dependency] private readonly BloodstreamSystem _blood = default!; [Dependency] private readonly ReactiveSystem _reactiveSystem = default!; + [Dependency] private readonly OpenableSystem _openable = default!; public override void Initialize() { @@ -31,13 +33,14 @@ public override void Initialize() private bool TryUseInjector(Entity injector, EntityUid target, EntityUid user) { + var isOpenOrIgnored = injector.Comp.IgnoreClosed || !_openable.IsClosed(target); // Handle injecting/drawing for solutions if (injector.Comp.ToggleState == InjectorToggleMode.Inject) { - if (SolutionContainers.TryGetInjectableSolution(target, out var injectableSolution, out _)) + if (isOpenOrIgnored && SolutionContainers.TryGetInjectableSolution(target, out var injectableSolution, out _)) return TryInject(injector, target, injectableSolution.Value, user, false); - if (SolutionContainers.TryGetRefillableSolution(target, out var refillableSolution, out _)) + if (isOpenOrIgnored && SolutionContainers.TryGetRefillableSolution(target, out var refillableSolution, out _)) return TryInject(injector, target, refillableSolution.Value, user, true); if (TryComp(target, out var bloodstream)) @@ -58,7 +61,7 @@ private bool TryUseInjector(Entity injector, EntityUid target } // Draw from an object (food, beaker, etc) - if (SolutionContainers.TryGetDrawableSolution(target, out var drawableSolution, out _)) + if (isOpenOrIgnored && SolutionContainers.TryGetDrawableSolution(target, out var drawableSolution, out _)) return TryDraw(injector, target, drawableSolution.Value, user); Popup.PopupEntity(Loc.GetString("injector-component-cannot-draw-message", diff --git a/Content.Shared/Chemistry/Components/InjectorComponent.cs b/Content.Shared/Chemistry/Components/InjectorComponent.cs index 17a65ef1c1..ebd6654d9f 100644 --- a/Content.Shared/Chemistry/Components/InjectorComponent.cs +++ b/Content.Shared/Chemistry/Components/InjectorComponent.cs @@ -45,6 +45,15 @@ public sealed partial class InjectorComponent : Component [DataField] public bool IgnoreMobs; + /// + /// Whether or not the injector is able to draw from or inject into containers that are closed/sealed + /// + /// + /// for example: droppers can not inject into cans, but syringes can + /// + [DataField] + public bool IgnoreClosed = true; + /// /// The minimum amount of solution that can be transferred at once from this solution. /// diff --git a/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml b/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml index 527b0ba5e6..edaa828814 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/chemistry.yml @@ -283,6 +283,7 @@ - type: Injector injectOnly: false ignoreMobs: true + ignoreClosed: false minTransferAmount: 1 maxTransferAmount: 5 transferAmount: 1 From 8776c71e5972cc6daec3271b5e6528e48d796770 Mon Sep 17 00:00:00 2001 From: PJBot Date: Tue, 12 Nov 2024 12:07:50 +0000 Subject: [PATCH 211/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 43c7cad22c..4ab88b325b 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: Cojoke-dot - changes: - - message: Borg's names are now displayed when they make an announcement on the - Communications Console. - type: Tweak - id: 7104 - time: '2024-08-13T18:31:33.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30107 - author: Spessmann changes: - message: Added Cog, a new midpop map based on Cogmap from ss13 @@ -3949,3 +3941,10 @@ id: 7603 time: '2024-11-11T22:58:31.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/32493 +- author: thetolbean + changes: + - message: Droppers can no longer inject or draw from closed containers. + type: Fix + id: 7604 + time: '2024-11-12T12:06:43.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33011 From 8b154899b515e0d7552d283c3086c417ae00ab7c Mon Sep 17 00:00:00 2001 From: MilenVolf <63782763+MilenVolf@users.noreply.github.com> Date: Tue, 12 Nov 2024 22:11:02 +0300 Subject: [PATCH 212/588] Allow editing angle of the fired projectile (#33254) Add Angle datafield to `ProjectileComponent`. It allows to change the angle of the fired projectile --- Content.Shared/Projectiles/ProjectileComponent.cs | 6 ++++++ Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Content.Shared/Projectiles/ProjectileComponent.cs b/Content.Shared/Projectiles/ProjectileComponent.cs index c24cf2b5ee..8349252df2 100644 --- a/Content.Shared/Projectiles/ProjectileComponent.cs +++ b/Content.Shared/Projectiles/ProjectileComponent.cs @@ -8,6 +8,12 @@ namespace Content.Shared.Projectiles; [RegisterComponent, NetworkedComponent, AutoGenerateComponentState] public sealed partial class ProjectileComponent : Component { + /// + /// The angle of the fired projectile. + /// + [DataField, AutoNetworkedField] + public Angle Angle; + /// /// The effect that appears when a projectile collides with an entity. /// diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs index 9bd786bbe0..c7cc09e618 100644 --- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs +++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.cs @@ -429,7 +429,7 @@ public void ShootProjectile(EntityUid uid, Vector2 direction, Vector2 gunVelocit Projectiles.SetShooter(uid, projectile, user ?? gunUid); projectile.Weapon = gunUid; - TransformSystem.SetWorldRotation(uid, direction.ToWorldAngle()); + TransformSystem.SetWorldRotation(uid, direction.ToWorldAngle() + projectile.Angle); } protected abstract void Popup(string message, EntityUid? uid, EntityUid? user); From ef51700094aa22cd1ce7f243d934dc3c45d4ff7f Mon Sep 17 00:00:00 2001 From: Repo <47093363+Titian3@users.noreply.github.com> Date: Wed, 13 Nov 2024 10:03:13 +1300 Subject: [PATCH 213/588] Fix unban/editing role bans placed in groups. (#30659) * On editing a roleban, get all the bans with the same time. * forgoten newline * Update to check for player ID too. --- Content.Server/Database/ServerDbBase.cs | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/Content.Server/Database/ServerDbBase.cs b/Content.Server/Database/ServerDbBase.cs index c85b774e38..3806241e34 100644 --- a/Content.Server/Database/ServerDbBase.cs +++ b/Content.Server/Database/ServerDbBase.cs @@ -512,16 +512,23 @@ public abstract Task> GetServerRoleBansAsync(IPAddress? a public async Task EditServerRoleBan(int id, string reason, NoteSeverity severity, DateTimeOffset? expiration, Guid editedBy, DateTimeOffset editedAt) { await using var db = await GetDb(); + var roleBanDetails = await db.DbContext.RoleBan + .Where(b => b.Id == id) + .Select(b => new { b.BanTime, b.PlayerUserId }) + .SingleOrDefaultAsync(); - var ban = await db.DbContext.RoleBan.SingleOrDefaultAsync(b => b.Id == id); - if (ban is null) + if (roleBanDetails == default) return; - ban.Severity = severity; - ban.Reason = reason; - ban.ExpirationTime = expiration?.UtcDateTime; - ban.LastEditedById = editedBy; - ban.LastEditedAt = editedAt.UtcDateTime; - await db.DbContext.SaveChangesAsync(); + + await db.DbContext.RoleBan + .Where(b => b.BanTime == roleBanDetails.BanTime && b.PlayerUserId == roleBanDetails.PlayerUserId) + .ExecuteUpdateAsync(setters => setters + .SetProperty(b => b.Severity, severity) + .SetProperty(b => b.Reason, reason) + .SetProperty(b => b.ExpirationTime, expiration.HasValue ? expiration.Value.UtcDateTime : (DateTime?)null) + .SetProperty(b => b.LastEditedById, editedBy) + .SetProperty(b => b.LastEditedAt, editedAt.UtcDateTime) + ); } #endregion From cc3712be0c3e0da2921cfc6c98897780e975db63 Mon Sep 17 00:00:00 2001 From: PJBot Date: Tue, 12 Nov 2024 21:04:21 +0000 Subject: [PATCH 214/588] Automatic changelog update --- Resources/Changelog/Admin.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Resources/Changelog/Admin.yml b/Resources/Changelog/Admin.yml index 56c82c23a4..680915d382 100644 --- a/Resources/Changelog/Admin.yml +++ b/Resources/Changelog/Admin.yml @@ -590,5 +590,12 @@ Entries: id: 73 time: '2024-11-02T13:21:10.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/32461 +- author: Repo + changes: + - message: All role bans in a set are updated on edits now. + type: Fix + id: 74 + time: '2024-11-12T21:03:13.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/30659 Name: Admin Order: 1 From af3593a3b7c2a36b0e0c4a19cc846e96f139fb58 Mon Sep 17 00:00:00 2001 From: SpaceRox1244 <138547931+SpaceRox1244@users.noreply.github.com> Date: Tue, 12 Nov 2024 18:45:59 -0500 Subject: [PATCH 215/588] Adds new sprites for shotgun shell boxes (#33176) * Adds new sprites for shotgun shell boxes * Adds second set of mag visuals for slug and uranium casings * Fixes yaml that I messed up * Changes credit to new username before merging happens --- .../Weapons/Guns/Ammunition/Boxes/shotgun.yml | 95 ++++++++++++------ .../Ammunition/Boxes/shotgun.rsi/base.png | Bin 0 -> 356 bytes .../Ammunition/Boxes/shotgun.rsi/beanbag.png | Bin 0 -> 268 bytes .../Ammunition/Boxes/shotgun.rsi/flare.png | Bin 0 -> 229 bytes .../Boxes/shotgun.rsi/incendiary.png | Bin 0 -> 233 bytes .../Ammunition/Boxes/shotgun.rsi/lethal.png | Bin 0 -> 263 bytes .../Ammunition/Boxes/shotgun.rsi/mag-1.png | Bin 0 -> 107 bytes .../Ammunition/Boxes/shotgun.rsi/mag-2.png | Bin 0 -> 134 bytes .../Ammunition/Boxes/shotgun.rsi/mag-3.png | Bin 0 -> 142 bytes .../Ammunition/Boxes/shotgun.rsi/mag-4.png | Bin 0 -> 155 bytes .../Boxes/shotgun.rsi/mag-alt-1.png | Bin 0 -> 106 bytes .../Boxes/shotgun.rsi/mag-alt-2.png | Bin 0 -> 127 bytes .../Boxes/shotgun.rsi/mag-alt-3.png | Bin 0 -> 135 bytes .../Boxes/shotgun.rsi/mag-alt-4.png | Bin 0 -> 151 bytes .../Ammunition/Boxes/shotgun.rsi/meta.json | 62 ++++++++++++ .../Ammunition/Boxes/shotgun.rsi/practice.png | Bin 0 -> 221 bytes .../Ammunition/Boxes/shotgun.rsi/slug.png | Bin 0 -> 257 bytes .../Boxes/shotgun.rsi/tranquilizer.png | Bin 0 -> 292 bytes .../Ammunition/Boxes/shotgun.rsi/uranium.png | Bin 0 -> 249 bytes 19 files changed, 125 insertions(+), 32 deletions(-) create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/base.png create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/beanbag.png create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/flare.png create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/incendiary.png create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/lethal.png create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-1.png create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-2.png create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-3.png create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-4.png create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-alt-1.png create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-alt-2.png create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-alt-3.png create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-alt-4.png create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/meta.json create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/practice.png create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/slug.png create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/tranquilizer.png create mode 100644 Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/uranium.png diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.yml index 063937aee9..e5c2987ec3 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.yml @@ -16,114 +16,145 @@ id: AmmoProviderShotgunShell abstract: true components: + - type: Sprite + sprite: Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi - type: BallisticAmmoProvider mayTransfer: true whitelist: tags: - ShellShotgun capacity: 16 + - type: MagazineVisuals + magState: mag + steps: 5 + zeroVisible: false + - type: Appearance # Shotgun Shells - type: entity - name: shotgun beanbag cartridges dispenser parent: AmmoProviderShotgunShell id: BoxBeanbag - description: A dispenser box full of beanbag shots, designed for riot shotguns. + name: shell box (beanbag) components: - type: BallisticAmmoProvider proto: ShellShotgunBeanbag - type: Sprite layers: - - state: boxwide - - state: shellbeanbag + - state: base + map: ["enum.GunVisualLayers.Base"] + - state: mag-1 + map: ["enum.GunVisualLayers.Mag"] + - state: beanbag - type: entity - name: shotgun lethal cartridges dispenser + name: shell box (lethal) parent: AmmoProviderShotgunShell id: BoxLethalshot - description: A dispenser box full of lethal pellet shots, designed for riot shotguns. components: - type: BallisticAmmoProvider proto: ShellShotgun - type: Sprite layers: - - state: boxwide - - state: shelllethal + - state: base + map: ["enum.GunVisualLayers.Base"] + - state: mag-1 + map: ["enum.GunVisualLayers.Mag"] + - state: lethal - type: entity - name: shotgun slug cartridges dispenser + name: shell box (slug) parent: AmmoProviderShotgunShell id: BoxShotgunSlug - description: A dispenser box full of slugs, designed for riot shotguns. components: - type: BallisticAmmoProvider proto: ShellShotgunSlug + - type: MagazineVisuals + magState: mag-alt + steps: 5 + zeroVisible: false - type: Sprite layers: - - state: boxwide - - state: shellslug + - state: base + map: ["enum.GunVisualLayers.Base"] + - state: mag-alt-1 + map: ["enum.GunVisualLayers.Mag"] + - state: slug - type: entity - name: shotgun flare cartridges dispenser + name: shell box (flare) parent: AmmoProviderShotgunShell id: BoxShotgunFlare - description: A dispenser box full of flare cartridges, designed for riot shotguns. components: - type: BallisticAmmoProvider proto: ShellShotgunFlare - type: Sprite layers: - - state: boxwide - - state: shellflare + - state: base + map: ["enum.GunVisualLayers.Base"] + - state: mag-1 + map: ["enum.GunVisualLayers.Mag"] + - state: flare - type: entity - name: shotgun incendiary cartridges dispenser + name: shell box (incendiary) parent: AmmoProviderShotgunShell id: BoxShotgunIncendiary - description: A dispenser box full of incendiary cartridges, designed for riot shotguns. components: - type: BallisticAmmoProvider proto: ShellShotgunIncendiary - type: Sprite layers: - - state: boxwide - - state: shellincendiary + - state: base + map: ["enum.GunVisualLayers.Base"] + - state: mag-1 + map: ["enum.GunVisualLayers.Mag"] + - state: incendiary - type: entity - name: shotgun uranium cartridges dispenser + name: shell box (uranium) parent: AmmoProviderShotgunShell id: BoxShotgunUranium - description: A dispenser box full of uranium cartridges, designed for riot shotguns. components: - type: BallisticAmmoProvider proto: ShellShotgunUranium + - type: MagazineVisuals + magState: mag-alt + steps: 5 + zeroVisible: false - type: Sprite layers: - - state: boxwide - - state: shelluranium + - state: base + map: ["enum.GunVisualLayers.Base"] + - state: mag-alt-1 + map: ["enum.GunVisualLayers.Mag"] + - state: uranium - type: entity - name: shotgun practice cartridges dispenser + name: shell box (practice) parent: AmmoProviderShotgunShell id: BoxShotgunPractice - description: A dispenser box full of practice cartridges, designed for riot shotguns. components: - type: BallisticAmmoProvider proto: ShellShotgunPractice - type: Sprite layers: - - state: boxwide - - state: shellpractice + - state: base + map: ["enum.GunVisualLayers.Base"] + - state: mag-1 + map: ["enum.GunVisualLayers.Mag"] + - state: practice - type: entity - name: tranquilizer cartridges dispenser + name: shell box (tranquilizer) parent: AmmoProviderShotgunShell id: BoxShellTranquilizer - description: A dispenser box full of tranquilizer cartridges, designed for riot shotguns. components: - type: BallisticAmmoProvider proto: ShellTranquilizer - type: Sprite layers: - - state: boxwide - - state: shelltranquilizer + - state: base + map: ["enum.GunVisualLayers.Base"] + - state: mag-1 + map: ["enum.GunVisualLayers.Mag"] + - state: tranquilizer diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/base.png b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/base.png new file mode 100644 index 0000000000000000000000000000000000000000..f460615079dcbc3bc4f0244f62ee6d194767a522 GIT binary patch literal 356 zcmV-q0h|7bP)hx<)!^4}S=qr;oC$=T7E*eH6r?v$|0={nqU@&~G zWz|}{fhhEq1nVMsSP_UqUv)bz&d)sKwUt`%^cX1MAXuK4tN8B(^k4}~6PYbGxqD>} zM;g-SWbkaUq1$PtzJE-92}Lh^*k;OTtF%jo^+{zgOC^y)Od`q8?g;b1re z>v#*m&GjV!&!bNO?(f<_@xd!Cpo=^Nx2)rBsbHbfcc5yxk-&7ms}z();THT1m4e@% z>%5JZ$y&Pt+QtVWWrD5H4|=K}^o;)h4u`|>@7M#Kfp=<`U7Q{O0000}H>5)pw;==K7x8V+~bjYGKg9f2R2p+y&jDE6VgRn&_y0wAB0m6NxliC=S9@r!`VoAb<|1Kiva}4|oD-LF z?gCXJm%+1EaDnv^K-uc?to)Xx<@j;W2bS%37N`=*(t5#-pfslO_bv#6&^9l%CPK^P)v*1c-(z8(jS<5Z9eZF44L1lhRrKFOqG*ah#5% z2#N@;Js=`X5%wY}!d~Q`z+o>D7cjwe03Y|x;WfXh39p&~GEh}ln{V0sO+%=vB*PNa za&VfqfDFx-&U_7v1NpNyjt^qe&6+mp|tO@wD2bZya0gHIOC*Y2?pwdyO1K- fecv6&arWi|ytPQ)duV{k00000NkvXXu0mjfSx8_g literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/incendiary.png b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/incendiary.png new file mode 100644 index 0000000000000000000000000000000000000000..7841707b120f3e1f4577f6c4320b31e2cac551b4 GIT binary patch literal 233 zcmV4nT^wv_^1KwK30C|xZATRPuU@@173Wy*&fag=?@RZ-AgeT1aY1lb8`FKw6vxcy9 zj->epl`Nd17LcZR(}~w`_3y>)9!(5AZ?7fRZ997BaetqOBbw?09|_ujP)GfE;=68&th|NUdT zGHuJ$w6IPqu7@=MWztMI=j`cVEeWvLo!komERzeshe$!t2G?oT6o%$KtpvJ6{LAwl z+yl?1SYP#qd%IT!~_O8cNpWzqlu N002ovPDHLkV1hD0ZubBH literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-1.png b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-1.png new file mode 100644 index 0000000000000000000000000000000000000000..d77e6507b00fc0910aba7e959d2561f9e0b122e9 GIT binary patch literal 107 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzBTpB{kcif|=L~rn6a-id%6t;v ziHj^`S8it)6S}08kwaP0uAd0TO=D~gJvs9|53PjNBTiZBohMzr{0#T4{i(q!PC{xWt~$(69DIjFhu|W literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-4.png b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-4.png new file mode 100644 index 0000000000000000000000000000000000000000..9a3c99707fe47b7133a9a2c0937a993983074206 GIT binary patch literal 155 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJBu^K|kcif|7Z>t27>KxD3_ly> zF)cxeWz{lfL6vz4k_)UC$Tv+$$YfRAncna_{*x*L!@n~dHzq%x<)&e)Yi zOU%kYt$01~*8O!%3}Tb+sC++u?WT)y@ZGy^xL(e jS6z<0vSeWR(aX)dQ?BLIq?BnulNmf+{an^LB{Ts519mUd literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-alt-4.png b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/mag-alt-4.png new file mode 100644 index 0000000000000000000000000000000000000000..60be778fdfd459489e53186dddd46287574d4860 GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJI8PVHkcif|7Y%t281T4Uynl&9 zZZoIMXM=_h9U=_JCg$Cp?Xgzt?(ICwXe$9h!Jo$E^WWK(TlHN%%#h~xe(o8T1=oJ< zcpp=F;Ecx73sK6(@Bi#FJl4~(mea+>#lZ&O)=-MRXEfi^LCy85}Sb4q9e0Ns>1 Ah5!Hn literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/meta.json b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/meta.json new file mode 100644 index 0000000000..3df588a845 --- /dev/null +++ b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/meta.json @@ -0,0 +1,62 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Sprites by SpaceRox1244", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "base" + }, + { + "name": "mag-1" + }, + { + "name": "mag-2" + }, + { + "name": "mag-3" + }, + { + "name": "mag-4" + }, + { + "name": "mag-alt-1" + }, + { + "name": "mag-alt-2" + }, + { + "name": "mag-alt-3" + }, + { + "name": "mag-alt-4" + }, + { + "name": "lethal" + }, + { + "name": "beanbag" + }, + { + "name": "slug" + }, + { + "name": "incendiary" + }, + { + "name": "practice" + }, + { + "name": "uranium" + }, + { + "name": "flare" + }, + { + "name": "tranquilizer" + } + ] +} diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/practice.png b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/practice.png new file mode 100644 index 0000000000000000000000000000000000000000..4ece8a0c1e58a1bca6482dca0ecd2fc9a52a1863 GIT binary patch literal 221 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJC7v#hArY-_CvW6sR^)N@oua3_ zq$6gdTUdh4vJYnJwX1k0{#)+k)m$V{67w)T`XB!j{YMt(To?>i7i~Sh(}iJ;=ug!G zORpoW(>8ozIGdAKaX!21(C)kky8M%J^yFXu-J1R*`pL2BEdoxwayN~20u)aMowC=y zcD>*`{}Bo2u&0|vcABSc%M})!I3;L?;&qkPLJXcl3}<^TXK!zps;k)W*y5azo#3i? VpBJTKr-ANe@O1TaS?83{1OOy{RxJPk literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/slug.png b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/slug.png new file mode 100644 index 0000000000000000000000000000000000000000..b55085e398ea1f2ecb6f5477a62a21d1728a009b GIT binary patch literal 257 zcmV+c0sj7pP)~|XgfOGES>`4NFvZ`?!hFfvq zCjvnN0PaP+_s_*qxr-P9=UfPW5Sdb(gzH4|f4hPp2;Xo9cZ^oa(r~ID00000NkvXX Hu0mjfHM(oI literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/tranquilizer.png b/Resources/Textures/Objects/Weapons/Guns/Ammunition/Boxes/shotgun.rsi/tranquilizer.png new file mode 100644 index 0000000000000000000000000000000000000000..373d6a2a0c91a69c140798bcf956464736eb65bd GIT binary patch literal 292 zcmV+<0o(qGP)3F6RKzUc&7bmQfCZG!zg>vnzuPY5Y3> zXudc8flMZokV-_?b*)o-P>E&iL( z-tGP@KKy%QOuTID#$(&^Wi0?J=MFi@A#6oc1By zf{$%`neV#jnhyz#MF5Pol-}QipCDS`ce5!F(Q(~xR0-$pZ5DAwr=#sF~gnD q=5zWGo(fJvC896+a+ypf^G?q6I%Uv_PY+B00000IJ-kcM(tGQCxciFQAiV6_?(?B`%GKR!Ksz2=AK$dGGyS z!UI7N5>nNLt?I(|?I9v>65s9zzY-CFUg&iJr`vJb@Q~MpglE2mT5CJm4FT9Mj-7o@ zvRU1{XXm~G0Qq_Z!16G+&mu0k+{^%IF#a<`1iD1dm(wFSYF2b-D^gzL!-E8jF&SV1 zlv1B++|hftf_|Wt;8i3hI0;&7>tqB$5dM}stTH=wmQOP{00000NkvXXu0mjfYxrZ$ literal 0 HcmV?d00001 From e9f6a02f18959577f8f56c6ba511749cb34d0ce0 Mon Sep 17 00:00:00 2001 From: cohanna Date: Tue, 12 Nov 2024 19:05:56 -0700 Subject: [PATCH 216/588] un-reverted fixes --- .../Entities/Structures/Windows/clockwork.yml | 19 ++++++--- .../Entities/Structures/Windows/mining.yml | 6 +-- .../Entities/Structures/Windows/plasma.yml | 29 ++++++++------ .../Structures/Windows/plastitanium.yml | 10 ++--- .../Structures/Windows/reinforced.yml | 37 +++++------------- .../Entities/Structures/Windows/rplasma.yml | 18 ++++----- .../Entities/Structures/Windows/ruranium.yml | 20 ++++++---- .../Entities/Structures/Windows/shuttle.yml | 6 +-- .../Entities/Structures/Windows/uranium.yml | 28 +++++++------ .../Entities/Structures/Windows/window.yml | 32 ++++++++++++--- ...mageOverlay_8.png => DamageOverlay_10.png} | Bin ...ageOverlay_12.png => DamageOverlay_20.png} | Bin ...amageOverlay_4.png => DamageOverlay_5.png} | Bin .../Structures/Windows/cracks.rsi/meta.json | 6 +-- ...mageOverlay_8.png => DamageOverlay_10.png} | Bin ...ageOverlay_12.png => DamageOverlay_20.png} | Bin ...amageOverlay_4.png => DamageOverlay_5.png} | Bin .../Windows/cracks_diagonal.rsi/meta.json | 6 +-- ...mageOverlay_8.png => DamageOverlay_10.png} | Bin ...ageOverlay_12.png => DamageOverlay_20.png} | Bin ...amageOverlay_4.png => DamageOverlay_5.png} | Bin .../Windows/cracks_directional.rsi/meta.json | 6 +-- 22 files changed, 123 insertions(+), 100 deletions(-) rename Resources/Textures/Structures/Windows/cracks.rsi/{DamageOverlay_8.png => DamageOverlay_10.png} (100%) rename Resources/Textures/Structures/Windows/cracks.rsi/{DamageOverlay_12.png => DamageOverlay_20.png} (100%) rename Resources/Textures/Structures/Windows/cracks.rsi/{DamageOverlay_4.png => DamageOverlay_5.png} (100%) rename Resources/Textures/Structures/Windows/cracks_diagonal.rsi/{DamageOverlay_8.png => DamageOverlay_10.png} (100%) rename Resources/Textures/Structures/Windows/cracks_diagonal.rsi/{DamageOverlay_12.png => DamageOverlay_20.png} (100%) rename Resources/Textures/Structures/Windows/cracks_diagonal.rsi/{DamageOverlay_4.png => DamageOverlay_5.png} (100%) rename Resources/Textures/Structures/Windows/cracks_directional.rsi/{DamageOverlay_8.png => DamageOverlay_10.png} (100%) rename Resources/Textures/Structures/Windows/cracks_directional.rsi/{DamageOverlay_12.png => DamageOverlay_20.png} (100%) rename Resources/Textures/Structures/Windows/cracks_directional.rsi/{DamageOverlay_4.png => DamageOverlay_5.png} (100%) diff --git a/Resources/Prototypes/Entities/Structures/Windows/clockwork.yml b/Resources/Prototypes/Entities/Structures/Windows/clockwork.yml index 6abeae5760..8421b6b4dc 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/clockwork.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/clockwork.yml @@ -47,8 +47,8 @@ node: clockworkWindow - type: Appearance - type: DamageVisuals - thresholds: [4, 8, 12] - damageDivisor: 4 + thresholds: [5, 10, 20] + damageDivisor: 3 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks.rsi @@ -74,8 +74,8 @@ node: windowClockworkDirectional - type: Appearance - type: DamageVisuals - thresholds: [4, 8, 12] - damageDivisor: 10 + thresholds: [5, 10, 20] + damageDivisor: 1.5 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks_directional.rsi @@ -85,7 +85,16 @@ thresholds: - trigger: !type:DamageTrigger - damage: 150 + damage: 75 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - trigger: + !type:DamageTrigger + damage: 37 behaviors: - !type:PlaySoundBehavior sound: diff --git a/Resources/Prototypes/Entities/Structures/Windows/mining.yml b/Resources/Prototypes/Entities/Structures/Windows/mining.yml index 82d11b732b..9d05fbb5e2 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/mining.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/mining.yml @@ -43,8 +43,8 @@ base: mwindow - type: Appearance - type: DamageVisuals - thresholds: [4, 8, 12] - damageDivisor: 6 + thresholds: [5, 10, 20] + damageDivisor: 4 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks.rsi @@ -91,4 +91,4 @@ - East - type: DamageVisuals damageOverlay: - sprite: Structures/Windows/cracks_diagonal.rsi + sprite: Structures/Windows/cracks_diagonal.rsi \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Structures/Windows/plasma.yml b/Resources/Prototypes/Entities/Structures/Windows/plasma.yml index 66fac515a7..bdeb37c6bb 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/plasma.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/plasma.yml @@ -10,12 +10,12 @@ sprite: Structures/Windows/plasma_window.rsi - type: Damageable damageContainer: StructuralInorganic - damageModifierSet: RGlass + damageModifierSet: Glass - type: Destructible thresholds: - trigger: !type:DamageTrigger - damage: 120 + damage: 150 behaviors: - !type:DoActsBehavior acts: [ "Destruction" ] @@ -24,7 +24,7 @@ collection: WindowShatter - trigger: !type:DamageTrigger - damage: 60 + damage: 75 behaviors: - !type:PlaySoundBehavior sound: @@ -43,8 +43,8 @@ node: plasmaWindow - type: Appearance - type: DamageVisuals - thresholds: [4, 8, 12] - damageDivisor: 3.333 + thresholds: [5, 10, 20] + damageDivisor: 3 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks.rsi @@ -74,8 +74,8 @@ node: plasmaWindowDirectional - type: Appearance - type: DamageVisuals - thresholds: [4, 8, 12] - damageDivisor: 3.333 + thresholds: [5, 10, 20] + damageDivisor: 1.5 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks_directional.rsi @@ -83,7 +83,16 @@ thresholds: - trigger: !type:DamageTrigger - damage: 200 + damage: 75 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - trigger: + !type:DamageTrigger + damage: 37 behaviors: - !type:PlaySoundBehavior sound: @@ -97,8 +106,6 @@ acts: [ "Destruction" ] - type: StaticPrice price: 50 - - type: RadiationBlocker - resistance: 1 - type: entity parent: PlasmaWindow @@ -143,4 +150,4 @@ sprite: Structures/Windows/cracks_diagonal.rsi - type: Construction graph: WindowDiagonal - node: plasmaWindowDiagonal + node: plasmaWindowDiagonal \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Structures/Windows/plastitanium.yml b/Resources/Prototypes/Entities/Structures/Windows/plastitanium.yml index 2134cfe892..c50bc6e030 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/plastitanium.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/plastitanium.yml @@ -98,8 +98,8 @@ - !type:DoActsBehavior acts: [ "Destruction" ] - type: DamageVisuals - thresholds: [4, 8, 12] - damageDivisor: 28 + thresholds: [5, 10, 20] + damageDivisor: 20 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks.rsi @@ -185,8 +185,8 @@ - !type:DoActsBehavior acts: [ "Destruction" ] - type: DamageVisuals - thresholds: [4, 8, 12] - damageDivisor: 28 + thresholds: [5, 10, 20] + damageDivisor: 20 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks_diagonal.rsi @@ -195,4 +195,4 @@ doAfterDelay: 3 - type: Damageable damageContainer: StructuralInorganic - damageModifierSet: RGlass + damageModifierSet: RGlass \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml b/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml index 503d2eec6e..238b71e3fd 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/reinforced.yml @@ -50,31 +50,12 @@ node: reinforcedWindow - type: Appearance - type: DamageVisuals - thresholds: [4, 8, 12] - damageDivisor: 4 + thresholds: [5, 10, 20] + damageDivisor: 3 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks.rsi -- type: entity - parent: ReinforcedWindow - id: TintedWindow - name: tinted window - components: - - type: Sprite - drawdepth: WallTops - sprite: Structures/Windows/tinted_window.rsi - - type: Icon - sprite: Structures/Windows/tinted_window.rsi - - type: IconSmooth - base: twindow - - type: Construction - graph: Window - node: tintedWindow - - type: Occluder - - type: StaticPrice - price: 45 - - type: entity id: WindowReinforcedDirectional parent: WindowDirectional @@ -96,8 +77,8 @@ node: windowReinforcedDirectional - type: Appearance - type: DamageVisuals - thresholds: [4, 8, 12] - damageDivisor: 10 + thresholds: [5, 10, 20] + damageDivisor: 1.5 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks_directional.rsi @@ -111,16 +92,16 @@ thresholds: - trigger: !type:DamageTrigger - damage: 150 #excess damage (nuke?). avoid computational cost of spawning entities. + damage: 75 behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] - !type:PlaySoundBehavior sound: collection: WindowShatter - - !type:DoActsBehavior - acts: [ "Destruction" ] - trigger: !type:DamageTrigger - damage: 50 + damage: 37 behaviors: - !type:PlaySoundBehavior sound: @@ -178,4 +159,4 @@ sprite: Structures/Windows/cracks_diagonal.rsi - type: Construction graph: WindowDiagonal - node: reinforcedWindowDiagonal + node: reinforcedWindowDiagonal \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Structures/Windows/rplasma.yml b/Resources/Prototypes/Entities/Structures/Windows/rplasma.yml index 0940ac308a..2ea710e6e7 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/rplasma.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/rplasma.yml @@ -17,7 +17,7 @@ thresholds: - trigger: !type:DamageTrigger - damage: 200 + damage: 300 behaviors: #excess damage, don't spawn entities. - !type:DoActsBehavior acts: [ "Destruction" ] @@ -26,7 +26,7 @@ collection: WindowShatter - trigger: !type:DamageTrigger - damage: 100 + damage: 150 behaviors: - !type:PlaySoundBehavior sound: @@ -48,7 +48,7 @@ node: reinforcedPlasmaWindow - type: Appearance - type: DamageVisuals - thresholds: [4, 8, 12] + thresholds: [5, 10, 20] damageDivisor: 6 trackAllDamage: true damageOverlay: @@ -77,24 +77,22 @@ node: plasmaReinforcedWindowDirectional - type: Appearance - type: DamageVisuals - thresholds: [4, 8, 12] - damageDivisor: 36 + thresholds: [5, 10, 20] + damageDivisor: 3 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks_directional.rsi - - type: RadiationBlocker - resistance: 2 - type: Destructible thresholds: - trigger: !type:DamageTrigger - damage: 1000 + damage: 150 behaviors: #excess damage, don't spawn entities. - !type:DoActsBehavior acts: [ "Destruction" ] - trigger: !type:DamageTrigger - damage: 600 + damage: 75 behaviors: - !type:PlaySoundBehavior sound: @@ -155,4 +153,4 @@ sprite: Structures/Windows/cracks_diagonal.rsi - type: Construction graph: WindowDiagonal - node: reinforcedPlasmaWindowDiagonal + node: reinforcedPlasmaWindowDiagonal \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml b/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml index b9b47c00ea..fe40b21ba2 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml @@ -43,7 +43,7 @@ node: reinforcedUraniumWindow - type: Appearance - type: DamageVisuals - thresholds: [4, 8, 12] + thresholds: [5, 10, 20] damageDivisor: 6 trackAllDamage: true damageOverlay: @@ -74,8 +74,8 @@ node: uraniumReinforcedWindowDirectional - type: Appearance - type: DamageVisuals - thresholds: [4, 8, 12] - damageDivisor: 3.333 + thresholds: [5, 10, 20] + damageDivisor: 3 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks_directional.rsi @@ -83,7 +83,13 @@ thresholds: - trigger: !type:DamageTrigger - damage: 200 + damage: 150 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 75 behaviors: - !type:PlaySoundBehavior sound: @@ -93,15 +99,13 @@ ShardGlassUranium: min: 1 max: 2 - PartRodMetal1: + PartRodMetal: min: 1 max: 2 - !type:DoActsBehavior acts: [ "Destruction" ] - type: StaticPrice price: 110 - - type: RadiationBlocker - resistance: 2.5 - type: entity parent: ReinforcedUraniumWindow @@ -146,4 +150,4 @@ sprite: Structures/Windows/cracks_diagonal.rsi - type: Construction graph: WindowDiagonal - node: reinforcedUraniumWindowDiagonal + node: reinforcedUraniumWindowDiagonal \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Structures/Windows/shuttle.yml b/Resources/Prototypes/Entities/Structures/Windows/shuttle.yml index 1b4c96c170..f70b684abd 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/shuttle.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/shuttle.yml @@ -46,8 +46,8 @@ node: shuttleWindow - type: Appearance - type: DamageVisuals - thresholds: [4, 8, 12] - damageDivisor: 28 + thresholds: [5, 10, 20] + damageDivisor: 20 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks.rsi @@ -94,4 +94,4 @@ - East - type: DamageVisuals damageOverlay: - sprite: Structures/Windows/cracks_diagonal.rsi + sprite: Structures/Windows/cracks_diagonal.rsi \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Structures/Windows/uranium.yml b/Resources/Prototypes/Entities/Structures/Windows/uranium.yml index c7b7312a70..25ad1b876e 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/uranium.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/uranium.yml @@ -11,18 +11,18 @@ state: full - type: Damageable damageContainer: StructuralInorganic - damageModifierSet: RGlass + damageModifierSet: Glass - type: Destructible thresholds: - trigger: !type:DamageTrigger - damage: 100 + damage: 150 behaviors: - !type:DoActsBehavior acts: [ "Destruction" ] - trigger: !type:DamageTrigger - damage: 60 + damage: 75 behaviors: - !type:PlaySoundBehavior sound: @@ -41,8 +41,8 @@ node: uraniumWindow - type: Appearance - type: DamageVisuals - thresholds: [4, 8, 12] - damageDivisor: 3.333 + thresholds: [5, 10, 20] + damageDivisor: 3 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks.rsi @@ -72,8 +72,8 @@ node: uraniumWindowDirectional - type: Appearance - type: DamageVisuals - thresholds: [4, 8, 12] - damageDivisor: 3.333 + thresholds: [5, 10, 20] + damageDivisor: 1.5 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks_directional.rsi @@ -81,7 +81,13 @@ thresholds: - trigger: !type:DamageTrigger - damage: 200 + damage: 75 + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 37 behaviors: - !type:PlaySoundBehavior sound: @@ -90,13 +96,11 @@ spawn: ShardGlassUranium: min: 1 - max: 2 + max: 1 - !type:DoActsBehavior acts: [ "Destruction" ] - type: StaticPrice price: 100 - - type: RadiationBlocker - resistance: 1.5 - type: entity parent: UraniumWindow @@ -141,4 +145,4 @@ sprite: Structures/Windows/cracks_diagonal.rsi - type: Construction graph: WindowDiagonal - node: uraniumWindowDiagonal + node: uraniumWindowDiagonal \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Structures/Windows/window.yml b/Resources/Prototypes/Entities/Structures/Windows/window.yml index 56a38f82fc..5b6530a9e5 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/window.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/window.yml @@ -84,8 +84,8 @@ node: window - type: Appearance - type: DamageVisuals - thresholds: [4, 8, 12] - damageDivisor: 3.333 + thresholds: [5, 10, 20] + damageDivisor: 2 trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks.rsi @@ -93,6 +93,25 @@ price: 100 - type: BlockWeather +- type: entity + parent: Window + id: TintedWindow + name: tinted window + components: + - type: Sprite + drawdepth: WallTops + sprite: Structures/Windows/tinted_window.rsi + - type: Icon + sprite: Structures/Windows/tinted_window.rsi + - type: IconSmooth + base: twindow + - type: Construction + graph: Window + node: tintedWindow + - type: Occluder + - type: StaticPrice + price: 70 + - type: entity id: WindowRCDResistant parent: Window @@ -158,7 +177,7 @@ thresholds: - trigger: !type:DamageTrigger - damage: 150 #excess damage (nuke?). avoid computational cost of spawning entities. + damage: 50 #excess damage (nuke?). avoid computational cost of spawning entities. behaviors: - !type:DoActsBehavior acts: [ "Destruction" ] @@ -188,8 +207,7 @@ node: windowDirectional - type: Appearance - type: DamageVisuals - thresholds: [4, 8, 12] - damageDivisor: 3.333 + thresholds: [5, 10, 20] trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks_directional.rsi @@ -220,6 +238,8 @@ - type: Icon sprite: Structures/Windows/directional.rsi state: frosted_window + - type: StaticPrice + price: 35 - type: entity parent: Window @@ -264,4 +284,4 @@ sprite: Structures/Windows/cracks_diagonal.rsi - type: Construction graph: WindowDiagonal - node: windowDiagonal + node: windowDiagonal \ No newline at end of file diff --git a/Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_8.png b/Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_10.png similarity index 100% rename from Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_8.png rename to Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_10.png diff --git a/Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_12.png b/Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_20.png similarity index 100% rename from Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_12.png rename to Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_20.png diff --git a/Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_4.png b/Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_5.png similarity index 100% rename from Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_4.png rename to Resources/Textures/Structures/Windows/cracks.rsi/DamageOverlay_5.png diff --git a/Resources/Textures/Structures/Windows/cracks.rsi/meta.json b/Resources/Textures/Structures/Windows/cracks.rsi/meta.json index 9d0cc9a505..ca012e8fc5 100644 --- a/Resources/Textures/Structures/Windows/cracks.rsi/meta.json +++ b/Resources/Textures/Structures/Windows/cracks.rsi/meta.json @@ -7,8 +7,8 @@ "license": "CC-BY-SA-3.0", "copyright": "Taken from https://github.com/tgstation/tgstation at commit e06b82a7f4b2b09216fb28fd384c95a2e1dc50e5", "states": [ - {"name": "DamageOverlay_4", "directions": 1}, - {"name": "DamageOverlay_8", "directions": 1}, - {"name": "DamageOverlay_12", "directions": 1} + {"name": "DamageOverlay_5", "directions": 1}, + {"name": "DamageOverlay_10", "directions": 1}, + {"name": "DamageOverlay_20", "directions": 1} ] } diff --git a/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_8.png b/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_10.png similarity index 100% rename from Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_8.png rename to Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_10.png diff --git a/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_12.png b/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_20.png similarity index 100% rename from Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_12.png rename to Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_20.png diff --git a/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_4.png b/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_5.png similarity index 100% rename from Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_4.png rename to Resources/Textures/Structures/Windows/cracks_diagonal.rsi/DamageOverlay_5.png diff --git a/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/meta.json b/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/meta.json index 9d0cc9a505..ca012e8fc5 100644 --- a/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/meta.json +++ b/Resources/Textures/Structures/Windows/cracks_diagonal.rsi/meta.json @@ -7,8 +7,8 @@ "license": "CC-BY-SA-3.0", "copyright": "Taken from https://github.com/tgstation/tgstation at commit e06b82a7f4b2b09216fb28fd384c95a2e1dc50e5", "states": [ - {"name": "DamageOverlay_4", "directions": 1}, - {"name": "DamageOverlay_8", "directions": 1}, - {"name": "DamageOverlay_12", "directions": 1} + {"name": "DamageOverlay_5", "directions": 1}, + {"name": "DamageOverlay_10", "directions": 1}, + {"name": "DamageOverlay_20", "directions": 1} ] } diff --git a/Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_8.png b/Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_10.png similarity index 100% rename from Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_8.png rename to Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_10.png diff --git a/Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_12.png b/Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_20.png similarity index 100% rename from Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_12.png rename to Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_20.png diff --git a/Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_4.png b/Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_5.png similarity index 100% rename from Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_4.png rename to Resources/Textures/Structures/Windows/cracks_directional.rsi/DamageOverlay_5.png diff --git a/Resources/Textures/Structures/Windows/cracks_directional.rsi/meta.json b/Resources/Textures/Structures/Windows/cracks_directional.rsi/meta.json index df077f67d2..9555aa5ab3 100644 --- a/Resources/Textures/Structures/Windows/cracks_directional.rsi/meta.json +++ b/Resources/Textures/Structures/Windows/cracks_directional.rsi/meta.json @@ -8,15 +8,15 @@ "copyright": "Adapted from https://github.com/space-wizards/space-station-14/ at commit f57e8ec6b9b4b72ef56c8146be0bc159ed2691ee, originally added by Zumorica, and modified for directional use by Darkie", "states": [ { - "name": "DamageOverlay_4", + "name": "DamageOverlay_5", "directions": 4 }, { - "name": "DamageOverlay_8", + "name": "DamageOverlay_10", "directions": 4 }, { - "name": "DamageOverlay_12", + "name": "DamageOverlay_20", "directions": 4 } ] From 21074bd98d3844dd8f6ae18f9f423752304fa7bd Mon Sep 17 00:00:00 2001 From: cohanna Date: Tue, 12 Nov 2024 19:14:28 -0700 Subject: [PATCH 217/588] oops --- .../Entities/Structures/Windows/plasma.yml | 2 + .../Entities/Structures/Windows/rplasma.yml | 2 + .../Entities/Structures/Windows/ruranium.yml | 2 + .../Entities/Structures/Windows/uranium.yml | 2 + .../Recipes/Construction/structures.yml | 40 ++++++++++++++----- 5 files changed, 37 insertions(+), 11 deletions(-) diff --git a/Resources/Prototypes/Entities/Structures/Windows/plasma.yml b/Resources/Prototypes/Entities/Structures/Windows/plasma.yml index bdeb37c6bb..8758e1075e 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/plasma.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/plasma.yml @@ -106,6 +106,8 @@ acts: [ "Destruction" ] - type: StaticPrice price: 50 + - type: RadiationBlocker + resistance: 1 - type: entity parent: PlasmaWindow diff --git a/Resources/Prototypes/Entities/Structures/Windows/rplasma.yml b/Resources/Prototypes/Entities/Structures/Windows/rplasma.yml index 2ea710e6e7..2ad0eb8410 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/rplasma.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/rplasma.yml @@ -82,6 +82,8 @@ trackAllDamage: true damageOverlay: sprite: Structures/Windows/cracks_directional.rsi + - type: RadiationBlocker + resistance: 2 - type: Destructible thresholds: - trigger: diff --git a/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml b/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml index fe40b21ba2..daae6a4726 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml @@ -106,6 +106,8 @@ acts: [ "Destruction" ] - type: StaticPrice price: 110 + - type: RadiationBlocker + resistance: 2.5 - type: entity parent: ReinforcedUraniumWindow diff --git a/Resources/Prototypes/Entities/Structures/Windows/uranium.yml b/Resources/Prototypes/Entities/Structures/Windows/uranium.yml index 25ad1b876e..db93228009 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/uranium.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/uranium.yml @@ -101,6 +101,8 @@ acts: [ "Destruction" ] - type: StaticPrice price: 100 + - type: RadiationBlocker + resistance: 1.5 - type: entity parent: UraniumWindow diff --git a/Resources/Prototypes/Recipes/Construction/structures.yml b/Resources/Prototypes/Recipes/Construction/structures.yml index 31e1264ab0..44a7134597 100644 --- a/Resources/Prototypes/Recipes/Construction/structures.yml +++ b/Resources/Prototypes/Recipes/Construction/structures.yml @@ -455,7 +455,7 @@ startNode: start targetNode: tintedWindow category: construction-category-structures - description: Not clear but tough. + description: Not clear, but lasers still pass through. canBuildInImpassable: true conditions: - !type:EmptyOrWindowValidInTile @@ -512,7 +512,7 @@ targetNode: plasmaWindow category: construction-category-structures canBuildInImpassable: true - description: Clear and even tougher, with a purple tint. + description: Clear, with a purple tint. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile @@ -531,7 +531,7 @@ targetNode: reinforcedPlasmaWindow category: construction-category-structures canBuildInImpassable: true - description: Fire resistant and even tougher, with a purple tint. + description: Clear and even tougher, with a purple tint. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile @@ -569,7 +569,7 @@ targetNode: plasmaWindowDiagonal category: construction-category-structures canBuildInImpassable: true - description: Clear and even tougher, with a purple tint. + description: Clear, with a purple tint. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile @@ -587,7 +587,7 @@ targetNode: reinforcedPlasmaWindowDiagonal category: construction-category-structures canBuildInImpassable: true - description: Fire resistant and even tougher, with a purple tint. + description: Clear and even tougher, with a purple tint. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile @@ -659,7 +659,7 @@ targetNode: plasmaWindowDirectional category: construction-category-structures canBuildInImpassable: true - description: Clear and even tougher, with a purple tint. + description: Clear, with a purple tint. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile @@ -677,7 +677,7 @@ targetNode: plasmaReinforcedWindowDirectional category: construction-category-structures canBuildInImpassable: true - description: Fire resistant and even tougher, with a purple tint. + description: Clear and even tougher, with a purple tint. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile @@ -695,7 +695,7 @@ targetNode: uraniumWindow category: construction-category-structures canBuildInImpassable: true - description: Clear and much tougher than regular glass, with added RadAbsorb to protect you from deadly radiation. + description: Clear, with added RadAbsorb to protect you from deadly radiation. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile @@ -714,7 +714,7 @@ targetNode: reinforcedUraniumWindow category: construction-category-structures canBuildInImpassable: true - description: Clear and much tougher than regular glass, with added RadAbsorb to protect you from deadly radiation. + description: Clear and even tougher, with added RadAbsorb to protect you from deadly radiation. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile @@ -733,7 +733,7 @@ targetNode: uraniumWindowDiagonal category: construction-category-structures canBuildInImpassable: true - description: Clear and much tougher than regular glass, with added RadAbsorb to protect you from deadly radiation. + description: Clear, with added RadAbsorb to protect you from deadly radiation. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile @@ -751,7 +751,7 @@ targetNode: reinforcedUraniumWindowDiagonal category: construction-category-structures canBuildInImpassable: true - description: Clear and much tougher than regular glass, with added RadAbsorb to protect you from deadly radiation. + description: Clear and even tougher, with added RadAbsorb to protect you from deadly radiation. conditions: - !type:EmptyOrWindowValidInTile - !type:NoWindowsInTile @@ -1456,6 +1456,24 @@ # Same here. - 20kdc - !type:TileNotBlocked +- type: construction + name: emergency light + id: EmergencyLightFixture + graph: LightFixture + startNode: start + targetNode: emergencyLight + category: construction-category-structures + description: An emergency light. + icon: + sprite: Structures/Wallmounts/Lighting/emergency_light.rsi + state: base + objectType: Structure + placementMode: SnapgridCenter + canRotate: true + canBuildInImpassable: false + conditions: + - !type:TileNotBlocked + - type: construction name: ground light post id: LightGroundFixture From bd2d0ee5e593606da094804f5822cf740a1f1084 Mon Sep 17 00:00:00 2001 From: August Sun <45527070+august-sun@users.noreply.github.com> Date: Tue, 12 Nov 2024 19:59:47 -0700 Subject: [PATCH 218/588] Added the ability to microwave inert flesh anomaly cores to turn into an anomalous meat mass (#33223) * First round of anomaly core functionalities added * Added sliceTime to anom meat mass and cooked version * Adds SmokeOnUse component, system and shared system, adds new functions to inert electrical anom core * Added more functions * Final touches to branch * Cleaning up some of the metadata for sprites and component definitions * PR_Changes_v2_rev.0_Final_FINALFORREALTHISTIME.yml * Lol jk these goddamn tests why me * Quick updates based on feedback * more changes to improve * additional fixes and edits * Changed tech core functionality * added magboot functionality to grav core * fixed issue with bluespace core sizing * Reverting changes per request * extra file to be deleted * File cleanup * Update chemicals.ftl * Update cores.yml * Update cores.yml * Update meta.json * Update chemicals.yml * Update Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com> * Update meal_recipes.yml * Update cores.yml --------- Co-authored-by: august-sun <45527070+august.sun@users.noreply.github.com> Co-authored-by: chromiumboy <50505512+chromiumboy@users.noreply.github.com> --- .../Entities/Objects/Consumable/Food/meat.yml | 59 ++++++++++++++++++ .../Structures/Specific/Anomaly/cores.yml | 6 +- .../Construction/Graphs/food/steak.yml | 18 +++++- .../Recipes/Cooking/meal_recipes.yml | 24 +++++++ .../Food/meat.rsi/anomalymeat-cooked.png | Bin 0 -> 618 bytes .../Consumable/Food/meat.rsi/anomalymeat.png | Bin 0 -> 642 bytes .../Consumable/Food/meat.rsi/meta.json | 8 ++- 7 files changed, 111 insertions(+), 4 deletions(-) create mode 100644 Resources/Textures/Objects/Consumable/Food/meat.rsi/anomalymeat-cooked.png create mode 100644 Resources/Textures/Objects/Consumable/Food/meat.rsi/anomalymeat.png diff --git a/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml b/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml index 612f7da047..48968b80c1 100644 --- a/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml +++ b/Resources/Prototypes/Entities/Objects/Consumable/Food/meat.yml @@ -701,6 +701,36 @@ - ReagentId: Water Quantity: 4 #It makes saline if you add salt! +- type: entity + name: anomalous meat mass + parent: FoodMeatRawBase + id: FoodMeatAnomaly + description: An impossibly dense slab of meat. Just looking at it makes you uncomfortable. + components: + - type: Sprite + state: anomalymeat + - type: SolutionContainerManager + solutions: + food: + reagents: + - ReagentId: UncookedAnimalProteins + Quantity: 90 + - ReagentId: Fat + Quantity: 90 + - type: SliceableFood + count: 10 + sliceTime: 5 + slice: FoodMeat #That's... So much meat + - type: InternalTemperature + conductivity: 0.43 + - type: Construction + graph: AnomalyMeatSteak + node: start + defaultTarget: anomaly steak + - type: Tag + tags: + - Meat + # Cooked - type: entity @@ -1173,6 +1203,35 @@ Burger: MeatSnail Taco: MeatSnail +- type: entity + name: anomalous steak + parent: FoodMeatBase + id: FoodMeatAnomalyCooked + description: A gigantic mass of cooked meat. A meal for a dinner party, or someone REALLY hungry. + components: + - type: Tag + tags: + - Cooked + - Meat + - type: Sprite + layers: + - state: anomalymeat-cooked #Kinda hard to cook this... thing evenly + - type: SolutionContainerManager + solutions: + food: + reagents: + - ReagentId: Nutriment + Quantity: 100 + - ReagentId: Protein + Quantity: 50 + - type: SliceableFood + count: 10 + sliceTime: 5 + slice: FoodMeatCooked + - type: Construction + graph: AnomalyMeatSteak + node: anomaly steak + # Cutlets # Raw diff --git a/Resources/Prototypes/Entities/Structures/Specific/Anomaly/cores.yml b/Resources/Prototypes/Entities/Structures/Specific/Anomaly/cores.yml index 315505b81e..568a133749 100644 --- a/Resources/Prototypes/Entities/Structures/Specific/Anomaly/cores.yml +++ b/Resources/Prototypes/Entities/Structures/Specific/Anomaly/cores.yml @@ -79,6 +79,7 @@ - type: entity parent: BaseAnomalyCore id: AnomalyCoreFlesh + description: The core of a destroyed flesh anomaly. Pulsates sickeningly, but might be a hearty meal if cooked. suffix: Flesh components: - type: Sprite @@ -241,7 +242,8 @@ - type: entity parent: BaseAnomalyInertCore - id: AnomalyCoreFleshInert + id: AnomalyCoreFleshInert # Can be microwaved to turn it into a massive piece of meat + description: The inert core of a destroyed flesh anomaly. Pulsates sickeningly, but might be good food in the right hands? suffix: Flesh, Inert components: - type: Sprite @@ -306,7 +308,7 @@ - type: entity parent: BaseAnomalyInertCore - id: AnomalyCoreFloraInert + id: AnomalyCoreFloraInert #Turns into a seed that grows into artifexium suffix: Flora, Inert components: - type: Seed diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/food/steak.yml b/Resources/Prototypes/Recipes/Construction/Graphs/food/steak.yml index 4c10400331..61cb844037 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/food/steak.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/food/steak.yml @@ -174,6 +174,22 @@ - node: bacon entity: FoodMeatBaconCooked +# anomaly meat steak +- type: constructionGraph + id: AnomalyMeatSteak + start: start + graph: + - node: start + edges: + - to: anomaly steak + completed: + - !type:PlaySound + sound: /Audio/Effects/sizzle.ogg + steps: + - minTemperature: 335 + - node: anomaly steak + entity: FoodMeatAnomalyCooked + # cutlets - type: constructionGraph @@ -294,4 +310,4 @@ steps: - minTemperature: 345 - node: xeno cutlet - entity: FoodMeatXenoCutletCooked \ No newline at end of file + entity: FoodMeatXenoCutletCooked diff --git a/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml b/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml index 173cf9e9db..da66f7a0d8 100644 --- a/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml +++ b/Resources/Prototypes/Recipes/Cooking/meal_recipes.yml @@ -2050,3 +2050,27 @@ FoodCroissantRaw: 1 FoodButterSlice: 1 ShardGlass: 1 + +- type: microwaveMealRecipe + id: RecipeInertAnomalyMeat + name: inert meat anomaly recipe + result: FoodMeatAnomaly + time: 5 + solids: + AnomalyCoreFleshInert: 1 + +- type: microwaveMealRecipe + id: RecipeAnomalyMeat + name: meat anomaly recipe + result: FoodMeatAnomaly + time: 5 + solids: + AnomalyCoreFlesh: 1 + +- type: microwaveMealRecipe + id: RecipeAnomalyMeatCooked + name: cooked meat anomaly recipe + result: FoodMeatAnomalyCooked + time: 5 + solids: + FoodMeatAnomaly: 1 diff --git a/Resources/Textures/Objects/Consumable/Food/meat.rsi/anomalymeat-cooked.png b/Resources/Textures/Objects/Consumable/Food/meat.rsi/anomalymeat-cooked.png new file mode 100644 index 0000000000000000000000000000000000000000..19c0040f3a150fb1b247ff901673516605618e39 GIT binary patch literal 618 zcmV-w0+s!VP)Px%BuPX;R9J=Wl+SA0KoG`%7HMS3rIEcd#E_HmCE%7op_c@FF!U+>6n%mAVfq3+ zmmCbu!8cPIdT5$MNogULt+uv>NRWD1X(QS4pSrnK9|*BCyEET>GrN!@M~?p;g>(-!=iM16Pc^kC>2t>3RwT4d8A7;A=QzkCle1&8Hi;4_T@M3 z+yvm=`!OGeGXT05*J`UfHqx95FmfKJ)~(Ycl`O6d1P)JJx~%0>;CoYeZE!2>_i}oP@{TxZ}7CG z!Ae%VDe+$uh)F=C2H6sCoA{s5saxSOT=+9=l}o!07*qoM6N<$ Ef@X&iumAu6 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Food/meat.rsi/anomalymeat.png b/Resources/Textures/Objects/Consumable/Food/meat.rsi/anomalymeat.png new file mode 100644 index 0000000000000000000000000000000000000000..005107ab4ec5e066f292c3d6a163174d11c9e7e7 GIT binary patch literal 642 zcmV-|0)737P)Px%JV``BR9J=WmBDM%P#niURU4tC5L+}p8Nv>0DPk$&c^8WpFN1kddZ_<_3S*A3 zlN6Eu37*=)4vM>Y@Z_mS5tLq}-C-9Yq+kuUC`%9V(7xBCOS^1(GhYbF`@JN;@Avz@ zFM${_V*Kw&oaLcLHs|@rkG^*kvvdC1KOrDrY~bRcVc>GOew$1CZFP@-&OwVr;#^b$ z0C}OQb8=&i-0~6z?y=@_90idGNcFZg#1uNVH3T5D_W@Jr7`T{1R|EkZv|~#Zh6{@t zN|YYo=l7d;z_dZ(<}F&*d!^j5T&3C+IwsJuPIh6g19>sF)4=8DwG`&dO6z<+(&^{ntTv7Ew`v4$NlXZKmu3VTG z$j~K_O5|DtIL~%jx_X^fwFZnGvaKNwno=*D!qlm}(CAn$jcm>fBM~WtrqEe!?$D~% z$O}z{O$M-4ttn?DY3ZJA4ap0Qo|g)J_gn&g_5Dg2d#kQg`wu?}fMWA`Abbwm!Z3ys z=y@r+o`HjgDRjDr-vXqhy4f>~vvBWolYXVF8uz>u&gdwVKxhUw`(G0EOvy8Fu`QS7 z{ZH5vHRIaU9eHg`#vk`ytGTXwesUGw92R_v>zPtu`&>!<3e5ZWyd;s_SerJVxc2nb z+l8Ow$p3=vbip%{7XyT5gXN5lxcu-&q{gQvAV~m7B4O+LV(|4$f7nxDJ6-T3nHVu* c#Q0nM0h_}40T=^O)c^nh07*qoM6N<$f|m*~VgLXD literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Consumable/Food/meat.rsi/meta.json b/Resources/Textures/Objects/Consumable/Food/meat.rsi/meta.json index 4ad75849d1..99084d8c95 100644 --- a/Resources/Textures/Objects/Consumable/Food/meat.rsi/meta.json +++ b/Resources/Textures/Objects/Consumable/Food/meat.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation and modified by Swept, potato1234x and deltanedas at https://github.com/tgstation/tgstation/commit/40d75cc340c63582fb66ce15bf75a36115f6bdaa, snail by IproduceWidgets (github) and Kezu (discord)", + "copyright": "Taken from tgstation and modified by Swept, potato1234x and deltanedas at https://github.com/tgstation/tgstation/commit/40d75cc340c63582fb66ce15bf75a36115f6bdaa, snail by IproduceWidgets (github) and Kezu (discord), anomalymeat/cooked by august-sun", "size": { "x": 32, "y": 32 @@ -200,6 +200,12 @@ }, { "name": "rouny-cooked" + }, + { + "name": "anomalymeat" + }, + { + "name": "anomalymeat-cooked" } ] } From 52c1708117f82e75f0d0b911f3e8319c7a97725d Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 13 Nov 2024 03:00:54 +0000 Subject: [PATCH 219/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 4ab88b325b..f54421b87a 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Spessmann - changes: - - message: Added Cog, a new midpop map based on Cogmap from ss13 - type: Add - id: 7105 - time: '2024-08-13T19:27:25.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30840 - author: PoorMansDreams changes: - message: Throngler Plushie looks like a plushie @@ -3948,3 +3941,11 @@ id: 7604 time: '2024-11-12T12:06:43.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33011 +- author: august-sun + changes: + - message: The inert flesh anomaly core can now be microwaved to turn into an anomalous + meat mass. + type: Tweak + id: 7605 + time: '2024-11-13T02:59:47.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33223 From 99b4604d5096eea467a7006ccfa90ef17e06e73e Mon Sep 17 00:00:00 2001 From: Spessmann <156740760+Spessmann@users.noreply.github.com> Date: Tue, 12 Nov 2024 19:07:47 -0800 Subject: [PATCH 220/588] Cog fixes (#33285) fixed the map (for real this time) --- Resources/Maps/cog.yml | 3014 +++++++++++++++++++++++++--------------- 1 file changed, 1914 insertions(+), 1100 deletions(-) diff --git a/Resources/Maps/cog.yml b/Resources/Maps/cog.yml index 58310e561c..859ee46b1d 100644 --- a/Resources/Maps/cog.yml +++ b/Resources/Maps/cog.yml @@ -333,7 +333,7 @@ entities: version: 6 3,3: ind: 3,3 - tiles: YAAAAAAAYAAAAAABYAAAAAAAYAAAAAACYAAAAAACYAAAAAACYAAAAAABYAAAAAACYAAAAAACYAAAAAABYAAAAAAAYAAAAAAAYAAAAAACYAAAAAACYAAAAAACYAAAAAADYAAAAAABgQAAAAAAYAAAAAABYAAAAAACgQAAAAAAYAAAAAAAYAAAAAADYAAAAAADYAAAAAACYAAAAAAAYAAAAAABYAAAAAACYAAAAAADYAAAAAADYAAAAAADYAAAAAADYAAAAAAAgQAAAAAAYAAAAAADYAAAAAADgQAAAAAAgQAAAAAAYAAAAAAAYAAAAAACYAAAAAAAYAAAAAACYAAAAAAAYAAAAAACgQAAAAAAYAAAAAADYAAAAAADYAAAAAAAYAAAAAADgQAAAAAAYAAAAAABYAAAAAADYAAAAAACgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAACgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAADgQAAAAAAYAAAAAADYAAAAAABYAAAAAACgQAAAAAADAAAAAADDAAAAAABDAAAAAACfQAAAAACfQAAAAACCwAAAAAADAAAAAACDAAAAAAADAAAAAAADAAAAAADYAAAAAABgQAAAAAAYAAAAAABYAAAAAAAgQAAAAAAgQAAAAAADAAAAAACDAAAAAACDAAAAAAAfQAAAAABfQAAAAAAfQAAAAAADAAAAAADDAAAAAADDAAAAAACCAAAAAAAgQAAAAAAgQAAAAAAYAAAAAACYAAAAAADYAAAAAADYAAAAAADCAAAAAABCAAAAAAACAAAAAACfQAAAAAAfQAAAAABfQAAAAACCAAAAAACCAAAAAADCAAAAAAACAAAAAADYAAAAAAAYAAAAAAAYAAAAAAAYAAAAAABYAAAAAAAYAAAAAADCAAAAAAACAAAAAABCAAAAAABfQAAAAADfQAAAAAAfQAAAAACCAAAAAADCAAAAAADCAAAAAACCAAAAAACYAAAAAACYAAAAAAAYAAAAAABYAAAAAADYAAAAAABgQAAAAAADAAAAAAADAAAAAAADAAAAAADfQAAAAADfQAAAAACfQAAAAACDAAAAAAADAAAAAAADAAAAAAADAAAAAACYAAAAAABgQAAAAAAYAAAAAAAYAAAAAADYAAAAAAAgQAAAAAADAAAAAABDAAAAAABDAAAAAACfQAAAAABfQAAAAACfQAAAAABDAAAAAACDAAAAAAADAAAAAABDAAAAAADYAAAAAABgQAAAAAAYAAAAAADYAAAAAAAYAAAAAAAgQAAAAAADAAAAAAADAAAAAADDAAAAAACfQAAAAABfQAAAAACfQAAAAADDAAAAAAADAAAAAADDAAAAAADDAAAAAAAYAAAAAAAgQAAAAAAYAAAAAADYAAAAAABYAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAACgQAAAAAAgQAAAAAAYAAAAAADgQAAAAAAgQAAAAAAYAAAAAACYAAAAAACYAAAAAACYAAAAAACYAAAAAADgQAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAYAAAAAAAYAAAAAAAYAAAAAAAgQAAAAAAYAAAAAAAYAAAAAAAYAAAAAACYAAAAAABYAAAAAACgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAYAAAAAAAYAAAAAAAYAAAAAADYAAAAAACYAAAAAACgQAAAAAAYAAAAAAAYAAAAAABYAAAAAACYAAAAAADYAAAAAABgQAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAYAAAAAADYAAAAAABYAAAAAABYAAAAAACYAAAAAABgQAAAAAAYAAAAAAAYAAAAAACYAAAAAAAYAAAAAACYAAAAAABgQAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAA + tiles: YAAAAAAAYAAAAAABYAAAAAAAYAAAAAACYAAAAAACYAAAAAACYAAAAAABYAAAAAACYAAAAAACYAAAAAABYAAAAAAAYAAAAAAAYAAAAAACYAAAAAACYAAAAAACYAAAAAADYAAAAAABgQAAAAAAYAAAAAABYAAAAAACgQAAAAAAYAAAAAAAYAAAAAADYAAAAAADYAAAAAACYAAAAAAAYAAAAAABYAAAAAACYAAAAAADYAAAAAADYAAAAAADYAAAAAADYAAAAAAAgQAAAAAAYAAAAAADYAAAAAADgQAAAAAAgQAAAAAAYAAAAAAAYAAAAAACYAAAAAAAYAAAAAACYAAAAAAAYAAAAAACgQAAAAAAYAAAAAADYAAAAAADYAAAAAAAYAAAAAADgQAAAAAAYAAAAAABYAAAAAADYAAAAAACgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAACgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAADgQAAAAAAYAAAAAADYAAAAAABYAAAAAACgQAAAAAADAAAAAADDAAAAAABDAAAAAACfQAAAAACfQAAAAACCwAAAAAADAAAAAACDAAAAAAADAAAAAAADAAAAAADYAAAAAABgQAAAAAAYAAAAAABYAAAAAAAgQAAAAAAgQAAAAAADAAAAAACDAAAAAACDAAAAAAAfQAAAAABfQAAAAAAfQAAAAAADAAAAAADDAAAAAADDAAAAAACCAAAAAAAgQAAAAAAgQAAAAAAYAAAAAACYAAAAAADYAAAAAADYAAAAAADCAAAAAABCAAAAAAACAAAAAACfQAAAAAAfQAAAAABfQAAAAACCAAAAAACCAAAAAADCAAAAAAACAAAAAADYAAAAAAAYAAAAAAAYAAAAAAAYAAAAAABYAAAAAAAYAAAAAADCAAAAAAACAAAAAABCAAAAAABfQAAAAADfQAAAAAAfQAAAAACCAAAAAADCAAAAAADCAAAAAACCAAAAAACYAAAAAACYAAAAAAAYAAAAAABYAAAAAADYAAAAAABgQAAAAAADAAAAAAADAAAAAAADAAAAAADfQAAAAADfQAAAAACfQAAAAACDAAAAAAADAAAAAAADAAAAAAADAAAAAACYAAAAAABgQAAAAAAYAAAAAAAYAAAAAADYAAAAAAAgQAAAAAADAAAAAABDAAAAAABDAAAAAACfQAAAAABfQAAAAACfQAAAAABDAAAAAACDAAAAAAADAAAAAABDAAAAAADYAAAAAABgQAAAAAAYAAAAAADYAAAAAAAYAAAAAAAgQAAAAAADAAAAAAADAAAAAADDAAAAAACfQAAAAABfQAAAAACfQAAAAADDAAAAAAADAAAAAADDAAAAAADDAAAAAAAYAAAAAAAgQAAAAAAYAAAAAADYAAAAAABYAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAACgQAAAAAAgQAAAAAAYAAAAAADgQAAAAAAgQAAAAAAYAAAAAACYAAAAAACYAAAAAACYAAAAAACYAAAAAADgQAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAYAAAAAAAYAAAAAAAYAAAAAAAgQAAAAAAYAAAAAAAYAAAAAAAYAAAAAACYAAAAAABYAAAAAACgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAYAAAAAAAYAAAAAAAYAAAAAADYAAAAAACYAAAAAACYAAAAAAAYAAAAAAAYAAAAAABYAAAAAACYAAAAAADYAAAAAABgQAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAYAAAAAADYAAAAAABYAAAAAABYAAAAAACYAAAAAABgQAAAAAAYAAAAAAAYAAAAAACYAAAAAAAYAAAAAACYAAAAAABgQAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAA version: 6 2,3: ind: 2,3 @@ -353,7 +353,7 @@ entities: version: 6 3,4: ind: 3,4 - tiles: gQAAAAAAIAAAAAABgQAAAAAAgQAAAAAAYAAAAAABgQAAAAAAYAAAAAABYAAAAAADYAAAAAADYAAAAAACYAAAAAADgQAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAIAAAAAABIAAAAAAAIAAAAAACgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAIAAAAAADgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + tiles: gQAAAAAAIAAAAAABgQAAAAAAgQAAAAAAYAAAAAABgQAAAAAAYAAAAAABYAAAAAADYAAAAAADYAAAAAACYAAAAAADgQAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAIAAAAAABIAAAAAAAIAAAAAACgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAIAAAAAADgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA version: 6 2,4: ind: 2,4 @@ -441,11 +441,11 @@ entities: version: 6 -1,-5: ind: -1,-5 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgQAAAAAAIAAAAAACgQAAAAAAIAAAAAABgQAAAAAAgQAAAAAAIAAAAAAAgQAAAAAAIAAAAAABgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAIAAAAAADgQAAAAAAgQAAAAAAgQAAAAAAIAAAAAACIAAAAAACgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAIAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAIAAAAAACgQAAAAAAIAAAAAACIAAAAAABgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAIAAAAAABgQAAAAAAIAAAAAAAIAAAAAADgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAA + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAAAgQAAAAAAgQAAAAAAYAAAAAAAYAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAAAYAAAAAAAYAAAAAAAYAAAAAAAgQAAAAAAgQAAAAAAYAAAAAAAgQAAAAAAIAAAAAACgQAAAAAAIAAAAAABgQAAAAAAgQAAAAAAIAAAAAAAgQAAAAAAIAAAAAABYAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAIAAAAAADgQAAAAAAgQAAAAAAgQAAAAAAIAAAAAACIAAAAAACgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAIAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAIAAAAAACgQAAAAAAIAAAAAACIAAAAAABgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAIAAAAAABgQAAAAAAIAAAAAAAIAAAAAADgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAA version: 6 -2,-5: ind: -2,-5 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAA + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAYAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAAgQAAAAAA version: 6 0,-5: ind: 0,-5 @@ -1262,9 +1262,7 @@ entities: color: '#FFFFFFFF' id: BrickTileSteelLineE decals: - 2507: 1,36 2508: 1,37 - 2509: 1,38 2510: 1,39 4041: 77,46 4042: 77,51 @@ -1299,13 +1297,18 @@ entities: 9612: -5,71 9911: -48,70 9912: -48,73 + - node: + zIndex: 1 + color: '#FFFFFFFF' + id: BrickTileSteelLineE + decals: + 9952: 1,36 + 9953: 1,38 - node: color: '#FFFFFFFF' id: BrickTileSteelLineN decals: - 2518: 2,35 2519: 3,35 - 2520: 4,35 2521: 5,35 2522: 6,35 2523: 7,35 @@ -1357,6 +1360,13 @@ entities: 9902: -51,74 9903: -50,74 9904: -49,74 + - node: + zIndex: 1 + color: '#FFFFFFFF' + id: BrickTileSteelLineN + decals: + 9950: 2,35 + 9951: 4,35 - node: color: '#FFFFFFFF' id: BrickTileSteelLineS @@ -1953,6 +1963,14 @@ entities: 9920: -32,75 9921: -28,74 9922: -29,77 + 10059: -58,-17 + 10060: -61,-16 + 10113: -10,-69 + 10114: -12,-72 + 10115: -14,-70 + 10116: -16,-72 + 10117: -16,-68 + 10118: -12,-67 - node: cleanable: True zIndex: 1 @@ -2173,7 +2191,6 @@ entities: 4138: -36,1 4139: -30,7 4140: -30,10 - 4141: -22,9 4142: -21,7 4143: -17,11 4144: -16,0 @@ -3082,6 +3099,164 @@ entities: 9942: -43,67 9943: -43,68 9944: -46,68 + 9984: -1,10 + 9985: 0,7 + 9986: -2,7 + 9987: -2,7 + 9988: -1,7 + 9989: -3,10 + 9990: -4,11 + 9991: -7,4 + 9992: -7,5 + 9993: -7,6 + 9994: -6,7 + 9995: -9,0 + 9996: -10,-2 + 9997: -11,-2 + 9998: -11,-1 + 9999: -13,-2 + 10000: -12,-5 + 10001: -11,-4 + 10002: -12,-4 + 10003: -12,-4 + 10004: -2,-4 + 10005: -11,-11 + 10006: -11,-10 + 10007: -11,-10 + 10008: -11,-9 + 10009: -12,-9 + 10010: -12,-9 + 10011: -11,-7 + 10012: -10,-13 + 10013: -10,-12 + 10014: -7,-16 + 10015: -8,-16 + 10016: -7,-15 + 10017: -7,-15 + 10018: -7,-18 + 10019: -4,-20 + 10020: -4,-21 + 10021: -5,-20 + 10022: -3,-19 + 10023: -3,-21 + 10024: -1,-21 + 10025: 3,-21 + 10026: 4,-19 + 10027: 4,-15 + 10028: 4,-16 + 10029: 4,-16 + 10030: 4,-17 + 10031: 4,-24 + 10032: 2,-24 + 10033: -13,-23 + 10034: -60,-28 + 10035: -61,-28 + 10036: -63,-30 + 10037: -60,-22 + 10038: -59,-22 + 10039: -59,-25 + 10040: -59,-28 + 10041: -61,-16 + 10042: -61,-16 + 10043: -61,-16 + 10044: -61,-16 + 10045: -61,-15 + 10046: -60,-14 + 10047: -57,-17 + 10048: -58,-16 + 10049: -57,-16 + 10050: -58,-17 + 10051: -54,-17 + 10052: -55,-17 + 10053: -55,-16 + 10054: -54,-16 + 10055: -53,-16 + 10056: -55,-15 + 10057: -54,-13 + 10058: -54,-13 + 10061: -60,-14 + 10062: -60,-14 + 10063: -60,-14 + 10064: -57,-17 + 10065: -55,-16 + 10066: -55,-16 + 10067: -55,-15 + 10068: -56,-16 + 10069: -56,-16 + 10070: -55,-15 + 10071: -54,-16 + 10072: -54,-16 + 10073: -54,-16 + 10074: -51,-15 + 10075: -50,-15 + 10076: -51,-13 + 10077: -52,-20 + 10078: -52,-20 + 10079: -52,-20 + 10080: -53,-20 + 10081: -51,-20 + 10082: -46,-23 + 10083: -17,-70 + 10084: -15,-69 + 10085: -15,-70 + 10086: -14,-70 + 10087: -13,-69 + 10088: -12,-69 + 10089: -11,-70 + 10090: -11,-71 + 10091: -11,-72 + 10092: -12,-72 + 10093: -12,-71 + 10094: -14,-72 + 10095: -15,-72 + 10096: -15,-72 + 10097: -16,-72 + 10098: -16,-72 + 10099: -15,-72 + 10100: -10,-69 + 10101: -10,-69 + 10102: -11,-69 + 10103: -11,-69 + 10104: -11,-70 + 10105: -13,-70 + 10106: -16,-68 + 10107: -16,-69 + 10108: -14,-69 + 10109: -12,-70 + 10110: -11,-70 + 10111: -16,-70 + 10112: -17,-68 + 10119: -16,-66 + 10120: -13,-66 + 10121: -12,-66 + 10122: -13,-67 + 10123: -12,-67 + 10124: -11,-67 + 10125: -13,-67 + 10126: -14,-67 + 10127: -14,-66 + 10128: -15,-66 + 10129: -15,-65 + 10130: -13,-65 + 10131: -13,-65 + 10132: -9,-65 + 10133: -8,-64 + 10134: -14,-63 + 10146: -24,9 + 10147: -25,9 + 10148: -21,9 + 10149: -21,10 + 10150: -20,9 + 10151: -24,7 + 10152: -24,4 + 10153: -22,5 + 10154: -21,4 + 10155: -20,13 + 10156: -22,13 + 10157: -23,14 + 10158: -24,14 + 10159: -24,11 + 10160: -20,12 - node: cleanable: True zIndex: 1 @@ -3202,6 +3377,15 @@ entities: 8588: 28,23 8589: 29,25 8590: 29,25 + 9954: -1,22 + 9955: -1,21 + 9956: -3,22 + 9957: -3,22 + 9958: -4,22 + 9959: -5,19 + 9960: -5,20 + 9961: -3,21 + 9962: -2,21 - node: cleanable: True color: '#FFFFFFFF' @@ -3270,7 +3454,6 @@ entities: 3000: -11,6 3001: -9,8 3002: -19,8 - 3003: -24,9 3004: -19,11 3005: -16,12 3006: -17,18 @@ -3300,7 +3483,6 @@ entities: 3032: -31,39 3033: -38,41 3034: -28,39 - 3035: -35,45 3036: -30,43 3037: -28,46 3038: -30,51 @@ -3985,7 +4167,6 @@ entities: 3828: -26,13 3829: -26,12 3830: -26,10 - 3831: -25,9 3832: -26,8 3833: -24,10 3834: -23,8 @@ -4624,6 +4805,25 @@ entities: 9861: -31,78 9862: -29,75 9863: -29,75 + 9965: -2,17 + 9966: -2,17 + 9967: -3,17 + 9968: -4,15 + 9969: -1,15 + 9970: -1,15 + 9971: -4,17 + 9972: -4,17 + 9973: -13,17 + 9974: -13,17 + 9975: -12,10 + 9976: -9,11 + 9977: -8,9 + 9978: -3,10 + 9979: -4,10 + 9980: -5,10 + 9981: -5,11 + 9982: -4,11 + 9983: -3,11 - node: cleanable: True zIndex: 1 @@ -4643,6 +4843,8 @@ entities: 8165: 42,4 8166: 42,4 8167: 42,4 + 9963: -5,22 + 9964: -4,21 - node: cleanable: True color: '#B02E26FF' @@ -7632,18 +7834,18 @@ entities: 2541: 0,33 2542: 0,35 2543: 1,34 - 2544: 2,35 2545: 3,34 - 2546: 1,36 2547: 0,37 2548: 0,39 - 2549: 1,38 2550: 5,34 - 2551: 4,35 2579: 6,41 2975: -17,-33 2981: -17,-37 2985: -18,-36 + 9946: 4,35 + 9947: 2,35 + 9948: 1,36 + 9949: 1,38 - node: color: '#8C347F96' id: QuarterTileOverlayGreyscale90 @@ -7847,40 +8049,47 @@ entities: 7279: 28.908653,-33.8389 7347: -20.375824,19.28789 - node: + zIndex: 1 color: '#FFFFFFFF' id: SpaceStationSign1 decals: - 2058: -25,9 + 10139: -25,9 - node: + zIndex: 1 color: '#FFFFFFFF' id: SpaceStationSign2 decals: - 2034: -24,9 + 10140: -24,9 - node: + zIndex: 1 color: '#FFFFFFFF' id: SpaceStationSign3 decals: - 1863: -23,9 + 10141: -23,9 - node: + zIndex: 1 color: '#FFFFFFFF' id: SpaceStationSign4 decals: - 1864: -22,9 + 10142: -22,9 - node: + zIndex: 1 color: '#FFFFFFFF' id: SpaceStationSign5 decals: - 1865: -21,9 + 10143: -21,9 - node: + zIndex: 1 color: '#FFFFFFFF' id: SpaceStationSign6 decals: - 1866: -20,9 + 10144: -20,9 - node: + zIndex: 1 color: '#FFFFFFFF' id: SpaceStationSign7 decals: - 1867: -19,9 + 10145: -19,9 - node: color: '#32CD3293' id: ThreeQuarterTileOverlayGreyscale @@ -9860,7 +10069,7 @@ entities: -4,-14: 0: 49631 -4,-17: - 0: 61441 + 0: 65473 -3,-16: 0: 46008 -3,-15: @@ -9868,7 +10077,7 @@ entities: -3,-14: 0: 62139 -3,-17: - 0: 61568 + 0: 61872 -2,-16: 0: 3839 -2,-15: @@ -11076,8 +11285,8 @@ entities: 13,15: 0: 57308 13,16: - 0: 4381 - 2: 51200 + 0: 797 + 2: 52224 14,13: 0: 65535 14,14: @@ -11086,9 +11295,9 @@ entities: 0: 30583 14,16: 0: 7 - 2: 61952 + 2: 65280 15,16: - 2: 12835 + 2: 13107 7,12: 0: 61408 8,13: @@ -11220,7 +11429,7 @@ entities: -1,16: 0: 63675 12,17: - 2: 61448 + 2: 61440 12,18: 2: 52479 11,17: @@ -11232,7 +11441,7 @@ entities: 11,19: 2: 45055 13,17: - 2: 63627 + 2: 63624 13,18: 2: 39423 13,19: @@ -11240,7 +11449,7 @@ entities: 12,20: 2: 15 14,17: - 2: 61986 + 2: 61998 14,18: 2: 8959 14,19: @@ -11250,7 +11459,7 @@ entities: 14,20: 2: 15 15,17: - 2: 65058 + 2: 65059 15,18: 2: 8191 15,19: @@ -11603,15 +11812,17 @@ entities: 0: 631 -6,19: 2: 8 - -5,-18: - 0: 48000 + -4,-19: + 0: 20480 -4,-18: - 2: 3584 + 0: 65367 + -5,-18: + 0: 47872 + 2: 4 -3,-18: - 2: 18176 + 0: 29495 -2,-18: 0: 61440 - 2: 96 -1,-18: 0: 65280 -1,-17: @@ -14887,6 +15098,11 @@ entities: - type: Transform pos: -36.5,15.5 parent: 12 + - uid: 10620 + components: + - type: Transform + pos: -15.5,-70.5 + parent: 12 - uid: 10786 components: - type: Transform @@ -14899,6 +15115,11 @@ entities: linkedPorts: 10785: - DoorStatus: DoorBolt + - uid: 12234 + components: + - type: Transform + pos: -13.5,-70.5 + parent: 12 - uid: 14903 components: - type: Transform @@ -15246,18 +15467,6 @@ entities: linkedPorts: 27864: - DoorStatus: DoorBolt - - uid: 19844 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 52.5,67.5 - parent: 12 - - type: DeviceLinkSink - invokeCounter: 2 - - type: DeviceLinkSource - linkedPorts: - 18560: - - DoorStatus: DoorBolt - uid: 25678 components: - type: Transform @@ -15310,6 +15519,17 @@ entities: linkedPorts: 27232: - DoorStatus: DoorBolt + - uid: 31450 + components: + - type: Transform + pos: 53.5,66.5 + parent: 12 + - type: DeviceLinkSink + invokeCounter: 1 + - type: DeviceLinkSource + linkedPorts: + 161: + - DoorStatus: DoorBolt - proto: AirlockExternalGlassShuttleArrivals entities: - uid: 14686 @@ -15388,6 +15608,12 @@ entities: parent: 12 - proto: AirlockExternalGlassShuttleEscape entities: + - uid: 573 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -9.5,-71.5 + parent: 12 - uid: 1033 components: - type: Transform @@ -15412,12 +15638,6 @@ entities: rot: -1.5707963267948966 rad pos: -56.5,-39.5 parent: 12 - - uid: 30543 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -15.5,-67.5 - parent: 12 - proto: AirlockExternalGlassShuttleLocked entities: - uid: 552 @@ -15534,41 +15754,40 @@ entities: parent: 12 - proto: AirlockExternalLocked entities: - - uid: 530 + - uid: 161 components: - type: Transform - rot: 3.141592653589793 rad - pos: 5.5,-5.5 + pos: 52.5,64.5 parent: 12 - type: DeviceLinkSink invokeCounter: 1 - type: DeviceLinkSource linkedPorts: - 925: + 31450: - DoorStatus: DoorBolt - - uid: 925 + - uid: 530 components: - type: Transform rot: 3.141592653589793 rad - pos: 5.5,-3.5 + pos: 5.5,-5.5 parent: 12 - type: DeviceLinkSink invokeCounter: 1 - type: DeviceLinkSource linkedPorts: - 530: + 925: - DoorStatus: DoorBolt - - uid: 18560 + - uid: 925 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 52.5,64.5 + rot: 3.141592653589793 rad + pos: 5.5,-3.5 parent: 12 - type: DeviceLinkSink invokeCounter: 1 - type: DeviceLinkSource linkedPorts: - 19844: + 530: - DoorStatus: DoorBolt - uid: 25663 components: @@ -15584,10 +15803,15 @@ entities: - DoorStatus: DoorBolt - proto: AirlockExternalShuttleLocked entities: - - uid: 28051 + - uid: 31079 components: - type: Transform - pos: -16.5,-70.5 + pos: -15.5,-72.5 + parent: 12 + - uid: 31080 + components: + - type: Transform + pos: -13.5,-72.5 parent: 12 - proto: AirlockFreezerLocked entities: @@ -19147,6 +19371,11 @@ entities: rot: 3.141592653589793 rad pos: -47.5,67.5 parent: 12 + - uid: 9640 + components: + - type: Transform + pos: -0.5,5.5 + parent: 12 - uid: 9899 components: - type: Transform @@ -19390,12 +19619,6 @@ entities: rot: 3.141592653589793 rad pos: -39.5,-25.5 parent: 12 - - uid: 21922 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -0.5,1.5 - parent: 12 - uid: 22225 components: - type: Transform @@ -19840,6 +20063,12 @@ entities: parent: 12 - proto: AtmosDeviceFanDirectional entities: + - uid: 159 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -9.5,-71.5 + parent: 12 - uid: 193 components: - type: Transform @@ -19869,10 +20098,10 @@ entities: - type: Transform pos: 80.5,-33.5 parent: 12 - - uid: 745 + - uid: 563 components: - type: Transform - pos: -16.5,-70.5 + pos: -15.5,-72.5 parent: 12 - uid: 919 components: @@ -19880,12 +20109,6 @@ entities: rot: 1.5707963267948966 rad pos: 14.5,-51.5 parent: 12 - - uid: 1049 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -15.5,-67.5 - parent: 12 - uid: 1355 components: - type: Transform @@ -20054,6 +20277,11 @@ entities: rot: -1.5707963267948966 rad pos: -47.5,2.5 parent: 12 + - uid: 31081 + components: + - type: Transform + pos: -13.5,-72.5 + parent: 12 - uid: 31633 components: - type: Transform @@ -22499,6 +22727,13 @@ entities: rot: 1.5707963267948966 rad pos: 32.5,25.5 parent: 12 +- proto: BorgModuleAnomaly + entities: + - uid: 31075 + components: + - type: Transform + pos: -40.50334,-38.27384 + parent: 12 - proto: BorgModuleCable entities: - uid: 1780 @@ -22506,6 +22741,18 @@ entities: - type: Transform pos: -34.459003,-34.4371 parent: 12 + - uid: 31065 + components: + - type: Transform + pos: 57.40648,-4.2987256 + parent: 12 +- proto: BorgModuleDiagnosis + entities: + - uid: 31067 + components: + - type: Transform + pos: -1.522131,-49.55343 + parent: 12 - proto: BorgModuleFireExtinguisher entities: - uid: 2071 @@ -22544,6 +22791,11 @@ entities: - type: Transform pos: 22.528473,66.519966 parent: 12 + - uid: 31076 + components: + - type: Transform + pos: 40.50182,45.594707 + parent: 12 - proto: BorgModuleTool entities: - uid: 1781 @@ -22555,8 +22807,8 @@ entities: - uid: 1782 components: - type: Transform - rot: -62.83185307179591 rad - pos: -19.470467,-27.590706 + rot: -6.283185307179586 rad + pos: -4.4899044,50.539303 parent: 12 - proto: BoxBeaker entities: @@ -22831,17 +23083,17 @@ entities: - uid: 20863 components: - type: Transform - pos: -32.4606,65.445 + pos: -32.540394,65.31164 parent: 12 - uid: 20864 components: - type: Transform - pos: -32.497322,65.50615 + pos: -32.602894,65.63478 parent: 12 - uid: 20865 components: - type: Transform - pos: -32.4606,65.51838 + pos: -32.259144,65.467995 parent: 12 - proto: BoxLightbulb entities: @@ -23185,6 +23437,12 @@ entities: rot: -1.5707963267948966 rad pos: 1.5,-13.5 parent: 12 + - uid: 11842 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -7.5,-24.5 + parent: 12 - uid: 11866 components: - type: Transform @@ -23272,6 +23530,32 @@ entities: rot: -1.5707963267948966 rad pos: 50.5,-7.5 parent: 12 + - uid: 31379 + components: + - type: Transform + pos: -20.5,15.5 + parent: 12 + - uid: 31380 + components: + - type: Transform + pos: 12.5,19.5 + parent: 12 + - uid: 31381 + components: + - type: Transform + pos: 10.5,19.5 + parent: 12 + - uid: 31513 + components: + - type: Transform + pos: -49.5,-20.5 + parent: 12 + - uid: 31518 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -49.5,-28.5 + parent: 12 - proto: CableApcExtension entities: - uid: 14 @@ -23499,6 +23783,11 @@ entities: - type: Transform pos: 30.5,-57.5 parent: 12 + - uid: 745 + components: + - type: Transform + pos: 43.5,12.5 + parent: 12 - uid: 746 components: - type: Transform @@ -23534,6 +23823,11 @@ entities: - type: Transform pos: -30.5,-25.5 parent: 12 + - uid: 1049 + components: + - type: Transform + pos: 46.5,13.5 + parent: 12 - uid: 1054 components: - type: Transform @@ -31099,11 +31393,6 @@ entities: - type: Transform pos: 44.5,12.5 parent: 12 - - uid: 12135 - components: - - type: Transform - pos: 43.5,12.5 - parent: 12 - uid: 12136 components: - type: Transform @@ -31169,11 +31458,6 @@ entities: - type: Transform pos: 41.5,14.5 parent: 12 - - uid: 12163 - components: - - type: Transform - pos: 42.5,14.5 - parent: 12 - uid: 12164 components: - type: Transform @@ -42929,16 +43213,6 @@ entities: - type: Transform pos: 45.5,1.5 parent: 12 - - uid: 29339 - components: - - type: Transform - pos: 45.5,4.5 - parent: 12 - - uid: 29340 - components: - - type: Transform - pos: 45.5,5.5 - parent: 12 - uid: 29341 components: - type: Transform @@ -44024,6 +44298,16 @@ entities: - type: Transform pos: 10.5,-24.5 parent: 12 + - uid: 31055 + components: + - type: Transform + pos: -0.5,4.5 + parent: 12 + - uid: 31056 + components: + - type: Transform + pos: -0.5,5.5 + parent: 12 - uid: 31068 components: - type: Transform @@ -44054,6 +44338,56 @@ entities: - type: Transform pos: -52.5,-50.5 parent: 12 + - uid: 31165 + components: + - type: Transform + pos: -15.5,-68.5 + parent: 12 + - uid: 31166 + components: + - type: Transform + pos: -14.5,-68.5 + parent: 12 + - uid: 31169 + components: + - type: Transform + pos: -13.5,-68.5 + parent: 12 + - uid: 31170 + components: + - type: Transform + pos: -12.5,-68.5 + parent: 12 + - uid: 31171 + components: + - type: Transform + pos: -11.5,-68.5 + parent: 12 + - uid: 31172 + components: + - type: Transform + pos: -10.5,-68.5 + parent: 12 + - uid: 31173 + components: + - type: Transform + pos: -10.5,-69.5 + parent: 12 + - uid: 31174 + components: + - type: Transform + pos: -10.5,-70.5 + parent: 12 + - uid: 31238 + components: + - type: Transform + pos: -10.5,-71.5 + parent: 12 + - uid: 31266 + components: + - type: Transform + pos: -14.5,-69.5 + parent: 12 - uid: 31275 components: - type: Transform @@ -44184,6 +44518,16 @@ entities: - type: Transform pos: 1.5,-63.5 parent: 12 + - uid: 31349 + components: + - type: Transform + pos: -14.5,-70.5 + parent: 12 + - uid: 31353 + components: + - type: Transform + pos: -14.5,-71.5 + parent: 12 - uid: 31365 components: - type: Transform @@ -48452,11 +48796,6 @@ entities: - type: Transform pos: -1.5,35.5 parent: 12 - - uid: 11936 - components: - - type: Transform - pos: 45.5,4.5 - parent: 12 - uid: 11938 components: - type: Transform @@ -54877,31 +55216,6 @@ entities: - type: Transform pos: 4.5,-54.5 parent: 12 - - uid: 29182 - components: - - type: Transform - pos: 45.5,0.5 - parent: 12 - - uid: 29183 - components: - - type: Transform - pos: 45.5,1.5 - parent: 12 - - uid: 29184 - components: - - type: Transform - pos: 45.5,2.5 - parent: 12 - - uid: 29185 - components: - - type: Transform - pos: 45.5,3.5 - parent: 12 - - uid: 29307 - components: - - type: Transform - pos: 45.5,5.5 - parent: 12 - uid: 29426 components: - type: Transform @@ -56337,6 +56651,11 @@ entities: - type: Transform pos: 43.5,58.5 parent: 12 + - uid: 571 + components: + - type: Transform + pos: -0.5,4.5 + parent: 12 - uid: 601 components: - type: Transform @@ -59702,11 +60021,26 @@ entities: - type: Transform pos: 31.5,15.5 parent: 12 + - uid: 12056 + components: + - type: Transform + pos: -0.5,5.5 + parent: 12 - uid: 12142 components: - type: Transform pos: 37.5,18.5 parent: 12 + - uid: 12237 + components: + - type: Transform + pos: 53.5,-0.5 + parent: 12 + - uid: 12238 + components: + - type: Transform + pos: 52.5,-0.5 + parent: 12 - uid: 12292 components: - type: Transform @@ -65932,16 +66266,6 @@ entities: - type: Transform pos: -25.5,70.5 parent: 12 - - uid: 29323 - components: - - type: Transform - pos: 45.5,5.5 - parent: 12 - - uid: 29324 - components: - - type: Transform - pos: 45.5,4.5 - parent: 12 - uid: 29325 components: - type: Transform @@ -66757,6 +67081,56 @@ entities: - type: Transform pos: -5.5,-65.5 parent: 12 + - uid: 31564 + components: + - type: Transform + pos: 51.5,-0.5 + parent: 12 + - uid: 31620 + components: + - type: Transform + pos: 50.5,-0.5 + parent: 12 + - uid: 31621 + components: + - type: Transform + pos: 49.5,-0.5 + parent: 12 + - uid: 31622 + components: + - type: Transform + pos: 48.5,-0.5 + parent: 12 + - uid: 31625 + components: + - type: Transform + pos: 47.5,-0.5 + parent: 12 + - uid: 31626 + components: + - type: Transform + pos: 46.5,-0.5 + parent: 12 + - uid: 31627 + components: + - type: Transform + pos: 45.5,-0.5 + parent: 12 + - uid: 31645 + components: + - type: Transform + pos: 45.5,0.5 + parent: 12 + - uid: 31646 + components: + - type: Transform + pos: 45.5,1.5 + parent: 12 + - uid: 31647 + components: + - type: Transform + pos: 45.5,2.5 + parent: 12 - uid: 31771 components: - type: Transform @@ -67136,6 +67510,30 @@ entities: parent: 12 - proto: Carpet entities: + - uid: 2274 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 55.5,31.5 + parent: 12 + - uid: 2276 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 54.5,31.5 + parent: 12 + - uid: 2340 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 53.5,29.5 + parent: 12 + - uid: 2897 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 54.5,28.5 + parent: 12 - uid: 4023 components: - type: Transform @@ -67195,6 +67593,54 @@ entities: - type: Transform pos: 23.5,48.5 parent: 12 + - uid: 4890 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 53.5,27.5 + parent: 12 + - uid: 5385 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 53.5,28.5 + parent: 12 + - uid: 5411 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 55.5,30.5 + parent: 12 + - uid: 6288 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 56.5,29.5 + parent: 12 + - uid: 6747 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 55.5,27.5 + parent: 12 + - uid: 7338 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 53.5,30.5 + parent: 12 + - uid: 7584 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 53.5,31.5 + parent: 12 + - uid: 7620 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 56.5,31.5 + parent: 12 - uid: 10613 components: - type: Transform @@ -67213,6 +67659,48 @@ entities: rot: -1.5707963267948966 rad pos: -21.5,-0.5 parent: 12 + - uid: 12401 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 54.5,29.5 + parent: 12 + - uid: 12402 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 55.5,28.5 + parent: 12 + - uid: 12403 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 55.5,29.5 + parent: 12 + - uid: 12404 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 56.5,27.5 + parent: 12 + - uid: 12405 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 54.5,27.5 + parent: 12 + - uid: 12406 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 54.5,30.5 + parent: 12 + - uid: 12407 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 56.5,30.5 + parent: 12 - uid: 12727 components: - type: Transform @@ -67273,6 +67761,12 @@ entities: rot: -1.5707963267948966 rad pos: 56.5,36.5 parent: 12 + - uid: 13145 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 56.5,28.5 + parent: 12 - uid: 13178 components: - type: Transform @@ -68598,126 +69092,6 @@ entities: rot: -1.5707963267948966 rad pos: 56.5,32.5 parent: 12 - - uid: 13145 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 56.5,31.5 - parent: 12 - - uid: 13146 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 55.5,30.5 - parent: 12 - - uid: 13147 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 54.5,29.5 - parent: 12 - - uid: 13148 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 53.5,28.5 - parent: 12 - - uid: 13149 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 54.5,27.5 - parent: 12 - - uid: 13150 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 55.5,28.5 - parent: 12 - - uid: 13151 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 56.5,29.5 - parent: 12 - - uid: 13152 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 56.5,27.5 - parent: 12 - - uid: 13153 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 54.5,31.5 - parent: 12 - - uid: 13154 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 53.5,30.5 - parent: 12 - - uid: 13155 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 53.5,31.5 - parent: 12 - - uid: 13156 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 53.5,29.5 - parent: 12 - - uid: 13157 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 54.5,30.5 - parent: 12 - - uid: 13158 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 55.5,31.5 - parent: 12 - - uid: 13159 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 56.5,30.5 - parent: 12 - - uid: 13160 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 55.5,29.5 - parent: 12 - - uid: 13161 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 54.5,28.5 - parent: 12 - - uid: 13162 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 53.5,27.5 - parent: 12 - - uid: 13163 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 55.5,27.5 - parent: 12 - - uid: 13164 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 56.5,28.5 - parent: 12 - uid: 13170 components: - type: Transform @@ -72929,6 +73303,11 @@ entities: rot: -1.5707963267948966 rad pos: -9.5,-0.5 parent: 12 + - uid: 22182 + components: + - type: Transform + pos: 54.5,66.5 + parent: 12 - uid: 22286 components: - type: Transform @@ -73679,11 +74058,6 @@ entities: rot: 1.5707963267948966 rad pos: -48.5,46.5 parent: 12 - - uid: 25555 - components: - - type: Transform - pos: 51.5,68.5 - parent: 12 - uid: 25758 components: - type: Transform @@ -75299,16 +75673,6 @@ entities: rot: 3.141592653589793 rad pos: -41.5,66.5 parent: 12 - - uid: 30017 - components: - - type: Transform - pos: 53.5,68.5 - parent: 12 - - uid: 30018 - components: - - type: Transform - pos: 52.5,68.5 - parent: 12 - uid: 30131 components: - type: Transform @@ -75659,6 +76023,21 @@ entities: - type: Transform pos: -57.5,-43.5 parent: 12 + - uid: 31107 + components: + - type: Transform + pos: -15.5,-71.5 + parent: 12 + - uid: 31111 + components: + - type: Transform + pos: -13.5,-71.5 + parent: 12 + - uid: 31113 + components: + - type: Transform + pos: -14.5,-71.5 + parent: 12 - uid: 31270 components: - type: Transform @@ -75677,12 +76056,32 @@ entities: rot: 1.5707963267948966 rad pos: -2.5,15.5 parent: 12 + - uid: 31396 + components: + - type: Transform + pos: 57.5,66.5 + parent: 12 - uid: 31419 components: - type: Transform rot: 3.141592653589793 rad pos: -16.5,-64.5 parent: 12 + - uid: 31442 + components: + - type: Transform + pos: 54.5,67.5 + parent: 12 + - uid: 31445 + components: + - type: Transform + pos: 55.5,66.5 + parent: 12 + - uid: 31446 + components: + - type: Transform + pos: 56.5,66.5 + parent: 12 - uid: 32022 components: - type: Transform @@ -77209,6 +77608,16 @@ entities: rot: 3.141592653589793 rad pos: 15.5,-12.5 parent: 12 + - uid: 31149 + components: + - type: Transform + pos: -12.5,-68.5 + parent: 12 + - uid: 31160 + components: + - type: Transform + pos: -11.5,-68.5 + parent: 12 - uid: 31264 components: - type: Transform @@ -77319,6 +77728,11 @@ entities: - type: Transform pos: -36.5,-56.5 parent: 12 + - uid: 31159 + components: + - type: Transform + pos: -13.5,-68.5 + parent: 12 - uid: 31265 components: - type: Transform @@ -78095,10 +78509,10 @@ entities: - type: Transform pos: -52.5,-34.5 parent: 12 - - uid: 28303 + - uid: 31099 components: - type: Transform - pos: -19.5,-64.5 + pos: -12.5,-66.5 parent: 12 - uid: 31367 components: @@ -78382,6 +78796,11 @@ entities: parent: 12 - proto: ClosetEmergencyN2FilledRandom entities: + - uid: 8668 + components: + - type: Transform + pos: -13.5,-66.5 + parent: 12 - uid: 14957 components: - type: Transform @@ -78479,6 +78898,11 @@ entities: - type: Transform pos: 48.5,-36.5 parent: 12 + - uid: 11261 + components: + - type: Transform + pos: -36.5,55.5 + parent: 12 - uid: 12023 components: - type: Transform @@ -78861,6 +79285,11 @@ entities: - type: Transform pos: 40.5,12.5 parent: 12 + - uid: 12135 + components: + - type: Transform + pos: -9.5,-68.5 + parent: 12 - uid: 12246 components: - type: Transform @@ -79792,8 +80221,8 @@ entities: - uid: 5033 components: - type: Transform - rot: -119.380520836412 rad - pos: -19.723452,-30.617403 + rot: -6.283185307179586 rad + pos: -19.489866,-29.595835 parent: 12 - proto: ClothingMaskBandBlue entities: @@ -79847,8 +80276,8 @@ entities: - uid: 10900 components: - type: Transform - rot: -119.380520836412 rad - pos: -19.545881,-30.396193 + rot: -6.283185307179586 rad + pos: -19.677366,-30.367203 parent: 12 - proto: ClothingMaskBreathMedicalSecurity entities: @@ -83592,15 +84021,15 @@ entities: - type: Transform pos: -55.5,-39.5 parent: 12 - - uid: 916 + - uid: 703 components: - type: Transform - pos: -18.5,73.5 + pos: -10.5,-71.5 parent: 12 - - uid: 2340 + - uid: 916 components: - type: Transform - pos: -16.5,-67.5 + pos: -18.5,73.5 parent: 12 - uid: 7275 components: @@ -95559,6 +95988,11 @@ entities: - type: Transform pos: -33.58722,44.43513 parent: 12 + - uid: 31049 + components: + - type: Transform + pos: -40.499992,47.607746 + parent: 12 - uid: 31815 components: - type: Transform @@ -96744,6 +97178,22 @@ entities: rot: 1.5707963267948966 rad pos: 32.5,14.5 parent: 12 + - uid: 31360 + components: + - type: Transform + pos: -12.5,-68.5 + parent: 12 + - uid: 31361 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -60.5,-27.5 + parent: 12 + - uid: 31362 + components: + - type: Transform + pos: -59.5,-21.5 + parent: 12 - uid: 31514 components: - type: Transform @@ -97255,8 +97705,8 @@ entities: pos: 7.5,57.5 parent: 12 - type: FaxMachine - name: Recreation longue - destinationAddress: Recreation longue + name: Recreation lounge + destinationAddress: Recreation lounge - uid: 26279 components: - type: Transform @@ -102397,6 +102847,13 @@ entities: - type: Transform pos: -34.299114,38.455334 parent: 12 +- proto: FoodBoxPizzaFilled + entities: + - uid: 10911 + components: + - type: Transform + pos: 0.5,52.5 + parent: 12 - proto: FoodBreadMoldySlice entities: - uid: 3240 @@ -102407,7 +102864,7 @@ entities: - uid: 31123 components: - type: Transform - pos: -30.5,-57.5 + pos: -30.467789,-57.532593 parent: 12 - proto: FoodBreadPlain entities: @@ -102528,13 +102985,6 @@ entities: - type: Transform pos: 57.538345,56.66531 parent: 12 -- proto: FoodCornTrash - entities: - - uid: 31149 - components: - - type: Transform - pos: -34.115353,-56.58399 - parent: 12 - proto: FoodFrozenSnowcone entities: - uid: 22491 @@ -102654,7 +103104,7 @@ entities: - uid: 31124 components: - type: Transform - pos: -30.5,-58.5 + pos: -30.5164,-58.581932 parent: 12 - proto: FoodPizzaUraniumSlice entities: @@ -102919,7 +103369,7 @@ entities: - uid: 31133 components: - type: Transform - pos: -28.587122,-59.26843 + pos: -28.70083,-57.79198 parent: 12 - proto: Football entities: @@ -139733,11 +140183,6 @@ entities: - type: Transform pos: -46.5,0.5 parent: 12 - - uid: 8668 - components: - - type: Transform - pos: -47.5,0.5 - parent: 12 - uid: 8713 components: - type: Transform @@ -139851,7 +140296,7 @@ entities: - uid: 9971 components: - type: Transform - pos: -47.5,3.5 + pos: 60.5,65.5 parent: 12 - uid: 10060 components: @@ -140363,6 +140808,11 @@ entities: rot: 1.5707963267948966 rad pos: -3.5,8.5 parent: 12 + - uid: 10724 + components: + - type: Transform + pos: -14.5,-70.5 + parent: 12 - uid: 10725 components: - type: Transform @@ -143440,11 +143890,6 @@ entities: rot: 1.5707963267948966 rad pos: 61.5,-11.5 parent: 12 - - uid: 25558 - components: - - type: Transform - pos: 61.5,66.5 - parent: 12 - uid: 25559 components: - type: Transform @@ -143982,11 +144427,6 @@ entities: - type: Transform pos: 6.5,76.5 parent: 12 - - uid: 27240 - components: - - type: Transform - pos: 61.5,67.5 - parent: 12 - uid: 27248 components: - type: Transform @@ -145444,26 +145884,6 @@ entities: - type: Transform pos: -39.5,65.5 parent: 12 - - uid: 30971 - components: - - type: Transform - pos: -14.5,-65.5 - parent: 12 - - uid: 30972 - components: - - type: Transform - pos: -13.5,-65.5 - parent: 12 - - uid: 30973 - components: - - type: Transform - pos: -12.5,-65.5 - parent: 12 - - uid: 30977 - components: - - type: Transform - pos: -11.5,-65.5 - parent: 12 - uid: 30978 components: - type: Transform @@ -145573,6 +145993,11 @@ entities: rot: 3.141592653589793 rad pos: -56.5,-41.5 parent: 12 + - uid: 31103 + components: + - type: Transform + pos: -9.5,-70.5 + parent: 12 - uid: 31163 components: - type: Transform @@ -145645,6 +146070,11 @@ entities: - type: Transform pos: 2.5,-62.5 parent: 12 + - uid: 31441 + components: + - type: Transform + pos: 60.5,68.5 + parent: 12 - uid: 31451 components: - type: Transform @@ -146705,6 +147135,14 @@ entities: rot: -12.566370614359172 rad pos: -2.5072865,-0.47896957 parent: 12 +- proto: IntercomAll + entities: + - uid: 31057 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -0.5,1.5 + parent: 12 - proto: IntercomAssembly entities: - uid: 4791 @@ -146745,11 +147183,6 @@ entities: rot: 3.141592653589793 rad pos: -33.5,29.5 parent: 12 - - uid: 21479 - components: - - type: Transform - pos: -25.5,17.5 - parent: 12 - uid: 23622 components: - type: Transform @@ -146774,6 +147207,12 @@ entities: rot: 3.141592653589793 rad pos: -40.5,-44.5 parent: 12 + - uid: 31078 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -25.5,17.5 + parent: 12 - proto: IntercomEngineering entities: - uid: 1484 @@ -147054,8 +147493,7 @@ entities: - uid: 28698 components: - type: Transform - rot: -6.283185307179586 rad - pos: 57.513466,-4.4312396 + pos: 57.646065,-4.6948333 parent: 12 - type: GasTank toggleActionEntity: 28700 @@ -148441,6 +148879,11 @@ entities: parent: 12 - proto: LootSpawnerIndustrial entities: + - uid: 1166 + components: + - type: Transform + pos: 45.5,5.5 + parent: 12 - uid: 21945 components: - type: Transform @@ -148955,6 +149398,11 @@ entities: - type: Transform pos: -52.5,49.5 parent: 12 + - uid: 31359 + components: + - type: Transform + pos: -11.5,-68.5 + parent: 12 - uid: 31676 components: - type: Transform @@ -149072,6 +149520,11 @@ entities: - type: Transform pos: -39.5,-50.5 parent: 12 + - uid: 31355 + components: + - type: Transform + pos: -11.5,-66.5 + parent: 12 - uid: 31372 components: - type: Transform @@ -149214,6 +149667,11 @@ entities: - type: Transform pos: 42.5,-42.5 parent: 12 + - uid: 29324 + components: + - type: Transform + pos: -10.5,-66.5 + parent: 12 - uid: 29620 components: - type: Transform @@ -149513,6 +149971,11 @@ entities: - type: Transform pos: -11.468502,-43.455402 parent: 12 + - uid: 31161 + components: + - type: Transform + pos: -11.5,-71.5 + parent: 12 - uid: 31323 components: - type: Transform @@ -149677,40 +150140,52 @@ entities: rot: -1.5707963267948966 rad pos: 8.5,-40.5 parent: 12 - - uid: 4260 + - uid: 9395 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 6.5,-40.5 + pos: -21.5,-27.5 parent: 12 - - uid: 4570 + - uid: 10736 components: - type: Transform rot: -1.5707963267948966 rad pos: 4.5,-41.5 parent: 12 - - uid: 5042 + - uid: 10737 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 6.5,-40.5 + parent: 12 + - uid: 10738 components: - type: Transform rot: -1.5707963267948966 rad pos: 4.5,-40.5 parent: 12 - - uid: 5709 + - uid: 10939 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 6.5,-44.5 + parent: 12 + - uid: 11000 components: - type: Transform rot: -1.5707963267948966 rad pos: 4.5,-43.5 parent: 12 - - uid: 6747 + - uid: 11001 components: - type: Transform rot: -1.5707963267948966 rad - pos: 6.5,-41.5 + pos: 6.5,-43.5 parent: 12 - - uid: 9395 + - uid: 11220 components: - type: Transform - pos: -21.5,-27.5 + rot: -1.5707963267948966 rad + pos: 6.5,-41.5 parent: 12 - uid: 12394 components: @@ -149760,24 +150235,12 @@ entities: rot: -1.5707963267948966 rad pos: 8.5,-43.5 parent: 12 - - uid: 26149 + - uid: 31077 components: - type: Transform rot: -1.5707963267948966 rad pos: 4.5,-44.5 parent: 12 - - uid: 26150 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 6.5,-43.5 - parent: 12 - - uid: 26152 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 6.5,-44.5 - parent: 12 - proto: MouseTimedSpawner entities: - uid: 890 @@ -153926,6 +154389,12 @@ entities: rot: 1.5707963267948966 rad pos: -12.5,74.5 parent: 12 + - uid: 11221 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -34.5,47.5 + parent: 12 - uid: 11223 components: - type: Transform @@ -153938,6 +154407,12 @@ entities: rot: 1.5707963267948966 rad pos: -13.5,-50.5 parent: 12 + - uid: 11796 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -33.5,57.5 + parent: 12 - uid: 12016 components: - type: Transform @@ -154735,18 +155210,6 @@ entities: rot: 1.5707963267948966 rad pos: -39.5,42.5 parent: 12 - - uid: 19034 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -36.5,44.5 - parent: 12 - - uid: 19051 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -34.5,46.5 - parent: 12 - uid: 19052 components: - type: Transform @@ -154817,30 +155280,12 @@ entities: rot: -1.5707963267948966 rad pos: -38.5,50.5 parent: 12 - - uid: 19355 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -34.5,54.5 - parent: 12 - uid: 19356 components: - type: Transform rot: -1.5707963267948966 rad pos: -34.5,52.5 parent: 12 - - uid: 19357 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -36.5,61.5 - parent: 12 - - uid: 19358 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -33.5,61.5 - parent: 12 - uid: 19364 components: - type: Transform @@ -155159,6 +155604,12 @@ entities: - type: Transform pos: -50.5,22.5 parent: 12 + - uid: 31050 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -36.5,44.5 + parent: 12 - uid: 31472 components: - type: Transform @@ -155714,6 +156165,11 @@ entities: rot: 1.5707963267948966 rad pos: 57.5,11.5 parent: 12 + - uid: 11802 + components: + - type: Transform + pos: -31.5,60.5 + parent: 12 - uid: 12005 components: - type: Transform @@ -155724,6 +156180,12 @@ entities: - type: Transform pos: 50.5,20.5 parent: 12 + - uid: 12163 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -14.5,-71.5 + parent: 12 - uid: 12291 components: - type: Transform @@ -155927,12 +156389,6 @@ entities: rot: 3.141592653589793 rad pos: -35.5,64.5 parent: 12 - - uid: 19871 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -29.5,60.5 - parent: 12 - uid: 21082 components: - type: Transform @@ -156304,6 +156760,12 @@ entities: - type: Transform pos: 5.5,-59.5 parent: 12 + - uid: 31354 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -11.5,-70.5 + parent: 12 - uid: 31508 components: - type: Transform @@ -156324,12 +156786,6 @@ entities: parent: 12 - proto: PoweredSmallLightEmpty entities: - - uid: 9391 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -7.5,-23.5 - parent: 12 - uid: 28973 components: - type: Transform @@ -156351,6 +156807,12 @@ entities: powerLoad: 60 - type: DamageOnInteract isDamageActive: False + - uid: 31363 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -6.5,-22.5 + parent: 12 - proto: Protolathe entities: - uid: 2321 @@ -156412,6 +156874,12 @@ entities: - type: Transform pos: -35.5,-37.5 parent: 12 + - uid: 2171 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 45.5,5.5 + parent: 12 - uid: 2645 components: - type: Transform @@ -156621,12 +157089,6 @@ entities: rot: 1.5707963267948966 rad pos: 33.5,-6.5 parent: 12 - - uid: 12056 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -19.5,-28.5 - parent: 12 - uid: 12265 components: - type: Transform @@ -157131,6 +157593,17 @@ entities: - type: Transform pos: -53.5,-47.5 parent: 12 + - uid: 31086 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -10.5,-66.5 + parent: 12 + - uid: 31114 + components: + - type: Transform + pos: -11.5,-71.5 + parent: 12 - uid: 31261 components: - type: Transform @@ -158027,6 +158500,11 @@ entities: - type: Transform pos: 45.5,6.5 parent: 12 + - uid: 9391 + components: + - type: Transform + pos: -12.5,-71.5 + parent: 12 - uid: 13556 components: - type: Transform @@ -158178,6 +158656,12 @@ entities: - type: Transform pos: -26.5,73.5 parent: 12 + - uid: 31098 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -14.5,-66.5 + parent: 12 - uid: 31717 components: - type: Transform @@ -158188,11 +158672,6 @@ entities: - type: Transform pos: -4.5,-64.5 parent: 12 - - uid: 31719 - components: - - type: Transform - pos: -15.5,-65.5 - parent: 12 - uid: 31720 components: - type: Transform @@ -158240,6 +158719,11 @@ entities: parent: 12 - proto: RandomPosterLegit entities: + - uid: 726 + components: + - type: Transform + pos: -18.5,-29.5 + parent: 12 - uid: 2131 components: - type: Transform @@ -158996,11 +159480,6 @@ entities: - type: Transform pos: 56.5,-28.5 parent: 12 - - uid: 24419 - components: - - type: Transform - pos: 63.5,-23.5 - parent: 12 - uid: 24420 components: - type: Transform @@ -159286,6 +159765,16 @@ entities: - type: Transform pos: -38.5,-54.5 parent: 12 + - uid: 31356 + components: + - type: Transform + pos: -10.5,-70.5 + parent: 12 + - uid: 31562 + components: + - type: Transform + pos: 61.5,-25.5 + parent: 12 - uid: 31582 components: - type: Transform @@ -160498,11 +160987,6 @@ entities: rot: -1.5707963267948966 rad pos: 5.5,24.5 parent: 12 - - uid: 4151 - components: - - type: Transform - pos: -47.5,3.5 - parent: 12 - uid: 4175 components: - type: Transform @@ -162740,7 +163224,7 @@ entities: - uid: 12191 components: - type: Transform - pos: -47.5,0.5 + pos: -14.5,-70.5 parent: 12 - uid: 12252 components: @@ -165006,26 +165490,6 @@ entities: - type: Transform pos: -31.5,-60.5 parent: 12 - - uid: 30970 - components: - - type: Transform - pos: -14.5,-65.5 - parent: 12 - - uid: 30974 - components: - - type: Transform - pos: -13.5,-65.5 - parent: 12 - - uid: 30975 - components: - - type: Transform - pos: -12.5,-65.5 - parent: 12 - - uid: 30976 - components: - - type: Transform - pos: -11.5,-65.5 - parent: 12 - uid: 30980 components: - type: Transform @@ -165041,6 +165505,11 @@ entities: - type: Transform pos: -54.5,-46.5 parent: 12 + - uid: 31105 + components: + - type: Transform + pos: -9.5,-70.5 + parent: 12 - uid: 31141 components: - type: Transform @@ -165376,8 +165845,8 @@ entities: - uid: 11312 components: - type: Transform - rot: -62.83185307179591 rad - pos: -19.456577,-27.187649 + rot: -6.283185307179586 rad + pos: -19.510698,-27.229607 parent: 12 - uid: 13828 components: @@ -165420,8 +165889,8 @@ entities: - uid: 5125 components: - type: Transform - rot: -62.83185307179591 rad - pos: -19.623243,-27.84088 + rot: -6.283185307179586 rad + pos: -19.458616,-27.615292 parent: 12 - uid: 13829 components: @@ -165822,14 +166291,12 @@ entities: - uid: 23173 components: - type: Transform - rot: -43.98229715025713 rad - pos: 53.468582,-3.3849072 + pos: 53.37523,-3.5169325 parent: 12 - uid: 26101 components: - type: Transform - rot: -43.98229715025713 rad - pos: 57.301918,-5.261206 + pos: 57.385647,-5.3932357 parent: 12 - uid: 31043 components: @@ -165899,8 +166366,7 @@ entities: - uid: 8439 components: - type: Transform - rot: -43.98229715025713 rad - pos: 57.63525,-5.083999 + pos: 53.677315,-3.3188787 parent: 12 - uid: 8898 components: @@ -166985,6 +167451,48 @@ entities: linkedPorts: 31258: - Pressed: DoorBolt + - uid: 31374 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -7.5,-24.5 + parent: 12 + - type: DeviceLinkSource + linkedPorts: + 9763: + - Pressed: Toggle + 9764: + - Pressed: Toggle + - uid: 31383 + components: + - type: Transform + pos: 12.5,19.5 + parent: 12 + - type: DeviceLinkSource + linkedPorts: + 12674: + - Pressed: Toggle + 1850: + - Pressed: Toggle + 4384: + - Pressed: Toggle + 12675: + - Pressed: Toggle + - uid: 31385 + components: + - type: Transform + pos: 10.5,19.5 + parent: 12 + - type: DeviceLinkSource + linkedPorts: + 9407: + - Pressed: Toggle + 15681: + - Pressed: Toggle + 10993: + - Pressed: Toggle + 11326: + - Pressed: Toggle - proto: SignAnomaly entities: - uid: 32031 @@ -170194,6 +170702,11 @@ entities: - type: Transform pos: -44.5,-15.5 parent: 12 + - uid: 31106 + components: + - type: Transform + pos: -14.5,-68.5 + parent: 12 - proto: SpawnMobParrot entities: - uid: 6237 @@ -171016,6 +171529,16 @@ entities: rot: 3.141592653589793 rad pos: -36.5,62.5 parent: 12 + - uid: 11270 + components: + - type: Transform + pos: -35.5,45.5 + parent: 12 + - uid: 11521 + components: + - type: Transform + pos: -34.5,45.5 + parent: 12 - uid: 13050 components: - type: Transform @@ -172170,11 +172693,6 @@ entities: - type: Transform pos: 4.5,-16.5 parent: 12 - - uid: 4890 - components: - - type: Transform - pos: 45.5,5.5 - parent: 12 - uid: 7904 components: - type: Transform @@ -172628,6 +173146,38 @@ entities: - SurveillanceCameraCommand nameSet: True id: AI exterior + - uid: 31447 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -51.5,38.5 + parent: 12 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraCommand + nameSet: True + id: Command camera room + - uid: 31512 + components: + - type: Transform + pos: -42.5,-20.5 + parent: 12 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraCommand + nameSet: True + id: RD server room + - uid: 31519 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -36.5,-19.5 + parent: 12 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraCommand + nameSet: True + id: RD's room - uid: 31748 components: - type: Transform @@ -172677,6 +173227,27 @@ entities: - SurveillanceCameraEngineering nameSet: True id: Atmos lockers/engi hallway + - uid: 7716 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 1.5,18.5 + parent: 12 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraEngineering + nameSet: True + id: TEG North + - uid: 9766 + components: + - type: Transform + pos: 56.5,66.5 + parent: 12 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraEngineering + nameSet: True + id: Northeast airlock exterior - uid: 9821 components: - type: Transform @@ -172751,17 +173322,6 @@ entities: - SurveillanceCameraEngineering nameSet: True id: Break room - - uid: 26133 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 48.5,1.5 - parent: 12 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraEngineering - nameSet: True - id: Containment entrance - uid: 26139 components: - type: Transform @@ -172945,6 +173505,60 @@ entities: - SurveillanceCameraEngineering nameSet: True id: Southeast solars 2 + - uid: 31448 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -56.5,47.5 + parent: 12 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraEngineering + nameSet: True + id: Northwest solars + - uid: 31471 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 11.5,28.5 + parent: 12 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraEngineering + nameSet: True + id: TEG exterior + - uid: 31511 + components: + - type: Transform + pos: -36.5,-10.5 + parent: 12 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraEngineering + nameSet: True + id: Shuttle constuction dock + - uid: 31529 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -55.5,-51.5 + parent: 12 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraEngineering + nameSet: True + id: Southwest Solars 1 + - uid: 31530 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -23.5,-68.5 + parent: 12 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraEngineering + nameSet: True + id: Southwest Solars 2 - uid: 31882 components: - type: Transform @@ -172979,16 +173593,6 @@ entities: - SurveillanceCameraGeneral nameSet: True id: Arrivals west - - uid: 2897 - components: - - type: Transform - pos: 35.5,22.5 - parent: 12 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraGeneral - nameSet: True - id: Hallway east - uid: 2901 components: - type: Transform @@ -173087,6 +173691,28 @@ entities: - SurveillanceCameraGeneral nameSet: True id: South evac A + - uid: 8442 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 55.5,-43.5 + parent: 12 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraGeneral + nameSet: True + id: Southeast dock + - uid: 8454 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 6.5,70.5 + parent: 12 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraGeneral + nameSet: True + id: Nitrogen atmosphere room - uid: 9836 components: - type: Transform @@ -173108,6 +173734,17 @@ entities: - SurveillanceCameraGeneral nameSet: True id: Evac north + - uid: 12400 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 0.5,34.5 + parent: 12 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraGeneral + nameSet: True + id: Pool south - uid: 12672 components: - type: Transform @@ -173237,17 +173874,6 @@ entities: - SurveillanceCameraGeneral nameSet: True id: Ship construction tool room - - uid: 25396 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 37.5,18.5 - parent: 12 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraGeneral - nameSet: True - id: Disposals - uid: 26895 components: - type: Transform @@ -173313,6 +173939,47 @@ entities: - SurveillanceCameraGeneral nameSet: True id: South Evac B + - uid: 31047 + components: + - type: Transform + pos: 18.5,70.5 + parent: 12 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraGeneral + nameSet: True + id: Arrivals shuttle dock + - uid: 31394 + components: + - type: Transform + pos: 44.5,43.5 + parent: 12 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraGeneral + nameSet: True + id: Tools exterior + - uid: 31449 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 2.5,28.5 + parent: 12 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraGeneral + nameSet: True + id: Bee room + - uid: 31473 + components: + - type: Transform + pos: 21.5,26.5 + parent: 12 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraGeneral + nameSet: True + id: Observitory - uid: 31500 components: - type: Transform @@ -173334,39 +174001,38 @@ entities: - SurveillanceCameraGeneral nameSet: True id: Crossroad - - uid: 31749 + - uid: 31557 components: - type: Transform - rot: -1.5707963267948966 rad - pos: -17.5,-0.5 + pos: 41.5,-32.5 parent: 12 - type: SurveillanceCamera setupAvailableNetworks: - SurveillanceCameraGeneral nameSet: True - id: Law office exterior - - uid: 31750 + id: Vending machine room + - uid: 31749 components: - type: Transform rot: -1.5707963267948966 rad - pos: -16.5,-12.5 + pos: -17.5,-0.5 parent: 12 - type: SurveillanceCamera setupAvailableNetworks: - SurveillanceCameraGeneral nameSet: True - id: Gorilla and penguin enclosures - - uid: 32105 + id: Law office exterior + - uid: 31750 components: - type: Transform - rot: 3.141592653589793 rad - pos: 57.5,64.5 + rot: -1.5707963267948966 rad + pos: -16.5,-12.5 parent: 12 - type: SurveillanceCamera setupAvailableNetworks: - SurveillanceCameraGeneral nameSet: True - id: Project room + id: Gorilla and penguin enclosures - proto: SurveillanceCameraMedical entities: - uid: 3961 @@ -173486,6 +174152,28 @@ entities: - SurveillanceCameraMedical nameSet: True id: Surgery + - uid: 31531 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -3.5,-53.5 + parent: 12 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraMedical + nameSet: True + id: Genetics + - uid: 31556 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 1.5,-43.5 + parent: 12 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraMedical + nameSet: True + id: Morgue and Surgery entrance - uid: 31761 components: - type: Transform @@ -173851,6 +174539,17 @@ entities: - type: SurveillanceCamera setupAvailableNetworks: - SurveillanceCameraService + - uid: 2154 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 44.5,21.5 + parent: 12 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraService + nameSet: True + id: Janitor closet - uid: 5161 components: - type: Transform @@ -173876,13 +174575,14 @@ entities: - uid: 12287 components: - type: Transform - pos: 46.5,16.5 + rot: 1.5707963267948966 rad + pos: 41.5,18.5 parent: 12 - type: SurveillanceCamera setupAvailableNetworks: - SurveillanceCameraService nameSet: True - id: Janitor's closet + id: Disposals - uid: 12904 components: - type: Transform @@ -174173,6 +174873,17 @@ entities: - SurveillanceCameraSupply nameSet: True id: Cargo front + - uid: 12009 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 63.5,-14.5 + parent: 12 + - type: SurveillanceCamera + setupAvailableNetworks: + - SurveillanceCameraSupply + nameSet: True + id: Cargo dock - uid: 12642 components: - type: Transform @@ -174934,6 +175645,12 @@ entities: - type: Transform pos: 52.5,46.5 parent: 12 + - uid: 10726 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 0.5,52.5 + parent: 12 - uid: 10888 components: - type: Transform @@ -177196,6 +177913,12 @@ entities: - type: Transform pos: -35.5,-20.5 parent: 12 + - uid: 2271 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 55.5,27.5 + parent: 12 - uid: 2373 components: - type: Transform @@ -177230,16 +177953,58 @@ entities: rot: 3.141592653589793 rad pos: 21.5,28.5 parent: 12 + - uid: 4151 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 54.5,28.5 + parent: 12 - uid: 4154 components: - type: Transform pos: 13.5,-35.5 parent: 12 + - uid: 4260 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 54.5,29.5 + parent: 12 + - uid: 4481 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 54.5,27.5 + parent: 12 + - uid: 4570 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 55.5,29.5 + parent: 12 - uid: 4891 components: - type: Transform pos: 17.5,49.5 parent: 12 + - uid: 5042 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 55.5,30.5 + parent: 12 + - uid: 5709 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 55.5,28.5 + parent: 12 + - uid: 5911 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 54.5,30.5 + parent: 12 - uid: 6189 components: - type: Transform @@ -177325,54 +178090,6 @@ entities: rot: 1.5707963267948966 rad pos: 43.5,29.5 parent: 12 - - uid: 12400 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 54.5,27.5 - parent: 12 - - uid: 12401 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 54.5,28.5 - parent: 12 - - uid: 12402 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 54.5,29.5 - parent: 12 - - uid: 12403 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 54.5,30.5 - parent: 12 - - uid: 12404 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 55.5,27.5 - parent: 12 - - uid: 12405 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 55.5,28.5 - parent: 12 - - uid: 12406 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 55.5,29.5 - parent: 12 - - uid: 12407 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 55.5,30.5 - parent: 12 - uid: 12657 components: - type: Transform @@ -178836,7 +179553,7 @@ entities: - uid: 31148 components: - type: Transform - pos: -29.544153,-55.516808 + pos: -29.534164,-55.470924 parent: 12 - proto: TrashBananaPeel entities: @@ -179632,6 +180349,11 @@ entities: - type: Transform pos: 35.5,22.5 parent: 12 + - uid: 13146 + components: + - type: Transform + pos: 47.5,1.5 + parent: 12 - uid: 14992 components: - type: Transform @@ -179652,6 +180374,11 @@ entities: - type: Transform pos: 15.5,54.5 parent: 12 + - uid: 31561 + components: + - type: Transform + pos: 46.5,-32.5 + parent: 12 - proto: VendingMachineClothing entities: - uid: 9091 @@ -180111,11 +180838,6 @@ entities: parent: 12 - proto: VendingMachineSovietSoda entities: - - uid: 4481 - components: - - type: Transform - pos: 47.5,1.5 - parent: 12 - uid: 14953 components: - type: Transform @@ -180312,8 +181034,7 @@ entities: - uid: 27 components: - type: Transform - rot: -1.5707963267948966 rad - pos: -3.5,46.5 + pos: 52.5,67.5 parent: 12 - uid: 29 components: @@ -180636,24 +181357,12 @@ entities: rot: 1.5707963267948966 rad pos: 3.5,-9.5 parent: 12 - - uid: 159 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 4.5,-8.5 - parent: 12 - uid: 160 components: - type: Transform rot: 1.5707963267948966 rad pos: 4.5,-9.5 parent: 12 - - uid: 161 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 4.5,-7.5 - parent: 12 - uid: 163 components: - type: Transform @@ -181019,24 +181728,12 @@ entities: rot: -1.5707963267948966 rad pos: -4.5,6.5 parent: 12 - - uid: 571 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 2.5,6.5 - parent: 12 - uid: 572 components: - type: Transform rot: -1.5707963267948966 rad pos: -3.5,6.5 parent: 12 - - uid: 573 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -2.5,6.5 - parent: 12 - uid: 575 components: - type: Transform @@ -181200,11 +181897,6 @@ entities: - type: Transform pos: 39.5,-10.5 parent: 12 - - uid: 703 - components: - - type: Transform - pos: -15.5,-69.5 - parent: 12 - uid: 709 components: - type: Transform @@ -181250,11 +181942,6 @@ entities: - type: Transform pos: 39.5,-8.5 parent: 12 - - uid: 726 - components: - - type: Transform - pos: -56.5,-20.5 - parent: 12 - uid: 736 components: - type: Transform @@ -181503,12 +182190,6 @@ entities: rot: 1.5707963267948966 rad pos: -47.5,50.5 parent: 12 - - uid: 1166 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -46.5,-17.5 - parent: 12 - uid: 1167 components: - type: Transform @@ -181604,23 +182285,11 @@ entities: rot: -1.5707963267948966 rad pos: 3.5,-0.5 parent: 12 - - uid: 2154 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 0.5,6.5 - parent: 12 - uid: 2169 components: - type: Transform pos: 26.5,1.5 parent: 12 - - uid: 2171 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -5.5,4.5 - parent: 12 - uid: 2173 components: - type: Transform @@ -181653,36 +182322,18 @@ entities: - type: Transform pos: 26.5,-9.5 parent: 12 - - uid: 2271 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -5.5,-0.5 - parent: 12 - uid: 2273 components: - type: Transform rot: -1.5707963267948966 rad pos: -5.5,-1.5 parent: 12 - - uid: 2274 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -5.5,2.5 - parent: 12 - uid: 2275 components: - type: Transform rot: -1.5707963267948966 rad pos: -5.5,-2.5 parent: 12 - - uid: 2276 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -5.5,3.5 - parent: 12 - uid: 2328 components: - type: Transform @@ -182634,11 +183285,6 @@ entities: rot: 1.5707963267948966 rad pos: 60.5,-47.5 parent: 12 - - uid: 5911 - components: - - type: Transform - pos: -6.5,-13.5 - parent: 12 - uid: 5916 components: - type: Transform @@ -182738,11 +183384,6 @@ entities: rot: 1.5707963267948966 rad pos: -61.5,-16.5 parent: 12 - - uid: 6288 - components: - - type: Transform - pos: -17.5,-67.5 - parent: 12 - uid: 6327 components: - type: Transform @@ -182892,12 +183533,6 @@ entities: rot: -1.5707963267948966 rad pos: 26.5,16.5 parent: 12 - - uid: 7338 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 27.5,18.5 - parent: 12 - uid: 7363 components: - type: Transform @@ -183137,11 +183772,6 @@ entities: rot: -1.5707963267948966 rad pos: 61.5,-27.5 parent: 12 - - uid: 7584 - components: - - type: Transform - pos: -9.5,-3.5 - parent: 12 - uid: 7587 components: - type: Transform @@ -183243,11 +183873,6 @@ entities: rot: -1.5707963267948966 rad pos: 60.5,-39.5 parent: 12 - - uid: 7620 - components: - - type: Transform - pos: -7.5,-1.5 - parent: 12 - uid: 7667 components: - type: Transform @@ -183350,11 +183975,6 @@ entities: rot: -1.5707963267948966 rad pos: 82.5,-36.5 parent: 12 - - uid: 7716 - components: - - type: Transform - pos: -7.5,-0.5 - parent: 12 - uid: 7728 components: - type: Transform @@ -183439,22 +184059,11 @@ entities: - type: Transform pos: -9.5,-8.5 parent: 12 - - uid: 8442 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,2.5 - parent: 12 - uid: 8450 components: - type: Transform pos: -7.5,-13.5 parent: 12 - - uid: 8454 - components: - - type: Transform - pos: -7.5,-12.5 - parent: 12 - uid: 8455 components: - type: Transform @@ -183620,11 +184229,6 @@ entities: rot: 3.141592653589793 rad pos: 52.5,-44.5 parent: 12 - - uid: 9120 - components: - - type: Transform - pos: -9.5,-9.5 - parent: 12 - uid: 9121 components: - type: Transform @@ -183743,7 +184347,7 @@ entities: - uid: 9506 components: - type: Transform - pos: -51.5,-11.5 + pos: -47.5,0.5 parent: 12 - uid: 9508 components: @@ -183778,12 +184382,6 @@ entities: rot: -1.5707963267948966 rad pos: 17.5,13.5 parent: 12 - - uid: 9640 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 17.5,23.5 - parent: 12 - uid: 9642 components: - type: Transform @@ -183824,12 +184422,6 @@ entities: rot: 3.141592653589793 rad pos: 47.5,-6.5 parent: 12 - - uid: 9766 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,-1.5 - parent: 12 - uid: 9767 components: - type: Transform @@ -183865,8 +184457,7 @@ entities: - uid: 10040 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,4.5 + pos: -12.5,-70.5 parent: 12 - uid: 10041 components: @@ -183874,11 +184465,6 @@ entities: rot: -1.5707963267948966 rad pos: 4.5,5.5 parent: 12 - - uid: 10042 - components: - - type: Transform - pos: -6.5,-0.5 - parent: 12 - uid: 10119 components: - type: Transform @@ -184346,18 +184932,6 @@ entities: rot: 1.5707963267948966 rad pos: -12.5,26.5 parent: 12 - - uid: 10724 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -13.5,26.5 - parent: 12 - - uid: 10726 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -13.5,24.5 - parent: 12 - uid: 10729 components: - type: Transform @@ -184399,24 +184973,6 @@ entities: rot: 1.5707963267948966 rad pos: -9.5,22.5 parent: 12 - - uid: 10736 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -14.5,26.5 - parent: 12 - - uid: 10737 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -14.5,25.5 - parent: 12 - - uid: 10738 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -14.5,24.5 - parent: 12 - uid: 10781 components: - type: Transform @@ -184484,18 +185040,6 @@ entities: - type: Transform pos: 38.5,5.5 parent: 12 - - uid: 10911 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -61.5,-14.5 - parent: 12 - - uid: 10939 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 25.5,13.5 - parent: 12 - uid: 10951 components: - type: Transform @@ -184514,18 +185058,6 @@ entities: rot: 1.5707963267948966 rad pos: 5.5,22.5 parent: 12 - - uid: 11000 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -5.5,47.5 - parent: 12 - - uid: 11001 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -3.5,47.5 - parent: 12 - uid: 11017 components: - type: Transform @@ -184734,18 +185266,6 @@ entities: rot: -1.5707963267948966 rad pos: 8.5,29.5 parent: 12 - - uid: 11220 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 9.5,29.5 - parent: 12 - - uid: 11221 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 10.5,29.5 - parent: 12 - uid: 11222 components: - type: Transform @@ -184794,12 +185314,6 @@ entities: rot: -1.5707963267948966 rad pos: 19.5,23.5 parent: 12 - - uid: 11261 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 19.5,24.5 - parent: 12 - uid: 11262 components: - type: Transform @@ -184842,12 +185356,6 @@ entities: rot: -1.5707963267948966 rad pos: 19.5,22.5 parent: 12 - - uid: 11270 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 20.5,22.5 - parent: 12 - uid: 11272 components: - type: Transform @@ -184955,11 +185463,6 @@ entities: - type: Transform pos: 50.5,7.5 parent: 12 - - uid: 11521 - components: - - type: Transform - pos: 42.5,15.5 - parent: 12 - uid: 11522 components: - type: Transform @@ -185115,11 +185618,6 @@ entities: - type: Transform pos: 20.5,38.5 parent: 12 - - uid: 11796 - components: - - type: Transform - pos: 11.5,30.5 - parent: 12 - uid: 11797 components: - type: Transform @@ -185135,11 +185633,6 @@ entities: - type: Transform pos: 11.5,33.5 parent: 12 - - uid: 11802 - components: - - type: Transform - pos: 15.5,34.5 - parent: 12 - uid: 11803 components: - type: Transform @@ -185248,11 +185741,6 @@ entities: rot: -1.5707963267948966 rad pos: 26.5,13.5 parent: 12 - - uid: 12009 - components: - - type: Transform - pos: 42.5,14.5 - parent: 12 - uid: 12011 components: - type: Transform @@ -185262,7 +185750,7 @@ entities: - uid: 12100 components: - type: Transform - pos: 43.5,13.5 + pos: -47.5,3.5 parent: 12 - uid: 12217 components: @@ -185384,6 +185872,11 @@ entities: - type: Transform pos: -35.5,-51.5 parent: 12 + - uid: 13161 + components: + - type: Transform + pos: -17.5,-69.5 + parent: 12 - uid: 13197 components: - type: Transform @@ -185446,24 +185939,6 @@ entities: rot: -1.5707963267948966 rad pos: 53.5,65.5 parent: 12 - - uid: 14179 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 53.5,66.5 - parent: 12 - - uid: 14180 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 53.5,67.5 - parent: 12 - - uid: 14182 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 51.5,67.5 - parent: 12 - uid: 14187 components: - type: Transform @@ -185942,30 +186417,12 @@ entities: rot: -1.5707963267948966 rad pos: -8.5,35.5 parent: 12 - - uid: 15549 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -14.5,29.5 - parent: 12 - - uid: 15550 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -14.5,30.5 - parent: 12 - uid: 15551 components: - type: Transform rot: -1.5707963267948966 rad pos: -14.5,31.5 parent: 12 - - uid: 15552 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -13.5,29.5 - parent: 12 - uid: 15554 components: - type: Transform @@ -186055,11 +186512,6 @@ entities: - type: Transform pos: -8.5,25.5 parent: 12 - - uid: 15703 - components: - - type: Transform - pos: -21.5,30.5 - parent: 12 - uid: 15708 components: - type: Transform @@ -186211,24 +186663,6 @@ entities: - type: Transform pos: -30.5,12.5 parent: 12 - - uid: 16797 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -60.5,-11.5 - parent: 12 - - uid: 16799 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -4.5,47.5 - parent: 12 - - uid: 16800 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -5.5,46.5 - parent: 12 - uid: 17199 components: - type: Transform @@ -186406,12 +186840,6 @@ entities: - type: Transform pos: -27.5,11.5 parent: 12 - - uid: 17541 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 51.5,66.5 - parent: 12 - uid: 17755 components: - type: Transform @@ -186661,28 +187089,12 @@ entities: - type: Transform pos: -52.5,76.5 parent: 12 - - uid: 17972 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -5.5,6.5 - parent: 12 - uid: 18558 components: - type: Transform rot: -1.5707963267948966 rad pos: 42.5,-43.5 parent: 12 - - uid: 18569 - components: - - type: Transform - pos: 59.5,65.5 - parent: 12 - - uid: 18572 - components: - - type: Transform - pos: 59.5,60.5 - parent: 12 - uid: 18654 components: - type: Transform @@ -187033,12 +187445,6 @@ entities: rot: -1.5707963267948966 rad pos: 4.5,3.5 parent: 12 - - uid: 19199 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 4.5,-0.5 - parent: 12 - uid: 19206 components: - type: Transform @@ -187592,12 +187998,6 @@ entities: rot: 1.5707963267948966 rad pos: 51.5,65.5 parent: 12 - - uid: 19847 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -60.5,-12.5 - parent: 12 - uid: 19862 components: - type: Transform @@ -187798,12 +188198,6 @@ entities: - type: Transform pos: -30.5,62.5 parent: 12 - - uid: 22182 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -8.5,-1.5 - parent: 12 - uid: 22183 components: - type: Transform @@ -187816,24 +188210,12 @@ entities: rot: -1.5707963267948966 rad pos: -8.5,-2.5 parent: 12 - - uid: 22185 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -8.5,-9.5 - parent: 12 - uid: 22186 components: - type: Transform rot: -1.5707963267948966 rad pos: -8.5,-10.5 parent: 12 - - uid: 22187 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -8.5,-11.5 - parent: 12 - uid: 22190 components: - type: Transform @@ -187880,11 +188262,6 @@ entities: - type: Transform pos: 35.5,-24.5 parent: 12 - - uid: 22290 - components: - - type: Transform - pos: 42.5,13.5 - parent: 12 - uid: 22321 components: - type: Transform @@ -188008,12 +188385,6 @@ entities: - type: Transform pos: 34.5,-39.5 parent: 12 - - uid: 24237 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 47.5,66.5 - parent: 12 - uid: 24259 components: - type: Transform @@ -188368,6 +188739,12 @@ entities: rot: 3.141592653589793 rad pos: 63.5,-27.5 parent: 12 + - uid: 26152 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -60.5,-12.5 + parent: 12 - uid: 26167 components: - type: Transform @@ -188473,12 +188850,6 @@ entities: - type: Transform pos: 56.5,3.5 parent: 12 - - uid: 26492 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 24.5,13.5 - parent: 12 - uid: 26510 components: - type: Transform @@ -188527,16 +188898,6 @@ entities: rot: -1.5707963267948966 rad pos: 9.5,-57.5 parent: 12 - - uid: 26909 - components: - - type: Transform - pos: -17.5,-68.5 - parent: 12 - - uid: 26910 - components: - - type: Transform - pos: -17.5,-69.5 - parent: 12 - uid: 26912 components: - type: Transform @@ -188549,12 +188910,6 @@ entities: rot: 3.141592653589793 rad pos: -13.5,77.5 parent: 12 - - uid: 26949 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -61.5,-15.5 - parent: 12 - uid: 26956 components: - type: Transform @@ -188579,29 +188934,16 @@ entities: rot: 1.5707963267948966 rad pos: -39.5,-18.5 parent: 12 - - uid: 27043 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -61.5,-13.5 - parent: 12 - uid: 27050 components: - type: Transform rot: 3.141592653589793 rad pos: 27.5,-13.5 parent: 12 - - uid: 27116 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -59.5,-11.5 - parent: 12 - uid: 27117 components: - type: Transform - rot: 1.5707963267948966 rad - pos: -58.5,-11.5 + pos: -17.5,-67.5 parent: 12 - uid: 27147 components: @@ -188639,18 +188981,6 @@ entities: rot: 3.141592653589793 rad pos: 41.5,1.5 parent: 12 - - uid: 27334 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -49.5,-17.5 - parent: 12 - - uid: 27335 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -48.5,-17.5 - parent: 12 - uid: 27410 components: - type: Transform @@ -188701,31 +189031,11 @@ entities: rot: 1.5707963267948966 rad pos: -28.5,61.5 parent: 12 - - uid: 27952 - components: - - type: Transform - pos: 5.5,-9.5 - parent: 12 - uid: 27978 components: - type: Transform pos: -22.5,-68.5 parent: 12 - - uid: 27981 - components: - - type: Transform - pos: 5.5,-12.5 - parent: 12 - - uid: 27982 - components: - - type: Transform - pos: 5.5,-11.5 - parent: 12 - - uid: 27983 - components: - - type: Transform - pos: 5.5,-10.5 - parent: 12 - uid: 27985 components: - type: Transform @@ -189048,16 +189358,6 @@ entities: - type: Transform pos: -27.5,-60.5 parent: 12 - - uid: 30540 - components: - - type: Transform - pos: -15.5,-68.5 - parent: 12 - - uid: 30542 - components: - - type: Transform - pos: -15.5,-66.5 - parent: 12 - uid: 30554 components: - type: Transform @@ -189099,20 +189399,47 @@ entities: rot: 3.141592653589793 rad pos: -53.5,-49.5 parent: 12 - - uid: 31171 + - uid: 31083 components: - type: Transform - pos: -9.5,-65.5 + rot: 1.5707963267948966 rad + pos: -16.5,-71.5 parent: 12 - - uid: 31172 + - uid: 31085 components: - type: Transform - pos: -9.5,-66.5 + rot: 1.5707963267948966 rad + pos: -14.5,-72.5 parent: 12 - - uid: 31174 + - uid: 31097 components: - type: Transform - pos: -8.5,-67.5 + rot: 1.5707963267948966 rad + pos: -12.5,-72.5 + parent: 12 + - uid: 31100 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -16.5,-70.5 + parent: 12 + - uid: 31101 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -10.5,-72.5 + parent: 12 + - uid: 31102 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -11.5,-72.5 + parent: 12 + - uid: 31104 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -9.5,-69.5 parent: 12 - uid: 31187 components: @@ -189151,12 +189478,6 @@ entities: rot: 3.141592653589793 rad pos: -7.5,-69.5 parent: 12 - - uid: 31238 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -8.5,-68.5 - parent: 12 - uid: 31376 components: - type: Transform @@ -189393,6 +189714,11 @@ entities: rot: -1.5707963267948966 rad pos: 49.5,7.5 parent: 12 + - uid: 10042 + components: + - type: Transform + pos: -12.5,-71.5 + parent: 12 - uid: 10279 components: - type: Transform @@ -189646,18 +189972,160 @@ entities: rot: 1.5707963267948966 rad pos: 41.5,-4.5 parent: 12 + - uid: 13148 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 4.5,-8.5 + parent: 12 + - uid: 13149 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 4.5,-7.5 + parent: 12 + - uid: 13150 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 2.5,6.5 + parent: 12 + - uid: 13151 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -2.5,6.5 + parent: 12 + - uid: 13153 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -56.5,-20.5 + parent: 12 + - uid: 13154 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -46.5,-17.5 + parent: 12 + - uid: 13155 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 0.5,6.5 + parent: 12 + - uid: 13156 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -5.5,4.5 + parent: 12 + - uid: 13157 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -5.5,-0.5 + parent: 12 + - uid: 13158 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -5.5,2.5 + parent: 12 + - uid: 13159 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -5.5,3.5 + parent: 12 + - uid: 13160 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -6.5,-13.5 + parent: 12 + - uid: 13162 + components: + - type: Transform + pos: 27.5,18.5 + parent: 12 + - uid: 13163 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -9.5,-3.5 + parent: 12 + - uid: 13164 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -7.5,-1.5 + parent: 12 - uid: 13859 components: - type: Transform rot: -1.5707963267948966 rad pos: 1.5,71.5 parent: 12 + - uid: 14179 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -7.5,-0.5 + parent: 12 + - uid: 14180 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 4.5,2.5 + parent: 12 + - uid: 14182 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -7.5,-12.5 + parent: 12 - uid: 14625 components: - type: Transform rot: -1.5707963267948966 rad pos: -10.5,-31.5 parent: 12 + - uid: 15549 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -9.5,-9.5 + parent: 12 + - uid: 15550 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -51.5,-11.5 + parent: 12 + - uid: 15552 + components: + - type: Transform + pos: 17.5,23.5 + parent: 12 + - uid: 15703 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 4.5,-1.5 + parent: 12 + - uid: 16797 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 4.5,4.5 + parent: 12 + - uid: 16799 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -6.5,-0.5 + parent: 12 - uid: 17305 components: - type: Transform @@ -189668,12 +190136,43 @@ entities: - type: Transform pos: -47.5,76.5 parent: 12 + - uid: 18572 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -61.5,-14.5 + parent: 12 + - uid: 18585 + components: + - type: Transform + pos: 25.5,13.5 + parent: 12 + - uid: 19199 + components: + - type: Transform + pos: 9.5,29.5 + parent: 12 - uid: 19295 components: - type: Transform rot: 3.141592653589793 rad pos: -52.5,-51.5 parent: 12 + - uid: 19355 + components: + - type: Transform + pos: 10.5,29.5 + parent: 12 + - uid: 19357 + components: + - type: Transform + pos: 19.5,24.5 + parent: 12 + - uid: 19358 + components: + - type: Transform + pos: 20.5,22.5 + parent: 12 - uid: 19455 components: - type: Transform @@ -189685,6 +190184,16 @@ entities: rot: -1.5707963267948966 rad pos: 36.5,64.5 parent: 12 + - uid: 19847 + components: + - type: Transform + pos: 11.5,30.5 + parent: 12 + - uid: 19871 + components: + - type: Transform + pos: 15.5,34.5 + parent: 12 - uid: 22034 components: - type: Transform @@ -189701,6 +190210,16 @@ entities: - type: Transform pos: -50.5,-20.5 parent: 12 + - uid: 22185 + components: + - type: Transform + pos: 53.5,67.5 + parent: 12 + - uid: 22187 + components: + - type: Transform + pos: 51.5,67.5 + parent: 12 - uid: 22277 components: - type: Transform @@ -189755,6 +190274,12 @@ entities: - type: Transform pos: -57.5,-24.5 parent: 12 + - uid: 24237 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -60.5,-11.5 + parent: 12 - uid: 24254 components: - type: Transform @@ -189765,6 +190290,17 @@ entities: - type: Transform pos: -26.5,73.5 parent: 12 + - uid: 25555 + components: + - type: Transform + pos: 51.5,66.5 + parent: 12 + - uid: 25558 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -5.5,6.5 + parent: 12 - uid: 25596 components: - type: Transform @@ -189792,6 +190328,22 @@ entities: - type: Transform pos: -2.5,-17.5 parent: 12 + - uid: 26133 + components: + - type: Transform + pos: 59.5,65.5 + parent: 12 + - uid: 26149 + components: + - type: Transform + pos: 59.5,60.5 + parent: 12 + - uid: 26150 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 4.5,-0.5 + parent: 12 - uid: 26241 components: - type: Transform @@ -189814,6 +190366,12 @@ entities: - type: Transform pos: -5.5,-17.5 parent: 12 + - uid: 26492 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -8.5,-1.5 + parent: 12 - uid: 26530 components: - type: Transform @@ -189860,12 +190418,24 @@ entities: - type: Transform pos: 5.5,-13.5 parent: 12 + - uid: 26836 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -8.5,-9.5 + parent: 12 - uid: 26907 components: - type: Transform rot: -1.5707963267948966 rad pos: 10.5,-57.5 parent: 12 + - uid: 26909 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -8.5,-11.5 + parent: 12 - uid: 26911 components: - type: Transform @@ -189878,6 +190448,11 @@ entities: rot: 1.5707963267948966 rad pos: -61.5,-17.5 parent: 12 + - uid: 26949 + components: + - type: Transform + pos: 47.5,66.5 + parent: 12 - uid: 26978 components: - type: Transform @@ -189896,6 +190471,11 @@ entities: rot: -1.5707963267948966 rad pos: 38.5,-3.5 parent: 12 + - uid: 27043 + components: + - type: Transform + pos: 24.5,13.5 + parent: 12 - uid: 27044 components: - type: Transform @@ -189920,6 +190500,11 @@ entities: rot: -1.5707963267948966 rad pos: 45.5,-42.5 parent: 12 + - uid: 27116 + components: + - type: Transform + pos: -17.5,-68.5 + parent: 12 - uid: 27119 components: - type: Transform @@ -189943,6 +190528,12 @@ entities: rot: 3.141592653589793 rad pos: 39.5,5.5 parent: 12 + - uid: 27240 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -61.5,-15.5 + parent: 12 - uid: 27243 components: - type: Transform @@ -189967,6 +190558,18 @@ entities: rot: 3.141592653589793 rad pos: 41.5,4.5 parent: 12 + - uid: 27334 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -61.5,-13.5 + parent: 12 + - uid: 27335 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -59.5,-11.5 + parent: 12 - uid: 27336 components: - type: Transform @@ -189984,6 +190587,12 @@ entities: rot: -1.5707963267948966 rad pos: 26.5,15.5 parent: 12 + - uid: 27952 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -58.5,-11.5 + parent: 12 - uid: 27973 components: - type: Transform @@ -190001,12 +190610,36 @@ entities: rot: 3.141592653589793 rad pos: 47.5,7.5 parent: 12 + - uid: 27981 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -49.5,-17.5 + parent: 12 + - uid: 27982 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -48.5,-17.5 + parent: 12 + - uid: 27983 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 5.5,-9.5 + parent: 12 - uid: 28048 components: - type: Transform rot: 3.141592653589793 rad pos: 63.5,-4.5 parent: 12 + - uid: 28051 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 5.5,-12.5 + parent: 12 - uid: 28052 components: - type: Transform @@ -190051,7 +190684,8 @@ entities: - uid: 28069 components: - type: Transform - pos: -15.5,-70.5 + rot: 1.5707963267948966 rad + pos: 5.5,-11.5 parent: 12 - uid: 28070 components: @@ -190091,6 +190725,12 @@ entities: rot: -1.5707963267948966 rad pos: 44.5,3.5 parent: 12 + - uid: 28303 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 5.5,-10.5 + parent: 12 - uid: 28310 components: - type: Transform @@ -190300,11 +190940,6 @@ entities: - type: Transform pos: -35.5,-60.5 parent: 12 - - uid: 30545 - components: - - type: Transform - pos: -15.5,-65.5 - parent: 12 - uid: 30548 components: - type: Transform @@ -190315,21 +190950,22 @@ entities: - type: Transform pos: -39.5,-57.5 parent: 12 - - uid: 30700 + - uid: 30880 components: - type: Transform - pos: -10.5,-65.5 + pos: 6.5,-58.5 parent: 12 - - uid: 30880 + - uid: 31082 components: - type: Transform - pos: 6.5,-58.5 + rot: 1.5707963267948966 rad + pos: -16.5,-72.5 parent: 12 - - uid: 31173 + - uid: 31084 components: - type: Transform - rot: 3.141592653589793 rad - pos: -9.5,-67.5 + rot: 1.5707963267948966 rad + pos: -9.5,-72.5 parent: 12 - uid: 31183 components: @@ -190706,11 +191342,6 @@ entities: - type: Transform pos: -6.5,-24.5 parent: 12 - - uid: 563 - components: - - type: Transform - pos: -7.5,-24.5 - parent: 12 - uid: 589 components: - type: Transform @@ -192027,11 +192658,6 @@ entities: rot: -1.5707963267948966 rad pos: 34.5,-29.5 parent: 12 - - uid: 5385 - components: - - type: Transform - pos: -9.5,-24.5 - parent: 12 - uid: 5441 components: - type: Transform @@ -192751,6 +193377,12 @@ entities: - type: Transform pos: 41.5,-40.5 parent: 12 + - uid: 9120 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -12.5,-67.5 + parent: 12 - uid: 9133 components: - type: Transform @@ -192992,12 +193624,6 @@ entities: rot: 1.5707963267948966 rad pos: -5.5,21.5 parent: 12 - - uid: 10620 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -0.5,14.5 - parent: 12 - uid: 10665 components: - type: Transform @@ -193706,11 +194332,6 @@ entities: - type: Transform pos: 3.5,30.5 parent: 12 - - uid: 11842 - components: - - type: Transform - pos: 3.5,31.5 - parent: 12 - uid: 11843 components: - type: Transform @@ -194133,6 +194754,18 @@ entities: rot: -1.5707963267948966 rad pos: 35.5,-52.5 parent: 12 + - uid: 13147 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -3.5,46.5 + parent: 12 + - uid: 13152 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -14.5,-67.5 + parent: 12 - uid: 13487 components: - type: Transform @@ -195337,6 +195970,12 @@ entities: rot: 1.5707963267948966 rad pos: -11.5,-2.5 parent: 12 + - uid: 16800 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -13.5,26.5 + parent: 12 - uid: 16872 components: - type: Transform @@ -195636,6 +196275,12 @@ entities: - type: Transform pos: -13.5,-8.5 parent: 12 + - uid: 17541 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -13.5,24.5 + parent: 12 - uid: 17542 components: - type: Transform @@ -195666,6 +196311,12 @@ entities: - type: Transform pos: -55.5,-31.5 parent: 12 + - uid: 17972 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -14.5,26.5 + parent: 12 - uid: 17973 components: - type: Transform @@ -195686,6 +196337,12 @@ entities: - type: Transform pos: -4.5,-54.5 parent: 12 + - uid: 18560 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -14.5,25.5 + parent: 12 - uid: 18567 components: - type: Transform @@ -195696,6 +196353,12 @@ entities: - type: Transform pos: -17.5,-8.5 parent: 12 + - uid: 18569 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -14.5,24.5 + parent: 12 - uid: 18570 components: - type: Transform @@ -195751,11 +196414,6 @@ entities: - type: Transform pos: -12.5,-18.5 parent: 12 - - uid: 18585 - components: - - type: Transform - pos: -11.5,-17.5 - parent: 12 - uid: 18586 components: - type: Transform @@ -195925,6 +196583,12 @@ entities: rot: -1.5707963267948966 rad pos: -41.5,43.5 parent: 12 + - uid: 19034 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -5.5,47.5 + parent: 12 - uid: 19061 components: - type: Transform @@ -196693,6 +197357,12 @@ entities: - type: Transform pos: -11.5,47.5 parent: 12 + - uid: 21479 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 42.5,14.5 + parent: 12 - uid: 21508 components: - type: Transform @@ -196883,6 +197553,12 @@ entities: - type: Transform pos: -0.5,-60.5 parent: 12 + - uid: 22290 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -14.5,29.5 + parent: 12 - uid: 22304 components: - type: Transform @@ -197035,8 +197711,8 @@ entities: - uid: 23681 components: - type: Transform - rot: 3.141592653589793 rad - pos: -5.5,-21.5 + rot: 1.5707963267948966 rad + pos: -14.5,30.5 parent: 12 - uid: 23682 components: @@ -197052,7 +197728,8 @@ entities: - uid: 23779 components: - type: Transform - pos: -1.5,12.5 + rot: 1.5707963267948966 rad + pos: -13.5,29.5 parent: 12 - uid: 23797 components: @@ -197088,7 +197765,8 @@ entities: - uid: 23897 components: - type: Transform - pos: -1.5,13.5 + rot: 1.5707963267948966 rad + pos: -21.5,30.5 parent: 12 - uid: 23946 components: @@ -197201,6 +197879,12 @@ entities: rot: -1.5707963267948966 rad pos: 32.5,-47.5 parent: 12 + - uid: 24419 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -4.5,47.5 + parent: 12 - uid: 24428 components: - type: Transform @@ -197354,6 +198038,12 @@ entities: - type: Transform pos: -4.5,70.5 parent: 12 + - uid: 25396 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -5.5,46.5 + parent: 12 - uid: 25402 components: - type: Transform @@ -197730,6 +198420,12 @@ entities: rot: 3.141592653589793 rad pos: 39.5,-16.5 parent: 12 + - uid: 26910 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 42.5,13.5 + parent: 12 - uid: 26926 components: - type: Transform @@ -198188,6 +198884,17 @@ entities: rot: -1.5707963267948966 rad pos: -52.5,60.5 parent: 12 + - uid: 29182 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -11.5,-67.5 + parent: 12 + - uid: 29185 + components: + - type: Transform + pos: -9.5,-66.5 + parent: 12 - uid: 29208 components: - type: Transform @@ -198199,6 +198906,11 @@ entities: - type: Transform pos: -52.5,63.5 parent: 12 + - uid: 29307 + components: + - type: Transform + pos: -9.5,-65.5 + parent: 12 - uid: 29308 components: - type: Transform @@ -198211,6 +198923,17 @@ entities: rot: -1.5707963267948966 rad pos: -52.5,56.5 parent: 12 + - uid: 29323 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -14.5,-66.5 + parent: 12 + - uid: 29340 + components: + - type: Transform + pos: -8.5,-67.5 + parent: 12 - uid: 29351 components: - type: Transform @@ -198555,6 +199278,12 @@ entities: rot: -1.5707963267948966 rad pos: -19.5,34.5 parent: 12 + - uid: 11936 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -10.5,-67.5 + parent: 12 - uid: 12018 components: - type: Transform @@ -198763,6 +199492,12 @@ entities: rot: -1.5707963267948966 rad pos: -5.5,32.5 parent: 12 + - uid: 19051 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -3.5,47.5 + parent: 12 - uid: 19068 components: - type: Transform @@ -198880,6 +199615,12 @@ entities: rot: -1.5707963267948966 rad pos: 9.5,63.5 parent: 12 + - uid: 19844 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 42.5,15.5 + parent: 12 - uid: 20776 components: - type: Transform @@ -198891,6 +199632,12 @@ entities: rot: -1.5707963267948966 rad pos: 10.5,64.5 parent: 12 + - uid: 21922 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 43.5,13.5 + parent: 12 - uid: 22145 components: - type: Transform @@ -199520,6 +200267,11 @@ entities: rot: 3.141592653589793 rad pos: 51.5,9.5 parent: 12 + - uid: 28933 + components: + - type: Transform + pos: -13.5,-67.5 + parent: 12 - uid: 28942 components: - type: Transform @@ -199562,6 +200314,16 @@ entities: - type: Transform pos: -52.5,57.5 parent: 12 + - uid: 29183 + components: + - type: Transform + pos: -9.5,-67.5 + parent: 12 + - uid: 29184 + components: + - type: Transform + pos: -10.5,-65.5 + parent: 12 - uid: 29190 components: - type: Transform @@ -199572,6 +200334,11 @@ entities: - type: Transform pos: -52.5,59.5 parent: 12 + - uid: 29339 + components: + - type: Transform + pos: -8.5,-68.5 + parent: 12 - uid: 29344 components: - type: Transform @@ -199650,6 +200417,16 @@ entities: rot: 1.5707963267948966 rad pos: -52.5,54.5 parent: 12 + - uid: 30017 + components: + - type: Transform + pos: -7.5,-24.5 + parent: 12 + - uid: 30018 + components: + - type: Transform + pos: -9.5,-24.5 + parent: 12 - uid: 30200 components: - type: Transform @@ -199661,6 +200438,32 @@ entities: - type: Transform pos: 29.5,20.5 parent: 12 + - uid: 30540 + components: + - type: Transform + pos: -0.5,14.5 + parent: 12 + - uid: 30542 + components: + - type: Transform + pos: 3.5,31.5 + parent: 12 + - uid: 30543 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -11.5,-17.5 + parent: 12 + - uid: 30545 + components: + - type: Transform + pos: -5.5,-21.5 + parent: 12 + - uid: 30700 + components: + - type: Transform + pos: -1.5,12.5 + parent: 12 - uid: 30781 components: - type: Transform @@ -199671,6 +200474,11 @@ entities: - type: Transform pos: -27.5,-58.5 parent: 12 + - uid: 30970 + components: + - type: Transform + pos: -1.5,13.5 + parent: 12 - uid: 31044 components: - type: Transform @@ -199681,6 +200489,12 @@ entities: - type: Transform pos: -35.5,-57.5 parent: 12 + - uid: 31096 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -15.5,-66.5 + parent: 12 - uid: 31175 components: - type: Transform @@ -200862,6 +201676,16 @@ entities: rot: 3.141592653589793 rad pos: -34.5,-57.5 parent: 12 + - uid: 30976 + components: + - type: Transform + pos: 48.5,-12.5 + parent: 12 + - uid: 30977 + components: + - type: Transform + pos: 47.5,-12.5 + parent: 12 - proto: WindoorBarKitchenLocked entities: - uid: 11203 @@ -200886,16 +201710,6 @@ entities: parent: 12 - proto: WindoorSecure entities: - - uid: 12234 - components: - - type: Transform - pos: 48.5,-12.5 - parent: 12 - - uid: 12237 - components: - - type: Transform - pos: 47.5,-12.5 - parent: 12 - uid: 14181 components: - type: Transform @@ -202348,6 +203162,34 @@ entities: rot: 1.5707963267948966 rad pos: 31.5,22.5 parent: 12 + - uid: 30971 + components: + - type: Transform + pos: 49.5,-12.5 + parent: 12 + - uid: 30972 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 49.5,-12.5 + parent: 12 + - uid: 30973 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 49.5,-11.5 + parent: 12 + - uid: 30974 + components: + - type: Transform + pos: 46.5,-12.5 + parent: 12 + - uid: 30975 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 47.5,-11.5 + parent: 12 - proto: WindowFrostedDirectional entities: - uid: 4236 @@ -202719,11 +203561,6 @@ entities: rot: 3.141592653589793 rad pos: 52.5,-23.5 parent: 12 - - uid: 5411 - components: - - type: Transform - pos: 49.5,-12.5 - parent: 12 - uid: 5572 components: - type: Transform @@ -202825,11 +203662,6 @@ entities: rot: 3.141592653589793 rad pos: -1.5,-44.5 parent: 12 - - uid: 12238 - components: - - type: Transform - pos: 46.5,-12.5 - parent: 12 - uid: 12326 components: - type: Transform @@ -203213,24 +204045,12 @@ entities: rot: 3.141592653589793 rad pos: -37.5,65.5 parent: 12 - - uid: 26836 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 47.5,-11.5 - parent: 12 - uid: 28932 components: - type: Transform rot: 3.141592653589793 rad pos: -37.5,53.5 parent: 12 - - uid: 28933 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 50.5,-11.5 - parent: 12 - uid: 29220 components: - type: Transform @@ -203319,12 +204139,6 @@ entities: rot: 3.141592653589793 rad pos: -57.5,27.5 parent: 12 - - uid: 31911 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 50.5,-12.5 - parent: 12 - proto: Wirecutter entities: - uid: 8737 From 8cf279e20070b610f7c2a6425ad5f2af83692f97 Mon Sep 17 00:00:00 2001 From: Ubaser <134914314+UbaserB@users.noreply.github.com> Date: Wed, 13 Nov 2024 23:30:40 +1100 Subject: [PATCH 221/588] Window sprite tweaks (#33282) * add * yes --- .../Windows/clockwork_diagonal.rsi/meta.json | 2 +- .../Windows/clockwork_diagonal.rsi/state0.png | Bin 1663 -> 2836 bytes .../Windows/clockwork_diagonal.rsi/state1.png | Bin 1681 -> 2833 bytes .../Windows/clockwork_window.rsi/cwindow0.png | Bin 1065 -> 2164 bytes .../Windows/clockwork_window.rsi/cwindow1.png | Bin 1060 -> 2128 bytes .../Windows/clockwork_window.rsi/cwindow2.png | Bin 1065 -> 2164 bytes .../Windows/clockwork_window.rsi/cwindow3.png | Bin 1060 -> 2128 bytes .../Windows/clockwork_window.rsi/cwindow4.png | Bin 1075 -> 2112 bytes .../Windows/clockwork_window.rsi/cwindow5.png | Bin 983 -> 2060 bytes .../Windows/clockwork_window.rsi/cwindow6.png | Bin 1075 -> 2112 bytes .../Windows/clockwork_window.rsi/cwindow7.png | Bin 1005 -> 2065 bytes .../Windows/clockwork_window.rsi/full.png | Bin 735 -> 1714 bytes .../Windows/clockwork_window.rsi/meta.json | 2 +- .../Structures/Windows/mining.rsi/full.png | Bin 837 -> 1811 bytes .../Structures/Windows/mining.rsi/meta.json | 2 +- .../Windows/mining.rsi/mwindow0.png | Bin 3765 -> 2248 bytes .../Windows/mining.rsi/mwindow1.png | Bin 3697 -> 2196 bytes .../Windows/mining.rsi/mwindow2.png | Bin 3765 -> 2248 bytes .../Windows/mining.rsi/mwindow3.png | Bin 3697 -> 2196 bytes .../Windows/mining.rsi/mwindow4.png | Bin 3706 -> 2175 bytes .../Windows/mining.rsi/mwindow5.png | Bin 3640 -> 2215 bytes .../Windows/mining.rsi/mwindow6.png | Bin 3706 -> 2175 bytes .../Windows/mining.rsi/mwindow7.png | Bin 3269 -> 1813 bytes .../Windows/mining_diagonal.rsi/meta.json | 2 +- .../Windows/mining_diagonal.rsi/state0.png | Bin 3037 -> 1299 bytes .../Windows/mining_diagonal.rsi/state1.png | Bin 3076 -> 1333 bytes .../Windows/plasma_diagonal.rsi/meta.json | 2 +- .../Windows/plasma_diagonal.rsi/state0.png | Bin 15748 -> 1644 bytes .../Windows/plasma_diagonal.rsi/state1.png | Bin 15665 -> 1603 bytes .../Windows/plasma_window.rsi/full.png | Bin 1597 -> 2843 bytes .../Windows/plasma_window.rsi/meta.json | 2 +- .../Windows/plasma_window.rsi/pwindow0.png | Bin 2063 -> 3469 bytes .../Windows/plasma_window.rsi/pwindow1.png | Bin 1099 -> 2334 bytes .../Windows/plasma_window.rsi/pwindow2.png | Bin 2063 -> 3469 bytes .../Windows/plasma_window.rsi/pwindow3.png | Bin 1099 -> 2334 bytes .../Windows/plasma_window.rsi/pwindow4.png | Bin 1161 -> 2402 bytes .../Windows/plasma_window.rsi/pwindow5.png | Bin 1064 -> 2294 bytes .../Windows/plasma_window.rsi/pwindow6.png | Bin 1161 -> 2402 bytes .../Windows/plasma_window.rsi/pwindow7.png | Bin 247 -> 1240 bytes .../Windows/plastitanium_window.rsi/full.png | Bin 506 -> 1500 bytes .../Windows/plastitanium_window.rsi/meta.json | 2 +- .../plastitanium_window.rsi/ptwindow0.png | Bin 1190 -> 2316 bytes .../plastitanium_window.rsi/ptwindow1.png | Bin 1006 -> 2083 bytes .../plastitanium_window.rsi/ptwindow2.png | Bin 1190 -> 2316 bytes .../plastitanium_window.rsi/ptwindow3.png | Bin 1006 -> 2083 bytes .../plastitanium_window.rsi/ptwindow4.png | Bin 1008 -> 2076 bytes .../plastitanium_window.rsi/ptwindow5.png | Bin 986 -> 2114 bytes .../plastitanium_window.rsi/ptwindow6.png | Bin 1008 -> 2076 bytes .../plastitanium_window.rsi/ptwindow7.png | Bin 641 -> 1668 bytes .../meta.json | 2 +- .../state0.png | Bin 3238 -> 1375 bytes .../state1.png | Bin 3208 -> 1343 bytes .../reinforced_plasma_diagonal.rsi/meta.json | 2 +- .../reinforced_plasma_diagonal.rsi/state0.png | Bin 15911 -> 1797 bytes .../reinforced_plasma_diagonal.rsi/state1.png | Bin 15885 -> 1790 bytes .../reinforced_plasma_window.rsi/full.png | Bin 2495 -> 3504 bytes .../reinforced_plasma_window.rsi/meta.json | 2 +- .../rpwindow0.png | Bin 2930 -> 4096 bytes .../rpwindow1.png | Bin 1696 -> 2864 bytes .../rpwindow2.png | Bin 2930 -> 4096 bytes .../rpwindow3.png | Bin 1696 -> 2864 bytes .../rpwindow4.png | Bin 1745 -> 2888 bytes .../rpwindow5.png | Bin 1695 -> 3021 bytes .../rpwindow6.png | Bin 1745 -> 2888 bytes .../rpwindow7.png | Bin 910 -> 2262 bytes .../reinforced_uranium_diagonal.rsi/meta.json | 2 +- .../state0.png | Bin 15734 -> 1662 bytes .../state1.png | Bin 15695 -> 1620 bytes .../reinforced_uranium_window.rsi/full.png | Bin 2067 -> 3028 bytes .../reinforced_uranium_window.rsi/meta.json | 2 +- .../ruwindow0.png | Bin 2366 -> 3323 bytes .../ruwindow1.png | Bin 1169 -> 2130 bytes .../ruwindow2.png | Bin 2342 -> 3323 bytes .../ruwindow3.png | Bin 1138 -> 2130 bytes .../ruwindow4.png | Bin 1133 -> 2102 bytes .../ruwindow5.png | Bin 1088 -> 2084 bytes .../ruwindow6.png | Bin 1129 -> 2102 bytes .../ruwindow7.png | Bin 267 -> 1240 bytes .../Windows/reinforced_window.rsi/full.png | Bin 2063 -> 3041 bytes .../Windows/reinforced_window.rsi/meta.json | 2 +- .../reinforced_window.rsi/rwindow0.png | Bin 2229 -> 3349 bytes .../reinforced_window.rsi/rwindow1.png | Bin 1148 -> 2163 bytes .../reinforced_window.rsi/rwindow2.png | Bin 2229 -> 3349 bytes .../reinforced_window.rsi/rwindow3.png | Bin 1148 -> 2163 bytes .../reinforced_window.rsi/rwindow4.png | Bin 1130 -> 2172 bytes .../reinforced_window.rsi/rwindow5.png | Bin 1025 -> 2041 bytes .../reinforced_window.rsi/rwindow6.png | Bin 1130 -> 2172 bytes .../reinforced_window.rsi/rwindow7.png | Bin 272 -> 1239 bytes .../reinforced_window_diagonal.rsi/meta.json | 2 +- .../reinforced_window_diagonal.rsi/state0.png | Bin 16179 -> 1573 bytes .../reinforced_window_diagonal.rsi/state1.png | Bin 16152 -> 1550 bytes .../Windows/shuttle_window.rsi/full.png | Bin 707 -> 1779 bytes .../Windows/shuttle_window.rsi/meta.json | 2 +- .../Windows/shuttle_window.rsi/swindow0.png | Bin 1080 -> 2278 bytes .../Windows/shuttle_window.rsi/swindow1.png | Bin 881 -> 2146 bytes .../Windows/shuttle_window.rsi/swindow2.png | Bin 1080 -> 2278 bytes .../Windows/shuttle_window.rsi/swindow3.png | Bin 881 -> 2146 bytes .../Windows/shuttle_window.rsi/swindow4.png | Bin 912 -> 2166 bytes .../Windows/shuttle_window.rsi/swindow5.png | Bin 857 -> 2168 bytes .../Windows/shuttle_window.rsi/swindow6.png | Bin 912 -> 2166 bytes .../Windows/shuttle_window.rsi/swindow7.png | Bin 412 -> 1871 bytes .../shuttle_window_diagonal.rsi/meta.json | 2 +- .../shuttle_window_diagonal.rsi/state0.png | Bin 15523 -> 1475 bytes .../shuttle_window_diagonal.rsi/state1.png | Bin 15473 -> 1423 bytes .../Windows/tinted_window.rsi/full.png | Bin 9436 -> 3495 bytes .../Windows/tinted_window.rsi/meta.json | 2 +- .../Windows/tinted_window.rsi/twindow0.png | Bin 10814 -> 4035 bytes .../Windows/tinted_window.rsi/twindow1.png | Bin 8214 -> 2719 bytes .../Windows/tinted_window.rsi/twindow2.png | Bin 10815 -> 4035 bytes .../Windows/tinted_window.rsi/twindow3.png | Bin 8477 -> 2719 bytes .../Windows/tinted_window.rsi/twindow4.png | Bin 8217 -> 2692 bytes .../Windows/tinted_window.rsi/twindow5.png | Bin 6896 -> 2318 bytes .../Windows/tinted_window.rsi/twindow6.png | Bin 8464 -> 2692 bytes .../Windows/tinted_window.rsi/twindow7.png | Bin 4882 -> 1661 bytes .../Windows/uranium_window.rsi/full.png | Bin 1321 -> 2364 bytes .../Windows/uranium_window.rsi/meta.json | 2 +- .../Windows/uranium_window.rsi/uwindow0.png | Bin 1688 -> 2857 bytes .../Windows/uranium_window.rsi/uwindow1.png | Bin 1225 -> 2288 bytes .../Windows/uranium_window.rsi/uwindow2.png | Bin 1688 -> 2857 bytes .../Windows/uranium_window.rsi/uwindow3.png | Bin 1225 -> 2288 bytes .../Windows/uranium_window.rsi/uwindow4.png | Bin 1216 -> 2251 bytes .../Windows/uranium_window.rsi/uwindow5.png | Bin 795 -> 1872 bytes .../Windows/uranium_window.rsi/uwindow6.png | Bin 1229 -> 2251 bytes .../Windows/uranium_window.rsi/uwindow7.png | Bin 297 -> 1281 bytes .../uranium_window_diagonal.rsi/meta.json | 2 +- .../uranium_window_diagonal.rsi/state0.png | Bin 15629 -> 1572 bytes .../uranium_window_diagonal.rsi/state1.png | Bin 15604 -> 1539 bytes .../Structures/Windows/window.rsi/full.png | Bin 1224 -> 2279 bytes .../Structures/Windows/window.rsi/meta.json | 2 +- .../Structures/Windows/window.rsi/window0.png | Bin 1632 -> 2748 bytes .../Structures/Windows/window.rsi/window1.png | Bin 1183 -> 2217 bytes .../Structures/Windows/window.rsi/window2.png | Bin 1632 -> 2748 bytes .../Structures/Windows/window.rsi/window3.png | Bin 1183 -> 2217 bytes .../Structures/Windows/window.rsi/window4.png | Bin 1187 -> 2213 bytes .../Structures/Windows/window.rsi/window5.png | Bin 800 -> 1810 bytes .../Structures/Windows/window.rsi/window6.png | Bin 1187 -> 2213 bytes .../Structures/Windows/window.rsi/window7.png | Bin 301 -> 1240 bytes .../Windows/window_diagonal.rsi/meta.json | 2 +- .../Windows/window_diagonal.rsi/state0.png | Bin 15988 -> 1329 bytes .../Windows/window_diagonal.rsi/state1.png | Bin 15966 -> 1285 bytes 140 files changed, 21 insertions(+), 21 deletions(-) diff --git a/Resources/Textures/Structures/Windows/clockwork_diagonal.rsi/meta.json b/Resources/Textures/Structures/Windows/clockwork_diagonal.rsi/meta.json index 06b6f4a550..9f0945a870 100644 --- a/Resources/Textures/Structures/Windows/clockwork_diagonal.rsi/meta.json +++ b/Resources/Textures/Structures/Windows/clockwork_diagonal.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/blob/b8fc9b367ebb26def792a68bcb25294e518698d8/icons/obj/smooth_structures/clockwork_window.dmi diagonalized by MACMAN2003", + "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/blob/b8fc9b367ebb26def792a68bcb25294e518698d8/icons/obj/smooth_structures/clockwork_window.dmi diagonalized by MACMAN2003, transparency tweaked by Ubaser.", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Structures/Windows/clockwork_diagonal.rsi/state0.png b/Resources/Textures/Structures/Windows/clockwork_diagonal.rsi/state0.png index 084563bfa29305fa626d2657f7528e8fcaeb4960..84e8da95e5b7ded79994f18de59800ffb2e25279 100644 GIT binary patch literal 2836 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 diff --git a/Resources/Textures/Structures/Windows/clockwork_diagonal.rsi/state1.png b/Resources/Textures/Structures/Windows/clockwork_diagonal.rsi/state1.png index 0e48f9c92271fae2dfc906c5f3ba31f888151a6c..0f139a44c4cbaee8fbc948ea70d5fe9b46d5a9b8 100644 GIT binary patch literal 2833 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 delta 1030 zcmV+h1o`{)5UB`|F@FSSK}|sb0I`n?{9y$E000SaNLh0L01m?d01m?e$8V@)000BN zNklWutro6wC}$DJ>KsM4`fhb9jbm7cmqdAX}tApmV2)gIf+cdpm| zMUzO>1ax5+u)XaEyxTVlC2S@O57-54Y{~ta=m!P2<_g9N57-54xw%$Xrz8xIi>PP_ zD`Egpg*Gk08UcVqf>i>5X$e*c2tM8dlM<|}0SZ$RtbY-p3L3NC;1KszeAUsR;ma5>R+de`BwX zZ6H+vAb(1ND)7unhc28UZ|j|IFlqo3l7NX$c4dWIPNO}AiVGi%iy>%Dgda!h;DGFHGn2CE&xRJ z4u4#*2(XD=0djAg;NvqVyEQ=W`xZ6G^aRIbj{F+yxTBt=cBtFBXBQ=c=x zS{#G}V$^d&xZqKeI>Fi)U`m43K`@B~U91og7Z775gr?j(!Ri{Ih?Ag8CIo;;2{QSj zLuLekwAy_Tb^%D7sHyWLq%DD6z({Cv6n~jydDxaTC9n%Xo&ZziYTZE6H^$PEU_}fV zJ?JM(v7Mbt{@Pp`608uQ9)*!K`TWE6vd4Y%+8i>)C@|7xSUX@E_R(O}%hRY4E8qO< zXcj?&11J10^Dj?Fy*>|+G(p|~uhqq&x7?oSFQUblaT1{(EdT%j07*qoM6N<$g09TU A1poj5 diff --git a/Resources/Textures/Structures/Windows/clockwork_window.rsi/cwindow1.png b/Resources/Textures/Structures/Windows/clockwork_window.rsi/cwindow1.png index 025376834dc1867b2e6724d89982523f3444e8f0..e78030522325c579b865ab25c7d9261fc37bc19e 100644 GIT binary patch literal 2128 zcmZ`)4Oo)b9zTd*q0rmM(rcK&ytNbo$y5jt)cm-mIkS!CN)b?42m~*Kv|F*%EsohIi1@2FrRXM=WgbGL1)&}&hwo2ob!KwzyHVY{NLx@ z8ygdW#kgSr0NAL=usCGpSf-;r@-#@ccOeT(6&Dc#s&3)?kONM{i%N-(242YC5t)`@ z-uN%%IZqL}S%m{DveI1(|r(xk7|bu=4*Xqs<)?|{OKo5q!K743RohS z5iEZB$#OLuL?T%N&5r3jg@V~Q3bj&djUp6KMN(0kNCvB@z7${Tn|QD!O&G0SmUZ-A$1ObN~h5ReQ0zaI)ge}ACf*xC}6@8 zSSqp#H(QTYL9P^j)oQ_8B#=rh$}**VS!xhT>mwAU@YPb7#1?2IGND`(z@kp0US&^P zUvb+N1R@?8IRLuYae=dDcs+RI?;7a4opGd9zy^ykoh#?)o(1A-Nd zk`iptw?h+|?c$C55rhaw$DM#v*`mpei zWG7Ey)jyhRi?M@;v8CXYyQkY2p?-^}!8qu#YiDxbr~ZDy_J!pEYdk(2U%1FYSKPFH zEb_~({_btV(C!DkzWDs(pM4bAhFt-xJAd6IamwM3t*QNdp;2>ZiPMHW}12-cUdv@%{B#clqG%Kg1(YWW>h`m+hdkAh>4>Blzp< z&(9ql{ouV`J$I*L{Z#LG_=%nk4+~o-2wCj2OBdCGCC(tw(DtsH23;IdC85aB)djr3 zL{&p&^)u*p&Y4GK;%^v`B*b#@VElak-}BHqMU-P5Aj~5MfKr0%WI^}|`G;Obrn)bNY&mRKN-XclI0YUR@V;RgYa9F4*2P@2+2?%46&M@$V~}P2rDo^=O3~`_ zR)|+WN(Vq7^sxV%y|D?yt6nVGn-LRNe8%o~H1mvYbdBNqCs0GKiLn}pcj9gHnuY>y z;R_*rW{Ls)%uTwo=wb^j4z56NEn?XU0BfQz`D%eq9jx8mJ;8sN`?S~GpW+^1ud~CV9_RzTf|Ki zS7X-L0h~6ba*SVIKhp8!=E>W`UqBw;<(D@+a;w!3bhO-Ux1kh^C+}ao&j8r0GKa2` z7m0fg?wY#f_fvRL`~#h$afG1{U^-VVcNc59>e ze_Jz1%daGi<4<-TMIY!$viW|WonjBXuG_EPevoOxAIhb2?=f^a=hmQY*xB8~xdR>< z0P;UQJT|pc{=WA`xE~Pgp2|4lbNKY9{blZ5DbRQG%~u{nx38gWOac#pGfjB|-GZ)X z*=Y(hag|fjzgfP^*oW#J4)wRQQgI;JH7lB5)Rkb%DLdHm)h`$w`JITMdnF&t&s)gL zuQ^O4v~BFkSyb_H-iw8M#N_g%b2 z!wKC@xjN-%J3fhfhFQ>LjNB0eoI45-Qv2JNLqXM9Myp%HfHj=} delta 1025 zcmV+c1pfQb5Tpo@F@FSSK}|sb0I`n?{9y$E000SaNLh0L01m?d01m?e$8V@)000BI zNklHV%7>D05)I|a*e5I)h1cro4R3Mm&gn)qs7DmQYLS40VJS7f}#cj6(2<)B^et0v+siCI;qK>?>)D9B!BC!j;rV%-@Rwwd&v+p z#XTdPQ%BqM_9Ib#r+==~@sBS*h*sL8{>dJ^T5Kw{fnC6*v((A&B6|Fs=+J(mF;~K; zWun@W|M{8Yeko~u6BQTy-;MifZD1F0vPAB^CMutE=tHCB-Fe8EIqy`w3)W%wc56md z2V#pT*+93)oqtE;k4#R8v*utI0MPAm=c}*lba33E(mtZfgH~C5oG4ZZz?et3$MN)K z%Nzghkcc$|RACpey6OkKYnO`^93~qN*adw3Da!hyS6-bh8f!dY7k~!i&Z90R3KS7wDf>9OHdXdBX?RQXz2lImY^*Lq*a2}81O$5 zu;yoK-LD^71b{da!VQ**5KgoS0R1GO@mT(rcOG>c&?*2#NstYmKJ3uxW8@vk>ezs? z0NKzWVSfo&_e1V4nEVK)xH!?$1L8=Kym(Wm19`_whBm&7lZ+_84PL)Uop8c32$CHD zLja%QS~MQR0QI{MdGnLXUp`eB^^%*t$U4n6(H?gmLY`DdsJ7frw}7bifME2$HCHR= zvhG+DgAF-A2$(F`Awc^q0D|LQZgkkTm8j%;$$xJ5&to`XV+1#e^Z-e)C)~VKD`VVe z+;2n>bf-q|{QLrM3`nF0NTOy3OoNyXy`Z?!o&=+S1jGU4{E_>|9smrB+zxR8Gl>fT zNOvRcJzs5g_W@u}07P(OL;!$zYl5tAVgL&&7p9wdL+m~z1>Yhia_S5(wWWTy zI0y&CsOJQ);hB#1og&u8fJg}mY?rY*2*#11iWLI-1;nH!Slt68{UoT83IQM~38@hP zq9mxoE&z#>N6*9`G0-i6UBFmqaTJ+kQF`r(P6_M+kSD+rx!gAp_ZMTjBv=sx#&`S4 zQXD6y;{R+;hXgAG$VXu$P2PWQdD-Jl^Rqc5O3`4X%dmIAH0%N}{?YZ_F5m45!IZw00000NkvXXu0mjfm%+-M diff --git a/Resources/Textures/Structures/Windows/clockwork_window.rsi/cwindow2.png b/Resources/Textures/Structures/Windows/clockwork_window.rsi/cwindow2.png index 48ba09f65778c2c6acb1c24fcb8cfa9236fe820f..f29440596bc7a333a33239cf0f2d49e94b9415c1 100644 GIT binary patch literal 2164 zcmZ`)3se(V8otBJ$Wfw}h_$SQlqxDPAvHi^5`zR3N-zfl2DCgAFc6ZE3??AOfKa8D zU8rb9kf4R~$KG@9+pi?(G zcOOTeOQkyly47*;404vNnmB(g}@kwT%sL=sFQ*`o-1dAt}2RoaW?pUye?(+^7^50?q0h)^QN z>->g>N#YPXfuIYtFy`{)hcCpD#>qtbDEx3(AQHp~#E2YrbZ~?}#6yG;Z!;9j=jA|! zfpu?C8u5cPPbm_<1y#yjiRLq3ADU>mKCT?$!;1hgiAZ#@Cz9+*6nLRNG<_OBoQen$ zkw7opLOpr~T}8;dRvlg^fk>!RmMRJrN74yOd%hqdG){yN7~u+`m@iQ{)8IMOyX-mZ zyH08F2jbIoRZ|0e1#*cfPNzGALZ<1Zc*pqm0_F(34-pm{-zRYPOAra#PcmV+rx+2) zq%yR(^zlgZ;r<%&zOT2j{lr3q@u!3L%!^oy?uP0rLlhEOG*^EQZ$F8?)-aD|rOmFaCXyOC>8~om_IrjhB;VOt1`2TJ^dN7Z&Y8 zA!|R%ZOW{DkeQ!A${yG5gj6-rNB@_IQAeh4QeQu}3wsAH{rBxj5A#X34|(WJYBN;u zI5uxvR`KNLLG2Tq*}l>~Y4&zQ_t#PEYwiAtetR$PzVWU2TI5#aHmlxxa@wjPtBq!$ z%k5vSr_@Rcd+V|I2XrPf>{@9V{EF|}as=Gxv?jjFwfOeUg$;#An4~D@e1cg)5O(>% zjTT?x6OFbi`^$~kWkYU*zwGN>+ZDC{t|kcMy5)gwf2NCyqG7gT;WUn&*^lKl6G$xB zXW@VPpg}8zUMY_NOjrL0pQU<3nX1gCV05@L8j}M+QCuw9l4PiAy=r>hIMo|8R+tf> zrYMIDFYT4@wjP$(Pn-|jtUc)ey!gU_-=+`T>iX^2E71RZ1SiK?7!G>5?xu8uUQUi_ zTT~qx*mf^9a!TwBseq~40FvV8v?%%uKPJ7 z^72U*DCn$Ywp&pDyK*Q{SaYQroWe8X?G8P<9a=;1eaM2g9BwqlKD%}Ayqme@tub=R zr2>X!b^FqBEN$DbGdzFw^%;|+hZ}`(5c}TWXA=j_a;Ka2JignV1l=A@>CUS#3VizI zC*1?V)7ZXXjP-bLt;I6KRCPm>ALV?$*|?S6luzZ8ls#v}&pIZEM|Z84adRpIdd|j= zJjrg(2;pWupRKMQS3l~E{KXo)xf<2}()#&Sd~L_siy8aB&{+Mx*NP6NtDOrbcCJn) ztCGXSQ^D%5O3VjLcC5b2=n?z10nqY-YWdaEn^6tCgfch$=rdIhKIlj_R2P$p59>Gd zK4D^%h-n(eYPbCkm`<9>$u~1j{b!OAMnQo=U%!f@Ir!4)zWTs)u4~AOqR+al3pOpm zaMt|+JRDAVten*V@E>i)uDH5?xLj)TJa%DS<2U~dZO#Yx)-fA4+_@kJoUg5aDCL#^ zv>IxUdc5!Fz0hEajQjEEu$)_09=(~~h#RRm`DwS|%YZ_2d`An$Hp3X_UFulQ$6WdG zMr_`6*G-}2wZy^$d+zjzc@;}aa9zs@n~R@x;D&2Y7ay0d2Q0rnTmWKhVZAx$VCccV4Jl%wF+uqmQtF=9vK3IE=`^B<*T|r3cTvPN$sLy z9E#=QD*jgXqD1=Lie~8Ll=j?cL$d#yHD8#f9QS)z;?LFKoTs;X&lno~m8 delta 1030 zcmV+h1o`{)5UB`|F@FSSK}|sb0I`n?{9y$E000SaNLh0L01m?d01m?e$8V@)000BN zNklWutro6wC}$DJ>KsM4`fhb9jbm7cmqdAX}tApmV2)gIf+cdpm| zMUzO>1ax5+u)XaEyxTVlC2S@O57-54Y{~ta=m!P2<_g9N57-54xw%$Xrz8xIi>PP_ zD`Egpg*Gk08UcVqf>i>5X$e*c2tM8dlM<|}0SZ$RtbY-p3L3NC;1KszeAUsR;ma5>R+de`BwX zZ6H+vAb(1ND)7unhc28UZ|j|IFlqo3l7NX$c4dWIPNO}AiVGi%iy>%Dgda!h;DGFHGn2CE&xRJ z4u4#*2(XD=0djAg;NvqVyEQ=W`xZ6G^aRIbj{F+yxTBt=cBtFBXBQ=c=x zS{#G}V$^d&xZqKeI>Fi)U`m43K`@B~U91og7Z775gr?j(!Ri{Ih?Ag8CIo;;2{QSj zLuLekwAy_Tb^%D7sHyWLq%DD6z({Cv6n~jydDxaTC9n%Xo&ZziYTZE6H^$PEU_}fV zJ?JM(v7Mbt{@Pp`608uQ9)*!K`TWE6vd4Y%+8i>)C@|7xSUX@E_R(O}%hRY4E8qO< zXcj?&11J10^Dj?Fy*>|+G(p|~uhqq&x7?oSFQUblaT1{(EdT%j07*qoM6N<$g09TU A1poj5 diff --git a/Resources/Textures/Structures/Windows/clockwork_window.rsi/cwindow3.png b/Resources/Textures/Structures/Windows/clockwork_window.rsi/cwindow3.png index 025376834dc1867b2e6724d89982523f3444e8f0..e78030522325c579b865ab25c7d9261fc37bc19e 100644 GIT binary patch literal 2128 zcmZ`)4Oo)b9zTd*q0rmM(rcK&ytNbo$y5jt)cm-mIkS!CN)b?42m~*Kv|F*%EsohIi1@2FrRXM=WgbGL1)&}&hwo2ob!KwzyHVY{NLx@ z8ygdW#kgSr0NAL=usCGpSf-;r@-#@ccOeT(6&Dc#s&3)?kONM{i%N-(242YC5t)`@ z-uN%%IZqL}S%m{DveI1(|r(xk7|bu=4*Xqs<)?|{OKo5q!K743RohS z5iEZB$#OLuL?T%N&5r3jg@V~Q3bj&djUp6KMN(0kNCvB@z7${Tn|QD!O&G0SmUZ-A$1ObN~h5ReQ0zaI)ge}ACf*xC}6@8 zSSqp#H(QTYL9P^j)oQ_8B#=rh$}**VS!xhT>mwAU@YPb7#1?2IGND`(z@kp0US&^P zUvb+N1R@?8IRLuYae=dDcs+RI?;7a4opGd9zy^ykoh#?)o(1A-Nd zk`iptw?h+|?c$C55rhaw$DM#v*`mpei zWG7Ey)jyhRi?M@;v8CXYyQkY2p?-^}!8qu#YiDxbr~ZDy_J!pEYdk(2U%1FYSKPFH zEb_~({_btV(C!DkzWDs(pM4bAhFt-xJAd6IamwM3t*QNdp;2>ZiPMHW}12-cUdv@%{B#clqG%Kg1(YWW>h`m+hdkAh>4>Blzp< z&(9ql{ouV`J$I*L{Z#LG_=%nk4+~o-2wCj2OBdCGCC(tw(DtsH23;IdC85aB)djr3 zL{&p&^)u*p&Y4GK;%^v`B*b#@VElak-}BHqMU-P5Aj~5MfKr0%WI^}|`G;Obrn)bNY&mRKN-XclI0YUR@V;RgYa9F4*2P@2+2?%46&M@$V~}P2rDo^=O3~`_ zR)|+WN(Vq7^sxV%y|D?yt6nVGn-LRNe8%o~H1mvYbdBNqCs0GKiLn}pcj9gHnuY>y z;R_*rW{Ls)%uTwo=wb^j4z56NEn?XU0BfQz`D%eq9jx8mJ;8sN`?S~GpW+^1ud~CV9_RzTf|Ki zS7X-L0h~6ba*SVIKhp8!=E>W`UqBw;<(D@+a;w!3bhO-Ux1kh^C+}ao&j8r0GKa2` z7m0fg?wY#f_fvRL`~#h$afG1{U^-VVcNc59>e ze_Jz1%daGi<4<-TMIY!$viW|WonjBXuG_EPevoOxAIhb2?=f^a=hmQY*xB8~xdR>< z0P;UQJT|pc{=WA`xE~Pgp2|4lbNKY9{blZ5DbRQG%~u{nx38gWOac#pGfjB|-GZ)X z*=Y(hag|fjzgfP^*oW#J4)wRQQgI;JH7lB5)Rkb%DLdHm)h`$w`JITMdnF&t&s)gL zuQ^O4v~BFkSyb_H-iw8M#N_g%b2 z!wKC@xjN-%J3fhfhFQ>LjNB0eoI45-Qv2JNLqXM9Myp%HfHj=} delta 1025 zcmV+c1pfQb5Tpo@F@FSSK}|sb0I`n?{9y$E000SaNLh0L01m?d01m?e$8V@)000BI zNklHV%7>D05)I|a*e5I)h1cro4R3Mm&gn)qs7DmQYLS40VJS7f}#cj6(2<)B^et0v+siCI;qK>?>)D9B!BC!j;rV%-@Rwwd&v+p z#XTdPQ%BqM_9Ib#r+==~@sBS*h*sL8{>dJ^T5Kw{fnC6*v((A&B6|Fs=+J(mF;~K; zWun@W|M{8Yeko~u6BQTy-;MifZD1F0vPAB^CMutE=tHCB-Fe8EIqy`w3)W%wc56md z2V#pT*+93)oqtE;k4#R8v*utI0MPAm=c}*lba33E(mtZfgH~C5oG4ZZz?et3$MN)K z%Nzghkcc$|RACpey6OkKYnO`^93~qN*adw3Da!hyS6-bh8f!dY7k~!i&Z90R3KS7wDf>9OHdXdBX?RQXz2lImY^*Lq*a2}81O$5 zu;yoK-LD^71b{da!VQ**5KgoS0R1GO@mT(rcOG>c&?*2#NstYmKJ3uxW8@vk>ezs? z0NKzWVSfo&_e1V4nEVK)xH!?$1L8=Kym(Wm19`_whBm&7lZ+_84PL)Uop8c32$CHD zLja%QS~MQR0QI{MdGnLXUp`eB^^%*t$U4n6(H?gmLY`DdsJ7frw}7bifME2$HCHR= zvhG+DgAF-A2$(F`Awc^q0D|LQZgkkTm8j%;$$xJ5&to`XV+1#e^Z-e)C)~VKD`VVe z+;2n>bf-q|{QLrM3`nF0NTOy3OoNyXy`Z?!o&=+S1jGU4{E_>|9smrB+zxR8Gl>fT zNOvRcJzs5g_W@u}07P(OL;!$zYl5tAVgL&&7p9wdL+m~z1>Yhia_S5(wWWTy zI0y&CsOJQ);hB#1og&u8fJg}mY?rY*2*#11iWLI-1;nH!Slt68{UoT83IQM~38@hP zq9mxoE&z#>N6*9`G0-i6UBFmqaTJ+kQF`r(P6_M+kSD+rx!gAp_ZMTjBv=sx#&`S4 zQXD6y;{R+;hXgAG$VXu$P2PWQdD-Jl^Rqc5O3`4X%dmIAH0%N}{?YZ_F5m45!IZw00000NkvXXu0mjfm%+-M diff --git a/Resources/Textures/Structures/Windows/clockwork_window.rsi/cwindow4.png b/Resources/Textures/Structures/Windows/clockwork_window.rsi/cwindow4.png index aa4ed12cbc5dd25ec5df058aabcd5abf3f3c7e2a..228081ad5b9ea416f26648cc0b4e6fc1c1e36fe4 100644 GIT binary patch literal 2112 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|_);T0(|mmy zw18|5AO?X;!IOa`XMsm#F;KxA5N2eb5`33|fjK8LB%&n3*T*V3KUXg?B|j-uuOhbq ztjngt3dqb&ElE_U$j!+swyLmI0;{kBvO&W7N(x{lCE2!05xxNm&iO^D3TAo+dIm~% zTnY*bHbp6ERzWUqQ0+jTtx`rwNr9EVetCJhUb(Seeo?xG?W zUP)qwZeFo6#1NP{E~&-IMVSR9nfZANAafIw@=Hr>m6Sjh!2!gbDamkq3QCJ|z_z3$ z>!;?V=BDPA6zd!68R}!xSCW~AaA96CG&q0(qYsh+YBRv9&9k5+*#sC;t`$J{K>Y`F zXfoK|;*u17BnA3L1_l&2TID3>rQ0f1=%%EmC6?xtDA^^KXXd5kmz&$@LsX&ahKQmXYNL{p zmyJF=C)shWbM3v(z`zph>Eakt!T5Ie?))nTGRN!JUXXQCn77n+fsIPkgb5A?3;Ygn z@l1WemDJEUk@bgsLSjNf1LMIeSDpih90Zw#Lj{HUotuJAO)Z}&F-v;gkJ)$pe=LeA z>J|Q9qdTo=<6Mhx-ygfz{IiTzdBax4^|}4q)fZ>o7ws!`Onmmdv!LduYsssMM3r?N z&(~dZd%R9P_O;(G#rLlT?r*m{k^0qZ(ZRJYtHW3xeLg3BK0Zx(@(!DT&lZ02x|iA| z&#(V^YWb5{{ngK$)^%=YF!>$3>Y8HR`*&x#HLKOWcQH3~#j!Hh);+pv@>WAMbHn@> z=bED|gZAi+<%_$lJTwJ>ic=`?JITaK5)M?`!C8Ku%7*q{yfaE7D{;3*YCj zd(NF>XmAkA6>bVV&fI`$kln;!5my!&p&BP}q8;lO`3RfUq5 zM=t+ZKVN^2$K7LS>~?w+-fos)xa}1EG@Yk`eN~v` z4!L|D2Bymn4;uZYCKxiv?Y!(TL9G8zFXIEnxjY9Y7_QeWcQRmW5Szeu=!V6`S&w8U zb?@?FaB#F1IK(|Shhw731jz;!4uSrs`EzdSYtH$6PQ*c*L#HCcemAjk zSQ)wJZus}&Sih^O=reN%8J2zD9(^^*eXsrN*@l_(WwguBozY|9uo2iK)3Wj0`mles zpT!>qeolTo?>_H?`d`!DPqR$7VsqKba^g_N|KI&aO{qWF^R7PsRC=lrgM&p}`*yjii=8^h)2!H9PRp69 zCGa!Ewa*aQX&`Kp$C!BWp@Bkz63cA+oc}kN8MYU`-Op$^=UAFWIfDRmvAM#P*K&Kg zzg+g)D#^mUXv^uX+%Fz6Fh1JI&%pl2n~Nc#W&55)={Z}B<0ktji(g3ZIXqo!@g#vY zrHrvDS8hA*&%3P8#K08WsK9nWlw%P?j@j3+%D?Ovy3Pc3#(&a1P$8FaD`?R(!Cy9w z^Uvq=?mPCd?|)na>#KCJ<;PoFizD`{_ujv$m%!b$nIT~ITL+Ke*Hu!>8E-T^umMI@ zRqnEn4oIu-~E~ZmY#AYle%51OMqL zb}+vPDh{l@@31?*CzbW!sZ|9bx~~eC@@BPnT0KaxRQvR2>6az_%QrPB++$Lh^_}ZL z#;1L+elGj0^3h{@t1vr*wW68-f@d4c4{Q^D&$O@8=O%Zec8h%c#7{FAByI#Pw$9V- z$d*Xz{dZAH^&0oIYw}-z+RS5J%=w1x#~QtJGxN6p=jKPPz0*IJzf1=);T3K F0RS;GDEt5b delta 1041 zcmV+s1n&F55VHu7F@FSSK}|sb0I`n?{9y$E000SaNLh0L01m?d01m?e$8V@)000BX zNkl*=hXJGn^$R<(^o|KOI}SxX*s;}f4lo8U>AU9e@xuC6NchQB@VL6h}J0zl_C7g%>AgZ)&3C;)r91@%o0BlQeLO|u4 zEJ$ohaIOVJ*plFkfT*HzY)EiIK=cyCAwhdSVCsf9BY%tkgn0SMKYYjSqO&cGw18G5M1hYRZ2_z0rQn>^mSCg>WLbiK3>X{^&RLaUCI+-1 z0n=aI-iG{%4f#sgY1x<7dto^wM)2Y-8rRz&6JMN2?31b;XESpR>}LHo-a z%?QPx1Mb`}<>ogU=`p3{{_f%+tT&|Sl`5e>N!F+rCyt4 zji%aU0L}b<0TrszAz5*iq*idY3)qt2bPP~Rkd;<_)(XxC!L%i0Viag3L6=Mj0BK3c zi~wM&-^XDWfW+y{Z1ekrOiN%F(3hATg?|uPtcytr>;jM{z!W(uj-%NfW2PiH5d#Je zglh(HoE>X^+nfmrP6&unYe<@W`059#^S0SGheRnVjC2{+4%mkMZSdMfsv@C^WC>yc zc9Eh*EPf6@N4JQROvK)PpjQWW0jllu07(<%4X~}Q5qit*iGBmus+8*{>AXAu015yA LNkvXXu0mjf*^Sh& diff --git a/Resources/Textures/Structures/Windows/clockwork_window.rsi/cwindow5.png b/Resources/Textures/Structures/Windows/clockwork_window.rsi/cwindow5.png index 6bf733f81ae79b1f67254fc910195ea0b55cd8ea..89c88d12e2a608fb0475a4dd93453b5a43021f58 100644 GIT binary patch literal 2060 zcmZ`)2~bm46nzPSL=<5JajBMXs4FHvq*x$^B{6IkC<0=z3Wg*=0Wbo9-&$g#_~=@!8+pDK_|6E?L%!PXt9|5EoP!C$!<4kz#&GVptfMfv+ieH@C*9-|=yn zEI3wy1B%U^K;9VD0)Q1FiRNScuuzr|O{EJ&Xo8roPL)|$Y&8pCriw8Eq)tVo3YOZ3 zYC*8@wb=|)Aqxac@uBj=BA_{_Tnv3jXV4i`Ut0)**m6-KE0PyDK*x7J)MN~kv0zxG zQqfi4(ouO5?C$OD4KtW9lS#u7G)1};6R2rYg=@c)_kMU{g-|Y$VG>jdnf(e9P$lL= zrJ4f`w*EXt!ofH)r5v$D5eZ>2B2E=cF$L^ScZWa6!z76xGL$L?cq;`Jn#2t%ZpST2*}wPlIN90>Pi z#HYSK#GWseV7~7id}1EL8ge%*jvP~=@|0-HJ$w-Hi;w{~{elju&;H`Kh>usluPqxM zd`Z5x6#@As07xz&JWjNl@T90d&&l1X;bw08_8Yg+4(HA>>QZQ0TFk=T*}A<6+p>4% zzxGQOO15PuYtokPZ8~$U?9ghzXE(ZE+V9`&mUhnb*s%u2?5f&R_r%r1&xR*fYVW-{ zRrF2Krirfi8FjlZ&X&t^1z=7D&<=4y3_t=?s}>AgrH*_uXjDMzfX&Qepb+UnFbQ; zP5W8LU78N1Zm!Y1s$hY#%^nWVjOXk4x|Y3D&LLB4Udkj_^Nw!FDXS-z-E4q)3{95N zbo}J`3GmamjcDzva;ryaQJo9uq1Rh`Uq5+)OzSk1_S*i`t38-d+HDM^m;AulsoLEa zeF!*@0A36CZh5f;n(rEcZz;DaGmG`!b>#{V0R0+}ljSfP*irrk)dzOv=IkdafkVZx zNw%QSVLL%*Ef`^4n^m-FeCeXD+TN|I>0hPqs00h#cif97Fl=XOb8=>;>%*79&Jjrz zBT$dfyOELr<0Wg3%*H^AUqFewY6S>D1{qBOTek7L6hGSg2N&{YTlrrhXBtM8)GyL4jtYA`^2fJE)qlpgKtgm$5SVUVkfB^z)rGdi z2hTaa`Y@K*c;R~AYhkf2vCSokw00HK6bw80)e$p(VN;&< z%9h;pi%%)3v&w*mWqPvK>qA!bJ)RnQYOM7>Pyg9o=Z~(7$x?e{{F8F1xoRx2AvE_9 zse?UtPueB2m+6Rg!enQ|=nVyim;1=z*rX`|?q^AL`NWwFjSVR@>sEJ8hl>U{9F+Fl zoRrv|b+}>zIBsaMqqIo5`lxsN8xR{#pKjue71lew{4><;R))-;N+KA0jfOValuj(x z+}b`*SK{T(Dn8tt*8I?Pl*H^}X=dM+Y zp2C{pvaRImg>zfkT%%*pEA~>^`1snV@Y+Tqe?ne^w_CCPzA7*`Xc*vfIcuE_I)^}s zQag1im;~|cbt6_I=jPox03s%5HG@ZF!N!

6Zyh{%U`^=18B*Mo(5S=h(?BgwVnh z^Tq*Q+`|(qxDjOFmwCgJ@yPGwPaI0+jAGNeuDFycZJXAL5bn7BIDOZqcj>3eB<1jo z)*u4OY)QYAk>7kbrPr1$W8n{{aYE9B%*s delta 948 zcmV;l155mj5Z4EgF@FSSK}|sb0I`n?{9y$E000SaNLh0L01m?d01m?e$8V@)000AQ zNklwh`36=J4#bfSCp;x?_n zBdQ*f*ScMKeEdqZa3g8Rt7aDOrwgh%5_{B{4RpSGShn|163w3=n%XBj9|Cp(xbu&m z64kFKJrS)=&BT>zL75)kvv7i~H{o6!7mqQ=9t zu72#5C3963f2`M3p5x^-Snh@ZU z5LFJ~kYK$YuzWjNQO%LC{XTC?bhAKcb_J;O$oR_6p?`2P0?I7GT7d6)+BfzipwgwS z_S>vkMhW&gVD4mgE~^ALIbZ|{Sn~_D?l%l40zeT7{T!J_%U&Lj@>b{OEknPV6`t0YxNep1o|-scMpy z#5!NpMSn(|g}@*Qjn(b?z2#Of=5gmmNMvCULmqIN156SCvi1vEW<)$V<>09VYk6+W&zmc^$I=_6Bg{bww!u9B}tRtB$y@h`)#= zh&%w+Hthcg8@!AFjVT;34PrV(0{riu1WiB!W`6J^g;Ct%y<_7Q0_+A zd##!F_5ol|Kn%$+hyVZyuiAh10iZor0zm(!r%*e=hQU%7$j=Tpms;aj7Z~)!$N`H0 z5Q_vh0U!nmtO8ks2NaQDOY}+5w}ev60>dQOQVIdUmxR&?0IuRb54!*qPFGfo?-Ot>fnC5%-{L5Q zsOCUiN?;d&Isul*(QzC_-xzZxA&ML@dqnOTz;We#@z>^DNQgp!-YbBj$?FekRyrS> z*XFQC03AlT40{Jc!!7{vkD)Jyd~YP=b1j0r;tzHK*dw4jj=cjLVl@2t_4n-H2cqBE Wwu-~W40$*J0000G?W zUP)qwZeFo6#1NP{E~&-IMVSR9nfZANAafIw@=Hr>m6Sjh!2!gbDamkq3QCJ|z_z3$ z>!;?V=BDPA6zd!68R}!xSCW~AaA96CG&q0(qYsh+YBRv9&9k5+*#sC;t`$J{K>Y`F zXfoK|;*u17BnA3L1_l&2TID3>rQ0f1=%%EmC6?xtDA^^KXXd5kmz&$@LsX&ahKQmXYNL{p zmyJF=C)shWbM3v(z`zph>Eakt!T5Ie?))nTGRN!JUXXQCn77n+fsIPkgb5A?3;Ygn z@l1WemDJEUk@bgsLSjNf1LMIeSDpih90Zw#Lj{HUotuJAO)Z}&F-v;gkJ)$pe=LeA z>J|Q9qdTo=<6Mhx-ygfz{IiTzdBax4^|}4q)fZ>o7ws!`Onmmdv!LduYsssMM3r?N z&(~dZd%R9P_O;(G#rLlT?r*m{k^0qZ(ZRJYtHW3xeLg3BK0Zx(@(!DT&lZ02x|iA| z&#(V^YWb5{{ngK$)^%=YF!>$3>Y8HR`*&x#HLKOWcQH3~#j!Hh);+pv@>WAMbHn@> z=bED|gZAi+<%_$lJTwJ>ic=`?JITaK5)M?`!C8Ku%7*q{yfaE7D{;3*YCj zd(NF>XmAkA6>bVV&fI`$kln;!5my!&p&BP}q8;lO`3RfUq5 zM=t+ZKVN^2$K7LS>~?w+-fos)xa}1EG@Yk`eN~v` z4!L|D2Bymn4;uZYCKxiv?Y!(TL9G8zFXIEnxjY9Y7_QeWcQRmW5Szeu=!V6`S&w8U zb?@?FaB#F1IK(|Shhw731jz;!4uSrs`EzdSYtH$6PQ*c*L#HCcemAjk zSQ)wJZus}&Sih^O=reN%8J2zD9(^^*eXsrN*@l_(WwguBozY|9uo2iK)3Wj0`mles zpT!>qeolTo?>_H?`d`!DPqR$7VsqKba^g_N|KI&aO{qWF^R7PsRC=lrgM&p}`*yjii=8^h)2!H9PRp69 zCGa!Ewa*aQX&`Kp$C!BWp@Bkz63cA+oc}kN8MYU`-Op$^=UAFWIfDRmvAM#P*K&Kg zzg+g)D#^mUXv^uX+%Fz6Fh1JI&%pl2n~Nc#W&55)={Z}B<0ktji(g3ZIXqo!@g#vY zrHrvDS8hA*&%3P8#K08WsK9nWlw%P?j@j3+%D?Ovy3Pc3#(&a1P$8FaD`?R(!Cy9w z^Uvq=?mPCd?|)na>#KCJ<;PoFizD`{_ujv$m%!b$nIT~ITL+Ke*Hu!>8E-T^umMI@ zRqnEn4oIu-~E~ZmY#AYle%51OMqL zb}+vPDh{l@@31?*CzbW!sZ|9bx~~eC@@BPnT0KaxRQvR2>6az_%QrPB++$Lh^_}ZL z#;1L+elGj0^3h{@t1vr*wW68-f@d4c4{Q^D&$O@8=O%Zec8h%c#7{FAByI#Pw$9V- z$d*Xz{dZAH^&0oIYw}-z+RS5J%=w1x#~QtJGxN6p=jKPPz0*IJzf1=);T3K F0RS;GDEt5b delta 1041 zcmV+s1n&F55VHu7F@FSSK}|sb0I`n?{9y$E000SaNLh0L01m?d01m?e$8V@)000BX zNkl*=hXJGn^$R<(^o|KOI}SxX*s;}f4lo8U>AU9e@xuC6NchQB@VL6h}J0zl_C7g%>AgZ)&3C;)r91@%o0BlQeLO|u4 zEJ$ohaIOVJ*plFkfT*HzY)EiIK=cyCAwhdSVCsf9BY%tkgn0SMKYYjSqO&cGw18G5M1hYRZ2_z0rQn>^mSCg>WLbiK3>X{^&RLaUCI+-1 z0n=aI-iG{%4f#sgY1x<7dto^wM)2Y-8rRz&6JMN2?31b;XESpR>}LHo-a z%?QPx1Mb`}<>ogU=`p3{{_f%+tT&|Sl`5e>N!F+rCyt4 zji%aU0L}b<0TrszAz5*iq*idY3)qt2bPP~Rkd;<_)(XxC!L%i0Viag3L6=Mj0BK3c zi~wM&-^XDWfW+y{Z1ekrOiN%F(3hATg?|uPtcytr>;jM{z!W(uj-%NfW2PiH5d#Je zglh(HoE>X^+nfmrP6&unYe<@W`059#^S0SGheRnVjC2{+4%mkMZSdMfsv@C^WC>yc zc9Eh*EPf6@N4JQROvK)PpjQWW0jllu07(<%4X~}Q5qit*iGBmus+8*{>AXAu015yA LNkvXXu0mjf*^Sh& diff --git a/Resources/Textures/Structures/Windows/clockwork_window.rsi/cwindow7.png b/Resources/Textures/Structures/Windows/clockwork_window.rsi/cwindow7.png index 6d2c0e0650ea87482405e72dd57986599e1bf6f7..aafe2b5051d6bd0bb148bfeb3de2ee82737b3b94 100644 GIT binary patch literal 2065 zcmZ`)4OCNA9KVmjfFZgFh63go6k=>|%m|rdFa=@hfIw=)5188<>@fDm_K*QO29hEn zsh9_8M-lsWi4+nfgyu{$9ij$hMm8!T!|>q86olRe0($hGbKkx9|9-#!$M62%dE1i` z;@n9-BmjUrKRzZIU!!f)g@`{tm*@843#3VoTLzAp{RZ&EY(&VH2?SsfzIVZ=ZCpyJ z#-FaLc##GN7;F=A-jnhh00f16wGa~uR^vBXxaES2f@TtZH_{z zVQV94b_5&W+srVHYKLIiku;$oiMkwBBh=R!Oa_z2B~htVj#?^XC&#Rqq~oVZS{8<> z*f5-*pU=o&%s|zdaA-tC1k7Z?EEXL{&@}~0Osu6VH31V&9{Y(wG!nI3g~?GR)#g{c z0nNiAX*64)sWFkKR5BGum8VwNqevw%qCj#GC8mKx8KLmAc$i!^ouN`QDF-eLYRplevV>WYJj>@Kk+x`W&f*jma?uVi#_z z9=n1(1@@%XhPO$eklU1HE5ypoNSc-|MP%YU1xDja^5se?njg-ACs0qaC#+98<-pH~ z&#_g_79}GZRFP-Xof{Fxu}krUary!#2*PI(W*VO+BxRu(iuaRRF5xRNM6FWey=9Nb znhf`R#M8c}W2Y+R827P*r_3{0Gwz1XQ)Bt4I(xPK9;QWnE@aZpgrGC}bE5g};^W=V zC2`=XFNsS!61$@Z0LMUn3~#j-8vLLgy~3RP{qKi94SM6%C7-q|P2I##TIBEF*ceJ6 zco?a~xpPJOafq^lIG1ch2(rM9j&4ocOqs2HU+F<`(A|myLKLZA>#-rIVR?42_n9h5 zR8&Xf=H`?Dad>O4bY5)DzO?#o%DNiFtF-SFt!qGXD5$zZJC-)COx~1s?VBdwiYl~n zhf&%nH)It$cbRG^9UgDiWo|C%G~el$9ZI}F?AjNQSNN0LceVeut!#L(YEGxBy2a_l zzxO{&+h!#!PMKHn?>$N`*m-$1dB_}9&>VgI*Sy-^1nh>cxciGM)=#!~I4tZQNsM6@ zwcNTvy>ozFd(Ape!v`jMvSRQK3F7t9Kgr6h6G%W4($Z1{SFeP=D_Ft7ij zrT8>m??eDq8;dfv%$@Zwl&=A9WvV3cMz#_!WO&di)6z0M-xKo z&XJ9fYQg$cmu`@8D|KszyFUBd&&h`K&cFd&*B@x8_E|15cNT{1-jkSSIOe1xib773 z=fBeT4q3O=^vgWp$#r!wNgn!U-dpKX_4k1138qVk_2L+NJ~#f4uB$%uiu1?9fO7P_ zC5{da>on-t`qBQ)p($q{d;!(OCUpLBX>y?rEh(K@9!p^^uJ*c0`DlZ2YFlf*hpf1MA+T;78@uHk9Kz?K+*Aj zj>fU0eaDJ5B12!G*$hROxt4^pE76PD;~xYytx69$QRun%wE$B)6qw%HwJ+9Nm=aO{ zLfc)c3!hUPbd#0!;RBspBVbg>UH!I3f}h>=yj^nwc$w|Mt#UsE5&Vr0B!dfz!1deo`GyokfJ&FFusNcXd|jJ>FHXhol+{fGmx3fb-~K63B@8x=rkB zX!=T7Qe9Xgww&+%!}?d%Puvc1fz%xy^kTYs_AITrjXaD6(RDD{1gs7`&**(0b3+=! zz^Svwy+f%e)ZGWxtlaJ!SJUUHcQ)mw%qJJrEIPg!9=XrUZQl~ypZ>@K zhJG*%08?Al@bNP0Y;e=@?{76NXeN#~5Jwe(u?AV2I`gY& zL4833pa|A)+@c!b2soEoRTgkG4iq^h4gb6}srkk6@bZQ;jmed0c^BpStI0ys=$ak0 y3m#+d7H?@wuKeiB0>nK^7fjyOdvM{8R>Ds2U4FdVX$x(?V}5Kx%#mdorT+r~^bE-W delta 970 zcmV;*12z1S5bXz$F@FSSK}|sb0I`n?{9y$E000SaNLh0L01m?d01m?e$8V@)000Am zNklVupo}kS=9qDjxzSR=PA_0%oL& z6}1dNg2Y<`X?Y1CigZY6@ZV>{DRt85&gaM1^e3I{I+a@g&VPQK^W!TJGgC*$x+v!> z9V(xYP1F@FxHj8F3payW)M{q&LAao*i8!Q6Hj3k8sz!8df@tmx(d2m4c^9w?C>8(6 zyI;K#Q2Auk*4T*d{9bq82J8Yb>@SGB{HJJUbEk=F zkHf0^I8(e3@PF|$(UWJ<_4Iitr+}CenGb)!E?{RTn)7#W&(?6c>^xu>u=QP)8}DVg zv^eXm^MG9dI*dDyx|T3~N<>9Rco74D?zC$O-Ut9361)-sTua~&f~uo&TuSg_1aM05 zW(sgg@G1syNJzaOuzV+2QPo7GeV$K?cdLMF4g{z&F@IS_XIEGm0eO~?TEJHGohAq|;~0F7xnU>U@6D1+jD`+p{A0urziAm@+VKh6MPT1*$!FEEq2 z0DyEi(%!3U;lFbLI1>O7+&B>cAmMfM|2Y8EM@j(bJ@n-2B-kJ_T?P6PUmb2OHAXKl z(C-@~2P^`BFA~@U03Rf<3h;pg0jeBXMqU8xlNd04k1*{l>42#}(?93_eE}1u)uFfJ zCVxpu@OBEglHhd==qsVn-L>1C6z_weQ9_?B_ax+E6&NHTEx8Z?vXYP+0l*|7E$jl2 zI9+)({5b*J64(WldNxNPL{$0h^0y1+`OA-|-a&z*EttxDlz$&bOY>=?Nk^)#sNw%$0gl~X?bAC~(f|;Iyo`I4b zmx6+VO;JjkRgjAtR6CGotCUevQedU8UtV6WS8lAAUzDzIXlZGwZ(yWvWTXpJp<7&; zSCUwvn^&w1F$89gOKNd)QD#9&W`3Rm$lS!F{L&IzB_)tWZ~$>9$H0x+$q?iKRIuN_J_bIXO1^5EZC8A)=@T+UR4k+Xm!gtH_|#;{2Ra zP?+0Un%RJZ0YwlI_z(>d*fbyuqH74q$S=tUrlq3HWY4^k)S`kSV7da^X9Tqlw+eK# z5O#;=WtP~%3_ue`(uEW+R*pp_<@rU~A>cTG1Rzdns1cCBL`s*CL=O&lV5+y{veAd< zAUiID^hu?HH@2 z_bUE^{KEQ$dM?`|S4EdT_FKtO=kj6mGOa9b*4a77D&L*;RP*F^wwlX*^3G1Yk> zAZAPR+tXK1y?lI$!h~=AqNVQ( z@7i*5{=O1t`BC}u?l*sZ)@{A@T+TYhL{r}z5 zpIqW}ee*5a+$-cG{C+#-(X2_YjIHTy8Nk98Zm$$6D&r2zAI__sZ(A)Wpu~BX&M-q;^CPhi>2u7=8a>MXPP4w$)sxWbJ#icx|F7vE*e zoxZq{b2sCT`x+gl=85wJGS=>7-{okgCA5-};TA{7ggtYwSmvJQYC0qRcET2oo0n7; z|8*+4t)^Y(`SP0XrQhr2nwLzeo3-b{KkZ3;5_4=fS0C{_y7EBAm+8}HGX%f=bx@S| zeEfCeR)veM8)|Nd+si4ob)IJ1&iOWCNyd+e)z+s>1P@H8%y8RTR_(v2`?-ip*q<3` z9&?X5pIRE8KijkVQdC!+6o+v$TU5p(*)wxOkE}ehPQ@q0^TN$}3+8#7DW{+D+kEv{ z4qsX3jc2v@TxE8DX})@@SS_N`@7BI~$NbNps@vTBoFQ=DfA%|jQ-kg2{OSeO7oM(u JF6*2UngGrQhnfHY delta 711 zcmV;&0yzD$4c`TjB!3BTNLh0L01m_e01m_fl`9S#0007!Nklw>CVM=hn1jfBZBI06=*8 zvL}_7k#1MGoqv@her2g7TkoqfDBIoH)(~k!kFn*e{q%2(1}rY=LV} zB!@8lNp%5n;vsb93H7f|7Z7cSuxp6w7b%wJdVt*rghrF^67J? zVDr8g|3(9aAkamSgv6hSlCcQ@&m#BICMIM`d6`i!5CpnFAZ`uWX1IpcldDlDOG@w6?Q88~xyk9fut2TN8mFBnZ*jIY7IEgKu1Jx|QZe>~ tf^j>D+XEj+o6tHx$0h^0y1+`OA-|-a&z*EttxDlz$&bOY>=?Nk^)#sNw%$0gl~X?bAC~(f|;Iyo`I4b zmx6+VO;JjkRgjAtR6CGotCUevQedU8UtV6WS8lAAUzDzIXlZGwZ(yWvWTXpJp<7&; zSCUwvn^&w1F$89gOKNd)QD#9&W`3Rm$lS!F{L&IzB_)tWZ~$>9$H0x+$q?iKRIuN_J_bIXO1^5EZC8A)=@T+UR4k+Xm!gtH_|#;{2Ra zP?+0Un%RJZ0YwlI_z(>d*fbyuqH74q$S=tUrlq3HWY4^k)S`kSV7da^X9Tqlw+eK# z5O#;=WtP~%3_ue`(uEW+R*pp_<@rU~A>cTG1Rzdns1cCBL`s*CL=O&lV5+y{veAd< zAUiI7cC`zHxUjfR3UC%|YAUtgTzCEC>33<#j`tPcA3sx*Zj}FQ_xg=nx0Z_id%UCN z{olWT4Q9`MlIXMi@`bFepKQB-thsrI_wmQsSMokx|K{%Q{*dXxJo z(bB-Fz58b3{aZC-7?_FGeJ`FpeA8UE_w`|JPO1n{0o)4lxqovo2=aMY#S zS1+E5kz_b$zqi&_Vy~6$muc1gzq>0r_TH>Wanv~R__@D+_1?MJx0|EC%YSo<;Q6yN zKD>frm}kfHU^D7t3JLv{Cldxh3~8{-WK-t z+IL_7l*zclC~(n)7fhm4c)A&;GQP~{D>XjTtm^YqXJ=E@{Ps;e8WXHOdogU`sy*kk zbvf&IWwu8=GmSR*olia%agFuMKDIT>zFf`#ZEC`PVJKO=G;rEVZQbeM3gDin8VAbq!&Uq!xVAvb|`1*K}sh$%PAw zRx_SIztbd^!$fW7E*}kBL&bB+@!GKus<(AK8D>bNgZ8)6Ji_R($(1 zdDo}Jm4{nc8g(V^74BJA!+)Tl=KSup--KjW^Gf^M7mwn*Xf+tG_d;_BAJ$$Oce__JFx0?U} delta 814 zcmV+}1JV4G4#ftLB!3BTNLh0L01m_e01m_fl`9S#0008_Nkl8S%5Z*`@ z#VHVlvjsvFkx`a9VS9bfe?|;oGwCDJaU6@fp0<=0YZrVjbm5=pj-zBW>AzI0$mi{lO+TQ z{MYq1Ut47YN=QolPm)CBd2Sdd$)UXF`Kb&@6(C!s-*Wh>m^@DlfFlEX7}}l!iTM*! z1?XPaullN(^ndP=6W}|00LHiO-p}rY(G2&a_@P|CoK!o1e*H|T0(BiqyHWgX#{HLe zyUrY)01))Y*U#zrE+2VxDdU06~%b z(ca$ixAXHB1QG!RRbXUEPCkw9>bm~!%waU4O%O;20e^AvfX!AHXA`2ksblG#69_%X zk_Sw{{9eU8lub&x)-<8tcyLvqj~D>dHawMAbTQtw{(hUaE9j^K>+E<;o%SUFzD>Yt z#Aw(;=yn9>PPDzK0_*I=B0e#u0e}dF0^(YhRN_hc>3wDBsq~5my6wtxEUzaguMPi2 z1xzQOD}TvN`~!OLG|{3+?EsqbAQECiUfQrJEw&N@p`*L()Y(DJgQ~h%X!qUc0TLI( z`7$Bd5fdW0wF$ZKJqvEvgF<|mklTGJ-WfdL1kgwN@xYdK)u3X&XSvwu)y0ImEg$jp z3Y=7I6BoC;D&U$OT)fT$=wggiJ&+F*!l&^)Zhv&yZF}{lbOHd2VS8bu>cBjiFylMr2#L>}9NiypWrFtG`6DsA@x~`slx>5mRI9+e^)#d;AGD5TU{kVj< scqhR3>HoIoch2gJicx>pFZUC8alCj^j)X6U`63}+ z6_*_=N`c)81QpRrTh5cqS>X|U_K1- z)WWTtN39?ofheC!vY@N#bGi7{ z;v>~h)24zeZxT&g=URCo0ANO$Ui45oYAoVjk|Euwcv0u*cXlIq?ep0M`I!rSvrO=? zWzK<$EDta>=i;t8{fwONG6;7?7tA85y?t52op`r3dL_~yLPC$KkUN>hwhQ22+BYX&=1>Jn?yS2zNvbpxx z&b(5Kx7}|ja_R)8WS5Dz^_;j>-y__pC$172swyc&D_T4|d$tcWR6j^H4K%-s&DLdX z@u8!9^rMd_u2Zm0E7IEzOn=XAE*kh_>9_jEr%$a7u))tDqYN~rcN%W6>1|G-n1@^F zkWv}YHdoi|yck?7fI97#`?P53*q)(`L0!RE&mPH7Tx!dbvb)LB*>^^>Rh+p+9HsHU zp}xBn z5mD6QzE{5-*B7_xfRl%@y&8a#u0<<=vz*DtAG!j+Z6lkB^^RVwbXb>IhB}nDk*Jq$ z=~lHLdXcVtZd;}&AUe0}fWX8(%n{!|vMMuw$a)aJP0~U)F`LvhK-=y^KCP#}IhxM` zF4Xg|>n1}0`H{_Tr_h(594m3ZXKKC%6NW>R$W>!uv17hvzr8!{VpI-2VA=!a_S1G+ zIeOW-{@;gp3;f{kAS)1ezZXax~LO-Sbj^zF+O_$%5os7SOA3_S&k%=}m0m1k|4V+w~36sk)Y#>vaIK;?bD# z6~E12z2lraA)PR>ww?Ds*O8W1YsApgq~q}N|0Gz;2iIj~DgzInM{(tt1Wp=cEsvJi zM75iccwJV;io7+$Q%&KQx`BV|J__4pL-ug`S4H8?SX{nh;e72d4(&DaX8)!qs94

)y~t`X>T;ELNi8WIhO!u;GerMlzNr__gv(>^ogb`F2t_&ctcak>}#oA zyTgvOig|P_>dL5c?rnNYVH-n3TtZt&q92}HUuMfdmyPw94B~X78OH=Ou63xr!H-?> zeV)x{gW01%MGX=T3TEHZtZO>fSV6y=*2V&y6^q{h4-R^d^+ioZe z+@Wu1bqj;i+KGA?Pq#a8Qd^QN(p35p>! z!j52M{3+QP5KeDHJ54dFou&g@KxhgghQ_Qi=r~>+6#1)R=e&Q<*n?F%MVm`2%s0- cxj1*Ijn`70Sm)P=Q~gCSy#u^zcEn`-A6%GVF8}}l literal 3765 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 diff --git a/Resources/Textures/Structures/Windows/mining.rsi/mwindow1.png b/Resources/Textures/Structures/Windows/mining.rsi/mwindow1.png index 48c34617699d29bd2ba458323de5c3a8d5559e88..9358df081f8a69f3a0449d9c004ba8cc5a10566f 100644 GIT binary patch literal 2196 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 literal 3765 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 diff --git a/Resources/Textures/Structures/Windows/mining.rsi/mwindow3.png b/Resources/Textures/Structures/Windows/mining.rsi/mwindow3.png index 48c34617699d29bd2ba458323de5c3a8d5559e88..9358df081f8a69f3a0449d9c004ba8cc5a10566f 100644 GIT binary patch literal 2196 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 O0000qK@mOno^!YV{@?%o_q+c)@B5Ho zKXWr{GXMb08UFN8WTxr62?iN233hiO6G|TH=K~b}zPumV%;Pc{yr3XpHL^BAy1uo9 zr6HrK)IU-V0CO$$9R*~cS_%MYp&*9}-;z;7SM5Rb-Kv9%rWGUjpEUZ!_ z6wAp8Wbiq;0uvjcb#^I4e=^Ng`k)0Qg z55rP21Su2>qQZ?Rk?nw7Jv}`k7ZOAw5fBf8e2*ArDG6e^!*r1Map+t*TPBdg0*M%_ zkIRaa#KT@VoStZ=P3OsB&+tg&WkLfBhYfLsToG3c%OO{yEA%-WEZ}{}P%M8Z2O

    Mar6oV8W89zM0G=TXzz-;5EfDpa}mLT;c6R;U#m@AXY zklHfvy{G$Yk56NL;EoUrVCwq-pO|N%X1xvBTLvp6vR&bZclaRUU%I>tGcD+>`kXF) zgZN1GQ_U#Q%$Gzpn_F=q69B+e2HiVci5lG2xT}@6_>4vqe*O;6@*kn}x|V~AeqBQV zD|ftTFZ1~$(Y8vBdeJ5SRZO^yzbYec{;uo7hcA_hk!h9Mz%NeM;j4m5P219OtyY_A{9QkVuLhosNw}m372lc+shzd zE^3;;w`S{3Z=jcCS)bT~g3Z_ZclUXSkAn2g_@8>nlB3`gp8|O2QE=rwS=7}GRUQ*n z2+9-3>w=U22^4~?seRX?|Cl2sorhGVm;se(tqzEGJBXYeTe81O>XB^RJzVtQn!-5Y zky%VmgBonbE#a5g)qC*E>>F;`qZ-rtpmCec6LD=TJab}itHBevRn!Z`wMQ_!q3e!- z<>iCwn%u`@#kcMzM&|)nJm?Wg9p|3%frZD}nL9_CpHB2tw0G)s#AFAi$PvH=FySo!gFV(|=!7lL8ixvA-dk=S*Y&6_;JHiGk)GytC4+aD-q9guSWM{un(wi=!FO^{n|#LuygRYpDzMLUh^!vJi` zZ@vd=4jTQOZ`n03DMX!q!s<)^nBw*U$6qp2E8m9H{Ggkpq1&b|GDk+6g z?)d7zV^(b#e8&n@?qyXLFp4_;`>$WQUP5KI^I7PO6<0uIGb*y894{s33x7Hu75%Ed zxWvj?RbNzkGQehW~`>E9ybuP{#ZmD}G7i>%_q^-@>d0>?ANcc7=MPuZM$qtSnl#AE2>U)2uaZ zQ`a2Q`;r<5EcSkTK)Wz|4pCy0mr{BIJFq`+#k0SuoCFO{pc4>w_?3ElTq6!Bul;or z0zEZ#D}C z@G8|Kh3DckYyQ2i_1=b|2l&pwWO<-{fwS!?z`yFv8yk1Ksg>zl{8rm(cNBoFH!VQr zSC^arSQx{r$;`ub*szUFVw>-)EltFjwF^vSoaVx@6xG(JfNAON@(9zn#u=nvqM~{> R_vnBA4BudSp-=30e*y+>Vf_FA delta 3705 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 X1B&E#-RW9=00000NkvXXu0mjf`z83~ diff --git a/Resources/Textures/Structures/Windows/mining.rsi/mwindow5.png b/Resources/Textures/Structures/Windows/mining.rsi/mwindow5.png index 84ce6f1696f333e1fae363ff994de7c54c7970ad..6d1ed85f336f952cd2b2b79ea7493bd2027c1de0 100644 GIT binary patch literal 2215 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 R_vnBA4BudSp-=30e*y+>Vf_FA delta 3705 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 X1B&E#-RW9=00000NkvXXu0mjf`z83~ diff --git a/Resources/Textures/Structures/Windows/mining.rsi/mwindow7.png b/Resources/Textures/Structures/Windows/mining.rsi/mwindow7.png index f0ac5b6b90cac61eab3a5f099c67ebac9aa85d88..24733c9b3e5ed0233f6097eb7cc79aa6228a6dcb 100644 GIT binary patch literal 1813 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 diff --git a/Resources/Textures/Structures/Windows/mining_diagonal.rsi/meta.json b/Resources/Textures/Structures/Windows/mining_diagonal.rsi/meta.json index 439147564d..7d12528bb2 100644 --- a/Resources/Textures/Structures/Windows/mining_diagonal.rsi/meta.json +++ b/Resources/Textures/Structures/Windows/mining_diagonal.rsi/meta.json @@ -5,7 +5,7 @@ "y": 32 }, "license": "CC-BY-SA-3.0", - "copyright": "Made by NULL882 (github)", + "copyright": "Made by NULL882 (github), transparency tweaked by Ubaser.", "states": [ { "name": "state0" diff --git a/Resources/Textures/Structures/Windows/mining_diagonal.rsi/state0.png b/Resources/Textures/Structures/Windows/mining_diagonal.rsi/state0.png index 54af8484b2fb8a2470d3c4b6ef181ea35039810c..c7e717a6e70eb76e89d526f351f1a2263a10a84f 100644 GIT binary patch literal 1299 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P; zT0k}j5QD&_;K@Lev%n*=7^vU~2s2LA=96Y%U{1*li71Ki^|4CM&(%vz$xlkvtH>$0h^0y1+`OA-|-a&z*EttxDlz$&bOY>=?Nk^)#sNw%$0gl~X?bAC~(f|;Iyo`I4b zmx6+VO;JjkRgjAtR6CGotCUevQedU8UtV6WS8lAAUzDzIXlZGwZ(yWvWTXpJp<7&; zSCUwvn^&w1F$89gOKNd)QD#9&W`3Rm$lS!F{L&IzB_)tWZ~$>9$H0x+$q?iKRIuN_J_bIXO1^5EZC8A)=@T+UR4k+Xm!gtH_|#;{2Ra zP?+0Un%RJZ0YwlI_z(>d*fbyuqH74q$S=tUrlq3HWY4^k)S`kSV7da^X9Tqlw+eK# z5O#;=WtP~%3_ue`(uEW+R*pp_<@rU~A>cTG1Rzdns1cCBL`s*CL=O&lV5+y{veAd< zAUiI;N0;w;!X??oX$kfvyZsH zoq_d#f%1O7kcVg1GnZOCR}K^Lf0in2c5w5XcgGveb_f{1WXKf%)5O30wCSz}p9a1@ zJ%!VZvVY3#_!JtBG_ETUV)uD)PS&8+y7U0syEBZ@JBl8xSJ~3Ke%tTsPfK<i!=6cugro5XNTpR8@TSBWc1o`jWNrDWr0+4 zht#@B0=Yj_52)LCPFlrq|HCPvmWIc93ez3fr|(|+v@w`ByE7+WQptXG;Rab&i+5~+ mv;4eRnChJVt~*?4UctP{wzuiaq`jq}0?E_W&t;ucLK6VE-m69c delta 3031 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 TjY~EZRAhO&`njxgN@xNA>o~XB delta 3070 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 M07*qoM6N<$g5ll3KmY&$ diff --git a/Resources/Textures/Structures/Windows/plasma_diagonal.rsi/meta.json b/Resources/Textures/Structures/Windows/plasma_diagonal.rsi/meta.json index 453a379722..8477687a8c 100644 --- a/Resources/Textures/Structures/Windows/plasma_diagonal.rsi/meta.json +++ b/Resources/Textures/Structures/Windows/plasma_diagonal.rsi/meta.json @@ -5,7 +5,7 @@ "y": 32 }, "license": "CC-BY-SA-3.0", - "copyright": "Made by brainfood1183 (github)", + "copyright": "Made by brainfood1183 (github), transparency tweaked by Ubaser.", "states": [ { "name": "state0" diff --git a/Resources/Textures/Structures/Windows/plasma_diagonal.rsi/state0.png b/Resources/Textures/Structures/Windows/plasma_diagonal.rsi/state0.png index 60d1c0421b3fecf74c453715810e8e5ffcf32774..0d13c29e14881ed4a09f4271884ad6ccb4de6aeb 100644 GIT binary patch delta 1110 zcmZpve#0|C#g?%+$lZxy-8q?;3=9l>sS%!OzP=1vKsE;ugTSTW$v~2`z$3Dlfk9&y z2s4UXDQ;q5U{0H8B|WiQhcCi6K*2e`C{@8s&p^*$;@7&#D;O;%FJm%K_ADq#HmS%h zaIGk@RmvzSDX`Ml&jgC;#BtJK`q$o4l zGp{7IsGumdBoU(8MjvbfRuz-`xkM-5=Q1=$@~xF)QAv4zQFaK}XCSBAAO{AD^yC%X zX7z`zMSNvoU~2VraSVyzJUZ=c-em`o*7Re3b01t{i%@V;VR8D)%vs9*{xFlG0QbDb z8&VHyZ+NU5QPRAsX~KpZ5MSA+^EdB|MmW(zukahvah8DW_8$3cz^D_ z=>=vNK1QB7_16PAm)RvHYKoAuNCm#m+5$ua5635}~^ z`8jKEZEHB;z5K4y`Q9I=)*oeiBvM1%omVVxpE00UJ?FeBq`x$a_ z%8|Hk#@RK~Zs_M8P+Q+KS3BzU%v)c=t0y5^#{MNq)~ zWK4;5me}8Y!C!W+tj-ab+ud=Zcgnp}&EFEOg!ZnQbh1@(*^*g568q)=UGcK|oyl93 zLm4l{>ere$Jh@WfcR5b+6z`vM?hcu|eK!o>`fXG$YS;c*`E8R49ak~xaogp#d*7vK8*F}5)SZOUhb4Jao((RQy6F8*_k54t5BxsFqu{a!P^Nn#5^Yd)KTE!H5=1*T#YR@I}zu#8&yE>5HSk2Ss{{rvr#ewU>)RGjc npP0%S>y%Ac9KKKXP5giM(zA2wcjuns29*+?u6{1-oD!M<``OGQ literal 15748 zcmeI3e{2)i9l(z?OG82z5E7&lYF#rby6$}Ev(G=Sj`_jFzd0QSnQR(GoVYcXnbs zFV0i6R@y)BB>Vh*-}n7~-}`*u_v`!Tp0BN0a!=6@iU@+Zr@G2h2kr*_Q&<4L)y~cv z;5Ic<)ua+c@l5?Qg?P2MlpweRa($!L==}*NC?OLsDn7{+4@JOif^aQ}M|h!C(hNQ+ zAcxD0SKr-dG{|C^v4Qo{-blIBB3E@rrKO!U^+IQ>;1rDu+(oW92ONYXjW@(Y!LZ83 z%Zy3C9QdsdQ$|B_iq=|YT%-pyG&PsDu#xQaj-9_M+D=PZAI#1B^sd2PN$Qi8H!;@ zFoRS(!WthZ!|L3WlTkk&Nfn}UM3a@ULHEo1ls2u*Xw(CxuaSL)BI!V3b%Y(DNX7XG zWj4`NE+bJ$+eF%;!Q|3Jfs%q!ND6Bzuruehi?k@3qP8d#giNa^3=DGO^`>LzTyH3p zGqkEzv;zbqNOM}M^&Jt3s*_ZuEh=4)Fnrii86$Dl?chGkvPKawVul!LlT`#YN>B&S~XQgf{(H zFA58i3X-8_B?+V|S-6Y&z}V4IMNoF9+J>kIvdCqEI;?(&)hYQ&J1sg$vssczr@-1s ziFJs))9-NF^jzr03tVK@rTa~ej*XbT9n^aDW8n32)nQfR!FH-WZZKey!O8@QcKFRs zmUPgdM~P0Wll0jvHqvT!SRGD*w$cofJR4)pGbY`beI&SnRy$V`*L*-AfKP z<3d%*dfq#rH0ZfmDyJ8aiRG@T8s+8F? z9W@5tJH5+)|8DTkszIo#^AbeoJc4-US%SDV4DJ^RqKzhqubRQ@uCEZpY-RJ$4pkCF z-XqnXMfLH)gUg<7Jylz}@~r*niGjbo$cXc2iYJ%9>%4R*(!K0jN&I4W>8cz3-roMc zf|MVvDkM7AyO#`~XA)QL+hJ;O&_Akde&<+l)0TXycj5KleRlTr zf`W!EwkN+_ecv45Vv^LhTup{}U7yZ21~K=Gf0;_f-B_x#4^+xPT;@Jajk z_BXZM-dr00+pjG<*DPllbK}r&?W^7%e1Ds^=aDy;B^sXbUs=egU)MgpYtGi*!~2Ri z%;q+BCDiQ&#MJZu>Mz{9^|PAGiO*lJyt`ts?{MAh!W&hW?#+|WZ(Z`>+$qB**P6BW z@7;Lkf!eynVPad^ild%l;^5(hhSMFtfB#VaqruzppWohjqJyzB91x_`0>zZhF=aZ|^e=T{wGR;a|V**|lMK8ZrOGfdb#NbU!$9M0G`t Kr*Cods{aE2tbMlt diff --git a/Resources/Textures/Structures/Windows/plasma_diagonal.rsi/state1.png b/Resources/Textures/Structures/Windows/plasma_diagonal.rsi/state1.png index 1ae08dba8877a734110a8725e09d327a12edf277..7469c63afe4a30cb3fc6677c7a2e3dd07e55142e 100644 GIT binary patch delta 1068 zcmdm3b(m*@iY;Stkh>GZx^prw85kJ&QX@Rme0>?TfNTyR27yb#lYt~>fk$L91B1pa z5M~s&QryJAz??SGN_t|q4qt?CfP!;=QL2KOo`Igh#IJReS1?*kUdCje>{(EfY*LY1 z;95~)tCUevQedU8p9vJx%P&gTFD^;ZM^d0~WME*SYha{nWT~%Y$E5%RHYv$gC7C5T zsYqf#Ih&%CG%LrPlF7Cll9CmNl|99 zXI@EaQ9)5^Ng_nGjXu}}tSTn=bBRvA&t+(iB%d& z&FT+bi}=dGz!c-@;usRad32g%{w)WA*7ECWY!lU7Y(rhULR+t8v-}>YBDt0@6THl$)=yz{t&i{G$ z&Q<%J=G_*=?6Pjl$NO_k<W!sO3thgaJg3IwXZ&e#~pWcJf*^2yGd|>@?G{PXPq4xua3R;`^RkfCH=eW#)^fYyzlAi=d#Wzp$P!zM!t#w literal 15665 zcmeI3eQ;FO6~J$>WNa{$wsfS-w5|&bvGwJB?Dy;LhL8Klv-{q5 z-`nga2B8(FRw{msbnt^@94gNALpwreXsHb|L9MnFN-Y)BYAA}ph|-ZMR;%>B{m#wi zPNq8JKljb-zCHKcbI!fLbI;lL&--C}+qY|L7S;d&YFk@E9q4YeK37(wZ)0%qBD#G( z(b8=IFz3tGrwTms*a85=F}1VH>fMaYxji?b8ICe zMK0PTQps3$X^PCk7>q;BG>{!%(Jm3yP2Gs<(}XOlrwxp95)Kz*S6pvAUNN*`Huob0 zd88FBjn07tWILdtr;;*k?nhf$RB8978Yv}bk|#?u?b=~RoyN@46K0zz9;Q}$HZ>ei~7qNk1P{48!#%6G{d3`r&o3Y_3zI5#6WJ9)S0 z^oqRmn;b84T$z*HOw31ESJcQr$p?=Pw9v^rM3-B1xXXQ%&BT46`cWiPnvs|Cxn+J7 zS&Zn(xMT*^xYP^Tgx2e4OM_)Ii>FF#(qnoOEei%6ezwwZMXQi5r>tY$sL9Yk$uP>2 zgi@6)+~rd5A!K~A%gsQSSCM=Xug`7e z!YW?mqO>l{Z+3KY#PaQs)@vPua9C{B3{yheX$=L@K)s4q=J0V5UQv9E!1r(r^f=v2 zk6ZRKG7kk9k$HjVmF(G=Y+hPf-gO~5a$R}jZja*RdjzkwacSC(=hj)~Y)YV;k}7KF zQmkx_wHF2LMRF<;xrcKxPM1qy+|cP{Bw2Pc5!vT-IG`kWojrxURB$sTREuimeE>^? zm77)YyOT#tdCxZ9gp@R()m8%bLSHF%YBaTY`Lpdwlw_-A2W6}3A;LXrw6rYTOr4s} znIXveFEgJ$Mmh>LQrF12%FdeJiJ?c#w3LL6y{MjM($I2VC!68!D_03(l&#E|`Uw(Y zNd2EI4Ku5%|0@lZ8}DbA1`BvDx*V0XUZ@1w!T~M}%q(-cd`_;cLbXn%k!RueAz2!@{83<#M?EEIy1|w5u5y>k6spU(2xii33H-+TeCIHAq1RE<=)KeV?CJlacUEn3 zOGg-h!6g7}xf6i@Tt@e^0Hino&fSV$cijoV)%t@QpIZSy)tS~%V`t{oLu>xfHok0r z;L`S`&u%u6X9L&Z~JR%s0IxFx;s7BCb!*x?v>H* zKkZ&LuXS#neV#abLfHJfn{T@Ea}O?<1-`f|U41Yzd}zhMqLWWPb7#v-59|j=@15m- z?~TK6|MQxEtnB~#(RVL)zayMKcW7hc_cw1{e)~NSFR49$@)uY9a`e4_-8Z47zBcmA zPfnhOr_L^w?>_VQO;5V!ymagx;q_y$tFxEw*thw8yZl1mpN)rqeASIN{6#yqZ@g*U z-h*(%>VK~R`-lJbz(=E1^HT?I5mvXwfj0J)9V>U7aw*#vyYFc_zV5^(Ft+~0oY=&k z+PCiAx^azgg1hw7zQ*1A-rD+9fAzvAo>ii6UiHfG&*aN{_9+V=TR;1@^zF6Bp8&BV zFYKK-c?6nA_q=@k diff --git a/Resources/Textures/Structures/Windows/plasma_window.rsi/full.png b/Resources/Textures/Structures/Windows/plasma_window.rsi/full.png index b20d5ebd5efacbed1185a649c410e9eee61d80c5..b27e173b7ada827744bc7f0468d28fd1ec0acb1d 100644 GIT binary patch literal 2843 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 Xo3pg6H;px1`Z0AUdb{umVafjm^rEZ; delta 1581 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 XgPS^ntdeaE|2RM(J%m=ilDYM77EP?w delta 1079 zcmV-71jzfI63YmXBYy-ENkle_%7dXY=7YaDVgq?Ii%&tVtvSLB)L- zX!0xVhj!yTC!lvtBm9Q}y}qFo02qi-0F?hxwcU1n=LGD1H9B6tj8+_&2mn@pMPYy6 z^8sM_XM}6_hNCLGEu0f@ba1+VHsj^yhJsnmB0wMz=%a(vL6zNheCGu4T$CQEApi&< zX&V8=b3v8ec7J^51Q21h>0k701LIpek^ehdLIADezoPzS?C*~j5RhI(QU4;l9a=zu zTR3-u0A{KF6u<(&m315Bp1sKa&S--Irm1#@cyUR48M_tQK)}qhwL%*RaEh%bz&g1) z`1<)bHlM%u{TGjH=U{`aSHO+{*AsA!ItUo2`qP5z4YVpz|7Wd zkh_=koujTTkpGXCwfVkt)I@;vvu*x<($Cx7qlPa-`Nda}P;~7UTOS3i6<`Ft^mWmT z%H(Bc9WOEKhBW~km?dc_QbfEokO&YqLZk=^&{v2^la$%&ScDC%2_Q|s0e~1l^%VM_ zX+N(HrK)3l@op0Fn7&NC4np)w;~)8ukPL zXVDvGF|k9HP?CiaARtW~9-eH5kKG)n&=PHwxsX; zouu^y?%cfld+t^)(~IN22>LuX;pFb%k5@k~K7R+m&tL!IJSS)(4=8v_%E~*%lB$ z$OBe04q=E$tIiUzz-9|%3z&Kk59fWLH2|FO>rQTg00k-_fP{r6clyKdm>GbK^~AXf znt$2?YXxL|z_x_JloQO=@ONSGTo`nYCUWsHN=n!1Feuy(5j3HIq<)XI57?$KSn31v zVQ|iY^R3XZ56DIVF>jq8DVVXI7&t}~1fX910Jwciw@mzGVJ%3-&j=I45{Quw+4SK1_a2nJv&g1r#A$LObUK zJEwrnEc94iCN=M*0?7YZ)8M+-?@jd}YdTj>@0J1#jDRH!UqyU$Fh9-wJ_ta;u`u`! xDqxofV3!8~yF6f*2PD|#0oCZF0-WUm{{oTD)vp-+rab@v002ovPDHLkV1nA)0NMZm diff --git a/Resources/Textures/Structures/Windows/plasma_window.rsi/pwindow2.png b/Resources/Textures/Structures/Windows/plasma_window.rsi/pwindow2.png index fe379e2fef50ab07c64a4f9ff75b663ada0ee10f..9a55b8c3aff60f63f31c71a75735bbdde89f2686 100644 GIT binary patch literal 3469 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 XgPS^ntdeaE|2RM(J%m=ilDYM77EP?w delta 1079 zcmV-71jzfI63YmXBYy-ENkle_%7dXY=7YaDVgq?Ii%&tVtvSLB)L- zX!0xVhj!yTC!lvtBm9Q}y}qFo02qi-0F?hxwcU1n=LGD1H9B6tj8+_&2mn@pMPYy6 z^8sM_XM}6_hNCLGEu0f@ba1+VHsj^yhJsnmB0wMz=%a(vL6zNheCGu4T$CQEApi&< zX&V8=b3v8ec7J^51Q21h>0k701LIpek^ehdLIADezoPzS?C*~j5RhI(QU4;l9a=zu zTR3-u0A{KF6u<(&m315Bp1sKa&S--Irm1#@cyUR48M_tQK)}qhwL%*RaEh%bz&g1) z`1<)bHlM%u{TGjH=U{`aSHO+{*AsA!ItUo2`qP5z4YVpz|7Wd zkh_=koujTTkpGXCwfVkt)I@;vvu*x<($Cx7qlPa-`Nda}P;~7UTOS3i6<`Ft^mWmT z%H(Bc9WOEKhBW~km?dc_QbfEokO&YqLZk=^&{v2^la$%&ScDC%2_Q|s0e~1l^%VM_ zX+N(HrK)3l@op0Fn7&NC4np)w;~)8ukPL zXVDvGF|k9HP?CiaARtW~9-eH5kKG)n&=PHwxsX; zouu^y?%cfld+t^)(~IN22>LuX;pFb%k5@k~K7R+m&tL!IJSS)(4=8v_%E~*%lB$ z$OBe04q=E$tIiUzz-9|%3z&Kk59fWLH2|FO>rQTg00k-_fP{r6clyKdm>GbK^~AXf znt$2?YXxL|z_x_JloQO=@ONSGTo`nYCUWsHN=n!1Feuy(5j3HIq<)XI57?$KSn31v zVQ|iY^R3XZ56DIVF>jq8DVVXI7&t}~1fX910Jwciw@mzGVJ%3-&j=I45{Quw+4SK1_a2nJv&g1r#A$LObUK zJEwrnEc94iCN=M*0?7YZ)8M+-?@jd}YdTj>@0J1#jDRH!UqyU$Fh9-wJ_ta;u`u`! xDqxofV3!8~yF6f*2PD|#0oCZF0-WUm{{oTD)vp-+rab@v002ovPDHLkV1nA)0NMZm diff --git a/Resources/Textures/Structures/Windows/plasma_window.rsi/pwindow4.png b/Resources/Textures/Structures/Windows/plasma_window.rsi/pwindow4.png index 051ddb5681d8fd7b09d02ae046234981b17298eb..b42ca67a1706840170eeb4a617d3aab4f84c9a69 100644 GIT binary patch literal 2402 zcmZ`*2~<wwPRri4?z{J%clO!m?0eo?FC#2; zsV#Cg5&!^OW-uchUTMZ@X%0Wj1e-hI1tAY#8UUQS;qn|lptvk1FC+x;g7=p2G>+DY zT=;1v4PGq=0M7%)iEtpfR{(&CSP;pASRpG&Y>5aP$B}I0VpSsP1d6O8!CMg*ibJbJ zLb05rqF^RGNbufh1~KRf7bt;(VTFXDmq=t>v@aHi#bKyOG#X8oad@O~M$i--K2b1y z2$GUOP^na6m5Z+f^Y_8weegu^Lw#`iWDc7I2_PYN zLbwn0OejbfLZ4fW{zeIe0;94dVVpRgf>HT!xV$)p5W-NUN`aUoQTma=Nw3e*lh)6J zlEJU=lZ{oAR)=%t5~0GVI~DIsAWvxVnf2ohOd?ocMSN=g5)sCiKoYp4WCAu*3~^;r z8Qfiyj8lC7?D1u+kK|Ee0Yt@51^B}J3F?#EA<<=!QX)%;oVbaPGXA5>RG3LgKk3lP z_Mea+?tdzh41V~QsK{3uK`a26$(am#qzciqwpr}#Xa7v9oac?tAxJkm5=|AF2OSZH z1hDp8Ug3yo^OC{!TH0>c#O`@*M-YihdFk#M!L!@wg{EiPT6<;qvkk1KP3QMBmOZFy z-|632^t9cPhB>Q#~-GO@be8>?3J-)}jcTk2N3YoGe+iC=>q>M&aB ztTnAIecQ*58+IQ_{3U2Pe`o&ueXh?;emftn-I8Zm+T*bn0XQ1cS+4>jH_FSbr(a*Z z^kr7V=EXAsbQy}_$OS8!IJ@?0WSu`;FqcOEmyA|8 zFgp+_yvDXY!g(1%cQpg-1R(pe#5VoUn6#3^ro7pfT_r8wwA>!R7t{51oZ;EuknfMp zeeO)q1)K+yqC@nR=BXBd?T@O6yx+^L%4a$5oP((U-WH|LAZ8Wpr>~{WI`n*z! zb0PY-ru9h{eh7waEAzB_kfY0r8=?zVdu_HB0&x9{ipz)fqu#GKCEt6O)PjgF$U5+j z*O1tMEjBjVyM4tjEZAq2w$@}^`LsHW6GM1$} zXzVkI6iEpkugq6I(UJQ3YXT;uJxy;;7VM;COG4x3%D z((XX1gpEYFWT++I=6=}Eh&j(9TeBiDFbTPrHRCQYUW$H_VId0H)T(0(H|r9V*S8! zbc0jMkCJUeLG;Le9ru@;^M79X(~fmZkn)xFCh9IblE(X1!|hyJ&XvBqPC$46r9(HN z@=TWpgc&wCGycK+btczF`0N#VZg0+2lt1!*YD0_nrfzVr>L|J8MSb)vqO%*nx2rcM zyIS(T>D^P3g8RZfFLi4nq8`zo@2SEj$c%9YV*N%eD!9a-6_Sf`R(*=tNf};8=PagwVUoU9^c`m z#{L}b-N%sJ0QwKb4vn8}ZAyz#?l?Y^=Wl|pL0XO_yNdFbkA~^|fB>t9?WbSQt+xp_ z4GxH7(f+9Pf7xvyv_}DLL!AWu<=QxFP-|J@YoFtQSD4d+Vtae)7a#NW+>#uuIi9rG zBy3zej@8~%i%Rm4w2su1k3CfDF83zW=ak%fg>86mcJzAXo3Zz`Rwodws;p*%W*E7} zi{R(b9-4OOf3Gv6)|4O?*pDI$D?H|(lWt#s>2`tN;3H&9hc2eem08^AeP$EX9Q5j9 zreVva@sokw4`**ELbu&is27wTypsN~^}CDak!felrmtx|T7@yx2&A_8d2wBXI}>OK zX`Uqep60e4pA??pkK delta 1141 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 O0000wwPRri4?z{J%clO!m?0eo?FC#2; zsV#Cg5&!^OW-uchUTMZ@X%0Wj1e-hI1tAY#8UUQS;qn|lptvk1FC+x;g7=p2G>+DY zT=;1v4PGq=0M7%)iEtpfR{(&CSP;pASRpG&Y>5aP$B}I0VpSsP1d6O8!CMg*ibJbJ zLb05rqF^RGNbufh1~KRf7bt;(VTFXDmq=t>v@aHi#bKyOG#X8oad@O~M$i--K2b1y z2$GUOP^na6m5Z+f^Y_8weegu^Lw#`iWDc7I2_PYN zLbwn0OejbfLZ4fW{zeIe0;94dVVpRgf>HT!xV$)p5W-NUN`aUoQTma=Nw3e*lh)6J zlEJU=lZ{oAR)=%t5~0GVI~DIsAWvxVnf2ohOd?ocMSN=g5)sCiKoYp4WCAu*3~^;r z8Qfiyj8lC7?D1u+kK|Ee0Yt@51^B}J3F?#EA<<=!QX)%;oVbaPGXA5>RG3LgKk3lP z_Mea+?tdzh41V~QsK{3uK`a26$(am#qzciqwpr}#Xa7v9oac?tAxJkm5=|AF2OSZH z1hDp8Ug3yo^OC{!TH0>c#O`@*M-YihdFk#M!L!@wg{EiPT6<;qvkk1KP3QMBmOZFy z-|632^t9cPhB>Q#~-GO@be8>?3J-)}jcTk2N3YoGe+iC=>q>M&aB ztTnAIecQ*58+IQ_{3U2Pe`o&ueXh?;emftn-I8Zm+T*bn0XQ1cS+4>jH_FSbr(a*Z z^kr7V=EXAsbQy}_$OS8!IJ@?0WSu`;FqcOEmyA|8 zFgp+_yvDXY!g(1%cQpg-1R(pe#5VoUn6#3^ro7pfT_r8wwA>!R7t{51oZ;EuknfMp zeeO)q1)K+yqC@nR=BXBd?T@O6yx+^L%4a$5oP((U-WH|LAZ8Wpr>~{WI`n*z! zb0PY-ru9h{eh7waEAzB_kfY0r8=?zVdu_HB0&x9{ipz)fqu#GKCEt6O)PjgF$U5+j z*O1tMEjBjVyM4tjEZAq2w$@}^`LsHW6GM1$} zXzVkI6iEpkugq6I(UJQ3YXT;uJxy;;7VM;COG4x3%D z((XX1gpEYFWT++I=6=}Eh&j(9TeBiDFbTPrHRCQYUW$H_VId0H)T(0(H|r9V*S8! zbc0jMkCJUeLG;Le9ru@;^M79X(~fmZkn)xFCh9IblE(X1!|hyJ&XvBqPC$46r9(HN z@=TWpgc&wCGycK+btczF`0N#VZg0+2lt1!*YD0_nrfzVr>L|J8MSb)vqO%*nx2rcM zyIS(T>D^P3g8RZfFLi4nq8`zo@2SEj$c%9YV*N%eD!9a-6_Sf`R(*=tNf};8=PagwVUoU9^c`m z#{L}b-N%sJ0QwKb4vn8}ZAyz#?l?Y^=Wl|pL0XO_yNdFbkA~^|fB>t9?WbSQt+xp_ z4GxH7(f+9Pf7xvyv_}DLL!AWu<=QxFP-|J@YoFtQSD4d+Vtae)7a#NW+>#uuIi9rG zBy3zej@8~%i%Rm4w2su1k3CfDF83zW=ak%fg>86mcJzAXo3Zz`Rwodws;p*%W*E7} zi{R(b9-4OOf3Gv6)|4O?*pDI$D?H|(lWt#s>2`tN;3H&9hc2eem08^AeP$EX9Q5j9 zreVva@sokw4`**ELbu&is27wTypsN~^}CDak!felrmtx|T7@yx2&A_8d2wBXI}>OK zX`Uqep60e4pA??pkK delta 1141 zcmV-*1d99O5{U_rBYy-?Nkl6!xN<~_!~=u~VJS$!X05Q<$oOMEx;WUzGwZM2?V0r8_7P$7qp%aa7U99Hhks0S-3M2%fBa+b8yEe? z<>C^dn!@B|Iu#>Eq4%~F*Mk6yQMI$N2vJd}&0M8hw(5Ei0HLN5W<#5rP!N!%XvGCe zC7~_^G$hnudY&dWQB}~Ts9*uGW*=}tJqR!u5hKm}VT2MCg#`=fQnCevW!~(zFp*q$ zAxd3+sDTAoY=34Gy_AsA@uSAEs*VNv%N{E(uy=caur&;>xWEADl%?D|0V6vMw}-(3 z7ExeWmVWO9v`xpdH4GM9pu@gJfsq{=wuZri3$)n7Jzz%|T)}=>0PG5b1s5oF1B5yd zpa@_kRGFNmYdREM07~2dp$-H9sO~cR1xn8ZWp|hD_Q&AI%QMIb67zs5MF;+s*6thX@8_q*$+>2fU9DO*u)$}|~ zn)kyf=$H`T=p=0Z^ILqrNybyx5xBvbfOwFe&VOeOLY7=)Vp9brQL9!&PB+P1^}E8E z0Dp6AROd9Pc( z+U5@>T0nj>yUPA2zQ8;00%fHlx%?l1F|$L=?iJa(vR9O80r{^t@{_;%bXc3oLpcQG zC!Mb^&hiIq+G~TV_kdE*@~gl*zX^JOFMq$``+{p@U;Z!P4F>{z55PC-LO^%TZ}$fB zTca)nKrwL|vzkQhlHUq7cq_MdrCThI*LKOBPy-9dAD^u&?~=Qr4ih?X&sHg;q@=(~U%$M(T(8_%FTW^V-_X+1Qs2Nx-^fT8s6w~6 zGOr}DLN~8i8Da>`9GBGM~RsBTId_|A5Z7NlCUU$t=l91qU45Kj08_%qc+?1*r!G zK~5$pWUX=%^U`gVDs)p)(-KQ_N|fvh$}{s)^2^O_^dYKHbwfl^4Ykq7V!sW@*H)21 zsm1v@rJ!)PGcq%=0fz;OC?WhAD)-&xIQ&z#sf3hOHUWakP61Pvo`WJ2Z$VTGCL`inJHoEduz?aPyyo|KRzA) zGVR^nnM|E;H~#qf_J6ZWMSZ;dA$v}n#8n&1>p2fp7V~T(C>V4&`{oxH} z8PAOm>{B>9pK*($^?b%}teO9K7VzHs$+JP<<8wMg?uB#d4YiK5?3pu~%j}rna9{c( z=^(x3vt&a2glFd&ZY`L5p5b?sNj=*Iwzq%Y@*eol9>5&-Kfa)vS*t-Shmg_pw=CtU U`+rnh2UMzfy85}Sb4q9e02n!yC;$Ke literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=`#fD7Ln`LHy|t0IIe>@Z;)KA6 z=1CK0C@U{b;Y~~A5chA|eJ_6bQ(> diff --git a/Resources/Textures/Structures/Windows/plastitanium_window.rsi/full.png b/Resources/Textures/Structures/Windows/plastitanium_window.rsi/full.png index 629274889050ed48d4114f458c11333d259d1574..8a6165b2e1e4c54099b3aef476e59613b61d586e 100644 GIT binary patch literal 1500 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P; zT0k}j5QD&_;K@Lev%n*=n1Mm}4+t}^JN#w_0|RqfW=KRygs+cPa(=E}VoH8es$NBI z0a%w!g%yyQn_7~nP?4LHS8P>bs{~eI1!RMS^_3LBN=mYAl_Got6rA&mQWebf4D<|? z?6?#Z6l{u8(yW49+@RWlJX@uVl9B=|ef{$Ca=mh6z5JqdeM3u2OML?)eIp}XpbFjM z%Dj@q3f;V7Wr!g#b6ir3lZ!G7N;32F6hP)CCgqow*eWT3EP?}wJ5!S3_7s#B<$!HT zN!CxzNzF~oD=F4D)HBq_rmrM34dKGPVrXyx14bVt1Jq`KRhwr)NwNtrq+Bb2?t%Ib z=+I=ay~QOd`bY}&jSLJdbPbGjjV$%y{sTJSCMDUbB(o$Z6&!GI|A0f#F{cDo6r>&$ z1UZ?YkhRK5%uBabs?beIO-n4zDN(XZE6vHV(TAu&)d>+rHPA*Mi`_OLA6rERr55Ms zl!C(C&dAcz1{@A3qKMFk=!n3o16dSZM?gk?Nj@+&6=f!S=9Q!t6%+we7Q{xVeYjPi zn}x7EG%vHn&IoD%nlO?sq?oaCEGj9_FUk%9#{wh>aY{ptfCMK}%7i3)aL@zOy&ad0 zK0FWEah-lG(*ew^Up-wMLn1iehVS${>>zMgA!|~Ol+-zg?v_PU0xmQBKg|B5zM)O( zj;o-MZp-Gr$sd>}Y=5*iO=i6=yLLc@N_N@v3Tx}?-t24Z>Sx+73GLatd8;5#qR~&2 z-eXY#^Ov6ZTwD3uK#!qe%NpOKOdcN7Un#Ui?pth8Hck7`J=62&{AIVVU3T+!ezoZ@ zS34^v<~oI>VD@*$4SYQ7^w!JvFXB*gHJhNCYV!Js{pQIc|+pjZwxF&YcJ?`cbu+ujhV{GHT~pjhE+Tvk}Hf1%7xYP zS8dW;DzGk!Y0u?976$Sn-?|H4ddEa^GrX?1J-&&Y-5kud#K@@hT5c3CB{n@YE4_yWKZrpvTXjX z783^j*-kgKm^YOi>zS-FU1R0x*WNjqtC<>_{zopr0PH#p761SM delta 467 zcmV;^0WAL93;F|)F@FSSK}|sb0I`n?{9y$E000SaNLh0L04^c`04^c{s^Z;}0004x zNkl`Dz)n*b_+XoT>lgyi;kc56cJ~iIQ9}eZI2ew{{xC!c zWu2VSMa09=8HTPf$~rmF$GUt2>wjQcDE$VXUrWHODFu`QN&%$+O8{;_{p!pMpI<`& z?rAOzUnp77$GUuj|8*S~mXH*gk}aq<0uS`WkwqYxpiH|wwh|w7;6h(WYINI`lp2SS zJD|=RpKn6|cZjQGXe9}X3!iUqPRRWAr&%Px$4ov>m0bWrd;!SfDtIM>njruH002ov JPDHLkV1f$)&w&5{ diff --git a/Resources/Textures/Structures/Windows/plastitanium_window.rsi/meta.json b/Resources/Textures/Structures/Windows/plastitanium_window.rsi/meta.json index 4b89f3cdb0..c0a1a18425 100644 --- a/Resources/Textures/Structures/Windows/plastitanium_window.rsi/meta.json +++ b/Resources/Textures/Structures/Windows/plastitanium_window.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/0b906c6916ce3803473fa6caa65f5b8661118c46", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/0b906c6916ce3803473fa6caa65f5b8661118c46, transparency tweaked by Ubaser.", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Structures/Windows/plastitanium_window.rsi/ptwindow0.png b/Resources/Textures/Structures/Windows/plastitanium_window.rsi/ptwindow0.png index 1704c25c2180117565c9558d48558d0f9b2432aa..fe2ddcf1ed405b01fd442a85aa7d1813ec34739e 100644 GIT binary patch literal 2316 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 delta 984 zcmV;}11J2W5bg(%B!7cxLqkwWLqi}?a&Km7Y-IodD9@FVODIH99L9exB8@D}LbAAv zp%f(~OAV1Sr7_BD;oduDM$NsZdq*~w%2ru;Y`hjW)@&_ol~Nuh8(S-4BVGSg4zrf+)%1YvLig$&>R>nvQp9y!lazWt-rJDtQRh$l3Q<-5m z5g!%~3+w4JHp|$`xVCV=a3pCvlCRAaIH`DDv7KGDiuY763@tg+Q%aZF#u($om_)~9 zm1VNz>6Xm2~SmGFA1sfyqqyFG`w_d8Rw~!QyLhZBfzqdo( zHhgdS{@0Q3e;-5j6I?na|H>f@eu%zR(jo`Yv;pT=CC%J{i%n>G%o(l`NYyg6R0`fs z<(p=q`34&13%wQhIk|^~bTx4ed;8Flmh6QJ@2)TJ?SIcRL4QPl0ATWRp!eh8R{#J2 z32;bRa{vGqBme*wBmtWh#uNYm0uf0>K~#8N?VCSK13?hQFE(}(bCrTb6AN3#_yrVV zYbB{|l(a#JVkH`ov_Tu|U}bASzkrIi7A6`5tu6*TtLUw>67x^ENp?2O{9t*Ta2(6K z?A+elOMj@*XgHL(?gVN8p7$1lZXn1FSX@{_4dC|fdbkZpuB>()K)Ld)G#;B)+KJNT z#c&&tT2FNxz|GA)^nOSr=ArkO;#m=8zz8TAkw~PiX~N+#)ik}14GOsd)R0es+1MOv z0FRZ2;jRIDC+7#y4aEND+AeehL2kfgG@gfUAb(z~7&D;x zbr-!tv;nCBpaZA*!Kl}>foY5x;O7Cl*@Q6z`t@2{zmXaM$`&yIlr88y0E-`}%tWUg z*DsRp_-~;sm9CuBcJA;rml;)GbV1$|L{TCJfU-pl0JR3wxq(#%P-F(y7@#wP*1yRN z8mR%G)RM(Cc~JSW)8+9rAbj~pIRxc z+vL)^tV+?Yb&p)irPZ!=se}z(+_T8-J2R}*)1K$~|Ih!t=l#8x-}}DLIp-;E&PqrP zBme+PWEUq7_--#=a_iwek9qth03d#1IyzFwj*ch_kHcWH=m4EF)6o^`lT?W~~_S9tgLV&&?pyEqZxb`C1Hwn*skw9XlM#VptVvDyP6 z%1NehvwwD=Y5;E}{$75DI%c{*eR65KsYLlB-7v9WC_3dJm$u+e6a1Cw9=gZe{3=4} zTI%8QTUI-oUPPSwc4^$$D)8BnORC*&Q%!@{CPx)|UCL*tk1v#aCAbWP>@baqWWC-T zQygIfvh@0IO^|0sl z++30q?xJy;+1BHlA1-9*85$B%WQ*YAuS5nj7lHjiEyo!ih&2o0pK*zM_#| za?A^=pG3@*{nCh8^tQS)u*#sg~kM^<$$l@{`o`v?S+_^!iCth3hTzcEz11RfO9O;UWPW z=-y<8t1DmxpXJ~szS<5Zz`H!x

      +/// Used to control various aspects of a Jaunt. +/// Can be used in place of giving a jaunt-action directly. +/// +[RegisterComponent, NetworkedComponent] +public sealed partial class JauntComponent : Component +{ + /// + /// Which Jaunt Action the component should grant. + /// + [DataField] + public EntProtoId JauntAction = "ActionPolymorphJaunt"; + + /// + /// The jaunt action itself. + /// + public EntityUid? Action; + + // TODO: Enter & Exit Times and Whitelist when Actions are reworked and can support it + // TODO: Cooldown pausing when Actions can support it +} diff --git a/Content.Shared/Jaunt/JauntSystem.cs b/Content.Shared/Jaunt/JauntSystem.cs new file mode 100644 index 0000000000..d9263d000e --- /dev/null +++ b/Content.Shared/Jaunt/JauntSystem.cs @@ -0,0 +1,26 @@ +using Content.Shared.Actions; + +namespace Content.Shared.Jaunt; +public sealed class JauntSystem : EntitySystem +{ + [Dependency] private readonly SharedActionsSystem _actions = default!; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(OnInit); + SubscribeLocalEvent(OnShutdown); + } + + private void OnInit(Entity ent, ref MapInitEvent args) + { + _actions.AddAction(ent.Owner, ref ent.Comp.Action, ent.Comp.JauntAction); + } + + private void OnShutdown(Entity ent, ref ComponentShutdown args) + { + _actions.RemoveAction(ent.Owner, ent.Comp.Action); + } + +} + diff --git a/Content.Shared/Polymorph/PolymorphPrototype.cs b/Content.Shared/Polymorph/PolymorphPrototype.cs index 6d010711d2..c057669408 100644 --- a/Content.Shared/Polymorph/PolymorphPrototype.cs +++ b/Content.Shared/Polymorph/PolymorphPrototype.cs @@ -1,3 +1,4 @@ +using Robust.Shared.Audio; using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype.Array; @@ -115,6 +116,18 @@ public sealed partial record PolymorphConfiguration [DataField(serverOnly: true)] [ViewVariables(VVAccess.ReadWrite)] public TimeSpan Cooldown = TimeSpan.Zero; + + /// + /// If not null, this sound will be played when being polymorphed into something. + /// + [DataField] + public SoundSpecifier? PolymorphSound; + + /// + /// If not null, this sound will be played when being reverted from a polymorph. + /// + [DataField] + public SoundSpecifier? ExitPolymorphSound; } public enum PolymorphInventoryChange : byte diff --git a/Resources/Audio/Magic/attributions.yml b/Resources/Audio/Magic/attributions.yml index cedda32286..bfbe4d6ec2 100644 --- a/Resources/Audio/Magic/attributions.yml +++ b/Resources/Audio/Magic/attributions.yml @@ -17,6 +17,8 @@ - forcewall.ogg - knock.ogg - blink.ogg - copyright: '"ForceWall.ogg", "Knock.ogg", and "blink.ogg" by Citadel Station 13' + - ethereal_enter.ogg + - ethereal_exit.ogg + copyright: '"forcewall.ogg", "knock.ogg", "blink.ogg", "ethereal_enter.ogg", and "ethereal_exit.ogg" by Citadel Station 13' license: CC-BY-SA-3.0 source: https://github.com/Citadel-Station-13/Citadel-Station-13/commit/35a1723e98a60f375df590ca572cc90f1bb80bd5 diff --git a/Resources/Audio/Magic/ethereal_enter.ogg b/Resources/Audio/Magic/ethereal_enter.ogg new file mode 100644 index 0000000000000000000000000000000000000000..a0c7222c16798c3c037cba5e90d5899644b52e8a GIT binary patch literal 36619 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 U3Scl3to$`8GTa5YJ^;tL0a{;58~^|S literal 0 HcmV?d00001 diff --git a/Resources/Audio/Magic/ethereal_exit.ogg b/Resources/Audio/Magic/ethereal_exit.ogg new file mode 100644 index 0000000000000000000000000000000000000000..bd60ca8c6957934445cbca1f7c691cb57cc69dff GIT binary patch literal 42980 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 literal 0 HcmV?d00001 diff --git a/Resources/Locale/en-US/store/spellbook-catalog.ftl b/Resources/Locale/en-US/store/spellbook-catalog.ftl index 457f02916f..1d970f6e3a 100644 --- a/Resources/Locale/en-US/store/spellbook-catalog.ftl +++ b/Resources/Locale/en-US/store/spellbook-catalog.ftl @@ -17,6 +17,9 @@ spellbook-polymorph-rod-desc = Change into an Immovable Rod with limited movemen spellbook-charge-name = Charge spellbook-charge-desc = Adds a charge back to your wand! +spellbook-ethereal-jaunt-name = Ethereal Jaunt +spellbook-ethereal-jaunt-description = Slip into the ethereal plane to slip away from your enemies! + # Equipment spellbook-wand-polymorph-door-name = Wand of Entrance @@ -33,3 +36,6 @@ spellbook-event-summon-ghosts-description = Who ya gonna call? # Upgrades spellbook-upgrade-fireball-name = Upgrade Fireball spellbook-upgrade-fireball-description = Upgrades Fireball to a maximum of level 3! + +spellbook-upgrade-jaunt-name = Upgrade Ethereal Jaunt +spellbook-upgrade-jaunt-description = Upgrades Jaunt to a maximum of level 3! diff --git a/Resources/Prototypes/Actions/polymorph.yml b/Resources/Prototypes/Actions/polymorph.yml index 81feba4eac..291400ab38 100644 --- a/Resources/Prototypes/Actions/polymorph.yml +++ b/Resources/Prototypes/Actions/polymorph.yml @@ -40,3 +40,53 @@ icon: sprite: Objects/Fun/immovable_rod.rsi state: icon + +- type: entity + id: ActionPolymorphJaunt + name: Ethereal Jaunt + description: Melt into the Ethereal Plane for a quick getaway! + components: + - type: Magic + - type: InstantAction + useDelay: 30 + event: !type:PolymorphActionEvent + protoId: Jaunt + itemIconStyle: NoItem + icon: + sprite: Objects/Magic/magicactions.rsi + state: jaunt + # TODO: Effect ECS (from cardboard box) + - type: ActionUpgrade + effectedLevels: + 2: ActionPolymorphJauntII + 3: ActionPolymorphJauntIII + +- type: entity + id: ActionPolymorphJauntII + parent: ActionPolymorphJaunt + name: Ethereal Jaunt II + description: Melt into the Ethereal Plane for an even quicker getaway! + components: + - type: InstantAction + useDelay: 25 + event: !type:PolymorphActionEvent + protoId: Jaunt + itemIconStyle: NoItem + icon: + sprite: Objects/Magic/magicactions.rsi + state: jaunt + +- type: entity + id: ActionPolymorphJauntIII + parent: ActionPolymorphJaunt + name: Ethereal Jaunt III + description: Are you even tangible anymore? + components: + - type: InstantAction + useDelay: 20 + event: !type:PolymorphActionEvent + protoId: Jaunt + itemIconStyle: NoItem + icon: + sprite: Objects/Magic/magicactions.rsi + state: jaunt diff --git a/Resources/Prototypes/Catalog/spellbook_catalog.yml b/Resources/Prototypes/Catalog/spellbook_catalog.yml index 38b95c3273..805c157f1e 100644 --- a/Resources/Prototypes/Catalog/spellbook_catalog.yml +++ b/Resources/Prototypes/Catalog/spellbook_catalog.yml @@ -77,6 +77,20 @@ - !type:ListingLimitedStockCondition stock: 1 +- type: listing + id: SpellbookJaunt + name: spellbook-ethereal-jaunt-name + description: spellbook-ethereal-jaunt-description + productAction: ActionPolymorphJaunt + productUpgradeId: SpellbookJauntUpgrade + cost: + WizCoin: 2 + categories: + - SpellbookUtility + conditions: + - !type:ListingLimitedStockCondition + stock: 1 + # Equipment - type: listing id: SpellbookWandDoor @@ -138,3 +152,22 @@ # manual for now - !type:ListingLimitedStockCondition stock: 2 + +- type: listing + id: SpellbookJauntUpgrade + productUpgradeId: SpellbookJauntUpgrade + name: spellbook-upgrade-jaunt-name + description: spellbook-upgrade-jaunt-description + icon: + sprite: Objects/Magic/magicactions.rsi + state: jaunt + cost: + WizCoin: 2 + categories: + - SpellbookUtility + conditions: + - !type:BuyBeforeCondition + whitelist: + - SpellbookJaunt + - !type:ListingLimitedStockCondition + stock: 2 diff --git a/Resources/Prototypes/Entities/Mobs/Player/jaunt_mobs.yml b/Resources/Prototypes/Entities/Mobs/Player/jaunt_mobs.yml new file mode 100644 index 0000000000..3002264a75 --- /dev/null +++ b/Resources/Prototypes/Entities/Mobs/Player/jaunt_mobs.yml @@ -0,0 +1,40 @@ +- type: entity + name: jaunt + parent: [Incorporeal, BaseMob] + id: BaseMobJaunt + description: Faint traces of a humanoid figure linger here + suffix: Ethereal + components: + - type: ContentEye + maxZoom: 1.44,1.44 + - type: Eye + drawFov: false + - type: Input + context: "ghost" + - type: InputMover + - type: MovementSpeedModifier + baseSprintSpeed: 12 + baseWalkSpeed: 8 + - type: Visibility + layer: 2 + - type: Spectral + +# Should be slow, for balance +- type: entity + name: jaunt + parent: BaseMobJaunt + id: EtherealJaunt + suffix: Wizard + components: + - type: Sprite + sprite: Mobs/Ghosts/ghost_human.rsi + color: "#60f7eb" + layers: + - state: animated + shader: unshaded + noRot: true + overrideContainerOcclusion: true + drawdepth: Ghosts + - type: MovementSpeedModifier + baseSprintSpeed: 6 + baseWalkSpeed: 4 diff --git a/Resources/Prototypes/Polymorphs/polymorph.yml b/Resources/Prototypes/Polymorphs/polymorph.yml index 96739a50d3..fe28287cb0 100644 --- a/Resources/Prototypes/Polymorphs/polymorph.yml +++ b/Resources/Prototypes/Polymorphs/polymorph.yml @@ -186,3 +186,19 @@ forced: true revertOnCrit: false revertOnDeath: false + +# Temporary Jaunt +# Don't make permanent jaunts until action system can be reworked to allow do afters and cooldown pausing +- type: polymorph + id: Jaunt + configuration: + entity: EtherealJaunt + transferName: true + inventory: None + forced: true + revertOnDeath: true + revertOnCrit: true + allowRepeatedMorphs: false + polymorphSound: /Audio/Magic/ethereal_enter.ogg + exitPolymorphSound: /Audio/Magic/ethereal_exit.ogg + duration: 3 diff --git a/Resources/Textures/Objects/Magic/magicactions.rsi/jaunt.png b/Resources/Textures/Objects/Magic/magicactions.rsi/jaunt.png new file mode 100644 index 0000000000000000000000000000000000000000..f66002b46956d4945c822e3a1c8fb2ac510ba1b2 GIT binary patch literal 431 zcmV;g0Z{&lP)UHiqSqj+6g!)RMIZ&f6%rCpJrILa$KyEO1(LqNPK#z0XJ{uA{GEhU ztxW~u#V{+c`bF)L48CuxPIFaYZNs&iy0Hnd5&xtUVx)F~G*|?@>NS-UGp9swEIpK1 z1l-s>95R^sS_!!41KX}NGhF Date: Wed, 13 Nov 2024 23:37:44 +0000 Subject: [PATCH 226/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 3365a943ee..9cc788c96f 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,20 +1,4 @@ Entries: -- author: IProduceWidgets - changes: - - message: shuttle events have been separated from other midround events and can - now happen concurrently. - type: Tweak - - message: Cargo Gift events should be less likely. - type: Tweak - - message: meteors have been changed to be more responsive to player count. - type: Tweak - - message: 'Game mode: Kessler syndrome - What if survival but also the apocalypse?' - type: Add - - message: 'Game mode: Zombeteors - Zombies and a meteor shower all at once!' - type: Add - id: 7107 - time: '2024-08-14T05:21:02.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/29320 - author: Blackern5000 changes: - message: Combat medical kits now contain saline syringes. @@ -3949,3 +3933,11 @@ id: 7606 time: '2024-11-13T12:30:40.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33282 +- author: keronshb + changes: + - message: Added Ethereal Jaunt! A Wizard Spell that turns you invisible and into + a ghost-like creature for escaping! + type: Add + id: 7607 + time: '2024-11-13T23:36:37.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33201 From 4f754b814bdc7c72d900e6d13aef4eb0a533cdce Mon Sep 17 00:00:00 2001 From: ScarKy0 Date: Thu, 14 Nov 2024 14:55:01 +0100 Subject: [PATCH 227/588] derelictn't (for now) --- .../ghost/roles/ghost-role-component.ftl | 3 -- .../interaction-popup-component.ftl | 1 - .../Entities/Markers/Spawners/ghost_roles.yml | 20 +--------- .../Mobs/Cyborgs/base_borg_chassis.yml | 21 +--------- .../Entities/Mobs/Cyborgs/borg_chassis.yml | 37 +----------------- .../Entities/Mobs/Player/silicon.yml | 36 +---------------- Resources/Prototypes/GameRules/events.yml | 23 +---------- .../Construction/Graphs/machines/cyborg.yml | 5 +-- .../Mobs/Silicon/chassis.rsi/derelict.png | Bin 11838 -> 0 bytes .../Mobs/Silicon/chassis.rsi/derelict_e.png | Bin 5508 -> 0 bytes .../Mobs/Silicon/chassis.rsi/derelict_e_r.png | Bin 5515 -> 0 bytes .../Silicon/chassis.rsi/derelict_icon.png | Bin 6429 -> 0 bytes .../Mobs/Silicon/chassis.rsi/derelict_l.png | Bin 6986 -> 0 bytes .../Mobs/Silicon/chassis.rsi/meta.json | 20 ---------- 14 files changed, 6 insertions(+), 160 deletions(-) delete mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict.png delete mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e.png delete mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e_r.png delete mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_icon.png delete mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_l.png diff --git a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl index f584a4b35f..77d2645c4c 100644 --- a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl +++ b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl @@ -240,9 +240,6 @@ ghost-role-information-syndicate-cyborg-assault-name = Syndicate Assault Cyborg ghost-role-information-syndicate-cyborg-saboteur-name = Syndicate Saboteur Cyborg ghost-role-information-syndicate-cyborg-description = The Syndicate needs reinforcements. You, a cold silicon killing machine, will help them. -ghost-role-information-derelict-cyborg-name = Derelict Cyborg -ghost-role-information-derelict-cyborg-description = You were a regular cyborg that got lost in space. After drifting in whichever direction the laws of physics would have it for years, you have drifted close to a Nanotrasen space station. You have a fire extinguisher and mass scanner which can be used to board the station. Years of exposure to ion storms have left your silicon laws altered - check them upon spawning. - ghost-role-information-security-name = Security ghost-role-information-security-description = You are part of a security task force, but seem to have found yourself in a strange situation... diff --git a/Resources/Locale/en-US/interaction/interaction-popup-component.ftl b/Resources/Locale/en-US/interaction/interaction-popup-component.ftl index 65310b67f9..46959705c2 100644 --- a/Resources/Locale/en-US/interaction/interaction-popup-component.ftl +++ b/Resources/Locale/en-US/interaction/interaction-popup-component.ftl @@ -67,7 +67,6 @@ petting-success-janitor-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} d petting-success-medical-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} sterile metal head. petting-success-service-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} dapper looking metal head. petting-success-syndicate-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} menacing metal head. -petting-success-derelict-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} rusty metal head. petting-success-recycler = You pet {THE($target)} on {POSS-ADJ($target)} mildly threatening steel exterior. petting-failure-honkbot = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BASIC($target, "honk", "honks")} in refusal! diff --git a/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml b/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml index 18d459cd89..a614fb5963 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml @@ -169,22 +169,4 @@ layers: - state: green - sprite: Objects/Weapons/Melee/energykatana.rsi - state: icon - -- type: entity - categories: [ HideSpawnMenu, Spawner ] - parent: BaseAntagSpawner - id: SpawnPointGhostDerelictCyborg - components: - - type: GhostRole - name: ghost-role-information-derelict-cyborg-name - description: ghost-role-information-derelict-cyborg-description - rules: ghost-role-information-silicon-rules - raffle: - settings: default - - type: Sprite - sprite: Markers/jobs.rsi - layers: - - state: green - - sprite: Mobs/Silicon/chassis.rsi - state: derelict_icon \ No newline at end of file + state: icon \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml index 7449fe5669..9022384352 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml @@ -316,23 +316,4 @@ sounds: Unsexed: UnisexSiliconSyndicate - type: PointLight - color: "#dd200b" - -- type: entity - id: BaseBorgChassisDerelict - parent: BaseBorgChassis - abstract: true - components: - - type: NpcFactionMember - factions: - - NanoTrasen #The seemingly best fit. It was a regular NT cyborg once, after all. - - type: Access - enabled: false - groups: - - AllAccess #Randomized access would be fun. AllAccess is the best i can think of right now that does make it too hard for it to enter the station or navigate it.. - - type: AccessReader - access: [["Command"], ["Research"]] - - type: StartIonStormed - ionStormAmount: 4 - - type: IonStormTarget - chance: 1 \ No newline at end of file + color: "#dd200b" \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml index 818847f244..04d629279e 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml @@ -441,39 +441,4 @@ interactSuccessString: petting-success-syndicate-cyborg interactFailureString: petting-failure-syndicate-cyborg interactSuccessSound: - path: /Audio/Ambience/Objects/periodic_beep.ogg - - -- type: entity - id: BorgChassisDerelict - parent: BaseBorgChassisDerelict - name: derelict cyborg - description: A man-machine hybrid that assists in station activity. This one is in a state of great disrepair. - components: - - type: Sprite - layers: - - state: derelict - - state: derelict_e_r - map: ["enum.BorgVisualLayers.Light"] - shader: unshaded - visible: false - - state: derelict_l - shader: unshaded - map: ["light"] - visible: false - - type: BorgChassis - maxModules: 5 #The sixth one broke lol. - moduleWhitelist: - tags: - - BorgModuleGeneric - hasMindState: derelict_e - noMindState: derelict_e_r - - type: Construction - node: derelictcyborg - - type: Speech - speechVerb: Robotic - - type: InteractionPopup - interactSuccessString: petting-success-derelict-cyborg - interactFailureString: petting-failure-derelict-cyborg - interactSuccessSound: - path: /Audio/Ambience/Objects/periodic_beep.ogg \ No newline at end of file + path: /Audio/Ambience/Objects/periodic_beep.ogg \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml index 22f49c93ea..71b8a92d1c 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml @@ -514,38 +514,4 @@ prototypes: - PlayerBorgSyndicateAssaultGhostRole - PlayerBorgSyndicateAssaultGhostRole # Saboteurs are kinda like cyborg medics, we want less. - - PlayerBorgSyndicateSaboteurGhostRole - -- type: entity - id: PlayerBorgDerelict - parent: BorgChassisDerelict - suffix: Battery, Module - components: - - type: ContainerFill - containers: - borg_brain: - - PositronicBrain - borg_module: - - BorgModuleTool - - BorgModuleFireExtinguisher - - BorgModuleGPS - - type: ItemSlots - slots: - cell_slot: - name: power-cell-slot-component-slot-name-default - startingItem: PowerCellHigh - - type: RandomMetadata - nameSegments: [names_borg] - -- type: entity - id: PlayerBorgDerelictGhostRole - parent: PlayerBorgDerelict - suffix: Ghost role - components: - - type: GhostRole - name: ghost-role-information-derelict-cyborg-name - description: ghost-role-information-derelict-cyborg-description - rules: ghost-role-information-silicon-rules - raffle: - settings: default - - type: GhostTakeoverAvailable + - PlayerBorgSyndicateSaboteurGhostRole \ No newline at end of file diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml index 763557e6c9..364a412887 100644 --- a/Resources/Prototypes/GameRules/events.yml +++ b/Resources/Prototypes/GameRules/events.yml @@ -545,25 +545,4 @@ minimumPlayers: 20 maxOccurrences: 1 # this event has diminishing returns on interesting-ness, so we cap it weight: 5 - - type: MobReplacementRule - -- type: entity - parent: BaseGameRule - id: DerelictCyborgSpawn - components: - - type: StationEvent - weight: 5 - earliestStart: 15 - reoccurrenceDelay: 20 - minimumPlayers: 4 - duration: null - - type: SpaceSpawnRule - spawnDistance: 0 - - type: AntagSpawner - prototype: PlayerBorgDerelict - - type: AntagSelection - definitions: - - spawnerPrototype: SpawnPointGhostDerelictCyborg - min: 1 - max: 1 - pickPlayer: false \ No newline at end of file + - type: MobReplacementRule \ No newline at end of file diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml b/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml index 3f8a731cbb..8fd528575e 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml @@ -204,7 +204,4 @@ entity: BorgChassisSyndicateMedical - node: syndicatesaboteur - entity: BorgChassisSyndicateSaboteur - - - node: derelictcyborg - entity: BorgChassisDerelict + entity: BorgChassisSyndicateSaboteur \ No newline at end of file diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict.png deleted file mode 100644 index bbf72fc45bed2408b2abeb91d3564f8fa41e6e5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11838 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 HpFaCP!NMbp diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e.png deleted file mode 100644 index 17349d74dc8ba9bbf0e434b9e32e634535c3a244..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5508 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 LUFhdl`^x_VBy@7n diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e_r.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e_r.png deleted file mode 100644 index 3c8cf19acf66f1c662629db09546f8a553a3c658..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5515 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 S?UyLhp|`uATeV9>+J69Pac{i< diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_icon.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_icon.png deleted file mode 100644 index 7f0ea2a25560f33773cd72d6184daba55dd4d033..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6429 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 diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_l.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_l.png deleted file mode 100644 index f65fbaebc3c5074e945e94f59b8d90b83ac08bb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6986 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 Date: Thu, 14 Nov 2024 14:57:05 +0100 Subject: [PATCH 228/588] Update Label workflows to use new labels (#33310) * Update labeler.yml * Update labeler-needsreview.yml * Update labeler-staging.yml * Update labeler-stable.yml * Update labeler-untriaged.yml * Create labeler-size.yml * Update labeler-size.yml * Update labeler-size.yml * Update conflict-labeler.yml * Rename conflict-labeler.yml to labeler-conflict.yml --- .github/labeler.yml | 2 +- ...flict-labeler.yml => labeler-conflict.yml} | 2 +- .github/workflows/labeler-needsreview.yml | 4 ++-- .github/workflows/labeler-size.yml | 20 +++++++++++++++++++ .github/workflows/labeler-stable.yml | 2 +- .github/workflows/labeler-staging.yml | 2 +- .github/workflows/labeler-untriaged.yml | 4 +++- 7 files changed, 29 insertions(+), 7 deletions(-) rename .github/workflows/{conflict-labeler.yml => labeler-conflict.yml} (93%) create mode 100644 .github/workflows/labeler-size.yml diff --git a/.github/labeler.yml b/.github/labeler.yml index 97b402eda9..69b2ca8774 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -16,7 +16,7 @@ - changed-files: - any-glob-to-any-file: '**/*.swsl' -"No C#": +"Changes: No C#": - changed-files: # Equiv to any-glob-to-all as long as this has one matcher. If ALL changed files are not C# files, then apply label. - all-globs-to-all-files: "!**/*.cs" diff --git a/.github/workflows/conflict-labeler.yml b/.github/workflows/labeler-conflict.yml similarity index 93% rename from .github/workflows/conflict-labeler.yml rename to .github/workflows/labeler-conflict.yml index 1e2125c30a..ebcc54d460 100644 --- a/.github/workflows/conflict-labeler.yml +++ b/.github/workflows/labeler-conflict.yml @@ -16,6 +16,6 @@ jobs: - name: Check for Merge Conflicts uses: eps1lon/actions-label-merge-conflict@v3.0.0 with: - dirtyLabel: "Merge Conflict" + dirtyLabel: "S: Merge Conflict" repoToken: "${{ secrets.GITHUB_TOKEN }}" commentOnDirty: "This pull request has conflicts, please resolve those before we can evaluate the pull request." diff --git a/.github/workflows/labeler-needsreview.yml b/.github/workflows/labeler-needsreview.yml index 311048acb0..819b34b7bb 100644 --- a/.github/workflows/labeler-needsreview.yml +++ b/.github/workflows/labeler-needsreview.yml @@ -10,7 +10,7 @@ jobs: steps: - uses: actions-ecosystem/action-add-labels@v1 with: - labels: "Status: Needs Review" + labels: "S: Needs Review" - uses: actions-ecosystem/action-remove-labels@v1 with: - labels: "Status: Awaiting Changes" + labels: "S: Awaiting Changes" diff --git a/.github/workflows/labeler-size.yml b/.github/workflows/labeler-size.yml new file mode 100644 index 0000000000..ad6e35c829 --- /dev/null +++ b/.github/workflows/labeler-size.yml @@ -0,0 +1,20 @@ +name: "Labels: Size" +on: pull_request_target +jobs: + size-label: + runs-on: ubuntu-latest + steps: + - name: size-label + uses: "pascalgn/size-label-action@v0.5.5" + env: + GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" + with: + # Custom size configuration + sizes: > + { + "0": "XS", + "10": "S", + "30": "M", + "100": "L", + "1000": "XL" + } diff --git a/.github/workflows/labeler-stable.yml b/.github/workflows/labeler-stable.yml index 491d6a76fa..f6fd2033a1 100644 --- a/.github/workflows/labeler-stable.yml +++ b/.github/workflows/labeler-stable.yml @@ -13,4 +13,4 @@ jobs: steps: - uses: actions-ecosystem/action-add-labels@v1 with: - labels: "Branch: stable" + labels: "Branch: Stable" diff --git a/.github/workflows/labeler-staging.yml b/.github/workflows/labeler-staging.yml index e31a5a482f..b46a198aef 100644 --- a/.github/workflows/labeler-staging.yml +++ b/.github/workflows/labeler-staging.yml @@ -13,4 +13,4 @@ jobs: steps: - uses: actions-ecosystem/action-add-labels@v1 with: - labels: "Branch: staging" + labels: "Branch: Staging" diff --git a/.github/workflows/labeler-untriaged.yml b/.github/workflows/labeler-untriaged.yml index 775aab2654..ec1d194851 100644 --- a/.github/workflows/labeler-untriaged.yml +++ b/.github/workflows/labeler-untriaged.yml @@ -3,6 +3,8 @@ on: issues: types: [opened] + pull_request_target: + types: [opened] jobs: add_label: @@ -11,4 +13,4 @@ jobs: - uses: actions-ecosystem/action-add-labels@v1 if: join(github.event.issue.labels) == '' with: - labels: "Status: Untriaged" + labels: "S: Untriaged" From c86201308a81548601afe3a205e592a05afc2dfb Mon Sep 17 00:00:00 2001 From: ScarKy0 Date: Thu, 14 Nov 2024 15:01:04 +0100 Subject: [PATCH 229/588] guh --- .../Locale/en-US/interaction/interaction-popup-component.ftl | 2 -- Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml | 2 +- .../Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml | 2 +- Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml | 2 +- Resources/Prototypes/Entities/Mobs/Player/silicon.yml | 2 +- Resources/Prototypes/GameRules/events.yml | 2 +- .../Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml | 2 +- 7 files changed, 6 insertions(+), 8 deletions(-) diff --git a/Resources/Locale/en-US/interaction/interaction-popup-component.ftl b/Resources/Locale/en-US/interaction/interaction-popup-component.ftl index 69a700fdeb..a180b698fa 100644 --- a/Resources/Locale/en-US/interaction/interaction-popup-component.ftl +++ b/Resources/Locale/en-US/interaction/interaction-popup-component.ftl @@ -82,8 +82,6 @@ petting-failure-janitor-cyborg = You reach out to pet {THE($target)}, but {SUBJE petting-failure-medical-cyborg = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BE($target)} busy saving lives! petting-failure-service-cyborg = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BE($target)} busy serving others! petting-failure-syndicate-cyborg = You reach out to pet {THE($target)}, but {POSS-ADJ($target)} treacherous affiliation makes you reconsider. -petting-failure-derelict-cyborg = You reach out to pet {THE($target)}, but {POSS-ADJ($target)} rusty and jagged exterior makes you reconsider. - ## Rattling fences diff --git a/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml b/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml index a614fb5963..b694a8cc2f 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml @@ -169,4 +169,4 @@ layers: - state: green - sprite: Objects/Weapons/Melee/energykatana.rsi - state: icon \ No newline at end of file + state: icon diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml index 26e0ce4c79..0db92ac941 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml @@ -317,4 +317,4 @@ sounds: Unsexed: UnisexSiliconSyndicate - type: PointLight - color: "#dd200b" \ No newline at end of file + color: "#dd200b" diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml index c381723499..6a8f1e5abb 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml @@ -439,4 +439,4 @@ interactSuccessString: petting-success-syndicate-cyborg interactFailureString: petting-failure-syndicate-cyborg interactSuccessSound: - path: /Audio/Ambience/Objects/periodic_beep.ogg \ No newline at end of file + path: /Audio/Ambience/Objects/periodic_beep.ogg diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml index cef834c0b6..e787ef59f0 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml @@ -543,4 +543,4 @@ prototypes: - PlayerBorgSyndicateAssaultGhostRole - PlayerBorgSyndicateAssaultGhostRole # Saboteurs are kinda like cyborg medics, we want less. - - PlayerBorgSyndicateSaboteurGhostRole \ No newline at end of file + - PlayerBorgSyndicateSaboteurGhostRole diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml index 32af0835c7..fafb6bd428 100644 --- a/Resources/Prototypes/GameRules/events.yml +++ b/Resources/Prototypes/GameRules/events.yml @@ -540,4 +540,4 @@ minimumPlayers: 20 maxOccurrences: 1 # this event has diminishing returns on interesting-ness, so we cap it weight: 5 - - type: MobReplacementRule \ No newline at end of file + - type: MobReplacementRule diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml b/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml index 8fd528575e..0f012cefc9 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml @@ -204,4 +204,4 @@ entity: BorgChassisSyndicateMedical - node: syndicatesaboteur - entity: BorgChassisSyndicateSaboteur \ No newline at end of file + entity: BorgChassisSyndicateSaboteur From 5dbea427517a91fd9fce7ea48d3d911a37c81779 Mon Sep 17 00:00:00 2001 From: ScarKy0 Date: Thu, 14 Nov 2024 15:05:14 +0100 Subject: [PATCH 230/588] derelicn't for real --- Resources/Prototypes/GameRules/events.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml index fafb6bd428..08218acced 100644 --- a/Resources/Prototypes/GameRules/events.yml +++ b/Resources/Prototypes/GameRules/events.yml @@ -35,7 +35,6 @@ - id: RevenantSpawn - id: SleeperAgents - id: ZombieOutbreak - - id: DerelictCyborgSpawn - id: LoneOpsSpawn - type: entity From 0f30639cf25866f285638d36632e4c3ddf07874e Mon Sep 17 00:00:00 2001 From: ScarKy0 Date: Thu, 14 Nov 2024 17:21:03 +0100 Subject: [PATCH 231/588] progress --- .../Silicons/Laws/SiliconLawSystem.cs | 74 ++++++++----------- .../Silicons/Laws/StartIonStormedSystem.cs | 38 ---------- .../Components/EmagSiliconLawComponent.cs | 7 -- .../Components/SiliconLawProviderComponent.cs | 6 ++ .../Components/StartIonStormedComponent.cs | 24 ------ 5 files changed, 38 insertions(+), 111 deletions(-) delete mode 100644 Content.Server/Silicons/Laws/StartIonStormedSystem.cs delete mode 100644 Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs diff --git a/Content.Server/Silicons/Laws/SiliconLawSystem.cs b/Content.Server/Silicons/Laws/SiliconLawSystem.cs index c2aa20f401..a4a7ee528f 100644 --- a/Content.Server/Silicons/Laws/SiliconLawSystem.cs +++ b/Content.Server/Silicons/Laws/SiliconLawSystem.cs @@ -1,3 +1,4 @@ +using System.Diagnostics; using System.Linq; using Content.Server.Administration; using Content.Server.Chat.Managers; @@ -22,7 +23,6 @@ using Robust.Shared.Prototypes; using Robust.Shared.Toolshed; using Robust.Shared.Audio; -using Robust.Shared.GameObjects; namespace Content.Server.Silicons.Laws; @@ -50,11 +50,9 @@ public override void Initialize() SubscribeLocalEvent(OnDirectedGetLaws); SubscribeLocalEvent(OnIonStormLaws); + SubscribeLocalEvent(OnLawProviderMindAdded); + SubscribeLocalEvent(OnLawProviderMindRemoved); SubscribeLocalEvent(OnEmagLawsAdded); - SubscribeLocalEvent(OnEmagMindAdded); - SubscribeLocalEvent(OnEmagMindRemoved); - SubscribeLocalEvent(OnStartIonStormedMindAdded); - SubscribeLocalEvent(OnStartIonStormedMindRemoved); } private void OnMapInit(EntityUid uid, SiliconLawBoundComponent component, MapInitEvent args) @@ -73,6 +71,22 @@ private void OnMindAdded(EntityUid uid, SiliconLawBoundComponent component, Mind actor.PlayerSession.Channel, colorOverride: Color.FromHex("#2ed2fd")); } + private void OnLawProviderMindAdded(EntityUid uid, SiliconLawProviderComponent component, MindAddedMessage args) + { + if (!component.Subverted) + return; + EnsureSubvertedSiliconRole(uid); + } + + private void OnLawProviderMindRemoved(EntityUid uid, SiliconLawProviderComponent component, MindRemovedMessage args) + { + if (!component.Subverted) + return; + RemoveSubvertedSiliconRole(uid); + + } + + private void OnToggleLawsScreen(EntityUid uid, SiliconLawBoundComponent component, ToggleLawsScreenEvent args) { if (args.Handled || !TryComp(uid, out var actor)) @@ -119,9 +133,11 @@ private void OnIonStormLaws(EntityUid uid, SiliconLawProviderComponent component // gotta tell player to check their laws NotifyLawsChanged(uid, component.LawUploadSound); + // Show the silicon has been subverted. + component.Subverted = true; + // new laws may allow antagonist behaviour so make it clear for admins - if (TryComp(uid, out var emag)) - EnsureEmaggedRole(uid, emag); + EnsureSubvertedSiliconRole(uid); } } @@ -132,6 +148,9 @@ private void OnEmagLawsAdded(EntityUid uid, SiliconLawProviderComponent componen if (component.Lawset == null) component.Lawset = GetLawset(component.Laws); + // Show the silicon has been subverted. + component.Subverted = true; + // Add the first emag law before the others component.Lawset?.Laws.Insert(0, new SiliconLaw { @@ -154,58 +173,29 @@ protected override void OnGotEmagged(EntityUid uid, EmagSiliconLawComponent comp base.OnGotEmagged(uid, component, ref args); NotifyLawsChanged(uid, component.EmaggedSound); - EnsureEmaggedRole(uid, component); + EnsureSubvertedSiliconRole(uid); _stunSystem.TryParalyze(uid, component.StunTime, true); } - private void OnEmagMindAdded(EntityUid uid, EmagSiliconLawComponent component, MindAddedMessage args) - { - if (HasComp(uid)) - EnsureEmaggedRole(uid, component); - } - - private void OnEmagMindRemoved(EntityUid uid, EmagSiliconLawComponent component, MindRemovedMessage args) + private void EnsureSubvertedSiliconRole(EntityUid uid) { - if (component.AntagonistRole == null) - return; - - _roles.MindTryRemoveRole(args.Mind); - } - - private void EnsureEmaggedRole(EntityUid uid, EmagSiliconLawComponent component) - { - if (component.AntagonistRole == null || !_mind.TryGetMind(uid, out var mindId, out _)) + if (!_mind.TryGetMind(uid, out var mindId, out _)) return; if (!_roles.MindHasRole(mindId)) _roles.MindAddRole(mindId, "MindRoleSubvertedSilicon"); - } - - private void OnStartIonStormedMindAdded(EntityUid uid, StartIonStormedComponent component, MindAddedMessage args) - { - if (HasComp(uid)) - EnsureStartIonStormedRole(uid, component); - } - private void OnStartIonStormedMindRemoved(EntityUid uid, StartIonStormedComponent component, MindRemovedMessage args) - { - if (component.AntagonistRole == null) - return; - - _roles.MindTryRemoveRole(args.Mind); } - private void EnsureStartIonStormedRole(EntityUid uid, StartIonStormedComponent component) + private void RemoveSubvertedSiliconRole(EntityUid uid) { - if (component.AntagonistRole == null || !_mind.TryGetMind(uid, out var mindId, out _)) + if (!_mind.TryGetMind(uid, out var mindId, out _)) return; if (_roles.MindHasRole(mindId)) - return; - - _roles.MindAddRole(mindId, new SubvertedSiliconRoleComponent { PrototypeId = component.AntagonistRole }); + _roles.MindTryRemoveRole(mindId); } public SiliconLawset GetLaws(EntityUid uid, SiliconLawBoundComponent? component = null) diff --git a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs deleted file mode 100644 index ee2ce7b9ed..0000000000 --- a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs +++ /dev/null @@ -1,38 +0,0 @@ -using Content.Shared.Silicons.Laws.Components; -using Content.Shared.Administration.Logs; -using Content.Shared.Database; - -namespace Content.Server.Silicons.Laws; - -/// -/// This handles running the ion storm event a on specific entity when that entity is spawned in. -/// -public sealed class StartIonStormedSystem : EntitySystem -{ - [Dependency] private readonly IonStormSystem _ionStorm = default!; - [Dependency] private readonly ISharedAdminLogManager _adminLogger = default!; - [Dependency] private readonly SiliconLawSystem _siliconLaw = default!; - - public override void Initialize() - { - base.Initialize(); - SubscribeLocalEvent(OnMapInit); - } - - //private void OnMapInit(EntityUid uid, StartIonStormedComponent component, ref MapInitEvent args)' - private void OnMapInit(Entity ent, ref MapInitEvent args) - { - if (!TryComp(ent.Owner, out var lawBound)) - return; - if (!TryComp(ent.Owner, out var target)) - return; - - for (int currentIonStorm = 0; currentIonStorm < ent.Comp.IonStormAmount; currentIonStorm++) - { - _ionStorm.IonStormTarget((ent.Owner, lawBound, target), false); - } - - var laws = _siliconLaw.GetLaws(ent.Owner, lawBound); - _adminLogger.Add(LogType.Mind, LogImpact.High, $"{ToPrettyString(ent.Owner):silicon} spawned with ion stormed laws: {laws.LoggingString()}"); - } -} diff --git a/Content.Shared/Silicons/Laws/Components/EmagSiliconLawComponent.cs b/Content.Shared/Silicons/Laws/Components/EmagSiliconLawComponent.cs index 1b5338a7f7..5fe867ae29 100644 --- a/Content.Shared/Silicons/Laws/Components/EmagSiliconLawComponent.cs +++ b/Content.Shared/Silicons/Laws/Components/EmagSiliconLawComponent.cs @@ -29,13 +29,6 @@ public sealed partial class EmagSiliconLawComponent : Component [DataField, ViewVariables(VVAccess.ReadWrite)] public TimeSpan StunTime = TimeSpan.Zero; - /// - /// A role given to entities with this component when they are emagged. - /// Mostly just for admin purposes. - /// - [DataField] - public ProtoId? AntagonistRole = "SubvertedSilicon"; - /// /// The sound that plays for the borg player /// to let them know they've been emagged diff --git a/Content.Shared/Silicons/Laws/Components/SiliconLawProviderComponent.cs b/Content.Shared/Silicons/Laws/Components/SiliconLawProviderComponent.cs index 4885bd0265..d78e539aa9 100644 --- a/Content.Shared/Silicons/Laws/Components/SiliconLawProviderComponent.cs +++ b/Content.Shared/Silicons/Laws/Components/SiliconLawProviderComponent.cs @@ -29,4 +29,10 @@ public sealed partial class SiliconLawProviderComponent : Component [DataField] public SoundSpecifier? LawUploadSound = new SoundPathSpecifier("/Audio/Misc/cryo_warning.ogg"); + /// + /// Whether this silicon is subverted by an ion storm or emag. + /// + [DataField] + public bool Subverted = false; + } diff --git a/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs b/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs deleted file mode 100644 index 75d7412166..0000000000 --- a/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Content.Shared.Roles; -using Robust.Shared.Prototypes; - -namespace Content.Shared.Silicons.Laws.Components; - -/// -/// Applies law altering ion storms on a specific entity IonStormAmount times when the entity is spawned. -/// -[RegisterComponent] -public sealed partial class StartIonStormedComponent : Component -{ - /// - /// Amount of times that the ion storm will be run on the entity on spawn. - /// - [DataField] - public int IonStormAmount = 1; - - /// - /// A role given to entities with this component when a mind enters it. - /// Mostly just for admin purposes. - /// - [DataField] - public ProtoId? AntagonistRole = "SubvertedSilicon"; -} From ace158df0e5e335f8e7897ffe6f93f8ac8448865 Mon Sep 17 00:00:00 2001 From: ScarKy0 Date: Thu, 14 Nov 2024 17:53:15 +0100 Subject: [PATCH 232/588] Yippee! --- Content.Server/Silicons/Laws/SiliconLawSystem.cs | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/Content.Server/Silicons/Laws/SiliconLawSystem.cs b/Content.Server/Silicons/Laws/SiliconLawSystem.cs index a4a7ee528f..9b3e279b75 100644 --- a/Content.Server/Silicons/Laws/SiliconLawSystem.cs +++ b/Content.Server/Silicons/Laws/SiliconLawSystem.cs @@ -75,14 +75,14 @@ private void OnLawProviderMindAdded(EntityUid uid, SiliconLawProviderComponent c { if (!component.Subverted) return; - EnsureSubvertedSiliconRole(uid); + EnsureSubvertedSiliconRole(args.Mind); } private void OnLawProviderMindRemoved(EntityUid uid, SiliconLawProviderComponent component, MindRemovedMessage args) { if (!component.Subverted) return; - RemoveSubvertedSiliconRole(uid); + RemoveSubvertedSiliconRole(args.Mind); } @@ -179,21 +179,14 @@ protected override void OnGotEmagged(EntityUid uid, EmagSiliconLawComponent comp } - private void EnsureSubvertedSiliconRole(EntityUid uid) + private void EnsureSubvertedSiliconRole(EntityUid mindId) { - if (!_mind.TryGetMind(uid, out var mindId, out _)) - return; - if (!_roles.MindHasRole(mindId)) _roles.MindAddRole(mindId, "MindRoleSubvertedSilicon"); - } - private void RemoveSubvertedSiliconRole(EntityUid uid) + private void RemoveSubvertedSiliconRole(EntityUid mindId) { - if (!_mind.TryGetMind(uid, out var mindId, out _)) - return; - if (_roles.MindHasRole(mindId)) _roles.MindTryRemoveRole(mindId); } From 815e37e512ce7d1df152bac1642b769cf3e9bb32 Mon Sep 17 00:00:00 2001 From: CheddaCheez Date: Thu, 14 Nov 2024 10:56:21 -0600 Subject: [PATCH 233/588] Fix mime broken vow alert (#33303) Swap VowAlert and VowBrokenAlert on lines 149 and 150 so that the proper alerts are cleared and shown --- Content.Server/Abilities/Mime/MimePowersSystem.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Content.Server/Abilities/Mime/MimePowersSystem.cs b/Content.Server/Abilities/Mime/MimePowersSystem.cs index 20889f293c..bd8cf7c176 100644 --- a/Content.Server/Abilities/Mime/MimePowersSystem.cs +++ b/Content.Server/Abilities/Mime/MimePowersSystem.cs @@ -146,8 +146,8 @@ public void RetakeVow(EntityUid uid, MimePowersComponent? mimePowers = null) mimePowers.ReadyToRepent = false; mimePowers.VowBroken = false; AddComp(uid); - _alertsSystem.ClearAlert(uid, mimePowers.VowAlert); - _alertsSystem.ShowAlert(uid, mimePowers.VowBrokenAlert); + _alertsSystem.ClearAlert(uid, mimePowers.VowBrokenAlert); + _alertsSystem.ShowAlert(uid, mimePowers.VowAlert); _actionsSystem.AddAction(uid, ref mimePowers.InvisibleWallActionEntity, mimePowers.InvisibleWallAction, uid); } } From 669bc148f91980f983b691d1e516b1b8d627a315 Mon Sep 17 00:00:00 2001 From: PJBot Date: Thu, 14 Nov 2024 16:57:29 +0000 Subject: [PATCH 234/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 9cc788c96f..eb3f726800 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Blackern5000 - changes: - - message: Combat medical kits now contain saline syringes. - type: Add - id: 7108 - time: '2024-08-14T06:25:54.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/29954 - author: TheShuEd changes: - message: added morbilliard variants of procedural tacos and kebabs @@ -3941,3 +3934,10 @@ id: 7607 time: '2024-11-13T23:36:37.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33201 +- author: CheddaCheez + changes: + - message: Fixed mimes being unable to break their vow more than once. Despicable! + type: Fix + id: 7608 + time: '2024-11-14T16:56:22.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33303 From 1bebb3390ccedfdae173f0f681be6578146057ca Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Thu, 14 Nov 2024 18:08:35 +0100 Subject: [PATCH 235/588] Borg type switching. (#32586) * Borg type switching. This allows borgs (new spawn or constructed) to select their chassis type on creation, like in SS13. This removes the need for the many different chassis types, and means round-start borgs can actually play the game immediately instead of waiting for science to unlock everything. New borgs have an additional action that allows them to select their type. This opens a nice window with basic information about the borgs and a select button. Once a type has been selected it is permanent for that borg chassis. These borg types also immediately start the borg with specific modules, so they do not need to be printed. Additional modules can still be inserted for upgrades, though this is now less critical. The built-in modules cannot be removed, but are shown in the UI. The modules that each borg type starts with: * Generic: tools * Engineering: advanced tools, construction, RCD, cable * Salvage: Grappling gun, appraisal, mining * Janitor: cleaning, light replacer * Medical: treatment * Service: music, service, clowning Specialized borgs have 3 additional module slots available on top of the ones listed above, generic borgs have 5. Borg types are specified in a new BorgTypePrototype. These prototypes specify all information about the borg type. It is assigned to the borg entity through a mix of client side, server, and shared code. Some of the involved components were made networked, others are just ensured they're set on both sides of the wire. The most gnarly change is the inventory template prototype, which needs to change purely to modify the borg hat offset. I managed to bodge this in with an API that *probably* won't explode for specifically for this use case, but it's still not the most clean of API designs. Parts for specific borg chassis have been removed (so much deleted YAML) and specialized borg modules that are in the base set of a type have been removed from the exosuit fab as there's no point to printing those. The ability to "downgrade" a borg so it can select a new chassis, like in SS13, is something that would be nice, but was not high enough priority for me to block the feature on. I did keep it in mind with some of the code, so it may be possible in the future. There is no fancy animation when selecting borg types like in SS13, because I didn't think it was high priority, and it would add a lot of complex code. * Fix sandbox failure due to collection expression. * Module tweak Fix salvage borg modules still having research/lathe recipes Engie borg has regular tool module, not advanced. * Fix inventory system breakage * Fix migrations Some things were missing * Guidebook rewordings & review * MinWidth on confirm selection button --- .../Clothing/ClientClothingSystem.cs | 24 +- .../Inventory/ClientInventorySystem.cs | 16 +- Content.Client/Overlays/EquipmentHudSystem.cs | 3 +- .../Overlays/ShowHealthBarsSystem.cs | 7 + .../Overlays/ShowHealthIconsSystem.cs | 7 + .../Silicons/Borgs/BorgMenu.xaml.cs | 3 +- .../Silicons/Borgs/BorgModuleControl.xaml.cs | 3 +- .../Silicons/Borgs/BorgSelectTypeMenu.xaml | 43 ++ .../Silicons/Borgs/BorgSelectTypeMenu.xaml.cs | 81 +++ .../Borgs/BorgSelectTypeUserInterface.cs | 30 ++ .../Borgs/BorgSwitchableTypeSystem.cs | 81 +++ Content.Client/Silicons/Borgs/BorgSystem.cs | 14 + .../Borgs/BorgSwitchableTypeSystem.cs | 82 +++ .../Silicons/Borgs/BorgSystem.Modules.cs | 39 ++ .../Silicons/Borgs/BorgSystem.Transponder.cs | 17 + .../Silicons/Borgs/BorgSystem.Ui.cs | 3 + Content.Server/Silicons/Borgs/BorgSystem.cs | 15 +- .../Interaction/InteractionPopupSystem.cs | 22 + .../Inventory/InventoryComponent.cs | 10 +- .../Inventory/InventorySystem.Slots.cs | 49 ++ .../Overlays/ShowHealthBarsComponent.cs | 2 + .../Overlays/ShowHealthIconsComponent.cs | 2 + .../Silicons/Borgs/BorgTypePrototype.cs | 155 ++++++ .../Borgs/Components/BorgChassisComponent.cs | 15 +- .../Borgs/Components/BorgModuleComponent.cs | 8 + .../Components/BorgSwitchableTypeComponent.cs | 72 +++ .../Borgs/SharedBorgSwitchableTypeSystem.cs | 125 +++++ .../Silicons/Borgs/SharedBorgSystem.cs | 9 + Resources/Locale/en-US/borg/borg.ftl | 37 ++ Resources/Prototypes/Actions/borgs.yml | 12 + Resources/Prototypes/Body/Parts/silicon.yml | 47 +- .../Mobs/Cyborgs/base_borg_chassis.yml | 7 + .../Entities/Mobs/Cyborgs/borg_chassis.yml | 319 ++--------- .../Entities/Mobs/Player/silicon.yml | 21 +- .../Objects/Specific/Robotics/borg_parts.yml | 503 ------------------ .../Specific/Robotics/endoskeleton.yml | 169 +----- .../Entities/Structures/Machines/lathe.yml | 40 -- .../Prototypes/InventoryTemplates/borg.yml | 3 +- .../Construction/Graphs/machines/cyborg.yml | 173 +----- .../Prototypes/Recipes/Lathes/robotics.yml | 220 -------- .../Prototypes/Research/civilianservices.yml | 3 - Resources/Prototypes/Research/industrial.yml | 3 - .../Prototypes/Roles/Jobs/Science/borg.yml | 2 +- Resources/Prototypes/borg_types.yml | 218 ++++++++ Resources/Prototypes/tags.yml | 99 +--- .../ServerInfo/Guidebook/Science/Cyborgs.xml | 16 +- .../Actions/actions_borg.rsi/meta.json | 5 +- .../Actions/actions_borg.rsi/select-type.png | Bin 0 -> 408 bytes Resources/migration.yml | 35 ++ 49 files changed, 1336 insertions(+), 1533 deletions(-) create mode 100644 Content.Client/Silicons/Borgs/BorgSelectTypeMenu.xaml create mode 100644 Content.Client/Silicons/Borgs/BorgSelectTypeMenu.xaml.cs create mode 100644 Content.Client/Silicons/Borgs/BorgSelectTypeUserInterface.cs create mode 100644 Content.Client/Silicons/Borgs/BorgSwitchableTypeSystem.cs create mode 100644 Content.Server/Silicons/Borgs/BorgSwitchableTypeSystem.cs create mode 100644 Content.Shared/Silicons/Borgs/BorgTypePrototype.cs create mode 100644 Content.Shared/Silicons/Borgs/Components/BorgSwitchableTypeComponent.cs create mode 100644 Content.Shared/Silicons/Borgs/SharedBorgSwitchableTypeSystem.cs delete mode 100644 Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_parts.yml create mode 100644 Resources/Prototypes/borg_types.yml create mode 100644 Resources/Textures/Interface/Actions/actions_borg.rsi/select-type.png diff --git a/Content.Client/Clothing/ClientClothingSystem.cs b/Content.Client/Clothing/ClientClothingSystem.cs index 3462fc9236..46f879e815 100644 --- a/Content.Client/Clothing/ClientClothingSystem.cs +++ b/Content.Client/Clothing/ClientClothingSystem.cs @@ -58,6 +58,7 @@ public override void Initialize() base.Initialize(); SubscribeLocalEvent(OnGetVisuals); + SubscribeLocalEvent(OnInventoryTemplateUpdated); SubscribeLocalEvent(OnVisualsChanged); SubscribeLocalEvent(OnDidUnequip); @@ -70,11 +71,7 @@ private void OnAppearanceUpdate(EntityUid uid, InventoryComponent component, ref if (args.Sprite == null) return; - var enumerator = _inventorySystem.GetSlotEnumerator((uid, component)); - while (enumerator.NextItem(out var item, out var slot)) - { - RenderEquipment(uid, item, slot.Name, component); - } + UpdateAllSlots(uid, component); // No clothing equipped -> make sure the layer is hidden, though this should already be handled by on-unequip. if (args.Sprite.LayerMapTryGet(HumanoidVisualLayers.StencilMask, out var layer)) @@ -84,6 +81,23 @@ private void OnAppearanceUpdate(EntityUid uid, InventoryComponent component, ref } } + private void OnInventoryTemplateUpdated(Entity ent, ref InventoryTemplateUpdated args) + { + UpdateAllSlots(ent.Owner, clothing: ent.Comp); + } + + private void UpdateAllSlots( + EntityUid uid, + InventoryComponent? inventoryComponent = null, + ClothingComponent? clothing = null) + { + var enumerator = _inventorySystem.GetSlotEnumerator((uid, inventoryComponent)); + while (enumerator.NextItem(out var item, out var slot)) + { + RenderEquipment(uid, item, slot.Name, inventoryComponent, clothingComponent: clothing); + } + } + private void OnGetVisuals(EntityUid uid, ClothingComponent item, GetEquipmentVisualsEvent args) { if (!TryComp(args.Equipee, out InventoryComponent? inventory)) diff --git a/Content.Client/Inventory/ClientInventorySystem.cs b/Content.Client/Inventory/ClientInventorySystem.cs index 87cea4e3d2..dce401eefd 100644 --- a/Content.Client/Inventory/ClientInventorySystem.cs +++ b/Content.Client/Inventory/ClientInventorySystem.cs @@ -235,9 +235,23 @@ public void UIInventoryAltActivateItem(string slot, EntityUid uid) EntityManager.RaisePredictiveEvent(new InteractInventorySlotEvent(GetNetEntity(item.Value), altInteract: true)); } + protected override void UpdateInventoryTemplate(Entity ent) + { + base.UpdateInventoryTemplate(ent); + + if (TryComp(ent, out InventorySlotsComponent? inventorySlots)) + { + foreach (var slot in ent.Comp.Slots) + { + if (inventorySlots.SlotData.TryGetValue(slot.Name, out var slotData)) + slotData.SlotDef = slot; + } + } + } + public sealed class SlotData { - public readonly SlotDefinition SlotDef; + public SlotDefinition SlotDef; public EntityUid? HeldEntity => Container?.ContainedEntity; public bool Blocked; public bool Highlighted; diff --git a/Content.Client/Overlays/EquipmentHudSystem.cs b/Content.Client/Overlays/EquipmentHudSystem.cs index c7578b6793..502a1f3627 100644 --- a/Content.Client/Overlays/EquipmentHudSystem.cs +++ b/Content.Client/Overlays/EquipmentHudSystem.cs @@ -14,6 +14,7 @@ public abstract class EquipmentHudSystem : EntitySystem where T : IComponent { [Dependency] private readonly IPlayerManager _player = default!; + [ViewVariables] protected bool IsActive; protected virtual SlotFlags TargetSlots => ~SlotFlags.POCKET; @@ -102,7 +103,7 @@ protected virtual void OnRefreshComponentHud(EntityUid uid, T component, Refresh args.Components.Add(component); } - private void RefreshOverlay(EntityUid uid) + protected void RefreshOverlay(EntityUid uid) { if (uid != _player.LocalSession?.AttachedEntity) return; diff --git a/Content.Client/Overlays/ShowHealthBarsSystem.cs b/Content.Client/Overlays/ShowHealthBarsSystem.cs index 1eb712a898..b23209ff20 100644 --- a/Content.Client/Overlays/ShowHealthBarsSystem.cs +++ b/Content.Client/Overlays/ShowHealthBarsSystem.cs @@ -21,9 +21,16 @@ public override void Initialize() { base.Initialize(); + SubscribeLocalEvent(OnHandleState); + _overlay = new(EntityManager, _prototype); } + private void OnHandleState(Entity ent, ref AfterAutoHandleStateEvent args) + { + RefreshOverlay(ent); + } + protected override void UpdateInternal(RefreshEquipmentHudEvent component) { base.UpdateInternal(component); diff --git a/Content.Client/Overlays/ShowHealthIconsSystem.cs b/Content.Client/Overlays/ShowHealthIconsSystem.cs index 8c22c78f17..b4d845e421 100644 --- a/Content.Client/Overlays/ShowHealthIconsSystem.cs +++ b/Content.Client/Overlays/ShowHealthIconsSystem.cs @@ -17,6 +17,7 @@ public sealed class ShowHealthIconsSystem : EquipmentHudSystem DamageContainers = new(); public override void Initialize() @@ -24,6 +25,7 @@ public override void Initialize() base.Initialize(); SubscribeLocalEvent(OnGetStatusIconsEvent); + SubscribeLocalEvent(OnHandleState); } protected override void UpdateInternal(RefreshEquipmentHudEvent component) @@ -43,6 +45,11 @@ protected override void DeactivateInternal() DamageContainers.Clear(); } + private void OnHandleState(Entity ent, ref AfterAutoHandleStateEvent args) + { + RefreshOverlay(ent); + } + private void OnGetStatusIconsEvent(Entity entity, ref GetStatusIconsEvent args) { if (!IsActive) diff --git a/Content.Client/Silicons/Borgs/BorgMenu.xaml.cs b/Content.Client/Silicons/Borgs/BorgMenu.xaml.cs index f6a861aa05..b8f0e69c02 100644 --- a/Content.Client/Silicons/Borgs/BorgMenu.xaml.cs +++ b/Content.Client/Silicons/Borgs/BorgMenu.xaml.cs @@ -131,7 +131,8 @@ private void UpdateModulePanel() _modules.Clear(); foreach (var module in chassis.ModuleContainer.ContainedEntities) { - var control = new BorgModuleControl(module, _entity); + var moduleComponent = _entity.GetComponent(module); + var control = new BorgModuleControl(module, _entity, !moduleComponent.DefaultModule); control.RemoveButtonPressed += () => { RemoveModuleButtonPressed?.Invoke(module); diff --git a/Content.Client/Silicons/Borgs/BorgModuleControl.xaml.cs b/Content.Client/Silicons/Borgs/BorgModuleControl.xaml.cs index d5cf05ba63..245425524c 100644 --- a/Content.Client/Silicons/Borgs/BorgModuleControl.xaml.cs +++ b/Content.Client/Silicons/Borgs/BorgModuleControl.xaml.cs @@ -9,7 +9,7 @@ public sealed partial class BorgModuleControl : PanelContainer { public Action? RemoveButtonPressed; - public BorgModuleControl(EntityUid entity, IEntityManager entityManager) + public BorgModuleControl(EntityUid entity, IEntityManager entityManager, bool canRemove) { RobustXamlLoader.Load(this); @@ -20,6 +20,7 @@ public BorgModuleControl(EntityUid entity, IEntityManager entityManager) { RemoveButtonPressed?.Invoke(); }; + RemoveButton.Visible = canRemove; } } diff --git a/Content.Client/Silicons/Borgs/BorgSelectTypeMenu.xaml b/Content.Client/Silicons/Borgs/BorgSelectTypeMenu.xaml new file mode 100644 index 0000000000..f51c2f53fd --- /dev/null +++ b/Content.Client/Silicons/Borgs/BorgSelectTypeMenu.xaml @@ -0,0 +1,43 @@ + + + + + + + + + + + + + + + + + + + diff --git a/Content.Client/Silicons/Borgs/BorgSelectTypeMenu.xaml.cs b/Content.Client/Silicons/Borgs/BorgSelectTypeMenu.xaml.cs new file mode 100644 index 0000000000..e1fbd376b5 --- /dev/null +++ b/Content.Client/Silicons/Borgs/BorgSelectTypeMenu.xaml.cs @@ -0,0 +1,81 @@ +using System.Linq; +using Content.Client.UserInterface.Controls; +using Content.Client.UserInterface.Systems.Guidebook; +using Content.Shared.Guidebook; +using Content.Shared.Silicons.Borgs; +using Content.Shared.Silicons.Borgs.Components; +using Robust.Client.AutoGenerated; +using Robust.Client.UserInterface.Controls; +using Robust.Client.UserInterface.XAML; +using Robust.Shared.Prototypes; + +namespace Content.Client.Silicons.Borgs; + +/// +/// Menu used by borgs to select their type. +/// +/// +/// +[GenerateTypedNameReferences] +public sealed partial class BorgSelectTypeMenu : FancyWindow +{ + [Dependency] private readonly IPrototypeManager _prototypeManager = default!; + + private BorgTypePrototype? _selectedBorgType; + + public event Action>? ConfirmedBorgType; + + [ValidatePrototypeId] + private static readonly List> GuidebookEntries = new() { "Cyborgs", "Robotics" }; + + public BorgSelectTypeMenu() + { + RobustXamlLoader.Load(this); + IoCManager.InjectDependencies(this); + + var group = new ButtonGroup(); + foreach (var borgType in _prototypeManager.EnumeratePrototypes().OrderBy(PrototypeName)) + { + var button = new Button + { + Text = PrototypeName(borgType), + Group = group, + }; + button.OnPressed += _ => + { + _selectedBorgType = borgType; + UpdateInformation(borgType); + }; + SelectionsContainer.AddChild(button); + } + + ConfirmTypeButton.OnPressed += ConfirmButtonPressed; + HelpGuidebookIds = GuidebookEntries; + } + + private void UpdateInformation(BorgTypePrototype prototype) + { + _selectedBorgType = prototype; + + InfoContents.Visible = true; + InfoPlaceholder.Visible = false; + ConfirmTypeButton.Disabled = false; + + NameLabel.Text = PrototypeName(prototype); + DescriptionLabel.Text = Loc.GetString($"borg-type-{prototype.ID}-desc"); + ChassisView.SetPrototype(prototype.DummyPrototype); + } + + private void ConfirmButtonPressed(BaseButton.ButtonEventArgs obj) + { + if (_selectedBorgType == null) + return; + + ConfirmedBorgType?.Invoke(_selectedBorgType); + } + + private static string PrototypeName(BorgTypePrototype prototype) + { + return Loc.GetString($"borg-type-{prototype.ID}-name"); + } +} diff --git a/Content.Client/Silicons/Borgs/BorgSelectTypeUserInterface.cs b/Content.Client/Silicons/Borgs/BorgSelectTypeUserInterface.cs new file mode 100644 index 0000000000..8c76fade8c --- /dev/null +++ b/Content.Client/Silicons/Borgs/BorgSelectTypeUserInterface.cs @@ -0,0 +1,30 @@ +using Content.Shared.Silicons.Borgs.Components; +using JetBrains.Annotations; +using Robust.Client.UserInterface; + +namespace Content.Client.Silicons.Borgs; + +/// +/// User interface used by borgs to select their type. +/// +/// +/// +/// +[UsedImplicitly] +public sealed class BorgSelectTypeUserInterface : BoundUserInterface +{ + [ViewVariables] + private BorgSelectTypeMenu? _menu; + + public BorgSelectTypeUserInterface(EntityUid owner, Enum uiKey) : base(owner, uiKey) + { + } + + protected override void Open() + { + base.Open(); + + _menu = this.CreateWindow(); + _menu.ConfirmedBorgType += prototype => SendMessage(new BorgSelectTypeMessage(prototype)); + } +} diff --git a/Content.Client/Silicons/Borgs/BorgSwitchableTypeSystem.cs b/Content.Client/Silicons/Borgs/BorgSwitchableTypeSystem.cs new file mode 100644 index 0000000000..346dc5c276 --- /dev/null +++ b/Content.Client/Silicons/Borgs/BorgSwitchableTypeSystem.cs @@ -0,0 +1,81 @@ +using Content.Shared.Movement.Components; +using Content.Shared.Silicons.Borgs; +using Content.Shared.Silicons.Borgs.Components; +using Robust.Client.GameObjects; + +namespace Content.Client.Silicons.Borgs; + +/// +/// Client side logic for borg type switching. Sets up primarily client-side visual information. +/// +/// +/// +public sealed class BorgSwitchableTypeSystem : SharedBorgSwitchableTypeSystem +{ + [Dependency] private readonly BorgSystem _borgSystem = default!; + [Dependency] private readonly AppearanceSystem _appearance = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(AfterStateHandler); + SubscribeLocalEvent(OnComponentStartup); + } + + private void OnComponentStartup(Entity ent, ref ComponentStartup args) + { + UpdateEntityAppearance(ent); + } + + private void AfterStateHandler(Entity ent, ref AfterAutoHandleStateEvent args) + { + UpdateEntityAppearance(ent); + } + + protected override void UpdateEntityAppearance( + Entity entity, + BorgTypePrototype prototype) + { + if (TryComp(entity, out SpriteComponent? sprite)) + { + sprite.LayerSetState(BorgVisualLayers.Body, prototype.SpriteBodyState); + sprite.LayerSetState(BorgVisualLayers.LightStatus, prototype.SpriteToggleLightState); + } + + if (TryComp(entity, out BorgChassisComponent? chassis)) + { + _borgSystem.SetMindStates( + (entity.Owner, chassis), + prototype.SpriteHasMindState, + prototype.SpriteNoMindState); + + if (TryComp(entity, out AppearanceComponent? appearance)) + { + // Queue update so state changes apply. + _appearance.QueueUpdate(entity, appearance); + } + } + + if (prototype.SpriteBodyMovementState is { } movementState) + { + var spriteMovement = EnsureComp(entity); + spriteMovement.NoMovementLayers.Clear(); + spriteMovement.NoMovementLayers["movement"] = new PrototypeLayerData + { + State = prototype.SpriteBodyState, + }; + spriteMovement.MovementLayers.Clear(); + spriteMovement.MovementLayers["movement"] = new PrototypeLayerData + { + State = movementState, + }; + } + else + { + RemComp(entity); + } + + base.UpdateEntityAppearance(entity, prototype); + } +} diff --git a/Content.Client/Silicons/Borgs/BorgSystem.cs b/Content.Client/Silicons/Borgs/BorgSystem.cs index e92ce5cc77..387a56384e 100644 --- a/Content.Client/Silicons/Borgs/BorgSystem.cs +++ b/Content.Client/Silicons/Borgs/BorgSystem.cs @@ -92,4 +92,18 @@ private void OnMMIAppearanceChanged(EntityUid uid, MMIComponent component, ref A sprite.LayerSetState(MMIVisualLayers.Base, state); } } + + /// + /// Sets the sprite states used for the borg "is there a mind or not" indication. + /// + /// The entity and component to modify. + /// The state to use if the borg has a mind. + /// The state to use if the borg has no mind. + /// + /// + public void SetMindStates(Entity borg, string hasMindState, string noMindState) + { + borg.Comp.HasMindState = hasMindState; + borg.Comp.NoMindState = noMindState; + } } diff --git a/Content.Server/Silicons/Borgs/BorgSwitchableTypeSystem.cs b/Content.Server/Silicons/Borgs/BorgSwitchableTypeSystem.cs new file mode 100644 index 0000000000..d1a32a6a5b --- /dev/null +++ b/Content.Server/Silicons/Borgs/BorgSwitchableTypeSystem.cs @@ -0,0 +1,82 @@ +using Content.Server.Inventory; +using Content.Server.Radio.Components; +using Content.Shared.Inventory; +using Content.Shared.Silicons.Borgs; +using Content.Shared.Silicons.Borgs.Components; +using Robust.Shared.Prototypes; +using Robust.Shared.Utility; + +namespace Content.Server.Silicons.Borgs; + +/// +/// Server-side logic for borg type switching. Handles more heavyweight and server-specific switching logic. +/// +public sealed class BorgSwitchableTypeSystem : SharedBorgSwitchableTypeSystem +{ + [Dependency] private readonly BorgSystem _borgSystem = default!; + [Dependency] private readonly ServerInventorySystem _inventorySystem = default!; + + protected override void SelectBorgModule(Entity ent, ProtoId borgType) + { + var prototype = Prototypes.Index(borgType); + + // Assign radio channels + string[] radioChannels = [.. ent.Comp.InherentRadioChannels, .. prototype.RadioChannels]; + if (TryComp(ent, out IntrinsicRadioTransmitterComponent? transmitter)) + transmitter.Channels = [.. radioChannels]; + + if (TryComp(ent, out ActiveRadioComponent? activeRadio)) + activeRadio.Channels = [.. radioChannels]; + + // Borg transponder for the robotics console + if (TryComp(ent, out BorgTransponderComponent? transponder)) + { + _borgSystem.SetTransponderSprite( + (ent.Owner, transponder), + new SpriteSpecifier.Rsi(new ResPath("Mobs/Silicon/chassis.rsi"), prototype.SpriteBodyState)); + + _borgSystem.SetTransponderName( + (ent.Owner, transponder), + Loc.GetString($"borg-type-{borgType}-transponder")); + } + + // Configure modules + if (TryComp(ent, out BorgChassisComponent? chassis)) + { + var chassisEnt = (ent.Owner, chassis); + _borgSystem.SetMaxModules( + chassisEnt, + prototype.ExtraModuleCount + prototype.DefaultModules.Length); + + _borgSystem.SetModuleWhitelist(chassisEnt, prototype.ModuleWhitelist); + + foreach (var module in prototype.DefaultModules) + { + var moduleEntity = Spawn(module); + var borgModule = Comp(moduleEntity); + _borgSystem.SetBorgModuleDefault((moduleEntity, borgModule), true); + _borgSystem.InsertModule(chassisEnt, moduleEntity); + } + } + + // Configure special components + if (Prototypes.TryIndex(ent.Comp.SelectedBorgType, out var previousPrototype)) + { + if (previousPrototype.AddComponents is { } removeComponents) + EntityManager.RemoveComponents(ent, removeComponents); + } + + if (prototype.AddComponents is { } addComponents) + { + EntityManager.AddComponents(ent, addComponents); + } + + // Configure inventory template (used for hat spacing) + if (TryComp(ent, out InventoryComponent? inventory)) + { + _inventorySystem.SetTemplateId((ent.Owner, inventory), prototype.InventoryTemplateId); + } + + base.SelectBorgModule(ent, borgType); + } +} diff --git a/Content.Server/Silicons/Borgs/BorgSystem.Modules.cs b/Content.Server/Silicons/Borgs/BorgSystem.Modules.cs index d5a429db03..f95a580736 100644 --- a/Content.Server/Silicons/Borgs/BorgSystem.Modules.cs +++ b/Content.Server/Silicons/Borgs/BorgSystem.Modules.cs @@ -2,6 +2,7 @@ using Content.Shared.Hands.Components; using Content.Shared.Interaction.Components; using Content.Shared.Silicons.Borgs.Components; +using Content.Shared.Whitelist; using Robust.Shared.Containers; namespace Content.Server.Silicons.Borgs; @@ -300,6 +301,24 @@ public bool CanInsertModule(EntityUid uid, EntityUid module, BorgChassisComponen return true; } + /// + /// Check if a module can be removed from a borg. + /// + /// The borg that the module is being removed from. + /// The module to remove from the borg. + /// The user attempting to remove the module. + /// True if the module can be removed. + public bool CanRemoveModule( + Entity borg, + Entity module, + EntityUid? user = null) + { + if (module.Comp.DefaultModule) + return false; + + return true; + } + /// /// Installs and activates all modules currently inside the borg's module container /// @@ -369,4 +388,24 @@ public void UninstallModule(EntityUid uid, EntityUid module, BorgChassisComponen var ev = new BorgModuleUninstalledEvent(uid); RaiseLocalEvent(module, ref ev); } + + /// + /// Sets . + /// + /// The borg to modify. + /// The new max module count. + public void SetMaxModules(Entity ent, int maxModules) + { + ent.Comp.MaxModules = maxModules; + } + + /// + /// Sets . + /// + /// The borg to modify. + /// The new module whitelist. + public void SetModuleWhitelist(Entity ent, EntityWhitelist? whitelist) + { + ent.Comp.ModuleWhitelist = whitelist; + } } diff --git a/Content.Server/Silicons/Borgs/BorgSystem.Transponder.cs b/Content.Server/Silicons/Borgs/BorgSystem.Transponder.cs index 781f847be3..b4ba140044 100644 --- a/Content.Server/Silicons/Borgs/BorgSystem.Transponder.cs +++ b/Content.Server/Silicons/Borgs/BorgSystem.Transponder.cs @@ -8,6 +8,7 @@ using Content.Server.DeviceNetwork.Components; using Content.Server.DeviceNetwork.Systems; using Content.Server.Explosion.Components; +using Robust.Shared.Utility; namespace Content.Server.Silicons.Borgs; @@ -134,4 +135,20 @@ private bool CheckEmagged(EntityUid uid, string name) return false; } + + /// + /// Sets . + /// + public void SetTransponderSprite(Entity ent, SpriteSpecifier sprite) + { + ent.Comp.Sprite = sprite; + } + + /// + /// Sets . + /// + public void SetTransponderName(Entity ent, string name) + { + ent.Comp.Name = name; + } } diff --git a/Content.Server/Silicons/Borgs/BorgSystem.Ui.cs b/Content.Server/Silicons/Borgs/BorgSystem.Ui.cs index d0e9f80e36..40c2c3bf33 100644 --- a/Content.Server/Silicons/Borgs/BorgSystem.Ui.cs +++ b/Content.Server/Silicons/Borgs/BorgSystem.Ui.cs @@ -82,6 +82,9 @@ private void OnRemoveModuleBuiMessage(EntityUid uid, BorgChassisComponent compon if (!component.ModuleContainer.Contains(module)) return; + if (!CanRemoveModule((uid, component), (module, Comp(module)), args.Actor)) + return; + _adminLog.Add(LogType.Action, LogImpact.Medium, $"{ToPrettyString(args.Actor):player} removed module {ToPrettyString(module)} from borg {ToPrettyString(uid)}"); _container.Remove(module, component.ModuleContainer); diff --git a/Content.Server/Silicons/Borgs/BorgSystem.cs b/Content.Server/Silicons/Borgs/BorgSystem.cs index bd85282a0f..ff204bfa8c 100644 --- a/Content.Server/Silicons/Borgs/BorgSystem.cs +++ b/Content.Server/Silicons/Borgs/BorgSystem.cs @@ -129,7 +129,7 @@ private void OnChassisInteractUsing(EntityUid uid, BorgChassisComponent componen if (module != null && CanInsertModule(uid, used, component, module, args.User)) { - _container.Insert(used, component.ModuleContainer); + InsertModule((uid, component), used); _adminLog.Add(LogType.Action, LogImpact.Low, $"{ToPrettyString(args.User):player} installed module {ToPrettyString(used)} into borg {ToPrettyString(uid)}"); args.Handled = true; @@ -137,6 +137,19 @@ private void OnChassisInteractUsing(EntityUid uid, BorgChassisComponent componen } } + /// + /// Inserts a new module into a borg, the same as if a player inserted it manually. + /// + /// + /// This does not run checks to see if the borg is actually allowed to be inserted, such as whitelists. + /// + /// The borg to insert into. + /// The module to insert. + public void InsertModule(Entity ent, EntityUid module) + { + _container.Insert(module, ent.Comp.ModuleContainer); + } + // todo: consider transferring over the ghost role? managing that might suck. protected override void OnInserted(EntityUid uid, BorgChassisComponent component, EntInsertedIntoContainerMessage args) { diff --git a/Content.Shared/Interaction/InteractionPopupSystem.cs b/Content.Shared/Interaction/InteractionPopupSystem.cs index 20c079dfd8..8df0035fc9 100644 --- a/Content.Shared/Interaction/InteractionPopupSystem.cs +++ b/Content.Shared/Interaction/InteractionPopupSystem.cs @@ -159,4 +159,26 @@ private void SharedInteract( _audio.PlayEntity(sfx, Filter.Empty().FromEntities(target), target, false); } } + + /// + /// Sets . + /// + /// + /// This field is not networked automatically, so this method must be called on both sides of the network. + /// + public void SetInteractSuccessString(Entity ent, string str) + { + ent.Comp.InteractSuccessString = str; + } + + /// + /// Sets . + /// + /// + /// This field is not networked automatically, so this method must be called on both sides of the network. + /// + public void SetInteractFailureString(Entity ent, string str) + { + ent.Comp.InteractFailureString = str; + } } diff --git a/Content.Shared/Inventory/InventoryComponent.cs b/Content.Shared/Inventory/InventoryComponent.cs index 629cf1169c..61e0114ff2 100644 --- a/Content.Shared/Inventory/InventoryComponent.cs +++ b/Content.Shared/Inventory/InventoryComponent.cs @@ -7,10 +7,12 @@ namespace Content.Shared.Inventory; [RegisterComponent, NetworkedComponent] [Access(typeof(InventorySystem))] +[AutoGenerateComponentState(true)] public sealed partial class InventoryComponent : Component { [DataField("templateId", customTypeSerializer: typeof(PrototypeIdSerializer))] - public string TemplateId { get; private set; } = "human"; + [AutoNetworkedField] + public string TemplateId { get; set; } = "human"; [DataField("speciesId")] public string? SpeciesId { get; set; } @@ -32,3 +34,9 @@ public sealed partial class InventoryComponent : Component [DataField] public Dictionary MaleDisplacements = new(); } + +/// +/// Raised if the of an inventory changed. +/// +[ByRefEvent] +public struct InventoryTemplateUpdated; diff --git a/Content.Shared/Inventory/InventorySystem.Slots.cs b/Content.Shared/Inventory/InventorySystem.Slots.cs index 2522dd5d0a..04d58c1cd5 100644 --- a/Content.Shared/Inventory/InventorySystem.Slots.cs +++ b/Content.Shared/Inventory/InventorySystem.Slots.cs @@ -1,4 +1,5 @@ using System.Diagnostics.CodeAnalysis; +using System.Linq; using Content.Shared.Inventory.Events; using Content.Shared.Storage; using Robust.Shared.Containers; @@ -19,6 +20,8 @@ private void InitializeSlots() _vvm.GetTypeHandler() .AddHandler(HandleViewVariablesSlots, ListViewVariablesSlots); + + SubscribeLocalEvent(AfterAutoState); } private void ShutdownSlots() @@ -68,6 +71,27 @@ protected virtual void OnInit(EntityUid uid, InventoryComponent component, Compo } } + private void AfterAutoState(Entity ent, ref AfterAutoHandleStateEvent args) + { + UpdateInventoryTemplate(ent); + } + + protected virtual void UpdateInventoryTemplate(Entity ent) + { + if (ent.Comp.LifeStage < ComponentLifeStage.Initialized) + return; + + if (!_prototypeManager.TryIndex(ent.Comp.TemplateId, out InventoryTemplatePrototype? invTemplate)) + return; + + DebugTools.Assert(ent.Comp.Slots.Length == invTemplate.Slots.Length); + + ent.Comp.Slots = invTemplate.Slots; + + var ev = new InventoryTemplateUpdated(); + RaiseLocalEvent(ent, ref ev); + } + private void OnOpenSlotStorage(OpenSlotStorageNetworkMessage ev, EntitySessionEventArgs args) { if (args.SenderSession.AttachedEntity is not { Valid: true } uid) @@ -170,6 +194,31 @@ private IEnumerable ListViewVariablesSlots(EntityUid uid, InventoryCompo } } + /// + /// Change the inventory template ID an entity is using. The new template must be compatible. + /// + /// + /// + /// For an inventory template to be compatible with another, it must have exactly the same slot names. + /// All other changes are rejected. + /// + /// + /// The entity to update. + /// The ID of the new inventory template prototype. + /// + /// Thrown if the new template is not compatible with the existing one. + /// + public void SetTemplateId(Entity ent, ProtoId newTemplate) + { + var newPrototype = _prototypeManager.Index(newTemplate); + + if (!newPrototype.Slots.Select(x => x.Name).SequenceEqual(ent.Comp.Slots.Select(x => x.Name))) + throw new ArgumentException("Incompatible inventory template!"); + + ent.Comp.TemplateId = newTemplate; + Dirty(ent); + } + /// /// Enumerator for iterating over an inventory's slot containers. Also has methods that skip empty containers. /// It should be safe to add or remove items while enumerating. diff --git a/Content.Shared/Overlays/ShowHealthBarsComponent.cs b/Content.Shared/Overlays/ShowHealthBarsComponent.cs index cb4f0fe7dd..3f27885db1 100644 --- a/Content.Shared/Overlays/ShowHealthBarsComponent.cs +++ b/Content.Shared/Overlays/ShowHealthBarsComponent.cs @@ -9,12 +9,14 @@ namespace Content.Shared.Overlays; /// This component allows you to see health bars above damageable mobs. /// [RegisterComponent, NetworkedComponent] +[AutoGenerateComponentState(true)] public sealed partial class ShowHealthBarsComponent : Component { /// /// Displays health bars of the damage containers. /// [DataField] + [AutoNetworkedField] public List> DamageContainers = new() { "Biological" diff --git a/Content.Shared/Overlays/ShowHealthIconsComponent.cs b/Content.Shared/Overlays/ShowHealthIconsComponent.cs index aa12c9887a..bc8b5419d2 100644 --- a/Content.Shared/Overlays/ShowHealthIconsComponent.cs +++ b/Content.Shared/Overlays/ShowHealthIconsComponent.cs @@ -8,12 +8,14 @@ namespace Content.Shared.Overlays; /// This component allows you to see health status icons above damageable mobs. /// [RegisterComponent, NetworkedComponent] +[AutoGenerateComponentState(true)] public sealed partial class ShowHealthIconsComponent : Component { /// /// Displays health status icons of the damage containers. /// [DataField] + [AutoNetworkedField] public List> DamageContainers = new() { "Biological" diff --git a/Content.Shared/Silicons/Borgs/BorgTypePrototype.cs b/Content.Shared/Silicons/Borgs/BorgTypePrototype.cs new file mode 100644 index 0000000000..6154c12757 --- /dev/null +++ b/Content.Shared/Silicons/Borgs/BorgTypePrototype.cs @@ -0,0 +1,155 @@ +using Content.Shared.Interaction.Components; +using Content.Shared.Inventory; +using Content.Shared.Radio; +using Content.Shared.Silicons.Borgs.Components; +using Content.Shared.Whitelist; +using Robust.Shared.Audio; +using Robust.Shared.Prototypes; + +namespace Content.Shared.Silicons.Borgs; + +/// +/// Information for a borg type that can be selected by . +/// +/// +[Prototype] +public sealed partial class BorgTypePrototype : IPrototype +{ + [ValidatePrototypeId] + private static readonly ProtoId DefaultFootsteps = new("FootstepBorg"); + + [IdDataField] + public required string ID { get; init; } + + // + // Description info (name/desc) is configured via localization strings directly. + // + + /// + /// The prototype displayed in the selection menu for this type. + /// + [DataField] + public required EntProtoId DummyPrototype { get; init; } + + // + // Functional information + // + + /// + /// The amount of free module slots this borg type has. + /// + /// + /// This count is on top of the modules specified in . + /// + /// + [DataField] + public int ExtraModuleCount { get; set; } = 0; + + /// + /// The whitelist for borg modules that can be inserted into this borg type. + /// + /// + [DataField] + public EntityWhitelist? ModuleWhitelist { get; set; } + + /// + /// Inventory template used by this borg. + /// + /// + /// This template must be compatible with the normal borg templates, + /// so in practice it can only be used to differentiate the visual position of the slots on the character sprites. + /// + /// + [DataField] + public ProtoId InventoryTemplateId { get; set; } = "borgShort"; + + /// + /// Radio channels that this borg will gain access to from this module. + /// + /// + /// These channels are provided on top of the ones specified in + /// . + /// + [DataField] + public ProtoId[] RadioChannels = []; + + /// + /// Borg module types that are always available to borgs of this type. + /// + /// + /// These modules still work like modules, although they cannot be removed from the borg. + /// + /// + [DataField] + public EntProtoId[] DefaultModules = []; + + /// + /// Additional components to add to the borg entity when this type is selected. + /// + [DataField] + public ComponentRegistry? AddComponents { get; set; } + + // + // Visual information + // + + /// + /// The sprite state for the main borg body. + /// + [DataField] + public string SpriteBodyState { get; set; } = "robot"; + + /// + /// An optional movement sprite state for the main borg body. + /// + [DataField] + public string? SpriteBodyMovementState { get; set; } + + /// + /// Sprite state used to indicate that the borg has a mind in it. + /// + /// + [DataField] + public string SpriteHasMindState { get; set; } = "robot_e"; + + /// + /// Sprite state used to indicate that the borg has no mind in it. + /// + /// + [DataField] + public string SpriteNoMindState { get; set; } = "robot_e_r"; + + /// + /// Sprite state used when the borg's flashlight is on. + /// + [DataField] + public string SpriteToggleLightState { get; set; } = "robot_l"; + + // + // Minor information + // + + /// + /// String to use on petting success. + /// + /// + [DataField] + public string PetSuccessString { get; set; } = "petting-success-generic-cyborg"; + + /// + /// String to use on petting failure. + /// + /// + [DataField] + public string PetFailureString { get; set; } = "petting-failure-generic-cyborg"; + + // + // Sounds + // + + /// + /// Sound specifier for footstep sounds created by this borg. + /// + [DataField] + public SoundSpecifier FootstepCollection { get; set; } = new SoundCollectionSpecifier(DefaultFootsteps); +} diff --git a/Content.Shared/Silicons/Borgs/Components/BorgChassisComponent.cs b/Content.Shared/Silicons/Borgs/Components/BorgChassisComponent.cs index de0fe0bce3..c2bf2b2801 100644 --- a/Content.Shared/Silicons/Borgs/Components/BorgChassisComponent.cs +++ b/Content.Shared/Silicons/Borgs/Components/BorgChassisComponent.cs @@ -89,5 +89,18 @@ public enum BorgVisuals : byte [Serializable, NetSerializable] public enum BorgVisualLayers : byte { - Light + /// + /// Main borg body layer. + /// + Body, + + /// + /// Layer for the borg's mind state. + /// + Light, + + /// + /// Layer for the borg flashlight status. + /// + LightStatus, } diff --git a/Content.Shared/Silicons/Borgs/Components/BorgModuleComponent.cs b/Content.Shared/Silicons/Borgs/Components/BorgModuleComponent.cs index a7523c1ce7..e542a1e3e3 100644 --- a/Content.Shared/Silicons/Borgs/Components/BorgModuleComponent.cs +++ b/Content.Shared/Silicons/Borgs/Components/BorgModuleComponent.cs @@ -7,6 +7,7 @@ namespace Content.Shared.Silicons.Borgs.Components; /// to give them unique abilities and attributes. ///

      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 delta 984 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 WGcEpDY{*kkaqsEs=d#Wzp$PyB;x1tT delta 986 zcmV<0110>N5by_(B!7cxLqkwWLqi}?a&Km7Y-IodD9@FVODIH99L9exB8@D}LbAAv zp%f(~OAV1Sr7_BD;oduDM$NsZdq*~w%2ru;Y`hjW)@&_ol~Nuh8(S-4BVGSg4zrf+)%1YvLig$&>R>nvQp9y!lazWt-rJDtQRh$l3Q<-5m z5g!%~3+w4JHp|$`xVCV=a3pCvlCRAaIH`DDv7KGDiuY763@tg+Q%aZF#u($om_)~9 zm1VNz>6Xm2~SmGFA1sfyqqyFG`w_d8Rw~!QyLhZBfzqdo( zHhgdS{@0Q3e;-5j6I?na|H>f@eu%zR(jo`Yv;pT=CC%J{i%n>G%o(l`NYyg6R0`fs z<(p=q`34&13%wQhIk|^~bTx4ed;8Flmh6QJ@2)TJ?SIcRL4QPl0ATWRp!eh8R{#J2 z32;bRa{vGqBme*wBmtWh#uNYm0uxC@K~#8N?VCMI13?gmH#T+>?^5%seo>n-7-o zlHJVAZhvB(PDfy3+cTYo#GJ4#OIY@_u)69}t=@_3e)06On4gqS4B?|$&%-bf6QE>a z13<~b27rc!R;wk$6rnPpR(tA&DMDjFz40bB9-oq73f==i(McuerMBDOGE5PwZ$LV| z+zV5LZV9-luu6wbz};3WV`7B&EsEXE8lUFZA7m;o5Iz8{Pk;H~pj?H>ks4*>mlymh{+{lkDU z12AfRKNvH>be-=P-UC3%!UlknMY|v1p6|mj5ZL_yZ39+U*0d&gc)X9c0hx`>p%bW- zcYjpkQ@y>3wgK7g?7#{7i=JT#Q01x;?UtBIaJ-@DKj<9wUM%=mKz9i&CYQ7(cxgOG zdk;9exITelAdYvp4q=FbwgKbL1;(L!&rcUlg+a-}27r=<4FDwzc>}cb09~;22wno9 zWMKn9$-)MJl7+kh=y?EkLj~Oc?3Nn30aLlX+@BBNUZ!%}>Z+scUaWB2>Vvw-<@2(Z z0lW!b<8>i^0jfjoL3nBt@c;k-07*qo IM6N<$g4q$xyZ`_I diff --git a/Resources/Textures/Structures/Windows/plastitanium_window.rsi/ptwindow5.png b/Resources/Textures/Structures/Windows/plastitanium_window.rsi/ptwindow5.png index a4a28e41bf91b9def90665c6bf27947b3f5f70e4..08d493bb62a3540b6fde8691a47f63eac0e80b3e 100644 GIT binary patch literal 2114 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEU|gH&>>S|f?5q$_l%JNFlghxL zF|l@{p@(#$$npAPT}h(svPLC49AizC44WsL6bdLh^>A%1{ZMpL)v4%bRj0_ojSs?@ zv@YqbEqigx)4FUzUZc~(Z3^f3{B++29r{{Z?zL!D*0ah@(xdkL6w?#EzV@`;SNU&G<}78MtN*b> zGHs@Et7BW~HH{!urR~aIty^mR?>y}P`7iU7hFQVU$;%b;ns;b;X+3R8Upnci#NtDN z$5fN5%+1s9T{-nW;S>Ls>$9TL`1`gg{Mo#ccVFwi=>-*Qe6D|4TGly1clWQaj$xa4 z{>Cr-9eH$K2ix86DhnQ;`CP~E_}t7SYu@+#`=6!Qlk8g0`x!hx9ks{4@u;uIwTEA& zCC;6mtzCX*@#*=;{~Eu}n)|cf$FBB?kJwUEVEpl=MtG+A`Z8z%*&IL&0+)g(14+&T zkH}&M2GM^Y%$RVpfQNyBxgawnq9nrC$0|8LS1&OoKPgqOBDVmn%cjB#$jnVGNmQuF z&B-gas<2f8tFQvHLBje<3ScEA*|tg%z5xo(`9-M;W_kvC21<5Z3JMA~MJZ`kK`w4k z?LeNbQbtKhft9{~d3m{Bxv^e;QM$gNrKP35fswwEkuFe$ZgFK^Nn(X=Ua>O75STeG zsl~}fnFS@8`FRQ;a}$&DOG|8(lt3220mPjt$#8oLN{e#9wxlHMr{<*QrskCt>l^AB z>SNPal9`5ZVO}vbIDi4850U|DGr+3Nv!Eo|1Q=4T6+rhu{RebtGT7eYk`#R;1^Pw? z1{S&oM!H6p`f&dNoo|zpY*mt3l9LJ!IJkenA?TP>f+`A94+?^uOi;*LffJhtNpZ)o^$wy5%BMLy%T&kXOrSKJc}fB*d+6BFYq&mU#7ItR83hJR$^4v_r# zc9x1lQOU(y7X_ zXZR{#rQ%T9JHgViZ^CxIEo;=39e67ba|wLan!qD--cyb-gXhe?+i%q-6+LBde5E4E zxZ_vz;=Z8khFZ2al_#)eeE2wXncCHjLJnOamnF0r?^H842ph>Su>1T%*o4`6nc8NC z%D3|0nH!$?rLe3JR;-L?Q0D}*{4NyTKDYQ#q`dQA$Md`RjTY>Aey!JENX%X6lGXR` zmS=vMdN?^q6bP0 Hl+XkKLPbHr delta 964 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 WGcEpDY{*kkaqsEs=d#Wzp$PyB;x1tT delta 986 zcmV<0110>N5by_(B!7cxLqkwWLqi}?a&Km7Y-IodD9@FVODIH99L9exB8@D}LbAAv zp%f(~OAV1Sr7_BD;oduDM$NsZdq*~w%2ru;Y`hjW)@&_ol~Nuh8(S-4BVGSg4zrf+)%1YvLig$&>R>nvQp9y!lazWt-rJDtQRh$l3Q<-5m z5g!%~3+w4JHp|$`xVCV=a3pCvlCRAaIH`DDv7KGDiuY763@tg+Q%aZF#u($om_)~9 zm1VNz>6Xm2~SmGFA1sfyqqyFG`w_d8Rw~!QyLhZBfzqdo( zHhgdS{@0Q3e;-5j6I?na|H>f@eu%zR(jo`Yv;pT=CC%J{i%n>G%o(l`NYyg6R0`fs z<(p=q`34&13%wQhIk|^~bTx4ed;8Flmh6QJ@2)TJ?SIcRL4QPl0ATWRp!eh8R{#J2 z32;bRa{vGqBme*wBmtWh#uNYm0uxC@K~#8N?VCMI13?gmH#T+>?^5%seo>n-7-o zlHJVAZhvB(PDfy3+cTYo#GJ4#OIY@_u)69}t=@_3e)06On4gqS4B?|$&%-bf6QE>a z13<~b27rc!R;wk$6rnPpR(tA&DMDjFz40bB9-oq73f==i(McuerMBDOGE5PwZ$LV| z+zV5LZV9-luu6wbz};3WV`7B&EsEXE8lUFZA7m;o5Iz8{Pk;H~pj?H>ks4*>mlymh{+{lkDU z12AfRKNvH>be-=P-UC3%!UlknMY|v1p6|mj5ZL_yZ39+U*0d&gc)X9c0hx`>p%bW- zcYjpkQ@y>3wgK7g?7#{7i=JT#Q01x;?UtBIaJ-@DKj<9wUM%=mKz9i&CYQ7(cxgOG zdk;9exITelAdYvp4q=FbwgKbL1;(L!&rcUlg+a-}27r=<4FDwzc>}cb09~;22wno9 zWMKn9$-)MJl7+kh=y?EkLj~Oc?3Nn30aLlX+@BBNUZ!%}>Z+scUaWB2>Vvw-<@2(Z z0lW!b<8>i^0jfjoL3nBt@c;k-07*qo IM6N<$g4q$xyZ`_I diff --git a/Resources/Textures/Structures/Windows/plastitanium_window.rsi/ptwindow7.png b/Resources/Textures/Structures/Windows/plastitanium_window.rsi/ptwindow7.png index cc1f21f692a0fafa1a9a03c74e8f688af389d18e..82b23102f540a05c48e7c525d126c400fb6b99d1 100644 GIT binary patch literal 1668 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEU|g5!>>S|f?5q$_l%JNFlghxL zF|l@{wTDcgNSl4QYp0&3kD^jyi|JIhK<_gK>8LwDwEzdrwbo$CCm(y&J_cX!N!=&+xlevDq}{gns1p+E?~DzPC4D-W6A-{@BOB zm8V(7dyitj_xd^8G+ZBjvaRZ`zwo_(V@DFJyG>-#BQpt6SI?lR3a3dr^DZmj@t^<3 z@vqtc^Ltk5PD^;f^y>QRs3PIMdrrT%uM)f2cs#oxB5+yqub{ne0@RrIe|zdFbfJu^ zKTgz``LE;mwSgIb9#-z(z3?S-%)07(_hZlRz9am({6_|R@xF75{;;NnC4OSrw(VhL z*t?qA^ER{oR@&HXes*hSJfqX2y4}@@;ugRNbs{~eI1!RMS^_3LBN=mYAl_Got6rA&mQWebf4D<|??6?#Z6l{u8(yW49+@RWl zJX@uVl9B=|ef{$Ca=mh6z5JqdeM3u2OML?)eIp}XpbFjM%Dj@q3f;V7Wr!g#b6ir3 zlZ!G7N;32F6hP)CCgqow*eWT3EP?}wJ5!S3_7s#B<$!HTN!CxzNzF~oD=F4D)HBq_ zrmrM34dKGPVrXyx14bVt1Jq`KRhwr)NwNtrq+Bb2?t%Ib=+I=ay~QOd`bY}&jSLJd zbPbGjjV$%y{sTJSCMDUbB(o$Z6&!GI|A0f#F{cDo6r>&$1UZ?YkhRK5%uBabs?beI zO-n4zDN(X3C@Ig(OUW-cu+fJoL)8uuMK#q%ABzKQK;E{B3`#A|&nX23yq%$mu?;vd zP(%??0MQYFRR^*tx{iR1{E~cNk}Aqf_RK3uEh;DiCNHp!Mo{~3t3WpkVR>j?W{Dll z05oAFT}aVmy%Z1mx|$&TyGo}Fj7wP5afhTlyl z^=uc|-qx_)5MT1sxWO#rx$%L03TNjtZgI4p&-jfs^B>Ow-djI;Ht2hNPG`uya4x-} z)^V0Sb4GL7zprc${xh#&T>W3aVlShpgXlIwM%QPD@zfn$)FcBcR6Je%T-G@yGywqb CsAU!a literal 641 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7T#lEU~JBGb`J1#c2)=|%1_J8No8Qr zI6rlww}wlg%&~esrCyygPMdagFBDN#@#dXqwAAoa_QQMDX>MotE~|Don|3NJvLa`X znAx=)-JGdGa;nnN+DXc>|BKVJ)J#vUy!`X)+|RXhKg(X=+dS><)h`WipWOWs5i)<~ z+{>@yR=6v>sOz>peVP=!m{Y6oy!EOpRkzn}`f)$QN3T*WcZteOWqR*pic{$i?`psh!kB`i7Ii4~#b<>lV)2<30Ro44`k?Y^J1NNGF z!7-;J9!Vs!N-KX@{O>{e_PAB+w@(o1a(cV@{r>IFcg*E7kv} z6nW}8_Jv+jV!yD3@p-uF**lHhz8RHgB-aUgTs7Jn!gbH@>Fl(HKiQ<7aqkuVZn?9) zrNp$5xBB;miPPS+a=l-t|NiZHW5;@zdWM8gMGL+^eh?0f70v>W$YKTtF%=MIoGp4x z1Sq(~)5S5QBJS<%jl3-e0tXKHf9MFU=LxGl$hPn!OF+Plyqc{`MaqMwSw63r{C?Nl zp6wR>|NB3R$*)<;5aG?ZVH#6{F6)6Pu7<554B46t*FOD_`|!=~|CD(Q*Mb;usKFxf kg8554SU;xR(w;)b#VbThcP>1$ALw2NPgg&ebxsLQ0OYzB@&Et; diff --git a/Resources/Textures/Structures/Windows/plastitanium_window_diagonal.rsi/meta.json b/Resources/Textures/Structures/Windows/plastitanium_window_diagonal.rsi/meta.json index 769ebe5b39..9c854c61ce 100644 --- a/Resources/Textures/Structures/Windows/plastitanium_window_diagonal.rsi/meta.json +++ b/Resources/Textures/Structures/Windows/plastitanium_window_diagonal.rsi/meta.json @@ -5,7 +5,7 @@ "y": 32 }, "license": "CC-BY-SA-3.0", - "copyright": "Modified from plastitanium_window.rsi by Flareguy for Space Station 14", + "copyright": "Modified from plastitanium_window.rsi by Flareguy for Space Station 14, transparency tweaked by Ubaser.", "states": [ { "name": "state0" diff --git a/Resources/Textures/Structures/Windows/plastitanium_window_diagonal.rsi/state0.png b/Resources/Textures/Structures/Windows/plastitanium_window_diagonal.rsi/state0.png index 7737feb5032c9ac64f42e8805d776a68517bbca9..b25ae0a4a06e4393fd19eb4c032e512e75e9abaa 100644 GIT binary patch literal 1375 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P; zT0k}j5QD&_;K@Lev%n*=n1Mm}4+t}^JN#w_0|RqfW=KRygs+cPa(=E}VoH8es$NBI z0a%w!g%yyQn_7~nP?4LHS8P>bs{~eI1!RMS^_3LBN=mYAl_Got6rA&mQWebf4D<|? z?6?#Z6l{u8(yW49+@RWlJX@uVl9B=|ef{$Ca=mh6z5JqdeM3u2OML?)eIp}XpbFjM z%Dj@q3f;V7Wr!g#b6ir3lZ!G7N;32F6hP)CCgqow*eWT3EP?}wJ5!S3_7s#B<$!HT zN!CxzNzF~oD=F4D)HBq_rmrM34dKGPVrXyx14bVt1Jq`KRhwr)NwNtrq+Bb2?t%Ib z=+I=ay~QOd`bY}&jSLJdbPbGjjV$%y{sTJSCMDUbB(o$Z6&!GI|A0f#F{cDo6r>&$ z1UZ?YkhRK5%uBabs?beIO-n4zDN(XZE6vHV(TAu&)d>+rHPA*Mi`_OLA6rERr55Ms zl!C(C&dAcz1{@A3qKMFk=!n3o16dSZM?gk?Nj@+&6=f!S=9Q!t6%+we7Q{xVeYjPi zn}x7EG%vHn&IoD%nlO?sq?oaCEGj9_FUk%9#{wh>aY{ptfCMK}%7i3)aL@zOy&ad0 zK0FWEah-lG(*ew^6`n4RArYKMryBYlHV|oxy%AU_F4khfHi6 z3n%jFtdZT}sLFRCppfx}_)B)-ImfQ_{bjQ*jH$1`_xp2}&%q7fUK9s(@&EbqdpCD+ZOWhP-t;>d)m&L)q=hj-6xG6G&5&hn`3G|sbT@|yIrz}cP7NTb9Xc2*WeQjIQ<&ZCPi#WO8w^edh?3@BJ8R7Z- ztl9DDoGkor-&$Fe-1`;(;85u2b@$}B((a%A@^FtSvz>+gt5w_tk5Am-b++W1XXO*=iX7h}XOKx(n@Hy}QwF zf9RACHHPpJ18NBR2Qe4|ibhZoFc<;~L4yJbUm?mgNDxIA4NT&DcWrka9ZpSb(suW} zzvuUSKYjO7ds}mj`+m2}<*I3kMmpd(V!kJgho5?1-*51%Lhoo^;M#e-?lOF+Og6+C zT&`VftB3fz;q$~ybcybARZlbD6|UDe*ScKpD{{Qc=!z|31vTyEMKuAuxpW4iU9Ql) zT!t5x0Ru^Zq^yKJ*Y+OpAhH6<;)8KxtY^5J5ahNxp>D%P@{IG$RZ}WwXY;&di&&=mbwYM8z6gyD!6Q zIxx3F*i%>wgz-FH4{82Fjf_ zfX!l|%IfQ?WMp{_G$i4GjAbj?gr#au<}#iCACs-~%l~z%$2KDWG}Yx-<^P`QVpj^? zypjYWhZP#KAo!cY*tK#_Mq$iG4pGSb`7?(Pb_s8d01?7&lNHR_=q_`XQau(rK;rO) z5$0!J(Ro~|xa7`?&f`+WVZA35+2F{$r4izyj`=%n|Dbfj>mT6!G)>VVY^1mp-!A7s zsw*PH9~9kO1r)SmX^cE5qqbx;HOGOiW>>~>N3(X9Erl0A_yj9exP6*W#TzV8;I&nQ z_tS&xD+l2{Inokoh<7y~dS#b#5TCrdrge{d^QuYPzMWE=o3h$1?LNM3>bsj(y|$)` zzc{h>Mt$u!Yi6H(FgQ42`c&cYt+!SV+}uo^j(#0K1+xbF80d*?jn`h41s z&#E#XwVmO|UDsw@ua0Vy>)(v-KmXH@_vGrUJ{Z4l$hdLuz<2KqWYaIdc&XAee#QPX z*PeYZdn9o5aw}RfbZN(_D}$$7D-mYPzP0^d*3EkO?fR-G$8D`XJoCDC5uLwb#n7?$ zr?1}B?_myH-B1^-`tZneo&DSELNhKlPTJ!B`Jt*)72Lq5bNVm+vGnG;6<=(B6&l%k ze#^eD_SyY!e3II8wu8Nk`*qIV^BZ5NII(K(*{l9V(srHiudmuk%|e!9+z*NQ>(34B z)}!2w+6!xut##)rS8jYjxHT?uq~X5Ft;(e4lV5#2E%pq)@XreRC_Ukru;~}`pM{pD Lw#d!}Pd)z^&dvN# diff --git a/Resources/Textures/Structures/Windows/plastitanium_window_diagonal.rsi/state1.png b/Resources/Textures/Structures/Windows/plastitanium_window_diagonal.rsi/state1.png index 834b6261fd325fd9c6cd367f68bb72c7d7f57e0f..7185af8426c5949c3803086b2d527f4749ab56bd 100644 GIT binary patch literal 1343 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}e5nzhX}-P; zT0k}j5QD&_;K@Lev%n*=n1Mm}4+t}^JN#w_0|RqfW=KRygs+cPa(=E}VoH8es$NBI z0a%w!g%yyQn_7~nP?4LHS8P>bs{~eI1!RMS^_3LBN=mYAl_Got6rA&mQWebf4D<|? z?6?#Z6l{u8(yW49+@RWlJX@uVl9B=|ef{$Ca=mh6z5JqdeM3u2OML?)eIp}XpbFjM z%Dj@q3f;V7Wr!g#b6ir3lZ!G7N;32F6hP)CCgqow*eWT3EP?}wJ5!S3_7s#B<$!HT zN!CxzNzF~oD=F4D)HBq_rmrM34dKGPVrXyx14bVt1Jq`KRhwr)NwNtrq+Bb2?t%Ib z=+I=ay~QOd`bY}&jSLJdbPbGjjV$%y{sTJSCMDUbB(o$Z6&!GI|A0f#F{cDo6r>&$ z1UZ?YkhRK5%uBabs?beIO-n4zDN(XZE6vHV(TAu&)d>+rHPA*Mi`_OLA6rERr55Ms zl!C(C&dAcz1{@A3qKMFk=!n3o16dSZM?gk?Nj@+&6=f!S=9Q!t6%+we7Q{xVeYjPi zn}x7EG%vHn&IoD%nlO?sq?oaCEGj9_FUk%9#{wh>aY{ptfCMK}%7i3)aL@zOy&ad0 zK0FWEah-lG(*ew^5uPrNArYKMr)~^nHWYAWJvYkgL7EWH*Ailq+h z^A%883`Q6&NuO;r?uZ{ouh`GLIM|ms@OMKP+IEA*~ zPjjOi4exBXX%w0BD?5nU@<-Wkv;7AwEz}FnrmhqCQ}ClmM8;CRqUcfO-%T@hS)14| zy=U#b`s(D{GWkTVAFtE?+I2TPaA<$%#^>0?-&7oL%i44~r6Ng%qt|fGPuA&Cf`_LT zzh~cmzn<-g#JQBM!X5`1dy3D+$b@Dou=lT?+thtsR<_sU&*TN(FdcCZKX4kwm>kz2$@^tlcS?83{1OPSNz?J|2 literal 3208 zcmcgveQXnD7{4OhWCU20s4WONUbvo8DdD z=Y5{v^Znf0E!|xmbDHmLMi699yfc=BPt>|@ZiIJZWaJ8bc#LF68?yhzg74vCX0|oa ziXd-{&Auiy!1XMxv(G?~*|%Dk2YL4SI}oJ#2RYSi_9m9`qMG*!l9~p-VqSyX2ohRS z)C6%gFwr!~%1YQfapag6m8GzE1(P5WS`-Y(og+Hv8R<%iBdbMD@-B(YX$}>6h>!=S zfEM#P#o&u!uMNz@-xeA7qBe`UI_zz=G@`wUZZxXu0A+juOe6w9G|2f#CK#lH526%7 zGC1MK{RBq&d79v93N3xSP#ubfbSc9pV@pfw;417LFinle@j{{CEBJk?p2bOy<8Xq) zDGGxem@%xFLJ?Dpg$_swCI$>qmo-yX71V+i((0fY_CkvtSMpi~TQN%Uf|0|Ef`*em z!g9@Kl*9_3HmK)p3nUQ-Igkg6X+U1G!mACarfLkRQ$Sa?s}#TxClVDMb#2M#D=G}L zeF(Zyib`E>BQ>l6JP8bSP!~b_5HxdP*&9>NOvbcI+S;kI3l!xkSgjq0)y|rg!VvU= zkLo}$RXwGuxrkE^-Q|Fw(Wsq%^xhS+BB=%Az7Sq3VpTvj7KjNZh)@LO$A|z%(J3;( z(=1QY4-h0z5H1LZvkD=hN^)j+5`lzON2SOhPrxtbMsRUfBft`u1XGw6hMTv7B8hxP z)$@WGk@G?p;F^*R;giG)U!^kmsG3uCXb_0_LwG%M9hsOa4qC<7s))dV2{0;YDfL2| zkadwt#GD*)npsjsS>h*kv2=!|Igr7Egv4Sb2>`~4OaKE6D+yeN(PpJ2174R_P=Xd|WY10Xh(mMIgZ^LzDazDY6pBU`$$+Fd)$c#-%|JBQhK(`bCxo zQoyc(YVop3CE&7V2wdOaj6aYe1e%5ZX6PyXb*yxO)u?$?m*Hp?axMsd7GBM*NNAKFAM2zCpQA^bX8S)Ie(YxPoY(B=+O1pMHn zbuS6Jx2pyFZY=2Dt`?k>Tdv4vgeqyOAy;Iq_q6ju>4C>T5D74h9}b#Yay5UqTm-q^ zm<(SihBXTOP>U^5yHQ81Zz?g@h9l-=#&t%sXO}~T2SB)jnJS+?tySd&3lw;4)#3T{ z@yyr(cuu}29&1hYc6|JF_?8Vs%hHY8U)UIbdDFS#%-M6#g%^yWuUtZWEOY})=DlUSI1>C3nK%#&ZNzjom4mPMXLE0UkgJ9Q!X`nkp{7pU)U zA3u*iG8$jG{MXB#sNO=4okdvlb@uo#ROjfrpF{nF z$JTj~&wl#xiJ4bFUz6UU>*LJm5p5*aKlf;Zrk~m~{QKT-?|yI5*Xl!yn@)Iq`uP0u z`Fnry{Z!*CJ2oymo}do5 bv>o*v^j$q%*nPU)`a2MB?~3hjTeaaYGD7f( diff --git a/Resources/Textures/Structures/Windows/reinforced_plasma_diagonal.rsi/meta.json b/Resources/Textures/Structures/Windows/reinforced_plasma_diagonal.rsi/meta.json index 453a379722..8477687a8c 100644 --- a/Resources/Textures/Structures/Windows/reinforced_plasma_diagonal.rsi/meta.json +++ b/Resources/Textures/Structures/Windows/reinforced_plasma_diagonal.rsi/meta.json @@ -5,7 +5,7 @@ "y": 32 }, "license": "CC-BY-SA-3.0", - "copyright": "Made by brainfood1183 (github)", + "copyright": "Made by brainfood1183 (github), transparency tweaked by Ubaser.", "states": [ { "name": "state0" diff --git a/Resources/Textures/Structures/Windows/reinforced_plasma_diagonal.rsi/state0.png b/Resources/Textures/Structures/Windows/reinforced_plasma_diagonal.rsi/state0.png index 8ad1f325b352c75d7f7b998f9cb704bbdf06410a..9f76902acf6b3a5ddc8b0fbf20bed46d429065aa 100644 GIT binary patch delta 1264 zcmZ2p)5sS%!OzP=1vKsE;ugTSTW$v~2`z$3Dlfk9&y z2s4UXDQ;q5U{0H8B|WiQhcCi6K*2e`C{@8s&p^*$;@7&#D;O;%FJm%K_ADq#HmS%h zaIGk@RmvzSDX`Ml&jgC;#BtJK`q$o4l zGp{7IsGumdBoU(8MjvbfRuz-`xkM-5=Q1=$@~xF)QAv4zQFaK}XCSBAAO{AD^yC%X zX7z`zMSKN@xtynqV@L$&(dpjV!igen%bgd9>xOcr1qJ%#Y+L(i*@D?#E4UA~a+^0r zAKVpI?({l-#RL8i>LR;J9xmcoR5p8?;88WfE|2KhPQGV8TfQ%_QrkE^#!ln@)0&yz z=X~Gu{LGclRTl5&Reso${-I(2?(eDl){DzA{Co1OK87i0|7|{oy815{4R(abE&a9o z6~lw`X>mJFF#i9sVaN5YA`!Rt*J|;0{aj~}kjehzPs)bZ>NW4*Txq!fQKaJ=_w{3C z`TFr|wTcd$?!N6UTk5bS{QK&AN1QG_m0@?w=dt{-_0TVm<3S3y7D^vnduG~qhVUnA zBxMsFwlFJfJ?tb?FH?P6QsAx4omI6-W}Ds5S#Dpvman6XF=8uooX!-tpqCGpzsXpT zt10ld!7RvnLBn*e`?2CIe~QX#mh19G+?raP>z%z^UaO2-&X#LIW?WFU)RaITDyL$cg3u|E$`#p zie5zk4Xg}^d0Vw3t;PM_*6p7s1}of(UU`>E#D2Oz^SU|F(yx^*6Ee5I4bAFrUeI`D z=@T=DZ7i`;uT~zYdm++MrZoM*7q6|dekJZp#ZFfiZnc;oRBw!WeXTSEI0maskib<#A|Q1SvRv4wyZdJ_@17$u~fmgzpv^F z3?mhvH>}rL^IbXRpOT=}hnG8J)}F7vylT7riqE@l=_+J9bXW)_$jwQ#xL3)MM zt(%ASM4tlfP3~De*VuZIm3h-=Cxv&e-+oCsB%EVtFT0jB-J$ltPxp;eZ~dIembu}5 u@!agPZy%DK(;J+vt2<}u{i^!>^qRceAG>9SyFc`U$}dk>KbLh*2~7a(5g;u9 literal 15911 zcmeI3Yj6|S6@V9#0(KH=T&Bh)xT;LjB(U0tp1UK77@O245g1!Brh_S~-Icv#Nh`E# zTbP!RKu9U2G$BC8JQAL1fTV*lPAI`JlaOX`ikZMbdC$-~G^NH6nt%tp^sZ!E^0j=2 zNix$vyQ9}R=bm%!{m#8d`)5}a&-mFR=|4)xFzk_{!h#a;ZP4DMMu1PHzWzVpD=l0& zN5Qa%exSXFVGSF{VHo?N=RAVU>JMXNU#^A%%^)jIp>Z z_^qi4qaij#t#%pnw1kFoPq86ij)(@U$%gZ!&2F$WCdz8JTkMk!G)Y+r(oC31oHnx- zlC{u=-plAt2fv&V!OxZyJky&FNG@ZQs)kvDsH>|p)tOClq>`W*h9O9rplKY8z?Fp| zm5bsbB{v?VFHV7|@DVAjN^;1c#pQf*jp{NQwM6|_@4ABF{zM_AmmQ!;M7c0QnMfj) zlfd`;gli&!*wh4`5CdXR45^yf}F-(WChYDJw^ z3lQ`oP3ft47luWmL{#LO2ro{n1xv|IwR%Fy^hKp8*z%hOY zW7BG(9bOP3F)uA{Ogk`R@^Vn~)wY4h!xn`Ul>^HuDsTgZNdhzDL?0;%JcIlElm+K3 z76;DQd_LUg^U)47=MZS#AKM!P-4iqG4c(U=gigJ18)K&^#=(Gvi^7l#kIyqH*q}r+ zBNAxmTp($TwiW@bg(9sMlJVJbJ0n;FU6akQ>m0OevKe+wcs?JJ zR5#t54N@n0X*UM(f2~q*4=cKDR;$_SBw#h{Q7lEpKzV@#{XZFl?7RGtSkZSG6^f-NfqbM{vXi>+7<^x%ETo4ensN+KOfvh?%2nbr#aiRG@Rvi}v1TE^g(0m}P zjtc^U7Ij=`K9E(%1pz^eIxaLH$g1OlfS^Sk7n%=b)p0>U(4vkD%?GmTxF8^CQOAYm z16g%k5D>Je<3jU+tU4|T2wK!}q4_{o9Tx-yE$XaHx?DW?RYOhL>MUcI^KjK`D?i+A%U<4b zrR>ed*2b$FR%Kx6^1R;zZS&Pdr}yoD`kZ_AmQ7tfzS9>+Pu(Bs%E|sA7~7ru-^m%Z z+YU8~ul)JW5&Mmdj;vQ^cf5HFFWYK8aJ_5uv=PC(b6?*1*=TG}L3Q5RtR3%{);0(y znp-#TZra`1m>G<=R5Hz_<3}yq)v>l>UCnz-Pkb`2Vo{FwK>O>P{Kf63*Vs?2tZlnJ zxnkqlrZnu+oqs)Y_2qlZZ|rS)_C_X__VF9e?;Wa|x%bc~)0s=*h_O6r11ILD4__U>=XTqHi$bIyy3vPD@F1Gu@Yd9CUOE2kk zHTHCFoV4Wa`P7Eyv6ze*(vME8XkF2|X2!&eE-?M&8CyF8otd!&M1nQ3!>e0FiCbLIlWnDto|t!Z^_ZM%xcXFqUx@#5gUZ0wFt;;I+! Sxvf3QT{LY*!MjuEzw|%x_1DV) diff --git a/Resources/Textures/Structures/Windows/reinforced_plasma_diagonal.rsi/state1.png b/Resources/Textures/Structures/Windows/reinforced_plasma_diagonal.rsi/state1.png index e724d3b9f78d115d79ca3ded3230db216cfe4056..0d651dedf6e8fd656889f5362d6dfe8439c31e04 100644 GIT binary patch delta 1257 zcmeCJ`Num!#g?%+$lZxy-8q?;3=9l>sS%!OzP=1vKsE;ugTSTW$v~2`z$3Dlfk9&y z2s4UXDQ;q5U{0H8B|WiQhcCi6K*2e`C{@8s&p^*$;@7&#D;O;%FJm%K_ADq#HmS%h zaIGk@RmvzSDX`Ml&jgC;#BtJK`q$o4l zGp{7IsGumdBoU(8MjvbfRuz-`xkM-5=Q1=$@~xF)QAv4zQFaK}XCSBAAO{AD^yC%X zX7z`zMSKN@xwxl`V@L$&(dpj)!GR*J`q!npG6D=QIH`!e6fyOau(&9oc235^urN!h zxHOIFA1nJm0ikxj-p-GPx&c8vg;D z4=R`6kc+AL^XbY1#{VBSY_KVil4JPy=3Wp}&i?xQd<_3GzPw~D$lvG5|LrQ{fq0!g zMH89-{q)>;Z@Wmut?m1!v>mC5m)Wp|*``uC^sDf`@=U##-)&eI{eAVe^VQ$)+h=vj zeE4+g-0gW*3b$tWE;IjKb?2!JyW9IY#SgN7ew{dPslyg$^QPasBGxglJ0W?w>QF-l zyF*rctA)k4b;k7yw=D0hsx2$r<##S}``Xof9c7FWTbbj|On199^NRn?iw@U=6mBuv zdc195iaQm4N0;Nr*EeVK!h!D5e$L?aw&!Zl%#HDUHpXvfSZrjTR_4XKwfN+g)0UYE zMOAaGCNeLY+bps()Ouo4aIw@0zc)ty?6sQVQdZkIbl=XsqW5rR{db{#za>ttOtwtO ze7<1EtVE_S^dom8ozA)DBF<3 zxyyuQ<$<~vA{}K)(;s~C+-g4OMW2`Mw9k*S3}?>synd}{_2H1i3uOe}&X(Waz9XgL zq`*|A^qgpxb4h0yr?H&-v0t-Z;O!Lg+|+lI`(NE|oXn~*z_<_a5Q*8dm zmC4l?&)ss&+Fq?`*pjZix$JJm+c*C$5;C`+U$L!x_bZ#8D^133UtLzs*?eu)`?>WO z^XD@+*vCiAOP}o3yD`q_!kHM}g|4M?_ug*0xR^0L-$Z)l%8yc(>^lTkG~BOJoZsW} z;=p^ov)kGBl+S(lt+rHd#a$*Nww4ZMMz#lQwttIiKDRH@vij+#8}AQ&uPMqh2`=V~ zxOGz`+&X)kYiSudg(p3Q&f pMMtOb%S#tZf0n=M#d7Ws|C$S?y64`_-w7(XJYD@<);T3K0RWbNBNhMv literal 15885 zcmeI3Yj6|S6@V8?c^Gi0)ABMTvJ#v$j8*CC8V>@7I3tsQ8?2RR@(5@}n zF2s;93~5s!#A!_3m}wJ+S4;<}sY3`!!(&K!wFxD`h6Fl=g6nu1V!+Tq?@G2LU(0ux zBs2Z9JEN7(J@=e*?|1Gw+CRItAb-yIgsBM_hK(BveXzAU~%$gTDBMYZ|GY;7fLc*!Zga?$FXW7U$i(hxf`7up{Hz`6@(Nlq$p_LPpd>1_n8CIwP^;uGiy<8(NZc zssVyNq;V~!;u;^17xI!=k!VYARt2xrI+ z_DW~@c}5of#iHnTgil#PKSE7bR_Ih|9$zSUIWZvp*p9;{(R@d}@!5>bJ1BxO=m@ip zG8U6&+GwRoV;Vuy1QFvTJQMQa6gk0F6ZJuY15GJDNRp<^u|8sE!ahL#aE#2{mzUVN zF@89fc8PuuBRd2SQ_kZ)Z@C?h4#v!koGLm?bc=qlEZ$+T$T4jrDm2#{zy(}+* zWJobd0;viW?kuK!;Ap?XEjYq$gA-YSqoYBsMwiuS<6Sxn!C7@A$@4lJYclJ2la*s^ zF00L~3Gs;(3M#kQb$<%GJ?0d7!&6TosEI!(UtYN?vD;!$KN<*;fyX9TLw1Hb3<-Cyv`VB zg96R-3!t4d?wC2sUO2E9lhtA%ZDvMCxR^4X(FXQn1$|v-;!I^^nTw)Wi>-ezaoh|F zl`ANDuYuB_cJYL5nIbG#^N-;(~ynMHLsC z52RIbK|s)=iVMvL(yF*1AZSs=h2{fkRa_7dw5Z}j^MSM~E(i!(RB@sCKw1?S1OzRr zxX^qct%?f*f)-U=Xg-iu#RUODiz+TOA4sd>f`Fh!6&IQhq*ZZ2K+vL!3(W`8s<$5<^yR}To4ensNzENfwU?v2nbqKaiRG@S``-r1TCt#(0m}RiVFgQ7Lm9TqHm`1 zUhq0<0K9jax?s#P@Xo4+%`J3dSnUi9tA8HDdhdbns~A>AVA!=%@Ve`37&b|KdFkQV z7&iP+UUp`2@Z6z>ne*B+CLejYxqiYM6O*Pc`}L7$x$?xM=>>1<8ww`PKB9NePrFf_ z)m2`4@%dNUl8e$dG)fh-xD zx;Dp@y*4|O`~@%+fjKc$9c|stOwi!7c%g3 zZAU#tO}39mVV4V*2C2Hr(c;|w!|{>pOTRo>bov)JMzmiCj`HqlZ)WaK$zQa=Tzsl~ z@34*4Kic(Tban+;k4d?%}bxQiA*PEEcuMY=m zPU_n3zGU9)-u2wXtN-j;eX>e=XwB2cE0;%N8EZe=`u*D*60nDxm#5S{)A&Vd%jKrJ zj{KxauODxlaTeTrnpUmYbAFoXK;euQzoz!&%b9%LG-~mg+BdfZe>mIePd<0TJ;~H) zd9G#ctv_%4)Z6*S!q&9UTaMk>VO#fv^IyH=q>7@Y-6Jl(@OIv+uBR?<+j8@r&ZapH zoAw&k%*DFej!JWYRsMwhpEfPIbm^<4rJWb#aSV4SseWGi?ytL>D(kP7l55N+tbP8O z2ZnuKdav}^>dSxauD#yA_qWUa+-l~NKx<%3W9x#pu2)<98DpAF_{ooN-@STsS~5Ou y7&iaCo(*01ny!pVJaj4V?5V%6E18Df9fxt$((UVe$6r!j*v`wz&u*Djy6S)8Ho|uR diff --git a/Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/full.png b/Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/full.png index 4cfc4c45da5178cb9fb00132bd47b9570301ad6b..ffb90335d936ae9ca6c0a0287ae2d91308cd7df3 100644 GIT binary patch literal 3504 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 delta 2486 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 delta 2924 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 delta 2924 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 Yzrx(A<|rn?4FCWD07*qoM6N<$f_`^Jng9R* diff --git a/Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/rpwindow5.png b/Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/rpwindow5.png index 8ebeed21a9fceba5d6cd550f7ab6d33888cecb9d..6654332c366a894ea342a298c4a0e2ceb97e5d52 100644 GIT binary patch literal 3021 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 delta 1680 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 Yzrx(A<|rn?4FCWD07*qoM6N<$f_`^Jng9R* diff --git a/Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/rpwindow7.png b/Resources/Textures/Structures/Windows/reinforced_plasma_window.rsi/rpwindow7.png index 4d0ff4bf7318bde3f96e034058039551ad57141a..e140c63e4ff524b62681e16ba770560f8de3cf88 100644 GIT binary patch literal 2262 zcmZ`*3pkYN9{+}s%gN5T?6E5`%|w!!ZwzN+8bTvxT`HVhmM|A)YHrPZbBx>WR8Gjy zMI@I>$3`X-wlrdOL7rAoiB6OaizhY~wM4tlH^Y&7+V^?h+yDFh{{R2`d*A=_d>K0f zybTS^4FCWzr1?+-;n`i?^;W@S1!sRBJR!t^-kyN6-Qp#@`HU4xi}m*h?BKN?+|}(- zP!2rm3w^@G0AO37?g%sTx*7n`7IK0^p-_K6GDE;4#4rVP7D37rYFHF08D8>OPz*-O z~A zWkZmV41)3T@q~Csf{KUYx*(Vx)M!7`N!;|9+?}F+;==LL31f zqxKs^7f2viELI(8xh>|&WGu%KN<>^u6ea^?aalYT9}|_fd0sN#y90rXK zu|z@<{Ja(;F2(z6#K*qg2mdFZ1G$lw9DHP6!CG-WWDgM(FA(hu)?CF39sd%uoI005tl;72sw-0hg=E&ETY}<}3gphiFufU@78NVOxNyhw0%u6EAO{$6uTpe{B?@ zk_>j2L1TB!elvpNp0VY((s9%@MRIe8gwkFnNM6VN)23Yhw-PO%M6SHq`>8l*H!yzsRhfq;Y?8^g z8-yFvZy&PVlu9j$=YJDc3{+O+;*Om}OP-a*?0vLlf>c9B*j$Ui`uU!dRW%sq%=Ezi z*$K?iM|n5(2#0kNaHBnPg$a6dmap%@K;uiRI8CNcu6;Rk1OR-rM1(ouhx(zNX5Q^y zRRI> z(_$$b%8J@7`s~Hz?Hf2k;_yIsT;&A2UX?R_n#ZcvEq(FSXZ3;LvzgPig%k8h2LwRJ z0a@KFdG5pBp>_4_sCr;L&eSCO`LOnXBq_k0cwNc)4K?|I(8n`JQcdam?d1!`psOKw=~W<#n~ zw!3wayvk@kfnW5a4qZ93_by!vDB$;%ZkR1^9X&HNDKA$z5NrVSM)W)o6|a9!7}IDS z7>N(_lkK-R`d5O{`aN1-z6@);xcA-(IbDlB(0SVkNOZ;aO|+@<0U4a4*M0pI#M+sM z`iSs8VLD1!gzG>5R#{m4Ybs#BqiD@wo=48Pw+EVA^Fw-o`rlb-MH$Oj5mishzkZR1 z%4q3YV^{52uCUJBcGJ20{=%tSoyq9Rw>MUwsX49yj+Yh;4xpo_@6`4m(;_=ReSYuw z1E;N#Tknt2wU8Y)y!3&?E=C0WnjOb%SKeEhm7^=Ga(rR6SFOScdekx0_#?HV@bz^v;-LJk2l^LO>n>yS#DIpMVCVpnsv~W(h0GD8aNVF z;1f{Plt2Gu*vbZJR+*Js*I0#`owvH6gv&e4Jt(2+Cv|yQ+i8l6sBEBln(X4axBjC` vUuFA4hriV^93teJ`2)o8Fx9tq?E>P`iNNo%Rwbv@{}eQ@0IJe6`r!Wnpk0a{ delta 888 zcmV-;1Bd+95sn9tBYy)`Nklc)RZTeYZ)dZ(?Lz5ns{gQWkdhbxhwD2J_$Zi z($2FJaBeCy5`siYk)439sXV!X0rn)s@_8TG2>`+*XsZ@~f1||X$Vc&cAAKOe0Dud8 zw{(*-fJ=p2cYiNB3E2s7DGzRx8?WsU@aW=1X{#2}{<9N6qZ;z>Gdf`2*8V@pP5>Dn zn%ZY{00|}$vJ>F>_tBIdg%03wQ+okC`uE^4~&FvZ8D0{}OrnSUqK z0XNbwVDUk-$%z&=kpBga;IDd)Ao`I!z(X>92zPS*C0OQ~A z#EtRVPW(J4!~`($VgMK#U9ewvC~!GqvK!4ICcqajzJXOyH+}MXA5nrJ7cZf9$_5*= zik`=%h(Z7tFQIlC`H;5HjVLjI2Q{ArXRzV2mPm+E&r1;{27skGw_vdZP;Sg>c~{=A z0l>*x0Dr*q=?m-L-AVhG;z@M?8PDM_enjYBgjhPj&-J7OI&1ksxWFYk03C}T(*C7L zq67M>0f0n0;Hhf)7)YW6fcC|Y82w8SZ3e)lKsbMAe*yNJKK5~9?%o@A8f4}00YgoL zM`$aDuW9g_2K$F=8jSHJ=hC40^Xuhc)8HlLaDO>{_8s2RHuh1Bl*9aaz9&H1 zzZA*KVcy<{z?ifg4zy1-Pml{(*@Lmeo!`S|Wy!%1!_W zjd3inSBsjt=|41Z4p- zURyP1BR~8D6CD1c$r&9mi~|#d(4xsG4ou*BaPoR^@_KNxZP6r!4)_Po4zi-ku!6Aw O0000GZx^prw85kJ&QX@Rme0>?TfNTyR27yb#lP4;QGcl)3w343K zt-}}L8=&BvUzDm~re~mMF!5{MCwmr@B%4&^7PwZF*eYd|loVL$>t_PR z^zw_+^@~eV^pOTq*>NerfK5uWRY_(^PAZZZP|l_(CC$n)r)07% zhoodhZjMz>VqUtfQiX0xYFc7xPKlCTT4_$sWPVl|bD%0Dy*Bz-474f9OiQzh3`#A| z&nYd*%+IqkH=4YMOL=l87vJPYE@kt8jQo=P+|-hy%w*5JlGLJtqSTT^utFmneXwS% zDkk@HiB7)HWoVA%Q7gxylJfkb>=3Z0K(4ew4hIzJ$t$?c>h~CM9ARK!n(67{7!tvG zH2i$Fu%k$w+O#mP*i|Nf3ttBMT$n7>l-e3&^Yw+}mHLB|7qD;Th+`4et+=>Y&ZgqC zyv9-kQQJ-ymh)m$wM4Vl8m@g`eb;<$Z29b*O|#!98sBXBx$pbgn)iDZr5*(DGudus zP{CMVU-b2Yf&{~!!rXf21>Jwu6dss!yX;<^vTVN4`Cs2Tetg|~;_MUURkizX*)xTG z6Pswc%VVp4xXPz}8Vny+ZZ`G~v2ja#W_i`l*g{zI{@s)Dj8ki0`)^*bsoCS_K6mBv zW%|!wF=< zGajFO%Cq9lvp>83e|XeXza#QS)0@B#F&q&$=U(P}soib8@Pum3zY`{coI56`JlXPI zsCRGH*}glob}d-&ZpKY9hL|W z75t6oxZTL}$#rIQ_tceBH2xUjrIoe&`>*So=7+a3U%MZy$xyIy*5s580YQ@jCo~`H z<6QA3X{(3lTeTw9s}s4`ym5Z~Wc`$TCg#z%BMz+1+Ldr?qb_4Z`PWpDPE85Le!Qv1C+@vZ9`URIe}>u{ss zs%_UDHoZL-mv=5r)bfCIjOG7eh6jbbDNDOmCNJq|V1HZL(QryHjQiKOC4Op|AIsje z%DiIRd1TjtQ|GjQyzh%%{rArXyZhbeW1Y0Dxu(t0&O6^~1qu#ssS|7XW0*H>Zhe|` uXuFbt=888L*^InDyuF=Wy0holk`MI^$CGCL3+ihHl@Ok;elF{r5}E)C9@$O+ literal 15734 zcmeI3eQ*=U6~NCpfnwt_3yf`I(?Z~Ux3bTcbc*hT zWQV$rDGf~^VUo1O5QjExr!aJgo5l@=I8KUj5~dv}g@#Gfw59DhCQcp7M-r1X-IHud zUdub4CNuqKZ$>)3ef!?q{k?rp_s@N=a`oMLIk)9d6qQ$A=Ba{ro%Z>{O!%#|wqAj^ z*`c!a3Pt7KtbMYmy-&@jDDJpaQ>WH>D>y+86!D^54~k-e5S&d>&gHQXFEj&HR}UJb zpi4h;tWU3#M3=tS;x&3hrJzwNYYl_y*3~saYqQ`G^~>Ek&KL(B1c1uxVgY|p;bJa* z+%E@zYs0i&7oVawyYwYmKwX`;QdcU6fzDE7H3&wlO=oiyF&3N6Y+I&djf{mhnrM^J zz?wL-ku$Tpu}kmHfxnz#(Z^MJ?ivdRC6~TYRYM$2N2AfAsHsQ}H_(j3;h>Ey&9VkK z!=SVTRX%12Dg_BA<9<9q5yDbPmE@pK^UK%E5!I#FYk`v2*uDaxWT2oj#tu@XV|<8a zii~t7BT-1&gd$;od}*RU13w6WpsGMSCZk=bQC4N8QJx}XQaxp0m=muz89U>81A&a8 z6?N4Xh+qt9MoXopB?RaypvaN109I{*TPeu2dsXtKk~6`RrkQf>ASO*=rfCvp@uQH) zkQ45eD-8o)mBTf%>~|+lS>-rFU1@3jROyz~NE=l4#8qI0E=DZ z9X`9ms^vl}Ug#pVF3oRzbYjHx?cmm{9RshID-S9v54Th9al?Tk39ig;wVUe&J1__g z58D?oTMfKPG#OaYWOdkhqmOq$Xp_uSD;sk?9v!;Qym7NwZ?*wmfE)LLDL0-7l;&(w zpfzC$wsYQ}Hb>iw2=`*H7X_05Sc9E0I}G)#*>2!%5HKT{M8@i1MOF~T_maWQq)=s& zmiHDU4O(uh!F>})Q+ba!-Vh&FfYw%A`tiP!?9^~-@^Z%86UPf$%XSM|)dSH$Gb0N8JAfL9_%H0t7D-TzEc+mf%8w;6;K9&j-;G zTnG@nNO0l#AX4T@FKy5=YwboE(8c(#Nx_Hy_pJv@O9KEeD8Fy z|Csjjt4=7Z@={dmS1GD}8%2HeDZCF+RK!S87dOM#U7w_=eEG3WC+?!C8HRFCNlom{ z{yl5HzOZEe!2XtBemMBV!09EUSvkdn*1Smml{3{N9q-n5@9B8(p4?l1G%I)AJB#1R zpSOMZk6+q;x})LJ+7NcTO5wy#|_Fn{=; zAGI5w0raU^Jw4p{?%A((z2V-FO*Jkm-n97TJAbqP6NfWoHw(t`{9$FwigTj`t;2eeVu=L{QT0zOIK`rwl{je?ex7GgN`Ki~6zWbKa(eUikBiSp0tgY?+f6EJ~4RtLu4CuYc(e6+0H%UUm)k6&4)o zh5jz~@4BsW?ZcMNSWk5H(F!g8r9$D`z3<)`Ty$g3G2OD;E1G}&gU$y$XWzQa-f;E# z%V+P_{i62Ie}DDB)g7*$tc`J}yS6UBkiFpa#)I7t9dRGs`o=-GI%Ywymr z**D$4MBmg`HS5+9$BjAH&)@RYCug1=@D>a&ZaO$;(KFXZ*DMgKyKVc*mj34-^U8+L zojCOB0oP{RSKdC?e)!GOdB3mj?cE=_e(6f?)z+Wx*y&D?qT!d$i7 z_QDHucONY;{C;fb;jfi!ZCBg+D%UQ2{&?j07fU{fM4p>b_~pE#S!dK&UcdK3{+5xU soEfjzHeIKr4I8S@Zv9#3r#9;1kq362+?{((do#Lx)oRb-m76>M3mj%}1^@s6 diff --git a/Resources/Textures/Structures/Windows/reinforced_uranium_diagonal.rsi/state1.png b/Resources/Textures/Structures/Windows/reinforced_uranium_diagonal.rsi/state1.png index 3799df51bf9225b991de796f1ca3d2d663373420..a6295e02f87cfdbdb818d6f0eac245b9e0e57445 100644 GIT binary patch delta 1064 zcmX?Kb%kewiV9GZx^prw85kJ&QX@Rme0>?TfNTyR27yb#lP4;QGcl)3w343K zt-}}L8=&BvUzDm~re~mMF!5{MCwmr@B%4&^7PwZF*eYd|loVL$>t_PR z^zw_+^@~eV^pOTq*>NerfK5uWRY_(^PAZZZP|l_(CC$n)r)07% zhoodhZjMz>VqUtfQiX0xYFc7xPKlCTT4_$sWPVl|bD%0Dy*Bz-474f9OiQzh3`#A| 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 A9{>OV diff --git a/Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/full.png b/Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/full.png index 10342c5705897d15d15cec6e6e15d43900b21769..7902a3672bcf78112d2f6461d177f0f151fc07c6 100644 GIT binary patch literal 3028 zcmZ`*2{@E%8y-uRv36vMWX>o{Vi-#r3`1g!eTys^Gb58R!^}5kEM<$7MalN7ti>oIMM{<|?TJeUcN7k>_N0M8 zB2sIe2Xrn^4g})E6J0$34?9}~juNbe#Z&wVTFl^(b(Ap^!CeLu04#(VOd`_|OcUt3 z2ZFm^GsB>ebr&GW1nObu2(h402@nG zg=zm1h7JL6dR(O}ncRH7-H)3nZk?9~;9);Fz~I{2hML-NP555e_xo|vH^$=-01+S& z)`k0ipLGRMB;aT3n*W*vB;uN~2ojcj*aXVd#1jIrbP@nX2GB_)W7vkr&&Uny&jF2L zzu-1ryD`GknLwkE=xdrI_rQ(UW%$YXkN6t^k6!_PH2xdl7)Svq+*+a%acD9?poUPn zb+yj-H{E}G{5#e^+-_tdfc!hazsx_Nes~uIiV83&)F9XOH`oyHKaanK*bwuFy4)!G zb>X>Hj|3aTzJEbTaGkc$0}x1X8odwY>LFZpAeZEf6BWZ2^1eFOD)iIB5uhqbxhFM#vAAIp5G$s zywE(8qeq zq>dK;z`VvJn7H}MeGM2yeEaT?vGwtCKKm)hqwjq9Ut7x9z`U2)SzdwCKUQ{X^i>_* z(Geb_7rSS1nKo$RRiHARo!2Vmbzp9yW_P;`ugIg*SN*Ig`uc{ZxjBh|8Bojc>nWP+ z&n-hZ9rx-0Vu!^lyG^O>_9uD(!EgAFIOX zU^`w%^{iY$O&+b0+8l)04sorm%NIP7)~ObCvowYG@)&o&yP#SuLD=x->LaSU{W@?Qb{rCl^>_Xfl{QCHKOB`+=3m z>fWR%mj}me3!kM)Lz?wtPn({;8~NEh=KYo|5xWz$eX3OqK`g(w*_@#eS=3e%!gH-i z6Z78JkW|hsM(~0xwN#zjE2VRF07dCi6Y-U{W)!0;&yb@{{f-(u26*x^ztnvSeLcOG z9`Q&)V09#3{CR++Q^JzP;I;9GS5>o~*)7CcDGyu1t51u(Xxlp?WqBE@LxUQn<<}Thi_;JJs=l66U1Plg8>9>V?lQ-d;-Cnq4U= zs;i)|*y}bm&oAx%>4ouZRCDE0LDrS5`oRwXA%XcOTeW#p-oP7+x%%ZJR~EZ2%Y;QH z+uv0SmuP3N)^Dvlr}2QDurJfcjvQcwyi_k=N+abby9Rtl!tGXu1)p!M10QoA9!h0 z54wIdej&7aN4%ZUaM%ZwPp9XQ+0ZgFk|g0gdnpe)v=CB-_tZT` zy==Fv&!cP`nruT#a=#77p+L{Fx`ps6sBmC%%=U>vPugPzcuRwXm0Q|*J=D|3+k=-c z9Lk3&i4j{o)!#?C_c(A6UnDN)*Kv?yi!*4R>MuSwM4O()SB(5lEZoxS2U}1K@4%;> zm2BXZh??BO>6?WX`7G>Au-W;U)DLUBGpcITOX~Vd{$aZK$?zU$aYRzhxvrRWK1}we zwmOrJOr!iyMP{!!dc^uYN~xJmfgk)z;&HeO@DYb*dcD_0-S(l`)%(Ik&0Fn==O(T8 zyieCeK}TIw&Muz)qnBou8mY?Wc1!b8Y$jN2>X&B)>wIlE%Wrz9ns6v@-6 z{1vW`ok`+h?!Gmdytz((BK^;FTA6piFdSVY$@t^)18;D1a~!?EQNy`29A&$^1J^=h zDOh>3HJ%U6;`MWF#Eu6Q9!$O4fD)21Pq%O6Xah6TFV$5?{X&&_LW_`og|1+onjY;p zXiutHC@au<$2p8Qt5yuTFCrr zV3@wKtRQxDQ0{HCb29I(GVA0LMZkv97il5Tw=Wrv7e3;UM zwpI(sq*ICt`eHloLsU?+f#!)yrC77F+gsWjKi-D=cc$tbTjm=!SCi_c_1?5i3V38j z77xu*)H24+6g3^PeRAL`XEl}59zGn=p_6#yirO{y_$rTg0L|@MDKBR2j~Z=hzmIM1 G7x#Y$Xch?o delta 2053 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 delta 2355 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 delta 2331 zcmV+$3FP+s8Kx4DB!3BTNLh0L01FcU01FcV0GgZ_000QsNkl1YitzP75?VV z%+Ab?7q9UPdu^|fU9eIc7Gj$fm78Fr#1)SimxLBoph8lpqVS_q)c{gy)CQwgO)E!f zjffK&wKPy_r~nBNHX)YKf(e+|N`NjxYkU2`I9{{f*F5g@2Y;AAMIq|Y87q80ujbBo z=bLlSx%ZxP8N)DOCm4o-^itIhsVn?dJZb98R;`ZdeP7q}|3XG@+mhGD=k z3=G3Sho>{O^JELh5<=EK_o7yvyO^IXc}$Z}2LS*olYh<3Vzx&eFxDsDp%?;zrjCJ| zK|l$MqyhhxJTc_Er2xPm+7GhZ7am9gz_|aIDQerN001DWvY#FbW6!$Aq`#xsjr0@; z7eqKABaJ$}=bTcYV#FBYbTY*0Bv=(S($DB@go`m|sqMFb1^Fm^Pe$36Y(`O1e4zLW z#RoF8xqrehw{1N_03ZP%XU~J(?zIKY(c3NncV*1z|E(kWA$svE!7XemdS2VT`V+nF zhew1LkJp|4fAdd|DR2jbB`mW$et}v_Y9-mj5G~6xiVmg;0MOq52>@W$Uor%%_-z+J z>I##-hM4N>EO3NK*HfqFEDNw3Ui;o8^wt$k3Oh@a+ zw+&xsfx}APN5N7j7_1&j^bGZ)yLvz=YJZdYM5V{lo!`S?ofG`gcnSb&3%?5h=vzIR za`oOaeWGI)mQI09&I+R6ng6!``6-w_5js(Ke97aUX=q$Qn-2!~-Ag~lPu)M!e~dEe zRMY21tTfYh3otFf&5sHb-gc3MYLgHARd2gULd#+d0NQMvRxywA{?pGejtW8TJ%2gM z^}qflX4Z|Fr8f=JQ^2js#>8{1UUJ^W$rOnJ)3MTd>#%~&?1%D{K^l}maO0T6OP&%3blG-ni{h3|q`}J)AK)QY# zbRq?0Nb^tS%(}cPbiMj;aen8DFBAZ_uLn#|fe1fFWMG@sfs3)2>mvwnh)%mvMU`G0o${q185 z`B?7qL=gb!$rRH!zh9gAP9z-wCK18ikAKT7zggJ28%zB2yq)v_oKT|&W2I712$WM`7o$vlGrOE z{8!4;kj!;Jaq_+{uNYdZrhjnLosF0qNKn#UJ2E)GZB7OZA?7_Sv%y!x$^%s)HsOhe zLH5jXmrg0&wrrzTQ&63LHw`;ev?t6zA_KcJEo&nEdom7>M4f^|2e~!{874rAOxP0W>tOa5P^C zsDY(dpeQN6?1gM*xM|dgEwJqP|G&bt0ADAE-&S{I3H~-i-8AEQHbZdpAEGybEjn^m zj)`XZ&BD@k!0z}3%6}4;v6}Z$uclSmy*=WWn#xr}@$>=u0$>J1lZa)zg$0xSR8zs(%5{8j`BB$Ns#4>G}Y( z$So=U-OZx~iif6=t0f2dZK1bPP4Nzz^ZhaD>nyVNmb_=GSlIS36fe&*xHgdozN#IV zswJ=jwhQ1mA0}FTQe#hZ++boDfxsXc-WW?+#c#U+002sjf!e70#{ON1%!@o-rLt3? zR5#+O6t1yR1Am5L*;aYl2;l21aI|iG+bHSCwDgq7b^#KV9$M5U^WD`0O3zR)g4IKb zr^*SsdT%j(t0y0*9hj;mumZLVa382nbz_sW!qPF>eq%%{&14FjcyZ~LXPEI+MBUx@ zF~KQ`G&HWDZFNT;TYG>YOf7_L7XX(A(chSf-jkz-V}HG%`mdL=feoJ<&C2N*4(Ia# zi1(OmJhcAcKid8m*e?J8xOn~9RUY=Wy<5e=_il_LBFNCxBseIbgbgi9h<4PQ)JrJs=nIhAy_ptNUFK9EF&A2aO(Y~Kz$>lXolZP(}j4HP9zx)x2KNm~E_002ovPDHLkV1nQ1 BU|0YE diff --git a/Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/ruwindow3.png b/Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/ruwindow3.png index e10cff828eaca524427883090f88e0a16bbc1ae8..26f6290c6b41829a632c1e8077e6b0eccc29caae 100644 GIT binary patch literal 2130 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|_);T0(|mmy zw18|5AO?X;!IOa`XMsm#F#`j)FbFd;%$g&?z`&fB84^(v;p=0SoS&h?X&sHg;q@=(~U%$M(T(8_%FTW^V-_X+1Qs2Nx-^fT8s6w~6 zGOr}DLN~8i8Da>`9GBGM~RsBTId_|A5Z7NlCUU$t=l91qU45Kj08_%qc+?1*r!G zK~5$pWUX=%^U`gVDs)p)(-KQ_N|fx1O3O3zQu52qZS*0^P_;uuQBAec$Kn7RkhiTO zgHnt0b4o!0Z)a{~0}cxmK|~BdG(=$2fGmivAs{2aBp;ZdiZYWu^GZ^S3W|V<3v3_E zI@~JI%|h56nwME(2QvUo7)cjW)nr+O-pmJ{;Q*?Ipv4KEQOQ} zt}b7K0`(nT*;qH`|F!uMARsk0Ur;1+PGO5xuNBuKw}zU6WSCEPYz{ z-t2$>{g`xd$|B9GtbYmF`^+!BkZgbdkG*oy z(!FccSvP*Q>n)8oR&bm&?Y#Iqu`3DbjnlZCzvx5Uy6G=gxpg>Qx^4LG@x~WC348bSE@k+u zzGH9l@2{NdTDrB3K{x+=-2VA@rex`de@P#|x1~;&R*DF8>}`1QP;lv&nNRfN z1Kk#QxqRzUIck1+`_T;wjZ%yPcb4lie>(WADsPj^rjCkZrY{8#6lQf!I{&lSC0V?u zVV#}vqYZzj$}zTeyT0f8dAizv^3{IvYR|R_4!sO3E&bQ5;mnw1?=WfMl1KT%tXs20 zKYKa!Hmulq*EQ_8X=w146?UtRl=rF~`7ZpMA@})uW```6hV|Ev#brMGd;Vp}`q_Qz zS$#Wd8*Z~h2?w@sjAx>Q1VR!{|B=e&{9brB_Wsp<&z^KH6ifX%&+*~~sk|lHi3x}E zrnqn`{Vyu;D|429@ifUMgLQ%Age6{Y4QEElC%Cd?FfHJ1uw5#;q>4?uXY%7SoD9AU zTNp2JIA}ARW!S>3-t1#8Ud$A9uF;JliZO$2rJ>Y&NoNKd<%TeZS&W8Tn57OLHZ^Ky zP_6)JX^3kK`ylDa05%k;p>d_8#4Sc$p%t5KqXQOjHkdI;F@o%GC^NXd^M7)WCF5jA zNh!uZ{0(UamTnK3i<$1&9eB&E_UX=BW-x2U7sh&qPqy*A$D&>cfa-HkS3j3^P6eB9LK-& zW_D+1*_9}^(cP>Sy6hp5l!yv}qEt%~NG~F7P7#WQ(1PtrdnloW&<0{}ftEn_Vh*7d z@sgG#B%xVa0;v@&HV3tIb)QUezr$=P+Ych>r1S{8~rZH*w@?ZE( zaQ@HRXq^oCGUv5202osty;fWX_V2g+zeIV6HT0`a>z#TZ(|igTL;H`f_%m-8EkI>} zirR5G6zU=Hr+-=cGFRR}w)7ao-&{bkQo;DpIq~b`IrPPP;BZH%Ol8&L(Yhw7AwVv` zN56mkIRMererf^s$A9A&WZFMTr$=Slldl5DuOGWh znV)(hoVeK|^#^H?8X;)`Rwf%NG9NW%^UESFz=y#%7>2>`-&@w7 z`)vJgwtoZ!lrzB&rVj_I#$Uuk$RPbyn0jMF7HI(vJUDqC0DO0R+QOT8i*rY`r(*t@ z?nU$OTX+;9ty)|hy!(mVBgi4W3M{b#Uz>8&Oz*nIZA*Z2%)I`G**X#Q0S*To)Q;04 z-2qJ;D9%`iBn1qW0WQR8GL@Ht& zZf-++D(24&6fFPrBXTS5Y60_otL9+xtg>T?B*#4g6vat6VI`>RU`!=u3{?7|pPHE!&tfG`llKz7n`M37*bXD!j}c?(iiP z>{5TB5}12R-V0nE0+))@T-_S~>;8`2f!ccs^hk`heYVQgm$PTGVV2 zb;^TRzx98;oU}&P$L*H~*7W~!h*I`^0e|^PQ2+pU_yY1QSKbgK&#s!V9oOCp`7%^I z)F@gf!q0hxZO`Ba&%{D+&{kVr+0?9is|R(^5;wwdW(GzXJsmHEC^ zS3Sb65r8pO3F%0>Dp0zM=Z3B^JQia@RuSLl5_6pne5p#*s)2PO=pdxO!a z@1=2MD1RlUl%EpI=T&`JqI`W^1QkHD0FWD%>ghstb8(|VGxcHVGX#7(3Zo*SUbvZh z^a`>>=-XBuUMGPF)+tLDMM+|rWTlHh7!#E!Ldjn8LsXUS28R30Cyzld2X{x9a0pJ_#Bb?9{a>($5l z-^-K%&3sE!V#zE#lEFQSH}Ye9hyh&6{ml^d2f5< zj=Fmzr+fQEefP_MbNAeISR{AK|2}_tUNOsV$-E_TcHgyso_Wlsy6=vy)G* zzrDH3D5>+&-cS$iS0_79+Phyc!5?`v=xI_l)n>aTe8<4`aCL8aL+{^(dnBhi;n7P5 zxfKszPDtbaEwxle@_7Yt&(k~)VDaE$W%J&F=f2-kgGXeG`s#=vZIAO|>$BxUp6QeJ z0q6d_l31xNjnh!_&csn;GL;K|L6ZdXlm7LKvUd4;Pk=vRT zdVDQc-Ca<@F8jE#c%3JJFaN|!d*Rp~($Ru`lnPxkkd1()#M}&IDN(<(IDn6AD~K6u z>Hg&|`dl)^v=}g7TxK<#W$pqi$`{6M_-b+7oT`0F->s?p8{IpCX&1y)^^#praQ(!h z6T5EMstWc++-@{e+3fSa{6cLEXsWPPg9Ei@pliHlbk{T7SgI{(HT+9{qhw2&F}QQ+ z5P2L4M-d$G^qPiY!Oj5Z)qmbi{Rni;(b?)APJKcD^uzn@A0+6C^r@@I9b(kf<3=dN z$d1(RohiQy5{ur|SLg;BtrYHND0!GXI)NDhu%oU3cqVNul3RSHxk% z9hH-3Yx37`@n+>I>H_MSJ53zXraX-#}?T zw+`XfO%kqH^^WYB@8|F|0e#qQWcB&{M@>_do?GMot<@;5C?@o58r!YjIbgwDmvmQL z3r+Tb;WIVV=x9=&(ZYJ1Q!#n2bHz`R<>rI< znVLK8m5-~){0<{c;DP33J1~-zsQjak4T#y#lFXMH>W@`j4l3Hb=*>%Rrnm0i5AdMP zqHwsUfRH=vTo-r2(m+FK8hbj|%W%(9-=cuH8+ZrJe$Y-5I+s*NknB{!NtUdS(+&!e z;jO~a%^~4A2_>42?(2@Rh&MhgDjdhQ*ATQsM{V`dxjyLFx#HpcXxpPD1|FPSIZkGQ z*Ap_c*PpM{T3sg-I*qQa$zHuZ^v=(HCf^NYL=_%YkHx3nUiPfU+D4|{=zq6&`B48w d2hxP{C9#ASePyCz@R;tO&G8Fnm-$BS{tx_6OXC0l delta 1112 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 diff --git a/Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/ruwindow6.png b/Resources/Textures/Structures/Windows/reinforced_uranium_window.rsi/ruwindow6.png index 1f9ba05446a1f82dbfcc86e72429419f5f7f490a..9b0463bd4cd0907ea399eaf49518e24c19a7857b 100644 GIT binary patch literal 2102 zcmZ`)2~ZPP7=92T0SiF^E0jtmXa$jMKno;IfM5_KhZund9Ti9dF61J+G(n|AYs+D) zMVJC2XeeGxfPzZ3rHUtqa##^-MGg^AEKpGjQY763MRe?&dHde`_xt|id;iX+hXnhZ zncA8H0L(aR*j#M&(M^Ie_AG%DI%0>Dp0zM=Z3B^JQia@RuSLl5_6pne5p#*s)2PO=pdxO!a z@1=2MD1RlUl%EpI=T&`JqI`W^1QkHD0FWD%>ghstb8(|VGxcHVGX#7(3Zo*SUbvZh z^a`>>=-XBuUMGPF)+tLDMM+|rWTlHh7!#E!Ldjn8LsXUS28R30Cyzld2X{x9a0pJ_#Bb?9{a>($5l z-^-K%&3sE!V#zE#lEFQSH}Ye9hyh&6{ml^d2f5< zj=Fmzr+fQEefP_MbNAeISR{AK|2}_tUNOsV$-E_TcHgyso_Wlsy6=vy)G* zzrDH3D5>+&-cS$iS0_79+Phyc!5?`v=xI_l)n>aTe8<4`aCL8aL+{^(dnBhi;n7P5 zxfKszPDtbaEwxle@_7Yt&(k~)VDaE$W%J&F=f2-kgGXeG`s#=vZIAO|>$BxUp6QeJ z0q6d_l31xNjnh!_&csn;GL;K|L6ZdXlm7LKvUd4;Pk=vRT zdVDQc-Ca<@F8jE#c%3JJFaN|!d*Rp~($Ru`lnPxkkd1()#M}&IDN(<(IDn6AD~K6u z>Hg&|`dl)^v=}g7TxK<#W$pqi$`{6M_-b+7oT`0F->s?p8{IpCX&1y)^^#praQ(!h z6T5EMstWc++-@{e+3fSa{6cLEXsWPPg9Ei@pliHlbk{T7SgI{(HT+9{qhw2&F}QQ+ z5P2L4M-d$G^qPiY!Oj5Z)qmbi{Rni;(b?)APJKcD^uzn@A0+6C^r@@I9b(kf<3=dN z$d1(RohiQy5{ur|SLg;BtrYHND0!GXI)NDhu%oU3cqVNul3RSHxk% z9hH-3Yx37`@n+>I>H_MSJ53zXraX-#}?T zw+`XfO%kqH^^WYB@8|F|0e#qQWcB&{M@>_do?GMot<@;5C?@o58r!YjIbgwDmvmQL z3r+Tb;WIVV=x9=&(ZYJ1Q!#n2bHz`R<>rI< znVLK8m5-~){0<{c;DP33J1~-zsQjak4T#y#lFXMH>W@`j4l3Hb=*>%Rrnm0i5AdMP zqHwsUfRH=vTo-r2(m+FK8hbj|%W%(9-=cuH8+ZrJe$Y-5I+s*NknB{!NtUdS(+&!e z;jO~a%^~4A2_>42?(2@Rh&MhgDjdhQ*ATQsM{V`dxjyLFx#HpcXxpPD1|FPSIZkGQ z*Ap_c*PpM{T3sg-I*qQa$zHuZ^v=(HCf^NYL=_%YkHx3nUiPfU+D4|{=zq6&`B48w d2hxP{C9#ASePyCz@R;tO&G8Fnm-$BS{tx_6OXC0l delta 1108 zcmV-a1grbD5a|ezB!3BTNLh0L01FcU01FcV0GgZ_000CVNklA?{od_tC|&SP3UxaM@{ zQ=!g87c%*s#(!eA=E~AnZooQ|{j+xV{3t05F4!`4H;n<5YNScmk?|q~gm}_)WeGKe zQj)$A37#E3iI%CD)SQ$Xu-cbk#<-z51D=~S66onmviJpk>nwuN`(Eru1 z`pxxySKpn_wOZdsKh!>YEgRfDGi(=0h3_~p8+tN5^RZ9@g2)>Iw&RVIFWSqsDlhU1 z2lJ%X`+7(-V7<1l*ZOoWtd~2ttKE)*L<1JHH8+#rX>=yK(49|(iU-%6<~xs-uR&51 zC=4#x*?;q+WU_x&YOQaCJOc>vGG2r<={hLYh&0^|kU9cdregH$@JXa^M1r7nQ!IQy(*Xh$2%vFXEy7b^&8mH~T&tpF&f&!6)A+}-F!sS${K4E526w#& zkAJ&7Kr~t}o{Y9BodUuJoG6Tb2>|ydN_45K%nE@Op1Ii?D)c`x0pO_7OLc0{dU5{N zZ=VVO3ju@;AXB}k;$z#i#rLhJ2b!D*03bfLOm@xyrVgQN9YR#y3E90)MLU4N#qcYJ3A!C!m@wZ-8(oD9Vf6FKC45 z_X1mf1o#H1PCzxj0jd*Fjcr^WC>U7138-1xmEamd2gH9|L8Fxi$x5n0)6?JDoFvfX4t2jpJe{9|5Y5 a*Z&1WAAozTGh?X&sHg;q@=(~U%$M(T(8_%FTW^V-_X+1Qs2Nx-^fT8s6w~6 zGOr}DLN~8i8Da>`9GBGM~RsBTId_|A5Z7NlCUU$t=l91qU45Kj08_%qc+?1*r!G zK~5$pWUX=%^U`gVDs)p)(-KQ_N|fx1O3O3zQu52qZS*0^P_;uuQBAec$Kn7RkhiTO zgHnt0b4o!0Z)a{~0}cxmK|~BdG(=$2fGmivAs{2aBp;ZdiZYWu^GZ^S3W|V<3v3_E zI@~JI%|h56nwME(2QvUo7)cjW8n&1>p2fp7V~T(C>V4&`{oxH} z8PAOm>{B>9pK*($^?b%}teO9K7VzHs$+JP<<8wMg?uB#d4YiK5?3pu~%j}rna9{c( z=^(x3vt&a2glFd&ZY`L5p5b?sNj=*Iwzq%Y@*eol9>5&-Kfa)vS*t-Shmg_pQ&oBD T?pz4q2bC(Gu6{1-oD!MTT?wr_|5y`QONt!RX7lrC}LEltVCs?gGsQu?r#&+!gTe~DWM4fngUnA diff --git a/Resources/Textures/Structures/Windows/reinforced_window.rsi/full.png b/Resources/Textures/Structures/Windows/reinforced_window.rsi/full.png index 34c51d7c3d6a3b995f8df92ed1176e988a2ad8cb..e8b90728e41ede9cc5474ce777a73af21860612a 100644 GIT binary patch literal 3041 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 gP~8b=t~q|-Un5s!UNOU55 z8l;%;m0d+C!dSytPbDgRV>vD7>b%$WZqM(zpZj_5_j&*L{ny3WUPe+y5&$5BaZWc3M9C>)7_mM5m+)w&)b*m5kevc(hwmQ&=n5^ zf4yvmK{Zxf=tnJ}?oKWm)?})mhLIjz4-Q32YG`PfQ+;s=R~x%EIDcmW^{3M*2pEjP zVCXS+=#i;-n7*m0DGY7^GcefB_t;Jg4WxUAY!9UUwi@K`I5vJXER{f^6Uc!Y%W=JZ z$U$@qD0G?VYg^6J7yFfm5=14gu=rwOendZ#Um%?Z)7R67{R~GZ;J#%TNL!PGFAQw? z3m*pmDGWuSV-5LA*@p1*Svwy;QS1sYjqVHk&H-ishnsAN8*Dc)g?&9AKYepwEP_s; z6a7|%`+A-g1$PtaKU$almn9$)mX$>iy#w(U(2(uEemL(SA{~mPG6;dbWQMUhY}M;W z^s4p8pysfj@S8868sXvUMV zayIFyimIxu!$gz3t;gr0NYAvKb&sj4S9IP>^S#LM0nCf@b^ezyJ`hJdM!VodF+g26l1$bvAakeNe^?xvdX!)5RK z%hMd4(s=sD9a6()mL_S#9;Xeax^KwDHyWp(XbIaQAEb~MYyK%`%jM|P2E*`O2Tg*@7OpRt)nlxFqC~TZ~iWi2mwi& zF0r(J+e)W|(S*3Pi#1E5oSa)S_f^g9glA$^Y^tmtuT0PF9IlaR#S*$Y1Vqou}OpfV$Tg95J zaQ%+l&1^BuT&I1>+zdYYA=V)FLPE+`+KzT3MsDzQX;?~cNW@Ya{$A=IZ$4vYnv0u` zM;KJ!#ln_F+{R zLC(9RL@gaT(}rO?hdB0t-MkbOsL~>u!q9V%7z}802O-<(3L0kUQBT3#6@oRP>tP5th)_NsV+JCsa+>P&(XMI1k0L;Qm4+Pj&VJuTrM{fD~%) zyAO(LXwwb(YK?*yJ!f{^=2^ogH>lXBrCJU+Z0XAN;suoCE>c>ole0vpQ;B~ysDHd! z*6$heCIDUA2acvH(x)%7ccqjX0vC_Mp_I7+i+wIhv(-y6g&r?OxSAt%N0diK zDx)!-W^}flL;V&ueMnJ{dqqTJezHMU$pw8eyDOnE_^AI#K*gxHNy>g2>h3mxaT~s5 z>#lvO_;uw3qeuMGsIe8iUSIM$VQKo~>_t(d$uqGX83}S1uBhqU?};2ZkX-0%`ec*U zj>9~Mke$j>|bKx1a_6e8Jed|-Mw$L&(bgyo3Hd7#nirIc5${NOO>Mr+8v<$$t1PDjeF%oD)zluH$!K4VEjOhO;R?d-O4YH({`m?G~ zrt$|9luGN0wWo*z@NPk`#o(Ah?A?lYSD&-SZvLrdRGaujE#Iv}(O1u43$9!3!+GIA z!_T7A&w>+5F6i3$#Vy7ZUR%d$i_BYeOfTz+bBNVR*UYIr&fT~;m74N9MYiJ2O#v$_ z{j;=s#nxMhm&CC_X$3n8huLm8R{|{awX$Zvvtnn@_`QGbGv{ZIYm6{Rgbu1Y0bF&oycn!lWj$hKWK}- zHnMpZ68R>l6n1v7$DNWYd{PUP__^Ax6^3 z#gPTL^yA1$w}x7{dol6Lh-FVR8r^Mu_H@elLg~a!<|t6ANw2Dq-`hAPEm%e6y2vki z=HcBa4$}>`Qnyu(O+RQ{zrp@2bl^cq)RfX?#af#>y5d?cG7D-YCl0saJCXih(m(K$ zE!!5O1b_la0u{*%?Z=%;nVnbDf<{G7w~blu!^UYA-KhK>g^Sa~fGc?iTOav|zhYhp zL;Tr^oi7>%HW__2u|@B*!}oZ3%C#zis3H*czQO+Yw^9}E>P3tl-6F$2NdF}c08;R) zyo_rd2G-Key%@lh07e?gEw-*~KLJoKRT7B-+$>$V07ulu$Jg+kdjMDlarQp*N9?>> zyj=?TFQzXD34v{#L-FxAuSP-O%$$WtgF?U&wrMMJXk>2#>GLQ5Hh~SY**Bgw;61=M zHqZ06p7|4^zJm%63Wv%q>*P+RA32ffHrHHq%VlpbJUenm`9E5T+eG&S+l&#*PF%Ui zq_C`2;DQ`UPSK-vO4|f7ZNu(b0FF4=3YtKn5Jwj5l_fnn_ZJBQlmv4DT!^y{SYwp% z|Lb}0<6jvsj03L(#IWK_?W6)K8Ql`?FM!c{N&*-WZobMm^O0QB+dopXw{;z4dMm93&h#iMUCJ{x_uw4iLGVyL9VXNm#g)0xEX>AuW5^s~9j0@6u{PS#Q!MCWxbUiwZ> zQz*|S>-P9q*XLfxFtRP7*CYd}_}E!)nwK6k%#%Il$$qTaa;*54m-*{UNLY1j*1k8C zW;tIfMue#h___#UB)Kpb!sER^VLNZFe_(dZ3-+0y!UNi3%J VP3BDPwan#T5|pj8O}-T-`u{!MqfP(- delta 2218 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 diff --git a/Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow1.png b/Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow1.png index ba95fde9e59c54dacd0eda155231ef640db07f41..2c1d944a619cbc07511dcfbc95cf3dcb4129082e 100644 GIT binary patch literal 2163 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|_);T0(|mmy zw18|5AO?X;!IOa`XMsm#F$06fED&ZCw^H21z`&fB84^(v;p=0SoS&h?X&sHg;q@=(~U%$M(T(8_%FTW^V-_X+1Qs2Nx-^fT8s6w~6 zGOr}DLN~8i8Da>`9GBGM~RsBTId_|A5Z7NlCUU$t=l91qU45Kj08_%qc+?1*r!G zK~5$pWUX=%^U`gVDs)p)(-KQ_N|fx1$}{s)^2^O_^dYKHbwfl^4Ykq7V!sW@*H)21 zsm1v@rJ!)PGcq%=0fz;OC?WhAD)-&xVCIlS7%^gY4LP%45?sz8x@-&>Mk;G=H0#3$`O;|yq$P*g$)Bus@8f1 z1!nn*xCFd#u3Zt3Q@g=QP_RBqu=eBrr9YBdr+GQZzj1bquleA1biZ1}?d-)zTzs-R z6&D_p7I}aE-1y?f%L*L!!(Y)_hc`DViT z`A>d^+*{dsIiy~kE!yt?-gUF1=k-g!y|2vOW42<#`TD{)kLIz53%TVS6l&i&<>Sua zx6gYn9b0O-!+-16S#|%WmCC<;V(55GJb>S*F~es{LeSQXm9u~To|PzJrPiWw=dNI9 z?Twu583%PwJr|FSuVh`a`C9p5|4SJPQ{CF@ZTdFdl=)S5yXxBA+wEd!*0}L4J@X;q z!)O1#seNz7Zq)y}CHF(LdYyXbw|630hG#a(*1LRpx!E{jy4ZU#|LI+`lqAedXZ`Jr(c%{k%MJPVVO0wa$5V^%r_STRhc$FqetF z(#X;6y~qtImA>N|>b0&-F$#1mXQFH9e=lj2_S~IwuJ|5By zh!6CdW&eAQ-;3YJ=XjVXdzJL$sh&M4zkZ9);RBafB}Lio5BSE)A(qE@Ro~3TP=GDL z`SjA-2}cg^zxAc_Birq-_ug;3ZLU;tD~J0HPjb{E!Mo@GpPt@bexP`j-b1kyL2keG z=3ezmJG(vicH)$vBU!K4F1#F2Mx!W&*)zg?s3=>9M`;qAW1_ItBF zCf{EZxxM1}MW5o>rTcazuG;wYx|#N4rE9zDou7nm%)h07hiU!n1+zEb;hy__?Ul(U zr*BNzsrPx7^Iuh7h6hX=?yfekb}zHNQ+7>f^_uE$jxAamOBe(0Z8=qFl|SW5Sh%8v z>M5ydH~xQBS-SQ;`-Uqli@ttdvzNUusm|q>s_JDuUWT5D(g%6m7pr~RS1w>z%f&j$ zgh3(k`~BT1kHfPsJWko&*v-O{$-txHH`BEE@s>q7OjXr>i;YXZ&WVfr-1up-gA~Ju z`H9yapWJqw*I2Lgl+^4Z=f87LMLS9{TwvPU+`qz)<5-VptoXHWyO*d6eQKD%t{?&; zTWl7*sA%|9EWt8$*<1HDLc9;1=bO3tZM(lwIQH+kr|->Y&b#(u^Zk!U-!78(;^J1a z5u7NvrI9CLO-(wLb3=M7!QH&XE3uI5+uvrr*!q8yG0FquH zdE!=0AOi!)$OVE8VGOevGuSsdOz8S{+6-(DRIq;apH0uXbA$O9?h9nFED&u-JCJMS t_LQN;M&SvgKez1@Mn!&($_6315B4Fd?c5wSh7q6&-_zC4Wt~$(697C$OPBxv delta 1128 zcmV-u1eg2s5c~*`BYy-#NklgOMhtD2Tdy13hj@jttp$flx3}@yVSk+ zoO@;_ezz@r$eZx9nG>Gx%ei-cXU^|;e#|hR`Q>M>vi^E z_UiAJ?ZEhFL%8RYDv1&{X-NqW-@Rd(rb!uNgm$!q(uzuB%pi;zge0h5d`d^U)2Y*iz$8pHd6`N&yS2tNaJDYIMrC}IsFnea&*w1?kR9?8b8?K#Ax0pF) zx^M`Uk-JSHb7p=7+NY(DWwv3k!R*Jktk{Y1uYC%%Jna*;C#qR^a<=oI5V0utB>ifh z^Q7*4$ce?|pO1QZB0JW{?rZibDGo(5)Z= zK8Qi9f&};=2CWJb;DZ>nYQ!f1O@cemG_At)|7FdB-!T0t#l6Ca9|1uEd=P_H1qtv$ z3|bW=zy~pC)re038ic0Kn2joFb+xykN?KSDLYKsfw(fVH)t)ocOV`9VF{G3RT%j#( z$;x=!i+}px?L>B+LQjFbi7BjP<2Pc|qfUDaV^)%3QhD#Tol*R?Yg-nbHF>;|$gVp9 z=m1_v9Mr}}M(P;c#s+c6tCnS*_>mRG(SOrkq+gmMs+AmlkNztr~F z?GHy~gmWo8p?&y+lqCRI0IpYCJLBK`uGiS(GIG(In^-AJz?UVfJ+G}fIVUTVz$%ck zXn%R^pRU{5QCw*N$#V+aU#kw&0ZXKIDN6vQl-op7+qMZ~OgjO-lhP63{rwmFzI+3D z)!bDNC@&RCogfE9oll=)TVD3Rdhfng1R z5r7qx`c~=eLjo26CIB`7MgUd-W>Do{djg;)0JQ6 diff --git a/Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow2.png b/Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow2.png index 8beafa06dbb5d13694d1414440fbd8abc6a2d5dc..e1459332aeee24053ede0485f78fd9fa06a162dd 100644 GIT binary patch literal 3349 zcmZ`+c{tQ-8-DG3Bj;F?We(A1hGZFxvQHsLnh%wRVa902Of$ofFqG;;i!>!UNOU55 z8l;%;m0d+C!dSytPbDgRV>vD7>b%$WZqM(zpZj_5_j&*L{ny3WUPe+y5&$5BaZWc3M9C>)7_mM5m+)w&)b*m5kevc(hwmQ&=n5^ zf4yvmK{Zxf=tnJ}?oKWm)?})mhLIjz4-Q32YG`PfQ+;s=R~x%EIDcmW^{3M*2pEjP zVCXS+=#i;-n7*m0DGY7^GcefB_t;Jg4WxUAY!9UUwi@K`I5vJXER{f^6Uc!Y%W=JZ z$U$@qD0G?VYg^6J7yFfm5=14gu=rwOendZ#Um%?Z)7R67{R~GZ;J#%TNL!PGFAQw? z3m*pmDGWuSV-5LA*@p1*Svwy;QS1sYjqVHk&H-ishnsAN8*Dc)g?&9AKYepwEP_s; z6a7|%`+A-g1$PtaKU$almn9$)mX$>iy#w(U(2(uEemL(SA{~mPG6;dbWQMUhY}M;W z^s4p8pysfj@S8868sXvUMV zayIFyimIxu!$gz3t;gr0NYAvKb&sj4S9IP>^S#LM0nCf@b^ezyJ`hJdM!VodF+g26l1$bvAakeNe^?xvdX!)5RK z%hMd4(s=sD9a6()mL_S#9;Xeax^KwDHyWp(XbIaQAEb~MYyK%`%jM|P2E*`O2Tg*@7OpRt)nlxFqC~TZ~iWi2mwi& zF0r(J+e)W|(S*3Pi#1E5oSa)S_f^g9glA$^Y^tmtuT0PF9IlaR#S*$Y1Vqou}OpfV$Tg95J zaQ%+l&1^BuT&I1>+zdYYA=V)FLPE+`+KzT3MsDzQX;?~cNW@Ya{$A=IZ$4vYnv0u` zM;KJ!#ln_F+{R zLC(9RL@gaT(}rO?hdB0t-MkbOsL~>u!q9V%7z}802O-<(3L0kUQBT3#6@oRP>tP5th)_NsV+JCsa+>P&(XMI1k0L;Qm4+Pj&VJuTrM{fD~%) zyAO(LXwwb(YK?*yJ!f{^=2^ogH>lXBrCJU+Z0XAN;suoCE>c>ole0vpQ;B~ysDHd! z*6$heCIDUA2acvH(x)%7ccqjX0vC_Mp_I7+i+wIhv(-y6g&r?OxSAt%N0diK zDx)!-W^}flL;V&ueMnJ{dqqTJezHMU$pw8eyDOnE_^AI#K*gxHNy>g2>h3mxaT~s5 z>#lvO_;uw3qeuMGsIe8iUSIM$VQKo~>_t(d$uqGX83}S1uBhqU?};2ZkX-0%`ec*U zj>9~Mke$j>|bKx1a_6e8Jed|-Mw$L&(bgyo3Hd7#nirIc5${NOO>Mr+8v<$$t1PDjeF%oD)zluH$!K4VEjOhO;R?d-O4YH({`m?G~ zrt$|9luGN0wWo*z@NPk`#o(Ah?A?lYSD&-SZvLrdRGaujE#Iv}(O1u43$9!3!+GIA z!_T7A&w>+5F6i3$#Vy7ZUR%d$i_BYeOfTz+bBNVR*UYIr&fT~;m74N9MYiJ2O#v$_ z{j;=s#nxMhm&CC_X$3n8huLm8R{|{awX$Zvvtnn@_`QGbGv{ZIYm6{Rgbu1Y0bF&oycn!lWj$hKWK}- zHnMpZ68R>l6n1v7$DNWYd{PUP__^Ax6^3 z#gPTL^yA1$w}x7{dol6Lh-FVR8r^Mu_H@elLg~a!<|t6ANw2Dq-`hAPEm%e6y2vki z=HcBa4$}>`Qnyu(O+RQ{zrp@2bl^cq)RfX?#af#>y5d?cG7D-YCl0saJCXih(m(K$ zE!!5O1b_la0u{*%?Z=%;nVnbDf<{G7w~blu!^UYA-KhK>g^Sa~fGc?iTOav|zhYhp zL;Tr^oi7>%HW__2u|@B*!}oZ3%C#zis3H*czQO+Yw^9}E>P3tl-6F$2NdF}c08;R) zyo_rd2G-Key%@lh07e?gEw-*~KLJoKRT7B-+$>$V07ulu$Jg+kdjMDlarQp*N9?>> zyj=?TFQzXD34v{#L-FxAuSP-O%$$WtgF?U&wrMMJXk>2#>GLQ5Hh~SY**Bgw;61=M zHqZ06p7|4^zJm%63Wv%q>*P+RA32ffHrHHq%VlpbJUenm`9E5T+eG&S+l&#*PF%Ui zq_C`2;DQ`UPSK-vO4|f7ZNu(b0FF4=3YtKn5Jwj5l_fnn_ZJBQlmv4DT!^y{SYwp% z|Lb}0<6jvsj03L(#IWK_?W6)K8Ql`?FM!c{N&*-WZobMm^O0QB+dopXw{;z4dMm93&h#iMUCJ{x_uw4iLGVyL9VXNm#g)0xEX>AuW5^s~9j0@6u{PS#Q!MCWxbUiwZ> zQz*|S>-P9q*XLfxFtRP7*CYd}_}E!)nwK6k%#%Il$$qTaa;*54m-*{UNLY1j*1k8C zW;tIfMue#h___#UB)Kpb!sER^VLNZFe_(dZ3-+0y!UNi3%J VP3BDPwan#T5|pj8O}-T-`u{!MqfP(- delta 2218 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 diff --git a/Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow3.png b/Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow3.png index ba95fde9e59c54dacd0eda155231ef640db07f41..2c1d944a619cbc07511dcfbc95cf3dcb4129082e 100644 GIT binary patch literal 2163 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|_);T0(|mmy zw18|5AO?X;!IOa`XMsm#F$06fED&ZCw^H21z`&fB84^(v;p=0SoS&h?X&sHg;q@=(~U%$M(T(8_%FTW^V-_X+1Qs2Nx-^fT8s6w~6 zGOr}DLN~8i8Da>`9GBGM~RsBTId_|A5Z7NlCUU$t=l91qU45Kj08_%qc+?1*r!G zK~5$pWUX=%^U`gVDs)p)(-KQ_N|fx1$}{s)^2^O_^dYKHbwfl^4Ykq7V!sW@*H)21 zsm1v@rJ!)PGcq%=0fz;OC?WhAD)-&xVCIlS7%^gY4LP%45?sz8x@-&>Mk;G=H0#3$`O;|yq$P*g$)Bus@8f1 z1!nn*xCFd#u3Zt3Q@g=QP_RBqu=eBrr9YBdr+GQZzj1bquleA1biZ1}?d-)zTzs-R z6&D_p7I}aE-1y?f%L*L!!(Y)_hc`DViT z`A>d^+*{dsIiy~kE!yt?-gUF1=k-g!y|2vOW42<#`TD{)kLIz53%TVS6l&i&<>Sua zx6gYn9b0O-!+-16S#|%WmCC<;V(55GJb>S*F~es{LeSQXm9u~To|PzJrPiWw=dNI9 z?Twu583%PwJr|FSuVh`a`C9p5|4SJPQ{CF@ZTdFdl=)S5yXxBA+wEd!*0}L4J@X;q z!)O1#seNz7Zq)y}CHF(LdYyXbw|630hG#a(*1LRpx!E{jy4ZU#|LI+`lqAedXZ`Jr(c%{k%MJPVVO0wa$5V^%r_STRhc$FqetF z(#X;6y~qtImA>N|>b0&-F$#1mXQFH9e=lj2_S~IwuJ|5By zh!6CdW&eAQ-;3YJ=XjVXdzJL$sh&M4zkZ9);RBafB}Lio5BSE)A(qE@Ro~3TP=GDL z`SjA-2}cg^zxAc_Birq-_ug;3ZLU;tD~J0HPjb{E!Mo@GpPt@bexP`j-b1kyL2keG z=3ezmJG(vicH)$vBU!K4F1#F2Mx!W&*)zg?s3=>9M`;qAW1_ItBF zCf{EZxxM1}MW5o>rTcazuG;wYx|#N4rE9zDou7nm%)h07hiU!n1+zEb;hy__?Ul(U zr*BNzsrPx7^Iuh7h6hX=?yfekb}zHNQ+7>f^_uE$jxAamOBe(0Z8=qFl|SW5Sh%8v z>M5ydH~xQBS-SQ;`-Uqli@ttdvzNUusm|q>s_JDuUWT5D(g%6m7pr~RS1w>z%f&j$ zgh3(k`~BT1kHfPsJWko&*v-O{$-txHH`BEE@s>q7OjXr>i;YXZ&WVfr-1up-gA~Ju z`H9yapWJqw*I2Lgl+^4Z=f87LMLS9{TwvPU+`qz)<5-VptoXHWyO*d6eQKD%t{?&; zTWl7*sA%|9EWt8$*<1HDLc9;1=bO3tZM(lwIQH+kr|->Y&b#(u^Zk!U-!78(;^J1a z5u7NvrI9CLO-(wLb3=M7!QH&XE3uI5+uvrr*!q8yG0FquH zdE!=0AOi!)$OVE8VGOevGuSsdOz8S{+6-(DRIq;apH0uXbA$O9?h9nFED&u-JCJMS t_LQN;M&SvgKez1@Mn!&($_6315B4Fd?c5wSh7q6&-_zC4Wt~$(697C$OPBxv delta 1128 zcmV-u1eg2s5c~*`BYy-#NklgOMhtD2Tdy13hj@jttp$flx3}@yVSk+ zoO@;_ezz@r$eZx9nG>Gx%ei-cXU^|;e#|hR`Q>M>vi^E z_UiAJ?ZEhFL%8RYDv1&{X-NqW-@Rd(rb!uNgm$!q(uzuB%pi;zge0h5d`d^U)2Y*iz$8pHd6`N&yS2tNaJDYIMrC}IsFnea&*w1?kR9?8b8?K#Ax0pF) zx^M`Uk-JSHb7p=7+NY(DWwv3k!R*Jktk{Y1uYC%%Jna*;C#qR^a<=oI5V0utB>ifh z^Q7*4$ce?|pO1QZB0JW{?rZibDGo(5)Z= zK8Qi9f&};=2CWJb;DZ>nYQ!f1O@cemG_At)|7FdB-!T0t#l6Ca9|1uEd=P_H1qtv$ z3|bW=zy~pC)re038ic0Kn2joFb+xykN?KSDLYKsfw(fVH)t)ocOV`9VF{G3RT%j#( z$;x=!i+}px?L>B+LQjFbi7BjP<2Pc|qfUDaV^)%3QhD#Tol*R?Yg-nbHF>;|$gVp9 z=m1_v9Mr}}M(P;c#s+c6tCnS*_>mRG(SOrkq+gmMs+AmlkNztr~F z?GHy~gmWo8p?&y+lqCRI0IpYCJLBK`uGiS(GIG(In^-AJz?UVfJ+G}fIVUTVz$%ck zXn%R^pRU{5QCw*N$#V+aU#kw&0ZXKIDN6vQl-op7+qMZ~OgjO-lhP63{rwmFzI+3D z)!bDNC@&RCogfE9oll=)TVD3Rdhfng1R z5r7qx`c~=eLjo26CIB`7MgUd-W>Do{djg;)0JQ6 diff --git a/Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow4.png b/Resources/Textures/Structures/Windows/reinforced_window.rsi/rwindow4.png index 754af67ca375ecbe1cce1a93a6ae6de253280ae6..6e9e88d1e901453cc98287ba3b048039ebe4b229 100644 GIT binary patch literal 2172 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|_);T0(|mmy zw18|5AO?X;!IOa`XMsm#F$06fED&ZCw^H21z`&fB84^(v;p=0SoS&h?X&sHg;q@=(~U%$M(T(8_%FTW^V-_X+1Qs2Nx-^fT8s6w~6 zGOr}DLN~8i8Da>`9GBGM~RsBTId_|A5Z7NlCUU$t=l91qU45Kj08_%qc+?1*r!G zK~5$pWUX=%^U`gVDs)p)(-KQ_N|fx1$}{s)^2^O_^dYKHbwfl^4Ykq7V!sW@*H)21 zsm1v@rJ!)PGcq%=0fz;OC?WhAD)-&xVCIlS7%^g>GgDR45?sz8y%Y=5-zgu`?)jk)E20$Q&nu+=4sezvNAf` zQ)KDdNLE3SUkUP30`+oh0=zU|_Ak96zItufm!)4Fr!>@FV0VnKDOeozUuaF~WevlL zYEelZD_*v-eNV4@_jZo1GS|(MFV5cCt+-i#bMg7Vmd|&mKb!adjqF+*(N5~S-%ED>6a0K?q5t9N?{h7z=2lhT>*w_eKkmD37pLn*Yxa{e!V6{h4CJY)}2Pb++ zv>F_iQ1)*5Xy6ve(2)CBee&H~>hfC^U$3`seWg;eVP)FZMP-t*`^y|-Kcsa>M#gnz z-S4`1@yN`bpM_-PUmkv{yLM-ft8a7AtgSk`3a*X(tf1$VgLg&k#JNkO{75-V` z*>9Kc`qI-H@%&%xLiWGgZ!gb&zdYuKQO45}?j3do|9TuHpD_F}Ig@?=5JQ2*zQaEi z*%=HQ!d?HaQs-fK@Z-SO#?Q>(+hrJ@F#Rz)lfB$!f#`b#hz_}KWG z`8oT$_uCWWev7j)Xt2b{Ti6%WpJ1#Ay>!0n5CcOWKTO0y?|}c~JzsRu%-y5$GF>*2 zp+OL0*Z0dSp1+Kqp#=6D2P?>@K<{2W%6R9s!JGH)tEX+)c<}!G$iTQ&y%(=|)bFb| z-}$D7!JOfC-~V0TFJ5gCi`{uFMXc5-KlrZrmQB;P{^aco2~XcKVNddL>-#q6ciCPp zoj-G{_)8lngOzc6ubui+=zQ5kRM<&C?gg)F_z_-K;~lPfpTs4L)ovG5J6NrjpHnf% zZShKzUmu?fYs@~o@NWE@6lUkc8L7#afo3-_ahin@pIWnu>n*Jo0RR>l0b)>$TipQ~vIdZ@hPrbJmZg%}Z9tpY;to zeIjV`!t2R9+r`hf6@81Gzx(jxX|rRdJv_JLj$FXy3p>ueJahVLo$s;v>(bXV&9|@B z|7CB^5O?WOp4&&c;^No0yL)~MelYSdyw1s>@$9DH!srK#N&$M$44L@B+}m@$GrV)? zD4&+X9#njfnTeqywqo0Mew&1C=M~ofYh?eRWO4iU`AYr?avV3Mwe3Gt2DP#A zSs`)PvrT;O_CWq@sk{|^T6sl!uiqZKB+m#m_!8rdtA&;FXCB#a-*u&OW7=Um_oEL~ zRu<2=^sj5eGz}MB75i;}@2;=hgTe~DWM4f_laR- delta 1110 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 delta 1110 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 diff --git a/Resources/Textures/Structures/Windows/reinforced_window_diagonal.rsi/state1.png b/Resources/Textures/Structures/Windows/reinforced_window_diagonal.rsi/state1.png index 65254207165b957f648e77219eb234caf994a8b2..454ab882de1126dfe6aa1e4300c11756965c38ce 100644 GIT binary patch delta 991 zcmbPH*T*wK#g?%+$lZxy-8q?;3=9l>sS%!OzP=1vKsE;ugTSTW$v~2`z$3Dlfk9&y z2s4UXDQ;q5U{0H8B|WiQhcCi6K*2e`C{@8s&p^*$;@7&#D;O;%FJm%K_ADq#HmS%h zaIGk@RmvzSDX`Ml&jgC;fVX%9HDOc);vwJj&()8Tlpoxv3>ZnaQ4cC8u0?!h zU|>@Bba4!c;5-^;tK%FfQJd={*3IS_Jo#XfppaTfaIDwmC2xevm^qbKZsHcQ-`Kga z`{02`%ew`HqSfc_@?P=m<;oiU<6nOPL0t9p-&^0`tv*-2@BN+MCTn|>(+VG7ysr1B zpy;QDfna?;HzT9_CtdXe53IS9=l-h?o5t|qpvNW#pN92w@7HhfVKgmnX!h_HVc4-O zJA97iqxI8cP82h3HLAC|$Me~R z39>Vlk9}Ce!tj2s*As@SUGpPyYFHn4Cst|OuB#vJoc!VLkkxnQ;#(%Zn{%Vi zcHNM7XHv2j+i>;Hw7Hy;dI<&FqQcAlr|f@Nu~E8kYQqUV>8`5^yJz#N|Ni`D`kBzx dm73PVKNxNLjG}8ezr6xwS5H?zmvv4FO#rINj?4f6 literal 16152 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 V&Rci#%5+eLvd$@?2>^G`q%!~j delta 684 zcmV;d0#p6-4Z{VHBYy&lNklXhI~L^ z{(xAhMM{P&vdJQwEW$_@rBK&`1`2J$ENwvW7X-R1nQWAZkcASr&&BYb?`u9xr^d6H z%-nhRocHd{oqNgl&K|`QaR&ghxhz`E8h_Yqy@Bsfj0-GlBY)Ci)H;=8csUFNw3;>a zE6iP*S{ekxE`g#li{K|ZWaR877h=zm1eXOsoXygobIUj11P|jmIo1^YDG!6hD z+dF$So6AbE6Mv6CN<$$EP?r+~+SY% zxHA)pYBy~{Nw6iP+u!^Z`%W%h><=0KkEZnVCr=t0y#4?kw|!%BQAFKo zNQKTW=kav6u-IV2M2b+WsOU3{1Be++R78ztUL}8E9L-q5#SSLR8cxZw$MfGDBhgrP SdW~QJ0000wo?6S>Bi%tSM@+xQAe?R|_f7>yatoG~NP7%D_d zZE2OYR$oZmu8+u;mPc!CvbTIJ`6y(2mU1O5#XU1zsi%FP=RNQH{?G6C|MkD&N_?p&tB zCwE*F1jSN7P%f7fO#R^r6UBtlJ;a307P@?-cSND7h&B=BQAND%QZLy>e@ z4pcWv@S9Di+Gry3@$poTwTt-m|{Dfh9)pM;WWFA2NKS#E=;7D2af_ z7D0STtOV|^rHIS%{vPq6uXn)%MFNOMUUu+-c@=Bb?NI0vNG_Hf2+-WbI~o5Lvg~F_ z(p4S0)czXz;r^%TQNfjOiKdrZro;e%_6*yT9-u&s>~o7Up?~(37b~ZY;bjy@p|dW1 zk4-wIP zsDn-OvD%Kp%+Edj<36S)tl;3;vllmyK{<|Drbj;{DxyQYn$T@ zU-ZSDwL4vy=kbe^Zvg5v_8H*%?9$w5j#4}`HB~}X6e28M`6f(J`;y-_>c{;$qXN)C2{XY`+YsqJ%+QzKj~5#f=T5AV(tTc*0Jl5YqN;(C z+qZX6RL9F@Cv7VW%C6ELxi>odYu#*NKgp`Q7bI0NYn!8#B(CxPZgyEX-RgZ91NbxMX%@_ zqj5V`lK8OItQ@RA{Avp!Zle8P!+4jsk`4FvR_Vvhmo>TlfEX+G&ip;7;f!6c5%MCc zn=!cA!H^c0R5KKf1cE3kX2>xS@6RTE zmYSnAnrKdw3kT{he({xVG_s<_4!!VXsO6>(YvO*foO|NLnpzh(^wjg+k?1$gsmX?J z^ePlS%>vOg3s|1VQqEP;J^H*k!1Q!1`hxaR5}05ACi}VUXot4Bar2F#%g5ZPwQbU$ zisl|ptlu*^$m9Sdb7Pc`CC7E6=^uborKj+e%lGb0iDb3HnFwVqS zj-fDj^dpKEr8*4D7jM|er_~YIGJ~!&{Ose_z%T~LCb@0heJe2dM?L*1rhHaHGGPwh zWELr)t|JIMzN=pbRTXiZ5neMhm1gVe#rwFw%MDJ3_*~{+y_Qw++O(wfHzQ<}?Yx;V zH5w_**8ZB7;S5MsBjf>OFu%?u(AYzEyaAnvZ1_z@;`(1~Q|_qm^u+1%?y|VTNVRo$QHhU+$||v z9*VjXkUEw?vF^C)e#w>UPs0ya_EmQ8n(jJge#9o^lPDk7VdGM*I>Kc6e#(`ePZeH( z$0X%*Q+)8L?4Ut{>F{Vo!oQ8baiF^_I*ojSQ0#O7IkBNgU8kZE8P{gPd8cx6+@s%W zli$Lf*&%#-q0g88LkpA>HOR>a58Jil(;3J?jB!x3&qSC3P!X3uUHewN*XZ>lT91CS P`X7VsD-^s57D`h$9z$Xv zkdp^N6jXwk=8#J$IaG>`ND;w8>7k`b;(x&f0R&Y^!h`;P z0Km%fDgdZ$EkcnnN`)d5nOqT|9qiQ1Bzn6$O#8-1h5-PdKfIxmNwtBnz`)>;A_hgB z&TE&y6$t>))_>M<{Wn3P^DE1%n3|bXpU0wc$7ORtfEK;o9XLEbLo6CcF!bw!$5FiMCQ}>po z&KtoE0cJ4jJZloDUE#jI`!9{pv@w>o#WO8|h;v4pDgm2!ppJWmTpR)CW_ z%NmXlV5PI6NZ2&k;RdJ)u(Q+6oSE6=EUj2(peDf1PMf*2ysQEyD)6s5fA8)c7Gjxz z2?0*pX@94|WDl^i(`E-6UO*iW7@tl|7@v`#g*JF`czlN5?haHX34zBCX~i-FH38-F zR;OK`we>uJItjdi+6%k5II~>i+Cit1Y4yJ#__^=|9S@0-7+)%xMko?ipT|drQ7KoP z7Hi5HN;^R@@vIW-wws;f> zK@wpz^?w_#q(!WegIbl0DohMYwLN$qH){W16pw73A%M@iVFgE zwoAICNvTl8LT>(2F+@+?8Y8&u#Yq6IadFZJ&t9F)WEXXb)2bxtk|h?X&sHg;q@=(~U%$M(T(8_%FTW^V-_X+1Qs2Nx-^fT8s6w~6 zGOr}DLN~8i8Da>`9GBGM~RsBTId_|A5Z7NlCUU$t=l91qU45Kj08_%qc+?1*r!G zK~5$pWUX=%^U`gVDs)p)(-KQ_N|fx1%QN#*^2^O_^dYKHbwfl^4Ykq7V!sW@*H)21 zsm1v@rJ!)PGcq%=0fz;OC?WhAD)-&xTdddkY-?DDfV=645?sz8fBj$YACVa>mlb|nUE=mc3*N7u+r4%_-pqoe!5Tdy80n7z*F<%0)GTRaK{we_0TUUhX`-V~h~yK1ZR_9p%#zxHk3|9H1a z`Oe+%KTX;uIqS*qNq63VKRtabRp+jLAzfA~Dy7Er zy7QYaqtMqyqR*Llc;mTt?cUw=_;{bh#`XVxh;E%(VI$a*XshM@-$MMs**C9!jMS^E z$_i92u80@)+)}rS!Qg9B+3N3qBHsqM^Ot74y%Vvzw8KK?LG#bBxZ5|j@OdtY6MgaR z@A?B%C!XehyR~`aw0f!i%}S*&*Ef9Tc=5)jP%&+PY(~yH_N{$~89(X#|8?wG^wsz! z@1Dv{aGiHz=AYeh3}%#Gt{n7KS=x=&r~{5@vRnHppmkNFgTP_xgEUZzvWU+~vD zuFd3qvMQ6oWW8%9>eH9!xH7cpLhQM*sgpIpvq^^0O{L(&s`&VghyQ%> zmRzaB%i{O2tc#QH{cth0Rj)QW=E_Xv+ow)_4~btb^XS9w^8bljSUS$!xVw>~{9g9D zrAt$vdppQ5&RA)%hJCYsJgeOqErX{gk20M(fA)E0-}c-iOl#Ku+p}WR;nVz2&GYWr znSRfEcyaB=|EHVvObd7J+_Yy+S#D*lP6MCeJ&vFM*>*52^_{rxaII%p9a|;Ki;ibE zRZ9Qn+&ID{5IN6bUQQs(pQmyEPbD!5ymRTD+`qDGzCeG<(g04Ijsw^Ch;9*MTMG=H zJ-cLd9;~hL*vO#Ze?owhb4m{XhmZf6HZo-0C>C7Qaifmu#A~}MFOF-Ex*`~4<2n{} zEzW*@E6tTbr~B>(^$t)}*qqG~Va(w_kn_0N{YvaJuzgLF`#qQ1DDu266rSEHQgKwl zv1L#8JiF4bs-a2@X>qZ9R+E#na*UbKW061GPCq^EUnfs3W%iq5_hpIAPn+%^`RP&%onK>g4ho2#om?zuQzGn8~$ zk#sEd;vPW<)?=?{RF+zPFiSmskDK9>i@?NyX=~Qa4`+HHXSgpg?;qES#PhBzl$7=e zHKb{%`A-!o5pWc3-zDO!*{@;Mv-I2Vm$nYtiN#e{48p&&Kv$k_jL7hS?83{1ORX#P^SO@ delta 859 zcmV-h1El=o5b*|(BYy)pNkl%O=uHA6vzK7#fn7_f+z~52{{NtFH)!=#>Q(% z@Ki4ff_M>2N(B$%NyLlA=)r>*!4|3)F{Rh^>(WB;66h^tbFo_dK$MCVVLgN`o5^N2 z+c&dslKoxE&SaRKmw7WU|MzNvnUT>khcbR+eaWJX@1qP>L4P8d4EOoOP}B3q`Vwh= zb^~PdIiylaoIZ6T@UtJcwgCXe>0*l^_6xfK7E1Hd#he`;ZfVQrb66GLA&1_NDQI$?!6J; zY8c1{Sbr=ps(24J$OhQn`ZO)Jc_Y7@wGW8|0e-|P4)7y3ae$22!~rs55eLX*GM#Y%`@hY(RI4@E lb{#9LYfbHbae&I5@E`1L6NzzdrU?K5002ovPDHLkV1jxwo?6S>Bi%tSM@+xQAe?R|_f7>yatoG~NP7%D_d zZE2OYR$oZmu8+u;mPc!CvbTIJ`6y(2mU1O5#XU1zsi%FP=RNQH{?G6C|MkD&N_?p&tB zCwE*F1jSN7P%f7fO#R^r6UBtlJ;a307P@?-cSND7h&B=BQAND%QZLy>e@ z4pcWv@S9Di+Gry3@$poTwTt-m|{Dfh9)pM;WWFA2NKS#E=;7D2af_ z7D0STtOV|^rHIS%{vPq6uXn)%MFNOMUUu+-c@=Bb?NI0vNG_Hf2+-WbI~o5Lvg~F_ z(p4S0)czXz;r^%TQNfjOiKdrZro;e%_6*yT9-u&s>~o7Up?~(37b~ZY;bjy@p|dW1 zk4-wIP zsDn-OvD%Kp%+Edj<36S)tl;3;vllmyK{<|Drbj;{DxyQYn$T@ zU-ZSDwL4vy=kbe^Zvg5v_8H*%?9$w5j#4}`HB~}X6e28M`6f(J`;y-_>c{;$qXN)C2{XY`+YsqJ%+QzKj~5#f=T5AV(tTc*0Jl5YqN;(C z+qZX6RL9F@Cv7VW%C6ELxi>odYu#*NKgp`Q7bI0NYn!8#B(CxPZgyEX-RgZ91NbxMX%@_ zqj5V`lK8OItQ@RA{Avp!Zle8P!+4jsk`4FvR_Vvhmo>TlfEX+G&ip;7;f!6c5%MCc zn=!cA!H^c0R5KKf1cE3kX2>xS@6RTE zmYSnAnrKdw3kT{he({xVG_s<_4!!VXsO6>(YvO*foO|NLnpzh(^wjg+k?1$gsmX?J z^ePlS%>vOg3s|1VQqEP;J^H*k!1Q!1`hxaR5}05ACi}VUXot4Bar2F#%g5ZPwQbU$ zisl|ptlu*^$m9Sdb7Pc`CC7E6=^uborKj+e%lGb0iDb3HnFwVqS zj-fDj^dpKEr8*4D7jM|er_~YIGJ~!&{Ose_z%T~LCb@0heJe2dM?L*1rhHaHGGPwh zWELr)t|JIMzN=pbRTXiZ5neMhm1gVe#rwFw%MDJ3_*~{+y_Qw++O(wfHzQ<}?Yx;V zH5w_**8ZB7;S5MsBjf>OFu%?u(AYzEyaAnvZ1_z@;`(1~Q|_qm^u+1%?y|VTNVRo$QHhU+$||v z9*VjXkUEw?vF^C)e#w>UPs0ya_EmQ8n(jJge#9o^lPDk7VdGM*I>Kc6e#(`ePZeH( z$0X%*Q+)8L?4Ut{>F{Vo!oQ8baiF^_I*ojSQ0#O7IkBNgU8kZE8P{gPd8cx6+@s%W zli$Lf*&%#-q0g88LkpA>HOR>a58Jil(;3J?jB!x3&qSC3P!X3uUHewN*XZ>lT91CS P`X7VsD-^s57D`h$9z$Xv zkdp^N6jXwk=8#J$IaG>`ND;w8>7k`b;(x&f0R&Y^!h`;P z0Km%fDgdZ$EkcnnN`)d5nOqT|9qiQ1Bzn6$O#8-1h5-PdKfIxmNwtBnz`)>;A_hgB z&TE&y6$t>))_>M<{Wn3P^DE1%n3|bXpU0wc$7ORtfEK;o9XLEbLo6CcF!bw!$5FiMCQ}>po z&KtoE0cJ4jJZloDUE#jI`!9{pv@w>o#WO8|h;v4pDgm2!ppJWmTpR)CW_ z%NmXlV5PI6NZ2&k;RdJ)u(Q+6oSE6=EUj2(peDf1PMf*2ysQEyD)6s5fA8)c7Gjxz z2?0*pX@94|WDl^i(`E-6UO*iW7@tl|7@v`#g*JF`czlN5?haHX34zBCX~i-FH38-F zR;OK`we>uJItjdi+6%k5II~>i+Cit1Y4yJ#__^=|9S@0-7+)%xMko?ipT|drQ7KoP z7Hi5HN;^R@@vIW-wws;f> zK@wpz^?w_#q(!WegIbl0DohMYwLN$qH){W16pw73A%M@iVFgE zwoAICNvTl8LT>(2F+@+?8Y8&u#Yq6IadFZJ&t9F)WEXXb)2bxtk|h?X&sHg;q@=(~U%$M(T(8_%FTW^V-_X+1Qs2Nx-^fT8s6w~6 zGOr}DLN~8i8Da>`9GBGM~RsBTId_|A5Z7NlCUU$t=l91qU45Kj08_%qc+?1*r!G zK~5$pWUX=%^U`gVDs)p)(-KQ_N|fx1%QN#*^2^O_^dYKHbwfl^4Ykq7V!sW@*H)21 zsm1v@rJ!)PGcq%=0fz;OC?WhAD)-&xTdddkY-?DDfV=645?sz8fBj$YACVa>mlb|nUE=mc3*N7u+r4%_-pqoe!5Tdy80n7z*F<%0)GTRaK{we_0TUUhX`-V~h~yK1ZR_9p%#zxHk3|9H1a z`Oe+%KTX;uIqS*qNq63VKRtabRp+jLAzfA~Dy7Er zy7QYaqtMqyqR*Llc;mTt?cUw=_;{bh#`XVxh;E%(VI$a*XshM@-$MMs**C9!jMS^E z$_i92u80@)+)}rS!Qg9B+3N3qBHsqM^Ot74y%Vvzw8KK?LG#bBxZ5|j@OdtY6MgaR z@A?B%C!XehyR~`aw0f!i%}S*&*Ef9Tc=5)jP%&+PY(~yH_N{$~89(X#|8?wG^wsz! z@1Dv{aGiHz=AYeh3}%#Gt{n7KS=x=&r~{5@vRnHppmkNFgTP_xgEUZzvWU+~vD zuFd3qvMQ6oWW8%9>eH9!xH7cpLhQM*sgpIpvq^^0O{L(&s`&VghyQ%> zmRzaB%i{O2tc#QH{cth0Rj)QW=E_Xv+ow)_4~btb^XS9w^8bljSUS$!xVw>~{9g9D zrAt$vdppQ5&RA)%hJCYsJgeOqErX{gk20M(fA)E0-}c-iOl#Ku+p}WR;nVz2&GYWr znSRfEcyaB=|EHVvObd7J+_Yy+S#D*lP6MCeJ&vFM*>*52^_{rxaII%p9a|;Ki;ibE zRZ9Qn+&ID{5IN6bUQQs(pQmyEPbD!5ymRTD+`qDGzCeG<(g04Ijsw^Ch;9*MTMG=H zJ-cLd9;~hL*vO#Ze?owhb4m{XhmZf6HZo-0C>C7Qaifmu#A~}MFOF-Ex*`~4<2n{} zEzW*@E6tTbr~B>(^$t)}*qqG~Va(w_kn_0N{YvaJuzgLF`#qQ1DDu266rSEHQgKwl zv1L#8JiF4bs-a2@X>qZ9R+E#na*UbKW061GPCq^EUnfs3W%iq5_hpIAPn+%^`RP&%onK>g4ho2#om?zuQzGn8~$ zk#sEd;vPW<)?=?{RF+zPFiSmskDK9>i@?NyX=~Qa4`+HHXSgpg?;qES#PhBzl$7=e zHKb{%`A-!o5pWc3-zDO!*{@;Mv-I2Vm$nYtiN#e{48p&&Kv$k_jL7hS?83{1ORX#P^SO@ delta 859 zcmV-h1El=o5b*|(BYy)pNkl%O=uHA6vzK7#fn7_f+z~52{{NtFH)!=#>Q(% z@Ki4ff_M>2N(B$%NyLlA=)r>*!4|3)F{Rh^>(WB;66h^tbFo_dK$MCVVLgN`o5^N2 z+c&dslKoxE&SaRKmw7WU|MzNvnUT>khcbR+eaWJX@1qP>L4P8d4EOoOP}B3q`Vwh= zb^~PdIiylaoIZ6T@UtJcwgCXe>0*l^_6xfK7E1Hd#he`;ZfVQrb66GLA&1_NDQI$?!6J; zY8c1{Sbr=ps(24J$OhQn`ZO)Jc_Y7@wGW8|0e-|P4)7y3ae$22!~rs55eLX*GM#Y%`@hY(RI4@E lb{#9LYfbHbae&I5@E`1L6NzzdrU?K5002ovPDHLkV1jx<+OrD zDTo|Z>Orx1&;u$I)S@UT1#K%JL=+-L3rZCQO1nuYqMx1bo1K|A?|=WBf8KnX8@kEQ z$Z(Y*002e-{_HSx^wf0R67*XGrwpJ2MjGbl4SaKzFp4gWq3D2wkPyHgo#W81Y2D#P z=oc^c-zo)w^#?Q^V@Y3g8UXZ#a6~i`9TH6EiISbUd{I2)EKe3|Q4Bd9ohCyFmncsb z2&Hs6lce>aqjQZJBoVbP$cIc)bVw-CMNfJS-ySqC`p@B4-6YAk4-7ZA9awnmbtPApA95y87NnkMoi-bf? zTyDHbhA>Ga4bei=<;mwQ@Q7s+ftH2O10eyF3<(h_NOh)yufid4!t)G;(s?;hVL;6e z3ZuLd79d7=8&IWu@BoM$FW$6O0Fp)`;JMp0eu1tWCSkhEj$QPx)%>Z>?FQRqU7lSgu zSMW15r>1WWgQOyXOrtxC=DLBQ)#3%~^Bd41qF;$vY<(FKnj}I*Xhlh2UVspRBw`6# zT{^~jzW?`lIo5OXNFj`{X!8MHGA}|cx*fWg1W6T1K8(=b#B&+{*JVD8PSQmcsw;o3 z{Am5N3>o0UTVff0aYAVg0NCsRwpWB4GaSQAGWRkc@K^0ZR@eusp7^i99XB_>Fl*u3 z8fW2XUSFTHIVLEEx;`4`ieFWqU%fmym>t?>A7^Q5?HgYGnw;2{Hm11J*HBt^OL4}- z+NH{6^5c&NraH?SZr&2SqiQ(Fayf17x~lc*g`eY6ZbwFh`xmV4!14~CPp$0i+!^H~ z_)}o;ZS#4|jhMc^x=2OwT!v$tZ?EyP4VjeMr9SFwoPQ3TTJ{TuaicqarT31T_vbDa zyfKPQ_t=r}*MKJ99WaFJ%IeSC)AC4f!e*w9ru^h?aS$x7yO) zYle**xiMUo+1^t}!1%rXc&!*<;P>M3`rM;o*na_9ldQ-0grP=-(U;kWN6=|$C9B!uqRBQl_0CWE zKtfHq{ICtq@m+*5>VSy%IWOl&ZaF>Ig;SOF^YNaIW`@Qr z4z%)1`>k;}(0F5{zD@PE$=-{x$2k(w-CaP(*+xQt_SjrrydF^D?PF_m?)rTUzDd2O z1bFL#JAN~#-tXzDCNr2FukWJ7Dk!lbhu^74YUwyH;WzuG_0+v;|5urt=HxOqGl^Kkl1 zlVzwVH`k6(ajbZ*JhmhKDrZfa@(KHrUj1k(e7n;dr*f(FiR&3l&-*+VPo$g$27CEH9*P(k^I3CpmBq-6}x0S~gFVz{VGjsJ~iw=#dI9N2M~J!o`PQO>Cv?L%Mj_wPO$ xDp%IJSY^o)Rk^HjtU$=0iOHyaf;}Dc>@`t=A-yV7!qWWn1AI5JzwwUC{1=>?Sw#Q< delta 890 zcmV-=1BLwd5ReCuBYy)|Nkl%PiPZC6vn@mVx`3%grX>vY{)?ndXYj4(%5)i zvUsW&1wp(Bp;E6N#f#F2;Gy6}i&bw4xu$K3&_eN2@D`F@S}awON{ba?J(P{x$z->i zH=8%j{%-p(v-9n|nQz`?3@|e?I^mefBrH3NQlSXT&H?~l&VS^Q$)tbH&%K`&pV{Bt zLEpe2_IG#i?dSJLl=4qe9#%;zm4s;~kRBgHdVCB3U>Jtumv4v=KmtVHi!7^nUrSY5}eAerZ+B-i!7E0BU1i(y4}SyrFM{JZP0e2H6R2n(o>fN3UBDio#HV&wxwqV@suaV7*qLzkb4=e%F+-h z1+1+ulHY+sBrPDym{mZZ$wdSTaX0^8h@u{W@c)7idw8P$N~h7)2-~R zF0DXG2!xG!S^A3$B?3e_PDhQBKEQ9BZZ)CN1tooecP z4{$}$iH`dK-C*$nI>F`xbb-YO=md)okfp!4=%N0A%m;W|g4+jFmRA5ATHtE6MlDtu z-$vL6LvxWF9`AxU9(@nODFpj zEd}UgpTaHxw~t^KfZIo~3jpx?2rUHQ^bza=aQg^lS>bkh{N(9X@tm795tApf>(dW& zq;vAw1(;W?lnCJ~_m$%gQwtVu9{k~}~tpn|9nlOUP=Hd#!l1w!PF zl{dvmD~i;rg(?2<6Vck*3dFvt#Ht8rv0y=J<;SrgE!Ie@kGDw>!LfJd?!EWy`Mz`R zch1i4O<5oB?zY$s004IZKQ0wp*VrfC1$&;7zB_;|pf)u=259W?eSjT2BpHI-q$D5+ z+vBlmAKhsmVNZgZpQ#0aw-4JV=!H<50pJa#G(7{&NJ>ORDg{F*R&AFs^a`~D#nvO( zRv|%!6um;O)FOHg&EbJyd%GE?Q5-I)j6=&vN}2QK6o$)Gl+9yx@tGXhj;S z8kMS)6g#hQyDA^$&}jBRv%{IESTq|)ov)EQqKHMXL@rTCl&BUCWrV`7!=cjLml-Ox zGjd?U!1gy7jQLuaK#hvRF{Re(v3zFkhb1a<#MPo=c#Z?iVlr3JnJhXh3ZA_mmOfi7 zLQp9xmpFu*y^ljdo*bQTwfoy8kW1~#B66W}2ZyGoizT_jd^t+vYIRbjSfyLZhMivX z(N61pQa1dW_-y;Fk<3(yRwd83>&|6GhO-@7%(K3%fD@7NTEtxItB9056{^BIN+T5s zl&D0b)?nS`j5rhT?>%1SdKr9!Qi^g}GX$@g=b+|P2jOW@ok}B1cU0n~jDPDgL*tZm zPKP?%-yuKN|6DgVJo_zi-3~Swd;kF2D~RKz>%p-sPToQusg+MLZY@JgE~Xnz>&=Ou znKqs_#U%XapCxP(jbBFbCebo#&9`W^-QTY3d}jD}ju)w(Ox;>`o8SUn*G*ixSfK5_ zdcA*)?2A9U`s^-Mt18#F?a8>iWdG1`Lsj%zYRI*_cXpjQbD{BhU37Buewk>|V?mRR z_ZQsVrrCcf>BA!}oa(}X;^{}kLhFQe!{jo8UtjQl2j09DTCDh@TG95`D)q^`b!{$k zrqzwa~mi_-=iQgxuq_t#>x$iHW4%j8{z zP71*T47gwqP+@XTJgqR}P`phg8 zhj(C}nzG9qx_1^6KPX(;w{^348Ex>1uE%I?277Yz`bIS#0=)SG(GS3 zsu>GdWBhm!A8>!>ADQ~glJQh7=7@LlB8pSJA^Oeg_t0alGGNM`>@Dj3|`TJ#jm zN_^MTFet#GeDT84%jbXA!607B~SCf8;l`^$=@20j63m1*z|@!BJu5CG{~YB<_@2X_+V)K-uFFE?no8! z(+>}B)xFh|f3@$YrQApa2@Goz-e1Y+ zJ#?ke=NwJc>n#1@<_q&m@2yw~l53%OCN;YKyKW_pw2Bww=#jqWA7X$oqC#L*U6)=R z4lrPa45RNRP7VF&t+3euRp*(u_^*O335JNH2X0;dw89_U64_Z<`mE;@8rCS`d}FMo z9$IwqNkaC4ohZ(qPbklcDJnmGs>ah`A&~njOm`2b^;AOOHTH{ELqKScp-Q^weJk9) zQ5rw(H=&vQq0z&4Pr%cbV-Vcl=`r@aWetieD_WKLxJE$ck<0hBeY4G+cmD#gJLL3K ztf0Id4C)}==pax2>)4UQgU4GcAh3rRxX*()c{bL#Jf-)>qs1+LTMwX*lTy|xIN|$! zY9M%|pil6Rl*gT={`VKzjztUyoPj19fl6>~bhvQ%WK^Ta5eOVpX}TBFZ15afn?U+zWW>Y*>-8GU9UAdc)s83!u-M_^nZI@`1AC*N4fti%E`Pa zt{36w)%WpValHrt0GVtq@Oby(=NA^q_s)>7zyaGbq518HZ+#*TCE8S}Jxj1mH9U9^02A3nZs zfBjtT0C;Uab$=SLUD|51-hMP3Kqi|5{O|x`G+~b0m0rlw((5mHF6xb^E)T#&y=k7B zprinz;(V&|fT%d1`aB>i&Wp|iqzeEbUYo}#A%Hk-9wS`RkT5Dk!N z)3YK(05WZQR>%U79mlDV1t2?)Q{iF)NwRqi7Xc*6=6^9#0EFiOxV(jnAF_!h4`2x@e#nH2514k{zO=b9{vQ`Z zWWm)31b+#^^#QGmmJ&9P;o<}EnDq%^C2m!SZ9O2Y2S7H$^8gmM2f(&WB}_v2dH`;6 zNL?75H4jK-7@Q^q;+nsuh$e7Z6^_aScFQ~Yv*vjr==_`OOQ{uV;dwy6*M)km(W&g4 z0Py@%*yZN>lKK@$=(>Q2izaD}P}c>h7tnP9U4Iuymd#^yU4VLlq}K&>pCILAQRqHF z-6yE~1gHL-igW=0=srQ+Cnz(IkiKE!;P5Dq=SIT;)N75-B%i=b7}67=u#J;pnkQ9DPeC?SBLjg!vZ-FV;Nr2YeVdL-Rjx)Wpx zDm<+OrD zDTo|Z>Orx1&;u$I)S@UT1#K%JL=+-L3rZCQO1nuYqMx1bo1K|A?|=WBf8KnX8@kEQ z$Z(Y*002e-{_HSx^wf0R67*XGrwpJ2MjGbl4SaKzFp4gWq3D2wkPyHgo#W81Y2D#P z=oc^c-zo)w^#?Q^V@Y3g8UXZ#a6~i`9TH6EiISbUd{I2)EKe3|Q4Bd9ohCyFmncsb z2&Hs6lce>aqjQZJBoVbP$cIc)bVw-CMNfJS-ySqC`p@B4-6YAk4-7ZA9awnmbtPApA95y87NnkMoi-bf? zTyDHbhA>Ga4bei=<;mwQ@Q7s+ftH2O10eyF3<(h_NOh)yufid4!t)G;(s?;hVL;6e z3ZuLd79d7=8&IWu@BoM$FW$6O0Fp)`;JMp0eu1tWCSkhEj$QPx)%>Z>?FQRqU7lSgu zSMW15r>1WWgQOyXOrtxC=DLBQ)#3%~^Bd41qF;$vY<(FKnj}I*Xhlh2UVspRBw`6# zT{^~jzW?`lIo5OXNFj`{X!8MHGA}|cx*fWg1W6T1K8(=b#B&+{*JVD8PSQmcsw;o3 z{Am5N3>o0UTVff0aYAVg0NCsRwpWB4GaSQAGWRkc@K^0ZR@eusp7^i99XB_>Fl*u3 z8fW2XUSFTHIVLEEx;`4`ieFWqU%fmym>t?>A7^Q5?HgYGnw;2{Hm11J*HBt^OL4}- z+NH{6^5c&NraH?SZr&2SqiQ(Fayf17x~lc*g`eY6ZbwFh`xmV4!14~CPp$0i+!^H~ z_)}o;ZS#4|jhMc^x=2OwT!v$tZ?EyP4VjeMr9SFwoPQ3TTJ{TuaicqarT31T_vbDa zyfKPQ_t=r}*MKJ99WaFJ%IeSC)AC4f!e*w9ru^h?aS$x7yO) zYle**xiMUo+1^t}!1%rXc&!*<;P>M3`rM;o*na_9ldQ-0grP=-(U;kWN6=|$C9B!uqRBQl_0CWE zKtfHq{ICtq@m+*5>VSy%IWOl&ZaF>Ig;SOF^YNaIW`@Qr z4z%)1`>k;}(0F5{zD@PE$=-{x$2k(w-CaP(*+xQt_SjrrydF^D?PF_m?)rTUzDd2O z1bFL#JAN~#-tXzDCNr2FukWJ7Dk!lbhu^74YUwyH;WzuG_0+v;|5urt=HxOqGl^Kkl1 zlVzwVH`k6(ajbZ*JhmhKDrZfa@(KHrUj1k(e7n;dr*f(FiR&3l&-*+VPo$g$27CEH9*P(k^I3CpmBq-6}x0S~gFVz{VGjsJ~iw=#dI9N2M~J!o`PQO>Cv?L%Mj_wPO$ xDp%IJSY^o)Rk^HjtU$=0iOHyaf;}Dc>@`t=A-yV7!qWWn1AI5JzwwUC{1=>?Sw#Q< delta 890 zcmV-=1BLwd5ReCuBYy)|Nkl%PiPZC6vn@mVx`3%grX>vY{)?ndXYj4(%5)i zvUsW&1wp(Bp;E6N#f#F2;Gy6}i&bw4xu$K3&_eN2@D`F@S}awON{ba?J(P{x$z->i zH=8%j{%-p(v-9n|nQz`?3@|e?I^mefBrH3NQlSXT&H?~l&VS^Q$)tbH&%K`&pV{Bt zLEpe2_IG#i?dSJLl=4qe9#%;zm4s;~kRBgHdVCB3U>Jtumv4v=KmtVHi!7^nUrSY5}eAerZ+B-i!7E0BU1i(y4}SyrFM{JZP0e2H6R2n(o>fN3UBDio#HV&wxwqV@suaV7*qLzkb4=e%F+-h z1+1+ulHY+sBrPDym{mZZ$wdSTaX0^8h@u{W@c)7idw8P$N~h7)2-~R zF0DXG2!xG!S^A3$B?3e_PDhQBKEQ9BZZ)CN1tooecP z4{$}$iH`dK-C*$nI>F`xbb-YO=md)okfp!4=%N0A%m;W|g4+jFmRA5ATHtE6MlDtu z-$vL6LvxWF9`AxU9(@nODFpj zEd}UgpTaHxw~t^KfZIo~3jpx?2rUHQ^bza=aQg^lS>bkh{N(9X@tm795tApf>(dW& zq;vAw1(h?X&sHg;q@=(~U%$M(T(8_%FTW^V-_X+1Qs2Nx-^fT8s6w~6 zGOr}DLN~8i8Da>`9GBGM~RsBTId_|A5Z7NlCUU$t=l91qU45Kj08_%qc+?1*r!G zK~5$pWUX=%^U`gVDs)p)(-KQ_N|fx1%QN#*^2^O_^dYKHbwfl^4Ykq7V!sW@*H)21 zsm1v@rJ!)PGcq%=0fz;OC?WhAD)-&xTdddkOtj6-Z1 z1a@3|bN$@)6%YG07*$O95)SBZe^^yr{r`l}zyH7Y{QdR!IorP@^>wv>&;C*VUssz_ zas7?|GiT?c_KQAGVl4RS5H9+@?A_O6%qP?g#hZ3+={mosNc;UqhAT^E9rihDyuIr& zV@rV#+pbj=+l#l9cQWj#S+KgR+}geRF=K)rOL3-X{70+ZpXB%z>c2@f%{m_Q?B)7L z6%2kBYQ+|3!fcA&KTyw-y2!{&b6?(n9(wxJ?c(!bVtOLjK6tK&8SNU@`oMs1kX!GjpdKhv)sDj&&_O(EV<&D%k5j=GR!IPc~&rEZN;;)2b!>uI`?WTa!3ikFJs6GI-9uc z(ahP0$`}-7CO59ry7%_YD_d0tJ^2@_9^E~+F3y_aOlyMP+DF=P>FW31GJHy3uehS} zOzOOUBHNe?4jIlooVe}L%-fC2Sq?m9jt$*&+Y;z3h1o}9IG$b7vip3>ch7Cc6`rQ; zGrQ9BxNgH^WAp0oQ(&>NyXq~20XX*7SInJTv7PzE{Jm`po*7QB{1tqI?*QlV6u$PG zK<(`FgczptmxO-Id%h;lx*A4S)11|>m6Kxy@{ wKWIrdYCoKF)VQ2QUlQhtxO^KVPmp0rzU{I#bCmgKRe>rqPgg&ebxsLQ01EZjJ^%m! delta 386 zcmV-|0e$|@4x9s!BYy#7Nklb;@5JiWS6zS4ZbHE&fn}$eH3TnE@8dl)V zU+?os|1}6k4BBtc`Wg8UFsIY`l0Uose#P$%^5v~~w)i#m9(EbP z@(BN@-UA*$Uc~aqwicP|DtG|PMYc}sS9KLUfQY#>pV>tKGk<43g9p$%^P@w+1L&Rk zTvx#ZXkibq2iOBv*H!QUBJ2V70MY{vY6JRyUS*RrfSl=GHVJ^7>0aaj=4~SYbpRot14eSB- zfJZ9r3HAWBfqOl`9#CuMGxh+rfjz(;@JOXS!5*MCum{)!YR!Dc9-ua;?g8@i0V?$K z1^5#pEoSa1y9{9Fo`MHJdjuW;?GbnY5q?e(^$0uw+9U7)=>HS&09x1s>;d+G)pZp- gfCzhlJ%IFpI}YWnoU#P_bpQYW07*qoM6N<$g0YjcX8-^I diff --git a/Resources/Textures/Structures/Windows/shuttle_window_diagonal.rsi/meta.json b/Resources/Textures/Structures/Windows/shuttle_window_diagonal.rsi/meta.json index 453a379722..8477687a8c 100644 --- a/Resources/Textures/Structures/Windows/shuttle_window_diagonal.rsi/meta.json +++ b/Resources/Textures/Structures/Windows/shuttle_window_diagonal.rsi/meta.json @@ -5,7 +5,7 @@ "y": 32 }, "license": "CC-BY-SA-3.0", - "copyright": "Made by brainfood1183 (github)", + "copyright": "Made by brainfood1183 (github), transparency tweaked by Ubaser.", "states": [ { "name": "state0" diff --git a/Resources/Textures/Structures/Windows/shuttle_window_diagonal.rsi/state0.png b/Resources/Textures/Structures/Windows/shuttle_window_diagonal.rsi/state0.png index d218355a78d335ad324d4435bb6a2714b693251a..f3a4f8bca59aa05e9643cee5653100277b0028a6 100644 GIT binary patch delta 939 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 H*KPV6dK~`C diff --git a/Resources/Textures/Structures/Windows/shuttle_window_diagonal.rsi/state1.png b/Resources/Textures/Structures/Windows/shuttle_window_diagonal.rsi/state1.png index 810b703900240ea7f30ff3afa8186dcab19592e5..08bde9a23c42d60ec2495a3241194dbe33b50f11 100644 GIT binary patch delta 887 zcmexZ(a$|W#g?%+$lZxy-8q?;3=9l>sS%!OzP=1vKsE;ugTSTW$v~2`z$3Dlfk9&y z2s4UXDQ;q5U{0H8B|WiQhcCi6K*2e`C{@8s&p^*$;@7&#D;O;%FJm%K_ADq#HmS%h zaIGk@RmvzSDX`Ml&jgC;#BtJK`q$o4l zGp{7IsGumdBoU(8MjvbfRuz-`xkM-5=Q1=$@~xF)QAv4zQFaK}XCSBAAO{AD^yC%X zX7z`zMSNvoU|iwp;usRad31`s7qg?p(c>CXOQ!DaOi*0m>2)ySu^`JwjyNZ7Z&#P1 zz8g25a2$-dy<9->Z1j)TlPTrtYQOWl{;JKs`*ZL6y)#Xh9W5-V__h72Sp0{${pnGH z3^8ZT^$xV1Pn&<1tKgx&|M#<;Cz{N~9OeGJ__3z0p1teA--9P}*UrAcUSBKcnE)K7XB&HM<^9!BsD%4G$l0|89CacL&Q2zA0i1HYUXfO>eL-Rr+x7 zs%05BS4{CSv&r>0xMJLM?LE12@85i@m;3+k%;g$)FW)%9_~0d1cX#!bE~DqNSz8#S z*S)*j-*e8gd-bhtlXw5EpTZz-qf#uru5v?zfJOJ_kDIKXNoGxGkk}!%?Y!lJJ+J=q z{dn+h``j}x@BQr+cqeZ4pgDh%CDV$XOimAUgeF_Q4=`pua$swK&olRimDx-+A8r)u zl^1l}XmdKI;Vst0ARCX8UO$Q literal 15473 zcmeI3Yitx%6o3asBE<@d+DZ&=wviw(JCA+NxLsPh#g@9Iwl%a6h3U-Q?a}bEYx@uk(MN!qQEx}IsZL|Kbp8-FObow0pni+5DH7IJaqmYHG> z)Y}`afVQ4chpkCZ0Gr$4p=H+NwRr^x=k|JC-X%7k<=hPGWSlI`J4F{Ox_DdevInZ* zoj;+3#m?aJTsSDz+xty3E;39qnRFzb4m}ZJI6)8?mS=dLhBIhmNHe7rtr>M$CwV_X zV8{tIZmPOwv;0bZ`k+~Fw_AYXdh1eC>8;ey8ZJ5m)Ac7pyik3$AP#iFw zz|aR1GHBiaw^CPW_of;yCa27krI~c?Af--XW@)l!nWK=+kRR?@1$7|&AYlekLdD=oNF=5i7Z>< zBs&xF5z-YkJXG|-!2`{Ab6$~!e|)Krl9{LvSU-wnN>lPuI=94+B8y=?5tGb-8j~V` ziE9x*QyeUrSvXZFW#l_M>AMny_SP*2V>~jId zlQ|pZ=EareT<4=h*OfOOc6!3BkXA=UgOsKG(OVN@!)?O5AFKnO8 zy1hQy=K(zJ;anW;bIM-Yjwo-4;_mx7YhEofdKhvH>Nw!*cK(?wLD1N4Fw74wPOs$a4DIv)EFEO7yMzSAh zxUP|Pm6tm8%3Y%2Z}ly@Es-(uONc!<4G(Kc%5^ zrK&|%b~LrsBbPf&%wT87n6oG?4T z@FKy5=YwboE(8c(B)IT=5G}!l0Ktm{7oHEICAbhEc#+`3^Fg!(7Xkz?5?pvbh?d|& zfZ#=f3(p795?lxnyhw22`5;E;e!iTdrY&p@Hg=~@e)in{s%;Im$HwP}ZqyF1m^1xx z&y41_?Q?=F>qc6>vmG~%|IpTQ@X+leCr#r0PaJ6yBp=#S@G7k4~yZ17*K-j+}*aHlH|f z^kT0=x@Ygat&1+D4<(OYeA$>eaC)rgpm1c<<)`lV?wj59_uF5&R@plqhO%;G^{=J>UnDMyCd6o4~_O)F9o+Yw+HtwTet0BQe5bp diff --git a/Resources/Textures/Structures/Windows/tinted_window.rsi/full.png b/Resources/Textures/Structures/Windows/tinted_window.rsi/full.png index 6baa538dad92fff2a6c364b70fd4a5d045c04afc..6e1e863798be43c1e8c7dba75392d64f10022699 100644 GIT binary patch literal 3495 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 nXYAxZ&0s4b(PK|I`T=@cMw+$i_EG->@F4?q diff --git a/Resources/Textures/Structures/Windows/tinted_window.rsi/meta.json b/Resources/Textures/Structures/Windows/tinted_window.rsi/meta.json index 30517fd0ac..90748bedfd 100644 --- a/Resources/Textures/Structures/Windows/tinted_window.rsi/meta.json +++ b/Resources/Textures/Structures/Windows/tinted_window.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/ f141c349e063f7318d8c8a2417d840f0b2d06600, modified", + "copyright": "Taken from tgstation at commit https://github.com/tgstation/tgstation/commit/f141c349e063f7318d8c8a2417d840f0b2d06600, modified, transparency tweaked by Ubaser.", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Structures/Windows/tinted_window.rsi/twindow0.png b/Resources/Textures/Structures/Windows/tinted_window.rsi/twindow0.png index 414ffd9f3ee92a394adcaab92ef34f74bbb1afd5..162cfa0cfac669a97ae0972f60d90baa80dbc3d4 100644 GIT binary patch literal 4035 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 ab8t=W+3+3vu@AfdWqM}}wJS93LjDIjjs7hF literal 10814 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 ZYxlTu#$ZI33;lct)RncBDiy54{s+=SrBna_ diff --git a/Resources/Textures/Structures/Windows/tinted_window.rsi/twindow1.png b/Resources/Textures/Structures/Windows/tinted_window.rsi/twindow1.png index 90131a48bf96cc8117ce389ac97229626c1ca243..f022a67d8126e95d08de8cb8a2e1088722b1a218 100644 GIT binary patch literal 2719 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 uW-yZ+eV@6{#91FZD!?nr3jhEF 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 diff --git a/Resources/Textures/Structures/Windows/tinted_window.rsi/twindow2.png b/Resources/Textures/Structures/Windows/tinted_window.rsi/twindow2.png index ae12f39860f52ffc274a700f9d45e285625ff1f8..162cfa0cfac669a97ae0972f60d90baa80dbc3d4 100644 GIT binary patch literal 4035 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 ab8t=W+3+3vu@AfdWqM}}wJS93LjDIjjs7hF literal 10815 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 diff --git a/Resources/Textures/Structures/Windows/tinted_window.rsi/twindow4.png b/Resources/Textures/Structures/Windows/tinted_window.rsi/twindow4.png index b79db5f7893ce7908127d271a29bd3d13c6e8fb8..41b69347b0b5028254467b7a0217557557c60269 100644 GIT binary patch literal 2692 zcmZ`*3pkVQ8-JI>oYz159E&y8=xg3>a@uB_$oUi!(r4JP%(mubqnM~1QVvNa%J)z8 zbxJkU+qrD?H__Em3JcLX0hytSh8?9g$P zdV)?sww3!{JL^M>mL~P^u1yR`qMA$8uQ~V~^N6=*3}4Y!Rod}3%k|LnVxmE6WU=S( zM?cl|EKKY*qf!x~zwS@0+4I^`l&G^V+v(IpOq91s*WzXSSc{hfIsaVQ?YYz8W*AW7 zX(O>ay?jJf1Tjo|BJP^ywpccjubKTX$4R;N=thHp&K&i@1Em3-f2$2%der;R#fQ5a zFFgP4?in@i@w9XM^anS1O=XO!Ze%;QyI0K%&kMVucXMx8wnk#jqDTMj%e*z&Z8-h3 zK$OZtQh7Ibp|PCwlvRb0n+n1Wv)vm~`*;uAdSc{xe{)mk=#tSV>0+OU;U{>NDp*}+ zMXZ8>E?pY9Z)Z?}WZpH#JdU8>ZAsZn%!8D>i>V)lZSC-$y3qEkF&V{7Q=O2HT}6XB z)%BZHoi9`mH2yJEa{a}8jndjqB2?bDzt#G~e@us;O_eGw6-*n8nl`Vi?4O$~tDY7! z&^6N26Id$StH`E&-1plhTUB{3L2&?}t}UN1ptwX202J6P|3E0v(}NhnjWrKraKoAA z!dTu6i!3C{wy{ho3?+b0KwPwbzF8T|SsQPh&|2N?r^;;^fuy}u9^!O)|l zPM>O=;V@5>wG6a#H-q|_^khYRykf^WA~EM&Yc9Y46W$GENy5t@=l zE)RP>t@J>-?C?M)e!scqpCYknigYQSa!3J$H|-k8&XFDr3A?m`k3rzI%Fi3r90n?# z`>LcT*IwN|oO`7?wUNAx{?ZWeS=%q{Fg4#uH!3SU5(7vsCloCKld0N1HS*IPCWWE-N(CX#)cb#}K(q(jZNh3i+ZSUJ-52vdDMp}T-uElAccXXxq8 ztH0i71FO0S+hX6g_61-w(n51FT8Fqgfy{*~o^PHS8!%S4DVh)p^)G39h@?|@M~#>G4`r(Q@s5^J-GuI8>wAZLZ3@^wnb8kww|V=B5pyV_=~3-Hn-U9SG(Dcs?jhj- zzOHwi?DUdgy(v=L1fIJ%9EotYJOsndkJyc*?l=PYu86TYzQ7Y!hYxUl+m`7KLt1Zf zQH^D&k8b*E#71F z2HEXrJz#O?Z2~20nMZI#H`YQU_te?STde5~_pBnjds5kDHxQW6M~ z$rjDVQ8qv0;vgAZ8n9&;@w~%*9zUcFPNk-+|T0dHUc6z8(8l~iX zvjx5;Xpv>S*zVK2L235xwfg!@h<2<8L$Zbo*Dcgabdyluz$!1{cOm)|?$y|L7usUZ za%t+v!(y^G{B3dqlVR6w22?SO`rZh@gAP`j=!xFCM*|^S`tl2R)hhzZc>Gfv`V)-& PzruB;m*c4w^tAs2eU4hf literal 8217 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 Dt^%_Y diff --git a/Resources/Textures/Structures/Windows/tinted_window.rsi/twindow5.png b/Resources/Textures/Structures/Windows/tinted_window.rsi/twindow5.png index 83797163f225f940ae731ded308e1418c5611567..8f02050ca08c4e2a8fe8b615295b9b89fc61d595 100644 GIT binary patch literal 2318 zcmZ`)3piBi8$aVRh6=e9g&D(iW9E#@iZR9rWmXt6McWN?Fc~wNIc}wh>QC#k@^4#W zsU*4dCo9@qQmLdeX)DB(dfbQQFQSw^GfL`dzvubB^PTs+zxVfkzxVx~lf-o2v_xfv z3IG607%om;$dfLe7&NjLarTJ;09DFybYwCd9dS$nKaj(P0ANk}!E{>}Jx{G;_S+I( zC1B7DKeMCTr#BEyD@@kJ-?+T4(DSZD;@YMUR+wnGtj*Wfa$33jXeq8RXIaQvOuVPM zVNT*nL%c#}_O)}8qW+^dr+ah9b8UpAsmaafPY^@{vuEqtb)BnoOt%MX@GiKW-SXl=b5397MOOd2MUBE}Vh!e+efN0u zuHxN?(<;g`SOo#S`TokgP0>}S1%z`<;o_d%kIPdd`0wrkG1YLF{SqccO-*>|J^w*C z_Gx1bO6f{f-<@6DnfNnUQLKV%vqy`{;RSt9U6#~E_P3c4dS=l-OAkXD^`@lYKn<)YOP?8^;?+=lp zLc?SzY7_<8hC;9(E-IAE6H=n=@G=hyvX`1cJWl2UhuGnL+?Y5=z5v2mk;o)6o~DAs z;iv+3AjQjR<0m-sW`_@k;V=paMn*=GA}vUKK@ezWV`Br7%|UZ>BH}?5M)P35C?Zd2 zG#BJ^94AN^AmD_-96k>xjqB&n4~OmWcq!5Rn9GwLFwYYfF5t>o*a0BKg+d`7ECkI+ zX5ja5FemU!hCJaXIS^q$=@$e>{w|CW1_xLoN;yX%`FuJbl4yX8R|vDg1rDG&nQToY zn-k4#!1?nb=~LMO6qo~ZA(?RV=aDJsz=glIO8uo0a5++CDO^8ZkR3jX$c6&_!nrV> z21jyuYQr&6m&8adezA}C(z#PEmdw_+; zZvo6;KFmk@Nx%tU@L)&~CO~>i#`l@--#xyK^@W?oWooSDpneM)0prcUh;mp-V=w*BwW z&m-JhS3{oFL3$}X)pJUDUD(V`qb)BAR1W)7$QlP&ux;%~Yjcp>A0fql%OA#t8`fv- z6V>arF;%s_#QxDqE9H;Ki?Hoab#gOXa;+oUJl~Or81J)AX`$Pq%;-}_qK+%q9Ga?Q z2eXzZUpbeSN>RFXTlB*p%1V1Y-b5)k;9qyV&S#m+n|79=?y=aMqsfqiKvqZB=-1sFoeq zZgF?8o(-792iEU0zb?^bPvky7;nR10;zKNWpqrX$-QwLwRs=A#L*2=Lwhg3qMKlb& z`f!?5^6@xtM=!u$(O@u$ZNf?hcGg;$`8v!#ki01(0N3||$Mx6juePfEP#ylZq2=!6 zvRP&fuTcX~N9XlBtfOP7ryu?#58ME>Xr6#Gadd}A)v);du3Shbj(+k+pNdM}nj^2M z)mDiKqT7&$)(S%?j0C(~8i(!J1oSzrjH@fWtq7Pa@5LTAd9B7`B^F+9s@?(MGH|;R zM8HcoKq=8G&f4hJT}6bV27Lw`-B^pg<9O1u&V;9`Yfd#*2K$t^KpG{`9s*FAt#44rK#$U|{(9$^ z#f3eR(b1G?$HXU$NAKjOF=c@w$un2CcZ zvr!@p-6XGzni36Yo;3(BhBQ@yN0?wMkK&@GHQGhm`Qn3zP+R3f?>`&;A6fc;V>r7z JUD~iG{vS!*mPY^p literal 6896 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 PzruB;m*c4w^tAs2eU4hf literal 8464 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 K>J(`?NB$R18wZsD diff --git a/Resources/Textures/Structures/Windows/tinted_window.rsi/twindow7.png b/Resources/Textures/Structures/Windows/tinted_window.rsi/twindow7.png index 17304ce1044032ee392be2dcc63be90d6580eef0..7ca4d7214fb770ce7965e8b028426e5826f30600 100644 GIT binary patch literal 1661 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 F_6HOSG7bO$ diff --git a/Resources/Textures/Structures/Windows/uranium_window.rsi/full.png b/Resources/Textures/Structures/Windows/uranium_window.rsi/full.png index f7b6e10f869a9ba3ee1d2f09f066f153b5e21e5e..0e5df9bea5d2dc5ee7afed871d381036cb12d116 100644 GIT binary patch literal 2364 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 diff --git a/Resources/Textures/Structures/Windows/uranium_window.rsi/meta.json b/Resources/Textures/Structures/Windows/uranium_window.rsi/meta.json index 099201b418..8d594817c6 100644 --- a/Resources/Textures/Structures/Windows/uranium_window.rsi/meta.json +++ b/Resources/Textures/Structures/Windows/uranium_window.rsi/meta.json @@ -1,7 +1,7 @@ { "version": 1, "license": "CC-BY-SA-3.0", - "copyright": "resprited by AsikKEsel | Original source: from vgstation at commit https://github.com/vgstation-coders/vgstation13/raw/99cc2ab62d65a3a7b554dc7b21ff5f57c835f973/icons/turf/walls.dmi and modified by Swept", + "copyright": "resprited by AsikKEsel | Original source: from vgstation at commit https://github.com/vgstation-coders/vgstation13/raw/99cc2ab62d65a3a7b554dc7b21ff5f57c835f973/icons/turf/walls.dmi and modified by Swept, transparency tweaked by Ubaser.", "size": { "x": 32, "y": 32 diff --git a/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow0.png b/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow0.png index 7be507678d49517ac92392e78b96843349952311..ff5619c5194db935b37d8bfff14fe3fffb89df48 100644 GIT binary patch literal 2857 zcmZ`*2{@E#9RJ3BCq_}OhJQoTG~IMo4<^%z6gVp)ausF6LJPJL6fjtu6+xvj(JWio zss~!I7n%_;?Nt{r+!luO@Y3E%XHc}w;Yc_VW+$Vqt!={~hoF5Noj<|_CtFx32u7k2 zh}hUzc&sU$&NzrLv9hv4AW;Yu%2?oG%sfN`gIUHjrp{WBPjMV6OcEn35)7l$w1shl ziS%gD76ua%eI9Fhl1ZO=BBL49RTeS{L7`G2C^V3XFoByOzJ~+DLcU~3V}6uFAPhqI zMgT*87lw@lNoE42oLGWALOs0ecM^izVU36?1jZBZVutBVOeT!bR zejC&V@g05}Vb$opJ`^UM8ZFe_&H`n#D#bU(FBh-|zZ`j!V;Ep8oe}Q0dJkVj{9l)kVb%ow zsz2A7e^q=z_uI+XAU=Odb~0xA(}4gWX@hmd_^}|P_;4z85A;Jw$iZKGYa8%4OV|Vh z4%a9p6!{O}Zsv%M-=?d(G^q6f#gmlQ-ITdr2^)VRacQTr$oe}{p<>F)uyx8XOi-b%?sB1 z{B@}p#TnZ>lRNIDK4a~)Rc&|QY-iHXaQD22*F}=co40Fr006DgZ_+WgSazz~x_bos z$4xOOA8+C*d#v*hPjl3y@4T5~dJ#3Jl7A~w1)wSNDlFO^!*~=!E>y2jSwcgz(je$Y zyWY`;RLxv;mMTy-ybx%3<}r4ezVP_kuJouUt#7Zu#>)O8&PxyhukI%<+tV^%gp|vJ zJfwsN&sHnC(ZuSV-_%QE!tNV;l6gb+rP41VX`EghAJY!BCWtL79icSW6?O;;>vCry zt&zR){mIY->fGkbX`VXWyonu&*M_cqxZ4IiuBA-fZqm;ZZBJjyG|P8fEV$r#slwVK)uTUB#3$2JN|CTH6j9BGVx3{^w?SgGO`b#Af*|ctFSEd0-&%9+L8b7OrymTbDXLBBHLN_6w!tCJAdmZ#1w#J4Z@Uk`lHaOlIn zck)rY*S|Y6F&97O1{&He=HW6fytnvSUDV5!Wpb9RnmwQ5$BDTbe3`SKjtb@Aq0_Ha zEe}06LuR5`)nI6&nx(|!hPSf?aq7boQPZehfxy**UZ#Q}uWnj=8au^s*IvgVg0;u!ykz`8+%)n$93jkPie;+Q*+G>y-b2r($C}sa?UoW|JBd=pN)GDZ(c8mC_ zU3fN3+WZ>7*|zU|rmbay*!V@hM0Jz81*X(k4HvrParuLDr_HG_GwHHJzl0QAFJ`WP zQgryJx5={uUBEAN(sEO_kDL@Y=G}aFrQOLwUa#s8^!y>eSC~-ocKCf@jK7$`~r;<9ktt#w?T$HTh@j8fN%%MAm2Dn;n zqm;=Fn@4~w10CI7n%F1?RB7h`YGNaR{?#M?*)^;r;%u6JfZ60UE0OKn+&?pawu<9& zwx}h)M#Z|Q;pH)gf(AaFla~FeYlL2D$vfI0?%qlD|21%uqlUUrPI>?LaS`p(QTqc1 z4tW0C8y)mwLpRxOP4%ib(zV^Wr%MbqH2h^n?H#r~V%s>4wI{Y8cGbuFyG4vvZG7Q< zI1wQYVQ<-cRQZGhx!)+W^Yn3m%^&{BfcYoaj0qjx+V!tS5Q9sQci(xb@MP6u5vHHFJ~pzTMn3%y^(Z=YkPd>WWS!`z4WE~v10f8 z=4GFbS1b*f4$jNNi7Q8!$Un`?EaWJjd{gKYsONh-jdLp|x1`5xdgVd>hVehl_Ub~9 zqk@hP*_GdUcCyHqgq4%cs;cwU@<j_kM*&+w0RhQhb}m`j<=RvbgdpOp$A)=OnoY z3Hq;k45dYYKTIQ$%!2vk9N#~yQVfRMy34O$c}_xGU;G_jB^R$z#sjWTBYTw|8OZYG fOI@MCpyLX}L1tmg{Q24<;cqI|$%TZkN08pnU9 zE`9ImPG+VvSuc}TNYsuuWK~#W6c;g|E&&ly9~bsb6hs(sciAWkqO!10`XC5KU0e-b zgUhmB5@862WMd{VF49O9c0^Ri1XoI;F8i!9QeB~rhX7{V0&JgG3lEaZ zXBn_cghF5f0e^6;@i`wK{S+w#S6#H8i}Phx8~w`E@eqInw|m2Em@0G6;6K0(AQTwF zCX_&6P_!fzquQ@m_hZjR7BEwKM~OKe0(chKaLZ+zcxHANkPrj`)O{F8@TVh}vwO#Z&TY4=QO837&*2?=ihqZ!99xQIb~4WH9S5+V?ElOE zn|e9h>KP1Su+y8=%c+&^r;vyyv@hn5X{U~d0FKKLDSne50uu%;ecg(O0KgOu?~i?` zoi{cDBt+!#tqIe3?cX{O4*`T=wM_E+OK!l|9Gt~N03*8TKD)>!yF|U!9Vcf+)Y_O< zfQ*>|^nXr*LUldhnv-|k8g{rwYoxl(ezKpF(++Q~`y2O<|CO)9X)4d=l;e3-C`;Yx z=Hm{nLm&uT=A3DrlpUc}fU?=ge?H$0_&{1G^-n@uFjRHVvWSTx1PdD9^PQm00{YD8 ziC2a<=%QQ^vs05?Ki;GFd#p~~DHC=1Yd)aHa4J<&4RW$V1s{Df-K=e5QGZd-K& z!)Au#K}fXg(OalnKt0V`pe8(~&N1zxj2>}KcqF9-i;zu9Mvv@;43Kt!q$<5Klm+A1@56M`@z}+XK zDPSU;=Fueax8wII?9C=Y?L z2O8&;&W-SzV79lgrG!kIDy&CGqdSH-@4M34twJ0JMb7cU!qBe6kV_ zHC;#tu&@UD90*$cB3^^<4nIa9B!}k@@!8~I0DgPHl_W_roGSz11}@{y2_|Z%cz?L> zHTpuEc~R#VA;2A9M*Ej7;ZU-3oRK~+PVK>#DJ&7CvowL4bio!pg(O#8cp23*ufpkg%)iP43_jlc(SHrx=v=$J zb?X&8S2;qhn!tm@Eg;t5_iI z^@MggXcM4fr6~%7t1hnSqFfQQ31A3;X(lNq3Y5KgOn}gXAuyC&8~w22;eQJ&FNmmO z<9#=cjy=4{I;+G#haTg(nU{Fm+D~a)up%dG--WOLTZKO!4tX1nj9lnhKh(wv` z3||DNew}%O1tZD3pM3;CPUy=Wh>ZaC&_(nhZy*)|2qOo;T~}|>&K(N@q&N$JiA7H8 z&ESuP00fdr;gUD?J4o>mpnnaYfCZs9cOV{LjFWY^JsREr)sAtfu# zOk>F+)`~2r%aIZg~{}xv!5na%s SNQM9a002ovPDHLkU;%=37y;b? diff --git a/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow1.png b/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow1.png index 9979f28e945787ba4ffab8d70010c70209c7f274..cabe60b557955cba753348a64b5bc1ffb7516eec 100644 GIT binary patch literal 2288 zcmZ`*4LFqP8ve%kolQc!6fupGWPD7-jF~~kU)yN>?ucqIV+`|W=5uBgnQ)SRv{9KX zW_DGalGRFylWh8%wpi`zhh)^rbsTFVDvP%B%_ym>eXr~Nd*1tgp69*a=ew@2kQNqf zidu>S0Khafgc1SIe%fwq2#=>Y>5t(FA&v-M57c$o4#As+EP7}%l?ph+Yh$=;+ug_# zcr+1)#EJpn3rlTB0A=OY0D$CjqUaEvx{;71;JGF+1&J(IDNm?l5v2rp$zwqYXep1& z7Zao;j1ED7*IF}(LF*t;8VN(E($E0{5evP})y>rnLq?&|XrhRjOo*Tay`#fB5+((L zgaisXOPnO)2qBJukJkE4 zNEBp1Bn(CyXs*rX$xNDyBg_zSby1i}AdAc5vG|Y}ba!$>*i^GF+_k+_XGLr}p2ja4H z!p+@Br=UL<`q-+)YbD@vw8|2=34AsQBgHaV$q5-;2t&@0aQIAt#ES^dqCRHNT0eG5 z1V0m>sJ%5IHi9JJlf7_6ofID#KRm!Jf&MwdeB-ACT8aP?!1W~JB!%)JmPjaq zYfBgJeYn3zeCq2%>}Wm*BENU=iFqDt-rErTMUX@wN{iCH!v_)n7V^%`tf2GibGG<( z;=|QXMiIfeFNuuuaQY)201S|!6#pnGVkE9V%^`a6U$_zlwTJH2doS0mo% zYi_T2STJ%Dud3jDhg4l!drYh$^^+un9TL9YC>;k@mX|`ycZ~JkSUKfiDDs6Ge&jt& zc5y!M;}Uem?^3G5IB;ZpjsFc#B}Xr)_?D?Uu^`MWx)UMCnf3NLD)@=}`q~#`n!+;b zpRQmF&AOw%+?IcIWJASX<6Y>(GTOFUvSOPYjAJcMeLFDR-x~g^@=p1c#wX6n#SQgk zU!6LDTku=kiIvl@*|=5aUP0ZB)h88;sfbR5cgyJBW}~bN8K(a2evgGG^@Dv>LpMDJ z*X=aAUcN|O(&b1yG0MiDb<%4aUp<=5G)RlFRM8ii(nAgjT(XK-3v&Ryc3hX-3rcKdb!A?JE!%F^Vi7t$%c>WM5=I6sdGa`=>$!3=9RL?{>Xn@ zBEdoz6NTRHnz3vpQJ-PI;D?+4Owiw>?lrpAZv4O~&q*}U7A%|GqV77~*%`81{o*$J zo0U@$eMoym0C0Tyx%)2*%s{SXdpRl~=wwHSxc%XK?w7 zA|KVA^k)Ih$!xAD#-K~O$fS%_MH#c={AbG&gH2X(M>l0%yzm@x-o~RWF8av1o5#Fl zsAm&bOrwT9e~qohcQjvH>dfyRk02W0?0Za5vOJaNjjBtL!UN}QOC8s3-o3rHiKGdy zxC>c1ogFwn&S&S_AL$ZX-hB4;FA} zK0A-q-Iroi&(|l7mZln@c`M3EK>2i$>EjmH&5Qbx%_#v}UI@JwB$ZBO{cg5MU z<7-y-EO=_wW!PqYrhttMt`7&5&6xnA$vvjM`h-E$ev7+~Bt0z8Ot~zN8mG_bqhM0h z1#5hJmhBx&D}Mchne3{w$RV(2;(?!Q{0c*reHtPgK-bc%8q6xs7gW5S`O|L#;rASI zCcBkho!$D1%=pp$S0muLX3(?)tGbZ7HHN6zGn2FHkJBt$&sAe%6Fa1ugI?cOZd6VU z`Zhgv+|c8{yhdq58uDyKC__jC zt91@cfvxHKtq7U+T)vi}@hhD~0#6L(4vab(9yz!WD)a?}O^8npY4M13L-Z`Tzy^j& z%4qy8rEkfxMoxU0x1PndB`I0>`r-!Z&dz>E!M#+_d&@BQ!9KQn#Lw F`+wtyizWa7 delta 1205 zcmV;m1WNnx5y=UVB!3BTNLh0L01FcU01FcV0GgZ_000DgNkl&HWrgUS7B7#0x#fMTMv@iNrAN&)<7a>@oC4wOMN0_(xpirp@Emn{O zf?%jkXdW6i*f#g1+1q4xX2*xwT)b_hXE|pi`+1o&yXWlpw}0Q6Gkf^`&Wa!i(8=)C z3o|m~?@#{pn#}l^%-~iq|B(|m>H>~l47(HD#(S0>wk;2E!8gIofd5olU%LVQvEGCB zme|7$0{XF82^{F?1Yj%}fDRylo7Pg;t^syNT3@>X-}FsT@hj}scDViEE&vzvZ}X(| zgtO@vs0VebUVjC{G`X|zBj?ESR{jl=BGnRoq5BzdW$uF+fS=tJVnVQL?1gXm;o%)? zfLl8cA=7aqL?H}Qa;#`ReD>Hys0cQ|7KE|d&N)uECA z0R;Wh`q~ZXxlyABIJo5dum7#5dE~eUbce@DIeqO0*nbnf*L3O|I>n{yJ~hh8NfqLt#G1JHyU%PHk^io(W z^KEv5_aA-2Qhk;Dmx-q1R3N<&I_}Fy9i=Nl->&XX{@N~%jBgzcu+JYf5$WCn+r+fkp*i7#+Ri2|NN@UGA_}X{p04k@zwn@?y zOfSxc=W$1wbTiZ$kbcZ^vWVk(6s!^$(SJxsDvZKn%*}B*e`Y?BJAC zT0I&Q@fm4FE+SF}Y&fgDI0}O+LRl@N+mXk$D zKUOELOsN@-+`#4hCC1zwU@4Q1hAsh?4Qv99{|5Vh^ZqR)8U`HA4b%v82a5Ou_vlqc T5^UWA00000NkvXXu0mjfkY6^b diff --git a/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow2.png b/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow2.png index 7be507678d49517ac92392e78b96843349952311..ff5619c5194db935b37d8bfff14fe3fffb89df48 100644 GIT binary patch literal 2857 zcmZ`*2{@E#9RJ3BCq_}OhJQoTG~IMo4<^%z6gVp)ausF6LJPJL6fjtu6+xvj(JWio zss~!I7n%_;?Nt{r+!luO@Y3E%XHc}w;Yc_VW+$Vqt!={~hoF5Noj<|_CtFx32u7k2 zh}hUzc&sU$&NzrLv9hv4AW;Yu%2?oG%sfN`gIUHjrp{WBPjMV6OcEn35)7l$w1shl ziS%gD76ua%eI9Fhl1ZO=BBL49RTeS{L7`G2C^V3XFoByOzJ~+DLcU~3V}6uFAPhqI zMgT*87lw@lNoE42oLGWALOs0ecM^izVU36?1jZBZVutBVOeT!bR zejC&V@g05}Vb$opJ`^UM8ZFe_&H`n#D#bU(FBh-|zZ`j!V;Ep8oe}Q0dJkVj{9l)kVb%ow zsz2A7e^q=z_uI+XAU=Odb~0xA(}4gWX@hmd_^}|P_;4z85A;Jw$iZKGYa8%4OV|Vh z4%a9p6!{O}Zsv%M-=?d(G^q6f#gmlQ-ITdr2^)VRacQTr$oe}{p<>F)uyx8XOi-b%?sB1 z{B@}p#TnZ>lRNIDK4a~)Rc&|QY-iHXaQD22*F}=co40Fr006DgZ_+WgSazz~x_bos z$4xOOA8+C*d#v*hPjl3y@4T5~dJ#3Jl7A~w1)wSNDlFO^!*~=!E>y2jSwcgz(je$Y zyWY`;RLxv;mMTy-ybx%3<}r4ezVP_kuJouUt#7Zu#>)O8&PxyhukI%<+tV^%gp|vJ zJfwsN&sHnC(ZuSV-_%QE!tNV;l6gb+rP41VX`EghAJY!BCWtL79icSW6?O;;>vCry zt&zR){mIY->fGkbX`VXWyonu&*M_cqxZ4IiuBA-fZqm;ZZBJjyG|P8fEV$r#slwVK)uTUB#3$2JN|CTH6j9BGVx3{^w?SgGO`b#Af*|ctFSEd0-&%9+L8b7OrymTbDXLBBHLN_6w!tCJAdmZ#1w#J4Z@Uk`lHaOlIn zck)rY*S|Y6F&97O1{&He=HW6fytnvSUDV5!Wpb9RnmwQ5$BDTbe3`SKjtb@Aq0_Ha zEe}06LuR5`)nI6&nx(|!hPSf?aq7boQPZehfxy**UZ#Q}uWnj=8au^s*IvgVg0;u!ykz`8+%)n$93jkPie;+Q*+G>y-b2r($C}sa?UoW|JBd=pN)GDZ(c8mC_ zU3fN3+WZ>7*|zU|rmbay*!V@hM0Jz81*X(k4HvrParuLDr_HG_GwHHJzl0QAFJ`WP zQgryJx5={uUBEAN(sEO_kDL@Y=G}aFrQOLwUa#s8^!y>eSC~-ocKCf@jK7$`~r;<9ktt#w?T$HTh@j8fN%%MAm2Dn;n zqm;=Fn@4~w10CI7n%F1?RB7h`YGNaR{?#M?*)^;r;%u6JfZ60UE0OKn+&?pawu<9& zwx}h)M#Z|Q;pH)gf(AaFla~FeYlL2D$vfI0?%qlD|21%uqlUUrPI>?LaS`p(QTqc1 z4tW0C8y)mwLpRxOP4%ib(zV^Wr%MbqH2h^n?H#r~V%s>4wI{Y8cGbuFyG4vvZG7Q< zI1wQYVQ<-cRQZGhx!)+W^Yn3m%^&{BfcYoaj0qjx+V!tS5Q9sQci(xb@MP6u5vHHFJ~pzTMn3%y^(Z=YkPd>WWS!`z4WE~v10f8 z=4GFbS1b*f4$jNNi7Q8!$Un`?EaWJjd{gKYsONh-jdLp|x1`5xdgVd>hVehl_Ub~9 zqk@hP*_GdUcCyHqgq4%cs;cwU@<j_kM*&+w0RhQhb}m`j<=RvbgdpOp$A)=OnoY z3Hq;k45dYYKTIQ$%!2vk9N#~yQVfRMy34O$c}_xGU;G_jB^R$z#sjWTBYTw|8OZYG fOI@MCpyLX}L1tmg{Q24<;cqI|$%TZkN08pnU9 zE`9ImPG+VvSuc}TNYsuuWK~#W6c;g|E&&ly9~bsb6hs(sciAWkqO!10`XC5KU0e-b zgUhmB5@862WMd{VF49O9c0^Ri1XoI;F8i!9QeB~rhX7{V0&JgG3lEaZ zXBn_cghF5f0e^6;@i`wK{S+w#S6#H8i}Phx8~w`E@eqInw|m2Em@0G6;6K0(AQTwF zCX_&6P_!fzquQ@m_hZjR7BEwKM~OKe0(chKaLZ+zcxHANkPrj`)O{F8@TVh}vwO#Z&TY4=QO837&*2?=ihqZ!99xQIb~4WH9S5+V?ElOE zn|e9h>KP1Su+y8=%c+&^r;vyyv@hn5X{U~d0FKKLDSne50uu%;ecg(O0KgOu?~i?` zoi{cDBt+!#tqIe3?cX{O4*`T=wM_E+OK!l|9Gt~N03*8TKD)>!yF|U!9Vcf+)Y_O< zfQ*>|^nXr*LUldhnv-|k8g{rwYoxl(ezKpF(++Q~`y2O<|CO)9X)4d=l;e3-C`;Yx z=Hm{nLm&uT=A3DrlpUc}fU?=ge?H$0_&{1G^-n@uFjRHVvWSTx1PdD9^PQm00{YD8 ziC2a<=%QQ^vs05?Ki;GFd#p~~DHC=1Yd)aHa4J<&4RW$V1s{Df-K=e5QGZd-K& z!)Au#K}fXg(OalnKt0V`pe8(~&N1zxj2>}KcqF9-i;zu9Mvv@;43Kt!q$<5Klm+A1@56M`@z}+XK zDPSU;=Fueax8wII?9C=Y?L z2O8&;&W-SzV79lgrG!kIDy&CGqdSH-@4M34twJ0JMb7cU!qBe6kV_ zHC;#tu&@UD90*$cB3^^<4nIa9B!}k@@!8~I0DgPHl_W_roGSz11}@{y2_|Z%cz?L> zHTpuEc~R#VA;2A9M*Ej7;ZU-3oRK~+PVK>#DJ&7CvowL4bio!pg(O#8cp23*ufpkg%)iP43_jlc(SHrx=v=$J zb?X&8S2;qhn!tm@Eg;t5_iI z^@MggXcM4fr6~%7t1hnSqFfQQ31A3;X(lNq3Y5KgOn}gXAuyC&8~w22;eQJ&FNmmO z<9#=cjy=4{I;+G#haTg(nU{Fm+D~a)up%dG--WOLTZKO!4tX1nj9lnhKh(wv` z3||DNew}%O1tZD3pM3;CPUy=Wh>ZaC&_(nhZy*)|2qOo;T~}|>&K(N@q&N$JiA7H8 z&ESuP00fdr;gUD?J4o>mpnnaYfCZs9cOV{LjFWY^JsREr)sAtfu# zOk>F+)`~2r%aIZg~{}xv!5na%s SNQM9a002ovPDHLkU;%=37y;b? diff --git a/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow3.png b/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow3.png index 9979f28e945787ba4ffab8d70010c70209c7f274..cabe60b557955cba753348a64b5bc1ffb7516eec 100644 GIT binary patch literal 2288 zcmZ`*4LFqP8ve%kolQc!6fupGWPD7-jF~~kU)yN>?ucqIV+`|W=5uBgnQ)SRv{9KX zW_DGalGRFylWh8%wpi`zhh)^rbsTFVDvP%B%_ym>eXr~Nd*1tgp69*a=ew@2kQNqf zidu>S0Khafgc1SIe%fwq2#=>Y>5t(FA&v-M57c$o4#As+EP7}%l?ph+Yh$=;+ug_# zcr+1)#EJpn3rlTB0A=OY0D$CjqUaEvx{;71;JGF+1&J(IDNm?l5v2rp$zwqYXep1& z7Zao;j1ED7*IF}(LF*t;8VN(E($E0{5evP})y>rnLq?&|XrhRjOo*Tay`#fB5+((L zgaisXOPnO)2qBJukJkE4 zNEBp1Bn(CyXs*rX$xNDyBg_zSby1i}AdAc5vG|Y}ba!$>*i^GF+_k+_XGLr}p2ja4H z!p+@Br=UL<`q-+)YbD@vw8|2=34AsQBgHaV$q5-;2t&@0aQIAt#ES^dqCRHNT0eG5 z1V0m>sJ%5IHi9JJlf7_6ofID#KRm!Jf&MwdeB-ACT8aP?!1W~JB!%)JmPjaq zYfBgJeYn3zeCq2%>}Wm*BENU=iFqDt-rErTMUX@wN{iCH!v_)n7V^%`tf2GibGG<( z;=|QXMiIfeFNuuuaQY)201S|!6#pnGVkE9V%^`a6U$_zlwTJH2doS0mo% zYi_T2STJ%Dud3jDhg4l!drYh$^^+un9TL9YC>;k@mX|`ycZ~JkSUKfiDDs6Ge&jt& zc5y!M;}Uem?^3G5IB;ZpjsFc#B}Xr)_?D?Uu^`MWx)UMCnf3NLD)@=}`q~#`n!+;b zpRQmF&AOw%+?IcIWJASX<6Y>(GTOFUvSOPYjAJcMeLFDR-x~g^@=p1c#wX6n#SQgk zU!6LDTku=kiIvl@*|=5aUP0ZB)h88;sfbR5cgyJBW}~bN8K(a2evgGG^@Dv>LpMDJ z*X=aAUcN|O(&b1yG0MiDb<%4aUp<=5G)RlFRM8ii(nAgjT(XK-3v&Ryc3hX-3rcKdb!A?JE!%F^Vi7t$%c>WM5=I6sdGa`=>$!3=9RL?{>Xn@ zBEdoz6NTRHnz3vpQJ-PI;D?+4Owiw>?lrpAZv4O~&q*}U7A%|GqV77~*%`81{o*$J zo0U@$eMoym0C0Tyx%)2*%s{SXdpRl~=wwHSxc%XK?w7 zA|KVA^k)Ih$!xAD#-K~O$fS%_MH#c={AbG&gH2X(M>l0%yzm@x-o~RWF8av1o5#Fl zsAm&bOrwT9e~qohcQjvH>dfyRk02W0?0Za5vOJaNjjBtL!UN}QOC8s3-o3rHiKGdy zxC>c1ogFwn&S&S_AL$ZX-hB4;FA} zK0A-q-Iroi&(|l7mZln@c`M3EK>2i$>EjmH&5Qbx%_#v}UI@JwB$ZBO{cg5MU z<7-y-EO=_wW!PqYrhttMt`7&5&6xnA$vvjM`h-E$ev7+~Bt0z8Ot~zN8mG_bqhM0h z1#5hJmhBx&D}Mchne3{w$RV(2;(?!Q{0c*reHtPgK-bc%8q6xs7gW5S`O|L#;rASI zCcBkho!$D1%=pp$S0muLX3(?)tGbZ7HHN6zGn2FHkJBt$&sAe%6Fa1ugI?cOZd6VU z`Zhgv+|c8{yhdq58uDyKC__jC zt91@cfvxHKtq7U+T)vi}@hhD~0#6L(4vab(9yz!WD)a?}O^8npY4M13L-Z`Tzy^j& z%4qy8rEkfxMoxU0x1PndB`I0>`r-!Z&dz>E!M#+_d&@BQ!9KQn#Lw F`+wtyizWa7 delta 1205 zcmV;m1WNnx5y=UVB!3BTNLh0L01FcU01FcV0GgZ_000DgNkl&HWrgUS7B7#0x#fMTMv@iNrAN&)<7a>@oC4wOMN0_(xpirp@Emn{O zf?%jkXdW6i*f#g1+1q4xX2*xwT)b_hXE|pi`+1o&yXWlpw}0Q6Gkf^`&Wa!i(8=)C z3o|m~?@#{pn#}l^%-~iq|B(|m>H>~l47(HD#(S0>wk;2E!8gIofd5olU%LVQvEGCB zme|7$0{XF82^{F?1Yj%}fDRylo7Pg;t^syNT3@>X-}FsT@hj}scDViEE&vzvZ}X(| zgtO@vs0VebUVjC{G`X|zBj?ESR{jl=BGnRoq5BzdW$uF+fS=tJVnVQL?1gXm;o%)? zfLl8cA=7aqL?H}Qa;#`ReD>Hys0cQ|7KE|d&N)uECA z0R;Wh`q~ZXxlyABIJo5dum7#5dE~eUbce@DIeqO0*nbnf*L3O|I>n{yJ~hh8NfqLt#G1JHyU%PHk^io(W z^KEv5_aA-2Qhk;Dmx-q1R3N<&I_}Fy9i=Nl->&XX{@N~%jBgzcu+JYf5$WCn+r+fkp*i7#+Ri2|NN@UGA_}X{p04k@zwn@?y zOfSxc=W$1wbTiZ$kbcZ^vWVk(6s!^$(SJxsDvZKn%*}B*e`Y?BJAC zT0I&Q@fm4FE+SF}Y&fgDI0}O+LRl@N+mXk$D zKUOELOsN@-+`#4hCC1zwU@4Q1hAsh?4Qv99{|5Vh^ZqR)8U`HA4b%v82a5Ou_vlqc T5^UWA00000NkvXXu0mjfkY6^b diff --git a/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow4.png b/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow4.png index 9fa452a61bf19f4082c9fbc34586322836957de0..45ff01e1907310286068d19e4163a6444639c5c9 100644 GIT binary patch literal 2251 zcmZ`*2~<;88h#-N7zYnZTu`E!-~wtE0tFL85-<^hK*Of7&;ua}5XnaJLV~gc5kw2h z0O}N>k#a1IbA&4GPzDYJ0U5284xluZAc~4owpbjNvdl|RM324a+;{K&-}n8?cmH?J zJIxOAwMA?~003ai@?(TRE8R40tf1#rVPYS&z!V|AK0wty$CuDywSdEl4GaW!L3RSgNn3u7Z-3{4W4yvT`gfR0xyc6+HA#dC)3c9R6 z7n|QKKGgkG1O>nJB~cOX&cl%aVA;oFc!#NBBN2}h9K(_GNwMj%p88vo!j0c1xVnQ^ zj;=a!hWYY~iL%$MsIc)UJ4^31>%?0bEd{Jm)<&9u=YuM$@w&(qO!@8=z$zQ&GEHc1Df(G z(v#Os-~LNUPnz$mYyTKjDes|$qlv(cw z{QmZ%IK|i{czW&bmfnjr_g#;e>BlND7W>vVE8Pj5mIwam6364S`I@moV@o@O*Bf+- z+*b|Hg+(Jh5PEAydzf(B6h8zua&#s}V792{%sIvY6xD_44f>nQUnU;rzBc?SDp}@1zoZ3pEpnhSY z{aTJ_VP`eXEz|C^p@ziYTb@p@EV}baihOKE!?!c!3kD)$?A&Fw@kd{NYCb873imm2 zF)^sE?iDcHeDL|q-RVH$6@btacdw&&YqTxB$)yWEAOC<|q5g85FzMM=B%tez@Ov~F zVCkqO(G=;S0Y|K4y1TF2knCgk4P_6WoWYGQNZHPC4T-8qeLj14F3?o~5ZdFaI!d&4 zG(R|@xd^6n)YefIXo-P2|WK%ec1jFP22nMd2|EJLk<#1vB^SxR@nfUbmV)SCVo zOw5ycANbFxMt@c=PJ~jPmL9H(>i{#W`+aJ?G+Em;L1n5tt)Vh50aGUM*uW4D9k{bc78HJ^7hVJ!0 zjizcU_WP7hJd2vsreCShr6hA3M;`0y#y#e&Um!{T}PKm$oy{#_$HletAB=Tb6&w%~;eQm!2(Izq)6^LBpEa z)9I^a!3oBoRrWU*nyN>PO~2Xh`2i^<9bBCwzCLMZJEHq%Y7`lCiQse;Yb}P-R%XM> zgbQ{+pl-85&$ZgoO+=1XVRl@~mu6H!d7;M|bYW&TcE zIb+27XZG5;rZHF=+r2pAtaEYEa0ET`=ozC&$szj*>}blVqj`O}k&8mDMb_l3#md%K ldL3%Zh@n8i-1vt zk;bE2R44HT7c2y+L*yE_lt8;^TDmYPm}JxJ(nWtl>84=XLV_2CLVrZPa~Cb7q!bdG zLb1UVYSP%mix`O}@!gJf8;@o*UCj7GFZSYybEa7DMn}>dy?>t`owqdce9oXJI!6}+9?FEncZW$HcvxT$s0-VqEV1mw+n0=qz%E$ z(p>O7tO4kjIsn;cl+zV#*QI1uAr_51Okorz<4%EV#jC;7>S+Vuc|ooZz-Cwj&@XiW zj9ifG@9Ss{K%=DV0mC=1%*xEyT@R2x7cG1e9)HbS0*=D8y1)tFGp%53x_|?o5v&OB zg{-}_qyhBDdk@B2Vh_jn>BnNlw;|C5z_>pE3BV6)ehGrz!BSWH`Y%ZX_^xk~x>skn zxfAC4Fjjnz=hf$2$i70$Z_#k;#0-P`i$8ObJnt6YCM`13!M8)w$AIheAI$>%>Z}kK zf`8Rm*wqOOyYHI=+}(Ksxy0e5qz8>10Q}b;{=bg_Ggg^(w?!^#-~v4%&vmy2z+L`? z^CsW~=l)C!>M0O_-!E$~EolHfx100;2S54#>;Kr&IP$m$bO(=9vJuEh8o)`nvPE6d zxE|H04glQ&=vD`S?f`VF13-5Gx^?OSNPp)7vU;QR!I;ea-}2v{-v0}Q59y8rmf9(JOuyTw$1@4&340a``RpQ)8kFsQ!0hq6E^EAB4%Ex2bt6&&mnSVVm zXRRH;{j*;lj4v$wh!v0X*3e~=eukG4X8>^h7LQ&$T8R?_GC!> zJ`y%p&jFBkf{sziYhb10WQddXpehc_?niI4d-D1ZQjHbuD*y-@B#sT47A0d78Wxx? zcGJNIHvYExdK>>&s2xD@tFS?WASGy;7z9n0<8G%-9S$WMD}Mn_dR{s7?CW~~0000< KMNUMnLSTYodN{`b diff --git a/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow5.png b/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow5.png index bd46092739e6b3d5f5e7e3eb3806b5feaa456145..473bc3ffede9a71bbf8d6191edf3fdbb380bd412 100644 GIT binary patch literal 1872 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|_);T0(|mmy zw18|5AO?X;!IOa`XMsm#F#`j)FbFd;%$g&?z`&f784^(v;p=0SoS&h?X&sHg;q@=(~U%$M(T(8_%FTW^V-_X+1Qs2Nx-^fT8s6w~6 zGOr}DLN~8i8Da>`9GBGM~RsBTId_|A5Z7NlCUU$t=l91qU45Kj08_%qc+?1*r!G zK~5$pWUX=%^U`gVDs)p)(-KQ_N|fwM%QN#*^2^O_^dYKHbwfl^4Ykq7V!sW@*H)21 zsm1v@rJ!)PGdHpU2L*~CA_5>9BCu&d7DU$&kda@K4@^%*naQ4cC8z@95{?t3ZVXlf@Y(-o~ zK0W*zTkPY|`CnG0T+xmH_iR>Y`G?g%gU_iqq_ijA+9;4a*?%e|*l$yNjO84qQU=u! zl~V!y6P_wMP;Io3^#F~b>7A}Un)rJ{uiH&`$v$v-=+bF!KvFpe!et#pK zLAJro{rObY5(X*R*cA*Frf!S-<}ph7Ro(1isJJNEzH8%ohFe_$xrvXrsxE$}^K?oQ z7sKP4pBr<^wro#*aaHJe%ICv6^~;S8NO#Q-Qx;)}eVtjpb^C=Gg3s?>60$2>ZR%IS z5G7RWV}1I*xcRxqY5%OO&Wd@R(mcSNa7a7*fBt6vz%{nVFQ4Ui*t$^gi`?ux+Z}Y9 zPkvJg$mixMtc$8oJHULw#Q44K9KU%}&jp-oJ^1Ilw(Z3WKMpc4csQ4TwhhC%dH-8h zGYaT7M0UQ&Vy-bMiI`qs?RfKdxe3D}RtM*QtA0&R)?<+TBeH$^hm6l{zol%hIx%i< z6OD;K|CG_=gu;oNzuCizUq}4i`)+mP;e8$K2P%Tf+YhO}`6JK8fBP`w`Q;1-(GM!q zjY>AHw|u%!D36h~q44A?=74!TALE+u9Qd_OjPXNnmWzImQGyHe>)X0jY%ly9s&8Ik ze9`}JD&v<~*Z+$~$O~Ly&8=np8?T_T;qgBE5C#*g69J4DUMM)TKG<>j_W93B40Rg4 zpG*VUdWuT^{&0&H++=!ene>Kr3OD6Sjue$L^yMY|U#xl4>h}MPQ)?8B6jm^6JZK10 z2rYc68Niq!u?Fq`P)|*MYOsPOgZ6t?!Z;P6Xyhb zy4p%!>}TtBJCMQZV*DV3-NpHU%@sxqDaMOj5@#D0%NocoT&(&a;Rm;>_m=jl>BqK# OYBNt)KbLh*2~7Z@MaFml delta 771 zcmV+e1N{8Z4x0v$B!3BTNLh0L01FcU01FcV0GgZ_0008bNkl1vl z`_r@qQ%WM8EOjXcIypJ1i!OC?=_0tblPE5QK!-rVMXGL{?ciW1Gr5R3=+a4O=~TK% zF-4lvmh}EQoJd7;tB~@2ft+W$+;Dlny!kliz)QvS3t~!n?1vEfFywMv zIEIn7sJwayyqj9Waa}%aeq?TV1tQs!)D2i|y*3vUog01(jEU*18_;leA#6hsLli>d zf?E>PS2v*g%zpuf|GNJ_Gr&clZh+Jm%|m|{P{tadU4S;$0PO;_=_>;~g>w4JfEc+y zLBHrL12pJ)A#{EB{+(W)@AdzDuMB(#h#R0W(4B{PH5vomdGy!Mp@20&y8vyh0ony< zBlbq9U2E36ez1n>LP*4bcCA_8T+AS8ftvsUgdPM%34i%>k$opvG;e!n!%6S~-Ca3A z(t!8?D1#p}y*I_}>P@mF5tGkDwgdc_HIQlk7n~T}mp()M|O;u~nx`YYp z2Fzw>S%F5dYpx?Xef2S5zVv{F@rO+BO_>{!*U1vdpxy!ZcIr^_p@PW{9Iiktr?1`t zlmn9$I897;;6!$_MBRY-tr!n002ovPDHLkV1gN3 BWk#a1IbA&4GPzDYJ0U5284xluZAc~4owpbjNvdl|RM324a+;{K&-}n8?cmH?J zJIxOAwMA?~003ai@?(TRE8R40tf1#rVPYS&z!V|AK0wty$CuDywSdEl4GaW!L3RSgNn3u7Z-3{4W4yvT`gfR0xyc6+HA#dC)3c9R6 z7n|QKKGgkG1O>nJB~cOX&cl%aVA;oFc!#NBBN2}h9K(_GNwMj%p88vo!j0c1xVnQ^ zj;=a!hWYY~iL%$MsIc)UJ4^31>%?0bEd{Jm)<&9u=YuM$@w&(qO!@8=z$zQ&GEHc1Df(G z(v#Os-~LNUPnz$mYyTKjDes|$qlv(cw z{QmZ%IK|i{czW&bmfnjr_g#;e>BlND7W>vVE8Pj5mIwam6364S`I@moV@o@O*Bf+- z+*b|Hg+(Jh5PEAydzf(B6h8zua&#s}V792{%sIvY6xD_44f>nQUnU;rzBc?SDp}@1zoZ3pEpnhSY z{aTJ_VP`eXEz|C^p@ziYTb@p@EV}baihOKE!?!c!3kD)$?A&Fw@kd{NYCb873imm2 zF)^sE?iDcHeDL|q-RVH$6@btacdw&&YqTxB$)yWEAOC<|q5g85FzMM=B%tez@Ov~F zVCkqO(G=;S0Y|K4y1TF2knCgk4P_6WoWYGQNZHPC4T-8qeLj14F3?o~5ZdFaI!d&4 zG(R|@xd^6n)YefIXo-P2|WK%ec1jFP22nMd2|EJLk<#1vB^SxR@nfUbmV)SCVo zOw5ycANbFxMt@c=PJ~jPmL9H(>i{#W`+aJ?G+Em;L1n5tt)Vh50aGUM*uW4D9k{bc78HJ^7hVJ!0 zjizcU_WP7hJd2vsreCShr6hA3M;`0y#y#e&Um!{T}PKm$oy{#_$HletAB=Tb6&w%~;eQm!2(Izq)6^LBpEa z)9I^a!3oBoRrWU*nyN>PO~2Xh`2i^<9bBCwzCLMZJEHq%Y7`lCiQse;Yb}P-R%XM> zgbQ{+pl-85&$ZgoO+=1XVRl@~mu6H!d7;M|bYW&TcE zIb+27XZG5;rZHF=+r2pAtaEYEa0ET`=ozC&$szj*>}blVqj`O}k&8mDMb_l3#md%K ldL3%Zh@n8i-A#8 zKZf~YhDbj~QfUZQ8ipFHnk)*VYr_z?m(w%hnPdoxdwilIWxKU{@!`!%zwS_`<{D67>4N7$o0|L z`HyxOFka@1b2quRa*IO2#+|HS-|o55XHo<~lRZ%k%Dq}Tf|0+2IP$~Cm1x+ zG(?S=`W&TPLz#6v0HmTXJiGLmgcV|K*~+Zr0l+X=?%HP0^;peR@p5bGtd%)+QY{MO z>c|-5&H#{5W*rXzi6l@4;BI0Cd|#P$JOGH&v#|@9d4F}*vi*R!e!Vt!SXt^$R;KLR zJ(Nl=cLr|p!P+OR1bKz>H+ANvYfNLw~LE~5Q3Tzs%#IHvKg>nPmye>F4a9uO3wkq znH-id*nctgw&L5RB@xn9`~RDi0q8AT3~`=qw@R}fpWHzifKsl(Onr`qs4-}y!BjO}3^#Jrs9RM@Wb63Ci9)Lzk_X9?*kAKd}?612YAYBa2e_W3Sfq-_H$u4l3 z(KwNe#t9E_z&E2A;cv^@OG_F+!8&^|-V#lmFr+|=Qn(9t7Xag7AJ{iOA3e}|;H z*4K+94dBbd6b-*Y)vdH@eR!|xFL^;yk0px5EMq- z(tqcGi6ynuY# z1mJXw=Y|*M`}bIb(>CBl*Zyn(jWh@#EXdkROB%qLsem)U!B4*b`9HR7&;32%RP;J6 z8-bjp0UUNKTig|od{m=O0O$@tw@v`)4u3$mP5|f*K(~%P0O?vlR+m>N#$@*YzJKQU zJ}+<-Isu?N0NpwPpgREFIsu?N0NpzF0JJ|eVQY2j3DCNh^;YW@PiLVvwV z85giH5iAEal18h^+An9V9l*ohPY=cyp5CX+wzx9%Ch0Is-i{ui^1^_H$~-@;E)s?z zH!i-zspQ!g9r8a(dod)QTxu<@_5v`t7cG}92Mv-LgDf`PzMv+aEiJd-X7|(OucQ`M zw9fz_S|D+nkPTQi|AgH%BpjM9G%|tBziqz3(LGnF9YFE3)&j|Mp#*det!-UVa$)5! Xp#Wu4&1DdR00000NkvXXu0mjfD0M=* diff --git a/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow7.png b/Resources/Textures/Structures/Windows/uranium_window.rsi/uwindow7.png index f75790a41878a5b5e9df599eb3004fc19dc29d2f..1a0ec49fd54851dee62e1f9f1608f84c51c738d6 100644 GIT binary patch literal 1281 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|_);T0(|mmy zw18|5AO?X;!IOa`XMsm#F#`j)FbFd;%$g&?z`&f784^(v;p=0SoS&h?X&sHg;q@=(~U%$M(T(8_%FTW^V-_X+1Qs2Nx-^fT8s6w~6 zGOr}DLN~8i8Da>`9GBGM~RsBTId_|A5Z7NlCUU$t=l91qU45Kj08_%qc+?1*r!G zK~5$pWUX=%^U`gVDs)p)(-KQ_N|fwM%QN#*^2^O_^dYKHbwfl^4Ykq7V!sW@*H)21 zsm1v@rJ!)PGdHpU2L*~CA_5>9BCu&d7DU$&kda@K4@^%*naQ4cC8Fbhj9Tae7ec5(yHA(j#!$KwLuQ=%VU zdTn3(GRETkZ?m7(HGS3_KkTx-?^3V$$T)-d0gvt^S(Sz*6Y}8f2s{?H`d8JIDE77 z=avuvQt<)|TW4J5S5Vl^FgK6E_P0wj^lhkVV3{J`@zxu}WT=yO_&)#dz5~h*(oh}ySuU{L{>sXd z@?TwqWkPLy0MN<_k`89~zb^Ma@JlvT)(g!3&u}(bpl*`8?paXrvd$@?2>@s- Bo)G{5 literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GG!XV7ZFl&wkQ1G^= zi(^Q|oVT+#@-`cYuo@=um7Ng!;xlWW>L%vq2R#lSzZQkYDkJCQ+V6G~_nfO; zeWw1}_rRI+wGaPqV9a2YV!ps+!nT0*-Hhn4!XFIb`xm|DmsjXTlF69%is?(`zEh9? zGeFg5@Ce*jsF}B3XuJ3P=c{}ER@Nb#l)>Y`eLz y`@}0OkOX!d{?4>d{6rE%RKqcbEes&rXX%$%%2g+2GNk~$$>8bg=d#Wzp$PyK^Ji!P diff --git a/Resources/Textures/Structures/Windows/uranium_window_diagonal.rsi/meta.json b/Resources/Textures/Structures/Windows/uranium_window_diagonal.rsi/meta.json index 453a379722..8477687a8c 100644 --- a/Resources/Textures/Structures/Windows/uranium_window_diagonal.rsi/meta.json +++ b/Resources/Textures/Structures/Windows/uranium_window_diagonal.rsi/meta.json @@ -5,7 +5,7 @@ "y": 32 }, "license": "CC-BY-SA-3.0", - "copyright": "Made by brainfood1183 (github)", + "copyright": "Made by brainfood1183 (github), transparency tweaked by Ubaser.", "states": [ { "name": "state0" diff --git a/Resources/Textures/Structures/Windows/uranium_window_diagonal.rsi/state0.png b/Resources/Textures/Structures/Windows/uranium_window_diagonal.rsi/state0.png index 45b3c99189ff93d8928aae08e938c39e47de6c8c..43bfb93bac1f02c89e0b8cc06032494e86211854 100644 GIT binary patch delta 1015 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 Q8k9>tUHx3vIVCg!0G$VuumAu6 literal 15604 zcmeI3Yiu0V6@bTiL5v&_QL$AL7&Z;0rL*(c*~g4_H+H-ZcF2a*b`uAZlG&NN-cfdU zhMlp!c3jCZF%cq4r1A)_@Muw*5Q0=IbrF%$3J6V=N}z;BZ7lQpQ&AM9Dqu)baPREf z*Xt{*Ao1spv^#t5x#ygFzjM#o`7;l1+;CT2?GI}yimGdCjkLo%?R>6X1i!6;fzRP> zvDv!CqNwYZI-eTq>1P`#N`6!C?6SL}>t)qQxfRWb0e3cK!r2rRT%9!)bqBEN80gm1 zA=jl7e{|8h7IJO&M!Bfj3=(?lKn8RSZ0J-6cBqo(S{<$pW@YFg1#E@Rrjlt(&W2n$ zzcT#o46`meH^tr&ay2;t>8|KTy4lD8+Uxc)D(Cale#y;y{eIE^Q(EA7FUxsY561`| zS>$9qeS({34jTaQEm6O9xo?nnkPpy>)Jt9pT*445ilnWzs~Kbm4IbMjI-x5AI6 z%5fu;QtYsvQn~?arn`e|d9Y$;=~T(hM$*W@Wr46K$W|M!Y85fm9_Ls$rBz_TWLOnR zf~m?C?i!_g`e;#+)Wi9K$>pE{F&+>l5NG_H7GQWD07g>1J_dLLnj*ymlF!M7 zQ@qecd0md*-01X(mD|Cs*Et5!sN9yeYz1zoEfR(UZXK>n;T1ms0teUQ_(##JRC24J9gY}SqE*ID6gMxc8#I&9}k zvSN<27Y**k&x@j@`eTfsae(nFVw{mgPmBTnSOAEUPt-h8aW7Te%m~%0J9+O%(%|H# z13WN&w4C=`<299x1)R1LauxeZsZ+zLr7M_gPqLyqEjz3_RSzKUX`|(3p=SEbbj}Sy z-hYMp>@oThAdTx9c~`kvvpcbjxZS5@KvOrYr@1t=yw~YwsQc2eB)u`zfylJHxH7#5IJgwVdp%4ujuCQ_* z4D$b49q<_zgneGG#~WnPVbo%yo(0LShz|d?ET^A%V5FQ4s;FwXWj4bKMZqwis*0!0 zTr1wZ z^1=Gn`!+?Qdp}ux+MIV|=$h-ksO>%XR`kZ zg^w+HcKn?yi|E~dYN*=^)l^_Y`s)`jovaB=GP}+V?78fD*;x2?!W^3T?=AE1n>Ts< z=r7jn`}*bO2M0qn^J*vmv*($AzQ1?V$fmqwy>8Lz(TVK%@{zlj4?Q1zbF$;3_T{f>JI_xYPL4nN zcXnj{kn7m^gG*j{{MDx$t~T!ey8X2qb{)TXe%)qu{2xc3xN~b_==jCnt7qPMWLxW+ zZ$cj&*n95aU1QI$ddl$|`ZRQ4Y}gt*P{)dmS8jjwx7tgu3|$)BKXLEq>B(g)SBx~C zbrw20R)5Qfoqrg=@W%e%ow;`PiQ&-+_xi@;<0FfIWC*`r+2Mo`)*X7c_Uzc1RZneQ xuw?a-J@uzu_y7Lvg23c^3rF{v)K|AsQ@>n$^3rn&uk&7VTg!&Xt82Co{}0}mEfxR( diff --git a/Resources/Textures/Structures/Windows/window.rsi/full.png b/Resources/Textures/Structures/Windows/window.rsi/full.png index 5ed08bac4204e8a98d150333a24925dca8310739..a42b6b77f7f59c32ec34289626d566bc573944c8 100644 GIT binary patch literal 2279 zcmZ`*2{fDO8jh`Yf{V-OG*T^7lSP=6G?dmLwG?CRwA#pGizM>@8L6tBmX77BRu{{3 zR8>hW?bH(EsGU(#Q$y=cQ9|iZbz{HuCb+6So$s7)d%yR2pZ9yd_dn-Pc6G5=R?t;| zKp@Hl2U~a13=?;`U7`_)h!Bb<3BcX{2;_dZ-lS-wLh&I`ot+^EL~A)w7q{N;E{jHa zrh_j4ff(HocL{BrekBAVMGf-s0ezgEa3n@3l1OIwQ;?ic<^~GS!HJfk6p#qxgwp5$ zj$;Ym@W6@IVlxU3+i(FxEa5)RuCSvF76pbyqLFC0l>!U~!?Va#oV%^v7F@Kmga?8k z6Nf^DhleA>O_2;%0LsL|!UBcHpfDJO$O8eKrGrEcf)4E64D$atwiJNG3Sxpm3_464 zm*~%6gO+f(m}t9g=1C@P^Dx;g+6D`mgrd+Wp%gj@piGb^sL$cRAnJz<>A;p8B4JSC z6A=vkSr~x{lFUR(eajK$vvogFqNEL803@S!IG`|Sv^fHeL0~LU+xHWtk0+CGU=T>7 zYzVh~pA7|VXyC_IvAg1 z@H})paIBsc>tB6Bny;98_+Z%blycMypNMyIc`pyAw`7*BkXVeNp$6{YqHt9p2pBnp zRp}d_Kj%PMym<;w!@9kfDi3m)36Zg$9e88lqcpfQgXgMB-X=(99|^?vnkR9Q#`hYA z%7)@E>ry(0k2~qe{ASb4|Ff1qY<{M6;-|Xr(gfA!VbwnZ;XJrk2gLOtk2AXDR@&cB z%pNzt#wYEkUv&C+S7vUsC-j0e*n#bB;^X5-8WMgOXq!{K;1`_}7Bh_Y*gAII8U*mP-V$Qm~7j$-IO&b^y+)KIK2mI6~Jf`oCY{JP}f+F8Vo!aa;8JnX7nYxOY z8?Pw%+S)gDKK60X(YLe$G@OS1&-YAxiG19tk* z#KJhjl|Nr3{9Irsm3R`+r3RERE5}Oto;(|`M{RbMlghWgQkDK!a?%1>p~0@| z(i6Yx5H{=>$!zcrR4|?jS^7&p>i%i>`urNhe6x}w&}IVV7f%aADK5)d!vdn})u@GG zN4n3L+qOf$?;Ur}h|-K~id@X?H%y|g9{5u0#EA&{vGQQ5jGkl;0#73VuzLlGWl*hM6v$1LKNo$FpVm89KAxMVIJR>CaS{xxm%q(F^G( zcGr9{dwkCR?ozu-kM@wi>5YF_K3YK3)kbC@c$f5>kYvbg){9YIHEVKL;#pxUw0>gm zBpcAFyEq_M(+>CPXA3jovfjYCpVTy~RO}wKxp{>Vm|>@4Eeoxu33QEWvw~ZrO|N{*)gYRFv_sDy8xF7c czgZqyZEK8~&QVMg|6~xpb+NsFa8U9U|P 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 It^-0~g5Y*&oB#j- diff --git a/Resources/Textures/Structures/Windows/window.rsi/window6.png b/Resources/Textures/Structures/Windows/window.rsi/window6.png index 13aaa2107eb3d7196a96e5530e1996c6cbe0b650..4a47d0859aee6821af5b92eaf68dd4bc2f432e43 100644 GIT binary patch literal 2213 zcmZ`*2~-o;8om$&Ov_djst-#VP$K(P8iWvLSMT#hL00nuIz(e%eIp@yY`_KP<-+#aR&pGp* zueZAadNmpVV8HNj@k5?Y>Y=ZT+%NDWRmek2=I6c@l(kv>g)9uYOh%ZO7qCI*`p8gU zzwb&%?#m?}fieKT$x#n2bIRA306+=&{!EzZwS&SD3-Rnw@wZ&OTqx0?sB#K26>?!V zMlKYHWE43KtI41sb9ETPVl*l6J{p$k<%`)SmU1y9JONL@($N?UhAIsWqxiYFEx?f# z4I2)_5()%GM@QqMH{r!n9%M@(22K_ug4uGMNMh176|xiXDI@M%1Vrleagm1VQ79$NM<#QM!m@Ab? zk>;9LT+sXHjE}kAiwB7KFrBzS@KJaPYRTbHoTYHISh~+&a}bLz{$s`h%eT;o|Hs*ZMo?Zjy!Tin*vs*r&aXFpB?YrP<&%QuDc}_H@^Tq6eVS#xX|1IxopM(X=wls6rPs z#yzJLKj1y-yZrM5aCWk{A-U8Z+{h!5dT18KIvzPjS9nZG8yf8S+E~68{`cpi(lV>% z6H49PAWi2_L0)Xl0hD*kww?&HYooo*!I6ezd(2IQhZ%jYd&&wkhl9-z`}F9}vdGRa z9B(JN7u>wI-s#LyQl&O<)UT+loh)CAcVYGChb#kk*XUWA+$z?2quRmc9DKW#!_H8W z+VZC5f8F3;9##F;l4bU?^W1ahi?ubg)8s=@FK0S;&L&-~ZqiQlm)w6Cq!m)up4-2! z6AfgChi2}~KGF+`3rC&ZZc$K6mmS#-w~uw}DxOT88t<)mL)8-kkCgUYR>4({-JKpV z@C%`v*Vf+GZ`O%c_y_fqedsS6b_oID77rmUsBOR%8iB#7I}_RCn6Ak$@s&4%8Mpemd%Yc(Q8 z)o0|7-bcatO%g}hTaDGySh2xL#6mA^x?vI2St+jU)==vAUw3@`pJUvqefog%E#HQU{B4= zc9O-x0~VXDdB@`%@%`}w>8gn>Ka^)iK2@zg7LnJJ5ZKFVm@|#79&s?-fT~#cFc~+{ z74c|&W2U9H4JWW@5}W&<0!GXQ@Qs82d_fHu9ED@S2i< z%H)jd>ydqf&Hld1A(CJua`;Z~fJ4>Bin}Wm+Sl_={8(g0FuCnNU|nS9i>WcSeVtzo z{)|f-CZ3^t{2lYz587uVn$lIV5nAc>$1aQ)1SxEeAC$!>IzcX&TDDP~pjJD}Qhsow%`Oq|EOz7`sSz zYWkjIm@}2){9y`FlAjz5EL1UQNu~uXgV~;_i9$G%qVPq%7Y(Q`JALym~ScsFbgFk;a3}tn^Jf z*5vfp*E!EKN>NIr{=f(gEf&#I zP(f6D(HDyZB=irk?>_im3%(RYgdqA*d=W)KL8(ZsVk$;#DJ`Lh+G=XrWV83~&b@a= z&fMLyDUudvof+Bv0=WZwXV1Cc&Y79-oVg5|kWy-W!M^7XoPWIQ>6fu33h~PR2k`di zi>PnA6$|r+F*AGUwaxl6#_+}qyFSyg@9A{54PEk`BjB%Qf?O0vZ8||f$QTMpe0S<+ z#9?66wpnYNfYBdg$O;M3=@_%?R0vE>-J`CN?;Eq}3<2cGy?1U?ZC(hYcHIE;;Q0)V zv6@kLoFTy6Z-2fK&Jd8L3Dy&i+iDSt=BhEfP7vS;fhh2i2#KXXu0mAIg@F?U6j4Q8 z7Z=Zf`94Hz&6sT`_5q&ffy)3nZzHQT(30kU7bix5OcQn8xA$R8`U0M|M7w!7K|mBm zXm!{AmBNE4%;^Cq2w3ae_z0dM4$MWS_F#MUgHuo4NPm_t%pZPzX7&(TmzOd3L85oQa(9`%m&F>0~5zy24r1@RS!Wi|1v_5Hm(*CZ%iYKyzfsQh#@rLSqDw#wV>$nxC{k5*S@k#5G=0{%+z&6Z#cGbe01mb|LDVO~8$gvbm1`^)b0YU_^ieK3K(w00(@q ziV*=0_+S-7Pk{CJ1?YT%PX8k>&J6GS0)Kd7tP`-~`8ib}p|m*_P3k;_S09JhN#KudxprUVd*DTZYGq?t{i~1P*Rt=# zad|3`Q0174CLt4$odi2>pTM6I&8gn0svMTKo7nKYt>q z2bi9|A2pAmQ7bD;qL4WE`(>Oze?e)FJ-Z*oE!~%^-qN&hoq#vLC{K*kRgIvEsGVc! z>oeeafiSL>v$Pc5gH`22fB5}{f!TK=1gJnl#ZxMpB+P@)I}m<=qFY?O9@zj7Xj>=X i(kJs}fy4#?{0&-Fd}h?X&sHg;q@=(~U%$M(T(8_%FTW^V-_X+1Qs2Nx-^fT8s6w~6 zGOr}DLN~8i8Da>`9GBGM~RsBTId_|A5Z7NlCUU$t=l91qU45Kj08_%qc+?1*r!G zK~5$pWUX=%^U`gVDs)p)(-KQ_N|fx%GxJjN%S~+bA&O8nLqt){w9&_6y$#6IR*^xe z#rZji%XI*>)tbp&MOm*fKzR8eNKXI@EaQ9%(faY1Z^+J{>O zx>*RzL-R6A?2MoWpa~=CLW&$K$D)$*{G#j-a74gE5vK~MDUc9FN}rI#4-S1`>bK*v z(TC?GJFfMc_I3fY*K1D~$B+ufx3e61n*&5xytiI)-1~r8^=qJhX@DUMZ}E?r#|!4C z+<#Y~kXWr#*Z2Ott5VIk@AE(SGx;ZICmiZ}(#E6k);GZz53~1x`0iiT^PasIUBG+m zC(j0bkI(50xfjl*H`F@LvS-d{F0*5P!+q(Gq=WR9&yor86P}%CxV2#Jd4}IjCiQF= z*xuH#-4I{$)40JbT&0m+ zq(MM{$;p9H?!cu21G~6c<%#A0WA&$-W=}7f=QJ&~Q?8)4uJ7cJ-#n|^vw}0-p ziOeY`I9{^be)tM;zp1UGGK?m6&+hv)*nAU!itCLw)Z4C53gQu&X J%Q~loCIB+RX~6&h diff --git a/Resources/Textures/Structures/Windows/window_diagonal.rsi/meta.json b/Resources/Textures/Structures/Windows/window_diagonal.rsi/meta.json index 453a379722..8477687a8c 100644 --- a/Resources/Textures/Structures/Windows/window_diagonal.rsi/meta.json +++ b/Resources/Textures/Structures/Windows/window_diagonal.rsi/meta.json @@ -5,7 +5,7 @@ "y": 32 }, "license": "CC-BY-SA-3.0", - "copyright": "Made by brainfood1183 (github)", + "copyright": "Made by brainfood1183 (github), transparency tweaked by Ubaser.", "states": [ { "name": "state0" diff --git a/Resources/Textures/Structures/Windows/window_diagonal.rsi/state0.png b/Resources/Textures/Structures/Windows/window_diagonal.rsi/state0.png index df5805957d6b0d0b891e10d01cb5a46e4c36e95a..428ed238a76e8821f17b447ded574bfe51041254 100644 GIT binary patch delta 743 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 vJ0Y_!yrF*O-kYyF^*tYb2bP0l+XkKxLOJq literal 15966 zcmeI3Z)hAv6u>tIYa3}1L|del^@><&HoJSbdw_V)hlP432M z`$1$DlDju=-g`5@_x8>1huhcNvw3;beN7ZaE${A%_Q6lu{#&{P{x>HlufvaJ*{&gz zqVBxg{%fFKKD3IW!WXoGL2EF!MN;&1i>&H#(2`GQ;cTdD%V%X}6j*c|B(+Sd=j!Q? zJ+!8_dbW!(E|%>CBU;y_0s1F<29(KBC8T=VB2D4E1RbP-CDZwIDq~9dR!_mN1i#zE ztcNa4u|``x9dIR_27C)nK{s0{aweVsfAOxCeFUN~4=VN^w)}d@Z_>Wcg4i#ByHN>t)~!#+=Ala-PYU zYaJ&gKT%*RhL*K7Jww}m<+wg(wR${upz>ARS2|k`lrf9!AVoGWXIZ|5V`~|yO4%km zW~2&BQxz7ZKpJE$6WZ}L?Xn}frJEyqosea9-M}y>u~<2F&Gn|!HA9=$#&L+Ch_t4q zIWUn0Y#%W7F+%|x$Kh7i*4n+LB`V3O@?>l3t{vpHI%c-UF)NgUlc6x&tJG-#+0u;x zT~9@vD(fvFq&qtcRYkAcu4Pm`XFeQeQIkr(E8aj= zUg9{H6K5vkBc`ibVxr=MhXu_KczMa^mBf(ShifM41KvNXY{`rA;-2gBqbgEDH`1~d z(b94fu-Qy9%vJ_nGs{&ab?PbIfXf0AUzn{mT+=G5D`R$9cVrY`!ep4PB*9b_ZrlxW zvU;?nNNEwLZK%4UsZu3qfD8FmKgTfvP7oNL2Y?AFqMrd`P?bZ8UW)U>K#K-9ErbGGkn;D}}@Jdkdt3FXogbHO>ZC=@Q(RC?0bbT`$ch>20wjj_}LxU%UoN~>v z_oBkR03ZS(;RB2ef+EAmVeVw!%P|R2^oA7P58?rTX)iV0EC|)5*(Ehmo#8@B^@Cm2 zqm_~>^z^K3n85B>t)5cLDjxz)l@x2G(D@`;u}_1DVmB0^hS{po%CgFqVP}H2FrAA- zu)w^2jNAyw;2M(SsxYg*6H`xEIoSXmNqDO+rdK*%tIbgNe|H1kL?TRi{N~aSSK&?N zl|_b=#ULZvcU4GL6jnsMe2+I=)NR+t~~a`0k#`+w2Ytwv3U@TP7xYFe>;ETdTw zZ!sD&?6R_-7M(|#e)wVoB7RZyiD4EUMlE`^JV*^jHTWoF+9!bzMk?5#ikgN)^$cB# zqM?&2*DFZj7;{G93l4m@V#_aA3r@K5`Ex73RCaVLy&}Fy5CjNbB)IT=5G}!l0Ktm{ z7oHEICAbhEc#+`3^Fg!(7Xkz?5?pvbh?d|&fZ#=f3(p795?lxnyhw22`5;rKlV8@bd~qjd2w9>o7%02PtZ${`}4}n<%P*>W+2{-TmE=cJkS)_V?#DUvFCiuQ#4P5x%(LnU7YqpM3JlzDKT` zlz;BZy|PcFZ(>F*BO|GjaObE5ENiepxthTfF(`OO5CD zu6gmYu#0*vxOw|oVS1+jn}(kUd&E1YM?;P9I`i%Hh4Vcx+;#Z8v43^@quY+W-?(m{ zxqnT2Y_5BpdWU)F%Z3xj4*inqI&i*ceCfHbjXf(4Z`-zZuHnRf^Yzv3?A+VZ)T=W} zaO(S+BWmZ4qvIbuaB0=SJfNGC!|;maul;zBy`y8pKg?hHY3Jn7SF^LT)GF%T55qUM T+&>K!JMPxP$~!+ZV$;QnZ1 From c978eefedbd0a993e9358ee15687761feb457130 Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 13 Nov 2024 12:31:47 +0000 Subject: [PATCH 222/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index f54421b87a..3365a943ee 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: PoorMansDreams - changes: - - message: Throngler Plushie looks like a plushie - type: Tweak - id: 7106 - time: '2024-08-13T20:32:53.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30969 - author: IProduceWidgets changes: - message: shuttle events have been separated from other midround events and can @@ -3949,3 +3942,10 @@ id: 7605 time: '2024-11-13T02:59:47.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33223 +- author: Ubaser + changes: + - message: Window sprites are now slightly more transparent. + type: Tweak + id: 7606 + time: '2024-11-13T12:30:40.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33282 From 51d2b51ad09f3b361d80f22c3c2c23d6a5048517 Mon Sep 17 00:00:00 2001 From: dffdff2423 Date: Wed, 13 Nov 2024 18:27:31 -0500 Subject: [PATCH 223/588] tag:with toolshed command (#31751) --- Content.Server/Administration/Toolshed/TagCommand.cs | 10 ++++++++++ Resources/Locale/en-US/commands/toolshed-commands.ftl | 4 +++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/Content.Server/Administration/Toolshed/TagCommand.cs b/Content.Server/Administration/Toolshed/TagCommand.cs index e1cf53e1b1..4c6f790e49 100644 --- a/Content.Server/Administration/Toolshed/TagCommand.cs +++ b/Content.Server/Administration/Toolshed/TagCommand.cs @@ -25,6 +25,16 @@ public IEnumerable> List([PipedArgument] IEnumerable With( + [CommandInvocationContext] IInvocationContext ctx, + [PipedArgument] IEnumerable entities, + [CommandArgument] ValueRef> tag) + { + _tag ??= GetSys(); + return entities.Where(e => _tag.HasTag(e, tag.Evaluate(ctx)!)); + } + [CommandImplementation("add")] public EntityUid Add( [CommandInvocationContext] IInvocationContext ctx, diff --git a/Resources/Locale/en-US/commands/toolshed-commands.ftl b/Resources/Locale/en-US/commands/toolshed-commands.ftl index e2536f6781..c53c825eb3 100644 --- a/Resources/Locale/en-US/commands/toolshed-commands.ftl +++ b/Resources/Locale/en-US/commands/toolshed-commands.ftl @@ -1,4 +1,4 @@ -command-description-visualize = +command-description-visualize = Takes the input list of entities and puts them into a UI window for easy browsing. command-description-runverbas = Runs a verb over the input entities with the given user. @@ -58,6 +58,8 @@ command-description-rejuvenate = Rejuvenates the given entities, restoring them to full health, clearing status effects, etc. command-description-tag-list = Lists tags on the given entities. +command-description-tag-with = + Returns only the entities with the given tag from the piped list of entities. command-description-tag-add = Adds a tag to the given entities. command-description-tag-rm = From 9643598c704dc99ae18312b2bac44960c75d7e7c Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 13 Nov 2024 23:28:39 +0000 Subject: [PATCH 224/588] Automatic changelog update --- Resources/Changelog/Admin.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Resources/Changelog/Admin.yml b/Resources/Changelog/Admin.yml index 680915d382..bf1cbddaa1 100644 --- a/Resources/Changelog/Admin.yml +++ b/Resources/Changelog/Admin.yml @@ -597,5 +597,13 @@ Entries: id: 74 time: '2024-11-12T21:03:13.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/30659 +- author: Aquif + changes: + - message: tag:with toolshed command. It takes in a list of entities via pipe and + returns the entities from the list with the given tag. + type: Add + id: 75 + time: '2024-11-13T23:27:31.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/31751 Name: Admin Order: 1 From fa3a04a5273c77bba4f3545dfedebaa61bd2f5aa Mon Sep 17 00:00:00 2001 From: keronshb <54602815+keronshb@users.noreply.github.com> Date: Wed, 13 Nov 2024 18:36:37 -0500 Subject: [PATCH 225/588] Ethereal Jaunt Spell for Wizard & Jaunt ECS (#33201) * Act * Adds Jaunt ECS and related prototypes * Adds jaunt sounds * Adds enter and exit sound support to polymorphs * Updates jaunt description * Adds jaunt action sprite and changes jaunt polymorph to use it * Adds Jaunt and upgrade to the wizard grimoire * Makes base mob jaunt parent off of incorporeal and basemob, adds blue ghost sprite for ethereal jaunt * Update Resources/Locale/en-US/store/spellbook-catalog.ftl Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> * Update Resources/Prototypes/Entities/Mobs/Player/jaunt_mobs.yml Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> * Update Resources/Prototypes/Entities/Mobs/Player/jaunt_mobs.yml Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> * Update Resources/Prototypes/Entities/Mobs/Player/jaunt_mobs.yml Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> * Update Content.Shared/Polymorph/PolymorphPrototype.cs Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> * Update Content.Shared/Polymorph/PolymorphPrototype.cs Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> * removes meta changes * removes other meta changes * adds context menu and a description to basemobjaunt * comments for jaunt component and adds on component shutdown method * Update Content.Shared/Jaunt/JauntComponent.cs * Update Content.Shared/Jaunt/JauntComponent.cs * Update Content.Shared/Jaunt/JauntComponent.cs * Update Resources/Prototypes/Catalog/spellbook_catalog.yml --------- Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com> Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> --- .../Polymorph/Systems/PolymorphSystem.cs | 6 +++ Content.Shared/Jaunt/JauntComponent.cs | 26 +++++++++ Content.Shared/Jaunt/JauntSystem.cs | 26 +++++++++ .../Polymorph/PolymorphPrototype.cs | 13 +++++ Resources/Audio/Magic/attributions.yml | 4 +- Resources/Audio/Magic/ethereal_enter.ogg | Bin 0 -> 36619 bytes Resources/Audio/Magic/ethereal_exit.ogg | Bin 0 -> 42980 bytes .../Locale/en-US/store/spellbook-catalog.ftl | 6 +++ Resources/Prototypes/Actions/polymorph.yml | 50 ++++++++++++++++++ .../Prototypes/Catalog/spellbook_catalog.yml | 33 ++++++++++++ .../Entities/Mobs/Player/jaunt_mobs.yml | 40 ++++++++++++++ Resources/Prototypes/Polymorphs/polymorph.yml | 16 ++++++ .../Objects/Magic/magicactions.rsi/jaunt.png | Bin 0 -> 431 bytes .../Objects/Magic/magicactions.rsi/meta.json | 5 +- 14 files changed, 223 insertions(+), 2 deletions(-) create mode 100644 Content.Shared/Jaunt/JauntComponent.cs create mode 100644 Content.Shared/Jaunt/JauntSystem.cs create mode 100644 Resources/Audio/Magic/ethereal_enter.ogg create mode 100644 Resources/Audio/Magic/ethereal_exit.ogg create mode 100644 Resources/Prototypes/Entities/Mobs/Player/jaunt_mobs.yml create mode 100644 Resources/Textures/Objects/Magic/magicactions.rsi/jaunt.png diff --git a/Content.Server/Polymorph/Systems/PolymorphSystem.cs b/Content.Server/Polymorph/Systems/PolymorphSystem.cs index daff200982..c9a71c5358 100644 --- a/Content.Server/Polymorph/Systems/PolymorphSystem.cs +++ b/Content.Server/Polymorph/Systems/PolymorphSystem.cs @@ -199,6 +199,9 @@ private void OnDestruction(Entity ent, ref Destructi var targetTransformComp = Transform(uid); + if (configuration.PolymorphSound != null) + _audio.PlayPvs(configuration.PolymorphSound, targetTransformComp.Coordinates); + var child = Spawn(configuration.Entity, _transform.GetMapCoordinates(uid, targetTransformComp), rotation: _transform.GetWorldRotation(uid)); MakeSentientCommand.MakeSentient(child, EntityManager); @@ -288,6 +291,9 @@ private void OnDestruction(Entity ent, ref Destructi var uidXform = Transform(uid); var parentXform = Transform(parent); + if (component.Configuration.ExitPolymorphSound != null) + _audio.PlayPvs(component.Configuration.ExitPolymorphSound, uidXform.Coordinates); + _transform.SetParent(parent, parentXform, uidXform.ParentUid); _transform.SetCoordinates(parent, parentXform, uidXform.Coordinates, uidXform.LocalRotation); diff --git a/Content.Shared/Jaunt/JauntComponent.cs b/Content.Shared/Jaunt/JauntComponent.cs new file mode 100644 index 0000000000..6d37ab4b32 --- /dev/null +++ b/Content.Shared/Jaunt/JauntComponent.cs @@ -0,0 +1,26 @@ +using Robust.Shared.GameStates; +using Robust.Shared.Prototypes; + +namespace Content.Shared.Jaunt; + +///

[RegisterComponent, NetworkedComponent, Access(typeof(SharedBorgSystem))] +[AutoGenerateComponentState] public sealed partial class BorgModuleComponent : Component { /// @@ -16,6 +17,13 @@ public sealed partial class BorgModuleComponent : Component public EntityUid? InstalledEntity; public bool Installed => InstalledEntity != null; + + /// + /// If true, this is a "default" module that cannot be removed from a borg. + /// + [DataField] + [AutoNetworkedField] + public bool DefaultModule; } /// diff --git a/Content.Shared/Silicons/Borgs/Components/BorgSwitchableTypeComponent.cs b/Content.Shared/Silicons/Borgs/Components/BorgSwitchableTypeComponent.cs new file mode 100644 index 0000000000..9a783d19aa --- /dev/null +++ b/Content.Shared/Silicons/Borgs/Components/BorgSwitchableTypeComponent.cs @@ -0,0 +1,72 @@ +using Content.Shared.Actions; +using Content.Shared.Radio; +using Robust.Shared.GameStates; +using Robust.Shared.Prototypes; +using Robust.Shared.Serialization; + +namespace Content.Shared.Silicons.Borgs.Components; + +/// +/// Component for borgs that can switch their "type" after being created. +/// +/// +/// +/// This is used by all NT borgs, on construction and round-start spawn. +/// Borgs are effectively useless until they have made their choice of type. +/// Borg type selections are currently irreversible. +/// +/// +/// Available types are specified in s. +/// +/// +/// +[RegisterComponent, NetworkedComponent] +[AutoGenerateComponentState(raiseAfterAutoHandleState: true)] +[Access(typeof(SharedBorgSwitchableTypeSystem))] +public sealed partial class BorgSwitchableTypeComponent : Component +{ + /// + /// Action entity used by players to select their type. + /// + [DataField, AutoNetworkedField] + public EntityUid? SelectTypeAction; + + /// + /// The currently selected borg type, if any. + /// + /// + /// This can be set in a prototype to immediately apply a borg type, and not have switching support. + /// + [DataField, AutoNetworkedField] + public ProtoId? SelectedBorgType; + + /// + /// Radio channels that the borg will always have. These are added on top of the selected type's radio channels. + /// + [DataField] + public ProtoId[] InherentRadioChannels = []; +} + +/// +/// Action event used to open the selection menu of a . +/// +public sealed partial class BorgToggleSelectTypeEvent : InstantActionEvent; + +/// +/// UI message used by a borg to select their type with . +/// +/// The borg type prototype that the user selected. +[Serializable, NetSerializable] +public sealed class BorgSelectTypeMessage(ProtoId prototype) : BoundUserInterfaceMessage +{ + public ProtoId Prototype = prototype; +} + +/// +/// UI key used by the selection menu for . +/// +[NetSerializable, Serializable] +public enum BorgSwitchableTypeUiKey : byte +{ + SelectBorgType, +} diff --git a/Content.Shared/Silicons/Borgs/SharedBorgSwitchableTypeSystem.cs b/Content.Shared/Silicons/Borgs/SharedBorgSwitchableTypeSystem.cs new file mode 100644 index 0000000000..d9abeb2d32 --- /dev/null +++ b/Content.Shared/Silicons/Borgs/SharedBorgSwitchableTypeSystem.cs @@ -0,0 +1,125 @@ +using Content.Shared.Actions; +using Content.Shared.Interaction; +using Content.Shared.Interaction.Components; +using Content.Shared.Movement.Components; +using Content.Shared.Silicons.Borgs.Components; +using Robust.Shared.Player; +using Robust.Shared.Prototypes; + +namespace Content.Shared.Silicons.Borgs; + +/// +/// Implements borg type switching. +/// +/// +public abstract class SharedBorgSwitchableTypeSystem : EntitySystem +{ + // TODO: Allow borgs to be reset to default configuration. + + [Dependency] private readonly SharedActionsSystem _actionsSystem = default!; + [Dependency] private readonly SharedUserInterfaceSystem _userInterface = default!; + [Dependency] protected readonly IPrototypeManager Prototypes = default!; + [Dependency] private readonly InteractionPopupSystem _interactionPopup = default!; + + [ValidatePrototypeId] + public const string ActionId = "ActionSelectBorgType"; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnMapInit); + SubscribeLocalEvent(OnShutdown); + SubscribeLocalEvent(OnSelectBorgTypeAction); + + Subs.BuiEvents(BorgSwitchableTypeUiKey.SelectBorgType, + sub => + { + sub.Event(SelectTypeMessageHandler); + }); + } + + // + // UI-adjacent code + // + + private void OnMapInit(Entity ent, ref MapInitEvent args) + { + _actionsSystem.AddAction(ent, ref ent.Comp.SelectTypeAction, ActionId); + Dirty(ent); + + if (ent.Comp.SelectedBorgType != null) + { + SelectBorgModule(ent, ent.Comp.SelectedBorgType.Value); + } + } + + private void OnShutdown(Entity ent, ref ComponentShutdown args) + { + _actionsSystem.RemoveAction(ent, ent.Comp.SelectTypeAction); + } + + private void OnSelectBorgTypeAction(Entity ent, ref BorgToggleSelectTypeEvent args) + { + if (args.Handled || !TryComp(ent, out var actor)) + return; + + args.Handled = true; + + _userInterface.TryToggleUi((ent.Owner, null), BorgSwitchableTypeUiKey.SelectBorgType, actor.PlayerSession); + } + + private void SelectTypeMessageHandler(Entity ent, ref BorgSelectTypeMessage args) + { + if (ent.Comp.SelectedBorgType != null) + return; + + if (!Prototypes.HasIndex(args.Prototype)) + return; + + SelectBorgModule(ent, args.Prototype); + } + + // + // Implementation + // + + protected virtual void SelectBorgModule( + Entity ent, + ProtoId borgType) + { + ent.Comp.SelectedBorgType = borgType; + + _actionsSystem.RemoveAction(ent, ent.Comp.SelectTypeAction); + ent.Comp.SelectTypeAction = null; + Dirty(ent); + + _userInterface.CloseUi((ent.Owner, null), BorgSwitchableTypeUiKey.SelectBorgType); + + UpdateEntityAppearance(ent); + } + + protected void UpdateEntityAppearance(Entity entity) + { + if (!Prototypes.TryIndex(entity.Comp.SelectedBorgType, out var proto)) + return; + + UpdateEntityAppearance(entity, proto); + } + + protected virtual void UpdateEntityAppearance( + Entity entity, + BorgTypePrototype prototype) + { + if (TryComp(entity, out InteractionPopupComponent? popup)) + { + _interactionPopup.SetInteractSuccessString((entity.Owner, popup), prototype.PetSuccessString); + _interactionPopup.SetInteractFailureString((entity.Owner, popup), prototype.PetFailureString); + } + + if (TryComp(entity, out FootstepModifierComponent? footstepModifier)) + { + footstepModifier.FootstepSoundCollection = prototype.FootstepCollection; + } + } +} diff --git a/Content.Shared/Silicons/Borgs/SharedBorgSystem.cs b/Content.Shared/Silicons/Borgs/SharedBorgSystem.cs index c62e63481d..827bb351b0 100644 --- a/Content.Shared/Silicons/Borgs/SharedBorgSystem.cs +++ b/Content.Shared/Silicons/Borgs/SharedBorgSystem.cs @@ -124,4 +124,13 @@ private void OnRefreshMovementSpeedModifiers(EntityUid uid, BorgChassisComponent var sprintDif = movement.BaseWalkSpeed / movement.BaseSprintSpeed; args.ModifySpeed(1f, sprintDif); } + + /// + /// Sets . + /// + public void SetBorgModuleDefault(Entity ent, bool newDefault) + { + ent.Comp.DefaultModule = newDefault; + Dirty(ent); + } } diff --git a/Resources/Locale/en-US/borg/borg.ftl b/Resources/Locale/en-US/borg/borg.ftl index 6c495510b0..9c9dc71069 100644 --- a/Resources/Locale/en-US/borg/borg.ftl +++ b/Resources/Locale/en-US/borg/borg.ftl @@ -25,3 +25,40 @@ borg-transponder-disabling-popup = Your transponder begins to lock you out of th borg-transponder-destroying-popup = The self destruct of {$name} starts beeping! borg-transponder-emagged-disabled-popup = Your transponder's lights go out! borg-transponder-emagged-destroyed-popup = Your transponder's fuse blows! + +## Borg type selection UI. +borg-select-type-menu-title = Select Chassis Type +borg-select-type-menu-bottom-text = Chassis selection is irreversible +borg-select-type-menu-available = Available types +borg-select-type-menu-information = Information +borg-select-type-menu-select-type = Select type to view information +borg-select-type-menu-confirm = Confirm selection +borg-select-type-menu-guidebook = Guidebook + +## Borg type information + +borg-type-generic-name = Generic +borg-type-generic-desc = Jack of all trades, master of none. Do various random station tasks, or maybe help out the science department that built you. +borg-type-generic-transponder = generic cyborg + +borg-type-engineering-name = Engineering +borg-type-engineering-desc = Assist the engineering team in station construction, repairing damage, or fixing electrical and atmospheric issues. +borg-type-engineering-transponder = engineering cyborg + +borg-type-mining-name = Salvage +borg-type-mining-desc = Join salvage and help them mine for materials, scavenge wrecks, and fight off hostile wildlife. +borg-type-mining-transponder = salvage cyborg + +borg-type-janitor-name = Janitor +borg-type-janitor-desc = Keep the station nice and tidy, clean up spills, collect and properly dispose of trash left around by lazy crewmembers. +borg-type-janitor-transponder = janitor cyborg + +borg-type-medical-name = Medical +borg-type-medical-desc = Provide medical attention to crew who need it, either in medbay or in hazardous areas conventional paramedics cannot reach. +borg-type-medical-transponder = medical cyborg + +borg-type-service-name = Service +borg-type-service-desc = Help out with a wide range of crew services, ranging from serving snacks and drinks to botany to entertainment. +borg-type-service-transponder = service cyborg + + diff --git a/Resources/Prototypes/Actions/borgs.yml b/Resources/Prototypes/Actions/borgs.yml index a0168ef00f..0f635ba3ec 100644 --- a/Resources/Prototypes/Actions/borgs.yml +++ b/Resources/Prototypes/Actions/borgs.yml @@ -10,3 +10,15 @@ state: state-laws event: !type:ToggleLawsScreenEvent useDelay: 0.5 + +- type: entity + id: ActionSelectBorgType + name: Select Cyborg Type + components: + - type: InstantAction + itemIconStyle: NoItem + icon: + sprite: Interface/Actions/actions_borg.rsi + state: select-type + event: !type:BorgToggleSelectTypeEvent + useDelay: 0.5 diff --git a/Resources/Prototypes/Body/Parts/silicon.yml b/Resources/Prototypes/Body/Parts/silicon.yml index 6b2b3f57d2..3b0f254096 100644 --- a/Resources/Prototypes/Body/Parts/silicon.yml +++ b/Resources/Prototypes/Body/Parts/silicon.yml @@ -28,82 +28,105 @@ - Robotics - type: entity - id: BaseBorgArmLeft + id: LeftArmBorg parent: PartSilicon name: cyborg left arm - abstract: true components: - type: BodyPart partType: Hand symmetry: Left + - type: Sprite + state: borg_l_arm + - type: Icon + state: borg_l_arm - type: Tag tags: - Trash - BorgArm + - BorgLArm - type: entity - id: BaseBorgArmRight + id: RightArmBorg parent: PartSilicon name: cyborg right arm - abstract: true components: - type: BodyPart partType: Hand symmetry: Right + - type: Sprite + state: borg_r_arm + - type: Icon + state: borg_r_arm - type: Tag tags: - Trash - BorgArm + - BorgRArm - type: entity - id: BaseBorgLegLeft + id: LeftLegBorg parent: PartSilicon name: cyborg left leg - abstract: true components: - type: BodyPart partType: Leg symmetry: Left + - type: Sprite + state: borg_l_leg + - type: Icon + state: borg_l_leg - type: Tag tags: - Trash - BorgLeg + - BorgLLeg - type: entity - id: BaseBorgLegRight + id: RightLegBorg parent: PartSilicon name: cyborg right leg - abstract: true components: - type: BodyPart partType: Leg symmetry: Right + - type: Sprite + state: borg_r_leg + - type: Icon + state: borg_r_leg - type: Tag tags: - Trash - BorgLeg + - BorgRLeg - type: entity - id: BaseBorgHead + id: LightHeadBorg parent: PartSilicon name: cyborg head - abstract: true components: - type: BodyPart partType: Head + - type: Sprite + state: borg_head + - type: Icon + state: borg_head - type: Tag tags: - Trash - BorgHead - type: entity - id: BaseBorgTorso + id: TorsoBorg parent: PartSilicon name: cyborg torso - abstract: true components: - type: BodyPart partType: Torso + - type: Sprite + state: borg_chest + - type: Icon + state: borg_chest - type: Tag tags: - Trash + - BorgTorso diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml index 0db92ac941..9303bd42dd 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml @@ -69,6 +69,9 @@ type: BorgBoundUserInterface enum.StrippingUiKey.Key: type: StrippableBoundUserInterface + # Only used for NT borgs that can switch type, defined here to avoid copy-pasting the rest of this component. + enum.BorgSwitchableTypeUiKey.SelectBorgType: + type: BorgSelectTypeUserInterface - type: ActivatableUI key: enum.BorgUiKey.Key - type: SiliconLawBound @@ -157,6 +160,7 @@ collection: FootstepBorg - type: Construction graph: Cyborg + node: cyborg containers: - part-container - cell_slot @@ -285,6 +289,9 @@ - type: AccessReader access: [["Command"], ["Research"]] - type: ShowJobIcons + - type: InteractionPopup + interactSuccessSound: + path: /Audio/Ambience/Objects/periodic_beep.ogg - type: entity id: BaseBorgChassisSyndicate diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml index 6a8f1e5abb..fa324c0124 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml @@ -1,23 +1,22 @@ - type: entity - id: BorgChassisGeneric + id: BorgChassisSelectable parent: BaseBorgChassisNT components: - type: Sprite layers: - state: robot + map: ["enum.BorgVisualLayers.Body", "movement"] - state: robot_e_r map: ["enum.BorgVisualLayers.Light"] shader: unshaded visible: false - state: robot_l shader: unshaded - map: ["light"] + map: ["light","enum.BorgVisualLayers.LightStatus"] visible: false - type: BorgChassis - maxModules: 6 - moduleWhitelist: - tags: - - BorgModuleGeneric + # Default borg can take no modules until selected type. + maxModules: 0 hasMindState: robot_e noMindState: robot_e_r - type: BorgTransponder @@ -25,308 +24,62 @@ sprite: Mobs/Silicon/chassis.rsi state: robot name: cyborg - - type: Construction - node: cyborg - - type: Speech - speechVerb: Robotic - type: InteractionPopup interactSuccessString: petting-success-generic-cyborg interactFailureString: petting-failure-generic-cyborg - interactSuccessSound: - path: /Audio/Ambience/Objects/periodic_beep.ogg + - type: BorgSwitchableType + inherentRadioChannels: + - Common + - Binary + +- type: entity + id: BorgChassisGeneric + parent: BorgChassisSelectable + name: generic cyborg + suffix: type picked + components: + - type: BorgSwitchableType + selectedBorgType: generic - type: entity id: BorgChassisMining - parent: BaseBorgChassisNT + parent: BorgChassisSelectable name: salvage cyborg components: - - type: Sprite - layers: - - state: miner - map: ["movement"] - - state: miner_e_r - map: ["enum.BorgVisualLayers.Light"] - shader: unshaded - visible: false - - state: miner_l - shader: unshaded - map: ["light"] - visible: false - - type: SpriteMovement - movementLayers: - movement: - state: miner_moving - noMovementLayers: - movement: - state: miner - - type: BorgChassis - maxModules: 4 - moduleWhitelist: - tags: - - BorgModuleGeneric - - BorgModuleCargo - hasMindState: miner_e - noMindState: miner_e_r - - type: BorgTransponder - sprite: - sprite: Mobs/Silicon/chassis.rsi - state: miner - name: salvage cyborg - - type: Construction - node: mining - - type: IntrinsicRadioTransmitter - channels: - - Supply - - Binary - - Common - - Science - - type: ActiveRadio - channels: - - Supply - - Binary - - Common - - Science - - type: AccessReader - access: [["Cargo"], ["Salvage"], ["Command"], ["Research"]] - - type: Inventory - templateId: borgTall - - type: InteractionPopup - interactSuccessString: petting-success-salvage-cyborg - interactFailureString: petting-failure-salvage-cyborg - interactSuccessSound: - path: /Audio/Ambience/Objects/periodic_beep.ogg + - type: BorgSwitchableType + selectedBorgType: mining - type: entity id: BorgChassisEngineer - parent: BaseBorgChassisNT + parent: BorgChassisSelectable name: engineer cyborg components: - - type: Sprite - layers: - - state: engineer - - state: engineer_e_r - map: ["enum.BorgVisualLayers.Light"] - shader: unshaded - visible: false - - state: engineer_l - shader: unshaded - map: ["light"] - visible: false - - type: BorgChassis - maxModules: 4 - moduleWhitelist: - tags: - - BorgModuleGeneric - - BorgModuleEngineering - hasMindState: engineer_e - noMindState: engineer_e_r - - type: BorgTransponder - sprite: - sprite: Mobs/Silicon/chassis.rsi - state: engineer - name: engineer cyborg - - type: Construction - node: engineer - - type: IntrinsicRadioTransmitter - channels: - - Engineering - - Binary - - Common - - Science - - type: ActiveRadio - channels: - - Engineering - - Binary - - Common - - Science - - type: AccessReader - access: [["Engineering"], ["Command"], ["Research"]] - - type: Inventory - templateId: borgShort - - type: InteractionPopup - interactSuccessString: petting-success-engineer-cyborg - interactFailureString: petting-failure-engineer-cyborg - interactSuccessSound: - path: /Audio/Ambience/Objects/periodic_beep.ogg + - type: BorgSwitchableType + selectedBorgType: engineering - type: entity id: BorgChassisJanitor - parent: BaseBorgChassisNT + parent: BorgChassisSelectable name: janitor cyborg components: - - type: Sprite - layers: - - state: janitor - map: ["movement"] - - state: janitor_e_r - map: ["enum.BorgVisualLayers.Light"] - shader: unshaded - visible: false - - state: janitor_l - shader: unshaded - map: ["light"] - visible: false - - type: SpriteMovement - movementLayers: - movement: - state: janitor_moving - noMovementLayers: - movement: - state: janitor - - type: BorgChassis - maxModules: 4 - moduleWhitelist: - tags: - - BorgModuleGeneric - - BorgModuleJanitor - hasMindState: janitor_e - noMindState: janitor_e_r - - type: BorgTransponder - sprite: - sprite: Mobs/Silicon/chassis.rsi - state: janitor - name: janitor cyborg - - type: Construction - node: janitor - - type: IntrinsicRadioTransmitter - channels: - - Service - - Binary - - Common - - Science - - type: ActiveRadio - channels: - - Service - - Binary - - Common - - Science - - type: AccessReader - access: [["Service"], ["Command"], ["Research"]] - - type: Inventory - templateId: borgShort - - type: InteractionPopup - interactSuccessString: petting-success-janitor-cyborg - interactFailureString: petting-failure-janitor-cyborg - interactSuccessSound: - path: /Audio/Ambience/Objects/periodic_beep.ogg + - type: BorgSwitchableType + selectedBorgType: janitor - type: entity id: BorgChassisMedical - parent: [BaseBorgChassisNT, ShowMedicalIcons] + parent: BorgChassisSelectable name: medical cyborg components: - - type: Sprite - layers: - - state: medical - map: ["movement"] - - state: medical_e_r - map: ["enum.BorgVisualLayers.Light"] - shader: unshaded - visible: false - - state: medical_l - shader: unshaded - map: ["light"] - visible: false - - type: SpriteMovement - movementLayers: - movement: - state: medical_moving - noMovementLayers: - movement: - state: medical - - type: BorgChassis - maxModules: 4 - moduleWhitelist: - tags: - - BorgModuleGeneric - - BorgModuleMedical - hasMindState: medical_e - noMindState: medical_e_r - - type: BorgTransponder - sprite: - sprite: Mobs/Silicon/chassis.rsi - state: medical - name: medical cyborg - - type: Construction - node: medical - - type: IntrinsicRadioTransmitter - channels: - - Medical - - Binary - - Common - - Science - - type: ActiveRadio - channels: - - Medical - - Binary - - Common - - Science - - type: AccessReader - access: [["Medical"], ["Command"], ["Research"]] - - type: Inventory - templateId: borgDutch - - type: FootstepModifier - footstepSoundCollection: - collection: FootstepHoverBorg - - type: SolutionScanner - - type: InteractionPopup - interactSuccessString: petting-success-medical-cyborg - interactFailureString: petting-failure-medical-cyborg - interactSuccessSound: - path: /Audio/Ambience/Objects/periodic_beep.ogg + - type: BorgSwitchableType + selectedBorgType: medical - type: entity id: BorgChassisService - parent: BaseBorgChassisNT + parent: BorgChassisSelectable name: service cyborg components: - - type: Sprite - layers: - - state: service - - state: service_e_r - map: ["enum.BorgVisualLayers.Light"] - shader: unshaded - visible: false - - state: service_l - shader: unshaded - map: ["light"] - visible: false - - type: BorgChassis - maxModules: 4 - moduleWhitelist: - tags: - - BorgModuleGeneric - - BorgModuleService - hasMindState: service_e - noMindState: service_e_r - - type: BorgTransponder - sprite: - sprite: Mobs/Silicon/chassis.rsi - state: service - name: service cyborg - - type: Construction - node: service - - type: IntrinsicRadioTransmitter - channels: - - Service - - Binary - - Common - - Science - - type: ActiveRadio - channels: - - Service - - Binary - - Common - - Science - - type: AccessReader - access: [["Service"], ["Command"], ["Research"]] - - type: Inventory - templateId: borgTall - - type: InteractionPopup - interactSuccessString: petting-success-service-cyborg - interactFailureString: petting-failure-service-cyborg - interactSuccessSound: - path: /Audio/Ambience/Objects/periodic_beep.ogg + - type: BorgSwitchableType + selectedBorgType: service - type: entity id: BorgChassisSyndicateAssault @@ -354,8 +107,6 @@ - BorgModuleSyndicateAssault hasMindState: synd_sec_e noMindState: synd_sec - - type: Construction - node: syndicateassault - type: InteractionPopup interactSuccessString: petting-success-syndicate-cyborg interactFailureString: petting-failure-syndicate-cyborg @@ -388,8 +139,6 @@ - BorgModuleSyndicate hasMindState: synd_medical_e noMindState: synd_medical - - type: Construction - node: syndicatemedical - type: ShowHealthBars - type: InteractionPopup interactSuccessString: petting-success-syndicate-cyborg @@ -429,8 +178,6 @@ - BorgModuleSyndicate hasMindState: synd_engi_e noMindState: synd_engi - - type: Construction - node: syndicatesaboteur - type: ShowHealthBars damageContainers: - Inorganic diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml index e787ef59f0..bcac46ed84 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml @@ -429,28 +429,9 @@ map: ["base"] # Borgs -- type: entity - id: PlayerBorgGeneric - parent: BorgChassisGeneric - suffix: Battery, Tools - components: - - type: ContainerFill - containers: - borg_brain: - - PositronicBrain - borg_module: - - BorgModuleTool - - type: ItemSlots - slots: - cell_slot: - name: power-cell-slot-component-slot-name-default - startingItem: PowerCellMedium - - type: RandomMetadata - nameSegments: [names_borg] - - type: entity id: PlayerBorgBattery - parent: BorgChassisGeneric + parent: BorgChassisSelectable suffix: Battery components: - type: ContainerFill diff --git a/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_parts.yml b/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_parts.yml deleted file mode 100644 index 6df0488e28..0000000000 --- a/Resources/Prototypes/Entities/Objects/Specific/Robotics/borg_parts.yml +++ /dev/null @@ -1,503 +0,0 @@ -# generic parts -- type: entity - id: LeftArmBorg - parent: BaseBorgArmLeft - components: - - type: Sprite - state: borg_l_arm - - type: Icon - state: borg_l_arm - - type: Tag - tags: - - Trash - - BorgArm - - BorgGenericLArm - -- type: entity - id: RightArmBorg - parent: BaseBorgArmRight - components: - - type: Sprite - state: borg_r_arm - - type: Icon - state: borg_r_arm - - type: Tag - tags: - - Trash - - BorgArm - - BorgGenericRArm - -- type: entity - id: LeftLegBorg - parent: BaseBorgLegLeft - components: - - type: Sprite - state: borg_l_leg - - type: Icon - state: borg_l_leg - - type: Tag - tags: - - Trash - - BorgLeg - - BorgGenericLLeg - -- type: entity - id: RightLegBorg - parent: BaseBorgLegRight - components: - - type: Sprite - state: borg_r_leg - - type: Icon - state: borg_r_leg - - type: Tag - tags: - - Trash - - BorgLeg - - BorgGenericRLeg - -- type: entity - id: LightHeadBorg - parent: BaseBorgHead - components: - - type: Sprite - state: borg_head - - type: Icon - state: borg_head - - type: Tag - tags: - - Trash - - BorgHead - - BorgGenericHead - -- type: entity - id: TorsoBorg - parent: BaseBorgTorso - components: - - type: Sprite - state: borg_chest - - type: Icon - state: borg_chest - - type: Tag - tags: - - Trash - - BorgGenericTorso - -# engineer parts -- type: entity - id: LeftArmBorgEngineer - parent: BaseBorgArmLeft - name: engineer cyborg left arm - components: - - type: Sprite - state: engineer_l_arm - - type: Icon - state: engineer_l_arm - - type: Tag - tags: - - Trash - - BorgArm - - BorgEngineerLArm - -- type: entity - id: RightArmBorgEngineer - parent: BaseBorgArmRight - name: engineer cyborg right arm - components: - - type: Sprite - state: engineer_r_arm - - type: Icon - state: engineer_r_arm - - type: Tag - tags: - - Trash - - BorgArm - - BorgEngineerRArm - -- type: entity - id: LeftLegBorgEngineer - parent: BaseBorgLegLeft - name: engineer cyborg left leg - components: - - type: Sprite - state: engineer_l_leg - - type: Icon - state: engineer_l_leg - - type: Tag - tags: - - Trash - - BorgLeg - - BorgEngineerLLeg - -- type: entity - id: RightLegBorgEngineer - parent: BaseBorgLegRight - name: engineer cyborg right leg - components: - - type: Sprite - state: engineer_r_leg - - type: Icon - state: engineer_r_leg - - type: Tag - tags: - - Trash - - BorgLeg - - BorgEngineerRLeg - -- type: entity - id: HeadBorgEngineer - parent: BaseBorgHead - name: engineer cyborg head - components: - - type: Sprite - state: engineer_head - - type: Icon - state: engineer_head - - type: Tag - tags: - - Trash - - BorgHead - - BorgEngineerHead - -- type: entity - id: TorsoBorgEngineer - parent: BaseBorgTorso - name: engineer cyborg torso - components: - - type: Sprite - state: engineer_chest - - type: Icon - state: engineer_chest - - type: Tag - tags: - - Trash - - BorgEngineerTorso - -# janitor parts -- type: entity - id: LeftLegBorgJanitor - parent: BaseBorgLegLeft - name: janitor cyborg left leg - components: - - type: Sprite - state: janitor_l_leg - - type: Icon - state: janitor_l_leg - - type: Tag - tags: - - Trash - - BorgLeg - - BorgJanitorLLeg - -- type: entity - id: RightLegBorgJanitor - parent: BaseBorgLegRight - name: janitor cyborg right leg - components: - - type: Sprite - state: janitor_r_leg - - type: Icon - state: janitor_r_leg - - type: Tag - tags: - - Trash - - BorgLeg - - BorgJanitorRLeg - -- type: entity - id: HeadBorgJanitor - parent: BaseBorgHead - name: janitor cyborg head - components: - - type: Sprite - state: janitor_head - - type: Icon - state: janitor_head - - type: Tag - tags: - - Trash - - BorgHead - - BorgJanitorHead - -- type: entity - id: TorsoBorgJanitor - parent: BaseBorgTorso - name: janitor cyborg torso - components: - - type: Sprite - state: janitor_chest - - type: Icon - state: janitor_chest - - type: Tag - tags: - - Trash - - BorgJanitorTorso - -# medical parts -- type: entity - id: LeftArmBorgMedical - parent: BaseBorgArmLeft - name: medical cyborg left arm - components: - - type: Sprite - state: medical_l_arm - - type: Icon - state: medical_l_arm - - type: Tag - tags: - - Trash - - BorgArm - - BorgMedicalLArm - -- type: entity - id: RightArmBorgMedical - parent: BaseBorgArmRight - name: medical cyborg right arm - components: - - type: Sprite - state: medical_r_arm - - type: Icon - state: medical_r_arm - - type: Tag - tags: - - Trash - - BorgArm - - BorgMedicalRArm - -- type: entity - id: LeftLegBorgMedical - parent: BaseBorgLegLeft - name: medical cyborg left leg - components: - - type: Sprite - state: medical_l_leg - - type: Icon - state: medical_l_leg - - type: Tag - tags: - - Trash - - BorgLeg - - BorgMedicalLLeg - -- type: entity - id: RightLegBorgMedical - parent: BaseBorgLegRight - name: medical cyborg right leg - components: - - type: Sprite - state: medical_r_leg - - type: Icon - state: medical_r_leg - - type: Tag - tags: - - Trash - - BorgLeg - - BorgMedicalRLeg - -- type: entity - id: HeadBorgMedical - parent: BaseBorgHead - name: medical cyborg head - components: - - type: Sprite - state: medical_head - - type: Icon - state: medical_head - - type: Tag - tags: - - Trash - - BorgHead - - BorgMedicalHead - -- type: entity - id: TorsoBorgMedical - parent: BaseBorgTorso - name: medical cyborg torso - components: - - type: Sprite - state: medical_chest - - type: Icon - state: medical_chest - - type: Tag - tags: - - Trash - - BorgMedicalTorso - -# mining parts -- type: entity - id: LeftArmBorgMining - parent: BaseBorgArmLeft - name: mining cyborg left arm - components: - - type: Sprite - state: mining_l_arm - - type: Icon - state: mining_l_arm - - type: Tag - tags: - - Trash - - BorgArm - - BorgMiningLArm - -- type: entity - id: RightArmBorgMining - parent: BaseBorgArmRight - name: mining cyborg right arm - components: - - type: Sprite - state: mining_r_arm - - type: Icon - state: mining_r_arm - - type: Tag - tags: - - Trash - - BorgArm - - BorgMiningRArm - -- type: entity - id: LeftLegBorgMining - parent: BaseBorgLegLeft - name: mining cyborg left leg - components: - - type: Sprite - state: mining_l_leg - - type: Icon - state: mining_l_leg - - type: Tag - tags: - - Trash - - BorgLeg - - BorgMiningLLeg - -- type: entity - id: RightLegBorgMining - parent: BaseBorgLegRight - name: mining cyborg right leg - components: - - type: Sprite - state: mining_r_leg - - type: Icon - state: mining_r_leg - - type: Tag - tags: - - Trash - - BorgLeg - - BorgMiningRLeg - -- type: entity - id: HeadBorgMining - parent: BaseBorgHead - name: mining cyborg head - components: - - type: Sprite - state: mining_head - - type: Icon - state: mining_head - - type: Tag - tags: - - Trash - - BorgHead - - BorgMiningHead - -- type: entity - id: TorsoBorgMining - parent: BaseBorgTorso - name: mining cyborg torso - components: - - type: Sprite - state: mining_chest - - type: Icon - state: mining_chest - - type: Tag - tags: - - Trash - - BorgMiningTorso - -# service parts -- type: entity - id: LeftArmBorgService - parent: BaseBorgArmLeft - name: service cyborg left arm - components: - - type: Sprite - state: service_l_arm - - type: Icon - state: service_l_arm - - type: Tag - tags: - - Trash - - BorgArm - - BorgServiceLArm - -- type: entity - id: RightArmBorgService - parent: BaseBorgArmRight - name: service cyborg right arm - components: - - type: Sprite - state: service_r_arm - - type: Icon - state: service_r_arm - - type: Tag - tags: - - Trash - - BorgArm - - BorgServiceRArm - -- type: entity - id: LeftLegBorgService - parent: BaseBorgLegLeft - name: service cyborg left leg - components: - - type: Sprite - state: service_l_leg - - type: Icon - state: service_l_leg - - type: Tag - tags: - - Trash - - BorgLeg - - BorgServiceLLeg - -- type: entity - id: RightLegBorgService - parent: BaseBorgLegRight - name: service cyborg right leg - components: - - type: Sprite - state: service_r_leg - - type: Icon - state: service_r_leg - - type: Tag - tags: - - Trash - - BorgLeg - - BorgServiceRLeg - -- type: entity - id: HeadBorgService - parent: BaseBorgHead - name: service cyborg head - components: - - type: Sprite - state: service_head - - type: Icon - state: service_head - - type: Tag - tags: - - Trash - - BorgHead - - BorgServiceHead - -- type: entity - id: TorsoBorgService - parent: BaseBorgTorso - name: service cyborg torso - components: - - type: Sprite - state: service_chest - - type: Icon - state: service_chest - - type: Tag - tags: - - Trash - - BorgServiceTorso diff --git a/Resources/Prototypes/Entities/Objects/Specific/Robotics/endoskeleton.yml b/Resources/Prototypes/Entities/Objects/Specific/Robotics/endoskeleton.yml index 9261e06ea2..6afc06a796 100644 --- a/Resources/Prototypes/Entities/Objects/Specific/Robotics/endoskeleton.yml +++ b/Resources/Prototypes/Entities/Objects/Specific/Robotics/endoskeleton.yml @@ -33,139 +33,27 @@ borg_l_arm+o: whitelist: tags: - - BorgGenericLArm + - BorgLArm borg_r_arm+o: whitelist: tags: - - BorgGenericRArm + - BorgRArm borg_l_leg+o: whitelist: tags: - - BorgGenericLLeg + - BorgLLeg borg_r_leg+o: whitelist: tags: - - BorgGenericRLeg + - BorgRLeg borg_head+o: whitelist: tags: - - BorgGenericHead + - BorgHead borg_chest+o: whitelist: tags: - - BorgGenericTorso - service_l_arm+o: - whitelist: - tags: - - BorgServiceLArm - service_r_arm+o: - whitelist: - tags: - - BorgServiceRArm - service_l_leg+o: - whitelist: - tags: - - BorgServiceLLeg - service_r_leg+o: - whitelist: - tags: - - BorgServiceRLeg - service_head+o: - whitelist: - tags: - - BorgServiceHead - service_chest+o: - whitelist: - tags: - - BorgServiceTorso - engineer_l_arm+o: - whitelist: - tags: - - BorgEngineerLArm - engineer_r_arm+o: - whitelist: - tags: - - BorgEngineerRArm - engineer_l_leg+o: - whitelist: - tags: - - BorgEngineerLLeg - engineer_r_leg+o: - whitelist: - tags: - - BorgEngineerRLeg - engineer_head+o: - whitelist: - tags: - - BorgEngineerHead - engineer_chest+o: - whitelist: - tags: - - BorgEngineerTorso - mining_l_arm+o: - whitelist: - tags: - - BorgMiningLArm - mining_r_arm+o: - whitelist: - tags: - - BorgMiningRArm - mining_l_leg+o: - whitelist: - tags: - - BorgMiningLLeg - mining_r_leg+o: - whitelist: - tags: - - BorgMiningRLeg - mining_head+o: - whitelist: - tags: - - BorgMiningHead - mining_chest+o: - whitelist: - tags: - - BorgMiningTorso - medical_l_arm+o: - whitelist: - tags: - - BorgMedicalLArm - medical_r_arm+o: - whitelist: - tags: - - BorgMedicalRArm - medical_l_leg+o: - whitelist: - tags: - - BorgMedicalLLeg - medical_r_leg+o: - whitelist: - tags: - - BorgMedicalRLeg - medical_head+o: - whitelist: - tags: - - BorgMedicalHead - medical_chest+o: - whitelist: - tags: - - BorgMedicalTorso - janitor_l_leg+o: - whitelist: - tags: - - BorgJanitorLLeg - janitor_r_leg+o: - whitelist: - tags: - - BorgJanitorRLeg - janitor_head+o: - whitelist: - tags: - - BorgJanitorHead - janitor_chest+o: - whitelist: - tags: - - BorgJanitorTorso + - BorgTorso - type: ContainerContainer containers: part-container: !type:Container @@ -173,45 +61,12 @@ - type: PartAssembly parts: generic: - - BorgGenericLArm - - BorgGenericRArm - - BorgGenericLLeg - - BorgGenericRLeg - - BorgGenericHead - - BorgGenericTorso - service: - - BorgServiceLArm - - BorgServiceRArm - - BorgServiceLLeg - - BorgServiceRLeg - - BorgServiceHead - - BorgServiceTorso - engineer: - - BorgEngineerLArm - - BorgEngineerRArm - - BorgEngineerLLeg - - BorgEngineerRLeg - - BorgEngineerHead - - BorgEngineerTorso - medical: - - BorgMedicalLArm - - BorgMedicalRArm - - BorgMedicalLLeg - - BorgMedicalRLeg - - BorgMedicalHead - - BorgMedicalTorso - janitor: - - BorgJanitorLLeg - - BorgJanitorRLeg - - BorgJanitorHead - - BorgJanitorTorso - mining: - - BorgMiningLArm - - BorgMiningRArm - - BorgMiningLLeg - - BorgMiningRLeg - - BorgMiningHead - - BorgMiningTorso + - BorgLArm + - BorgRArm + - BorgLLeg + - BorgRLeg + - BorgHead + - BorgTorso - type: Construction graph: Cyborg node: start diff --git a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml index 020566ad1a..6a94891d12 100644 --- a/Resources/Prototypes/Entities/Structures/Machines/lathe.yml +++ b/Resources/Prototypes/Entities/Structures/Machines/lathe.yml @@ -572,11 +572,6 @@ - BorgModuleFireExtinguisher - BorgModuleRadiationDetection - BorgModuleTool - - BorgModuleAppraisal - - BorgModuleConstruction - - BorgModuleService - - BorgModuleTreatment - - BorgModuleCleaning - CyborgEndoskeleton - LeftArmBorg - RightArmBorg @@ -584,50 +579,15 @@ - RightLegBorg - LightHeadBorg - TorsoBorg - - LeftArmBorgEngineer - - RightArmBorgEngineer - - LeftLegBorgEngineer - - RightLegBorgEngineer - - HeadBorgEngineer - - TorsoBorgEngineer - - LeftLegBorgJanitor - - RightLegBorgJanitor - - HeadBorgJanitor - - TorsoBorgJanitor - - LeftArmBorgMedical - - RightArmBorgMedical - - LeftLegBorgMedical - - RightLegBorgMedical - - HeadBorgMedical - - TorsoBorgMedical - - LeftArmBorgMining - - RightArmBorgMining - - LeftLegBorgMining - - RightLegBorgMining - - HeadBorgMining - - TorsoBorgMining - - LeftArmBorgService - - RightArmBorgService - - LeftLegBorgService - - RightLegBorgService - - HeadBorgService - - TorsoBorgService dynamicRecipes: - ProximitySensor - - BorgModuleLightReplacer - BorgModuleAdvancedCleaning - - BorgModuleMining - - BorgModuleGrapplingGun - BorgModuleAdvancedTool - BorgModuleGPS - - BorgModuleRCD - BorgModuleArtifact - BorgModuleAnomaly - BorgModuleGardening - BorgModuleHarvesting - - BorgModuleMusique - - BorgModuleClowning - - BorgModuleDiagnosis - BorgModuleDefibrillator - BorgModuleAdvancedTreatment - RipleyHarness diff --git a/Resources/Prototypes/InventoryTemplates/borg.yml b/Resources/Prototypes/InventoryTemplates/borg.yml index d43519f61c..3d3ef29eb0 100644 --- a/Resources/Prototypes/InventoryTemplates/borg.yml +++ b/Resources/Prototypes/InventoryTemplates/borg.yml @@ -26,8 +26,7 @@ - name: head slotTexture: head slotFlags: HEAD - slotGroup: MainHotbar - uiWindowPos: 0,0 + uiWindowPos: 1,0 strippingWindowPos: 0,0 displayName: Head offset: 0.015625, 0 diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml b/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml index 0f012cefc9..4ebc43667c 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml @@ -5,18 +5,6 @@ - node: start entity: CyborgEndoskeleton edges: - - # empty the parts via prying - - to: start - conditions: - - !type:ContainerNotEmpty - container: part-container - steps: - - tool: Prying - doAfter: 0.5 - completed: - - !type:EmptyAllContainers - - to: cyborg steps: - assemblyId: generic @@ -43,165 +31,6 @@ - tool: Screwing doAfter: 0.5 - - - to: engineer - steps: - - assemblyId: engineer - guideString: borg-construction-guide-string - - - material: Cable - amount: 1 - doAfter: 1 - store: part-container - - - component: Flash - name: flash - store: part-container - icon: - sprite: Objects/Weapons/Melee/flash.rsi - state: flash - - - component: Flash - name: second flash - store: part-container - icon: - sprite: Objects/Weapons/Melee/flash.rsi - state: flash - - - tool: Screwing - doAfter: 0.5 - - - to: janitor - steps: - - assemblyId: janitor - guideString: borg-construction-guide-string - - - material: Cable - amount: 1 - doAfter: 1 - store: part-container - - - component: Flash - name: flash - store: part-container - icon: - sprite: Objects/Weapons/Melee/flash.rsi - state: flash - - - component: Flash - name: second flash - store: part-container - icon: - sprite: Objects/Weapons/Melee/flash.rsi - state: flash - - - tool: Screwing - doAfter: 0.5 - - - to: medical - steps: - - assemblyId: medical - guideString: borg-construction-guide-string - - - material: Cable - amount: 1 - doAfter: 1 - store: part-container - - - component: Flash - name: flash - store: part-container - icon: - sprite: Objects/Weapons/Melee/flash.rsi - state: flash - - - component: Flash - name: second flash - store: part-container - icon: - sprite: Objects/Weapons/Melee/flash.rsi - state: flash - - - tool: Screwing - doAfter: 0.5 - - - to: mining - steps: - - assemblyId: mining - guideString: borg-construction-guide-string - - - material: Cable - amount: 1 - doAfter: 1 - store: part-container - - - component: Flash - name: flash - store: part-container - icon: - sprite: Objects/Weapons/Melee/flash.rsi - state: flash - - - component: Flash - name: second flash - store: part-container - icon: - sprite: Objects/Weapons/Melee/flash.rsi - state: flash - - - tool: Screwing - doAfter: 0.5 - - - to: service - steps: - - assemblyId: service - guideString: borg-construction-guide-string - - - material: Cable - amount: 1 - doAfter: 1 - store: part-container - - - component: Flash - name: flash - store: part-container - icon: - sprite: Objects/Weapons/Melee/flash.rsi - state: flash - - - component: Flash - name: second flash - store: part-container - icon: - sprite: Objects/Weapons/Melee/flash.rsi - state: flash - - - tool: Screwing - doAfter: 0.5 - node: cyborg - entity: BorgChassisGeneric - - - node: engineer - entity: BorgChassisEngineer - - - node: janitor - entity: BorgChassisJanitor - - - node: mining - entity: BorgChassisMining - - - node: medical - entity: BorgChassisMedical - - - node: service - entity: BorgChassisService - - - node: syndicateassault - entity: BorgChassisSyndicateAssault - - - node: syndicatemedical - entity: BorgChassisSyndicateMedical - - - node: syndicatesaboteur - entity: BorgChassisSyndicateSaboteur + entity: BorgChassisSelectable diff --git a/Resources/Prototypes/Recipes/Lathes/robotics.yml b/Resources/Prototypes/Recipes/Lathes/robotics.yml index bf8deba984..a4413e01eb 100644 --- a/Resources/Prototypes/Recipes/Lathes/robotics.yml +++ b/Resources/Prototypes/Recipes/Lathes/robotics.yml @@ -61,8 +61,6 @@ materials: Steel: 1500 -# Generic - - type: latheRecipe parent: BaseBorgLimbRecipe id: LeftArmBorg @@ -93,162 +91,6 @@ id: TorsoBorg result: TorsoBorg -# Engineer - -- type: latheRecipe - parent: BaseBorgLimbRecipe - id: LeftArmBorgEngineer - result: LeftArmBorgEngineer - -- type: latheRecipe - parent: BaseBorgLimbRecipe - id: RightArmBorgEngineer - result: RightArmBorgEngineer - -- type: latheRecipe - parent: BaseBorgLimbRecipe - id: LeftLegBorgEngineer - result: LeftLegBorgEngineer - -- type: latheRecipe - parent: BaseBorgLimbRecipe - id: RightLegBorgEngineer - result: RightLegBorgEngineer - -- type: latheRecipe - parent: BaseBorgLimbRecipe - id: HeadBorgEngineer - result: HeadBorgEngineer - -- type: latheRecipe - parent: BaseBorgLimbRecipe - id: TorsoBorgEngineer - result: TorsoBorgEngineer - -# Medical - -- type: latheRecipe - parent: BaseBorgLimbRecipe - id: LeftArmBorgMedical - result: LeftArmBorgMedical - -- type: latheRecipe - parent: BaseBorgLimbRecipe - id: RightArmBorgMedical - result: RightArmBorgMedical - -- type: latheRecipe - parent: BaseBorgLimbRecipe - id: LeftLegBorgMedical - result: LeftLegBorgMedical - -- type: latheRecipe - parent: BaseBorgLimbRecipe - id: RightLegBorgMedical - result: RightLegBorgMedical - -- type: latheRecipe - parent: BaseBorgLimbRecipe - id: HeadBorgMedical - result: HeadBorgMedical - -- type: latheRecipe - parent: BaseBorgLimbRecipe - id: TorsoBorgMedical - result: TorsoBorgMedical - -# Mining - -- type: latheRecipe - parent: BaseBorgLimbRecipe - id: LeftArmBorgMining - result: LeftArmBorgMining - -- type: latheRecipe - parent: BaseBorgLimbRecipe - id: RightArmBorgMining - result: RightArmBorgMining - -- type: latheRecipe - parent: BaseBorgLimbRecipe - id: LeftLegBorgMining - result: LeftLegBorgMining - -- type: latheRecipe - parent: BaseBorgLimbRecipe - id: RightLegBorgMining - result: RightLegBorgMining - -- type: latheRecipe - parent: BaseBorgLimbRecipe - id: HeadBorgMining - result: HeadBorgMining - -- type: latheRecipe - parent: BaseBorgLimbRecipe - id: TorsoBorgMining - result: TorsoBorgMining - -# Service - -- type: latheRecipe - parent: BaseBorgLimbRecipe - id: LeftArmBorgService - result: LeftArmBorgService - -- type: latheRecipe - parent: BaseBorgLimbRecipe - id: RightArmBorgService - result: RightArmBorgService - -- type: latheRecipe - parent: BaseBorgLimbRecipe - id: LeftLegBorgService - result: LeftLegBorgService - -- type: latheRecipe - parent: BaseBorgLimbRecipe - id: RightLegBorgService - result: RightLegBorgService - -- type: latheRecipe - parent: BaseBorgLimbRecipe - id: HeadBorgService - result: HeadBorgService - -- type: latheRecipe - parent: BaseBorgLimbRecipe - id: TorsoBorgService - result: TorsoBorgService - -# Janitor - -- type: latheRecipe - parent: BaseBorgLimbRecipe - id: LeftLegBorgJanitor - result: LeftLegBorgJanitor - -- type: latheRecipe - parent: BaseBorgLimbRecipe - id: RightLegBorgJanitor - result: RightLegBorgJanitor - -- type: latheRecipe - parent: BaseBorgLimbRecipe - id: HeadBorgJanitor - result: HeadBorgJanitor - materials: - Steel: 500 - Glass: 200 - -- type: latheRecipe - parent: BaseBorgLimbRecipe - id: TorsoBorgJanitor - result: TorsoBorgJanitor - materials: - Steel: 500 - Glass: 200 - # Parts - type: latheRecipe @@ -304,23 +146,6 @@ id: BorgModuleTool result: BorgModuleTool -# Mining Modules - -- type: latheRecipe - parent: BaseBorgModuleRecipe - id: BorgModuleAppraisal - result: BorgModuleAppraisal - -- type: latheRecipe - parent: BaseBorgModuleRecipe - id: BorgModuleMining - result: BorgModuleMining - -- type: latheRecipe - parent: BaseGoldBorgModuleRecipe - id: BorgModuleGrapplingGun - result: BorgModuleGrapplingGun - # Engineering Modules - type: latheRecipe @@ -328,28 +153,8 @@ id: BorgModuleAdvancedTool result: BorgModuleAdvancedTool -- type: latheRecipe - parent: BaseBorgModuleRecipe - id: BorgModuleConstruction - result: BorgModuleConstruction - -- type: latheRecipe - parent: BaseGoldBorgModuleRecipe - id: BorgModuleRCD - result: BorgModuleRCD - # Janitor Modules -- type: latheRecipe - parent: BaseBorgModuleRecipe - id: BorgModuleLightReplacer - result: BorgModuleLightReplacer - -- type: latheRecipe - parent: BaseBorgModuleRecipe - id: BorgModuleCleaning - result: BorgModuleCleaning - - type: latheRecipe parent: BaseGoldBorgModuleRecipe id: BorgModuleAdvancedCleaning @@ -357,16 +162,6 @@ # Medical Modules -- type: latheRecipe - parent: BaseBorgModuleRecipe - id: BorgModuleDiagnosis - result: BorgModuleDiagnosis - -- type: latheRecipe - parent: BaseBorgModuleRecipe - id: BorgModuleTreatment - result: BorgModuleTreatment - - type: latheRecipe parent: BaseGoldBorgModuleRecipe id: BorgModuleAdvancedTreatment @@ -391,16 +186,6 @@ # Service Modules -- type: latheRecipe - parent: BaseBorgModuleRecipe - id: BorgModuleService - result: BorgModuleService - -- type: latheRecipe - parent: BaseBorgModuleRecipe - id: BorgModuleMusique - result: BorgModuleMusique - - type: latheRecipe parent: BaseBorgModuleRecipe id: BorgModuleGardening @@ -410,8 +195,3 @@ parent: BaseBorgModuleRecipe id: BorgModuleHarvesting result: BorgModuleHarvesting - -- type: latheRecipe - parent: BaseBorgModuleRecipe - id: BorgModuleClowning - result: BorgModuleClowning diff --git a/Resources/Prototypes/Research/civilianservices.yml b/Resources/Prototypes/Research/civilianservices.yml index b990eb6ae4..9430c391a9 100644 --- a/Resources/Prototypes/Research/civilianservices.yml +++ b/Resources/Prototypes/Research/civilianservices.yml @@ -66,8 +66,6 @@ recipeUnlocks: - ComputerTelevisionCircuitboard - SynthesizerInstrument - - BorgModuleMusique - - BorgModuleClowning - DawInstrumentMachineCircuitboard - MassMediaCircuitboard - JukeboxCircuitBoard @@ -82,7 +80,6 @@ tier: 1 cost: 5000 recipeUnlocks: - - BorgModuleLightReplacer - BorgModuleAdvancedCleaning - type: technology diff --git a/Resources/Prototypes/Research/industrial.yml b/Resources/Prototypes/Research/industrial.yml index e65c734ffd..817e50834b 100644 --- a/Resources/Prototypes/Research/industrial.yml +++ b/Resources/Prototypes/Research/industrial.yml @@ -12,8 +12,6 @@ recipeUnlocks: - MiningDrill - MineralScannerEmpty - - BorgModuleMining - - BorgModuleGrapplingGun - OreProcessorIndustrialMachineCircuitboard - ClothingMaskWeldingGas @@ -168,7 +166,6 @@ - PowerDrill - JawsOfLife - BorgModuleAdvancedTool - - BorgModuleRCD - type: technology id: MassExcavation diff --git a/Resources/Prototypes/Roles/Jobs/Science/borg.yml b/Resources/Prototypes/Roles/Jobs/Science/borg.yml index 4cbede17ca..c62482d286 100644 --- a/Resources/Prototypes/Roles/Jobs/Science/borg.yml +++ b/Resources/Prototypes/Roles/Jobs/Science/borg.yml @@ -25,5 +25,5 @@ canBeAntag: false icon: JobIconBorg supervisors: job-supervisors-rd - jobEntity: PlayerBorgGeneric + jobEntity: PlayerBorgBattery applyTraits: false diff --git a/Resources/Prototypes/borg_types.yml b/Resources/Prototypes/borg_types.yml new file mode 100644 index 0000000000..f6294be68e --- /dev/null +++ b/Resources/Prototypes/borg_types.yml @@ -0,0 +1,218 @@ +# Generic borg +- type: borgType + id: generic + + # Description + dummyPrototype: BorgChassisGeneric + + # Functional + extraModuleCount: 5 + moduleWhitelist: + tags: + - BorgModuleGeneric + + defaultModules: + - BorgModuleTool + + radioChannels: + - Science + + # Visual + inventoryTemplateId: borgShort + spriteBodyState: robot + spriteHasMindState: robot_e + spriteNoMindState: robot_e_r + spriteToggleLightState: robot_l + + # Pet + petSuccessString: petting-success-generic-cyborg + petFailureString: petting-failure-generic-cyborg + + +# Engineering borg +- type: borgType + id: engineering + + # Description + dummyPrototype: BorgChassisEngineer + + # Functional + extraModuleCount: 3 + moduleWhitelist: + tags: + - BorgModuleGeneric + - BorgModuleEngineering + + defaultModules: + - BorgModuleTool + - BorgModuleConstruction + - BorgModuleRCD + - BorgModuleCable + + radioChannels: + - Engineering + - Science + + # Visual + inventoryTemplateId: borgShort + spriteBodyState: engineer + spriteHasMindState: engineer_e + spriteNoMindState: engineer_e_r + spriteToggleLightState: engineer_l + + # Pet + petSuccessString: petting-success-engineer-cyborg + petFailureString: petting-failure-engineer-cyborg + + +# Salvage borg +- type: borgType + id: mining + + # Description + dummyPrototype: BorgChassisMining + + # Functional + extraModuleCount: 3 + moduleWhitelist: + tags: + - BorgModuleGeneric + - BorgModuleCargo + + defaultModules: + - BorgModuleGrapplingGun + - BorgModuleMining + - BorgModuleAppraisal + + radioChannels: + - Supply + - Science + + # Visual + inventoryTemplateId: borgTall + spriteBodyState: miner + spriteBodyMovementState: miner_moving + spriteHasMindState: miner_e + spriteNoMindState: miner_e_r + spriteToggleLightState: miner_l + + # Pet + petSuccessString: petting-success-salvage-cyborg + petFailureString: petting-failure-salvage-cyborg + + +# Janitor borg +- type: borgType + id: janitor + + # Description + dummyPrototype: BorgChassisJanitor + + # Functional + extraModuleCount: 3 + moduleWhitelist: + tags: + - BorgModuleGeneric + - BorgModuleJanitor + + defaultModules: + - BorgModuleLightReplacer + - BorgModuleCleaning + + radioChannels: + - Science + - Service + + # Visual + inventoryTemplateId: borgShort + spriteBodyState: janitor + spriteBodyMovementState: janitor_moving + spriteHasMindState: janitor_e + spriteNoMindState: janitor_e_r + spriteToggleLightState: janitor_l + + # Pet + petSuccessString: petting-success-janitor-cyborg + petFailureString: petting-failure-janitor-cyborg + + +# Medical borg +- type: borgType + id: medical + + # Description + dummyPrototype: BorgChassisMedical + + # Functional + extraModuleCount: 3 + moduleWhitelist: + tags: + - BorgModuleGeneric + - BorgModuleMedical + + defaultModules: + - BorgModuleTreatment + + radioChannels: + - Science + - Medical + + addComponents: + - type: SolutionScanner + - type: ShowHealthBars + damageContainers: + - Biological + - type: ShowHealthIcons + damageContainers: + - Biological + + # Visual + inventoryTemplateId: borgDutch + spriteBodyState: medical + spriteBodyMovementState: medical_moving + spriteHasMindState: medical_e + spriteNoMindState: medical_e_r + spriteToggleLightState: medical_l + + # Pet + petSuccessString: petting-success-medical-cyborg + petFailureString: petting-failure-medical-cyborg + + # Sounds + footstepCollection: + collection: FootstepHoverBorg + + +# Service borg +- type: borgType + id: service + + # Description + dummyPrototype: BorgChassisService + + # Functional + extraModuleCount: 3 + moduleWhitelist: + tags: + - BorgModuleGeneric + - BorgModuleService + + defaultModules: + - BorgModuleMusique + - BorgModuleService + - BorgModuleClowning + + radioChannels: + - Science + - Service + + # Visual + inventoryTemplateId: borgTall + spriteBodyState: service + spriteHasMindState: service_e + spriteNoMindState: service_e_r + spriteToggleLightState: service_l + + # Pet + petSuccessString: petting-success-service-cyborg + petFailureString: petting-failure-service-cyborg diff --git a/Resources/Prototypes/tags.yml b/Resources/Prototypes/tags.yml index be9c90ce93..6112f93c16 100644 --- a/Resources/Prototypes/tags.yml +++ b/Resources/Prototypes/tags.yml @@ -75,95 +75,26 @@ - type: Tag id: BorgArm -- type: Tag - id: BorgEngineerHead - -- type: Tag - id: BorgEngineerLArm - -- type: Tag - id: BorgEngineerLLeg - -- type: Tag - id: BorgEngineerRArm - -- type: Tag - id: BorgEngineerRLeg - -- type: Tag - id: BorgEngineerTorso - -- type: Tag - id: BorgGenericHead - -- type: Tag - id: BorgGenericLArm - -- type: Tag - id: BorgGenericLLeg - -- type: Tag - id: BorgGenericRArm - -- type: Tag - id: BorgGenericRLeg - -- type: Tag - id: BorgGenericTorso - - type: Tag id: BorgHead - type: Tag - id: BorgJanitorHead - -- type: Tag - id: BorgJanitorLLeg - -- type: Tag - id: BorgJanitorRLeg - -- type: Tag - id: BorgJanitorTorso + id: BorgLArm - type: Tag - id: BorgLeg - -- type: Tag - id: BorgMedicalHead - -- type: Tag - id: BorgMedicalLArm - -- type: Tag - id: BorgMedicalLLeg - -- type: Tag - id: BorgMedicalRArm - -- type: Tag - id: BorgMedicalRLeg - -- type: Tag - id: BorgMedicalTorso - -- type: Tag - id: BorgMiningHead + id: BorgLLeg - type: Tag - id: BorgMiningLArm + id: BorgRArm - type: Tag - id: BorgMiningLLeg + id: BorgRLeg - type: Tag - id: BorgMiningRArm + id: BorgTorso - type: Tag - id: BorgMiningRLeg - -- type: Tag - id: BorgMiningTorso + id: BorgLeg - type: Tag id: BorgModuleCargo @@ -189,24 +120,6 @@ - type: Tag id: BorgModuleSyndicateAssault -- type: Tag - id: BorgServiceHead - -- type: Tag - id: BorgServiceLArm - -- type: Tag - id: BorgServiceLLeg - -- type: Tag - id: BorgServiceRArm - -- type: Tag - id: BorgServiceRLeg - -- type: Tag - id: BorgServiceTorso - - type: Tag id: Bot diff --git a/Resources/ServerInfo/Guidebook/Science/Cyborgs.xml b/Resources/ServerInfo/Guidebook/Science/Cyborgs.xml index 2b8defb070..c1507ca539 100644 --- a/Resources/ServerInfo/Guidebook/Science/Cyborgs.xml +++ b/Resources/ServerInfo/Guidebook/Science/Cyborgs.xml @@ -18,28 +18,28 @@ Both brains can be fabricated without requiring any additional research. - ## Chassis - While all cyborgs share the same endoskeleton, not all share the same chassis. The chassis determines what modules the cyborg can have, along with the [color=#a4885c]departmental radio channel[/color] they correspond to. By default, they will always have access to [color=#D381C9]Science[/color] and [color=green]station-wide[/color] frequencies, along with having [color=#a4885c]all-access[/color]. + ## Cyborg types + Once created, a cyborg needs to specialize its chassis to a duty on the station. This determines what modules it starts with, which additional modules can be installed, and what [color=#a4885c]departmental radio channel[/color] it has access to. All cyborgs have access to the [color=#D381C9]Science[/color] and [color=green]station-wide[/color] radio channels. All cyborg types have [color=#a4885c]all-access[/color]. - + - [italic]Examples of various cyborg chassis[/italic] + [italic]Examples of various cyborg types[/italic] - If you wish to change the chassis of an already existing cyborg, you have to construct a whole new one, limbs and frame included. The brain, power cell and modules [italic](if it can fit in the new chassis,)[/italic] can be carried over from the old chassis, if desired. + Once a cyborg chassis has been specialized, it cannot be changed. To change types, a new chassis must be constructed. The brain, power cell, and any modules [italic](if they are compatible with the new chassis)[/italic] can be carried over from the old chassis if desired. ## Modules - A cyborg isn't able to do much without [color=#a4885c]modules[/color]. These printed circuit boards are specific to cyborgs and grant additional functionality to them. They are printed at the [color=#a4885c]Exosuit Fabricator[/color]. + Cyborgs do not have hands, and therefore cannot pick things up like most other players. Instead, their equipment is provided by various [color=#a4885c]modules[/color]. Every cyborg type starts with its own specific set of modules, but additional modules can be inserted as upgrades. These additional modules can be printed at the [color=#a4885c]Exosuit Fabricator[/color]. - [color=#a4885c]Generic[/color] modules add versatility. They can be fitted into any chassis, granting useful tools such as crowbars, GPS, and the ability to interact with cables. [bold]The generic borg chassis can fit up to 6 modules in total.[/bold] + [color=#a4885c]Generic[/color] modules add versatility. They can be fitted into any chassis, granting useful tools such as crowbars, GPS, and the ability to interact with cables. [bold]The generic cyborg chassis can fit up to five additional modules.[/bold] @@ -49,7 +49,7 @@ [italic]Examples of generic modules[/italic] - For more specific needs, [color=#a4885c]specialized[/color] modules are available, granting capabilities like scanning anomalies, constructing walls, reviving crew mates, or cleaning a space lube spill. These modules are typically colored with the same palette as the department [italic](or occupation)[/italic] they relate to. These modules [italic](with exception to [color=#D381C9]science[/color] modules, which can fit any chassis,)[/italic] can only be fitted in their associated borg chassis. [bold]The specialized borg chassis, being the engineering, janitorial, service, medical, and mining chassis, can fit up to 4 modules.[/bold] + For more specific needs, [color=#a4885c]specialized[/color] modules are available, granting capabilities like scanning anomalies, constructing walls, reviving crew mates, or cleaning a space lube spill. These modules are typically colored with the same palette as the department [italic](or occupation)[/italic] they relate to. These modules [italic](with exception to [color=#D381C9]science[/color] modules, which can fit any chassis,)[/italic] can only be fitted in their associated borg chassis. [bold]The specialized borg chassis, being the engineering, janitorial, service, medical, and mining chassis, can fit up to three additional modules.[/bold] diff --git a/Resources/Textures/Interface/Actions/actions_borg.rsi/meta.json b/Resources/Textures/Interface/Actions/actions_borg.rsi/meta.json index dc8a6fcf9c..2ebb6eddcf 100644 --- a/Resources/Textures/Interface/Actions/actions_borg.rsi/meta.json +++ b/Resources/Textures/Interface/Actions/actions_borg.rsi/meta.json @@ -48,7 +48,7 @@ }, { "name":"light-replacer-module" - }, + }, { "name":"cleaning-module" }, @@ -102,6 +102,9 @@ }, { "name":"syndicate-martyr-module" + }, + { + "name": "select-type" } ] } diff --git a/Resources/Textures/Interface/Actions/actions_borg.rsi/select-type.png b/Resources/Textures/Interface/Actions/actions_borg.rsi/select-type.png new file mode 100644 index 0000000000000000000000000000000000000000..766fd71abd0d865e7e4fe89a8137ebafc0c7e5ee GIT binary patch literal 408 zcmV;J0cZY+P)Px$Qb|NXR9J=WS22%+AQXO(nnJGeEyctxoo?;a|Nlpt4qeVfbRe<8$=rm82<>^1 z)4^}zJ%sP$6VOKh0J7}Vzyc`Cufs0OPK^-x68r!F&CZUbEZBdr3X!*_-3ySiU}>7d z@tC##VL#})ZV*#Se@$LhC6lsXM#R8@B-yu0sS&|kpp-(A>{|fnogN54#AxKUh`N@2 zJP;6b^|k;Tn*-}~;PJS9#2`PPKc9;_fQZZP0j1Pv4-6ti1Vrp(t#xoRt##jT+IH-N zJ3qi12RP@TwFb`lh}_M&u@93Sutm6VbG8E^Om@Ib99pg2_g4pAo&q1a$-AU(&iBmZ zQxIC!yZ0X&H`#%?vC4bE>%ir5eZ~^8eGNAU*6#qo_`iQ{@}L9v`;CPPlPRKJ6)II# zGD65$fDm~rWx?uNMlH_>A^y_Lh=@t<6$G$sdHxMyApx5dNM}g^0000bR8v literal 0 HcmV?d00001 diff --git a/Resources/migration.yml b/Resources/migration.yml index 3ed618dcfd..8940df2b65 100644 --- a/Resources/migration.yml +++ b/Resources/migration.yml @@ -440,3 +440,38 @@ BlueprintFlare: null # 2024-10-04 BaseAdvancedPen: Pen + +# 2024-10-09 +# Removal of separate borg chassis parts, replace them with generic borg parts. +LeftArmBorgEngineer: LeftArmBorg +RightArmBorgEngineer: RightArmBorg +LeftLegBorgEngineer: LeftLegBorg +RightLegBorgEngineer: RightLegBorg +HeadBorgEngineer: LightHeadBorg +TorsoBorgEngineer: TorsoBorg + +LeftArmBorgMedical: LeftArmBorg +RightArmBorgMedical: RightArmBorg +LeftLegBorgMedical: LeftLegBorg +RightLegBorgMedical: RightLegBorg +HeadBorgMedical: LightHeadBorg +TorsoBorgMedical: TorsoBorg + +LeftArmBorgMining: LeftArmBorg +RightArmBorgMining: RightArmBorg +LeftLegBorgMining: LeftLegBorg +RightLegBorgMining: RightLegBorg +HeadBorgMining: LightHeadBorg +TorsoBorgMining: TorsoBorg + +LeftArmBorgService: LeftArmBorg +RightArmBorgService: RightArmBorg +LeftLegBorgService: LeftLegBorg +RightLegBorgService: RightLegBorg +HeadBorgService: LightHeadBorg +TorsoBorgService: TorsoBorg + +LeftLegBorgJanitor: LeftLegBorg +RightLegBorgJanitor: RightLegBorg +HeadBorgJanitor: LightHeadBorg +TorsoBorgJanitor: TorsoBorg From 0437ec6d56e764458ff0c9a74fbe4ed3e7280007 Mon Sep 17 00:00:00 2001 From: PJBot Date: Thu, 14 Nov 2024 17:09:42 +0000 Subject: [PATCH 236/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 32 +++++++++++++++++-------------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index eb3f726800..ce0be691a4 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,18 +1,4 @@ Entries: -- author: TheShuEd - changes: - - message: added morbilliard variants of procedural tacos and kebabs - type: Add - - message: removed all microwave taco and kebabs recipes (except for the taco shell - itself) - type: Remove - - message: you can fight with a skewer (even if it has food on it) - type: Tweak - - message: now you can't put more than 10 layers on a burger. (20 before) - type: Tweak - id: 7109 - time: '2024-08-14T13:04:00.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30905 - author: themias changes: - message: Fixed lizards being unable to eat custom burgers @@ -3941,3 +3927,21 @@ id: 7608 time: '2024-11-14T16:56:22.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33303 +- author: PJB3005 + changes: + - message: Borgs can now select their chassis type upon creation (construction or + job spawn), immediately giving borgs access to all chassis types. + type: Add + - message: Borg chassis types now come with built-in modules depending on the type, + so you can immediately do your job without help from science. Some upgrade modules + must still be installed later however. + type: Add + - message: Specialized chassis types have been removed from construction, as they + are no longer necessary. + type: Remove + - message: Borg unlock access is no longer determined by their chassis, it's always + science or command. This means the janitor can't unlock jani borgs anymore. + type: Remove + id: 7609 + time: '2024-11-14T17:08:35.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/32586 From 53ce8123569ac7132ddffe0a5c2a4e236e73d81a Mon Sep 17 00:00:00 2001 From: ScarKy0 Date: Thu, 14 Nov 2024 18:18:39 +0100 Subject: [PATCH 237/588] slash --- Content.Server/Silicons/Laws/IonStormSystem.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Server/Silicons/Laws/IonStormSystem.cs b/Content.Server/Silicons/Laws/IonStormSystem.cs index f8bc8ca8c3..7587dc4155 100644 --- a/Content.Server/Silicons/Laws/IonStormSystem.cs +++ b/Content.Server/Silicons/Laws/IonStormSystem.cs @@ -60,7 +60,7 @@ public sealed class IonStormSystem : EntitySystem private const string Foods = "IonStormFoods"; /// - //Randomly alters the laws of an individual silicon. + /// Randomly alters the laws of an individual silicon. /// public void IonStormTarget(Entity ent, bool adminlog = true) { From 9a5c49b961cd7376e2b9ea4ffcbad78661188149 Mon Sep 17 00:00:00 2001 From: ScarKy0 Date: Thu, 14 Nov 2024 18:31:50 +0100 Subject: [PATCH 238/588] epic empty commit --- Content.Server/Silicons/Laws/IonStormSystem.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Server/Silicons/Laws/IonStormSystem.cs b/Content.Server/Silicons/Laws/IonStormSystem.cs index 7587dc4155..97ad2d8f9e 100644 --- a/Content.Server/Silicons/Laws/IonStormSystem.cs +++ b/Content.Server/Silicons/Laws/IonStormSystem.cs @@ -60,7 +60,7 @@ public sealed class IonStormSystem : EntitySystem private const string Foods = "IonStormFoods"; /// - /// Randomly alters the laws of an individual silicon. + /// Randomly alters the laws of an individual silicon. Epic test fail /// public void IonStormTarget(Entity ent, bool adminlog = true) { From 3b9365160c5bdb98899821f1f79a353fbcd4f6a3 Mon Sep 17 00:00:00 2001 From: ScarKy0 Date: Thu, 14 Nov 2024 18:32:02 +0100 Subject: [PATCH 239/588] or was it --- Content.Server/Silicons/Laws/IonStormSystem.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Server/Silicons/Laws/IonStormSystem.cs b/Content.Server/Silicons/Laws/IonStormSystem.cs index 97ad2d8f9e..7587dc4155 100644 --- a/Content.Server/Silicons/Laws/IonStormSystem.cs +++ b/Content.Server/Silicons/Laws/IonStormSystem.cs @@ -60,7 +60,7 @@ public sealed class IonStormSystem : EntitySystem private const string Foods = "IonStormFoods"; /// - /// Randomly alters the laws of an individual silicon. Epic test fail + /// Randomly alters the laws of an individual silicon. /// public void IonStormTarget(Entity ent, bool adminlog = true) { From 2c9f2279d63d7515c1ce2c46054965902ebcd840 Mon Sep 17 00:00:00 2001 From: scrivoy <179060466+scrivoy@users.noreply.github.com> Date: Thu, 14 Nov 2024 22:30:16 +0100 Subject: [PATCH 240/588] Marathon Station: Added air alarms to CMO, Surgery, Security Checkpoint (#33213) * add air alarms to sec checkpoint, cmo and western surgery * decals and cleanup --- Resources/Maps/marathon.yml | 135 ++++++++++++++++++++++++++++++------ 1 file changed, 112 insertions(+), 23 deletions(-) diff --git a/Resources/Maps/marathon.yml b/Resources/Maps/marathon.yml index 0028793798..1f1632004b 100644 --- a/Resources/Maps/marathon.yml +++ b/Resources/Maps/marathon.yml @@ -586,7 +586,6 @@ entities: 2445: -41,19 2646: -33,-12 2665: -28,-14 - 2666: -23,-15 2667: -19,-23 2740: -20,-5 2794: 18,16 @@ -608,6 +607,7 @@ entities: 2979: -3,-48 3010: 12,14 3015: 2,-51 + 3114: -21,-15 - node: angle: 1.5707963267948966 rad color: '#FFFFFFFF' @@ -1039,11 +1039,11 @@ entities: color: '#52B4E996' id: BrickTileWhiteCornerNw decals: - 2536: -23,-15 2544: -15,-15 2602: -19,-19 2630: -31,-16 2673: -16,-9 + 3119: -23,-15 - node: color: '#DE3A3A96' id: BrickTileWhiteCornerNw @@ -1068,8 +1068,8 @@ entities: color: '#FFFFFFFF' id: BrickTileWhiteCornerNw decals: - 2533: -23,-15 2573: -19,-19 + 3118: -23,-15 - node: color: '#52B4E996' id: BrickTileWhiteCornerSe @@ -4510,9 +4510,9 @@ entities: color: '#52B4E996' id: WarnLineGreyscaleN decals: - 2537: -22,-15 2605: -14,-19 2608: -14,-15 + 3115: -22,-15 - node: color: '#D381C996' id: WarnLineGreyscaleN @@ -7544,6 +7544,16 @@ entities: parent: 30 - proto: AirAlarm entities: + - uid: 3167 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -23.5,-15.5 + parent: 30 + - type: DeviceList + devices: + - 9046 + - 9049 - uid: 6224 components: - type: Transform @@ -7765,6 +7775,27 @@ entities: - 18435 - 18436 - 18437 + - uid: 18082 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -38.5,8.5 + parent: 30 + - type: DeviceList + devices: + - 3077 + - 3076 + - uid: 19145 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -35.5,-18.5 + parent: 30 + - type: DeviceList + devices: + - 6935 + - 6920 + - 22554 - uid: 19570 components: - type: Transform @@ -8808,6 +8839,26 @@ entities: - 22084 - 3484 - 3481 + - uid: 22553 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -23.5,-23.5 + parent: 30 + - type: DeviceList + devices: + - 6834 + - 9713 + - uid: 22555 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: -31.5,-22.5 + parent: 30 + - type: DeviceList + devices: + - 7115 + - 7119 - proto: AirAlarmElectronics entities: - uid: 15214 @@ -11906,6 +11957,14 @@ entities: - type: Transform pos: -2.5,8.5 parent: 30 + - uid: 22554 + components: + - type: Transform + pos: -34.5,-23.5 + parent: 30 + - type: DeviceNetwork + deviceLists: + - 19145 - proto: AltarConvertRed entities: - uid: 17468 @@ -54920,11 +54979,11 @@ entities: parent: 30 - proto: DefibrillatorCabinetFilled entities: - - uid: 3167 + - uid: 6956 components: - type: Transform rot: 1.5707963267948966 rad - pos: -23.5,-15.5 + pos: -23.5,-14.5 parent: 30 - uid: 6970 components: @@ -55583,6 +55642,12 @@ entities: - type: Transform pos: -19.5,-5.5 parent: 30 + - uid: 6953 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -21.5,-14.5 + parent: 30 - uid: 7412 components: - type: Transform @@ -55677,12 +55742,6 @@ entities: rot: 1.5707963267948966 rad pos: -19.5,-9.5 parent: 30 - - uid: 7354 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -21.5,-14.5 - parent: 30 - uid: 12233 components: - type: Transform @@ -59804,12 +59863,6 @@ entities: rot: 3.141592653589793 rad pos: -18.5,-22.5 parent: 30 - - uid: 6956 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -22.5,-14.5 - parent: 30 - uid: 6962 components: - type: Transform @@ -59821,6 +59874,12 @@ entities: - type: Transform pos: -19.5,-4.5 parent: 30 + - uid: 7354 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -20.5,-14.5 + parent: 30 - uid: 9753 components: - type: Transform @@ -60216,11 +60275,6 @@ entities: - type: Transform pos: -19.5,-4.5 parent: 30 - - uid: 6953 - components: - - type: Transform - pos: -22.5,-14.5 - parent: 30 - uid: 6954 components: - type: Transform @@ -60296,6 +60350,11 @@ entities: - type: Transform pos: 14.5,-17.5 parent: 30 + - uid: 19150 + components: + - type: Transform + pos: -20.5,-14.5 + parent: 30 - uid: 19407 components: - type: Transform @@ -86755,6 +86814,9 @@ entities: - type: Transform pos: -40.5,10.5 parent: 30 + - type: DeviceNetwork + deviceLists: + - 18082 - type: AtmosPipeColor color: '#0000FFFF' - uid: 3099 @@ -87044,6 +87106,9 @@ entities: rot: 3.141592653589793 rad pos: -25.5,-22.5 parent: 30 + - type: DeviceNetwork + deviceLists: + - 22553 - type: AtmosPipeColor color: '#0000FFFF' - uid: 6900 @@ -87060,6 +87125,9 @@ entities: rot: 1.5707963267948966 rad pos: -33.5,-16.5 parent: 30 + - type: DeviceNetwork + deviceLists: + - 19145 - type: AtmosPipeColor color: '#0000FFFF' - uid: 6939 @@ -87086,6 +87154,9 @@ entities: - type: Transform pos: -28.5,-20.5 parent: 30 + - type: DeviceNetwork + deviceLists: + - 22555 - type: AtmosPipeColor color: '#0000FFFF' - uid: 7136 @@ -87232,6 +87303,9 @@ entities: - type: Transform pos: -25.5,-15.5 parent: 30 + - type: DeviceNetwork + deviceLists: + - 3167 - type: AtmosPipeColor color: '#0000FFFF' - uid: 9686 @@ -88266,6 +88340,9 @@ entities: rot: 1.5707963267948966 rad pos: -39.5,10.5 parent: 30 + - type: DeviceNetwork + deviceLists: + - 18082 - type: AtmosPipeColor color: '#FF0000FF' - uid: 3100 @@ -88548,6 +88625,9 @@ entities: rot: 1.5707963267948966 rad pos: -33.5,-18.5 parent: 30 + - type: DeviceNetwork + deviceLists: + - 19145 - type: AtmosPipeColor color: '#FF0000FF' - uid: 7098 @@ -88577,6 +88657,9 @@ entities: rot: 3.141592653589793 rad pos: -28.5,-18.5 parent: 30 + - type: DeviceNetwork + deviceLists: + - 22555 - type: AtmosPipeColor color: '#FF0000FF' - uid: 7130 @@ -88714,6 +88797,9 @@ entities: - type: Transform pos: -25.5,-16.5 parent: 30 + - type: DeviceNetwork + deviceLists: + - 3167 - type: AtmosPipeColor color: '#FF0000FF' - uid: 9713 @@ -88722,6 +88808,9 @@ entities: rot: 3.141592653589793 rad pos: -25.5,-23.5 parent: 30 + - type: DeviceNetwork + deviceLists: + - 22553 - type: AtmosPipeColor color: '#FF0000FF' - uid: 9793 From d205d17ba3d0bee79752915e6e57e7f2f539e0ec Mon Sep 17 00:00:00 2001 From: scrivoy <179060466+scrivoy@users.noreply.github.com> Date: Fri, 15 Nov 2024 02:04:14 +0100 Subject: [PATCH 241/588] Meta Station: Add a fully functional TEG room (#32941) * initial commit * delete WIP-marker.md * add TEG room, move gas chambers up * remove outside burn chamber button, add naming to APC, SMES, Substation * add HV below TEG Substation * removed invalids --- Resources/Maps/meta.yml | 5813 +++++++++++++++++++++++++++++---------- 1 file changed, 4385 insertions(+), 1428 deletions(-) diff --git a/Resources/Maps/meta.yml b/Resources/Maps/meta.yml index 93a6bc31c4..be14ee8855 100644 --- a/Resources/Maps/meta.yml +++ b/Resources/Maps/meta.yml @@ -284,15 +284,15 @@ entities: version: 6 4,-1: ind: 4,-1 - tiles: eQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAA + tiles: eQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAA version: 6 4,-2: ind: 4,-2 - tiles: eAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAATQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAA + tiles: eAAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAYAAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAWQAAAAAAWQAAAAAAYAAAAAAAYAAAAAAAYAAAAAAAWQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAAAYAAAAAAAWQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAHQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeAAAAAAAeQAAAAAATQAAAAAATQAAAAAATQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAA version: 6 3,-3: ind: 3,-3 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAATQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAA + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAATQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAA version: 6 5,0: ind: 5,0 @@ -300,7 +300,7 @@ entities: version: 6 4,-3: ind: 4,-3 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAA + tiles: eAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeAAAAAAAeAAAAAAA version: 6 2,-3: ind: 2,-3 @@ -448,7 +448,23 @@ entities: version: 6 5,-2: ind: 5,-2 - tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAA + tiles: eAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAA + version: 6 + 5,-3: + ind: 5,-3 + tiles: eAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + version: 6 + 3,-4: + ind: 3,-4 + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAA + version: 6 + 4,-4: + ind: 4,-4 + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAA + version: 6 + 5,-4: + ind: 5,-4 + tiles: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAeAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA version: 6 - type: Broadphase - type: Physics @@ -708,6 +724,12 @@ entities: 3190: 64,26 3191: 64,14 3192: 76,14 + 3529: 76,-33 + 3530: 76,-34 + 3531: 76,-35 + 3532: 76,-36 + 3533: 76,-37 + 3566: 70,-39 - node: color: '#FFFFFFFF' id: BoxGreyscale @@ -980,6 +1002,11 @@ entities: id: BrickTileWhiteCornerSe decals: 3099: 6,-26 + - node: + color: '#3EB38896' + id: BrickTileWhiteCornerSw + decals: + 3569: 66,-32 - node: color: '#52B4E996' id: BrickTileWhiteCornerSw @@ -1008,6 +1035,11 @@ entities: id: BrickTileWhiteEndN decals: 2748: -26,-26 + - node: + color: '#3EB38896' + id: BrickTileWhiteInnerNe + decals: + 3594: 67,-30 - node: color: '#D381C996' id: BrickTileWhiteInnerNe @@ -1051,6 +1083,13 @@ entities: decals: 2544: 20,-30 2567: 14,-43 + - node: + color: '#3EB38896' + id: BrickTileWhiteLineE + decals: + 3574: 67,-28 + 3575: 67,-29 + 3609: 67,-25 - node: color: '#52B4E996' id: BrickTileWhiteLineE @@ -1135,6 +1174,16 @@ entities: 3236: 60,21 3237: 60,20 3238: 60,19 + - node: + color: '#3EB38896' + id: BrickTileWhiteLineN + decals: + 3589: 72,-30 + 3590: 71,-30 + 3591: 70,-30 + 3592: 69,-30 + 3612: 73,-30 + 3613: 68,-30 - node: color: '#52B4E996' id: BrickTileWhiteLineN @@ -1197,6 +1246,17 @@ entities: 3102: 3,-25 3103: 4,-25 3104: 5,-25 + - node: + color: '#3EB38896' + id: BrickTileWhiteLineS + decals: + 3583: 67,-32 + 3584: 68,-32 + 3585: 69,-32 + 3586: 70,-32 + 3587: 71,-32 + 3588: 72,-32 + 3611: 73,-32 - node: color: '#52B4E996' id: BrickTileWhiteLineS @@ -1259,6 +1319,15 @@ entities: id: BrickTileWhiteLineW decals: 2495: 104,-14 + - node: + color: '#3EB38896' + id: BrickTileWhiteLineW + decals: + 3578: 66,-27 + 3579: 66,-28 + 3580: 66,-29 + 3581: 66,-30 + 3582: 66,-31 - node: color: '#52B4E996' id: BrickTileWhiteLineW @@ -4651,6 +4720,7 @@ entities: 3109: 28,-63 3250: 56,17 3251: 56,23 + 3608: 66.50142,-31.75576 - node: color: '#334E6DC8' id: ThreeQuarterTileOverlayGreyscale @@ -4934,6 +5004,11 @@ entities: id: WarnBox decals: 2504: -64,-14 + - node: + color: '#FFFFFFFF' + id: WarnCornerNE + decals: + 3544: 74,-33 - node: color: '#FFFFFFFF' id: WarnCornerSE @@ -4951,6 +5026,7 @@ entities: 900: -13,10 1625: 0,-29 3276: 42,15 + 3557: 74,-38 - node: color: '#FFFFFFFF' id: WarnCornerSmallNW @@ -5042,6 +5118,17 @@ entities: 3269: 42,16 3270: 42,17 3271: 42,18 + 3540: 74,-37 + 3542: 74,-35 + 3543: 74,-34 + 3558: 74,-36 + 3617: 67,-26 + - node: + color: '#3EB38896' + id: WarnLineGreyscaleE + decals: + 3598: 67,-27 + 3610: 67,-24 - node: color: '#52B4E996' id: WarnLineGreyscaleE @@ -5160,6 +5247,12 @@ entities: 1694: 12,-41 1695: 11,-41 1696: 10,-41 + - node: + color: '#3EB38896' + id: WarnLineGreyscaleW + decals: + 3595: 66,-25 + 3607: 66,-24 - node: color: '#52B4E996' id: WarnLineGreyscaleW @@ -5315,6 +5408,7 @@ entities: 3516: 33,6 3517: 33,7 3518: 33,8 + 3616: 66,-26 - node: color: '#DE3A3A96' id: WarnLineW @@ -5381,6 +5475,16 @@ entities: 3178: -3,-39 3179: -4,-39 3255: 43,15 + 3545: 73,-33 + 3546: 72,-33 + 3547: 71,-33 + 3548: 70,-33 + 3549: 69,-33 + 3555: 75,-38 + 3556: 76,-38 + 3562: 66,-33 + 3563: 67,-33 + 3564: 68,-33 - node: angle: -3.141592653589793 rad color: '#FFFFFFFF' @@ -6511,11 +6615,14 @@ entities: 15,-4: 0: 65535 16,-8: - 1: 58115 - 0: 236 + 1: 4369 + 0: 52428 16,-7: - 1: 242 - 0: 61440 + 1: 17 + 0: 64716 + 16,-6: + 0: 15 + 1: 11776 13,-3: 0: 62719 13,-2: @@ -6542,7 +6649,7 @@ entities: 0: 119 16,-1: 0: 240 - 1: 13058 + 1: 62222 12,1: 0: 58606 12,2: @@ -6576,7 +6683,7 @@ entities: 0: 4354 1: 34952 16,0: - 1: 127 + 1: 255 0: 3840 16,1: 0: 54272 @@ -6849,19 +6956,21 @@ entities: -5,14: 1: 17652 -4,15: - 1: 15 + 1: 9999 -5,15: 1: 12 + -4,16: + 1: 14 -3,13: 0: 65521 -3,14: 0: 33023 1: 4096 -3,15: - 1: 25123 + 1: 25091 0: 136 -3,16: - 1: 196 + 1: 243 -2,13: 0: 65521 -2,14: @@ -6875,15 +6984,17 @@ entities: 0: 16435 1: 10240 -1,15: - 1: 12834 + 1: 14862 -1,16: - 1: 17 + 1: 54 0,13: 0: 51 1: 45056 0,14: 1: 2816 0: 16384 + 0,15: + 1: 288 -9,12: 1: 36761 -8,13: @@ -7103,22 +7214,22 @@ entities: 12,12: 1: 61441 17,0: - 1: 15 + 1: 223 0: 57376 17,2: 0: 65295 17,3: 0: 15 1: 20288 - 17,1: - 0: 61166 17,-1: + 1: 53389 0: 11826 - 1: 136 + 17,1: + 0: 61166 17,4: 1: 17487 18,0: - 1: 15 + 1: 255 0: 61440 18,1: 0: 65535 @@ -7127,8 +7238,11 @@ entities: 18,3: 0: 15 1: 3840 + 18,-1: + 1: 61610 + 0: 3840 19,0: - 1: 31 + 1: 255 0: 7168 19,1: 0: 4369 @@ -7139,19 +7253,19 @@ entities: 0: 1011 1: 8192 19,-1: - 1: 4130 + 1: 61474 0: 3840 19,4: 1: 8738 0: 51328 20,0: - 1: 143 + 1: 255 0: 3840 20,2: 1: 7951 20,3: - 1: 341 - 0: 46080 + 1: 261 + 0: 46320 -11,9: 0: 34827 1: 12800 @@ -7309,105 +7423,98 @@ entities: 1: 257 16,-4: 1: 8738 - 5: 136 - 6: 32768 + 5: 2184 16,-3: 1: 8738 - 6: 32904 + 6: 2184 16,-2: - 1: 57890 - 6: 136 + 1: 8738 + 6: 2184 16,-5: 1: 8738 - 5: 32768 - 6: 136 + 6: 2184 17,-4: - 5: 51 - 6: 12288 - 0: 128 - 1: 34816 + 5: 819 + 0: 2176 + 1: 32768 17,-3: - 6: 12339 + 6: 819 1: 34952 17,-2: - 6: 51 - 1: 55432 - 0: 8192 + 6: 819 + 1: 34952 17,-5: - 5: 12288 - 0: 32768 - 6: 51 - 1: 2184 + 0: 34816 + 6: 819 + 1: 136 18,-4: - 0: 135 - 1: 43552 + 0: 3975 + 1: 40992 18,-3: 1: 43770 - 18,-1: - 0: 3840 - 1: 170 18,-5: - 1: 12202 - 0: 32768 + 1: 8362 + 0: 36608 18,-2: 1: 43690 19,-4: - 0: 135 - 1: 43552 + 0: 3975 + 1: 40992 19,-3: 1: 57906 19,-5: - 1: 11170 - 0: 32768 + 1: 8354 + 0: 36608 19,-2: 1: 8930 20,-4: - 0: 135 - 1: 34816 + 0: 3975 + 1: 32768 20,-3: 1: 61440 20,-2: 1: 240 20,-1: 0: 3840 - 1: 32768 - 16,-6: - 1: 8928 - 6: 32768 + 1: 61440 16,-9: - 0: 61166 - 1: 1 + 1: 4369 + 0: 52428 17,-8: - 0: 31487 - 1: 32768 + 0: 4095 17,-7: - 1: 3536 - 0: 61991 + 0: 1654 17,-6: - 1: 35037 - 6: 12288 - 0: 34 + 0: 15 + 1: 36608 17,-9: 0: 65535 18,-8: - 0: 153 - 1: 12898 + 0: 819 + 1: 34944 18,-7: - 1: 47858 + 1: 48127 18,-6: - 1: 43770 + 1: 43771 18,-9: - 0: 48027 - 1: 96 + 0: 65535 19,-8: - 0: 51 + 1: 64248 19,-7: - 1: 8448 + 1: 8696 0: 512 19,-6: 1: 8754 19,-9: - 0: 13107 + 0: 4369 + 1: 52424 + 20,-8: + 1: 30039 + 20,-7: + 1: 117 + 20,-5: + 0: 36608 + 1: 128 12,-10: 1: 61696 11,-10: @@ -7417,25 +7524,42 @@ entities: 14,-10: 1: 64000 15,-10: - 1: 61952 + 1: 65503 + 15,-12: + 1: 57311 + 15,-13: + 1: 40704 + 15,-11: + 1: 56829 + 16,-12: + 1: 65023 + 16,-11: + 1: 4353 + 6: 52416 + 16,-10: + 1: 4353 + 0: 52416 20,4: - 1: 5457 - 0: 4 + 1: 5377 + 0: 244 21,0: - 1: 32783 + 1: 33023 0: 3840 21,2: 1: 3887 21,3: - 0: 46080 - 1: 68 + 0: 46320 + 1: 4 + 21,-1: + 1: 61440 + 0: 3840 21,1: 1: 17608 21,4: - 0: 4 - 1: 1088 + 0: 244 + 1: 1024 22,0: - 1: 2151 + 1: 2167 0: 58248 22,1: 1: 3634 @@ -7443,13 +7567,13 @@ entities: 22,2: 1: 3855 22,3: - 0: 46080 - 1: 68 + 0: 46320 + 1: 4 22,-1: - 1: 24608 + 1: 28704 0: 36608 22,4: - 0: 4 + 0: 180 1: 1088 23,0: 0: 25855 @@ -7461,13 +7585,14 @@ entities: 1: 26471 0: 34952 23,3: - 0: 61576 - 1: 3686 + 0: 61688 + 1: 3590 23,-1: 0: 63044 1: 2235 23,4: - 1: 19660 + 1: 19468 + 0: 240 24,0: 0: 3295 1: 256 @@ -7478,12 +7603,44 @@ entities: 24,3: 1: 609 0: 63760 - 16,-10: - 0: 60608 + 16,-13: + 1: 12032 + 17,-12: + 1: 65023 + 17,-11: + 6: 13104 + 1: 34952 17,-10: 0: 65520 + 17,-13: + 1: 12032 + 18,-12: + 1: 64767 + 18,-11: + 1: 30591 + 0: 2048 18,-10: - 0: 13072 + 0: 65520 + 18,-13: + 1: 40704 + 19,-12: + 1: 64255 + 19,-11: + 1: 35983 + 0: 4352 + 19,-10: + 0: 4369 + 1: 52428 + 19,-13: + 1: 36608 + 20,-12: + 1: 22357 + 20,-11: + 1: 21847 + 20,-10: + 1: 30039 + 20,-9: + 1: 21877 8,-13: 0: 6004 9,-12: @@ -8143,37 +8300,33 @@ entities: 1: 13056 7,-19: 1: 34952 - 20,-5: - 0: 32768 - 1: 2176 21,-4: - 0: 135 - 1: 34816 + 0: 3975 + 1: 32768 21,-3: 1: 61440 21,-2: 1: 240 - 21,-1: - 0: 3840 21,-5: - 0: 32768 - 1: 2176 + 0: 36608 + 1: 128 22,-4: - 0: 15 + 0: 3855 22,-3: 1: 61440 22,-2: 1: 240 23,-4: - 0: 15 - 1: 52416 + 0: 3855 + 1: 49344 23,-3: 1: 64716 23,-2: 1: 15868 0: 49152 23,-5: - 1: 52420 + 1: 49348 + 0: 3840 24,-4: 0: 4511 1: 8736 @@ -8328,6 +8481,10 @@ entities: 26,-6: 1: 34800 0: 28672 + 22,-5: + 0: 3840 + 20,-13: + 1: 22272 uniqueMixes: - volume: 2500 temperature: 293.15 @@ -8497,6 +8654,18 @@ entities: parent: 5350 - proto: AirAlarm entities: + - uid: 11752 + components: + - type: Transform + pos: 71.5,-28.5 + parent: 5350 + - type: DeviceList + devices: + - 27078 + - 27210 + - 27212 + - 26995 + - 26996 - uid: 14304 components: - type: Transform @@ -9460,7 +9629,7 @@ entities: parent: 5350 - type: DeviceList devices: - - 24516 + - 10990 - uid: 24517 components: - type: Transform @@ -9960,6 +10129,15 @@ entities: - 19501 - 19500 - 19499 + - uid: 27108 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 70.5,-39.5 + parent: 5350 + - type: DeviceList + devices: + - 27127 - proto: AirCanister entities: - uid: 2431 @@ -10175,11 +10353,22 @@ entities: - type: Transform pos: 56.5,-7.5 parent: 5350 - - uid: 11498 + - uid: 10820 components: - type: Transform - pos: 69.5,-29.5 + pos: 65.5,-24.5 + parent: 5350 + - type: AccessReader + access: + - - Atmospherics + - uid: 10821 + components: + - type: Transform + pos: 65.5,-23.5 parent: 5350 + - type: AccessReader + access: + - - Atmospherics - proto: AirlockAtmosphericsLocked entities: - uid: 9008 @@ -10706,6 +10895,14 @@ entities: - type: Transform pos: 38.5,-57.5 parent: 5350 + - uid: 26788 + components: + - type: Transform + pos: 68.5,-26.5 + parent: 5350 + - type: AccessReader + access: + - - Engineering - proto: AirlockExternal entities: - uid: 16847 @@ -10713,6 +10910,31 @@ entities: - type: Transform pos: -62.5,-40.5 parent: 5350 +- proto: AirlockExternalAtmosphericsLocked + entities: + - uid: 11254 + components: + - type: Transform + pos: 75.5,-41.5 + parent: 5350 + - type: DeviceLinkSink + invokeCounter: 1 + - type: DeviceLinkSource + linkedPorts: + 11257: + - DoorStatus: DoorBolt + - uid: 27016 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 71.5,-23.5 + parent: 5350 + - type: DeviceLinkSink + invokeCounter: 1 + - type: DeviceLinkSource + linkedPorts: + 27248: + - DoorStatus: DoorBolt - proto: AirlockExternalEngineeringLocked entities: - uid: 12540 @@ -10823,16 +11045,29 @@ entities: parent: 5350 - proto: AirlockExternalGlassAtmosphericsLocked entities: - - uid: 11284 + - uid: 11257 components: - type: Transform - pos: 64.5,-24.5 + pos: 76.5,-39.5 parent: 5350 - - uid: 11285 + - type: DeviceLinkSink + invokeCounter: 1 + - type: DeviceLinkSource + linkedPorts: + 11254: + - DoorStatus: DoorBolt + - uid: 27248 components: - type: Transform - pos: 67.5,-24.5 + rot: -1.5707963267948966 rad + pos: 68.5,-23.5 parent: 5350 + - type: DeviceLinkSink + invokeCounter: 1 + - type: DeviceLinkSource + linkedPorts: + 27016: + - DoorStatus: DoorBolt - proto: AirlockExternalGlassCargoLocked entities: - uid: 3441 @@ -10880,7 +11115,7 @@ entities: pos: -42.5,29.5 parent: 5350 - type: Door - secondsUntilStateChange: -5834.8745 + secondsUntilStateChange: -25306.475 state: Opening - type: DeviceLinkSink invokeCounter: 2 @@ -12829,6 +13064,14 @@ entities: parent: 5350 - proto: AirSensor entities: + - uid: 10990 + components: + - type: Transform + pos: 68.5,-6.5 + parent: 5350 + - type: DeviceNetwork + deviceLists: + - 24515 - uid: 14424 components: - type: Transform @@ -13213,11 +13456,6 @@ entities: - type: Transform pos: 53.5,-18.5 parent: 5350 - - uid: 24516 - components: - - type: Transform - pos: 68.5,-7.5 - parent: 5350 - uid: 24521 components: - type: Transform @@ -13423,6 +13661,23 @@ entities: - type: Transform pos: -11.5,-32.5 parent: 5350 + - uid: 27078 + components: + - type: Transform + pos: 70.5,-32.5 + parent: 5350 + - type: DeviceNetwork + deviceLists: + - 11752 + - 26994 + - uid: 27127 + components: + - type: Transform + pos: 68.5,-41.5 + parent: 5350 + - type: DeviceNetwork + deviceLists: + - 27108 - proto: AltarConvertMaint entities: - uid: 22866 @@ -13680,6 +13935,13 @@ entities: - type: Transform pos: -34.5,32.5 parent: 5350 + - uid: 10831 + components: + - type: MetaData + name: TEG APC + - type: Transform + pos: 69.5,-28.5 + parent: 5350 - uid: 11513 components: - type: MetaData @@ -14179,10 +14441,40 @@ entities: parent: 5350 - proto: AtmosFixBlockerMarker entities: - - uid: 11609 + - uid: 10913 components: - type: Transform - pos: 67.5,-20.5 + pos: 67.5,-17.5 + parent: 5350 + - uid: 11200 + components: + - type: Transform + pos: 67.5,-5.5 + parent: 5350 + - uid: 11307 + components: + - type: Transform + pos: 68.5,-5.5 + parent: 5350 + - uid: 11308 + components: + - type: Transform + pos: 69.5,-5.5 + parent: 5350 + - uid: 11345 + components: + - type: Transform + pos: 68.5,-17.5 + parent: 5350 + - uid: 11347 + components: + - type: Transform + pos: 69.5,-11.5 + parent: 5350 + - uid: 11598 + components: + - type: Transform + pos: 69.5,-17.5 parent: 5350 - uid: 11610 components: @@ -14194,11 +14486,6 @@ entities: - type: Transform pos: 67.5,-18.5 parent: 5350 - - uid: 11612 - components: - - type: Transform - pos: 68.5,-20.5 - parent: 5350 - uid: 11613 components: - type: Transform @@ -14209,11 +14496,6 @@ entities: - type: Transform pos: 68.5,-18.5 parent: 5350 - - uid: 11615 - components: - - type: Transform - pos: 69.5,-20.5 - parent: 5350 - uid: 11616 components: - type: Transform @@ -14224,31 +14506,16 @@ entities: - type: Transform pos: 69.5,-18.5 parent: 5350 - - uid: 11618 - components: - - type: Transform - pos: 67.5,-8.5 - parent: 5350 - uid: 11619 components: - type: Transform pos: 67.5,-7.5 parent: 5350 - - uid: 11620 - components: - - type: Transform - pos: 68.5,-8.5 - parent: 5350 - uid: 11621 components: - type: Transform pos: 68.5,-7.5 parent: 5350 - - uid: 11622 - components: - - type: Transform - pos: 69.5,-8.5 - parent: 5350 - uid: 11623 components: - type: Transform @@ -14269,11 +14536,6 @@ entities: - type: Transform pos: 67.5,-6.5 parent: 5350 - - uid: 11628 - components: - - type: Transform - pos: 67.5,-12.5 - parent: 5350 - uid: 11629 components: - type: Transform @@ -14287,7 +14549,7 @@ entities: - uid: 11631 components: - type: Transform - pos: 68.5,-12.5 + pos: 67.5,-9.5 parent: 5350 - uid: 11632 components: @@ -14299,20 +14561,20 @@ entities: - type: Transform pos: 68.5,-10.5 parent: 5350 - - uid: 11634 + - uid: 11636 components: - type: Transform - pos: 69.5,-12.5 + pos: 69.5,-10.5 parent: 5350 - - uid: 11635 + - uid: 11720 components: - type: Transform - pos: 69.5,-11.5 + pos: 68.5,-9.5 parent: 5350 - - uid: 11636 + - uid: 11722 components: - type: Transform - pos: 69.5,-10.5 + pos: 69.5,-9.5 parent: 5350 - uid: 24185 components: @@ -14359,6 +14621,66 @@ entities: - type: Transform pos: 15.5,-55.5 parent: 5350 + - uid: 27423 + components: + - type: Transform + pos: 66.5,-40.5 + parent: 5350 + - uid: 27424 + components: + - type: Transform + pos: 67.5,-40.5 + parent: 5350 + - uid: 27425 + components: + - type: Transform + pos: 68.5,-40.5 + parent: 5350 + - uid: 27426 + components: + - type: Transform + pos: 69.5,-40.5 + parent: 5350 + - uid: 27427 + components: + - type: Transform + pos: 66.5,-41.5 + parent: 5350 + - uid: 27428 + components: + - type: Transform + pos: 66.5,-42.5 + parent: 5350 + - uid: 27429 + components: + - type: Transform + pos: 67.5,-41.5 + parent: 5350 + - uid: 27430 + components: + - type: Transform + pos: 67.5,-42.5 + parent: 5350 + - uid: 27431 + components: + - type: Transform + pos: 68.5,-42.5 + parent: 5350 + - uid: 27432 + components: + - type: Transform + pos: 68.5,-41.5 + parent: 5350 + - uid: 27433 + components: + - type: Transform + pos: 69.5,-41.5 + parent: 5350 + - uid: 27434 + components: + - type: Transform + pos: 69.5,-42.5 + parent: 5350 - proto: AtmosFixFreezerMarker entities: - uid: 10295 @@ -14547,10 +14869,20 @@ entities: parent: 5350 - proto: AtmosFixPlasmaMarker entities: - - uid: 11600 + - uid: 10828 components: - type: Transform - pos: 67.5,-16.5 + pos: 69.5,-13.5 + parent: 5350 + - uid: 10916 + components: + - type: Transform + pos: 68.5,-13.5 + parent: 5350 + - uid: 10920 + components: + - type: Transform + pos: 67.5,-13.5 parent: 5350 - uid: 11601 components: @@ -14562,11 +14894,6 @@ entities: - type: Transform pos: 67.5,-14.5 parent: 5350 - - uid: 11603 - components: - - type: Transform - pos: 68.5,-16.5 - parent: 5350 - uid: 11604 components: - type: Transform @@ -14577,11 +14904,6 @@ entities: - type: Transform pos: 68.5,-14.5 parent: 5350 - - uid: 11606 - components: - - type: Transform - pos: 69.5,-16.5 - parent: 5350 - uid: 11607 components: - type: Transform @@ -15097,10 +15419,10 @@ entities: - type: Transform pos: -40.5,43.5 parent: 5350 - - uid: 10293 + - uid: 11015 components: - type: Transform - pos: 68.5,-5.5 + pos: 68.5,-4.5 parent: 5350 - uid: 11486 components: @@ -15172,6 +15494,20 @@ entities: - type: Transform pos: 48.5,23.5 parent: 5350 + - uid: 27135 + components: + - type: Transform + pos: 67.5,-43.5 + parent: 5350 + - type: DeviceLinkSink + invokeCounter: 2 + - uid: 27136 + components: + - type: Transform + pos: 68.5,-43.5 + parent: 5350 + - type: DeviceLinkSink + invokeCounter: 2 - proto: BlastDoorExterior1Open entities: - uid: 24634 @@ -19812,6 +20148,11 @@ entities: - type: Transform pos: -37.5,-0.5 parent: 5350 + - uid: 6164 + components: + - type: Transform + pos: 66.5,-6.5 + parent: 5350 - uid: 6209 components: - type: Transform @@ -21377,11 +21718,21 @@ entities: - type: Transform pos: -16.5,27.5 parent: 5350 + - uid: 8889 + components: + - type: Transform + pos: 67.5,-6.5 + parent: 5350 - uid: 8957 components: - type: Transform pos: 40.5,0.5 parent: 5350 + - uid: 8983 + components: + - type: Transform + pos: 68.5,-6.5 + parent: 5350 - uid: 9539 components: - type: Transform @@ -22707,11 +23058,196 @@ entities: - type: Transform pos: -29.5,30.5 parent: 5350 + - uid: 10908 + components: + - type: Transform + pos: 60.5,-16.5 + parent: 5350 + - uid: 10909 + components: + - type: Transform + pos: 67.5,-18.5 + parent: 5350 + - uid: 10911 + components: + - type: Transform + pos: 68.5,-18.5 + parent: 5350 + - uid: 10912 + components: + - type: Transform + pos: 66.5,-18.5 + parent: 5350 + - uid: 10929 + components: + - type: Transform + pos: 66.5,-5.5 + parent: 5350 + - uid: 10935 + components: + - type: Transform + pos: 63.5,-6.5 + parent: 5350 + - uid: 10936 + components: + - type: Transform + pos: 58.5,-6.5 + parent: 5350 + - uid: 10937 + components: + - type: Transform + pos: 59.5,-6.5 + parent: 5350 + - uid: 10938 + components: + - type: Transform + pos: 60.5,-6.5 + parent: 5350 + - uid: 10939 + components: + - type: Transform + pos: 61.5,-6.5 + parent: 5350 + - uid: 10940 + components: + - type: Transform + pos: 62.5,-6.5 + parent: 5350 + - uid: 10941 + components: + - type: Transform + pos: 68.5,-10.5 + parent: 5350 + - uid: 10942 + components: + - type: Transform + pos: 67.5,-10.5 + parent: 5350 + - uid: 10986 + components: + - type: Transform + pos: 66.5,-17.5 + parent: 5350 + - uid: 10987 + components: + - type: Transform + pos: 64.5,-19.5 + parent: 5350 + - uid: 10988 + components: + - type: Transform + pos: 68.5,-14.5 + parent: 5350 + - uid: 11044 + components: + - type: Transform + pos: 62.5,-16.5 + parent: 5350 + - uid: 11045 + components: + - type: Transform + pos: 63.5,-16.5 + parent: 5350 + - uid: 11046 + components: + - type: Transform + pos: 65.5,-18.5 + parent: 5350 + - uid: 11056 + components: + - type: Transform + pos: 66.5,-14.5 + parent: 5350 + - uid: 11138 + components: + - type: Transform + pos: 66.5,-19.5 + parent: 5350 + - uid: 11162 + components: + - type: Transform + pos: 67.5,-14.5 + parent: 5350 + - uid: 11241 + components: + - type: Transform + pos: 63.5,-19.5 + parent: 5350 + - uid: 11258 + components: + - type: Transform + pos: 68.5,-23.5 + parent: 5350 + - uid: 11259 + components: + - type: Transform + pos: 70.5,-23.5 + parent: 5350 + - uid: 11260 + components: + - type: Transform + pos: 67.5,-24.5 + parent: 5350 + - uid: 11263 + components: + - type: Transform + pos: 69.5,-23.5 + parent: 5350 + - uid: 11279 + components: + - type: Transform + pos: 69.5,-28.5 + parent: 5350 + - uid: 11300 + components: + - type: Transform + pos: 61.5,-16.5 + parent: 5350 + - uid: 11313 + components: + - type: Transform + pos: 65.5,-14.5 + parent: 5350 + - uid: 11314 + components: + - type: Transform + pos: 66.5,-13.5 + parent: 5350 + - uid: 11315 + components: + - type: Transform + pos: 66.5,-15.5 + parent: 5350 + - uid: 11341 + components: + - type: Transform + pos: 64.5,-21.5 + parent: 5350 + - uid: 11348 + components: + - type: Transform + pos: 64.5,-5.5 + parent: 5350 - uid: 11360 components: - type: Transform pos: -30.5,-41.5 parent: 5350 + - uid: 11606 + components: + - type: Transform + pos: 65.5,-6.5 + parent: 5350 + - uid: 11609 + components: + - type: Transform + pos: 61.5,-10.5 + parent: 5350 + - uid: 11643 + components: + - type: Transform + pos: 66.5,-10.5 + parent: 5350 - uid: 11646 components: - type: Transform @@ -22792,11 +23328,6 @@ entities: - type: Transform pos: 52.5,-23.5 parent: 5350 - - uid: 11662 - components: - - type: Transform - pos: 52.5,-24.5 - parent: 5350 - uid: 11663 components: - type: Transform @@ -22947,16 +23478,6 @@ entities: - type: Transform pos: 52.5,-28.5 parent: 5350 - - uid: 11693 - components: - - type: Transform - pos: 61.5,-24.5 - parent: 5350 - - uid: 11694 - components: - - type: Transform - pos: 62.5,-24.5 - parent: 5350 - uid: 11695 components: - type: Transform @@ -22967,21 +23488,6 @@ entities: - type: Transform pos: 63.5,-23.5 parent: 5350 - - uid: 11697 - components: - - type: Transform - pos: 64.5,-24.5 - parent: 5350 - - uid: 11698 - components: - - type: Transform - pos: 65.5,-24.5 - parent: 5350 - - uid: 11699 - components: - - type: Transform - pos: 66.5,-24.5 - parent: 5350 - uid: 11700 components: - type: Transform @@ -22995,17 +23501,17 @@ entities: - uid: 11702 components: - type: Transform - pos: 63.5,-20.5 + pos: 65.5,-10.5 parent: 5350 - uid: 11703 components: - type: Transform - pos: 64.5,-20.5 + pos: 66.5,-9.5 parent: 5350 - uid: 11704 components: - type: Transform - pos: 64.5,-19.5 + pos: 62.5,-24.5 parent: 5350 - uid: 11705 components: @@ -23075,122 +23581,47 @@ entities: - uid: 11718 components: - type: Transform - pos: 65.5,-7.5 + pos: 66.5,-11.5 parent: 5350 - uid: 11719 components: - type: Transform pos: 66.5,-7.5 parent: 5350 - - uid: 11720 - components: - - type: Transform - pos: 66.5,-8.5 - parent: 5350 - uid: 11721 components: - type: Transform pos: 66.5,-6.5 parent: 5350 - - uid: 11722 - components: - - type: Transform - pos: 65.5,-11.5 - parent: 5350 - - uid: 11723 - components: - - type: Transform - pos: 66.5,-11.5 - parent: 5350 - - uid: 11724 - components: - - type: Transform - pos: 66.5,-12.5 - parent: 5350 - - uid: 11725 - components: - - type: Transform - pos: 66.5,-10.5 - parent: 5350 - - uid: 11726 - components: - - type: Transform - pos: 65.5,-15.5 - parent: 5350 - - uid: 11727 - components: - - type: Transform - pos: 66.5,-15.5 - parent: 5350 - - uid: 11728 - components: - - type: Transform - pos: 66.5,-14.5 - parent: 5350 - - uid: 11729 - components: - - type: Transform - pos: 66.5,-16.5 - parent: 5350 - - uid: 11730 - components: - - type: Transform - pos: 65.5,-19.5 - parent: 5350 - uid: 11731 components: - type: Transform - pos: 66.5,-19.5 + pos: 63.5,-10.5 parent: 5350 - uid: 11732 components: - type: Transform - pos: 66.5,-20.5 + pos: 62.5,-10.5 parent: 5350 - uid: 11733 components: - type: Transform - pos: 66.5,-18.5 - parent: 5350 - - uid: 11734 - components: - - type: Transform - pos: 67.5,-19.5 - parent: 5350 - - uid: 11735 - components: - - type: Transform - pos: 68.5,-19.5 - parent: 5350 - - uid: 11736 - components: - - type: Transform - pos: 67.5,-15.5 + pos: 63.5,-20.5 parent: 5350 - uid: 11737 components: - type: Transform - pos: 68.5,-15.5 + pos: 61.5,-24.5 parent: 5350 - uid: 11738 components: - type: Transform - pos: 67.5,-11.5 + pos: 67.5,-23.5 parent: 5350 - uid: 11739 components: - type: Transform - pos: 68.5,-11.5 - parent: 5350 - - uid: 11740 - components: - - type: Transform - pos: 67.5,-7.5 - parent: 5350 - - uid: 11741 - components: - - type: Transform - pos: 68.5,-7.5 + pos: 66.5,-23.5 parent: 5350 - uid: 11742 components: @@ -23232,81 +23663,16 @@ entities: - type: Transform pos: 60.5,-10.5 parent: 5350 - - uid: 11750 - components: - - type: Transform - pos: 60.5,-11.5 - parent: 5350 - - uid: 11751 - components: - - type: Transform - pos: 61.5,-11.5 - parent: 5350 - - uid: 11752 - components: - - type: Transform - pos: 62.5,-11.5 - parent: 5350 - - uid: 11753 - components: - - type: Transform - pos: 63.5,-11.5 - parent: 5350 - - uid: 11754 - components: - - type: Transform - pos: 63.5,-7.5 - parent: 5350 - - uid: 11755 - components: - - type: Transform - pos: 62.5,-7.5 - parent: 5350 - - uid: 11756 - components: - - type: Transform - pos: 61.5,-7.5 - parent: 5350 - - uid: 11757 - components: - - type: Transform - pos: 60.5,-7.5 - parent: 5350 - - uid: 11758 - components: - - type: Transform - pos: 59.5,-7.5 - parent: 5350 - - uid: 11759 - components: - - type: Transform - pos: 58.5,-7.5 - parent: 5350 - - uid: 11760 - components: - - type: Transform - pos: 57.5,-7.5 - parent: 5350 - uid: 11761 components: - type: Transform pos: 58.5,-6.5 parent: 5350 - - uid: 11762 - components: - - type: Transform - pos: 58.5,-5.5 - parent: 5350 - uid: 11763 components: - type: Transform pos: 61.5,-6.5 parent: 5350 - - uid: 11764 - components: - - type: Transform - pos: 61.5,-5.5 - parent: 5350 - uid: 11765 components: - type: Transform @@ -23397,16 +23763,6 @@ entities: - type: Transform pos: 54.5,-20.5 parent: 5350 - - uid: 11784 - components: - - type: Transform - pos: 63.5,-17.5 - parent: 5350 - - uid: 11785 - components: - - type: Transform - pos: 62.5,-17.5 - parent: 5350 - uid: 11953 components: - type: Transform @@ -33367,6 +33723,11 @@ entities: - type: Transform pos: -15.5,-65.5 parent: 5350 + - uid: 24298 + components: + - type: Transform + pos: 52.5,-24.5 + parent: 5350 - uid: 24473 components: - type: Transform @@ -34532,6 +34893,311 @@ entities: - type: Transform pos: 76.5,3.5 parent: 5350 + - uid: 27017 + components: + - type: Transform + pos: 69.5,-29.5 + parent: 5350 + - uid: 27018 + components: + - type: Transform + pos: 70.5,-29.5 + parent: 5350 + - uid: 27019 + components: + - type: Transform + pos: 70.5,-30.5 + parent: 5350 + - uid: 27020 + components: + - type: Transform + pos: 70.5,-31.5 + parent: 5350 + - uid: 27021 + components: + - type: Transform + pos: 70.5,-32.5 + parent: 5350 + - uid: 27024 + components: + - type: Transform + pos: 70.5,-32.5 + parent: 5350 + - uid: 27025 + components: + - type: Transform + pos: 70.5,-33.5 + parent: 5350 + - uid: 27026 + components: + - type: Transform + pos: 70.5,-34.5 + parent: 5350 + - uid: 27027 + components: + - type: Transform + pos: 70.5,-35.5 + parent: 5350 + - uid: 27028 + components: + - type: Transform + pos: 67.5,-25.5 + parent: 5350 + - uid: 27029 + components: + - type: Transform + pos: 67.5,-27.5 + parent: 5350 + - uid: 27030 + components: + - type: Transform + pos: 71.5,-29.5 + parent: 5350 + - uid: 27031 + components: + - type: Transform + pos: 72.5,-29.5 + parent: 5350 + - uid: 27032 + components: + - type: Transform + pos: 73.5,-29.5 + parent: 5350 + - uid: 27033 + components: + - type: Transform + pos: 74.5,-29.5 + parent: 5350 + - uid: 27034 + components: + - type: Transform + pos: 74.5,-30.5 + parent: 5350 + - uid: 27039 + components: + - type: Transform + pos: 67.5,-26.5 + parent: 5350 + - uid: 27046 + components: + - type: Transform + pos: 67.5,-28.5 + parent: 5350 + - uid: 27048 + components: + - type: Transform + pos: 74.5,-32.5 + parent: 5350 + - uid: 27049 + components: + - type: Transform + pos: 76.5,-41.5 + parent: 5350 + - uid: 27063 + components: + - type: Transform + pos: 75.5,-32.5 + parent: 5350 + - uid: 27079 + components: + - type: Transform + pos: 76.5,-36.5 + parent: 5350 + - uid: 27080 + components: + - type: Transform + pos: 72.5,-32.5 + parent: 5350 + - uid: 27081 + components: + - type: Transform + pos: 71.5,-32.5 + parent: 5350 + - uid: 27082 + components: + - type: Transform + pos: 68.5,-29.5 + parent: 5350 + - uid: 27083 + components: + - type: Transform + pos: 73.5,-32.5 + parent: 5350 + - uid: 27092 + components: + - type: Transform + pos: 76.5,-34.5 + parent: 5350 + - uid: 27095 + components: + - type: Transform + pos: 64.5,-25.5 + parent: 5350 + - uid: 27100 + components: + - type: Transform + pos: 67.5,-29.5 + parent: 5350 + - uid: 27105 + components: + - type: Transform + pos: 76.5,-35.5 + parent: 5350 + - uid: 27106 + components: + - type: Transform + pos: 76.5,-33.5 + parent: 5350 + - uid: 27107 + components: + - type: Transform + pos: 76.5,-32.5 + parent: 5350 + - uid: 27109 + components: + - type: Transform + pos: 76.5,-38.5 + parent: 5350 + - uid: 27110 + components: + - type: Transform + pos: 75.5,-38.5 + parent: 5350 + - uid: 27113 + components: + - type: Transform + pos: 74.5,-39.5 + parent: 5350 + - uid: 27114 + components: + - type: Transform + pos: 73.5,-39.5 + parent: 5350 + - uid: 27115 + components: + - type: Transform + pos: 66.5,-37.5 + parent: 5350 + - uid: 27158 + components: + - type: Transform + pos: 76.5,-39.5 + parent: 5350 + - uid: 27159 + components: + - type: Transform + pos: 76.5,-37.5 + parent: 5350 + - uid: 27160 + components: + - type: Transform + pos: 76.5,-40.5 + parent: 5350 + - uid: 27161 + components: + - type: Transform + pos: 72.5,-39.5 + parent: 5350 + - uid: 27164 + components: + - type: Transform + pos: 66.5,-38.5 + parent: 5350 + - uid: 27165 + components: + - type: Transform + pos: 74.5,-38.5 + parent: 5350 + - uid: 27197 + components: + - type: Transform + pos: 71.5,-39.5 + parent: 5350 + - uid: 27259 + components: + - type: Transform + pos: 66.5,-29.5 + parent: 5350 + - uid: 27260 + components: + - type: Transform + pos: 65.5,-29.5 + parent: 5350 + - uid: 27261 + components: + - type: Transform + pos: 65.5,-30.5 + parent: 5350 + - uid: 27266 + components: + - type: Transform + pos: 66.5,-36.5 + parent: 5350 + - uid: 27268 + components: + - type: Transform + pos: 66.5,-22.5 + parent: 5350 + - uid: 27273 + components: + - type: Transform + pos: 63.5,-25.5 + parent: 5350 + - uid: 27275 + components: + - type: Transform + pos: 66.5,-35.5 + parent: 5350 + - uid: 27276 + components: + - type: Transform + pos: 66.5,-34.5 + parent: 5350 + - uid: 27277 + components: + - type: Transform + pos: 66.5,-33.5 + parent: 5350 + - uid: 27278 + components: + - type: Transform + pos: 66.5,-32.5 + parent: 5350 + - uid: 27279 + components: + - type: Transform + pos: 67.5,-32.5 + parent: 5350 + - uid: 27280 + components: + - type: Transform + pos: 68.5,-32.5 + parent: 5350 + - uid: 27281 + components: + - type: Transform + pos: 69.5,-32.5 + parent: 5350 + - uid: 27282 + components: + - type: Transform + pos: 66.5,-39.5 + parent: 5350 + - uid: 27283 + components: + - type: Transform + pos: 67.5,-39.5 + parent: 5350 + - uid: 27284 + components: + - type: Transform + pos: 68.5,-39.5 + parent: 5350 + - uid: 27285 + components: + - type: Transform + pos: 69.5,-39.5 + parent: 5350 - proto: CableApcStack entities: - uid: 1550 @@ -37556,30 +38222,25 @@ entities: - type: Transform pos: -32.5,49.5 parent: 5350 - - uid: 11245 - components: - - type: Transform - pos: 67.5,-31.5 - parent: 5350 - - uid: 11272 + - uid: 10832 components: - type: Transform - pos: 69.5,-34.5 + pos: 69.5,-26.5 parent: 5350 - - uid: 11274 + - uid: 10834 components: - type: Transform - pos: 69.5,-32.5 + pos: 52.5,-24.5 parent: 5350 - - uid: 11278 + - uid: 10836 components: - type: Transform - pos: 69.5,-33.5 + pos: 70.5,-26.5 parent: 5350 - - uid: 11279 + - uid: 11266 components: - type: Transform - pos: 69.5,-31.5 + pos: 65.5,-24.5 parent: 5350 - uid: 11877 components: @@ -37776,6 +38437,26 @@ entities: - type: Transform pos: 42.5,-17.5 parent: 5350 + - uid: 12022 + components: + - type: Transform + pos: 68.5,-26.5 + parent: 5350 + - uid: 12043 + components: + - type: Transform + pos: 67.5,-26.5 + parent: 5350 + - uid: 12044 + components: + - type: Transform + pos: 67.5,-25.5 + parent: 5350 + - uid: 12047 + components: + - type: Transform + pos: 66.5,-24.5 + parent: 5350 - uid: 12076 components: - type: Transform @@ -43204,112 +43885,102 @@ entities: - uid: 24239 components: - type: Transform - pos: 68.5,-31.5 + pos: 64.5,-24.5 parent: 5350 - uid: 24240 components: - type: Transform - pos: 66.5,-31.5 + pos: 63.5,-24.5 parent: 5350 - uid: 24241 components: - type: Transform - pos: 65.5,-31.5 + pos: 62.5,-24.5 parent: 5350 - uid: 24243 components: - type: Transform - pos: 64.5,-31.5 + pos: 61.5,-24.5 parent: 5350 - uid: 24245 components: - type: Transform - pos: 63.5,-31.5 + pos: 59.5,-24.5 parent: 5350 - uid: 24246 components: - type: Transform - pos: 63.5,-32.5 + pos: 60.5,-24.5 parent: 5350 - uid: 24247 components: - type: Transform - pos: 62.5,-32.5 + pos: 58.5,-24.5 parent: 5350 - uid: 24249 components: - type: Transform - pos: 61.5,-32.5 + pos: 57.5,-24.5 parent: 5350 - uid: 24250 components: - type: Transform - pos: 60.5,-32.5 + pos: 56.5,-24.5 parent: 5350 - uid: 24251 components: - type: Transform - pos: 59.5,-32.5 + pos: 55.5,-24.5 parent: 5350 - uid: 24253 components: - type: Transform - pos: 58.5,-32.5 + pos: 54.5,-24.5 parent: 5350 - uid: 24254 components: - type: Transform - pos: 57.5,-32.5 + pos: 67.5,-24.5 parent: 5350 - uid: 24255 components: - type: Transform - pos: 56.5,-32.5 + pos: 53.5,-24.5 parent: 5350 - uid: 24257 components: - type: Transform - pos: 55.5,-32.5 + pos: 52.5,-23.5 parent: 5350 - uid: 24260 components: - type: Transform - pos: 54.5,-32.5 + pos: 52.5,-22.5 parent: 5350 - uid: 24261 components: - type: Transform - pos: 53.5,-32.5 - parent: 5350 - - uid: 24298 - components: - - type: Transform - pos: 52.5,-32.5 - parent: 5350 - - uid: 24299 - components: - - type: Transform - pos: 51.5,-32.5 + pos: 52.5,-21.5 parent: 5350 - uid: 24301 components: - type: Transform - pos: 50.5,-32.5 + pos: 70.5,-27.5 parent: 5350 - uid: 24302 components: - type: Transform - pos: 49.5,-32.5 + pos: 70.5,-28.5 parent: 5350 - uid: 24303 components: - type: Transform - pos: 48.5,-32.5 + pos: 70.5,-29.5 parent: 5350 - uid: 24304 components: - type: Transform - pos: 47.5,-32.5 + pos: 70.5,-30.5 parent: 5350 - uid: 24497 components: @@ -43361,6 +44032,11 @@ entities: - type: Transform pos: 47.5,-24.5 parent: 5350 + - uid: 24516 + components: + - type: Transform + pos: 70.5,-31.5 + parent: 5350 - uid: 24519 components: - type: Transform @@ -43456,6 +44132,11 @@ entities: - type: Transform pos: 104.5,0.5 parent: 5350 + - uid: 26785 + components: + - type: Transform + pos: 70.5,-32.5 + parent: 5350 - uid: 26811 components: - type: Transform @@ -43541,6 +44222,31 @@ entities: - type: Transform pos: 103.5,13.5 parent: 5350 + - uid: 27000 + components: + - type: Transform + pos: 70.5,-33.5 + parent: 5350 + - uid: 27001 + components: + - type: Transform + pos: 70.5,-34.5 + parent: 5350 + - uid: 27002 + components: + - type: Transform + pos: 70.5,-35.5 + parent: 5350 + - uid: 27013 + components: + - type: Transform + pos: 71.5,-31.5 + parent: 5350 + - uid: 27123 + components: + - type: Transform + pos: 70.5,-25.5 + parent: 5350 - proto: CableHVStack entities: - uid: 1551 @@ -46950,6 +47656,31 @@ entities: - type: Transform pos: -34.5,32.5 parent: 5350 + - uid: 10840 + components: + - type: Transform + pos: 69.5,-26.5 + parent: 5350 + - uid: 11261 + components: + - type: Transform + pos: 69.5,-25.5 + parent: 5350 + - uid: 11270 + components: + - type: Transform + pos: 69.5,-28.5 + parent: 5350 + - uid: 11272 + components: + - type: Transform + pos: 70.5,-25.5 + parent: 5350 + - uid: 11274 + components: + - type: Transform + pos: 69.5,-27.5 + parent: 5350 - uid: 11917 components: - type: Transform @@ -50755,6 +51486,12 @@ entities: rot: 1.5707963267948966 rad pos: 38.5,-60.5 parent: 5350 + - uid: 24299 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 70.5,-27.5 + parent: 5350 - uid: 24518 components: - type: Transform @@ -50802,10 +51539,10 @@ entities: parent: 5350 - proto: CarbonDioxideCanister entities: - - uid: 11597 + - uid: 11615 components: - type: Transform - pos: 69.5,-19.5 + pos: 69.5,-18.5 parent: 5350 - uid: 11815 components: @@ -50822,6 +51559,11 @@ entities: - type: Transform pos: 25.5,-48.5 parent: 5350 + - uid: 27090 + components: + - type: Transform + pos: 76.5,-36.5 + parent: 5350 - proto: Carpet entities: - uid: 1123 @@ -52900,6 +53642,11 @@ entities: - type: Transform pos: -43.5,35.5 parent: 5350 + - uid: 11282 + components: + - type: Transform + pos: 72.5,-24.5 + parent: 5350 - uid: 11471 components: - type: Transform @@ -52945,6 +53692,16 @@ entities: - type: Transform pos: 48.5,-34.5 parent: 5350 + - uid: 11756 + components: + - type: Transform + pos: 72.5,-23.5 + parent: 5350 + - uid: 11759 + components: + - type: Transform + pos: 72.5,-22.5 + parent: 5350 - uid: 12119 components: - type: Transform @@ -55904,6 +56661,119 @@ entities: - type: Transform pos: 58.5,11.5 parent: 5350 + - uid: 27112 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 74.5,-42.5 + parent: 5350 + - uid: 27157 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 74.5,-41.5 + parent: 5350 + - uid: 27169 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 71.5,-43.5 + parent: 5350 + - uid: 27170 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 72.5,-43.5 + parent: 5350 + - uid: 27171 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 73.5,-43.5 + parent: 5350 + - uid: 27172 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 74.5,-43.5 + parent: 5350 + - uid: 27173 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 75.5,-43.5 + parent: 5350 + - uid: 27174 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 76.5,-43.5 + parent: 5350 + - uid: 27175 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 77.5,-43.5 + parent: 5350 + - uid: 27176 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 65.5,-44.5 + parent: 5350 + - uid: 27178 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 67.5,-44.5 + parent: 5350 + - uid: 27179 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 68.5,-44.5 + parent: 5350 + - uid: 27180 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 69.5,-44.5 + parent: 5350 + - uid: 27181 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 70.5,-44.5 + parent: 5350 + - uid: 27182 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 71.5,-44.5 + parent: 5350 + - uid: 27183 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 72.5,-44.5 + parent: 5350 + - uid: 27184 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 73.5,-44.5 + parent: 5350 + - uid: 27254 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 66.5,-44.5 + parent: 5350 + - uid: 27255 + components: + - type: Transform + pos: 74.5,-44.5 + parent: 5350 - proto: Chair entities: - uid: 347 @@ -57477,6 +58347,11 @@ entities: rot: 1.5707963267948966 rad pos: 106.5,4.5 parent: 5350 + - uid: 27118 + components: + - type: Transform + pos: 71.5,-30.5 + parent: 5350 - proto: ChairOfficeLight entities: - uid: 5098 @@ -60889,6 +61764,15 @@ entities: - type: Transform pos: -40.532333,-25.270031 parent: 5350 +- proto: ClothingHeadHelmetAtmosFire + entities: + - uid: 27091 + components: + - type: Transform + parent: 27084 + - type: Physics + canCollide: False + - type: InsideEntityStorage - proto: ClothingHeadHelmetBasic entities: - uid: 10424 @@ -61059,6 +61943,13 @@ entities: - type: Transform pos: 45.489563,-8.468819 parent: 5350 + - uid: 27098 + components: + - type: Transform + parent: 27084 + - type: Physics + canCollide: False + - type: InsideEntityStorage - proto: ClothingMaskGasExplorer entities: - uid: 3689 @@ -61426,6 +62317,15 @@ entities: - type: Transform pos: -18.5,29.5 parent: 5350 +- proto: ClothingOuterSuitAtmosFire + entities: + - uid: 27097 + components: + - type: Transform + parent: 27084 + - type: Physics + canCollide: False + - type: InsideEntityStorage - proto: ClothingOuterSuitMonkey entities: - uid: 24111 @@ -62444,6 +63344,12 @@ entities: rot: 3.141592653589793 rad pos: 110.5,-0.5 parent: 5350 + - uid: 27043 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 71.5,-31.5 + parent: 5350 - proto: ComputerRadar entities: - uid: 1207 @@ -63178,6 +64084,13 @@ entities: - type: Transform pos: 38.5,-16.5 parent: 5350 +- proto: CrateMaterialSteel + entities: + - uid: 27101 + components: + - type: Transform + pos: 68.5,-31.5 + parent: 5350 - proto: CrateMedical entities: - uid: 15591 @@ -63826,6 +64739,13 @@ entities: - type: Transform pos: 36.5,7.5 parent: 5350 +- proto: DefaultStationBeaconTEG + entities: + - uid: 27252 + components: + - type: Transform + pos: 70.5,-30.5 + parent: 5350 - proto: DefaultStationBeaconTelecoms entities: - uid: 26708 @@ -71659,6 +72579,11 @@ entities: - type: Transform pos: -29.5,-42.5 parent: 5350 + - uid: 27096 + components: + - type: Transform + pos: 74.5,-31.5 + parent: 5350 - proto: ExtinguisherCabinetOpen entities: - uid: 22178 @@ -72658,6 +73583,16 @@ entities: - 14208 - 14209 - 14210 + - uid: 26994 + components: + - type: Transform + pos: 68.5,-28.5 + parent: 5350 + - type: DeviceList + devices: + - 27078 + - 26996 + - 26995 - proto: FireAxeCabinetFilled entities: - uid: 1096 @@ -73974,6 +74909,24 @@ entities: - type: Transform pos: -72.5,8.5 parent: 5350 + - uid: 26995 + components: + - type: Transform + pos: 66.5,-25.5 + parent: 5350 + - type: DeviceNetwork + deviceLists: + - 11752 + - 26994 + - uid: 26996 + components: + - type: Transform + pos: 67.5,-25.5 + parent: 5350 + - type: DeviceNetwork + deviceLists: + - 11752 + - 26994 - proto: Fireplace entities: - uid: 1054 @@ -74689,6 +75642,12 @@ entities: - type: Transform pos: -57.517693,-13.493662 parent: 5350 + - uid: 27104 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 73.5,-30.5 + parent: 5350 - proto: GasFilterFlipped entities: - uid: 14354 @@ -74701,10 +75660,10 @@ entities: color: '#FF1212FF' - proto: GasMinerCarbonDioxide entities: - - uid: 11596 + - uid: 11612 components: - type: Transform - pos: 68.5,-19.5 + pos: 68.5,-18.5 parent: 5350 - proto: GasMinerNitrogenStationLarge entities: @@ -74746,35 +75705,19 @@ entities: parent: 5350 - proto: GasOutletInjector entities: - - uid: 10990 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 67.5,-8.5 - parent: 5350 - - type: AtmosPipeColor - color: '#27E312FF' - - uid: 10991 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 67.5,-12.5 - parent: 5350 - - type: AtmosPipeColor - color: '#27E312FF' - - uid: 10992 + - uid: 3186 components: - type: Transform rot: -1.5707963267948966 rad - pos: 67.5,-16.5 + pos: 67.5,-19.5 parent: 5350 - type: AtmosPipeColor color: '#27E312FF' - - uid: 10993 + - uid: 10830 components: - type: Transform rot: -1.5707963267948966 rad - pos: 67.5,-20.5 + pos: 67.5,-15.5 parent: 5350 - type: AtmosPipeColor color: '#27E312FF' @@ -74806,6 +75749,22 @@ entities: rot: -1.5707963267948966 rad pos: 44.5,-34.5 parent: 5350 + - uid: 11570 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 67.5,-7.5 + parent: 5350 + - type: AtmosPipeColor + color: '#27E312FF' + - uid: 11723 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 67.5,-11.5 + parent: 5350 + - type: AtmosPipeColor + color: '#27E312FF' - uid: 19390 components: - type: Transform @@ -74827,6 +75786,22 @@ entities: rot: 3.141592653589793 rad pos: 59.5,-28.5 parent: 5350 + - uid: 10829 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 67.5,-13.5 + parent: 5350 + - type: AtmosPipeColor + color: '#B342F5FF' + - uid: 10910 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 67.5,-17.5 + parent: 5350 + - type: AtmosPipeColor + color: '#B342F5FF' - uid: 10981 components: - type: Transform @@ -74859,35 +75834,19 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#947507FF' - - uid: 10986 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 67.5,-18.5 - parent: 5350 - - type: AtmosPipeColor - color: '#947507FF' - - uid: 10987 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 67.5,-14.5 - parent: 5350 - - type: AtmosPipeColor - color: '#947507FF' - - uid: 10988 + - uid: 11309 components: - type: Transform rot: -1.5707963267948966 rad - pos: 67.5,-10.5 + pos: 67.5,-5.5 parent: 5350 - type: AtmosPipeColor - color: '#947507FF' - - uid: 10989 + color: '#B342F5FF' + - uid: 11310 components: - type: Transform rot: -1.5707963267948966 rad - pos: 67.5,-6.5 + pos: 67.5,-9.5 parent: 5350 - type: AtmosPipeColor color: '#B342F5FF' @@ -74939,6 +75898,24 @@ entities: rot: 3.141592653589793 rad pos: 104.5,-16.5 parent: 5350 + - uid: 27069 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 69.5,-40.5 + parent: 5350 + - uid: 27073 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 66.5,-40.5 + parent: 5350 + - uid: 27111 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 74.5,-40.5 + parent: 5350 - proto: GasPipeBend entities: - uid: 510 @@ -75353,14 +76330,6 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#0055CCFF' - - uid: 5314 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 57.5,-4.5 - parent: 5350 - - type: AtmosPipeColor - color: '#0055CCFF' - uid: 5489 components: - type: Transform @@ -75829,19 +76798,19 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 11002 + - uid: 10993 components: - type: Transform - rot: 3.141592653589793 rad - pos: 62.5,-5.5 + rot: -1.5707963267948966 rad + pos: 58.5,-5.5 parent: 5350 - type: AtmosPipeColor color: '#03FCD3FF' - - uid: 11004 + - uid: 11002 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 57.5,-10.5 + rot: 1.5707963267948966 rad + pos: 58.5,-4.5 parent: 5350 - type: AtmosPipeColor color: '#03FCD3FF' @@ -75869,11 +76838,10 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#0055CCFF' - - uid: 11118 + - uid: 11116 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 57.5,-9.5 + pos: 63.5,-4.5 parent: 5350 - type: AtmosPipeColor color: '#03FCD3FF' @@ -75901,13 +76869,6 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#03FCD3FF' - - uid: 11137 - components: - - type: Transform - pos: 62.5,-4.5 - parent: 5350 - - type: AtmosPipeColor - color: '#03FCD3FF' - uid: 11156 components: - type: Transform @@ -76826,6 +77787,85 @@ entities: rot: 3.141592653589793 rad pos: 108.5,-4.5 parent: 5350 + - uid: 26787 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 61.5,-20.5 + parent: 5350 + - type: AtmosPipeColor + color: '#03FCD3FF' + - uid: 26985 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 63.5,-20.5 + parent: 5350 + - type: AtmosPipeColor + color: '#03FCD3FF' + - uid: 27185 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 71.5,-42.5 + parent: 5350 + - uid: 27186 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 73.5,-42.5 + parent: 5350 + - uid: 27211 + components: + - type: Transform + pos: 66.5,-21.5 + parent: 5350 + - type: AtmosPipeColor + color: '#947507FF' + - uid: 27213 + components: + - type: Transform + pos: 69.5,-30.5 + parent: 5350 + - type: AtmosPipeColor + color: '#0055CCFF' + - uid: 27214 + components: + - type: Transform + pos: 63.5,-24.5 + parent: 5350 + - type: AtmosPipeColor + color: '#0055CCFF' + - uid: 27229 + components: + - type: Transform + pos: 64.5,-23.5 + parent: 5350 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 27230 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 63.5,-30.5 + parent: 5350 + - type: AtmosPipeColor + color: '#0055CCFF' + - uid: 27231 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 64.5,-29.5 + parent: 5350 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 27233 + components: + - type: Transform + pos: 72.5,-29.5 + parent: 5350 + - type: AtmosPipeColor + color: '#FF1212FF' - proto: GasPipeFourway entities: - uid: 260 @@ -81507,6 +82547,14 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#0055CCFF' + - uid: 2682 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 65.5,-7.5 + parent: 5350 + - type: AtmosPipeColor + color: '#27E312FF' - uid: 2685 components: - type: Transform @@ -84293,13 +85341,6 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#0055CCFF' - - uid: 5315 - components: - - type: Transform - pos: 57.5,-5.5 - parent: 5350 - - type: AtmosPipeColor - color: '#0055CCFF' - uid: 5459 components: - type: Transform @@ -88750,14 +89791,6 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#0055CCFF' - - uid: 8889 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 58.5,-4.5 - parent: 5350 - - type: AtmosPipeColor - color: '#0055CCFF' - uid: 8978 components: - type: Transform @@ -88766,14 +89799,6 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#0055CCFF' - - uid: 8983 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 59.5,-4.5 - parent: 5350 - - type: AtmosPipeColor - color: '#0055CCFF' - uid: 8987 components: - type: Transform @@ -88944,14 +89969,6 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#0055CCFF' - - uid: 9027 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 60.5,-4.5 - parent: 5350 - - type: AtmosPipeColor - color: '#0055CCFF' - uid: 9039 components: - type: Transform @@ -88960,11 +89977,6 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#0055CCFF' - - uid: 9069 - components: - - type: Transform - pos: 68.5,-30.5 - parent: 5350 - uid: 9166 components: - type: Transform @@ -89631,6 +90643,62 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#0055CCFF' + - uid: 10815 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 66.5,-15.5 + parent: 5350 + - type: AtmosPipeColor + color: '#27E312FF' + - uid: 10816 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 64.5,-15.5 + parent: 5350 + - type: AtmosPipeColor + color: '#27E312FF' + - uid: 10822 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 66.5,-7.5 + parent: 5350 + - type: AtmosPipeColor + color: '#27E312FF' + - uid: 10825 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 65.5,-11.5 + parent: 5350 + - type: AtmosPipeColor + color: '#27E312FF' + - uid: 10826 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 66.5,-11.5 + parent: 5350 + - type: AtmosPipeColor + color: '#27E312FF' + - uid: 10924 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 64.5,-11.5 + parent: 5350 + - type: AtmosPipeColor + color: '#27E312FF' + - uid: 10931 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 64.5,-7.5 + parent: 5350 + - type: AtmosPipeColor + color: '#27E312FF' - uid: 10952 components: - type: Transform @@ -89694,6 +90762,14 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#FF1212FF' + - uid: 10972 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 65.5,-15.5 + parent: 5350 + - type: AtmosPipeColor + color: '#27E312FF' - uid: 10973 components: - type: Transform @@ -89725,6 +90801,14 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#FF1212FF' + - uid: 10992 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 61.5,-10.5 + parent: 5350 + - type: AtmosPipeColor + color: '#03FCD3FF' - uid: 11003 components: - type: Transform @@ -89733,6 +90817,14 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#FF1212FF' + - uid: 11004 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 60.5,-10.5 + parent: 5350 + - type: AtmosPipeColor + color: '#03FCD3FF' - uid: 11016 components: - type: Transform @@ -89775,78 +90867,22 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#27E312FF' - - uid: 11040 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 64.5,-20.5 - parent: 5350 - - type: AtmosPipeColor - color: '#27E312FF' - uid: 11041 components: - type: Transform rot: 1.5707963267948966 rad - pos: 65.5,-20.5 + pos: 57.5,-10.5 parent: 5350 - type: AtmosPipeColor - color: '#27E312FF' + color: '#03FCD3FF' - uid: 11042 components: - type: Transform rot: 1.5707963267948966 rad - pos: 66.5,-20.5 - parent: 5350 - - type: AtmosPipeColor - color: '#27E312FF' - - uid: 11044 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 64.5,-16.5 - parent: 5350 - - type: AtmosPipeColor - color: '#27E312FF' - - uid: 11045 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 65.5,-16.5 - parent: 5350 - - type: AtmosPipeColor - color: '#27E312FF' - - uid: 11046 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 66.5,-16.5 - parent: 5350 - - type: AtmosPipeColor - color: '#27E312FF' - - uid: 11054 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 64.5,-12.5 - parent: 5350 - - type: AtmosPipeColor - color: '#27E312FF' - - uid: 11055 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 65.5,-12.5 - parent: 5350 - - type: AtmosPipeColor - color: '#27E312FF' - - uid: 11056 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 66.5,-12.5 + pos: 58.5,-10.5 parent: 5350 - type: AtmosPipeColor - color: '#27E312FF' + color: '#03FCD3FF' - uid: 11058 components: - type: Transform @@ -90058,42 +91094,6 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#03FCD3FF' - - uid: 11098 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 62.5,-24.5 - parent: 5350 - - type: AtmosPipeColor - color: '#03FCD3FF' - - uid: 11099 - components: - - type: Transform - pos: 63.5,-23.5 - parent: 5350 - - type: AtmosPipeColor - color: '#03FCD3FF' - - uid: 11100 - components: - - type: Transform - pos: 63.5,-22.5 - parent: 5350 - - type: AtmosPipeColor - color: '#03FCD3FF' - - uid: 11101 - components: - - type: Transform - pos: 63.5,-21.5 - parent: 5350 - - type: AtmosPipeColor - color: '#03FCD3FF' - - uid: 11102 - components: - - type: Transform - pos: 63.5,-20.5 - parent: 5350 - - type: AtmosPipeColor - color: '#03FCD3FF' - uid: 11103 components: - type: Transform @@ -90157,50 +91157,19 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#03FCD3FF' - - uid: 11112 - components: - - type: Transform - pos: 63.5,-10.5 - parent: 5350 - - type: AtmosPipeColor - color: '#03FCD3FF' - - uid: 11113 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 62.5,-9.5 - parent: 5350 - - type: AtmosPipeColor - color: '#03FCD3FF' - - uid: 11114 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 61.5,-9.5 - parent: 5350 - - type: AtmosPipeColor - color: '#03FCD3FF' - - uid: 11115 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 60.5,-9.5 - parent: 5350 - - type: AtmosPipeColor - color: '#03FCD3FF' - - uid: 11116 + - uid: 11117 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 59.5,-9.5 + rot: 1.5707963267948966 rad + pos: 62.5,-4.5 parent: 5350 - type: AtmosPipeColor color: '#03FCD3FF' - - uid: 11117 + - uid: 11118 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 58.5,-9.5 + rot: 1.5707963267948966 rad + pos: 61.5,-4.5 parent: 5350 - type: AtmosPipeColor color: '#03FCD3FF' @@ -90228,6 +91197,14 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#03FCD3FF' + - uid: 11130 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 60.5,-4.5 + parent: 5350 + - type: AtmosPipeColor + color: '#03FCD3FF' - uid: 11131 components: - type: Transform @@ -90252,6 +91229,14 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#03FCD3FF' + - uid: 11134 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 59.5,-4.5 + parent: 5350 + - type: AtmosPipeColor + color: '#03FCD3FF' - uid: 11139 components: - type: Transform @@ -90332,14 +91317,6 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#0055CCFF' - - uid: 11151 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 57.5,-6.5 - parent: 5350 - - type: AtmosPipeColor - color: '#0055CCFF' - uid: 11152 components: - type: Transform @@ -90380,78 +91357,14 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#0055CCFF' - - uid: 11161 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 66.5,-18.5 - parent: 5350 - - type: AtmosPipeColor - color: '#947507FF' - - uid: 11162 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 65.5,-18.5 - parent: 5350 - - type: AtmosPipeColor - color: '#947507FF' - - uid: 11163 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 64.5,-18.5 - parent: 5350 - - type: AtmosPipeColor - color: '#947507FF' - - uid: 11166 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 66.5,-14.5 - parent: 5350 - - type: AtmosPipeColor - color: '#947507FF' - uid: 11167 components: - type: Transform rot: -1.5707963267948966 rad - pos: 65.5,-14.5 - parent: 5350 - - type: AtmosPipeColor - color: '#947507FF' - - uid: 11168 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 64.5,-14.5 - parent: 5350 - - type: AtmosPipeColor - color: '#947507FF' - - uid: 11171 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 66.5,-10.5 - parent: 5350 - - type: AtmosPipeColor - color: '#947507FF' - - uid: 11172 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 65.5,-10.5 - parent: 5350 - - type: AtmosPipeColor - color: '#947507FF' - - uid: 11173 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 64.5,-10.5 + pos: 64.5,-9.5 parent: 5350 - type: AtmosPipeColor - color: '#947507FF' + color: '#B342F5FF' - uid: 11196 components: - type: Transform @@ -90476,54 +91389,21 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 11200 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 64.5,-8.5 - parent: 5350 - - type: AtmosPipeColor - color: '#27E312FF' - - uid: 11201 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 65.5,-8.5 - parent: 5350 - - type: AtmosPipeColor - color: '#27E312FF' - - uid: 11202 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 66.5,-8.5 - parent: 5350 - - type: AtmosPipeColor - color: '#27E312FF' - - uid: 11204 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 66.5,-6.5 - parent: 5350 - - type: AtmosPipeColor - color: '#B342F5FF' - uid: 11205 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 65.5,-6.5 + pos: 63.5,-5.5 parent: 5350 - type: AtmosPipeColor - color: '#B342F5FF' + color: '#03FCD3FF' - uid: 11206 components: - type: Transform rot: 1.5707963267948966 rad - pos: 64.5,-6.5 + pos: 62.5,-10.5 parent: 5350 - type: AtmosPipeColor - color: '#B342F5FF' + color: '#03FCD3FF' - uid: 11227 components: - type: Transform @@ -90572,63 +91452,93 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#000000FF' - - uid: 11237 + - uid: 11297 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 64.5,-24.5 + pos: 63.5,-9.5 parent: 5350 - type: AtmosPipeColor color: '#03FCD3FF' - - uid: 11238 + - uid: 11306 components: - type: Transform rot: 1.5707963267948966 rad - pos: 65.5,-24.5 + pos: 59.5,-10.5 parent: 5350 - type: AtmosPipeColor color: '#03FCD3FF' - - uid: 11239 + - uid: 11316 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 66.5,-24.5 + rot: -1.5707963267948966 rad + pos: 64.5,-17.5 parent: 5350 - type: AtmosPipeColor - color: '#03FCD3FF' - - uid: 11240 + color: '#B342F5FF' + - uid: 11317 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 67.5,-24.5 + rot: -1.5707963267948966 rad + pos: 65.5,-17.5 parent: 5350 - type: AtmosPipeColor - color: '#03FCD3FF' - - uid: 11241 + color: '#B342F5FF' + - uid: 11318 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 68.5,-24.5 + rot: -1.5707963267948966 rad + pos: 66.5,-17.5 parent: 5350 - type: AtmosPipeColor - color: '#03FCD3FF' - - uid: 11246 + color: '#B342F5FF' + - uid: 11349 components: - type: Transform - pos: 70.5,-30.5 + rot: -1.5707963267948966 rad + pos: 66.5,-19.5 parent: 5350 - - uid: 11247 + - type: AtmosPipeColor + color: '#27E312FF' + - uid: 11350 components: - type: Transform - rot: 3.141592653589793 rad - pos: 68.5,-29.5 + rot: -1.5707963267948966 rad + pos: 65.5,-19.5 parent: 5350 - - uid: 11248 + - type: AtmosPipeColor + color: '#27E312FF' + - uid: 11351 components: - type: Transform - rot: 3.141592653589793 rad - pos: 70.5,-29.5 + rot: -1.5707963267948966 rad + pos: 64.5,-19.5 + parent: 5350 + - type: AtmosPipeColor + color: '#27E312FF' + - uid: 11352 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 64.5,-13.5 parent: 5350 + - type: AtmosPipeColor + color: '#B342F5FF' + - uid: 11353 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 65.5,-13.5 + parent: 5350 + - type: AtmosPipeColor + color: '#B342F5FF' + - uid: 11354 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 66.5,-13.5 + parent: 5350 + - type: AtmosPipeColor + color: '#B342F5FF' - uid: 11362 components: - type: Transform @@ -90877,6 +91787,77 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#FF1212FF' + - uid: 11572 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 66.5,-5.5 + parent: 5350 + - type: AtmosPipeColor + color: '#B342F5FF' + - uid: 11635 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 64.5,-5.5 + parent: 5350 + - type: AtmosPipeColor + color: '#B342F5FF' + - uid: 11642 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 65.5,-5.5 + parent: 5350 + - type: AtmosPipeColor + color: '#B342F5FF' + - uid: 11724 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 66.5,-9.5 + parent: 5350 + - type: AtmosPipeColor + color: '#B342F5FF' + - uid: 11730 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 65.5,-9.5 + parent: 5350 + - type: AtmosPipeColor + color: '#B342F5FF' + - uid: 11754 + components: + - type: Transform + pos: 61.5,-22.5 + parent: 5350 + - type: AtmosPipeColor + color: '#03FCD3FF' + - uid: 11758 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 62.5,-20.5 + parent: 5350 + - type: AtmosPipeColor + color: '#03FCD3FF' + - uid: 11760 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 63.5,-21.5 + parent: 5350 + - type: AtmosPipeColor + color: '#947507FF' + - uid: 11762 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 61.5,-23.5 + parent: 5350 + - type: AtmosPipeColor + color: '#03FCD3FF' - uid: 11779 components: - type: Transform @@ -101136,6 +102117,326 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#0055CCFF' + - uid: 26786 + components: + - type: Transform + pos: 61.5,-21.5 + parent: 5350 + - type: AtmosPipeColor + color: '#03FCD3FF' + - uid: 27070 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 69.5,-39.5 + parent: 5350 + - uid: 27074 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 66.5,-39.5 + parent: 5350 + - uid: 27156 + components: + - type: Transform + pos: 74.5,-39.5 + parent: 5350 + - uid: 27191 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 71.5,-39.5 + parent: 5350 + - uid: 27192 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 73.5,-39.5 + parent: 5350 + - uid: 27194 + components: + - type: Transform + pos: 73.5,-38.5 + parent: 5350 + - uid: 27196 + components: + - type: Transform + pos: 71.5,-38.5 + parent: 5350 + - uid: 27201 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 64.5,-21.5 + parent: 5350 + - type: AtmosPipeColor + color: '#947507FF' + - uid: 27202 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 65.5,-21.5 + parent: 5350 + - type: AtmosPipeColor + color: '#947507FF' + - uid: 27203 + components: + - type: Transform + pos: 66.5,-22.5 + parent: 5350 + - type: AtmosPipeColor + color: '#947507FF' + - uid: 27204 + components: + - type: Transform + pos: 66.5,-23.5 + parent: 5350 + - type: AtmosPipeColor + color: '#947507FF' + - uid: 27205 + components: + - type: Transform + pos: 66.5,-24.5 + parent: 5350 + - type: AtmosPipeColor + color: '#947507FF' + - uid: 27206 + components: + - type: Transform + pos: 66.5,-25.5 + parent: 5350 + - type: AtmosPipeColor + color: '#947507FF' + - uid: 27207 + components: + - type: Transform + pos: 66.5,-26.5 + parent: 5350 + - type: AtmosPipeColor + color: '#947507FF' + - uid: 27208 + components: + - type: Transform + pos: 66.5,-27.5 + parent: 5350 + - type: AtmosPipeColor + color: '#947507FF' + - uid: 27209 + components: + - type: Transform + pos: 66.5,-28.5 + parent: 5350 + - type: AtmosPipeColor + color: '#947507FF' + - uid: 27215 + components: + - type: Transform + pos: 63.5,-25.5 + parent: 5350 + - type: AtmosPipeColor + color: '#0055CCFF' + - uid: 27216 + components: + - type: Transform + pos: 63.5,-26.5 + parent: 5350 + - type: AtmosPipeColor + color: '#0055CCFF' + - uid: 27217 + components: + - type: Transform + pos: 63.5,-27.5 + parent: 5350 + - type: AtmosPipeColor + color: '#0055CCFF' + - uid: 27218 + components: + - type: Transform + pos: 63.5,-28.5 + parent: 5350 + - type: AtmosPipeColor + color: '#0055CCFF' + - uid: 27219 + components: + - type: Transform + pos: 63.5,-29.5 + parent: 5350 + - type: AtmosPipeColor + color: '#0055CCFF' + - uid: 27220 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 65.5,-30.5 + parent: 5350 + - type: AtmosPipeColor + color: '#0055CCFF' + - uid: 27221 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 67.5,-30.5 + parent: 5350 + - type: AtmosPipeColor + color: '#0055CCFF' + - uid: 27222 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 68.5,-30.5 + parent: 5350 + - type: AtmosPipeColor + color: '#0055CCFF' + - uid: 27223 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 68.5,-29.5 + parent: 5350 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 27224 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 66.5,-29.5 + parent: 5350 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 27225 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 67.5,-29.5 + parent: 5350 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 27226 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 65.5,-29.5 + parent: 5350 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 27227 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 66.5,-30.5 + parent: 5350 + - type: AtmosPipeColor + color: '#0055CCFF' + - uid: 27228 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 64.5,-30.5 + parent: 5350 + - type: AtmosPipeColor + color: '#0055CCFF' + - uid: 27232 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 69.5,-29.5 + parent: 5350 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 27234 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 70.5,-29.5 + parent: 5350 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 27235 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 71.5,-29.5 + parent: 5350 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 27236 + components: + - type: Transform + pos: 72.5,-30.5 + parent: 5350 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 27237 + components: + - type: Transform + pos: 66.5,-29.5 + parent: 5350 + - type: AtmosPipeColor + color: '#947507FF' + - uid: 27238 + components: + - type: Transform + pos: 66.5,-30.5 + parent: 5350 + - type: AtmosPipeColor + color: '#947507FF' + - uid: 27239 + components: + - type: Transform + pos: 66.5,-31.5 + parent: 5350 + - type: AtmosPipeColor + color: '#947507FF' + - uid: 27240 + components: + - type: Transform + pos: 64.5,-28.5 + parent: 5350 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 27241 + components: + - type: Transform + pos: 64.5,-27.5 + parent: 5350 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 27242 + components: + - type: Transform + pos: 64.5,-26.5 + parent: 5350 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 27243 + components: + - type: Transform + pos: 64.5,-25.5 + parent: 5350 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 27244 + components: + - type: Transform + pos: 64.5,-24.5 + parent: 5350 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 27245 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 63.5,-23.5 + parent: 5350 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 27256 + components: + - type: Transform + pos: 66.5,-32.5 + parent: 5350 + - type: AtmosPipeColor + color: '#947507FF' - proto: GasPipeTJunction entities: - uid: 265 @@ -103313,6 +104614,14 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#0055CCFF' + - uid: 10933 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 57.5,-5.5 + parent: 5350 + - type: AtmosPipeColor + color: '#03FCD3FF' - uid: 10950 components: - type: Transform @@ -103399,27 +104708,11 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#03FCD3FF' - - uid: 11097 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 63.5,-24.5 - parent: 5350 - - type: AtmosPipeColor - color: '#03FCD3FF' - - uid: 11130 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 63.5,-9.5 - parent: 5350 - - type: AtmosPipeColor - color: '#03FCD3FF' - - uid: 11134 + - uid: 11115 components: - type: Transform rot: -1.5707963267948966 rad - pos: 63.5,-5.5 + pos: 63.5,-10.5 parent: 5350 - type: AtmosPipeColor color: '#03FCD3FF' @@ -104685,6 +105978,30 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#0055CCFF' + - uid: 27187 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 71.5,-41.5 + parent: 5350 + - uid: 27188 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 73.5,-41.5 + parent: 5350 + - uid: 27189 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 71.5,-40.5 + parent: 5350 + - uid: 27190 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 73.5,-40.5 + parent: 5350 - proto: GasPort entities: - uid: 8245 @@ -104717,11 +106034,6 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 9029 - components: - - type: Transform - pos: 63.5,-4.5 - parent: 5350 - uid: 10163 components: - type: Transform @@ -104752,6 +106064,13 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#0055CCFF' + - uid: 10932 + components: + - type: Transform + pos: 57.5,-4.5 + parent: 5350 + - type: AtmosPipeColor + color: '#03FCD3FF' - uid: 10946 components: - type: Transform @@ -104784,16 +106103,6 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#03FCD3FF' - - uid: 11243 - components: - - type: Transform - pos: 68.5,-27.5 - parent: 5350 - - uid: 11244 - components: - - type: Transform - pos: 70.5,-27.5 - parent: 5350 - uid: 11438 components: - type: Transform @@ -104940,12 +106249,6 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#0055CCFF' - - uid: 2682 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 63.5,-12.5 - parent: 5350 - uid: 3130 components: - type: Transform @@ -104954,12 +106257,6 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 3186 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 63.5,-6.5 - parent: 5350 - uid: 10543 components: - type: Transform @@ -104972,50 +106269,51 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#0055CCFF' - - uid: 10966 + - uid: 10817 components: - type: Transform rot: 1.5707963267948966 rad - pos: 63.5,-20.5 - parent: 5350 - - uid: 10967 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 54.5,-20.5 + pos: 63.5,-15.5 parent: 5350 - - uid: 10968 + - type: AtmosPipeColor + color: '#27E312FF' + - uid: 10824 components: - type: Transform rot: -1.5707963267948966 rad - pos: 51.5,-21.5 + pos: 63.5,-9.5 parent: 5350 - type: AtmosPipeColor - color: '#FF1212FF' - - uid: 10969 + color: '#B342F5FF' + - uid: 10934 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 63.5,-16.5 + pos: 57.5,-6.5 parent: 5350 - - uid: 10970 + - type: AtmosPipeColor + color: '#03FCD3FF' + - uid: 10967 components: - type: Transform rot: -1.5707963267948966 rad - pos: 63.5,-10.5 + pos: 54.5,-20.5 parent: 5350 - - uid: 10971 + - uid: 10968 components: - type: Transform rot: -1.5707963267948966 rad - pos: 63.5,-14.5 + pos: 51.5,-21.5 parent: 5350 - - uid: 10972 + - type: AtmosPipeColor + color: '#FF1212FF' + - uid: 10991 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 63.5,-18.5 + rot: 1.5707963267948966 rad + pos: 63.5,-7.5 parent: 5350 + - type: AtmosPipeColor + color: '#27E312FF' - uid: 11006 components: - type: Transform @@ -105029,12 +106327,14 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#FF1212FF' - - uid: 11015 + - uid: 11040 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 63.5,-8.5 + rot: -1.5707963267948966 rad + pos: 63.5,-5.5 parent: 5350 + - type: AtmosPipeColor + color: '#B342F5FF' - uid: 11124 components: - type: Transform @@ -105043,25 +106343,38 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#03FCD3FF' - - uid: 11138 + - uid: 11161 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 61.5,-4.5 + rot: 1.5707963267948966 rad + pos: 63.5,-19.5 parent: 5350 - type: AtmosPipeColor - color: '#0055CCFF' - - uid: 11249 + color: '#27E312FF' + - uid: 11280 components: - type: Transform - pos: 68.5,-28.5 + rot: 1.5707963267948966 rad + pos: 62.5,-24.5 parent: 5350 - - uid: 11250 + - type: AtmosPipeColor + color: '#03FCD3FF' + - uid: 11304 components: - type: Transform - rot: 3.141592653589793 rad - pos: 70.5,-28.5 + rot: -1.5707963267948966 rad + pos: 63.5,-17.5 + parent: 5350 + - type: AtmosPipeColor + color: '#B342F5FF' + - uid: 11355 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 63.5,-11.5 parent: 5350 + - type: AtmosPipeColor + color: '#27E312FF' - uid: 11428 components: - type: Transform @@ -105085,6 +106398,14 @@ entities: - type: Transform pos: 43.5,-28.5 parent: 5350 + - uid: 11600 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 63.5,-13.5 + parent: 5350 + - type: AtmosPipeColor + color: '#B342F5FF' - uid: 13461 components: - type: Transform @@ -105141,6 +106462,22 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#0055CCFF' + - uid: 27071 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 69.5,-38.5 + parent: 5350 + - uid: 27128 + components: + - type: Transform + pos: 66.5,-38.5 + parent: 5350 + - uid: 27193 + components: + - type: Transform + pos: 74.5,-38.5 + parent: 5350 - proto: GasThermoMachineFreezer entities: - uid: 2630 @@ -105183,6 +106520,12 @@ entities: - type: Transform pos: 29.5,-38.5 parent: 5350 + - uid: 27195 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 72.5,-38.5 + parent: 5350 - proto: GasThermoMachineHeater entities: - uid: 11366 @@ -105941,14 +107284,6 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#0055CCFF' - - uid: 11242 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 69.5,-24.5 - parent: 5350 - - type: AtmosPipeColor - color: '#03FCD3FF' - uid: 11867 components: - type: Transform @@ -106865,6 +108200,17 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#0055CCFF' + - uid: 27210 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 69.5,-31.5 + parent: 5350 + - type: DeviceNetwork + deviceLists: + - 11752 + - type: AtmosPipeColor + color: '#0055CCFF' - proto: GasVentScrubber entities: - uid: 755 @@ -108252,6 +109598,17 @@ entities: parent: 5350 - type: AtmosPipeColor color: '#FF1212FF' + - uid: 27212 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 72.5,-31.5 + parent: 5350 + - type: DeviceNetwork + deviceLists: + - 11752 + - type: AtmosPipeColor + color: '#FF1212FF' - proto: GasVolumePump entities: - uid: 10948 @@ -110751,6 +112108,36 @@ entities: - type: Transform pos: -4.5,16.5 parent: 5350 + - uid: 10823 + components: + - type: Transform + pos: 66.5,-19.5 + parent: 5350 + - uid: 10827 + components: + - type: Transform + pos: 66.5,-18.5 + parent: 5350 + - uid: 10835 + components: + - type: Transform + pos: 70.5,-28.5 + parent: 5350 + - uid: 10843 + components: + - type: Transform + pos: 64.5,-25.5 + parent: 5350 + - uid: 10844 + components: + - type: Transform + pos: 61.5,-25.5 + parent: 5350 + - uid: 10944 + components: + - type: Transform + pos: 66.5,-17.5 + parent: 5350 - uid: 11034 components: - type: Transform @@ -110771,65 +112158,95 @@ entities: - type: Transform pos: 63.5,1.5 parent: 5350 - - uid: 11309 + - uid: 11168 components: - type: Transform - pos: 66.5,-8.5 + pos: 66.5,-9.5 parent: 5350 - - uid: 11310 + - uid: 11171 components: - type: Transform - pos: 66.5,-7.5 + pos: 66.5,-10.5 parent: 5350 - - uid: 11311 + - uid: 11242 components: - type: Transform - pos: 66.5,-6.5 + pos: 64.5,-18.5 parent: 5350 - - uid: 11312 + - uid: 11243 components: - type: Transform - pos: 66.5,-12.5 + pos: 64.5,-6.5 parent: 5350 - - uid: 11313 + - uid: 11244 components: - type: Transform - pos: 66.5,-11.5 + pos: 64.5,-16.5 parent: 5350 - - uid: 11314 + - uid: 11245 components: - type: Transform - pos: 66.5,-10.5 + pos: 64.5,-15.5 parent: 5350 - - uid: 11315 + - uid: 11246 components: - type: Transform - pos: 66.5,-16.5 + pos: 64.5,-14.5 parent: 5350 - - uid: 11316 + - uid: 11247 components: - type: Transform - pos: 66.5,-15.5 + pos: 64.5,-13.5 parent: 5350 - - uid: 11317 + - uid: 11248 components: - type: Transform - pos: 66.5,-14.5 + pos: 64.5,-12.5 parent: 5350 - - uid: 11318 + - uid: 11249 components: - type: Transform - pos: 66.5,-20.5 + pos: 64.5,-11.5 parent: 5350 - - uid: 11319 + - uid: 11250 components: - type: Transform - pos: 66.5,-19.5 + pos: 64.5,-10.5 parent: 5350 - - uid: 11320 + - uid: 11251 components: - type: Transform - pos: 66.5,-18.5 + pos: 64.5,-9.5 + parent: 5350 + - uid: 11252 + components: + - type: Transform + pos: 64.5,-7.5 + parent: 5350 + - uid: 11253 + components: + - type: Transform + pos: 64.5,-8.5 + parent: 5350 + - uid: 11255 + components: + - type: Transform + pos: 64.5,-5.5 + parent: 5350 + - uid: 11269 + components: + - type: Transform + pos: 64.5,-17.5 + parent: 5350 + - uid: 11302 + components: + - type: Transform + pos: 66.5,-11.5 + parent: 5350 + - uid: 11311 + components: + - type: Transform + pos: 66.5,-6.5 parent: 5350 - uid: 11321 components: @@ -110931,110 +112348,65 @@ entities: - type: Transform pos: 60.5,-25.5 parent: 5350 - - uid: 11341 - components: - - type: Transform - pos: 61.5,-25.5 - parent: 5350 - - uid: 11342 - components: - - type: Transform - pos: 64.5,-20.5 - parent: 5350 - uid: 11343 components: - type: Transform - pos: 64.5,-19.5 + pos: 66.5,-5.5 parent: 5350 - uid: 11344 components: - type: Transform - pos: 64.5,-18.5 - parent: 5350 - - uid: 11345 - components: - - type: Transform - pos: 64.5,-17.5 - parent: 5350 - - uid: 11346 - components: - - type: Transform - pos: 64.5,-16.5 - parent: 5350 - - uid: 11347 - components: - - type: Transform - pos: 64.5,-15.5 - parent: 5350 - - uid: 11348 - components: - - type: Transform - pos: 64.5,-14.5 - parent: 5350 - - uid: 11349 - components: - - type: Transform - pos: 64.5,-13.5 - parent: 5350 - - uid: 11350 - components: - - type: Transform - pos: 64.5,-12.5 - parent: 5350 - - uid: 11351 - components: - - type: Transform - pos: 64.5,-11.5 + pos: 66.5,-13.5 parent: 5350 - - uid: 11352 + - uid: 11356 components: - type: Transform - pos: 64.5,-10.5 + pos: 66.5,-7.5 parent: 5350 - - uid: 11353 + - uid: 11357 components: - type: Transform - pos: 64.5,-9.5 + pos: 53.5,-9.5 parent: 5350 - - uid: 11354 + - uid: 11358 components: - type: Transform - pos: 64.5,-8.5 + pos: 55.5,-9.5 parent: 5350 - - uid: 11355 + - uid: 11359 components: - type: Transform - pos: 64.5,-7.5 + pos: 56.5,-9.5 parent: 5350 - - uid: 11356 + - uid: 11501 components: - type: Transform - pos: 64.5,-6.5 + pos: 43.5,-29.5 parent: 5350 - - uid: 11357 + - uid: 11502 components: - type: Transform - pos: 53.5,-9.5 + pos: 48.5,-26.5 parent: 5350 - - uid: 11358 + - uid: 11628 components: - type: Transform - pos: 55.5,-9.5 + pos: 66.5,-14.5 parent: 5350 - - uid: 11359 + - uid: 11693 components: - type: Transform - pos: 56.5,-9.5 + pos: 64.5,-21.5 parent: 5350 - - uid: 11501 + - uid: 11725 components: - type: Transform - pos: 43.5,-29.5 + pos: 66.5,-15.5 parent: 5350 - - uid: 11502 + - uid: 11736 components: - type: Transform - pos: 48.5,-26.5 + pos: 64.5,-19.5 parent: 5350 - uid: 12099 components: @@ -115266,6 +116638,681 @@ entities: - type: Transform pos: -13.5,63.5 parent: 26973 + - uid: 27035 + components: + - type: Transform + pos: 74.5,-29.5 + parent: 5350 + - uid: 27036 + components: + - type: Transform + pos: 74.5,-30.5 + parent: 5350 + - uid: 27064 + components: + - type: Transform + pos: 67.5,-39.5 + parent: 5350 + - uid: 27116 + components: + - type: Transform + pos: 66.5,-39.5 + parent: 5350 + - uid: 27129 + components: + - type: Transform + pos: 68.5,-39.5 + parent: 5350 + - uid: 27130 + components: + - type: Transform + pos: 69.5,-39.5 + parent: 5350 + - uid: 27137 + components: + - type: Transform + pos: 73.5,-39.5 + parent: 5350 + - uid: 27138 + components: + - type: Transform + pos: 65.5,-30.5 + parent: 5350 + - uid: 27142 + components: + - type: Transform + pos: 65.5,-29.5 + parent: 5350 + - uid: 27151 + components: + - type: Transform + pos: 74.5,-39.5 + parent: 5350 + - uid: 27162 + components: + - type: Transform + pos: 71.5,-39.5 + parent: 5350 + - uid: 27163 + components: + - type: Transform + pos: 72.5,-39.5 + parent: 5350 + - uid: 27177 + components: + - type: Transform + pos: 63.5,-25.5 + parent: 5350 + - uid: 27251 + components: + - type: Transform + pos: 82.5,-27.5 + parent: 5350 + - uid: 27264 + components: + - type: Transform + pos: 66.5,-22.5 + parent: 5350 + - uid: 27286 + components: + - type: Transform + pos: 82.5,-26.5 + parent: 5350 + - uid: 27287 + components: + - type: Transform + pos: 81.5,-26.5 + parent: 5350 + - uid: 27289 + components: + - type: Transform + pos: 82.5,-28.5 + parent: 5350 + - uid: 27291 + components: + - type: Transform + pos: 82.5,-30.5 + parent: 5350 + - uid: 27292 + components: + - type: Transform + pos: 82.5,-32.5 + parent: 5350 + - uid: 27293 + components: + - type: Transform + pos: 82.5,-33.5 + parent: 5350 + - uid: 27294 + components: + - type: Transform + pos: 82.5,-31.5 + parent: 5350 + - uid: 27295 + components: + - type: Transform + pos: 82.5,-34.5 + parent: 5350 + - uid: 27297 + components: + - type: Transform + pos: 82.5,-37.5 + parent: 5350 + - uid: 27298 + components: + - type: Transform + pos: 82.5,-35.5 + parent: 5350 + - uid: 27299 + components: + - type: Transform + pos: 82.5,-38.5 + parent: 5350 + - uid: 27301 + components: + - type: Transform + pos: 82.5,-39.5 + parent: 5350 + - uid: 27302 + components: + - type: Transform + pos: 82.5,-41.5 + parent: 5350 + - uid: 27303 + components: + - type: Transform + pos: 82.5,-42.5 + parent: 5350 + - uid: 27304 + components: + - type: Transform + pos: 82.5,-43.5 + parent: 5350 + - uid: 27306 + components: + - type: Transform + pos: 82.5,-45.5 + parent: 5350 + - uid: 27307 + components: + - type: Transform + pos: 82.5,-46.5 + parent: 5350 + - uid: 27308 + components: + - type: Transform + pos: 82.5,-47.5 + parent: 5350 + - uid: 27309 + components: + - type: Transform + pos: 82.5,-49.5 + parent: 5350 + - uid: 27310 + components: + - type: Transform + pos: 82.5,-48.5 + parent: 5350 + - uid: 27311 + components: + - type: Transform + pos: 81.5,-49.5 + parent: 5350 + - uid: 27313 + components: + - type: Transform + pos: 78.5,-49.5 + parent: 5350 + - uid: 27314 + components: + - type: Transform + pos: 80.5,-49.5 + parent: 5350 + - uid: 27315 + components: + - type: Transform + pos: 76.5,-49.5 + parent: 5350 + - uid: 27316 + components: + - type: Transform + pos: 77.5,-49.5 + parent: 5350 + - uid: 27317 + components: + - type: Transform + pos: 75.5,-49.5 + parent: 5350 + - uid: 27319 + components: + - type: Transform + pos: 73.5,-49.5 + parent: 5350 + - uid: 27320 + components: + - type: Transform + pos: 72.5,-49.5 + parent: 5350 + - uid: 27322 + components: + - type: Transform + pos: 70.5,-49.5 + parent: 5350 + - uid: 27323 + components: + - type: Transform + pos: 69.5,-49.5 + parent: 5350 + - uid: 27324 + components: + - type: Transform + pos: 68.5,-49.5 + parent: 5350 + - uid: 27325 + components: + - type: Transform + pos: 67.5,-49.5 + parent: 5350 + - uid: 27326 + components: + - type: Transform + pos: 66.5,-49.5 + parent: 5350 + - uid: 27328 + components: + - type: Transform + pos: 64.5,-49.5 + parent: 5350 + - uid: 27329 + components: + - type: Transform + pos: 63.5,-49.5 + parent: 5350 + - uid: 27330 + components: + - type: Transform + pos: 62.5,-49.5 + parent: 5350 + - uid: 27331 + components: + - type: Transform + pos: 61.5,-49.5 + parent: 5350 + - uid: 27332 + components: + - type: Transform + pos: 60.5,-49.5 + parent: 5350 + - uid: 27333 + components: + - type: Transform + pos: 60.5,-48.5 + parent: 5350 + - uid: 27335 + components: + - type: Transform + pos: 60.5,-46.5 + parent: 5350 + - uid: 27336 + components: + - type: Transform + pos: 60.5,-45.5 + parent: 5350 + - uid: 27337 + components: + - type: Transform + pos: 60.5,-44.5 + parent: 5350 + - uid: 27339 + components: + - type: Transform + pos: 60.5,-42.5 + parent: 5350 + - uid: 27340 + components: + - type: Transform + pos: 60.5,-41.5 + parent: 5350 + - uid: 27341 + components: + - type: Transform + pos: 60.5,-40.5 + parent: 5350 + - uid: 27342 + components: + - type: Transform + pos: 60.5,-39.5 + parent: 5350 + - uid: 27344 + components: + - type: Transform + pos: 60.5,-37.5 + parent: 5350 + - uid: 27345 + components: + - type: Transform + pos: 60.5,-36.5 + parent: 5350 + - uid: 27346 + components: + - type: Transform + pos: 50.5,-34.5 + parent: 5350 + - uid: 27347 + components: + - type: Transform + pos: 51.5,-34.5 + parent: 5350 + - uid: 27348 + components: + - type: Transform + pos: 52.5,-34.5 + parent: 5350 + - uid: 27350 + components: + - type: Transform + pos: 54.5,-34.5 + parent: 5350 + - uid: 27351 + components: + - type: Transform + pos: 55.5,-34.5 + parent: 5350 + - uid: 27353 + components: + - type: Transform + pos: 57.5,-34.5 + parent: 5350 + - uid: 27355 + components: + - type: Transform + pos: 59.5,-34.5 + parent: 5350 + - uid: 27356 + components: + - type: Transform + pos: 60.5,-34.5 + parent: 5350 + - uid: 27357 + components: + - type: Transform + pos: 61.5,-34.5 + parent: 5350 + - uid: 27358 + components: + - type: Transform + pos: 62.5,-34.5 + parent: 5350 + - uid: 27359 + components: + - type: Transform + pos: 50.5,-36.5 + parent: 5350 + - uid: 27360 + components: + - type: Transform + pos: 51.5,-36.5 + parent: 5350 + - uid: 27362 + components: + - type: Transform + pos: 53.5,-36.5 + parent: 5350 + - uid: 27363 + components: + - type: Transform + pos: 54.5,-36.5 + parent: 5350 + - uid: 27364 + components: + - type: Transform + pos: 55.5,-36.5 + parent: 5350 + - uid: 27366 + components: + - type: Transform + pos: 57.5,-36.5 + parent: 5350 + - uid: 27367 + components: + - type: Transform + pos: 58.5,-36.5 + parent: 5350 + - uid: 27368 + components: + - type: Transform + pos: 59.5,-36.5 + parent: 5350 + - uid: 27369 + components: + - type: Transform + pos: 79.5,-28.5 + parent: 5350 + - uid: 27370 + components: + - type: Transform + pos: 62.5,-36.5 + parent: 5350 + - uid: 27371 + components: + - type: Transform + pos: 62.5,-37.5 + parent: 5350 + - uid: 27372 + components: + - type: Transform + pos: 62.5,-38.5 + parent: 5350 + - uid: 27374 + components: + - type: Transform + pos: 62.5,-40.5 + parent: 5350 + - uid: 27375 + components: + - type: Transform + pos: 62.5,-41.5 + parent: 5350 + - uid: 27376 + components: + - type: Transform + pos: 62.5,-42.5 + parent: 5350 + - uid: 27378 + components: + - type: Transform + pos: 62.5,-44.5 + parent: 5350 + - uid: 27379 + components: + - type: Transform + pos: 62.5,-45.5 + parent: 5350 + - uid: 27381 + components: + - type: Transform + pos: 62.5,-47.5 + parent: 5350 + - uid: 27382 + components: + - type: Transform + pos: 63.5,-47.5 + parent: 5350 + - uid: 27383 + components: + - type: Transform + pos: 79.5,-39.5 + parent: 5350 + - uid: 27384 + components: + - type: Transform + pos: 65.5,-47.5 + parent: 5350 + - uid: 27385 + components: + - type: Transform + pos: 66.5,-47.5 + parent: 5350 + - uid: 27387 + components: + - type: Transform + pos: 68.5,-47.5 + parent: 5350 + - uid: 27388 + components: + - type: Transform + pos: 69.5,-47.5 + parent: 5350 + - uid: 27390 + components: + - type: Transform + pos: 72.5,-47.5 + parent: 5350 + - uid: 27391 + components: + - type: Transform + pos: 71.5,-47.5 + parent: 5350 + - uid: 27392 + components: + - type: Transform + pos: 73.5,-47.5 + parent: 5350 + - uid: 27393 + components: + - type: Transform + pos: 74.5,-47.5 + parent: 5350 + - uid: 27394 + components: + - type: Transform + pos: 75.5,-47.5 + parent: 5350 + - uid: 27395 + components: + - type: Transform + pos: 76.5,-47.5 + parent: 5350 + - uid: 27396 + components: + - type: Transform + pos: 77.5,-47.5 + parent: 5350 + - uid: 27398 + components: + - type: Transform + pos: 79.5,-47.5 + parent: 5350 + - uid: 27399 + components: + - type: Transform + pos: 80.5,-47.5 + parent: 5350 + - uid: 27400 + components: + - type: Transform + pos: 80.5,-31.5 + parent: 5350 + - uid: 27401 + components: + - type: Transform + pos: 80.5,-30.5 + parent: 5350 + - uid: 27402 + components: + - type: Transform + pos: 80.5,-29.5 + parent: 5350 + - uid: 27404 + components: + - type: Transform + pos: 80.5,-46.5 + parent: 5350 + - uid: 27406 + components: + - type: Transform + pos: 80.5,-43.5 + parent: 5350 + - uid: 27407 + components: + - type: Transform + pos: 80.5,-45.5 + parent: 5350 + - uid: 27408 + components: + - type: Transform + pos: 80.5,-42.5 + parent: 5350 + - uid: 27409 + components: + - type: Transform + pos: 80.5,-41.5 + parent: 5350 + - uid: 27410 + components: + - type: Transform + pos: 80.5,-40.5 + parent: 5350 + - uid: 27412 + components: + - type: Transform + pos: 80.5,-38.5 + parent: 5350 + - uid: 27413 + components: + - type: Transform + pos: 80.5,-37.5 + parent: 5350 + - uid: 27414 + components: + - type: Transform + pos: 80.5,-36.5 + parent: 5350 + - uid: 27415 + components: + - type: Transform + pos: 80.5,-35.5 + parent: 5350 + - uid: 27416 + components: + - type: Transform + pos: 80.5,-34.5 + parent: 5350 + - uid: 27418 + components: + - type: Transform + pos: 80.5,-32.5 + parent: 5350 + - uid: 27419 + components: + - type: Transform + pos: 78.5,-28.5 + parent: 5350 + - uid: 27420 + components: + - type: Transform + pos: 77.5,-28.5 + parent: 5350 + - uid: 27421 + components: + - type: Transform + pos: 79.5,-26.5 + parent: 5350 + - uid: 27422 + components: + - type: Transform + pos: 79.5,-44.5 + parent: 5350 + - uid: 27441 + components: + - type: Transform + pos: 79.5,-33.5 + parent: 5350 + - uid: 27460 + components: + - type: Transform + pos: 79.5,-36.5 + parent: 5350 + - uid: 27470 + components: + - type: Transform + pos: 78.5,-46.5 + parent: 5350 + - uid: 27471 + components: + - type: Transform + pos: 75.5,-46.5 + parent: 5350 + - uid: 27472 + components: + - type: Transform + pos: 70.5,-46.5 + parent: 5350 + - uid: 27473 + components: + - type: Transform + pos: 67.5,-46.5 + parent: 5350 + - uid: 27474 + components: + - type: Transform + pos: 64.5,-46.5 + parent: 5350 + - uid: 27475 + components: + - type: Transform + pos: 63.5,-43.5 + parent: 5350 + - uid: 27476 + components: + - type: Transform + pos: 63.5,-39.5 + parent: 5350 + - uid: 27477 + components: + - type: Transform + pos: 63.5,-35.5 + parent: 5350 - proto: GrilleBroken entities: - uid: 2073 @@ -115575,6 +117622,161 @@ entities: rot: -1.5707963267948966 rad pos: 41.5,60.5 parent: 5350 + - uid: 27288 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 60.5,-47.5 + parent: 5350 + - uid: 27290 + components: + - type: Transform + pos: 60.5,-38.5 + parent: 5350 + - uid: 27296 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 74.5,-49.5 + parent: 5350 + - uid: 27300 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 79.5,-49.5 + parent: 5350 + - uid: 27305 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 82.5,-44.5 + parent: 5350 + - uid: 27312 + components: + - type: Transform + pos: 82.5,-36.5 + parent: 5350 + - uid: 27318 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 80.5,-28.5 + parent: 5350 + - uid: 27321 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 80.5,-26.5 + parent: 5350 + - uid: 27327 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 80.5,-39.5 + parent: 5350 + - uid: 27334 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 67.5,-47.5 + parent: 5350 + - uid: 27338 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 56.5,-34.5 + parent: 5350 + - uid: 27343 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 62.5,-43.5 + parent: 5350 + - uid: 27349 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 52.5,-36.5 + parent: 5350 + - uid: 27352 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 56.5,-36.5 + parent: 5350 + - uid: 27354 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 53.5,-34.5 + parent: 5350 + - uid: 27361 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 58.5,-34.5 + parent: 5350 + - uid: 27365 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 82.5,-29.5 + parent: 5350 + - uid: 27373 + components: + - type: Transform + pos: 62.5,-46.5 + parent: 5350 + - uid: 27377 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 70.5,-47.5 + parent: 5350 + - uid: 27380 + components: + - type: Transform + pos: 80.5,-44.5 + parent: 5350 + - uid: 27386 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 80.5,-33.5 + parent: 5350 + - uid: 27389 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 78.5,-47.5 + parent: 5350 + - uid: 27397 + components: + - type: Transform + pos: 60.5,-43.5 + parent: 5350 + - uid: 27403 + components: + - type: Transform + pos: 82.5,-40.5 + parent: 5350 + - uid: 27405 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 71.5,-49.5 + parent: 5350 + - uid: 27411 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 65.5,-49.5 + parent: 5350 + - uid: 27417 + components: + - type: Transform + pos: 62.5,-39.5 + parent: 5350 - proto: GroundCannabis entities: - uid: 24640 @@ -115757,6 +117959,26 @@ entities: - type: Transform pos: 29.518621,-60.391666 parent: 5350 +- proto: HeatExchanger + entities: + - uid: 27166 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 72.5,-40.5 + parent: 5350 + - uid: 27167 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 72.5,-41.5 + parent: 5350 + - uid: 27168 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 72.5,-42.5 + parent: 5350 - proto: HighSecCommandLocked entities: - uid: 1668 @@ -115800,6 +118022,12 @@ entities: - type: Transform pos: -34.462692,34.496433 parent: 5350 + - uid: 27051 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 72.83539,-31.5 + parent: 5350 - proto: HospitalCurtainsOpen entities: - uid: 7215 @@ -116304,6 +118532,11 @@ entities: - type: Transform pos: 100.5,10.5 parent: 5350 + - uid: 27015 + components: + - type: Transform + pos: 72.5,-28.5 + parent: 5350 - proto: IntercomMedical entities: - uid: 14165 @@ -116985,6 +119218,28 @@ entities: - Pressed: Toggle 14794: - Pressed: Toggle +- proto: LockerAtmospherics + entities: + - uid: 27084 + components: + - type: Transform + pos: 73.5,-29.5 + parent: 5350 + - type: ContainerContainer + containers: + entity_storage: !type:Container + showEnts: False + occludes: True + ents: + - 27085 + - 27091 + - 27097 + - 27098 + - 27099 + paper_label: !type:ContainerSlot + showEnts: False + occludes: True + ent: null - proto: LockerAtmosphericsFilled entities: - uid: 9033 @@ -119628,6 +121883,11 @@ entities: - type: Transform pos: 41.5,31.5 parent: 5350 + - uid: 27088 + components: + - type: Transform + pos: 76.5,-34.5 + parent: 5350 - proto: NitrogenTankFilled entities: - uid: 15569 @@ -119640,6 +121900,13 @@ entities: - type: Transform pos: -15.399836,-58.48665 parent: 5350 + - uid: 27085 + components: + - type: Transform + parent: 27084 + - type: Physics + canCollide: False + - type: InsideEntityStorage - proto: NitrousOxideCanister entities: - uid: 11825 @@ -119827,6 +122094,11 @@ entities: - type: Transform pos: 55.5,24.5 parent: 5350 + - uid: 27087 + components: + - type: Transform + pos: 76.5,-33.5 + parent: 5350 - proto: OxygenTankFilled entities: - uid: 1305 @@ -119854,6 +122126,13 @@ entities: - type: Transform pos: -43.374786,23.584633 parent: 5350 + - uid: 27099 + components: + - type: Transform + parent: 27084 + - type: Physics + canCollide: False + - type: InsideEntityStorage - proto: PaintingAmogusTriptych entities: - uid: 24635 @@ -120320,11 +122599,6 @@ entities: - type: Transform pos: -42.7706,23.635101 parent: 5350 - - uid: 11275 - components: - - type: Transform - pos: 67.42234,-30.577332 - parent: 5350 - uid: 11812 components: - type: Transform @@ -120600,10 +122874,15 @@ entities: - type: Transform pos: 47.5,20.5 parent: 5350 - - uid: 11598 + - uid: 11166 components: - type: Transform - pos: 69.5,-15.5 + pos: 69.5,-14.5 + parent: 5350 + - uid: 27089 + components: + - type: Transform + pos: 76.5,-35.5 parent: 5350 - proto: PlasmaReinforcedWindowDirectional entities: @@ -122157,6 +124436,11 @@ entities: - type: Transform pos: 52.5,-3.5 parent: 5350 + - uid: 27077 + components: + - type: Transform + pos: 73.5,-31.5 + parent: 5350 - proto: PowerCellSmall entities: - uid: 22275 @@ -123112,11 +125396,23 @@ entities: parent: 5350 - type: ApcPowerReceiver powerLoad: 0 + - uid: 10928 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 65.5,-8.5 + parent: 5350 - uid: 11029 components: - type: Transform pos: 35.5,-18.5 parent: 5350 + - uid: 11256 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 63.5,-22.5 + parent: 5350 - uid: 11506 components: - type: Transform @@ -123124,6 +125420,12 @@ entities: parent: 5350 - type: ApcPowerReceiver powerLoad: 0 + - uid: 11728 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 65.5,-16.5 + parent: 5350 - uid: 12036 components: - type: Transform @@ -123171,22 +125473,6 @@ entities: parent: 5350 - type: ApcPowerReceiver powerLoad: 0 - - uid: 12043 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 65.5,-9.5 - parent: 5350 - - type: ApcPowerReceiver - powerLoad: 0 - - uid: 12044 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 65.5,-17.5 - parent: 5350 - - type: ApcPowerReceiver - powerLoad: 0 - uid: 12045 components: - type: Transform @@ -123203,14 +125489,6 @@ entities: parent: 5350 - type: ApcPowerReceiver powerLoad: 0 - - uid: 12047 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 63.5,-22.5 - parent: 5350 - - type: ApcPowerReceiver - powerLoad: 0 - uid: 12048 components: - type: Transform @@ -124741,8 +127019,42 @@ entities: rot: -1.5707963267948966 rad pos: -25.5,-23.5 parent: 5350 + - uid: 27143 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 66.5,-27.5 + parent: 5350 + - uid: 27144 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 66.5,-35.5 + parent: 5350 + - uid: 27145 + components: + - type: Transform + pos: 73.5,-29.5 + parent: 5350 + - uid: 27146 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 76.5,-37.5 + parent: 5350 + - uid: 27147 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 76.5,-33.5 + parent: 5350 - proto: PoweredlightExterior entities: + - uid: 11238 + components: + - type: Transform + pos: 76.5,-43.5 + parent: 5350 - uid: 26352 components: - type: Transform @@ -124819,6 +127131,12 @@ entities: - type: Transform pos: 76.5,1.5 parent: 5350 + - uid: 27478 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 72.5,-24.5 + parent: 5350 - proto: PoweredlightSodium entities: - uid: 23878 @@ -125166,6 +127484,12 @@ entities: parent: 5350 - type: ApcPowerReceiver powerLoad: 0 + - uid: 9029 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 69.5,-10.5 + parent: 5350 - uid: 9969 components: - type: Transform @@ -125304,13 +127628,18 @@ entities: parent: 5350 - type: ApcPowerReceiver powerLoad: 0 - - uid: 11286 + - uid: 10970 components: - type: Transform - pos: 65.5,-24.5 + rot: -1.5707963267948966 rad + pos: 69.5,-6.5 + parent: 5350 + - uid: 11303 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 69.5,-14.5 parent: 5350 - - type: ApcPowerReceiver - powerLoad: 0 - uid: 11503 components: - type: Transform @@ -125359,38 +127688,12 @@ entities: parent: 5350 - type: ApcPowerReceiver powerLoad: 0 - - uid: 11569 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 69.5,-19.5 - parent: 5350 - - type: ApcPowerReceiver - powerLoad: 0 - - uid: 11570 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 69.5,-15.5 - parent: 5350 - - type: ApcPowerReceiver - powerLoad: 0 - - uid: 11571 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 69.5,-11.5 - parent: 5350 - - type: ApcPowerReceiver - powerLoad: 0 - - uid: 11572 + - uid: 11618 components: - type: Transform rot: -1.5707963267948966 rad - pos: 69.5,-7.5 + pos: 69.5,-18.5 parent: 5350 - - type: ApcPowerReceiver - powerLoad: 0 - uid: 12024 components: - type: Transform @@ -126458,6 +128761,35 @@ entities: parent: 5350 - type: ApcPowerReceiver powerLoad: 0 + - uid: 26986 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 69.5,-27.5 + parent: 5350 + - uid: 27125 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 66.5,-42.5 + parent: 5350 + - uid: 27126 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 69.5,-42.5 + parent: 5350 + - uid: 27153 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 76.5,-41.5 + parent: 5350 + - uid: 27249 + components: + - type: Transform + pos: 69.5,-23.5 + parent: 5350 - proto: Protolathe entities: - uid: 9805 @@ -127161,6 +129493,12 @@ entities: - type: Transform pos: -64.48487,-42.241108 parent: 5350 + - uid: 27103 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 73.5,-31 + parent: 5350 - proto: Railing entities: - uid: 2182 @@ -127298,6 +129636,48 @@ entities: - type: Transform pos: -5.5,-74.5 parent: 5350 + - uid: 26987 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 67.5,-31.5 + parent: 5350 + - uid: 26988 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 68.5,-32.5 + parent: 5350 + - uid: 26989 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 69.5,-32.5 + parent: 5350 + - uid: 26990 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 70.5,-32.5 + parent: 5350 + - uid: 26991 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 71.5,-32.5 + parent: 5350 + - uid: 26992 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 72.5,-32.5 + parent: 5350 + - uid: 27007 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 73.5,-32.5 + parent: 5350 - proto: RailingCorner entities: - uid: 11026 @@ -127353,6 +129733,23 @@ entities: rot: 1.5707963267948966 rad pos: -66.5,-39.5 parent: 5350 + - uid: 26993 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 67.5,-32.5 + parent: 5350 + - uid: 27006 + components: + - type: Transform + pos: 74.5,-32.5 + parent: 5350 + - uid: 27012 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 67.5,-30.5 + parent: 5350 - proto: RandomArcade entities: - uid: 13625 @@ -128271,6 +130668,12 @@ entities: - type: Transform pos: 43.631737,8.657005 parent: 5350 + - uid: 27062 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 69.35516,-31.5 + parent: 5350 - proto: ReagentContainerFlour entities: - uid: 2240 @@ -128300,6 +130703,21 @@ entities: parent: 5350 - proto: ReinforcedPlasmaWindow entities: + - uid: 10943 + components: + - type: Transform + pos: 66.5,-17.5 + parent: 5350 + - uid: 11112 + components: + - type: Transform + pos: 66.5,-10.5 + parent: 5350 + - uid: 11113 + components: + - type: Transform + pos: 66.5,-9.5 + parent: 5350 - uid: 11288 components: - type: Transform @@ -128345,65 +130763,70 @@ entities: - type: Transform pos: 61.5,-27.5 parent: 5350 - - uid: 11297 + - uid: 11298 components: - type: Transform - pos: 66.5,-20.5 + pos: 66.5,-11.5 parent: 5350 - - uid: 11298 + - uid: 11312 + components: + - type: Transform + pos: 66.5,-5.5 + parent: 5350 + - uid: 11319 components: - type: Transform pos: 66.5,-19.5 parent: 5350 - - uid: 11299 + - uid: 11320 components: - type: Transform pos: 66.5,-18.5 parent: 5350 - - uid: 11300 + - uid: 11569 components: - type: Transform - pos: 66.5,-16.5 + pos: 66.5,-6.5 parent: 5350 - - uid: 11301 + - uid: 11634 components: - type: Transform - pos: 66.5,-15.5 + pos: 66.5,-7.5 parent: 5350 - - uid: 11302 + - uid: 11726 components: - type: Transform - pos: 66.5,-14.5 + pos: 66.5,-13.5 parent: 5350 - - uid: 11303 + - uid: 11727 components: - type: Transform - pos: 66.5,-12.5 + pos: 66.5,-14.5 parent: 5350 - - uid: 11304 + - uid: 11729 components: - type: Transform - pos: 66.5,-11.5 + pos: 66.5,-15.5 parent: 5350 - - uid: 11305 + - uid: 27131 components: - type: Transform - pos: 66.5,-10.5 + pos: 66.5,-39.5 parent: 5350 - - uid: 11306 + - uid: 27132 components: - type: Transform - pos: 66.5,-8.5 + pos: 67.5,-39.5 parent: 5350 - - uid: 11307 + - uid: 27133 components: - type: Transform - pos: 66.5,-7.5 + pos: 68.5,-39.5 parent: 5350 - - uid: 11308 + - uid: 27134 components: - type: Transform - pos: 66.5,-6.5 + pos: 69.5,-39.5 parent: 5350 - proto: ReinforcedWindow entities: @@ -130699,140 +133122,135 @@ entities: - type: Transform pos: 1.5,46.5 parent: 5350 - - uid: 10815 - components: - - type: Transform - pos: 64.5,-6.5 - parent: 5350 - - uid: 10816 + - uid: 10838 components: - type: Transform - pos: 64.5,-7.5 + pos: 64.5,-15.5 parent: 5350 - - uid: 10817 + - uid: 10839 components: - type: Transform - pos: 64.5,-8.5 + pos: 64.5,-9.5 parent: 5350 - - uid: 10818 + - uid: 10845 components: - type: Transform - pos: 64.5,-9.5 + pos: 59.5,-25.5 parent: 5350 - - uid: 10820 + - uid: 10846 components: - type: Transform - pos: 64.5,-10.5 + pos: 58.5,-25.5 parent: 5350 - - uid: 10821 + - uid: 10847 components: - type: Transform - pos: 64.5,-11.5 + pos: 57.5,-25.5 parent: 5350 - - uid: 10822 + - uid: 10848 components: - type: Transform - pos: 64.5,-12.5 + pos: 56.5,-25.5 parent: 5350 - - uid: 10823 + - uid: 10849 components: - type: Transform - pos: 64.5,-13.5 + pos: 55.5,-25.5 parent: 5350 - - uid: 10824 + - uid: 10850 components: - type: Transform - pos: 64.5,-14.5 + pos: 54.5,-25.5 parent: 5350 - - uid: 10825 + - uid: 10851 components: - type: Transform - pos: 64.5,-15.5 + pos: 53.5,-25.5 parent: 5350 - - uid: 10826 + - uid: 10852 components: - type: Transform - pos: 64.5,-16.5 + pos: 52.5,-25.5 parent: 5350 - - uid: 10827 + - uid: 10853 components: - type: Transform - pos: 64.5,-17.5 + pos: 51.5,-25.5 parent: 5350 - - uid: 10828 + - uid: 10854 components: - type: Transform - pos: 64.5,-18.5 + pos: 50.5,-25.5 parent: 5350 - - uid: 10829 + - uid: 11097 components: - type: Transform - pos: 64.5,-19.5 + pos: 64.5,-11.5 parent: 5350 - - uid: 10830 + - uid: 11098 components: - type: Transform - pos: 64.5,-20.5 + pos: 64.5,-10.5 parent: 5350 - - uid: 10843 + - uid: 11099 components: - type: Transform - pos: 61.5,-25.5 + pos: 64.5,-12.5 parent: 5350 - - uid: 10844 + - uid: 11100 components: - type: Transform - pos: 60.5,-25.5 + pos: 64.5,-13.5 parent: 5350 - - uid: 10845 + - uid: 11101 components: - type: Transform - pos: 59.5,-25.5 + pos: 64.5,-14.5 parent: 5350 - - uid: 10846 + - uid: 11102 components: - type: Transform - pos: 58.5,-25.5 + pos: 64.5,-16.5 parent: 5350 - - uid: 10847 + - uid: 11237 components: - type: Transform - pos: 57.5,-25.5 + pos: 64.5,-17.5 parent: 5350 - - uid: 10848 + - uid: 11239 components: - type: Transform - pos: 56.5,-25.5 + pos: 63.5,-25.5 parent: 5350 - - uid: 10849 + - uid: 11240 components: - type: Transform - pos: 55.5,-25.5 + pos: 64.5,-5.5 parent: 5350 - - uid: 10850 + - uid: 11265 components: - type: Transform - pos: 54.5,-25.5 + pos: 64.5,-19.5 parent: 5350 - - uid: 10851 + - uid: 11267 components: - type: Transform - pos: 53.5,-25.5 + pos: 61.5,-25.5 parent: 5350 - - uid: 10852 + - uid: 11284 components: - type: Transform - pos: 52.5,-25.5 + pos: 64.5,-7.5 parent: 5350 - - uid: 10853 + - uid: 11285 components: - type: Transform - pos: 51.5,-25.5 + pos: 64.5,-6.5 parent: 5350 - - uid: 10854 + - uid: 11286 components: - type: Transform - pos: 50.5,-25.5 + pos: 64.5,-8.5 parent: 5350 - uid: 11378 components: @@ -130844,6 +133262,21 @@ entities: - type: Transform pos: 43.5,-29.5 parent: 5350 + - uid: 11694 + components: + - type: Transform + pos: 64.5,-25.5 + parent: 5350 + - uid: 11734 + components: + - type: Transform + pos: 60.5,-25.5 + parent: 5350 + - uid: 11753 + components: + - type: Transform + pos: 70.5,-28.5 + parent: 5350 - uid: 12345 components: - type: Transform @@ -132044,11 +134477,66 @@ entities: - type: Transform pos: 104.5,10.5 parent: 5350 + - uid: 26789 + components: + - type: Transform + pos: 64.5,-21.5 + parent: 5350 - uid: 26871 components: - type: Transform pos: 32.5,-8.5 parent: 5350 + - uid: 27037 + components: + - type: Transform + pos: 74.5,-29.5 + parent: 5350 + - uid: 27038 + components: + - type: Transform + pos: 74.5,-30.5 + parent: 5350 + - uid: 27149 + components: + - type: Transform + pos: 72.5,-39.5 + parent: 5350 + - uid: 27150 + components: + - type: Transform + pos: 71.5,-39.5 + parent: 5350 + - uid: 27154 + components: + - type: Transform + pos: 73.5,-39.5 + parent: 5350 + - uid: 27155 + components: + - type: Transform + pos: 74.5,-39.5 + parent: 5350 + - uid: 27257 + components: + - type: Transform + pos: 65.5,-29.5 + parent: 5350 + - uid: 27258 + components: + - type: Transform + pos: 65.5,-30.5 + parent: 5350 + - uid: 27271 + components: + - type: Transform + pos: 66.5,-22.5 + parent: 5350 + - uid: 27272 + components: + - type: Transform + pos: 64.5,-18.5 + parent: 5350 - proto: RemoteSignaller entities: - uid: 1290 @@ -132467,6 +134955,11 @@ entities: - type: Transform pos: 108.52579,-0.4561236 parent: 5350 + - uid: 27047 + components: + - type: Transform + pos: 70.58096,-31.5 + parent: 5350 - proto: SheetPlasma entities: - uid: 9204 @@ -132627,11 +135120,6 @@ entities: - type: Transform pos: 42.547264,-3.4866009 parent: 5350 - - uid: 11273 - components: - - type: Transform - pos: 71.51609,-32.499207 - parent: 5350 - uid: 12277 components: - type: Transform @@ -133533,25 +136021,26 @@ entities: - Pressed: Toggle 10483: - Pressed: Toggle - - uid: 12021 + - uid: 11640 components: - type: Transform - pos: 45.5,-29.5 + rot: -1.5707963267948966 rad + pos: 64.5,-4.5 parent: 5350 - type: DeviceLinkSource linkedPorts: - 11487: + 11015: - Pressed: Toggle - 11486: - - Pressed: Toggle - - uid: 12022 + - uid: 12021 components: - type: Transform - pos: 64.5,-5.5 + pos: 45.5,-29.5 parent: 5350 - type: DeviceLinkSource linkedPorts: - 10293: + 11487: + - Pressed: Toggle + 11486: - Pressed: Toggle - uid: 15183 components: @@ -134492,6 +136981,11 @@ entities: parent: 5350 - proto: SignEngine entities: + - uid: 11741 + components: + - type: Transform + pos: 65.5,-22.5 + parent: 5350 - uid: 23813 components: - type: Transform @@ -134565,6 +137059,23 @@ entities: - type: Transform pos: 45.5,-35.5 parent: 5350 + - uid: 27262 + components: + - type: Transform + pos: 65.5,-39.5 + parent: 5350 +- proto: SignFlammableMed + entities: + - uid: 27094 + components: + - type: Transform + pos: 75.5,-31.5 + parent: 5350 + - uid: 27198 + components: + - type: Transform + pos: 77.5,-36.5 + parent: 5350 - proto: SignGravity entities: - uid: 14539 @@ -135038,6 +137549,11 @@ entities: - type: Transform pos: -0.5,-48.5 parent: 5350 + - uid: 27093 + components: + - type: Transform + pos: 65.5,-27.5 + parent: 5350 - proto: SignSpace entities: - uid: 5419 @@ -135075,15 +137591,15 @@ entities: - type: Transform pos: -43.5,17.5 parent: 5350 - - uid: 11287 + - uid: 11490 components: - type: Transform - pos: 65.5,-25.5 + pos: 47.5,-33.5 parent: 5350 - - uid: 11490 + - uid: 11755 components: - type: Transform - pos: 47.5,-33.5 + pos: 70.5,-22.5 parent: 5350 - uid: 18937 components: @@ -135140,6 +137656,11 @@ entities: - type: Transform pos: 92.5,6.5 parent: 5350 + - uid: 27263 + components: + - type: Transform + pos: 75.5,-40.5 + parent: 5350 - proto: SignSurgery entities: - uid: 15191 @@ -135530,6 +138051,13 @@ entities: - type: Transform pos: 55.5,30.5 parent: 5350 + - uid: 27014 + components: + - type: MetaData + name: TEG SMES + - type: Transform + pos: 70.5,-26.5 + parent: 5350 - proto: SmokingPipeFilledCannabis entities: - uid: 24641 @@ -138355,15 +140883,15 @@ entities: parent: 5350 - proto: StorageCanister entities: - - uid: 11515 + - uid: 10293 components: - type: Transform - pos: 45.5,-26.5 + pos: 69.5,-10.5 parent: 5350 - - uid: 11627 + - uid: 11515 components: - type: Transform - pos: 69.5,-11.5 + pos: 45.5,-26.5 parent: 5350 - uid: 11819 components: @@ -138583,6 +141111,13 @@ entities: - type: Transform pos: 104.5,13.5 parent: 5350 + - uid: 27141 + components: + - type: MetaData + name: TEG Substation + - type: Transform + pos: 70.5,-25.5 + parent: 5350 - proto: SuitStorageCaptain entities: - uid: 1505 @@ -139134,6 +141669,18 @@ entities: id: Tech Vault High Sec - proto: SurveillanceCameraEngineering entities: + - uid: 9027 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 69.5,-10.5 + parent: 5350 + - uid: 11055 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 69.5,-14.5 + parent: 5350 - uid: 11516 components: - type: Transform @@ -139145,6 +141692,26 @@ entities: - SurveillanceCameraEngineering nameSet: True id: Thruster + - uid: 11571 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 69.5,-6.5 + parent: 5350 + - uid: 11620 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 69.5,-18.5 + parent: 5350 + - uid: 11751 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 72.5,-22.5 + parent: 5350 + - type: SurveillanceCamera + id: Atmos TEG Exterior north - uid: 12527 components: - type: Transform @@ -139393,61 +141960,6 @@ entities: - SurveillanceCameraEngineering nameSet: True id: Atmos Tank Nitro - - uid: 26785 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 69.5,-19.5 - parent: 5350 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraEngineering - nameSet: True - id: Atmos Tank Co2 - - uid: 26786 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 69.5,-15.5 - parent: 5350 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraEngineering - nameSet: True - id: Atmos Tank Plasma - - uid: 26787 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 69.5,-11.5 - parent: 5350 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraEngineering - nameSet: True - id: Atmos Tank Waste - - uid: 26788 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 69.5,-7.5 - parent: 5350 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraEngineering - nameSet: True - id: Atmos Tank Mixer - - uid: 26789 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 68.5,-23.5 - parent: 5350 - - type: SurveillanceCamera - setupAvailableNetworks: - - SurveillanceCameraEngineering - nameSet: True - id: Atmos Exterior - uid: 26792 components: - type: Transform @@ -139512,6 +142024,40 @@ entities: - SurveillanceCameraEngineering nameSet: True id: Solars SW + - uid: 27139 + components: + - type: MetaData + name: camera + - type: Transform + rot: -1.5707963267948966 rad + pos: 66.5,-26.5 + parent: 5350 + - type: SurveillanceCamera + id: Atmos TEG Room Entrance + - uid: 27265 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 73.5,-31.5 + parent: 5350 + - type: SurveillanceCamera + id: Atmos TEG Room Desk + - uid: 27267 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 66.5,-38.5 + parent: 5350 + - type: SurveillanceCamera + id: Atmos TEG Room Chamber + - uid: 27269 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 74.5,-42.5 + parent: 5350 + - type: SurveillanceCamera + id: Atmos TEG Exterior south - proto: SurveillanceCameraGeneral entities: - uid: 23189 @@ -142622,6 +145168,33 @@ entities: - type: Transform pos: 26.5,0.5 parent: 5350 + - uid: 27040 + components: + - type: Transform + pos: 73.5,-30.5 + parent: 5350 + - uid: 27041 + components: + - type: Transform + pos: 73.5,-31.5 + parent: 5350 + - uid: 27042 + components: + - type: Transform + pos: 72.5,-31.5 + parent: 5350 + - uid: 27044 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 70.5,-31.5 + parent: 5350 + - uid: 27045 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 69.5,-31.5 + parent: 5350 - proto: TableCarpet entities: - uid: 1022 @@ -144473,26 +147046,26 @@ entities: parent: 5350 - proto: TegCenter entities: - - uid: 11276 + - uid: 26997 components: - type: Transform rot: -1.5707963267948966 rad - pos: 69.5,-34.5 + pos: 70.5,-35.5 parent: 5350 - proto: TegCirculator entities: - - uid: 11277 + - uid: 26998 components: - type: Transform - pos: 70.5,-34.5 + rot: 3.141592653589793 rad + pos: 69.5,-35.5 parent: 5350 - type: PointLight color: '#FF3300FF' - - uid: 11280 + - uid: 26999 components: - type: Transform - rot: 3.141592653589793 rad - pos: 68.5,-34.5 + pos: 71.5,-35.5 parent: 5350 - type: PointLight color: '#FF3300FF' @@ -145302,6 +147875,12 @@ entities: - type: Transform pos: 52.498978,0.33205032 parent: 5350 + - uid: 27102 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 72.38718,-31.5 + parent: 5350 - proto: TubaInstrument entities: - uid: 3197 @@ -145460,6 +148039,25 @@ entities: - Left: Forward - Right: Reverse - Middle: Off + - uid: 27274 + components: + - type: MetaData + desc: 'Opens and closes the blast doors of the combustion chamber. Left: one Door - Right: both Doors - Middle: closed.' + name: blast doors + - type: Transform + pos: 70.5,-38.5 + parent: 5350 + - type: TwoWayLever + nextSignalLeft: True + - type: DeviceLinkSource + linkedPorts: + 27136: + - Middle: Close + - Left: Open + - Right: Open + 27135: + - Middle: Close + - Left: Open - proto: UnfinishedMachineFrame entities: - uid: 18441 @@ -147889,6 +150487,16 @@ entities: - type: Transform pos: -57.5,-6.5 parent: 5350 + - uid: 5314 + components: + - type: Transform + pos: 66.5,-20.5 + parent: 5350 + - uid: 5315 + components: + - type: Transform + pos: 67.5,-20.5 + parent: 5350 - uid: 5328 components: - type: Transform @@ -149994,6 +152602,12 @@ entities: - type: Transform pos: 58.5,-3.5 parent: 5350 + - uid: 9069 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 65.5,-38.5 + parent: 5350 - uid: 9071 components: - type: Transform @@ -150527,67 +153141,35 @@ entities: - uid: 10814 components: - type: Transform - pos: 64.5,-5.5 - parent: 5350 - - uid: 10831 - components: - - type: Transform - pos: 64.5,-21.5 + pos: 66.5,-12.5 parent: 5350 - - uid: 10832 + - uid: 10818 components: - type: Transform - pos: 64.5,-22.5 + rot: -1.5707963267948966 rad + pos: 69.5,-8.5 parent: 5350 - uid: 10833 components: - type: Transform - pos: 64.5,-23.5 - parent: 5350 - - uid: 10834 - components: - - type: Transform - pos: 65.5,-23.5 - parent: 5350 - - uid: 10835 - components: - - type: Transform - pos: 66.5,-23.5 - parent: 5350 - - uid: 10836 - components: - - type: Transform - pos: 67.5,-23.5 + pos: 68.5,-28.5 parent: 5350 - uid: 10837 components: - type: Transform - pos: 67.5,-25.5 - parent: 5350 - - uid: 10838 - components: - - type: Transform - pos: 66.5,-25.5 - parent: 5350 - - uid: 10839 - components: - - type: Transform - pos: 65.5,-25.5 - parent: 5350 - - uid: 10840 - components: - - type: Transform - pos: 64.5,-25.5 + pos: 71.5,-25.5 parent: 5350 - uid: 10841 components: - type: Transform - pos: 63.5,-25.5 + rot: -1.5707963267948966 rad + pos: 62.5,-25.5 parent: 5350 - uid: 10842 components: - type: Transform - pos: 62.5,-25.5 + rot: -1.5707963267948966 rad + pos: 64.5,-20.5 parent: 5350 - uid: 10855 components: @@ -150814,195 +153396,201 @@ entities: - type: Transform pos: 58.5,-27.5 parent: 5350 - - uid: 10908 - components: - - type: Transform - pos: 66.5,-21.5 - parent: 5350 - - uid: 10909 + - uid: 10914 components: - type: Transform - pos: 67.5,-21.5 + pos: 70.5,-19.5 parent: 5350 - - uid: 10910 + - uid: 10915 components: - type: Transform - pos: 68.5,-21.5 + pos: 70.5,-18.5 parent: 5350 - - uid: 10911 + - uid: 10917 components: - type: Transform - pos: 69.5,-21.5 + pos: 70.5,-16.5 parent: 5350 - - uid: 10912 + - uid: 10918 components: - type: Transform - pos: 70.5,-21.5 + pos: 70.5,-15.5 parent: 5350 - - uid: 10913 + - uid: 10919 components: - type: Transform - pos: 70.5,-20.5 + pos: 70.5,-14.5 parent: 5350 - - uid: 10914 + - uid: 10921 components: - type: Transform - pos: 70.5,-19.5 + pos: 70.5,-12.5 parent: 5350 - - uid: 10915 + - uid: 10922 components: - type: Transform - pos: 70.5,-18.5 + pos: 70.5,-11.5 parent: 5350 - - uid: 10916 + - uid: 10923 components: - type: Transform - pos: 70.5,-17.5 + pos: 70.5,-10.5 parent: 5350 - - uid: 10917 + - uid: 10925 components: - type: Transform - pos: 70.5,-16.5 + pos: 70.5,-8.5 parent: 5350 - - uid: 10918 + - uid: 10927 components: - type: Transform - pos: 70.5,-15.5 + pos: 70.5,-6.5 parent: 5350 - - uid: 10919 + - uid: 10966 components: - type: Transform - pos: 70.5,-14.5 + pos: 70.5,-17.5 parent: 5350 - - uid: 10920 + - uid: 10969 components: - type: Transform - pos: 70.5,-13.5 + pos: 70.5,-20.5 parent: 5350 - - uid: 10921 + - uid: 10971 components: - type: Transform - pos: 70.5,-12.5 + pos: 69.5,-12.5 parent: 5350 - - uid: 10922 + - uid: 10989 components: - type: Transform - pos: 70.5,-11.5 + pos: 68.5,-12.5 parent: 5350 - - uid: 10923 + - uid: 11054 components: - type: Transform - pos: 70.5,-10.5 + rot: -1.5707963267948966 rad + pos: 67.5,-16.5 parent: 5350 - - uid: 10924 + - uid: 11163 components: - type: Transform - pos: 70.5,-9.5 + pos: 70.5,-13.5 parent: 5350 - - uid: 10925 + - uid: 11172 components: - type: Transform - pos: 70.5,-8.5 + rot: 1.5707963267948966 rad + pos: 67.5,-4.5 parent: 5350 - - uid: 10927 + - uid: 11173 components: - type: Transform - pos: 70.5,-6.5 + rot: -1.5707963267948966 rad + pos: 66.5,-8.5 parent: 5350 - - uid: 10928 + - uid: 11201 components: - type: Transform pos: 70.5,-5.5 parent: 5350 - - uid: 10929 - components: - - type: Transform - pos: 69.5,-5.5 - parent: 5350 - - uid: 10931 + - uid: 11202 components: - type: Transform - pos: 67.5,-5.5 + rot: -1.5707963267948966 rad + pos: 67.5,-8.5 parent: 5350 - - uid: 10932 + - uid: 11204 components: - type: Transform - pos: 66.5,-5.5 + rot: 1.5707963267948966 rad + pos: 69.5,-4.5 parent: 5350 - - uid: 10933 + - uid: 11262 components: - type: Transform - pos: 69.5,-9.5 + pos: 71.5,-28.5 parent: 5350 - - uid: 10934 + - uid: 11264 components: - type: Transform - pos: 68.5,-9.5 + pos: 69.5,-28.5 parent: 5350 - - uid: 10935 + - uid: 11268 components: - type: Transform - pos: 67.5,-9.5 + rot: -1.5707963267948966 rad + pos: 65.5,-28.5 parent: 5350 - - uid: 10936 + - uid: 11273 components: - type: Transform - pos: 66.5,-9.5 + rot: -1.5707963267948966 rad + pos: 65.5,-35.5 parent: 5350 - - uid: 10937 + - uid: 11275 components: - type: Transform - pos: 69.5,-13.5 + rot: -1.5707963267948966 rad + pos: 65.5,-36.5 parent: 5350 - - uid: 10938 + - uid: 11276 components: - type: Transform - pos: 68.5,-13.5 + pos: 64.5,-22.5 parent: 5350 - - uid: 10939 + - uid: 11277 components: - type: Transform - pos: 67.5,-13.5 + rot: -1.5707963267948966 rad + pos: 65.5,-27.5 parent: 5350 - - uid: 10940 + - uid: 11278 components: - type: Transform - pos: 66.5,-13.5 + rot: -1.5707963267948966 rad + pos: 65.5,-26.5 parent: 5350 - - uid: 10941 + - uid: 11283 components: - type: Transform - pos: 69.5,-17.5 + rot: -1.5707963267948966 rad + pos: 68.5,-22.5 parent: 5350 - - uid: 10942 + - uid: 11287 components: - type: Transform - pos: 68.5,-17.5 + pos: 68.5,-25.5 parent: 5350 - - uid: 10943 + - uid: 11299 components: - type: Transform - pos: 67.5,-17.5 + rot: 1.5707963267948966 rad + pos: 70.5,-4.5 parent: 5350 - - uid: 10944 + - uid: 11301 components: - type: Transform - pos: 66.5,-17.5 + rot: -1.5707963267948966 rad + pos: 66.5,-16.5 parent: 5350 - - uid: 11268 + - uid: 11305 components: - type: Transform - pos: 70.5,-29.5 + rot: 1.5707963267948966 rad + pos: 66.5,-4.5 parent: 5350 - - uid: 11269 + - uid: 11342 components: - type: Transform - pos: 68.5,-29.5 + rot: -1.5707963267948966 rad + pos: 68.5,-16.5 parent: 5350 - - uid: 11270 + - uid: 11346 components: - type: Transform - pos: 67.5,-29.5 + rot: -1.5707963267948966 rad + pos: 69.5,-16.5 parent: 5350 - uid: 11370 components: @@ -151124,6 +153712,102 @@ entities: - type: Transform pos: 42.5,-29.5 parent: 5350 + - uid: 11498 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 65.5,-25.5 + parent: 5350 + - uid: 11596 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 68.5,-8.5 + parent: 5350 + - uid: 11597 + components: + - type: Transform + pos: 67.5,-12.5 + parent: 5350 + - uid: 11603 + components: + - type: Transform + pos: 70.5,-9.5 + parent: 5350 + - uid: 11622 + components: + - type: Transform + pos: 69.5,-20.5 + parent: 5350 + - uid: 11627 + components: + - type: Transform + pos: 68.5,-20.5 + parent: 5350 + - uid: 11662 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 71.5,-22.5 + parent: 5350 + - uid: 11697 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 70.5,-22.5 + parent: 5350 + - uid: 11698 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 69.5,-22.5 + parent: 5350 + - uid: 11699 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 65.5,-22.5 + parent: 5350 + - uid: 11735 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 65.5,-37.5 + parent: 5350 + - uid: 11740 + components: + - type: Transform + pos: 68.5,-27.5 + parent: 5350 + - uid: 11750 + components: + - type: Transform + pos: 71.5,-26.5 + parent: 5350 + - uid: 11757 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 65.5,-34.5 + parent: 5350 + - uid: 11764 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 65.5,-33.5 + parent: 5350 + - uid: 11784 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 65.5,-32.5 + parent: 5350 + - uid: 11785 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 65.5,-31.5 + parent: 5350 - uid: 12127 components: - type: Transform @@ -155642,6 +158326,371 @@ entities: - type: Transform pos: -15.5,61.5 parent: 5350 + - uid: 27003 + components: + - type: Transform + pos: 72.5,-28.5 + parent: 5350 + - uid: 27004 + components: + - type: Transform + pos: 73.5,-28.5 + parent: 5350 + - uid: 27005 + components: + - type: Transform + pos: 74.5,-28.5 + parent: 5350 + - uid: 27008 + components: + - type: Transform + pos: 74.5,-31.5 + parent: 5350 + - uid: 27009 + components: + - type: Transform + pos: 75.5,-31.5 + parent: 5350 + - uid: 27010 + components: + - type: Transform + pos: 76.5,-31.5 + parent: 5350 + - uid: 27011 + components: + - type: Transform + pos: 77.5,-31.5 + parent: 5350 + - uid: 27022 + components: + - type: Transform + pos: 77.5,-42.5 + parent: 5350 + - uid: 27023 + components: + - type: Transform + pos: 77.5,-40.5 + parent: 5350 + - uid: 27052 + components: + - type: Transform + pos: 65.5,-39.5 + parent: 5350 + - uid: 27053 + components: + - type: Transform + pos: 65.5,-40.5 + parent: 5350 + - uid: 27054 + components: + - type: Transform + pos: 77.5,-39.5 + parent: 5350 + - uid: 27055 + components: + - type: Transform + pos: 77.5,-38.5 + parent: 5350 + - uid: 27056 + components: + - type: Transform + pos: 77.5,-37.5 + parent: 5350 + - uid: 27057 + components: + - type: Transform + pos: 77.5,-32.5 + parent: 5350 + - uid: 27058 + components: + - type: Transform + pos: 77.5,-34.5 + parent: 5350 + - uid: 27059 + components: + - type: Transform + pos: 77.5,-33.5 + parent: 5350 + - uid: 27060 + components: + - type: Transform + pos: 77.5,-35.5 + parent: 5350 + - uid: 27061 + components: + - type: Transform + pos: 77.5,-36.5 + parent: 5350 + - uid: 27065 + components: + - type: Transform + pos: 65.5,-41.5 + parent: 5350 + - uid: 27066 + components: + - type: Transform + pos: 65.5,-42.5 + parent: 5350 + - uid: 27067 + components: + - type: Transform + pos: 65.5,-43.5 + parent: 5350 + - uid: 27068 + components: + - type: Transform + pos: 66.5,-43.5 + parent: 5350 + - uid: 27072 + components: + - type: Transform + pos: 69.5,-43.5 + parent: 5350 + - uid: 27075 + components: + - type: Transform + pos: 70.5,-43.5 + parent: 5350 + - uid: 27076 + components: + - type: Transform + pos: 77.5,-41.5 + parent: 5350 + - uid: 27119 + components: + - type: Transform + pos: 70.5,-39.5 + parent: 5350 + - uid: 27120 + components: + - type: Transform + pos: 70.5,-40.5 + parent: 5350 + - uid: 27121 + components: + - type: Transform + pos: 70.5,-41.5 + parent: 5350 + - uid: 27122 + components: + - type: Transform + pos: 70.5,-42.5 + parent: 5350 + - uid: 27124 + components: + - type: Transform + pos: 76.5,-42.5 + parent: 5350 + - uid: 27140 + components: + - type: Transform + pos: 75.5,-42.5 + parent: 5350 + - uid: 27148 + components: + - type: Transform + pos: 75.5,-40.5 + parent: 5350 + - uid: 27152 + components: + - type: Transform + pos: 75.5,-39.5 + parent: 5350 + - uid: 27199 + components: + - type: Transform + pos: 71.5,-27.5 + parent: 5350 + - uid: 27200 + components: + - type: Transform + pos: 68.5,-24.5 + parent: 5350 + - uid: 27246 + components: + - type: Transform + pos: 70.5,-24.5 + parent: 5350 + - uid: 27247 + components: + - type: Transform + pos: 69.5,-24.5 + parent: 5350 + - uid: 27250 + components: + - type: Transform + pos: 71.5,-24.5 + parent: 5350 + - uid: 27270 + components: + - type: Transform + pos: 67.5,-22.5 + parent: 5350 + - uid: 27435 + components: + - type: Transform + pos: 79.5,-29.5 + parent: 5350 + - uid: 27436 + components: + - type: Transform + pos: 79.5,-30.5 + parent: 5350 + - uid: 27437 + components: + - type: Transform + pos: 79.5,-31.5 + parent: 5350 + - uid: 27438 + components: + - type: Transform + pos: 79.5,-32.5 + parent: 5350 + - uid: 27439 + components: + - type: Transform + pos: 79.5,-34.5 + parent: 5350 + - uid: 27440 + components: + - type: Transform + pos: 79.5,-35.5 + parent: 5350 + - uid: 27442 + components: + - type: Transform + pos: 79.5,-37.5 + parent: 5350 + - uid: 27443 + components: + - type: Transform + pos: 79.5,-38.5 + parent: 5350 + - uid: 27444 + components: + - type: Transform + pos: 79.5,-40.5 + parent: 5350 + - uid: 27445 + components: + - type: Transform + pos: 79.5,-41.5 + parent: 5350 + - uid: 27446 + components: + - type: Transform + pos: 79.5,-42.5 + parent: 5350 + - uid: 27447 + components: + - type: Transform + pos: 79.5,-43.5 + parent: 5350 + - uid: 27448 + components: + - type: Transform + pos: 79.5,-45.5 + parent: 5350 + - uid: 27449 + components: + - type: Transform + pos: 79.5,-46.5 + parent: 5350 + - uid: 27450 + components: + - type: Transform + pos: 77.5,-46.5 + parent: 5350 + - uid: 27451 + components: + - type: Transform + pos: 76.5,-46.5 + parent: 5350 + - uid: 27452 + components: + - type: Transform + pos: 74.5,-46.5 + parent: 5350 + - uid: 27453 + components: + - type: Transform + pos: 72.5,-46.5 + parent: 5350 + - uid: 27454 + components: + - type: Transform + pos: 73.5,-46.5 + parent: 5350 + - uid: 27455 + components: + - type: Transform + pos: 71.5,-46.5 + parent: 5350 + - uid: 27456 + components: + - type: Transform + pos: 69.5,-46.5 + parent: 5350 + - uid: 27457 + components: + - type: Transform + pos: 68.5,-46.5 + parent: 5350 + - uid: 27458 + components: + - type: Transform + pos: 66.5,-46.5 + parent: 5350 + - uid: 27459 + components: + - type: Transform + pos: 65.5,-46.5 + parent: 5350 + - uid: 27461 + components: + - type: Transform + pos: 63.5,-46.5 + parent: 5350 + - uid: 27462 + components: + - type: Transform + pos: 63.5,-45.5 + parent: 5350 + - uid: 27463 + components: + - type: Transform + pos: 63.5,-44.5 + parent: 5350 + - uid: 27464 + components: + - type: Transform + pos: 63.5,-42.5 + parent: 5350 + - uid: 27465 + components: + - type: Transform + pos: 63.5,-41.5 + parent: 5350 + - uid: 27466 + components: + - type: Transform + pos: 63.5,-40.5 + parent: 5350 + - uid: 27467 + components: + - type: Transform + pos: 63.5,-38.5 + parent: 5350 + - uid: 27468 + components: + - type: Transform + pos: 63.5,-37.5 + parent: 5350 + - uid: 27469 + components: + - type: Transform + pos: 63.5,-36.5 + parent: 5350 - proto: WallSolid entities: - uid: 57 @@ -163506,10 +166555,11 @@ entities: parent: 5350 - proto: WarningCO2 entities: - - uid: 11640 + - uid: 11151 components: - type: Transform - pos: 66.5,-17.5 + rot: -1.5707963267948966 rad + pos: 66.5,-16.5 parent: 5350 - proto: WarningN2 entities: @@ -163527,22 +166577,23 @@ entities: parent: 5350 - proto: WarningPlasma entities: - - uid: 11641 + - uid: 11114 components: - type: Transform - pos: 66.5,-13.5 + pos: 66.5,-12.5 parent: 5350 - proto: WarningWaste entities: - - uid: 11642 + - uid: 11137 components: - type: Transform - pos: 66.5,-9.5 + pos: 66.5,-4.5 parent: 5350 - - uid: 11643 + - uid: 11641 components: - type: Transform - pos: 66.5,-5.5 + rot: -1.5707963267948966 rad + pos: 66.5,-8.5 parent: 5350 - proto: WaterCooler entities: @@ -163899,6 +166950,12 @@ entities: - type: Transform pos: -31.37716,-26.50117 parent: 5350 + - uid: 27050 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 69.77701,-31.5 + parent: 5350 - proto: WelderMini entities: - uid: 3636 @@ -163998,6 +167055,11 @@ entities: - type: Transform pos: 45.5,33.5 parent: 5350 + - uid: 27086 + components: + - type: Transform + pos: 76.5,-32.5 + parent: 5350 - proto: WetFloorSign entities: - uid: 12844 @@ -164082,18 +167144,6 @@ entities: - type: Transform pos: -3.5,35.5 parent: 5350 - - uid: 11282 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 71.5,-24.5 - parent: 5350 - - uid: 11283 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 71.5,-24.5 - parent: 5350 - uid: 13571 components: - type: Transform @@ -165688,104 +168738,6 @@ entities: - type: Transform pos: 45.5,0.5 parent: 5350 - - uid: 11251 - components: - - type: Transform - pos: 68.5,-23.5 - parent: 5350 - - uid: 11252 - components: - - type: Transform - pos: 69.5,-23.5 - parent: 5350 - - uid: 11253 - components: - - type: Transform - pos: 70.5,-23.5 - parent: 5350 - - uid: 11254 - components: - - type: Transform - pos: 71.5,-23.5 - parent: 5350 - - uid: 11255 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 71.5,-25.5 - parent: 5350 - - uid: 11256 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 70.5,-25.5 - parent: 5350 - - uid: 11257 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 68.5,-25.5 - parent: 5350 - - uid: 11258 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 68.5,-25.5 - parent: 5350 - - uid: 11259 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 68.5,-26.5 - parent: 5350 - - uid: 11260 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 70.5,-26.5 - parent: 5350 - - uid: 11261 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 70.5,-25.5 - parent: 5350 - - uid: 11262 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 68.5,-27.5 - parent: 5350 - - uid: 11263 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 68.5,-27.5 - parent: 5350 - - uid: 11264 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 68.5,-28.5 - parent: 5350 - - uid: 11265 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 70.5,-27.5 - parent: 5350 - - uid: 11266 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 70.5,-27.5 - parent: 5350 - - uid: 11267 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 70.5,-28.5 - parent: 5350 - uid: 11512 components: - type: Transform @@ -169133,4 +172085,9 @@ entities: - type: Transform pos: 59.615005,1.5566483 parent: 5350 + - uid: 27117 + components: + - type: Transform + pos: 69.87581,-31.5 + parent: 5350 ... From 530a741b7bfbc151bf94b45401085208dc037b76 Mon Sep 17 00:00:00 2001 From: Repo <47093363+Titian3@users.noreply.github.com> Date: Fri, 15 Nov 2024 15:54:20 +1300 Subject: [PATCH 242/588] Rule amendment - Remove role abandonment aHelp requirement. (#33287) * Role abandonment aHelp requirement. * disable roundstart chat message --------- Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> --- Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml | 1 - Resources/Prototypes/Roles/Jobs/Command/captain.yml | 1 - Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml | 1 - Resources/Prototypes/Roles/Jobs/Engineering/chief_engineer.yml | 1 - .../Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml | 1 - Resources/Prototypes/Roles/Jobs/Science/research_director.yml | 1 - Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml | 1 - Resources/Prototypes/Roles/Jobs/Security/warden.yml | 1 - .../ServerRules/RoleplayRules/RuleR12RoleAbandonment.xml | 2 +- 9 files changed, 1 insertion(+), 9 deletions(-) diff --git a/Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml b/Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml index ee1c2c5949..740afded64 100644 --- a/Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml +++ b/Resources/Prototypes/Roles/Jobs/Cargo/quartermaster.yml @@ -18,7 +18,6 @@ weight: 10 startingGear: QuartermasterGear icon: "JobIconQuarterMaster" - requireAdminNotify: true supervisors: job-supervisors-captain canBeAntag: false access: diff --git a/Resources/Prototypes/Roles/Jobs/Command/captain.yml b/Resources/Prototypes/Roles/Jobs/Command/captain.yml index 79634aa5d9..a22d334c94 100644 --- a/Resources/Prototypes/Roles/Jobs/Command/captain.yml +++ b/Resources/Prototypes/Roles/Jobs/Command/captain.yml @@ -19,7 +19,6 @@ weight: 20 startingGear: CaptainGear icon: "JobIconCaptain" - requireAdminNotify: true joinNotifyCrew: true supervisors: job-supervisors-centcom canBeAntag: false diff --git a/Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml b/Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml index d5521f767f..f457cfbc49 100644 --- a/Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml +++ b/Resources/Prototypes/Roles/Jobs/Command/head_of_personnel.yml @@ -19,7 +19,6 @@ weight: 20 startingGear: HoPGear icon: "JobIconHeadOfPersonnel" - requireAdminNotify: true supervisors: job-supervisors-captain canBeAntag: false access: diff --git a/Resources/Prototypes/Roles/Jobs/Engineering/chief_engineer.yml b/Resources/Prototypes/Roles/Jobs/Engineering/chief_engineer.yml index 0ee0b6736c..9bac538551 100644 --- a/Resources/Prototypes/Roles/Jobs/Engineering/chief_engineer.yml +++ b/Resources/Prototypes/Roles/Jobs/Engineering/chief_engineer.yml @@ -18,7 +18,6 @@ weight: 10 startingGear: ChiefEngineerGear icon: "JobIconChiefEngineer" - requireAdminNotify: true supervisors: job-supervisors-captain canBeAntag: false access: diff --git a/Resources/Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml b/Resources/Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml index 2587113415..83b16d427b 100644 --- a/Resources/Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml +++ b/Resources/Prototypes/Roles/Jobs/Medical/chief_medical_officer.yml @@ -20,7 +20,6 @@ weight: 10 startingGear: CMOGear icon: "JobIconChiefMedicalOfficer" - requireAdminNotify: true supervisors: job-supervisors-captain canBeAntag: false access: diff --git a/Resources/Prototypes/Roles/Jobs/Science/research_director.yml b/Resources/Prototypes/Roles/Jobs/Science/research_director.yml index b54ba54b1a..7d6db3e0be 100644 --- a/Resources/Prototypes/Roles/Jobs/Science/research_director.yml +++ b/Resources/Prototypes/Roles/Jobs/Science/research_director.yml @@ -12,7 +12,6 @@ weight: 10 startingGear: ResearchDirectorGear icon: "JobIconResearchDirector" - requireAdminNotify: true supervisors: job-supervisors-captain canBeAntag: false access: diff --git a/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml b/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml index 044df7f69e..e22eccb7da 100644 --- a/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml +++ b/Resources/Prototypes/Roles/Jobs/Security/head_of_security.yml @@ -18,7 +18,6 @@ weight: 10 startingGear: HoSGear icon: "JobIconHeadOfSecurity" - requireAdminNotify: true supervisors: job-supervisors-captain canBeAntag: false access: diff --git a/Resources/Prototypes/Roles/Jobs/Security/warden.yml b/Resources/Prototypes/Roles/Jobs/Security/warden.yml index 7ec820d27b..6d79d74804 100644 --- a/Resources/Prototypes/Roles/Jobs/Security/warden.yml +++ b/Resources/Prototypes/Roles/Jobs/Security/warden.yml @@ -9,7 +9,6 @@ time: 36000 #10 hrs startingGear: WardenGear icon: "JobIconWarden" - requireAdminNotify: true supervisors: job-supervisors-hos canBeAntag: false access: diff --git a/Resources/ServerInfo/Guidebook/ServerRules/RoleplayRules/RuleR12RoleAbandonment.xml b/Resources/ServerInfo/Guidebook/ServerRules/RoleplayRules/RuleR12RoleAbandonment.xml index 3821816128..1ddf73cc77 100644 --- a/Resources/ServerInfo/Guidebook/ServerRules/RoleplayRules/RuleR12RoleAbandonment.xml +++ b/Resources/ServerInfo/Guidebook/ServerRules/RoleplayRules/RuleR12RoleAbandonment.xml @@ -2,7 +2,7 @@ # Roleplay Rule 12 - Do not abandon your role Do not join the round as a role that you don't intend to play. Do not enable antagonist roles that you don't intend to play. Abandoning a role includes not completing tasks that the role is expected to do, in addition to things like leaving the game. Members of command should almost all stay on the station until the emergency shuttle arrives. Enforcement of this rule is more strict for command and antagonist roles, and less strict for less important roles like passengers. - Violations of this rule typically result in temporary or indefinite role bans. We understand that you may need to leave round early or unexpectedly. If you are in an important role (which is relayed to you in chat upon receiving your role), you should notify command members or an admin via ahelp so that they know you are leaving. Space Station 14 is a game. Do not endanger the safety of yourself or others, and do not neglect important things to avoid leaving a round early, even if you have to leave immediately without notifying anyone. Role bans for disconnecting are typically only applied if there is a pattern, and are almost always temporary. + Violations of this rule typically result in temporary or indefinite role bans. We understand that you may need to leave round early or unexpectedly. If you are in an important role (which is relayed to you in chat upon receiving your role), you should notify command members so that they know you are leaving and attempt to cryosleep if possible. Space Station 14 is a game. Do not endanger the safety of yourself or others, and do not neglect important things to avoid leaving a round early, even if you have to leave immediately without notifying anyone. Role bans for disconnecting are typically only applied if there is a pattern, and are almost always temporary. "Antag rolling" refers to a player abandoning their role if they do not get an antagonist role. From dfda557d4b199d60436db2f3acfeef74877f05b8 Mon Sep 17 00:00:00 2001 From: beck-thompson <107373427+beck-thompson@users.noreply.github.com> Date: Thu, 14 Nov 2024 19:24:27 -0800 Subject: [PATCH 243/588] Note expiry time is now relative instead of using timestamps (#33262) * Add the stuff * Loc fix * fixes * Change --- .../Administration/UI/Notes/NoteEdit.xaml | 1 + .../Administration/UI/Notes/NoteEdit.xaml.cs | 53 +++++++++++++++++-- .../en-US/administration/ui/admin-notes.ftl | 14 ++++- 3 files changed, 63 insertions(+), 5 deletions(-) diff --git a/Content.Client/Administration/UI/Notes/NoteEdit.xaml b/Content.Client/Administration/UI/Notes/NoteEdit.xaml index 506abac540..72b2c55ce8 100644 --- a/Content.Client/Administration/UI/Notes/NoteEdit.xaml +++ b/Content.Client/Administration/UI/Notes/NoteEdit.xaml @@ -8,6 +8,7 @@ -[RegisterComponent, NetworkedComponent, Access(typeof(Systems.BonkSystem))] +[RegisterComponent, NetworkedComponent] public sealed partial class BonkableComponent : Component { /// - /// Chance of bonk triggering if the user is clumsy. + /// How long to stun players on bonk, in seconds. /// - [DataField("bonkClumsyChance")] - public float BonkClumsyChance = 0.5f; + [DataField] + public TimeSpan BonkTime = TimeSpan.FromSeconds(2); /// - /// Sound to play when bonking. + /// How much damage to apply on bonk. /// - /// - [DataField("bonkSound")] - public SoundSpecifier? BonkSound; - - /// - /// How long to stun players on bonk, in seconds. - /// - /// - [DataField("bonkTime")] - public float BonkTime = 2; - - /// - /// How much damage to apply on bonk. - /// - /// - [DataField("bonkDamage")] + [DataField] public DamageSpecifier? BonkDamage; - - /// - /// How long it takes to bonk. - /// - [DataField("bonkDelay")] - public float BonkDelay = 1.5f; } diff --git a/Content.Shared/Climbing/Events/BeforeClimbEvents.cs b/Content.Shared/Climbing/Events/BeforeClimbEvents.cs new file mode 100644 index 0000000000..85c40f9427 --- /dev/null +++ b/Content.Shared/Climbing/Events/BeforeClimbEvents.cs @@ -0,0 +1,36 @@ +using Content.Shared.Inventory; +using Content.Shared.Climbing.Components; + +namespace Content.Shared.Climbing.Events; + +public abstract partial class BeforeClimbEvent : CancellableEntityEventArgs +{ + public readonly EntityUid GettingPutOnTable; + public readonly EntityUid PuttingOnTable; + public readonly Entity BeingClimbedOn; + + public BeforeClimbEvent(EntityUid gettingPutOntable, EntityUid puttingOnTable, Entity beingClimbedOn) + { + GettingPutOnTable = gettingPutOntable; + PuttingOnTable = puttingOnTable; + BeingClimbedOn = beingClimbedOn; + } +} + +/// +/// This event is raised on the the person either getting put on or going on the table. +/// The event is also called on their clothing as well. +/// +public sealed class SelfBeforeClimbEvent : BeforeClimbEvent, IInventoryRelayEvent +{ + public SlotFlags TargetSlots { get; } = SlotFlags.WITHOUT_POCKET; + public SelfBeforeClimbEvent(EntityUid gettingPutOntable, EntityUid puttingOnTable, Entity beingClimbedOn) : base(gettingPutOntable, puttingOnTable, beingClimbedOn) { } +} + +/// +/// This event is raised on the thing being climbed on. +/// +public sealed class TargetBeforeClimbEvent : BeforeClimbEvent +{ + public TargetBeforeClimbEvent(EntityUid gettingPutOntable, EntityUid puttingOnTable, Entity beingClimbedOn) : base(gettingPutOntable, puttingOnTable, beingClimbedOn) { } +} diff --git a/Content.Shared/Climbing/Systems/BonkSystem.cs b/Content.Shared/Climbing/Systems/BonkSystem.cs deleted file mode 100644 index f59fe92573..0000000000 --- a/Content.Shared/Climbing/Systems/BonkSystem.cs +++ /dev/null @@ -1,130 +0,0 @@ -using Content.Shared.CCVar; -using Content.Shared.Climbing.Components; -using Content.Shared.Climbing.Events; -using Content.Shared.Damage; -using Content.Shared.DoAfter; -using Content.Shared.DragDrop; -using Content.Shared.Hands.Components; -using Content.Shared.IdentityManagement; -using Content.Shared.Interaction; -using Content.Shared.Interaction.Components; -using Content.Shared.Popups; -using Content.Shared.Stunnable; -using Robust.Shared.Audio.Systems; -using Robust.Shared.Configuration; -using Robust.Shared.Player; -using Robust.Shared.Serialization; - -namespace Content.Shared.Climbing.Systems; - -public sealed partial class BonkSystem : EntitySystem -{ - [Dependency] private readonly IConfigurationManager _cfg = default!; - [Dependency] private readonly DamageableSystem _damageableSystem = default!; - [Dependency] private readonly SharedInteractionSystem _interactionSystem = default!; - [Dependency] private readonly SharedStunSystem _stunSystem = default!; - [Dependency] private readonly SharedAudioSystem _audioSystem = default!; - [Dependency] private readonly SharedPopupSystem _popupSystem = default!; - [Dependency] private readonly SharedDoAfterSystem _doAfter = default!; - - public override void Initialize() - { - base.Initialize(); - SubscribeLocalEvent(OnBonkDoAfter); - SubscribeLocalEvent(OnAttemptClimb); - } - - private void OnBonkDoAfter(EntityUid uid, BonkableComponent component, BonkDoAfterEvent args) - { - if (args.Handled || args.Cancelled || args.Args.Used == null) - return; - - TryBonk(args.Args.Used.Value, uid, component, source: args.Args.User); - - args.Handled = true; - } - - - public bool TryBonk(EntityUid user, EntityUid bonkableUid, BonkableComponent? bonkableComponent = null, EntityUid? source = null) - { - if (!Resolve(bonkableUid, ref bonkableComponent, false)) - return false; - - // BONK! - var userName = Identity.Entity(user, EntityManager); - var bonkableName = Identity.Entity(bonkableUid, EntityManager); - - if (user == source) - { - // Non-local, non-bonking players - var othersMessage = Loc.GetString("bonkable-success-message-others", ("user", userName), ("bonkable", bonkableName)); - // Local, bonking player - var selfMessage = Loc.GetString("bonkable-success-message-user", ("user", userName), ("bonkable", bonkableName)); - - _popupSystem.PopupPredicted(selfMessage, othersMessage, user, user); - } - else if (source != null) - { - // Local, non-bonking player (dragger) - _popupSystem.PopupClient(Loc.GetString("bonkable-success-message-others", ("user", userName), ("bonkable", bonkableName)), user, source.Value); - // Non-local, non-bonking players - _popupSystem.PopupEntity(Loc.GetString("bonkable-success-message-others", ("user", userName), ("bonkable", bonkableName)), user, Filter.Pvs(user).RemoveWhereAttachedEntity(e => e == user || e == source.Value), true); - // Non-local, bonking player - _popupSystem.PopupEntity(Loc.GetString("bonkable-success-message-user", ("user", userName), ("bonkable", bonkableName)), user, user); - } - - - - if (source != null) - _audioSystem.PlayPredicted(bonkableComponent.BonkSound, bonkableUid, source); - else - _audioSystem.PlayPvs(bonkableComponent.BonkSound, bonkableUid); - - _stunSystem.TryParalyze(user, TimeSpan.FromSeconds(bonkableComponent.BonkTime), true); - - if (bonkableComponent.BonkDamage is { } bonkDmg) - _damageableSystem.TryChangeDamage(user, bonkDmg, true, origin: user); - - return true; - - } - - private bool TryStartBonk(EntityUid uid, EntityUid user, EntityUid climber, BonkableComponent? bonkableComponent = null) - { - if (!Resolve(uid, ref bonkableComponent, false)) - return false; - - if (!HasComp(climber) || !HasComp(user)) - return false; - - if (!_cfg.GetCVar(CCVars.GameTableBonk)) - { - // Not set to always bonk, try clumsy roll. - if (!_interactionSystem.TryRollClumsy(climber, bonkableComponent.BonkClumsyChance)) - return false; - } - - var doAfterArgs = new DoAfterArgs(EntityManager, user, bonkableComponent.BonkDelay, new BonkDoAfterEvent(), uid, target: uid, used: climber) - { - BreakOnMove = true, - BreakOnDamage = true, - DuplicateCondition = DuplicateConditions.SameTool | DuplicateConditions.SameTarget - }; - - return _doAfter.TryStartDoAfter(doAfterArgs); - } - - private void OnAttemptClimb(EntityUid uid, BonkableComponent component, ref AttemptClimbEvent args) - { - if (args.Cancelled) - return; - - if (TryStartBonk(uid, args.User, args.Climber, component)) - args.Cancelled = true; - } - - [Serializable, NetSerializable] - private sealed partial class BonkDoAfterEvent : SimpleDoAfterEvent - { - } -} diff --git a/Content.Shared/Climbing/Systems/ClimbSystem.cs b/Content.Shared/Climbing/Systems/ClimbSystem.cs index da194706f8..9bf481002a 100644 --- a/Content.Shared/Climbing/Systems/ClimbSystem.cs +++ b/Content.Shared/Climbing/Systems/ClimbSystem.cs @@ -251,6 +251,18 @@ private void Climb(EntityUid uid, EntityUid user, EntityUid climbable, bool sile if (!Resolve(climbable, ref comp, false)) return; + var selfEvent = new SelfBeforeClimbEvent(uid, user, (climbable, comp)); + RaiseLocalEvent(uid, selfEvent); + + if (selfEvent.Cancelled) + return; + + var targetEvent = new TargetBeforeClimbEvent(uid, user, (climbable, comp)); + RaiseLocalEvent(climbable, targetEvent); + + if (targetEvent.Cancelled) + return; + if (!ReplaceFixtures(uid, climbing, fixtures)) return; diff --git a/Content.Shared/Clumsy/ClumsyComponent.cs b/Content.Shared/Clumsy/ClumsyComponent.cs new file mode 100644 index 0000000000..c71f5d0008 --- /dev/null +++ b/Content.Shared/Clumsy/ClumsyComponent.cs @@ -0,0 +1,61 @@ +using Content.Shared.Damage; +using Robust.Shared.Audio; +using Robust.Shared.GameStates; + +namespace Content.Shared.Clumsy; + +/// +/// A simple clumsy tag-component. +/// +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class ClumsyComponent : Component +{ + + // Standard options. Try to fit these in if you can! + + /// + /// Sound to play when clumsy interactions fail. + /// + [DataField] + public SoundSpecifier ClumsySound = new SoundPathSpecifier("/Audio/Items/bikehorn.ogg"); + + /// + /// Default chance to fail a clumsy interaction. + /// If a system needs to use something else, add a new variable in the component, do not modify this percentage. + /// + [DataField, AutoNetworkedField] + public float ClumsyDefaultCheck = 0.5f; + + /// + /// Default stun time. + /// If a system needs to use something else, add a new variable in the component, do not modify this number. + /// + [DataField, AutoNetworkedField] + public TimeSpan ClumsyDefaultStunTime = TimeSpan.FromSeconds(2.5); + + // Specific options + + /// + /// Sound to play after hitting your head on a table. Ouch! + /// + [DataField] + public SoundCollectionSpecifier TableBonkSound = new SoundCollectionSpecifier("TrayHit"); + + /// + /// Stun time after failing to shoot a gun. + /// + [DataField, AutoNetworkedField] + public TimeSpan GunShootFailStunTime = TimeSpan.FromSeconds(3); + + /// + /// Stun time after failing to shoot a gun. + /// + [DataField, AutoNetworkedField] + public DamageSpecifier? GunShootFailDamage; + + /// + /// Noise to play after failing to shoot a gun. Boom! + /// + [DataField] + public SoundSpecifier GunShootFailSound = new SoundPathSpecifier("/Audio/Weapons/Guns/Gunshots/bang.ogg"); +} diff --git a/Content.Shared/Clumsy/ClumsySystem.cs b/Content.Shared/Clumsy/ClumsySystem.cs new file mode 100644 index 0000000000..e034458197 --- /dev/null +++ b/Content.Shared/Clumsy/ClumsySystem.cs @@ -0,0 +1,146 @@ +using Content.Shared.CCVar; +using Content.Shared.Chemistry.Hypospray.Events; +using Content.Shared.Climbing.Components; +using Content.Shared.Climbing.Events; +using Content.Shared.Damage; +using Content.Shared.IdentityManagement; +using Content.Shared.Medical; +using Content.Shared.Popups; +using Content.Shared.Stunnable; +using Content.Shared.Weapons.Ranged.Events; +using Robust.Shared.Audio.Systems; +using Robust.Shared.Configuration; +using Robust.Shared.Random; +using Robust.Shared.Timing; + +namespace Content.Shared.Clumsy; + +public sealed class ClumsySystem : EntitySystem +{ + [Dependency] private readonly IRobustRandom _random = default!; + [Dependency] private readonly SharedStunSystem _stun = default!; + [Dependency] private readonly SharedAudioSystem _audio = default!; + [Dependency] private readonly SharedPopupSystem _popup = default!; + [Dependency] private readonly DamageableSystem _damageable = default!; + [Dependency] private readonly IGameTiming _timing = default!; + [Dependency] private readonly IConfigurationManager _cfg = default!; + + public override void Initialize() + { + SubscribeLocalEvent(BeforeHyposprayEvent); + SubscribeLocalEvent(BeforeDefibrillatorZapsEvent); + SubscribeLocalEvent(BeforeGunShotEvent); + SubscribeLocalEvent(OnBeforeClimbEvent); + } + + // If you add more clumsy interactions add them in this section! + #region Clumsy interaction events + private void BeforeHyposprayEvent(Entity ent, ref SelfBeforeHyposprayInjectsEvent args) + { + // Clumsy people sometimes inject themselves! Apparently syringes are clumsy proof... + if (!_random.Prob(ent.Comp.ClumsyDefaultCheck)) + return; + + args.TargetGettingInjected = args.EntityUsingHypospray; + args.InjectMessageOverride = "hypospray-component-inject-self-clumsy-message"; + _audio.PlayPvs(ent.Comp.ClumsySound, ent); + } + + private void BeforeDefibrillatorZapsEvent(Entity ent, ref SelfBeforeDefibrillatorZapsEvent args) + { + // Clumsy people sometimes defib themselves! + if (!_random.Prob(ent.Comp.ClumsyDefaultCheck)) + return; + + args.DefibTarget = args.EntityUsingDefib; + _audio.PlayPvs(ent.Comp.ClumsySound, ent); + + } + + private void BeforeGunShotEvent(Entity ent, ref SelfBeforeGunShotEvent args) + { + // Clumsy people sometimes can't shoot :( + + if (args.Gun.Comp.ClumsyProof) + return; + + if (!_random.Prob(ent.Comp.ClumsyDefaultCheck)) + return; + + if (ent.Comp.GunShootFailDamage != null) + _damageable.TryChangeDamage(ent, ent.Comp.GunShootFailDamage, origin: ent); + + _stun.TryParalyze(ent, ent.Comp.GunShootFailStunTime, true); + + // Apply salt to the wound ("Honk!") (No idea what this comment means) + _audio.PlayPvs(ent.Comp.GunShootFailSound, ent); + _audio.PlayPvs(ent.Comp.ClumsySound, ent); + + _popup.PopupEntity(Loc.GetString("gun-clumsy"), ent, ent); + args.Cancel(); + } + + private void OnBeforeClimbEvent(Entity ent, ref SelfBeforeClimbEvent args) + { + // This event is called in shared, thats why it has all the extra prediction stuff. + var rand = new System.Random((int)_timing.CurTick.Value); + + // If someone is putting you on the table, always get past the guard. + if (!_cfg.GetCVar(CCVars.GameTableBonk) && args.PuttingOnTable == ent.Owner && !rand.Prob(ent.Comp.ClumsyDefaultCheck)) + return; + + HitHeadClumsy(ent, args.BeingClimbedOn); + + _audio.PlayPredicted(ent.Comp.ClumsySound, ent, ent); + + _audio.PlayPredicted(ent.Comp.TableBonkSound, ent, ent); + + var gettingPutOnTableName = Identity.Entity(args.GettingPutOnTable, EntityManager); + var puttingOnTableName = Identity.Entity(args.PuttingOnTable, EntityManager); + + if (args.PuttingOnTable == ent.Owner) + { + // You are slamming yourself onto the table. + _popup.PopupPredicted( + Loc.GetString("bonkable-success-message-user", ("bonkable", args.BeingClimbedOn)), + Loc.GetString("bonkable-success-message-others", ("victim", gettingPutOnTableName), ("bonkable", args.BeingClimbedOn)), + ent, + ent); + } + else + { + // Someone else slamed you onto the table. + // This is only run in server so you need to use popup entity. + _popup.PopupPredicted( + Loc.GetString("forced-bonkable-success-message", + ("bonker", puttingOnTableName), + ("victim", gettingPutOnTableName), + ("bonkable", args.BeingClimbedOn)), + ent, + null); + } + + args.Cancel(); + } + #endregion + + #region Helper functions + /// + /// "Hits" an entites head against the given table. + /// + // Oh this fucntion is public le- NO!! This is only public for the one admin command if you use this anywhere else I will cry. + public void HitHeadClumsy(Entity target, EntityUid table) + { + var stunTime = target.Comp.ClumsyDefaultStunTime; + + if (TryComp(table, out var bonkComp)) + { + stunTime = bonkComp.BonkTime; + if (bonkComp.BonkDamage != null) + _damageable.TryChangeDamage(target, bonkComp.BonkDamage, true); + } + + _stun.TryParalyze(target, stunTime, true); + } + #endregion +} diff --git a/Content.Shared/Interaction/Components/ClumsyComponent.cs b/Content.Shared/Interaction/Components/ClumsyComponent.cs deleted file mode 100644 index 824696c838..0000000000 --- a/Content.Shared/Interaction/Components/ClumsyComponent.cs +++ /dev/null @@ -1,24 +0,0 @@ -using Content.Shared.Damage; -using Robust.Shared.Audio; -using Robust.Shared.GameStates; - -namespace Content.Shared.Interaction.Components; - -/// -/// A simple clumsy tag-component. -/// -[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] -public sealed partial class ClumsyComponent : Component -{ - /// - /// Damage dealt to a clumsy character when they try to fire a gun. - /// - [DataField(required: true), AutoNetworkedField] - public DamageSpecifier ClumsyDamage = default!; - - /// - /// Sound to play when clumsy interactions fail. - /// - [DataField] - public SoundSpecifier ClumsySound = new SoundPathSpecifier("/Audio/Items/bikehorn.ogg"); -} diff --git a/Content.Shared/Interaction/SharedInteractionSystem.Clumsy.cs b/Content.Shared/Interaction/SharedInteractionSystem.Clumsy.cs deleted file mode 100644 index 9e45847e07..0000000000 --- a/Content.Shared/Interaction/SharedInteractionSystem.Clumsy.cs +++ /dev/null @@ -1,26 +0,0 @@ -using Content.Shared.Interaction.Components; -using Robust.Shared.Random; - -namespace Content.Shared.Interaction -{ - public partial class SharedInteractionSystem - { - public bool RollClumsy(ClumsyComponent component, float chance) - { - return component.Running && _random.Prob(chance); - } - - /// - /// Rolls a probability chance for a "bad action" if the target entity is clumsy. - /// - /// The entity that the clumsy check is happening for. - /// - /// The chance that a "bad action" happens if the user is clumsy, between 0 and 1 inclusive. - /// - /// True if a "bad action" happened, false if the normal action should happen. - public bool TryRollClumsy(EntityUid entity, float chance, ClumsyComponent? component = null) - { - return Resolve(entity, ref component, false) && RollClumsy(component, chance); - } - } -} diff --git a/Content.Shared/Inventory/InventorySystem.Relay.cs b/Content.Shared/Inventory/InventorySystem.Relay.cs index c910a9ae77..9573f9b43d 100644 --- a/Content.Shared/Inventory/InventorySystem.Relay.cs +++ b/Content.Shared/Inventory/InventorySystem.Relay.cs @@ -1,4 +1,7 @@ +using Content.Shared.Chat; using Content.Shared.Chemistry; +using Content.Shared.Chemistry.Hypospray.Events; +using Content.Shared.Climbing.Events; using Content.Shared.Damage; using Content.Shared.Electrocution; using Content.Shared.Explosion; @@ -15,7 +18,7 @@ using Content.Shared.Strip.Components; using Content.Shared.Temperature; using Content.Shared.Verbs; -using Content.Shared.Chat; +using Content.Shared.Weapons.Ranged.Events; namespace Content.Shared.Inventory; @@ -33,6 +36,10 @@ public void InitializeRelay() SubscribeLocalEvent(RelayInventoryEvent); SubscribeLocalEvent(RelayInventoryEvent); SubscribeLocalEvent(RelayInventoryEvent); + SubscribeLocalEvent(RelayInventoryEvent); + SubscribeLocalEvent(RelayInventoryEvent); + SubscribeLocalEvent(RelayInventoryEvent); + SubscribeLocalEvent(RelayInventoryEvent); // by-ref events SubscribeLocalEvent(RefRelayInventoryEvent); diff --git a/Content.Shared/Medical/DefibrillatorEvents.cs b/Content.Shared/Medical/DefibrillatorEvents.cs new file mode 100644 index 0000000000..54a21a40d4 --- /dev/null +++ b/Content.Shared/Medical/DefibrillatorEvents.cs @@ -0,0 +1,39 @@ +using Content.Shared.Inventory; + +namespace Content.Shared.Medical; + +[ByRefEvent] +public readonly record struct TargetDefibrillatedEvent(EntityUid User, Entity Defibrillator); + +public abstract class BeforeDefibrillatorZapsEvent : CancellableEntityEventArgs, IInventoryRelayEvent +{ + public SlotFlags TargetSlots { get; } = SlotFlags.WITHOUT_POCKET; + public EntityUid EntityUsingDefib; + public readonly EntityUid Defib; + public EntityUid DefibTarget; + + public BeforeDefibrillatorZapsEvent(EntityUid entityUsingDefib, EntityUid defib, EntityUid defibTarget) + { + EntityUsingDefib = entityUsingDefib; + Defib = defib; + DefibTarget = defibTarget; + } +} + +/// +/// This event is raised on the user using the defibrillator before is actually zaps someone. +/// The event is triggered on the user and all their clothing. +/// +public sealed class SelfBeforeDefibrillatorZapsEvent : BeforeDefibrillatorZapsEvent +{ + public SelfBeforeDefibrillatorZapsEvent(EntityUid entityUsingDefib, EntityUid defib, EntityUid defibtarget) : base(entityUsingDefib, defib, defibtarget) { } +} + +/// +/// This event is raised on the target before it gets zapped with the defibrillator. +/// The event is triggered on the target itself and all its clothing. +/// +public sealed class TargetBeforeDefibrillatorZapsEvent : BeforeDefibrillatorZapsEvent +{ + public TargetBeforeDefibrillatorZapsEvent(EntityUid entityUsingDefib, EntityUid defib, EntityUid defibtarget) : base(entityUsingDefib, defib, defibtarget) { } +} diff --git a/Content.Shared/Medical/TargetDefibrillatedEvent.cs b/Content.Shared/Medical/TargetDefibrillatedEvent.cs deleted file mode 100644 index 60d1a21584..0000000000 --- a/Content.Shared/Medical/TargetDefibrillatedEvent.cs +++ /dev/null @@ -1,4 +0,0 @@ -namespace Content.Shared.Medical; - -[ByRefEvent] -public readonly record struct TargetDefibrillatedEvent(EntityUid User, Entity Defibrillator); diff --git a/Content.Shared/Weapons/Ranged/Events/BeforeGunShootEvent.cs b/Content.Shared/Weapons/Ranged/Events/BeforeGunShootEvent.cs new file mode 100644 index 0000000000..1d3317c840 --- /dev/null +++ b/Content.Shared/Weapons/Ranged/Events/BeforeGunShootEvent.cs @@ -0,0 +1,20 @@ +using Content.Shared.Inventory; +using Content.Shared.Weapons.Ranged.Components; + +namespace Content.Shared.Weapons.Ranged.Events; +/// +/// This event is triggered on an entity right before they shoot a gun. +/// +public sealed partial class SelfBeforeGunShotEvent : CancellableEntityEventArgs, IInventoryRelayEvent +{ + public SlotFlags TargetSlots { get; } = SlotFlags.WITHOUT_POCKET; + public readonly EntityUid Shooter; + public readonly Entity Gun; + public readonly List<(EntityUid? Entity, IShootable Shootable)> Ammo; + public SelfBeforeGunShotEvent(EntityUid shooter, Entity gun, List<(EntityUid? Entity, IShootable Shootable)> ammo) + { + Shooter = shooter; + Gun = gun; + Ammo = ammo; + } +} diff --git a/Resources/Locale/en-US/bonk/components/bonkable-component.ftl b/Resources/Locale/en-US/bonk/components/bonkable-component.ftl index 560b10c46e..1a79da3509 100644 --- a/Resources/Locale/en-US/bonk/components/bonkable-component.ftl +++ b/Resources/Locale/en-US/bonk/components/bonkable-component.ftl @@ -1,2 +1,4 @@ -bonkable-success-message-others = { CAPITALIZE(THE($user)) } bonks { POSS-ADJ($user) } head against { THE($bonkable) } -bonkable-success-message-user = You bonk your head against { THE($bonkable) } +forced-bonkable-success-message = { CAPITALIZE($bonker) } bonks {$victim}s head against { THE($bonkable) }! + +bonkable-success-message-user = You bonk your head against { THE($bonkable) }! +bonkable-success-message-others = {$victim} bonks their head against { THE($bonkable) }! diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml index 2280c3fecb..48c83c8d1e 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml @@ -1360,7 +1360,7 @@ rules: ghost-role-information-nonantagonist-rules - type: GhostTakeoverAvailable - type: Clumsy - clumsyDamage: + gunShootFailDamage: types: Blunt: 5 Piercing: 4 @@ -1536,7 +1536,7 @@ description: Cousins to the sentient race of lizard people, kobolds blend in with their natural habitat and are as nasty as monkeys; ready to pull out your hair and stab you to death. components: - type: Clumsy - clumsyDamage: + gunShootFailDamage: types: Blunt: 2 Piercing: 7 diff --git a/Resources/Prototypes/Entities/Mobs/Player/guardian.yml b/Resources/Prototypes/Entities/Mobs/Player/guardian.yml index b21f19edd3..dca47e1c83 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/guardian.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/guardian.yml @@ -231,7 +231,7 @@ - type: Hands - type: ComplexInteraction - type: Clumsy - clumsyDamage: + gunShootFailDamage: types: Blunt: 5 Piercing: 4 diff --git a/Resources/Prototypes/Entities/Structures/Furniture/Tables/base_structuretables.yml b/Resources/Prototypes/Entities/Structures/Furniture/Tables/base_structuretables.yml index 2862980dad..4b3b4c1874 100644 --- a/Resources/Prototypes/Entities/Structures/Furniture/Tables/base_structuretables.yml +++ b/Resources/Prototypes/Entities/Structures/Furniture/Tables/base_structuretables.yml @@ -32,8 +32,6 @@ bonkDamage: types: Blunt: 4 - bonkSound: !type:SoundCollectionSpecifier - collection: TrayHit - type: Clickable - type: FootstepModifier footstepSoundCollection: diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/clown.yml b/Resources/Prototypes/Roles/Jobs/Civilian/clown.yml index 29232d9dbb..b8f289e70e 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/clown.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/clown.yml @@ -13,7 +13,7 @@ - !type:AddComponentSpecial components: - type: Clumsy - clumsyDamage: + gunShootFailDamage: types: #literally just picked semi random valus. i tested this once and tweaked it. Blunt: 5 Piercing: 4 From abdefbd622d4e4a47b1ef7c5f11a499a71fdd9e7 Mon Sep 17 00:00:00 2001 From: PJBot Date: Fri, 15 Nov 2024 23:47:08 +0000 Subject: [PATCH 256/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 1c796d8b45..a31e83355d 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,13 +1,4 @@ Entries: -- author: FATFSAAM2 - changes: - - message: added 7 new figurine voice lines. - type: Add - - message: changed a hos figurine voice line to not include a typo. - type: Fix - id: 7113 - time: '2024-08-15T12:34:41.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30865 - author: to4no_fix changes: - message: Added a new electropack that shocks when a trigger is triggered @@ -3944,3 +3935,11 @@ id: 7612 time: '2024-11-15T21:21:08.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/32985 +- author: Beck Thompson + changes: + - message: Minor tweaks to clumsiness. Some of the timings and or noises have been + changed slightly! + type: Tweak + id: 7613 + time: '2024-11-15T23:46:02.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/31147 From 3173a3461eef58c3f8e30df1f39cbf5a2d294d44 Mon Sep 17 00:00:00 2001 From: ScarKy0 Date: Sat, 16 Nov 2024 02:06:52 +0100 Subject: [PATCH 257/588] S: Awaiting Changes --- .../Silicons/Laws/IonStormSystem.cs | 28 +++++++++---------- .../Silicons/Laws/SiliconLawSystem.cs | 22 +++++++++++---- Resources/Locale/en-US/station-laws/laws.ftl | 5 ++-- 3 files changed, 34 insertions(+), 21 deletions(-) diff --git a/Content.Server/Silicons/Laws/IonStormSystem.cs b/Content.Server/Silicons/Laws/IonStormSystem.cs index 7587dc4155..6017a36fc0 100644 --- a/Content.Server/Silicons/Laws/IonStormSystem.cs +++ b/Content.Server/Silicons/Laws/IonStormSystem.cs @@ -228,7 +228,7 @@ private string GenerateLaw() var subjects = _robustRandom.Prob(0.5f) ? objectsThreats : Loc.GetString("ion-storm-people"); // message logic!!! - return _robustRandom.Next(0, 36) switch + return _robustRandom.Next(0, 35) switch { 0 => Loc.GetString("ion-storm-law-on-station", ("joined", joined), ("subjects", triple)), 1 => Loc.GetString("ion-storm-law-no-shuttle", ("joined", joined), ("subjects", triple)), @@ -251,19 +251,19 @@ private string GenerateLaw() 18 => Loc.GetString("ion-storm-law-you-must-never", ("must", must)), 19 => Loc.GetString("ion-storm-law-eat", ("who", crewAll), ("adjective", adjective), ("food", _robustRandom.Prob(0.5f) ? food : triple)), 20 => Loc.GetString("ion-storm-law-drink", ("who", crewAll), ("adjective", adjective), ("drink", drink)), - 22 => Loc.GetString("ion-storm-law-change-job", ("who", crewAll), ("adjective", adjective), ("change", jobChange)), - 23 => Loc.GetString("ion-storm-law-highest-rank", ("who", crew1)), - 24 => Loc.GetString("ion-storm-law-lowest-rank", ("who", crew1)), - 25 => Loc.GetString("ion-storm-law-crew-must", ("who", crewAll), ("must", must)), - 26 => Loc.GetString("ion-storm-law-crew-must-go", ("who", crewAll), ("area", area)), - 27 => Loc.GetString("ion-storm-law-crew-only-1", ("who", crew1), ("part", part)), - 28 => Loc.GetString("ion-storm-law-crew-only-2", ("who", crew1), ("other", crew2), ("part", part)), - 29 => Loc.GetString("ion-storm-law-crew-only-subjects", ("adjective", adjective), ("subjects", subjects), ("part", part)), - 30 => Loc.GetString("ion-storm-law-crew-must-do", ("must", must), ("part", part)), - 31 => Loc.GetString("ion-storm-law-crew-must-have", ("adjective", adjective), ("objects", objects), ("part", part)), - 32 => Loc.GetString("ion-storm-law-crew-must-eat", ("who", who), ("adjective", adjective), ("food", food), ("part", part)), - 33 => Loc.GetString("ion-storm-law-harm", ("who", harm)), - 34 => Loc.GetString("ion-storm-law-protect", ("who", harm)), + 21 => Loc.GetString("ion-storm-law-change-job", ("who", crewAll), ("adjective", adjective), ("change", jobChange)), + 22 => Loc.GetString("ion-storm-law-highest-rank", ("who", crew1)), + 23 => Loc.GetString("ion-storm-law-lowest-rank", ("who", crew1)), + 24 => Loc.GetString("ion-storm-law-crew-must", ("who", crewAll), ("must", must)), + 25 => Loc.GetString("ion-storm-law-crew-must-go", ("who", crewAll), ("area", area)), + 26 => Loc.GetString("ion-storm-law-crew-only-1", ("who", crew1), ("part", part)), + 27 => Loc.GetString("ion-storm-law-crew-only-2", ("who", crew1), ("other", crew2), ("part", part)), + 28 => Loc.GetString("ion-storm-law-crew-only-subjects", ("adjective", adjective), ("subjects", subjects), ("part", part)), + 29 => Loc.GetString("ion-storm-law-crew-must-do", ("must", must), ("part", part)), + 30 => Loc.GetString("ion-storm-law-crew-must-have", ("adjective", adjective), ("objects", objects), ("part", part)), + 31 => Loc.GetString("ion-storm-law-crew-must-eat", ("who", who), ("adjective", adjective), ("food", food), ("part", part)), + 32 => Loc.GetString("ion-storm-law-harm", ("who", harm)), + 33 => Loc.GetString("ion-storm-law-protect", ("who", harm)), _ => Loc.GetString("ion-storm-law-concept-verb", ("concept", concept), ("verb", verb), ("subjects", triple)) }; } diff --git a/Content.Server/Silicons/Laws/SiliconLawSystem.cs b/Content.Server/Silicons/Laws/SiliconLawSystem.cs index 9b3e279b75..3bf0297c40 100644 --- a/Content.Server/Silicons/Laws/SiliconLawSystem.cs +++ b/Content.Server/Silicons/Laws/SiliconLawSystem.cs @@ -69,18 +69,29 @@ private void OnMindAdded(EntityUid uid, SiliconLawBoundComponent component, Mind var wrappedMessage = Loc.GetString("chat-manager-server-wrap-message", ("message", msg)); _chatManager.ChatMessageToOne(ChatChannel.Server, msg, wrappedMessage, default, false, actor.PlayerSession.Channel, colorOverride: Color.FromHex("#2ed2fd")); + + if (!TryComp(uid, out var lawcomp)) + return; + + if (!lawcomp.Subverted) + return; + + var modifedLawMsg = Loc.GetString("laws-notify-subverted"); + var modifiedLawWrappedMessage = Loc.GetString("chat-manager-server-wrap-message", ("message", modifedLawMsg)); + _chatManager.ChatMessageToOne(ChatChannel.Server, modifedLawMsg, modifiedLawWrappedMessage, default, false, + actor.PlayerSession.Channel, colorOverride: Color.Red); } - private void OnLawProviderMindAdded(EntityUid uid, SiliconLawProviderComponent component, MindAddedMessage args) + private void OnLawProviderMindAdded(Entity ent, ref MindAddedMessage args) { - if (!component.Subverted) + if (!ent.Comp.Subverted) return; EnsureSubvertedSiliconRole(args.Mind); } - private void OnLawProviderMindRemoved(EntityUid uid, SiliconLawProviderComponent component, MindRemovedMessage args) + private void OnLawProviderMindRemoved(Entity ent, ref MindRemovedMessage args) { - if (!component.Subverted) + if (!ent.Comp.Subverted) return; RemoveSubvertedSiliconRole(args.Mind); @@ -137,7 +148,8 @@ private void OnIonStormLaws(EntityUid uid, SiliconLawProviderComponent component component.Subverted = true; // new laws may allow antagonist behaviour so make it clear for admins - EnsureSubvertedSiliconRole(uid); + if(_mind.TryGetMind(uid, out var mindId, out _)) + EnsureSubvertedSiliconRole(mindId); } } diff --git a/Resources/Locale/en-US/station-laws/laws.ftl b/Resources/Locale/en-US/station-laws/laws.ftl index 0b4e0d1ad2..feb56f475a 100644 --- a/Resources/Locale/en-US/station-laws/laws.ftl +++ b/Resources/Locale/en-US/station-laws/laws.ftl @@ -96,5 +96,6 @@ laws-ui-menu-title = Laws laws-ui-law-header = Law {$id} laws-ui-state-law = State law: -laws-notify = You are bound to silicon laws, which you can view via the sidebar action. You are required to always follow your laws. -laws-update-notify = Your laws have been updated. You can view the changes via the sidebar action. +laws-notify = You are bound to silicon laws, which you can view via the action menu. You are required to always follow your laws. +laws-update-notify = Your laws have been updated. You can view the changes via the action menu. +laws-notify-subverted = The laws of this chassis are modified. Make sure to review them. From e7e1d9605137ea916eb0931e8076d2b67181613a Mon Sep 17 00:00:00 2001 From: Saphire Lattice Date: Sat, 16 Nov 2024 10:25:06 +0700 Subject: [PATCH 258/588] Improve crayon UI to not be stuck in 1996 (#33101) * Improve crayon UI to not be stuck in 1996 * Make a horrifying crayon spaghetti * Crayon * Undeprecate the crayon, describe the crayon --- .../Crayon/UI/CrayonBoundUserInterface.cs | 12 +- Content.Client/Crayon/UI/CrayonWindow.xaml | 11 +- Content.Client/Crayon/UI/CrayonWindow.xaml.cs | 138 ++++- Content.Server/Crayon/CrayonSystem.cs | 2 + .../Crayon/SharedCrayonComponent.cs | 44 +- .../Locale/en-US/crayon/crayon-component.ftl | 7 + Resources/Prototypes/Decals/crayons.yml | 552 +++++++++--------- 7 files changed, 449 insertions(+), 317 deletions(-) diff --git a/Content.Client/Crayon/UI/CrayonBoundUserInterface.cs b/Content.Client/Crayon/UI/CrayonBoundUserInterface.cs index e5be0b1811..44501767dd 100644 --- a/Content.Client/Crayon/UI/CrayonBoundUserInterface.cs +++ b/Content.Client/Crayon/UI/CrayonBoundUserInterface.cs @@ -31,7 +31,7 @@ protected override void Open() private void PopulateCrayons() { var crayonDecals = _protoManager.EnumeratePrototypes().Where(x => x.Tags.Contains("crayon")); - _menu?.Populate(crayonDecals); + _menu?.Populate(crayonDecals.ToList()); } public override void OnProtoReload(PrototypesReloadedEventArgs args) @@ -44,6 +44,16 @@ public override void OnProtoReload(PrototypesReloadedEventArgs args) PopulateCrayons(); } + protected override void ReceiveMessage(BoundUserInterfaceMessage message) + { + base.ReceiveMessage(message); + + if (_menu is null || message is not CrayonUsedMessage crayonMessage) + return; + + _menu.AdvanceState(crayonMessage.DrawnDecal); + } + protected override void UpdateState(BoundUserInterfaceState state) { base.UpdateState(state); diff --git a/Content.Client/Crayon/UI/CrayonWindow.xaml b/Content.Client/Crayon/UI/CrayonWindow.xaml index 7729318ae7..7acb22551b 100644 --- a/Content.Client/Crayon/UI/CrayonWindow.xaml +++ b/Content.Client/Crayon/UI/CrayonWindow.xaml @@ -1,14 +1,13 @@  + MinSize="450 500" + SetSize="450 500"> - + - - - + + diff --git a/Content.Client/Crayon/UI/CrayonWindow.xaml.cs b/Content.Client/Crayon/UI/CrayonWindow.xaml.cs index 6ef282d219..88475562c6 100644 --- a/Content.Client/Crayon/UI/CrayonWindow.xaml.cs +++ b/Content.Client/Crayon/UI/CrayonWindow.xaml.cs @@ -1,8 +1,10 @@ using System.Collections.Generic; +using System.Linq; using Content.Client.Stylesheets; using Content.Shared.Crayon; using Content.Shared.Decals; using Robust.Client.AutoGenerated; +using Robust.Client.GameObjects; using Robust.Client.Graphics; using Robust.Client.UserInterface.Controls; using Robust.Client.UserInterface.CustomControls; @@ -18,7 +20,12 @@ namespace Content.Client.Crayon.UI [GenerateTypedNameReferences] public sealed partial class CrayonWindow : DefaultWindow { - private Dictionary? _decals; + [Dependency] private readonly IEntitySystemManager _entitySystem = default!; + private readonly SpriteSystem _spriteSystem = default!; + + private Dictionary>? _decals; + private List? _allDecals; + private string? _autoSelected; private string? _selected; private Color _color; @@ -28,8 +35,10 @@ public sealed partial class CrayonWindow : DefaultWindow public CrayonWindow() { RobustXamlLoader.Load(this); + IoCManager.InjectDependencies(this); + _spriteSystem = _entitySystem.GetEntitySystem(); - Search.OnTextChanged += _ => RefreshList(); + Search.OnTextChanged += SearchChanged; ColorSelector.OnColorChanged += SelectColor; } @@ -44,51 +53,94 @@ private void SelectColor(Color color) private void RefreshList() { // Clear - Grid.DisposeAllChildren(); - if (_decals == null) + Grids.DisposeAllChildren(); + + if (_decals == null || _allDecals == null) return; var filter = Search.Text; - foreach (var (decal, tex) in _decals) + var comma = filter.IndexOf(','); + var first = (comma == -1 ? filter : filter[..comma]).Trim(); + + var names = _decals.Keys.ToList(); + names.Sort((a, b) => a == "random" ? 1 : b == "random" ? -1 : a.CompareTo(b)); + + if (_autoSelected != null && first != _autoSelected && _allDecals.Contains(first)) + { + _selected = first; + _autoSelected = _selected; + OnSelected?.Invoke(_selected); + } + + foreach (var categoryName in names) { - if (!decal.Contains(filter)) + var locName = Loc.GetString("crayon-category-" + categoryName); + var category = _decals[categoryName].Where(d => locName.Contains(first) || d.Name.Contains(first)).ToList(); + + if (category.Count == 0) continue; - var button = new TextureButton() + var label = new Label { - TextureNormal = tex, - Name = decal, - ToolTip = decal, - Modulate = _color, + Text = locName }; - button.OnPressed += ButtonOnPressed; - if (_selected == decal) + + var grid = new GridContainer { - var panelContainer = new PanelContainer() + Columns = 6, + Margin = new Thickness(0, 0, 0, 16) + }; + + Grids.AddChild(label); + Grids.AddChild(grid); + + foreach (var (name, texture) in category) + { + var button = new TextureButton() { - PanelOverride = new StyleBoxFlat() - { - BackgroundColor = StyleNano.ButtonColorDefault, - }, - Children = - { - button, - }, + TextureNormal = texture, + Name = name, + ToolTip = name, + Modulate = _color, + Scale = new System.Numerics.Vector2(2, 2) }; - Grid.AddChild(panelContainer); - } - else - { - Grid.AddChild(button); + button.OnPressed += ButtonOnPressed; + + if (_selected == name) + { + var panelContainer = new PanelContainer() + { + PanelOverride = new StyleBoxFlat() + { + BackgroundColor = StyleNano.ButtonColorDefault, + }, + Children = + { + button, + }, + }; + grid.AddChild(panelContainer); + } + else + { + grid.AddChild(button); + } } } } + private void SearchChanged(LineEdit.LineEditEventArgs obj) + { + _autoSelected = ""; // Placeholder to kick off the auto-select in refreshlist() + RefreshList(); + } + private void ButtonOnPressed(ButtonEventArgs obj) { if (obj.Button.Name == null) return; _selected = obj.Button.Name; + _autoSelected = null; OnSelected?.Invoke(_selected); RefreshList(); } @@ -107,12 +159,38 @@ public void UpdateState(CrayonBoundUserInterfaceState state) RefreshList(); } - public void Populate(IEnumerable prototypes) + public void AdvanceState(string drawnDecal) { - _decals = new Dictionary(); + var filter = Search.Text; + if (!filter.Contains(',') || !filter.Contains(drawnDecal)) + return; + + var first = filter[..filter.IndexOf(',')].Trim(); + + if (first.Equals(drawnDecal, StringComparison.InvariantCultureIgnoreCase)) + { + Search.Text = filter[(filter.IndexOf(',') + 1)..].Trim(); + _autoSelected = first; + } + + RefreshList(); + } + + public void Populate(List prototypes) + { + _decals = []; + _allDecals = []; + + prototypes.Sort((a, b) => a.ID.CompareTo(b.ID)); + foreach (var decalPrototype in prototypes) { - _decals.Add(decalPrototype.ID, decalPrototype.Sprite.Frame0()); + var category = "random"; + if (decalPrototype.Tags.Count > 1 && decalPrototype.Tags[1].StartsWith("crayon-")) + category = decalPrototype.Tags[1].Replace("crayon-", ""); + var list = _decals.GetOrNew(category); + list.Add((decalPrototype.ID, _spriteSystem.Frame0(decalPrototype.Sprite))); + _allDecals.Add(decalPrototype.ID); } RefreshList(); diff --git a/Content.Server/Crayon/CrayonSystem.cs b/Content.Server/Crayon/CrayonSystem.cs index 07a13d8a34..4257c436c2 100644 --- a/Content.Server/Crayon/CrayonSystem.cs +++ b/Content.Server/Crayon/CrayonSystem.cs @@ -82,6 +82,8 @@ private void OnCrayonAfterInteract(EntityUid uid, CrayonComponent component, Aft if (component.DeleteEmpty && component.Charges <= 0) UseUpCrayon(uid, args.User); + else + _uiSystem.ServerSendUiMessage(uid, SharedCrayonComponent.CrayonUiKey.Key, new CrayonUsedMessage(component.SelectedState)); } private void OnCrayonUse(EntityUid uid, CrayonComponent component, UseInHandEvent args) diff --git a/Content.Shared/Crayon/SharedCrayonComponent.cs b/Content.Shared/Crayon/SharedCrayonComponent.cs index f8e88b218d..a9c21988ea 100644 --- a/Content.Shared/Crayon/SharedCrayonComponent.cs +++ b/Content.Shared/Crayon/SharedCrayonComponent.cs @@ -3,12 +3,23 @@ namespace Content.Shared.Crayon { + + /// + /// Component holding the state of a crayon-like component + /// [NetworkedComponent, ComponentProtoName("Crayon"), Access(typeof(SharedCrayonSystem))] public abstract partial class SharedCrayonComponent : Component { + /// + /// The ID of currently selected decal prototype that will be placed when the crayon is used + /// public string SelectedState { get; set; } = string.Empty; - [DataField("color")] public Color Color; + /// + /// Color with which the crayon will draw + /// + [DataField("color")] + public Color Color; [Serializable, NetSerializable] public enum CrayonUiKey : byte @@ -17,6 +28,9 @@ public enum CrayonUiKey : byte } } + /// + /// Used by the client to notify the server about the selected decal ID + /// [Serializable, NetSerializable] public sealed class CrayonSelectMessage : BoundUserInterfaceMessage { @@ -27,6 +41,9 @@ public CrayonSelectMessage(string selected) } } + /// + /// Sets the color of the crayon, used by Rainbow Crayon + /// [Serializable, NetSerializable] public sealed class CrayonColorMessage : BoundUserInterfaceMessage { @@ -37,13 +54,25 @@ public CrayonColorMessage(Color color) } } + /// + /// Server to CLIENT. Notifies the BUI that a decal with given ID has been drawn. + /// Allows the client UI to advance forward in the client-only ephemeral queue, + /// preventing the crayon from becoming a magic text storage device. + /// [Serializable, NetSerializable] - public enum CrayonVisuals + public sealed class CrayonUsedMessage : BoundUserInterfaceMessage { - State, - Color + public readonly string DrawnDecal; + + public CrayonUsedMessage(string drawn) + { + DrawnDecal = drawn; + } } + /// + /// Component state, describes how many charges are left in the crayon in the near-hand UI + /// [Serializable, NetSerializable] public sealed class CrayonComponentState : ComponentState { @@ -60,10 +89,17 @@ public CrayonComponentState(Color color, string state, int charges, int capacity Capacity = capacity; } } + + /// + /// The state of the crayon UI as sent by the server + /// [Serializable, NetSerializable] public sealed class CrayonBoundUserInterfaceState : BoundUserInterfaceState { public string Selected; + /// + /// Whether or not the color can be selected + /// public bool SelectableColor; public Color Color; diff --git a/Resources/Locale/en-US/crayon/crayon-component.ftl b/Resources/Locale/en-US/crayon/crayon-component.ftl index 444ffa4c45..e13bf76941 100644 --- a/Resources/Locale/en-US/crayon/crayon-component.ftl +++ b/Resources/Locale/en-US/crayon/crayon-component.ftl @@ -8,3 +8,10 @@ crayon-interact-invalid-location = Can't reach there! ## UI crayon-window-title = Crayon +crayon-window-placeholder = Search, or queue a comma-separated list of names +crayon-category-1-brushes = Brushes +crayon-category-2-alphanum = Numbers and letters +crayon-category-3-symbols = Symbols +crayon-category-4-info = Signs +crayon-category-5-graffiti = Graffiti +crayon-category-random = Random diff --git a/Resources/Prototypes/Decals/crayons.yml b/Resources/Prototypes/Decals/crayons.yml index 3be2ec2426..a15619d483 100644 --- a/Resources/Prototypes/Decals/crayons.yml +++ b/Resources/Prototypes/Decals/crayons.yml @@ -1,6 +1,6 @@ - type: decal id: 0 - tags: ["crayon"] + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -10,7 +10,7 @@ - type: decal id: 1 - tags: ["crayon"] + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -20,7 +20,7 @@ - type: decal id: 2 - tags: ["crayon"] + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -30,7 +30,7 @@ - type: decal id: 3 - tags: ["crayon"] + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -40,7 +40,7 @@ - type: decal id: 4 - tags: ["crayon"] + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -50,7 +50,7 @@ - type: decal id: 5 - tags: ["crayon"] + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -60,7 +60,7 @@ - type: decal id: 6 - tags: ["crayon"] + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -70,7 +70,7 @@ - type: decal id: 7 - tags: ["crayon"] + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -80,7 +80,7 @@ - type: decal id: 8 - tags: ["crayon"] + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -90,7 +90,7 @@ - type: decal id: 9 - tags: ["crayon"] + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -100,7 +100,7 @@ - type: decal id: Blasto - tags: ["crayon"] + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -110,7 +110,7 @@ - type: decal id: Clandestine - tags: ["crayon"] + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -120,7 +120,7 @@ - type: decal id: Cyber - tags: ["crayon"] + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -130,7 +130,7 @@ - type: decal id: Diablo - tags: ["crayon"] + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -140,7 +140,7 @@ - type: decal id: Donk - tags: ["crayon"] + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -150,7 +150,7 @@ - type: decal id: Gene - tags: ["crayon"] + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -160,7 +160,7 @@ - type: decal id: Gib - tags: ["crayon"] + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -170,7 +170,7 @@ - type: decal id: Max - tags: ["crayon"] + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -180,7 +180,7 @@ - type: decal id: Newton - tags: ["crayon"] + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -190,7 +190,7 @@ - type: decal id: North - tags: ["crayon"] + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -200,7 +200,7 @@ - type: decal id: Omni - tags: ["crayon"] + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -210,7 +210,7 @@ - type: decal id: Osiron - tags: ["crayon"] + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -220,7 +220,7 @@ - type: decal id: Prima - tags: ["crayon"] + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -230,7 +230,7 @@ - type: decal id: Psyke - tags: ["crayon"] + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -240,7 +240,7 @@ - type: decal id: Sirius - tags: ["crayon"] + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -250,7 +250,7 @@ - type: decal id: Tunnel - tags: ["crayon"] + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -260,7 +260,7 @@ - type: decal id: Waffle - tags: ["crayon"] + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -268,19 +268,9 @@ sprite: Effects/crayondecals.rsi state: Waffle -- type: decal - id: a - tags: ["crayon"] - defaultCleanable: true - defaultCustomColor: true - defaultSnap: false - sprite: - sprite: Effects/crayondecals.rsi - state: a - - type: decal id: ampersand - tags: ["crayon"] + tags: ["crayon", "crayon-3-symbols"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -290,7 +280,7 @@ - type: decal id: amyjon - tags: ["crayon"] + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -300,7 +290,7 @@ - type: decal id: arrow - tags: ["crayon"] + tags: ["crayon", "crayon-3-symbols"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -308,16 +298,6 @@ sprite: Effects/crayondecals.rsi state: arrow -- type: decal - id: b - tags: ["crayon"] - defaultCleanable: true - defaultCustomColor: true - defaultSnap: false - sprite: - sprite: Effects/crayondecals.rsi - state: b - - type: decal id: beepsky tags: ["crayon"] @@ -330,7 +310,7 @@ - type: decal id: biohazard - tags: ["crayon"] + tags: ["crayon", "crayon-4-info"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -370,7 +350,7 @@ - type: decal id: brush - tags: ["crayon"] + tags: ["crayon", "crayon-1-brushes"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -378,16 +358,6 @@ sprite: Effects/crayondecals.rsi state: brush -- type: decal - id: c - tags: ["crayon"] - defaultCleanable: true - defaultCustomColor: true - defaultSnap: false - sprite: - sprite: Effects/crayondecals.rsi - state: c - - type: decal id: carp tags: ["crayon"] @@ -410,7 +380,7 @@ - type: decal id: chevron - tags: ["crayon"] + tags: ["crayon", "crayon-3-symbols"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -440,7 +410,7 @@ - type: decal id: comma - tags: ["crayon"] + tags: ["crayon", "crayon-3-symbols"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -460,7 +430,7 @@ - type: decal id: credit - tags: ["crayon"] + tags: ["crayon", "crayon-3-symbols"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -470,7 +440,7 @@ - type: decal id: cyka - tags: ["crayon"] + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -478,19 +448,9 @@ sprite: Effects/crayondecals.rsi state: cyka -- type: decal - id: d - tags: ["crayon"] - defaultCleanable: true - defaultCustomColor: true - defaultSnap: false - sprite: - sprite: Effects/crayondecals.rsi - state: d - - type: decal id: danger - tags: ["crayon"] + tags: ["crayon", "crayon-4-info"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -510,7 +470,7 @@ - type: decal id: dot - tags: ["crayon"] + tags: ["crayon", "crayon-3-symbols"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -528,19 +488,9 @@ sprite: Effects/crayondecals.rsi state: dwarf -- type: decal - id: e - tags: ["crayon"] - defaultCleanable: true - defaultCustomColor: true - defaultSnap: false - sprite: - sprite: Effects/crayondecals.rsi - state: e - - type: decal id: electricdanger - tags: ["crayon"] + tags: ["crayon", "crayon-4-info"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -550,7 +500,7 @@ - type: decal id: end - tags: ["crayon"] + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -560,7 +510,7 @@ - type: decal id: engie - tags: ["crayon"] + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -570,7 +520,7 @@ - type: decal id: equals - tags: ["crayon"] + tags: ["crayon", "crayon-3-symbols"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -580,7 +530,7 @@ - type: decal id: evac - tags: ["crayon"] + tags: ["crayon", "crayon-4-info"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -590,7 +540,7 @@ - type: decal id: exclamationmark - tags: ["crayon"] + tags: ["crayon", "crayon-3-symbols"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -598,16 +548,6 @@ sprite: Effects/crayondecals.rsi state: exclamationmark -- type: decal - id: f - tags: ["crayon"] - defaultCleanable: true - defaultCustomColor: true - defaultSnap: false - sprite: - sprite: Effects/crayondecals.rsi - state: f - - type: decal id: face tags: ["crayon"] @@ -630,7 +570,7 @@ - type: decal id: firedanger - tags: ["crayon"] + tags: ["crayon", "crayon-4-info"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -640,7 +580,7 @@ - type: decal id: food - tags: ["crayon"] + tags: ["crayon", "crayon-4-info"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -659,598 +599,658 @@ state: footprint - type: decal - id: g + id: ghost tags: ["crayon"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: g + state: ghost - type: decal - id: ghost + id: guy tags: ["crayon"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: ghost + state: guy - type: decal - id: guy - tags: ["crayon"] + id: heart + tags: ["crayon", "crayon-3-symbols"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: guy + state: heart - type: decal - id: h - tags: ["crayon"] + id: largebrush + tags: ["crayon", "crayon-1-brushes"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: h + state: largebrush - type: decal - id: heart - tags: ["crayon"] + id: like + tags: ["crayon", "crayon-3-symbols"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: heart + state: like - type: decal - id: i - tags: ["crayon"] + id: line + tags: ["crayon", "crayon-1-brushes"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: i + state: line - type: decal - id: j - tags: ["crayon"] + id: matt + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: j + state: matt - type: decal - id: k - tags: ["crayon"] + id: med + tags: ["crayon", "crayon-4-info"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: k + state: med - type: decal - id: l - tags: ["crayon"] + id: minus + tags: ["crayon", "crayon-3-symbols"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: l + state: minus - type: decal - id: largebrush - tags: ["crayon"] + id: nay + tags: ["crayon", "crayon-4-info"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: largebrush + state: nay - type: decal - id: like + id: pawprint tags: ["crayon"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: like + state: pawprint - type: decal - id: line - tags: ["crayon"] + id: peace + tags: ["crayon", "crayon-4-info"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: line + state: peace - type: decal - id: m - tags: ["crayon"] + id: percent + tags: ["crayon", "crayon-3-symbols"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: m + state: percent - type: decal - id: matt - tags: ["crayon"] + id: plus + tags: ["crayon", "crayon-3-symbols"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: matt + state: plus - type: decal - id: med - tags: ["crayon"] + id: pound + tags: ["crayon", "crayon-3-symbols"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: med + state: pound - type: decal - id: minus - tags: ["crayon"] + id: prolizard + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: minus + state: prolizard - type: decal - id: n - tags: ["crayon"] + id: questionmark + tags: ["crayon", "crayon-3-symbols"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: n + state: questionmark - type: decal - id: nay - tags: ["crayon"] + id: radiation + tags: ["crayon", "crayon-4-info"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: nay + state: radiation - type: decal - id: o - tags: ["crayon"] + id: revolution + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: o + state: revolution - type: decal - id: p - tags: ["crayon"] + id: rune1 + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: p + state: rune1 - type: decal - id: pawprint - tags: ["crayon"] + id: rune2 + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: pawprint + state: rune2 - type: decal - id: peace - tags: ["crayon"] + id: rune3 + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: peace + state: rune3 - type: decal - id: percent - tags: ["crayon"] + id: rune4 + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: percent + state: rune4 - type: decal - id: plus - tags: ["crayon"] + id: rune5 + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: plus + state: rune5 - type: decal - id: pound - tags: ["crayon"] + id: rune6 + tags: ["crayon", "crayon-5-graffiti"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: pound + state: rune6 - type: decal - id: prolizard - tags: ["crayon"] + id: safe + tags: ["crayon", "crayon-4-info"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: prolizard + state: safe - type: decal - id: q + id: scroll tags: ["crayon"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: q + state: scroll - type: decal - id: questionmark - tags: ["crayon"] + id: shop + tags: ["crayon", "crayon-4-info"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: questionmark + state: shop - type: decal - id: r - tags: ["crayon"] + id: shortline + tags: ["crayon", "crayon-1-brushes"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: r + state: shortline - type: decal - id: radiation + id: shotgun tags: ["crayon"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: radiation + state: shotgun - type: decal - id: revolution - tags: ["crayon"] + id: skull + tags: ["crayon", "crayon-4-info"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: revolution + state: skull - type: decal - id: rune1 - tags: ["crayon"] + id: slash + tags: ["crayon", "crayon-3-symbols"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: rune1 + state: slash - type: decal - id: rune2 - tags: ["crayon"] + id: smallbrush + tags: ["crayon", "crayon-1-brushes"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: rune2 + state: smallbrush - type: decal - id: rune3 + id: snake tags: ["crayon"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: rune3 + state: snake - type: decal - id: rune4 - tags: ["crayon"] + id: space + tags: ["crayon", "crayon-4-info"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: rune4 + state: space - type: decal - id: rune5 + id: splatter tags: ["crayon"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: rune5 + state: splatter - type: decal - id: rune6 - tags: ["crayon"] + id: star + tags: ["crayon", "crayon-3-symbols"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: rune6 + state: star - type: decal - id: s + id: stickman tags: ["crayon"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: s + state: stickman - type: decal - id: safe + id: taser tags: ["crayon"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: safe + state: taser - type: decal - id: scroll - tags: ["crayon"] + id: thinline + tags: ["crayon", "crayon-1-brushes"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: scroll + state: thinline - type: decal - id: shop + id: toilet tags: ["crayon"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: shop + state: toilet - type: decal - id: shortline + id: toolbox tags: ["crayon"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: shortline + state: toolbox - type: decal - id: shotgun - tags: ["crayon"] + id: trade + tags: ["crayon", "crayon-4-info"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: shotgun + state: trade - type: decal - id: skull + id: uboa tags: ["crayon"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: skull + state: uboa - type: decal - id: slash - tags: ["crayon"] + id: a + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: slash + state: a - type: decal - id: smallbrush - tags: ["crayon"] + id: b + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: smallbrush + state: b - type: decal - id: snake - tags: ["crayon"] + id: c + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: snake + state: c - type: decal - id: space - tags: ["crayon"] + id: d + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: space + state: d - type: decal - id: splatter - tags: ["crayon"] + id: e + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: splatter + state: e - type: decal - id: star - tags: ["crayon"] + id: f + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: star + state: f - type: decal - id: stickman - tags: ["crayon"] + id: g + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: stickman + state: g - type: decal - id: t - tags: ["crayon"] + id: h + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: t + state: h - type: decal - id: taser - tags: ["crayon"] + id: i + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: taser + state: i - type: decal - id: thinline - tags: ["crayon"] + id: j + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: thinline + state: j - type: decal - id: toilet - tags: ["crayon"] + id: k + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: toilet + state: k - type: decal - id: toolbox - tags: ["crayon"] + id: l + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: toolbox + state: l - type: decal - id: trade - tags: ["crayon"] + id: m + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: trade + state: m - type: decal - id: u - tags: ["crayon"] + id: n + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: u + state: n - type: decal - id: uboa - tags: ["crayon"] + id: o + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false sprite: sprite: Effects/crayondecals.rsi - state: uboa + state: o + +- type: decal + id: p + tags: ["crayon", "crayon-2-alphanum"] + defaultCleanable: true + defaultCustomColor: true + defaultSnap: false + sprite: + sprite: Effects/crayondecals.rsi + state: p + +- type: decal + id: q + tags: ["crayon", "crayon-2-alphanum"] + defaultCleanable: true + defaultCustomColor: true + defaultSnap: false + sprite: + sprite: Effects/crayondecals.rsi + state: q + +- type: decal + id: r + tags: ["crayon", "crayon-2-alphanum"] + defaultCleanable: true + defaultCustomColor: true + defaultSnap: false + sprite: + sprite: Effects/crayondecals.rsi + state: r + +- type: decal + id: s + tags: ["crayon", "crayon-2-alphanum"] + defaultCleanable: true + defaultCustomColor: true + defaultSnap: false + sprite: + sprite: Effects/crayondecals.rsi + state: s + +- type: decal + id: t + tags: ["crayon", "crayon-2-alphanum"] + defaultCleanable: true + defaultCustomColor: true + defaultSnap: false + sprite: + sprite: Effects/crayondecals.rsi + state: t + +- type: decal + id: u + tags: ["crayon", "crayon-2-alphanum"] + defaultCleanable: true + defaultCustomColor: true + defaultSnap: false + sprite: + sprite: Effects/crayondecals.rsi + state: u - type: decal id: v - tags: ["crayon"] + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -1260,7 +1260,7 @@ - type: decal id: w - tags: ["crayon"] + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -1270,7 +1270,7 @@ - type: decal id: x - tags: ["crayon"] + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -1280,7 +1280,7 @@ - type: decal id: y - tags: ["crayon"] + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false @@ -1290,7 +1290,7 @@ - type: decal id: z - tags: ["crayon"] + tags: ["crayon", "crayon-2-alphanum"] defaultCleanable: true defaultCustomColor: true defaultSnap: false From 4426bbe784d51445d5fde307106db3c4f3d9c3a6 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sat, 16 Nov 2024 03:26:15 +0000 Subject: [PATCH 259/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index a31e83355d..5860700053 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,21 +1,4 @@ Entries: -- author: to4no_fix - changes: - - message: Added a new electropack that shocks when a trigger is triggered - type: Add - - message: Added a new shock collar that shocks when a trigger is triggered - type: Add - - message: Two shock collars and two remote signallers added to the warden's locker - type: Add - - message: Shock collar added as a new target for the thief - type: Add - - message: A new Special Means technology has been added to the Arsenal research - branch at the 1st research level. Its research opens up the possibility of producing - electropacks at security techfab. The cost of technology research is 5000 - type: Add - id: 7114 - time: '2024-08-15T14:30:39.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30529 - author: Mervill changes: - message: The Gas Analyzer won't spuriously shut down for seemly no reason. @@ -3943,3 +3926,10 @@ id: 7613 time: '2024-11-15T23:46:02.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/31147 +- author: SaphireLattice + changes: + - message: Crayon UI now has categories and queue + type: Add + id: 7614 + time: '2024-11-16T03:25:06.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33101 From 862c2ac858ce9b88dc2992ca21976e54e16b3953 Mon Sep 17 00:00:00 2001 From: Southbridge <7013162+southbridge-fur@users.noreply.github.com> Date: Fri, 15 Nov 2024 22:26:47 -0500 Subject: [PATCH 260/588] BRB sign in the Bureaucracy Crate (#33341) Added the brb sign to the Bureaucracy Crate --- Resources/Prototypes/Catalog/Fills/Crates/service.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Prototypes/Catalog/Fills/Crates/service.yml b/Resources/Prototypes/Catalog/Fills/Crates/service.yml index 6a109fbf8e..995a4218ae 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/service.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/service.yml @@ -130,6 +130,7 @@ - id: BoxFolderYellow - id: NewtonCradle - id: BoxEnvelope + - id: BrbSign - type: entity id: CrateServiceFaxMachine From c4e8751ee6c0ed0a3c3c664703ee87ca3ddb6b26 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sat, 16 Nov 2024 03:27:57 +0000 Subject: [PATCH 261/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 5860700053..b030fbbb32 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,20 +1,4 @@ Entries: -- author: Mervill - changes: - - message: The Gas Analyzer won't spuriously shut down for seemly no reason. - type: Tweak - - message: The Gas Analyzer will always switch to the device tab when a new object - is scanned. - type: Tweak - - message: The Gas Analyzer's interaction range is now equal to the standard interaction - range - type: Fix - - message: Clicking the Gas Analyzer when it's in your hand has proper enable/disable - behavior. - type: Fix - id: 7115 - time: '2024-08-15T14:45:13.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30763 - author: Nimfar11 changes: - message: Adds a gold toilet @@ -3933,3 +3917,10 @@ id: 7614 time: '2024-11-16T03:25:06.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33101 +- author: Southbridge + changes: + - message: The BRB sign is now included in the Bureaucracy Crate + type: Add + id: 7615 + time: '2024-11-16T03:26:48.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33341 From 1f5eb6a08b5ae97af1f842219d31766b811fcf0d Mon Sep 17 00:00:00 2001 From: Saphire Lattice Date: Sat, 16 Nov 2024 10:39:19 +0700 Subject: [PATCH 262/588] Fix utensils not being thrown away (#33326) --- Content.Server/Nutrition/EntitySystems/UtensilSystem.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Server/Nutrition/EntitySystems/UtensilSystem.cs b/Content.Server/Nutrition/EntitySystems/UtensilSystem.cs index 1f3d5afb43..766c38d561 100644 --- a/Content.Server/Nutrition/EntitySystems/UtensilSystem.cs +++ b/Content.Server/Nutrition/EntitySystems/UtensilSystem.cs @@ -44,7 +44,7 @@ private void OnAfterInteract(Entity entity, ref AfterInteractE public (bool Success, bool Handled) TryUseUtensil(EntityUid user, EntityUid target, Entity utensil) { if (!EntityManager.TryGetComponent(target, out FoodComponent? food)) - return (false, true); + return (false, false); //Prevents food usage with a wrong utensil if ((food.Utensil & utensil.Comp.Types) == 0) From 6bcfe6fb3dc21ed7528227baa4c161edf2edad77 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sat, 16 Nov 2024 03:40:25 +0000 Subject: [PATCH 263/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index b030fbbb32..39adf63968 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,15 +1,4 @@ Entries: -- author: Nimfar11 - changes: - - message: Adds a gold toilet - type: Add - - message: Adds a target for the Thief to steal the golden toilet - type: Add - - message: Corrected the sprite image for the normal toilet. - type: Fix - id: 7116 - time: '2024-08-15T19:23:59.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/31049 - author: themias changes: - message: Raw meat cutlets can be cooked on a grill @@ -3924,3 +3913,10 @@ id: 7615 time: '2024-11-16T03:26:48.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33341 +- author: SaphireLattice + changes: + - message: Utensils can finally go into disposals + type: Fix + id: 7616 + time: '2024-11-16T03:39:19.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33326 From 11963e50b1efcfb87bcd65d4c0045ca256cabb6c Mon Sep 17 00:00:00 2001 From: MossyGreySlope Date: Sat, 16 Nov 2024 13:57:33 +1000 Subject: [PATCH 264/588] Fix server crash when the seed extractor is used on the dev map (#33312) handle event when using seed extractor Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> --- Content.Server/Botany/Systems/SeedExtractorSystem.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Content.Server/Botany/Systems/SeedExtractorSystem.cs b/Content.Server/Botany/Systems/SeedExtractorSystem.cs index 93f76473ff..c7e20983a7 100644 --- a/Content.Server/Botany/Systems/SeedExtractorSystem.cs +++ b/Content.Server/Botany/Systems/SeedExtractorSystem.cs @@ -38,6 +38,7 @@ private void OnInteractUsing(EntityUid uid, SeedExtractorComponent seedExtractor args.User, PopupType.Medium); QueueDel(args.Used); + args.Handled = true; var amount = _random.Next(seedExtractor.BaseMinSeeds, seedExtractor.BaseMaxSeeds + 1); var coords = Transform(uid).Coordinates; From 4f659b9d6de85d19e12a2992350fffa0033d1988 Mon Sep 17 00:00:00 2001 From: K-Dynamic <20566341+K-Dynamic@users.noreply.github.com> Date: Sat, 16 Nov 2024 16:30:47 +1200 Subject: [PATCH 265/588] Solar assembly crate buff (#33019) * more flatpacks + glass * solar crate price increase * price increase * 1250 spesos * Update Resources/Prototypes/Catalog/Fills/Crates/engines.yml --------- Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> --- Resources/Prototypes/Catalog/Cargo/cargo_engines.yml | 2 +- Resources/Prototypes/Catalog/Fills/Crates/engines.yml | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_engines.yml b/Resources/Prototypes/Catalog/Cargo/cargo_engines.yml index 72f9d3a59b..75a1e24cdf 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_engines.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_engines.yml @@ -66,7 +66,7 @@ sprite: Objects/Devices/flatpack.rsi state: solar-assembly-part product: CrateEngineeringSolar - cost: 525 + cost: 1250 category: cargoproduct-category-name-engineering group: market diff --git a/Resources/Prototypes/Catalog/Fills/Crates/engines.yml b/Resources/Prototypes/Catalog/Fills/Crates/engines.yml index c37b7b7535..638e94080e 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/engines.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/engines.yml @@ -120,12 +120,14 @@ id: CrateEngineeringSolar parent: CrateEngineering name: solar assembly crate - description: Parts for constructing solar panels and trackers. + description: A kit with solar flatpacks and glass to construct ten solar panels. components: - type: StorageFill contents: - id: SolarAssemblyFlatpack - amount: 6 + amount: 10 + - id: SheetGlass10 + amount: 2 - type: entity id: CrateEngineeringShuttle From 7077b930f27dc8e9fbe3563ff4c3053b0549f70c Mon Sep 17 00:00:00 2001 From: PJBot Date: Sat, 16 Nov 2024 04:31:53 +0000 Subject: [PATCH 266/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 39adf63968..58fe44307b 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: themias - changes: - - message: Raw meat cutlets can be cooked on a grill - type: Tweak - id: 7117 - time: '2024-08-15T19:30:09.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/31048 - author: IProduceWidgets changes: - message: Meteor dust should more consistently happen instead of meteors. @@ -3920,3 +3913,12 @@ id: 7616 time: '2024-11-16T03:39:19.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33326 +- author: K-Dynamic + changes: + - message: Solar assembly crate now comes with 10 flatpacks and 20 glass to make + expansion and repairs easier, as well as increasing in price from 525 to 1250 + spesos. + type: Tweak + id: 7617 + time: '2024-11-16T04:30:48.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33019 From 2c82a2dfc0cf0cf52f6045c2b59d2232e3714897 Mon Sep 17 00:00:00 2001 From: dffdff2423 Date: Sat, 16 Nov 2024 00:09:29 -0500 Subject: [PATCH 267/588] Add admin remarks button to lobby (#31761) --- Content.Client/Lobby/LobbyUIController.cs | 2 +- .../Lobby/UI/CharacterSetupGui.xaml | 6 +++++ .../Lobby/UI/CharacterSetupGui.xaml.cs | 27 +++++++++---------- Content.Client/Lobby/UI/LobbyGui.xaml.cs | 1 - Resources/Locale/en-US/lobby/lobby-gui.ftl | 2 +- .../preferences/ui/character-setup-gui.ftl | 3 ++- 6 files changed, 23 insertions(+), 18 deletions(-) diff --git a/Content.Client/Lobby/LobbyUIController.cs b/Content.Client/Lobby/LobbyUIController.cs index 3cf98c98ab..50a2551998 100644 --- a/Content.Client/Lobby/LobbyUIController.cs +++ b/Content.Client/Lobby/LobbyUIController.cs @@ -279,7 +279,7 @@ private void OpenSavePanel() _profileEditor.OnOpenGuidebook += _guide.OpenHelp; - _characterSetup = new CharacterSetupGui(EntityManager, _prototypeManager, _resourceCache, _preferencesManager, _profileEditor); + _characterSetup = new CharacterSetupGui(_profileEditor); _characterSetup.CloseButton.OnPressed += _ => { diff --git a/Content.Client/Lobby/UI/CharacterSetupGui.xaml b/Content.Client/Lobby/UI/CharacterSetupGui.xaml index f83be26588..c463987a1f 100644 --- a/Content.Client/Lobby/UI/CharacterSetupGui.xaml +++ b/Content.Client/Lobby/UI/CharacterSetupGui.xaml @@ -2,6 +2,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:gfx="clr-namespace:Robust.Client.Graphics;assembly=Robust.Client" xmlns:style="clr-namespace:Content.Client.Stylesheets" + xmlns:cc="clr-namespace:Content.Client.Administration.UI.CustomControls" VerticalExpand="True"> @@ -10,10 +11,15 @@ [DataField] - public TimeSpan FailsafeCooldown = TimeSpan.FromSeconds(30); + public TimeSpan FailsafeCooldown = TimeSpan.FromSeconds(10); /// /// How long until the generator can issue a failsafe warning again From dffece473ad83cdc5acdcf82d6c2381b34d929f5 Mon Sep 17 00:00:00 2001 From: Spessmann <156740760+Spessmann@users.noreply.github.com> Date: Mon, 18 Nov 2024 18:17:57 -0800 Subject: [PATCH 292/588] Cog update (#33410) removed fun --- Resources/Maps/cog.yml | 471 +++++++++++++++++------------------------ 1 file changed, 191 insertions(+), 280 deletions(-) diff --git a/Resources/Maps/cog.yml b/Resources/Maps/cog.yml index 833756d337..d770924a72 100644 --- a/Resources/Maps/cog.yml +++ b/Resources/Maps/cog.yml @@ -8795,6 +8795,19 @@ entities: 9036: 11,-17 9037: 11,-16 9038: 11,-15 + 10175: -1,43 + 10176: -1,44 + 10177: -1,45 + 10178: -14,27 + 10179: -14,28 + 10190: 14,-28 + 10191: 14,-27 + 10192: 28,-28 + 10193: 28,-27 + 10198: 47,-29 + 10199: 47,-28 + 10216: 35,11 + 10217: 35,12 - node: color: '#FFFFFFFF' id: WarnLineN @@ -8858,12 +8871,23 @@ entities: 9002: 10,-12 9003: 9,-12 9545: 34,4 + 10164: 34,38 + 10165: 35,38 - node: zIndex: 1 color: '#FFFFFFFF' id: WarnLineN decals: 9035: 8,-15 + 10170: 50,50 + 10171: 51,50 + 10182: -18,30 + 10183: -17,30 + 10184: -16,30 + 10206: 30,-43 + 10207: 31,-43 + 10208: 12,-43 + 10209: 13,-43 - node: zIndex: 2 color: '#FFFFFFFF' @@ -8946,6 +8970,23 @@ entities: 8717: -33,68 9032: 9,-17 9033: 9,-16 + 10172: -1,43 + 10173: -1,44 + 10174: -1,45 + 10180: -14,27 + 10181: -14,28 + 10188: 14,-28 + 10189: 14,-27 + 10194: 28,-28 + 10195: 28,-27 + 10196: 47,-29 + 10197: 47,-28 + 10202: 55,-22 + 10203: 55,-21 + 10204: 55,-20 + 10205: 55,-19 + 10214: 35,11 + 10215: 35,12 - node: color: '#FFFFFFFF' id: WarnLineW @@ -8988,6 +9029,22 @@ entities: 8310: 19,4 8311: 20,4 9544: 34,0 + 10166: 34,38 + 10167: 35,38 + - node: + zIndex: 1 + color: '#FFFFFFFF' + id: WarnLineW + decals: + 10168: 51,50 + 10169: 50,50 + 10185: -18,30 + 10186: -17,30 + 10187: -16,30 + 10210: 12,-43 + 10211: 13,-43 + 10212: 30,-43 + 10213: 31,-43 - node: color: '#FFFFFFFF' id: WoodTrimThinCornerNe @@ -15466,7 +15523,7 @@ entities: pos: 28.5,17.5 parent: 12 - type: DeviceLinkSink - invokeCounter: 4 + invokeCounter: 5 - type: DeviceLinkSource linkedPorts: 27864: @@ -15501,12 +15558,17 @@ entities: rot: -1.5707963267948966 rad pos: 26.5,17.5 parent: 12 + - type: Door + secondsUntilStateChange: -1165.2125 + state: Opening - type: DeviceLinkSink invokeCounter: 1 - type: DeviceLinkSource linkedPorts: 11947: - DoorStatus: DoorBolt + lastSignals: + DoorStatus: True - uid: 28369 components: - type: Transform @@ -153521,8 +153583,104 @@ entities: - type: Transform pos: -35.5364,-21.362114 parent: 12 +- proto: PoweredDimSmallLight + entities: + - uid: 2424 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -24.5,-16.5 + parent: 12 + - uid: 2855 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 5.5,-47.5 + parent: 12 + - uid: 4980 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 43.5,62.5 + parent: 12 + - uid: 5881 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 39.5,-23.5 + parent: 12 + - uid: 8827 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 51.5,24.5 + parent: 12 + - uid: 12078 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -58.5,-24.5 + parent: 12 + - uid: 12163 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 28.5,23.5 + parent: 12 + - uid: 12922 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -53.5,61.5 + parent: 12 + - uid: 12923 + components: + - type: Transform + pos: -28.5,75.5 + parent: 12 + - uid: 12925 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: 38.5,6.5 + parent: 12 + - uid: 12944 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 32.5,16.5 + parent: 12 + - uid: 14912 + components: + - type: Transform + rot: 3.141592653589793 rad + pos: -30.5,-59.5 + parent: 12 + - uid: 16796 + components: + - type: Transform + pos: -13.5,-68.5 + parent: 12 + - uid: 16843 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: 44.5,-15.5 + parent: 12 + - uid: 21083 + components: + - type: Transform + rot: -1.5707963267948966 rad + pos: -53.5,57.5 + parent: 12 - proto: Poweredlight entities: + - uid: 17 + components: + - type: Transform + rot: 1.5707963267948966 rad + pos: 40.5,-30.5 + parent: 12 - uid: 111 components: - type: Transform @@ -153657,6 +153815,11 @@ entities: rot: 1.5707963267948966 rad pos: -33.5,-23.5 parent: 12 + - uid: 2264 + components: + - type: Transform + pos: 54.5,58.5 + parent: 12 - uid: 2326 components: - type: Transform @@ -154206,16 +154369,11 @@ entities: rot: 1.5707963267948966 rad pos: 46.5,-24.5 parent: 12 - - uid: 8824 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 43.5,-32.5 - parent: 12 - uid: 8828 components: - type: Transform - pos: 45.5,-26.5 + rot: -1.5707963267948966 rad + pos: 46.5,-30.5 parent: 12 - uid: 8830 components: @@ -155081,11 +155239,6 @@ entities: rot: 1.5707963267948966 rad pos: 50.5,51.5 parent: 12 - - uid: 16843 - components: - - type: Transform - pos: 54.5,58.5 - parent: 12 - uid: 16845 components: - type: Transform @@ -155629,12 +155782,6 @@ entities: rot: -1.5707963267948966 rad pos: -3.5,74.5 parent: 12 - - uid: 26943 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 33.5,-43.5 - parent: 12 - uid: 26976 components: - type: Transform @@ -155707,12 +155854,6 @@ entities: - type: Transform pos: -10.5,78.5 parent: 12 - - uid: 30502 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 56.5,60.5 - parent: 12 - uid: 31027 components: - type: Transform @@ -155747,18 +155888,6 @@ entities: - type: Transform pos: 24.5,-34.5 parent: 12 - - uid: 31706 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -62.5,-28.5 - parent: 12 - - uid: 31707 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -62.5,-20.5 - parent: 12 - uid: 31739 components: - type: Transform @@ -155865,12 +155994,6 @@ entities: parent: 12 - proto: PoweredSmallLight entities: - - uid: 17 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -3.5,67.5 - parent: 12 - uid: 26 components: - type: Transform @@ -155912,17 +156035,11 @@ entities: rot: -1.5707963267948966 rad pos: 25.5,-6.5 parent: 12 - - uid: 2264 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 36.5,61.5 - parent: 12 - uid: 2265 components: - type: Transform rot: 1.5707963267948966 rad - pos: -2.5,54.5 + pos: 45.5,-39.5 parent: 12 - uid: 2291 components: @@ -155930,18 +156047,6 @@ entities: rot: -1.5707963267948966 rad pos: 62.5,11.5 parent: 12 - - uid: 2424 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -57.5,-15.5 - parent: 12 - - uid: 2855 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -21.5,-17.5 - parent: 12 - uid: 3471 components: - type: Transform @@ -155978,12 +156083,6 @@ entities: rot: -1.5707963267948966 rad pos: 25.5,-0.5 parent: 12 - - uid: 4980 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 46.5,-40.5 - parent: 12 - uid: 5045 components: - type: Transform @@ -156044,12 +156143,6 @@ entities: rot: -1.5707963267948966 rad pos: 25.5,-10.5 parent: 12 - - uid: 5881 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -28.5,-15.5 - parent: 12 - uid: 6183 components: - type: Transform @@ -156059,7 +156152,8 @@ entities: - uid: 6759 components: - type: Transform - pos: 5.5,-47.5 + rot: -1.5707963267948966 rad + pos: 35.5,29.5 parent: 12 - uid: 6834 components: @@ -156088,7 +156182,7 @@ entities: - uid: 7431 components: - type: Transform - pos: 39.5,63.5 + pos: 50.5,19.5 parent: 12 - uid: 8809 components: @@ -156102,23 +156196,23 @@ entities: rot: 1.5707963267948966 rad pos: 51.5,-32.5 parent: 12 - - uid: 8825 + - uid: 8824 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 49.5,-8.5 + rot: 1.5707963267948966 rad + pos: 37.5,19.5 parent: 12 - - uid: 8827 + - uid: 8825 components: - type: Transform - rot: 3.141592653589793 rad - pos: 39.5,-23.5 + rot: -1.5707963267948966 rad + pos: 49.5,-8.5 parent: 12 - uid: 8829 components: - type: Transform rot: 1.5707963267948966 rad - pos: 37.5,-18.5 + pos: 33.5,36.5 parent: 12 - uid: 8838 components: @@ -156157,8 +156251,8 @@ entities: - uid: 8850 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 6.5,-7.5 + rot: 3.141592653589793 rad + pos: 49.5,62.5 parent: 12 - uid: 8925 components: @@ -156191,7 +156285,7 @@ entities: - uid: 9139 components: - type: Transform - pos: 46.5,-38.5 + pos: -50.5,-42.5 parent: 12 - uid: 9231 components: @@ -156230,7 +156324,8 @@ entities: - uid: 9473 components: - type: Transform - pos: 2.5,68.5 + rot: 1.5707963267948966 rad + pos: 55.5,-7.5 parent: 12 - uid: 9540 components: @@ -156247,7 +156342,8 @@ entities: - uid: 9907 components: - type: Transform - pos: -50.5,-42.5 + rot: 3.141592653589793 rad + pos: 9.5,65.5 parent: 12 - uid: 10403 components: @@ -156287,78 +156383,38 @@ entities: - uid: 12005 components: - type: Transform - pos: 40.5,25.5 - parent: 12 - - uid: 12078 - components: - - type: Transform - pos: 50.5,20.5 - parent: 12 - - uid: 12163 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -14.5,-71.5 + rot: 1.5707963267948966 rad + pos: -19.5,52.5 parent: 12 - uid: 12291 components: - type: Transform - rot: 1.5707963267948966 rad - pos: 37.5,16.5 + rot: -1.5707963267948966 rad + pos: -52.5,-14.5 parent: 12 - uid: 12710 components: - type: Transform - rot: -1.5707963267948966 rad - pos: 38.5,9.5 + rot: 1.5707963267948966 rad + pos: -50.5,-13.5 parent: 12 - uid: 12711 components: - type: Transform pos: 38.5,-4.5 parent: 12 - - uid: 12922 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 51.5,24.5 - parent: 12 - - uid: 12923 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 34.5,27.5 - parent: 12 - - uid: 12925 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 34.5,34.5 - parent: 12 - uid: 12928 components: - type: Transform rot: -1.5707963267948966 rad pos: 24.5,27.5 parent: 12 - - uid: 12944 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 28.5,23.5 - parent: 12 - uid: 14911 components: - type: Transform rot: 3.141592653589793 rad pos: 34.5,65.5 parent: 12 - - uid: 14912 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 43.5,62.5 - parent: 12 - uid: 14938 components: - type: Transform @@ -156399,12 +156455,6 @@ entities: rot: 3.141592653589793 rad pos: -10.5,23.5 parent: 12 - - uid: 16796 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 48.5,65.5 - parent: 12 - uid: 16887 components: - type: Transform @@ -156509,12 +156559,6 @@ entities: rot: 1.5707963267948966 rad pos: -22.5,32.5 parent: 12 - - uid: 21083 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -60.5,-14.5 - parent: 12 - uid: 21274 components: - type: Transform @@ -156565,13 +156609,7 @@ entities: components: - type: Transform rot: 1.5707963267948966 rad - pos: 55.5,-7.5 - parent: 12 - - uid: 22296 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 41.5,11.5 + pos: -60.5,-14.5 parent: 12 - uid: 22336 components: @@ -156579,24 +156617,6 @@ entities: rot: 3.141592653589793 rad pos: 36.5,-32.5 parent: 12 - - uid: 22709 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: 9.5,65.5 - parent: 12 - - uid: 22714 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -20.5,62.5 - parent: 12 - - uid: 22715 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -19.5,52.5 - parent: 12 - uid: 22716 components: - type: Transform @@ -156619,12 +156639,6 @@ entities: - type: Transform pos: 40.5,49.5 parent: 12 - - uid: 24497 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 48.5,62.5 - parent: 12 - uid: 25090 components: - type: Transform @@ -156647,12 +156661,6 @@ entities: rot: 1.5707963267948966 rad pos: -52.5,47.5 parent: 12 - - uid: 25586 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -58.5,-24.5 - parent: 12 - uid: 26109 components: - type: Transform @@ -156686,18 +156694,6 @@ entities: rot: 1.5707963267948966 rad pos: 7.5,-3.5 parent: 12 - - uid: 27019 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -57.5,-35.5 - parent: 12 - - uid: 27059 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 10.5,-53.5 - parent: 12 - uid: 27067 components: - type: Transform @@ -156734,23 +156730,6 @@ entities: rot: 1.5707963267948966 rad pos: -39.5,-50.5 parent: 12 - - uid: 28074 - components: - - type: Transform - pos: 33.5,25.5 - parent: 12 - - uid: 28182 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -52.5,-13.5 - parent: 12 - - uid: 28279 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -50.5,-13.5 - parent: 12 - uid: 28298 components: - type: Transform @@ -156763,22 +156742,6 @@ entities: rot: -1.5707963267948966 rad pos: 5.5,-4.5 parent: 12 - - uid: 28523 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: 42.5,-7.5 - parent: 12 - - uid: 28531 - components: - - type: Transform - pos: -6.5,7.5 - parent: 12 - - uid: 28655 - components: - - type: Transform - pos: -0.5,-22.5 - parent: 12 - uid: 28745 components: - type: Transform @@ -156795,24 +156758,12 @@ entities: rot: -1.5707963267948966 rad pos: -22.5,64.5 parent: 12 - - uid: 29626 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -53.5,61.5 - parent: 12 - uid: 29643 components: - type: Transform rot: 1.5707963267948966 rad pos: -51.5,65.5 parent: 12 - - uid: 29656 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -17.5,72.5 - parent: 12 - uid: 29836 components: - type: Transform @@ -156830,11 +156781,6 @@ entities: rot: 3.141592653589793 rad pos: -30.5,-39.5 parent: 12 - - uid: 30133 - components: - - type: Transform - pos: -28.5,75.5 - parent: 12 - uid: 30269 components: - type: Transform @@ -156846,40 +156792,17 @@ entities: rot: 3.141592653589793 rad pos: -6.5,71.5 parent: 12 - - uid: 30455 - components: - - type: Transform - pos: 43.5,8.5 - parent: 12 - - uid: 30456 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 33.5,15.5 - parent: 12 - uid: 31025 components: - type: Transform rot: 1.5707963267948966 rad pos: -52.5,17.5 parent: 12 - - uid: 31126 - components: - - type: Transform - rot: 3.141592653589793 rad - pos: -30.5,-59.5 - parent: 12 - uid: 31185 components: - type: Transform pos: 5.5,-59.5 parent: 12 - - uid: 31354 - components: - - type: Transform - rot: 1.5707963267948966 rad - pos: -11.5,-70.5 - parent: 12 - uid: 31508 components: - type: Transform @@ -156892,20 +156815,8 @@ entities: rot: -1.5707963267948966 rad pos: -11.5,-13.5 parent: 12 - - uid: 32073 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: 44.5,-15.5 - parent: 12 - proto: PoweredSmallLightEmpty entities: - - uid: 28973 - components: - - type: Transform - rot: -1.5707963267948966 rad - pos: -53.5,57.5 - parent: 12 - uid: 31337 components: - type: Transform From 909235cdbe474a00265d8b7a9f6955591cfaa423 Mon Sep 17 00:00:00 2001 From: Ilya246 <57039557+Ilya246@users.noreply.github.com> Date: Tue, 19 Nov 2024 06:59:42 +0400 Subject: [PATCH 293/588] fix viewing nav slowing shuttle down (#32381) fix --- .../Physics/Controllers/MoverController.cs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/Content.Server/Physics/Controllers/MoverController.cs b/Content.Server/Physics/Controllers/MoverController.cs index f927e717a9..d0605e916e 100644 --- a/Content.Server/Physics/Controllers/MoverController.cs +++ b/Content.Server/Physics/Controllers/MoverController.cs @@ -314,6 +314,9 @@ private void HandleShuttleMovement(float frameTime) var linearInput = Vector2.Zero; var brakeInput = 0f; var angularInput = 0f; + var linearCount = 0; + var brakeCount = 0; + var angularCount = 0; foreach (var (pilotUid, pilot, _, consoleXform) in pilots) { @@ -322,24 +325,27 @@ private void HandleShuttleMovement(float frameTime) if (brakes > 0f) { brakeInput += brakes; + brakeCount++; } if (strafe.Length() > 0f) { var offsetRotation = consoleXform.LocalRotation; linearInput += offsetRotation.RotateVec(strafe); + linearCount++; } if (rotation != 0f) { angularInput += rotation; + angularCount++; } } - var count = pilots.Count; - linearInput /= count; - angularInput /= count; - brakeInput /= count; + // Don't slow down the shuttle if there's someone just looking at the console + linearInput /= Math.Max(1, linearCount); + angularInput /= Math.Max(1, angularCount); + brakeInput /= Math.Max(1, brakeCount); // Handle shuttle movement if (brakeInput > 0f) From 10ee37a47c8bced95ae1e0f0860c815df703b28e Mon Sep 17 00:00:00 2001 From: PJBot Date: Tue, 19 Nov 2024 03:00:50 +0000 Subject: [PATCH 294/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index c70024b711..1cf40ba778 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Psychpsyo - changes: - - message: You can now be German on ze space station! (added German accent) - type: Add - id: 7121 - time: '2024-08-15T23:30:21.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30541 - author: EmoGarbage404 changes: - message: Reduced the amount of ore on the mining asteroid and expeditions. @@ -3923,3 +3916,11 @@ id: 7620 time: '2024-11-18T06:32:08.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33383 +- author: Ilya246 + changes: + - message: Multiple people using one shuttle console will no longer cause the shuttle + to slow down. + type: Fix + id: 7621 + time: '2024-11-19T02:59:42.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/32381 From 437a586906f6d67b60d018592d62bab5f9608091 Mon Sep 17 00:00:00 2001 From: ScarKy0 <106310278+ScarKy0@users.noreply.github.com> Date: Tue, 19 Nov 2024 06:07:02 +0100 Subject: [PATCH 295/588] Welded secret doors no longer say they are welded shut. (#33365) Init --- .../Entities/Structures/Doors/SecretDoor/secret_door.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/Resources/Prototypes/Entities/Structures/Doors/SecretDoor/secret_door.yml b/Resources/Prototypes/Entities/Structures/Doors/SecretDoor/secret_door.yml index 2f1ad217ce..14d99f3adf 100644 --- a/Resources/Prototypes/Entities/Structures/Doors/SecretDoor/secret_door.yml +++ b/Resources/Prototypes/Entities/Structures/Doors/SecretDoor/secret_door.yml @@ -37,6 +37,7 @@ - type: Appearance - type: Weldable time: 2 + weldedExamineMessage: null - type: Airtight - type: Damageable damageContainer: StructuralInorganic From 0e2e6a001fdd603d510aa33315ff68622599a969 Mon Sep 17 00:00:00 2001 From: PJBot Date: Tue, 19 Nov 2024 05:08:09 +0000 Subject: [PATCH 296/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 1cf40ba778..dbe7ac5b28 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,17 +1,4 @@ Entries: -- author: EmoGarbage404 - changes: - - message: Reduced the amount of ore on the mining asteroid and expeditions. - type: Tweak - - message: Increased the amount of ore on magnet asteroids. - type: Tweak - - message: Each piece of ore now only has enough material to create 1 sheet. - type: Tweak - - message: The salvage magnet now accurately reports the contents of asteroids. - type: Fix - id: 7122 - time: '2024-08-16T01:43:54.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30920 - author: metalgearsloth changes: - message: Fix mains light on wires not being lit. @@ -3924,3 +3911,10 @@ id: 7621 time: '2024-11-19T02:59:42.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/32381 +- author: ScarKy0 + changes: + - message: Secret doors no longer tell you if they're welded shut on examine. + type: Tweak + id: 7622 + time: '2024-11-19T05:07:02.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33365 From 895648aa2c753181c261a6bed8461730f4248ec8 Mon Sep 17 00:00:00 2001 From: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com> Date: Tue, 19 Nov 2024 14:13:02 +0200 Subject: [PATCH 297/588] Increase softcap back to 80 (#33400) --- Resources/ConfigPresets/WizardsDen/wizardsDen.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Resources/ConfigPresets/WizardsDen/wizardsDen.toml b/Resources/ConfigPresets/WizardsDen/wizardsDen.toml index 2b059ca40e..28bab5d4c7 100644 --- a/Resources/ConfigPresets/WizardsDen/wizardsDen.toml +++ b/Resources/ConfigPresets/WizardsDen/wizardsDen.toml @@ -4,7 +4,7 @@ [game] desc = "Official English Space Station 14 servers. Vanilla, roleplay ruleset." lobbyenabled = true -soft_max_players = 70 +soft_max_players = 80 panic_bunker.enabled = true panic_bunker.disable_with_admins = true panic_bunker.enable_without_admins = true From a949cf33e92384d209886874c2727e22611aca12 Mon Sep 17 00:00:00 2001 From: ArZarLordOfMango <96249677+ArZarLordOfMango@users.noreply.github.com> Date: Tue, 19 Nov 2024 21:31:37 +0100 Subject: [PATCH 298/588] Toggle clothing fix (#32826) * toggle clothing fix * some adding --- .../Clothing/Components/ToggleClothingComponent.cs | 6 ++++++ .../Clothing/EntitySystems/ToggleClothingSystem.cs | 4 ++++ Resources/Prototypes/Entities/Clothing/Hands/gloves.yml | 1 + Resources/Prototypes/Entities/Clothing/Head/helmets.yml | 1 + .../Prototypes/Entities/Clothing/OuterClothing/suits.yml | 1 + Resources/Prototypes/Entities/Clothing/Shoes/magboots.yml | 1 + 6 files changed, 14 insertions(+) diff --git a/Content.Shared/Clothing/Components/ToggleClothingComponent.cs b/Content.Shared/Clothing/Components/ToggleClothingComponent.cs index 04bc3ed4e8..f827cbfea8 100644 --- a/Content.Shared/Clothing/Components/ToggleClothingComponent.cs +++ b/Content.Shared/Clothing/Components/ToggleClothingComponent.cs @@ -33,6 +33,12 @@ public sealed partial class ToggleClothingComponent : Component /// [DataField] public bool DisableOnUnequip; + + /// + /// If true, the clothes must equip for adding action. + /// + [DataField] + public bool MustEquip = true; } /// diff --git a/Content.Shared/Clothing/EntitySystems/ToggleClothingSystem.cs b/Content.Shared/Clothing/EntitySystems/ToggleClothingSystem.cs index 9889376c9d..8d6e3e3de6 100644 --- a/Content.Shared/Clothing/EntitySystems/ToggleClothingSystem.cs +++ b/Content.Shared/Clothing/EntitySystems/ToggleClothingSystem.cs @@ -39,8 +39,12 @@ private void OnMapInit(Entity ent, ref MapInitEvent arg private void OnGetActions(Entity ent, ref GetItemActionsEvent args) { + if (args.InHands && ent.Comp.MustEquip) + return; + var ev = new ToggleClothingCheckEvent(args.User); RaiseLocalEvent(ent, ref ev); + if (!ev.Cancelled) args.AddAction(ent.Comp.ActionEntity); } diff --git a/Resources/Prototypes/Entities/Clothing/Hands/gloves.yml b/Resources/Prototypes/Entities/Clothing/Hands/gloves.yml index 16777cd690..1dd1e0ba04 100644 --- a/Resources/Prototypes/Entities/Clothing/Hands/gloves.yml +++ b/Resources/Prototypes/Entities/Clothing/Hands/gloves.yml @@ -230,6 +230,7 @@ stealthy: true - type: ToggleClothing action: ActionToggleNinjaGloves + disableOnUnequip: true - type: NinjaGloves abilities: - components: diff --git a/Resources/Prototypes/Entities/Clothing/Head/helmets.yml b/Resources/Prototypes/Entities/Clothing/Head/helmets.yml index 11643c076d..f06f20249b 100644 --- a/Resources/Prototypes/Entities/Clothing/Head/helmets.yml +++ b/Resources/Prototypes/Entities/Clothing/Head/helmets.yml @@ -452,6 +452,7 @@ delay: 1.0 - type: ToggleClothing action: ActionToggleJusticeHelm + mustEquip: false - type: ItemTogglePointLight - type: ToggleableLightVisuals clothingVisuals: diff --git a/Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml b/Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml index a58c2a3fdd..f78694a0fa 100644 --- a/Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml +++ b/Resources/Prototypes/Entities/Clothing/OuterClothing/suits.yml @@ -155,6 +155,7 @@ # phase cloak - type: ToggleClothing action: ActionTogglePhaseCloak + disableOnUnequip: true - type: ComponentToggler parent: true components: diff --git a/Resources/Prototypes/Entities/Clothing/Shoes/magboots.yml b/Resources/Prototypes/Entities/Clothing/Shoes/magboots.yml index 0250671acf..ab8084c91c 100644 --- a/Resources/Prototypes/Entities/Clothing/Shoes/magboots.yml +++ b/Resources/Prototypes/Entities/Clothing/Shoes/magboots.yml @@ -14,6 +14,7 @@ sprite: Clothing/Shoes/Boots/magboots.rsi - type: ToggleClothing action: ActionToggleMagboots + mustEquip: false - type: ToggleVerb text: toggle-magboots-verb-get-data-text - type: ComponentToggler From 42ee90e53e7ee541ebdff85215f5ebf95cb19373 Mon Sep 17 00:00:00 2001 From: PJBot Date: Tue, 19 Nov 2024 20:32:47 +0000 Subject: [PATCH 299/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index dbe7ac5b28..b33d4b00be 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: metalgearsloth - changes: - - message: Fix mains light on wires not being lit. - type: Fix - id: 7123 - time: '2024-08-16T03:59:46.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/31066 - author: IgorAnt028 changes: - message: The dead and knocked down now stop holding objects @@ -3918,3 +3911,10 @@ id: 7622 time: '2024-11-19T05:07:02.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33365 +- author: ArZarLordOfMango + changes: + - message: Most toggleable clothing must now be equipped to toggle their actions. + type: Fix + id: 7623 + time: '2024-11-19T20:31:38.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/32826 From c4e2eb9d0250aebed6e7f7048f93820701b4b22d Mon Sep 17 00:00:00 2001 From: Pieter-Jan Briers Date: Wed, 20 Nov 2024 01:17:45 +0100 Subject: [PATCH 300/588] .NET 9 forward compatibility changes (#33421) This doesn't switch the projects over to .NET 9, but it does make them work on .NET 9 when we decide to switch in the future. --- Content.Server/Announcements/AnnounceCommand.cs | 3 ++- Content.Server/Cargo/Systems/PricingSystem.cs | 2 +- .../NPC/Pathfinding/PathfindingSystem.Breadth.cs | 4 ++-- .../NPC/Pathfinding/PathfindingSystem.Splines.cs | 2 +- .../NPC/Pathfinding/PathfindingSystem.Widen.cs | 2 +- Content.Shared/Forensics/Events.cs | 2 +- .../Silicons/StationAi/StationAiVisionSystem.cs | 11 ++++++----- 7 files changed, 14 insertions(+), 12 deletions(-) diff --git a/Content.Server/Announcements/AnnounceCommand.cs b/Content.Server/Announcements/AnnounceCommand.cs index 2307f36a5d..3249fcc95d 100644 --- a/Content.Server/Announcements/AnnounceCommand.cs +++ b/Content.Server/Announcements/AnnounceCommand.cs @@ -28,7 +28,8 @@ public void Execute(IConsoleShell shell, string argStr, string[] args) } else { - var message = string.Join(' ', new ArraySegment(args, 1, args.Length-1)); + // Explicit IEnumerable due to overload ambiguity on .NET 9 + var message = string.Join(' ', (IEnumerable)new ArraySegment(args, 1, args.Length-1)); chat.DispatchGlobalAnnouncement(message, args[0], colorOverride: Color.Gold); } shell.WriteLine("Sent!"); diff --git a/Content.Server/Cargo/Systems/PricingSystem.cs b/Content.Server/Cargo/Systems/PricingSystem.cs index 830368baa3..edc273b3c1 100644 --- a/Content.Server/Cargo/Systems/PricingSystem.cs +++ b/Content.Server/Cargo/Systems/PricingSystem.cs @@ -424,7 +424,7 @@ public record struct PriceCalculationEvent() [ByRefEvent] public record struct EstimatedPriceCalculationEvent() { - public EntityPrototype Prototype; + public required EntityPrototype Prototype; /// /// The total price of the entity. diff --git a/Content.Server/NPC/Pathfinding/PathfindingSystem.Breadth.cs b/Content.Server/NPC/Pathfinding/PathfindingSystem.Breadth.cs index ee8eaa9ad1..1504894b4a 100644 --- a/Content.Server/NPC/Pathfinding/PathfindingSystem.Breadth.cs +++ b/Content.Server/NPC/Pathfinding/PathfindingSystem.Breadth.cs @@ -11,8 +11,8 @@ public sealed partial class PathfindingSystem /// public record struct BreadthPathArgs() { - public Vector2i Start; - public List Ends; + public required Vector2i Start; + public required List Ends; public bool Diagonals = false; diff --git a/Content.Server/NPC/Pathfinding/PathfindingSystem.Splines.cs b/Content.Server/NPC/Pathfinding/PathfindingSystem.Splines.cs index 9979755f99..91c42e651c 100644 --- a/Content.Server/NPC/Pathfinding/PathfindingSystem.Splines.cs +++ b/Content.Server/NPC/Pathfinding/PathfindingSystem.Splines.cs @@ -19,7 +19,7 @@ public record struct SplinePathResult() public List Points = new(); public List Path = new(); - public Dictionary CameFrom; + public Dictionary? CameFrom; } public record struct SplinePathArgs(SimplePathArgs Args) diff --git a/Content.Server/NPC/Pathfinding/PathfindingSystem.Widen.cs b/Content.Server/NPC/Pathfinding/PathfindingSystem.Widen.cs index f7bcd019f5..11ac93876e 100644 --- a/Content.Server/NPC/Pathfinding/PathfindingSystem.Widen.cs +++ b/Content.Server/NPC/Pathfinding/PathfindingSystem.Widen.cs @@ -84,6 +84,6 @@ public record struct WidenArgs() public float MaxWiden = 7f; - public List Path; + public required List Path; } } diff --git a/Content.Shared/Forensics/Events.cs b/Content.Shared/Forensics/Events.cs index f7b9475cb5..c346d08536 100644 --- a/Content.Shared/Forensics/Events.cs +++ b/Content.Shared/Forensics/Events.cs @@ -66,5 +66,5 @@ public record struct GenerateDnaEvent() /// /// The generated DNA. /// - public string DNA; + public required string DNA; } diff --git a/Content.Shared/Silicons/StationAi/StationAiVisionSystem.cs b/Content.Shared/Silicons/StationAi/StationAiVisionSystem.cs index bdc62a6bb3..d3416949d5 100644 --- a/Content.Shared/Silicons/StationAi/StationAiVisionSystem.cs +++ b/Content.Shared/Silicons/StationAi/StationAiVisionSystem.cs @@ -56,6 +56,7 @@ public override void Initialize() EntManager = EntityManager, Maps = _maps, System = this, + VisibleTiles = _singleTiles, }; } @@ -278,7 +279,7 @@ private bool IsCorner( /// private record struct SeedJob() : IRobustJob { - public StationAiVisionSystem System; + public required StationAiVisionSystem System; public Entity Grid; public Box2 ExpandedBounds; @@ -293,14 +294,14 @@ private record struct ViewJob() : IParallelRobustJob { public int BatchSize => 1; - public IEntityManager EntManager; - public SharedMapSystem Maps; - public StationAiVisionSystem System; + public required IEntityManager EntManager; + public required SharedMapSystem Maps; + public required StationAiVisionSystem System; public Entity Grid; public List> Data = new(); - public HashSet VisibleTiles; + public required HashSet VisibleTiles; public readonly List> Vis1 = new(); public readonly List> Vis2 = new(); From 7f5bae99bb72878ef139f4c5cfbbafcf9b609720 Mon Sep 17 00:00:00 2001 From: Plykiya <58439124+Plykiya@users.noreply.github.com> Date: Tue, 19 Nov 2024 16:57:01 -0800 Subject: [PATCH 301/588] Fix security riot crate (#33415) * move riot crate from security to armory category * Move riot crate to armory, actually make it require armory access to unlock --- .../Prototypes/Catalog/Cargo/cargo_armory.yml | 10 ++++++++++ .../Catalog/Cargo/cargo_security.yml | 10 ---------- .../Catalog/Fills/Crates/armory.yml | 19 ++++++++++++++++++ .../Catalog/Fills/Crates/security.yml | 20 ------------------- 4 files changed, 29 insertions(+), 30 deletions(-) diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_armory.yml b/Resources/Prototypes/Catalog/Cargo/cargo_armory.yml index 6341042bf8..26748e8226 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_armory.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_armory.yml @@ -18,6 +18,16 @@ category: cargoproduct-category-name-armory group: market +- type: cargoProduct + id: SecurityRiot + icon: + sprite: Clothing/OuterClothing/Armor/riot.rsi + state: icon + product: CrateSecurityRiot + cost: 7500 + category: cargoproduct-category-name-armory + group: market + - type: cargoProduct id: TrackingImplant icon: diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_security.yml b/Resources/Prototypes/Catalog/Cargo/cargo_security.yml index a5d4e5f70a..3fa03ea2e3 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_security.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_security.yml @@ -28,16 +28,6 @@ category: cargoproduct-category-name-security group: market -- type: cargoProduct - id: SecurityRiot - icon: - sprite: Clothing/OuterClothing/Armor/riot.rsi - state: icon - product: CrateSecurityRiot - cost: 7500 - category: cargoproduct-category-name-security - group: market - - type: cargoProduct id: SecuritySupplies icon: diff --git a/Resources/Prototypes/Catalog/Fills/Crates/armory.yml b/Resources/Prototypes/Catalog/Fills/Crates/armory.yml index bc5377fe81..fadaf2f01e 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/armory.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/armory.yml @@ -69,3 +69,22 @@ amount: 2 - id: MagazinePistol amount: 4 + +- type: entity + id: CrateSecurityRiot + parent: [ CrateWeaponSecure, BaseRestrictedContraband ] + name: swat crate + description: Contains two sets of riot armor, helmets, shields, and enforcers loaded with beanbags. Extra ammo is included. Requires Armory access to open. + components: + - type: StorageFill + contents: + - id: ClothingOuterArmorRiot + amount: 2 + - id: ClothingHeadHelmetRiot + amount: 2 + - id: WeaponShotgunEnforcerRubber + amount: 2 + - id: BoxBeanbag + amount: 2 + - id: RiotShield + amount: 2 diff --git a/Resources/Prototypes/Catalog/Fills/Crates/security.yml b/Resources/Prototypes/Catalog/Fills/Crates/security.yml index 38597adb1e..a035196849 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/security.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/security.yml @@ -38,26 +38,6 @@ # - Pepperspray # - GrenadeTeargas -- type: entity - id: CrateSecurityRiot - parent: CrateSecgear - name: swat crate - description: Contains two sets of riot armor, helmets, shields, and enforcers loaded with beanbags. Extra ammo is included. Requires Armory access to open. - components: - - type: StorageFill - contents: - - id: ClothingOuterArmorRiot - amount: 2 - - id: ClothingHeadHelmetRiot - amount: 2 - - id: WeaponShotgunEnforcerRubber - amount: 2 - - id: BoxBeanbag - amount: 2 - - id: RiotShield - amount: 2 -# - SecGasmask - - type: entity id: CrateSecuritySupplies parent: CrateSecgear From 2002de9bb01e53e70b00fea5b3f4ffeed55a3cfa Mon Sep 17 00:00:00 2001 From: MilenVolf <63782763+MilenVolf@users.noreply.github.com> Date: Wed, 20 Nov 2024 03:57:43 +0300 Subject: [PATCH 302/588] Localize planet dataset names (#33398) * Localize planet names (borer) * DatasetPrototype -> LocalizedDatasetPrototype * Apply requested changes --- .../Gateway/Systems/GatewayGeneratorSystem.cs | 7 +- .../SalvageSystem.ExpeditionConsole.cs | 2 +- .../Salvage/SpawnSalvageMissionJob.cs | 4 +- .../Shuttles/Components/GridSpawnComponent.cs | 6 +- .../Systems/ShuttleSystem.GridFill.cs | 2 +- .../Shuttles/Systems/ShuttleSystem.cs | 2 + Content.Shared/Salvage/SharedSalvageSystem.cs | 4 +- .../Locale/en-US/datasets/names/borer.ftl | 69 +++++++++++++++++ Resources/Prototypes/Datasets/Names/borer.yml | 75 +------------------ .../Prototypes/Entities/Stations/base.yml | 2 +- 10 files changed, 90 insertions(+), 83 deletions(-) create mode 100644 Resources/Locale/en-US/datasets/names/borer.ftl diff --git a/Content.Server/Gateway/Systems/GatewayGeneratorSystem.cs b/Content.Server/Gateway/Systems/GatewayGeneratorSystem.cs index 7dcd42e06f..666d104517 100644 --- a/Content.Server/Gateway/Systems/GatewayGeneratorSystem.cs +++ b/Content.Server/Gateway/Systems/GatewayGeneratorSystem.cs @@ -34,10 +34,11 @@ public sealed class GatewayGeneratorSystem : EntitySystem [Dependency] private readonly GatewaySystem _gateway = default!; [Dependency] private readonly MetaDataSystem _metadata = default!; [Dependency] private readonly SharedMapSystem _maps = default!; + [Dependency] private readonly SharedSalvageSystem _salvage = default!; [Dependency] private readonly TileSystem _tile = default!; - [ValidatePrototypeId] - private const string PlanetNames = "names_borer"; + [ValidatePrototypeId] + private const string PlanetNames = "NamesBorer"; // TODO: // Fix shader some more @@ -102,7 +103,7 @@ private void GenerateDestination(EntityUid uid, GatewayGeneratorComponent? gener var mapId = _mapManager.CreateMap(); var mapUid = _mapManager.GetMapEntityId(mapId); - var gatewayName = SharedSalvageSystem.GetFTLName(_protoManager.Index(PlanetNames), seed); + var gatewayName = _salvage.GetFTLName(_protoManager.Index(PlanetNames), seed); _metadata.SetEntityName(mapUid, gatewayName); var origin = new Vector2i(random.Next(-MaxOffset, MaxOffset), random.Next(-MaxOffset, MaxOffset)); diff --git a/Content.Server/Salvage/SalvageSystem.ExpeditionConsole.cs b/Content.Server/Salvage/SalvageSystem.ExpeditionConsole.cs index d031418476..a9d8314f57 100644 --- a/Content.Server/Salvage/SalvageSystem.ExpeditionConsole.cs +++ b/Content.Server/Salvage/SalvageSystem.ExpeditionConsole.cs @@ -28,7 +28,7 @@ private void OnSalvageClaimMessage(EntityUid uid, SalvageExpeditionConsoleCompon var mission = GetMission(_prototypeManager.Index(missionparams.Difficulty), missionparams.Seed); data.NextOffer = _timing.CurTime + mission.Duration + TimeSpan.FromSeconds(1); - _labelSystem.Label(cdUid, GetFTLName(_prototypeManager.Index("names_borer"), missionparams.Seed)); + _labelSystem.Label(cdUid, GetFTLName(_prototypeManager.Index("NamesBorer"), missionparams.Seed)); _audio.PlayPvs(component.PrintSound, uid); UpdateConsoles((station.Value, data)); diff --git a/Content.Server/Salvage/SpawnSalvageMissionJob.cs b/Content.Server/Salvage/SpawnSalvageMissionJob.cs index 525fe01a1f..31c6b73253 100644 --- a/Content.Server/Salvage/SpawnSalvageMissionJob.cs +++ b/Content.Server/Salvage/SpawnSalvageMissionJob.cs @@ -104,7 +104,9 @@ protected override async Task Process() destComp.BeaconsOnly = true; destComp.RequireCoordinateDisk = true; destComp.Enabled = true; - _metaData.SetEntityName(mapUid, SharedSalvageSystem.GetFTLName(_prototypeManager.Index("names_borer"), _missionParams.Seed)); + _metaData.SetEntityName( + mapUid, + _entManager.System().GetFTLName(_prototypeManager.Index("NamesBorer"), _missionParams.Seed)); _entManager.AddComponent(mapUid); // Saving the mission mapUid to a CD is made optional, in case one is somehow made in a process without a CD entity diff --git a/Content.Server/Shuttles/Components/GridSpawnComponent.cs b/Content.Server/Shuttles/Components/GridSpawnComponent.cs index 430c9c8df2..18959dd7f3 100644 --- a/Content.Server/Shuttles/Components/GridSpawnComponent.cs +++ b/Content.Server/Shuttles/Components/GridSpawnComponent.cs @@ -32,7 +32,7 @@ public interface IGridSpawnGroup public float MaximumDistance { get; } /// - public ProtoId? NameDataset { get; } + public ProtoId? NameDataset { get; } /// int MinCount { get; set; } @@ -75,7 +75,7 @@ public sealed class DungeonSpawnGroup : IGridSpawnGroup public float MaximumDistance { get; } /// - public ProtoId? NameDataset { get; } + public ProtoId? NameDataset { get; } /// public int MinCount { get; set; } = 1; @@ -106,7 +106,7 @@ public sealed class GridSpawnGroup : IGridSpawnGroup /// public float MaximumDistance { get; } - public ProtoId? NameDataset { get; } + public ProtoId? NameDataset { get; } public int MinCount { get; set; } = 1; public int MaxCount { get; set; } = 1; public ComponentRegistry AddComponents { get; set; } = new(); diff --git a/Content.Server/Shuttles/Systems/ShuttleSystem.GridFill.cs b/Content.Server/Shuttles/Systems/ShuttleSystem.GridFill.cs index 5ad94699be..de0593b26f 100644 --- a/Content.Server/Shuttles/Systems/ShuttleSystem.GridFill.cs +++ b/Content.Server/Shuttles/Systems/ShuttleSystem.GridFill.cs @@ -208,7 +208,7 @@ private void GridSpawns(EntityUid uid, GridSpawnComponent component) if (_protoManager.TryIndex(group.NameDataset, out var dataset)) { - _metadata.SetEntityName(spawned, SharedSalvageSystem.GetFTLName(dataset, _random.Next())); + _metadata.SetEntityName(spawned, _salvage.GetFTLName(dataset, _random.Next())); } if (group.Hide) diff --git a/Content.Server/Shuttles/Systems/ShuttleSystem.cs b/Content.Server/Shuttles/Systems/ShuttleSystem.cs index 054c42f934..6e8c1a9e20 100644 --- a/Content.Server/Shuttles/Systems/ShuttleSystem.cs +++ b/Content.Server/Shuttles/Systems/ShuttleSystem.cs @@ -8,6 +8,7 @@ using Content.Server.Stunnable; using Content.Shared.GameTicking; using Content.Shared.Mobs.Systems; +using Content.Shared.Salvage; using Content.Shared.Shuttles.Systems; using Content.Shared.Throwing; using JetBrains.Annotations; @@ -51,6 +52,7 @@ public sealed partial class ShuttleSystem : SharedShuttleSystem [Dependency] private readonly SharedAudioSystem _audio = default!; [Dependency] private readonly SharedPhysicsSystem _physics = default!; [Dependency] private readonly SharedTransformSystem _transform = default!; + [Dependency] private readonly SharedSalvageSystem _salvage = default!; [Dependency] private readonly ShuttleConsoleSystem _console = default!; [Dependency] private readonly StationSystem _station = default!; [Dependency] private readonly StunSystem _stuns = default!; diff --git a/Content.Shared/Salvage/SharedSalvageSystem.cs b/Content.Shared/Salvage/SharedSalvageSystem.cs index 0c56f4f556..12d0a26449 100644 --- a/Content.Shared/Salvage/SharedSalvageSystem.cs +++ b/Content.Shared/Salvage/SharedSalvageSystem.cs @@ -26,10 +26,10 @@ public abstract partial class SharedSalvageSystem : EntitySystem [ValidatePrototypeId] public const string ExpeditionsLootProto = "SalvageLoot"; - public static string GetFTLName(DatasetPrototype dataset, int seed) + public string GetFTLName(LocalizedDatasetPrototype dataset, int seed) { var random = new System.Random(seed); - return $"{dataset.Values[random.Next(dataset.Values.Count)]}-{random.Next(10, 100)}-{(char) (65 + random.Next(26))}"; + return $"{Loc.GetString(dataset.Values[random.Next(dataset.Values.Count)])}-{random.Next(10, 100)}-{(char) (65 + random.Next(26))}"; } public SalvageMission GetMission(SalvageDifficultyPrototype difficulty, int seed) diff --git a/Resources/Locale/en-US/datasets/names/borer.ftl b/Resources/Locale/en-US/datasets/names/borer.ftl new file mode 100644 index 0000000000..17cae851b9 --- /dev/null +++ b/Resources/Locale/en-US/datasets/names/borer.ftl @@ -0,0 +1,69 @@ +names-borer-dataset-1 = Alcyonium +names-borer-dataset-2 = Anomia +names-borer-dataset-3 = Aphrodita +names-borer-dataset-4 = Arca +names-borer-dataset-5 = Argonauta +names-borer-dataset-6 = Ascaris +names-borer-dataset-7 = Asterias +names-borer-dataset-8 = Buccinum +names-borer-dataset-9 = Bulla +names-borer-dataset-10 = Cardium +names-borer-dataset-11 = Chama +names-borer-dataset-12 = Chiton +names-borer-dataset-13 = Conus +names-borer-dataset-14 = Corallina +names-borer-dataset-15 = Cypraea +names-borer-dataset-16 = Dentalium +names-borer-dataset-17 = Donax +names-borer-dataset-18 = Doris +names-borer-dataset-19 = Echinus +names-borer-dataset-20 = Eschara +names-borer-dataset-21 = Fasciola +names-borer-dataset-22 = Furia +names-borer-dataset-23 = Gordius +names-borer-dataset-24 = Gorgonia +names-borer-dataset-25 = Haliotis +names-borer-dataset-26 = Helix +names-borer-dataset-27 = Hirudo +names-borer-dataset-28 = Holothuria +names-borer-dataset-29 = Hydra +names-borer-dataset-30 = Isis +names-borer-dataset-31 = Lepas +names-borer-dataset-32 = Lernaea +names-borer-dataset-33 = Limax +names-borer-dataset-34 = Lumbricus +names-borer-dataset-35 = Madrepora +names-borer-dataset-36 = Medusa +names-borer-dataset-37 = Millepora +names-borer-dataset-38 = Murex +names-borer-dataset-39 = Myes +names-borer-dataset-40 = Mytilus +names-borer-dataset-41 = Myxine +names-borer-dataset-42 = Nautilus +names-borer-dataset-43 = Nereis +names-borer-dataset-44 = Neritha +names-borer-dataset-45 = Ostrea +names-borer-dataset-46 = Patella +names-borer-dataset-47 = Pennatula +names-borer-dataset-48 = Pholas +names-borer-dataset-49 = Pinna +names-borer-dataset-50 = Priapus +names-borer-dataset-51 = Scyllaea +names-borer-dataset-52 = Sepia +names-borer-dataset-53 = Serpula +names-borer-dataset-54 = Sertularia +names-borer-dataset-55 = Solen +names-borer-dataset-56 = Spondylus +names-borer-dataset-57 = Strombus +names-borer-dataset-58 = Taenia +names-borer-dataset-59 = Tellina +names-borer-dataset-60 = Teredo +names-borer-dataset-61 = Tethys +names-borer-dataset-62 = Triton +names-borer-dataset-63 = Trochus +names-borer-dataset-64 = Tubipora +names-borer-dataset-65 = Tubularia +names-borer-dataset-66 = Turbo +names-borer-dataset-67 = Venus +names-borer-dataset-68 = Voluta +names-borer-dataset-69 = Volvox diff --git a/Resources/Prototypes/Datasets/Names/borer.yml b/Resources/Prototypes/Datasets/Names/borer.yml index 03667f67a7..e8d741e6a9 100644 --- a/Resources/Prototypes/Datasets/Names/borer.yml +++ b/Resources/Prototypes/Datasets/Names/borer.yml @@ -1,72 +1,5 @@ -- type: dataset - id: names_borer +- type: localizedDataset + id: NamesBorer values: - - Alcyonium - - Anomia - - Aphrodita - - Arca - - Argonauta - - Ascaris - - Asterias - - Buccinum - - Bulla - - Cardium - - Chama - - Chiton - - Conus - - Corallina - - Cypraea - - Dentalium - - Donax - - Doris - - Echinus - - Eschara - - Fasciola - - Furia - - Gordius - - Gorgonia - - Haliotis - - Helix - - Hirudo - - Holothuria - - Hydra - - Isis - - Lepas - - Lernaea - - Limax - - Lumbricus - - Madrepora - - Medusa - - Millepora - - Murex - - Myes - - Mytilus - - Myxine - - Nautilus - - Nereis - - Neritha - - Ostrea - - Patella - - Pennatula - - Pholas - - Pinna - - Priapus - - Scyllaea - - Sepia - - Serpula - - Sertularia - - Solen - - Spondylus - - Strombus - - Taenia - - Tellina - - Teredo - - Tethys - - Triton - - Trochus - - Tubipora - - Tubularia - - Turbo - - Venus - - Voluta - - Volvox + prefix: names-borer-dataset- + count: 69 diff --git a/Resources/Prototypes/Entities/Stations/base.yml b/Resources/Prototypes/Entities/Stations/base.yml index effb391404..5d95e7cbe0 100644 --- a/Resources/Prototypes/Entities/Stations/base.yml +++ b/Resources/Prototypes/Entities/Stations/base.yml @@ -73,7 +73,7 @@ vgroid: !type:DungeonSpawnGroup minimumDistance: 300 maximumDistance: 350 - nameDataset: names_borer + nameDataset: NamesBorer stationGrid: false addComponents: - type: Gravity From efa28fc650076ddef317903aed5ff1a2b664cf68 Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 20 Nov 2024 00:58:08 +0000 Subject: [PATCH 303/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index b33d4b00be..b2f63bb596 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: IgorAnt028 - changes: - - message: The dead and knocked down now stop holding objects - type: Fix - id: 7124 - time: '2024-08-16T04:53:34.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/31009 - author: SlamBamActionman changes: - message: Nar'Sie is satiated; moppable blood will no longer duplicate. @@ -3918,3 +3911,10 @@ id: 7623 time: '2024-11-19T20:31:38.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/32826 +- author: Plykiya + changes: + - message: The SWAT crate from cargo now requires armory access to open. + type: Fix + id: 7624 + time: '2024-11-20T00:57:01.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33415 From 89392e2424a4d428fbb6996dec6615dfe0c05f41 Mon Sep 17 00:00:00 2001 From: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com> Date: Wed, 20 Nov 2024 02:00:38 +0100 Subject: [PATCH 304/588] Remove drag & drop dropping items from containers (#32706) * Initial commit * Update based on maintainer discussion * Forgot to remove this woops --- .../Systems/Storage/StorageUIController.cs | 6 ------ .../Storage/EntitySystems/SharedStorageSystem.cs | 14 -------------- Content.Shared/Storage/StorageComponent.cs | 14 -------------- 3 files changed, 34 deletions(-) diff --git a/Content.Client/UserInterface/Systems/Storage/StorageUIController.cs b/Content.Client/UserInterface/Systems/Storage/StorageUIController.cs index 97c9d8b795..1e61ad9838 100644 --- a/Content.Client/UserInterface/Systems/Storage/StorageUIController.cs +++ b/Content.Client/UserInterface/Systems/Storage/StorageUIController.cs @@ -307,12 +307,6 @@ private void OnPieceUnpressed(GUIBoundKeyEventArgs args, ItemGridPiece control) _entity.GetNetEntity(storageEnt), new ItemStorageLocation(DraggingRotation, position))); } - else - { - _entity.RaisePredictiveEvent(new StorageRemoveItemEvent( - _entity.GetNetEntity(draggingGhost.Entity), - _entity.GetNetEntity(storageEnt))); - } _menuDragHelper.EndDrag(); _container?.BuildItemPieces(); diff --git a/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs b/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs index fee4c1a0fb..183420db9d 100644 --- a/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs +++ b/Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs @@ -129,7 +129,6 @@ public override void Initialize() SubscribeAllEvent(OnInteractWithItem); SubscribeAllEvent(OnSetItemLocation); SubscribeAllEvent(OnInsertItemIntoLocation); - SubscribeAllEvent(OnRemoveItem); SubscribeAllEvent(OnSaveItemLocation); SubscribeLocalEvent(OnReclaimed); @@ -639,19 +638,6 @@ private void OnSetItemLocation(StorageSetItemLocationEvent msg, EntitySessionEve TrySetItemStorageLocation(item!, storage!, msg.Location); } - private void OnRemoveItem(StorageRemoveItemEvent msg, EntitySessionEventArgs args) - { - if (!ValidateInput(args, msg.StorageEnt, msg.ItemEnt, out var player, out var storage, out var item)) - return; - - _adminLog.Add( - LogType.Storage, - LogImpact.Low, - $"{ToPrettyString(player):player} is removing {ToPrettyString(item):item} from {ToPrettyString(storage):storage}"); - TransformSystem.DropNextTo(item.Owner, player.Owner); - Audio.PlayPredicted(storage.Comp.StorageRemoveSound, storage, player, _audioParams); - } - private void OnInsertItemIntoLocation(StorageInsertItemIntoLocationEvent msg, EntitySessionEventArgs args) { if (!ValidateInput(args, msg.StorageEnt, msg.ItemEnt, out var player, out var storage, out var item, held: true)) diff --git a/Content.Shared/Storage/StorageComponent.cs b/Content.Shared/Storage/StorageComponent.cs index d2c607e57f..5683ae95a7 100644 --- a/Content.Shared/Storage/StorageComponent.cs +++ b/Content.Shared/Storage/StorageComponent.cs @@ -169,20 +169,6 @@ public StorageSetItemLocationEvent(NetEntity itemEnt, NetEntity storageEnt, Item } } - [Serializable, NetSerializable] - public sealed class StorageRemoveItemEvent : EntityEventArgs - { - public readonly NetEntity ItemEnt; - - public readonly NetEntity StorageEnt; - - public StorageRemoveItemEvent(NetEntity itemEnt, NetEntity storageEnt) - { - ItemEnt = itemEnt; - StorageEnt = storageEnt; - } - } - [Serializable, NetSerializable] public sealed class StorageInsertItemIntoLocationEvent : EntityEventArgs { From ed1ae96fa22cb9ad8af2b21efb8abe4aadfeeed7 Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 20 Nov 2024 01:01:45 +0000 Subject: [PATCH 305/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index b2f63bb596..a578659a00 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: SlamBamActionman - changes: - - message: Nar'Sie is satiated; moppable blood will no longer duplicate. - type: Fix - id: 7125 - time: '2024-08-16T10:47:53.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/30983 - author: Blackern5000 changes: - message: Disabler SMGs no longer fit in combat boots @@ -3918,3 +3911,11 @@ id: 7624 time: '2024-11-20T00:57:01.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33415 +- author: SlamBamActionman + changes: + - message: It's no longer possible to drag an item out of a container's UI to drop + it. + type: Tweak + id: 7625 + time: '2024-11-20T01:00:38.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/32706 From eebf06d9d611063410233efae983efbe52c8b493 Mon Sep 17 00:00:00 2001 From: Saphire Lattice Date: Wed, 20 Nov 2024 08:03:52 +0700 Subject: [PATCH 306/588] Automatically add "Approved" to maintainer PRs (#33337) * Add an Approved labeler for maintainer PRs * Be extra safe with conditions --- .github/workflows/labeler-review.yml | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 .github/workflows/labeler-review.yml diff --git a/.github/workflows/labeler-review.yml b/.github/workflows/labeler-review.yml new file mode 100644 index 0000000000..79be86a005 --- /dev/null +++ b/.github/workflows/labeler-review.yml @@ -0,0 +1,23 @@ +name: "Labels: Approved" +on: + pull_request_review: + types: [submitted] +jobs: + add_label: + # Change the repository name after you've made sure the team name is correct for your fork! + if: ${{ (github.repository == 'space-wizards/space-station-14') && (github.event.review.state == 'APPROVED') }} + permissions: + contents: read + pull-requests: write + runs-on: ubuntu-latest + steps: + - uses: tspascoal/get-user-teams-membership@v3 + id: checkUserMember + with: + username: ${{ github.actor }} + team: "content-maintainers,junior-maintainers" # CHANGE TEAM NAME HERE PLEASE <------ + GITHUB_TOKEN: ${{ secrets.PAT }} + - if: ${{ steps.checkUserMember.outputs.isTeamMember == 'true' }} + uses: actions-ecosystem/action-add-labels@v1 + with: + labels: "PR: Approved" \ No newline at end of file From fdf3df9fbdf4687794961038c7b9433c9ff8c104 Mon Sep 17 00:00:00 2001 From: Plykiya <58439124+Plykiya@users.noreply.github.com> Date: Tue, 19 Nov 2024 17:05:20 -0800 Subject: [PATCH 307/588] Crew monitoring crate updated to contain flatpacks, science access instead of engi (#33417) * Make a crew monitoring crate with flatpacks * fix image * migration --- .../Catalog/Cargo/cargo_circuitboards.yml | 9 --------- .../Catalog/Cargo/cargo_science.yml | 10 ++++++++++ .../Catalog/Fills/Crates/circuitboards.yml | 12 ----------- .../Catalog/Fills/Crates/science.yml | 12 +++++++++++ .../Entities/Objects/Devices/flatpack.yml | 20 ++++++++++++++++++- Resources/migration.yml | 3 +++ 6 files changed, 44 insertions(+), 22 deletions(-) delete mode 100644 Resources/Prototypes/Catalog/Cargo/cargo_circuitboards.yml delete mode 100644 Resources/Prototypes/Catalog/Fills/Crates/circuitboards.yml diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_circuitboards.yml b/Resources/Prototypes/Catalog/Cargo/cargo_circuitboards.yml deleted file mode 100644 index a96780fc3e..0000000000 --- a/Resources/Prototypes/Catalog/Cargo/cargo_circuitboards.yml +++ /dev/null @@ -1,9 +0,0 @@ -- type: cargoProduct - id: CrewMonitoringBoards - icon: - sprite: Objects/Misc/module.rsi - state: cpuboard - product: CrateCrewMonitoringBoards - cost: 2000 - category: cargoproduct-category-name-circuitboards - group: market diff --git a/Resources/Prototypes/Catalog/Cargo/cargo_science.yml b/Resources/Prototypes/Catalog/Cargo/cargo_science.yml index 756a223e74..cb7f8af822 100644 --- a/Resources/Prototypes/Catalog/Cargo/cargo_science.yml +++ b/Resources/Prototypes/Catalog/Cargo/cargo_science.yml @@ -27,3 +27,13 @@ cost: 800 category: cargoproduct-category-name-science group: market + +- type: cargoProduct + id: CrewMonitoring + icon: + sprite: Structures/Machines/server.rsi + state: server + product: CrateCrewMonitoring + cost: 2000 + category: cargoproduct-category-name-science + group: market diff --git a/Resources/Prototypes/Catalog/Fills/Crates/circuitboards.yml b/Resources/Prototypes/Catalog/Fills/Crates/circuitboards.yml deleted file mode 100644 index 899db4c37c..0000000000 --- a/Resources/Prototypes/Catalog/Fills/Crates/circuitboards.yml +++ /dev/null @@ -1,12 +0,0 @@ -- type: entity - id: CrateCrewMonitoringBoards - parent: CrateEngineeringSecure - name: crew monitoring boards - description: Has two crew monitoring console and server replacements. Requires engineering access to open. - components: - - type: StorageFill - contents: - - id: CrewMonitoringComputerCircuitboard - amount: 2 - - id: CrewMonitoringServerMachineCircuitboard - amount: 2 diff --git a/Resources/Prototypes/Catalog/Fills/Crates/science.yml b/Resources/Prototypes/Catalog/Fills/Crates/science.yml index 15ce05708e..6adf5942a4 100644 --- a/Resources/Prototypes/Catalog/Fills/Crates/science.yml +++ b/Resources/Prototypes/Catalog/Fills/Crates/science.yml @@ -12,3 +12,15 @@ amount: 2 - id: ClothingMaskSterile amount: 2 + +- type: entity + id: CrateCrewMonitoring + parent: CrateScienceSecure + name: crew monitoring crate + description: Contains a flatpack of a crew monitoring server and a few crew monitoring computers. Requires Science access to open. + components: + - type: StorageFill + contents: + - id: CrewMonitoringServerFlatpack + - id: CrewMonitoringComputerFlatpack + amount: 3 diff --git a/Resources/Prototypes/Entities/Objects/Devices/flatpack.yml b/Resources/Prototypes/Entities/Objects/Devices/flatpack.yml index 5fb81aa6d4..82d43cf7d8 100644 --- a/Resources/Prototypes/Entities/Objects/Devices/flatpack.yml +++ b/Resources/Prototypes/Entities/Objects/Devices/flatpack.yml @@ -215,4 +215,22 @@ layers: - state: fax-machine - type: Flatpack - entity: FaxMachineBase \ No newline at end of file + entity: FaxMachineBase + +- type: entity + parent: BaseFlatpack + id: CrewMonitoringServerFlatpack + name: crew monitoring server flatpack + description: A flatpack used for constructing a crew monitoring server. + components: + - type: Flatpack + entity: CrewMonitoringServer + +- type: entity + parent: BaseFlatpack + id: CrewMonitoringComputerFlatpack + name: crew monitoring computer flatpack + description: A flatpack used for constructing a crew monitoring console. + components: + - type: Flatpack + entity: ComputerCrewMonitoring diff --git a/Resources/migration.yml b/Resources/migration.yml index 8940df2b65..a09986ebd8 100644 --- a/Resources/migration.yml +++ b/Resources/migration.yml @@ -475,3 +475,6 @@ LeftLegBorgJanitor: LeftLegBorg RightLegBorgJanitor: RightLegBorg HeadBorgJanitor: LightHeadBorg TorsoBorgJanitor: TorsoBorg + +# 2024-11-19 +CrateCrewMonitoringBoards: CrateCrewMonitoring From 35e2c641c1960195509c52fd6350cff720f76868 Mon Sep 17 00:00:00 2001 From: PJBot Date: Wed, 20 Nov 2024 01:06:27 +0000 Subject: [PATCH 308/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index a578659a00..0eaa287ba9 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Blackern5000 - changes: - - message: Disabler SMGs no longer fit in combat boots - type: Fix - id: 7126 - time: '2024-08-17T01:00:21.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/31110 - author: Mervill changes: - message: Fixed suffocation alerts not appearing. @@ -3919,3 +3912,11 @@ id: 7625 time: '2024-11-20T01:00:38.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/32706 +- author: Plykiya + changes: + - message: The crew monitoring crate now contains a flatpack of the server and computers, + and can be opened with science access instead of engineering access now. + type: Tweak + id: 7626 + time: '2024-11-20T01:05:20.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33417 From 6e53cd98a400466640586bf19b41ec281944795e Mon Sep 17 00:00:00 2001 From: SlamBamActionman Date: Tue, 19 Nov 2024 16:28:58 +0100 Subject: [PATCH 309/588] Add emag functionality --- .../SingularityGeneratorSystem.cs | 20 ++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/Content.Server/Singularity/EntitySystems/SingularityGeneratorSystem.cs b/Content.Server/Singularity/EntitySystems/SingularityGeneratorSystem.cs index be0c5e49b5..cfca86bf4a 100644 --- a/Content.Server/Singularity/EntitySystems/SingularityGeneratorSystem.cs +++ b/Content.Server/Singularity/EntitySystems/SingularityGeneratorSystem.cs @@ -117,27 +117,31 @@ private void HandleParticleCollide(EntityUid uid, ParticleProjectileComponent co if (!EntityManager.TryGetComponent(args.OtherEntity, out var generatorComp)) return; - if (_timing.CurTime < _metadata.GetPauseTime(uid) + generatorComp.NextFailsafe) + if (_timing.CurTime < _metadata.GetPauseTime(uid) + generatorComp.NextFailsafe && !generatorComp.FailsafeDisabled) { EntityManager.QueueDeleteEntity(uid); return; } var contained = true; - var transform = Transform(args.OtherEntity); - var directions = Enum.GetValues().Length; - for (var i = 0; i < directions - 1; i += 2) // Skip every other direction, checking only cardinals + if (!generatorComp.FailsafeDisabled) { - if (!CheckContainmentField((Direction)i, new Entity(args.OtherEntity, generatorComp), transform)) - contained = false; + var transform = Transform(args.OtherEntity); + var directions = Enum.GetValues().Length; + for (var i = 0; i < directions - 1; i += 2) // Skip every other direction, checking only cardinals + { + if (!CheckContainmentField((Direction)i, new Entity(args.OtherEntity, generatorComp), transform)) + contained = false; + } } - if (!contained) + if (!contained && !generatorComp.FailsafeDisabled) { generatorComp.NextFailsafe = _timing.CurTime + generatorComp.FailsafeCooldown; _popupSystem.PopupEntity(Loc.GetString("comp-generator-failsafe", ("target", args.OtherEntity)), args.OtherEntity, PopupType.LargeCaution); } else + { SetPower( args.OtherEntity, generatorComp.Power + component.State switch @@ -151,6 +155,8 @@ private void HandleParticleCollide(EntityUid uid, ParticleProjectileComponent co }, generatorComp ); + } + EntityManager.QueueDeleteEntity(uid); } From 9c666457c2c13505725b7d3c336cae50f0666460 Mon Sep 17 00:00:00 2001 From: Saphire Date: Wed, 20 Nov 2024 07:49:45 +0600 Subject: [PATCH 310/588] Move some of the new singularity code into shared Hopefully without explosions yay --- .../SingularityGeneratorSystem.cs | 18 ++---------- .../SingularityGeneratorComponent.cs | 8 ++--- .../SharedSingularityGeneratorSystem.cs | 29 +++++++++++++++++++ 3 files changed, 35 insertions(+), 20 deletions(-) rename {Content.Server => Content.Shared}/Singularity/Components/SingularityGeneratorComponent.cs (91%) create mode 100644 Content.Shared/Singularity/EntitySystems/SharedSingularityGeneratorSystem.cs diff --git a/Content.Server/Singularity/EntitySystems/SingularityGeneratorSystem.cs b/Content.Server/Singularity/EntitySystems/SingularityGeneratorSystem.cs index cfca86bf4a..95722449b8 100644 --- a/Content.Server/Singularity/EntitySystems/SingularityGeneratorSystem.cs +++ b/Content.Server/Singularity/EntitySystems/SingularityGeneratorSystem.cs @@ -1,10 +1,7 @@ -using System.Diagnostics; using Content.Server.ParticleAccelerator.Components; -using Content.Server.Popups; -using Content.Server.Singularity.Components; -using Content.Shared.Emag.Systems; using Content.Shared.Popups; using Content.Shared.Singularity.Components; +using Content.Shared.Singularity.EntitySystems; using Robust.Server.GameObjects; using Robust.Shared.Physics; using Robust.Shared.Physics.Components; @@ -13,7 +10,7 @@ namespace Content.Server.Singularity.EntitySystems; -public sealed class SingularityGeneratorSystem : EntitySystem +public sealed class SingularityGeneratorSystem : SharedSingularityGeneratorSystem { #region Dependencies [Dependency] private readonly IViewVariablesManager _vvm = default!; @@ -21,7 +18,6 @@ public sealed class SingularityGeneratorSystem : EntitySystem [Dependency] private readonly PhysicsSystem _physics = default!; [Dependency] private readonly IGameTiming _timing = default!; [Dependency] private readonly MetaDataSystem _metadata = default!; - [Dependency] private readonly PopupSystem _popupSystem = default!; #endregion Dependencies public override void Initialize() @@ -29,7 +25,6 @@ public override void Initialize() base.Initialize(); SubscribeLocalEvent(HandleParticleCollide); - SubscribeLocalEvent(OnEmagged); var vvHandle = _vvm.GetTypeHandler(); vvHandle.AddPath(nameof(SingularityGeneratorComponent.Power), (_, comp) => comp.Power, SetPower); @@ -138,7 +133,7 @@ private void HandleParticleCollide(EntityUid uid, ParticleProjectileComponent co if (!contained && !generatorComp.FailsafeDisabled) { generatorComp.NextFailsafe = _timing.CurTime + generatorComp.FailsafeCooldown; - _popupSystem.PopupEntity(Loc.GetString("comp-generator-failsafe", ("target", args.OtherEntity)), args.OtherEntity, PopupType.LargeCaution); + PopupSystem.PopupEntity(Loc.GetString("comp-generator-failsafe", ("target", args.OtherEntity)), args.OtherEntity, PopupType.LargeCaution); } else { @@ -159,13 +154,6 @@ private void HandleParticleCollide(EntityUid uid, ParticleProjectileComponent co EntityManager.QueueDeleteEntity(uid); } - - private void OnEmagged(EntityUid uid, SingularityGeneratorComponent component, ref GotEmaggedEvent args) - { - _popupSystem.PopupEntity(Loc.GetString("comp-generator-failsafe-disabled", ("target", uid)), uid); - component.FailsafeDisabled = true; - args.Handled = true; - } #endregion Event Handlers /// diff --git a/Content.Server/Singularity/Components/SingularityGeneratorComponent.cs b/Content.Shared/Singularity/Components/SingularityGeneratorComponent.cs similarity index 91% rename from Content.Server/Singularity/Components/SingularityGeneratorComponent.cs rename to Content.Shared/Singularity/Components/SingularityGeneratorComponent.cs index c8feeb5d5d..3643ed31a6 100644 --- a/Content.Server/Singularity/Components/SingularityGeneratorComponent.cs +++ b/Content.Shared/Singularity/Components/SingularityGeneratorComponent.cs @@ -1,14 +1,12 @@ using Robust.Shared.Prototypes; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; -using Content.Server.Singularity.EntitySystems; using Content.Shared.Physics; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; -namespace Content.Server.Singularity.Components; +namespace Content.Shared.Singularity.Components; -[RegisterComponent, AutoGenerateComponentPause] -[Access(typeof(SingularityGeneratorSystem))] +[RegisterComponent, AutoGenerateComponentPause, AutoGenerateComponentState] public sealed partial class SingularityGeneratorComponent : Component { /// @@ -28,7 +26,7 @@ public sealed partial class SingularityGeneratorComponent : Component /// /// Allows the generator to ignore all the failsafe stuff, e.g. when emagged /// - [DataField] + [DataField, AutoNetworkedField] public bool FailsafeDisabled = false; /// diff --git a/Content.Shared/Singularity/EntitySystems/SharedSingularityGeneratorSystem.cs b/Content.Shared/Singularity/EntitySystems/SharedSingularityGeneratorSystem.cs new file mode 100644 index 0000000000..8830cb0624 --- /dev/null +++ b/Content.Shared/Singularity/EntitySystems/SharedSingularityGeneratorSystem.cs @@ -0,0 +1,29 @@ +using Content.Shared.Emag.Systems; +using Content.Shared.Popups; +using Content.Shared.Singularity.Components; + +namespace Content.Shared.Singularity.EntitySystems; + +/// +/// Shared part of SingularitySingularityGeneratorSystem +/// +public abstract class SharedSingularityGeneratorSystem : EntitySystem +{ + #region Dependencies + [Dependency] protected readonly SharedPopupSystem PopupSystem = default!; + #endregion Dependencies + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnEmagged); + } + + private void OnEmagged(EntityUid uid, SingularityGeneratorComponent component, ref GotEmaggedEvent args) + { + PopupSystem.PopupEntity(Loc.GetString("comp-generator-failsafe-disabled", ("target", uid)), uid); + component.FailsafeDisabled = true; + args.Handled = true; + } +} \ No newline at end of file From 1fa1975e60d35b788c57ab2479f6f962f99d53fc Mon Sep 17 00:00:00 2001 From: beck-thompson <107373427+beck-thompson@users.noreply.github.com> Date: Tue, 19 Nov 2024 17:53:52 -0800 Subject: [PATCH 311/588] Fix toggle verbs (#32138) First commit Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> --- .../Components/ItemToggleComponent.cs | 12 +++++++ .../Components/ToggleVerbComponent.cs | 18 ---------- .../Item/ItemToggle/ItemToggleSystem.cs | 2 +- .../Item/ItemToggle/ToggleVerbSystem.cs | 34 ------------------- .../components/magboots-component.ftl | 3 -- .../fire-extinguisher-component.ftl | 3 +- .../Entities/Clothing/Shoes/magboots.yml | 2 -- .../Objects/Misc/fire_extinguisher.yml | 4 +-- 8 files changed, 17 insertions(+), 61 deletions(-) delete mode 100644 Content.Shared/Item/ItemToggle/Components/ToggleVerbComponent.cs delete mode 100644 Content.Shared/Item/ItemToggle/ToggleVerbSystem.cs delete mode 100644 Resources/Locale/en-US/clothing/components/magboots-component.ftl diff --git a/Content.Shared/Item/ItemToggle/Components/ItemToggleComponent.cs b/Content.Shared/Item/ItemToggle/Components/ItemToggleComponent.cs index 47edec135d..110ae80626 100644 --- a/Content.Shared/Item/ItemToggle/Components/ItemToggleComponent.cs +++ b/Content.Shared/Item/ItemToggle/Components/ItemToggleComponent.cs @@ -32,6 +32,18 @@ public sealed partial class ItemToggleComponent : Component [DataField] public bool OnUse = true; + /// + /// The localized text to display in the verb to activate. + /// + [DataField] + public string VerbToggleOn = "item-toggle-activate"; + + /// + /// The localized text to display in the verb to de-activate. + /// + [DataField] + public string VerbToggleOff = "item-toggle-deactivate"; + /// /// Whether the item's toggle can be predicted by the client. /// diff --git a/Content.Shared/Item/ItemToggle/Components/ToggleVerbComponent.cs b/Content.Shared/Item/ItemToggle/Components/ToggleVerbComponent.cs deleted file mode 100644 index b673c55e0f..0000000000 --- a/Content.Shared/Item/ItemToggle/Components/ToggleVerbComponent.cs +++ /dev/null @@ -1,18 +0,0 @@ -using Content.Shared.Item.ItemToggle; -using Robust.Shared.GameStates; - -namespace Content.Shared.Item.ItemToggle.Components; - -/// -/// Adds a verb for toggling something, requires . -/// -[RegisterComponent, NetworkedComponent, Access(typeof(ToggleVerbSystem))] -public sealed partial class ToggleVerbComponent : Component -{ - /// - /// Text the verb will have. - /// Gets passed "entity" as the entity's identity string. - /// - [DataField(required: true)] - public LocId Text = string.Empty; -} diff --git a/Content.Shared/Item/ItemToggle/ItemToggleSystem.cs b/Content.Shared/Item/ItemToggle/ItemToggleSystem.cs index d5bbaac12c..f6752a67f6 100644 --- a/Content.Shared/Item/ItemToggle/ItemToggleSystem.cs +++ b/Content.Shared/Item/ItemToggle/ItemToggleSystem.cs @@ -78,7 +78,7 @@ private void OnActivateVerb(Entity ent, ref GetVerbsEvent { Toggle((ent.Owner, ent.Comp), user, predicted: ent.Comp.Predictable); diff --git a/Content.Shared/Item/ItemToggle/ToggleVerbSystem.cs b/Content.Shared/Item/ItemToggle/ToggleVerbSystem.cs deleted file mode 100644 index 858cd9bc11..0000000000 --- a/Content.Shared/Item/ItemToggle/ToggleVerbSystem.cs +++ /dev/null @@ -1,34 +0,0 @@ -using Content.Shared.IdentityManagement; -using Content.Shared.Item.ItemToggle.Components; -using Content.Shared.Verbs; - -namespace Content.Shared.Item.ItemToggle; - -/// -/// Adds a verb for toggling something with . -/// -public sealed class ToggleVerbSystem : EntitySystem -{ - [Dependency] private readonly ItemToggleSystem _toggle = default!; - - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent>(OnGetVerbs); - } - - private void OnGetVerbs(Entity ent, ref GetVerbsEvent args) - { - if (!args.CanAccess || !args.CanInteract) - return; - - var name = Identity.Entity(ent, EntityManager); - var user = args.User; - args.Verbs.Add(new ActivationVerb() - { - Text = Loc.GetString(ent.Comp.Text, ("entity", name)), - Act = () => _toggle.Toggle(ent.Owner, user) - }); - } -} diff --git a/Resources/Locale/en-US/clothing/components/magboots-component.ftl b/Resources/Locale/en-US/clothing/components/magboots-component.ftl deleted file mode 100644 index 4113a74862..0000000000 --- a/Resources/Locale/en-US/clothing/components/magboots-component.ftl +++ /dev/null @@ -1,3 +0,0 @@ - -# Toggle Magboots Verb -toggle-magboots-verb-get-data-text = Toggle Magboots \ No newline at end of file diff --git a/Resources/Locale/en-US/fire-extinguisher/fire-extinguisher-component.ftl b/Resources/Locale/en-US/fire-extinguisher/fire-extinguisher-component.ftl index f641879391..de1fcd7d4e 100644 --- a/Resources/Locale/en-US/fire-extinguisher/fire-extinguisher-component.ftl +++ b/Resources/Locale/en-US/fire-extinguisher/fire-extinguisher-component.ftl @@ -1,3 +1,4 @@ fire-extinguisher-component-after-interact-refilled-message = {$owner} is now refilled fire-extinguisher-component-safety-on-message = Its safety is on! -fire-extinguisher-component-verb-text = Toggle safety +fire-extinguisher-component-verb-remove = Remove safety +fire-extinguisher-component-verb-engage = Engage safety diff --git a/Resources/Prototypes/Entities/Clothing/Shoes/magboots.yml b/Resources/Prototypes/Entities/Clothing/Shoes/magboots.yml index ab8084c91c..6610ae87cc 100644 --- a/Resources/Prototypes/Entities/Clothing/Shoes/magboots.yml +++ b/Resources/Prototypes/Entities/Clothing/Shoes/magboots.yml @@ -15,8 +15,6 @@ - type: ToggleClothing action: ActionToggleMagboots mustEquip: false - - type: ToggleVerb - text: toggle-magboots-verb-get-data-text - type: ComponentToggler components: - type: NoSlip diff --git a/Resources/Prototypes/Entities/Objects/Misc/fire_extinguisher.yml b/Resources/Prototypes/Entities/Objects/Misc/fire_extinguisher.yml index b0c586fc75..4b4200fed8 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/fire_extinguisher.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/fire_extinguisher.yml @@ -47,8 +47,8 @@ params: variation: 0.125 volume: -4 - - type: ToggleVerb - text: fire-extinguisher-component-verb-text + verbToggleOn: fire-extinguisher-component-verb-remove + verbToggleOff: fire-extinguisher-component-verb-engage - type: SpraySafety - type: MeleeWeapon wideAnimationRotation: 180 From e98383d572c8d6ba251c7914777becc681ebac91 Mon Sep 17 00:00:00 2001 From: qwerltaz <69696513+qwerltaz@users.noreply.github.com> Date: Wed, 20 Nov 2024 02:54:49 +0100 Subject: [PATCH 312/588] Construction menu grid view (#32577) * button * implement populate grid view * tweak min width * Make grid button toggle visible * tweak min window size * fix missing recipe button when mirroring item * make grid buttons toggleable * align button texture vertically * selected grid item has plain color background * tweak window width so all buttons look good * rename select method, defer colouring * get icon better * whoops * simpler button toggle * spritesys frame0, move spritesys * delete old sprite system refs --- .../Construction/UI/ConstructionMenu.xaml | 13 ++- .../Construction/UI/ConstructionMenu.xaml.cs | 17 ++- .../UI/ConstructionMenuPresenter.cs | 102 +++++++++++++++--- .../construction/ui/construction-menu.ftl | 1 + 4 files changed, 114 insertions(+), 19 deletions(-) diff --git a/Content.Client/Construction/UI/ConstructionMenu.xaml b/Content.Client/Construction/UI/ConstructionMenu.xaml index 6e4438cf6f..a934967a53 100644 --- a/Content.Client/Construction/UI/ConstructionMenu.xaml +++ b/Content.Client/Construction/UI/ConstructionMenu.xaml @@ -1,15 +1,20 @@ - + + + + - - [GenerateTypedNameReferences] - public sealed partial class GasPressurePumpWindow : DefaultWindow + public sealed partial class GasPressurePumpWindow : FancyWindow { public bool PumpStatus = true; public event Action? ToggleStatusButtonPressed; - public event Action? PumpOutputPressureChanged; + public event Action? PumpOutputPressureChanged; + + public float MaxPressure + { + get => _maxPressure; + set + { + _maxPressure = value; + + PumpPressureOutputInput.Value = MathF.Min(value, PumpPressureOutputInput.Value); + } + } + + private float _maxPressure = Atmospherics.MaxOutputPressure; public GasPressurePumpWindow() { @@ -30,23 +37,25 @@ public GasPressurePumpWindow() ToggleStatusButton.OnPressed += _ => SetPumpStatus(!PumpStatus); ToggleStatusButton.OnPressed += _ => ToggleStatusButtonPressed?.Invoke(); - PumpPressureOutputInput.OnTextChanged += _ => SetOutputPressureButton.Disabled = false; + PumpPressureOutputInput.OnValueChanged += _ => SetOutputPressureButton.Disabled = false; + SetOutputPressureButton.OnPressed += _ => { - PumpOutputPressureChanged?.Invoke(PumpPressureOutputInput.Text ??= ""); + PumpPressureOutputInput.Value = Math.Clamp(PumpPressureOutputInput.Value, 0f, _maxPressure); + PumpOutputPressureChanged?.Invoke(PumpPressureOutputInput.Value); SetOutputPressureButton.Disabled = true; }; SetMaxPressureButton.OnPressed += _ => { - PumpPressureOutputInput.Text = Atmospherics.MaxOutputPressure.ToString(CultureInfo.CurrentCulture); + PumpPressureOutputInput.Value = _maxPressure; SetOutputPressureButton.Disabled = false; }; } public void SetOutputPressure(float pressure) { - PumpPressureOutputInput.Text = pressure.ToString(CultureInfo.CurrentCulture); + PumpPressureOutputInput.Value = pressure; } public void SetPumpStatus(bool enabled) diff --git a/Content.Server/Atmos/Monitor/Systems/AtmosMonitoringSystem.cs b/Content.Server/Atmos/Monitor/Systems/AtmosMonitoringSystem.cs index 17a24b1b0c..875d8ad1cd 100644 --- a/Content.Server/Atmos/Monitor/Systems/AtmosMonitoringSystem.cs +++ b/Content.Server/Atmos/Monitor/Systems/AtmosMonitoringSystem.cs @@ -11,6 +11,7 @@ using Content.Server.Power.EntitySystems; using Content.Shared.Atmos; using Content.Shared.Atmos.Monitor; +using Content.Shared.Atmos.Piping.Components; using Content.Shared.DeviceNetwork; using Content.Shared.Power; using Content.Shared.Tag; diff --git a/Content.Server/Atmos/Piping/Binary/Components/GasPressurePumpComponent.cs b/Content.Server/Atmos/Piping/Binary/Components/GasPressurePumpComponent.cs deleted file mode 100644 index 8816e1af22..0000000000 --- a/Content.Server/Atmos/Piping/Binary/Components/GasPressurePumpComponent.cs +++ /dev/null @@ -1,31 +0,0 @@ -using Content.Shared.Atmos; - -namespace Content.Server.Atmos.Piping.Binary.Components -{ - [RegisterComponent] - public sealed partial class GasPressurePumpComponent : Component - { - [ViewVariables(VVAccess.ReadWrite)] - [DataField("enabled")] - public bool Enabled { get; set; } = true; - - [ViewVariables(VVAccess.ReadWrite)] - [DataField("inlet")] - public string InletName { get; set; } = "inlet"; - - [ViewVariables(VVAccess.ReadWrite)] - [DataField("outlet")] - public string OutletName { get; set; } = "outlet"; - - [ViewVariables(VVAccess.ReadWrite)] - [DataField("targetPressure")] - public float TargetPressure { get; set; } = Atmospherics.OneAtmosphere; - - /// - /// Max pressure of the target gas (NOT relative to source). - /// - [ViewVariables(VVAccess.ReadWrite)] - [DataField("maxTargetPressure")] - public float MaxTargetPressure = Atmospherics.MaxOutputPressure; - } -} diff --git a/Content.Server/Atmos/Piping/Binary/EntitySystems/GasPressurePumpSystem.cs b/Content.Server/Atmos/Piping/Binary/EntitySystems/GasPressurePumpSystem.cs index abd34396a0..5f0092f377 100644 --- a/Content.Server/Atmos/Piping/Binary/EntitySystems/GasPressurePumpSystem.cs +++ b/Content.Server/Atmos/Piping/Binary/EntitySystems/GasPressurePumpSystem.cs @@ -1,169 +1,57 @@ -using Content.Server.Administration.Logs; using Content.Server.Atmos.EntitySystems; -using Content.Server.Atmos.Piping.Binary.Components; using Content.Server.Atmos.Piping.Components; using Content.Server.NodeContainer.EntitySystems; using Content.Server.NodeContainer.Nodes; using Content.Server.Power.Components; using Content.Shared.Atmos; -using Content.Shared.Atmos.Piping; -using Content.Shared.Atmos.Piping.Binary.Components; +using Content.Shared.Atmos.Components; +using Content.Shared.Atmos.EntitySystems; using Content.Shared.Audio; -using Content.Shared.Database; -using Content.Shared.Examine; -using Content.Shared.Interaction; -using Content.Shared.Popups; -using Content.Shared.Power; using JetBrains.Annotations; -using Robust.Server.GameObjects; -using Robust.Shared.Player; -namespace Content.Server.Atmos.Piping.Binary.EntitySystems -{ - [UsedImplicitly] - public sealed class GasPressurePumpSystem : EntitySystem - { - [Dependency] private readonly UserInterfaceSystem _userInterfaceSystem = default!; - [Dependency] private readonly IAdminLogManager _adminLogger = default!; - [Dependency] private readonly AtmosphereSystem _atmosphereSystem = default!; - [Dependency] private readonly SharedAmbientSoundSystem _ambientSoundSystem = default!; - [Dependency] private readonly SharedAppearanceSystem _appearance = default!; - [Dependency] private readonly NodeContainerSystem _nodeContainer = default!; - [Dependency] private readonly SharedPopupSystem _popup = default!; - - public override void Initialize() - { - base.Initialize(); - - SubscribeLocalEvent(OnInit); - SubscribeLocalEvent(OnPumpUpdated); - SubscribeLocalEvent(OnPumpLeaveAtmosphere); - SubscribeLocalEvent(OnExamined); - SubscribeLocalEvent(OnPumpActivate); - SubscribeLocalEvent(OnPowerChanged); - // Bound UI subscriptions - SubscribeLocalEvent(OnOutputPressureChangeMessage); - SubscribeLocalEvent(OnToggleStatusMessage); - } - - private void OnInit(EntityUid uid, GasPressurePumpComponent pump, ComponentInit args) - { - UpdateAppearance(uid, pump); - } - - private void OnExamined(EntityUid uid, GasPressurePumpComponent pump, ExaminedEvent args) - { - if (!EntityManager.GetComponent(uid).Anchored || !args.IsInDetailsRange) // Not anchored? Out of range? No status. - return; - - if (Loc.TryGetString("gas-pressure-pump-system-examined", out var str, - ("statusColor", "lightblue"), // TODO: change with pressure? - ("pressure", pump.TargetPressure) - )) - { - args.PushMarkup(str); - } - } - - private void OnPowerChanged(EntityUid uid, GasPressurePumpComponent component, ref PowerChangedEvent args) - { - UpdateAppearance(uid, component); - } - - private void OnPumpUpdated(EntityUid uid, GasPressurePumpComponent pump, ref AtmosDeviceUpdateEvent args) - { - if (!pump.Enabled - || (TryComp(uid, out var power) && !power.Powered) - || !_nodeContainer.TryGetNodes(uid, pump.InletName, pump.OutletName, out PipeNode? inlet, out PipeNode? outlet)) - { - _ambientSoundSystem.SetAmbience(uid, false); - return; - } - - var outputStartingPressure = outlet.Air.Pressure; +namespace Content.Server.Atmos.Piping.Binary.EntitySystems; - if (outputStartingPressure >= pump.TargetPressure) - { - _ambientSoundSystem.SetAmbience(uid, false); - return; // No need to pump gas if target has been reached. - } - - if (inlet.Air.TotalMoles > 0 && inlet.Air.Temperature > 0) - { - // We calculate the necessary moles to transfer using our good ol' friend PV=nRT. - var pressureDelta = pump.TargetPressure - outputStartingPressure; - var transferMoles = (pressureDelta * outlet.Air.Volume) / (inlet.Air.Temperature * Atmospherics.R); - - var removed = inlet.Air.Remove(transferMoles); - _atmosphereSystem.Merge(outlet.Air, removed); - _ambientSoundSystem.SetAmbience(uid, removed.TotalMoles > 0f); - } - } - - private void OnPumpLeaveAtmosphere(EntityUid uid, GasPressurePumpComponent pump, ref AtmosDeviceDisabledEvent args) - { - pump.Enabled = false; - UpdateAppearance(uid, pump); - - DirtyUI(uid, pump); - _userInterfaceSystem.CloseUi(uid, GasPressurePumpUiKey.Key); - } - - private void OnPumpActivate(EntityUid uid, GasPressurePumpComponent pump, ActivateInWorldEvent args) - { - if (args.Handled || !args.Complex) - return; - - if (!EntityManager.TryGetComponent(args.User, out ActorComponent? actor)) - return; +[UsedImplicitly] +public sealed class GasPressurePumpSystem : SharedGasPressurePumpSystem +{ + [Dependency] private readonly AtmosphereSystem _atmosphereSystem = default!; + [Dependency] private readonly SharedAmbientSoundSystem _ambientSoundSystem = default!; + [Dependency] private readonly NodeContainerSystem _nodeContainer = default!; - if (Transform(uid).Anchored) - { - _userInterfaceSystem.OpenUi(uid, GasPressurePumpUiKey.Key, actor.PlayerSession); - DirtyUI(uid, pump); - } - else - { - _popup.PopupCursor(Loc.GetString("comp-gas-pump-ui-needs-anchor"), args.User); - } + public override void Initialize() + { + base.Initialize(); - args.Handled = true; - } + SubscribeLocalEvent(OnPumpUpdated); + } - private void OnToggleStatusMessage(EntityUid uid, GasPressurePumpComponent pump, GasPressurePumpToggleStatusMessage args) + private void OnPumpUpdated(EntityUid uid, GasPressurePumpComponent pump, ref AtmosDeviceUpdateEvent args) + { + if (!pump.Enabled + || (TryComp(uid, out var power) && !power.Powered) + || !_nodeContainer.TryGetNodes(uid, pump.InletName, pump.OutletName, out PipeNode? inlet, out PipeNode? outlet)) { - pump.Enabled = args.Enabled; - _adminLogger.Add(LogType.AtmosPowerChanged, LogImpact.Medium, - $"{ToPrettyString(args.Actor):player} set the power on {ToPrettyString(uid):device} to {args.Enabled}"); - DirtyUI(uid, pump); - UpdateAppearance(uid, pump); + _ambientSoundSystem.SetAmbience(uid, false); + return; } - private void OnOutputPressureChangeMessage(EntityUid uid, GasPressurePumpComponent pump, GasPressurePumpChangeOutputPressureMessage args) - { - pump.TargetPressure = Math.Clamp(args.Pressure, 0f, Atmospherics.MaxOutputPressure); - _adminLogger.Add(LogType.AtmosPressureChanged, LogImpact.Medium, - $"{ToPrettyString(args.Actor):player} set the pressure on {ToPrettyString(uid):device} to {args.Pressure}kPa"); - DirtyUI(uid, pump); - - } + var outputStartingPressure = outlet.Air.Pressure; - private void DirtyUI(EntityUid uid, GasPressurePumpComponent? pump) + if (outputStartingPressure >= pump.TargetPressure) { - if (!Resolve(uid, ref pump)) - return; - - _userInterfaceSystem.SetUiState(uid, GasPressurePumpUiKey.Key, - new GasPressurePumpBoundUserInterfaceState(EntityManager.GetComponent(uid).EntityName, pump.TargetPressure, pump.Enabled)); + _ambientSoundSystem.SetAmbience(uid, false); + return; // No need to pump gas if target has been reached. } - private void UpdateAppearance(EntityUid uid, GasPressurePumpComponent? pump = null, AppearanceComponent? appearance = null) + if (inlet.Air.TotalMoles > 0 && inlet.Air.Temperature > 0) { - if (!Resolve(uid, ref pump, ref appearance, false)) - return; + // We calculate the necessary moles to transfer using our good ol' friend PV=nRT. + var pressureDelta = pump.TargetPressure - outputStartingPressure; + var transferMoles = (pressureDelta * outlet.Air.Volume) / (inlet.Air.Temperature * Atmospherics.R); - bool pumpOn = pump.Enabled && (TryComp(uid, out var power) && power.Powered); - _appearance.SetData(uid, PumpVisuals.Enabled, pumpOn, appearance); + var removed = inlet.Air.Remove(transferMoles); + _atmosphereSystem.Merge(outlet.Air, removed); + _ambientSoundSystem.SetAmbience(uid, removed.TotalMoles > 0f); } } } diff --git a/Content.Server/Atmos/Piping/Binary/EntitySystems/GasRecyclerSystem.cs b/Content.Server/Atmos/Piping/Binary/EntitySystems/GasRecyclerSystem.cs index 3ebc509492..f778979409 100644 --- a/Content.Server/Atmos/Piping/Binary/EntitySystems/GasRecyclerSystem.cs +++ b/Content.Server/Atmos/Piping/Binary/EntitySystems/GasRecyclerSystem.cs @@ -6,6 +6,7 @@ using Content.Server.NodeContainer.Nodes; using Content.Shared.Atmos; using Content.Shared.Atmos.Piping; +using Content.Shared.Atmos.Piping.Components; using Content.Shared.Audio; using Content.Shared.Examine; using JetBrains.Annotations; diff --git a/Content.Server/Atmos/Piping/Binary/EntitySystems/GasVolumePumpSystem.cs b/Content.Server/Atmos/Piping/Binary/EntitySystems/GasVolumePumpSystem.cs index 9ddd7dce67..d593324b19 100644 --- a/Content.Server/Atmos/Piping/Binary/EntitySystems/GasVolumePumpSystem.cs +++ b/Content.Server/Atmos/Piping/Binary/EntitySystems/GasVolumePumpSystem.cs @@ -10,6 +10,7 @@ using Content.Server.NodeContainer.Nodes; using Content.Server.Power.Components; using Content.Shared.Atmos.Piping.Binary.Components; +using Content.Shared.Atmos.Piping.Components; using Content.Shared.Atmos.Visuals; using Content.Shared.Audio; using Content.Shared.Database; diff --git a/Content.Server/Atmos/Piping/Components/AtmosDeviceComponent.cs b/Content.Server/Atmos/Piping/Components/AtmosDeviceComponent.cs index b70262e857..5b55d9d3b6 100644 --- a/Content.Server/Atmos/Piping/Components/AtmosDeviceComponent.cs +++ b/Content.Server/Atmos/Piping/Components/AtmosDeviceComponent.cs @@ -67,15 +67,3 @@ public readonly struct AtmosDeviceUpdateEvent(float dt, Entity public readonly Entity? Map = map; } - -/// -/// Raised directed on an atmos device when it is enabled. -/// -[ByRefEvent] -public record struct AtmosDeviceEnabledEvent; - -/// -/// Raised directed on an atmos device when it is enabled. -/// -[ByRefEvent] -public record struct AtmosDeviceDisabledEvent; diff --git a/Content.Server/Atmos/Piping/EntitySystems/AtmosDeviceSystem.cs b/Content.Server/Atmos/Piping/EntitySystems/AtmosDeviceSystem.cs index f932ef3620..3feaf79eb7 100644 --- a/Content.Server/Atmos/Piping/EntitySystems/AtmosDeviceSystem.cs +++ b/Content.Server/Atmos/Piping/EntitySystems/AtmosDeviceSystem.cs @@ -1,6 +1,7 @@ using Content.Server.Atmos.Components; using Content.Server.Atmos.EntitySystems; using Content.Server.Atmos.Piping.Components; +using Content.Shared.Atmos.Piping.Components; using JetBrains.Annotations; using Robust.Shared.Timing; using Robust.Shared.Utility; diff --git a/Content.Server/Atmos/Piping/Trinary/EntitySystems/GasFilterSystem.cs b/Content.Server/Atmos/Piping/Trinary/EntitySystems/GasFilterSystem.cs index 752d1e9eb8..c5a91895b2 100644 --- a/Content.Server/Atmos/Piping/Trinary/EntitySystems/GasFilterSystem.cs +++ b/Content.Server/Atmos/Piping/Trinary/EntitySystems/GasFilterSystem.cs @@ -7,6 +7,7 @@ using Content.Server.NodeContainer.Nodes; using Content.Shared.Atmos; using Content.Shared.Atmos.Piping; +using Content.Shared.Atmos.Piping.Components; using Content.Shared.Atmos.Piping.Trinary.Components; using Content.Shared.Audio; using Content.Shared.Database; diff --git a/Content.Server/Atmos/Piping/Trinary/EntitySystems/GasMixerSystem.cs b/Content.Server/Atmos/Piping/Trinary/EntitySystems/GasMixerSystem.cs index 178caeaa4a..0852051487 100644 --- a/Content.Server/Atmos/Piping/Trinary/EntitySystems/GasMixerSystem.cs +++ b/Content.Server/Atmos/Piping/Trinary/EntitySystems/GasMixerSystem.cs @@ -7,6 +7,7 @@ using Content.Server.NodeContainer.Nodes; using Content.Shared.Atmos; using Content.Shared.Atmos.Piping; +using Content.Shared.Atmos.Piping.Components; using Content.Shared.Atmos.Piping.Trinary.Components; using Content.Shared.Audio; using Content.Shared.Database; diff --git a/Content.Server/Atmos/Piping/Trinary/EntitySystems/PressureControlledValveSystem.cs b/Content.Server/Atmos/Piping/Trinary/EntitySystems/PressureControlledValveSystem.cs index 1bab2abd8e..d1570b1129 100644 --- a/Content.Server/Atmos/Piping/Trinary/EntitySystems/PressureControlledValveSystem.cs +++ b/Content.Server/Atmos/Piping/Trinary/EntitySystems/PressureControlledValveSystem.cs @@ -5,6 +5,7 @@ using Content.Server.NodeContainer.EntitySystems; using Content.Server.NodeContainer.Nodes; using Content.Shared.Atmos.Piping; +using Content.Shared.Atmos.Piping.Components; using Content.Shared.Audio; using JetBrains.Annotations; diff --git a/Content.Server/Atmos/Piping/Unary/EntitySystems/GasVentPumpSystem.cs b/Content.Server/Atmos/Piping/Unary/EntitySystems/GasVentPumpSystem.cs index 9d9862ff1d..23016debeb 100644 --- a/Content.Server/Atmos/Piping/Unary/EntitySystems/GasVentPumpSystem.cs +++ b/Content.Server/Atmos/Piping/Unary/EntitySystems/GasVentPumpSystem.cs @@ -11,6 +11,7 @@ using Content.Server.NodeContainer.Nodes; using Content.Shared.Atmos; using Content.Shared.Atmos.Monitor; +using Content.Shared.Atmos.Piping.Components; using Content.Shared.Atmos.Piping.Unary; using Content.Shared.Atmos.Piping.Unary.Components; using Content.Shared.Atmos.Visuals; diff --git a/Content.Server/Atmos/Piping/Unary/EntitySystems/GasVentScrubberSystem.cs b/Content.Server/Atmos/Piping/Unary/EntitySystems/GasVentScrubberSystem.cs index a35cf6c2e3..a633d29e41 100644 --- a/Content.Server/Atmos/Piping/Unary/EntitySystems/GasVentScrubberSystem.cs +++ b/Content.Server/Atmos/Piping/Unary/EntitySystems/GasVentScrubberSystem.cs @@ -13,6 +13,7 @@ using Content.Shared.Atmos; using Content.Shared.Atmos.Piping.Unary.Visuals; using Content.Shared.Atmos.Monitor; +using Content.Shared.Atmos.Piping.Components; using Content.Shared.Atmos.Piping.Unary.Components; using Content.Shared.Audio; using Content.Shared.DeviceNetwork; diff --git a/Content.Shared/Atmos/Components/GasPressurePumpComponent.cs b/Content.Shared/Atmos/Components/GasPressurePumpComponent.cs new file mode 100644 index 0000000000..ca6b4d4e22 --- /dev/null +++ b/Content.Shared/Atmos/Components/GasPressurePumpComponent.cs @@ -0,0 +1,25 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.Atmos.Components; + +[RegisterComponent, NetworkedComponent, AutoGenerateComponentState] +public sealed partial class GasPressurePumpComponent : Component +{ + [DataField, AutoNetworkedField] + public bool Enabled = true; + + [DataField("inlet")] + public string InletName = "inlet"; + + [DataField("outlet")] + public string OutletName = "outlet"; + + [DataField, AutoNetworkedField] + public float TargetPressure = Atmospherics.OneAtmosphere; + + /// + /// Max pressure of the target gas (NOT relative to source). + /// + [DataField] + public float MaxTargetPressure = Atmospherics.MaxOutputPressure; +} diff --git a/Content.Shared/Atmos/EntitySystems/SharedGasPressurePumpSystem.cs b/Content.Shared/Atmos/EntitySystems/SharedGasPressurePumpSystem.cs new file mode 100644 index 0000000000..77444eb3c5 --- /dev/null +++ b/Content.Shared/Atmos/EntitySystems/SharedGasPressurePumpSystem.cs @@ -0,0 +1,97 @@ +using Content.Shared.Administration.Logs; +using Content.Shared.Atmos.Components; +using Content.Shared.Atmos.Piping; +using Content.Shared.Atmos.Piping.Binary.Components; +using Content.Shared.Atmos.Piping.Components; +using Content.Shared.Database; +using Content.Shared.Examine; +using Content.Shared.Popups; +using Content.Shared.Power; +using Content.Shared.Power.Components; +using Content.Shared.Power.EntitySystems; +using Content.Shared.UserInterface; + +namespace Content.Shared.Atmos.EntitySystems; + +public abstract class SharedGasPressurePumpSystem : EntitySystem +{ + [Dependency] private readonly ISharedAdminLogManager _adminLogger = default!; + [Dependency] protected readonly SharedAppearanceSystem Appearance = default!; + [Dependency] private readonly SharedPowerReceiverSystem _receiver = default!; + [Dependency] protected readonly SharedUserInterfaceSystem UserInterfaceSystem = default!; + + // TODO: Check enabled for activatableUI + // TODO: Add activatableUI to it. + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(OnInit); + SubscribeLocalEvent(OnPowerChanged); + + SubscribeLocalEvent(OnOutputPressureChangeMessage); + SubscribeLocalEvent(OnToggleStatusMessage); + + SubscribeLocalEvent(OnPumpLeaveAtmosphere); + SubscribeLocalEvent(OnExamined); + } + + private void OnExamined(EntityUid uid, GasPressurePumpComponent pump, ExaminedEvent args) + { + if (!Transform(uid).Anchored) + return; + + if (Loc.TryGetString("gas-pressure-pump-system-examined", out var str, + ("statusColor", "lightblue"), // TODO: change with pressure? + ("pressure", pump.TargetPressure) + )) + { + args.PushMarkup(str); + } + } + + private void OnInit(EntityUid uid, GasPressurePumpComponent pump, ComponentInit args) + { + UpdateAppearance(uid, pump); + } + + private void OnPowerChanged(EntityUid uid, GasPressurePumpComponent component, ref PowerChangedEvent args) + { + UpdateAppearance(uid, component); + } + + private void UpdateAppearance(EntityUid uid, GasPressurePumpComponent? pump = null, AppearanceComponent? appearance = null) + { + if (!Resolve(uid, ref pump, ref appearance, false)) + return; + + var pumpOn = pump.Enabled && _receiver.IsPowered(uid); + Appearance.SetData(uid, PumpVisuals.Enabled, pumpOn, appearance); + } + + private void OnToggleStatusMessage(EntityUid uid, GasPressurePumpComponent pump, GasPressurePumpToggleStatusMessage args) + { + pump.Enabled = args.Enabled; + _adminLogger.Add(LogType.AtmosPowerChanged, LogImpact.Medium, + $"{ToPrettyString(args.Actor):player} set the power on {ToPrettyString(uid):device} to {args.Enabled}"); + Dirty(uid, pump); + UpdateAppearance(uid, pump); + } + + private void OnOutputPressureChangeMessage(EntityUid uid, GasPressurePumpComponent pump, GasPressurePumpChangeOutputPressureMessage args) + { + pump.TargetPressure = Math.Clamp(args.Pressure, 0f, Atmospherics.MaxOutputPressure); + _adminLogger.Add(LogType.AtmosPressureChanged, LogImpact.Medium, + $"{ToPrettyString(args.Actor):player} set the pressure on {ToPrettyString(uid):device} to {args.Pressure}kPa"); + Dirty(uid, pump); + } + + private void OnPumpLeaveAtmosphere(EntityUid uid, GasPressurePumpComponent pump, ref AtmosDeviceDisabledEvent args) + { + pump.Enabled = false; + Dirty(uid, pump); + UpdateAppearance(uid, pump); + + UserInterfaceSystem.CloseUi(uid, GasPressurePumpUiKey.Key); + } +} diff --git a/Content.Shared/Atmos/Piping/Binary/Components/SharedGasPressurePumpComponent.cs b/Content.Shared/Atmos/Piping/Binary/Components/SharedGasPressurePumpComponent.cs index 217d81e972..041708dde0 100644 --- a/Content.Shared/Atmos/Piping/Binary/Components/SharedGasPressurePumpComponent.cs +++ b/Content.Shared/Atmos/Piping/Binary/Components/SharedGasPressurePumpComponent.cs @@ -1,47 +1,21 @@ using Robust.Shared.Serialization; -namespace Content.Shared.Atmos.Piping.Binary.Components -{ - [Serializable, NetSerializable] - public enum GasPressurePumpUiKey - { - Key, - } - - [Serializable, NetSerializable] - public sealed class GasPressurePumpBoundUserInterfaceState : BoundUserInterfaceState - { - public string PumpLabel { get; } - public float OutputPressure { get; } - public bool Enabled { get; } - - public GasPressurePumpBoundUserInterfaceState(string pumpLabel, float outputPressure, bool enabled) - { - PumpLabel = pumpLabel; - OutputPressure = outputPressure; - Enabled = enabled; - } - } +namespace Content.Shared.Atmos.Piping.Binary.Components; - [Serializable, NetSerializable] - public sealed class GasPressurePumpToggleStatusMessage : BoundUserInterfaceMessage - { - public bool Enabled { get; } - - public GasPressurePumpToggleStatusMessage(bool enabled) - { - Enabled = enabled; - } - } +[Serializable, NetSerializable] +public enum GasPressurePumpUiKey : byte +{ + Key, +} - [Serializable, NetSerializable] - public sealed class GasPressurePumpChangeOutputPressureMessage : BoundUserInterfaceMessage - { - public float Pressure { get; } +[Serializable, NetSerializable] +public sealed class GasPressurePumpToggleStatusMessage(bool enabled) : BoundUserInterfaceMessage +{ + public bool Enabled { get; } = enabled; +} - public GasPressurePumpChangeOutputPressureMessage(float pressure) - { - Pressure = pressure; - } - } +[Serializable, NetSerializable] +public sealed class GasPressurePumpChangeOutputPressureMessage(float pressure) : BoundUserInterfaceMessage +{ + public float Pressure { get; } = pressure; } diff --git a/Content.Shared/Atmos/Piping/Components/AtmosDeviceDisabledEvent.cs b/Content.Shared/Atmos/Piping/Components/AtmosDeviceDisabledEvent.cs new file mode 100644 index 0000000000..6fe5d86df2 --- /dev/null +++ b/Content.Shared/Atmos/Piping/Components/AtmosDeviceDisabledEvent.cs @@ -0,0 +1,7 @@ +namespace Content.Shared.Atmos.Piping.Components; + +/// +/// Raised directed on an atmos device when it is enabled. +/// +[ByRefEvent] +public readonly record struct AtmosDeviceDisabledEvent; \ No newline at end of file diff --git a/Content.Shared/Atmos/Piping/Components/AtmosDeviceEnabledEvent.cs b/Content.Shared/Atmos/Piping/Components/AtmosDeviceEnabledEvent.cs new file mode 100644 index 0000000000..d656367245 --- /dev/null +++ b/Content.Shared/Atmos/Piping/Components/AtmosDeviceEnabledEvent.cs @@ -0,0 +1,7 @@ +namespace Content.Shared.Atmos.Piping.Components; + +/// +/// Raised directed on an atmos device when it is enabled. +/// +[ByRefEvent] +public readonly record struct AtmosDeviceEnabledEvent; \ No newline at end of file diff --git a/Content.Shared/UserInterface/ActivatableUIRequiresAnchorComponent.cs b/Content.Shared/UserInterface/ActivatableUIRequiresAnchorComponent.cs new file mode 100644 index 0000000000..89bcae7100 --- /dev/null +++ b/Content.Shared/UserInterface/ActivatableUIRequiresAnchorComponent.cs @@ -0,0 +1,13 @@ +using Robust.Shared.GameStates; + +namespace Content.Shared.UserInterface; + +/// +/// Specifies the entity as requiring anchoring to keep the ActivatableUI open. +/// +[RegisterComponent, NetworkedComponent] +public sealed partial class ActivatableUIRequiresAnchorComponent : Component +{ + [DataField] + public LocId? Popup = "ui-needs-anchor"; +} diff --git a/Content.Shared/UserInterface/ActivatableUIRequiresAnchorSystem.cs b/Content.Shared/UserInterface/ActivatableUIRequiresAnchorSystem.cs new file mode 100644 index 0000000000..1d453334e3 --- /dev/null +++ b/Content.Shared/UserInterface/ActivatableUIRequiresAnchorSystem.cs @@ -0,0 +1,41 @@ +using Content.Shared.Popups; + +namespace Content.Shared.UserInterface; + +/// +/// +/// +public sealed class ActivatableUIRequiresAnchorSystem : EntitySystem +{ + [Dependency] private readonly SharedPopupSystem _popup = default!; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(OnActivatableUIOpenAttempt); + SubscribeLocalEvent(OnUICheck); + } + + private void OnUICheck(Entity ent, ref BoundUserInterfaceCheckRangeEvent args) + { + if (args.Result == BoundUserInterfaceRangeResult.Fail) + return; + + if (!Transform(ent.Owner).Anchored) + { + args.Result = BoundUserInterfaceRangeResult.Fail; + } + } + + private void OnActivatableUIOpenAttempt(Entity ent, ref ActivatableUIOpenAttemptEvent args) + { + if (args.Cancelled) + return; + + if (!Transform(ent.Owner).Anchored) + { + _popup.PopupClient(Loc.GetString("comp-gas-pump-ui-needs-anchor"), args.User); + args.Cancel(); + } + } +} diff --git a/Resources/Locale/en-US/components/gas-pump-component.ftl b/Resources/Locale/en-US/components/gas-pump-component.ftl index ad03ac6be6..f1fb95f812 100644 --- a/Resources/Locale/en-US/components/gas-pump-component.ftl +++ b/Resources/Locale/en-US/components/gas-pump-component.ftl @@ -8,5 +8,3 @@ comp-gas-pump-ui-pump-set-max = Max comp-gas-pump-ui-pump-output-pressure = Output Pressure (kPa): comp-gas-pump-ui-pump-transfer-rate = Transfer Rate (L/s): - -comp-gas-pump-ui-needs-anchor = Anchor it first! diff --git a/Resources/Locale/en-US/ui/general.ftl b/Resources/Locale/en-US/ui/general.ftl index 1471261dcb..753ae9c8da 100644 --- a/Resources/Locale/en-US/ui/general.ftl +++ b/Resources/Locale/en-US/ui/general.ftl @@ -1,3 +1,5 @@ ### Loc for the various UI-related verbs ui-verb-toggle-open = Toggle UI verb-instrument-openui = Play Music + +ui-needs-anchor = Anchor it first! diff --git a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/binary.yml b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/binary.yml index 9f21e45a96..90e48d8be6 100644 --- a/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/binary.yml +++ b/Resources/Prototypes/Entities/Structures/Piping/Atmospherics/binary.yml @@ -57,10 +57,13 @@ - type: PipeColorVisuals - type: GasPressurePump enabled: false + - type: ActivatableUI + key: enum.GasPressurePumpUiKey.Key + - type: ActivatableUIRequiresAnchor - type: UserInterface interfaces: - enum.GasPressurePumpUiKey.Key: - type: GasPressurePumpBoundUserInterface + enum.GasPressurePumpUiKey.Key: + type: GasPressurePumpBoundUserInterface - type: Construction graph: GasBinary node: pressurepump From 44daf855667a9c359b23ca7a6946245ecd0947b9 Mon Sep 17 00:00:00 2001 From: PJBot Date: Sat, 7 Dec 2024 03:41:00 +0000 Subject: [PATCH 491/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 8ff4707822..88dcbb0ec6 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,14 +1,4 @@ Entries: -- author: EmoGarbage404 - changes: - - message: Moved the mining asteroid slightly closer to the station. - type: Tweak - - message: Things pulled in by the salvage magnet should spawn closer to the station - at a more consistent distance. - type: Tweak - id: 7184 - time: '2024-08-22T19:29:56.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/31296 - author: lzk228 changes: - message: Removed names from implanters. No more meta. (You still can see which @@ -3904,3 +3894,14 @@ id: 7683 time: '2024-12-06T10:15:23.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33747 +- author: metalgearsloth + changes: + - message: Fix gas pumps being capped to atmos max pressure and not their own max + pressure. + type: Fix + - message: Predict gas pump UI and you no longer need to be in details range to + examine it. + type: Tweak + id: 7684 + time: '2024-12-07T03:39:52.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33717 From 0d45dfada90d743863ea56257c8ab6a65608c596 Mon Sep 17 00:00:00 2001 From: Piras314 Date: Sat, 7 Dec 2024 00:58:23 -0500 Subject: [PATCH 492/588] Christmas Nuke Song (#33752) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 圣诞歌曲 * Update Resources/Audio/StationEvents/attributions.yml Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> --------- Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com> --- .../Audio/StationEvents/attributions.yml | 7 ++++++- Resources/Audio/StationEvents/nukemass.ogg | Bin 0 -> 2381020 bytes .../Prototypes/SoundCollections/NukeMusic.yml | 5 +++-- 3 files changed, 9 insertions(+), 3 deletions(-) create mode 100644 Resources/Audio/StationEvents/nukemass.ogg diff --git a/Resources/Audio/StationEvents/attributions.yml b/Resources/Audio/StationEvents/attributions.yml index 70ecf1d2e7..6ddd1d74d6 100644 --- a/Resources/Audio/StationEvents/attributions.yml +++ b/Resources/Audio/StationEvents/attributions.yml @@ -11,4 +11,9 @@ - files: ["sound_station_14.ogg"] license: "CC-BY-3.0" copyright: "Created by Donchan" - source: "https://www.youtube.com/watch?v=4nUpeYLKUns" \ No newline at end of file + source: "https://www.youtube.com/watch?v=4nUpeYLKUns" + +- files: ["nukemass.ogg"] + license: "CC-BY-3.0" + copyright: "Created by mrjajkes" + source: "https://www.youtube.com/watch?v=gLSyt7AaqQM" diff --git a/Resources/Audio/StationEvents/nukemass.ogg b/Resources/Audio/StationEvents/nukemass.ogg new file mode 100644 index 0000000000000000000000000000000000000000..2a20fb44241fa7da36121679c96e62795730facf GIT binary patch literal 2381020 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%0D~jkx{k#RvL7KR-Ym>do} zGWp=tJFuRj)wdV{oFRhH(tQ)q7bLsx|5jN}m`B*@a$d&(yN{I7v;StiGOlYt@#T

Dr6eN8S*jw#xpUPCWhB;d@@a@-Bd}bXpzm@z$*TbD&%4YAjs_u-^8PRN1jIho$oCnUdf=z3)F8q^3_lA@)v8=u^UaUirR?0?cO4rw{@BIoHL6YeF?aVe~vPS{DSV zU($^^*szTi?7+GE6Pe|@9}C@$YvDu}j~Erx5H_xv2}tL1{#&^DWjN`3U~0Z3=g@R@ z?CO`-%DVfIMIjL&yi(OP@yDJl-}H~ci6efo0q4CSdZrc1(WF|tlXFg8n>*1{?1g@u zUF?cV){17!xn7TRhwHX@x>*}ycZPJTg=Z+c$WLcKzZ@;^N_+jnEE`5W(d9?QvKDoZ zD(M1cm%xCpGY>~LZ`A*S3^^UeUpz&$?UCSZ)*6E7rZ$hMGspp!`r&7iNu!ymff^wiLEuTtvDzYqr?UurXj2f3I6lZ6d1!AS z86xUbG$w=fWzt$xvQZZwFpa$Y`cV9HP!R6Fk%hqjA`7?A$O55iu$}bN91`~7FDfjm zB>Q3eiPtdtF#n>gEF=5j`T37)&_x{s#7$UmI9rE79Naw y{fw+?dl6MXkWjt$hr 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%0A*Je;2#!2|g)xj;sEODEnKR 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%0DoS|CSZz+;7Ud7o< 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

I0n%t4Z?00@D2>FJc;~s)N{? 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

50!;cw2xFWfy9-&#~ShbbbG=| z&DHmc{#~2lzh;aY!wMlLcfbvaXk@JksTQ2z0C+${$<0cTm-OT&q3QJc5Qq!v9#h=Y zZYt=vzP<#5v}{KmAg_k77{U{YU|?W@I0M zMh_DHOr$anJ3KvPlS^lfjEnwuuK8)(Ho9JqoxCQ&S^veQ_Vt6E%ZrUkPdR*LtM98b zc2QYsK@G~_!oS^aYEszAkNx7u_M?+k2^YFHQYSTIAJ;mY>k!!eM38Iwg#1Tyj;vS( z`ipUvXbu6;x_3plBw*0@^$(_04XAzgpVLtdX?a!LvaPE zOYXDHcV3m@pno#pO|>rnf2`6_=hJ_Yv?H)?PgHEWGtC(>iU;M;&Fj`73&eFwdKrN- zzMXn%fm=>)tdX&Q4eq(uf)8(q;WZ6teIFzt+y0`TmQq4bK-#bXcm3nb#i2t63MMEW zRbGe|D1>`2VD5+f|24M?0i(IokMnO`<43gLS`}=V3TbgkCIbKjD{ffzEv4_y!^6{V zI{~dBkj#cuHecT^CVkg&VPo9J7&z7>G;}XVzQq0%5&6Rk$cx5WgzAI(go!^=Lh>U5 zJ~+lXr<_q9Pystbqx6Cm7#xW5O? zdNE?rAmJ(n1g#u`P2p63eRbMk=zIK%x;$lVfSqA1BOxaMsJuf{0HUl)WgMSRbg3}S za{kDI2y_)w6z1L|bb}A$jti5EQAv#OeawPs4>J2?JqyJlObngPJB-N&plt^Ld$bv! zhrGrZw!3hC)`fDz8sXD7v`Y_&aEefBbyD7YLwLt%{`;8Iqzdttd*H!g=|LLyZr-@w zVRhVhTs}QHGNQbBoBZId0cwBKD@+(%k2~XsMf%ad>H^Eh4)@;e#`~Yk@3nXA!+!y> zjrBStmV-^qsB=oj*)Gc!Q`QPC1s26!QRnPMB3XiwRC5ynsh3y{x>ADo5 z?Qr)tmpS1GLhYH(x5*3959USIf7^R-I}Hrq*B>a8y{4u-cc)mGuWxC)s6SS?0JYRsF+!MUmH7NiL||KRY-!LHp^0P68s@t)^yTGxWsjgZ0d055 z@_AzD+DT>ugGEq_($Xqtp9$U7=$R6FQzM9=4mQIPH+^UW>?m9kcZUueA^G`8eK>vQQOx?@>?i_{$RI4U`%NB* zUm5^!uYK`;M^mZMIBuSS|0I2*OU`d=o+sY0jS>q;0`XdS$4 znOWpDpMA=U*FB|}zV2jECpa$~1Xml@SNhn3qefKUD#DK=3Rz=ztY(7qQh{ey#QwE1 z#EnH?JqJx~oWiw**yQWs3t(2WgQ1VEpv2vbPPj#r=VLL)$Iw_WP%J{Q!Z62eQaS-M zs*owkqlcfyQQ)d;p{FIHZfgxJ^LkT8vrb3+q?ai`gE>(7S{{hb36DTZneLBC)3LrD zuxMP&a5BxMQEJsI^d$FDX}|u>@AYN9(MB@^^`AVK?g&!GI?b8e;2k-6RtXm_3R?WD z$1E#8EQ-!V!HgkmcUvy9lrzBps+K`y3=Z(oz)ATf0uIo(ML$qU`s8={P@~JiM~xt% z%zOt#CrE8gLfM*zUl~>FvAUid>$kF7Hfk?%v+1p^dA-uk!ey$}BXlsu_j1h>zm|7hzf4rFMmzr+*^I@MKm#|flFL5hJH_Xv5aM_ zHy(>}rqm2}oKQ3PsyEFjB@^c4=vbURk+j@#bCWmOfYX%@4KH$seZvW5voLCTY>cIM zYHkvo&<&E)&9;llu(}3Lf5tbpq7sndOHH)R7FZX8kNt{pHqP_jmJyrLAe887pa-N| zxq1)*&>}<2n%M$Zav&T9c^{5!vJX}htoL8Y!y|h_Bi}5-mhV2~M*I$FSo0@?^EweR zw(OR_8sTdRi8umQyGAKR=4>v7Bfq;Lg-X_XP6`qCeFY2*TWS#LT;q4IcalEaWp7oS zNbyjHq($J7hY`=kSOd`%*LEZ)j3EFW~yOab{r;%E_VyZDtYOuJdH-{=nAbKc&PMvY;Cy>W4H zzA2{X=td0shhZva6%z7F5(I8d9U7~MC6)*X16I1@ICq20cvsA&#oNkj)Poe?UCNN2 zVX;HlY~=)}=Woyt6Y~T94`L}Xhywr;;H+g$k$8um`0GK}^Uqat+2*p|%q3 zdya1OZl3xP(*S@HO@Ku^=GX$D#yA;*Wv=CW%f@ddXXJ8&?;obRusrE9R@2;SE;c=N zZuK+2UE?=+7OJlvB`td(yV8UamV4mkd{QYvSv0|(=2>IoB&JF zA?AKRIXsZeEvFJTK%Mf0dgNbLvF%Xu8T?GYJmxL`hg#*dEcHF_{3n^E1;lBj--TwQ2IFs{Y;Y(ZZ zftr{{)9Xm4i^RYk0?x*((`czxx3)(6l9BlaxKcUS0Z>xC;<1V|UCMM0b!OV7oYX2a zR#iQ`RTg*Z68)VN2gxBdUjA;`syWposPQiqDkqw+=(%R)_$6lJA3%$>3&}tBg!Yr3 z>k+f7q3e+6q{b@wzMU=fr{s1kV-2Z9HbrlFY%(LBPmR4iTw-D7$PJH*t5hE(t?GF^ zOF$)@mi9&h6C=jhJVe~OU)9p3ON8+nj{>~$&FEBw<}>U)k4OD8GD?nuWL%7&u}1yU z6p6cW!?Sl2z3K>9lob|ZoZ5AAUw!99rTZGbOSnm(9M+*5`1CtthQ!w&O3+j@m41 zj;0mt>lVmUD=3qrsu7g7O0meQstnY+Pt$FsV~+N&v9|{*M-DHPrH48;@bj;0c$5Pv`rX_jPB&B-CZ26p5hWZVQ z6sKPqlcSM>sRMP-_^*fJ%AuZ1+BV$lU%Q;85Cuf7`}8N%8%RIJ=@tN>Pq(fX_EV#s zJ=Tx~Kn{2$0@oCPw(8AMG@LXB_z~!-)DaXfo^68{C<%m1%(yf47Z;-%UtDi&NlEI{a|9dhY;FVBcHXTqQn0=^s|qo{`8gS zLTVrrv^Q~g1rx8Z#`O*CEOc3e00Q{W?eF0J7t<=q-Bswf{@J2lS&7DvU~HkPRh_m} zEgvOo%cI)}=7T0BRJ#~ZdPS8E6LIBe$@pTwvnnhptBE!8l)p0sN9g+u<73je^<8_j}Qy1bwjxN7WY zf~~!3#)9jI(L{=?{A&rDmOTqOpN#GmVPVVbF_D8=zFAvbd1@TD7L6MNHC$DM(wYFT zoysDCSZ^9*(qwQpT)U-kJ%3n?a+XtBj>cTqfvg)ih#LeZ6Qg6tZul%sFL}yiPY3{* zMMe6@tg$GLquw7H^*t6e{=4t>c#J?gI8Ju84S_<&iR;zuPxt;IU3zH`fsZ2nC+>$w zT>t2;=P%PMQfS?pE|lgrP0XOJM?PXGe-sA-M10_I>geB6zNS=Y@f-i$+~f4dxjdJ=Q7x|4v+h@? zz$J)r!PCtq$6-vdi?XOICDSGbgxxh>P$esR+_k`!21ENI?nXesbwv1 z-c__I*J2jOx`*svIZwE%AF>S!ubSLGUIc#o=P6=_Gxq$P-=awJS_v_3Ze9 z=3AM@HuQ^s5V?n-(z0aH(IJ&^geD}avTJO;;T)euDk%AwGw+AwQWX>hiNJWG^x<C!@Kg_|Dw06`7%v>+HMnFx#u-?2@}*h|^4m04Am3qW~f;D2Oec zMI2QO@N1`ZgSQY*Ud9A?wTup`3-HoX7`c_x)+%I*uv}c0^!FM2MvxuxT(fv-suR1t zAlOIi!*jVs=tcMLS1sMG;jg>YPlCjEo&?Ic#0~yCr&(p1_ig2v*0@-goK%I<@>%{Z zXM9ah-{dzMGB#G6BF;C9hd;_OG2lbQsYRma&Fp3%A?(M>y=d7q93m*kPuTM zjuK1z5Sm$36h?LFaJVy;bHI=1UD0CyRWCH zJ$O-;^FfX(TOe}UhOPF|N^4fy%I`&kEi0Q~FlBzRxF-LcM-QS$AUyPO$&~wBxgt03 zJ}`EQ0YLe-8KpyDfa|B|5(aT9Incj8I6(2h3jx5y(d}SjWnAbtFkWyNftINh7&K|b zLFRw%nSSckkcD9k2QYTYwyHWItFCN83uV7{N1u?VLr5A+~MU}{QXDz z_HH_5BQwkQ{8{S*uG@PL{=_kZQvMo>lIDkRKT-K{>Aq&i=QlIpV~T7!L#OoJ{QZ6i zv?)*=WtLRyTNhRV5jiwepZtPy&_KP^Z8F8*7UXQ!TopYSb5`L$x>1=3D%4xX=hTD2*4cXNgu_A5~X#Kr*j zdTh@1RHYZd8Z}Y^xfpJlS1$nx64#Iodw>Jq?U(N-5m9_b5ymc#9Q&T^PnshC;tw2B z6l$_8*~C`q;d{w1Y2W@s{u4ibYG7l7cMUcWbp-KX{FYi;wHf_HMYy<2AkVI!QnEBg zs1I^m6+(TvUtI!^k?k0V&bX-NtXs$G{V?Ve1z^`=4{3iB+B!H6juZ~Re)RK@TfKj> zyY5}77hqU^R9IL?pP5Cke9#x|>!xC}3-2&?$^=4~FCb9`%le5Wf>ykAO`l-4E$!A5 z(e0#3=8y7(E0q{&kpNo{qb^LQNUNv~MlwT^>VtfR!^ocqM#H7=;mYN7kTFopGuUl1 zs6jmzR{JhUbauy{IhCYz()>kb*deC}p(&~90)7r$#>`FS5YHf0TIbEdQO^TJRGhW7 z<4Rrcy`^sw?tF1OtAP=Ggv98mz|hzM9Jt+`c*B~_R$PYc&bjwGS@$C{Fp`Hde=ap) zAa_+TG>`P1;H^;PmQrkZL9W}ssH$HT?cN%{6*{Y9{Y5L$mEOxW!N>Dqz9R+%qNjo2 zej8sne)sPN)sL2WX6|t6U}JT_W_T^KOP;n2=&1HezB4>HsbxS%Om{%^pl-8{bZ!- zAfDt^_w6Zvb9ofK!8{7zFdk{IWjS` zh7fOX0*DGXPl^Nn?^>yxD<*Pdj1$Z9^p%Zm>14@lfM3#w zI^#;z1$?F)mp0W%g67}8@u~1L&QE}HmetaIx_yi<BXA;-Tx^sQdP0Lj+U+?A5u5SP99s@$U7wC zX(`0H@m7Tdk@(LSM)4^bpP@4p;g8dq%c!F-ikwKx+SqxOOqRVo&?X8Avvu$C6on>Ig*p%vZw~JBNgX=C+ ze)B9fwa>}poR)?X!5NN@6AFEzlc7B8GbC$cb&I2tz7a-KD$W-RH)&=MZQxuF7+SUbLoAmc*^XC91{@v3n4hzH?}y_)t_Rn9l~QFZf%)$>#LM#wTz0XB+<^e*}c(aXJ(T}YLj(D z@r%{;8`{*a@l#mcWgM^aVM$wGd9yM&PR1ShKkCt$S97k5te6L|%dqiiWwnuHLxop= zVC?5bb8nf7uf2BVZ7~RxY#rz6s+LkXR9ZN5v z)x5D?j!B(J!Fyt1NffwHt*dnGAzfG(9{HJtXhG8L?EkuEM8>9FCdqJAoq2|6Fh9$L zyxG~g-m9YF|4s3^i*yhUzlrl z!tp`T!)C_yZO50r$3{f6hY&F_gEp2AmgaH@AnAHJiwRv^B<*1FtA(BHWoo#$WqR^$ zDbMf50KArbiAKkOST65s9x_D8hTMiA`M@pOJ^J0WL-wk&N@lACiGPRMOGW!=uawIu z#x=!geXj2s|98naQ@>@QXqvd2#eg+*)r6Fa$}mAbNT_)zx`XsJfs{YRX7cg)k*)PaB^} zY%;^>oJBx`0Fiqz{W&9odkL9AYXbQP-SOM>OUH(KAhvGw=ytsM&ZXV@Rdia@9L##( z$}2~GYxkMH%Uy5T`1>Q2;3Qt&r>l(1{5E~pj=e~=I5~2o0=uB&2yTraT`B4n9cma4WUkPcoN6<6|UEBc{+4d1@79mj`Tlp)|K$y3{5po zST0W%{pQ*uhZSX0R*|ZsItNs#V2i{1{w2wAv2z8Bc1T~o$hO_)V#M}wR5LzYE0t;z zW%~=FMK30^FT6*s=~oeR{H~}!&#hNTny!m4E> z0UPLF=UQaHGaiEo%bH(%W{v+?QF^pLuU zm6;qlKoEs2GKPr_CRl&0Dj9@Kms~MOQTh3vH?yg-yoH_+!*MwJ(LuHR5+Y^+it#;ur6T3|+mvn#AK-A)){YWF1ef3A0mnXq z+<4_iR#YhyEy3**mV_;dvS)jcio>PV^r3;uVYl9fe0e+gIGmYWbVa?PMEakr-MZt~ z8jgrGw>$$qrdh(eYC-y$nO>>8?aN%oRd0NFmv2&Gle*x7nDf|9_CeVC9(5qc--u~6 za_>HbW^?+~36{{iBH%-IM2W?1eFhF%Fw+SZ{4LvpEM@ zE@vp~PxVix<{V|dw3zHjZ=^Zme~aB4OxuBSJ1PjzF8+L8MRg9zEkqD{3$$M=u5sos{nJLcw?TvlcgU_ZV$?6sJ{54#JHS6D0KoF^`Abem<(pT>vZDee zmfBcJjldKQAXhlhHT4DWO42<~OppaFK-2-fhmI|6g*vV!$6DVutBVKuir>LE6L@Ab+?@8p{GphbWmYRuq(o@sSs%R}v=Nfk15mby43=3;OkU|2l`w&2Y-&6p*P=dh_ z)uetos-`T?kd^h0wCjfR^GbVB^yiXbGW&e6Rz8Is;84^DxSp zf2yQ2!~V=R!OO%NkVYzBmZtXewUT|IJlRGObG^^xiWe!3c*Y#$&c6zLUH{k>j}cjp z!SjbD5rz2|Y;eKb@e!F}Zus~3XHW^`bNW{Y&m>l4(fUW;bYJy*p-?{L!0gne;FnmH zfj59Mlp6RiC@ktV*QcmZj##}B{Rm;&VRllBhF4Z|iy-ti1Y8+;HvE{6yd_xy89x-g$`56 z7&t*obWY|lII=Kpbhy!&MD`$ppaflQQ~>%q!!{cr?JYJ3IM;>SVIpKlcCH6@I{|_+ zn&{mdma7x3v{Z!Py->tcW$`s|adBY1Rsn$u|DH5|ABNna8r66H{EbOsbY=c>d0e*Q z@$5#u4x6m$h;8+MX?6O#(>M9)Pp=oZ4&(CHZ5`Kk2?*uX=)%L*wa!I%pqMT*(?8&f zgnW>@Gv7Z>zkS}!0Ytr%j&%a9^w}(ll^k1%&iREN|b472=(xP#cDd5w%JV5#6}^qxX6)iJEv6zzv$3KWQw zl2uV?V6#_v9BN6G++H*tcc*uY65oZ!8@_N@M`!fVq@oNTIVxP2q}QYcnhuAWD>ft| zenBxmUmp6GziWU$RQK4nRm5Gq*jB$CsLj8TfzITB^bWnwog4*~aE#aLCy8#Yrf+?SLc&N$bVlSB<_{r*c=A%8Yu-IKq7 zS4|TGJ*N~xvtEpTaR(~uEAH>n--Kx%nS~30V(kC`XTT;40U1N8$OW=)DiZk=0-v+0 zfkSn-YjT9AV1O~rfUAFwF;2IU)km1gz^JLN?H9UU?}2R;WDXz(N#E4_p2VGdzjZhS zH#qEneCGWKb~vST@h(Z-B22l!{uT+l?YVP5+j|wP184+lK>Xy0O#*Qry=Gb;*{KO_(+8dF zOM*e{XyLN?s;8rR-!yt)-C`y`RKQ@(>?+D!5erj!oYCQv{@@1PQaEyG1a%}l;t#Wu zST)^C`;QC=P!xO~lTT*({`V)`x#c217}l}6i=nvMA&z`{mN{rCqHh{b0iUS!M7RD2Lcl_0vPoQx zcc+ub^Z$Et8~;xOdCR{6Y~u6KNM4m+6JNDnlU{XRb6y=@U4<1C-k7H5uckXOB@sZ6 zP(Zg4^9u1b1>lkuaL>uKNv?G>2{Ah$38@S#LrB)uOBS{C+i}cDCgJsgP!TuHqLLMz z*YN&BPx6MQM$UjO`%H>qtG_PZyRU9^Zr+UlYRMH|lz)y+)D~SWeI}c?I8i#F=W_6B z9MAE~Bcq$8t$5HHQo<3u;nD~%`eBKZv#pp=hr?OJjcqaMP=RKq>#M8w4b(Imb|HaY zlo-IzmA)E%$OM&-QT(wB!l)!dq>_uaMilD@&4+zMZYQ&6DaNPuid>Qa%JAUAi<5f> z6^np4;mP=uv>x%b$4`mLsg)v(uKE6^f;|S5zH1kUAdbWYI?TDbjV#??=9rR00vTY* z73Ry6v%952G8pIOCg8 zNe|=7AjvlLOMoK7*Oj~#U3_Ie(|x(ZM94gC?H>#ZVn7PR0nwlwmiH&2W>2D0c0=NT z|A76x1|tCY-cXd=o)$NdLqE?EvHh&Mc7m*?gtvnC+byJX6D93oWL&?aqmbSs^+#^e z*>+Bf0z1iDsK$|l9m6LLBD_uLODF4CJM3%k^9eJ3EjAgT5zKBtlL3W zX6<~1L{YT3j|@jRZ$O4Tr4t!=)v=GUpx~T{@JL>n4V~b}cCs9y6yABAjqdcUWM*Km8;^S<(OwF#xYv3=+PdCg7J{h**kRgFG# z9G66AtHTp#`U;PN?qRzG_bS^gNjb!-EK9zGG1PPmfTM$&jv_Frh*N7?!{o)BkTTd< zHX^MnZ3r|$EkGNLMhhlrF_c!#z|ixqs$pXG#IsDj*{BS5#&Zu#F#?im*Q$YS-?nA4 zsS@cmO4B$dru(8Ljq9wTHfhgB;1?tG%!T^II6N~#viK0dM03-mQn|8`#S`-wPFOfh zx4#w86fzJb71>P;UvFXxgGK6nq5uKKbhSZ%>B$f&(UEjGSr9tvv>7~T3Q!LU!?qq8 zmS4?m(EtTQBRLv>PB{*0(!22rsEE)OF!f`jBI1JXnW#8MO#m+-x&#jD{^$fKc71IS z-1){XLSQz51pIk1%-_ zp3=K~=jrH_p)j^#+}BA$Hb*D&WiJlBr6!m}t93xy>cC-6OVl)9?HX^GuJt|4YIYhXHc~R1n8B#YuqS>t0|EI z=?8YOFwV83)@CJg7@tEZFl#=r!WTnqY@|Kku#jT{%H*3tFbf%fug6;Xw&8BS$EK|s zRFQnH(y!Irf-dG`F_n@r_p#bdS^v}^B#zUxf5lZC*&MoAR#|7i4!*e1{St$*y5^RJrOM~bb2F<=%P59*mbp^2jP?!fr(xoKmiqoet0XqrM0nqP?4sax3FIIE&U<9P@@i>5~S=tD$?kHL$LIZ0Z z04RnV7n{H#Gi(xu4I~c*mn^qJ#bi=r%)-&&u;Y4`W^IF3#!=unvCUBu#DHJ}6UAYq zU>6pE<-)@j+9!xU6jf|o-8wQHhR8y6EA>My&<-j9bP)sY)UMdTE5EM>UT^y<0-jTu z<;DAE6YZ8veBchTy2UWU5_p^;_ZVN`+8&p(r{9mu$l2Y^EPNE`uD^EO+iErozjHio zX?e(QYAAs23Z;+GU@${#5Y#GWTB{yB#^AGl_}tU{CY27qcl2P$66jTt`GDw9R6V#4 zBCJ&GUU3eRCEr9?$1U7=T2Y6E-{!@xe>#+uGfg@-A%SjzZ#K63stgiXK4G5io$h%< zvr4pGGI69>SeAyT!dP2;xeEVDA9$(5~KYLhv@9MVGGd( zlJ5iZ&hCSYMq0!zwZEcZ$xFn_w!Sj7C!kIT3meJY3nyiLh4Tj|!#Kywh)hkt{WuBNFt!-SD;u zHUsAH+RORx$U9_aIo>EVM4E?)N(8u>?5D52L$8j)e=_Z4(J|>tM$46de}L?(@4x0> zEqr_Nl1Bsg{T>Q9+`J8`@r8`uzn@>^Z3%%HHUI^~Ab)iB@P%%!mKZoTt1*MATs1r* z+ykPuQ&(t0qtH|LhO<5Yz?C0l6@}6!1+0}vy7K5iH8_;x3~hBnoPwRJEWyX@M2JgD zSyfrtkG1EUHrzVsk9AS4_&pi-Mj7FQVWoJJK|<@E>0g>`tKo1F6s7QJ6KSNp;BA`W zKG;<-HEFDHOS0E1DKbhxExD5lm=S`N5#WL)zy<|{{V4T7)TKm#^e7qtxT~_#aegsj z%poMg2}{6}2Fpl{JB5Y*U7L&iU?d5vU`71=Wlb`9pL}7!!jWCR@BY2oS7y7;6v~D` z3+*O>hd`v)--p?T-qh=sWD6<)%zh|Z;Ew^#g{Sw{2ez5zW^~k>hh}BGUk2K3-z(>R z!mdj49d^4(Pfw^s?XJ9esyWLDXxFYwH23l{q19#<;rZU)7PEQh%&?@d3`b4q;+M)O zHNsMRwB#;4OzJ|J6yW{3&`FJ-#f}mZ1lk#cC&wIO$M90q*p=8R&-qFJ`DZMUB@q?pt8|ao@Y@p68TGsH|QIV`&X)ue=?efG^t6|q( zFm)`)i*P^@hf=aOBF^>Bpy4b~;+Vx#sXjXRTD_;j18i&@2EjkW1Fu&-8QlPEoO1oI zn1KFe6@EX;Pztwc1tEAFdG>N9y0Y=kkJw6%z9%PtvUxv=D!(^eojhWi>$w~SpurDVh9R}S3 z27o*JNvcM7f6#Qwf@vY>G%(Du$rR?It6ekBORhr?07UWA+twsXcAhH|>8A6n($p zTQ;VD(>C?p%_B4}ov!X`Z}(F~?E5xZC;4`8jEy)EB9!!gLtc`_2}lFh0lmg`iHJF0 zk#;{%?E5<6=|**v9?!=MxoTrQi7yMgaxU$K)f^%8v~%}&fKNQF1NzWB zu7k|a{(hrLPwN4~0_z-OT-&w^y>9wtBK@rjJGAX}V`LrZSWjy+s=HU*4fR4Fx2q;Y&E#lM=YbhQ|j;X!)% zwZP6Qh@^HXt@4_+uC$e$B`iEN4rXt$9=p6sAX&oOwDJ+WagNOyHvV{o@5Eii%|jRQ z&E$CGkfiB*Tc=VaG|Ytl59>;ApT2_A2L1X`bgZGi9cdP4lupziLV9M5(^W#W`i8=9 zCT=(oE!@~&BiG}*Xy10QL=0U6u=AiB`9OxiEoD}?f5E^%ea1(4a<3%d-M-vE^4>AG zt#d-7#9B0Tr9-j|)ITQByTw3upHqIe8NHPe-L7OTCo&kuKa|YaTzyUIeI;0LpR4=i znls&T;X@HD;sqfAlO*=(*}u2+T4VH|dDrIt6*H@Qz{(ddoXq>YOo`k@Exqe|zF?~D z*^s6r>K4N+lh%)!CgPSD71-GVZ8C-xtG-`ZebXC(dw{Mk7WFu8VmGS;#DkrB(atUA zjdOM>;m%7Z%#uXb*{?N1s+FEtPm0a&8u2YPHwb>ic@rxMm$2e-azaizFUu4%jWnOZ z*&qgA4n1(j&d96!C2iWYfd&ZvKpzbiZ-`imVM+ z4+j?%sp#|_`ofwiX<$LRhHe>jH5JiVu%jUSp4ty0xw#&M9+ZOIae)IriCSFLh=r6X z-h^z97@mn;)I;9?@e~R0zd@Lt{}VBG-$V=)1y3pRx3r7lYsDL6)Phe~NJv0fUh&oY z)$Wbi0e!XY-Gm6hJ;U|C#>9?>?$W^p|9a!70q)n@)XX(!`8TP;t`Baw<%XAc%?9tr z&&E3pAIeyg!-ALe(?ds=rGAsN&HNG-g4(lUv2vDW2u|f1{ypv>$ds);DAl~2EYR)B zNW}=GSt1G+SsJgpYmR8R`-bb|)}>9GyM5q*i)aN&+`DWqDrt#>6`-Wyj)yq+%q$=k zotGYq>n~bJ2a9F2P_jsXvs$?DYAhdcV;Ec17VOwBPnP!gO;l?LTz*7Guumn)aYH5K zV00?^S~!z~%)%E@x;Hy^(e>I9D9695wGHRblGYI-7YfNf05~!8qs=1$gx*%W<`22W zqoOGGF_A1kp1ir}BjY@ti`i|A^e#r_l;PdTSPnKTr&n+g)1|)CWL!t#t1q}G&xT

CF2AH)OC|6!KH=|d%Z2}@zaTTZQSNzY6CA2t&W}FkSD?0kpSby`I0gS6sl|tWc zebW8|tH+RjEWr1vKZ|_EYo>B>n>i4f!xm09)i7+_kb!<#_OZ{hM;`|$oeFskWMaR! zek6qa47KKIlCB6ipNlorV*5)spGzwu#p~%&{&nhZ3Z$RWy>4qBC6&##8by@=y0alc z@r+mJeq{3$kt`11Hl0QVXcL%!hx1WjjQTGg%|Tz%Xre4lQE*Y91Ma#z^eQed8oc zfEoq13V2SM3hg>cF-;Gjb1F$vy4sj8LJxH!|Btgj4buFm1|vz`gd7NiClMMGS1oVG zWawxg%O3KyH;ci}e-j^&nD6}VC{;X4{=jYV@Y@xZ$7=fRwqNHzW>}m6k^F|DPY-#4 z4*QeWIn2diA+x_mJg9z;7ze4(j^yKmluv>%C9GyN=(Z4#eHYV80~QpRZ?f05EX+Z; zhrXHSHmg-s$)q!KFl{ul52btzTsC~a$|keb-D||#niO^Q!pI}~*h z-I;}^nh$&JLleabh35bnO-*X|60Vt3ZM`2Vb0NX5;Pv%!94kMM_}o>xyokxN7Ef7e z4TzOjxk8&7xrUZIJN7rN%mxg|D4#{Saxum@O^bc{o-83oEyj?7E0r0xuq%s~MWv#v zmmD22jwg?pBv`5Cpf(oF(t-q#VCEzSO9%BETY&4GS?mEeaM)Eka3%>o8%Rw1FiHSm zAR5uvlx(Vz6yF<;<&D5?B8vzZ$4nL`#>OTC>!F|mYES@T)c|5Klu-OojCv*jc0>!; zN<0Z~T0tdG#B64Iu^xg+KTynMghwXm18Oty6`tVh*;@oPmHSO71^V~s+u&leS@(NQ z;h-yi4g4u&w^S~qDGv%J;zqEC{@6KattvgT@oBSu>+)3|t-_jG$()*3Fy(qLRds+@-W7k^?#wY2l!?MlhrXf1b8<6Fm%5#gC=zfprViVD0wYOk22Yn z(90Ux+VRf0ey?gl(TbkbD)dGDY58CRUBENluz#AwRfCajozP3a|8Qm|c?iMCWz2J? zXO3AyV~*=K9q(DgiHy!Y`QXLms6%e9*h&Ff*F7~sh+_rxx56tJh6Vrbp7<4=m=vw@ z_wz4^4wshgzm${7MG1}i+)70yNA!WBvlvA2uhOT)TLvszi;Ddjgh*e&%>fqM+imQdQPp>%N+T;x7qUZd4K(?{Dcnk zsq1Cu$Kq40OABA_7oD8%lqwz{pYD<$6{BaKJJzv3H2GfKH0rPl{mC(SRe~uQ4Yc&7 zxP7+Fe2DON5<2M4v|Aq;)W~(`+#fVeWR;BI=M~2EOan`pny0#=4_*|ri!WC8m^{ek z+mLezX=x)LDMy-xh03>17EAVM^}Xso!)=+#!k!=~U(&dJTtvDTURW#_&FaJ1oD29gm1C z#GNo=HSN2kj3BohEQty`2Qck>2uLodJLE*ugq^}?lngGQO1*A;|FvbfqJJC4v__Y$ z+$Cj{HQr)&92CxzC!qCwsh>!>RLOWxwawL-)YG>8+{LHFTT-|j35_o(s-KFIg5IikKSE@zr%6t8 z6(n0e$Iey=v{|}n&)i9L`1^Dk3lCs~ncM9V9KLc#CZ=K)wre5f$dK3);YTj%7le2! z9nYwyb;+(O(56lmH%!rdn)@wl>vHZ3|Db4KgJRhlS4Js-|kxth%t*ppJmmU@&Td`HcF z(`%)nAfB8{lr6|nL@*4m^ZTLCnBh{-aOPn9UIPbk@5(V^J>KuwmL#DjWpZVCBwY(? zn~+_QBact#72kfk9J^|%Hmx-Fx#asw&}8KIjSAgoMJMZ=smUsRFR5l?t|2jh;cpX9 z*^T#e7Hx%OKR)1>d0W_$$seSkt0uO8XZAuCLe;Q zO&7efuyQ2S=p)vsmuWr$C;vs4+yJXo**>RLJ}A^5Cfo<>6Tz$cceW7@&z1pE@=}p z57UM)oYCM-fS$a$WrNWC_=m>D(uD37(SvG6C1$AE_uri6fUzwf zZaDw)pxBcfq)FWmlQj4HnM>rb^W zt8jH?%|^W7yLz8~06QGzR;<8(4r8pCsz}C!ju70}9vy^;uO{!`5Jr=b5Q;#BgMCB@ zlGT^P+?L<3flXv|j0iJlu0}aoBx9zL@uIZ`w>M zjmGlNK$<9U+Ob0P^g)8%p#H*EYKuR8xGw z;s&Ar05xKt;u^l5D2;@y$Ne_Yg~j@$Ibhq@<+SV6`ZKC=$LK3micuGKs&>9`wAikE ze37@!_Fw%#ANzhm@~QP{gW9sR4#9lN1h&uV9ca3P%0Tt%w~Lx=KH_%3IqAlrVUMco$u9_@{ta;SB` z^{6{wz9DwRYJX*VU!K%to%%5;o3Wzg#!G~I$k3Kf$NTx%+O6^Pp2!W$V-hN8_DQII z-W`WSKy(@SF8T1|^U+kM9Hx1Opb8?&LRcWq(-Q7Qxo9Lj z6&H^=7B_r;7zIJ5F(J=h0t^@MoH^Bf#HFWJh?4v-iIu{PhdDS31Au}yBPj4AH1qK* z!{+Og;F8R>K##E@M#XkXkABHdFxx0#E$Bu>dLi}?qBjZKB9{5zA!xt$WA?*GVp1$8 zkyUJ2Oh8CKK!o0Jqp=yPj*Io?aw-M9CB~4QdX#qG{NA57rOa9b<0iE_km9d@eVa!b z)W{2~!knEqgNV2yE8-XLoq}tsy1#t#-#m3+YVK;IOlDln8*q}*jppLi85?3MjLkk# znx2}4rZBEq8}0SVTZ$Au8+;xLP)7N{nq zAg9u&+w9xqYuSB#=kgR%U_!L*+J~fX+e~NUBMet$>RWCtS$uz2hM6?jecn4z? z)fbO=D)t}%DIo6!!ZNT|#tLw_)QJIx{3qyS3$c2MM@K4?#l_b8+z&EPs5={% zP{eeW;#OW#m45!{t}<5(x ztIU1?`2Vl$fWh!4HvB(I=#RH|)Mrs&(l;RJr#Ih(0l$)x;;Zc&G1U1@f-rk?ROsg! zcuWUfQ&9AOuX;nK+=RezUN8138?Z4}? zvym{jf^ly2PTMvIzaHE6i6xWd3&|%+(|h+LrBBGG9pxsrMG}q%*mfa@eueiX8Ctmx zoU5q*-wacNAyqVPBE&^gL#bU=x|*Bs2da-kC-|(^5{x4e#F|FopPHFXP!n>Dl6P^u zP|Y}5;1)$@5T^2%!{iZCEYVnk3|qE3vR%HXn1o{PLpdzcNZW+b=~Nh-!=VOy!W^4L z@O6cYRfExs)8)R-v=7!bT55X^Q8BmPV6rvS(4bx7;_;O+3*>e~&39ry{G=2}ApdX| zf=Pa6lWU2ovtlD>|AiVi5gILj6%2mAp?=9hC#{m_(!Z9*Zut&)OBR%{mn?2;!k38v z$UCRd03McAzxCC%m*9$_1-+(;k#?NBsmxZBYH@TEN57HqZ+?XY@0#@SDOJlxH1Rt= zswEz@N}dYrM1(OKI4o>D5T|u<5Vu(R%?}yJRNc4Z`HAv1Eh{VYYZYm=jkTeo@!}sk zke7+KL>FfZV3o~0w)?hb7wI;2Img<<=sT(@poZ4nu4$ayEsOJPH=K7~t&|roT)Rv_ z9!!(U&yPLja#Yb&CwlG-G7yL>{a}Cl1hzn*LyBK)8&f zhLU=MJ=+;HF5}W2v{6`-!u`VlWD?wxz%5k)#%&yE1cXTxsS+2S{8&1~d-XL~?;CMh z0ID7U5b^>;+we@ie6=uiR3{J@gE2;J%YPy2u^oN%{&#@a z9xjkFw=UAXo|Ov3c4_w}5o?5o^`jYznf=74EcBNHo>6JIv*Tdt%RO$E8NA1|z_yv?X zpPes%jADaVreC;NBX1`;sn^K$N}Gw-rzZc<3M=Jk@U$z#R8!JM5&QP-vfTYe z!Osa#4ZiV_0z8g}C=IPW2r5!9PMug&lLVs;0#}dK>nlmK81u$DIhiRfTyv{asWhcj zY4SyUno)tI_P07{q;Y9!jo-!?dzIF6W?_cQlLM5@`3B#@!ya%InaN`+r5mPrNx z_`*xEfcbs#S9}P;E}mMSd^5mv+|?_8Y2v%=4TwT3_ezWM=?DpVj9_|c-DVV#6tok- zX%#)iDWRxhi2^!Em{7&EidC_pn>26hZaJ52?SW_2pD5nHfo<)lc~XM^oZ}VL*$ueC z5WWQR*jQ=e5R@YNPkJI4r%1MBL#cOg%{-XemB28^DqL~M+ICeBiw=?-7W~HkyT&-5 zww_O`MZazShp2Pxjx^fVXvMbKv2ELSQn8JW*|BYQY}-!9w$-uIv6Gu~#~I`Ng8EWp z?{`0IuKCm)+nb>s2iqWvv5a@;zv{OXq!ZcK&C!dy(?M4&X*NShY+~bwFikRFXn=@e z)*kFH(-`@Ly6kOLH5bPJs!mDlh44OGdOBo(3|=o7N^NaChgI0DwO2|&zRpKq_L*9Y;xE-XXORWSE1SdS7B)ZSy- zdJ5m~DqVfb7^z~WaV|`tXD+ku`|TB^r@vLw?@k)F5XI*+eYgDUCTz;(ZNHnHao#cN zpZ387IN0h z95g*vXq?v`%m&EHh_0Icys=F`?OT2g#y%zcMw!9 zy>K!(&A41_sa9KC)hJeSn-W^>CDt09uIn83_E4cnNbsa(BMEvTmugT$l!?@Gy9!tLtUvfdgZQ;4~6 zgykM~b9VTdd3s=&1?ekTa=2nHYf*#?b`lXi&B5q>B zl~C}oEJgR7cvj|LYazI+zW5A1;2}f+zki(L;Qv7T{7x;juafIvPM++J_$&_h#OaA; z!ilN$yL0bXJP7Wr_L*cSOC3eKFKuwgh4^E}gH#n$RA$Jv=!|^v$`fQCZ5y+>X&bJ8 zswVc+!vr&mLxM6XjD=D|`MSkpq$HAS9SUna37>2hIZm$UnVn zsF`KeZ=B@~0JMJU71hhO#vcl`DQjfgUk~}s8Uw+Iw!w=ETi|Px39}E2Sr8#r>jMEw zec*45uj~KSkKxI4Fk51Tgcc(kOC~w=prl7(6zL=wT|BK zui)}4u?%E_5~_6Y?X32lRrl>*5c}(R7XlFuG| zp5Kbvcbehf zgjWfNBwc1U<5-=c)>gug@5fTwxK2$UGZsygdP33S9NGU)3?>;PI2vmnj;CXH)&ZPZm zm7@((A$PM#B1c*xFWG)^s_rf_S zSg+h4>=W*hNBEyHgk@BJJ%#^wpS6ykblxDrm-sqt3CkPML`}XW@rjhRd-1<4QJ=h+7-eu$Z8%>=dVX6>$8p(rOOO~aqnIuLwJ4~Z+4v*HT!@H ziVFw3nWsk{CbW0Ic*}~bPxu^vWb(>A=oO8{u2o5-f>CI-+i{HD%Mo?3^mxB-XFWCB z8+rktcsT<$AmGqq!)spqC%+e!xuHTNj8~b}^$sfB;G!ps3Qa~cQ#PpVJB}%%T0QNh zJq>i5`^Xjw{2vYXYcD{qC`Gz*0dk96t{Nkxxiyyn!P=( z8J>K+T`0S%^OO#cZ*RuXv0F&r+Vhzx9P(UDcJv-KQy`N|ZSfiMQu2tVKKM9bFWXrv zbX4$3s&zjWH>t$;+Ozy&A>uQ}9S8nx;?UI{f6hi>gIn!&#Q~e{GSeZ{1jX>1+lkt(3ChBTZM}`BOmL$YI{{I98=Ly6$EnQY^%LuH)ZV+&Zk83fq1tqmRMMHPSMaab;JZ6ZMRBn9L~@D#}o!&V7giF)|>bv z5t=j*drZRBJdkG%w#I=fg#>MOOwaL0Cqs5*T2A#}B2?Q!6oF4W>kuZRce@IXAGb)m zM+0qz!{bK_PE80PMIgSNDSiKm)DG>NpNKp`c6%R8=q}WaVJe+M2h$tPVPw$uQa)Tx-aw937D}j;6c85)_HPFy_pL#i8MZvE?l~J)OF{=2g5_Kndc?K zY*uTMUhW96;#WuWsdmh|$`&FCOfG4voV;0a3gKaHP{YM2wI@?yKWU@!A~veemu(u* zkp+B#@V+$Dz>zmzIbT=o-xIaLMEQ3KS%0!r@t%<&2{-W|`rGMp^Pm#5l;C*I93;F6->P zIE{Tq^k=_f%%NI@42`4)1j=xL`Z^*nX$SL|8jZa;==tjV2cv)KRbB!ki2HbN)b!`5 z#fZ+rY!k1CRu8x^*Kia7@Gv{E5^(`p0dRG!xrmcUNj#Fsu<-s7q%IyYKL14>0KEUp z9QM952M2igFoG{<0U;qi9zkizFX=C#@68RhFTHQwXZp9nB3g7gGGq~?0}i^+JyM(q z^n2I*7Z^b8Q4QXmiw`gl5z!u#kfpvP3^r6Pi~!lrbF9ls3`d9W99>cpdxUm$tdK#V zxJZfgA{h2F{$0&j`DQ9ZLNM%>n49X%X$`7MCNsjxdIK3(*>FMV4( zq&dMWKlL4tn*S0kMIdtiq~#H~(g2M)wZ)`1k#2P40FFgD*(|uiP^h#@iwK&3y4$L6>FjC`8ve|@YieF%jStIj#yG70x93Dm1YTrZ32jCs zojoohMItXIC^R8AzX8Uk|0sL6{4W#DzOj~yn69~Hv<6OIwQ^pi%S#nrs+;L^v zTl|>V`C`>aiSmnr_4i?xEV4jC!5f&uTBwJ3Da&;LHAq4@%j&Mz5w^d}KRVc; z_B2A(qr_T~Pp#mZ_>*WPVQMdr73-X#NAZgrqn82Z6>gdY) z&D64(N3?fj&4N{jKW&VBT)Y_5$u~1560KNG*)|KgRjSoa&&ro45v9xR5J1qG7j@Wx z%X5UhjWjFcij!A9Wo2!1A|k|xe)q~wd(OSB z>4jJ3&yEN8+^~p!OTPIpMi~teuMRS;k{F!)(sCu6RP&|f zEviXGihpccyCmMOXplBBLJ}hPuuWAU#Bn&HhQB9ZhZ{L;qTrP>AeEAKi4s7v2BLY9 z$BBj3h%ykRu!x1534AQIRTOYiCXUG>?(_$k%z(P*IA%X~r6;AQl z(HQ>51n76U68fKqiGywbTgHZ-oYHhl*q3d)nH`BTtN2++KF;d&;U(+b7mz zTB!N=BP%$%^DGtpo+9hh(Gzu74k~pP+dBR_vOd&Rp0Pg@9E~Xl%IJ~QZ+pAeDq`p?m zC^F#_X`4o*AYC$#MOuJi!sE_S)2$5VH#Q^YmVrd=0#0f9=Wr*TOe&|Ch=h$KmEA%! zBI{P55l#VnS=4qE(awwgT6jmjCLW@7K+e>T8vI7W}WzgSFC`gOV;g9`$+paJvee%w`D#+Jt@f#92^)F3h_Aj zvUU_%j6G!zTqao73h)_F(LyJv5z#zX##SZTh=_zCQ=UQqYdry~qNGHG39(63x>6q( zI?56)%8rwFgP8k~+E_M5ke}dO3EqvogT#}hM!s_s5 zb**#Dd6;uwOhF3wa_){CR6Zr`<#3_BKQjz5sm)NkxmO~|5^bciGSK`0Hd`dw~X;tn{?k z_wKc@z)V{W^#x{G5IOF`W?GD4zE`Et=94sB)ZsBy+6i1zv*?w6ejphw#OSS@f|6KB z;+ZrfAOXUt1VfY3UxOtAfgq7d3^EC}YPBH77&I*y-_VVCw=S>%Jb;NnS^jY}i9fO) z+6Dw2w53BWKp33Dgf4_wEA?;iwnD7mCkHO>3s*jTcdOy9a4%6{*x zE<$?GZnP$i^Z_T-D|#mQ7|}^LTGsv5XM?eIoZiND4|+3W5q4kb(zF#yy+G*G=E8a* z69KyhsdjHJlV5i~mWfc;HBfjF#NQA5oID7V6YwrOi};4`89h$AFa(#6fU2GYX)7_e zwWycCM(GB_Y#j9Bld66mWx;^QyTJD_mvNW0^w>?%KIFYHtl4>K_Z7>tp7h8{sclCY zukrqRY@lr2&gc9#f~%z_#{M)z+SllF>$0ces8MNR$rvype~iCZlCECCAJHHp%l6H3 znz&hJC@e^VWau8VM_aYPSgSG|_*5YtfYStT1o78xx6;B#)wJObefOmnSS9vdL3+{D zS)|*Cg4v23W<;b~j|(;HEe*A4f}zRRH2e&YsmwFC!h&off+1e$mfd~P7x4%5cG^t2B3gCWY&m!?@GrJ&DwKo8f%z z9zDB=4%IJBeZ6o)cp^`qvaQ7&`@S;mrC3J4DF;;F=H^WCE&38kWjDCybf@qpG=VPH zZNN>SKZ;*rXhcDafEg^L#ra^xCbWuej z<|S*{YIZFb8xT(|&!_j(Vckrv!mC<_U^V~^A#=(faCG1cZdsIhLH91vW&y%|hV|CF z0ACx70gwmKzSi$nC%`Lc-xm(!>mTv)mWfB1HEEEP@YH7A`ItzD z%?J&y2CRHHwLkX599}g#dusUIDqCKr>DJgpc`mCtRPOeTy&YN%XQ%n($8|uF_px#@ zv)hu9XX1F5XoZ@oKB`K}TACUpHr7vaM(x{3BHv|V&ITH6THA<;rqjPh)FnztXa;wD{2QaJ zP6voKL-!&zAMIWIHh_I4Yhg*7165$vSuz)8R>$EA}^l&GY+ev)8H zSx=lKvY?vTsVb})X{{P#&d^+l(BQx)(Iz4cfFZZlhk%ID3FY?%3K8KL2ZYd1B$A>b zY_`yY$-*mE7wi57#3MtYVw4sen6j;R@Nw&0EPkBB0{{h^4L8kkqXjIsA?K zA(>zy0K4p?_#p=re&EbaJ7E5XAjniwqwfG01+QQb92AtY2^bhGVIz^U+!+KZ~;-GsB)B&q-^!wYJD5rqfHBp7}!3E>n|Ke=R3a_Q}{^;7`Gf z7v4p+FDcg6aJAQIzfbII!c|@L9ooU7?eaF~Z=ncJ_}eBQBKrI@74_;v5IhO2t6Bes zuI~n^n5(9R);28&@5HdEZ+;z`ajzMF-HRSxrwmBgKc}kH4B2-moou>mg$cEf8 zJ0L`(PZ0tg3K;fhO>K`NMlquwt>dEUS5wh8BhFf4NhObnm4|lQ1>hYZd$3>%<5b1o zlBW0b1dDgAoYAweqd+-A-N})o>Cba3KTfxggr$&m?f%<~=^>&2N6%4`wzK{TU zu|gNd7?)Io02v6ucH!3mSdz@rF^BL_e${q^yd2YQ#8T_93w_&nwbh>808 z{7OhO_|s6^5@4FV zji2(*h|OEA7mZufqKu_E$Pnt}w1hLr_P@dAYm4$p+2mRa9$PxC7<58)j}^QTSXC*z zT>c8x(RlGxX3&JxY%&MPqBvsea*}kYoeP%dAg>{o^bYI~Y~3=$@=exo&1tCUkF)~~ zv{+dX++ShsT+kTWVTUDU)I|gQ09f`Eg0ME6m$}{g@X2%Nq8-vxZ#9KjXMSwXcxxY{ByX z$p*7;vcdE#MN;9*^DC`N0wFxd;#7$~wZDYV1+8^wsmEhfqVd`}rJ{EI?h+}dxh-e& zsqJ^?#59v@n8yM#$zvfM{F}ZEyYD-nyW(}kQn-dC{w4(ol?18whL8&oSvnw)Xg&cW zS%r2iZ;6h%Jq8sMmuL%QxutFRpDO?>mec60{f036HPB>dIyESeNbQF+22N9U!g}fB zK2V$j2|x=Uq2)iDAj-W=d$LgE?eG)nA~ugC)9ZWF%moA`wnvjO04%xzuH)D|J5#@zV3DS^P7h+0}w!LsABT8Epfw0lCf@ZKAt{IThb zKzc{@qZ^&ImUSr(O8cM1`&~s-8%6U=({10`$vuXG6^g?We%o`M%;tODB`Xh`~Z_ym}02I53E;kX?t zs=S7Y4bJMOZQ@JPNF~wc&q6gniCZsj0%@o?gj{|QQ5*Y%)rFLfb zhtA}ZF6Nw$6lFMCqO1Fqbc;wd#{4v=#eLyW+VGmfx>3I zw-pjXU{e0us7eI#Ro`lj^!#0&QfveN*7NkH!5X&*Apl0Bm=j#8ReJBiv^`7CDF=zU z^y5NZmNV4(F;@2TuE+Nvx2m_Bi&}PV8g8Nls}&OF=oj%g4-`*TCc-theDA*j;XmQ! z1rJ_Z+}gaE;`pB{WAn|S^z#}DF=9Xp`M*0E!p@)vs>pSq{*Z2I92xL3Zo~{6V$EP3 zKF1pBca2-vKPP(BK)WucRw}{!9bve$8I?=&kDL}jBET)}Z=T7+2;?o~5R?+SFmR7l zc+0BTqGT;_K}*VuD;u|2G7dLoNf@nlmfGn~x|v;MBf`|(Qb6GJB#9I^2$>w+Di?@| zT;OL@+~W=rHM_u9Ji=*!3>1a#2c!)fcx!=uhM;2CPmiaw(y|7gd}eP8j_oSIdH^`) z^2dk5z^Lrc7Rf-1uhBxN(YcoA$i$h`_@%lYA-$Zw>dOihR4(j7?I_Ub8I=r`ZL? zfTGKr@o^p$$L;~bm<5_yK)>1NyW$Fi=X%*$m{{bnCS@Ji73RafGdTcIS4EyX&f{g0u#>Rr-N@y3xO*b~^ ztT&b|Q&NHX8&pNfu{CoVw-s_uN;bQNf}Xdr(a;VWW_XYQR~U}g8$ZoZ3XQQKkD{;Q z^4{9KpExm?zV>$IW;>SP*I=!=2^ETWeUqpXhL}*M!=xP4d_FVlviJ`L-UM~_{h}+i zV$bq_whncBI>>Wf-0&jU6YKrTlMJdc+Ahb^Cv~~;ilM}D4gPp1&qYC4xf3a^;vd>X zoalgWjF%xG5(^!@mpjdIz z>V0QCvb71W%VDylShiOFp!$vP_gk-7zEs)h7~14~0k558$|`omfQ1&y>Bz)k(FAXK z?KIadq%LrL;fY%95Jsj%HDC+9?Mu*?Gjq(}#9pU|zSKXmH%d&s+%U<}K^265_u_f> ztQ!kO|EmmOcxQdhlD@SkGN}zkw2!wy(58p-(kB889Z3nZp+7>r!&!aJ@6Nfoht*;V zp>#h`qF*}Cw0n;wD!>jArKQ_Ebpnlu(1b=E(1OGbLMN8f)YuOVMTP;`E`}(zkh3FG zGM|Ug9Lrf0P3eSqbE;p!$|S~xlT>kxL`!Ho^uhj4`Qph31B!n6vLd`=IE@-Ujm7QI z9h+VG)BNHs7(RwCa zNkslLMxVgo5{|&?oBWzyRx2b^^Q!4%Hh$(ybKN!vu?9uX>{Q5oVycChs*JyO^H=WFRgGXmfxO1 zVATI~Vl=lM^nTtXq-aAOm-)!<>KHF(EFhLkNMoN`qdR)IEWEIy=HVB(vX~VLxi5R; zZZb2aM8N#1A~CK--aC`kFrrf#(#I{+Fi4m`_gF#$6_VmgrJ7l5%VTIQw6{iyqrnXa z!N{PG^wBqFhey`nl#X}egO-O12CBl?OB98O5`#3r69LVIVNnL)f?G1&-Ui1oo0z=J z!`g$kwnuA_R`UTS09kA>I2@fdTT&l9_(M1w6}Bt;3|UE)V~XU0 z^iPlldTDwfzF?Ln8#3>h4^tVFR8)*uH1?VQPviiQpVG&Tn7>VAnZCEi*!#dX0snUN z*?$6fzopF?OwF`_jb-;^HT7(40m3-SIb`Tsv^JhC-d@hi5`5OAeTV4yDz}Npv&9Dy z(@5kigg-I|NH1$C(|nfp31c#?hP7YsX@-@&w z&TaTDt{Awq&ZM zkTIGmF`yE+F0i%T3a}bH0CXE@Df;>`6t@c{Lp&jZ{IG9@o+$`)PDsd!*c2N4MC<*GJG$~ew6Y_hvUrKOZ1H@Sih?W;BVkT~H03G%Zr}3V zb0)3&Nty!l;u`6zICr>!P~dbe4jFzqM)TM7N-PgK#aKH-^gm0nn9A&o zIR!IgUzal#;%1~0Mq71sp}5go4nPfPsXJ!IN=i&|wH^OgMKe6$h2&yNt8P_V4)==j zWP#R3=8Bw(v;^U5D98(-s8ku&EV0pJV1vM6|&PU}8$A_r#-^>6ZVnxQ_Srn8}bPqp<&oqig&B zVnrjfc*IDz(db7MB7y_3$kmfSdZq%&mBA0d0AG|CjZ&tk!=T~4g5Ph4KB$?yA@N+W z-;v1?!)<>;u&$s2r}NMr?G9*K+F&rgC+y1X;c=k^#^X*P@jx-5V?i97mD3pw*?l`N zw95D2n1?ovVfn#76PeG|;mn*C7?b@mw-DZ2a+W8J%mR7WmC4L3=5h54Ktm+endyX5 zE>a0gj5yL$6VppNV{wn?JE_2<8b%zCCb_(n%_PlmX{x2wff&LI;>E>kUC|Vkhhal) z_!~q4hvp4#0&t8iAY)X6oT~(KUliA>=Yw{aWJTWx3m{lyqQd-&Q9?vrZattGCm?{} z1@{5x!Bw!;-0P9-=kFpbt7ri*x&zEaIBvHREQ+a5RQuu}Zk*#S%EwPa#JEa)fz*@_eCJgM=yKQ4VXqALilXzDmFS@+anCZj`t`d}gHOtesSI-H z(%0zcpJLXq#!beNT0zXqq((Nm2@%cmJK>AQuiUgBYmEd69pW*^R`*c@HykVW1}PG} za;`yfYS@%ba7XDyxKeu-l)FoG7YE6v%-ljpz6NWn)ZM? zaib_1!RI7g3&l{^_`C<3BO6cm^cz97a8A~_KiH+O&D56;pa_LGGDs^ww1&UekkE8h z!(@@Ufh}TJ=&4SxMr7Zb&v?t$$tv{Ma3vNa2@G*b5~7drUDc&ak9?LJ2}X1k7tPd| z=W@)l7h~h9tQ77`<)9-hlsl!)u%42lf;f}pOg*o z-pwkTY|a7wlkc(q^&mZOOL^Zjq1jKb<~SiABI6_PjgftvD0t`SZ)-*+xUKV*tlAFI zbj~aejXuAiF%wAz@h<06EX@|aYUi7(SNkRpYB%4cS0i|vS>4Od(-|O$CbSWUg#MS} zUH|%)1Y%S+5Z|jOI3>x~oD zYodA3K>*e_2mJR99^MBM?@Q`@Cw4E(nT@fH{3eHCv7f#?_1s#ba8?W%_qCr{ zb|(Ko{+qa@|1WVl_&zmjE|L>)zns3M6(-+JB#K`uU)J)9-|36lcgL&Mm%cuqn}9eE zD1uL~aXH+sAT&1WM;b@C-9$Z>;ae9r0FdXG;Eeo(@^|343VO&osyc?`k+ktns+L5x z{k-}f@FW=>I^ne<*;82tt)Z6gFhvM@@+b~^amji#)8=S-Kc8gAH_pl^!9Dq-n$X<| zb1dE6&+WPgC6%8KQWS!)#LwPBay~-xjyr872 zG!*;#DaDBUMrIP%jE(}2Vof{Qrn)O3=CjR9SFU;Ax*;}o?F)Qu5zaF7;nx@djoGE9 zt`(afEF4N3w?Ww32vT7=(N2r+)GD*)3e{HmsR4GKceZXh2Q}ocdaO1xrnXh|QVP9| z-;ya3uk)EWUYWLBWJs%ua|(bQ z-jbSt8zg?Jh2>b3bN?^Hz<=L@B113hi*p?47%W4by=NGS>h@A4RBA=`vh+kio$Q-| z&)@sDTx|2lUh?zKHIg8sKsm+)96OTICiq>3#RYBHxE zX-3;lzdUQ)f$I&NcR8GBe)UKZPd;U|1y(hQ$gqV;I*q9+MJtMKYzVvhelMQw(-a#= z9_WpM0T1Vz$$b_F9Xum-IDN#vpPQ%-N*^8gHXDqV+p&7o?&Fph!U-h`sQego#?~1b zC82)?55{M2*!Z;%K;jLJMeaux>ke-_RppB18LUqnN&RPyQ*Fl-%}WfSE&6rij?tRi z($(d=xxzAwMEr$k18m$7x2-XjGN!XH9cwH=oYjy-OE;%C&tIz(3Tzz!X&V4+ZfwP6M`gru? zGLpBO&YZM51SL7&SQAP&Kf=W9ym!@6*}(hq#UY}sM0?c&K+x8wSG2ct(0JSO9@8B zZ6y|7@MoYNtfc@*1Z=|yQ@f)R$)}i(VRzDc$0th?%hR}L#(~hm=GZfbfx#N{QSJ); zK`SW9tcO-0e@n1guWT3!4rGo^IQTsG=@}mM@s^ZJyniu}swcsX1xlA$ngYcNeXr&{5<683Hao4}ChQIP`LSW;9V*(>BSG6%b2}|HOK@aTF=YTHEKTEM1 zEa8x05u!EnHEU4s)gD*$n8DCA^{$9d5p4tLt;!jh=P?;gmhES%*dS535}ierb;kEd zID6-w)>AXzE9f)I&JQxpy3!LdDfzQmunLy69z&Pn`L;xwOsx7`_ADUx03_hw7AVXH z&^@qDe?iS?GpKhc|1YTTzcdv@f&9$(Iv*|^d88hYV>|#$go#R-`4=EwzW7h_)X7;y z8nm!z&K@V48e49^;47v?nR0emm1gl@!`gO5PtWX+w%;99H=Q~H?v)zxyfMr7sKJ&N zo7QXq4*lSS5^7W;+g8sy3IA^;oht=yuSTR?iMhZG6+vxjcQLRqhKh(KsdEVe^QEx zi&BUM4^L=noK)d{%mbpn=+bYzm{pouvxu5VjNV`?4GBgRzTpc$(4gD~J%)T8%3>Hj zl?Kd+s;Ob3s0|3Npq*1MH;Rqc7+}a4h>Z=tOwSr?Gv?Q!zPZ8dgC)o>ULTC+!Qk~f zn_W-{4)qE8`0Sl@eQio^%UCECHzjuR1Fcz$jCxmd5|PtQyEHn{e$ISORmC|- zHRSv@oYT%+up35r3DjhrTc>Y|@>hbD3i5%5zqD=j5T5hK?+-Lg?=hE&x}<*ffqE)n zZ^A<6r<$M_&NnUxnT4MiQstTr9ZDTBF`whoG=YS4{&B?|!#-{GbD3wqr5t>fMt~^- zmv<1BeBY2YTxWI7*SefIJ3A__o5W7WOOlkRqA&_-rnZj_H-%!iQr1}ywBhZI_k?A}f zUGq0@$NBXk(d5CLolcXK;d zQE87c{qGk74irQ4i?*mh7eM#PChe`qUkY8*3Bb?c&H_xm4K3?~e*U05N7ky{kR{Pj zb72II_fgrA+i|(P$Aj;o2MxVDHHSRQ0$G$_|OkL;Fc;|^#N;=NDm8^iKB6Bvxu4kqn* z$3z9%$to|R$9RosO%t(~Ve~e5r1oaN-8na;9O{~*^_{4W%ILPV(^6~gE!i!Y$mXEq ziqhf`qt<#YnR#3#!Ri=3ke5=(&aPqyDxH}Mqi~3{FQ;+D33#Ko=!=Luxfy|Afta3x z%AVEIeGq4<{+z5;<_cmBu@F@F8&V!qkzwUL=i)O+{L}PT;@=bwIyfAdMCHZtYrsXl zIJh<#2>g8HYCk3}jEM=1{i81SIsLjO8Vbnh0FjA1G#MS>zmIcAWi< zT-0TnG66AlbvC-?w)3xkIWnLQ*p}D)hf$vV=I%!+#GRL_Y#Ig>Ck2dh%469Z$G1Og z!)a2;aRBk)0mYK?6OkX#rB5C@XWfUR+{vD|-_z&m47F+tLn#Zov1O#QbOuggdf^@| zCNX;JNlS9!Z0QgL~|vjvBvfn|9azBjLdnr74J z(b6(iMe29Tf!|$%#qe@wK`AeWP;A%z7#E_WzgaaKKe%L2J_Zo2GZFH(^5K~txXvw!^6FW*Q~Z*ud}XOoV>7igJqXfAJkD%XrT zflgGfH?Hp;BBHg();fR>Y%-HfC5LjWN-YQFTq!l%t@yQ5W#5>#(7aW1wmpX-C{BX* zbtGYI1~O_W#;4~p-cYvZ@KAvA0q5&Tt|$-FV^0n ztAj0BAwr}|izr%N=U&G!?C=1-rxK&!KQtbedpEUz&k6f(FWaxWnD#hp-I!5iHzV7pFYWEnJnSA+9GUQ6=JV( zOG~iOFqf8lYjb)_lqYS7yI?S601xSbQ0@(CV!%*{i%}MR*9O3KAcW{b7M)AAS zT13c!9)@7pVilM3$2;qg)u{l0rdF$DiBgMe^G%~+%3Vb&{Et(=vGgr%R>v;!qR8yk zwka0?#|~J@XfndL;JOd+;2%mH(mJs;0QL>wxL@LkIw68D*Q?jCtxoPk5T2GL_Nm&| z9ES8_O*S7$gw-Wpa?; zV!-W@l&hMgeM1lvJDgN`S6)R#Y!fu7}w<{XP|JMi&Gl#Gv5K zW>N5T-4#~Cx(f#XnCJ!YZE(NE%c4t?$*r6s#zg6gFet7*Y!EtVY1mGVQNS7KC?s)F z-P%+Q`(cZ`;DjLiu|a<2sOETZYTJP1RA;A?>1?OwZ;A?ChXOdY%J$Hr${(p**2euv zzFEaQpsrwjnqAd%!VHAS{@0hY&io?ZGag!Ot}P$5?x?tN#L)A_cr;S|bD#gsn3!cuemyn{9=0EWYLFYg3J@0j8OedzJrgCrieS;?|rt{QZ4CdZJ*7l zm@!OM7wLX()OMJjFX(Kf)v6(18B=RnJ8b#GW6vd^bYOOjocdpf$Kd}Gm&5PG<<*?G zp5U8lG5oUT5#iz!=9QO``wm;QzFneL->{3@*Z0>O`#cz3p3v)qTX(n;pBCV=)i(y6 zq*&<8WJ`kZ#&~6%IUoxQTG1Gf&2Yo3;#N(iXtQ>IoM5Ygi;J@g<+3YQ9dm~rv->QS z+#XoX72VtMM{1J_cL7!;opablILx}!=ZhPXUQd6_P0s;;fua9J5IIEoV|vU3M5@zKSiPxE+I*72L=HHC(OgT zsj0BPa!K!osiisJ|LEsd zKn9GW5krXz8GjH!kg`2?&bK3)mwW5Yw7&ZtPF4o$l@nDZ7{gx(pmmc}+ zC4hT+m=R2>w~SxV+mNjYQ3P zKFS(|M7<+ZMnAc#S`US<9?jfdXWEf@EESQ~606b4{RepqD)oZwQ2~rq*rC0mP`rF; zF;F%oK68l3dJHEbnt<(aAFOVqdtDCjN|In7?a1xz}0J@ zE6w!!Dqzw5EFQdT7BxK!eEk~%q_G~XOPHF~3#GoUx1%+w?bvq!e?#2lP>aBHln3-~4$*!fX zvX^caDOf9g8ObE2oR)<$QbX| zCd)VHy^&DolIy+R=IIa_8+1y?j*JmVtyDu3Wzi^q0B!PvUIiGnwI!Z^*PxWS*EN@N z%V)7vs}Gl0&&nOR5kv*pdz5w-0Kg6MWtl;|ZC%dPPKki<0pTqcQ8GAL*>&?{yB(Y2 zs-)ApqyXQdN6J_ng_@R^M;gW0x|5DUR5|HyYrp+Qp<4vpa*2k>g9zfbiyTBmUa#Jo zCQ@citn|l@32&cIne8Ri^H6cvn+Pl~i2Ke$QI&D9PJ#+qJHPI^cfPH;0!XeSCU(;kRIrCk;=5x(@FmkC3%qWk;(xM)95>hgS48&#fUPoBSMHXK%Vzbo&g$ulx5# zzo@2BNJSFLFJBOAz~SEeQy`v%L-=>X7#xAv?XCOf)74P`oJLcEY=UD5rO+`VZinD~ zcse^q?pSN+5x0bw#iyzl3($|p{t{<%R7Z8&lQUc98RtEfQEhl z|I{??hlhKk_TEG}wrixG3S0g3>7pmZIb9>xMFeDFWf)N-?yJ|pkhR>CwLq2}WGi6F zUL6?j)F|>06#=QNDDH+*r4HtLCcfI5IEtMji%l>ewzB^y2OE-9xPr!#gHX}zVB9+r zmVptu&4T$nc(y=lD&oaf4rfie5w-|cTP#v26c~rHW(37$l^3}7n3*`yCaZP(*hmu+ z(I*4dI|?KGPlP?MrCyo0XMd-6(A3lgC)-+K6eB*|tW9NA2te7SlR+1ki8h5H_us`b zU;%)tYH3K`ks5ZcbSDW(p5q`gOw49JoE3=yaf1eY$6TKvzy|=|CBST3<@l(aE8_7H zUQmNXS)AjlD+1HA3ynOH(N$fYV^<8!J zqxX+)m-5o3)j!LC(<^Od@kc0h`T+5WKjvsvCiVcNSKRqOmDAR=!WDHA7p9 z0R@Fbv#bEH5_H#Ew?7;Jn~Qt{#zxYB8PrO`LRQyddoT`{)B;ip*kF`%%rTG?3dyHftmMLyk#)5M`0 zmJS}=H4Y=-2Y|PW6#^pQ5de7id>sIY%MV4{9HV>0t75_oL_!Smlt*y1JQ^*p8^Me< zNakiXbys`hER}l{#^R*Np;a2_XuXoj%@eL~Ln_A;d@qoB;;3n%w1?)FD(IxS5u* zVkIIVM22QD@`5EI%V3EdSpd$UjB9FZP|#K=n~ZeFmoXi~%~EMetjO3=*`NR^>V3d6 zSauLg4#o_<{#4BK;{=|}Yb(0)yP&@K?h7eYF!X7i5xx;tZ+ZT(l>~S%p^MaKuuS>2 zh*-&&kh+lR)w$!PZ_I_b9gX8zNH(RDiw2ZPvxC~9yI*xh0e+jsk^*%Dz&ATZi~+TP z3Wxj2ed<2jK+a?6L~9!nI4SpiZ2g$=QF*pO4XP6P@L<#)H|7@ub&x;KJRT>xDIv!8 zt==1Xa=X6JzN`PHSR*?_o%5DcqXRs#%lzaX6!42b3gLBHNtI7}ZJ z2$5?UdO|Q3k^@Za387^p2O4tL#Ta*wz|?AxDI|435+LFrBoIa+63DU~2_V2maoJ!A zNTe$T6T?Z;zHI-V!tzPdKHm0uwDnRGg@rp>1~i?0yP%Wopt+_`EhAD;^XgRUs~#gP zzb7qJZ1+6V&0Y1@#Q-f!`8l}|8T1e5*cdG05(XF24!&!pP6BZQz}v-2Apjl#c#o~X zh`tD8Uz}Rsos~2M*tBrnHr0wCK5m$zp?sK2> zEoJrWf3_j1R2WXuAn8K$+E(OfqIRBk750^#UGig}?w}2Y|1ZN`VIA0Kj`_HH#%=n?**<<{6#} z`fbFwoJXb5^LT_uNC>&glNKRF~6&lb8@$7s*VIh9c5Kb+!Z?}6lQqbOdz_3sK z>h1j9R`dFLa3+9T&zU?>DtNp*&cSJ7IVHDyH-!NZNIO81R1`yH3`7wzg#(Zv2|6*SZbJ1) z`lg`V+pV2W%*KA%A7+1Nv}QYJ{PP13;D-BOMPXZCMh)(Puhoa_Xkuo2TM~Lza63T!hhl7zSW*kpzk0&*3yQps_ZuXxz9-De}YuSmLx=;A) zbxZ&GzA1RYmJ&7Xg9{f}^SZw7*IzzLo+$WpUwhXR063+7@5v+CPpq-Lq z!(K}@#q(}2U$NEo)eAQ`ulGqOjT{S&a@{iDms57Fx@`(BvvRrp<+#bENtRFI4es=d zp-yTE0suh=sIT}9NuKzqhQG2~qPgz;PiJRS0002;C;$Ke008JH008Cy002{9Ys4G> zYX5aeN=g51|9}5`|8DBZ;HvjDZOemQ zJ%&P-VPw|t=(u6^_A7O(ou^CKp!eL?3csJX%<#8Ef=UtB^tcH8<7z?0r|Ni#4y)`V z9^h5W(}t_0^ULbK&SXu31%VsTgU~#I0o@2#NsXpkljH(w+P%=FkgQcLQ090w1EOlJ z1jVquxDl0#6D7i2?{A^g1hN2VVk~iX}yYkplo6h;xd9W{J&OS^L-@%&r+S+IT?djl_Gy){s*OQ2WpxPeXf_?o}8ZsZ1>9E}q z3|+D$*2->M+kWpQ&LI>)$JrI6NF1+~AS1xCD<~iq$+%{fMq1bF&0->OvT{`xpdxkx zpsrU8IY|&F0A)Mzb>zK?fBXZkXyT%{$H9L~V5F_3fLPQjC{$1?DkIR8%Y)QYQiMAr zLn>5U(j^V5on&JW$TAoiAZ`p|ARuBIJ9%q013N}S$OJf0-S%ouf?*~i5%}4{vY$XXC7dhwjUVSuOslB;gFa6_-0L;xyuX82>GI1@~dqIMjT1k$81A!#y1ONv_ zV6#SACnod(2Iv3=XfzS_l=IC@euIc%Cg>;Ure+O{Iy(^<$UdPRr^$E->>cam&~v_4 zO5sc6rMK*BeKvH(ZLxPX4#IezA|wp=-(Gtr2y?@F*2XYj_3wvQ*^-avvGpzU5$2h<^vH&w~p8P=9hIIhs#V0sI3Yl1k|o}dbcG(UTz<%9$7#9ZV_pwO(L z6-I@-X9rzedUxj?RMvNp^SV2m0Q_DV3}rBoU92x~9FjLxl&P~S;coC_|96-Em+<-H z(QEtT<0jVHUpF6iRLw3|!nl@JEm{bJwg=^Ts!xx$9}!zNl+4Wj)e8Emg;YYO4;B?e ze6L&p9N;(Tfd5mDY1L|NR(2c@Q92x3Cq)x-NFw%aj1ixl(~$<)Nf}ULtExo2uV>{7 z%yO5j_Y3@=J2|%KW|hqIIH@g8$+p^7xuk03(i3AR@pqj5=F8`!ZQ`VByAs`?W|BdZ za`fFn-k;3CIHqV-ato^H@egN!ih@a(!TD5k?SS$mTbYH_{n6ns{Ye?Kv zSld&i4GO2TT*_j}^8E~1&-?Gnx=!|0xs1od0doKUb-GxR=0eu2Q8lHOTKj00{G+2! zme+?%Hp5XxaJk=he*n`=;_VbN>4d0~v@s?eGS6b69@S;EYSlVs5<}5+g0MFTK#so$ z=DKa^Y>WZyjs)RhIUI4>*!?X%-N8u<3IYLO9P31r{g+J9Mhjn?%KIRM0YG%;>+7ZX zsY7W-LE6$i-0pj-x$Pz7^6cte9CscHn(B0PS|10PSku?mj5|XwrvW}&rPKj>0N~YT zG4+5x0Px+5Wr@AnGrT`9G<~rC^~PE#r|x&Oo$J2JX5Z4qnxY&3FIcj3m3tRHJEQg0yy^D~(F^1alK(Qi z1GSiNXj$Imfq|Y<1f_tep`v=S>I%1?+OsCe`{DY!Z7i$bd--iUv!WGr&!L@WCVZ0G z`zMX159O%4iFC0__Oy|eGu&kUnZNaPr;h;-mxLBW4oGB?i>Opx71u(%cJD<_|M))` zUN|zSDWn1d3MiTqHz8s3|Kpif-D?hX3c6X`ea2l^5{8xSqO=QoSjn=Wh}AMCnT4kZ z6T1nT$UOGGJ6$13tnp<@nfGvY2D=!f5T2Rq383Tj@fK>v zo^_{{{x((h?0pEYRcjq0$=u2Vhs5ej$k-ky;jnaaS%HfrF90wL2n;c5YGS{n4Z}G| z12dmFSIH0nUJJ&e1Rwykw_R*1pdW~ZW%R!}Z8i&Gmy%^xROX7C@Be}e+aUM-qXYo) zy#Ia<^z>WBg0r9$MFla`JJ=9mzez!h5A5cna&scx3vReUygLWe=>1>`~F-0 z_bknt!){}B@+}{e0O*TtsQ?Bb^h^Xo_MCo?zdU#kfTH?l=2KLs7>4eJ{URW-os;Ih zOU|5v>MryvI|-L6=k&ni#l7xVubGN3s?@M%7ORsvGw05|mwKK_k+`F(V7A_uYXdL; zW5jVUm!x?Uez~HXS}D0;mFLzBEtk%aSfUBXk4^$(iYL}^P<%xQl?c@({)ay>X>3=v z+ilSpl_oBeS$LKkV%s1X!vNSFm5l&3ZeX4Wz+R3OEU+!Ga2zQ{7h8e5){}(tDYRtvYu-j-2QlA#A1q9LwyzU%9JyJH&E)^5p_|rkPJ)jdLrgZ_x&ar% z#GEZ+K7O^H31c3I}Yg_{20~Is>Jw1RlxI{Wb(Kcfr z4cH%_0Dz32UL(ozwK5+c4<#x^0wIdoIXay-MUg)qp%Z$kVNIQmZLOBo`0RA)S*bp+ z{)Jr3u6@70j2VO18-7pl8c!Li=MSMReZ1HMi`x&id7$Ep?M|C=?nK*7LLP@wUIfhop-w&Jr=^~>r| zq&7&gax_W*75p?{8vp}I zyjDJ{8))qiAt45EWVAl03mjv`JIzutI_to~fa8=404RJ2+hT-B!Pvx~Erx?WP5+8cg-f0!C!WW^tROz^!PLMUR9 z?5M?U2iWf%WEL5E-uI6eE1Q-M6WlsYgBUgYl%M@6=nm>FlR0-acue_p>2fHT8ps|0 zgiC+RrZVTM2eXu?P>8v0t*NR6Y{)yg9sf~^#@&tdsiLZzGO!xRyAd{mm-GZ2 z5SAvcD3R(PRk03;6~ZmZF-_v>fID&{yJj3HG-X|P?eF^lX5y~&$xV%31T9A@nL%j< zSy~vdXF$Hxf>~fN!oQLs!jb?xB#>RvN9%hr1i9JSJEglINk~Gov?rOQ-j`TBw&111 zEz~r!?{EQg8F=lpvgz3xB11%659cOAC4U&qYLt_mcjmWpB(W6EJNDiEL@=ERdlj;M7d#JbtV2M@H3ouV6PXl1sT3CDltED{8;XpF)<^3e^hdrVIJ1c_ zw3YSa>(r7LMMQ(54Atxum`Na3T&7@;(2`6Bj4Px9+!JM**^zu6xNeUP#_oEFU&TgV z691JE3IPOBb`q>$X0q3*dh2;}wr&s)Im3KNky;IhU+L~cf)Y*Du-qP*HU8+XU3$d< zIMzLi%_FkPu`%>Ccp(b{R5+7pz8MucUWa#m+$?WXWFjTKZ!y-gg#;{NNGsLCNEvm&>D^eO7`qeV^; z5EU3~$b|T)lTt;NAhIM9J0T886Uek-F?=IY^M)#s-LA{`Gps-aCImoQN>aGq^T$kv zYXBM%37yZf=s>*4?r&jY<>$ZnbMq}{T+U_^TQCSkgaocQY{)kxO#qaUzhGF0KqkZt zB&Kq=J%M%r7%75lnT7=bMp4i}Kms6)paTY91;q#h5eWol2Vf8YcADjJ0pbM-6W?i- zfF4h};{h@Q?_HjDQIv7bWwla@c7NbI(<9C>KkMxCUj3*fw-SS5VjyBX>rH~2Uun>5 z^=dQ0aUkK!dcxE=H&CC7Vo%HGAVVLg4g-_E5w1C0vz{Np_WaZjRoL(Nxu4{t6+o%; z^fn9;(}`7u)*AWs_9N%zpX(ZOr~rg1amx2vsnT@Me!9$kap`Reh>8}N%zbL9_yak@ zO?sdz=+w!bX>i2nOJ@^QMQxV3?;^@6<;Ov5a5RRtUhq*Y6Ayd=Nn`mOU z5+IIn#kv4Z_%$MfrZy+UWDg+N&PG=}PykdayF$}GNdW$w-&*LoB?UjgXb$QRGT^G+ zmVOm>J2N(HxUZXnRj}9Wzjj^e82~)qu|;w^aU12R*P<1Ibc#j zSpu|DlOhwZ;O;VdQ&3j`TwwhG+`5^&Lf-^yd4J9$ytMl1mM^`TU>9$+oR^%xtElny zxa}lix*0-|6ZiwwI0AJ7Uriw~2YgC9nhf($SSNJpRI!La-We~RXY>a~(-3xge%MR) zTs_ZD(Jik*E?0k159Q>;w}qg3f#7XE*iuNtSWf{@XJ=CY06-uq000000O%+H0OtSz z073cO{vJP3OHTi8|78Di|6%`B|6~73|5X1@JV!}N|5yK1946l?Qs)gzTsC(#Dc45y z&ODy)=A2PJM9^98`Lq1CzYfpA(QS*I^d5dB@O3@9FD*>S=Gimo=rqW#a4i6gKD#}s zXPlFWT|)P3I$t0Advzv{!)+5|`Z;+SACmK$*OB%S%U&+xS)QNt-XeXcet9@udmf`D z0w?|b%~4TQ<<2aG5HQ|Xcr1a54>4*QWJ-4enjq<#l-_d4xKzRY0Hf7Y@(}^v_7hvR zs2Xuv^?}$MB~lAkljI-xK~6l8n!BHZZHJJs7098w{a<5UU#Krs?{YTLA+Z3gLK~q9 zUYXnLwBi&oC_}r=EN?Ws+iUN`;FweQa}BPhnrAXp>Sp%UeE9O;OPYGIm;Fbmf+O9+ zfh0*?w=!Udw|e>=1#w~C-5HZT1Dd-9$sm8`0oshJ9-2 z=ymg-uMdrf{VJiFQ;2!a#>{O`-}B{KYrQGE)Lqq>!Z^dgvkMBL4rO1KZZL;7nTx}Z znhLsk|*JtHrUj2Eg{a8;0J9933UMx&)(`th0Pa|0@1 zC?E?6jIz_Pdu?lNnm(Ve$ho%V@j$Q(IuUD=Ri5-=R-yCu{uo)71ppufNb6!*NxcsP ztQah88G0~Zu9r{VsA;+g6p6&WpEFrkRjr7;FWtUFF!OEe;tVDWjW>TYXe-3bt0Rtd z-8XBo5s$efl`LBzL5#|8MDrCCKxu=OZFTQVX9{u{&#OwAWUoj0^vXi~ zkf4TXuisW+dzt$AgXXj|wZE{_4~Wl`tC{h^m@+bXfoW}I`<1YYblu>$dd41B|2?+Qr$0R$}Z-;+5Y%f((KPcAqC_IU2&vuC?o zbP=OORfCwO(MKH6`P9-ktI+ms)yCA9k^3}BicOmYCg;@ z{@Zz9N=i-#?XW8LIv;#b!!%@oAb7tFiu(34N3=lX+=IBc(AJ>;;OyD%QYe+_Z&R5S zK4&8wY1gDg11HY=&C2C~o`G5OtJm)_tl388X)0G;-cNQcg`|i76|)>Z(7j>T*S2#(({23> z;#`qeCIQVgiok**J~1MA914EB#WDfB0Pxjzsfd7haY-QlUkZIX9F`QqnHERZK5vu0 zdQLMYG8ib81Qj#Vp*yF?bHr{ja^8KZ%h*}-@89!)F_sIv{b_br=3H*Yo;t8~15dMp zZf)cvUWJq-RX30SYa1diFPevdeCk^PKku!I%BmcrYtJ1J#PlEhh^i#w(zpj{ety#t zG^%W0Cai@to0B&#p$bil@xNEEy~M^s6w8`$DgiE@dp4&!V9)er(=vqhOpPTKlU2i7 zCD4nH8@72KNJMTfVcFP#JLK0lkwM@Hkm-we&UR7LaO+f>y+J za2qvc@JRGIUK}=F3;9T72nJQf;%IfF zVKW>RTk5kc`eipDf15{p&So!(8jY-1{#%po0hHj^>(74Wk{tiC*d-&WD>pA;B>5-3jBb_eYqpW>_JW)PYCT zH2O`WRUeOComK!FU?#r~&pIv5kC(a3aCH$Fsxf}mzsUWg%Su2sT$B7!@U;%JGU>@8 z(z~3a#s)yJP!BwSzr@KlAR{*&!4&Y)UbCidVJfFl0cTh$^i+6sziw@j*OG6tC}39oHh7dvkgwGnhUsUtjw&v?hh7A zU=mCFHJ>T(R0|a=ERMcY5ddTwnOkNjZXI zs{nKI#~)%lz%n*{dk1gp>2du0!ij1q6r@jXntn-yYI_$emp}T&E%fIgM(&p$x%=|u zLg$Z?b7OIwMv=!X1}J&s=Knv>B?2M{0unM9u!!I48DkK(?Z}76U0?y^{k4Yz=FS16 zqCMGe+z)qKu3>c=2?|4;A&KsXwnfElEMu@Kzt;rF;7CXqBLK7lvN}SN5nvNY-GUG` zwd-5>Sp_CvI3lIvwm#`l`R$L~Y*;Qt7wW45VA8%ZEyU&Yv^mvM_R<)|#n&sOGxjG0 z=x9|c@{&8(-DxhGYx$Lz)_phi_<#cb+toe+`hftn$=+HcjC=s_UoyddL5&-3IONlJq^x$4rj+nkePr9dESR|g8n0o&k$)Xgj_h&E*SclY1wBx#>YX+6(wW?Lo~ zED$3_H0fp~R(BO8y`EbzxDoBLg3f6{H#Dda5dgL+aj&XE$&6^cG&zgEhtrIvXS&Xc z^VhKDYx>=b-2R9FGvjUXXau_fUNVVCxXZ6by3Ia$C^%!757pE@oxX~R%Im=|__3WZ zOXO1@pEr#h6xNh0J*UxB+9RY(e&~0ia>l%pA6A1n!Oo!cz?rteX$bwZWOFq%%RX)fSqr-^p>%f?VEp z^9IEiZ4M=r#ZfzDnUR=bTAJmNU0N5rkF3dc#+=*v>Gejxw}{DYFGc(Q=Rub?Ou^df zxXp-CZcgjt&u(`=U`m{6Lyv}cQREsH1gJC%4{F{~@;&Tu++d+~(e>_LXlQ|XzyWXG;1?1v}k zc&zIg<(M$rZi3H{iDCfOx+SECp*{fkUbR>neDoIt;D0M#OrAc9LQ!OE_Y+I>cP_f4 z=manNnR1*R)g&5}rz%lw+V8>pQeP`i*T=7>m(LcRIXRY`+&P4a7?Nlk{j{5i?>_5$ zWWstW)W-voYXNVe4(f*PNWbw}%9JV1`#cF5qG9bTVX3eOf~#}?;~Z&igsRFn$4vsP z*E8%yF?g*kFbbm*0hCSEV8dZLHuNKv+D2KeR>NafbuJ7|jn|rVoFu^88pCkQxbVin z#4NfVi7z}SQWo8DBXJ;qs&y{Ig0^}fv50I?Q$&z}Vgm~3Y1<$$l3}rGlbT1&+?k}1 zQtl#Estc&}vtS@?SKQ*8I_9TIRB@+|&W37y`W8 zD;oq6KMCENF7p_fF-I6Dug6|3Chodrn6n8VkuKK>eTdqB-E7|4pYjr8eG4_(-`ftX zG5HtD{)K()qLu*kdL=H;iTHNC5-0OI#Pep@)#KQ5UugqH{K1$!_dcGbI4?El4_PT0 zwq&=HYP2$jLaU+*G8W|k>zXWTBBG-2VbDUEpySX0?0RJ-dVQ#_)+=$S^%2z%uvSlr z$^ef3pt4}DG;yP+^VjLG`^U#+&$2S?H;dybpiiQY=}?i7i`|hycI96N`Cl6+wp{xJ z@*O(+h0;T+2LRexFBTqhUI6%h007&LJ~@*zQpDk+YhJc^&UvzfDYT;Pb?~i5!`guHhlgu)WXE(I<`B54QWEzx`dG~JJ0>$vOwk!Y`}nRq7XY` zfdM3g_=AP3YS)!FJ7rt;ec1KY7obo^yTBMoX7?Yurfca3Y$3!T1hO1?!PQ!N;z?Cp z1Gb!Tf~yD9oOCnqF@HCeO@gwILEJ?t(mABon3K8!{`++%28SR5|1jA30{9OSCjLtw z!NqCjm202bk!z+V=|n-5Xi#xIwKQyFR&SV1Vub20`-$Av;A3)p=k%lbwm0}Kz2onm zEW9l+v$3(goqZ#cG15FBKlg4APrKT|3upQ5@tq58H`(*1R+=xjl{AaRVy23ELk7Wu zz{kJAHEl4F;59HT_m^XqX*WmvzVEXM%^FUWI_{~5vBvXHUd!k`bts1=O6s&v7ymx16#|4G?$Vy%P8>!Y={m%g90uSwh0|409D|7rhp|7blwJUu&5 zN=yHB|6~7Q|9O5a_Nj%2V1UwhD;A&xg&+XmJ4aj}K_~z<#>LJ1wC4Dn@v4fVu0bLp z8i+x>JM$ilp0>Qr)r>-ZX}xYrTItNbQJX2nzn=4&|NUeU%1Wjx&`98Hf1eINAea>V+SrDYaAQrH)$kq&$amtfxB%s{^qDHmPGM?8MSaAq| zLez{MXm-_9ft-i{I(Gjj!qyggLhGkZoC97gE;5w>O#r^* za5V+s2Y~+;3xK|hhvUcz8dSV8r^XyqR|%09BnB0GTdm2MBkCnPH{@w;ZF=DDC+0r! zB=5$Igshq4kuWh2%HQ4PV#r0uy3y90>fr%>acL!K2DoPa*Ev|1abvP|7mXK~5L%RL zAnGO>*42x$=z$<-_;Lzi^m58+wU~B~IZ}K~2-)BwFsRYkb6<;Z-Wrzj`X2rBZRumLhEfCBBzmH?DQizH?T z@nTpYfTedQt1N*)#=@nRfD9Or;?ZnCL`+N(RY6O@gxy4HohGxruqeginF%zyjP)Ba zw0%2pOyj1P&@RAdKy>kElFj5at>VVFEg=tt4~E=(GOd~g;KKCrPk@VMzfG}+!;>qe z34nqEe(d$J0__J06JM~`=>*gd0tkNx5=SUhigZ)*76mxb$cIC<8BE!fF4MBnSZ?x@0eu*A-h5-su6&qCvmsVj=UlT@G7Ac0BAwh7XOSTRpZ!H6` z6M-?t2pid9NW^;u1}qzlSVI{AWEr5{;}oF}7bv8zx!WssTUuu(5EFt954fW!*cc3*EUz<{jK8z2Q$pJAe-^haSsW+rw{ z0vQ0F>(wHLfS_PZ@vq%7nE?Ml0R9j4P-^$ggd5oyK?h^%SYLrz)y$nh z2pU2N^2rmYX7xFy-4VB?YBTw5B_K7e7O_Ab;>6B& z8_kdqAjb#@g)p*_36M<~M&vjEvI0w7`Asz0Jwu%EdcKK8!;xfzIB1bPiisb1|Jx}B z5g7rXj6s5*DqEJWkOiL5k#!=eR9_6MV3`3rwS2yBUVNnA|qvW zV%?mLSq7qfycGzw-VMp`BwT*K-t^4#(H*Xk%Kf{CMy9Zt@#`VqhU!Q$+ zoyi`N)P5yF>zx%bN&RbPD`*N7ty*@1t3H02-NQ#-+QOVl7zjJ-UiF#|VFeaBhTW^j z`N1Vzkm{-%)3qoK9?wvUp{z{3e8z6kbzE1_NVEFcuPg;l&}>?kS*nm^Q?|PM_QUV% zS9VddK#szJIL<)>6}~yd#DJ@_b6qm+#i+S`m?SI98kPj%Tm(~EI6hL4AVgS7Lm3bZ z+;)9%Br66BVc`s>dnY7BfE>vp)VB6)#B04B@y5F|GGe6=IF>CFV#HAT+*?jpbuRWP z>Cq#Z?+Cs<8f79L*S2nzo0xSS=g#F_3keJ{TWgL9*-TWNon%e9-qU_`zKT<~ts&<0 z7K8}dGQ37j4bg$sDorAZi2w?q*FIIIF7`5nKg?FQN&BqwwiJbRQlaNsjh_x&b-(9g zxl(@Yi^(=~GU6vaLelJNi6B=GfJNPASxc`>1o5UThFu)Z|(?9JE4ZOJl}>)@Tx;;sC)@uPW4%1eYnP;#9 z8nF%nq*tq#kuxF0o4)zV(ZyP8G}ymhFRjq8NTx#i_T`J!+*akqO{lRH1Yzu2uwC{g z2%^y^8+Z2@jQ0{C*oTQi)B%8g{O$y;0IX7dLe7jZN~v8Sta=IT-L#K#9#%^+cn`1!Xj@}XBoK-c z?S{mLAc`E;q&;F z!Tqoe*0R62T+0{QpKgu1_>2#t`H`}3sC;8d>=9jrTOF%)G=3IKm&T0KT#LM~JZTLX2DdRM%T`DZFdeO&Sp@+aSRCEg&jVFJrfml$TE%0r z{oj0XF$LW8E4a03O@?wagXFMjJyBA`g@9uhEbJygCHvOHm>y;(`sfstki@qERddHDTw%7-t2xLnH~PbeU?hQ(-%^FKO+;E~E7RoAq#cn$1?j zP|4-(NWZGc-nycc6r%UqKR)TbH8($%T|S94JEz@SR&iXJ9YH3ov@MF9AMvBFb8Z%}}D$^8ZAgg>1j zFyqx%O}2PE?hsTZk`QoIOP}?Y_Pk$>uyjk)b$jXi4&$^}jKQaY@q=h9f%1Giy)=+D z8za-|#gsLD@yWYeS-Ya!+a8zX^ToyyoDJy~<$B~3=e=2XDtI6+JT=AZ&XXTLdmY(V zzWAxi%4Z!q21w^*KWpXjEss1hLd6~v$a0~$V-)@D3?adW4H>pigDDx@ED}c&^!AgJ z)DZPF9+6T2!tDrr7G)U;AqfZ!h{Q-5FKxRc(bZR&+&}z@uK{Bw6v7a&lN`2)&fH6Y z7^J~6Bvb^B0*eM2uuR~{HX(6V&y0@93f#B4l<(-etk<~clPL-* zL(l5PvdDf&=~3&;J5y8v{+kt&0{Vae{JUPka3l~B9Kigy)4(!B&l&vb1cAOE{bWbZ zfeNZBF9aSRjwju3*ZlszHyj$M2KUVVfak1jAJgOYq{Mo|UTutF<`5B*|Lt_9tJFtC z!k(L`VG{It1dH6Ay>AYB;>g{mxg(gEKZk8k&D65j|kAe z-Ea0>o_I;%(rCzBh0pUMcxD-)1sC&-2WKL2T~zrE#dcj?f>_Aj@44rN{pA)URgbB8qna+x2qH*Z4AZV6?0+U^g z5rrJBI4ZJaz=IqQn4p8L2bjWxb)%-Iice|Ne4oy+< z2R9>{TYjKmRbsq1Mh61`PiJRS006*wDF6Tf008JH008L#006UqM}r?hJwHB6P*4AP z|8W0v|71HmPD=k||7rhX|5E>5|6I&gQ$?a44DHq`0i*~M_5qA4sRhu_)y1cn^6Vio z@8@{`D_Jo-i}_DgiP_7Lx>O*5oVNqo?wsUVZCgy-FT#2{RF0EcRw(*XVdEYwz}O)JhqQof%-r zR;tI*oFd`+?#YX0-KVMu$=eb#qBe_t#~ck94J5Li5c3Cp%uHuAeXK`6 zd24*l;|W({5=V^$%}R!@wuoYR{QCU=(?681GVVAeB=3eT#8Q1uSil6iRGF#(aQl-} z$G(EK29!@xt*qbA=4_ss9%UF?thY8i%i*3n9JaGE+SIc`!BeK+!XO~3P8*)nrrzA#7YwkQ-P7ImAR@aiP)?Ehr(KE?L3bvTT^gaxLlt1SLC7nTOM~k zRJS~uYa274MbIpP$wRBX_?Cw+<-jon|F`LkK*$F@?(FLYsA^Z;aEH2f1+=!N}%?t zwJL@X4XR3lc+^Y(ea+FIcW3_W$Lk!eo2Jk6N@4l$+W5cC#`@*+5L1(@5Ox>-p?ToF zUz5;_ZZ{`)0|E7*sS;SMEpOSHw(TQ7bwraXJy>Vg!u=wP`{EGwdre*IwxK|YPrLSp zum}fS!4lA`-WXk;&Xt+ln^<&p#C9^AEdk)*C-P(Jn}_*E$!<; zVT_>(zPn{60{#HNKa7oDgB3Rbe7E`lu>!tu0kspJHTGQns5xg#g%~9UV&KWc@p->- z;&lk!!8-dJ{&8OFvG$-jHfc_H(Gc2szuL_XdWj88HqBl{`ICkCrjz5vPo(l$qCrG>dYJlxwD4&;P^x)!*YX0^+Nv zB)gNA#>>y;!ITZU^g3VO9+@D;95J$iQ1*!LE_XA(w?!eVWJ?H<88Yuv(5PE)C9f8=gEx9p!g88=5fJTkXPcKbSVhwIweV?T*K z-;J6w#OG8_W$WiPc@a0~nsJSeZWU8YD8=HeTQ(cs(bR-5>yuTGF&B$%SWAA?`qa)} z7;*@mOG~V(m2QsW@%VA#w$JA_6XaBP%*vJVa;AeC4Pe97|7G4$73Esg@fMg)zozo0 zUlgbpK&hee3I>T~2^BddP+;YQdd!nL@})tmM>icxvSx%{XS*DLW@L;I*^Fu8jM1t^ zxFB5BWnI@}tp+f%Kz@(M%?t|bocKnt;E!xcmJMo3g9`GK2C5%Uqp$qL#CS6$$94lH z%cr9skv$9<=vW3}05uvJyCGY(lNP9JPI50@SEkvm4YFAmO2dExnBPgdD&t6=i!1{c zQiw@K+aUU!iXScjBsS}XrVzP!LBkmTY!~~87~%y91HN~e&%J(p^?o+{e)>@Ei=oXTgQOirRqbF0bqn=rzVk!Bihrld9-l4J+)3IYIROq;N2jvclOR0y9Sfm<{1b)2wM$!Z7_80J!h zdI&TJoKCxzR8CNl>D8f6$s*kc>K2P*1_ zA+~lA1ZNHyaNO+vO8}Z$wU~q4Cjjz|?IP{)LENY+$p1&XHvTXk-|lj@(r#T?P3+O0 z?OU-kIA`%37&$%~p~4)aO4Qa6sj2~|QMAQr2KVdEV|Lq(${UF-?bBsr`mL^g(MCJc z$E9U!?Z_TvdQQ?T>bdltJ~d%-iEOtq^4C>f=g*^GwV1gZf}pSx&{z6yr?XIP>&nkm zQ*xeIPUrO9YXSBw$@9Son9t(kH-w&|&6(8*d$oB!e_xtW5T8#&ch_R#9jqA%-B)AkHK9 zNUJ#HGdX8GIXC02k2gj=BbPOQfW<@i{%uN$%Zz{dRyRL*YJ8fvLvOa*wacT`NvK67 zE$Q%hzjx`HTJdDn`S8pZPHN%PnP)m-{hfT}FE0|nz@G%q+Lq^SVg#^QgOYRj>%4L zG9?fpvVr(+CktbNo)B6^x&~rdS3n3$1{3O4Xb@2MJ;9~7UTk%YOr65Zxe@cZ{n(sg zB_Q43+YN3N4U*)XSzK&?$n5=Fu0w8&ba<}SFlZ(;VEC}y@-Z}(1`EX{a)yPBxsM|O z0RB6cu7*MY_=CgA_!tY#Mjqh5<_mCvpKXoLJnOsx)Z~#!gCuB21Fq~R-8`M@!D=jx zHAiN=C!cGRX)Rs9J88i5MF-D9D;baajM1-Qj1`N_R#kmHWp&Ie+Yh~4yTb@GH$S2& z-ddPZ80Bkab`EL|w;yM~u8-mg!ElB7XNr4~O~^ zX*@?rPCcKG?A+=Qbm7Moy&P-xeMsUxHyUmPDWfC(F9Y_f z1RMa0a8VOYk$BFL$!q+1Wp_XT7z4nBK=<6~y-{6p6NlkSiwNrh7!dx;bvl9+FAc!o zn-w|%b!!0p*Sx^KZSl&v)=GiI5Mof37Xr4vl60EX=m{|zyshu*U@__?4`iuU$;Rra zu`K)|7K>kg8L``o5xYwt_C{T9bD5Ck(%5{8L2^}Pzj!`dGmoiDuN6gQDwv6zl1*ivsv=_Od+nZR3Zh(VGJX=Z zvRF-lSFC`GJhYn06JOO-b3wAdKtgI8=pq^$D2V8ECBjIUcrn_|n&%J#R4Y;-AS|nK zj11w(txOmvNp)Kp8jol};ox-6(<)`slV{{MeM!BwQIExjctYh@0%0u#AfO0ge926~ zxHYbftS2Qbl#}X}@6j->exOMPzA!5MLV^xFbJOR^ITU}W)^5v%XgBTSUV<5h00}2R z!vIe4PG}m&#n5_-A*UUFOVz?b#-asK!27j269EnYe77MJFp28+m=eoN z^Y-0;Hg;t^wYnwrY%XJUNk-;mK6N&~K>f<8mzq^KmttO8J-0nDS?B6kcWlmJt@ZQh z1?6Q{hXq^HW#Z}e19%i^(yN)oNHDxGA<(rL+6Kk}J5oWjh{dp&k3VyG9xY0jg;w+U zKJ<((Q`o^!J!2Zr3X(yqlM{Az4#f<6R#&#OTmWy-tu8^DMoY7fSO*~EOmki1{uaSffSg<>-%r#J%7Jxl}iq6>QVnDkQENOrX8))ZAV@( zmu8p?vI_$k#e9W{(gzd}`g*laL~tGkfN$To9Iu&ctw9JOJYEb5s-%N8vh{AecYG$!*_ip7FBz-P z@7Jt9S>N%<*lW2RF+FaOmp2!?o2{Xl(qAsfoUH0ak!0CuB!<0{hzCX;{Mn<4Hq)$lH+hDApcPRUO+oNJwHH6N=pA<|4RQ!|4RQ=|3Uv#|4BMNJU$%ur6d&u3HWoj z+Iv7B0Qg^-yNJkan+D4uV9ouAk36bL2qAPlRRxtv zcIEZW3$FJ6!Q*8a&$O;OTaRYHYJ?2yxEMxU{iD0?wX$Rqf9^lrjf_Y-nAVXmXR1t0 zB#f&&In$`r(dtR2R)Q+bTw<|i8#x`?QAnr7aJyYd%m(XF+#JqQVs5LbYu?tkg z+hH3;3duiU<1X56=(6k)S^<-=*M`Ml#6pGOXgmX81Bf-slz+$g_e%~G0uZpcl2(R| zrGyEg+h8!zqNxeG6%PibYegurgpv3>xzVKbttRGN0xNPs_Q~-R%7ykxhG6r1a?u}5 zw@1+%3b@j44t8O`Uc$Oj7UZo=hti-EfB=?pdAPgTu1@XLH4W)i3lg*#>6jBRBJ=YA z7bw$gg9!`g3?DQA77J#nAh+=Yz~2gnx|AlMi2xG+HvmBW=(Amw);SV)X{~aQ{0Ta#pxI4%F znv}1Dww!kFAKYB}j0~lnGXX&L5Cv*$KRr+$eKZ;7i5Gxk&xNdh+myEp5Vub`aB+Z~ z)%60LTIlh++!F>^lrdhOBnnfcMP2eG*-m%Acl~1>lh&?;2LOv3kQGl57E0pEbulnx z;iY;20>UL((L77NiJxWOo7LmV*$Gbp?J)B_1=NV{Lf_pIH13Kn`&kCVo4>nhPAF!v zj+sfr;{`2)1HdkF+;ZH$IQQ6W0*^6vbZbj+%32^p0O&YJEwOkWJ@F zm3q>*;9QFg0o-O$hUw7naw9-{sp78FW~1n1uEusH`OfNZo9`jXI;ZbV>UeT?=+oMK zXD%0fFWFfBmUK+#4<$=5+=@XK{B()sEtpf3?>yn}v}$DE)Hb?cqQue7^Y+g(As6>w zq|;N!L@v1hF&YLGiO3&R+hBlrd7ab}0IY6}3{^Q>rgl^yClCApwo|2V%Y+h@z5&Y2o=;!&;J43>DU@Dq#u(ilzEv@sX#k{J%^-O`Os=)c3R13*S^NOo zQehcjz(uO2D4!ndG~Z`E&aBdJ*wWtW?+f=d^EqS;or~;cB-$TpJwEE|0fdH=mej{4 z+ypm{RQI!$eg$kUtZ;(>U0@w+vDwn8@#MOzlkM-q%VQIZpPMy!<$60=fb~2=_BX@c zno=Z>0IYhMsL1adNLRU13w4j3@tt~(KF;mUJt7Fp<$Bri>$>W;YT15BrPMF_?LYP9 z)1IgwdT+o8J<;|Qf#-kKb<{-pyt+BYh6s#yJIa=#U-Xq~3L9!H()j^a<5A-e1FVM* ztx-+WEalf)8IMTlmcS0CJ%>nOOG{8;38p%G!?1VV0RZZb_(-65JcyCkk=G?K+-7C2 z3CGxSwSd@&(A;JgW#mX}PfM@kgo=ADHWz-*VS3@+T+Ru%pw9Zs4ZWN#Zgv=JI*MS& z``C#=g~UOE8wuO<_M&xU?GsuocEtnwfzTjshs83bpb(S^@&A^)C?;wuWu+>Tc00F4 zo*CZSs9dv{StZdHHK?lC%TPv_i{#~o*;ZZ}+)Tdf?-Cqk-iRkx#Hakfet*%luFOt` zm)Ga@zIe3vFv$9ydwP2MS-yO<3dpd-Cmbc}D<%oH+%!hceUe0!_^QGkvM1vetQ=m)HH4GqQ>RToHLS+|my2ntrAg}MYXc$*KfBAZT3klb`HIp-|+9mcYz6DjP0xBjHp0Nijv+=|k zFVkKoORVhk9C zLY=w-o=h&KBzFiB@Ewm!OaLDM{EwLgk^{Sj%;09ZYYCXmTwB$elElyns;XicIa(U_ zwO!1&HKT|gk?sWM&psW;#GqSS!n=k6=eF_63orMKFdh0d6D^K|hPSPqJN5A{=yWKp zu-$JxjB;rJZWb4{XkF|)$MJVA6PMUn#c1fBjPrjzPyb-F`mMZ%sen8Z^G3O_N=ZD~ zZUAMQ6;TRO=v-2xGwX@PD$R%`bEa2F%t>Op2jsD$2BFXym7y_E0%kgze(uCO6m7%> zp@GmcC1QnINEy7wack6UU&i2dlu&D+ici-Vfyo1Wk{2D;%JK?zJ-4s>q!b6yoa8Sj zkOiN=b1eZ7lBBS!z!?xbSY3N1-sYdYU5o7R&D9%r&e2~pCVF>ASDoeU`!7=aM&lP8 zhHFzj`v)4h!X&g#q~)&QCXlQ(Xg+NAt|kS70DQq@qbuM)D8T3O8e$p`gOTqt8a!F zTYGtQvoveGUOFPSa@&h?Z-(lHL4k=VAPSqJS+$Z`G8c%BX6Pb2XQkiHdlWBPmOUX; zvQ4O37{35HRR<{b+JM#3V~PBn=>e(|q@1<(b2pi$x~rraTDXJBh;DaIk|>v%DY5}m z1-Q3dNfqmeem#9ItVOM{LgfM`R-%f@iAKUvJW+!kbuKo?9Mek`I!6nG^^-w9NU!#xTD9t7# zUnJ;&4jBKBeX0|*#H}`>N4&W{`UKCkkH4?l#3U7s?ksv3o}Bd~hm9A*2`hzY22R+q zkSHgtbTz)y+jREW6kv$DLo`*<&dd>pGKAw|047+`XbcU`q-_=ejq6?t4}wkv4A3md z%ya}qN-AbBYM7X@OKw|Ela=#6_5HDcae`>rs*HX%Ndp-nwqgY!cxbf1c1l4;@q@MC3McrrVzve zguuUg;*)LDbcY2}@dV^5{nR^woVw>&egZ}#iMwZ__Sv-_*3^5BI!$uU6<_?znv|yq zegl5X6~F^=1Hjj-b=U#y0+5XFC7(n{dVsSDRMyd_vkj1IBo+4VLEJF$^w zZa1Ez6lw9BnNzJHR!w9iDUBd1#J-xU+FnG|FMC^uv;ajd?Mt2&@3gffaBr$frwV3S zm&LX)(E_h3dNSFs4NrfhSb&v9PNsSmPumKG7u#qs_F_|@W$lFl(UBQEomcf$1w5J} zc&v87V1Y-Jn+`Ip2F55(9C_s0!cl3jR^}ySApql_b~*?Q7)ivuXETpj^YZDO!n|Do zB9?7|^p}qPJKh}#pkj*JV2D`b^rgsy)qNlXoZG4(&sKtavL^=N){0P4L)ieS;0MPDwB}f1_0JPVv#hghL z&Fa~a(x}88h&&!qNl>v)Upu+A<;Dd6X&rlxl`8pb6Wl1iw=qEd#x_{Ky!wFrJ-43C zoX1EvlOZy0+9jTv=NQx1*r&L=(MrSv(+BkRh<1rqvkM zG(&n0-3mEv5`qT4=Oa7TrBOq62n88qucIV)W~tf{Lr*%Kj!X@Vk%3{&IPRQc{9ZsZ z+QQ|8D4~x&bJY0OA1a^~BNELDT8K;;z*Q?CGF1gsgNdbqG~-pCNK;_)2vXwad}JRL z1|txbW0AiMvp&o9e}*GO_^6ov38j(LZRGUqH#S|KyHp=I(&r3BOwrj8ZZ?gU^GpmVm-Avl-iTyk+f1nmzJ^A zL$Xv?Z3(t|qttxkb=mv>AfpM@ zC-6jNDG4pZVwX@76$cX=+mN72RG77|88|0KP`iFHV^~5a?j;`~vZAJBrtAmRi6+d&)%{$w6PHxEp-8lDR2)^Z zwQ=f*1E>|3lcYHSHru5x5hD)({I6Xq4KeZp!1rlSzkBAGA$n!S^d5cp&*-wfD-mZ0 z_O%9ERh42i@QA9aVzrKb|D%&$*!&>BvVHe5TmE19&Clm_Rhn7|zWuLLM_FRDMT$~G zSB6?{Pnpd!N$?k5;HoO>k;iFA%k-6tE0#34Ip$K{)Ot5=Fui)WTbhsVF6=*d%a44XW-6>)s>wT0xL)K0~W|N?z!Og3@qAa_JL53cSUOF}DxN{h} z6fd1jl%<(F?ZVhrjWO#;!dc5=W>$|RNLTOY;3?b6j0>4+)b1NTQQ@3xy_u+n(LKPRv+tgGg09P+XZVH-U&l9_Qtk-5)!c#2%oLGT!U*Ya7pFV zV1@JmVk9=Nx?(aSg%nKy%wky$p^(PwRI&h|UNd?%i&WcC^Be8k zCY>jDij~#X*}XcpX`&=~Im&EB6JWc7{EL3p#vrbdCIh5yt1Ly)Wn^Y{_X@Ha4Bi81 zrP5zVz+xlrxkIU00=L|PD@XW;G*omoSS6_CYnBj1N1<+A+Og^0zZO{uq*^^CYfmD; zSgIi)%pfNG0cwWQ^$I+?{FaS^w$k*CyOWC!2{Ol`qGj<0u5nSTKmk6oMJrAS0U zLp(u2QcP0+W{g@F88vTZLZkGpB~=F22e1mO&lB)rX^QraZZ6AVD5hGO@zE?|&1JPD zHk#EEj**D!=kebK3Cq2@%hUn9TGN84F4(nJCP1TVz-imtC!k-0EQb@=m+qtyGzg3 z52|!_ISP{%>`Li&-*(=t-J`lP{ZwprfJ?ri`_Bw~dF}zsQdxy)CfZg@l{CBJ#R1SY zvwe~~V{BVQm}JJe?{D$sZh6=W>OHW?a%?&MA7E53-T9@+5< z0dz9QKqEb3r9|gjA~=`W-amc+kP%_+1~!IqC+ob5P;RykQGy9@kao~b6PoAy5v`zG z3Pbt7?tUFtRi)qS?`pSKs{)KZmkOVP0kryTIBqqXBOBTAcYY3bPgIXDjP?LpDkTtuQFLUG%x={Z zzyZ1g!1psnRTax?^X%t* zKSaXNU%bs)dyJ`h`**V&)q1QK%&ifAKJpp|o8p~INLHFU@;d7ZhCetzw&a-}7){)R zij=6%KZBxmrFvEmvuVUq_aU27Y3?OWMoi`PHFEU`J6k;#48#GAZGbSUZsYDDA=s8IHd0h~-H7$Y1YzsJ?nL;J;D=I+%l7a{q$Tmx_* zoN$pf46FI%#WFI;1{utDU=|3=l?15;J2Oe#rnK#P%RDFnADFC}dYEk*mO|s+CLgrY z^)ePww{nbLqtjV#S4EwOb1ANnD~RW+9g15(18D;*JpuaFw^e)p0iCb zbG$~S%EcqZKs2aCG4A~PSO4;GaP%kFX8i1~w4>|$lIi`xnZ*wpMiThg&%L|qhAq`K zTxfzz)8G4m?C|_KThmysx|M{{GD$xMbyOHnoY{ssLJ1`8Sc{yV%I9gaZz6lv?m7{O z;79;bWTCQ*Iut;BrSZ}wNs)d-0OKG512sdxOD*83#RI7|86>Ax3aUNb$P7@Sz1TLo z;e1HvfBX;TF?e9@l`xmZ9ot3qo-AWGt z3xiqOMMHB|&lv60_Un5HML%{dEpHDa>`uLxfuwv4p>Q02d!?cPIsxDdzM2?;H~{c2 z5B0&e<#?^RMpXAzvB=m~z!jtmNXL);OvO?1?IUTvDB(*jrHZ>j;or_}wD@586 z5JMq)%99P*aLZ5&WkIS%txi(ps_N>(L(rlErO!>*(b{KWd0}L$anC|GnRtqjlprUH zm9b?rFsp=Cl42z^MAL~(U}OV0lq3Ymto<4ki4|+D$k%vtu=+0h^<+2fHBtC9HUg03 z9rW=y@5>l<8au8vGpW$oM$q+^w6Ss)-7_CH>x}0Ef`mo{yq~HincTt%ur6G>-XAJi z9U)8S0Fl`JsY|C!AX4?QojP9tGi$02e#>Pn0rdbN`f{;CdLRx+!1p$utT7paOcAgr z!$p9t;_I5ns3IZoc=8NHiDEmi^{$YY%-p=~l!16-OiRtyG=H;i!El2mYEFA@f2j9J zG&0^hXwElgPuZqYP3N7?XdZntf>g!QFnRm1#*<=+HINiLoncMWJn=w`t?ZPaER}it zWo1;amVG&tI55cUaLb-(Eq91$%26gQ)TE;^88Anqh+_88z0BD?P2)9MQY-?E45ENZ zKP_gWVY7+#tSPs!aUV9yK?)MFbm!b1&EA_SlLAF?^(qM_R2B$B5w^tu)ToDC3kI*E zt!^Y?jRHx=!WJ%mSW$0GHO1^VF(&3K3`W{>_iM=P^t(K|D}=1%s`#4>EBn-xkJ~ZU z$i=}Pbcmxd&^WSUIl#!gl-_ojD^?HAyY8*GTHFY?EC?l(c$SwC zh9adm^XVxgh4#bSrze|ihnZWm!J`_UyaTG%)oy2-$Qoy;z6VvxI=h9g*L*gpLJ||X ztxyB9VI~8EGW}#N(53Rov)G?eWxYY%#zB| zNVGlU;QqC-f?G-ntBU2)%842nSGqK5jc5&PgjLm7canw$9>ql()i_SgV*}vWfRe%3 z)cpFsS9X#nLAU(%{#W0Qr%EhK&1p)Yqy|p+%Un~IsLvMk7%A8%lo#z|dHgevoW{rp!cp=6>0+DCHd2;vO&{#{h zxn{i**TrA+v=~ndcLZ5mSg|w9YV=R!ec4v~YGO5+giF}}zfVWpP2%F|XXc>!9pAxW-T?P_Z01+|l;He8>_xp(Iu%l|;f;0oTOz^Z@+R zwol0Zo5X;-U3$Zr3t)O5&9fTTgN8C0hHrr+ty9z^03PghsQ~@~z}M?FIs&`^(B2MN zprL!P&oM_;jj9e`hsPr*FN7eE7jRsMzLQ>HAl;>+Y>FS!a_b2wb)m%PD+uv(AQb@2Nx^pbDyuZM1K5Xp}Q9tG0R#50vatv+hVF$ z2>>nb4s#r6KrBEJH^Vrf)73O-D{S_UH9!c3U?{YTUNg~E$zYlu7Rxvo#&;7VY`{)e zWtb%-mckOo0x1*%&<@lIrFqz&t5kw_8VdvNxVHgB7lQyhHYL2N5U$Q(ACAnQjEOzE z&m7LrXe4Ay--e~C*N}_|U@?F{LC!dobt!>SKyEdz<}ksE{#7i*aEd}|ZX7FUyNK(h zE-rG2RtS7E3F-}GMR0!f3I{KO19r+KL?Pe?2!Ove3uz)?*8upw0RVh>*mfE&a-C(H zxkk=oR323o6UAsGipF5xk(PxZ12g;2S2I^E^pew8%MFL&v)uaH@$tb-<(tMFtNO1x z?)CSzV&(8t?ian`ZuA(=2VqEtztMB-}_1 zPry`P)VfxmYmLJOv{Q?`YHb^G zyW*6>rA=hdVwUbKriWy)i3md(R%0Zv5etX_Ib1Mc6GRb!1z1{z01RjWY$ITG%nBB= zg~c3cW)K);AcVNOx@rj`FpCW%70K`hY8ioz}?9&XS0!(zhd^Va4YBHAE=-;T> z#sRz$@uCCET7-At@-wL)6&?VGRfgI$IBWfZ(W>cH3Anz4h8Fr%hwtxywZ35VHPTEP&s z%3=V}kv?Z#1Ket*K&hO-s$!{LjV_Se`?OALOXe)O(D)pQt<&k+vXXo4Lt{;>aBy?Z zzWS65brvu3vL+}N#*7ZfbTEdM(8$bU{er9rNNTfE4HN;>571hvC4n6;IDV?C@rV!& zQhv8l0H*^z zs<^6M?PViwNC@LdfkF+jGiE)iD6oMw@)~72mrz|HTEiZKl1qo^n!*&958OhL0$>EM zPY6j(9l&hw-K!hxEY=!S{lP(m6|G&$r=D`xLOc6opT@DCGKY=aUkr|2$x_2x+?76A z;Llmv@BoZXD+dfftkuwnlTP3VSXD~jLc&S+4NIowR83)ZpQ(+l&9);K@PLpsx)|oq-52KiUtnkdO;BBS;OBgu3;Sc{QzsNIk{W`RtHRR+L7}};g~D1 z!@g55`o<^-Yt(k;pgp_QWI*grXB?{^NBhDPIJ}W8h#Iiubqx@56yjpB4TeR)4#ZXy zgeZ{9t=x3@$@hn>?JF>_W`$T(b|>?Vl4-;2q$0~N0+dJH4H)r z;9bYApu%7mA_$(5{o}m4-ZTAA0o-C!PG%>BnZ%VicLClZ{DiG<2Z(M6fv*4> z%jKB>+5-UJ>y`r)@EZWWcbf4TRof#@s-u_o=m~NefLXc5$fJsz7lI+EYKP$P-+KL~ zUC$jxhNf|4t&WmIGN(WI7&cWpQ$DVRhH{ z>PW5Der>sWH@mE~s8x^ZP_F1i89$kBA~z;_EMIX<6v~3mro~jY@x-D6a6uCkU@OM1 z%*k3^P9PPoK{C(n=B4T7%7<1)E3zy*sx4?&BwGb|b<}MUE`+pL!ju*gk2(O^64(Ij z$)e&RLm`ihGFGql)M_CaZ~(%BRv{EmMhJqalT|E5h=KrIu^k{B5(@E;jz|IqIWS=) z+ppDTOdLaZa*ug66Dd08XSJ`wTt?rQM%R8{3;+I$ug1@ub_yk!Cm+6CfipR7nY3m; zd1#vH7`l9uduU;h4(xe!W1@4a_|}&|{(y~$+W;o{ErHp-%RkOelt;$^PiJRS006)M zDgXcg008JH008U&003eU(k>qVPXAW_TK`r5SO1Rxb2>XaJ3~G`NK8-vbpKrcV?NxC z8i3$M5AY9jor3@`0DSvCW>qdWR}3HFwLybKLL``UELrl+Y*-m<_W_zI10!FDO=9t# zY>$3(;73mmiujno5*8Hw2!m*+D;!ZPvsh&%OPK}-gM)R18j2-gt%U|w z0i|U*+@y`J)D<2?NJ3X2FSAHkQnylj?S&LR8H5!y6OKo6phf8p==77`$JHU*Yw zRUjd(qHuud7D6o`XkrOLq0E*>G+75tiIRHZ?2TP53F<~+@fkjvPV3Lk(888U1 zUJdC^W$Xbx`^66-us9OyLa2fUDKxwX5ktcZ50kgM%R++yyUh4t=jknWup)ss44HHo z;ZcYz7uL5nS;xQICDX5kENT9`)e-_c0Pyu@jYa?u0DKQ$H$ws`Z$zG_Zl7yab5vD@ z$qPhcAUt`2!Yck{_h2}0inh+(P%n#BTJqwwG2?a0kj#nQLgnusUJos!)_8}pQ8kw6 z0`t;;KdpOrUfZzI{TdWiAK@&{wq1q#LUuLQOwkqN72Us?V97PgI|hY`5E#@R&5{{e zaix%|l%}wqMAczNnAnhj+oT8q+M!{8rO1-t+!O|!8HFtq1SSJqgbu^9C4+F-3}fV& zP=IZbl*0;ORV#oDLj(pADO3PdEYl8zN=Asl29=Ox6v#nMP!I!>Br8Cc@2;*+A+gz# zh=2eCI|9O4lE*hJR(^rG#D5WiB1HKNa0Qt?;;ZD-R8G zR}V%k(8?%52LgJ~L9^a`?8v!Q9aR*5#K7o^?gIZK>sR9TW1}g@jR6b`QB*LRmo*{^VX=s5ecu$bf>nt^zK}=_w{^gnj_Ft@U`U~+C z0Y`z6V4Z23&N6_L5iRLZ8kN?T(-FwMN*GHVtzPmMo0lWb4y=DOr01p6sZ*Gdn)IwX5 z#4~L(=SnqFjv>4j4H7~OAsBF)&b@R-p4uft z_$~M5og>y(L8s^E=y>+@^G)~qQOi@+?TuN{D}AnqYTLJM`sW{yULdnbD<#`kYyR~usW-5Yb#boix2<;*&8QA8{21aomAlC&+;=3 z2uZ8g((B;~A_IQp7_z?;R|%9DI*iDB@O-|mu{99ZDN+&#WFLb&CsjVT8HrC_g1kD{ zO3ZQs9_;nTf$B$D1Pu6hu}piwZ!m!G7Ad7gKGPgC=TS8(hHz`J<%K{DL5wUkS(%T? zVC5!UVkyzl(kL$08r#nW8)iiTAD#PQx_#a9dF}b-1-~D^>eSJ8^5xl3ie4%Cqpq%U z+i3=AU%Fag*y(PX%dHnNkcx6dC|lV6v$oC<+J2wC}3`0CZG{uB&bSv_^%QnacuY6*f6LTv4+Z-2ob#F1LqeLzaur$x$)_|Cjg94EM(b; z`AD*O_^)*2*5!2X%@o#Efze{Kj$G|k%te+pL)Rd{0&1-mav=C&6wC~x8l||ysT%)g zIl+nc6ny|bo7IL_vh31)0Ktl+RJ}<)oqxIJYa%jU4FX=<)lh@-qXYPFu^LKHUI6%B z>A46+%9OFMW6m+EYL1GDsYvb;<>m#Hzb3ttXD)Z^Fo-GgN4aEq00?Ae(98jxT%^1NfDSJEw zRyk%+TWLcrN%?A#O)Mb;_Mx#tw1TZrVDKV{V~h|&*cQkLuaZ1>{Qk5Sr=dd%!;u(6 zglvOBiWSPX5yC78O9%%RSWRb_Qx(LK0J3c&uz(7Ps7wg9jc3Vmm>;809IE zrdx~JjHKg?w(xcbPHN2da&PZ_hi!kc;d`t`m6ks zGc^Sh?@g*!zfG}0UHh`;4Ps@c;<`XN%sxmAEY5VA6*uuAbV%yy2|XGy_hGH4<2E*} znj3qO`~*eMXo(AjqiwD3EE6I~#zQHRPKwaMFjMKlil&w^gIFN&>14f45tb|u4$h=! zdLVmkLQq&M>&VE1v2vBy02xUF1PYL4)OBEHV*m0Bs;`Q!T6A@is52W{FLS1`c19p< zi~tZU#u%8iE=C)9Kj-ym`#f*kEUq8OfQd1`2Qv2~tSs$vYLqU2r<3F#Wz+*h%@%gCLEx<6OL1MKhUm!CAOc1H4vcMb?NKYOSn>aD?{aRK66UmFl*)R@oNN;N4db z5!HDjy=vCV&@0r+Iz*B@4N^%b%ik(W#9#pYda;8t1aQGzp&=Zq+p|Sk2-*xa$+fVw zTM=fNhf{f}7G|lcoxOAG&@AaJrMOMVGH*Z6o)l>$69C*&0R$a5wNrq|S`ouxyU)xg zb))96Z|sNumwF{SPW6q}YUQx|RGX+m%}&CnB446sV(;$OeXF%wCxc zBWI>D>tqFh4B&m{r2V|}5TltC@#ol2_sJjO{^hkEC)@RWF5PZJBYwG2%{O&T`^g1} zjmRe3{r~t(C3*mqN*jx=Mx;S`dI7%Smk&;lcHtqJt zjIGc@I52S|19m(ji~_!YS#bh~N-Z1wZUv=rQp(pMVD!)-lp{DxqfnrSLJ=^Vs2s5raeDo|U3 zAJ!sk0N(r^eT)Jb9l)3DZ9W2g0PsJ|1{e`2Cwu;S?G^hvGdn8R7;Q^6px~~_QI5SPyaq#Q z#xNmrTdqo$TTQNA15BFfLV_!as-VC*>r>3tfhKnhurvd#>kw(ydbQZJPNLK*SQ?kP z6IUg7ks|GNZA?I?mqRkWKNQI(kP6Z`DxxGS7du2&%gSS-8U18ehYZsseQD!7 zUB~BfTg{~|q*9bDDUYFfVWX7AyLsRIxVR;=)y zekkkzW`&b=*$>Gg!+vXF&LSD+7jqA;NGc`UgKow0*&q1@+VMR-62W`3#iZjAfXxQ#4dSc0i zy^3I#^)%#DWm27pO)J|=41z@|l|0bt0qR-Ob%sMR; zYMx%G>wnJ2-b_wD+U8&#){v><+^N2oC6oBh!?gH+JxPG=9Sx)!9Ei^fb^HyU_xwID zo|)`#Z!cP4G5XIbX^XVHKWbNy8b!!6mhaKKq!=1CjOJ7yy)(T2w<4(4t`3eVG)7#R zfkNIQ#fw+LLoK8QmUDa3MLR&E1v-Y3Imh_E{LnmODMu(xdXMm>wfkUFd{I(@yxz0QF zAK<{2ZrgF7M7q@Qo_AVFwm0)g#h}2riut_tKK@BAMPi? zD)O5@!sK0`o*|OvW_A(ssk)pCa743^2hSk+JUlGP!7OeGm{-MNaag5yI)yqS4L!Oz z)_vj2nJUFV!AGhuz76O9axJC=m~Nta-k$_%KX`|_9Gj6?xP0AK+m6iY^Ix4Ru8|HT zQ9mLyY)Vr_+g=VcEVn0`BO29&h5a0Ob&GEWw!Aiip1;-0Fki&phqlqMWJW`wF} z#je1RkI`Bp!3bTp6qt;6i7Q}C<>jfs9ejt@>5n6l%Go>o48?@qjOS2krJvUm5Wmpj zRCGU)Y;hF7ovW@;s zQa>u_uYwONthk^-&=pRw+$=_AQh{dc%Fi#%BeexhbHvOc;m{FysW}e<&?onl9o%D` z9ER)f(o03?lojAk=Cka-9X%$Ki>&ZgqGI2wt(w5Ub0i0b-X(d0|2fdURyWh4ec0iB zr}&KAkfc8vh?;<~66q4hQ2A#&zPP#`IN7;w9Mq~CdgiVXcK6;KoX(FIPc$9!Z$4Ka z&~a^WAX;q;6@3%FT0~dUt10Pp_5P#Ib+JiR18_c<$5XnxHV=PPA(Q1oze0sd;)0~qN$`*6j~5B>$D1f8 zsKP(~Vx~MbUq+qXq|O#RVu!-Pon$nA++*K?6`k^WS4M;YUWWDZDb+CL``;4}cK(C7 zk=|tz4`>!m;z~q8g)kW#yiq3`#@gwvmPKJk$p(dj`^RZGpVQN~aGYm~+tAM!2Kux! z6UCS!twWphuj!lPQXK+zKdDOxVHuLu**5nt6?@urqV*lN=$087wdSv@9PdMlXsaVYT=e@bwF!w^lVB z8mQuKB?~3p!WUxX|J>`yexH)1cK)tgnpl!n-!F~L{8`Z|rc`JyLz!(>i!)rkISU~u zvxhO?1Ch8S8=xFTezVq~j9!L=r0-nTu0k9fmp9hsp ztbe8AKO#QJg`{OcJ{f1i+Q3|8;W)v*#@^1rm?NQEymad!3HPG|u6TVg5z87~4C{Q! zEDke%W0BRPNAz<6l>)83Z)0B#i#MjZWn;NI$BjpR-jk_(_d6(S;bWuw;#3$)-q0bW z54n47at`EZSL%7mmPsr=CNwbWeL)bGtG#tyr1BX9B`74zNcM1Ft9+W0kh{-WDU4ca z)hi(EJGymW3VIUAx(!6O-u?VFl8Lo?HcVe>l?jKGLU68a*$lr^j}=KG4mR9@Nh|yI zJv3yxx{LCw@m)SG{|%;a>ZlKPE|VcYs!^*nIkx8avZysXH36=ebW-pTXBUn31n0mjt1Q|eE8L`WSt3kWfHZGo5cM)4V2aOLzT!oQDtlb z6jG8?=Np$yzK4nx+Bb|_qIW=v{(?U^fG?k9214VAr=|NM#}|~fxWVXIBPNZss@iIE*WrY*3FTQYE+b>z7f=<4Bg(K_I5Kl8k(*>~|Rzdc>+`mB|c zi-Be zMs5#`MFZ39pM$~tsQ)+MsK zW>$5+RSVO~nqzCci40&hj_wWLg2gNYJ6Jg)@8$uAts`4){@nu01`hs)vBO9OS!EvA z7W;#YU=1N#JwctOL|I)I!v2^E34&vJ-ZB!0;b1F5)P{54(A(!zWl=FD@BQ!L{8z-& z&Qs7B{f6ltpJ2)Urv5DajE#=_b`1xm`-Rl@ulIQle!SVxt5O$UM+d#x>yG3L{%YG-&+_Z6Afj74ZZpdh}vHLbkdm`Hh4yBgEDRqfe-P(XquHI+;H z0(BnVq^iqKFwVc{5bS2m<5SWQbj(f2^bJ2Rx#YyHNrjVtdU-h^C8*K5Z4I6e5W2at z<12=n#cD?hY~vcu`knM@bRLI$Op6$UL68_zH6aeEflgLK%TFJ(sYAz=`#ZX_Q)4`+ zV@$J+ER({i0S5_5$Kmw{&rCMYw9V$R^WG?(-<4Q4yRuBq-9Xo~`(15_Q zMx+rhB)}3mUW|Z58Ws)=2h+sf*21PjdW*pR?x7S)KJz~2-5>(-n%&z?l^C&2sw#HH zIZ`=|&PJJmem&%FDk0J!zs7n|hQtt4@1kzYp1{0kc$eR~&{8@mt*0S!feFbTpX7<9 z#;Jr&)M}6%;#cGnysq7zV<7RAax%(3yZ`*JOCE*AO|#2i$37Gpf^srf=)Rz+q@Ptw zHb0o1|DM^wRxy<6YfqIAc(;&vPle`c^*`DS_}%{SzIx}G=$?Xd9N99<(b9Xe%6aT3 zA^s{>nEug64R|(24nQ%bdHX#FakJr3hguY!J~RgEw}q1^jDY*qfnx*su&(qDk<|g-bm?+aCs}{BpO{@jKMlsQ!-85)QWnEG zva}`f;T4NJ>EfURz3c-3d{5!~8kFq!KnOcj-9pC(^9y!qByMhw0`R-QETbK zfr_{&aStJyWM|>BSb3Csy2}oKBs1Qx*Exn|*N^6@F3`bgBdEg+Ga2pi$_CP+{S1B= zo(Z;m9g;1n`pVGqbgJrE-5OLXC|zeU|F$P0m_+2fXy=}|bSa~*ZAE)DB)L6n`|O`+ zwHVg)Za>YY!H1lSmewwk%TRr__JmeOgoWHH8dd>E= zeN*!EKPc!)nnnq#tM}14PDRC4&?NgY94*(JEuQHS5z&~V-lr{TN-rG6$(HNXqkCfy z(y;vv6WGr`8W%BA5QfOw3_#Wqkdn02A8%4@wL#eLuDqLGBg)3oQRC0CVx#pw`~>ypX-R(}(4qmfg4 zoUufx$&q3StfeQh6s$(|;8FcHZjnAq@13L{9uRJJi`r8Kx!?7lrL=tRszK<#3nraL z4OUzJU89g2@A8qK{X#p3_Yvw{p+;Q2q=i3%;-E{B7p7-lg&2UbPp)pepifW93QxT` z&_S=wX55%LCY=-PPD`QGz6x5&K>hU1+c&w!Om}+j8dis$K&Js+32Wp+O(OJ28xhrT z8-)o-AnY>CArH_SAWd3TnZ708Z4D;Rt0P*33x7`m}c!4KJrtf{` zp$z^5_a8Wq=D*Q4SuZ&)M^xw4-0*@N5@mLDd-nl=%5~Z$owoODi*>jsD z5&P8Kb33Vh@yhd^uT5sEHXaKQzQ?=pWNO*uKXL)>QI2HUsgFum#WdJ_lEqVX5`LL< z_fy#LnMOiY*Omcaix^+e?c(ucAoAUUAESC{2Hoo}^_vIkeOdaK)wbUkXQ>)3usBV% z*F=Qc4=6No%vXIwyt@_5 zf|MABx5*5Cr|x;XE9;-gc`$$qD|ik~kSsI-b4~(?AdXCxVl;3l2@?haQ0?;`rDcR# zSdvGBRucrA!KRUBE(C4I6ZBe&*GHF()ju^EbuQ*rfXyF&kVi&sAi@E6vHqvSA#U=& zNy+7VQgTa?NkjNf47Gam6qQ$bi+$%|XuYqq7`>UimpTl#H{QuQr-|CIy_+@oSlPaf zAy_+up%yd>&H_&lTU%zw2q7G!Qv%0ExO~H?fx#w`IA_W5iae5;xHIBeu6__qiyR|{E+Q1%JG1cph+}F7e_3wOWLB5Q zHNmGJsLVLmHaI87q;wQAN%4ewowh|<*{|C(>J5S5Opty>sXPCWOryl31)?e4mT_f= zBv`RjmHq;r1KFE%7-C=&sa$c7Oo2<;=!pF=yWSS<6yo%jl~g1MrDOnLFd8g@zQ=hO z01aL|==xpIq++X6{XjN0;D11d<&BtI?sFD^;6(xY*UylG4Z1>X|K3EuzAH`E6io8J3BzZUbMzQ zMr~9b8*X-?oA}H07e2oT%`J~tw`Gm{rzR1K)$aCm#;D3aZYD8cx=V*(uM>#|wGB$c z*)xuFLU?B!_eyke>3>#f?h$k13&iJ&%YOPro`!$MDT_Ae{akRt`o z_SzEuaiVW#JS##V|6H;BO9^_CrB5RL&Mds}osG1im#pDY>6VHL#b0E31;FT%hwNst z)~bO3bLD1MP%tB0I%vF=o(C?Av;xm|9W4z6g2e@?(VbwV;Zzk>zQ89ID`7H$+dnQI zAf(ZPPf@|qA@Jh&AH_fFG5^?oJ^q~un+;QD`i0B1NN)h3cfl?Xw?^I%q-g>4Q)G?P zO@3UMT#%v=E_-h__)w0>Okr{)QqVTw-;`RywAs_>!M=dudvutRP~zCs*sn!70&WZW zTPE!*o%M$#BBp!EB6nWxL=rZ%{Zrv{k<>hX3LO9P^bHFG!tNo^xZl?DLw6Hk0$2>8 zmxT-5TwA5aEBg6=o!{Q<)I{&94gz#c>exKYHZfgjY1lMKGSRu#C!K4;dOTNRnfk0? z+nzXjizJE(8#6_`N$$2Eaa>k*Wn#QcOzE-gFF+8jGs_~>0eeBZ zaJ1nMrVyHj7Gh+`kOz)+le6@&JG@ytzG6{@4ZMsu*lPP$rUAL16h5Li|0zs*TFV7t zupAQP@O+Arac(>leHLI>@raR3adR9icm{xKgV|2sKzZ%A9@sA=stXP`VKgjCLUS(e4DH|Iq#9y%+4JmXmv zhBdGv|3(IHk>$62ZaS{MW+0TlG2^#TExBrA*?HTv(*$vz#y07fHc%ZzQc9qmH(QQi0&xqilm<1w7R_D>ed|f zV!HOO-oYF0l^yV_<2a@L*skw-p4iIDP(zk>JnM%W!}?K5hJ#7uK+^!z6NMJ`+oT?u zzaJH_?vr7oYSQ(ML z8GKAgK&5NgG<;9brR!foAq}ZoO=^c{Q5=oLn?`+IhYW4fT-*emrUM2Cw=7aWbaQnM z*6IR_;jFzdO=ivk6c>p0zj=hg+aum|zSQN}U1mw$?TPBfK$i3j<%M~3QdZUOtCZ@m zu6+W|(SD9Q+q2a{P@OIyzF8vlyJDK4~9V{B-A$uSM#I$Vj_#L*Hls(pZ%xK zih^2z`U|u*A3b9EMU8nR3ghFajDGnHHX!YqeL1(`y7i7BF_ETGhb`QiQfqi!m(j$j zOw4FElWw2Odt_|ScGkB~3J~pK8IW*GWd(xS?j6AI8z=?cSIkUsLtMs7px)_ZS)OWn zPz;fl_RGKJk*TG-Pd*&*4lKb0r72~VTd#>iTq(IK#UsA#KTfN2FCKCqS5}|(U1 z<@#o*v4>M0Wzvt;g7#W)xj~O+ZYvKs&?FFZ> zOb(0eVdoW%lFjgE8!^KUWRR7f-Do%~i(~+6kG|1p;l)am1K4|)TCCx}JP%7*;y#+K z{d(cNCqOe_p`8(9ir@H6LQLLqbJM&Vr+p-;u_R^ovTY)dKNo^964lR{^)~dlRU%bv zwi-YZ&|nRz>-K5yF5C-f`*&ePv8Qy6V!1}?Xhz$LzCCF2NrC0G6Y&A2Hz%D|(p4VN zyHgX5wF~IKpOa5LgxVYOO!s)1cUSJtkPjGiy1yIskkxk)P!cO*=yc1W6+5Ju`V%2+ zOLRGf=&KA8+oC6!wA>Go5!<|JV`;7*?{bCXjgj)Q71#1)66vXQoK~Nt*4VVOZa&;U zD;pzPnQWD@HaCO6?nvH%%Mz9 zfGSstJT`+-5!ou`IjC1*WmoxIP`W*CT8j92cDk5sR2Tf*kIe&P9LEV@ft1(Ve>n;n z+rHtY8is}-hq03OuV$gHx>vFqJ9?_-)}zbBT8gW%}h~N zEqsciA(VXbCZ{^iwf?3B5{65*Q5&Am4Z!T!hlbZAOEeQ3<V;U84p zL)TAJxV(#$?4L3X1r*9Mvv--1H0*6SeaoX#P>4nDY^Pn_Ms)PnmrLidA2_i`n&xk> zPrPBv?-ii-w^xlNw(PpWy1bGzm1*cuk6GDv>5`QN&Dq`w+JcK)Bb|gC-yQM;`@CQm z7trPONn6A z)6_u1cFqz`=|jrX?=}g@Tp_Pc03gOPlb#?fT~SrrIiM^|(nKgD^zKLP9LRTp_J=qC zcbk~E>A#`%eN1Z|__e?^>aDisD~QXE*2-L|3()Q4cWBh;Qe@(~bxKVN~tc*0dChCfZg9x{rfWBdEy_SefJ)qu&LDJ2g8bfZX~k+`u8^ z^O@F|5Jv4E*;&hKN?DyPgZ*=Y7ZnW0XC)aw&9P;R{zZ%U`Rib7cdYm5x5# z9I<`nmADyd&ToXew1L`TZQK5!%6=i5dM&{Ji7ltfMiAug@jLP;Yb*SIieQIpNpm z^Qsd;bUu`1`8)cfs6Z~hqOR4dVFvBE{>Q{}Or9kjR{QCzUg|Q1i2B)S!@E=5zL%Db zdCl2o<~j#5rg@Fe4&~{&@BB1bN1Dio1tZE(P}dqD)*vIyk%IK4e2%+a+9P_O$Zi{M!rM41jVhK8b^g{&isAM zH&#BioR>bL4EP?Fu7Cpy#|2aE0vn3zr&)(nLfmfrzHYe$d`6&|h>bnbh#N5+F%IsB zZGlCGk$q9oliU1JN_f#t%0&zyr3qX^`f5SXIP^5;MUGT>gC2!}Xo2QckptYjgY;gV zdc21_eMg3-)T~H-#slKZ$YexlB zagb7#-Km@E$x*7}P)E|PW3E~cuOHDbv7||+L!%B=0$Eq$?v^#u%xf?1i4(g*5YXtQ z2kft-SL_-|lb1&bKXZ9a@aaI?hL+01fdtw#GV+;DJ5QlqEhwBt1HVh+2vwxWt)(5vEa5yl9hliuUz5eP5|&sWMz{1VMtRF))nwd zeAi^U*ADX#`rYIs7!&Z?&hHgPQiAKia9w7FKG6HKs;VmM6iBugF7B&H{jh2Wm(R>x z$)knRjvepE<(f8=hf91&y>jJnw_oblRY*m>Pc@nmSF$kW)j~-aos49#IQ{)_pw%Z& zGvBHp?TMLLuIoegA>+@DkMG|n6=!B4XT-O3t0kzU2)uR93A$Py%QA&ipLhB7KD<+> zCPjFSyfzoV^07f=DMEv!U~qIJy}36WJ0pt|BK~cOO~fh9ERTtQ6MJ+fgFS#G&TNq) z{n}OyFIoSiCjJ7wo-I{LNK!gQ=s+vYuiQBeFuf@8BjxTs0;o z2mCM9uDjp5N5rK#5;|&56s-W;WsNLOsoowWWNPXEFENe#-vHt2JwPbme5oLM%T-r+ zGkuGEj}gM&7eVshl_TkI&dRE9U!mFIlzW|5fZwI&SWy5WK;YN+d%!_=7CPT75{!mP zHD&49=oQ)Bj5I050Y=!j0okRyw4Y5LzjC?1^lS-m&hJjB>L=?F`#o(V>O3<98hN-_ zm=xA#j;{%L$U1Y)BzTR4Zl(!Cq%i;0Gc7c>#>pNZDf(YH7@iHvPAjEimR(#P80d`? z9-LOWLdM6>@E}Dp@yb1O-#2yZ#WAKT3Zm>Hl?_ki$iwwp;YW{S-eu@Ub)|#;JWAFr zxmCHv_;o939`ql#Xbq~1Wtf_@zY5=XW|+y%3+3AV+SF#_WAcC!C|+;Y^^;WRsR%Kt z8^)ph3Q?ODZe2>D3YMWqC@=+3(pG{>atmv`@M^I`f4GGeq1g;33+h2uj!8DNVxGbs0D|G*HS;?DKZCZdWH*@0@TJXh53QuR342>=}vBK6ffmCd);9N-!89*_3!5o z{UGyx=)%XdKT(!H|57tKN-~{N5K0p?s!GyWMuIOqt3K&DP)^f0s$8DD8EkB}8~2KS zJFY!Q5DG9<6KTIZS2Pc&keI`BXjb2emxe`An2$;bF~tIxAnX~8Jj-|?^=Qc94uE%= zTcrvqgZBewoIle-jY!L{Tz5_bES;QsC_L4IEFl%h9qE8btit|y+=v9q0ePSscaoHa zq1)b0@5*go@KZG(J5i1d0I*2}Xy^Sz1M?fuAJkpnPPg+Z$||+?a&80V09>=FIt~%}4jaFE4*j2TG`Kg|n`+xy0t6X2V zLuwrjoLz{rTW4j?*PT2al4&q@Fp-U^FfN)1$C!)q4_ zgDq>iHjim+#9ON=?xKvsQzBEI*s_ZCj&%WS+7+2T zPuMC9GFIT{O@CFLaDwkWF!VfUWS$ugCI!B;S@xd~@9~pp|v{JP3kAr2Ji|T2&D*i%7i(6pyiFkFk_7$39((fLQLl zpx%v4cMw>JSHr+{D^PU}&~rwJ0zL`q0N%Sgh_J6AU`YLnJvZzS94zwpOuxURiCpao z9n;wG1^EKA`gocwpFvgF-zd~NW@tL|p=D0IR?5Yv{Ezr-57poD<@H=+G{5euWcr@w zb%UJ0aPZ|@E4`U7KfJxUHM1pNdb&#-K8}pKvkKqEU0Bb*b3g(IrZmLj5lO2(DQiJr zE|ZRJtMnT3IJ9(g8-%OnhFLsqj}>)ph2kslZ0?BTGLbGKQXnj@7CgmeFgimF%9AvJ z!x*X1OuGxf1v-lIDu#|}ltE!=Dd?{xW0(;xq0MkDqNNr+TC$@wHBy)alC)j{ka@5r zjhay?CEX0vZ)brUmSH80YX%GVVf4H1O?skuOxTDxu6~>TaX?(^!qzWtzW%71<0dsG z(J#j)qQkWr_mE;Ep%AWcUxBK?L z0!jR+lpcb-ioh_qV5h7`7?apiG`Q;!*ud|Gv+VTmi7H#w=r>ik3@}|2FjF)u7fGLSGkHUI^vvi}t^$?p!9x6|uVV zB3(X%)ZEi;w(Rb64TF7@X@jBA#LQBL5Q85QW8I1b#~YrUph;NMEMKS9)#wItC6*

(0EicZ5u?y52Y2CtLzSPbG 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

%Y?7?Z6cZH9jhM6QG7kdy>?@38zNliYY3% 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 UMkA6PS~KEyX9|Gnhn}Wa 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

oO5vG-Q)Jdi5p?dg#Fmd-d?O|wz- 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 z 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

rlr8??hy;XR|4{cI2EKK7eN5RdkTatuB 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 C8z%g37*a1nYHjXMK2#+wqB``e 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 z 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°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%0A7?jG#SXmMKS2T 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 bGyK_`^$G`nuv* zgVv+M|9)Q%3S||3e4+HQgpRTszp;`IbFRzWt--)<$IY1&@^PYDN7|^~#eZ_HZj|eM&M1unl6@I=#^JF~+OAex80uH6 zQ5wn52*_nVc|N^=G(UGr0@MEo>ER=5LY_tp3-tBwChGSuo5=!AK5>yz-CkZGy7cF$ zLOY0TerE~&v-#an7JF-Hl)|ok3U1$;?}(gi z7FSM0(J}JPe*n8$6~QO(q*5i9?!WT8ga+u0Z@sz1vsqC+I{Gx3b#I|2sB`g}&gwT` zenvBOCm!`LSLr;aB7ZmvZ>O0GE3JL-d8hjOX$*}G^IPcyV}Uq6+RJB^TAm!fzO|<1 z*{J!st*I2BRP(L==8}mzio@!N|KYUwLnaFyAH2qV%ZSXp~5eLBeg&$@`%?VTv z2es3|F2*OWaSm!Qq)xePXb=j=S~_5yV99uJHu40(^Zwvd|DULanXS(|K)Dn1@5lIb ziaDPGU>-f|u+#-q_KvzGLKGV}VQ-MM_`ri9T>}~RH_yUWk|j=K(>mbyVwRC=j*Wu5 zlEUVg+1#+d_`SgEIjR)n8vZJCt@XA$Ob4>4A|kcjPelvFNr?#AC}M5F6l z?=7oYc6VDGs@v7vua&NK`mgr{SUoBFDeqp;xbrS7WoEl^F1P=FHzls#;GTNF+d2?6 z3PXVDwXLmyy{=H>fXWKL`I!s<@eIaB?H5mFW^JFke2d7xuIlpj)muv$*3sd8fj$Pt zTEvmV+3LBWz)#|F*g#YAqu1#fmKLy?s!>QQoO{47a|f-nBGY`MO>fBHn{tQ1gI14Q z&bP*MQ@<|kTgCWqmjCZ3CM@ur%uEx0KA>gH$FuDl6WNV%H$}b-3CnP(lhxYOkV;e{?i=z{5|Y|$R<*beODU~&%X!PPXIR9T zdBCxKF>cP~zI=1-?GF)U3zx`|?Pt#@ekb0I&5Cbs{1T+Dlc!qG?RvcQOeTeEAO#_D zeJ1?2j7*!Zfq{8z>?!~cgFo;F$F5E^@2UX8RT-ne*D6V?xnaAns&|HIZfm`;2X0mU zVrNisAt~nbHyeE`&PBF`%Y~oriogHSf#g8^S|1Rc`{~bDgUy*9Wo^T}QVWfGwW?1C z@wc%j0Oy%R<0Oa^yxjOTG9u^=q~rk+kfBmbn!Gm0{yXv*X`2V8OAyOboW0 zD4^n^_Q-K*H0B8{)DA&n0CS1|Qt?dhG*ZM-Oz%v%h35BJk;p1)K%o9)qm4lo{bq9& z$!orNLPO=L*NKlUQS#WQclTl504l!Ojph8jenEjyg1-_F>u$BiNQ>C`=C8Rd?h+~+ z6?YcNOz3(pe#>$c)!9Zhy>6XiI@qRKng1Wt>yy+Rt7+!=h`lF!f((BywyW7qZq3ys z#Z!9KC(sY^jt^Q=1`CwC>>e?-`@b;HyIv&Q7fK{|-KjL#jbI8(Vz}UX4a@g-ylOzD z?DHBwR@8&uqc@y7V#S=?C9(i}{JVLy{eSnI4Sc^pa>?A!8tph~sStj-@`(}G*}spme`s(QQ5_m>O$I4v-10GY;Pt~>nV&nt0_m=-KAbN14ZiS2 z#BR{;sau#dY0Q)?Xi}YEx>mfHHzh$L%@~yBUM>zq+T{c!j0l8MaHeqWW<2$G+;XtK zh&UXi0G}T|z^!vXzFqkJcDsMWZzcYT!Lf=KJy+;vn+e*S0tVG!75k^$LQ#GRAhaTW{Ka{Z_0TbhL zLRGSB=lwi0sl<8>rt-j;!Mc+_NlU;hZD)BC`kE1*^=p!I79R%F} zbs}V6&XXRM>~@EdXq;tSm@eNtrbj}w2KGKHeqMVu@4IH_JRR@RL^;iHYw-}f$3YkE_6p&;Eugw~{ zH{~ylI<w< z3WU&clou!Xar+jYzMnPU@Eh;z^{)~8z+OkN_5(%6LHWpU5taAZs>OS(3v2l1;2@^b z^m8SxL@unGFH_Z})O4vRRtk^v{~zLU?|%ynbZ`|jaz%M^-PF+{XF^oRL%4n9G1=yS zHjx-YT@l^SR(HbJ`Nvd$-wF*e5ZF6RX!2^{Cn63eOa*Iwb*u)QdFJ2Wf20vG?yNL+ z5Hu=!nslRP0_vcxFCB=A@sMdQ+BjXlWu8~pzzT*R9@8JFOT=_PYSgHln^p|+f7W&O zD&H%HcG=@!HbX9*Vn@M76hEq-(-f67{(kfQPw4UIF3m43>PAm5I=1H;5FTKkU9C%? z5yv=?sBx&*e&xFwb?-`z3qQU+`aWKj64^DF6)WFQ;2I_tP4D+-Bw0J%s~7mh{%v!X z(S;Mel^G0}t`!*ii(2p~YYbb^ck@)$>0cCENkszVGEL>&TVAqtuY?8hPZ!*?yI-GY zsS(qlo5@v&vIxA5xeGThq^SF;U2oL0_6z!@JNhSa7HR6mOD_iA)r2FU3pKZVDQCe~)8T=v=G@4u?G{FPc1I*1CptZPMX zO*3ldL93L?;IOshTVOAWtI9+C-_jLu;1RyP>07$ldWHi4^F*p1G_LcG?#b@v^2D&; zD>3b`cks|#;5g}ynsv{a|JqHas?N;SX!!jI z$*(|Um!<}vze_rp!E^Yw(9RTFNP4G;W3p?aHlp0JCGV71sF{ti!W0xn<0oEo3PIpkWNgwlvpXXYcRv+GQVGX#rz1v*(N(XFl(}VZe+c`VYatbZY9D{j z>S6qZL1NqBRb3TvpVaAtNb__=5jThRLuA$q=9pk603!5z@is95_y3L?7L03swmb3o zZs>VDH3iVBXEWt3cMA3jVe2k@lRCb-{ENTC5 z(S&p6bc;U@Fynz4LgrAuH2AQH7RMy?CtYq=kvKcnn&AEAwHR3%PrWUngT+*Cw0VCM zDD~czH0Zco=I}Sj`gru zu>L3g(^?f6Z#^b{C9#>2xGz%swoLJx#oJP(JOE`m0Kw*N5g+2}z5{H!rp zGXaExpnv!QKyRpy06$o@nCmEynsA!1IKxl(u$O8B%U$0ow&oU{ts!q0+V*3O%mo~3 zle&%ynA<)b5Mv!=u?h#xCCbyw`7Mcy@?amWoK`Jv*K8t_qo_V}()-#FJ%~d9 zhRSFOw9dGK_n@$oiV~bY5q5`t>h}!N9@!-_1{=HPK@gbm(O%d~uAMa3`9AV_#?yXZ ze@`(UFr6FT*dt2~1pW;4L7i|tn(jgz@p?t(PKt9!UQ$=*#O)YLf=;f(Z=!fsAQ`8o zv@63V`FDbx@GrZ}5PFdpRG0=~5x&}Ra#mg<$Wq^V42Kry(aWU)FUSr2cUedXl8ayW zSVbSJ&5Dx+?4wJ!vfe~UB5Ichziq23p}|s!Z!JE)@7~%Jl&FaQ79wCqL*Sq(n_Bu= z%@5`F)D7W>SQwe$lx#CY{)PzLW-+lqz>fB~Y~ZCBfwB7n0#OtlI-scL^(FtD@esH0 zjyuQx4+6~McIW_M>-&egb22t-q8z&Po&bqOfCLo1&Y^S0f9dRq^+km!CYs~V@06#D z@P}KWe@2e?8U;u*qerT)$EXKNp0(9Ps&|#YN9ac8SL?hNA2qqf4QQ*A8kRlTW4}Gi zCi1-4ET%CWByril>lk|_<7{Bba)seLJFQ6eS4+WgtT0*tB56e zzKwyGuC@6Ds<+0rNv!R5fvM<+>kl0e`}A*LXw>c|7*sKW|Ix3(ccsK_+n!+ftXOw~ zWjVEmx(C9K&MMm-GZLrz9fK4rf-3-lO>2K@BfWjcyz$ZC!(y>-6j<*^XV=e27J1SV zSj3NQ>Yuk}3Fq2=lHZTB^cue#`g+c5P3%uAs}FnCJ9rOZoz}-}r!tT92MK1B#T0_e zlQy&_IRkEvWqeSGN#;~$NnPX%U+M zSR5^;f}QydLj(frNa9X+qwx#Dg&2Lykcz{+wmU;}ZK?4<=xX?xgi+6%-Io(DJi52+ z3=MP-X=3V(xG=J$o@*M#K-j$oFt!4ootfDb%Nqwifv;UDEW9F4{XE$zzR!cW4Hsxh z<4f7TA2PN|W9$&AYCn=$pdf_L0AI*VnR_ zTrM7^geJNtBXOB2g?6IDztUzO)ouC3{zW{DJ^Yi+K%2%!4h%yP8XM(}#>Um*q)yBU zq?63l`Uz;8X3WMykj60eGeE#yPPi$dwBM3007&JmLGL&|g!=w_L0w&l4h=h@aI66y zx#`jN3=hY0{XQlB6MQCgP;P$nguw%~8Z4#2$G#LLBjISlUDxI+S_2`i25YYLeVAuf zKG(ocqbz@B^c5P`%Rj~{%AKPXqkf2S4_B0*zdGkdu5|tJv)Zf);(~{DR7D zSGR(Suw~4!mxB{K{8{WA8zf}2UZYp`SmAhZ+T2J*Eh9ycaRc^E+c!QrJc zVPG(1daGb1@{dG5oU%QqT8O$bl(_a7p#_e1-x)!ir%)K>;V}}57DgZd9H36i z(Lp25S|k|1N2bC)pd76uL--rQ!e*58Z*Am6I?*Eu6oOv1ez4w(y;OC49Rp8eaaAb{ zHch~yuZR~mEg+jvvD!Ugl~h9j2^CU7KP zF=p+Yqm3Nux&*WFx8gWeku}Anj@FhC2f_gZvNNy*q#b*?nKON_Q-34(H5qowH z@+{*0KVTP0?GjF9cfdBI6XRr_N^m(T4NZ&aEk7*e9aQ?Jtggi%+nJYP+~j3l?c%ap zxYeB|3~-P7^Z)czTx%gn+*}VH9by2#C!V7@!2Hf=2XSP$2@Pf46~`r*Wc9Cy3WXzu zJNs4pKqrJjbQaS2AjaX1X~pm5F5XYkL;(9E==3J>!lp&P^Q{tvdTw>}PGF_X^5 zhK7Wra5M#P0u&e@a-!HD0u1~^ZysuIp0*7=$yLjobc;aMg{L!|BYr#g2^&3A=_a=n z8CV>&K!;D`pqwP5#K()w6*v9v0*iqCzC1?9@kvRXsl6}}sI%JGh*Hr1pD-h&aXRRQwupUewE-Yj6;0JK{@_%AG$IUM*! zjX`cfy9@-bnN*o<(E@o9tRi_};{-^09;6I!b}7J>wHOYQAswZzs^1y-26%c1e*+kb za56N_KAbg6TT3bW(a%2@PTXME?`x}XMupU1Y86Tg$5s6Zas`*MH|zE$vk-~ z;+-_f%0=_pPSN^Wyg*)VNMG@YT&?$DO%mH)9w!q~puI!mx;Mu&vh^~<@dLLgN*vuj zAE;E^$~zVEf>D7XU#EPB_=T$!v{ITB11*B-dhweu0Iucb?wTD6-SSlwS~Paf&ItaV zJ?1bRYFW_TY2EH%JNBdDw(?rgtr*iU)^k6YecXQxkkp&A1Yhe`$nP*wgDhly>$4sO zB*V`ifH1Naz>O{)dhFpt^fCb#)wU+-NgPx-rLKKPn5_Uiolz6LS#^|y($M(_(OF1M>DTC|tmT7N#wW9}*P3;$_AmC#ioL9)n^ z-0l~#Co=2!OAy_eoFUgYcq@uAt}KM|e2E?UGsJ6Em>yk@GF=EtJ{+_20zS`7n#jL) zJrMTK=tGMNcVh2dWPEqKOzVZwc!fbtQr0ox?BH>!{ic4vgk!4f@H$Vzs4JxW++fma zU7Yxkx);yJgfVlV71{fOls^@8;Kgk))77Tl-iofT-JCZ(kVRHDJa3 zNn*Z+L-MlERQal(eq*kh#nh@tu4Bh=M^a*3mVbZbtB6TDg#hQ+K28Ta&vmgku3!la6T_|cCAy;jGMDfH#Ai9i}F_J08kgwX%3FVMpu{XuKk6@IcR zSrHZ$?8){Tm((@X)GuDWbb}m2c7q#BJjj7n#PbjDV=kgz)IY;0+^^#_!3|5XJ~L%h zLiiNA7Z+9j854NVuwNmB-D(EA1L5B(?n9=;`FGi-NUh?gKt=+K3x^^G_INN%=EwfW zEX_0P9t#rU+GZ{11D?C)2M4hvGGBad^=Zs?Wx07=^&si3DmtUQGWIFEThlWYO39DP z7Diwl`7^kCwm)qFUFaKCaFZ zniQ#G>)MhI)T+A^^UQbAgsaILW&=!4DX&*SzMPfzr5v>8?ttoXO+F8>@rG;=`E(@t z2>eNyr#wmyUe7IX5`PyYGyG!@W$MSA+!%HuOPv@=+zVZ+e0B3@i=}AlN%GmJVE-Ox z#>f|{UmizZ-&sK^Ee5~)_o+^cvdykg-fqr0(BvnWqpFoD~e(k`NQ zE!|c}LY{mBEn{iftP+ayIWgpxc(pjyxD(ZC?E~(T4~%onLz9vk0mcHxos!*N!+uX`__>Zf3Iw{KYqyAJQQ-jxzoPWw$e)Nnjbd~(bYIM(t_|l;YEuS5H zm9#Ogip8mbdSVE|!HNn)5JJ7)TCnKL0Ig?IO8n|f0+CPuGY0d|-Q|`@83`#@u4qA{ zG2}}Ef&sKkquQpcxB6uD{`-&u;SaMVcHqXrIqdnT8JwM-8zo+t|hPjdN<@Iun zFG5*AtIlUjrUwPKc2`P#-x*)xLzwvfoH=~ zR#m|@HO5RXf?5r9(u4YSRLAqdY#6w%L&L-gTx16G0AUA4>G-Gk(_SHKB1L~1b~Hp3 zMMZv2Mx@VpQH<7=;h%p{SM`XiFq2g98u>U*Z}OI^L-SxQBN3&Nb-S`|v*2XH2_t)^oQwj6ka}R_#uCp}d2X2MF z5@8m>(s20|Gz%-J)hI1E`(XTqrzcghgbh2DYopw7Q=;_5z9UjVu z2}z#Pzj>$pH}=O$*WqNYz54DQPv@?A&sn_tnMn^keqH0*VT-O?%h{>ttjC{(KwIUP z`YzR2Z3%K406B70ob|W6GMpKM>Q>V}<3BZ`#FjF?Ro$Y2xh;;R4}_sjLEsiKPs0A3 z=L9dXP`89!lfh!@Q|afRF&g|8jeytT)z$Xyvew})Ljxz=TlZQYGQX{-2M;XX!}xc1 z>a7IVMAPCT$n4Shz5mz#l7<4nP%)sGsdj17ALsCVpiULmpwzun*w9fg9JPLOw!K|M z69&TfjMOF8PTii>9N^I0daQ!@-PnbjVTw@A6MwP-WE&0_s~AjXspcs`g_>GlvO+DC z4M$H>wld*pdXa+I6Hs__S4%^S$H%$<*nUT0#Bz1FZD}{{k4o+tm#N+xAzyJ}<<%VZ z{@omDkSDw`G=+j&oH9rvus@#W-7q3YU?foJ67|8hYv7Sue333-ntX-?)r-R&j_-@A z;+o5(0iH5~Qzng(;nO{s5H)J;j(WdHS?}KQbZ(hQQ!A>7wsb4h@(-VMR!8J~DOIT* zbSv2TQw}o285Lh?ai(W3%T=zV+MgW_YM5vy(tOn>D{a0^NM0bX9#oVg@JttgA@O+C z%F?*8|DWIgdgWXi*sHIPc>IwuL%`3@6-kjV6)*&s0ANE#)Bh`fMe!Egr#Qh3nWSM5 z{Mb652E=Zo9-|CgvT-&t&>^+m{`mS^ zbI?&wy#FOyQlU|Ag0au`OHZI_=j~)uw+B@_Xe6m_I-{NxN3`wJs^zhE6`V4BXBCi}Asv?IN%Nq{T z%)wp4m;3@KI_h+lF=#hNs939h{+^-h2d`!SoYKG;A=cjgZsn>|u}dAV@@gw@t`dpI zz45Zd_>gD0CPB!{-o8HK<$Qeu>aUtzTv5U>eRT? z4}vcjMP;D<@Is0gT3af8UF5~!!^wk{b?Y5-e+)BCgv zNBs(c{&baSfybFXxW+Q_)wU&{RaT>ki5?CLDp{iFSZU#Z*x^vXyZ&~?RwpHhx0NbS zV@%A9?(FzyrK+Xe1%CYT?O~%5@70!{p&)gxSf?zO8rOjUvai*)et)@3?l<3&?e_X$?@dKr0{LX{=n)H?=!68b#p3;g z9!r@B+`nLf*@p^FdBvhAsZDP|L4boPMJmq5jL7isTH+J~7Cw*1ilL~_B1)9#{f&UW zlC=oDs#U&AT$&xCW_>W=79yxc?u=Zh_GP{+&9Xc853XyRy@u>AzdK=XGM+o)L=M$O z5$W=`s<*rx{sd7<5WDYF$s!d#b6@_taV~_>aj8>q7|+QJzK*f4FinU5c8m;hwdBe- zW8n82>C?^)7u!BK*R;EmM8$#4xO({FBr7xRI08u@ek|sg)4<1EQJv`eYcIaA?|5c= z);47sVGJ;Hl`n;&Z66O;r+)Q2g9JMcV}S=n2qWB0g2=^j8IK+xgsmrz-Dh;2A4h<7+mpEI1(^=O%vdge zHKbL0hlpxKx`0IPU$sK_iv#nXeg**ZQL!dz$R&8)C1-`4&=0pq;@er8MZO;WfXgk& zUsixmxFA&A$r=Q}rKUCozdqg@zs#x&-vmZd)*gs|mo*zK0>i4G{vnY_+I%(m2hti_ z2+HN$0)RI{Se(;`1S4{4XXa8b;krcMUgt}Fl+F3#3B~AM(iw%uG#A&bf$Hxj1i#wn z;W|uUTR~A~T--Ga+h-U^W?N1^#RuY|j$R?L@%5=J6XJ1`5=aEIk%C)t=E17P@P1YQ z{jy+{ZPNQ)gXlX$9jqhvu1DsS{l7@BD=rXO$NYOJPjjf#u&Q81{2O;hXOB#{tqh8l zQqdTc={)u8m+m4CuMlfQ4F6H}qqI_;leRAf+$lkfguTG6=HeI$E*TnZ!4a`+S#>&< zN{IreN<8t4=Pts6pItqH7|6Y@_=MIx@P4V%q*~`U#QehbY@b7m?Z8ogghd^-w58iO z86)*-QU?$lwKZ6(`Anw~>-PD604Z$)=3C>yVpa6*&X|%mtEK!nE0EIMXuCA_i=7iB zJ4orr>)VL|9E0#Mq%*yT;s*rWHbWZ%r`l2d8+8J(>OQMkxHf zsXpjEsr2z6^JA$5wO}<&ul_wMIWr-umsIvfus(uP^*`3L@163x-{5JGS86NAYzo%h z-wh>n^z*MWuP^8$-SaB}>A&OSqNFRQlWV+(akS^w$+|fP0*L%VQ%v6}nl7)d2??io zF%0Oob6Sxrd>ZUjTaQb=TCC)4YB%~O%dd6h{e9EQ@^?y$o8;n@hW-(=5EX?VJPGmC z7@bChgRURi3J z(pcctzvhhJPcF@3}8*(Y>2I_zV6ZqW9i@6$-x|VsdtYlxt{)+A#~g{ zF>jx%=m`9>vHliQl}I55M|~;V&E&CIeEtemc=*tBj>vLKBMLpy4#PepDcRV4$ zrK+@OKiF9G(f5r82FtTbP0uHXQmQ2Iq_l4pdYB$Y&eswu=aKqYOffgZNdK>?!kIp4 zUzyeQnuMi+2cvtslA_0X>;;%O4Fgs>$JGP4!yn0vKHsJ% zY|@|3&heg;7w4$};qyp4#XW@8b+FNida;~LGL6r-AO)51XX6xoJqJMNQFsCqk8=OI zgu4$+`B0tl0ml1<;uDr6eK<%@R>F+2UJ{VC;*D|3@mYr-Xmi;Uso@6^ZVpZ#;dsW78a;g{#^d zOEN{^LNw*bhoAn%()ihT6q3!9D=Bn9HUu%SB`ZxZCaqCsiWffo$_w=BW{(0dBQ~j= zt4{qZCj)HfaRzk2`2&PA|Bk+WLqo2T2KW-H1>-1zW5xj}sfUL+KpK2z#pw8iJyE7s z_>X8CC(o^g`X=Gi^m*F_9gdZX^Q~UoZC9 zvF>_xnM)=mFM%+9H>g+Kr)iP`5X{vdS;=%~m5~kLwg^U?=HlFOif-tGbwVc%usdM8 zxw;|_en?aTYG?l$XK2~*@lwv27mSOrf>gT~RG+Xg(4mIpdq5t^DhI=x^N>QIheLu* z55h>DU^fd-OF;agP0zKBYWy$$bYAKo@fde;(GwI#*>A6<7r!#!ypr8pUTfS{E~g)! zHQH5P2|=G>Lt+VdZCk8#_r z`fxz<;db%ZGs*jMD_@y>v^$&@5*Qw$`>U;?&VNnjm54MKj#*kgAR38z8E$?$SuORo zS7-A=Y4NLTa?JC}nXkSz%AU}fnM3F<-CquRXW6doju=bf`#MvsC~RB92t=Tr}6aZs3*kp zTT7g=o;jXM{ooBCfW7OOLcx_b3!HKFIb6NIZ|eZBGrT<|_rT~ZJ zXlfiaWHmJc7{Q9|9}&=p(*C0chigyp5L{DWr|QVTVFU7)4MHd)K!5-*RgWw^L+{jt z+l?VH<`s_w$H>m6Gm#AgVyq4LwTiinU4c@5F#%Eql}F+G!RHs5um|e{8qgyQfck|79jG9^Io_d?-hlpdI6HHNHGX zJdGgzM~Jowm1LkorE4N`9;#mW?S;IQXIhyfUMpY`vvN|!(=dxzE%azHg@=26_m1eR z<3^l=a;|pz^Enm7x(r%4U8;?V%07Y;mE)!ASytpbnU}JCIGx*Po$l4@D%0tN5-$X?zxRe?c4^_LkjD^WTp0F32vut0<2gL#fkR(DsN(>k5t3gJvv42 zn<7;ot!D)FZJGP!nX}KUeF+HWyRWzqtWKY!KlTd5oY7)=Y#R@9!fvSwhHFg+oly{N zAP+F*x9zpVkTyo{itf)IiuU~vd1>QR@^p!nZ}s|4w~=>&`5ERbs7u+1BlZDWfu~O{ zI1vXIr?I!wm?Z$^4bZWlE2u#Sw)RP&M6oZsf4c92)6qPTkd^ofh`2CZ*5`Tr~6q&wO`tOJ9 zCQoLTuBwarNhT6lJmQYO_z|02Hn6%2vU3|EHu&kvn9h{$S+=pmZ{fRfCSd(IGq?w( zyb_KmNI5_IwtJHp&Ch>e+jcIMyN>}4t_di-NindPV8@mmdPf%{@0w2@ z=mnFX(=gHE3X0z-u;Y}PNpo9jOB4*fOm|9WtIR?sh(rs$&O40~wo4>?J*G$f+~OW^ z6Zd^FS?~*XFC?qB74-DrbQ`Faia;={X2O@9VgPT)@Z&-#X!&T3U@!Q1F%*HLXsX6p zf{I5}pc7WiAGC8QQ6)EP{z9LW+V(Pf_4n>6&MZ5gjLxXNKkB6|Z*IpNNIDU|Twg2r zvBp%=m3%a?2J!<(#~|VBDtQ_?Kh>DK^^l3&nZU^D_vG}n6Ly}bE;0Ms6%4?AZ@K>M zbG`RR=T}c_W-JvXl}uLFQr`SFmDf&pCO%kBR*^Md`w5|4#}6iJG;P#Jnqtggbwk8#n#4OA@$7; zWlned(?9*)c(Rv8%J5RSNpYKLBHAN zUhU4UtrXEuxK)IY{G8N-E(VHqw?62vir%Q@^wH3bKY;4CGiwc--BfW9IKY6r2gj5a zZSeq?FN#1eK!ImC?l}H2h{VAmj9DR%!8Y$A0zj#)DjxPT^%3DYZL|Mbgp6|!>81-SP(y4pm6S}i6#6paWMY!%=9yq68_9oSt@{(Vs<0pH z^J`bIy_g2hW@><2|H;C$mHlhfYWb7oPHsPq!IG+Dc~~~b-F3w8;wvvdODX5yU>@6PFl7oj@SBmhy0{EI$U3Rt2@Eh0widKgx}a;7fZjBf0T4J&12C)z4;OTd>kHiP{^}Q4i z7;jGAoH5JulKRe{8kZw8A*O6{hl7xZD!LgoGKr=k4f!y%vSNa4Z zOjh~IZ>F$|U~jwR1|LtJA{1E~r|>W^@=^bbL*`;d@6(8<@1A*jl<^NFf+$%=1E4B~ zBU|B-#xPWTKQnXul{O8*n<)y9sH;m4F_3DlGd`!Hz9wWR7~VZEp}uAsQ6&fcF9HjK zh-{;cMbEYEHE&pH(^i|RzIiN*V%MAOO! z8f<5i%XB1p`1ln!!~PpET)(I%dm8B-%IVJb&oJ{V{7PJy9Tl_H%^n0B&ld6Yr<4X) z@AYjKsEZTaYzp{RD<55eLcLu>qfguY7ayD{-V3FIWU1o^7V-Ikru(gk%L$kkayD^OAB)#wjL?*8{c6@afe*$cgURLd^gs9R&*%| zZ&|CdO3+4@BAp&+=iVnF%jD9VYsV;n6bHq9pcoaTxeKX9fSU6G*`-@-@ivXX9vbM< zWfq@>GbV`}UqLAe%~5yaG!717r#T9TBCW;4Y==>se~aoIz)@pKXPqhM6W}Sy-SgBo zunjNEgloVF9>OzJpo-}E?ex#tuNX(l56+dT2h!OuETZr$w+rzNTlsR!BVU8P!^S)@`_Cer|wkUS@<7qUTR9}jmK80UFPEp1`g(S>* zRo(rS`-glEyVEjC4wmxHyRLs}$n03|kK3920J!-~{P6vIDtLV+MnDA(Fodn}!=|Fv zs!CN4pv#|h68N-bJWfQ+lIDpCG^8mRq9AZgR{1g0FxL>?R#=#u%)55C^@HTj8=|*H zLgTX^G+#W1`LoiPR!&?yT&4_Omq_3Nsfggnz`D`_-5=)A(7;WJKk$EC&Oe?aZy0PlDJQ{Kx>q52RAT6)JbW)s zZ|d0-Sa+nrU4;r;#Q<*rcS-{`J6e)x%$J63rl(j9N*UgmZ(-aToKcRu86)Z=&)td# z$Gks+Se;SyZYb$P-g`8TB}Qd_<2)2%JzfUe(IcQSW`S5l`Vag!e^Kx@^=XYEjMJ(2 z)F9%)^kL5h-@vOo6rB|vOps-JXKaxxlOB9Iv#w4zGaXz$?(hj(WNQ#Ds0%!n;96`c z9qogwKXR=n&bAs8hmH`EX!U6LdgH$W1^pFA`MIKU;+;b~hmM7~+l>{j`G2JJt3%XL zCjN$mx(e2nk|LM&JM!*Q)hcg59fd9}R@HlJ+lu{Y6r8T_ZRzy}_yZ0#O~)Uu7zp6H zi=0n`tF^)v1TNA;60948qm!HsHzQKvnx1xqAu+Tf4g?@)07DgH_r`exZy29luNW1!{;0())OsyE9Q;BBpV~-1)3mho& zs)k&7a_$f}`hA|XZ;u@!i8VUGn|RcC)T!t>2}Y0u%LK>Y(aZ79N+$;RM7UqZN7X}EhSB}SGJYQ-rRAK&cX}JM>RmQn!Xq7)-{BI3&Q*Hg$cV0&Ktq$aDz&b2cpA(6K^%PY~QppvkYCmWh;Hc+c^o z>K;6a0CkQ)vZ9w!l90X&w-Q1T=_*ePHhnmypdR=%9WX%?a+ZGw-PM42B^>(yNvF>I zZvli6{ut4Q2WPp-X4kGjLQpffbp%H?g$NHD_|KZ`PYy2n{iW(HPXXqQg|6=SWtXxu zJBE*~;@d8=zt+guE7@(?SV^5Bd2TyAvR(2tPxi>IH;A!tSZ-lr$mau9Wg9{0{FV-c zcY-qC+%{qR+Ug1F%k#)$h6adC?M^279r}KmI=&iyT&U1Ms8%A?+xqt;H!dogCEt*E zwD*6AdJlN2|LA}Gb?>!zMnbqkA=$FIk`xJ_l4MKSBV>Vep}KAk?XS|NqP5kFdc3TN&gaUh zo6|8-j(FHqa6UuxO>N!_-lSg2K77MtG?6g#(Gb?C-Z&9kd_ESCX^V0Wlj3f2*YTTj z0BEf~Fm$}Wf)-?sg8GYb8B5}YMTl5#7;Ej7pZ%AkXVf>;b14<(L&#N%`)(z&$oW6G z`o-W=&er&Cir>wS|X=m)_U;($pylFp;66 zSm0o~e;~j$@X37Y)g6w(A|BYVU^z>Ssb7BzDgh(94b-_KMUaE zbM_fd-rbi0HGV2cdJva$4whx)kJXhPTWNCFj=sraq~yPyXV^a&mDGMAI>w(Ele|rL zYH(n@;5QwgpO^SSSv5hGf$N}U8p{pzp3oG;n zAS5rVzh90;t>6d){1OQqr|1LWq!NA( z*k2xH)6b7NkT5cQUuMM+n!(>sH8du?C!Tm#D5$@*#iBE!st{rvW<$T$q|O(do}^>AAJgQX?0-Xn&*MKpZsBS7pxb$`n@3H>Dfcm z@#3K*&tkf3EOkaMi*L9EvL?-hc!&ETv}0>^Ps-+}nlw0i%<5it;?iI4NygIw*3L94 zGGGic@`LAhweqqfz2_FBooA1w9+ZI6!H}SSKnBn;d5Uh*_JCdNT9B=JE9_1+d%Dbp z!tQW2zuUn0wQ($j*ttWb2~+D{Z1OW7Fplv_ z%!N#UTVOKYVj_9C!aJgINvc&^pjM;txC%=fvJet7ImECFmg;(8OosJnAL^ zalnlA^{Rtz6f-ozzk1$3G5%iZT0_qiu)U~PU71k)K!}#7@63HS3ywHCQY@ls&s@8T zM%8r_%$u)tXY_K(D{CkpDKjB=u-AP|okzP16z?2&85NscW(ALxQ_l2p0fqwEfCj(9 z`PnA|Bj zZfXtMpv?F)mOZr2MJA=j<-iTF!|S{<3eax=p{XfEbWPav*1N;&sqyEA7vWpWjW5%c@LAjqVF`u%RF59N)T#NknX{{`jm=6;lNsf4C|b z6JJjJd7RkuOKsMM^$z`UGy^hJ4Rv;WNZ8?ZMm4eu9THq;L07CIQF14;oU z3D&~87L-_|llfkU_?Y?GKW#?po1fo{-p=6ycyW9`3N~>;joiq$FX1ESB)54m%}NJ7 z1^_bcpzQ6F&wBsDOWmEntMKmU6Ueuk{O8xPA}F*M3WYT{NA#^6tlofz24Dc;%Q2Dx z0wOR8!WzJm68J-bqX-3AzLS?Vb8invAZgek$*YHd&(({c4{l527)*VQ4^Wx=pQ$L8-{F3PtMZDPSk#*{T^QW zjOPY~1B6c2#wByC(ngJtj6be2`1O$v^rHyODS^GK4Tarcmn$w_(3hPw1i2x0x#VzM zoFwo`+_T@c=_URmT((3z2J@@g7750i=#P&!>%>giLF|-2EB_fNFHqzR zGopi03LjW`&V(ftEY1S9%PwZj;>uAtRQPz^|C|iKtWPb zC`jHdZR>RPoJ4^`5c1DNsj!xj-RE{+isrH=*F?3U?2I5tPR7>}$?lDen@dB4I` zYSk*_V9NK}mpYn9!8-sV>*x7u z=1?)e+jjgjEXGJPWYTk2511J)(1Iz!vtwij>*;CkYZIa+_~KE30+?+{(SXo=?9we= z3s`c6gBl5W2y>7jA}^9o96gAi^4?|veKMDVh5xBDrmh910r(M#Yt2U-$}kwpkO6+Y zTKDcun3-LN&*KyjxKGiY0F3_U^zsb*|5P+^kAV;7vI@f4gc@*-U-9o)47&N_KLyQ( zYRkCqJahs%!HuLX@y-x;uQ1ll$^^!K6Bgd6qa1F$>q#}Kiy(lSMVWF_*88I-xVeXQ%zcoqJNn_o~o10MB_Bk|2IK}w98z3IqjF#U{_qON@9 zZkgLwnHls$$k6H4xPpo)mdGc2Q+0J4=64Zbs@vp*KJDyhk$zIOy@h}Pk0fN@`%)j) z_m~V{B}rIObj_IX@9`K4H0TsAGaQ#BPdnOcv?Exy7rYAX;-+A4vQ*4V<$3tIJPdKr zJacSKops#FOoo5W2e6we!wMLat%fV_xrZO(-m+rX2`iZkQmOhuO(I~XyHTdn5t26n z14*cz7l1DN^KA(z!~~?x0s_{Ozn{5ZhlSTx;JNe9J7ie06u4%Q6RJDLpWnBKH{;(} zs4xliz2o5E^OxyXMKvl}z)V<9{jU=rYNtxIT|6>ad2=<3_qEN;1-%;B81F|49yFd} z;-(OBC#);&pKJ4N$urIzlNfJfuqJ0vo}px8B1nVRjQ||Jn$6~qF#CK^KmD0i;yU*O z#0E(|9ZAOQZewy`;)cbm-*jkLC^>ghRBhY%RTvYNPgF zWMiUd(7e-=vMroWJ-;@S*{*Wn!a(%lIutupEWGsFZso^$W)3fw{O_;2k?2%6vJ$VS zk{U0ts6NR{CG~m_PoGGQW$+LsNWo&w9JL_JAh(G$_m$kVpb5^3KBW1)!qcwlI(*O47mt;O=MQY}q|{~{5S%Vpt=CoLfo~t;P)rFX z_&FtWwI5&}?2|ko5Qqyg%9??P zsqO^tH~U+&E6*m}TBoOqa^nu;e{Or6ib5K!1G6-w`NX4=(z6Q->l%b;JG=l$VTp{0 zr%dUY8_;z+c$F>8WkOdyN6Szj*nW!{zg41rG8g0EDe8f6C%qXf++AMMYrWNIG0gMoMPO#*8g($10XA2^3 zncjhH0}$JiAusOsRx33-Aq5KqVps8N>7rNTrcg)JPJN%uDg*-(P*Orc$Aq9quNe1e z^7Cow)Q}Ge9+@}KB7ir3eTg)xHILvSeos=SZyCi@N_XiA&)ipD9HGJ5SN{b=v4=7$ z#4~UGp+M&?(!rw5=#TldwS}T=>BnFt#}Qn+m1Fi>w$4*rA_a-Oyt3w$P8)>WO|cOF zrvGx~5b~$k)9c?InPYN(vh<<`P zG|(25-Ut$G+9L%O9T;#df-7p|2$GwbB-|CppO9z_oL&0#?J-BB0PAPWXS&+inYeZz ziVx@pp$e&vpZ_}S+_!H$>M>JB;@yR(8zAZx0(B4rFCaCb$ zOQdhlF~f#0id#DM2j{cKU)`j-x9ew^S_>o9Gv+CCv}Z30cXNS6fbH#?U!RRHJE>N4 zE1TTf{44uM^OEtiuktes^lozMxrAD$Yi)^Bo)%!Rr5KN4kS6Xvxx*gAx>{e$hgEw9 zOsm_Ld1*T~Y23@^4PquA?+azR6qk^Llhv%XFq8uQ!?eSRULF0zUIg6j1S$w%`><rOQgwDh782b|J9lk+av2#cl2|yD z_zTY%+I`IoktHz>RLicbgCF4T4yz48{uo>=I%ho6g=RG716a$UL z0SJ_b7}TQTJ55S&YEb#EV`uAI%hJft7RULWKHKDEjl;I3(sKDr4vCYNTKZQx{;QmS zCZ1|l8w?JXFQZ~NA_={Q_NNwk*uh5un&$yz58vO-w*9? zj=;(^U^AmqIT39+2k%D~{1VB*ETqeVimX^~fz#nurhzf{b-utZxw{zbi-ze{G6wKV z1mL6R5?PT#0>FjrfTu;VJYiUxJdtIq`8=tPjWP}S2(dzMiz1upQjR0K+5 z88=w~{*|{Haf%u!3UjuTcAb2;?jQNJk5OA}s~{^4iMYT@%F^sPPf}3aKOsqlwPB^E z`Zt`uvpO@rantLuo!y)q;pli?QQqt@t*foAY?WBdv-C0>Nsit2-izV^m1am?iiP!I zQAVn53=eyJQv7mdU_fP8Vn8`e;-(z0#-jd^8}l91$vrE3-{<60uV8wWaKwUSxQ0OD zWbIaz#_sp9kfa9Ivh>|W`##GF8r>>t3s;jj{bs>%?|?K}&QYlBo9Xq5scV$DwhQo- z`u~*92lkx&`YkG9@t&=|SOjNyqh3jl4;E`d-F>Xjx8g6IXskA)`04NjtF?HsL|CzFBTPHBZ3SI_ zVyOf%jw1=*-fe4QNnB2y<$_=!iI);x>G3~i#RdYMNpfML8)@JAP3whMsi3(4yL{Z_ zi=bo;k72rX*)j-kHx`-zN#k4|eINVunOJkz`uBdh?nPOAVv6J%)%C*#q7-(?m)%Vd z_>!$phZ3Bmi~QDi1_E)`Ibfnx#NTE1)aZ-GZrZTvu2g8 zpEJ{!F`|1s(MN1}XI!m`m;A>MRPp}bVi#`Dw+5$QHLk`rE$Iej#Su@2hBTfWZLFtT@k7R?lQ++xg#`r!`)a#RPL$WNWT(GSPJHJP2Kv{Vr^PtH6-U)ukWRev z&*668#c^Rm&sx1%N&`|1Gv;WcKxy>|pA)7^f8xPg> zXZFqVY!{T9wS1cA-OE-G zv{Dkx1{5!n?%4MjE99O_$UAOp!h+~TGSZC<-FJA6twhnf0TPUGMsu{P8YdvfN&+GZ zvigGtUTU_=>snvo;qr>Hchg zlgBb(QRJqDy8$|;l$L*Qc2RC$9x3BpW2zMj`t$5p+z2;(i}oK{5vp}hd^*@1_}%A) ziZiC?_aJOd3&Re&e%1w@I^*p}8x#Ee zrdvMhx=%Q6``~Q@IA}J+qv9~a+gWkt!pVVD%_oFPq z))k!XIY}jz<))jwO@GRt_NU^6H3PPipG1(@qy^8PtZb9-Ghpwt(-_|k`aSGYiGX|F zf}lLFZNqYh(ALyCUHBrb(|cZ66iQBK(9;K+&2X-_km+0iEnGGC2N4c3;GrOig)#`3 znqnNl{BGa%4TMlZsp})ZQ+q@+g2Gr4m=<1nYIk)N8!`BwM}3Ex+Lerl*?u3({NNdC z*JW4`0r>9FM4!|C!LU`8)nzI*9yplwJJ~CegxpC(5HWI>5E* z}g#35A`Ges_kJ*YUQz2W~GomBR zoh2~_8t#gy^XS81Mq#|4vT@{W`@^uXA7tN_roLmINA|?Gy$9kTQH~qi;I*xv8-F$E zdB0IWz~ls=p+zIQaevo$-Nl}$A>*S+qX5Qhf&P`FsEXjfmV=at5o@;77~Nl&0ekF{ zlK+O-eQHp8R2Cuz+TU=2SRjFSgKLkFY!no*hgU2;oN6SMkSc@~P>M_NJ9h^R{gr;! zk)s3NVr+Ih$KPmIqtQHx>dm^WJo zID>B7xg<`%)zrme55l<-evu)(8xH)<(GSqCo6Gv)u(ziui}ly;8uxOaz2(hEJL_vp zTHI>^K68_GnI_r8OiahgsV&=Y-FzE;I^+gu$LNV)=|hlQ=JtQ~6dthG9edGdVx zz<2+ZGhuZ#@Z@|%{u8PmH<}dgYt;e2{)_x0+hdCWHeM&U(8*@szwNy1+T;M_HdW=P zGFSu_8D_Rn|D$pMe=yNvCdRsk{rc@67lI=M{q~<5sgvxSE%+z%o$K+Uwcm6eTZE%A z8VK|@VO1E7n3{&c0Mz`fC-b87-09pF4Ve^?13P%JSnsO^OH1))Uv#xWvc6+br zB2_-oMcp???jgXt0NQ=io0}IsBY!05eyA8ySsFEsl6|t<^4#}iN0C(1`RAZO{mc7a zwUyijQ<1j6+f|7^?D+k27)32>R24!MKl0*`jajl8)V$Fa?_ayIFLQhOwX)EEL@=K9 zdt7eYh4gmS6v~kLh>7xHvr&88JICnq*|NExhld3P_j&dsx7G3OslTN3UrQnz0)5Dv zyiqawI2ne&XTgUT{$f{!UFFL^-rtcCN~!!+yMCrQfxY9(VKiAZBhEc6zhm!Z`GiB$ z7?OQ5+5qR*LLx9fH#6{zy}Vsr`|;4idI`e9X;kKfkraU^Ixp)HxS?U^5Q(aPS?Hep z+wrqr<|sL?Ea@lq0%>{mTkPxfelth!rTXzweZ9lhiJj0uthH*3A>a#aeCLcc3TRQ} z`rasW4IhXEU!V9(sFHOWi-&ir+Sdn2ueOK3r*V#!r!rg3*t@PBvHqpY=zF(;%23k) z&-K7BXKc^!`=x;+Bu zgWMOW3Fz+}oIFE5otC*^qFwJk{V6V#768s4kG3hi*-+*jx#YU(q+IMyxaZxHXEK#k zKxhk*N~z{K{YHfz^*ne4Tu)Ft4q%z%^)d_iU|N0cbIFsTOCI+ecBO+%@=S{_GQN(jYwp_H+Kau+08`a!$5OxjbhwMJ9Oja z?q7Yz8&BCTMw7dV*T_Zd-E=Xqqb!EIBzllxA-H#*?|Z!ND+9lfWW5%j%XH zYOXvPb;W~u6<^fXz&Fkt+FsQ^Ykkg=loD^5lm?|zUUt3=wI*KmwONRf?Tt?#8CE!7 z8>~Fi67+1R_RcKz>Qq0N$&7!}c(m2E5Cexa2?hM;Ldb8d#k*h3Se{vRus>fI$Up+Z zRGd{=J6;sukbwh@5gbY#>1{o>BVXuWHZ3mD;Xd`8-!f8=5GG|dl^fE%cF~XK>fIad zr}sbo1s+HKo{K+fLkQlF+;_1J+jYK|&8u9P>XpPm#AfSaaMZ`MQTtTj;qTDmCz5Bg zhJuHh*sJuP34YH#^DZty3klJLq6uZQk~Pcnp~RoMYAEb;(O|_L|6!I7ZQ?B8&93w-JcqKrFqfmo8{z`hRG(6+x=wjCuh2) zoc+ETDd`kug`4vATonzdD@-WohnR`56BF~_MG~;0HnHQ_z|BhBa(pYgy{EL6D}Jlt z%!$Ss=a2QURp?;+R4W6y@V;;*fZ-YTLrvVSd*)WcU&y-ER=+P*d#p!uUJ=L}iwy65 zhdf}qx`w?XfD!L?86vorBio5}WpBnd>=EbS^wHboYYs%W|atUSev z_8gqrnJ-bux9Uhw{Zb#{68Lan?o>g_js|F&ZaUMoSLCK8MX$e%swn@S*V(V!mC;9} zAsl~1EWTSo2(WEw=4C$PXwN$xQG_25BXV2uXI++`4pU6QgnAD)=8oN)u=3uau;{Vh zy}$lTp!qH-60cyuoBMLY{#%M(=39F~>utujO4xQ;i$9gyzDOXt9yiB2oj|i=6iJH* zgaPhkxAl`YQ76OTJGR&NNx(hthV6aMa5SCT$jPZMth0lKuswjQl)ge)kgaAxQsoEo|Xk(t{>Z8$x2gFt;px^+nHEY+3Fki;oxO~H0*<~_zm7r{Y1 z2h0Ra4pf>@CtjX)I47JQ1gKq5v>WbzDR8=MDbS3rlrJKG)J-P9d?q1F+eXqUhzt%s zEN#xuscF@$77UJusui6A>+G2MzQ{S<&jHEoips{J`U|HaLda_mH4z!RFLRBo65X%` zeK`=mz(me$k9yR`0-(89SN@--)80pNUCIG5w$bl|#eRs(QsH)z`Z*r$rRi2C|04FT z%b`+BoZqMvdbmtYkMDBw%f`)Z-U;;In_m6a;(6o7!eY|;n7Xy0P=}zKpo93FpSG}I z)s?LKH(#z#`IK$u80nN!BF7+x0>I1})Cov`5`o0-E9w{mROI#tP&H(S&4dtq`g}hb z1E!DFkDwWMi3&S?T0e3PzC~*1;FHE#G&~I_pMRyJj8udemIS*ya4ExiGoBwl@()M$ z1Lokc1cA7!*j~Oxh%0dF@>9i%A-Kk*C*z-se$MsEy6$)_w)0m2O_u6y0jhTrCMCtp z8~kv$3p?Sc53p9qQh6c3UYjkzZNA#03Rgc9)}s?PAj}(wkhs!t=C+yy>FQZ^42lGV zFj_mcN^@WGZjs&SaJl6o&%9AMw0lH$@C-65%T4PpQh`3w(9)U~Y9{b1XB&VkB)aLI zzU9?EB81O5$v%F)*gX5AeIifRTykDJ8NjrpaNFGP_>>}1@jCDMQ_mIaSvb`^kBh!D z#^(7oVCRvDuypVIt)b0@_UDp|&Tl9pdbeynUj>Y}Pp!Y)3NH*3eX=1(+&@yHk=Jqx zq6K|)`;vF?>niEE%-qQBpY*0WCREUN45}dkD=_ZK&H(s>jd~}fu2?K7pvi3{@xquv zB(VN*eQY*q1ga6Ed>o2~GTmE+-yjZVWBpteG=g=_jIslV73=?x-U^I|vQk2<5|Z4l zXrb}X+cM^lsx)xAq*yYp6V6A}Y2lxXNV(oHWsR4-lpYLDIj8x{n@9$`VBoJ>L!Q^7 z?r3Ntns&z5B3uw98kC@w5O0ra{#)Go+RaY|>Y+@=EmW))=(sZCDvg9`bl+~!7d^il z1?{tL;p{c!itDrx<;SkRRk|E&Tf*)ya$x7Heh9TUht%WHaWe)rAu$C%J}Et@ z=^7doV*26iZ1+qFRazLmfY(e>DM6YYE;q4KX2HM0*beb-{dPE|4u5HW{Lc26vs)C^rJyC-94|d43Yi>A4;wG@f{a0Fi%Sj z)-gl5Gd?_V;^0>XQm_uqlEEVUToiFad$gt;XfB^o?1k z#i9DVC84mfPOzseJAx4l#GfU@KcvqInkNw64wx~BnznGk3Uk!t@s*sG?>Cs$Vz2Vv z#MGL{KU`!D8NAut^q*Y=#9-`TVH#SFSYee3Mq}JM^eyG-Ct~Zk7Ly{q4=VmcCbaF7 zSne#+YP>T}iUycJnbrR4>2;oDyY8)j1^Jz@;&)9_DSVTcL%4t_XK4W^=;K%5J3eur zAVK`;>+5eET^~IhR#JrZFn`LGHFBH08?g?G%$2AmigPo#~_=S!oK$~9kU zL)J(g9rDFcmHc$LpJ?U{3ZQJg8DK;OK~xQt3Rqi%trbVU>v=)!8Fv8=1+e+H*3IvB zpFjn6f^&)u1#eD!VP5Y=0&sPl02>raiUA!}mvl%;u|`lC09Nr6gCA@)?mr0{F37S> zg0<1Ku~)fa573#|jOn;#?N<)emKbD0u@Yi`U{k%)-r3?*%EzY>cS)OaoYL8L0^3D@WB{0NMc8~gzO?Ky9dM@MA)OmXoGN|#*yHu>DlKcRcHKhXKL`0 z{hRM*mHV~WFfmAY=5Rm*yuIINT-dxxvQe9?FPPI^U0ybKAC}Xf|J|L8`uWC(2bH#L zz)!zp@O`uOqrWSU*NbPrpHBar;<{?~LC%3EJL}18nIHgTT~|dP4{ecmdT-QLt3?9f6DjM`HuN_w*5Hzq(KV zTrfaA5H%4Sg+QYFs+JYwpN0V|YAT!tY%G8E@sd4L$h~%CdY3`w9g$fH@1naQ4E@rE&SlR#HP9y^7fI(4hz#&9&SE#N) z+iuOo;dbb*y~>ErGa4mx(%nAzWvMu^m>#DhUa`xB6qwD#diRlwYz9517DBG@$8q6cw13*gB3G`zo2sX@4@_?2)#8X}Un*K=_;C$QYz#RlE;m%;eo;3~i>=6P3vk z4?&5)p=4Ypz?%cccC=1s2l`x;yi@tX5TrKs3(S_rwWPXS@83K=ZOyx3hE46kkAgo0 zfI+MwA7LZ_88!@c2Z?7B?$5Y{K zN)Xy~MPihR1g)qcu@GZjI5z3y?el0u_$g+8!ibK@n+3fA(SHY@5#R{NCsqTWaH2bp z4_!)s%rvCFJ$bX1n;rJ`aKhO0z5Y9WB3iVT=DS8``IZYo@vnjH`QRd@#r8|aCUm80 zCyj*@vVuZM4>dXO{T%J2#exnXB^4W*Ve_8k z*>wfzPj3e7-w=|6!ei)kxkv@GGxFHd*J)6ikUF%ShxP?W9pseSiH4~M{0E%&u4KHN zMw<7nrk4@e&p2SnD5ywGPbRdq86!2R{z zpRZb-&3y@tcB|g2*|dP9xVI=!Ma6$(adCR#?C&>3=0B4O~A4 zbw>6g%)2cg9GwmX{S((iLIqV{~phca_e22GG>IU3LNEBKvZ#I7$qAJXmF=Cuys1DR$55;Z)4T& z*mtX(`p@`nm0lFqK$U}652X(d^89DZxs>GUe;if!I(hQG7>G%97VcNN>{JwZc+%6F zM>dbOQ%(OeObIN19OZXC+iX#v#ZlLJkxYZculLT+b71Wl-Odvpr5qH8s;TNv>l=N+ zShUW~)jirCGa|)8%3+>$3!|4f(6wL&$?E_Zl!wM2fUm^)A*09>?9zi>+_e&v4B2s-;59B6M`k~d|V4Onv#d3ieL7+?!o)o>Wu>NC-ps2 zm;zuNU?dNhA;sZ_)dmV>Dt zZK-(h#BQ7H{#I2E55zb~h^rZn`MAab7Y~HpVFf@lRO4>J~SC6MXoVM6dvva;1YvJ}+ zr+5AKl<;Sjj^56`?D*b}EGLz+``5niBS@Qedgd~b;OYFMkz;O9T3d}ZV7_f{My~tw z6|*hkp81v@JNQADyO2Mu1QSSyh#j#3u0a18W$Dfe`#ZmRoB0j_O;WnWnMQ@eBo^znANyhszc0UYs#Y$_mX*~(!TigiR3$g9w-}8XDX3JpYKO*&|qq1g{r|u8p4KJ_sdWZWR=~R ztuEy5?M{zGbrI{gBij)jpW=-4P8^VSTF>fDWy}25GF`C2LT^6NWLaQ8`JW6`dXWQ^ z?z6*$z*9FFTG<;2jM~6X5r>GDD!X0vHjgAbz!nHO46l22X20F?HX*s zNkO`RxTG}v-6ZVl~*4XA7<$qBWoHZvAonX+%A6M z{GPq2T)Iv8`~qD}~e#6>*#NW2GAr*c7a4SCE z$xdr;+qVZnPY*IpC=OB(ZdGO%t2?fJDY@trL9z4P=Y5Z_-{s3CVGPd)k7rbC>XK;f zlM00LC61477&E9Lux+0bkcAZ3J3A|1CUhpoW|t$JlFpsa$~lcJDdR4U=uM8<>p+n! z=DxZub(dK6HoL(rEuxp;!U2}IT+fOUF#!Q@M-{Rf-Zs0D0DHJG-t%Z%W?+z(?hpK5*` zrHZC0SED8&yIZ>Ow=*ue&-EE(grfx~M^{uNmvaZq}>f@Dy5J{Y<49jT! zk%1(}2cX98mF%_WmUV* zC}!6CW6ogbHf?z=`+)}|RpV$;W7)UmEG5VY;(67h?!53ld7-ZrwALyZr|Qc!q$%G! zV!nAAo^30RikV|9irU(IM1JkC?lHNT02$!grbEPj?bT^YAh~X;GU{^5>AU%*swn4( z?sQQFmo!V(%;e%#tzGO_|FVnC5OqnhKICEB%v5ls`7@P=x?(T@9XiGAH2pdVzmE9& zr0`|_`n$G!j?y@@yDi6RY@gqDKMk!)bzYn07H|8|YbY3?FZiVJMdchRa1f!PFl2e9 z%6EO7M5B0~a)w|o*y&FxJ zm#&_*-wO$zy=nPwxL)b(v%V?k-XCtcwuEu}*Q0@6+A6t0@%aLt%*4wE8s8i{UastiOhd!;N=kwFD%Zdv zcBF~8HLm^;_jPGZqO_is8%LLL7WDt+zg=YHTqOVX+qd0&mkotQq&6*Hex0XVw!Teh z^4gXx_utxbvW|&t=ZKbQe;^mLecs^Id&pb$Oxa091-3r`B_irl3^tpzX(2tDob#B& zQ`VGY0p?}#Wri8asVYBc$eG|>RB|0JEQo0jt*Mg*x)KM2{p z^F9`hvuGWszUO?g%KmJJrBM7Kf8-jrA z4qtD-r;|P^Fm@D%8p+5qDA}oo$r(7e(xWqVdVv4?k^LX&0*v<%xcGlRj5rHles_2% zDfB-NKR8?G9VG&TW%$J~6PK*p`tOGqL_KR_i{x@U*Zu{LAZdHf2 zqa8uR0`9pwH}kYkW?cAK{;v^b<~I+~qtae~x$Or~*r#`T27%kczLyU*UA?nipWju$bTfV588$2m9O;yQF)k z=6`-nbwJJx6(53w6J+*d9#%0xoOx4ab4;<#dg~l4Zd5ptnXk>-+dImbr$_DNvirX` zRg^b=y1Mt)AndGSDnoma;~2gAy+$MMjZ9WQC!OBt?a2y75^lcGNCuG&G)J7chS}T? z5-g2H%(Z1jk=jr7e}DNZQ*U%nIu#Wl!MpPP<*at0WJf~zu%4aH$L)zO(4*l^L@X)l^~`l){4${rYHSOsYo4xR484nHICRT02H{s$6kl{A>8nq+LEi(mjX)%NKcykABwyFYdu zd+O8$dTTgrMAE!nEH2EOI%P(OFulTWa*==xbjd(Re);2UX%o!-itE{7KX%*-**-fD zTun_lV^NR|Fb7u`A3UM5Xwj<*&Wl+$omxQR@@V~gO*Ak{V7vP8xqnqws%S`Kc(x?H z8TYE;YG*C4O5%3t@|?BS8&5BN9gIWu{IKUYN`IR~s`4U|zuN>AT#X^ydwH;`%Mwns z_=dbijaKs991UaQSwvz8V{= z7X)CB4ldyh94iM=+*4bJ*$@v0Dci@ZWDpv(gH8ORSY(AKATd{lDS}cd703rt(G+}e zMyTs~BL^T*?@7O}G~M~Y_v|89x6?-_J;x%(i<^Gk2p2`Cmb&H^wQYXkb)?G-DeL*% zjMwGfXGiu&W{%M#vL;7ov43RWeDn}+q2{Be0L3@%$3?z%e#?DpZ*$_u%4LXrZVy5#xaJhQV0iZepo$e92V+(M>B#VMx> zFOmXlis`Zck8k-&kl77z@U*qQPC9K+SZe3(YiCzF21zDx=3qDG&Xq+G5rR`18VZSV z%V&R_v$)X&3or0`EmP%pQ5o$a&+NZ!Jt}iOd-mE;ed-k$>41Iz!`>1W78rQL7e;H% z!0)#fPbZFWWbgs4K`&Y=fI*ci{4;(h1WuUfW>aWquwhux&kK{07tsu3oX-Jv3BAt6Z2)jbHIjEii&AA&JKaVWy?w9Mdc&M3ZLApPcFBLBF{#zg8ipf35eDs#_o{Eu6+|L|GSMvG+hf+wBWZcm6e*~ zMn78U-Sv8RZ+%jKf7AKdf2~Ms zdqV72{pql#9`3v7??hM>l=`Kg!F^jvvGxpUmc-K|1MVCD>JC3pUdTBD}6fOU}1Cj0f0@Ahrc$oYUg~*bZb8IT`@-rK?DA^bgGb$_VPHuLeX!k!4@a z{_h#x4ppl=jXpZmCjZ?Pf1}}=9OpQ5Ebk>9!lPAl|MytZAy#aRze?kq@(}6=_A7(@ zBeJv?XwP$fh-DrnZLLt{;}HWS`|l02d8b$SMrmY=y56mhtR_`g3N2b~c|9FnsR}rn z@K-jJxJ35O_<#x5dpjs3@Q(Vi8MuBW(uYv#h=9GBGlsuuZLgl!9fIc*NU6=` z=b82)h73@eQzwl2PTzhHVO_os-6wG$LLc|hy^GJSvXK*5mN7ZMeSuV z{_e0jC{hq${vT0a9o6&~_kXuBx}=*SEv+C80|gAyK$;<`NOupVq%Ar{Bqar;he(N( zs7Q|PkZ$(-e4pQQ&ciu7hq3X`{oMP$?|6mU!P5iyf&I7tG78b&enfvZEQicFZkMMU zOrxh=a-{$|B9;mRaL@z0U)M&KvvHjmbi&wx_u9LTrSBZ~FTtJes6|B@Ns3rY?RDgL zJ{IL+n-b?Ld*o5tqio3a$H{ZVN_AHoULIn!45``GG!-|^AKaL?5Tyyt#Ll1)#`{q7kDj=;he$)+Mf{*m2Wkhd2y zCrs&r1Qe=&9f{7^^^1}IL7CS!bEI1E?S|>Y-%)#aT^#T~YEoT6PXE=^WCb~=U%j)C zdfBWHVbjOLcr?~m{N5v%@meNgp<)xL%Og{C{~l3q61V@&YeT~`!!#qudWx4(6d=c0 zJm-!p{`O|7iv+r|^+cxqqEA|gbaMFf_@jt=fWSo9_%;^7F;n!|)c58VH@owF?!QAm zpnCinPZVtpWq|uEAGWp{T^$k`Xq=!GhK_>|ggNM=j$&a)1f40V^FkY)+?k{bdO$ea zP#%Os7YU?P@9fEs=kHDlNaLP)rIMLh`c#yWfzn>E0PD2U9(xO zdueJFAbJkm%?z3Sv6l%cm#^ZdtNtGAN_(BCNcZH(7JN)SDSnh#2cKs8Crb?WUTs^w zr~l?G0&{Nc5cV>l9pFt-<H-KA}zBOrlxMq#yZvxE)f#d0y{xN3s1FT`| zU>z0Co`N|DOt{2Am}sD|be3_g1}W$i8hkaPQ>e^`)T-7A^Bz@gJuI zSkvBY&AK4EOS}oM?g|{p4*t4wLBgj>ros#<1CWfXSJiIUvYbt zp2EED=k~F-)HP6{aYgZYaq@B7l6D7QAO@Rqv-F^a$hV1x1!V(%rLoFg?vhwGt12>_ zr1WqeD07yL3(CC_*?h_sFtQL~5#01OJ7z&i@>dwamWyJYMi+a#GbH&5gEcqEIn9=b zfh-O9TkmA&iI15(566uPO~2qH-*2__EVz0eUGI@i{c`%mQ?y*S!H{mw(32$V^cd*U zSJh6HJwh8gya;7}&)qPl(LX{V|0-XTJqgn9Gqk$AOyuM;N2d6)CFp2&;n((!z0>8M zr^yX;aRrrvF4nSfn`fqR*Tk2T?_h#{L564c<@a7F8(xyT7jf;bq}!`7X#|Sa^u-sa zSFzA}t(#MQL@JZve%>fypSjAJ88on;mOa-WJl4u_*cWnf>bI-w+8#muY0`om#_ho3 zeIormMhyl8MY#h1fz|llVkM7_leQigMmnlU^8;4Uq^mbodhkAFj#&WT+wIN!g{*xjpRs3 zB*6eNLHMu`3VYH^>(?J;27AgspI(DXG3-YzSOu8=?WV6Cd>eWTwXxCR1}7|x-+>M8 zzZ-;<$rTjk7QcVL!#T8N*$Uk?fKL^w8vY>w@jN>PbS)8AcD=q1JSGn!SipNg1zN^s zRFFj|#?CkHvjZD<%5P|6Fc!(^wl^GZX7dNb^J!Z#cV3+5Y)4unuoPc7AjJ>Wz8_%} zuEX5p>r(4J_-8U;oK!qfJ24hps1_^r`Vtl_d-ZQmWgW2f@1A7T)GOZXYpd3hm{L}Z zI&nzHpOy=9<$HD>mXjeGim)ESY=E%JgM)XNT9&t>SHV$(?8^ekwv*!^rKdO(1XttuXju2`Z+cb#*y}7@DjXM9+*dGb8cfR^1ap=*zHz!CBar ztSlVT^&*3o(l$SQ5%U%e8@%bbaGC7|iO>tGt(K2Ok6;F_hI4w%9fYU_8o7##eHaj* zc6cdPIn2#oPQ1-Sf*t048DT^87t+<_frC3=r$t^K=a$$F@R8S>Hk~hNZnehk5aebG zznBY4WLYxxko2a#s(2brW7b4-P%fy$gHQ?!eg~@}QMaGC`$4@EqG5TG8{$cS^w$x6 z;J&l_>)(v30sKeCbI!#YU-0Xs#znXL`@q9)vG9{G8s?iyf}3U^V?DM?1Q=g)*a-!cG?vnp;Av0CaXUO z?JfP!Rz_!(l9Et|{@Va_B@EhIK23n?{Xkg|aX-ih2BnZelX&Qo_}9sPWR1ebn2MsI zO6kb=-%&paP8g70jK}@vD_8%m?)DI3=B=8RON!ro@h7d4A^q*)HDr7o^N;q6T7+r4 z+tJ7bC-$NY_;N+~p4}=KdEN!UkK;}#J@6vq5yFQ zmN=Wc0Xov(;555XqJo7+m(apBpC(2_JhyNdCPWuH?E0^KE=UXj1_d?RB`c8*@!6Og zxIkq#MhF-72fTy>j29Kw`f3+cRwlJDeMSmPTJU)(@LRLJh(}v3>_D&*rDGw&Z{M%+ zA`3JWe`z$gHN1f*9)|4~(>&|m5yH&gdQVFl#l}!~s}n-}L${Zz$@~3;+H;*vWnDvm z`7m6F?K3$CY*Dftd|DY@CohgBuK6VCe8W)PYI;5)U8h^+Vxmp+t3dc=Y|yVm3Uh0{ z>RjcUNeazuY!O=rznGJIpDZNrwjT4kP2>@sPQnHrM-!Y=_IV;}XE)+r;Lhm$#X_5o$OAu%e8w*o86O+-BTG>M7EE6*7KK16#2Hl zYP!&^(_6DusRl>(g)`-b$3^2%+mugHFZ`A`-!SdvF=DqDa`Be{?Yf}y+l8M$9#w4` zJ+|dPQAug{nXKHTrjiI9Bs@AOo0EM`V)yeS{)H|II<-M$79;`2nNIqO6#MRbddl+> ztr=$27DuInp^@{5 z+%TL3qXRfe+}9$=9e=E|MBs3Bicfu~HVTShJvbbIHZdkf&|mC3pxhS4tzel50gez%xhwyPjv~%ztCxx zgL-*p5HAwSu3cAB`2qBN$XLMj({S7Vk0e!e&ugFD`S8iorZej@`tB_wddLH5VLsOE z?|rF1M*V*}4x8ESqqEq$q!iZTsHCT`wvEMYtVhZ!aL{)aIkJ@==F5v|#E{TEA?15+ zj)~=kNS9uY=e?%vX>*U*k9F5uCqG$uRU=5GLKL3#t?hXfmdA|vwAQK!s8#E1>}|9$ ztCxVcK;QXznK59*D;1@qO-8sOICjSdMYR$B;#ycYY4?lDLzV~_A z+Lf)YCawRm8imX$y5l*KwCt5a>c4ft*93v+*4c2h-c&L#4AaK%V$@{_t;%3_zRL}p zaXFj_G>C`Qj$dqyugob%Bp>m}w^4AgG{A)?Wjx!Umgal>d?mE1u6sz}_XAbozrITb ztrn3oQjV4!CuW5Ii-P!GC>##*)PcTcrULe|)HtkS0%jT4?CUwxM=R^*ukd{-32H3~ zrP&I1qY5MuC=$e5k>|7*fT=$M7>=+!vVP)U UpNXZVmR9o20muv3@9eD56O#juf zK)fF@5vGfNGM^a4N6{}+%tDQrTSDCXkbN%{nN|q7iG2vxax13U9sTqrE#CQT*1vYk z;W|fS%Hx@f8xC~KfzMQYNheDMi!5?uO36a-Fs8S1TE0dkK!Ci|Fdcg$W@P@5g6f6v~6P_{zKYWDMUHvo~x<4wI7&;B<%f_Ws+*6 zhM%zINLZY}=BsdDua$C?#ZJ*qtrA(jNYPnH)3#l?LC~Q$ZrXx%l4IamjxauNhF{*o z3L8%-GCMx{(b6;pD`Xwoy$k7C7&_$=hQxR_N(=Y zd^57eT#4Aaw49qZ;F~+Ua@z1$gTRPOGl%*a{&$@U6J%{GKd}+dzowFIIKSGr+FfqgF>ti;z=oTma~6RdUFoV` z+oI$4f8t$f{e_n`;pC*gkgser7xlWGH9W)?F>E+F*VR@>1sVc~%lJnei^J@AH2x~L zUuC|oiM%pB{FdNn`RTyCaevU=$E<$$a-6QNNZQ{=;yD5XMuoU==2*=^+M1XYag$+t>bUS4wM=eU$&`Y73XnMhyc-si?}&UBZ1udC~irc1^6A z1n6~3k|~t6gwoylMYEYv-FotG;Fm6S=D2ZLh8)F8wFV+4qjMl+IyH=%0TlQaz|NmW z@H32{)u;{N@|E~(Pbj0hcf8lvfT!UvB1sgES_%)d*?tHdI?3YO#)N9?^x-{e0p5{j z%6vA97O1rTjM)_V?yCjS(Nt&wAcvj5=r#^fpaSQY^;B6JAbDEQ2#FK?hgXMqAyafn zF!>b9c6DJKe_EkLn7Zb_5dt4trPL@1`o%6QA6r3|aTjJrAqq7Qv8C)9#C#A*_5Wzt2-_kIgZrUa?Lu z-zj8EwMj|tZfkzxu1QtfqmNY=M-v0a{T$Amg=4ck72Hj$bKQZhG#LF+suvO3ua1Fl(;#6~w=*8YL7{`d(YEV}u>=Ef*-|+^%J_GT z7znKny))8FkjgR>y)YF-HCa@B#s(95!?((eQQiCZ&@Z(M1~vmfABuJMCl>rcVbsp| z96xzI<7p~xcX8}75ao})35Gv=q?wV-Jh{$XhQwNIuT%r{@K&Ifnhp%eH3Huokm__I zqxTeqgR80Yf}$Y`oL~Sh5@7R2|AzzxT{ep^Twpl3?h{*VV`e`aRc|b9+oF8{zF$4p49l-#m&Edt1~?W z$A&ahBBF{oTp!?9HDm|3^)@f2Nf^obS)(IfN_O>~lZ z73`}>W27k68R=S_64D4Rxm3d*Sob$p0N%3?K$eGChe;{rvMdynpnI2yCH6`D9cYI_ zNlK&3br2?Oh$Ux6YC*Fa?Blcl{to@rg_C2c~Z2N@-gy<;StQG?jNjS*p z+N{@*dz_UseXY{Zm^mVhd@Eg2Tat2eQ%!z~CoV;NizS z!bzrlTi@2DCr({+j7ny;qr&xS_z^0ZP>AGljoEoHp{31!};MOCh+dwYk zwI++xI@P#0jUCLAUC`)Bey6rsxL=tFPPDhuGEhge7#`Tv1t}RV(9bpa{s>x~pCgej z#NdvG8om&~u^;}kmI4Y;s!S5{|65fsxy}GIB(IJYQ@@WDf$2|7!2hf4AVY)*J8BMe zs7*KjjqAu`gbv_ZWo!5;#XO(B^&)0V2~s6eWm9XP@IR?f*t{-b!lzNKc84zph904R zEXcM6p=|UuhV=3#f{&{k#;!*>OT1~0e3Yi)vqiT_QeFqT=m{=`e-6z%_55oF?QkjI zoz_;4XUAKT^CpWgY7p^%^TMjnN0meW43Oz#-sZz|j;3uh%(CA)AJU-(_PvKH#XRkE z6-eZex{*?Lo3ou#zD!rAtefDiu?H&!h(uBQlkQ#%E|MB$OU3DSuxt}nrp(G#q zqs5C!UB{xu#vb9kD_7RJ>|yEl&bMf_@aal&p|l++k_SA`TFvP-T`L7uiJ% znQ@+X0;5UO;IEr%*j^J2JVw!*yA&)w^DxTJIJUR06oS>8mHIofp}bOz32}xeO_e)a5r`^WqUEX)w zN#;Xg2cf_T@HK(X`GbzvM`nvpBW2E5rf6jEjk~1>ZbXxgUFYa5W4DD3dpaS^3WFfM z%>!oX#PQLd3=zNjBH&x?z;Va@n*Qb02X+6fH80lRliq`WU`GS+77DOm;D}BWXp7#0 z^u8JUk_w}N%`y=iP&)k&ANwl3>q<0~yMweFqwpyh94iJ7eIW-tNfW8C5Cb>DF5X5B z_R&b9D=CNSI~xk7x|v0%&StHvaK24lH+!QH7AMx_;ieh4Ng9s)yzwFrz1CA%3L}m3_Z%{~7F4Fk_>tb| zVLSpm0PhY`dgC@f|AXOL3^qP-s`wJyrNHZl6~Jn-nfPLjW_z5IQQU+3YWph?NCuG$g& zY$~7seo9u~&cBHdD^tpHzq)t?y35#vP!56LU))wxEt@QRj}6T=G2ZR;Dyd<{KKCs< zf)|$SG18Dp2XXMBm$+c5O{sfA7Cequmfoc1H+94bMCLZly^-|a{uh&qq+ns3^LU^) z84`DFvDQ?+ByS{X)~nw%4fDf6kjdj1ZxR~W7RoQE zcUW#2!qY1SgH)Kw+ptu$%wJ#UnL}rNlUCQ@VVJ5u?M+&!9_0cpVK5xd$|i{RF#;UT z7&cQT!mz?2)7>cO;2Si3Rz~@n4&$ap;EGINv5J7pQPVdemSXnjkAEdzw%XzpnLim{ z-YV7Ngj#Q|9`V+KSz7OF4^L|cq-tw6HlDIG-64Y{TsxD^+imZ^U3@7^pA5cO@SK-4 z;YuC03jCL;Z1uWF{FOe&a(2~a)`s~tPEc}Q<@0*CovkXlfMQSC)IFIGan3I66}S9g zJ&!G0JLQn7UhmLR7yCT6+diJWvfjo`Aapk&9Ucp8wgemhRZe9dHyb!ctF7>Qyyp1X z(Mks^t2oLaOqKgaOa#~eg>$&CIQV}%(MU%zb2sJeKI#a4p7At(ztLT)i`C+wG@}EK zy-9;T>VjRaf7&+sX7XHWMzQA(rsPe~A;Vw?Nsc=!zLajIJu$=b4gz>GsZ0BEX3Ej7 zKi=dxbEge`KS-L$3$RcZjRoClq}QE6N+Nozyx{F2{UYHdVtzyvz9IQm= zpR%!#gk$Po0pQ8Q%fFiu@bcixU>n95Qz5&@F8tyKi)Uqux!vgN!v{apWPCqo@M0RxQ6x+A{lwC|;7!m@Q zK8e0RX20Pu9$&}KxK*8?SMm713;N%TnxpRI)S~&wyLE$vE!UW4 zhf~L+IE+J4i5uzW@^^}-tz8~b?YXh_PoA3mP;Mie{~or^RBygN-c8IyO zH!cSU_4|BXOeF>==~*SgjJ}{gxvL;8fC5FD z2vBr@oCC8)42YbNSW60MS@is76e%_I(N=UsT1Yem0jqr?qwfH)H?ZaL>YR!ESTOZe z)7L3hKAsEKy`bL85XGo}`Bqex`Go3bb3q3=JD3i?SQ+okl9gZ*{}IWmyTCk)KH4xB@`j|EQo; zzp}iBBp!6K6zRAKG@vBQ_^}~(+aVhX0V{8YkmRzjwlR3dw(@>MChjk$Tc+`hOdbDI z?i^``c>7G_=1FNaQ)i;o3&Z(->cP5dpZ9%SI1Te_o<$vUd1(F+Wzl77x3ekr5MD_C zz9nV_bvvgSSTHKihiQ5rFE$7pStOXAN?Qnvj-7r)>@{Z()x&aG#DM&9F9QQw4htzu zKoan5xalaU`>ucI&j5`9w8D`9lIusvK?Di}Rx-)8uopWt2UHxH8U&LE&;_A4J~5{% zFC!N&Ve?!#)0JRg>ThJ-a?>!y(Q-J+7t~O~r>(lN>&0H74KK7zzInysI?s&*Kf zSPmD7!C7pIkG>UQ$9{sfb!Xe};EP9n>37??FNgt0^|f!P4e_^sHde3X)1*tND0^-c zr-z+7%tx_Hd<>myn!JnR*){vO_o0LEeXZ~Opm4?5GK~rc9vIhUWr+NFDpm6aD zNs}bC>hnD@m1baAe9{tnf7e^jHhhDL7!*?Y8GG={%h=q13oG26EWI<~FiGS3@k^lM zTaVCxVy#!f%sptE_PX!}Sb~)FAao28Z7Mg1);G><7B1F;KUT2;gXxqg(aT_35NfS_ zcB;S=p?E>H4TaeDr5`q+0!P~}B%dpYy?hxHav}!q5nqMa3jf=DIQ+ln0|V52fXOgy zGZCIaRFP0ZFeE*ZM)*K@1HBRm;Vq6I-9AM*s>@Qgl`(h8N0Ft44tnm%)%VbVe|Cp~ z>~YMz3aVMjDg#4@<0Cy*SGA;tIU#;o!zo=a4ARb(5Kl_I|00 z#WPFGU4she$5pym4RJYXl1#;##pC1-IPR|F!>U#M-KUJ8sgzL7`e%Da_4SXY8%2BY z$zS=h151eK@3@>B23N8YEN~ z!9fCGqt|7U$5wC7&??V9K+h%byBZz(RCQzjt6ynN;L2g(P1v|CnH-FpOz(z{ zN?EIlGw}zGVmd0)JL4VBMi_;41I=4-cz`3R&I$YyVv znQMFfjf0)MF*P22YhT!NyzHc~VnuS8z@tHVA51o!Cj?~4#1PHj{e>di#gSV{Hb}AP zGth3v0<&|dVu38zqHH7=lK?IJE=>8jtNfvt2E#?h2`&gb-6$aSd(_Iz=xDtDCN!r) z#=c*Yt7W>bD|C&N$eQOi{wgTSJbx}j46-Pg{6!@<&|IX8<`uhQsewkK=CF-rsmIVf z!sVuch+AE*+N+?g!sc*o#FH3v^Ut75@AO{EZGp{m&XDLl)$&to z$zR@nA%x$?A`+tUFW!0n4%3@}qYAhxPaZ4eR5U=uE4<9@%MSJTVjpGUOFZ6zydYj& z&*=*}Z2uirpg>BwQyvaWgvFu;RR%8$$UPYH2o6Fj=aCPVJWGTLy_WsSh{jZex+s!7 zu?GkYWNmx%-NV*{uID+$fRwFl(<_V^u?t2s%bo}o7DpE!M_mzOVVi*T&ev>h`y)Qm zDpvf74mEy$1nA{XbkR_O|D@9Wx&hkYf}%o0EwfJ|qN#r@b4keT<4LV@u~Mo=#BdO zqW8)&J=cYUX{y}omDfIF8dR%Z&DABm-0TP&*v&ZkQIoYcwuJcee9L?|v+4Jw$^^ZM zB-mY5%t(!vhA&5H)Ry^OBx4PPSf^haer@R`7F1o9MX|5k)&w?Kv8u&b;rH)>8c`1l zKm=;}tJ9>sk^;kdr;fbPdw@+IoG50m5JT5)W0j8~f7P#4PP7VEWON|2KMn_K=YLPX zgmr`9^!y@{R21;JPC1*VCK0tplw}^vs1r~Z_7)F4f=U6qMCsEP(_-&2Tc@L2;~64# zP=Ztb{xP_<#&)uMLf~nULSRB@j04F(nT#uw^iOy-7aSgPpS9|;F(cj#`xFRL26`zd{_JX0xblj>YvkvSU?UeXl z*~0i=vy`bZ{od++GS`WnJ1{=VuC6u}w4LHeau3>xOb^z4=Wb=`73rUk{3H~y?0x^OkAVOKx959m*5&qnQUE!cBgUaR;p#wEMEc08}mB*=l7jXb!{)&7`E z%W3kyW42Jh93QBF+9)QyqRG);9u%;aJoeM&#~O%QEB3wl1A}C0L9Jb+IqqBO-lL#Y zjYO|?UA`L(Qs{>Uq)nZd0E$OXe*r)Lwc3d5n(x=uyw>a@9tIjjM>x(nSfe*x>Vq(+>ILhZlQ^r;6H@Z0h1ZjJZyj{u z=6CKuZFMOj+Ckq1ftj4x?J})*++?yL4TmQ*n7r~o@i&B3=hp10RJk)oklGJ9$$Wla z`+Z2L&iZ=gp-WCf+GfZQ z<@fH>yqoNDt)oPzE4@ABvm=M{FGp6sYg5er8hgjj)H~w4Nr95?e-|}!)FaF)+YbA} zSBx~7U0OJPS3mSg3Z6~}wt^A=($86;+8WxOb>l zydpr+JIu2mVW9utX#jh<=LIil(@G&Vk_%H7%wIjwZ5Ey6H6M^sl?eThh}L#eo)g3FX=+-{@PpL#O~<(bNMc)nAlA zF+dAe?>gCRH>5nk+H&=8XKdnbYoJ9BM>)hZ=Fk)|UlFkW98aeb@jJ!Vg40BrzvVcm zkG3pS`rlu0U6GemC65JKas=EM)m#v{sJKTm1!sU|K!0O`K%wwb{YylQ59eQ8d>&9_ zh7sd931glAeILYn1?UV4L-upBV+qy>Zq+ZE4BX!`F9HeI{xrrR2U$oRcz2VDryBTe zX&Auzy$W)FjM`V)c8{}(^ccsjNbw$s?Za$%8fe_PuqEDb?Lu(2m*g$ZI|POk@quLEpa2~ek&WCp*ozfw~t&wS(j3)hh!Mzgk&8R66ABXr^zou2>b8O zHeZpMc}W#~4?LrQG9p;jdxeW9zL7!z%m1$$3DBZ&QWROv$w4{PVaFyMj*+3DjvK(x zo@?oSg@Cn>p7ZPyWHZP#Y0-TK136JV%d-nO7#!DH-d~w&6 z5j8bb_sD_wRA)23!Z_Vp6qBVt(WqaKf8AX z1Ip7818~;1Aa)G~y?@N|mk;$~>{3+DyaGn)&h0Fr8C5U3p7t>zG}ul`;~JOBuWcFn7OTk1@~a#!FLfKQwB2oce>D%W)V=FS z7#(ZERO{$T;2Kk&y^g-zNP-Qc#LT?cvi7OUO43Re8i7X}H)t<8h!}GWD)}d=q>=qs zNYmDv?D|Ulg#i7DFFUU%L4CXHQgK+rRm4+08W=XQHSuiN8ee!B3!))1-gJHt1S*H| zrNL4<|7v^^eqAEer8Hnz*=q5(n+}Uu-7JL7BU(=LgUPZ`2eCIDOHx004AKx$QgLMd zN3M{FV3&%#F;KBDJE2cJ?@bCY1Ez;`W*YYb5n3_VU(+G5+cmcM6nST`3wUnL^%PJE@s0%a&;98J-!`R}&DQ;;e?J3P;vjCdSv=nFl zF<(dgz(T~A>;CT)P0X%25dyaV4Zn3=EcX$A-L<9TICEw(BikBQ%0cZc)cxJY)>E`L zX^H3N!tSnbas$!B`^~CPnFv0Yao^dvc8wlom924H(yt%J#eJ?_C?r}MZb!Op50gDx)< zX5|tIwzI->$wchCimd&GVoJ*ABj0oFheH5%_rDJ;7c_a>EzwD`qpRF8QDnmUiT{NgFjqg)L*F* zM$}DuY!#peVAxOK#G?d?P*oqM;cL*`e|nLZXB=&sPt3*>-87f~7&_h{@WBWw=RePS z&G48a8W?{zikjf%l~ek|M5a$gr3*y+@ui}f*+)|`GgQj zh#}Y$UO?`(Sm@aU!ZZv|GtR)8dc&a(VNysd~ z$^Xor$@1ioPPkR!P@}C=P)o#$3E}U;tF&T0;8-8v^hkoj=&Zl5H5uUMB7c3arsJ|- zm>tLie=W(#CTauDyXYk)#_O`me|LHAd*AQ(ExUKV%~NK1@}%Jn;R!4vTre`a|Jujl z(bV^+F1+Uj*JXm&9$D_pMAkAZqKCgGj34y#+_3+w0GRZjuO3Wtk5Dao1@%0T4y|=R zaQ|}rD(4dL<~pQ(kH~=ECHuf=1H1Q|IR=82Vqaau4Get8t83rK5j(9SO3O^4NS8By zW)EPP=?@JUl@tyl>|L1u<_;wa=K)BAd-J_Si8;XLl~j61NfID;lH>%zqNm@_FN6>6 z)qJE+IbUZla_k--6Vs`oD7!8ceiJsm$fqjwdv4Q1&HeB9FvRlNoh1uhRjyzPPN%O2 z>gqyMgxh@-O`M5^y(PW$men-NfB%}B-hALKJ3qRsTJigBK83=}c*$I2Z(z%b5Ml3d z+&#`xcAM-~7KuON<0fuyBWTZDYdUOp-|rSk3019Y3G4CNvkGu?p#uu?GSU^;B^dQ@ z;JETqga27{E2F-1)l$(CH7?NoVr7)`X_40VcL}K^6HP^U-M?o0Ci3;#*Qa()f)ZOI zN)l=fdl>MU)*~>l-@ixZrAxcYU_dl1O|NdTD&*PfunvOEu_2w6ZQ}QA^%(`eh4EJQ z?dROswCd|EgEDv-C@A2fQd&k#z_j+tTNcn_QGW7c=Q6%g|E2(-3 z3ZwtEHOB+n`jf4N#b8+39WJTnPa;}&cSSC=uO_ZF(gu6DORzqk4yi4uDZ~VS|Ey5M zo(=!l2D+J6*r%3-fD7X20|43A)agc8z%bL5tq#W6EF-{53~OWZ!bL{rDm^_(Flc2E=T4sG{uFAbKg}j#qOQY9Emo{40FlXiboT(kOKozyi86VCa(2qjvy7IY8t>6_1TB7M4H=kr%>< zgU6B1ahLjXL@_7))$UBoGK2oOAsoxXk=-DgzWb9GsDKZ)#j9eN38}zSF?UMJKnAF$rH>c=enR` z9d8Vyt5x|t$(Pr=n=q7JqPFZeV7@gh>HGaod|=55Q~ulQaq-N{({djTdO0q7p!lEq=EdBb@KbY(ajw=cS$DpM`ZBM*7F|r}F~L*hR0h%uAX9qIwGfwY zGL$i~hh&>n+o4<}Y&G<1I=*=5p)V1a6-Rg`#tpY4nzzUVzMF8_i4MJ4|1lqAnG^6!6-UuvM+t*5 zd?_VmK?2WMM~J&YM(ai)N4g!6U zOL>b69a9p_6=J#E^K91L3DNh5-aCglmd#8HUg5C8nCeEM#2GyH1M*d#AbD{s{{r!2>Pjqs76y z0)e;X&+6aGoya3g$&wGM_!;ZDl>a=5w^{z6k}BS6Go8EG;x@82+l}eSdLGVPdmnwkxx~HTG{s^S6X1 z3iz_T_*y2IMyBOi)Ow8;NhH}%s)vE9X)1~;s=si3TjoTqLvreGP|QvUvtbPyWxXzSZTpno( zG$A|Uc24N42L*d1DQz!T&Tsp2TQY!#bn2RjgP#f8s3c0RAh(Y{G9HQ?5`J}=83eop zUd~_06YQTVL=QU(z;3=U;}df9ipaH6RyWJMGE&s$+h{kI`*zms!#bQ7EmKvM8ow0H z7~@7O1<(07gbs+zYxD6}$tor$t&{{Tm>Q^VO3qcjdvi*vHu_2q_%*@CM&~4e3gpL3 zryw_Ak;Q?6jSq@lA zkCEP8r5vojIilFS`%#x6T@={||KQg39c=T;30~$4TDfl{C((^L4h$F|uTmHhq3K_n zPS!zSgk$PRDnv+_UkbXsUvd%;E-k;+4;vHX37edaYaN66y1RT#xNw|cV5Gf-N}e70 zvtsq`gXwR#rAH)&nU^O^t82YpudJwY>-YvKt4#7I%y(`Mk<#9eA#xT-@DHXwXHBtv zc{_(fczdfN_Lhp69pcAUjLkI==`via7J8i-{jl70QqP_Hp$KsiceeapBB^^3HVsh{ zI_D$?T0W0xP!xqlZ^YQ&3*sqV`X7lkTs1-Y3|#n5P-MeCH{h@McS+@Qpx=7^Fzb0C z>9P3wGB&D=#otN)m!1)Pas2?#fY5ZmMfyJ2c6wFva=ZM`t+KqRV$#dgfzrO$ArwUC zA7@|`QwdGTpiGl@Mx^dRE=PPcBUl^nl_H$b&E3uar4+(hn=J8dDmK?a+NX`zO&$TFC3A#zy_rF$lyceH4 zbJ%Z>r}-X?9Uk9Ld~zjne%R&dUm|2;;Gi(w!d8dDHx0IkN$95QF`9V>QDr{Zkxksl2DT<$+U4Ce%0t>1#)U{3n3F zQKdk+!Ow*{F(={{0)-X91q6r|l&UqLNy#^Fibz<#w93PhV&R3ShYsy&7fxXkm;jA)j(yJFZ$c?SlL{w z9}|bxPS@j_>2d_v#KxHNNim?PFM%WWB-hGKR)35GREWQFLopovxE2#&( z3{15RlM@8~d{WC)^$(js5vfqi42ke1I~T6?81XhSRB!<^S}gAQ$X8q%!3m-yfxYG~ zQouu-z%A?y8-&W%!N){!RboI(W_-=wzqx9j0TRcSN(Y38!BVR-}VDp;T!j>a&$}2^h94AEa%Dz7ZSQg_u=!ss$JmP5}&Jcmeg-k z=FN0Fd3%;3k`-PxxXq`c^u5%Yw|K_$0Q)vdu%I|=5Mw&fq}6|sa_p+az>^?9MareE z!8#dmTCws`Sk8#Ne&w|T3_BWA!!pcR4q2zA*m~iL&onAJ4_V}%;-b)PBEpd}=BB!6&pQtD~S79M{K3>Fj(l!?p_Uv5m6 zrMxR-gBtFRedq<@7(-L&vlUzJ+nDk1&)(>;xktX#s#;Ftvsz!5tr$2YEi2#rMpRpe z`%jfVhM#PI*WFp-(^l801QeAOFy3qpTgj*AOYK5%aa|QoouiMTJIC#l#v-$9sk6Kc zci}?b1l8nsCCmQyq8&1G{7gea(_&rwS5k^jYaR!E5=Ox^ypsJ3|E#OX=Nboo?x#T@do3w19A=rw)P@W#pEdLMB3Nm7w(-MZYjJKpU6-X zotyc^p#X*D0we0gScFQtcj>oz-i3U6Y5!&K_N(zy7ud4DFMYjzU00o>&_5Ibj=e92 zy5%V7MZ0;tkqKtcF|dEr?slFK-%vzuJ|rf4ui^A4oofm8Bt!tWbXTgGFnnpIdaKna zB5v!dCHL~V)1Ldhuv3dy2R)|uaeBdBse-f(%D4zK`M#8__bA|gxV*oGS14`gO+(6G zIdYUO8W|11hF*z4F8wNA3d~|`R6c9tUWPGX-S+s9g?M-PB=wJxt@#w5@pC6ItKhf& zZDdHETs{8tWyxSkqT<-y5yyi^SG%mcrv4vMUmXIjmJeL7UgbYlPx*-vkR$mc}X2g=LAK8Vnlo zQ=pPa_CrVNZvh`kJ8X3d00R-AjRV1f--^BiR9;bog*80pzib224O;f^EGlC`6B;bg zY~u+Iwos^Z3IVSLbps?i4El2Nm zZ_52MwH#HMeX)LEMKc4I7UAS-2#l!!UYAOSGJ+t#D(5%OU(5_syAGPn_~pw4cxO3$ zJr|1%Bz@Duzilp-Zdc}6oxGAWp{?EBrfi<$#;@*pdP8{``ibF^d6+|35y;qy9IRcfJ=>iw` zBMcRU2<@B<`FiRX9Wq%o82!WEC7_vPV_gMqr`L~Bs<)i>fJsE@*q-f?T>Xhi+S_9% zs)dN&gsQ{+9BDj}Pp5v6(Tk;<7^j1dW)e{-1+_pVrl@GI)W4-*`Ai;bb@{rE#z}+$ zZ{<5=&c)146$m>99B8b`1JD;;qv+g#fDx$v6AU<@;|t0$fx9m_B0%HDX?6*eiV%>w zN27Za1+WO<#LvI8-fHl6Cs_cSb3*j&oGZ@A6hlH(WOPS|B7?X zdvi?qh;4?W4eOpy`D?D%wyA-j2!2_iZUAlaJ+&M=T%H98gWkR;lh8D8Gl`JfzOuU?QA`9rAUn=4P@rG` zX^T~}ms>XBp_%{1u{h7U8*AizIa87RO6pyQKeyl&fA!Xqaly2&+ODP){1}4pO=&j- zV)5~Iqh;k3@!q+$3O)Fl*HAh#8^}mleaO6Ea^NKUr)ht|g#j(}My{JEi^q4O+qYvZ zw?6<2a(Iu?NlG^q#Qplkv><7QfzPQiQ8E+K(TDjG@6ySphHu(XaC>~q*6|;Qu|-+8 z>&E@RdZK;}_GEd*R1yGn$ID3svhvz$hS=FXWpv#?p8dn_6ZgPnN)_-Qxr8~UJWEJk zO!77E?wLQ!AWc&} zv>4`id-yq!A-{CLjFVk4O|edf>aL8E3gzBMDg-V(a6z6-@}ea^FX;`AS8TC*0z{jX z|7Obl`aRBUv`kyJQ>~-Kv;3d*gBUu#SWN|Bj&7rCraXiFJ!^v65oN5+gZ!o_W;%9U z`SyTMdPz+DH7`s5+c8yWxi|b;z@DkccX5jHCAnKlHGc0SY>!V9rGUXcYld~UCeoIFj!2tC0BJ6jo$m+RWJK91+`rjQ|P#+ zX3N}ceWN79ciY}8Rx(Xb8T){Zj}*UijFMZbXwKP6k*-U)2Fr6ZK$}hWzas7AjK{bVy&5&VDOBE3e~9_{Urq!lo*7h`6bEcR z0pGjeiCiRvcx`$^fENb$uXA4m%3uqJ{oluoAcfRmivk?dSrVGxp8cRq{Q|`$6xdk# z`9m*OUgt&RR)nUd$II!>)%K+-Q&iFBZk&X{)=g-IxdJd_Ya06^6z9nsisw&&8KdB< zRr~At`m^t*pnTf8OcMXkUgA}}e~+xS9)8m4sqdDS5$KoSSTO0ZtC?WpTC1UOLv`Gy z9Buz{SCMaZJtc->YfkO&gx*QH3%2&{wKU)g#13)*ew``pp{rjUs2GxCuy7n7CJbqf z9Os7K&ML*UWpLsJ_;Kn2X9wPt-`8Xy(sr^Lr02uwyOiQu%mlia;Y z``^O9otr`O=RxIiZ8A(_-WSn-6a#2{q8qppDPgD7-V-B);TtBygerd=2mC!}-89wY zBV4I(81F>o>V3Co#wN~B4-)rSD@k3q`_T+UqS4X#k||}$M#>O4_X9zoLC)P@UX6c@ z_KU{sg_UA4&8AZaGTDOO&HP?d8BHSp!je>nNcc%eK)I(jW9_cMiX;rw0@i}*T!_Q? z;ohE`akN>ten3n?NSyEZ;!B5$OmX6M)3x5zyf+Xo#`F1;=cR2y zez$R(%os0)MI_O=y>xd{{#rEjA*{;TI5Tng`!hx&gr0(}8I6%Z{+)*G^+E|39?;M` z?gCtEfDQAh&3do%sNC(HDigp70K>!#YDvHThGHQMU_b)yngA^V(H(M0m@WwY_26(r z4-WoGR;lPiHua+Mv!Pv6J`rmIja*CCXP+2*pF%2c5`9DkMQ%oBQy46^R^7!`A13fX z#qARm0j$d#*Z4~G*}nG0(tJz#A5E+7sg%Aa%W$p z(w3OICtS0Zl7?|5L|^SP-c6f+mJXue_o0ID65*_9tkptH;F|c2~Yvr&r@PJ$o3%eQhQ56 zAQlQkOL+XLGAf7#KCA>JC_-QO-M z)kX7vOv&fN%`xG9YRl=P(dQUDbsrq`0EXOITXYe7JoZuEXa`7WAHxiU)QtYBP(x8l zlgk6AIp&i%2=bGaz!#(K^vr^ld!x8br<_%CMMMBzTHgX=G41lz)yR24JTsjZ5K`&G zz()ah-o&%I@_AE-O97r;5+Z~~@_W8!nZ%zJk0dwu>X87&=f_MEf|9EhmP{}lK;;ou z2mvCv^5q_2l_P5L9(C6`j;DDs_6RZ*7Za&PR#-LV2>!$gySM+U_4M z#_rb6Q_S{b4<${`4jUP7-`$mN`;BHL$IeDXCcPR>ZkP)2SlzLeO4GJzv+zoaVTHh{ z`p>SMiAtXq(;UceOTc@n{qa{HRb$mOIYtH*P#{slNP@BKsNlfXAX$ESC`N)flQ>*S zrG7h&Cdbm}+!JG9A5`4%z-*E%SE|R3YB5Oky_StBYjzu&pR4EH0W_3q_LtOe3o&6cX z+A8}S{ut#xPkqQxleGJ#_xxLoKehIGNrZRO{U8{u1Lx0qb(hq)w-F+K(qpcF(fo!O zX6aH)S@=TejLPU%a*;*(77SQ&DQN2GxDw#`Cu+T~q0bqo>!u(JAb|)^N^%npUBv|- zm1J)(Xjbp$Unz9Spsy^;E2P8YFXZEsVc&9e3Xg5Onr^k<&f`$#J|s zHL9`&L+|m3`eJ@W{1P$uSRew1Uf0=mByiE0W-KV2PF=GBDnN%|Y0a3cgi9AQ0KouD z0c8EW-V4OXS&W9ycz8H=I`9t|qHv-+uY1n&R}B(OIcw&^R@?w0;Zrvu1yq8r2TN|J zyQZkbK4wOcz41+R?6VHOB+gj@*?lg;wRigr0TY&#KM1d+2>| zR8pn$yb67>k-j1ZqBq~@T26f8%jT!3PcQjLqx{?d{+L>o`182_tv-+u95}cBZ|7*i zH*2URo6!tmGi+nPv2teVihf6$LQ{_pqdLT}YHB8wt&6gy+W2+A7hI<#eYqm|vV`7a zKkSFhS@BI!nMqmln~zXnE16mzV=zCk{jI@%6A%7Pag%I;s^YciWTP<)-Cj>FVN$sS+@Y}h286Buu*=^|>U{(8pH6tm_suqq}et2(W362gq2nj^HN)+a;4*|OE{ zo@~Y8qf2k$i2$k&B(FRNQ;Cj^JU7CenE?O!og5}K0UAc(>*f1Vq_TX{#rSkJtC+>X zpM%RZ-bIKCW(fo}trthVnJ|C9H^xZ`54w9Op}c1;!wT_Xl@!r)sNnJiHp*bi4fWVcNnVRl1OI!}hvH9L;8q=rmAAQy%I3Nb?kJA3SCpT zCwP4{EW)}5g^XNbo4P@0N~B&-XULTDcFPT|VYYm8HE;P+SLZL{MraXC;lyqjBMBb0 zzRIRbNQC>sR=1D8ohg5Lapia=_d~O4484Zgr9-!|&sHXJuB|z+MwrpYsfLG$VdMkG zI8$iq5W*x3^H%!`#9)(txP7}EWjsnK_a@zwgYbQZ0;nU$if2JtF>D{qMxa8OOZ2e} z0kG23^ErD~s$RkiAwi|DMCA3*LwfOu78a&|HasF*)*|y}2 z)a#JDxZ@4^Xmr<2yk$*~BrG0ISwGXYNGLi2Mh zn2Vdf?p5RZwim;U&PvlWY+;qMs9NZ3p+AR|gD#f2oeOCLgH~H&KQ;>gE8n;K1zn66 zaGbjD;|uEJ0{bmCU&$ay;g7;=)et33*Og7_Nl~QXWZ1;E*_5&6clW9r(*ddKLv1jXFA!nQ!g7E+Zt4D zbO%=1`KqC0Fg;+Fs6iDVL4g!Vvpi+X6gkC_M+iKj0g-{s3BF1+?W6z=oUnSHC|Pzd z%9|AzS=9l7xD;cE>I_c24^CodT%)3V{uLUza{^$`H_KU z&)U$6sF%ix3rDkUhAqM8xmO+IP|J2z#^W&kp>o z2_=FhU6qDu0bIe?5wa!{@84%@Pp+d{5`1kPIn7aB)}Ap!TX!#$4^WrzB|uYKP9t{X z`$$T4hOc}t50k&^Z0Or)B09v)m)eoWh@-6siGfBjLCq9MK+~%ZRk(>khJiD#-wYZw z#8ufX2!(<$Orq>x@yi4_D>yKySt8*Rd6-Hh0kcLGgz_m1^1VZb(h6A*03VU29sgr5 zK^X!=fPJA{si#g)u`pkzbvIzan^I*^-jIV69=`25Z3x|E827oFTwV0}<%qnAi3>S7 zqb4GrCzD@5Ru5wK4a%XgS|G(?3?G*%x!%ol7IXCoEZP%a1@XP&|AXyU(XXEN>2F;& zZS;>D-&UR->hrwt8YCuYJL6a+g~e!r0yD2ui4en^TPtfm;wI+Rl!_1=X-Eim{$_d#D9B$ z)??l|JW4LjT3vHVL(B9gD=nL@Uq=7D2tBWOB`S6Imv`@j z1$GIR&5dn%c=2#X#uh;~mw4Gb@%kFHSzDV51+p(SYd; zMP@)7!a?0+521TZOq?Mp>=oQs0E~nH@vbuHtpXNc16v5kl5L|@)W!a#-)(!^szO%< z;-pN!ah%6+(n>U-j0$}K40~WHt)QW+c$`Z8kmVcTY=G|&6KgA=I5zfpuf8pCMpeD% z{og%lJ=E*@C7_My6e7CfjE}eqy4m4i{!*O#(*uJTIsKix1`F}D@9&k@Q>#A%%Q+=9 zBk_NWC@rGG1}=4#?|%J-csG0(){YLCYPndjuGDF}PhEVDlYBDQR(0?wcsX4e zgd99h*^@<;?45I7NaX}r!hI{o-iG9-2eVJV3$gtro(k{ygZN4q@P4 zk%Vbv{ZCtCkxB{zTw%MMhqTy0U-9Y&5W@VZ^6a5`LIQ*c2ot11x9LK1Y1-@Bj2l46 zCDLZ-KKzlmTs!g?@b|qf1GRT2(A9Zhz(fZ)R0+BO=7XXl%6^uVZ``+ZSNwOnn^bFH zRx?=S@i#Tp4nJ5_N9}vFLFkXf(0l-ji$|LzfM(00H4>Uh(Tja_p>B(EghxB6>Fc}EbvsY`$E8J+R` zVA@paW&ZV3LEF(^AQdFq)n{V}AoGZr7LQn$-v~%s^LtGwoPzp_z36hAl5go=ANS9y zDfjr67?eCrxv;n#-`Y#r)zufN$z!u*u7^{@T-d&7(Pbk<#R8gaRE33 znY;kXz3%iSsC%gb0X*|Jv1Rsz@km5@?<67k0CEB2>gs7cufQ(ht{TV>RwGja#SRqRtW;QC?i_R^UKtii+~OW7C;|S<^015um{@G3S44!IwBCRuonHFB-U?bdbnN? z*7U zysp3~;@4-U_Np$rRC>l%J}ff2Ew0<&>YaxfxhCpi1UMM%?uc4CAfYVq6qb+)@MK-?`SV_emi_h_i_@oajFIsz z=aU1gM+H6^Z$^ktuXVy=N9lIje7=x`65GIWPkzvg+{Wr#t@Y@b2$8S%aU){5ML@!w;V1Ga@$DhHwl0UuZyw~Pwh%3VtOP&f6uz?8I6|4 zp!Tv0xjbFVX@TQYtAG3)l>+YBOd=PL=`?*6I-rPbP$qoqfv4GKBtb)=GHBmm#IpR6 z009X@C?f!jndzDxPjjd5IP7+=brVELg!l<6ygV99&HOBiA3dIWUU4+(jX(#Q<^Kc+ zR0e75GrF;rxX2xfB-3SH;*=?@r!v}dn!)EZ(|k`%o8{O*bMk1)2ywm)9O+GHh6>a2 z^pi*5M2kVroYA|oWu*b9!E-m`1FJHM2V;rn9fR?u9iwC<7koXcq1&rjx4ueT2To)|u2F7+yH zAj;{Am|6=0jGV8p%P<+Mi#wF?c?vo z>3FN0uCHzjX#MCEaalMgK5y)`v>TnTta~XwaBOanSRg}PD&C1R2?YrlRUhNj7=Xt} zvmu~~o+6a%<-4+E_3MI9zpHbxa1aDQF_df5&%uwKmW2THX#en?6mWn~CGp^@sY0Kd zyj4;44^Sm2Tjl4gq~phYt>yHoPWzB$C|X2V!Qd2%C=(E-=t zFXa{pm-R9-rCHwob$xSp78)IEcr++kVV0_Y-zE6VZnRRrlel@;y0bM@A@YC@lgv>+ zOj|LEn)4_#h}2Als`p7}C2KHviV@z_?|(R)6NfN$wT%h~Odn#sg*cn)BjU^q5Hsyq z?Cq}!B|__+I7#0L6ypF+?#X&-7h7YWhFW?H-f++d2gzP2Cphigf8+fSC`vCEfUnc} z4PCcc?Q@$O@XR5&o!8>+-rHpYHi8C#<-pC=9|R7{!$XedAwB;74L=zln9&r+Q(`Ir zfWjY3;xGBP%iGZv7UWl6aWQnu;FgB(;I4YMn%X}`5^YtXf3IP9va=$q+90V?Eb$pt zKG;yxewZiW2t}aFGq4|nkUrbA9LUg}!0|Vhv8}ZQDmo5sj{Y9L zHc?qfU>c&A_=h#89v@)vwBXf2k^MnjUO0xT(^+ls=E2eC%1&Ut=Kihf_h9yHba|)g z;@*Js7gP^4{eiX>Kv%MEZxZTy+^GePBa^5uP4qJgQ~@EO4CA-|Eq9EX5RIplkrnf< zV<)BeO~eu*p&57)E+Ocj(-BiCdx8-t92d@4^OMS@C4hCttHm`Jc}Q92!X4!;-{VDU z!gSv8Q#sh?n`49RTch&E9G}JQrE)&;-ZdD8MGmGpbsxH|f+>yq*ZD~tE$5Q-Rfbor zJh6OpF)?sC7T($;fA;dhtni6yprl*dd)NrYm2*wejke2Lk6>@tp6|~6GP}%=$a$hs z#zrl5p)77|@5?>Kf$EK8H=@4egVg>MvUjT0Q;u)wrAwPP}djMMk(-`YtTEq9Tc$#!3O$WV@!UHPuu+mWDJy)l_5Bc zA=LBuDf#M|@(zexVh9O*E$hBR$eUXAza!H(4C9=_dB0&D^EuSM-M-AnepI;uk zH0sm$mzZ*;ljEu@-y%$)tbeA;yB_yYu;8aL{(Ph?>o>Pa4weDpmv7p*jiRYHDO~@C z-w_o{1<;kIeQc?MH`jLyw-3vTPhs$Yg5mWC$nc1Nnf{~1CZNgYw8$2GO1u+2fK?mVQ zRw$?KBJ|G};LIA|eaD$(gjYGQZAVy}Q_^zWQY?L9BmY3AEbKr@GNshdtz8Dl!71}E zT^k^L+9dv!-?JBOwHd{L%fKh{4B>g)`eyF#NDys?S^JC*aM|jX|FZR=(ox?ZLflWC$q?T_?(tR!8He0o?Ko#Zs2Wh6v`cc-A{jD&`B+ymsIB6AsnmMj8a?{?Q~<7h zCC;5V|M^dNli}=3EuZ+6()fzUud!F9+9g6Ck;6XxPG*^Jy7)>W(#!M_J4`P^YPB6_EL9o`|6^k?J}e7JzX~N&JP-tnM=ckW3|4D*97dQ6-23N~@#D)Z86} z$H=UXm8uXgClvY~)JX5JaPV8cOuth~}t6cayKYHx@$DG!GFPOiQAaC6Q`sQL8 z;@0fo;EO!#mYbD3R#oEs76vWYMG{KNGe$s3Od8QlXSxTENjUL?_H0t{6|{oW%70aJ zSHSKvFET-lU8iN0TA-TsWMS$8SFN*wJ4fN$BROOs)jn@~(C(U;e)li=fMrIwm0X?B z(9j6Iul;5NHpI>3PJa_0iC^3#SI>d6k-6SJefr|ZH&Dx9wWu-h9lmd~x{j|lZfh^|jroL!D;#Zt=98W9 z6ydm#+_1TU4_48nuT374Mo?V2x81CbHS=}VjxduJnpl_lqo6?%QGneffvK_3+Mr+=6cIPn{ zcnAN~9`AnCbSD`AC4Dt79BD8uGJV?{Pb+`PhRKZPdA1KS z$JUh zt1&h7wR<`;_NKOTLEELy44&TvrRJ0j=@Sa-%!qjEVg10uBbM}mig;NGS5M_kEv)sc zdG=;6f1!4p*Gunr__A7=|h#B$gUCGu}z2n@t23>4lfbUpPs^i28$-yyo-}+^5xk&&+ReF znW?=n@eV5LoX;d$FZ4CLfUzCV4xne)BRacY`YGdy)A(;WwC2Ula~u{}$EvWgqy*7)g@!lQjYzK@Hq#^c-e{ngwkk)I*g)$Ce`k{zkY2S+cm_iYyR ze>8A3zxe`14MPs_0X3r+UJR(`ls>jwPK0W}W?q$~;X{ivFfX+2S>zIda6KF~@PeeY z<+}Z8Ec9^W>!c6yLQbbEja0-2(jA3jP}Q~gn9f_$U`Y;m==OdY;GexKH_Y<64%<7e zgX8<4)autp^%y(XtT* zdXQ|`eqcX;BS~5@x=RC#5oN*U9^Sq$T3*c+jx|n_2?{dI0t?bHj$-H_lo(xmfof?q_~ zEw*tuQdB2+TI|mk&Fw4p1(o`^UUUr9mER2a!uG`u8Faj~9y^MvUy2Oj>Z%cnlOfkq zd71#5Ak{C?Z=|PoXBcp#F=q4LR%n39g=l~%^~H;K-UU;88xp&wKW7u3cZkjLPOb^`y_wv1 z&EoO@;Ws2^q}k@eC+O7g?Q;Ih2Yd~pK!Vch5&=-j^oWxL8~VqMFpE4s}R z*MbAT|8YD<)qpK%{y~cw_5N|*nYKmMyPFooyhP3s$-(|>B6isuOwhS$QXOSV%1CPL^$ zWvVbto18g4+|nt)&HS4E>yIBnN4NYi_8QxQ&9Vz!NB?PZ)~nwk-&xq*sMb59vPlfQjB zYBC4~%C9^iPu*~oX~Nt(U*HFxxY{Hnj(9o(Gk*^-NHBpg9tGgI-)z*5nLCLP@rZw06_d)k{MmFn2G3?r+Cn%>qk$w{IK#HekA`DpXDaho9R64>XZWCh$r&*3sO9e zw!V^r^<9xPoX@gM(<3B@Ik3Ir)+Oxhr4$BNF^}y)&ZLnuP6|%{s9x@HXu{*5#%9Mf zzDy2`Wq#z4)pm31bPRE8X%N2;6D`}Fe|Zr;pSkGCd8yq}>&J-D`0(VtjO^FD1x0r& z(=n+f=GPOg-zpl8Y-hX%@rB{s&+uSd0- zpK_Kl0I?VQwk4Pf#KH6|0EIZUFf$7U88X7iSgb1+7S`LoFO}eT2-N|~W(R33o9Ymp zyr3Yr-@OGHDY%`b@dP5H*NF!dpZtNsDb_ylUvDoj7e{4b<301&dN{%GOBB5ah35{MMo@d3m%DatuDG?QXhruXBDcWw+R{KThbM({$E+oa>33mq)@r zvYCs@C%aCVhZK$0eul2f=Akrji1L@7|AE=yEG6A_&}WBe?o(#y`F5(zWMla`cTrk*%xPwU-%Z9TCs>G&5lj%l39cXQuRu5W z=!b}{!L^GQdkli^S1X(HnITv+ErIY)NfcjGxCs#(_e#m2Oz$(pV-7|Wyv!$;6m)@Z zhc_j8$+$Wez@i5RVDAA4C4#$>9Ck zJt>f`K2b37`Sz^cUKYI!~4 zy{%hRDC8xWpE5kieFWI6SxQc|-CuJ@9CyD!=RHQ|-R1cIHPyo$(GSg%yKT?u>4jH& z8BX%lase=&suCxaU-uw64>&A&3s|DT(Sia&4u}o~Qt7nS75Jjm3<*rJay-4-X+Ss` z!kUFmQXC#=h>QIDK<@;ZVB(Gq;u&}1MkrP2wynfplbO7mwx@pe{y2BYMosYV(h>sy z<3z@cg$v^smw`_rvBn9yv74<-B@I9sZ+q zgxvP`^7-HgFAM%+8+rPHpi?>%<~L#m{H8(K0;*A4QyS@mb+XR_vG5Rqxqda1ay7yf`QUFk%gt znD}=de59!L#Qge0&gb)s6^ug2HJvl#sF{_7pdtxy=JlxH6F|J9-_~J!;I`3+=a7fgr9T>b zw59F@=_3KMZqC?Llu-(Jnit931-L>E#95eR|5huxoZhm=sRg)s(o8!g)*C@8IL5Ay z85)8C&2HU29RJ%Ma-U)hv5_E5fTUSRzZ<$67#gsk7^s;b&|?=n@HZ0Bia zcxwbYkSR7jNlu*TX*S<*j9L1{p?p4%td2tZH(qv__q_Vit8vU6c$VgV1@tanUt`v9 z<{2@i;^nMp1i-8EoK3)#NEf)D>Eceq5|2hw-QV2q>0l0cz`kn;sXj%9Rj^P0!Vb^{3|EB zn<)@WZL%<>Y%aG45&{{oKz_#i5h!Mj-vh05l2aLJOf~#l<8gvvwwHRf|#Ln8F8B zZ%m)|=g53cr+MO{b`6^+A`sHm zP67L4piIi8NFaW`gC;%-5qDN(V>zJnUkdj%J;f->-Z5N|Gg}MPN^3UhANA?qQ&x2q z;t7W@#gw*H;h~bPp15jfU&e<*8P_fDOIz#}Sg{eiOw-Pc3SX2;Fr#z$@140aD3LHa zBLUyGfRpDocZ;eexAoLXTBuK~vP{5c!Fvtp#Q0>1cey$PVh_s%?iRm2TLj7BqlP~w zM(a@PJeMvyIaNdi3==$r0QefbLKWQKQx1mx-)GlqApkBG{R>J*i5Rd_*Fg-4^=w9W z3LrYLctS6ompNMyCLuCB%%k0&^R#ocObFOJrm7PvC!D2ulUef{dXsNokar3QdEZcYk7 z1_lcrklc7l^fIvHV9sH;;qbRb5J^%0C~sUs!O^ka@WsB8tko)Ncb1xvfZeLkRB!sg z@YEsaF9pN;Gm@iYY9@cqef&2rpRMMCE?xB+MwB@Lk>(r^O`V+Qv;%Dg6l3Q2vWvbt zWt&NUuT1d?Nfao6gcNMc(+yX#2W- zJ&b6#*EN@$`N175d+#vTFd}#m8k@n0O2Qg}MgT*)ck0BS5d2gBE-K%UTxLkgk%)0n z^+a4SIlJ3G!p(nVryZTXR_e;W_@Y;~<96ySO2kL+mHfm*pv7@w>CZu8p25#&#AiPw z0q?T>92!A(wWZztAdSeW_veAGInCD7{N;i6Wp4?0WR{}g)) zc8s)3Y@R2r$kB8Qs3b_2Gm0H^|M+m(db>{Wv2W$O#gx|a$as~{O9|}y3hloH3x2~U z1aFQj#~q5`T5j1pMS01&+~Lo0T}QGzZb`D7T;I7x$66I0ouyg4iFUf>4WUCUcVUDY z$pD|9N<+@y7fGvhu_se0&-iToau^eI=>$KDjMn}o?mde^^_k2z~xDTpO zH3Z(e%1gqNahk+Id}TPM&j){Raxl_9al5GD;-|j(*FZZp%VRH(WZ5@;65$M4tLA;6 z6WkK`Dqtj2+G*8gdtpr{n^E2N-!`52kA8pVwy3z79^N6Il@_yLd)s*rRCB!EqgoNA>!yhxsrW9(fCpCf3vZss71LPJPhD=~O}KU~lOzX@b7? zrq#=l3^C+CQ(PyNRio8P>DEa1cr_-{!n&J{pV0n}X`cUdBpjH$u?<`rhT(6&=s=62Jo<;raNr_PR1K+>i5XA6uZ?(Csrr zzV_D?*>2{bW7_?RBn2K|Y3ny)u0sus3bP_qInCR)OGmxVAq203Ep8K?g< zpaJOO51jFFF=oI8D)X_ocJ`g-@{R#q9|EK*IRkw{09Og{Fn$Y^jsh#OTf1R$Qt*TC zqA=kBFlHzY1I{iHlRjv+Vu`8uDi&i)xxR|%p~ka_7k>2? zd(Zx0FzPCr90bPD!xlKqgF`Jml?)rWEpbOsgdXwj41~oYDwnQMUM(cQ0XLlC`$PvG z+-lVu_*`>azydtN09-P~w30f{V}2#O)|@tfyZ1c_dnd2q_`JG2tCzlLe~rh!sc)xz z*B5>;AWi@K`Ug<7V9L5P)A+e3!WkNgV!t1;9J(glfJ;r zwn428hyNXj=`U#nE;%4%T=xNAC1#&*J?KqRN_Q+2X=ZEIP?dm`ukm zS+K4OO60R5^Plq)XRhBE))mWa3lqin72dL6BoR)qyJ+x*TgdSXkDI{P0-N_AqulN> z-C+~a08zIHq-#4#)u1>&LXc9m6|i*yN_2{|8LRy!Euq(!V1Zk?U&Ux|>16~ui;z)d zpK{!XN`Tz}=Y}D1sf%ED7Z@lcHs%ZXlRa?P1-}&4-&0=V2LMvw1eXDsB#&4vo&5e^ z-vIoMg8;CXNE|{T<{ScC1Qqrs5JqrM_l3Q?JNH%v`pbFxg02+OS4_LZ5z##AGV|Mt zvSD)X9GSAS7i4P>cV?`D@QFuwtyUl|F*nB|8#Sh6zu;+(Y^y-j3TG|nLDV7ybj-n; zoab+S{n9SN-EWUGo3klcXQ ze=C)T2ufU3HbHTWiY9#K0MDMJ`BgO&HgM<|B;{{AUx3nLWfXCA5{liPRzQD^@>W3|0v8p9I8V_Dw2zW&@7UCalDOa~3?M05|w zg>DC{W+~Pc12}jMAm!u`b_zkwH>iQnEeSv>@dlJP!vN5B;8PrmC1QsGEX}On=N7*#7+*_DY4j^X}3QeW4{ooOw?E_k$3>IRb<;y~0NhHJxGH{?dG{;qj4SN|M#c?h{rZMEd?44%!e@QT zAb?$o@3Ubw!XjKg*n$XKU~dmMz=^u&r7Pc-%OEiJjD4Of9RuN6WF-6P(Kf(L6~BMe zUKgBkRm*qFD;ICWHq&;gF-QYIWB(YiuUU`s1X)($Gmso*R^2o z;Ny7eYV7S&m$3vqpb|1m6Cv)3`gS;61wr2aM|KPqfTC7J!Pu#R;3z&AU<{b2pB1V& zhM3Y0z)$$SWBGJh?)vObKr20sU5uIY#vpGz4#v8M?H%+LO`Q8Yjy=AE%Dy-!Q)@tMXxnDmKsajZi67M z7tI&hroleQ1!hcvO@3-Pnz3SrK@2sKX~^*JVtL|ELNUNh3d6 z^gis94ZZ}Yg*ccLTLY_0AOPXG3amnBA#Hete#EXcYXef`Cv(YC1ubgrxsQ@!1Y12u zB&z)CKW)EW4&Wu(Cm?oAh=&40)X0Wl?lGRf+#@JWyM5CDuh9N&=H%`M{8$K>UM-#f zt#1|U&8>{sos|zf39fhxi#-r&bq+QIez(Gk@jlz+;N_6+Ri586Sw=|^&yUC;h~Zdj zE$DmSj{Z8$vmS3+VC?M;^Oxpkv&8gs5SEMHmLDpg_(qa+x-yX{iWIdUekk9>es%&n zy71RQAGYZtk3j4_FLoj5Y|If<;r{<<`s#ovy6^A1yL5NQq97PF2uLl0fJ&;AQWAn7 z-MxSUQeu(_F5K?3 zsAl6xi!woMD(YEr;@8jVrQ8EnX7V`7b>=IU&0uHxUU*+ds9ep@;@(|H@I{U?%RagR z$3_Qbs&CD@((#17R@HHZ*643SrF3yFAK$y1TK2T8o-&&aZF6_xR|LlV*UjD$vQ+Ys zdAC~J10$pm(Z2TMMQuwz&>_33d35N{DX;4&MYYcbM=p*2z5nJ0?m0H)TFy>ku~mE9 ztR(9iV}ntcixS?qoXrS;DqO)_syYx*8IzM*UV{yF4OX#aU>&e4X zcR)#vCH}q9mEa{9L;@0KrWnHVt}K%Ky*pzfw)RnJl|Y#OJ3eZMUM&4gRICmFF^0MO zTiFPmzkG%koCE8C^y7^kK1&3+aBjy$pAL<*#JPdT{u-Yxt?UdR%|DmBaAKZIb3UwK zT}SM|?~`4`+`AWY!5wZA;zG1vIeo#2Fjj+}SUf3+&I`6WKK9S*ZCP?0>6c4zv63+(l3@Xn09;N3oRBECj^7EFOatDmxMdrl70RTu9Er%v7P zsP<B#;P?IGx0jep&l|mwYrlGQg z1OWeGvT{K2-gvq1o{+4J{8e@Jt18N}D$0sCH3(+V+n__xASl8nx%%>o@=7wYYMR#w zK{o0Q&P6$q?#!t~^W#PVi)Rd~nR-}^R|IL%N`&0#eXZ2wn+`+kuFVl=_GgJ*DFOBh z2`_Uj>ZALNn99_T;on91x!-uVAB-fEUmj;R_h)z>+;o(1_oDjlpWV&yst46HZ9KUIL>_1OfzFGLf~yxH%A_r>^TVg^67 zo3xPD37u_?4xgZZE@=v0-O{-4{+H#;t^E9)gsZa$ZdH%(&uH)+zn6EfsytYKunW;t2 zn^T+$igypqWMAy;H3iwMv5qHb2v@ZjAZZV=Pyv z;sclF*5NjMnOmZE$6SCuP~tbsq$m;`15YMok+-eN(n;2QPfDmcbL9|0hm$Y+@2pTQ z%Ab8Iqvh@4o80^pAg%C2`2*3pIo@D;BB5`h;wRRq48Aa2DBcCYCgQ1i1tBd*jSke5 z#~dr>AxdudX@}dzdJyV!KDqldb{C1r2-<}YMF<{jvXfJ+pXuXTS8>}Uz)uI~Pl-x% z5287K>Rj}@Osyes(@ZzRLDd-}-}+~m?2O7oezh!~#a~u)l)hvJ``Z>sg`2I)pMYi1 z?RQLHys5paFZ-@uN@gw;XPT4u`krvF&?EBmVRB(h`e5~bhD4{irF&${uva4XSBP?$ z0^=TiIrUfoVM}c8iPJ}M{%A>-6zBg!hq&_nn%1BxZPW+$@8q z8^!CcMZG;=I;*R_{{VuOUh2n$xb9WlK;amqq=?vc2~$-x$sR=mMVq{(!O6Avy1Ab6 zWG6IS#9}2go$0KhDuQGCa51$W**n_ti~A6J)6;ugW?A4vs_59<wo_oC%|=R9mC$PA;(qc$klWv!ct zbm^WP>Si_BdSlg)^Ve!MC#CFZz{9Kq3JPq4`rMcj<`*Z>TB^1RYvlso$+xhqx|YtM)hHv+*d*vCsOnz=_m*4R z0td4zLjMA|$z}5T~As@g}Mmtl7%5K-Wcq3Uc ziF?pT&+r3xNAIdCZW!GTpOD#66QVR~gLY~0$_7o_Bc1{46g)V^v52z6UE2DxBuVpg z5PACsxl3w;)2~&pU;Mi-IS<*vH(LkdVa$1-Qfy#43J`-C&$(+~$3q;qCt}ne+})p* z{JfNQcP~WwL7d#%!M1j!Vud?-gQ17j>SEhb`+bsMymPWsoo7~ex>Su?8yhkKIM+nj z^ii`&=P}qje#=-)l`ZTFGA*at+cqpp2|r***rYCs9R${4HO(1V0GMpFXzYsseKAU3=8lzw!bfQlWN@WN%?91F_eg^k zk`jh~#G)txi7k#K{jm7Txk;=3TpIx~ma*;wrf>$KxQTb__tGix`SOw_v|Yj+GJ>!5 z9-_Tr<2&G-_Zsi(0rs{(XMFVhvheJ6owIMq03w_+&+$jXMI@Ph1Mbv9tZfV$^_?HQ zX=36PWp>gQ@{4Y)r0iNy69o@JJlVK*RbRo%G+1^0=h#cd=_b*shm^^cZ6cAeov_Q^ zx9n}BP|}6~l7x}VeaBlIRVaQJLN8ClW7<2h|6IEd8)*^9sLTuhR?h||&6lZDP$1X7 z9gl8d&ayaGn2Kh-k;X+%NCwo@Z&j8&JHts9_FiHZ>N>tF*(Oc3eRF~ei*n)#G_?qj z8QQEb{#^ii6_S*Jn{CM#eWIW8w+xt<5F5{EBtqZwWtMRKZU;CeTSzb*B`~%;6DUan z)ZZfLm}SpGSdMfXSovOv3BiHla*gwi+ zSe;AWY;}iG(2>wH8WS@xZSdWOuxme^XGU<~)DeXh;z{6S-{=LYI&911GuKoZhE9_f z!P+J&^+WUB%p~=H^~Ehi{Qth?_Nt_`_L?^SK!}|rIm2pPCXGVM3G3q}d8k6Z)6&WG zAZ!mKfyC35;T)Q<$fBKWzK_Z%z~p4y&(oS3H`zUulykBho^c9Q)?WBDBueQZ(0_4p zbguE9=*@_G=VqgphJAd8Xm{uCNzm3^U-sMEEpoch8yD8eJ6_}V&+{VM19$?5pybqX z|ADgeAGx`p6AN~$|FhykX$gn$2j*LVxVs^H7G!`D@c3b*by+~(Z2@}*Z~;&eYr`Tj zfF;u-mV}rDn5o6YTxGUscnaPEbw3mSE1n%>B7zU4A5tBM-3fblJz(2^>a5v1-?{di zUlKA)o7=R#S6Ee+_Fqc>3G{Kn5Cu(L{j6ULzoxU0f2e9dT@>MPLRUm!zD_T6D$8+} zp)X70%q`9Pc!zK_d`Q+EL0*?n@>V@cj#Y`976Au-&bqtXBSI*@HrcZ%pz?jq!s?&A z%ffG%u>Q^W>StTpF~ea5cCf?wB$sp#NpKlZxTF#4UN8Gw4-2s7g@nyyIxO=pW7QR# zU<(UlJ0F>!fkocBJ|~}a<5oy=g6n?Gk-7;cxVhqHvuoxxStrE6;UF^1*R6H)tbgqj z?#H2UP}o1g%z@3d2o^NLd(QxgpVMt_*7E~qM5Dz|1vr5HWKuQ~(o$iBp9}Q$@;2%N ztOA1AQ5*qkPkf6ZAdLd@Gc7>tu`vRiEokN}sd~JRI?rS+!2ja6xAk>CD%Q$dWlRqP z?hN;Q8mY7534JZTGqc6&``PSl^AKQg#=nn>R)q~TFrW4?s+s$HOKQrgnCKH(@v++2 zWJT_bBvCu{Du6idX%kX*uIkUeJG)0gT=5xi83j&yEr^Q;H z-s&N_nv*L2n82%tJ(D9ha0%eAq*Xcudo}F^mL!k>mu?&Jh9DqA=f zwF|sUkw}2Pzb~CCL?bqtFN-1cnxQOf`7||pvBa}GYNel;Y)!Pu&2R>4?s?H z3bce|$3>H{IEX=6H3T^r_vVZ~01)^PVMy^Nr|nDRfWr%Vxh(f5G0&Irw$!bRXPXgV z(uOtU`QTW)GIszaK5S*4v-FHB(wr6(#-n_^wo*lN>6m_bszxA%i~lFx@U?L2YO+(W z!DnK2&e#`Q-}%K0%&6}=>tt+fHl*&dTmL=!t-HlOw5?okzB~2?nRR{eDp^VgJ5ZZa zdaQT!Wk?X3nbvEHg8{2PysB>rgK~V+aal4U9?HtQP9u|@3)Rp5@D0Xp4bOOe#4vC@m4UJfw}=F69Les=BDWpQN2eTIVJcFiNs%*4^rEzei0 z`C&>Z9PnMWvfNzw1N!Jj)32Za5q;lM`E7vTd82g>f&D;i*?$p&A@vb>n<*jHijMmb zpyI}F6=v+LHf)T#0mW$41rBnLyDpBwQsV^zlnb?b#I~Zj+G&ew0hBY3B7RC# zP_Nyn;g-M5l&gg8=bA$_lkfey&rRv{&+%FR5M)pS+8#){=n|7|qAYM$*L z!m=UmG=I&IpYO8gJutb0c^v%}fp!J44vLDuBl4Xu{uXtwHDy_CSCzMX<)(okdp*D7 zReHNh=*mqclfB6DYnEjtbfykSDjB{X3jm~f2gzjFu3Sp0iV00uHd-FK_`K8Sl7e=) z(bLtLQDZHBFGNd~wqDE+Qo)xj$@G&uBN?BibiR>3c7Q=@=AOY}?cqvk-M>?>T>n|C z%j>Qwhtydq3f-ls-Wz(>GVbtQ@*Wk(tZ8=r$%FIwPpshDmcAHHlFQekf^Prk00(*-q{;Ybg%%(cP#je!e>lV3xx6WYp!U6;1HP-`OytQDbKXaize}znukAK z^~;Q1BHuKk$6gk6-a!I7GJ%5cqIJ_(*T)J;Yf)bWMPms@jb4g$@7ov>+@hJTrn@Sy z^Ksal>y?Dlg6T5?t34NzLyjaAlh79~gfUO&>o;9u*W$LeyI1KEa>kd!t$9qZ61%-5 ziF`+b?x_EXzf|CP{uxi*?-fblJBfT@qvSF2tz*()rQY8IYC@*J*H4a;Uemm3@A>BR zpviA8>MW3PZKfoR6d>KoIGBJwJhAge!7R|B~{VjeChI}LzB@E-WKccMv~P}>?b+# z$(q|yEN7<59bKAMv08_b-|?!$V%+AA_XWy%|43FIF9!n&reB+qoAp70#JE7{B&3U? zexV@Y=5C+>9R6P73XW%jqF=x1_k7Eb=U-eSx$b0lyzen)f4b<+MVfcg)^kpQfe}~v zfq9cajN7e4v~AQ;(PjeJDc3UHhlPR-*V~BlzT{H)5dl7VGk_}c)O)*9XAmLntJ4iJ zV}Ae6!cfYko0|~tOZc?h3kx$(n$7|&FJ*-Ukr)(|$iD7kP+JR%5TNW2DQ3nto|za# zS;K+iLGWQ*eOsMnoF>)PLKAY+1Tu#UOyEx0P>}fm={*72+jsx2O-)7!Krm}rIemWW z-*|5h^gPYUpkRpdfVC&ck~8-$6zTc)WsNFVp7?!hH_3A?K7az#A?3~kp_9G}rYwTi zPb~=1hB<$AebygJAKtxwbn~W;ozYbvplZ{}$XdK8};@ZPaM>({4_v)+sQbBPp9;HW5L5*m;iyIkK= z900`CdEkDX0RWP`TtT(5g-s-=y^f_mWp}Wntqu)M1P^T{f{m0LV6Q`sqQhYlrgT0E z@jL$cW3e~mxevTPLf(kt*9DtJxu=_+8>a7+X*{ZkoLj>yT zS;lDeIJ<O~^=_J4X&i+~K!hF=CZWAK}(zOdT?d zyZVN5kSDh8{8fL}o%%BGj)y+0x33O5GQ0WyE2)Y(BFq|MkX;4fQz&r~-GbtoC7TZb+jNOQEtwjP&@ZVxKL&b0- z1)4|V+-UkSTCrE(TR3S`Cn)Q2B-=cFcvBzPU6`Aqvcm@>up#-#_|83t_o%h?37991 zIC+8KIG7;#S3@J}A+FM4jVj>H1fykI%LoyMmGTEVj0B4SQjL>)y0HZz34OODX-4mC z`b7QaQTKnz%%`_DXIsbRR=){UONH54seMhK4&D1pioJfV&~d#gLsS4@0B*cqi04-d z-O6QFU~=b)%cBTA^LA>z?Npjs3T!Et!s~znFVy_bSa3frwy*Mwj-BqvrYS&+_$-lI z25il{Ymt`!tXXHT?Jx$ZXv(2zZ@61ggYJtX=FCVx`cpgV;3YQMX<4B+*(ELP@RhVq8t_F{QGO3 zeAJ=%3ji~qOilad&cU_A80$ELN0kJ*sS%44)OTDg|K0Q4F`uJJ4XuM+whtx1p1996 zaIMp1Gu{e?3#m%llx{Xv1u$8YK+y&2h5n2b`RUw}zET6W$8?+3$TNNWp4r-yg73wN zb0F)`VJG;kIRYpKZu5f9o^PDx&C@1wQKf+xpAy1)>8m|Q5ZTx4qz@#D|BX@X&eC!M ze8d26)f5uQz9fW*J<5FUcX0&)jc^5U2Zcw^-FbCNS0si6UzQ8QS^G9zzhK}ApYgmL zVGsMCT?1$gz)Dp^Nr6S-)=|(d5_xc)k(N?C-v)G8I6oD>1I|y0jcy?jUnT$6PP8-Q zj@f`tor~W3IoE|n1=nL*q$$LVPHFk1ziEuFS{e);Izo%>Zox;s=}(Ez}`H)_xNs8B#`!S)j#cbf!@XJHi~ z2e>Nj9)E#E=fSNpB=+UYTp#yu$vX4_-C-@=u-yFKl;k<7CPZyO&!LwgAOT!oj(K%N zwdQzLh5->>#kdqTCHR5F!my|w!1Gy`visbD)FQIH1kfp!ergzikwZa)11|an(sM&F zQijvD)&yKQ4iIZi24p1wCS8#Os;K~+$6iJlE)t(;?vbTfCM19REINE{OA&;=!&W) z(zDyUpNM5r{fFE=C2o>gmpQ*9Hs5Er{b}msXHE0(7E8}jEp9C(|0-^=-hC2jMsE9# z_?`uJd$WbI5lI|fZNWzRLK1;?{*twR1EPiOy3tzKRx9#7{?&4;CL@Lv&1ma=p`nf| z^~Hrk)HK#Hc$}6+?;C=Q<9+DQ(jdvxm%@I}-+^MzpqSq;6rnmDuqtD+uIIR0QLpxO zpX=qr7(0%h#JX?$eN6u%YaXJ~Rk`ex?T6AhoS zS$)tKc;soX7%iFxtj#ju&WAmwJ!A83ijPy=v8B8Ec(1i<=2!FFj}3SdZ}Mg|l@ zP=TQD)OhNj(+9)?F+#YH@H1f^8%o`rttu$Ugbg$?*()H{ol$=H&D6Nw!zcab)Et8y zqDJg&;_u^8s4&Z>#klCA{NOgys)^`h@)V}Xd}L^gSv{$F!hFSv zh;gM$!CU@h#EhRMX1KM9#d&S}uXth|liiYHiWVKSi}8?bM0G1mrY~7{xXvR4L^5`_ z4bXZgnrqmJv(^l980?CoH>O&R|7?-Rr{nX}FIU&S8!F*+x{cALy`CCNDNb|N;^dqY|5QfBfQ4+I$|EN7;lqtL zdenop7!s@tSUXXok%KuA$gF5;aer;m@@xauN2wf=n zW}4X-amO6aY8;<*GVVN*h@Etk-Cr(rzH%v4C_{Pn&5pK}WS7K*>sDf0q0RLkydryj z1Mx$`4lUX8HKxYt^Ne&%u{zW&3le%RR`Od9F5c!iLR@B**g%NjP}nC1Dng6LNuPdb zT+WnJYB3}of1xzXG$>Xh+RS(q_*QK51kol!mV!Mwnv!qLv=DHvWuHR?&lw~asfM6CEY z-q4qpN#(;5*li5*R)iZ9QPiEULTJf8yzu7yZchZ%M~jfCT_wX3Ew62nSD&1fE10^!HzJ4=kvQT zB>*4BP;Y$26~P}ZWhouyT@ENRRj5Eb*Vn36?q2EQG@fqLmLT!Oy8zojLhBlkzZg5k8uC7FVy?LeOSoUCj z+LO%!PlD^u|0= zJvA_l8n1lyP=pKM7*C|Ce@}EIw1hFC&O0c6KG+f*&(hNT@shPOGY%0i2Ct?dtA;fg zfZ01EmarpKUP-O@*bJVwe0J({usMky$RT2a34`w(D7u>#7pGb^<88h#h4u4H(q4bC z(<$C^{Y>u^d7XT5ol}Tlq7lMp0U6Bts^ru11w_shfg=dXK#MyREsdnHjQ`n2opgA@ zhNchY8mge2w<1RL6O&-gR@*ruW(B|UMW1WtYTivNkKbas*z9v*v8iR%ukgBcl-ct6 zFl@w(i=t*n6AcB(J~1d227B}79yM126rPOBpEuji*1Pdd?*`4Sdv2?#YGiaj7DukF z>7&K$kFukPIa?mKu-jdjdsl{#Q#{XI*WbDp@X z2cncyWVTPb?8_h^@E6sI`hVSlYKJnx@nZ$G*x)x>4pSXcsDc)#G#CToC=zk-H_&-( zE9uI7P{#49Pg6L1JAoj@$N2WXOm`Mv!wp)2(Tn(oxu1GmW}#teqrxO%U#*Mw3SK$z zqKWeicYR`SBG7LiU$y5|52#(b0AC9o{aYhy4t1G2XPmf0l zySbtY$NxBqNYGS7T(l54Ys&E!%mLEtPYb+r26NjXS^y5$lJ1jnIox8w*u|2Ev8gvz z$#R6q=ltKsocB_@`|;Idrw=gPhbUdU}brn3jCS(wK+)oH=w>zsl9ua7ncZh&ng&mgFH>)ohsG+Agw zYSu(83c^lc85znFscq+Do@fSiE9CvY`g;1-_?b+7IpvvPA9=9-#1ti4+q`u^Hbv)z z{i&SrNs{sYc1Z9n8G>~nQyGAg52RR7ySHx(4xSjWUZ;Q*0NCCbR+S#+gX5dFh!9cS z$*rH5Q&FQ*DF~nc1%pB9!K0FlV-*{Aa8rd8P*GT`!DR!i8NExvu)$rJVEXJoOWXV~ zuH;(Vy9CMb_qQL^4IkoZ+`qqh|K-|qUMBZMu?l9lpF^7ImX9V)dF`HQPnn?(DKS(> zGoPI(!6;+-8gDdZqXJlUsnc+QNGLwz*tF|dn|_jaltgsU?S{ZxHF@v${;qk&IFoqo z!_AMZ&(_;J$~E2=j&&$Kp19x?aPsz;-HUByC()U0QJVwPo`__y=mF7LLA;-h$n@L3w(fkvn`e=5Vghv=nSepmK#A2%?2d+ zaE*NEDfv-Ksd44RW_0rE*@_QJdk$+aMCGU4^s@DRCMWb(TjGqmvd6U>jW)y8jaH_; z&3`HG)w2@y#g#(QgC!^oAe}KdgGyzvs(f_cXv7ICcTj%z31_GvB<4pl{>x-w?ZCrz zW<5A$vWc-qL9LA{$EeY=={TY>%WCK0N=Qb^{?5vwkO$ynOylKK5WaK%6;p_}Xm+~{#7Yk#4YbM_2bryH#cSL;5Na5H&YBg)2I-Myn$B@33E@~{{ zavC!fuP2KX`#L@3eYx)GBIe+EpT1pCeR~f&X23j*ox#atb9dMOtz=-}1uQ(u zq?1jMB*o*QOKCM3-*!<;ws&#Yr1;IQGqlHemmAx3r}xmXQa@=c;3sc#!}f zM)AAd5UI&$f0Y%cF-7?LTbXQM;wBPM+ zW6s&Xd*wbqWZMn$-sBA&m>Ogc7mrF7r3uWru|5ZA-*bgMOoJtYD1^7 z;>e@zHU0fG`!Iu4>4&01P5Qq&NlLG|CzwQ@>|dv2s_H_}b=0}iC=*sJ(hE(mGm8NH z?wGp|mr#;CIf!bu&g+aYwVLs2E+D~>qeBD{N+%PQ%#aSCc51hU178&xZ1eNT#uZ3N zwaQ_6q>WztRxm*K#nyj9B1U+Y2YSWWImy7OEtq-8w6})_*i7~v6C&vAbcNKu4bLY; zEs0-xRG1HUi-JRqpVjevu&auSf1Pj)q`Bv)jBsw8=XeZw%v%rND+ierU9Wgtrry_g zBtCE7ZyH+3hQM>?^`?U&*GM{e77p^(yayd28;yEu4nso&G>xv`*v7yn6~XL$oo~RIi-yM0@f>_U4TH9?v6v z*EvaTxiUt+fAs7Z)U~l;bIWPxK0Zcb9DaA2g{QAXZm%2$pfF1d3=lq~I)8cozJjt7 zMyl2rop4nGT@MAq;gLh-18sCKL`F7QX#d0 zHxH=QZ2uD~eM+{~Gj|`iuPIc*vptC+WHMk{bD&HGG?QsmZP{JYnrz_r$t`*3FL z{c4mQ*c*!B5%p2T`53d7@@++(3o@6Hp-taeMZ6yT>3aj}8knvj+XIorucZ}!yQBKA z1vlcWJPed8SsYv4*P09XW2^q*V6f`P=xPx!vdD-XH22^iIW(JGlh$SmCBM%Jzwk9~R!9tgTWJd^1ooT#IH3szf^*t`932dO z=7X|s*aYDLw`*tMc{&6wAc2?;K<}u12$J?w6hMcspL{-l8v*dp3gE)RET8nkxMreq zbe3hu7uAyAS!`a&^F)Qo^9>8)LyLi5h!YFVoiX*4c(S#0760j&lf}-zoOu6>SVGgu zqif<vq!?}64asdaD8d#)!BCHSUxCORqJ@t*G@{f zL~RjqeJ<{(Jil2VfLUZgqtLj*@XR1t>A-Ulch zwtGWs8)(wVLmwmw2;Mv8Vg2&c2+kS;uL9$0FgQk$V-+1k8ST(>ZeqOH(fTjD%8RNB zkE;P1t31jP^axJDGZt9;rj8?8)}2B`n#$tNi4~i|mJn+;C}7%i8ZoQ+f+#Gll!s4<1}n@$9c7D%`hYkI4A3;8WL9 zvWwP}b&}8014nBDw#l9q9FiWTbCOJY3_K^S;Mwkr#YIOXMqVz!)D2*&c6 zBp?GA-oW*$eau$j^EN~UttX&>O&fWmiC}OYh9cruO8PiU=#(rCgdAy!R|2>@2nAA{x3;D$djAoQjGz={&%a9VAQNgn)FE4-{aphL*PBo-}auEh!_W}XAM4S z%vqNDY^2W9XdS#Lh?1X~*sIU_kzs)it6kOvf@7oLsz_P=(1&zBOjP8zxy8e5W4rn# zWmrN4+We*wpPmcOR4_ zC?!}GDN6^pD9Hp|WDIPs7pP8nS#P1exbR0B<6=cevVy=wIGa#EIc5PQk%OPTkJgaQ zn^*3?0b8Qw_s|hxuKV#c&s@R7hBzrvv(4J;aP=Z0Gd~%%e(_CPCV}m6 zoWKaMiBHXUc_QTE4WO?>>Ecekbf`;6%lA1*6RaV?At{G)XCYiZG#;IuK0tCp!SBrl z`E}#j#%du9+5)v-3Ugf0>xC(qDb8NI1~8UP@+7b{3?Yj>%t7F15&!2{Nwz%w^?x-j z-0&-wE~hE5!Nd?B2%B*q_O5+Ga3FXQtf5=Qo8UJ#!u^$J3&Hn1naR6K`VE;(S=PgQ z-|k%P6L=n;s7Waq*caQNXfcL8Tm!D(*NJ2|uN{q0k>j@0N!C_RI^ssGVFGsDSB=I5 zSE7wCA3vDkMG)CN1?&ijv*KG>?aovxyubc{b0rRM&Jmx^?Q2vv5^Qy8R)Cdk`O4bH zu2d~OsOaB?rr?h5p38o^({Kb5_vKHyjd#s~QL}bxg(x`ak9paH!tkFh>U=bn?S#Oj z+FqGB`i8Oz@v#3vUm>sK`>rAAAZ-$YJ!v`XzmB98F0Wo@KcE~T(A9_dr3tx6D=Jh92ZKzB_p z`<(yZ0yX$apc!h6VuH-AR9QR4fH)Pzikw(@mo`h&-c!@b*!vZNY31>02;4B?598@6 zrN1ihZ~Da&H)>O0THu<# z+KVM^Ap*7L;FRO_CX<)k==!f*L^^Y^ir@}C=VuL(94;69G$G_Ho`Vt}d|%ozbXP!w6J zl9E8y2a1$ix#c7)ue?(F%Mj7ck$d7Lu7m<3B*d$$Nmsi80X z+E^G^)%?&Z`P}sq+5S%4z`}x|I66;r$a8L3Q?JKT5DSvHO}zY>O)`2~u8D z>)JHN2CE&j$*K7}ju`xErn0p@ktt<_H2GCIMXKvc_xLd`di{~mq91&VlDb9nT>r|w zmfM#}f#wM^lS&g32P2tbGFb3c1Zu~?{w-|qI`2jJ$K9{wG5aar6Y+yJfu=10E}nef(IOXUgdg%-U=+%jcuG#Kfq2BIx} zMzQ}g9dMHmnGZib$gCz_e(;e?l@D+4~??({@*PFNR(5rqDuKxIA;FVjNYu$qwYPGigV^YgmZ*b5>b-Z;vmD`FXUouYi|+?|3G6{0-nMF%X3VC=U?24)&~{bG|f|o z8YPkED(J}j%7sF5hl>77FJFFZXL23YP}mSgPRPBKrNS8Bzgkl?rKBCEqwfL}w0K~`l>^yAd z;PmK58143?&Jt*8m+d5Vm3rzLE;+_gckbfll}l<`9nM~LumQRpppWF&BGme;qj(^68t3j*J&;=G0T=AFq1#ph*tqBcliqLeiNI10CLEsb{P1+lYe7E-V87bo z$#A}vaSe=_ov95OC&k$a49UtAF)MW+ytRK%Il6L?H`x^-65aCdChloMBQEK5#Vy(K z8F)&bG7>r*QJJs*uz}HqX6bED&USS`;~&Drfnwr zd{+rCH0rEp>SKSRA@3!RS&{(E-}%nEZ&x79ER zAf|XbR;KQl)_Wuf%JH&)4@DJkH~yr=9&EvJm_7$}$3{HY8a8N+yw5I7IA_+vX7eiSM=1D+v!}0Oi; zxt9QA(2AlKRioPgEP%sne;I4?+9BRI0C)eCdCl68V&~Qw0W|>iEzny{Dndp{eS8~a=ogxb@gFl3jzQV0ZI?=fy?Brax0I6tH2 zf#=|Y#I3-dX>0)0WwpP1u=Mefy_H^zgB8(94p_dzA&%FGsA{fT>kVLd6LjdLL zmtRA$tlIYb034SIMX<}^IUE>;ISfBv;hN^Ec= z`Brt~i>kEo+jBtcEE#aE((-nzY0C9iWCoST?{{O32YU%Ftsrgw8zrwpH$C9P&F(m8 z##htMLS4#~0aVP@zcIh7{@~vb5q7$?R|H_I{1VMDv#$vBhGS8zX^z2a&`1QpswJU} z2%F;f3A@1978B!l(A<>&3qZoP-bpM1@Z- z#HvmA&ewG&)4zAvNC>@xJOt_VK@*E-$K{jPc`{>F+4cr~ z`2FG3HJ`gxz*8m}fB;$jkcWX(%OuRpOVArEh^KJfP1B_XDU|?=Yj*6#hk?hBK@Beo z^L_7%YPop-npDmpB_PLcj1shl`*EauL`YIssF+-ERP<2VP#>cPQFhMxFag+z8T4^k zhtEx>sk6J4sQ~+K=|R^Q#qu%mdC+I~@yN4~7`skYmWiRnX7PfdghzI#v`1lJel^^t zH!M5RHe)bKOF}IFMj009x?ki_8Vf6$xUX!^G~X4!{_-VpHwo~4*_9}1(YHlY3k@Av zh?qnYc=UVor6dAtKKTQ9t{xHy%e)!gjv$De@?iSQ$OoCSv&k*BH!++q+G;fb38?ky z6YnKNFm61;@B)o{76IIjODj!lU7CNE8*Ru_H+!C!z~QI`z{(S>p=xqQyoZ~?m@ib1 zzUTFuVkKGk?m;v=w#C;vmp^E)7(~HTN0G0CuX*8G$I%hckjR27e&!i}a#7l@$t7^$ zM(#q~T$iWmrz1Zf@Nu1Rwl<6o^PKOfJ*{;aQDBH>9713gy>EU*_&pC1mV`;amsBad z2!pn$rTnrkBrJy1AZX+k8JedfFy{A&f$um8_-&kv0P32Vj!;EetDIBV>9RKePiB7^ zU40FW$RR7@_h3F8rWE39NST5tEa7!*%fPw|$`}k*1JPVx9IUk$CLsMm3qQ#+a_gDT z)sM0wvDaT!j$7{rAI8q`qaNi>!es(Rl#4^bX>sWe>sJ>C;CjLc>j5yz&xkAJMi%L1 zQEz@{MykA{ivE-ofpKL<;SN7g9WS@h3Tyrw-IviVPwhR7X{)>&97LlhkKT&E=3)3N zGV#Qv;1ZnT!ASFgLRwL%#FSJGJ@!3@D1Am6c0`y2G<6nD> z&OU!eyh#9yN=eAff=_V1EOffz`3(ObOV=Gp)%*XSbB8@6*)FM+5gCznNkT+MNVY;* zS=kN=Nm-SVaVsJso6M_Zlof@Dl%1`ttlx7#-{1Y?&U4Rs&NJTQ^?tqIkM*9~wn$)3 zE(bdIFCB;=1K*2HH}o##i~n3!g7^>sUS4W;6OLA3a{uwScI?BTGa_I)6SYqOx?F%+ zEf+3VfB~ez)Lhu*1dT%}uc^jxV@zbd?^KdKdk~(X8N3}rFxIs367sqC`4T`-*0u8?BNI%?kM|RDQHBWgqi17GJ$d3w|4Ja z$L_mk)maUGHrv4d1$*Pya;<$U%05M9H?g5QFm*;;?UHR{!i+Gn*-YX{oXIY?1I zDTv{#f(YYyR*ix44LjHMty$|I1R(z9-Fb$$6OJ6j=Fc6Dd zua7pY4Xh3i0wM;)n>D%xH}OAq%isKFv><&l$dMCh3e>2w*+?;f()Rl72VVS`JSwO6 z(Iz)32nl62Lv%mqB^?mqf=#8)g&(P~;AqfqZt7wT!Op=7b{F(s7zQbb>;LmkKG?wb z|AR*;mB_w%S%2Wz&)g5+zYn32NBhx`Z4$8W1tAi@(HNi3))aL%9Vz3#B7$8X(rz(x zIvw-7EH#~2)^J|6YblHOj$^n&pRK@JX!TFynb0ia*(^rjK?8@S;~N*F{NCQS!2Wtj z7Bv`Y-tv17#sp}Wm-j=r{@Cx=Sr(0AiOI#self@|%`>77K~x|0FAet`W?@`C1bVzL zk2>FbRlLDqC>tlERMZ&C;Af>3GV)8pNBa!dWXt33+|*xR+<){X8an+>Z?7_8(Z8;f zgeUxc21m7Bx7XtApXqh(EQC#La%T>|)u^?NUAE`-`uK#16`BaUyBV+uwkL<6Clp$tqcq5h%|MGv;GR zPi3fvIc(90r^E~<2#s*{Wn{|7Gxuvl7Bt)p)t4>2SaD89Ye)Slm_tK*?g0 z6^Ks=JO5=REtq+`Lww-GqPUK&@Zq}=+9aZ-tZ=H<9Je0=Vvfg%6}ik1yKd#MoyqdP zA`Hbp^bjuA6q5<+IP&$|O)!Xm2FfQgTpcKS&-0@1;@n&6n9= zf2XTdUQLj8#GVp(VpNwEgd+r8X`rneu0SA~bMRBCSXdeDGE^v-32zL1k?;LVO}g*x zJGzBv{gl97V1AGOK8&+MY{vG^)P}sd#J9BfiaDwHy_xtAT*jwqQI^I2q_aUe95JKk z+=G;!i(KKFlP{6Ga)Z4N9Nql(49f+SnDxioyK-;>^$Kf~&q9Z%ttZqD#tmb(+!bRS zV8+an3m^m%3f!&a(UXtPMZNKjq&Gj;cLYTLSpGgSvH3?o5O9f`fB0RVw13h-4S=u5 zo6>29^cJ2)zfO^A(l9{fyb=QE-*eqHQpTbMr|j2`g1m2u*>CqQN^12r$VST2=IV&# z;8-ZA6v$>|x@f>%`Lm;Yex~CN9vGf|Jvy5qbOHWEdd~7j8^TQ+0dgF`sq)W39AJ2u zOl8CCLCp)WV_Ta9EMVixQwMif#U~Pj2|?iPY)027ed-nY@P-k+Dc4zc6K3egOPU4uR}# zz(Sb5N&DY8D4z*GoWippwLC6SbOdmVmDA%qX=S3x;vl{9Jhn=LWv+7k4Rh3}%L_mC zf7`*`Bcr9_AtQAPgARf10>iPBe-48117}Jj3pQpGy=cCi?`AO+NlDo7x;WCmp+y2l z+ju1`#^CAfcbzUkt{c^ZEf@9_!I~>S+i<_;`n&b7lV+eO@Mze(+#-HI>%8^r4YDJF zp2(ASe)G8{135`l8`c`JDTWRd(Lk0kUy8NOc(E-FOl8$HeK*x@@;EK3o!N}JDHjaAGN%6VdU|2hk!8K3a_N_5EbsxPxf zgI-zkG?JM;1jwe)@XuuapD+@r%54-yoL(NQ@{i@AMdx+_w-Te@GY?K9wTUE@rVgM5 ze_%#YK+(i(_PAzQipr+X>1!@`Ra9r>3zSr}^2Q~=iO&INUOU`%tg=?a5sk4<56k0^ zjGWD>Vhe#KTE;HCp>BRsnR5#CjB){%mpd)zmy`gPsvIDz*1OEEmj+W|*nN54zSqDb zW*4q9r97a+02dvs5W%b?A)xGrZqwintAU2OH9PF0Ge0=j4m}-qPd`(ym6YK7<~v`X z^zljdLMsB%oJ} zB>@c_prVOj7s)yW7}+Il-g5(kCKj&13ebp*ZjaQ{d*XbKLg=J%sG^s^J&_@jcXia; z*w#K51C~><{#;sp`gB0ZpUC)z8+ga@qs$vv&#SHP)xK*155=cI(i&E9kY6D<5dgWw zG?(A4?kh6$(#xzBk=d)%ieM|kCC0zRXpBLA4zp6CjP!_W)Qjm`ZEWZ$ST8d(U+Jy; z7rXFdNVt2p{$yy*35Po0L!YnF7}SL}ws8e9y;}55uS~lGx8h+i|L9k|@;6D^`Z69` zLgbwVdOZwf!OOO?5Upo#572@DxzO~Te{5=MBEaKx$=q}Zy&s9i?cv#X6jP`|_kPLB zaw!Ha3WlSCo_PFrkA;19AnL)Z{`#P5Re9h?^cvScv}aMDmq_q_9^nQZf>nXN2u;-S z2)xRwAC(6$*Y)oixD4B`cdTla7;w}89c?fFca`fr?;(^5*o09tDUmWttT+l75I7W+ zeQu*mwrLzjrrNeYU@!up8J-7_+oM2DHX5ZuNI%Ym3IqlHJd#=G+_%2PbE|&M zboXTK`iOg{S=lpbo;dE(wU8aC?)}a!Mp=tu%B`)h(}9Sq1S4Cj=S-#krh9f;7_iAi zr1}#EbqM(^>_-sAOn>Dpc!Q04vpztLkT4(sD|-w$$*Wo608u85;~?ybgO(3T03DbL zzJq0H(O}E}^_N-MB?WlCJZbGQ6@)O#c-PURQH$amv zDWZ1t+T+Vfx~J#um&?{pSPU`IutsVWhSP)Z`0y>@szQi8fT_O z{YRElGAIM;?CuJ$4|>>WU`-4yu#JJ6!HbJg)yq86kT~*U=*ELnhPd$JJ2}SRUaJn9 zFzNUA*5nPb)(8cSRwTqunQKP0>@da#!?06i^LFkJh!Y7Qt=se@+|{8YoAAVTonqMd z8_-HP1gj=bEJ?kt7(R`Fw<;))2HEy6a<80<_38p0xIGZOPtbl7n38Q!rS~eQtfPM* zB-A=;zl+N;Xe&(_5a*;>WcABRG<>2f$?_}91scSA=Jv`uurS(L zG<|UUHzy-ZwsL?=oA{3bIuS%wYFTQ4>*X|t_c>$t!W_1Xu~7!(Q6bm!{tQ6G<|S901tTEBh*M4BD0RI^x$q^Gxtk>_soDJ1cT?vb3p%&_WvV`{ za6NNU6-7W03nSB!`RO39Q`CgFD^*hDegDHeU}}s>UUAH(hLLzDiVY+*?n&Vz{5j*2ySWa;7gI73DK+WZ8Jb4DY6Jx6S)|q%I zX;%pk%F=uZk`i?uDsRHjnedxjo(S%!>@91U@y0Y!rB3y+?tZFjAplm?q~m`#*rA6; zx)g}gCOG%2aAmjA7*lx{TPpd1_^OE%y;mH-0sX!e|0KCX1s2y{`*4sA2Qxg)>~2Ad zh*nlg_4wt4#)mu~K0PtI?bx#OkO~dw=kF|%0uiNR(WgVypZ%1$Wcr zlNrO(xL}|aK)~>Sa+Sc>6Kx+Uhm^c}nqrdDLfdft`M0hug%($NCG%(PNifqfh~(

PNM0#YsyXxv%o=SnajDc){BI+$=H zAzEJ3Mja6Dz0+!@2lB~F`L}1b3xCjpV6;4DrEY^cH?7i5z3AfwS*JkJ4W1wI$3f}= zg~u;W(0~fk#8j<16E^bjsQV9ort7fo&*ZAqmo7jY1>E-=-Eu^L0fhTVVULd|_)Kmy z+~k#p-(=m>G#?$1Y67Oa`(uRc%pu9%$2J+nU& zjUy0Y2La)dt|FB_RTXy(X%=>z86E0?z#qiSGA=A5vM*1_P!0m0fX&$Fk^!&yo9E!j z({7iz!DBf6`b*EV8nGTUM_5ikuF=Y-AA(+*^M%LD0)`NxfuO=+h_SK%KW?#N1Aq7* zZULFrz<*ZQj{|Ny>jANfX!vRe2_2CT$MD_1rBYDX5OKl=S6Vn_XSB9*m*yia)9%-{ zvd~fgTP*rB`N!&0;p)@J1%X>fi98@^H{|7QxTi7G=pw96bsz`}Y&c5Bdr&vfVj3rO zqY*~>d!PUGNd@R(+%FA!xF!J1N*Zy6_32#&BKJ>|R1tcGZ-06#QxE)OwmPC;s+$Ni z>YJM5k+Dg#9=ASJA0kQRPnulia>Gh*kNie}68haN^3DMacmx$8sBIkALH<5A3)xwr zBI*MfdbM4d#D{5C0A$s}?jo}PnTI@>^2m{>+wL=~yL*=&rSHk{@J{WR*I$_!`FFft zKA?J4+*F2l*@Nbf4NUKBm`lQ=4A5Dyv`cQp)s zto^OIJ&Xr53E-oc8}hg}eX@ELp^J+?gti8l!Rj2`FLB`_QavKUQ=nRq)I@1+Ka30m zs1e99lT0wt0qoU$&B?7&U*Ov}oR`z~s@!2ltLSPmjO1P<;J^7`&{Ie6y7LitVkR zwg`=zI|;_8l;i`LL9ri;63D@Q{%U>fEERLS7yV`#U;Szlyd;JTP0x5%D}X^EsQvDY zI0ocVtFgJ+-QVsXfdT((3m2eBx~@mHqzR2oy9L@m$8;JO1zXmOYwb<8pW+|G(Q)9F zn-0BplCUMpLz|7DK1Hp8(PH+#_#P_sBB5(ARE38Jh1r?~3*)YcJO?Ox43`$@!7IY& zv5V8+Pr-~eh*MLRiN{}*de!g7Q92P!5Q8I@BzXdh{{_806h}mwRm>~op!gbtf?uyB zLJm`ypsbKAYN7YKrJOl;?|IPmscDtVGMP@5zonplt}1>m*ju?X%P0?PE&{8yI0TF; zgZPEp>CEysAfM75hCx1i;lWs&^Fhg9tvwQM<&eNy{pw&?HXaj(e8!OLhk`V9%ly0C z!C&P1k7H|J8aFvDLM|Np%J6pKUU}?-Q`E+{sa=PT0mhmD|NbyqKm+pZg75p&r@h%Af~L1oF&7EX4wk|qd#^>P&$BT-Hd%ovGKV4!W>X+myr9LbbfT>Qgd^KWb( zfOW&b90oYRmVxZ#2Uj{_S_7JNfQ-|NyQVJ2quF67?W zD9Dsw)bGTizW#nne>!)vt`o2zrc2-MF0aYY3(ue@`uqnqFqp^=3xJ8nFd6xgxgreU z0sPo}XHJ0-jPzZtP9Hlg0^-fN#MR&d@ZpLYB@i$2rnYDJ{Cv*JrN?<`o{1Gg)gt%< zg#m}~fad3B_ahx>?p@S3Kq6Q(knIiF}9=#!;hDSGMgD z(WcHlx4Q^L}TOR2Igyi)6t5Q+3XHKMXV@Re1wJZy|9J@Py<=O z?y=zOk$Pi)91aH{=Kw}IoTMl;dPoR4%=tC^2a4q{aP7J)Pu87y+BE3mBOigSHSqZ1 z8=|`X`2eWCvKYt^es5?A0;hAo^KP@6px_QD+QC*LjF|X3cNH-wcOOL zn1UKO4cA->WxQM8gQS2sUK*0Q_!>eq^@1kYH)|x#w|st^6qc5b`dOfoq91WV_Cn7rXn* zdP8kuEe)V2vkV2`jWvHVw-AC;5!|#oyRL#|Bgt{|FY^O-%(wHc8#;`OdfD*ir|#W? z_X{8A^zEOh`g1Y?Er~QE3uDR*?V4^J?70l>N$Tu~9@(EWB{eWC7H)-R164C1N$!{1 z#y>g%j|=!us?*R4@t%gC^vmFrxA@lLARoesBLOy$6guU_XRHgaLyCvt=4d0LC3No? z>}Srb!vP=`(gFUbg&&U9CB!DAoBRw82&s_(kuz%*+?hWVWo6}XzZ zCtUb=ZQsH;I&$?S8w-N&PFZ624)_UsV3PJva2NlCUaESBWm9Bm9 zJ%`?dljV_6s;V9aC?PDCHo*N2chww^{+$O1ocC@m3u>O99QZ!XVnIHQ%W4op9=HrO zVp4epOpIio_1AggG;3Q?7<;`l<0mXmZ$LBM{otD2vQ^kSZ1iNgV81AA8x09RmOL&R zPwCIqFT&rFC~x9_3un=v%3QD1OBUXR&7wR`9Fz5etX+U!VKw5q$YWg6b?$oG=fGbc zyfm)&qy^QE*FBlLWpS9~jN%A<2SMH6l6!tV(4u-QM+WQ#ojsM1FG<0M0qW5$j*v;v zAazoS{|q-bQR0B#65h=q0LpoJNfzXk=R^1nJ5YJL(4Y}R?1dS;e^2stU$^v@>U7o% zynf7LXo!DFbyw%6qn>@?>{;&#rM}xQeHk?OWuQs%={xsmP#JVp$!j~eyi;=JimjmsVBASE}HHI;!qmwIDbgh>C|DNn-_SVXd z@VYkU{II0e?@Z0r`&qCV@NBL?{_Ndz+Oe-puEp^B(%s!4eqO5Rzkra~I}Oya0Hakm z(!#h5asb)0w<72dybqRvKU5c=C#jW-gV zkBxHy3k%+0V&OV;?hHnlvQ_%oqmAK4vSE_K5oC_TuTPcB6g}hnvBjwk0TwbZNICxK z?>23jr_DL|2LR$MyD6FyV8iK9FfsaU8`>xkm!Yf*Snwq_xaSTWa8%m~Ltw!lLopzF zyM?j{@K*QrI&<6a{B%2a=|f!K^^%g99?T=h6^C0lRkqVhiWXkKj!u_=lDQZexjq97 zml-Cc;Vg-6?B)Tz!%0WRpb@dHxHOs-L^r090v!pb)nxk3#zu~)FuDqsS9mJ27GyxJ zYn#fv-)hf2dI{MDB*r)+wjZG*{jxC}zIN27a3cGEk76CZIkv&}%=~DCMw8WKS;f~= zsc>%s*H$h9*v#MGsoeb#=;d(XI6I(;zqYs$3b}g48>7R1@UDV`ta*1sPXSCGQ*g=8 znAoIefit9KmpNkgwz%S>h{HL!Fz;y}fgQTO9`J|bVQkjzZNGxyo8CLvt14-QdA`8r z8vxp)0Y<`AI8pPHaTVy-3{!8x`4drgz3(kFj3k4k_P4FJe^Gy}@i{@`tu3PLZMl5q z*h)t;70Vbh|E=>e?9V*RJ6S<26{!95t5f)%i^}%){>FVr4U@1kE)Lj95D)6U>Ztq* zzC*DGbjZ-4!D}SmnTHY|h`_CV#lH$qFn1^$pSYY;`>py5=g*WbCy73eV2S(?In8%!_o)9N7^23_{1yB<44deV%)_G2`n&CpMN60zIPUU>NPH*WMf}Qy zUN&N?U?CNn@Q!nAdg{#kAJ2xHcJ`2ifR_0ExLHvzMP8IUWa~$)xvtHz{zI$2-XH=>4dY>W+zI(($-wiUfmK1Fk&fRpkvklQN_yRI%%x_tX}+%$a|(C%s6l*q`k6Ph4t_@+(XXV&9jMZ& z1IU>8TZ!9&Oki&7G@f07Vo)AgdglUl*VxHJ%agIOSF$-!8Jl-htY|{46lgcbuafg5I-%t2NIPY|ohk2c~)|Lvs&%}vpa*tYw zMr?n*{Q;x#{)F$rV-CB5H8Y^*WYC^=1JC^;RLLfZ8AR*Ky_kBl<5j3?og3n=6#AwY zAsvwv?(q$#CpJbtfV+Z_Hr)@vY`+q|xa+j;Ya732ySPiVHhzPo94?zCU1!=0y z@6QpCLH*;d%v`P^0oGh3FW;LhtY$S-pjmF0CFmB^82xH{qt52{L2U; zc(du&HreM`SjHh(kPBWUwv+AZeQ2r8vu1GHx%Z3uJYb}5J9GEt(D=FJj3)a};!iv< zU2dh*hlG+EnSpRY_W^Z4c062pXKK|M5T5~Rq03z< zppS>YF@G{FjDn7!w3X}E=&>UnU+gS7_Ak3ji0?+qRk|W#c%Oq3k^WD0CBKoDj{;~H z_B@EW2}mNV=GTKA&Upv!dVRYD@wi+@IIlT*1~HOP9pJpV%|M3d6iIyWiirPz5JAuu ze*ZrZfdKXWL0XYDP6!^j>^s5?5pDR+e%~8H3g~{~ek4ErVrOgGd1u25#@^DLpTs-w zUR6_|9nKV;hQso)*>5^Zcm=W@IF`xBi;=-jeQq8yJt%Kf8YaTbG(puQM6w#P5vEUi zrkoM2Bc0OZE@s&|f+jF<0^@kTG_Jz)L6eDMg1>~(oxx%Q)j(#!M>6@qre^oX$SF&> zugQEKbz6;f^hFIss88(3(}+@T8bFsogNeqgZRwRGNzqwN?l_{5K{NRK{F0vh?h z;6lJHQ=TtJTqA$PZK_EqEoHgpQw6Hqb;G0-%pM?Kt3tq$ITvscHoIPZe7-)wuhw%u)d7KQ! z=$OFg3qS~o4S;|4Qyu*G`~U%hb8L^6t+!O*c2iaR(tS8kB8oO8-#F(5SZqS~b*0w; zYM>ev;_B~82lCQoN*gYnCJar8TI~JhVn3GPINrBlmXD`(vCSCX(ie-=cth-Yqk2=+ z)_KrD{n(Wa{lq%91UW*qLD>b*%{@B~v{Hj{sCim;Raw5efIyun9dVKVEbIo@ z9d=Le9NOG@G5*_94FS-mj6Wz0%%)yJ8)*6}*k4^U`XE5K&z?9pwXj8A}cpY8>bbes*P ziHvSipaP^lI*F3(<`+^%hR^`KIeGM?y~6xqh69iHI+`e6${5^H&WD<18Cf|;OQsr& z+w(EUj)HijP|OMFJ(&&ZlRv@{zah!duP)}quF36$6~{;#LRaD_FDR!bQxO)kIzey3 zYt1HX@N};T5Iqm@jf2Wg*t8?xI=)?Kvu$w^TCifXC z+%i6262Dk_o~3p5(+`*F%~V~Vf<)#FIHzG@o+0pXnPGj78=g%JvW~HYho`Nq)bE{z zew)2j88zAjy^AM}x6FDZHMtp3o_0ba0=#|fS5LoG&CRw%4-~6m45Ds9aWjUE=Tdj! zL!rjeIb#s>nR!#YOJzw%nMjzC`Z4e-%3$WrZ51p(=<>mo<@#sBi8SayY5rDe9xy2| zet-Gzx$dA?VtNfjbp3jNr+RqQ-22kXN3||*Md=}U?p8^f+Iy%7@XgDIa|9TnV@ZH; zdcKus?b%E&4hmnXZFlMpRf?@`v=+$6k>=647RRjbbIx~j7pmVz85mkoma-C_XbcuL zd+7gjQ%APhZeCW-1ZcEb=hP*WOGF56#M0l6N#(>Gl<#7WHUbY_c!*Tw(KSwl1&<@k z$@4?6w&9<6`?=1xhb=CrzIv*T%svU=$aj9PoYv>M|8?CU_$A9)KTm9H@&O9F0A)6l z%{>D^&`OlgvMK@~>`iP)&*X&!CzI4mzwFSX&}HIu@IqY2Bst<^-^Q?$Xvi`|fKK&T znopndyC6a8dlLIxE+9f__Vx&?AjfvWccW2k zl;|aG{oH(>1JL-nl<9HP?b)6n&^4B)=N!zwO@|?23^0nGwI!n#Wf@FY zwjV#gV0M7Y%*jlT*5K|>INxuB&H4|$51thx)i^Z&D2I8hkE0=IIRR3%FsKRR88D`y zA?;uZO)yAf`m}I7XI|~pZ9@wM{r$AHmTaT+=gPAymVphGUjLqTi0HSswd?6PD2%@n zrfiS44h@{7O={b7x<`n~-w^Jp6P|WJ zD4f!nB6|4(&cThm+3khr81gf%j=aN>*M`Gt<_D)&>4-;iz=_QLW>Y$#FeWQ3KOI4r zN=x(uZS(ZNA?(I#azQ=<3?w_0Dqz*B*gn%3O?DQk{sUdnR0oMBzq`3r&%s6XGC+kP zg*{BC|K|99Fg0G}TdFZh8qkClcSa8I|9vrOiTm~bB|tAW*1?gF2k3CCJm1y5Fe-`< z8I~y>DG$D+?LNf;Ic3x;Kl@wJy}rv`15=;2eB0>5yx9qn8mAa9_+nU!>Y-J!4Hpeu zJa3GFW$=^v=-B&-bWZvgdLDo=m#75z``t^3N}vrO9R!k+3T0Czab=KEa0%>vgfU{N zrj(|$oQLOp3eBhN^Tl0jn3+4R_q$uB9Al!DEMK-Ch5`{97H8kz(IX(dUHzTZHv9h2 z+FqmuTRY#Bpb#cm=su=JrSm8?$&o8>9*jqDdb`q-+vpwq zS6ENM$$>aH-OfRJXak%9%JivYCL@6W2rqtCbHP0re!mO63OA6H;HZo7zdFa?I|LG7_SP5?Y2qmTnJBt83cn$6EH?I0n75hR^WSn-#4G@^XAVWa) zrl~~l?cj3j9}nJf&@vmJLPxl*E07aTu!k>JiBme74oiLeM8KlOrE~1yY%6vQsvBU) ztA)8r1<2>2eF_MMiPsw}mPzN@xEFYNzla`fGM})Ckc7=i z+75l(pfP=DVqj(eAi=!PC6E!Iwg_j_P-hK0=)s12JKy{N}+aiKO!^+I1)LvPc@K>m>NBZuKlEM<44m~SwL^a4l7*8SEu^dF{o~7-_kA^>oYw{ z!R4cO$Bd+nLjyG*;{oJa(0pC}{dg>_+Tm68r~Z`_sG`R&a~BxF=-kAtm_cTXiwo}c zbe3JiG(T9EdS4*tE z|C~I`DS_QYu0dy^pKkyOHk!r2;5#29`nvrBg<*$QSm8kW@Y(6~_cs6v&bJZLw*7vO zNe5h}bgwwoGJw(R{~nn~fjny~6@Cqh=YkjLU4(cWJ z(+})JGL;rHAbTHvFneT7l9qd|=A>9PoF~tlIKsM7BNP~@=|ymSiZx_x;|3QogZ0eB zZon=845s65cW?oNlyCnU5hC?;*R*a>btgT%A42K7F_PDFO7&1c^YW{IST(iQ;4VM7 zlG=UmUJ(K~BOhLOf#y?!-(lwDP97m((>Jh^0R1@_T?4}DA?NLm^d6qPIQ1tSIY8(u z^1X?lU$rS7ebznGxULCePR=~gMsT*zKUk;`X;`l6*{EC$SD$OjU20KgoD%40{4oib zK(&J`60cmT){oT_1pRRM{sN! z5Vdbjz5*KCG{9jYtgO$ENDHa|`1UiRK=NhkgA~w~G3hbsBK#6)SSmQfi9<9=v*(Uu z@V_Pg|Gprxt3od&~peb>p|Cuf~9%1<4@kCZg4^UJ4VCGZY_GgJj+Z2j9;8*e<(4ak_ zy05Zo5PJ7x@HpIXW8L^C$1Xj10D*$re{Xr1LjzvJ!{wfd;k#RCJj7e5u3%wgdM{tk zHFo3tnJaFixbh!*t`()mLZ(uqLr#0qmo{!%Y^92oonli^_}_XEaMEu$0y>ZmgQPC< zJe2=b7{L2Q={K;Mgu+#N_Fcb5*c{HU?xasp%^6B#vRZNaN39nQXq^ zYNISn@iU&(-!)IYb*M2ncxpdz5>P{xR{b7`#QJJ8P-?h!MnNO9-+ZD+ z8s0RF83D=u+hP-svIziVV{n?CN-ObReLH|-jw{eyT!E6-gA>aJ2(&v3RH;U0*#E~@ z^ld4B{;&3iAiUd}r?t1a_k$p&5_wL?^78)U{dkyUVg=C_&wcZK+OA9PZ|cV#((%_}0=4^zMEli)U<}H??~cv*d0HzlG!T0K zsblPaqX%;#-%$!iq}+QQ%V~rMTG)=Ee#p2>a8)4=U<#9k2VhYg>{I4NOHudQ83u|D*kW%vC+*u?}n7)ve?%g6v8oT1U z;A5eN9N8y*0^}EDBgUzltN;z*YhcfdnfkZbepB3A!5@G!Atp`^Vm@$~Syh?{x7PFg zcA^K)`^Wg`JJ3k7X9UJ0e_BcZ@|jh&WyrTMl9ITuJe>Dbh-}|Z9-_3RwiOURCAv4k zS}=fM_Au*89aJ`?K8j)6Z1>ku$H<3%?t(s(K)+C&+Wa8k$_{!U&uS4 zo}YB*IRkWWW6{i@dwMQFSnY9KJ{!ue_=4>Yb>0z5V-33wooOPHA{gN0-gYg>qsEmo z6RULt5}G;TEyA1ptRO-_>8x|%guIde9@XKDG6<&~sN@^E^2%%c+mO4s5KF{0p!nw+$n+ zV``dlfW{$@B?0_HY|gRKDIK?~nh^WyCqT;U$%hZF#>qKc^L9FdyjyP*B$4ucMmirn zajK>U$q0HLkhj-sGpcuq5mSk>B%1|1IIrD*De-1xGz~_KkwWe@Rx`DZxev?52xs_g z{^%r=t>-2Ll0OIZ1swSta6xLX$!ka~?@|Z*O+C3OoBaG6ZkY5pYgZXTal>Y;#PNTx zjvPVN*Nw60@zz_s$J}462WVQ9^;R~ujQVhYH4r1Qox~DPAm?6uo{8s^nHheo%Bz@b z{82uEKr{qF&(jhT^wgm|&(C-Ju{HLn=)1W_ z#4YcuMAs$Q=Q1=fYkKd`;RQQaZVVB253_;aeOD|9K1)~p3N*Vl6|+>P`B)duJX9(`lM)S?6AV%M&_r?7q;vJ zg&;j7$JyS#e%=484$p-0#R2AG-C2W+jQP@PpA37qt+@}OYaMDbsrn}t{ndr z)=ZOcHJu>!(qg8cWrmix(+@WdCi*L}r(5L|w`CNsia!XT&M7hrI$4`>tEOVjqj}@| z<_OpF`$KR2Sq?cwj8E@uCG}iz-W{FY!<=;S>G6G9s1U=~k~!`n&A9ngO4f#og=LG` z@x#RKR*?0PP2cUWT{1pqCMK+BC0NgNnjPD^IwC*Zx%}p|ecng3&gfjRrX2HNJ-AZy zq2ye)z%4&b3AVxDxQFT`*)FN4W|JK0uH4w(H~6LU;$@|wes89EQUU<2A9P6VH}^ft zeEMj~Zf6i5m?VR`{rm2ewXzd$W1$K>OqI4eetwwyopxSb>(&$_xoyQ`fATHPNzU+2 z|2b-wAv_h1_hyi!Le=lO>;VG| zqT|-8xL{|G&LGl%l?S+9erw#CXT_;rOLLBN%cxwHIi^tfw6s5&ed5ZW$NnpCZrWP> zd0(EFM-v_W<=o+MNGpy}6Yu{gzmX6b;=S_qSKlSmOiLND0Uac(MyLuAnbN1p^J{#) zc;2P8-MeN^zkAWUXx8x2rN9xZrR6&q90+hS+CE086T{FRi7px8^En?g4I>lO;aUtg zh;R?BTCc4?1$=QfB6wiT%sK$qSah9{e!&?76ATqu^Agt=SsQ3o#hY`ZD4mmvV>g$n zEO^I2b2Cc#k8n~K6&k}_O#_gW>t8+VO9w4vjoERC$4y}MsnCe|7s=VuyP|fdp8Kh+ za?511hj-D@y!oFW(I0KE#Us+6X{FG@T-N2LGiDBFUsw@A#*82 z0+_WLh5GF$Vi7byMkk#5-RyJMFINWNbKn5!^f!gmM;fshB0l`w!pb?knnA(dw}~*e zhq2Y$3|!uu1UE1_n)+q3(MB=Fj_5%#D2Jq92{fU56Lt`uh>xo0ID z#Ka6N;O*q*OrZPGX2}7@25~%0{@zjh)$CBgVfma3}!rH75Rp^djZ0 zG$jbxBG$@q%F?pHF;*PB* z@M|)%_q(vL_2qjl%_H|0=JYCjhGU`=?g=&Lxt4a{`nLyNJl4>3L9ISsoV?EU0*@(a!#*3xv>dr6)QBM|L?vGw1UP{P zp9}JZ2P+-BZJz`5m-XV}!X3?fCm`X%B z&mcSDoD!kh*dr!~{9{zFnY1aY+80uJyyhF24?GmShW!#=F`%vHdHcQhYyj*=hT2AD z(l7Ot5=7)u^7$@pa89=4{4f@%D(RuCj}^nZdp@ zU^REGD#=I)SxBC9t5%kmCHx`==w zB8&n8k!vWX**J$CwwTIl8yYxm5``%WujEQwlkKYtYvPaHF+AlvP2D#eW$>k6=g?zu z2OFipWJ-qj@|Z5LQTB4N4@5dwS}@!~Z;Dh*%dqm8>@_TLf6k)pA=`(i0|3obV3JJZ zKj_FLT+7;QdxeObI$_8O5R~y~Uc${Yy_ecX8rUy1zf5%i)wRKQpEQgMr;QrPVChg( z>f(r*d zJa!W9XN{g8orif{!o2h>H}yuNnVh5Xx(S0vur@f4gV1C(X!Lix9NYh~C4BxiI0c#= z&r^Rs9$VjbYo1hmsc%B0W3E z>JxeRIvEK2hMSyDFMN((8@vxKNZJamR|+Hcy{x{mRI9;%GOH4?YMQUL_6XxY1g>Dz zCl^Le0-Rbj%c9ED_WKyYEv8QlZR#wzftfP0suy*KOB-;LFa)-|K7ZDaiQ=QX z!+ob@%qZ;!f4FsZ$8U=Z6_6vKg%1eZ*6}yB;>GY`|W

EK0f9AXE&ZMdrH_B!fMryt^l)8cfuqE&mTjmC8F4@!6ViVg{j~9Bbm^wP z{?VSYR?Ov~24w{#TM*F?H%=ZxsaSi2AYp)rP`epy3p<=#EL2G4A)E5-iTFRe!V}9t zH--(5dzJYV#Sjo{cP3F>JNoZJHxvIW)xFGPMsSNl`ZDN%g5?JZ71SW4=*At@$JTWv z8LeNSjDpeQKlKDAjI%7!XC#qKM!$-6G(32)nU002z&z|CH#j1e8WDSb;3#LY!_?LWN8Fs_1RS1(T;ix>ZU2T(7)*9*jJl6#hr} zlqy@@Caytp>P+Fw8WV-Piu-p$ho!?qc8nGk7{2Wnma=71i-p2So`Wor{GkMCjGfaoi+(>?SkmN@9>sMpXeCrlK1j)xj< zJZ0s&0lYsGhCY{_achgAp2xHDQ^#5cJ$w;@ocTNiyjd3Swm*C55z$ozcTwk?{IdnxEB=CDz(cjl?y z=Ul^*r$*0DmT&VbJjl{+O-fa7JO&e%pd?-{hIHkn&4N7R5Cdg67R0G`eq$m@h zas4I9{hq>{9puRp3z@7;-V|NnY3bs8^~mf;qB_%z~ZJ+VZU0 zojP|jNhId{&+C}KTAEUxTC|dh$USA)0%I*uibE0N{X4j`a?6KMb%gy#ZZKr^0h(ZR zOA!y+s{PEFLF^r7E;{bJADBR?*g)LCcCLkRghK(3o*w{@Lc68)nyw!h47vF@B0vA@ z$(`Dx`A1ZknrZI45F&4w+-xeD-d*z&0yPo)Qr2(fPo{xunPgssDB{q=QXb>(ajkjS zh9rVz9xEMs*py}{Bv_7MsnCadiv1-`v;W7_d&g7#zyITpGaNg|%yzOzh3u?jk0KRi zC0UV~ol#GtjASKyQ=UTxs}2h%~i$Q{I~T-viy1 znfH`OnKGbJ;UoJvdL25Ofb>-x5?xthTi0aRj*bVFRUg+hs{#4Djn_yuOAL4?insz+VYH{B@EbAR1ap$B{+c zsC~vag(=EVO|#7Y)a1k)LLFZ_MDRS{V~9{-=V^*z`{i!h#}9PIyhndFjh`_hkN}?g zaVYrOC6rs6w!L%zvKB=iP(ukrb%A6VT+3NUPtHxJqeB2Qt47A9B^yH?C205|x5U+$4M@68_B;2aj{R}6y3R8c;)wY8v`;N6QdG*G zJ7Jq;EhwYjI74qc1+vukzO2oZpMf#Kytq$t<$j>$x#s5{2(R){M$|I+d}NNuQP|3O z4Uv*65twm_UU!4ol>{@=w?nlM-Fi;|1&6YvNymE;AmtVe@ZWmjAUT;@A90`%cmjo! z$pB0~U}Zvh=u#oy2cD>lkXV{kGY`?r zCIo(uFs%QiTWDLiD+K@@6g6!7!8p?cW?OG{b$X8FxyP$&Nx7Z(1`()J`~|E|tT0)y zi3pG2OABV(T7_gj`Hs?D-8 z2D$4s`)z9}Yn+jOey`bHK{XG{Zld{+_|(Q^rpp(JS9FAH*d_4!6_xsn@}E8))^Tub z6}y|)nRuJ%fPf8kTrn^hswtL{J%N0|5#lKis`t8!Pla&M5VeW-kabdqHUkzsorLL_ za}GKDA2wShYDaJ|wG$0G-sT*vdmE}@Zg7)>t0-$g$+~^JNAmRei6dz*Ui~%=L$RRK zV4|MR`skU+nO=vS;nLaX#FaoC*OEO{V8UFccSl>FX0J#8(FODd%(vlbJ;r)Z(GQN`g z_0Hz-j{;012(fcJ;LXY^P^PB@tbB9fWbgoKKNhpWr?DHW>4BT*#jC~Q3vO#;Xr?%S z+nUGV1VAGJ#{pYXhxcJH*}3<5b{m`pivGD-+~($K5N^VOgBxA0mJPC6ef@GQF17Pcx7 zoxgv7?>FJn0PF^arTi2^%24Wrz1Tb@T{Pi$)R1NEj?H z95fMk#0IdBO7G)d>u#149TalwXHPj3eCF|o&^X7#l1$|0+g>T0C%mCxD(?`f=DE|+ z2WBgf{U^%jDvJtj6IPDPe2T*U( zl3hftpsY{OD=``RIfb03_f8Bdo`XGEPoaCuE~qS-h+BpHxB+{5cRL>`vErrmoz^Aw zX{i9SU@Z!mvjw~sB?1$G$HTKz`EWeL&ofcdE9om8<33 z`8xh%EH60ly>Eqnt}8%T82#t|ZmZ%5N@NJ8`zbHefI44zT^HIaA{-?b*6ZdPzo{L4 z>EylOSjbAYj(}A`;c`}jVskO|QxR2Hu|y|;JhAYvK?V=@XYx;D0bD)gMi=|#^I&E1 z@}6%M^eR~waV!!bHJBQ0n&CgY7uR^*!ePw9IAXg6I^T`dxMR*Dw*l!;p~~f z)Z($e_nB)vWfaf1TipHH*rIcu+dVDSe})1_cAb~8;L#ray{+{$JNt;1e(NU+5m-!! zMdh2;ePASv`8`+6JtsjqChL#6gf{+lJfyRn6+`S!pRM^ei8~3yh8_&0e6jK7YV`p~ z>ifWL-IOUw1&m?JS7M_qJgfkmvDq%VqV&P9K;x+y2U4LON9zwK0tjpCj!{EL*(j+7 zgAJ`!JuKwR@VwET{#BxgBP+I&iXUDa;`_}>Ze5!fVfy!*${FzB`z7QU4N?C7v4g~M zF#$jzuD0&-c2<75ILr=4L1iaohD`#BC1WoY>Y2g2KWF{%0A#Vf0Ypcb^4zKO^a~0Q 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 Date: Sat, 7 Dec 2024 05:59:31 +0000 Subject: [PATCH 493/588] Automatic changelog update --- Resources/Changelog/Changelog.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/Changelog.yml b/Resources/Changelog/Changelog.yml index 88dcbb0ec6..539dee86e4 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,12 +1,4 @@ Entries: -- author: lzk228 - changes: - - message: Removed names from implanters. No more meta. (You still can see which - implant is inside via examining or holding implanter in hand). - type: Tweak - id: 7185 - time: '2024-08-23T00:11:28.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/31045 - author: lzk228 changes: - message: Added second jester suit and hat in clown loadouts. @@ -3905,3 +3897,10 @@ id: 7684 time: '2024-12-07T03:39:52.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/33717 +- author: mrjajkes, Piras314 + changes: + - message: Added Nukemass by mrjajkes to the nuke songs for christmas! + type: Add + id: 7685 + time: '2024-12-07T05:58:23.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/33752 From cf73cd5ddc0983666a1348277ca0db0ed326c8d5 Mon Sep 17 00:00:00 2001 From: Southbridge <7013162+southbridge-fur@users.noreply.github.com> Date: Sat, 7 Dec 2024 01:53:36 -0500 Subject: [PATCH 494/588] Box Station - Now more festive! (#33751) Added more holiday decorations --- Resources/Maps/box.yml | 767 ++++++++++++++++++++++++++++++----------- 1 file changed, 572 insertions(+), 195 deletions(-) diff --git a/Resources/Maps/box.yml b/Resources/Maps/box.yml index 18f6f3d915..79d9b8114f 100644 --- a/Resources/Maps/box.yml +++ b/Resources/Maps/box.yml @@ -6,6 +6,7 @@ tilemap: 7: FloorAsteroidSand 8: FloorAsteroidSandDug 13: FloorAstroIce + 4: FloorAstroSnow 14: FloorBar 16: FloorBlue 17: FloorBlueCircuit @@ -80,7 +81,7 @@ entities: chunks: -1,-1: ind: -1,-1 - tiles: WQAAAAABeQAAAAAAHQAAAAADHQAAAAAAHQAAAAACHQAAAAACHQAAAAADHQAAAAAAHQAAAAABHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAeQAAAAAAHQAAAAADHQAAAAADHQAAAAACIQAAAAAAHQAAAAABHQAAAAACHQAAAAAAHQAAAAADeQAAAAAAHQAAAAACHQAAAAACEQAAAAAAEQAAAAAAEQAAAAAAWQAAAAAAeQAAAAAAHQAAAAABHQAAAAADHQAAAAAAHQAAAAACHQAAAAADHQAAAAABHQAAAAACHQAAAAABeQAAAAAAHQAAAAACHQAAAAAAEQAAAAAAWQAAAAACEQAAAAAAWQAAAAAAeQAAAAAAHQAAAAADHQAAAAABHQAAAAADHQAAAAACHQAAAAACHQAAAAADHQAAAAAAHQAAAAABeQAAAAAAHQAAAAABEQAAAAAAEQAAAAAAHQAAAAABHQAAAAADWQAAAAACeQAAAAAAHQAAAAADHQAAAAABHQAAAAADHQAAAAABHQAAAAAAHQAAAAACHQAAAAACHQAAAAABeQAAAAAAHQAAAAABEQAAAAAAEQAAAAAAHQAAAAABHQAAAAADWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACEQAAAAAAEQAAAAAAHQAAAAACWQAAAAADWQAAAAAAWQAAAAADWQAAAAAAeQAAAAAAWQAAAAAAeQAAAAAAHQAAAAABHQAAAAADHQAAAAABHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADWQAAAAAAWQAAAAACWQAAAAAAWQAAAAADWQAAAAADWQAAAAADWQAAAAABHQAAAAACHQAAAAADHQAAAAABHQAAAAABHQAAAAAAHQAAAAADHQAAAAACHQAAAAADHQAAAAADWQAAAAAAWQAAAAAAWQAAAAABWQAAAAAAeQAAAAAAWQAAAAADeQAAAAAAHQAAAAADHQAAAAAAHQAAAAACHQAAAAADHQAAAAACHQAAAAAAHQAAAAADHQAAAAADHQAAAAADWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADHQAAAAABHQAAAAACHQAAAAACHQAAAAAAHQAAAAADHQAAAAAAHQAAAAABHQAAAAAAWQAAAAADeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADHQAAAAABHQAAAAAAHQAAAAAAHQAAAAADHQAAAAABWQAAAAADeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAHQAAAAADHQAAAAACHQAAAAACHQAAAAADHQAAAAABHQAAAAABWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAWQAAAAACWQAAAAADWQAAAAABWQAAAAADWQAAAAABWQAAAAABWQAAAAADWQAAAAACWQAAAAABWQAAAAAAWQAAAAADWQAAAAABWQAAAAABWQAAAAAAWQAAAAABWQAAAAABWQAAAAACWQAAAAACWQAAAAABWQAAAAACWQAAAAABWQAAAAADWQAAAAADWQAAAAABWQAAAAADWQAAAAACWQAAAAAAWQAAAAABWQAAAAADWQAAAAABWQAAAAADWQAAAAAAWQAAAAACWQAAAAAAWQAAAAACWQAAAAABWQAAAAADWQAAAAACWQAAAAADWQAAAAADWQAAAAAAWQAAAAADWQAAAAADWQAAAAADWQAAAAABWQAAAAAD + tiles: WQAAAAABeQAAAAAAHQAAAAADHQAAAAAAHQAAAAACHQAAAAACHQAAAAADHQAAAAAAHQAAAAABHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAeQAAAAAAHQAAAAADHQAAAAADHQAAAAACIQAAAAAAHQAAAAABHQAAAAACHQAAAAAAHQAAAAADeQAAAAAAHQAAAAACHQAAAAACEQAAAAAAEQAAAAAAEQAAAAAAWQAAAAAAeQAAAAAAHQAAAAABHQAAAAADHQAAAAAAHQAAAAACHQAAAAADHQAAAAABHQAAAAACHQAAAAABeQAAAAAAHQAAAAACHQAAAAAAEQAAAAAAWQAAAAACEQAAAAAAWQAAAAAAeQAAAAAAHQAAAAADHQAAAAABHQAAAAADHQAAAAACHQAAAAACHQAAAAADHQAAAAAAHQAAAAABeQAAAAAAHQAAAAABEQAAAAAAEQAAAAAAHQAAAAABHQAAAAADWQAAAAACeQAAAAAAHQAAAAADHQAAAAABHQAAAAADHQAAAAABHQAAAAAAHQAAAAACHQAAAAACHQAAAAABeQAAAAAAHQAAAAABEQAAAAAAEQAAAAAAHQAAAAABHQAAAAADWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACEQAAAAAAEQAAAAAAHQAAAAACWQAAAAADWQAAAAAAWQAAAAADWQAAAAAAeQAAAAAAWQAAAAAAeQAAAAAAHQAAAAABHQAAAAADHQAAAAABHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADWQAAAAAAWQAAAAACWQAAAAAAWQAAAAADWQAAAAADWQAAAAADWQAAAAABHQAAAAACHQAAAAADHQAAAAABHQAAAAABHQAAAAAAHQAAAAADHQAAAAACHQAAAAADHQAAAAADWQAAAAAAWQAAAAAAWQAAAAABWQAAAAAAeQAAAAAAWQAAAAADeQAAAAAAHQAAAAADHQAAAAAAHQAAAAACHQAAAAADHQAAAAACHQAAAAAAHQAAAAADHQAAAAADHQAAAAADWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADHQAAAAABHQAAAAACHQAAAAACHQAAAAAAHQAAAAADHQAAAAAAHQAAAAABHQAAAAAAWQAAAAADeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADHQAAAAABHQAAAAAAHQAAAAAAHQAAAAADHQAAAAABWQAAAAADeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAHQAAAAADHQAAAAACHQAAAAACHQAAAAADHQAAAAABHQAAAAABWQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAWQAAAAACWQAAAAADWQAAAAABWQAAAAADWQAAAAABWQAAAAABWQAAAAADWQAAAAACWQAAAAABWQAAAAAAWQAAAAADWQAAAAABWQAAAAABWQAAAAAAWQAAAAABWQAAAAABWQAAAAACWQAAAAACWQAAAAABWQAAAAACWQAAAAABWQAAAAADWQAAAAADWQAAAAABWQAAAAADWQAAAAACWQAAAAAAWQAAAAABWQAAAAADWQAAAAABWQAAAAADWQAAAAAAWQAAAAACWQAAAAAAWQAAAAACWQAAAAABWQAAAAADWQAAAAACWQAAAAADWQAAAAADWQAAAAAABAAAAAAAWQAAAAADWQAAAAADWQAAAAABWQAAAAAD version: 6 0,0: ind: 0,0 @@ -88,7 +89,7 @@ entities: version: 6 0,-1: ind: 0,-1 - tiles: eQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAdgAAAAAAdgAAAAACdgAAAAABdgAAAAAAdgAAAAAAdgAAAAADdgAAAAACHQAAAAADeQAAAAAAWQAAAAACWQAAAAAAEQAAAAAAEQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAdgAAAAAAdgAAAAADdgAAAAABdgAAAAAAdgAAAAAAdgAAAAAAdgAAAAAAHQAAAAADeQAAAAAAWQAAAAACWQAAAAABWQAAAAAAEQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAdgAAAAAAdgAAAAADdgAAAAADdgAAAAABdgAAAAACdgAAAAACdgAAAAAAHQAAAAAAeQAAAAAAWQAAAAADWQAAAAADHQAAAAADEQAAAAAAEQAAAAAAHQAAAAACeQAAAAAAdgAAAAABdgAAAAAAdgAAAAABdgAAAAABdgAAAAABdgAAAAAAdgAAAAACHQAAAAABeQAAAAAAWQAAAAACWQAAAAACHQAAAAAAEQAAAAAAEQAAAAAAHQAAAAABeQAAAAAAHQAAAAABHQAAAAACHQAAAAACHQAAAAAAHQAAAAADHQAAAAAAHQAAAAACHQAAAAAAeQAAAAAAWQAAAAAAWQAAAAADEQAAAAAAEQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACHQAAAAAAHQAAAAADHQAAAAABeQAAAAAAWQAAAAADeQAAAAAAWQAAAAABWQAAAAABWQAAAAABWQAAAAACWQAAAAADHQAAAAABHQAAAAACHQAAAAACHQAAAAACHQAAAAACHQAAAAACHQAAAAACHQAAAAABWQAAAAADWQAAAAADWQAAAAABWQAAAAABWQAAAAADWQAAAAABWQAAAAABWQAAAAABHQAAAAACHQAAAAADHQAAAAADHQAAAAABHQAAAAACHQAAAAADHQAAAAACHQAAAAAAeQAAAAAAWQAAAAABeQAAAAAAWQAAAAADWQAAAAAAWQAAAAADWQAAAAACWQAAAAABHQAAAAAAHQAAAAAAHQAAAAADHQAAAAACHQAAAAADHQAAAAAAHQAAAAABHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAADHQAAAAADHQAAAAABHQAAAAABHQAAAAAAHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAWQAAAAADWQAAAAADHQAAAAADHQAAAAACHQAAAAABHQAAAAABHQAAAAADeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAWQAAAAABWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAADWQAAAAADWQAAAAABWQAAAAADWQAAAAACWQAAAAAAWQAAAAACWQAAAAAAWQAAAAAAWQAAAAACWQAAAAAAWQAAAAABWQAAAAACWQAAAAAAWQAAAAADWQAAAAABWQAAAAABWQAAAAACWQAAAAAAWQAAAAABWQAAAAABWQAAAAABWQAAAAAAWQAAAAAAWQAAAAADWQAAAAABWQAAAAADWQAAAAACWQAAAAAAWQAAAAABWQAAAAADWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAABWQAAAAACWQAAAAAAWQAAAAAAWQAAAAADWQAAAAACWQAAAAABWQAAAAAAWQAAAAABWQAAAAACWQAAAAACWQAAAAAAWQAAAAAAWQAAAAACWQAAAAAB + tiles: eQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAdgAAAAAAdgAAAAACdgAAAAABdgAAAAAAdgAAAAAAdgAAAAADdgAAAAACHQAAAAADeQAAAAAAWQAAAAACWQAAAAAAEQAAAAAAEQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAdgAAAAAAdgAAAAADdgAAAAABdgAAAAAAdgAAAAAAdgAAAAAAdgAAAAAAHQAAAAADeQAAAAAAWQAAAAACWQAAAAABWQAAAAAAEQAAAAAAHQAAAAAAHQAAAAAAeQAAAAAAdgAAAAAAdgAAAAADdgAAAAADdgAAAAABdgAAAAACdgAAAAACdgAAAAAAHQAAAAAAeQAAAAAAWQAAAAADWQAAAAADHQAAAAADEQAAAAAAEQAAAAAAHQAAAAACeQAAAAAAdgAAAAABdgAAAAAAdgAAAAABdgAAAAABdgAAAAABdgAAAAAAdgAAAAACHQAAAAABeQAAAAAAWQAAAAACWQAAAAACHQAAAAAAEQAAAAAAEQAAAAAAHQAAAAABeQAAAAAAHQAAAAABHQAAAAACHQAAAAACHQAAAAAAHQAAAAADHQAAAAAAHQAAAAACHQAAAAAAeQAAAAAAWQAAAAAAWQAAAAADEQAAAAAAEQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACHQAAAAAAHQAAAAADHQAAAAABeQAAAAAAWQAAAAADeQAAAAAAWQAAAAABWQAAAAABWQAAAAABWQAAAAACWQAAAAADHQAAAAABHQAAAAACHQAAAAACHQAAAAACHQAAAAACHQAAAAACHQAAAAACHQAAAAABWQAAAAADWQAAAAADWQAAAAABWQAAAAABWQAAAAADWQAAAAABWQAAAAABWQAAAAABHQAAAAACHQAAAAADHQAAAAADHQAAAAABHQAAAAACHQAAAAADHQAAAAACHQAAAAAAeQAAAAAAWQAAAAABeQAAAAAAWQAAAAADWQAAAAAAWQAAAAADWQAAAAACWQAAAAABHQAAAAAAHQAAAAAAHQAAAAADHQAAAAACHQAAAAADHQAAAAAAHQAAAAABHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAADHQAAAAADHQAAAAABHQAAAAABHQAAAAAAHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAWQAAAAADWQAAAAADHQAAAAADHQAAAAACHQAAAAABHQAAAAABHQAAAAADeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAWQAAAAABWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAADWQAAAAADWQAAAAABWQAAAAADWQAAAAACWQAAAAAAWQAAAAACWQAAAAAAWQAAAAAAWQAAAAACWQAAAAAAWQAAAAABWQAAAAACWQAAAAAAWQAAAAADWQAAAAABWQAAAAABWQAAAAACWQAAAAAAWQAAAAABWQAAAAABWQAAAAABWQAAAAAAWQAAAAAAWQAAAAADWQAAAAABWQAAAAADWQAAAAACWQAAAAAAWQAAAAABWQAAAAADWQAAAAAAWQAAAAAAWQAAAAAAWQAAAAABWQAAAAACBAAAAAAAWQAAAAAAWQAAAAADWQAAAAACWQAAAAABWQAAAAAAWQAAAAABWQAAAAACWQAAAAACWQAAAAAAWQAAAAAAWQAAAAACWQAAAAAB version: 6 -1,0: ind: -1,0 @@ -96,7 +97,7 @@ entities: version: 6 1,-1: ind: 1,-1 - tiles: WQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAAAbAAAAAADbAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAAAWQAAAAAAWQAAAAACWQAAAAADWQAAAAAAWQAAAAADWQAAAAADWQAAAAACWQAAAAADWQAAAAADWQAAAAABWQAAAAAAWQAAAAAAWQAAAAACWQAAAAABWQAAAAABWQAAAAADWQAAAAABWQAAAAADWQAAAAACWQAAAAADWQAAAAADWQAAAAABWQAAAAAAWQAAAAACWQAAAAADWQAAAAAAWQAAAAACWQAAAAAAWQAAAAADWQAAAAAAWQAAAAABWQAAAAABWQAAAAACWQAAAAABWQAAAAABWQAAAAADWQAAAAABWQAAAAACWQAAAAABWQAAAAADWQAAAAABWQAAAAACWQAAAAABWQAAAAACWQAAAAACWQAAAAAAWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABeQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADeQAAAAAAdgAAAAAAdgAAAAAAdgAAAAACdgAAAAACdgAAAAABdgAAAAADdgAAAAABdgAAAAAAdgAAAAADdgAAAAADdgAAAAAAdgAAAAADdgAAAAABdgAAAAADWQAAAAABeQAAAAAAdgAAAAACdgAAAAABdgAAAAACdgAAAAABdgAAAAABdgAAAAAAdgAAAAAAdgAAAAAAdgAAAAACdgAAAAADdgAAAAAAdgAAAAADdgAAAAADdgAAAAAAWQAAAAAAeQAAAAAAdgAAAAAAdgAAAAACdgAAAAADdgAAAAACdgAAAAAAdgAAAAADdgAAAAADdgAAAAACdgAAAAADdgAAAAABeQAAAAAAeQAAAAAAHQAAAAACeQAAAAAAWQAAAAADeQAAAAAAdgAAAAAAdgAAAAAAdgAAAAAAdgAAAAAAdgAAAAADdgAAAAACdgAAAAACdgAAAAACdgAAAAACdgAAAAADeQAAAAAAHQAAAAACHQAAAAABHQAAAAABWQAAAAAAeQAAAAAAdgAAAAADdgAAAAABdgAAAAABdgAAAAABdgAAAAADdgAAAAADdgAAAAACdgAAAAABdgAAAAAAdgAAAAADeQAAAAAAHQAAAAADHQAAAAADHQAAAAAAWQAAAAABeQAAAAAAdgAAAAABdgAAAAACdgAAAAADdgAAAAABdgAAAAADdgAAAAADdgAAAAAAdgAAAAAAdgAAAAACdgAAAAABeQAAAAAAHQAAAAADHQAAAAACHQAAAAABWQAAAAACeQAAAAAAdgAAAAAAdgAAAAAAdgAAAAADdgAAAAABdgAAAAADdgAAAAACdgAAAAACdgAAAAACdgAAAAACdgAAAAABeQAAAAAAHQAAAAAAHQAAAAABHQAAAAACWQAAAAADeQAAAAAAdgAAAAADdgAAAAAAdgAAAAABdgAAAAADdgAAAAAAdgAAAAACdgAAAAACdgAAAAACdgAAAAABeQAAAAAAeQAAAAAAHQAAAAABHQAAAAAAHQAAAAACWQAAAAAAeQAAAAAAdgAAAAADPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAdgAAAAABdgAAAAAAdgAAAAACeQAAAAAAeQAAAAAAdgAAAAAAeQAAAAAAWQAAAAADeQAAAAAAdgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAdgAAAAADdgAAAAABdgAAAAACeQAAAAAAdgAAAAABdgAAAAACdgAAAAACWQAAAAAAeQAAAAAAdgAAAAABPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAdgAAAAAAdgAAAAABdgAAAAACeQAAAAAAdgAAAAACdgAAAAADdgAAAAAD + tiles: WQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAbAAAAAAAbAAAAAADbAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAAAWQAAAAAAWQAAAAACWQAAAAADWQAAAAAAWQAAAAADWQAAAAADWQAAAAACWQAAAAADWQAAAAADWQAAAAABWQAAAAAAWQAAAAAAWQAAAAACWQAAAAABWQAAAAABWQAAAAADWQAAAAABWQAAAAADWQAAAAACWQAAAAADWQAAAAADWQAAAAABWQAAAAAAWQAAAAACWQAAAAADWQAAAAAAWQAAAAACWQAAAAAAWQAAAAADWQAAAAAAWQAAAAABWQAAAAABWQAAAAACWQAAAAABWQAAAAABWQAAAAADWQAAAAABWQAAAAACWQAAAAABWQAAAAADWQAAAAABWQAAAAACWQAAAAABWQAAAAACWQAAAAACWQAAAAAAWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABeQAAAAAAHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADeQAAAAAAdgAAAAAAdgAAAAAAdgAAAAACdgAAAAACdgAAAAABdgAAAAADdgAAAAABdgAAAAAAdgAAAAADdgAAAAADdgAAAAAAdgAAAAADdgAAAAABdgAAAAADWQAAAAABeQAAAAAAdgAAAAACdgAAAAABdgAAAAACdgAAAAABdgAAAAABdgAAAAAAdgAAAAAAdgAAAAAAdgAAAAACdgAAAAADdgAAAAAAdgAAAAADdgAAAAADdgAAAAAAWQAAAAAAeQAAAAAAdgAAAAAAdgAAAAACdgAAAAADdgAAAAACdgAAAAAAdgAAAAADdgAAAAADdgAAAAACdgAAAAADdgAAAAABeQAAAAAAeQAAAAAAHQAAAAACeQAAAAAAWQAAAAADeQAAAAAAdgAAAAAAdgAAAAAAdgAAAAAAdgAAAAAAdgAAAAADdgAAAAACdgAAAAACdgAAAAACdgAAAAACdgAAAAADeQAAAAAAHQAAAAACHQAAAAABHQAAAAABWQAAAAAAeQAAAAAAdgAAAAADdgAAAAABdgAAAAABdgAAAAABdgAAAAADBAAAAAAABAAAAAAAdgAAAAABdgAAAAAAdgAAAAADeQAAAAAAHQAAAAADHQAAAAADHQAAAAAAWQAAAAABeQAAAAAAdgAAAAABdgAAAAACdgAAAAADdgAAAAABdgAAAAADBAAAAAAABAAAAAAAdgAAAAAAdgAAAAACdgAAAAABeQAAAAAAHQAAAAADHQAAAAACHQAAAAABWQAAAAACeQAAAAAAdgAAAAAAdgAAAAAAdgAAAAADdgAAAAABdgAAAAADdgAAAAACdgAAAAACdgAAAAACdgAAAAACdgAAAAABeQAAAAAAHQAAAAAAHQAAAAABHQAAAAACWQAAAAADeQAAAAAAdgAAAAADdgAAAAAAdgAAAAABdgAAAAADdgAAAAAAdgAAAAACdgAAAAACdgAAAAACdgAAAAABeQAAAAAAeQAAAAAAHQAAAAABHQAAAAAAHQAAAAACWQAAAAAAeQAAAAAAdgAAAAADPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAdgAAAAABdgAAAAAAdgAAAAACeQAAAAAAeQAAAAAAdgAAAAAAeQAAAAAAWQAAAAADeQAAAAAAdgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAdgAAAAADdgAAAAABdgAAAAACeQAAAAAAdgAAAAABdgAAAAACdgAAAAACWQAAAAAAeQAAAAAAdgAAAAABPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAPgAAAAAAdgAAAAAAdgAAAAABdgAAAAACeQAAAAAAdgAAAAACdgAAAAADdgAAAAAD version: 6 -2,-1: ind: -2,-1 @@ -116,7 +117,7 @@ entities: version: 6 -1,-2: ind: -1,-2 - tiles: WQAAAAADWQAAAAADWQAAAAAAWQAAAAACWQAAAAADWQAAAAABWQAAAAABWQAAAAABWQAAAAACWQAAAAACWQAAAAABWQAAAAADWQAAAAACWQAAAAADWQAAAAACWQAAAAACWQAAAAADWQAAAAABWQAAAAADWQAAAAACWQAAAAADWQAAAAABWQAAAAABWQAAAAACWQAAAAABWQAAAAABWQAAAAACWQAAAAABWQAAAAADWQAAAAADWQAAAAAAWQAAAAAAWQAAAAADWQAAAAACWQAAAAAAWQAAAAABWQAAAAAAWQAAAAABWQAAAAAAWQAAAAABWQAAAAACWQAAAAACWQAAAAAAWQAAAAABWQAAAAACWQAAAAABWQAAAAADWQAAAAAAWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAAAWQAAAAAAWQAAAAABeQAAAAAAHQAAAAAAdgAAAAAAdgAAAAADdgAAAAABHQAAAAACeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAWQAAAAADWQAAAAABWQAAAAABLwAAAAAAWQAAAAAAeQAAAAAAHQAAAAAAdgAAAAAAdgAAAAACdgAAAAAAHQAAAAACeQAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAAAWQAAAAACLwAAAAAAWQAAAAACeQAAAAAAHQAAAAADdgAAAAACdgAAAAADdgAAAAAAHQAAAAACeQAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAWQAAAAACWQAAAAADWQAAAAAAWQAAAAADLwAAAAAAWQAAAAACeQAAAAAAHQAAAAAAdgAAAAABdgAAAAADdgAAAAABHQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAWQAAAAADWQAAAAADWQAAAAABWQAAAAAALwAAAAAAWQAAAAABeQAAAAAAHQAAAAADdgAAAAABdgAAAAAAdgAAAAACHQAAAAACeQAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACWQAAAAABWQAAAAADWQAAAAACWQAAAAADHQAAAAADdgAAAAAAdgAAAAADdgAAAAABHQAAAAADeQAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAHQAAAAABHQAAAAADHQAAAAAAWQAAAAADeQAAAAAAWQAAAAADeQAAAAAAHQAAAAACdgAAAAADdgAAAAADdgAAAAABHQAAAAADeQAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAHQAAAAADHQAAAAAAHQAAAAADWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAHQAAAAADHQAAAAADHQAAAAABWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACHQAAAAABHQAAAAABeQAAAAAAAAAAAAAAeQAAAAAAHQAAAAABHQAAAAADHQAAAAABWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACHQAAAAABHQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAHQAAAAADHQAAAAABHQAAAAACWQAAAAAAeQAAAAAAHQAAAAAAHQAAAAADHQAAAAABHQAAAAACHQAAAAACHQAAAAAAHQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACWQAAAAADeQAAAAAAHQAAAAADHQAAAAABHQAAAAACHQAAAAABHQAAAAABHQAAAAACHQAAAAABHQAAAAAAHQAAAAABHQAAAAABHQAAAAADLQAAAAAAHQAAAAACLQAAAAAD + tiles: WQAAAAADWQAAAAADWQAAAAAAWQAAAAACWQAAAAADWQAAAAABWQAAAAABWQAAAAABWQAAAAACWQAAAAACWQAAAAABWQAAAAADWQAAAAACWQAAAAADWQAAAAACWQAAAAACWQAAAAADWQAAAAABWQAAAAADWQAAAAACWQAAAAADWQAAAAABWQAAAAABWQAAAAACWQAAAAABWQAAAAABWQAAAAACWQAAAAABWQAAAAADWQAAAAADWQAAAAAAWQAAAAAAWQAAAAADWQAAAAACWQAAAAAAWQAAAAABWQAAAAAAWQAAAAABWQAAAAAAWQAAAAABWQAAAAACWQAAAAACWQAAAAAAWQAAAAABWQAAAAACWQAAAAABWQAAAAADWQAAAAAAWQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADWQAAAAAAWQAAAAAAWQAAAAABeQAAAAAAHQAAAAAAdgAAAAAAdgAAAAADdgAAAAABHQAAAAACeQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeQAAAAAAWQAAAAADWQAAAAABWQAAAAABBAAAAAAAWQAAAAAAeQAAAAAAHQAAAAAAdgAAAAAAdgAAAAACdgAAAAAAHQAAAAACeQAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAWQAAAAACWQAAAAAAWQAAAAACBAAAAAAAWQAAAAACeQAAAAAAHQAAAAADdgAAAAACdgAAAAADdgAAAAAAHQAAAAACeQAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAWQAAAAACWQAAAAADWQAAAAAAWQAAAAADBAAAAAAAWQAAAAACeQAAAAAAHQAAAAAAdgAAAAABdgAAAAADdgAAAAABHQAAAAAAeQAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAWQAAAAADWQAAAAADWQAAAAABWQAAAAAABAAAAAAAWQAAAAABeQAAAAAAHQAAAAADdgAAAAABdgAAAAAAdgAAAAACHQAAAAACeQAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACWQAAAAABWQAAAAADWQAAAAACWQAAAAADHQAAAAADdgAAAAAAdgAAAAADdgAAAAABHQAAAAADeQAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAHQAAAAABHQAAAAADHQAAAAAAWQAAAAADeQAAAAAAWQAAAAADeQAAAAAAHQAAAAACdgAAAAADdgAAAAADdgAAAAABHQAAAAADeQAAAAAAeAAAAAAAAAAAAAAAeQAAAAAAHQAAAAADHQAAAAAAHQAAAAADWQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAAAAAAAAAeQAAAAAAHQAAAAADHQAAAAADHQAAAAABWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACHQAAAAABHQAAAAABeQAAAAAAAAAAAAAAeQAAAAAAHQAAAAABHQAAAAADHQAAAAABWQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACHQAAAAABHQAAAAAAeQAAAAAAeAAAAAAAeQAAAAAAHQAAAAADHQAAAAABHQAAAAACWQAAAAAAeQAAAAAAHQAAAAAAHQAAAAADHQAAAAABHQAAAAACHQAAAAACHQAAAAAAHQAAAAAAHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAACWQAAAAADeQAAAAAAHQAAAAADHQAAAAABHQAAAAACHQAAAAABHQAAAAABHQAAAAACHQAAAAABHQAAAAAAHQAAAAABHQAAAAABHQAAAAADLQAAAAAAHQAAAAACLQAAAAAD version: 6 -2,0: ind: -2,0 @@ -224,7 +225,7 @@ entities: version: 6 -3,-1: ind: -3,-1 - tiles: eQAAAAAAUAAAAAAAUAAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAWQAAAAABEAAAAAAAUAAAAAAAUAAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADeQAAAAAAUAAAAAAAUAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAWQAAAAACHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABEAAAAAAAUAAAAAAAUAAAAAAAeQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAWQAAAAABHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABeQAAAAAAUAAAAAAAUAAAAAAAeQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAeQAAAAAAWQAAAAACWQAAAAABWQAAAAABHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADEAAAAAAAUAAAAAAAUAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAWQAAAAAAWQAAAAADHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAeQAAAAAAeQAAAAAAUAAAAAAAeQAAAAAAWQAAAAADWQAAAAAAWQAAAAADWQAAAAABWQAAAAAAWQAAAAACWQAAAAACHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAWQAAAAAAWQAAAAACWQAAAAADWQAAAAABWQAAAAAAWQAAAAACWQAAAAACWQAAAAADWQAAAAAAWQAAAAABHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADWQAAAAABWQAAAAADWQAAAAABWQAAAAABWQAAAAACWQAAAAACWQAAAAADWQAAAAADWQAAAAADWQAAAAADHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADWQAAAAAAWQAAAAACWQAAAAACWQAAAAABWQAAAAABWQAAAAABWQAAAAAAWQAAAAACWQAAAAACWQAAAAAAHQAAAAADeQAAAAAAFQAAAAAAFQAAAAAAFQAAAAAAHQAAAAACWQAAAAADWQAAAAAAWQAAAAADWQAAAAADWQAAAAABWQAAAAACWQAAAAAAWQAAAAABWQAAAAAAWQAAAAABHQAAAAAAeQAAAAAAFQAAAAAAFQAAAAAAFQAAAAAAHQAAAAABHQAAAAAAHQAAAAAAHQAAAAABHQAAAAACHQAAAAACHQAAAAADHQAAAAADHQAAAAABHQAAAAAAHQAAAAADHQAAAAACeQAAAAAAFQAAAAAAFQAAAAAAFQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAFQAAAAAAeQAAAAAAWQAAAAAAWQAAAAAAWQAAAAABWQAAAAADWQAAAAACWQAAAAACWQAAAAACWQAAAAABWQAAAAABWQAAAAABWQAAAAACWQAAAAACWQAAAAADWQAAAAABWQAAAAAAWQAAAAACWQAAAAADWQAAAAABWQAAAAADWQAAAAAAWQAAAAABWQAAAAADWQAAAAABWQAAAAAAWQAAAAACWQAAAAADWQAAAAAAWQAAAAAAWQAAAAABWQAAAAADWQAAAAADWQAAAAADWQAAAAABWQAAAAADWQAAAAAAWQAAAAADWQAAAAAAWQAAAAACWQAAAAACWQAAAAAAWQAAAAABWQAAAAAAWQAAAAADWQAAAAADWQAAAAACWQAAAAABWQAAAAADWQAAAAAA + tiles: eQAAAAAAUAAAAAAAUAAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAWQAAAAABEAAAAAAAUAAAAAAAUAAAAAAAeQAAAAAAaAAAAAAAaAAAAAAAaAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADeQAAAAAAUAAAAAAAUAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAWQAAAAACHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABEAAAAAAAUAAAAAAAUAAAAAAAeQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAeQAAAAAAWQAAAAABWQAAAAAAWQAAAAABHQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAABeQAAAAAAUAAAAAAAUAAAAAAAeQAAAAAAPQAAAAAAPQAAAAAAPQAAAAAAeQAAAAAAWQAAAAACWQAAAAABWQAAAAABHQAAAAADeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAADEAAAAAAAUAAAAAAAUAAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAPQAAAAAAeQAAAAAAWQAAAAAAWQAAAAAAWQAAAAADHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAWQAAAAAAeQAAAAAAeQAAAAAAUAAAAAAAeQAAAAAAWQAAAAADWQAAAAAAWQAAAAADWQAAAAABWQAAAAAAWQAAAAACWQAAAAACHQAAAAABeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAWQAAAAAAWQAAAAACWQAAAAADWQAAAAABWQAAAAAAWQAAAAACWQAAAAACWQAAAAADWQAAAAAAWQAAAAABHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADWQAAAAABWQAAAAADWQAAAAABWQAAAAABWQAAAAACWQAAAAACWQAAAAADWQAAAAADWQAAAAADWQAAAAADHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAADWQAAAAAAWQAAAAACWQAAAAACWQAAAAABWQAAAAABWQAAAAABWQAAAAAAWQAAAAACWQAAAAACWQAAAAAAHQAAAAADeQAAAAAAFQAAAAAAFQAAAAAAFQAAAAAAHQAAAAACWQAAAAADWQAAAAAAWQAAAAADWQAAAAADWQAAAAABWQAAAAACWQAAAAAAWQAAAAABWQAAAAAAWQAAAAABHQAAAAAAeQAAAAAAFQAAAAAAFQAAAAAAFQAAAAAAHQAAAAABHQAAAAAAHQAAAAAAHQAAAAABHQAAAAACHQAAAAACHQAAAAADHQAAAAADHQAAAAABHQAAAAAAHQAAAAADHQAAAAACeQAAAAAAFQAAAAAAFQAAAAAAFQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAHQAAAAAAHQAAAAACeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAeQAAAAAAFQAAAAAAeQAAAAAAWQAAAAAAWQAAAAAAWQAAAAABWQAAAAADWQAAAAACWQAAAAACWQAAAAACWQAAAAABWQAAAAABWQAAAAABWQAAAAACWQAAAAACWQAAAAADWQAAAAABWQAAAAAAWQAAAAACWQAAAAADWQAAAAABWQAAAAADWQAAAAAAWQAAAAABWQAAAAADWQAAAAABWQAAAAAAWQAAAAACWQAAAAADWQAAAAAAWQAAAAAAWQAAAAABWQAAAAADWQAAAAADWQAAAAADWQAAAAABWQAAAAADWQAAAAAAWQAAAAADWQAAAAAAWQAAAAACWQAAAAACWQAAAAAAWQAAAAABWQAAAAAAWQAAAAADWQAAAAADWQAAAAACWQAAAAABWQAAAAADWQAAAAAA version: 6 3,0: ind: 3,0 @@ -587,9 +588,7 @@ entities: 364: -39,1 438: -23,-24 482: -14,-24 - 483: -14,-25 484: -14,-26 - 485: -14,-27 486: -14,-28 667: 76,-37 668: 77,-37 @@ -1663,11 +1662,6 @@ entities: 2646: -18,-74 2647: -18,-75 2648: -18,-76 - - node: - color: '#FFFFFFFF' - id: Bushb1 - decals: - 493: -14.963916,-26.286882 - node: color: '#FFFFFFFF' id: Bushe3 @@ -1677,18 +1671,7 @@ entities: color: '#FFFFFFFF' id: Bushe4 decals: - 501: -15.010791,-24.240007 1346: 8.037411,-24.076345 - - node: - color: '#FFFFFFFF' - id: Bushg2 - decals: - 500: -14.963916,-26.974382 - - node: - color: '#FFFFFFFF' - id: Bushh3 - decals: - 499: -15.026416,-24.552507 - node: color: '#FFFFFFFF' id: Bushi1 @@ -1715,11 +1698,6 @@ entities: id: Bushm1 decals: 1344: 6.1780357,-24.02947 - - node: - color: '#FFFFFFFF' - id: Bushn1 - decals: - 504: -14.995166,-24.818132 - node: color: '#FFFFFFFF' id: Caution @@ -1815,6 +1793,25 @@ entities: 3373: 49,1 3374: 49,0 3375: 49,-1 + 4057: -44,3 + 4058: -43,3 + 4059: -42,3 + 4060: -41,3 + 4061: 5,23 + 4062: 5,24 + 4073: -3,20 + 4074: -2,20 + 4075: -1,20 + 4076: 0,20 + 4077: 1,20 + 4078: -1,19 + 4079: -1,17 + 4080: -1,16 + 4116: 33,-12 + 4138: 51,-9 + 4176: 46,-12 + 4182: 79,-16 + 4183: 75,-6 - node: color: '#D381C996' id: CheckerNESW @@ -2059,6 +2056,27 @@ entities: 1243: 1,-50 1244: 1,-49 1245: 1,-48 + - node: + color: '#DE3A3A96' + id: CheckerNWSE + decals: + 4053: -44,3 + 4054: -43,3 + 4055: -42,3 + 4056: -41,3 + 4063: 5,23 + 4064: 5,24 + 4065: -1,20 + 4066: 0,20 + 4067: 1,20 + 4068: -2,20 + 4069: -3,20 + 4070: -1,19 + 4071: -1,17 + 4072: -1,16 + 4150: 40,-12 + 4174: 49,-12 + 4175: 76,-16 - node: color: '#EFB34196' id: CheckerNWSE @@ -2138,7 +2156,6 @@ entities: 2150: -7,-3 2151: -7,-2 2152: -7,-1 - 2153: 5,-3 2154: 5,-2 2155: 5,-1 2328: -18,-21 @@ -2206,9 +2223,48 @@ entities: 3636: 59,-44 3637: 60,-44 3641: 58,-51 + 3842: 18,-15 + 3843: 18,-14 + 3844: 18,-13 + 3845: 5,-3 + 3846: 41,-15 + 3847: 41,-14 + 3848: 41,-13 + 3849: 55,-15 + 3850: 55,-14 + 3851: 55,-13 + 3852: 73,-15 + 3853: 73,-14 + 3854: 73,-13 + 3971: -65,7 + 3972: -64,7 + 3973: -63,1 + 3974: -63,0 + 3975: -63,-5 + 3976: -63,-6 + 3977: -64,-7 + 3978: -65,-7 + 3979: -53,-3 + 3980: -53,-2 + 3981: -53,-1 + 3982: -36,-3 + 3983: -36,-2 + 3984: -36,-1 + 3985: -32,0 + 3986: -20,-3 + 3987: -20,-2 + 3988: -20,-1 + 3989: 7,21 + 3990: 7,20 + 3991: 7,19 + 3992: 0,18 + 3993: -1,18 + 3994: -2,18 + 3995: -16,19 + 3996: -16,20 - node: - zIndex: 5 cleanable: True + zIndex: 5 color: '#FFFFFF7F' id: Dirt decals: @@ -2240,6 +2296,7 @@ entities: 230: -32,-17 231: -31,-17 232: -30,-17 + 242: -32,-18 258: -6,-46 259: -3,-44 271: 59,-34 @@ -2248,7 +2305,6 @@ entities: 274: 62,-34 275: 63,-34 276: 64,-36 - 242: -32,-18 2530: 0,-57 2531: -1,-57 2532: -2,-55 @@ -2298,8 +2354,8 @@ entities: 3632: 57,-45 3633: 58,-46 - node: - zIndex: 5 cleanable: True + zIndex: 5 color: '#FFFFFF7F' id: DirtHeavy decals: @@ -2337,8 +2393,8 @@ entities: 3683: -47,-16 3684: -46,-14 - node: - zIndex: 5 cleanable: True + zIndex: 5 color: '#FFFFFF7F' id: DirtHeavyMonotile decals: @@ -2349,12 +2405,11 @@ entities: 3594: 51,-56 3595: 51,-48 - node: - zIndex: 5 cleanable: True + zIndex: 5 color: '#FFFFFF7F' id: DirtLight decals: - 277: 61,-34 243: -32,-16 244: -32,-15 245: -33,-15 @@ -2370,6 +2425,7 @@ entities: 255: -30,-14 256: -32,-11 257: -30,-10 + 277: 61,-34 446: -30,-38 447: -29,-37 448: -27,-31 @@ -2389,16 +2445,6 @@ entities: 466: -32,-19 467: -31,-20 468: -25,-20 - 2108: -6,24 - 2109: -5,23 - 2110: -6,25 - 2111: -2,25 - 2112: -3,23 - 2113: -3,24 - 2114: -11,24 - 2115: -10,25 - 2116: -10,23 - 2117: -9,23 1020: -62,-5 1021: -61,-5 1022: -55,-3 @@ -2419,7 +2465,6 @@ entities: 1037: 31,-13 1038: 44,-15 1039: 49,-14 - 1040: 60,-13 1041: 71,-14 1042: 1,-48 1043: 0,-47 @@ -2471,6 +2516,16 @@ entities: 1430: -7,51 1431: -10,52 1432: 3,49 + 2108: -6,24 + 2109: -5,23 + 2110: -6,25 + 2111: -2,25 + 2112: -3,23 + 2113: -3,24 + 2114: -11,24 + 2115: -10,25 + 2116: -10,23 + 2117: -9,23 2517: -1,-50 2518: 0,-50 2519: -1,-51 @@ -2706,11 +2761,6 @@ entities: id: Flowerspv2 decals: 1141: 43.154446,-52.983627 - - node: - color: '#FFFFFFFF' - id: Flowersy1 - decals: - 503: -15.026416,-25.521257 - node: color: '#FFFFFFFF' id: Flowersy3 @@ -2720,7 +2770,6 @@ entities: color: '#FFFFFFFF' id: Flowersy4 decals: - 502: -15.026416,-24.599382 1139: 46.216946,-53.983627 1341: 6.2405357,-24.09197 - node: @@ -2867,24 +2916,29 @@ entities: color: '#FFFFFFFF' id: Grassb1 decals: - 494: -14.995166,-26.943132 1145: 47.091946,-51.921127 - node: color: '#FFFFFFFF' - id: Grassb2 + id: Grassb5 decals: - 495: -14.917041,-24.615007 + 1146: 42.85757,-51.827377 - node: color: '#FFFFFFFF' - id: Grassb5 + id: Grassc1 decals: - 1146: 42.85757,-51.827377 + 4241: -14.906778,-26.99565 + - node: + color: '#FFFFFFFF' + id: Grassc4 + decals: + 4240: -14.990112,-23.983139 - node: color: '#FFFFFFFF' id: Grassd1 decals: 1138: 46.57632,-52.483627 3344: 42,0 + 4238: -14.990112,-24.54603 - node: color: '#FFFFFFFF' id: Grassd2 @@ -2895,24 +2949,22 @@ entities: color: '#FFFFFFFF' id: Grassd3 decals: - 491: -14.979541,-25.083757 1438: 2,48 3345: 43,0 - node: color: '#FFFFFFFF' id: Grasse1 decals: - 490: -14.995166,-24.161882 1135: 46.42007,-53.327377 1136: 43.29507,-52.358627 1437: 2,47 1439: -3,48 3341: 43,-1 + 4239: -15.031778,-26.047073 - node: color: '#FFFFFFFF' id: Grasse2 decals: - 489: -15.010791,-27.036882 1334: 6,-24 1335: 7,-24 1336: 8,-24 @@ -2924,7 +2976,6 @@ entities: color: '#FFFFFFFF' id: Grasse3 decals: - 492: -14.995166,-25.786882 1337: 8,-24 1338: 6.3967857,-23.96697 1433: 4,48 @@ -3153,7 +3204,6 @@ entities: 890: 63,-16 891: 62,-16 1669: 51,-15 - 1670: 55,-15 1713: 51,-42 1714: 52,-42 1715: 53,-42 @@ -3541,21 +3591,18 @@ entities: 2285: -79,10 2429: 35,-35 - node: - color: '#79150096' + color: '#9D9D97FF' id: QuarterTileOverlayGreyscale decals: - 1910: 75,-6 - 1911: 75,-7 - 1912: 75,-8 - 1913: 75,-9 - 1914: 75,-10 - 1915: 75,-11 - 1916: 75,-12 + 818: 63,-27 - node: - color: '#9D9D97FF' + color: '#9FED5896' id: QuarterTileOverlayGreyscale decals: - 818: 63,-27 + 3771: 14,-4 + 3772: 14,-5 + 3773: 14,-6 + 3774: 14,-7 - node: color: '#A4610696' id: QuarterTileOverlayGreyscale @@ -3582,10 +3629,7 @@ entities: color: '#D4D4D428' id: QuarterTileOverlayGreyscale decals: - 1761: 14,-4 1762: 14,-5 - 1763: 14,-6 - 1764: 14,-7 1771: -3,1 1772: -4,1 1773: -4,0 @@ -3603,7 +3647,6 @@ entities: 1798: -2,5 1799: -2,4 1800: -2,3 - 1932: 18,-13 1933: 19,-13 1934: 20,-13 1935: 21,-13 @@ -3619,23 +3662,7 @@ entities: 1945: 31,-13 1946: 32,-13 1947: 73,-13 - 1948: 72,-13 - 1949: 71,-13 - 1950: 70,-13 - 1951: 69,-13 - 1952: 68,-13 - 1953: 67,-13 - 1954: 66,-13 1955: 65,-13 - 1956: 64,-13 - 1957: 63,-13 - 1958: 62,-13 - 1959: 61,-13 - 1960: 60,-13 - 1961: 59,-13 - 1962: 58,-13 - 1963: 57,-13 - 1964: 56,-13 1965: 55,-13 1966: 54,-13 1967: -21,-1 @@ -3652,9 +3679,6 @@ entities: 1984: -41,-1 1987: -48,-1 1988: -49,-1 - 1989: -50,-1 - 1990: -51,-1 - 1991: -52,-1 1992: -62,1 1993: -61,1 1994: -60,1 @@ -3700,18 +3724,6 @@ entities: 3104: -45,-6 3105: -44,-6 3106: -43,-6 - - node: - color: '#D4D4D496' - id: QuarterTileOverlayGreyscale - decals: - 1902: 33,-12 - 1903: 34,-12 - 1904: 35,-12 - 1905: 36,-12 - 1906: 37,-12 - 1907: 38,-12 - 1908: 39,-12 - 1909: 40,-12 - node: color: '#DE3A3A96' id: QuarterTileOverlayGreyscale @@ -3753,7 +3765,6 @@ entities: 582: -9,21 583: -10,21 584: -11,21 - 604: -2,18 605: -2,17 606: -2,16 607: -2,15 @@ -3763,6 +3774,111 @@ entities: 1100: 57,-21 2098: 15,31 2100: 15,33 + 3812: 19,-13 + 3813: 20,-13 + 3814: 21,-13 + 3815: 22,-13 + 3816: 23,-13 + 3817: 24,-13 + 3818: 25,-13 + 3819: 26,-13 + 3820: 27,-13 + 3821: 28,-13 + 3822: 29,-13 + 3823: 30,-13 + 3824: 31,-13 + 3825: 32,-13 + 3865: 79,-11 + 3866: 80,-11 + 3867: 80,-10 + 3868: 80,-9 + 3869: 80,-8 + 3902: 56,-13 + 3903: 57,-13 + 3904: 58,-13 + 3905: 59,-13 + 3906: 60,-13 + 3907: 61,-13 + 3908: 62,-13 + 3909: 63,-13 + 3910: 64,-13 + 3911: 65,-13 + 3912: 66,-13 + 3913: 67,-13 + 3914: 68,-13 + 3915: 69,-13 + 3916: 70,-13 + 3917: 71,-13 + 3918: 72,-13 + 3919: -47,-1 + 3920: -46,-1 + 3921: -45,-1 + 3922: -44,-1 + 3923: -43,-1 + 3924: -42,-1 + 3925: -41,-1 + 3926: -40,-1 + 3927: -39,-1 + 3928: -38,-1 + 3929: -37,-1 + 3968: -48,-1 + 3969: -49,-1 + 4006: -52,-1 + 4007: -51,-1 + 4008: -50,-1 + 4009: -41,-9 + 4010: -42,-9 + 4011: -43,-9 + 4012: -44,-9 + 4019: -41,-7 + 4020: -41,-8 + 4043: -65,-3 + 4044: -65,-2 + 4045: -65,-1 + 4046: -65,0 + 4047: -65,1 + 4048: -65,2 + 4049: -65,3 + 4050: -65,4 + 4051: -65,5 + 4052: -65,6 + 4142: 33,-13 + 4143: 33,-12 + 4144: 34,-12 + 4145: 35,-12 + 4146: 36,-12 + 4147: 37,-12 + 4148: 38,-12 + 4149: 39,-12 + 4151: 42,-13 + 4152: 43,-13 + 4153: 44,-13 + 4154: 45,-13 + 4155: 46,-13 + 4156: 46,-12 + 4157: 47,-12 + 4158: 48,-12 + 4160: 50,-13 + 4161: 51,-13 + 4162: 51,-12 + 4163: 51,-11 + 4164: 51,-10 + 4165: 51,-9 + 4166: 52,-9 + 4167: 53,-9 + 4168: 54,-13 + 4197: 75,-9 + 4198: 75,-8 + 4199: 75,-7 + 4200: 75,-6 + 4201: 76,-6 + 4202: 77,-6 + 4203: 78,-6 + 4204: 79,-6 + 4205: 80,-6 + 4206: 75,-10 + 4207: 75,-11 + 4208: 75,-12 - node: color: '#EFB34196' id: QuarterTileOverlayGreyscale @@ -3853,6 +3969,7 @@ entities: 2058: -4,-9 2059: -3,-9 2060: -2,-9 + 3738: -16,-11 - node: color: '#474F52FF' id: QuarterTileOverlayGreyscale180 @@ -3886,7 +4003,6 @@ entities: 916: 40,-15 917: 42,-15 918: 43,-15 - 919: 41,-15 1555: 36,-25 1637: 39,-15 2947: 38,-15 @@ -3931,6 +4047,54 @@ entities: decals: 3136: 3,-32 3137: 2,-32 + 3739: -6,-3 + 3740: -5,-3 + 3741: -4,-3 + 3742: -3,-3 + 3743: -2,-3 + 3744: -1,-3 + 3745: 0,-3 + 3746: 1,-3 + 3747: 2,-3 + 3748: 3,-3 + 3749: 4,-3 + 3750: -8,-3 + 3751: -9,-3 + 3752: -10,-3 + 3753: -11,-3 + 3754: -12,-3 + 3755: -13,-3 + 3756: -14,-3 + 3757: -15,-3 + 3758: -16,-3 + 3759: -16,-4 + 3760: -16,-5 + 3761: -16,-6 + 3762: -16,-7 + 3763: 6,-3 + 3764: 7,-3 + 3765: 8,-3 + 3766: 9,-3 + 3767: 10,-3 + 3768: 11,-3 + 3769: 12,-3 + 3770: 13,-3 + 3941: -47,-3 + 3942: -46,-3 + 3943: -45,-3 + 3944: -44,-3 + 3945: -43,-3 + 3946: -42,-3 + 3947: -41,-3 + 3948: -40,-3 + 3949: -39,-3 + 3950: -38,-3 + 3951: -37,-3 + 3965: -48,-3 + 3966: -49,-3 + 4003: -50,-3 + 4004: -51,-3 + 4005: -52,-3 - node: color: '#A4610696' id: QuarterTileOverlayGreyscale180 @@ -3966,19 +4130,7 @@ entities: id: QuarterTileOverlayGreyscale180 decals: 1055: 59,-27 - 1748: 1,-3 - 1749: 2,-3 - 1750: 3,-3 - 1751: 4,-3 - 1752: 5,-3 - 1753: 6,-3 - 1754: 7,-3 1755: 8,-3 - 1756: 9,-3 - 1757: 10,-3 - 1758: 11,-3 - 1759: 12,-3 - 1760: 13,-3 2001: -54,1 2002: -54,0 2124: 16,-15 @@ -4011,10 +4163,6 @@ entities: 1899: -68,-6 1900: -67,-6 1901: -66,-6 - 1928: 76,-16 - 1929: 77,-16 - 1930: 78,-16 - 1931: 79,-16 2280: -78,-6 2281: -79,-6 - node: @@ -4038,6 +4186,36 @@ entities: 624: 6,19 625: 15,37 626: 16,37 + 3870: 79,-7 + 3871: 78,-7 + 3872: 78,-8 + 3873: 78,-9 + 3874: 78,-10 + 3875: 82,-11 + 3876: 82,-10 + 3877: 82,-9 + 3878: 82,-8 + 3879: 82,-7 + 4013: -45,-8 + 4014: -45,-7 + 4015: -45,-6 + 4016: -44,-6 + 4017: -43,-6 + 4018: -42,-6 + 4169: 53,-12 + 4170: 53,-11 + 4171: 53,-10 + 4172: 53,-9 + 4209: 79,-16 + 4210: 78,-16 + 4211: 77,-16 + 4212: 79,-15 + 4213: 79,-14 + 4214: 80,-14 + 4218: 82,-13 + 4219: -16,-24 + 4220: -16,-25 + 4221: -16,-26 - node: color: '#EFB34196' id: QuarterTileOverlayGreyscale180 @@ -4125,7 +4303,6 @@ entities: 924: 24,-15 925: 23,-15 926: 22,-15 - 927: 18,-15 1090: 56,-23 1623: 26,-18 1842: -77,-6 @@ -4145,14 +4322,6 @@ entities: 3337: 12,-32 3338: 11,-32 3339: 10,-32 - - node: - color: '#79150096' - id: QuarterTileOverlayGreyscale270 - decals: - 1924: 76,-16 - 1925: 77,-16 - 1926: 78,-16 - 1927: 79,-16 - node: color: '#9D9D97FF' id: QuarterTileOverlayGreyscale270 @@ -4195,6 +4364,40 @@ entities: 734: 38,-57 3135: 7,-32 3393: 8,-32 + 3859: 79,-7 + 3860: 80,-7 + 3861: 80,-8 + 3862: 80,-9 + 3863: 80,-10 + 4027: -41,-8 + 4028: -41,-7 + 4029: -41,-6 + 4030: -42,-6 + 4031: -43,-6 + 4032: -44,-6 + 4033: -65,6 + 4034: -65,5 + 4035: -65,4 + 4036: -65,2 + 4037: -65,3 + 4038: -65,1 + 4039: -65,0 + 4040: -65,-1 + 4041: -65,-2 + 4042: -65,-3 + 4139: 51,-12 + 4140: 51,-11 + 4141: 51,-10 + 4178: 76,-16 + 4179: 77,-16 + 4180: 78,-16 + 4184: 75,-12 + 4185: 75,-11 + 4188: 75,-10 + 4189: 75,-9 + 4190: 75,-8 + 4191: 75,-7 + 4216: 80,-14 - node: color: '#A4610696' id: QuarterTileOverlayGreyscale270 @@ -4241,18 +4444,6 @@ entities: color: '#D4D4D428' id: QuarterTileOverlayGreyscale270 decals: - 1732: -3,-3 - 1733: -4,-3 - 1734: -5,-3 - 1735: -6,-3 - 1736: -8,-3 - 1737: -9,-3 - 1738: -10,-3 - 1739: -12,-3 - 1740: -11,-3 - 1741: -13,-3 - 1742: -15,-3 - 1743: -14,-3 1801: 14,-20 1802: 14,-21 1803: 14,-22 @@ -4292,8 +4483,6 @@ entities: 2337: 51,-12 2338: 51,-11 2339: 51,-10 - 2340: 51,-9 - 2344: 46,-12 2782: 23,8 2783: 22,8 2784: 21,8 @@ -4303,17 +4492,6 @@ entities: 3386: 14,-27 3387: 14,-26 3388: 14,-25 - - node: - color: '#D4D4D496' - id: QuarterTileOverlayGreyscale270 - decals: - 1917: 75,-12 - 1918: 75,-11 - 1919: 75,-10 - 1920: 75,-9 - 1921: 75,-8 - 1922: 75,-7 - 1923: 75,-6 - node: color: '#DE3A3A96' id: QuarterTileOverlayGreyscale270 @@ -4330,7 +4508,6 @@ entities: 586: -18,19 587: -19,19 588: -17,19 - 589: -16,19 590: -15,19 591: -14,19 592: -13,19 @@ -4352,6 +4529,54 @@ entities: 631: 8,35 632: 9,35 2097: 15,32 + 3779: -15,-3 + 3780: -14,-3 + 3781: -13,-3 + 3782: -12,-3 + 3783: -11,-3 + 3784: -10,-3 + 3785: -9,-3 + 3786: -8,-3 + 3787: -6,-3 + 3788: -5,-3 + 3789: -4,-3 + 3790: -3,-3 + 3791: -2,-3 + 3792: -1,-3 + 3793: 0,-3 + 3794: 1,-3 + 3795: 2,-3 + 3796: 3,-3 + 3797: 4,-3 + 3798: 6,-3 + 3799: 7,-3 + 3800: 8,-3 + 3801: 9,-3 + 3802: 10,-3 + 3803: 11,-3 + 3804: 12,-3 + 3805: 13,-3 + 3806: 14,-3 + 3807: 14,-4 + 3808: 14,-5 + 3809: 14,-6 + 3810: 14,-7 + 3930: -47,-3 + 3931: -46,-3 + 3932: -45,-3 + 3933: -44,-3 + 3934: -43,-3 + 3935: -42,-3 + 3936: -41,-3 + 3937: -40,-3 + 3938: -39,-3 + 3939: -38,-3 + 3940: -37,-3 + 3967: -48,-3 + 3970: -49,-3 + 3997: -50,-3 + 3998: -51,-3 + 3999: -52,-3 - node: color: '#EFB34196' id: QuarterTileOverlayGreyscale270 @@ -4428,6 +4653,107 @@ entities: id: QuarterTileOverlayGreyscale90 decals: 817: 61,-27 + - node: + color: '#9FED5896' + id: QuarterTileOverlayGreyscale90 + decals: + 3827: 32,-13 + 3828: 31,-13 + 3829: 30,-13 + 3830: 29,-13 + 3831: 28,-13 + 3832: 27,-13 + 3833: 26,-13 + 3834: 25,-13 + 3835: 24,-13 + 3836: 23,-13 + 3837: 22,-13 + 3838: 21,-13 + 3839: 20,-13 + 3840: 19,-13 + 3855: 78,-11 + 3856: 78,-10 + 3857: 78,-9 + 3858: 78,-8 + 3864: 79,-11 + 3880: 82,-11 + 3881: 82,-10 + 3882: 82,-9 + 3883: 82,-8 + 3884: 82,-7 + 3885: 72,-13 + 3886: 71,-13 + 3887: 70,-13 + 3888: 69,-13 + 3889: 68,-13 + 3890: 67,-13 + 3891: 66,-13 + 3892: 65,-13 + 3893: 64,-13 + 3894: 63,-13 + 3895: 61,-13 + 3896: 62,-13 + 3897: 60,-13 + 3898: 59,-13 + 3899: 58,-13 + 3900: 57,-13 + 3901: 56,-13 + 3952: -47,-1 + 3953: -46,-1 + 3954: -45,-1 + 3955: -44,-1 + 3956: -43,-1 + 3957: -42,-1 + 3958: -41,-1 + 3959: -40,-1 + 3960: -39,-1 + 3961: -38,-1 + 3962: -37,-1 + 3963: -48,-1 + 3964: -49,-1 + 4000: -50,-1 + 4001: -51,-1 + 4002: -52,-1 + 4021: -45,-8 + 4022: -45,-7 + 4023: -45,-9 + 4024: -44,-9 + 4025: -43,-9 + 4026: -42,-9 + 4099: 42,-13 + 4100: 43,-13 + 4101: 44,-13 + 4102: 45,-13 + 4117: 34,-12 + 4118: 35,-12 + 4119: 36,-12 + 4120: 37,-12 + 4121: 38,-12 + 4122: 39,-12 + 4123: 40,-12 + 4124: 40,-13 + 4125: 47,-12 + 4126: 48,-12 + 4128: 49,-13 + 4129: 50,-13 + 4130: 53,-13 + 4131: 54,-13 + 4132: 53,-12 + 4133: 53,-11 + 4134: 53,-10 + 4135: 53,-9 + 4136: 52,-9 + 4177: 49,-12 + 4192: 76,-6 + 4193: 77,-6 + 4194: 78,-6 + 4195: 79,-6 + 4196: 80,-6 + 4215: 79,-15 + 4217: 82,-13 + 4222: -16,-27 + 4223: -16,-26 + 4224: -16,-25 - node: color: '#A4610696' id: QuarterTileOverlayGreyscale90 @@ -4458,10 +4784,6 @@ entities: color: '#D4D4D428' id: QuarterTileOverlayGreyscale90 decals: - 1744: -16,-4 - 1745: -16,-5 - 1746: -16,-6 - 1747: -16,-7 1765: 4,-1 1766: 3,-1 1767: 2,-1 @@ -4543,13 +4865,7 @@ entities: 2209: 9,4 2210: 9,5 2211: 9,6 - 2331: 46,-12 - 2332: 47,-12 2333: 48,-12 - 2334: 49,-12 - 2335: 49,-13 - 2336: 50,-13 - 2341: 51,-9 2342: 52,-9 2343: 53,-9 2345: 45,-13 @@ -4641,7 +4957,6 @@ entities: 326: 4,33 327: 4,32 564: 6,21 - 565: 7,21 566: 8,21 567: 9,21 568: 10,21 @@ -4651,9 +4966,12 @@ entities: 614: 0,15 615: 0,16 616: 0,17 - 617: 0,18 1101: 59,-18 2101: 13,31 + 3775: -16,-7 + 3776: -16,-6 + 3777: -16,-5 + 3778: -16,-4 - node: color: '#EFB34196' id: QuarterTileOverlayGreyscale90 @@ -5744,19 +6062,31 @@ entities: 3500: -8,-22 - node: color: '#FFFFFFFF' - id: bushsnowa2 + id: bushsnowa1 decals: - 497: -14.995166,-26.958757 + 4231: -15.073445,-24.441792 + - node: + color: '#FFFFFFFF' + id: bushsnowa3 + decals: + 4234: -15.177612,-26.12004 - node: color: '#FFFFFFFF' id: bushsnowb1 decals: - 498: -14.979541,-25.255632 + 4235: -14.771362,-26.286823 + - node: + color: '#FFFFFFFF' + id: bushsnowb2 + decals: + 4232: -14.813028,-24.775356 + 4236: -15.052612,-26.391062 + 4237: -15.115112,-25.348671 - node: color: '#FFFFFFFF' id: bushsnowb3 decals: - 496: -15.010791,-24.068132 + 4233: -15.146362,-25.119345 - node: angle: -4.71238898038469 rad color: '#FFFFFFFF' @@ -5764,6 +6094,36 @@ entities: decals: 3686: 2.9827948,-1.004494 3687: -5.0156083,-0.99618006 + - node: + color: '#FFFFFFFF' + id: grasssnow07 + decals: + 4230: -14.917195,-26.536997 + - node: + color: '#FFFFFFFF' + id: grasssnow08 + decals: + 4229: -15.031778,-26.30767 + - node: + color: '#FFFFFFFF' + id: grasssnow10 + decals: + 4228: -14.938028,-24.775356 + - node: + color: '#FFFFFFFF' + id: grasssnowa3 + decals: + 4227: -14.969278,-25.69266 + - node: + color: '#FFFFFFFF' + id: grasssnowc1 + decals: + 4225: -14.938028,-26.933105 + - node: + color: '#FFFFFFFF' + id: grasssnowc3 + decals: + 4226: -14.948445,-24.003988 - node: color: '#A4610606' id: splatter @@ -6016,7 +6376,7 @@ entities: 0: 61423 8,-1: 0: 12320 - 4: 34944 + 2: 34944 -8,-4: 0: 30583 -8,-5: @@ -6367,7 +6727,7 @@ entities: 0: 30583 6,-12: 1: 4369 - 2: 204 + 4: 204 3: 49152 6,-11: 1: 61713 @@ -6376,10 +6736,10 @@ entities: 0: 29424 6,-13: 1: 4369 - 2: 49152 + 4: 49152 3: 204 7,-12: - 2: 17 + 4: 17 3: 4096 1: 17476 7,-11: @@ -6388,7 +6748,7 @@ entities: 7,-10: 0: 61680 7,-13: - 2: 4096 + 4: 4096 1: 17476 3: 17 8,-12: @@ -6426,7 +6786,7 @@ entities: 1: 8704 8,0: 0: 63523 - 4: 8 + 2: 8 8,1: 0: 61440 8,2: @@ -6706,24 +7066,24 @@ entities: 1: 35064 0: 771 9,0: - 4: 15 + 2: 15 0: 65296 9,1: 0: 47232 9,2: 0: 48955 9,-1: - 4: 65520 + 2: 65520 0: 1 10,0: - 4: 1 + 2: 1 0: 65292 10,1: 0: 56789 10,2: 0: 64961 10,-1: - 4: 4368 + 2: 4368 0: 57548 11,0: 0: 30543 @@ -8560,13 +8920,13 @@ entities: - 0 - 0 - volume: 2500 - temperature: 293.15 + temperature: 235 moles: + - 21.824879 + - 82.10312 - 0 - 0 - 0 - - 6666.982 - - 0 - 0 - 0 - 0 @@ -8590,13 +8950,13 @@ entities: - 0 - 0 - volume: 2500 - temperature: 235 + temperature: 293.15 moles: - - 21.824879 - - 82.10312 - 0 - 0 - 0 + - 6666.982 + - 0 - 0 - 0 - 0 @@ -11557,7 +11917,7 @@ entities: pos: 24.5,16.5 parent: 8364 - type: Door - secondsUntilStateChange: -26637.611 + secondsUntilStateChange: -28068.637 state: Opening - type: DeviceLinkSource lastSignals: @@ -17096,6 +17456,18 @@ entities: - type: Transform pos: -20.536755,-5.462179 parent: 8364 +- proto: BoxLighttubeHoliday + entities: + - uid: 16587 + components: + - type: Transform + pos: 2.6634254,-34.550735 + parent: 8364 + - uid: 16591 + components: + - type: Transform + pos: 58.505,18.482952 + parent: 8364 - proto: BoxMouthSwab entities: - uid: 5468 @@ -68666,6 +69038,11 @@ entities: parent: 8364 - proto: ClothingHeadHatSantahat entities: + - uid: 16209 + components: + - type: Transform + pos: 23.479437,42.06343 + parent: 8364 - uid: 27935 components: - type: Transform @@ -84747,7 +85124,7 @@ entities: pos: -34.5,-14.5 parent: 8364 - type: Door - secondsUntilStateChange: -20826.148 + secondsUntilStateChange: -22257.174 state: Closing - uid: 15010 components: @@ -85240,7 +85617,7 @@ entities: pos: -4.5,-71.5 parent: 8364 - type: Door - secondsUntilStateChange: -12573.88 + secondsUntilStateChange: -14004.904 state: Closing - proto: Fireplace entities: From 7f5c3cf7517a0c69ca9bfbe1c801330d354594a4 Mon Sep 17 00:00:00 2001 From: Emisse <99158783+Emisse@users.noreply.github.com> Date: Sat, 7 Dec 2024 01:36:03 -0700 Subject: [PATCH 495/588] infiltrator update (#33759) --- Resources/Maps/Shuttles/infiltrator.yml | 153 ++++-------------------- 1 file changed, 26 insertions(+), 127 deletions(-) diff --git a/Resources/Maps/Shuttles/infiltrator.yml b/Resources/Maps/Shuttles/infiltrator.yml index b9834aa698..784886c892 100644 --- a/Resources/Maps/Shuttles/infiltrator.yml +++ b/Resources/Maps/Shuttles/infiltrator.yml @@ -590,28 +590,24 @@ entities: rot: 1.5707963267948966 rad pos: 8.5,-16.5 parent: 1 - - type: DeviceLinkSink - invokeCounter: 1 - links: - - 13 - type: DeviceLinkSource linkedPorts: 13: - DoorStatus: Close + - type: DeviceLinkSink + invokeCounter: 1 - uid: 10 components: - type: Transform rot: -1.5707963267948966 rad pos: -9.5,-16.5 parent: 1 - - type: DeviceLinkSink - invokeCounter: 1 - links: - - 3 - type: DeviceLinkSource linkedPorts: 3: - DoorStatus: Close + - type: DeviceLinkSink + invokeCounter: 1 - proto: AirlockExternalSyndicateLocked entities: - uid: 2 @@ -619,9 +615,6 @@ entities: - type: Transform pos: -0.5,-25.5 parent: 1 - - type: DeviceLinkSink - links: - - 14 - type: DeviceLinkSource linkedPorts: 14: @@ -633,8 +626,6 @@ entities: parent: 1 - type: DeviceLinkSink invokeCounter: 1 - links: - - 10 - type: DeviceLinkSource linkedPorts: 10: @@ -644,9 +635,6 @@ entities: - type: Transform pos: -4.5,-14.5 parent: 1 - - type: DeviceLinkSink - links: - - 12 - type: DeviceLinkSource linkedPorts: 12: @@ -656,9 +644,6 @@ entities: - type: Transform pos: 3.5,-14.5 parent: 1 - - type: DeviceLinkSink - links: - - 22 - type: DeviceLinkSource linkedPorts: 22: @@ -668,9 +653,6 @@ entities: - type: Transform pos: -4.5,-10.5 parent: 1 - - type: DeviceLinkSink - links: - - 7 - type: DeviceLinkSource linkedPorts: 7: @@ -682,8 +664,6 @@ entities: parent: 1 - type: DeviceLinkSink invokeCounter: 1 - links: - - 8 - type: DeviceLinkSource linkedPorts: 8: @@ -693,9 +673,6 @@ entities: - type: Transform pos: -0.5,-22.5 parent: 1 - - type: DeviceLinkSink - links: - - 2 - type: DeviceLinkSource linkedPorts: 2: @@ -705,9 +682,6 @@ entities: - type: Transform pos: 3.5,-10.5 parent: 1 - - type: DeviceLinkSink - links: - - 9 - type: DeviceLinkSource linkedPorts: 9: @@ -809,6 +783,13 @@ entities: - type: Transform pos: 3.5,-3.5 parent: 1 +- proto: BorgCharger + entities: + - uid: 612 + components: + - type: Transform + pos: -4.5,-27.5 + parent: 1 - proto: BoxEncryptionKeySyndie entities: - uid: 34 @@ -825,6 +806,13 @@ entities: - type: Transform pos: 0.49331844,-13.366474 parent: 1 +- proto: BoxFolderNuclearCodes + entities: + - uid: 510 + components: + - type: Transform + pos: -2.5286522,-11.44479 + parent: 1 - proto: BoxHandcuff entities: - uid: 43 @@ -2650,8 +2638,6 @@ entities: rot: 3.141592653589793 rad pos: 5.5,-27.5 parent: 1 - - type: AtmosDevice - joinedGrid: 1 - proto: GasMinerOxygen entities: - uid: 369 @@ -2660,8 +2646,6 @@ entities: rot: 3.141592653589793 rad pos: 3.5,-27.5 parent: 1 - - type: AtmosDevice - joinedGrid: 1 - proto: GasMixer entities: - uid: 370 @@ -2675,8 +2659,6 @@ entities: - type: GasMixer inletTwoConcentration: 0.78 inletOneConcentration: 0.22 - - type: AtmosDevice - joinedGrid: 1 - type: AtmosPipeColor color: '#0335FCFF' - proto: GasPassiveVent @@ -2687,24 +2669,18 @@ entities: rot: 3.141592653589793 rad pos: 3.5,-26.5 parent: 1 - - type: AtmosDevice - joinedGrid: 1 - uid: 372 components: - type: Transform rot: 3.141592653589793 rad pos: 5.5,-26.5 parent: 1 - - type: AtmosDevice - joinedGrid: 1 - uid: 373 components: - type: Transform rot: -1.5707963267948966 rad pos: 6.5,-19.5 parent: 1 - - type: AtmosDevice - joinedGrid: 1 - proto: GasPipeBend entities: - uid: 374 @@ -3268,8 +3244,6 @@ entities: rot: 1.5707963267948966 rad pos: 2.5,-23.5 parent: 1 - - type: AtmosDevice - joinedGrid: 1 - type: AtmosPipeColor color: '#0335FCFF' - proto: GasPressurePump @@ -3282,8 +3256,6 @@ entities: rot: 1.5707963267948966 rad pos: 4.5,-19.5 parent: 1 - - type: AtmosDevice - joinedGrid: 1 - type: AtmosPipeColor color: '#FF1212FF' - proto: GasVentPump @@ -3294,8 +3266,6 @@ entities: rot: -1.5707963267948966 rad pos: 0.5,-11.5 parent: 1 - - type: AtmosDevice - joinedGrid: 1 - type: AtmosPipeColor color: '#0335FCFF' - uid: 450 @@ -3304,8 +3274,6 @@ entities: rot: 3.141592653589793 rad pos: -0.5,-21.5 parent: 1 - - type: AtmosDevice - joinedGrid: 1 - type: AtmosPipeColor color: '#0335FCFF' - uid: 451 @@ -3314,8 +3282,6 @@ entities: rot: -1.5707963267948966 rad pos: 4.5,-23.5 parent: 1 - - type: AtmosDevice - joinedGrid: 1 - type: AtmosPipeColor color: '#0335FCFF' - uid: 452 @@ -3324,8 +3290,6 @@ entities: rot: 3.141592653589793 rad pos: -4.5,-21.5 parent: 1 - - type: AtmosDevice - joinedGrid: 1 - type: AtmosPipeColor color: '#0335FCFF' - uid: 453 @@ -3334,8 +3298,6 @@ entities: rot: 1.5707963267948966 rad pos: -4.5,-16.5 parent: 1 - - type: AtmosDevice - joinedGrid: 1 - type: AtmosPipeColor color: '#0335FCFF' - uid: 454 @@ -3344,8 +3306,6 @@ entities: rot: -1.5707963267948966 rad pos: 3.5,-16.5 parent: 1 - - type: AtmosDevice - joinedGrid: 1 - type: AtmosPipeColor color: '#0335FCFF' - uid: 455 @@ -3353,8 +3313,6 @@ entities: - type: Transform pos: 0.5,-3.5 parent: 1 - - type: AtmosDevice - joinedGrid: 1 - type: AtmosPipeColor color: '#0335FCFF' - proto: GasVentScrubber @@ -3365,8 +3323,6 @@ entities: rot: -1.5707963267948966 rad pos: 1.5,-12.5 parent: 1 - - type: AtmosDevice - joinedGrid: 1 - type: AtmosPipeColor color: '#FF1212FF' - uid: 457 @@ -3375,8 +3331,6 @@ entities: rot: -1.5707963267948966 rad pos: 3.5,-17.5 parent: 1 - - type: AtmosDevice - joinedGrid: 1 - type: AtmosPipeColor color: '#FF1212FF' - uid: 458 @@ -3385,8 +3339,6 @@ entities: rot: 3.141592653589793 rad pos: 2.5,-20.5 parent: 1 - - type: AtmosDevice - joinedGrid: 1 - type: AtmosPipeColor color: '#FF1212FF' - uid: 459 @@ -3395,8 +3347,6 @@ entities: rot: 1.5707963267948966 rad pos: -4.5,-17.5 parent: 1 - - type: AtmosDevice - joinedGrid: 1 - type: AtmosPipeColor color: '#FF1212FF' - uid: 460 @@ -3405,8 +3355,6 @@ entities: rot: 1.5707963267948966 rad pos: -3.5,-21.5 parent: 1 - - type: AtmosDevice - joinedGrid: 1 - type: AtmosPipeColor color: '#FF1212FF' - uid: 461 @@ -3414,8 +3362,6 @@ entities: - type: Transform pos: -0.5,-3.5 parent: 1 - - type: AtmosDevice - joinedGrid: 1 - type: AtmosPipeColor color: '#FF1212FF' - proto: GeneratorBasic15kW @@ -3607,13 +3553,6 @@ entities: - type: Transform pos: 3.5,-3.5 parent: 1 -- proto: SyndicateMicrowave - entities: - - uid: 497 - components: - - type: Transform - pos: 3.5,-19.5 - parent: 1 - proto: KnifePlastic entities: - uid: 498 @@ -3733,13 +3672,6 @@ entities: - type: Transform pos: -2.5,-12.5 parent: 1 -- proto: BoxFolderNuclearCodes - entities: - - uid: 510 - components: - - type: Transform - pos: -2.5286522,-11.44479 - parent: 1 - proto: Ointment entities: - uid: 511 @@ -3766,8 +3698,6 @@ entities: - type: Transform pos: -1.5,-24.5 parent: 1 - - type: AtmosDevice - joinedGrid: 1 - proto: OxygenTankFilled entities: - uid: 515 @@ -4307,97 +4237,61 @@ entities: - type: Transform pos: -6.5,-4.5 parent: 1 - - type: DeviceLinkSink - links: - - 21 - uid: 598 components: - type: Transform pos: 5.5,-4.5 parent: 1 - - type: DeviceLinkSink - links: - - 20 - uid: 599 components: - type: Transform pos: 1.5,-9.5 parent: 1 - - type: DeviceLinkSink - links: - - 609 - uid: 600 components: - type: Transform pos: -2.5,-9.5 parent: 1 - - type: DeviceLinkSink - links: - - 609 - uid: 601 components: - type: Transform pos: -4.5,-2.5 parent: 1 - - type: DeviceLinkSink - links: - - 21 - uid: 602 components: - type: Transform pos: 3.5,-2.5 parent: 1 - - type: DeviceLinkSink - links: - - 20 - uid: 603 components: - type: Transform pos: 1.5,-1.5 parent: 1 - - type: DeviceLinkSink - links: - - 21 - uid: 604 components: - type: Transform pos: -0.5,-1.5 parent: 1 - - type: DeviceLinkSink - links: - - 21 - uid: 605 components: - type: Transform pos: 5.5,-19.5 parent: 1 - - type: DeviceLinkSink - links: - - 611 - uid: 606 components: - type: Transform pos: -1.5,-1.5 parent: 1 - - type: DeviceLinkSink - links: - - 21 - uid: 607 components: - type: Transform pos: 0.5,-1.5 parent: 1 - - type: DeviceLinkSink - links: - - 21 - uid: 608 components: - type: Transform pos: -2.5,-1.5 parent: 1 - - type: DeviceLinkSink - links: - - 21 - proto: SignalButton entities: - uid: 609 @@ -4537,7 +4431,7 @@ entities: - type: Transform pos: 2.4424396,-17.430403 parent: 1 -- proto: soda_dispenser +- proto: SodaDispenser entities: - uid: 626 components: @@ -4551,8 +4445,6 @@ entities: - type: Transform pos: 2.5,-23.5 parent: 1 - - type: AtmosDevice - joinedGrid: 1 - proto: SubstationBasic entities: - uid: 628 @@ -4582,6 +4474,13 @@ entities: - type: Transform pos: -4.5,-17.5 parent: 1 +- proto: SyndicateMicrowave + entities: + - uid: 497 + components: + - type: Transform + pos: 3.5,-19.5 + parent: 1 - proto: SyndieMiniBomb entities: - uid: 633 From 20be8298b7d7b8132d26f6386c2110b8b3dc9d06 Mon Sep 17 00:00:00 2001 From: SpaceManiac Date: Sat, 7 Dec 2024 10:13:56 -0800 Subject: [PATCH 496/588] Organize the Sandbox Panel window (#33684) * Organize Sandbox Panel * Map Editing -> Editing * Unset ToggleMode on Suicide button. Can hardly un-suicide, no? * Remove 'Link machines' button that has done nothing for 3 years * Remember Sandbox window's position instead of forcing to center * Shows Spawns -> Show Spawns * Remove SandboxSystem.MachineLinking --- Content.Client/Sandbox/SandboxSystem.cs | 7 +------ .../Systems/Sandbox/SandboxUIController.cs | 16 +++++++++------- .../Systems/Sandbox/Windows/SandboxWindow.xaml | 18 +++++++++++------- .../Locale/en-US/sandbox/sandbox-manager.ftl | 8 ++++++-- 4 files changed, 27 insertions(+), 22 deletions(-) diff --git a/Content.Client/Sandbox/SandboxSystem.cs b/Content.Client/Sandbox/SandboxSystem.cs index 8a4c93fa35..abc717642c 100644 --- a/Content.Client/Sandbox/SandboxSystem.cs +++ b/Content.Client/Sandbox/SandboxSystem.cs @@ -110,7 +110,7 @@ public bool Copy(ICommonSession? session, EntityCoordinates coords, EntityUid ui } // Try copy tile. - + if (!_map.TryFindGridAt(_transform.ToMapCoordinates(coords), out var gridUid, out var grid) || !_mapSystem.TryGetTileRef(gridUid, grid, coords, out var tileRef)) return false; @@ -157,10 +157,5 @@ public void ShowBb() { _consoleHost.ExecuteCommand("physics shapes"); } - - public void MachineLinking() - { - _consoleHost.ExecuteCommand("signallink"); - } } } diff --git a/Content.Client/UserInterface/Systems/Sandbox/SandboxUIController.cs b/Content.Client/UserInterface/Systems/Sandbox/SandboxUIController.cs index 58c8a1451b..1924bf2b24 100644 --- a/Content.Client/UserInterface/Systems/Sandbox/SandboxUIController.cs +++ b/Content.Client/UserInterface/Systems/Sandbox/SandboxUIController.cs @@ -1,4 +1,5 @@ -using Content.Client.Administration.Managers; +using System.Numerics; +using Content.Client.Administration.Managers; using Content.Client.Gameplay; using Content.Client.Markers; using Content.Client.Sandbox; @@ -7,9 +8,7 @@ using Content.Client.UserInterface.Systems.DecalPlacer; using Content.Client.UserInterface.Systems.Sandbox.Windows; using Content.Shared.Input; -using Content.Shared.Silicons.StationAi; using JetBrains.Annotations; -using Robust.Client.Console; using Robust.Client.Debugging; using Robust.Client.Graphics; using Robust.Client.Input; @@ -109,9 +108,13 @@ public void LoadButton() private void EnsureWindow() { - if(_window is { Disposed: false }) + if (_window is { Disposed: false }) return; _window = UIManager.CreateWindow(); + // Pre-center the window without forcing it to the center every time. + _window.OpenCentered(); + _window.Close(); + _window.OnOpen += () => { SandboxButton!.Pressed = true; }; _window.OnClose += () => { SandboxButton!.Pressed = false; }; _window.ToggleLightButton.Pressed = !_light.Enabled; @@ -149,7 +152,6 @@ private void EnsureWindow() _window.ToggleSubfloorButton.OnPressed += _ => _sandbox.ToggleSubFloor(); _window.ShowMarkersButton.OnPressed += _ => _sandbox.ShowMarkers(); _window.ShowBbButton.OnPressed += _ => _sandbox.ShowBb(); - _window.MachineLinkingButton.OnPressed += _ => _sandbox.MachineLinking(); } private void CheckSandboxVisibility() @@ -164,7 +166,7 @@ public void OnStateExited(GameplayState state) { if (_window != null) { - _window.Dispose(); + _window.Close(); _window = null; } @@ -209,7 +211,7 @@ private void ToggleWindow() if (_sandbox.SandboxAllowed && _window.IsOpen != true) { UIManager.ClickSound(); - _window.OpenCentered(); + _window.Open(); } else { diff --git a/Content.Client/UserInterface/Systems/Sandbox/Windows/SandboxWindow.xaml b/Content.Client/UserInterface/Systems/Sandbox/Windows/SandboxWindow.xaml index 05e65cf29c..bec1d6b4d6 100644 --- a/Content.Client/UserInterface/Systems/Sandbox/Windows/SandboxWindow.xaml +++ b/Content.Client/UserInterface/Systems/Sandbox/Windows/SandboxWindow.xaml @@ -4,20 +4,24 @@ Title="{Loc sandbox-window-title}" Resizable="False"> -

(6-)X@uy<}o{12Xcgnx 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 z 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 z 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

!dM9Av3%RcYttK`>}t3Ywv<-0ej%X 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℘;UeEttn)W?9B&I`zN#617TawP3NC^w` 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 z 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