From 100b575b459afb702b996aafa3efcf0e8f57dd03 Mon Sep 17 00:00:00 2001 From: Milon Date: Mon, 25 Nov 2024 09:15:34 +0100 Subject: [PATCH 01/18] update pr labeler pt 2 (#2283) why --- .github/workflows/labeler-untriaged.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/labeler-untriaged.yml b/.github/workflows/labeler-untriaged.yml index ec1d194851c..22554d05650 100644 --- a/.github/workflows/labeler-untriaged.yml +++ b/.github/workflows/labeler-untriaged.yml @@ -3,8 +3,6 @@ on: issues: types: [opened] - pull_request_target: - types: [opened] jobs: add_label: From 0a6d09e5f38ac5f9ebc67428227f28a2ccc3a7a2 Mon Sep 17 00:00:00 2001 From: Radezolid Date: Tue, 26 Nov 2024 00:18:50 -0300 Subject: [PATCH 02/18] Replace the diamond stack at Arena with a singular diamond (#2287) Replaced the diamond stack. --- Resources/Maps/arena.yml | 68 +++++++++++++++++----------------------- 1 file changed, 29 insertions(+), 39 deletions(-) diff --git a/Resources/Maps/arena.yml b/Resources/Maps/arena.yml index 49b7daf6b60..dc404102aca 100644 --- a/Resources/Maps/arena.yml +++ b/Resources/Maps/arena.yml @@ -9348,8 +9348,7 @@ entities: -4,-6: 0: 63247 -5,-6: - 0: 64271 - 2: 1024 + 0: 65295 -3,-8: 0: 16383 -3,-7: @@ -9369,7 +9368,7 @@ entities: -1,-7: 0: 65535 -1,-6: - 3: 65520 + 2: 65520 0: 4 -1,-9: 0: 64160 @@ -9380,7 +9379,7 @@ entities: 0,-7: 0: 57305 0,-6: - 3: 4368 + 2: 4368 0: 52416 -8,-8: 0: 65535 @@ -9840,15 +9839,15 @@ entities: 9,9: 1: 4080 9,10: - 4: 273 - 5: 1092 + 3: 273 + 4: 1092 9,11: 1: 240 10,9: 1: 4080 10,10: - 6: 273 - 7: 1092 + 5: 273 + 6: 1092 10,11: 1: 752 0: 28672 @@ -9857,13 +9856,13 @@ entities: 11,9: 1: 4080 11,10: - 7: 1365 + 6: 1365 11,11: 1: 35056 12,9: 1: 4080 12,10: - 7: 273 + 6: 273 0: 34816 12,11: 1: 5936 @@ -9883,14 +9882,15 @@ entities: -3,10: 1: 62259 -3,11: - 0: 819 + 0: 947 1: 29772 -2,9: 0: 15 -2,10: 1: 63616 -2,11: - 1: 32911 + 1: 32863 + 0: 160 -1,12: 1: 61457 0: 4078 @@ -10719,6 +10719,9 @@ entities: 0: 65535 16,9: 1: 240 + 0: 13056 + 16,10: + 0: 13107 12,13: 1: 61713 11,13: @@ -10994,20 +10997,24 @@ entities: 0: 30464 18,2: 0: 12407 - 1: 32768 18,3: - 0: 13107 - 1: 34952 + 0: 15355 18,4: - 0: 3059 + 0: 3067 19,0: 1: 12847 19,1: 1: 13107 19,2: - 1: 13107 + 1: 3891 + 19,3: + 0: 1911 + 19,4: + 0: 52733 20,0: 1: 15 + 20,3: + 1: 4096 16,7: 0: 61166 16,8: @@ -11025,9 +11032,6 @@ entities: 0: 819 18,6: 0: 30583 - 19,4: - 0: 19964 - 2: 32768 20,4: 0: 4369 1: 3808 @@ -11264,21 +11268,6 @@ entities: - 0 - 0 - 0 - - volume: 2500 - temperature: 293.14975 - moles: - - 20.078888 - - 75.53487 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - - 0 - volume: 2500 temperature: 235 moles: @@ -11362,6 +11351,7 @@ entities: id: Arena - type: GasTileOverlay - type: SpreaderGrid + - type: Shuttle - proto: AirAlarm entities: - uid: 304 @@ -123391,12 +123381,12 @@ entities: - type: Transform pos: 43.567142,-35.436256 parent: 6747 -- proto: MaterialDiamond +- proto: MaterialDiamond1 entities: - uid: 4036 components: - type: Transform - pos: -35.668434,-47.688297 + pos: -35.674225,-47.724026 parent: 6747 - proto: MaterialDurathread entities: @@ -148725,7 +148715,7 @@ entities: - type: Transform pos: 35.444176,-18.296202 parent: 6747 -- proto: RightArmBorgMining +- proto: RightArmBorg entities: - uid: 10713 components: @@ -155624,7 +155614,7 @@ entities: - type: Transform pos: -35.5,0.5 parent: 6747 -- proto: SuitStorageSec +- proto: SuitStorageSecDeltaV entities: - uid: 684 components: From d375f353507cce5dac06e6c2d638748c7bae0146 Mon Sep 17 00:00:00 2001 From: Milon Date: Tue, 26 Nov 2024 09:26:47 +0100 Subject: [PATCH 03/18] fix KillPersonCondition (#2289) * aaaaaaaaaaaaaaaaaa * what even was this --- .../Objectives/Systems/KillPersonConditionSystem.cs | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Content.Server/Objectives/Systems/KillPersonConditionSystem.cs b/Content.Server/Objectives/Systems/KillPersonConditionSystem.cs index d61310908c3..80a3b405a84 100644 --- a/Content.Server/Objectives/Systems/KillPersonConditionSystem.cs +++ b/Content.Server/Objectives/Systems/KillPersonConditionSystem.cs @@ -38,14 +38,17 @@ private void OnGetProgress(EntityUid uid, KillPersonConditionComponent comp, ref args.Progress = GetProgress(target.Value, comp.RequireDead); } - private void OnPersonAssigned(EntityUid uid, PickRandomPersonComponent comp, ref ObjectiveAssignedEvent args) + private void OnPersonAssigned(Entity ent, ref ObjectiveAssignedEvent args) { - AssignRandomTarget(uid, args, _ => true); + AssignRandomTarget(ent, args, _ => true); } - private void OnHeadAssigned(EntityUid uid, PickRandomHeadComponent comp, ref ObjectiveAssignedEvent args) + private void OnHeadAssigned(Entity ent, ref ObjectiveAssignedEvent args) { - AssignRandomTarget(uid, args, mind => HasComp(uid)); + AssignRandomTarget(ent, args, mindId => + TryComp(mindId, out var mind) && + mind.OwnedEntity is { } ownedEnt && + HasComp(ownedEnt)); } private void AssignRandomTarget(EntityUid uid, ObjectiveAssignedEvent args, Predicate filter, bool fallbackToAny = true) From 921a0e26fd6b46231dd84f18da9cfc7859e2f0b8 Mon Sep 17 00:00:00 2001 From: deltanedas <39013340+deltanedas@users.noreply.github.com> Date: Tue, 26 Nov 2024 12:23:26 +0000 Subject: [PATCH 04/18] zombie gamemode semi rework (#2194) * zombie gamemode semi rework * remove 1 --------- Co-authored-by: deltanedas <@deltanedas:kde.org> --- .../Rules/Components/DelayedRuleComponent.cs | 46 +++++++++++++++ .../GameTicking/Rules/DelayedRuleSystem.cs | 58 +++++++++++++++++++ .../game-presets/preset-zombies.ftl | 2 + Resources/Prototypes/GameRules/roundstart.yml | 20 +++++-- 4 files changed, 122 insertions(+), 4 deletions(-) create mode 100644 Content.Server/DeltaV/GameTicking/Rules/Components/DelayedRuleComponent.cs create mode 100644 Content.Server/DeltaV/GameTicking/Rules/DelayedRuleSystem.cs create mode 100644 Resources/Locale/en-US/deltav/game-ticking/game-presets/preset-zombies.ftl diff --git a/Content.Server/DeltaV/GameTicking/Rules/Components/DelayedRuleComponent.cs b/Content.Server/DeltaV/GameTicking/Rules/Components/DelayedRuleComponent.cs new file mode 100644 index 00000000000..64f90f135e0 --- /dev/null +++ b/Content.Server/DeltaV/GameTicking/Rules/Components/DelayedRuleComponent.cs @@ -0,0 +1,46 @@ +using Robust.Shared.Prototypes; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; + +namespace Content.Server.DeltaV.GameTicking.Rules.Components; + +/// +/// Delays adding components to the antags of a gamerule until some time has passed. +/// +/// +/// This is used for the zombies gamemode so that new players don't hit the funny button immediately and ruin anyone else's plans. +/// +[RegisterComponent, Access(typeof(DelayedRuleSystem))] +[AutoGenerateComponentPause] +public sealed partial class DelayedRuleComponent : Component +{ + /// + /// The players must wait this length of time before gets added. + /// If they are somehow found out and get gibbed/cremated/etc before this delay is up they will not turn. + /// + [DataField(required: true)] + public TimeSpan Delay; + + /// + /// Whether to skip the delay if there is only 1 antag selected. + /// + [DataField] + public bool IgnoreSolo; + + /// + /// When the will end. + /// + [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoPausedField] + public TimeSpan DelayEnds; + + /// + /// The components to add to each player's mob once the delay ends. + /// + [DataField(required: true)] + public ComponentRegistry DelayedComponents = new(); + + /// + /// Popup to show when the delay ends. + /// + [DataField(required: true)] + public LocId EndedPopup; +} diff --git a/Content.Server/DeltaV/GameTicking/Rules/DelayedRuleSystem.cs b/Content.Server/DeltaV/GameTicking/Rules/DelayedRuleSystem.cs new file mode 100644 index 00000000000..ca64ebf45e0 --- /dev/null +++ b/Content.Server/DeltaV/GameTicking/Rules/DelayedRuleSystem.cs @@ -0,0 +1,58 @@ +using Content.Server.Antag.Components; +using Content.Server.GameTicking.Rules; +using Content.Server.DeltaV.GameTicking.Rules.Components; +using Content.Shared.GameTicking.Components; +using Content.Shared.Mind; +using Content.Shared.Popups; + +namespace Content.Server.DeltaV.GameTicking.Rules; + +public sealed class DelayedRuleSystem : GameRuleSystem +{ + [Dependency] private readonly SharedPopupSystem _popup = default!; + + protected override void Started(EntityUid uid, DelayedRuleComponent component, GameRuleComponent gameRule, GameRuleStartedEvent args) + { + base.Started(uid, component, gameRule, args); + + component.DelayEnds = Timing.CurTime + component.Delay; + } + + protected override void ActiveTick(EntityUid uid, DelayedRuleComponent component, GameRuleComponent gameRule, float frameTime) + { + base.ActiveTick(uid, component, gameRule, frameTime); + + CheckDelay((uid, component)); + } + + /// + /// Checks if the delay has ended. + /// + private void CheckDelay(Entity ent) + { + if (!TryComp(ent, out var selection)) + return; + + // skip the delay if it's just 1 player, theres no plan to ruin if you are the only one + var ends = ent.Comp.DelayEnds; + if (ent.Comp.IgnoreSolo && selection.SelectedMinds.Count < 2) + ends = Timing.CurTime; + + if (Timing.CurTime < ends) + return; + + var comps = ent.Comp.DelayedComponents; + foreach (var (mindId, _) in selection.SelectedMinds) + { + // using OriginalOwnedEntity as the player might have ghosted to try become an evil ghost antag + if (!TryComp(mindId, out var mind) || !TryGetEntity(mind.OriginalOwnedEntity, out var mob)) + continue; + + var uid = mob.Value; + _popup.PopupEntity(Loc.GetString(ent.Comp.EndedPopup), uid, uid, PopupType.LargeCaution); + EntityManager.AddComponents(uid, comps); + } + + RemCompDeferred(ent); + } +} diff --git a/Resources/Locale/en-US/deltav/game-ticking/game-presets/preset-zombies.ftl b/Resources/Locale/en-US/deltav/game-ticking/game-presets/preset-zombies.ftl new file mode 100644 index 00000000000..1bc0332154b --- /dev/null +++ b/Resources/Locale/en-US/deltav/game-ticking/game-presets/preset-zombies.ftl @@ -0,0 +1,2 @@ +zombie-bioterrorist-role-greeting = You are a syndicate sponsored bioterrorist sent to overtake the station by use of the Romerol virus. Coordinate with your team, get supplies and prepare for your eventual transformation. Death to nanotrasen! +zombie-bioterrorist-romerol-active = The romerol in your blood is now active, you are ready to transform! diff --git a/Resources/Prototypes/GameRules/roundstart.yml b/Resources/Prototypes/GameRules/roundstart.yml index 8359a2fbd94..50de7c4b746 100644 --- a/Resources/Prototypes/GameRules/roundstart.yml +++ b/Resources/Prototypes/GameRules/roundstart.yml @@ -248,6 +248,13 @@ min: 600 max: 900 - type: ZombieRule + - type: DelayedRule # DeltaV: Grace period of 5 minutes before you can turn, to avoid a random passenger ruining your plan + delay: 300 + delayedComponents: + - type: PendingZombie + - type: ZombifyOnDeath + - type: IncurableZombie + endedPopup: zombie-bioterrorist-romerol-active - type: AntagSelection definitions: - prefRoles: [ InitialInfected ] @@ -258,14 +265,19 @@ - ZombieImmune - AntagImmune briefing: - text: zombie-patientzero-role-greeting + text: zombie-bioterrorist-role-greeting # DeltaV: Different greeting color: Plum sound: "/Audio/Ambience/Antag/zombie_start.ogg" components: - - type: PendingZombie - - type: ZombifyOnDeath - - type: IncurableZombie + # Begin DeltaV Removals: Moved to DelayedRule above + #- type: PendingZombie + #- type: ZombifyOnDeath + #- type: IncurableZombie + # End DeltaV Removals - type: InitialInfected + - type: AutoImplant # DeltaV: Let them communicate to come up with a plan of action + implants: + - SyndicateRadioImplant mindRoles: - MindRoleInitialInfected From 4fd2aa339a894dd6d9282d8900b4378f35df408a Mon Sep 17 00:00:00 2001 From: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com> Date: Tue, 26 Nov 2024 13:23:46 +0100 Subject: [PATCH 05/18] Automatic changelog update --- Resources/Changelog/DeltaVChangelog.yml | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Resources/Changelog/DeltaVChangelog.yml b/Resources/Changelog/DeltaVChangelog.yml index 3e323712e81..e700ecf6c26 100644 --- a/Resources/Changelog/DeltaVChangelog.yml +++ b/Resources/Changelog/DeltaVChangelog.yml @@ -1,10 +1,4 @@ Entries: -- author: Adrian16199 - changes: - - message: Laika no longer takes 200 damage before dying from critical. - type: Fix - id: 209 - time: '2024-01-19T20:57:11.0000000+00:00' - author: lleftTheDragon changes: [] id: 210 @@ -3768,3 +3762,14 @@ id: 708 time: '2024-11-25T05:30:25.0000000+00:00' url: https://github.com/DeltaV-Station/Delta-v/pull/2211 +- author: deltanedas + changes: + - message: Initial Infecteds now get radio implants to communicate thanks to the + Syndicate. + type: Tweak + - message: Initial Infecteds now have to wait 5 minutes before they can turn, form + a plan! + type: Tweak + id: 709 + time: '2024-11-26T12:23:26.0000000+00:00' + url: https://github.com/DeltaV-Station/Delta-v/pull/2194 From f3fae08ebbdacaed13b18f38fbfb0ad8c893708d Mon Sep 17 00:00:00 2001 From: Stop-Signs Date: Tue, 26 Nov 2024 12:19:14 -0600 Subject: [PATCH 06/18] Omega Particles buff (#2292) Meow --- .../Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml index 167a51e402c..2ed2f924da3 100644 --- a/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml +++ b/Resources/Prototypes/Entities/Objects/Weapons/Guns/Projectiles/projectiles.yml @@ -618,7 +618,7 @@ - type: AnomalousParticle particleType: Default severityOverride: true - severityPerSeverityHit: 0.1 + severityPerSeverityHit: 0.3 # DeltaV raised to .3 from .1 stabilityPerDestabilizingHit: 0.05 healthPerWeakeningeHit: 1 stabilityPerWeakeningeHit: -0.05 @@ -626,7 +626,7 @@ impactEffect: BulletImpactEffectKinetic damage: types: - Heat: 20 + Heat: 30 # DeltaV raised to 30 from 20 - type: entity parent: AnomalousParticleDelta From 29e8a7dd89e0f56b8295ccd7ec02fa6935aafa75 Mon Sep 17 00:00:00 2001 From: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com> Date: Tue, 26 Nov 2024 19:19:33 +0100 Subject: [PATCH 07/18] Automatic changelog update --- Resources/Changelog/DeltaVChangelog.yml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Resources/Changelog/DeltaVChangelog.yml b/Resources/Changelog/DeltaVChangelog.yml index e700ecf6c26..279965ad5fb 100644 --- a/Resources/Changelog/DeltaVChangelog.yml +++ b/Resources/Changelog/DeltaVChangelog.yml @@ -1,8 +1,4 @@ Entries: -- author: lleftTheDragon - changes: [] - id: 210 - time: '2024-01-19T21:06:32.0000000+00:00' - author: DebugOk changes: - message: Enabled gamerule voting on periapsis @@ -3773,3 +3769,10 @@ id: 709 time: '2024-11-26T12:23:26.0000000+00:00' url: https://github.com/DeltaV-Station/Delta-v/pull/2194 +- author: Stop-Signs + changes: + - message: Omega particles are more deadly, Mystagogues beware! + type: Tweak + id: 710 + time: '2024-11-26T18:19:14.0000000+00:00' + url: https://github.com/DeltaV-Station/Delta-v/pull/2292 From ce1b132a50e5af1c39d2137e2c7477b153bc21ff Mon Sep 17 00:00:00 2001 From: Stop-Signs Date: Wed, 27 Nov 2024 00:27:29 -0600 Subject: [PATCH 08/18] Home run bat discount (#2294) Meow --- Resources/Prototypes/DeltaV/Catalog/uplink_catalog.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Resources/Prototypes/DeltaV/Catalog/uplink_catalog.yml b/Resources/Prototypes/DeltaV/Catalog/uplink_catalog.yml index 05a7582cd35..2e428c8f8d9 100644 --- a/Resources/Prototypes/DeltaV/Catalog/uplink_catalog.yml +++ b/Resources/Prototypes/DeltaV/Catalog/uplink_catalog.yml @@ -95,8 +95,9 @@ productEntity: BaseBallBatHomeRun icon: entity: BaseBallBatHomeRun + discountCategory: usualDiscounts discountDownTo: - Telecrystal: 10 + Telecrystal: 6 cost: Telecrystal: 16 categories: From cd949addd18e6a9a1d19544fb7884960ab210aeb Mon Sep 17 00:00:00 2001 From: Milon Date: Wed, 27 Nov 2024 08:54:32 +0100 Subject: [PATCH 09/18] update pr review labeler (#2297) Update labeler-needsreview.yml --- .github/workflows/labeler-needsreview.yml | 27 +++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/.github/workflows/labeler-needsreview.yml b/.github/workflows/labeler-needsreview.yml index 819b34b7bbd..4d895cad771 100644 --- a/.github/workflows/labeler-needsreview.yml +++ b/.github/workflows/labeler-needsreview.yml @@ -3,10 +3,17 @@ on: pull_request_target: types: [review_requested] + pull_request_review: + types: [submitted] + +permissions: + pull-requests: write + contents: write jobs: add_label: runs-on: ubuntu-latest + if: github.event_name == 'pull_request_target' steps: - uses: actions-ecosystem/action-add-labels@v1 with: @@ -14,3 +21,23 @@ jobs: - uses: actions-ecosystem/action-remove-labels@v1 with: labels: "S: Awaiting Changes" + + handle_review: + runs-on: ubuntu-latest + if: github.event_name == 'pull_request_review' + steps: + - uses: actions-ecosystem/action-add-labels@v1 + if: | + github.event.review.state == 'changes_requested' && + (github.event.review.author_association == 'OWNER' || + github.event.review.author_association == 'MEMBER') + with: + labels: "S: Awaiting Changes" + + - uses: actions-ecosystem/action-remove-labels@v1 + if: | + github.event.review.state == 'changes_requested' && + (github.event.review.author_association == 'OWNER' || + github.event.review.author_association == 'MEMBER') + with: + labels: "S: Needs Review" From bc2bb8f862b730c9c676008cc83d05653fa4883d Mon Sep 17 00:00:00 2001 From: Stop-Signs Date: Wed, 27 Nov 2024 14:22:29 -0600 Subject: [PATCH 10/18] Psych chems no longer stronger than nocturine (#2302) Whoever made this was off their rocker --- .../Prototypes/_CD/Reagents/medicine.yml | 156 +++++++++--------- 1 file changed, 78 insertions(+), 78 deletions(-) diff --git a/Resources/Prototypes/_CD/Reagents/medicine.yml b/Resources/Prototypes/_CD/Reagents/medicine.yml index a198c7d3efa..945b261b436 100644 --- a/Resources/Prototypes/_CD/Reagents/medicine.yml +++ b/Resources/Prototypes/_CD/Reagents/medicine.yml @@ -206,36 +206,36 @@ damage: types: Poison: 0.5 - - !type:GenericStatusEffect - conditions: - - !type:ReagentThreshold - reagent: Tranquinase # conflicts with many other meds - min: 2.0 - key: ForcedSleep - component: ForcedSleeping - refresh: false - type: Add - probability: 0.4 - - !type:GenericStatusEffect - conditions: - - !type:ReagentThreshold - reagent: Soretizone # conflicts with many other meds - min: 3.0 - key: ForcedSleep - component: ForcedSleeping - refresh: false - type: Add - probability: 0.3 - - !type:GenericStatusEffect - conditions: - - !type:ReagentThreshold - reagent: Agonolexyne # conflicts with many other meds - min: 0.25 - key: ForcedSleep - component: ForcedSleeping - refresh: false - type: Add - probability: 0.3 + #- !type:GenericStatusEffect + #conditions: + #- !type:ReagentThreshold + #reagent: Tranquinase # conflicts with many other meds + #min: 2.0 + #key: ForcedSleep + #component: ForcedSleeping + #refresh: false + #type: Add + #probability: 0.4 + #- !type:GenericStatusEffect # DeltaV - Removed all psych med forcesleeps + #conditions: + #- !type:ReagentThreshold + #reagent: Soretizone # conflicts with many other meds + #min: 3.0 + #key: ForcedSleep + #component: ForcedSleeping + #refresh: false + #type: Add + #probability: 0.3 + #- !type:GenericStatusEffect # DeltaV - Removed all psych med forcesleeps + #conditions: + #- !type:ReagentThreshold + #reagent: Agonolexyne # conflicts with many other meds + #min: 0.25 + #key: ForcedSleep + #component: ForcedSleeping + #refresh: false + #type: Add + #probability: 0.3 - !type:PopupMessage type: Local visualType: Medium @@ -344,15 +344,15 @@ conditions: - !type:ReagentThreshold min: 16.5 - - !type:GenericStatusEffect - conditions: - - !type:ReagentThreshold - min: 20.0 - key: ForcedSleep - component: ForcedSleeping - refresh: false - type: Add - probability: 0.1 + #- !type:GenericStatusEffect # DeltaV - Removed all psych med forcesleeps + #conditions: + #- !type:ReagentThreshold + #min: 20.0 + #key: ForcedSleep + #component: ForcedSleeping + #refresh: false + #type: Add + #probability: 0.1 - !type:HealthChange # poisons you if you take way too much conditions: - !type:ReagentThreshold @@ -525,25 +525,25 @@ - "reagent-effect-painkiller-normal3" - "reagent-effect-painkiller-normal4" probability: 0.085 - - !type:GenericStatusEffect - probability: 0.1 - conditions: - - !type:ReagentThreshold - min: 14.5 # overdose knocks you out - key: ForcedSleep - component: ForcedSleeping - refresh: false - type: Add - - !type:GenericStatusEffect - probability: 0.08 - conditions: - - !type:ReagentThreshold - reagent: Stubantazine - min: 5 # taking with other painkillers will knock you out - key: ForcedSleep - component: ForcedSleeping - refresh: false - type: Add + #- !type:GenericStatusEffect # DeltaV - Removed all psych med forcesleeps + #probability: 0.1 + #conditions: + #- !type:ReagentThreshold + #min: 14.5 # overdose knocks you out + #key: ForcedSleep + #component: ForcedSleeping + #refresh: false + #type: Add + #- !type:GenericStatusEffect # DeltaV - Removed all psych med forcesleeps + #probability: 0.08 + #conditions: + #- !type:ReagentThreshold + #reagent: Stubantazine + #min: 5 # taking with other painkillers will knock you out + #key: ForcedSleep + #component: ForcedSleeping + #refresh: false + #type: Add - !type:AdjustReagent conditions: - !type:ReagentThreshold @@ -592,26 +592,26 @@ - "reagent-effect-painkiller-strong5" - "reagent-effect-painkiller-strong6" probability: 0.1 - - !type:GenericStatusEffect - probability: 0.1 - conditions: - - !type:ReagentThreshold - reagent: Stubantazine - min: 4 # taking with other painkillers will knock you out - key: ForcedSleep - component: ForcedSleeping - refresh: false - type: Add - - !type:GenericStatusEffect - probability: 0.15 - conditions: - - !type:ReagentThreshold - reagent: Soretizone - min: 2 # taking with other painkillers will knock you out - key: ForcedSleep - component: ForcedSleeping - refresh: false - type: Add + #- !type:GenericStatusEffect # DeltaV - Removed all psych med forcesleeps + #probability: 0.1 + #conditions: + #- !type:ReagentThreshold + #reagent: Stubantazine + #min: 4 # taking with other painkillers will knock you out + #key: ForcedSleep + #component: ForcedSleeping + #refresh: false + #type: Add + #- !type:GenericStatusEffect # DeltaV - Removed all psych med forcesleeps + #probability: 0.15 + #conditions: + #- !type:ReagentThreshold + #reagent: Soretizone + #min: 2 # taking with other painkillers will knock you out + #key: ForcedSleep + #component: ForcedSleeping + #refresh: false + #type: Add - !type:AdjustReagent conditions: - !type:ReagentThreshold From 648b6afe8916981f980f79b8c35c7e3253a66fa2 Mon Sep 17 00:00:00 2001 From: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com> Date: Wed, 27 Nov 2024 21:22:49 +0100 Subject: [PATCH 11/18] Automatic changelog update --- Resources/Changelog/DeltaVChangelog.yml | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Resources/Changelog/DeltaVChangelog.yml b/Resources/Changelog/DeltaVChangelog.yml index 279965ad5fb..5091730c4bb 100644 --- a/Resources/Changelog/DeltaVChangelog.yml +++ b/Resources/Changelog/DeltaVChangelog.yml @@ -1,12 +1,4 @@ Entries: -- author: DebugOk - changes: - - message: Enabled gamerule voting on periapsis - type: Tweak - - message: Enabled map voting on periapsis - type: Tweak - id: 211 - time: '2024-01-19T22:33:21.0000000+00:00' - author: DebugOk changes: - message: Added gridinv, sorry. @@ -3776,3 +3768,10 @@ id: 710 time: '2024-11-26T18:19:14.0000000+00:00' url: https://github.com/DeltaV-Station/Delta-v/pull/2292 +- author: Stop-Signs + changes: + - message: psych chems are no longer stronger nocturine + type: Tweak + id: 711 + time: '2024-11-27T20:22:30.0000000+00:00' + url: https://github.com/DeltaV-Station/Delta-v/pull/2302 From b4d79a29cb74f8f499f226d33c9034c7ce981792 Mon Sep 17 00:00:00 2001 From: deltanedas <39013340+deltanedas@users.noreply.github.com> Date: Thu, 28 Nov 2024 07:22:06 +0000 Subject: [PATCH 12/18] fix the shadow factory (#2299) * update code to allow lawset updating * use lawset field on borgs --------- Co-authored-by: deltanedas <@deltanedas:kde.org> --- .../Borgs/BorgSwitchableTypeSystem.Lawset.cs | 33 +++++++++++++++++++ .../Borgs/BorgSwitchableTypeSystem.cs | 7 +++- .../Silicons/Laws/SiliconLawSystem.cs | 3 +- .../Silicons/Borgs/BorgTypePrototype.cs | 8 +++++ Resources/Prototypes/DeltaV/borg_types.yml | 4 +-- Resources/Prototypes/borg_types.yml | 12 +++---- 6 files changed, 55 insertions(+), 12 deletions(-) create mode 100644 Content.Server/DeltaV/Silicons/Borgs/BorgSwitchableTypeSystem.Lawset.cs diff --git a/Content.Server/DeltaV/Silicons/Borgs/BorgSwitchableTypeSystem.Lawset.cs b/Content.Server/DeltaV/Silicons/Borgs/BorgSwitchableTypeSystem.Lawset.cs new file mode 100644 index 00000000000..03b7c54ad01 --- /dev/null +++ b/Content.Server/DeltaV/Silicons/Borgs/BorgSwitchableTypeSystem.Lawset.cs @@ -0,0 +1,33 @@ +using Content.Server.Silicons.Laws; +using Content.Shared.Emag.Components; +using Content.Shared.Emag.Systems; +using Content.Shared.Silicons.Laws; +using Content.Shared.Silicons.Laws.Components; +using Robust.Shared.Prototypes; + +namespace Content.Server.Silicons.Borgs; + +/// +/// Handles lawset patching when switching type. +/// If a borg is made emagged it needs its emag laws carried over. +/// +public sealed partial class BorgSwitchableTypeSystem +{ + [Dependency] private readonly SiliconLawSystem _law = default!; + + private void ConfigureLawset(EntityUid uid, ProtoId id) + { + var laws = _law.GetLawset(id); + _law.SetLaws(laws.Laws, uid); + + // re-add law 0 and final law based on new lawset + if (CompOrNull(uid)?.OwnerName != null) + { + // raising the event manually to bypass re-emagging checks + var ev = new GotEmaggedEvent(uid); // user wont be used since OwnerName isnt null, safe to pass itself + RaiseLocalEvent(uid, ref ev); + } + + // ion storms don't get mirrored because thats basically impossible to track + } +} diff --git a/Content.Server/Silicons/Borgs/BorgSwitchableTypeSystem.cs b/Content.Server/Silicons/Borgs/BorgSwitchableTypeSystem.cs index d1a32a6a5ba..518652c2297 100644 --- a/Content.Server/Silicons/Borgs/BorgSwitchableTypeSystem.cs +++ b/Content.Server/Silicons/Borgs/BorgSwitchableTypeSystem.cs @@ -11,7 +11,7 @@ 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 +public sealed partial class BorgSwitchableTypeSystem : SharedBorgSwitchableTypeSystem // DeltaV: Made partial { [Dependency] private readonly BorgSystem _borgSystem = default!; [Dependency] private readonly ServerInventorySystem _inventorySystem = default!; @@ -59,6 +59,11 @@ protected override void SelectBorgModule(Entity ent } } + // Begin DeltaV Code: Custom lawset patching + if (prototype.Lawset is {} lawset) + ConfigureLawset(ent, lawset); + // End DeltaV Code + // Configure special components if (Prototypes.TryIndex(ent.Comp.SelectedBorgType, out var previousPrototype)) { diff --git a/Content.Server/Silicons/Laws/SiliconLawSystem.cs b/Content.Server/Silicons/Laws/SiliconLawSystem.cs index 9a361132a5c..2cce871fb24 100644 --- a/Content.Server/Silicons/Laws/SiliconLawSystem.cs +++ b/Content.Server/Silicons/Laws/SiliconLawSystem.cs @@ -131,9 +131,10 @@ private void OnEmagLawsAdded(EntityUid uid, SiliconLawProviderComponent componen component.Lawset = GetLawset(component.Laws); // Add the first emag law before the others + var name = CompOrNull(uid)?.OwnerName ?? Name(args.UserUid); // DeltaV: Reuse emagger name if possible component.Lawset?.Laws.Insert(0, new SiliconLaw { - LawString = Loc.GetString("law-emag-custom", ("name", Name(args.UserUid)), ("title", Loc.GetString(component.Lawset.ObeysTo))), + LawString = Loc.GetString("law-emag-custom", ("name", name), ("title", Loc.GetString(component.Lawset.ObeysTo))), // DeltaV: pass name from variable Order = 0 }); diff --git a/Content.Shared/Silicons/Borgs/BorgTypePrototype.cs b/Content.Shared/Silicons/Borgs/BorgTypePrototype.cs index 1518cfdfe50..5708b16cc11 100644 --- a/Content.Shared/Silicons/Borgs/BorgTypePrototype.cs +++ b/Content.Shared/Silicons/Borgs/BorgTypePrototype.cs @@ -2,6 +2,7 @@ using Content.Shared.Inventory; using Content.Shared.Radio; using Content.Shared.Silicons.Borgs.Components; +using Content.Shared.Silicons.Laws; // DeltaV using Content.Shared.Whitelist; using Robust.Shared.Audio; using Robust.Shared.Prototypes; @@ -83,6 +84,13 @@ public sealed partial class BorgTypePrototype : IPrototype [DataField] public EntProtoId[] DefaultModules = []; + /// + /// DeltaV: Lawset to use instead of crewsimov. + /// If the chassis is emagged or ion stormed this is ignored. + /// + [DataField] + public ProtoId? Lawset; + /// /// Additional components to add to the borg entity when this type is selected. /// diff --git a/Resources/Prototypes/DeltaV/borg_types.yml b/Resources/Prototypes/DeltaV/borg_types.yml index fd5be28db70..0fb7ab66153 100644 --- a/Resources/Prototypes/DeltaV/borg_types.yml +++ b/Resources/Prototypes/DeltaV/borg_types.yml @@ -18,9 +18,9 @@ - BorgModuleSecurityPatrol - BorgModuleSecurityBastion + lawset: SiliconPolice + addComponents: - - type: SiliconLawProvider - laws: SiliconPolice - type: FlashImmunity - type: ShowMindShieldIcons - type: ShowCriminalRecordIcons diff --git a/Resources/Prototypes/borg_types.yml b/Resources/Prototypes/borg_types.yml index 1ebeb9112d2..72b5c954eb8 100644 --- a/Resources/Prototypes/borg_types.yml +++ b/Resources/Prototypes/borg_types.yml @@ -49,9 +49,7 @@ - BorgModuleRCD - BorgModuleCable - addComponents: # DeltaV: Custom lawset - - type: SiliconLawProvider - laws: Engineer + lawset: Engineer # DeltaV: Custom lawset radioChannels: - Engineering @@ -123,9 +121,7 @@ - BorgModuleLightReplacer - BorgModuleCleaning - addComponents: # DeltaV: Custom lawset - - type: SiliconLawProvider - laws: Janitor + lawset: Janitor # DeltaV: Custom lawset radioChannels: - Science @@ -165,6 +161,8 @@ - Science - Medical + lawset: Medical # DeltaV: Custom lawset + addComponents: - type: SolutionScanner - type: ShowHealthBars @@ -174,8 +172,6 @@ damageContainers: - Biological - type: FabricateCandy # Nyanotrasen - The medical cyborg can generate candies filled with medicine. - - type: SiliconLawProvider # DeltaV: Custom lawset - laws: Medical # Visual inventoryTemplateId: borgDutch From a554a657dbdf69b3682fcba502f080bd846ab239 Mon Sep 17 00:00:00 2001 From: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com> Date: Thu, 28 Nov 2024 08:22:25 +0100 Subject: [PATCH 13/18] Automatic changelog update --- Resources/Changelog/DeltaVChangelog.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Resources/Changelog/DeltaVChangelog.yml b/Resources/Changelog/DeltaVChangelog.yml index 5091730c4bb..6a75676c4e2 100644 --- a/Resources/Changelog/DeltaVChangelog.yml +++ b/Resources/Changelog/DeltaVChangelog.yml @@ -1,10 +1,4 @@ Entries: -- author: DebugOk - changes: - - message: Added gridinv, sorry. - type: Add - id: 212 - time: '2024-01-21T18:58:28.0000000+00:00' - author: TadJohnson00 changes: - message: Pride vend has received an adjusted inventory. Make sure to check out @@ -3775,3 +3769,11 @@ id: 711 time: '2024-11-27T20:22:30.0000000+00:00' url: https://github.com/DeltaV-Station/Delta-v/pull/2302 +- author: deltanedas + changes: + - message: Fixed borgs with special lawsets fixing their emag laws when switched + to. + type: Fix + id: 712 + time: '2024-11-28T07:22:06.0000000+00:00' + url: https://github.com/DeltaV-Station/Delta-v/pull/2299 From 04b923958118dc0decd82c898976bbcffd8d8f51 Mon Sep 17 00:00:00 2001 From: Kr8art Date: Thu, 28 Nov 2024 13:04:17 +0100 Subject: [PATCH 14/18] Port Dogtags from CD and fix some minor issues with it. (#2301) * Port Dogtags from CD and fix some minor issues with it. * Addressing reviews --- .../_CD/Engraving/EngraveableComponent.cs | 32 +++++++ .../_CD/Engraving/EngraveableSystem.cs | 83 ++++++++++++++++++ .../Locale/en-US/_CD/engraving/engraving.ftl | 6 ++ .../Prototypes/Loadouts/loadout_groups.yml | 1 + .../_CD/Entities/Objects/Misc/dogtags.yml | 14 +++ .../_CD/Loadouts/Miscellaneous/trinkets.yml | 5 ++ .../_CD/Objects/Misc/dogtags.rsi/dogtag.png | Bin 0 -> 862 bytes .../Misc/dogtags.rsi/equipped-NECK.png | Bin 0 -> 332 bytes .../_CD/Objects/Misc/dogtags.rsi/meta.json | 18 ++++ 9 files changed, 159 insertions(+) create mode 100644 Content.Server/_CD/Engraving/EngraveableComponent.cs create mode 100644 Content.Server/_CD/Engraving/EngraveableSystem.cs create mode 100644 Resources/Locale/en-US/_CD/engraving/engraving.ftl create mode 100644 Resources/Prototypes/_CD/Entities/Objects/Misc/dogtags.yml create mode 100644 Resources/Prototypes/_CD/Loadouts/Miscellaneous/trinkets.yml create mode 100644 Resources/Textures/_CD/Objects/Misc/dogtags.rsi/dogtag.png create mode 100644 Resources/Textures/_CD/Objects/Misc/dogtags.rsi/equipped-NECK.png create mode 100644 Resources/Textures/_CD/Objects/Misc/dogtags.rsi/meta.json diff --git a/Content.Server/_CD/Engraving/EngraveableComponent.cs b/Content.Server/_CD/Engraving/EngraveableComponent.cs new file mode 100644 index 00000000000..f60ee3f584f --- /dev/null +++ b/Content.Server/_CD/Engraving/EngraveableComponent.cs @@ -0,0 +1,32 @@ +namespace Content.Server._CD.Engraving; + +/// +/// Allows an items' description to be modified with an engraving +/// +[RegisterComponent, Access(typeof(EngraveableSystem))] +public sealed partial class EngraveableComponent : Component +{ + /// + /// Message given to user to notify them a message was sent + /// + [DataField] + public string EngravedMessage = string.Empty; + + /// + /// The inspect text to use when there is no engraving + /// + [DataField] + public LocId NoEngravingText = "engraving-dogtags-no-message"; + + /// + /// The message to use when successfully engraving the item + /// + [DataField] + public LocId EngraveSuccessMessage = "engraving-dogtags-succeed"; + + /// + /// The inspect text to use when there is an engraving. The message will be shown seperately afterwards. + /// + [DataField] + public LocId HasEngravingText = "engraving-dogtags-has-message"; +} diff --git a/Content.Server/_CD/Engraving/EngraveableSystem.cs b/Content.Server/_CD/Engraving/EngraveableSystem.cs new file mode 100644 index 00000000000..370929511a5 --- /dev/null +++ b/Content.Server/_CD/Engraving/EngraveableSystem.cs @@ -0,0 +1,83 @@ +using Content.Server.Administration; +using Content.Server.Administration.Logs; +using Content.Server.Popups; +using Content.Shared.Database; +using Content.Shared.Popups; +using Content.Shared.Examine; +using Content.Shared.Verbs; +using Robust.Shared.Player; +using Robust.Shared.Utility; + +namespace Content.Server._CD.Engraving; + +public sealed class EngraveableSystem : EntitySystem +{ + [Dependency] private readonly IAdminLogManager _adminLogger = default!; + [Dependency] private readonly PopupSystem _popup = default!; + [Dependency] private readonly QuickDialogSystem _dialog = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnExamined); + SubscribeLocalEvent>(AddEngraveVerb); + } + + private void OnExamined(Entity ent, ref ExaminedEvent args) + { + var msg = new FormattedMessage(); + msg.AddMarkupOrThrow(Loc.GetString(ent.Comp.EngravedMessage == string.Empty + ? ent.Comp.NoEngravingText + : ent.Comp.HasEngravingText)); + + if (ent.Comp.EngravedMessage != string.Empty) + msg.AddMarkupPermissive(Loc.GetString(ent.Comp.EngravedMessage)); + + args.PushMessage(msg, 1); + } + + private void AddEngraveVerb(Entity ent, ref GetVerbsEvent args) + { + // First check if it's already been engraved. If it has, don't let them do it again. + if (ent.Comp.EngravedMessage != string.Empty) + return; + + // We need an actor to give the verb. + if (!EntityManager.TryGetComponent(args.User, out ActorComponent? actor)) + return; + + // Make sure ghosts can't engrave stuff. + if (!args.CanInteract) + return; + + var engraveVerb = new ActivationVerb + { + Text = Loc.GetString("engraving-verb-engrave"), + Act = () => + { + _dialog.OpenDialog(actor.PlayerSession, + Loc.GetString("engraving-verb-engrave"), + Loc.GetString("engraving-popup-ui-message"), + (string message) => + { + // If either the actor or comp have magically vanished + if (actor.PlayerSession.AttachedEntity == null || !HasComp(ent)) + return; + + ent.Comp.EngravedMessage = message; + _popup.PopupEntity(Loc.GetString(ent.Comp.EngraveSuccessMessage), + actor.PlayerSession.AttachedEntity.Value, + actor.PlayerSession, + PopupType.Medium); + _adminLogger.Add(LogType.Action, + LogImpact.Low, + $"{ToPrettyString(actor.PlayerSession.AttachedEntity):player} engraved an item with message: {message}"); + }); + }, + Impact = LogImpact.Low, + }; + engraveVerb.Impact = LogImpact.Low; + args.Verbs.Add(engraveVerb); + } +} diff --git a/Resources/Locale/en-US/_CD/engraving/engraving.ftl b/Resources/Locale/en-US/_CD/engraving/engraving.ftl new file mode 100644 index 00000000000..fc6ca919ead --- /dev/null +++ b/Resources/Locale/en-US/_CD/engraving/engraving.ftl @@ -0,0 +1,6 @@ +engraving-verb-engrave = Engrave +engraving-popup-ui-message = Description + +engraving-dogtags-no-message = The dogtags don't seem to have any kind of engraving. +engraving-dogtags-has-message = The dogtags are engraved with a message that reads:{" "} +engraving-dogtags-succeed = You successfully engrave the dogtags with your message. diff --git a/Resources/Prototypes/Loadouts/loadout_groups.yml b/Resources/Prototypes/Loadouts/loadout_groups.yml index ccf1bd50d39..d81dd6c6116 100644 --- a/Resources/Prototypes/Loadouts/loadout_groups.yml +++ b/Resources/Prototypes/Loadouts/loadout_groups.yml @@ -50,6 +50,7 @@ - SilverRing # DeltaV - Cane # DeltaV - WhiteCane #DeltaV + - CDDogtags # _CD - type: loadoutGroup id: Glasses diff --git a/Resources/Prototypes/_CD/Entities/Objects/Misc/dogtags.yml b/Resources/Prototypes/_CD/Entities/Objects/Misc/dogtags.yml new file mode 100644 index 00000000000..22a1b22a72f --- /dev/null +++ b/Resources/Prototypes/_CD/Entities/Objects/Misc/dogtags.yml @@ -0,0 +1,14 @@ +- type: entity + id: CDDogtags + parent: ClothingNeckBase + name: dogtags + description: A set of dogtags, hanging from a small piece of cord for wearing and carrying. + components: + - type: Sprite + sprite: _CD/Objects/Misc/dogtags.rsi + layers: + - state: dogtag + - type: Clothing + sprite: _CD/Objects/Misc/dogtags.rsi + - type: Appearance + - type: Engraveable diff --git a/Resources/Prototypes/_CD/Loadouts/Miscellaneous/trinkets.yml b/Resources/Prototypes/_CD/Loadouts/Miscellaneous/trinkets.yml new file mode 100644 index 00000000000..5c04fc51dac --- /dev/null +++ b/Resources/Prototypes/_CD/Loadouts/Miscellaneous/trinkets.yml @@ -0,0 +1,5 @@ +- type: loadout + id: CDDogtags + storage: + back: + - CDDogtags diff --git a/Resources/Textures/_CD/Objects/Misc/dogtags.rsi/dogtag.png b/Resources/Textures/_CD/Objects/Misc/dogtags.rsi/dogtag.png new file mode 100644 index 0000000000000000000000000000000000000000..05a5b71bc5e592a13cc8c0b45052d0e4c89cc6ff GIT binary patch literal 862 zcmV-k1EKthP)WkkWy!otv^A+k_H7&Avp#)(OcT)ggg$Md=~-S@YK zHhr6S-+lMJ?|06<=ge%Rf2{uio&b*R-(~3LpJk?NstUlyi9p*;sv%!ER5NinA3@jDC z$!oA?mG-ThkG`G?*uB#fs+a3(8=EPU$pqrD<~2JAEdZiNB=``b2Y?#^4q3pN;cau0 zt14g^r|4N~g!QLOwgH_-s@afU5u%psNy{ECEzvD|#;q)@||z zz(P5VJfEcQqwO+6%vBynp4UZ>XLuJ?;kpd5P;@f`FQO4;#0R;&aKhP;r8XY`pE%tu zpXcZ2L<#H9gsTjwY2zBl7#&jmD0e-WhodcYV>l)6FZU#AJAIMQr)L+vbwa#w_sJ{c z?8$>NVgPXJQP=8P7(=Q#1oJn!AG9UhfbVI2Y%{i(lMa-_?-Pv+Xj$hI=`+dT>D z8&1pdxkQ(xhvOjx#EAI42L#fNY6wKy%FK{zD|6^hdK3_b_-$}^2(2J6MoW!fxTIb8 zcx;@)!FtpDK`KROl1URnfErI9J@nR!RS5h@eWcCQcchah-oBIbV}rf4LHrSc`6)54 z3g%eXv3HNWN0urfJas~p=kZ9J%mjb5Ly2}mM9=daJ?_;^RO*jfF-MIn3~(0c%2jEK zdw$O5oVC9Ou#%l25(e0J2q~5){??F$fH_AG^LvBW$oCo0sV>$kuleGyri5}Fx_F-Q z*KeB9!yI$ItH7(I(LldJ0s^`}(62T31%T$md&{SuubAiNWJ2)RLY@KC=y>lTY(r(F ocE-K|${=*}9_9NC_%YMzCk2ncdtHU?2LJ#707*qoM6N<$g5*V)a{vGU literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CD/Objects/Misc/dogtags.rsi/equipped-NECK.png b/Resources/Textures/_CD/Objects/Misc/dogtags.rsi/equipped-NECK.png new file mode 100644 index 0000000000000000000000000000000000000000..4d837168da6041b3a170104ef7d44a1f417fc70e GIT binary patch literal 332 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fAQ1G9p zi(^Q|oVT|&@-{h0v^~7u(yJ37EPGs3&nF?`plw8hQ_h{EyaGucIXMr+i+}D@H}qh9 z68AuAox>bvg>#Go&lx(38ID*UnA7}<`Flz7_gs7R%}hPbw)s2b<=^M7YnDG-$9nAG z^P1=C-On1H8%|xm==JSwcPD82H+l2zyHdKXyzY@YLm^*-1v{#N43A_`gvEs($j5gs zUMDH^pm;BXc1O%)fp1)Ew#F&^l1gM;HRac`*KPH>`>%*B-{ke%?$zln>IYW{uiYA! k5Yub)=g_(5IP8e~EbSmIyg_3#FeDf}UHx3vIVCg!08}-9(f|Me literal 0 HcmV?d00001 diff --git a/Resources/Textures/_CD/Objects/Misc/dogtags.rsi/meta.json b/Resources/Textures/_CD/Objects/Misc/dogtags.rsi/meta.json new file mode 100644 index 00000000000..da1b490e53b --- /dev/null +++ b/Resources/Textures/_CD/Objects/Misc/dogtags.rsi/meta.json @@ -0,0 +1,18 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from cmss13 at https://github.com/cmss13-devs/cmss13/blob/a2d5ca6e69725341f0fa261a4a3f89c737e843b3/icons/obj/items/card.dmi", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "dogtag" + }, + { + "name": "equipped-NECK", + "directions": 4 + } + ] +} From b0dff0abc56016bb38f0d1549660f1ec50c0a59e Mon Sep 17 00:00:00 2001 From: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com> Date: Thu, 28 Nov 2024 13:04:36 +0100 Subject: [PATCH 15/18] Automatic changelog update --- Resources/Changelog/DeltaVChangelog.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Resources/Changelog/DeltaVChangelog.yml b/Resources/Changelog/DeltaVChangelog.yml index 6a75676c4e2..fef98ad16f3 100644 --- a/Resources/Changelog/DeltaVChangelog.yml +++ b/Resources/Changelog/DeltaVChangelog.yml @@ -1,11 +1,4 @@ Entries: -- author: TadJohnson00 - changes: - - message: Pride vend has received an adjusted inventory. Make sure to check out - the new cloaks available! - type: Tweak - id: 213 - time: '2024-01-30T14:22:13.0000000+00:00' - author: Colin-Tel changes: - message: Updated Asterisk Station. @@ -3777,3 +3770,10 @@ id: 712 time: '2024-11-28T07:22:06.0000000+00:00' url: https://github.com/DeltaV-Station/Delta-v/pull/2299 +- author: Kr8art + changes: + - message: Added customizable dogtags from Cosmatic Drift to the trinket loadout! + type: Add + id: 713 + time: '2024-11-28T12:04:17.0000000+00:00' + url: https://github.com/DeltaV-Station/Delta-v/pull/2301 From dac79809111b2dad4d7d8a5791ca4fbf1a79564b Mon Sep 17 00:00:00 2001 From: Kr8art Date: Thu, 28 Nov 2024 20:36:26 +0100 Subject: [PATCH 16/18] Nuke core container closed fail popup (#2309) --- Resources/Locale/en-US/nuke/nuke-core-container.ftl | 1 + Resources/Prototypes/Entities/Objects/Misc/plutonium_core.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/Resources/Locale/en-US/nuke/nuke-core-container.ftl b/Resources/Locale/en-US/nuke/nuke-core-container.ftl index 47ea15a8316..bbed978bd7e 100644 --- a/Resources/Locale/en-US/nuke/nuke-core-container.ftl +++ b/Resources/Locale/en-US/nuke/nuke-core-container.ftl @@ -1,2 +1,3 @@ nuke-core-container-whitelist-fail-popup = That doesn't fit into the container. nuke-core-container-sealed-popup = The {$container} is sealed shut! +nuke-core-container-closed-fail-popup = You need to open the container first! diff --git a/Resources/Prototypes/Entities/Objects/Misc/plutonium_core.yml b/Resources/Prototypes/Entities/Objects/Misc/plutonium_core.yml index 67910888871..bd2a0d871a9 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/plutonium_core.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/plutonium_core.yml @@ -47,6 +47,7 @@ whitelist: tags: - PlutoniumCore + lockedFailPopup: nuke-core-container-closed-fail-popup whitelistFailPopup: nuke-core-container-whitelist-fail-popup - type: GenericVisualizer visuals: From 42615db3be16617a5882242189300d35238febd0 Mon Sep 17 00:00:00 2001 From: Delta-V bot <135767721+DeltaV-Bot@users.noreply.github.com> Date: Thu, 28 Nov 2024 20:36:45 +0100 Subject: [PATCH 17/18] Automatic changelog update --- Resources/Changelog/DeltaVChangelog.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/Resources/Changelog/DeltaVChangelog.yml b/Resources/Changelog/DeltaVChangelog.yml index fef98ad16f3..a9d7ef4c038 100644 --- a/Resources/Changelog/DeltaVChangelog.yml +++ b/Resources/Changelog/DeltaVChangelog.yml @@ -1,10 +1,4 @@ Entries: -- author: Colin-Tel - changes: - - message: Updated Asterisk Station. - type: Tweak - id: 214 - time: '2024-01-30T21:09:41.0000000+00:00' - author: DebugOk changes: - message: You should be able to exit cryo even after leaving now, meaning it just @@ -3777,3 +3771,11 @@ id: 713 time: '2024-11-28T12:04:17.0000000+00:00' url: https://github.com/DeltaV-Station/Delta-v/pull/2301 +- author: Kr8art + changes: + - message: The nuke core container now displays an appropriate message when hasty + syndicate agents try to insert the nuke core while it is still closed! + type: Fix + id: 714 + time: '2024-11-28T19:36:26.0000000+00:00' + url: https://github.com/DeltaV-Station/Delta-v/pull/2309 From bf7a8d9e2dfad8a5583a3fded2bf1dd51caee0b9 Mon Sep 17 00:00:00 2001 From: Milon Date: Thu, 28 Nov 2024 21:10:43 +0100 Subject: [PATCH 18/18] fix borg unshaded error (#2312) :trollface: --- Content.Shared/Silicons/Borgs/BorgTypePrototype.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Content.Shared/Silicons/Borgs/BorgTypePrototype.cs b/Content.Shared/Silicons/Borgs/BorgTypePrototype.cs index 5708b16cc11..25190e09413 100644 --- a/Content.Shared/Silicons/Borgs/BorgTypePrototype.cs +++ b/Content.Shared/Silicons/Borgs/BorgTypePrototype.cs @@ -13,7 +13,7 @@ namespace Content.Shared.Silicons.Borgs; /// Information for a borg type that can be selected by . /// /// -[Prototype] +[Prototype(-5)] // DeltaV - force load after shaders public sealed partial class BorgTypePrototype : IPrototype { [ValidatePrototypeId]