From 0aa20e13b0c7895414e2fa167d21f15099cada04 Mon Sep 17 00:00:00 2001 From: ThatGuyUSA Date: Thu, 20 Nov 2025 21:50:42 -0800 Subject: [PATCH 001/126] Add admin antag control command for making people into Wizards (#41494) * innit bruv, but also done! * added comment to signify why it's like that --- .../Systems/AdminVerbSystem.Antags.cs | 18 ++++++++++++++++++ .../Locale/en-US/administration/antag.ftl | 2 ++ 2 files changed, 20 insertions(+) diff --git a/Content.Server/Administration/Systems/AdminVerbSystem.Antags.cs b/Content.Server/Administration/Systems/AdminVerbSystem.Antags.cs index 2b5ea90b12..777d40e110 100644 --- a/Content.Server/Administration/Systems/AdminVerbSystem.Antags.cs +++ b/Content.Server/Administration/Systems/AdminVerbSystem.Antags.cs @@ -12,6 +12,7 @@ using Content.Shared.Verbs; using Robust.Shared.Player; using Robust.Shared.Prototypes; using Robust.Shared.Utility; +using Content.Shared.Roles.Components; namespace Content.Server.Administration.Systems; @@ -29,6 +30,7 @@ public sealed partial class AdminVerbSystem private static readonly EntProtoId DefaultThiefRule = "Thief"; private static readonly EntProtoId DefaultChangelingRule = "Changeling"; private static readonly EntProtoId ParadoxCloneRuleId = "ParadoxCloneSpawn"; + private static readonly EntProtoId DefaultWizardRule = "Wizard"; private static readonly ProtoId PirateGearId = "PirateGear"; // All antag verbs have names so invokeverb works. @@ -189,6 +191,22 @@ public sealed partial class AdminVerbSystem Message = string.Join(": ", paradoxCloneName, Loc.GetString("admin-verb-make-paradox-clone")), }; + var wizardName = Loc.GetString("admin-verb-text-make-wizard"); + Verb wizard = new() + { + Text = wizardName, + Category = VerbCategory.Antag, + Icon = new SpriteSpecifier.Rsi(new("/Textures/Interface/Misc/job_icons.rsi"), "Wizard"), + Act = () => + { + // Wizard has no rule components as of writing, but I gotta put something here to satisfy the machine so just make it wizard mind rule :) + _antag.ForceMakeAntag(targetPlayer, DefaultWizardRule); + }, + Impact = LogImpact.High, + Message = string.Join(": ", wizardName, Loc.GetString("admin-verb-make-wizard")), + }; + args.Verbs.Add(wizard); + if (HasComp(args.Target)) // only humanoids can be cloned args.Verbs.Add(paradox); } diff --git a/Resources/Locale/en-US/administration/antag.ftl b/Resources/Locale/en-US/administration/antag.ftl index 161054aca2..5cb9b30133 100644 --- a/Resources/Locale/en-US/administration/antag.ftl +++ b/Resources/Locale/en-US/administration/antag.ftl @@ -7,6 +7,7 @@ admin-verb-make-pirate = Make the target into a pirate. Note this doesn't config admin-verb-make-head-rev = Make the target into a Head Revolutionary. admin-verb-make-thief = Make the target into a thief. admin-verb-make-paradox-clone = Create a Paradox Clone ghost role of the target. +admin-verb-make-wizard = Make the target into a Wizard. admin-verb-make-changeling = Make the target into a Changeling. @@ -18,6 +19,7 @@ admin-verb-text-make-pirate = Make Pirate admin-verb-text-make-head-rev = Make Head Rev admin-verb-text-make-thief = Make Thief admin-verb-text-make-paradox-clone = Create Paradox Clone +admin-verb-text-make-wizard = Make Wizard admin-verb-text-make-changeling = Make Changeling (WIP) admin-overlay-antag-classic = ANTAG From bff14b5a36cfa07ae4659c73dd6a8f3d5b2e8abb Mon Sep 17 00:00:00 2001 From: Nuggets219 <68399288+Nuggets219@users.noreply.github.com> Date: Thu, 20 Nov 2025 23:43:37 -0700 Subject: [PATCH 002/126] Give Rust Removal a shorter Doafter (#770) (#41518) * Give Rust Removal a shorter Doafter (#770) * Yeah, yeah, mircobalance. Every janitor player will fight you though. Welding and brushing walls free of rust now takes just three seconds. * Now reinforced walls take a bit longer to de-rust. Times are as follows: Solid wall: 1s weld, 3s brush Reinforced wall: 2s weld, 3s brush * Actually, just make both take 4s to brush and 1s to weld. Problem solved. * changed the welding timer from 1 to 2 seconds for lag compensation. --- .../Recipes/Construction/Graphs/structures/girder.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/girder.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/girder.yml index f59aa689a8..b18c34a2d3 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/girder.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/girder.yml @@ -509,11 +509,11 @@ - to: wall steps: - tool: Welding - doAfter: 5 + doAfter: 2 - to: wall steps: - tool: Brushing - doAfter: 12 + doAfter: 4 - node: reinforcedWallRust entity: WallReinforcedRust @@ -521,8 +521,8 @@ - to: reinforcedWall steps: - tool: Welding - doAfter: 5 + doAfter: 2 - to: reinforcedWall steps: - tool: Brushing - doAfter: 12 + doAfter: 4 From ebf3883d0e5f2910dc5452dd420127f4ea35cdce Mon Sep 17 00:00:00 2001 From: PJBot Date: Fri, 21 Nov 2025 06:56:17 +0000 Subject: [PATCH 003/126] 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 41504f6821..a875e3842c 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: Dragonjspider - changes: - - message: The Cutter Machine no longer makes Dark Techmaints floor tiles for free - type: Fix - id: 8713 - time: '2025-06-25T01:46:17.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/38557 - author: rumaks-xyz changes: - message: The action of reverting from a polymorph now has to be confirmed. @@ -3926,3 +3919,11 @@ id: 9213 time: '2025-11-19T22:15:26.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/41500 +- author: Nilsy + changes: + - message: Both rusted variants of Solid and Reinforced walls now take only 4 seconds + to brush clean, and just one second to weld clean. + type: Tweak + id: 9214 + time: '2025-11-21T06:55:05.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/41518 From 7350001598d6dfd3a48f2d2aaec22a2034fd522f Mon Sep 17 00:00:00 2001 From: Princess Cheeseballs <66055347+Princess-Cheeseballs@users.noreply.github.com> Date: Fri, 21 Nov 2025 03:21:30 -0800 Subject: [PATCH 004/126] [1984] Beach balls no longer collide with players (#41450) * 1984 * me when I'm dumb --------- Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com> --- .../Prototypes/Entities/Objects/Fun/toys.yml | 107 ++++++++++-------- 1 file changed, 59 insertions(+), 48 deletions(-) diff --git a/Resources/Prototypes/Entities/Objects/Fun/toys.yml b/Resources/Prototypes/Entities/Objects/Fun/toys.yml index 0d1e7ba019..5e6f64a50f 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/toys.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/toys.yml @@ -497,60 +497,71 @@ name: beach ball description: The simple beach ball is one of Nanotrasen's most popular products. 'Why do we make beach balls? Because we can! (TM)' - Nanotrasen components: - - type: Sprite - sprite: Objects/Fun/Balls/beach_ball.rsi - state: icon - - type: Fixtures - fixtures: - fix1: - shape: !type:PhysShapeCircle - radius: 0.3 - position: "0,-0.2" - density: 20 - mask: - - ThrownItem - restitution: 0.2 # not bouncy - friction: 0.2 - - type: Catchable - catchChance: 0.8 - catchSuccessSound: - path: /Audio/Effects/Footsteps/bounce.ogg - - type: Item - size: Normal - sprite: Objects/Fun/Balls/beach_ball.rsi - - type: TileFrictionModifier - modifier: 0.05 - - type: TriggerOnCollide - fixtureID: fix1 - keyOut: OnCollide - - type: EmitSoundOnTrigger - sound: - path: /Audio/Effects/Footsteps/bounce.ogg - keysIn: - - OnCollide + - type: Sprite + sprite: Objects/Fun/Balls/beach_ball.rsi + state: icon + - type: Fixtures + fixtures: + fix1: + shape: !type:PhysShapeCircle + radius: 0.3 + position: "0,-0.2" + density: 20 + mask: + - ItemMask + restitution: 0.2 # not bouncy + friction: 0.2 + - type: Catchable + catchChance: 0.8 + catchSuccessSound: + path: /Audio/Effects/Footsteps/bounce.ogg + - type: Item + size: Normal + sprite: Objects/Fun/Balls/beach_ball.rsi + - type: TileFrictionModifier + modifier: 0.05 + - type: TriggerOnCollide + fixtureID: fix1 + keyOut: OnCollide + - type: EmitSoundOnTrigger + sound: + path: /Audio/Effects/Footsteps/bounce.ogg + keysIn: + - OnCollide - type: entity parent: BeachBall id: EvilBeachBall - suffix: evil + suffix: EVIL/ADMEME description: Someone's drawn ">:3c" on the side of this beach ball in indelible ink. components: - - type: LaunchOnTrigger - impulse: 100.0 - keysIn: - - OnCollide - - type: StaminaDamageOnTrigger - stamina: 25.0 - keysIn: - - OnCollide - targetUser: true - - type: DamageOnTrigger - damage: - types: - Blunt: 20 - keysIn: - - OnCollide - targetUser: true + - type: Fixtures + fixtures: + fix1: + shape: !type:PhysShapeCircle + radius: 0.3 + position: "0,-0.2" + density: 20 + mask: + - ThrownItem + restitution: 0.5 # very bouncy + friction: 0.2 + - type: LaunchOnTrigger + impulse: 100.0 + keysIn: + - OnCollide + - type: StaminaDamageOnTrigger + stamina: 25.0 + keysIn: + - OnCollide + targetUser: true + - type: DamageOnTrigger + damage: + types: + Blunt: 20 + keysIn: + - OnCollide + targetUser: true - type: entity parent: BaseItem From bb441b7d3e5d485b0299dea06c7fcbd099ed515c Mon Sep 17 00:00:00 2001 From: PJBot Date: Fri, 21 Nov 2025 11:34:03 +0000 Subject: [PATCH 005/126] 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 a875e3842c..fa88327645 100644 --- a/Resources/Changelog/Changelog.yml +++ b/Resources/Changelog/Changelog.yml @@ -1,11 +1,4 @@ Entries: -- author: rumaks-xyz - changes: - - message: The action of reverting from a polymorph now has to be confirmed. - type: Tweak - id: 8714 - time: '2025-06-25T17:52:32.0000000+00:00' - url: https://github.com/space-wizards/space-station-14/pull/38570 - author: Lukasz825700516 changes: - message: Closed eyes and binoculars no longer allow you to see through walls. @@ -3927,3 +3920,10 @@ id: 9214 time: '2025-11-21T06:55:05.0000000+00:00' url: https://github.com/space-wizards/space-station-14/pull/41518 +- author: Princess-Cheeseballs + changes: + - message: Beach balls no longer collide with players. + type: Fix + id: 9215 + time: '2025-11-21T11:32:55.0000000+00:00' + url: https://github.com/space-wizards/space-station-14/pull/41450 From a5c223c0c3d14d790b987f368f89534e1b6dd281 Mon Sep 17 00:00:00 2001 From: Partmedia Date: Fri, 21 Nov 2025 07:01:23 -0800 Subject: [PATCH 006/126] Trip APCs when they exceed a power limit (#41377) * Implement APC overloading * Add power test * Review * Some more reviews * Show map coordinates for test failures * Widen column 2 * Reduce singularity beacon power consumption * Try to get grid coordinates --- Content.Client/Power/APC/UI/ApcMenu.xaml | 2 +- Content.Client/Power/APC/UI/ApcMenu.xaml.cs | 9 ++- .../Tests/Power/StationPowerTests.cs | 75 ++++++++++++++----- .../Power/Components/ApcComponent.cs | 28 ++++++- .../Power/EntitySystems/ApcSystem.cs | 34 ++++++++- Content.Shared/APC/SharedApc.cs | 12 ++- Resources/Locale/en-US/ui/power-apc.ftl | 3 +- .../Syndicate_Gadgets/singularity_beacon.yml | 2 +- 8 files changed, 137 insertions(+), 28 deletions(-) diff --git a/Content.Client/Power/APC/UI/ApcMenu.xaml b/Content.Client/Power/APC/UI/ApcMenu.xaml index 4c14dcc0ad..682aea55d2 100644 --- a/Content.Client/Power/APC/UI/ApcMenu.xaml +++ b/Content.Client/Power/APC/UI/ApcMenu.xaml @@ -19,7 +19,7 @@