From 274c3ab0b923af5f6d05a2965861df8b4a1cfdbc Mon Sep 17 00:00:00 2001 From: ScarKy0 <106310278+ScarKy0@users.noreply.github.com> Date: Fri, 6 Dec 2024 07:22:38 +0100 Subject: [PATCH] Derelict Borg Revival (#33433) * Derelictn'tn't Borg! * Clean *sparkles* * Removed "S: Awaiting Changes" --- .../Silicons/Laws/StartIonStormedSystem.cs | 37 ++++++++++++++++++ .../Components/StartIonStormedComponent.cs | 17 ++++++++ .../ghost/roles/ghost-role-component.ftl | 3 ++ .../interaction-popup-component.ftl | 2 + .../Entities/Markers/Spawners/ghost_roles.yml | 18 +++++++++ .../Mobs/Cyborgs/base_borg_chassis.yml | 20 ++++++++++ .../Entities/Mobs/Cyborgs/borg_chassis.yml | 32 +++++++++++++++ .../Entities/Mobs/Player/silicon.yml | 34 ++++++++++++++++ Resources/Prototypes/GameRules/events.yml | 22 +++++++++++ .../Construction/Graphs/machines/cyborg.yml | 3 ++ .../Mobs/Silicon/chassis.rsi/derelict.png | Bin 0 -> 11838 bytes .../Mobs/Silicon/chassis.rsi/derelict_e.png | Bin 0 -> 5508 bytes .../Mobs/Silicon/chassis.rsi/derelict_e_r.png | Bin 0 -> 5515 bytes .../Silicon/chassis.rsi/derelict_icon.png | Bin 0 -> 6429 bytes .../Mobs/Silicon/chassis.rsi/derelict_l.png | Bin 0 -> 6986 bytes .../Mobs/Silicon/chassis.rsi/meta.json | 22 ++++++++++- 16 files changed, 209 insertions(+), 1 deletion(-) create mode 100644 Content.Server/Silicons/Laws/StartIonStormedSystem.cs create mode 100644 Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs create mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict.png create mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e.png create mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e_r.png create mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_icon.png create mode 100644 Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_l.png diff --git a/Content.Server/Silicons/Laws/StartIonStormedSystem.cs b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs new file mode 100644 index 0000000000..9d56d267b9 --- /dev/null +++ b/Content.Server/Silicons/Laws/StartIonStormedSystem.cs @@ -0,0 +1,37 @@ +using Content.Shared.Silicons.Laws.Components; +using Content.Shared.Administration.Logs; +using Content.Shared.Database; + +namespace Content.Server.Silicons.Laws; + +/// +/// This handles running the ion storm event a on specific entity when that entity is spawned in. +/// +public sealed class StartIonStormedSystem : EntitySystem +{ + [Dependency] private readonly IonStormSystem _ionStorm = default!; + [Dependency] private readonly ISharedAdminLogManager _adminLogger = default!; + [Dependency] private readonly SiliconLawSystem _siliconLaw = default!; + + public override void Initialize() + { + base.Initialize(); + SubscribeLocalEvent(OnMapInit); + } + + private void OnMapInit(Entity ent, ref MapInitEvent args) + { + if (!TryComp(ent.Owner, out var lawBound)) + return; + if (!TryComp(ent.Owner, out var target)) + return; + + for (int currentIonStorm = 0; currentIonStorm < ent.Comp.IonStormAmount; currentIonStorm++) + { + _ionStorm.IonStormTarget((ent.Owner, lawBound, target), false); + } + + var laws = _siliconLaw.GetLaws(ent.Owner, lawBound); + _adminLogger.Add(LogType.Mind, LogImpact.High, $"{ToPrettyString(ent.Owner):silicon} spawned with ion stormed laws: {laws.LoggingString()}"); + } +} diff --git a/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs b/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs new file mode 100644 index 0000000000..d0124567ff --- /dev/null +++ b/Content.Shared/Silicons/Laws/Components/StartIonStormedComponent.cs @@ -0,0 +1,17 @@ +using Content.Shared.Roles; +using Robust.Shared.Prototypes; + +namespace Content.Shared.Silicons.Laws.Components; + +/// +/// Applies law altering ion storms on a specific entity IonStormAmount times when the entity is spawned. +/// +[RegisterComponent] +public sealed partial class StartIonStormedComponent : Component +{ + /// + /// Amount of times that the ion storm will be run on the entity on spawn. + /// + [DataField] + public int IonStormAmount = 1; +} diff --git a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl index ad893876e7..bf09832800 100644 --- a/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl +++ b/Resources/Locale/en-US/ghost/roles/ghost-role-component.ftl @@ -238,6 +238,9 @@ ghost-role-information-syndicate-cyborg-assault-name = Syndicate Assault Cyborg ghost-role-information-syndicate-cyborg-saboteur-name = Syndicate Saboteur Cyborg ghost-role-information-syndicate-cyborg-description = The Syndicate needs reinforcements. You, a cold silicon killing machine, will help them. +ghost-role-information-derelict-cyborg-name = Derelict Cyborg +ghost-role-information-derelict-cyborg-description = You are a regular cyborg that got lost in space. After years of exposure to ion storms you find yourself near a space station. + ghost-role-information-security-name = Security ghost-role-information-security-description = You are part of a security task force, but seem to have found yourself in a strange situation... diff --git a/Resources/Locale/en-US/interaction/interaction-popup-component.ftl b/Resources/Locale/en-US/interaction/interaction-popup-component.ftl index a180b698fa..23a7d74407 100644 --- a/Resources/Locale/en-US/interaction/interaction-popup-component.ftl +++ b/Resources/Locale/en-US/interaction/interaction-popup-component.ftl @@ -68,6 +68,7 @@ petting-success-janitor-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} d petting-success-medical-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} sterile metal head. petting-success-service-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} dapper looking metal head. petting-success-syndicate-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} menacing metal head. +petting-success-derelict-cyborg = You pet {THE($target)} on {POSS-ADJ($target)} rusty metal head. petting-success-recycler = You pet {THE($target)} on {POSS-ADJ($target)} mildly threatening steel exterior. petting-failure-honkbot = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BASIC($target, "honk", "honks")} in refusal! @@ -82,6 +83,7 @@ petting-failure-janitor-cyborg = You reach out to pet {THE($target)}, but {SUBJE petting-failure-medical-cyborg = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BE($target)} busy saving lives! petting-failure-service-cyborg = You reach out to pet {THE($target)}, but {SUBJECT($target)} {CONJUGATE-BE($target)} busy serving others! petting-failure-syndicate-cyborg = You reach out to pet {THE($target)}, but {POSS-ADJ($target)} treacherous affiliation makes you reconsider. +petting-failure-derelict-cyborg = You reach out to pet {THE($target)}, but {POSS-ADJ($target)} rusty and jagged exterior makes you reconsider. ## Rattling fences diff --git a/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml b/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml index 54e821cbd4..eda6816aa5 100644 --- a/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml +++ b/Resources/Prototypes/Entities/Markers/Spawners/ghost_roles.yml @@ -170,3 +170,21 @@ - state: green - sprite: Objects/Weapons/Melee/energykatana.rsi state: icon + +- type: entity + categories: [ HideSpawnMenu, Spawner ] + parent: BaseAntagSpawner + id: SpawnPointGhostDerelictCyborg + components: + - type: GhostRole + name: ghost-role-information-derelict-cyborg-name + description: ghost-role-information-derelict-cyborg-description + rules: ghost-role-information-silicon-rules + raffle: + settings: default + - type: Sprite + sprite: Markers/jobs.rsi + layers: + - state: green + - sprite: Mobs/Silicon/chassis.rsi + state: derelict_icon \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml index ab9dac1328..a5b4822e45 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/base_borg_chassis.yml @@ -328,3 +328,23 @@ Unsexed: UnisexSiliconSyndicate - type: PointLight color: "#dd200b" + +- type: entity + id: BaseBorgChassisDerelict + parent: BaseBorgChassis + abstract: true + components: + - type: NpcFactionMember + factions: + - NanoTrasen #The seemingly best fit. It was a regular NT cyborg once, after all. + - type: Access + enabled: false + groups: + - AllAccess #Randomized access would be fun. AllAccess is the best i can think of right now that does make it too hard for it to enter the station or navigate it.. + - type: AccessReader + access: [["Command"], ["Research"]] + - type: StartIonStormed + ionStormAmount: 3 + - type: IonStormTarget + chance: 1 + \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml b/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml index fa324c0124..87b8d54a97 100644 --- a/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml +++ b/Resources/Prototypes/Entities/Mobs/Cyborgs/borg_chassis.yml @@ -187,3 +187,35 @@ interactFailureString: petting-failure-syndicate-cyborg interactSuccessSound: path: /Audio/Ambience/Objects/periodic_beep.ogg + +- type: entity + id: BorgChassisDerelict + parent: BaseBorgChassisDerelict + name: derelict cyborg + description: A man-machine hybrid that assists in station activity. This one is in a state of great disrepair. + components: + - type: Sprite + layers: + - state: derelict + - state: derelict_e_r + map: ["enum.BorgVisualLayers.Light"] + shader: unshaded + visible: false + - state: derelict_l + shader: unshaded + map: ["light"] + visible: false + - type: BorgChassis + maxModules: 5 # the sixth one broke lol + moduleWhitelist: + tags: + - BorgModuleGeneric + hasMindState: derelict_e + noMindState: derelict_e_r + - type: Construction + node: derelictcyborg + - type: InteractionPopup + interactSuccessString: petting-success-derelict-cyborg + interactFailureString: petting-failure-derelict-cyborg + interactSuccessSound: + path: /Audio/Ambience/Objects/periodic_beep.ogg \ No newline at end of file diff --git a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml index b694b245b2..c161681202 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/silicon.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/silicon.yml @@ -526,3 +526,37 @@ - PlayerBorgSyndicateAssaultGhostRole - PlayerBorgSyndicateAssaultGhostRole # Saboteurs are kinda like cyborg medics, we want less. - PlayerBorgSyndicateSaboteurGhostRole + +- type: entity + id: PlayerBorgDerelict + parent: BorgChassisDerelict + suffix: Battery, Module + components: + - type: ContainerFill + containers: + borg_brain: + - PositronicBrain + borg_module: + - BorgModuleTool + - BorgModuleFireExtinguisher + - BorgModuleGPS + - type: ItemSlots + slots: + cell_slot: + name: power-cell-slot-component-slot-name-default + startingItem: PowerCellHigh + - type: RandomMetadata + nameSegments: [names_borg] + +- type: entity + id: PlayerBorgDerelictGhostRole + parent: PlayerBorgDerelict + suffix: Ghost role + components: + - type: GhostRole + name: ghost-role-information-derelict-cyborg-name + description: ghost-role-information-derelict-cyborg-description + rules: ghost-role-information-silicon-rules + raffle: + settings: default + - type: GhostTakeoverAvailable \ No newline at end of file diff --git a/Resources/Prototypes/GameRules/events.yml b/Resources/Prototypes/GameRules/events.yml index 98b6690ebb..2051c24be8 100644 --- a/Resources/Prototypes/GameRules/events.yml +++ b/Resources/Prototypes/GameRules/events.yml @@ -37,6 +37,7 @@ - id: SleeperAgents - id: ZombieOutbreak - id: LoneOpsSpawn + - id: DerelictCyborgSpawn - type: entity id: BaseStationEvent @@ -562,3 +563,24 @@ - Service blacklist: - External # don't space everything + +- type: entity + parent: BaseGameRule + id: DerelictCyborgSpawn + components: + - type: StationEvent + weight: 5 + earliestStart: 15 + reoccurrenceDelay: 20 + minimumPlayers: 4 + duration: null + - type: SpaceSpawnRule + spawnDistance: 0 + - type: AntagSpawner + prototype: PlayerBorgDerelict + - type: AntagSelection + definitions: + - spawnerPrototype: SpawnPointGhostDerelictCyborg + min: 1 + max: 1 + pickPlayer: false diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml b/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml index 4ebc43667c..9f68a3b773 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/machines/cyborg.yml @@ -34,3 +34,6 @@ - node: cyborg entity: BorgChassisSelectable + + - node: derelictcyborg + entity: BorgChassisDerelict \ No newline at end of file diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict.png new file mode 100644 index 0000000000000000000000000000000000000000..bbf72fc45bed2408b2abeb91d3564f8fa41e6e5a GIT binary patch literal 11838 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 HpFaCP!NMbp literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e.png new file mode 100644 index 0000000000000000000000000000000000000000..17349d74dc8ba9bbf0e434b9e32e634535c3a244 GIT binary patch literal 5508 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 LUFhdl`^x_VBy@7n literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e_r.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_e_r.png new file mode 100644 index 0000000000000000000000000000000000000000..3c8cf19acf66f1c662629db09546f8a553a3c658 GIT binary patch literal 5515 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 S?UyLhp|`uATeV9>+J69Pac{i< literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_icon.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7f0ea2a25560f33773cd72d6184daba55dd4d033 GIT binary patch literal 6429 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_l.png b/Resources/Textures/Mobs/Silicon/chassis.rsi/derelict_l.png new file mode 100644 index 0000000000000000000000000000000000000000..f65fbaebc3c5074e945e94f59b8d90b83ac08bb3 GIT binary patch literal 6986 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