diff --git a/Resources/Locale/en-US/_DV/game-ticking/game-presets/preset-nukeops.ftl b/Resources/Locale/en-US/_DV/game-ticking/game-presets/preset-nukeops.ftl new file mode 100644 index 0000000000..4ab5e0bcc4 --- /dev/null +++ b/Resources/Locale/en-US/_DV/game-ticking/game-presets/preset-nukeops.ftl @@ -0,0 +1 @@ +nukeops-role-warden = Warden diff --git a/Resources/Locale/en-US/_DV/ghost/roles/hostage-warden.ftl b/Resources/Locale/en-US/_DV/ghost/roles/hostage-warden.ftl new file mode 100644 index 0000000000..bbc4e1ba42 --- /dev/null +++ b/Resources/Locale/en-US/_DV/ghost/roles/hostage-warden.ftl @@ -0,0 +1,3 @@ +ghost-role-information-warden-nukeop-reinforcement-name = Hostage Warden +ghost-role-information-warden-nukeop-reinforcement-description = The nuclear operatives need a hostage guard. You, a hostage specialist, will help them. +ghost-role-information-warden-nukeop-reinforcement-rules = You are a [color=red][bold]Team Antagonist[/bold][/color] with the nuclear operatives who summoned you, your job is to keep the hostages in check, not to obtain them. diff --git a/Resources/Prototypes/_DV/Catalog/Fills/Items/Belts/belts.yml b/Resources/Prototypes/_DV/Catalog/Fills/Items/Belts/belts.yml index 96e2cd9a72..52ff931677 100644 --- a/Resources/Prototypes/_DV/Catalog/Fills/Items/Belts/belts.yml +++ b/Resources/Prototypes/_DV/Catalog/Fills/Items/Belts/belts.yml @@ -69,3 +69,14 @@ - id: Bonesetter - id: BoneGel - id: SawElectric + +- type: entityTable + id: HostageWardenBelt + table: !type:AllSelector + children: + - id: Stunbaton + - id: GrenadeFlashBang + - id: Handcuffs + - id: Handcuffs + - id: MagazinePistolRubber + - id: MagazinePistolRubber diff --git a/Resources/Prototypes/_DV/Entities/Clothing/Belt/belts.yml b/Resources/Prototypes/_DV/Entities/Clothing/Belt/belts.yml index d4b3aabfac..eabc567ac5 100644 --- a/Resources/Prototypes/_DV/Entities/Clothing/Belt/belts.yml +++ b/Resources/Prototypes/_DV/Entities/Clothing/Belt/belts.yml @@ -117,3 +117,15 @@ sprite: _DV/Clothing/Belt/syndbelt_overlay.rsi - type: Clothing sprite: _DV/Clothing/Belt/syndbelt_overlay.rsi + +- type: entity + parent: ClothingBeltMilitaryWebbing + id: ClothingBeltMilitaryWebbingHostageWarden + name: warden chest rig + description: A set of tactical webbing worn by the Gorlex Marauder hostage specialist team. + suffix: Filled + components: + - type: EntityTableContainerFill + containers: + storagebase: !type:NestedSelector + tableId: HostageWardenBelt diff --git a/Resources/Prototypes/_DV/Entities/Mobs/Player/human.yml b/Resources/Prototypes/_DV/Entities/Mobs/Player/human.yml new file mode 100644 index 0000000000..43b21bfffd --- /dev/null +++ b/Resources/Prototypes/_DV/Entities/Mobs/Player/human.yml @@ -0,0 +1,11 @@ +- type: entity + parent: MobHumanSyndicateAgentNukeops + id: MobHumanSyndicateHostageWarden + suffix: Human, Warden, HostageOps + components: + - type: RandomMetadata + nameSegments: + - nukeops-role-warden + - SyndicateNamesNormal + - type: Loadout + prototypes: [SyndicateOperativeHostageWardenGear] diff --git a/Resources/Prototypes/_DV/Entities/Objects/Devices/Syndicate_Gadgets/reinforcement_teleporter.yml b/Resources/Prototypes/_DV/Entities/Objects/Devices/Syndicate_Gadgets/reinforcement_teleporter.yml index 61c14830b8..c5e41f53d7 100644 --- a/Resources/Prototypes/_DV/Entities/Objects/Devices/Syndicate_Gadgets/reinforcement_teleporter.yml +++ b/Resources/Prototypes/_DV/Entities/Objects/Devices/Syndicate_Gadgets/reinforcement_teleporter.yml @@ -18,3 +18,27 @@ sound: /Audio/Animals/mouse_squeak.ogg - type: UseDelay delay: 300 + +- type: entity + parent: ReinforcementRadio + id: ReinforcementRadioSyndicateHostageWarden + name: hostage warden radio + description: Call in a guard to keep those pesky prisoners at bay. + suffix: Human, HostageOps + components: + - type: GhostRole + requirements: + - !type:OverallPlaytimeRequirement + time: 86400 # 24 hours so you aren't a new player. + - !type:DepartmentTimeRequirement + department: Security + time: 21600 # 6 hours so you know how to use your kit. + name: ghost-role-information-warden-nukeop-reinforcement-name + description: ghost-role-information-warden-nukeop-reinforcement-description + rules: ghost-role-information-warden-nukeop-reinforcement-rules + mindRoles: + - MindRoleGhostRoleTeamAntagonist + raffle: + settings: default + - type: GhostRoleMobSpawner + prototype: MobHumanSyndicateHostageWarden diff --git a/Resources/Prototypes/_DV/Roles/Antags/nukeops.yml b/Resources/Prototypes/_DV/Roles/Antags/nukeops.yml new file mode 100644 index 0000000000..6a03bfafa4 --- /dev/null +++ b/Resources/Prototypes/_DV/Roles/Antags/nukeops.yml @@ -0,0 +1,20 @@ +- type: startingGear + id: SyndicateOperativeHostageWardenGear + equipment: + head: ClothingHeadHatSyndieMAA + jumpsuit: ClothingUniformJumpsuitOperative + back: ClothingBackpackDuffelSyndicate + mask: ClothingMaskGasSyndicate + eyes: ClothingEyesHudSyndicate + ears: ClothingHeadsetAltSyndicate + gloves: ClothingHandsGlovesCombat + outerClothing: ClothingOuterVestWeb + shoes: ClothingShoesBootsCombatFilled + id: SyndiPDA + pocket1: WeaponDisabler + pocket2: WeaponPistolViper + belt: ClothingBeltMilitaryWebbingHostageWarden + storage: + back: + - DeathAcidifierImplanter + - Kanabou