From: Errant <35878406+Errant-4@users.noreply.github.com> Date: Sun, 16 Mar 2025 22:11:31 +0000 (+0100) Subject: Mark all hostile mind roles as antag (#35832) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=29cbc4a1909a8c3653b496063003323420f72b00;p=space-station-14.git Mark all hostile mind roles as antag (#35832) * dummy antag prototypes * I'll deal with YOU later! * remove redundant soloantag definitions * doctor, we left the scalpel in the patient * minor cleanup --- diff --git a/Resources/Locale/en-US/prototypes/roles/antags.ftl b/Resources/Locale/en-US/prototypes/roles/antags.ftl index ada25a4a0a..a57d27e57f 100644 --- a/Resources/Locale/en-US/prototypes/roles/antags.ftl +++ b/Resources/Locale/en-US/prototypes/roles/antags.ftl @@ -1,4 +1,12 @@ -roles-antag-syndicate-agent-name = Syndicate agent +roles-antag-generic-solo-antagonist-name = Solo Antagonist + +roles-antag-generic-free-agent-name = Free Agent + +roles-antag-generic-team-antagonist-name = Team Antagonist + +roles-antag-generic-silicon-antagonist-name = Silicon Antagonist + +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 diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml index 06cd4debd3..3b56f53dce 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/animals.yml @@ -457,7 +457,7 @@ description: ghost-role-information-mothroach-description rules: ghost-role-information-freeagent-rules mindRoles: - - MindRoleGhostRoleFreeAgent + - MindRoleGhostRoleFreeAgentHarmless - type: Fixtures fixtures: fix1: @@ -1649,7 +1649,7 @@ description: ghost-role-information-mouse-description rules: ghost-role-information-freeagent-rules mindRoles: - - MindRoleGhostRoleFreeAgent + - MindRoleGhostRoleFreeAgentHarmless - type: GhostTakeoverAvailable - type: Speech speechSounds: Squeak diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/carp.yml b/Resources/Prototypes/Entities/Mobs/NPCs/carp.yml index 45a45e8995..dbceb9c694 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/carp.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/carp.yml @@ -171,7 +171,7 @@ description: ghost-role-information-sentient-carp-description rules: ghost-role-information-space-dragon-summoned-carp-rules mindRoles: - - MindRoleGhostRoleTeamAntagonist + - MindRoleGhostRoleTeamAntagonistFlock raffle: settings: short - type: GhostTakeoverAvailable diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml b/Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml index 9d193a52e6..280df955af 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/silicon.yml @@ -208,7 +208,7 @@ description: ghost-role-information-honkbot-description rules: ghost-role-information-freeagent-rules mindRoles: - - MindRoleGhostRoleFreeAgent + - MindRoleGhostRoleFreeAgentHarmless raffle: settings: default - type: GhostTakeoverAvailable @@ -242,7 +242,7 @@ description: ghost-role-information-jonkbot-description rules: ghost-role-information-freeagent-rules mindRoles: - - MindRoleGhostRoleFreeAgent + - MindRoleGhostRoleFreeAgentHarmless raffle: settings: default - type: InteractionPopup @@ -379,7 +379,7 @@ description: ghost-role-information-mimebot-description rules: ghost-role-information-freeagent-rules mindRoles: - - MindRoleGhostRoleFreeAgent + - MindRoleGhostRoleFreeAgentHarmless raffle: settings: default - type: GhostTakeoverAvailable diff --git a/Resources/Prototypes/Entities/Mobs/NPCs/space.yml b/Resources/Prototypes/Entities/Mobs/NPCs/space.yml index 7c549e484d..4ae6813963 100644 --- a/Resources/Prototypes/Entities/Mobs/NPCs/space.yml +++ b/Resources/Prototypes/Entities/Mobs/NPCs/space.yml @@ -390,7 +390,7 @@ description: ghost-role-information-snail-description rules: ghost-role-information-freeagent-rules mindRoles: - - MindRoleGhostRoleFreeAgent + - MindRoleGhostRoleFreeAgentHarmless - type: GhostTakeoverAvailable - type: Emoting - type: Sprite @@ -516,6 +516,9 @@ id: MobSnailInstantDeath suffix: Smite components: + - type: GhostRole + mindRoles: + - MindRoleGhostRoleFreeAgent - type: MobStateActions actions: Alive: diff --git a/Resources/Prototypes/Entities/Mobs/Player/dragon.yml b/Resources/Prototypes/Entities/Mobs/Player/dragon.yml index 65137825fc..91d1b95b6e 100644 --- a/Resources/Prototypes/Entities/Mobs/Player/dragon.yml +++ b/Resources/Prototypes/Entities/Mobs/Player/dragon.yml @@ -161,6 +161,9 @@ components: - type: Dragon spawnRiftAction: ActionSpawnRift + - type: GhostRole + mindRoles: + - MindRoleDragon - type: ActionGun action: ActionDragonsBreath gunProto: DragonsBreathGun diff --git a/Resources/Prototypes/Roles/Antags/generic.yml b/Resources/Prototypes/Roles/Antags/generic.yml new file mode 100644 index 0000000000..6a1cd12aea --- /dev/null +++ b/Resources/Prototypes/Roles/Antags/generic.yml @@ -0,0 +1,23 @@ +- type: antag + id: GenericAntagonist + name: roles-antag-generic-solo-antagonist-name + antagonist: true + objective: never-shown + +- type: antag + id: GenericTeamAntagonist + name: roles-antag-generic-team-antagonist-name + antagonist: true + objective: never-shown + +- type: antag + id: GenericFreeAgent + name: roles-antag-generic-free-agent-name + antagonist: true + objective: never-shown + +- type: antag + id: GenericSiliconAntagonist + name: roles-antag-generic-silicon-antagonist-name + antagonist: true + objective: never-shown diff --git a/Resources/Prototypes/Roles/MindRoles/mind_roles.yml b/Resources/Prototypes/Roles/MindRoles/mind_roles.yml index a690ab0c0d..31e8a98e7a 100644 --- a/Resources/Prototypes/Roles/MindRoles/mind_roles.yml +++ b/Resources/Prototypes/Roles/MindRoles/mind_roles.yml @@ -13,6 +13,8 @@ components: - type: MindRole antag: true + antagPrototype: GenericAntagonist + roleType: SoloAntagonist #Observer - type: entity @@ -31,68 +33,74 @@ - type: GhostRoleMarkerRole - type: entity - parent: BaseMindRole + parent: MindRoleGhostRoleNeutral id: MindRoleGhostRoleFamiliar name: Ghost Role (Familiar) components: - type: MindRole roleType: Familiar - - type: GhostRoleMarkerRole - type: entity - parent: BaseMindRole + parent: [ BaseMindRoleAntag, MindRoleGhostRoleNeutral ] id: MindRoleGhostRoleFreeAgent name: Ghost Role (Free Agent) components: - type: MindRole roleType: FreeAgent - - type: GhostRoleMarkerRole + antagPrototype: GenericFreeAgent - type: entity - parent: BaseMindRole + parent: MindRoleGhostRoleNeutral + id: MindRoleGhostRoleFreeAgentHarmless + name: Ghost Role (Free Agent) + components: + - type: MindRole + roleType: FreeAgent + +- type: entity + parent: MindRoleGhostRoleNeutral id: MindRoleGhostRoleSilicon name: Ghost Role (Silicon) components: - type: MindRole roleType: Silicon - - type: GhostRoleMarkerRole - type: entity - parent: BaseMindRole + parent: [ BaseMindRoleAntag, MindRoleGhostRoleNeutral ] id: MindRoleGhostRoleSiliconAntagonist name: Ghost Role (Silicon Antagonist) components: - type: MindRole roleType: SiliconAntagonist - - type: GhostRoleMarkerRole + antagPrototype: GenericSiliconAntagonist - type: entity - parent: BaseMindRole + parent: [ BaseMindRoleAntag, MindRoleGhostRoleNeutral ] id: MindRoleGhostRoleSoloAntagonist name: Ghost Role (Solo Antagonist) - components: - - type: MindRole - roleType: SoloAntagonist - - type: GhostRoleMarkerRole - type: entity - parent: BaseMindRole + parent: [ BaseMindRoleAntag, MindRoleGhostRoleNeutral ] id: MindRoleGhostRoleTeamAntagonist name: Ghost Role (Team Antagonist) components: - type: MindRole roleType: TeamAntagonist - - type: GhostRoleMarkerRole - + antagPrototype: GenericTeamAntagonist +# This should be used (or inherited) for team antags that are summoned or converted in large quantities, and are "secondary" to other antags +# TODO: sort weight +- type: entity + parent: MindRoleGhostRoleTeamAntagonist + id: MindRoleGhostRoleTeamAntagonistFlock + name: Ghost Role (Team Antagonist) # The Job MindRole holds the mob's Job prototype - type: entity parent: BaseMindRole id: MindRoleJob name: Job Role -# description: - # MindRoleComponent.JobPrototype is filled by SharedJobSystem + # JobPrototype is filled by SharedJobSystem # Silicon - type: entity @@ -120,7 +128,6 @@ parent: BaseMindRoleAntag id: MindRoleDragon name: Dragon Role -# description: components: - type: MindRole antagPrototype: Dragon @@ -135,11 +142,9 @@ parent: BaseMindRoleAntag id: MindRoleNinja name: Space Ninja Role -# description: mind-role-ninja-description components: - type: MindRole antagPrototype: SpaceNinja - roleType: SoloAntagonist exclusiveAntag: true - type: NinjaRole @@ -159,7 +164,6 @@ parent: BaseMindRoleAntag id: MindRoleNukeops name: Nukeops Operative Role -# description: mind-role-nukeops-description components: - type: MindRole roleType: TeamAntagonist @@ -171,7 +175,6 @@ parent: MindRoleNukeops id: MindRoleNukeopsMedic name: Nukeops Medic Role -# description: mind-role-nukeops-medic-description components: - type: MindRole antagPrototype: NukeopsMedic @@ -180,7 +183,6 @@ parent: MindRoleNukeops id: MindRoleNukeopsCommander name: Nukeops Commander Role -# description: mind-role-nukeops-commander-description components: - type: MindRole antagPrototype: NukeopsCommander @@ -190,7 +192,6 @@ parent: BaseMindRoleAntag id: MindRoleHeadRevolutionary name: Head Revolutionary Role -# description: mind-role-head-revolutionary-description components: - type: MindRole antagPrototype: HeadRev @@ -202,7 +203,6 @@ parent: MindRoleHeadRevolutionary id: MindRoleRevolutionary name: Revolutionary Role -# description: mind-role-revolutionary-description components: - type: MindRole antagPrototype: Rev @@ -223,11 +223,9 @@ parent: BaseMindRoleAntag id: MindRoleThief name: Thief Role -# description: mind-role-thief-description components: - type: MindRole antagPrototype: Thief - roleType: SoloAntagonist - type: ThiefRole # Traitors @@ -235,19 +233,16 @@ parent: BaseMindRoleAntag id: MindRoleTraitor name: Traitor Role -# description: mind-role-traitor-description components: - type: MindRole antagPrototype: Traitor exclusiveAntag: true - roleType: SoloAntagonist - type: TraitorRole - type: entity parent: MindRoleTraitor id: MindRoleTraitorSleeper name: Sleeper Agent Role -# description: mind-role-traitor-sleeper-description components: - type: MindRole antagPrototype: TraitorSleeper @@ -256,22 +251,20 @@ parent: MindRoleTraitor id: MindRoleTraitorReinforcement name: Syndicate Reinforcement Role - # description: mind-role-syndicate-reinforcement-description components: - - type: MindRole - roleType: TeamAntagonist + - type: MindRole + roleType: TeamAntagonist + antagPrototype: GenericTeamAntagonist # Wizards - type: entity parent: BaseMindRoleAntag id: MindRoleWizard name: Wizard Role - # description: these are all commented out components: - type: MindRole antagPrototype: Wizard exclusiveAntag: true - roleType: SoloAntagonist - type: WizardRole # Zombie Squad @@ -279,7 +272,6 @@ parent: BaseMindRoleAntag id: MindRoleInitialInfected name: Initial Infected Role -# description: mind-role-initial-infected-description components: - type: MindRole antagPrototype: InitialInfected @@ -288,10 +280,9 @@ - type: InitialInfectedRole - type: entity - parent: BaseMindRoleAntag + parent: MindRoleGhostRoleTeamAntagonistFlock id: MindRoleZombie name: Zombie Role -# description: mind-role-zombie-description components: - type: MindRole antagPrototype: Zombie