Skip to content
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,11 @@ public sealed partial class ExperimentalLawProviderComponent : Component
[DataField] public string RandomLawsets = "IonStormLawsets";

// buffed point amounts 3x so people will actually use this; 30k in two minutes seems ok to me (triples points per second from ~80 to ~240)- strong but takes a lot of setup by RD (and stealing the AI upload console)
[DataField] public float RewardTime = 120.0f;
[DataField] public float RewardTime = 300.0f; // Arcane-Edit

[DataField] public int RewardPoints = 30000;
// Arcane-Edit-Start
//[DataField] public int RewardPoints = 30000;
[DataField] public int MinRewardPoints = 10;
[DataField] public int MaxRewardPoints = 15001;
// Arcane-Edit-End
}
9 changes: 7 additions & 2 deletions Content.Server/Silicons/Laws/SiliconLawSystem.cs
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
using Content.Shared.Research.Components;
using Content.Server.Radio.EntitySystems;
using Content.Server.Research.Systems;
using Robust.Shared.Timing;

// Corvax-Next-AiRemoteControl
using Content.Shared.Silicons.StationAi;
Expand Down Expand Up @@ -181,7 +182,7 @@ private void OnIonStormLaws(EntityUid uid, SiliconLawProviderComponent component
component.Subverted = true;

// new laws may allow antagonist behaviour so make it clear for admins
if(_mind.TryGetMind(uid, out var mindId, out _))
if (_mind.TryGetMind(uid, out var mindId, out _))
EnsureSubvertedSiliconRole(mindId);

}
Expand Down Expand Up @@ -423,7 +424,11 @@ private void ApplyExperimentalLaws(Entity<SiliconLawUpdaterComponent> ent, Entit

var activeProv = EnsureComp<ActiveExperimentalLawProviderComponent>(ent);
activeProv.Timer = experiment.Comp1.RewardTime;
activeProv.RewardPoints = experiment.Comp1.RewardPoints;
/*Arcane-Edit-Start
activeProv.RewardPoints = experiment.Comp1.RewardPoints;*/
activeProv.RewardPoints = _robustRandom.Next(experiment.Comp1.MinRewardPoints, experiment.Comp1.MaxRewardPoints + 1);
//Arcane-Edit-End

activeProv.OldSiliconLawsetId = ent.Comp.LastLawset;

var message = Loc.GetString("experimental-law-provider-start", ("timeLeft", (int) experiment.Comp1.RewardTime));
Expand Down
16 changes: 16 additions & 0 deletions Resources/Locale/ru-RU/_Arcane/research/experiements.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
research-experiment-scanning-reagent-gun-name = Сканирование оружия
research-experiment-scanning-reagent-gun-desc = Сборка оружия позволяет узнать их слабые стороны и пересобрать в будущем. Отсканируйте 2 эксземпляра.
Comment thread
liegend marked this conversation as resolved.
research-experiment-scanning-riotshield-name = Композитный щит подавления
research-experiment-scanning-riotshield-desc = Щит содержит слоистый композит, способный рассеивать энергию. Для усиления защиты нужен анализ структуры. Соберите щит и отсканируйте его.
Comment thread
liegend marked this conversation as resolved.
research-experiment-scanning-ripley-name = Тяжёлый экзоскелет Рипли
research-experiment-scanning-ripley-desc = Механический экзоскелет Рипли использует сервоприводы нового поколения. Для улучшения маневренности необходим анализ гидравлики. Соберите Рипли и отсканируйте его.
research-experiment-scanning-clothing-name = Сканирование одежды
research-experiment-scanning-clothing-desc = Анализ тканей одежды позволяет улучшить их износостойкость. Отсканируйте 5 экземпляров.
research-experiment-scanning-implants-name = Сканирование имплантов
research-experiment-scanning-implants-desc = Анализ имплантации позволяет улучшить их износостойкость. Отсканируйте 3 экземпляров.
research-experiment-scanning-machines-name = Сканирование машин
research-experiment-scanning-machines-desc = Анализ машин позволяет улучшить их эффективность и надёжность. Отсканируйте 2 экземпляров.
research-experiment-scanning-bots-name = Сканирование ботов
research-experiment-scanning-bots-desc = Изучение конструкции ботов позволяет улучшить их автономность. Отсканируйте 3 экземпляра.
research-experiment-scanning-humanoids-name = Сканирование гуманоидов
research-experiment-scanning-humanoids-desc = Изучение анатомии гуманоидов позволяет улучшить медицинские процедуры. Отсканируйте 5 экземпляров.
2 changes: 2 additions & 0 deletions Resources/Locale/ru-RU/_Arcane/silicon/laws.ftl
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
experimental-law-provider-already-used = Экспериментальный закон уже был использован и не может быть активирован повторно.
experimental-law-provider-already-subverted = Невозможно применить экспериментальные законы: законы целевого ИИ/борга уже были изменены.
127 changes: 127 additions & 0 deletions Resources/Prototypes/_Arcane/Research/scanning.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
- type: researchExperiment
id: ScanningRandomGun
name: research-experiment-scanning-reagent-gun-name
description: research-experiment-scanning-reagent-gun-desc
category: Scanning
objective: !type:ScanDifferentEntitiesExperimentObjective
requiredComponents:
- Gun
target: 2
reward:
pointRewards:
- type: General
amount: 5000
- type: Experimental
amount: 500

- type: researchExperiment
id: ScanningRandomBlocking
name: research-experiment-scanning-riotshield-name
description: research-experiment-scanning-riotshield-desc
category: Scanning
objective: !type:ScanDifferentEntitiesExperimentObjective
requiredComponents:
- Blocking
target: 3
reward:
pointRewards:
- type: General
amount: 5000
- type: Experimental
amount: 500

- type: researchExperiment
id: ScanningRandomRipley
name: research-experiment-scanning-ripley-name
description: research-experiment-scanning-ripley-desc
category: Scanning
objective: !type:ScanDifferentEntitiesExperimentObjective
requiredComponents:
- MechAir
target: 1
reward:
pointRewards:
- type: General
amount: 8000
- type: Experimental
amount: 500

- type: researchExperiment
id: ScanningClothing
name: research-experiment-scanning-clothing-name
description: research-experiment-scanning-clothing-desc
Comment thread
liegend marked this conversation as resolved.
category: Scanning
objective: !type:ScanDifferentEntitiesExperimentObjective
requiredComponents:
- Clothing
target: 5
reward:
pointRewards:
- type: General
amount: 3000
- type: Experimental
amount: 600

- type: researchExperiment
id: ScanningImplanter
Comment thread
coderabbitai[bot] marked this conversation as resolved.
name: research-experiment-scanning-clothing-name
description: research-experiment-scanning-clothing-desc
category: Scanning
objective: !type:ScanDifferentEntitiesExperimentObjective
requiredComponents:
- Implanter
target: 3
reward:
pointRewards:
- type: General
amount: 4500
- type: Experimental
amount: 600

- type: researchExperiment
id: ScanningVehicle
name: research-experiment-scanning-machines-name
description: research-experiment-scanning-machines-desc
category: Scanning
objective: !type:ScanDifferentEntitiesExperimentObjective
requiredComponents:
- Vehicle
target: 2
reward:
pointRewards:
- type: General
amount: 4500
- type: Experimental
amount: 600

- type: researchExperiment
id: ScanningBots
name: research-experiment-scanning-bots-name
description: research-experiment-scanning-bots-desc
category: Scanning
objective: !type:ScanDifferentEntitiesExperimentObjective
requiredComponents:
- HTN
target: 3
reward:
pointRewards:
- type: General
amount: 4500
- type: Experimental
amount: 600

- type: researchExperiment
id: ScanningHumanoids
name: research-experiment-scanning-humanoids-name
description: research-experiment-scanning-humanoids-desc
category: Scanning
objective: !type:ScanDifferentEntitiesExperimentObjective
requiredComponents:
- HumanoidAppearance
target: 5
reward:
pointRewards:
- type: General
amount: 4000
- type: Experimental
amount: 400
Original file line number Diff line number Diff line change
Expand Up @@ -27,4 +27,4 @@
laws: Crewsimov # Placeholder because lazy.
- type: ExperimentalLawProvider
rewardTime: 10.0
rewardPoints: 100000
# rewardPoints: 100000 Arcane-Edit
Loading
Loading