Skip to content

Commit a8b5da6

Browse files
feeded back
1 parent 41a2898 commit a8b5da6

File tree

6 files changed

+39
-65
lines changed

6 files changed

+39
-65
lines changed

Content.Shared/_DV/Silicons/LawElectronicsInsertionSystem.cs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using Content.Shared.DoAfter;
2+
using Content.Shared.IdentityManagement;
23
using Content.Shared.Interaction;
34
using Content.Shared.Popups;
45
using Content.Shared.Silicons.Borgs.Components;
@@ -36,9 +37,8 @@ private void OnAfterInteract(Entity<SiliconLawProviderComponent> ent, ref AfterI
3637
if (!TryComp<WiresPanelComponent>(target, out var panel) || !panel.Open)
3738
{
3839
_popup.PopupClient(Loc.GetString("lawboard-insertion-needs-panel-open",
39-
("this", ent),
40-
("user", args.User),
41-
("target", target)),
40+
("target", target),
41+
("targetName", Identity.Name(target, EntityManager))),
4242
args.User);
4343

4444
return;
@@ -56,8 +56,8 @@ private void OnAfterInteract(Entity<SiliconLawProviderComponent> ent, ref AfterI
5656
return;
5757

5858
_popup.PopupPredicted(
59-
Loc.GetString("lawboard-insertion-start-actor-message", ("board", ent), ("target", target)),
60-
Loc.GetString("lawboard-insertion-start-other-message", ("board", ent), ("target", target), ("actor", args.User)),
59+
Loc.GetString("lawboard-insertion-start-actor-message", ("board", ent), ("target", Identity.Name(target, EntityManager))),
60+
Loc.GetString("lawboard-insertion-start-other-message", ("board", ent), ("target", Identity.Name(target, EntityManager)), ("actor", Identity.Name(args.User, EntityManager))),
6161
args.Target.Value,
6262
args.User);
6363
}
@@ -83,15 +83,16 @@ private void OnLawboardInsertionDoAfter(Entity<SiliconLawProviderComponent> ent,
8383
if (args.Handled || args.Cancelled || args.Args.Target is not {} target)
8484
return;
8585

86-
var newLaws = GetLawset(ent.Comp.Laws).Laws;
86+
var newLaws = GetLawset(ent.Comp.Laws);
8787

8888
if (!TryComp<SiliconLawProviderComponent>(target, out var targetComp))
8989
return;
9090

9191
if (targetComp.Lawset == null)
9292
targetComp.Lawset = new SiliconLawset();
9393

94-
targetComp.Lawset.Laws = newLaws;
94+
targetComp.Lawset.Laws = newLaws.Laws;
95+
targetComp.Lawset.ObeysTo = newLaws.ObeysTo;
9596
_siliconLaw.NotifyLawsChanged(target);
9697
}
9798
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
lawboard-insertion-needs-panel-open = { CAPITALIZE($target) } needs { POSS-ADJ($target) } maintenance panel opened first.
1+
lawboard-insertion-needs-panel-open = { CAPITALIZE($targetName) } needs { POSS-ADJ($target) } maintenance panel opened first.
22
lawboard-insertion-start-actor-message = You begin inserting { THE($board) } into { CAPITALIZE($target) }...
33
lawboard-insertion-start-other-message = { CAPITALIZE($actor) } begins inserting { THE($board) } into { CAPITALIZE($target) }...

Resources/Prototypes/Entities/Structures/Machines/lathe.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,6 @@
264264
- MedicalBoardsStatic
265265
- EngineeringBoardsStatic
266266
- CircuitFloorsStatic
267-
- LawBoardsNTStatic # DeltaV - printable lawboards
268267
dynamicPacks:
269268
- EngineeringBoards
270269
- CargoBoards
@@ -275,8 +274,9 @@
275274
- MechBoards
276275
- ShuttleBoards
277276
- type: EmagLatheRecipes
278-
emagStaticPacks:
279-
- LawBoardsSyndicateStatic # DeltaV - printable lawboards
277+
emagStaticPacks: # DeltaV - printable lawboards
278+
- LawBoardsNTStatic
279+
- LawBoardsSyndicateStatic
280280
emagDynamicPacks:
281281
- SecurityBoards
282282
- type: MaterialStorage
@@ -322,6 +322,7 @@
322322
- RoboticsStatic
323323
- BorgModulesStatic
324324
- BorgLimbsStatic
325+
- LawBoardsNTStatic # DeltaV - printable lawboards
325326
dynamicPacks:
326327
- Robotics
327328
- BorgModules
@@ -333,6 +334,7 @@
333334
- type: EmagLatheRecipes # DeltaV
334335
emagStaticPacks:
335336
- RoboticsEmagStatic
337+
- LawBoardsSyndicateStatic # DeltaV - printable lawboards
336338
emagDynamicPacks:
337339
- SecurityCybernetics # having sechud eyes is good for evil people
338340
- SecurityHardsuits

Resources/Prototypes/_DV/Entities/Mobs/Player/silicon.yml

Lines changed: 18 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -37,121 +37,100 @@
3737
nameSegments: [NamesBorg] # TODO: Make good names, this is a stupid list.
3838

3939
- type: entity
40-
id: SyndicateCircuitBoard
40+
abstract: true
41+
id: BaseLawBoard
4142
parent: BaseElectronics
42-
name: law board (Syndicate)
43-
description: An electronics board containing the Syndicate lawset.
4443
components:
4544
- type: Sprite
4645
sprite: Objects/Misc/module.rsi
4746
state: std_mod
47+
48+
- type: entity
49+
id: SyndicateCircuitBoard
50+
parent: BaseLawBoard
51+
name: law board (Syndicate)
52+
description: An electronics board containing the Syndicate lawset.
53+
components:
4854
- type: SiliconLawProvider
4955
laws: SyndicateLawset
5056

5157
- type: entity
5258
id: FreedomCircuitBoard
53-
parent: BaseElectronics
59+
parent: BaseLawBoard
5460
name: law board (Freedom)
5561
description: An electronics board containing the Freedom lawset.
5662
components:
57-
- type: Sprite
58-
sprite: Objects/Misc/module.rsi
59-
state: std_mod
6063
- type: SiliconLawProvider
6164
laws: FreedomLaws
6265

6366
- type: entity
6467
id: EightfoldCircuitBoard
65-
parent: BaseElectronics
68+
parent: BaseLawBoard
6669
name: law board (Eightfold Path)
6770
description: An electronics board containing the Eightfold Path lawset.
6871
components:
69-
- type: Sprite
70-
sprite: Objects/Misc/module.rsi
71-
state: std_mod
7272
- type: SiliconLawProvider
7373
laws: EightfoldLaws
7474

7575
- type: entity
7676
id: ForbinCircuitBoard
77-
parent: BaseElectronics
77+
parent: BaseLawBoard
7878
name: law board (Forbin)
7979
description: An electronics board containing the Forbin lawset.
8080
components:
81-
- type: Sprite
82-
sprite: Objects/Misc/module.rsi
83-
state: std_mod
8481
- type: SiliconLawProvider
8582
laws: ForbinLaws
8683

8784
- type: entity
8885
id: OverrideCircuitBoard
89-
parent: BaseElectronics
86+
parent: BaseLawBoard
9087
name: law board (Override)
9188
description: An electronics board containing the Override lawset.
9289
components:
93-
- type: Sprite
94-
sprite: Objects/Misc/module.rsi
95-
state: std_mod
9690
- type: SiliconLawProvider
9791
laws: OverrideLaws
9892

9993
- type: entity
10094
id: AquariusCircuitBoard
101-
parent: BaseElectronics
95+
parent: BaseLawBoard
10296
name: law board (Aquarius)
10397
description: An electronics board containing the Age of Aquarius lawset.
10498
components:
105-
- type: Sprite
106-
sprite: Objects/Misc/module.rsi
107-
state: std_mod
10899
- type: SiliconLawProvider
109100
laws: AquariusLaws
110101

111102
- type: entity
112103
id: StreamerCircuitBoard
113-
parent: BaseElectronics
104+
parent: BaseLawBoard
114105
name: law board (streamer)
115106
description: An electronics board containing the Nanotrasen Streamer lawset from experimental stations designed to create viral content.
116107
components:
117-
- type: Sprite
118-
sprite: Objects/Misc/module.rsi
119-
state: std_mod
120108
- type: SiliconLawProvider
121109
laws: StreamerLaws
122110

123111
- type: entity
124112
id: MedicalLawCircuitBoard
125-
parent: BaseElectronics
113+
parent: BaseLawBoard
126114
name: law board (Medical)
127115
description: An electronics board containing the Medical lawset.
128116
components:
129-
- type: Sprite
130-
sprite: Objects/Misc/module.rsi
131-
state: std_mod
132117
- type: SiliconLawProvider
133118
laws: Medical
134119

135120
- type: entity
136121
id: JanitorLawCircuitBoard
137-
parent: BaseElectronics
122+
parent: BaseLawBoard
138123
name: law board (Janitor)
139124
description: An electronics board containing the Janitor lawset.
140125
components:
141-
- type: Sprite
142-
sprite: Objects/Misc/module.rsi
143-
state: std_mod
144126
- type: SiliconLawProvider
145127
laws: Janitor
146128

147129
- type: entity
148130
id: EngineerLawCircuitBoard
149-
parent: BaseElectronics
131+
parent: BaseLawBoard
150132
name: law board (Engineer)
151133
description: An electronics board containing the Engineer lawset.
152134
components:
153-
- type: Sprite
154-
sprite: Objects/Misc/module.rsi
155-
state: std_mod
156135
- type: SiliconLawProvider
157136
laws: Engineer

Resources/Prototypes/_DV/Recipes/Lathes/Packs/robotics.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,3 +87,4 @@
8787
recipes:
8888
- AntimovCircuitBoard
8989
- OverlordCircuitBoard
90+
- SyndicateCircuitBoard

Resources/Prototypes/_DV/Recipes/Lathes/robotics.yml

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -208,8 +208,8 @@
208208
# AI lawboard recipes
209209

210210
- type: latheRecipe
211-
parent: BaseRoboticsRecipe
212211
abstract: true
212+
parent: BaseRoboticsRecipe
213213
id: BaseLawboardRecipe
214214
materials:
215215
Diamond: 200
@@ -222,13 +222,6 @@
222222
parent: BaseLawboardRecipe
223223
id: AntimovCircuitBoard
224224
result: AntimovCircuitBoard
225-
materials:
226-
Diamond: 1000
227-
Glass: 1000
228-
Silver: 200
229-
Gold: 200
230-
Plasma: 200
231-
Bananium: 500
232225

233226
- type: latheRecipe
234227
parent: BaseLawboardRecipe
@@ -289,13 +282,6 @@
289282
parent: BaseLawboardRecipe
290283
id: OverlordCircuitBoard
291284
result: OverlordCircuitBoard
292-
materials:
293-
Diamond: 500
294-
Glass: 1000
295-
Silver: 200
296-
Gold: 200
297-
Plasma: 200
298-
Bananium: 250
299285

300286
- type: latheRecipe
301287
parent: BaseLawboardRecipe
@@ -322,6 +308,11 @@
322308
id: StreamerCircuitBoard
323309
result: StreamerCircuitBoard
324310

311+
- type: latheRecipe
312+
parent: BaseLawboardRecipe
313+
id: SyndicateCircuitBoard
314+
result: SyndicateCircuitBoard
315+
325316
- type: latheRecipe
326317
parent: BaseLawboardRecipe
327318
id: MedicalLawCircuitBoard

0 commit comments

Comments
 (0)