]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Fix ERT becoming sleeper agents and add sleeper agent preferences (#27817)
authorMr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>
Thu, 20 Jun 2024 11:12:58 +0000 (07:12 -0400)
committerGitHub <noreply@github.com>
Thu, 20 Jun 2024 11:12:58 +0000 (21:12 +1000)
* b

* Update antags.ftl

* m

* ok

* Update events.yml

* antag

* a

* Create InitialInfectedExemptComponent.cs

* Delete InitialInfectedExemptComponent.cs

* yes

* Delete InitialInfectedExemptComponent.cs

* Create AntagImmuneComponent.cs

Content.Server/Antag/Components/AntagImmuneComponent.cs [new file with mode: 0644]
Content.Server/Zombies/InitialInfectedExemptComponent.cs [deleted file]
Resources/Locale/en-US/prototypes/roles/antags.ftl
Resources/Prototypes/Entities/Mobs/Player/humanoid.yml
Resources/Prototypes/GameRules/events.yml
Resources/Prototypes/GameRules/roundstart.yml
Resources/Prototypes/Roles/Antags/traitor.yml

diff --git a/Content.Server/Antag/Components/AntagImmuneComponent.cs b/Content.Server/Antag/Components/AntagImmuneComponent.cs
new file mode 100644 (file)
index 0000000..3ae8e04
--- /dev/null
@@ -0,0 +1,7 @@
+namespace Content.Server.Antag.Components;
+
+[RegisterComponent]
+public partial class AntagImmuneComponent : Component
+{
+
+}
diff --git a/Content.Server/Zombies/InitialInfectedExemptComponent.cs b/Content.Server/Zombies/InitialInfectedExemptComponent.cs
deleted file mode 100644 (file)
index f2dfda3..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-namespace Content.Server.Zombies;
-
-[RegisterComponent]
-public sealed partial class InitialInfectedExemptComponent : Component
-{
-
-}
index f0038b0eb96d5e6aa2ff601834f771cd67d09f26..ba43d4ff85bc58ad027f61c31b9381bba98ff339 100644 (file)
@@ -1,6 +1,9 @@
 roles-antag-syndicate-agent-name = Syndicate agent
 roles-antag-syndicate-agent-objective = Complete your objectives without being caught.
 
+roles-antag-syndicate-agent-sleeper-name = Syndicate sleeper agent
+roles-antag-syndicate-agent-sleeper-objective = A form of syndicate agent that can activate at any point in the middle of the shift.
+
 roles-antag-initial-infected-name = Initial Infected
 roles-antag-initial-infected-objective = Once you turn, infect as many other crew members as possible.
 
index e365ee3a1cfac79ac58114432a731943c1601010..6067c95fd3c673e9eb0b9de096a8edd35e43333c 100644 (file)
@@ -12,7 +12,7 @@
   parent: EventHumanoid
   components:
     - type: MindShield
-    - type: InitialInfectedExempt
+    - type: AntagImmune
 
 ## Death Squad
 
@@ -30,7 +30,6 @@
         - NamesLastMilitary
     - type: RandomHumanoidSpawner
       settings: DeathSquad
-    - type: InitialInfectedExempt
 
 - type: randomHumanoidSettings
   id: DeathSquad
@@ -66,7 +65,6 @@
       - NamesLastMilitary
     - type: RandomHumanoidSpawner
       settings: ERTLeader
-    - type: InitialInfectedExempt
 
 - type: randomHumanoidSettings
   id: ERTLeader
@@ -96,7 +94,6 @@
       state: ertleadereva
     - type: RandomHumanoidSpawner
       settings: ERTLeaderEVA
-    - type: InitialInfectedExempt
 
 - type: randomHumanoidSettings
   id: ERTLeaderEVA
   components:
     - type: RandomHumanoidSpawner
       settings: ERTLeaderEVALecter
-    - type: InitialInfectedExempt
 
 - type: randomHumanoidSettings
   id: ERTLeaderEVALecter
       state: cburn
     - type: RandomHumanoidSpawner
       settings: CBURNAgent
-    - type: InitialInfectedExempt
 
 - type: randomHumanoidSettings
   id: CBURNAgent
       nameSegments:
       - NamesFirstMilitary
       - NamesLastMilitary
+
 ## Central Command
 
 - type: entity
       state: centcom
     - type: RandomHumanoidSpawner
       settings: CentcomOfficial
-    - type: InitialInfectedExempt
 
 - type: randomHumanoidSettings
   id: CentcomOfficial
index a443ff50277862f3b42f824ec96e8a978c7abba0..f8f2ef49e705b81a372e09a65067b1e26c53124a 100644 (file)
       blacklist:
         components:
         - ZombieImmune
-        - InitialInfectedExempt
+        - AntagImmune
       briefing:
         text: zombie-patientzero-role-greeting
         color: Plum
 
 - type: entity
   parent: BaseTraitorRule
-  id: SleeperAgentsRule
+  id: SleeperAgents
   components:
   - type: StationEvent
     earliestStart: 30
   - type: AlertLevelInterceptionRule
   - type: AntagSelection
     definitions:
-    - prefRoles: [ Traitor ]
+    - prefRoles: [ TraitorSleeper ]
+      fallbackRoles: [ Traitor ]
       min: 1
       max: 2
       playerRatio: 10
+      blacklist:
+        components:
+        - AntagImmune
       mindComponents:
       - type: TraitorRole
-        prototype: Traitor
+        prototype: TraitorSleeper
 
 - type: entity
   id: MassHallucinations
index 88f80fd4f6a2e391d91d2e47fabd4397fccc7c8d..923a01146062e4128325df922ec5b5b6eae3840a 100644 (file)
     - prefRoles: [ Traitor ]
       max: 8
       playerRatio: 10
+      blacklist:
+        components:
+        - AntagImmune
       lateJoinAdditional: true
       mindComponents:
       - type: TraitorRole
       blacklist:
         components:
         - ZombieImmune
-        - InitialInfectedExempt
+        - AntagImmune
       briefing:
         text: zombie-patientzero-role-greeting
         color: Plum
index e97ced1795e524e0910124efc9d964c13e9febe7..205f04b05ea547197a35248769c069b7eda33662 100644 (file)
@@ -6,6 +6,13 @@
   objective: roles-antag-syndicate-agent-objective
   guides: [ Traitors ]
 
+- type: antag
+  id: TraitorSleeper
+  name: roles-antag-syndicate-agent-sleeper-name
+  antagonist: true
+  setPreference: true
+  objective: roles-antag-syndicate-agent-sleeper-objective
+
 # Syndicate Operative Outfit - Monkey
 - type: startingGear
   id: SyndicateOperativeGearMonkey