From 44923b15c25449f1beb81483f840b6c2c994b3a6 Mon Sep 17 00:00:00 2001 From: Vladisvell <73733747+Vladisvell@users.noreply.github.com> Date: Sat, 9 Nov 2024 23:29:47 +0500 Subject: [PATCH] bugfix: Setups Malfunctioning AI as a special role to prevent double antaging (#6151) --- code/__DEFINES/gamemode.dm | 1 + code/game/gamemodes/antag_paradise/antag_paradise.dm | 2 +- code/game/gamemodes/traitor/traitor.dm | 1 + code/modules/antagonists/malf_ai/malf_ai_datum.dm | 2 +- code/modules/mob/mob_helpers.dm | 3 ++- 5 files changed, 6 insertions(+), 3 deletions(-) diff --git a/code/__DEFINES/gamemode.dm b/code/__DEFINES/gamemode.dm index 2f2f64db4f5..33958d237c2 100644 --- a/code/__DEFINES/gamemode.dm +++ b/code/__DEFINES/gamemode.dm @@ -70,3 +70,4 @@ #define SPECIAL_ROLE_THIEF "Thief" #define SPECIAL_ROLE_SPACE_DRAGON "Space Dragon" #define SPECIAL_ROLE_EVENTMISC "Event Role" +#define SPECIAL_ROLE_MALFAI "Malfunctioning AI" diff --git a/code/game/gamemodes/antag_paradise/antag_paradise.dm b/code/game/gamemodes/antag_paradise/antag_paradise.dm index 7ac097ddd9c..fd86374286d 100644 --- a/code/game/gamemodes/antag_paradise/antag_paradise.dm +++ b/code/game/gamemodes/antag_paradise/antag_paradise.dm @@ -107,7 +107,7 @@ if(special_antag) special_antag.restricted_roles = (restricted_jobs|protected_jobs|protected_jobs_AI) special_antag.restricted_roles -= JOB_TITLE_AI - special_antag.special_role = SPECIAL_ROLE_TRAITOR + special_antag.special_role = SPECIAL_ROLE_MALFAI SSjobs.new_malf = special_antag.current pre_antags[special_antag] = ROLE_MALF_AI antags_amount-- diff --git a/code/game/gamemodes/traitor/traitor.dm b/code/game/gamemodes/traitor/traitor.dm index bdefc1983a3..26a3307edad 100644 --- a/code/game/gamemodes/traitor/traitor.dm +++ b/code/game/gamemodes/traitor/traitor.dm @@ -77,6 +77,7 @@ pre_malf_AI = traitor pre_malf_AI.restricted_roles = (restricted_jobs|protected_jobs|protected_jobs_AI) // All jobs are restricted for malf AI despite the config. pre_malf_AI.restricted_roles -= JOB_TITLE_AI + traitor.special_role = SPECIAL_ROLE_MALFAI SSjobs.new_malf = traitor.current else pre_traitors += traitor diff --git a/code/modules/antagonists/malf_ai/malf_ai_datum.dm b/code/modules/antagonists/malf_ai/malf_ai_datum.dm index 80e25b3bd84..f16ed32201f 100644 --- a/code/modules/antagonists/malf_ai/malf_ai_datum.dm +++ b/code/modules/antagonists/malf_ai/malf_ai_datum.dm @@ -2,7 +2,7 @@ name = "Malfunctioning AI" roundend_category = "traitors" job_rank = ROLE_MALF_AI - special_role = SPECIAL_ROLE_TRAITOR + special_role = SPECIAL_ROLE_MALFAI antag_hud_name = "hudsyndicate" antag_hud_type = ANTAG_HUD_TRAITOR /// Should the AI get codewords? diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 42713971a0a..075c44d9ffd 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -58,7 +58,8 @@ SPECIAL_ROLE_TRAITOR, SPECIAL_ROLE_VAMPIRE, SPECIAL_ROLE_VAMPIRE_THRALL, - SPECIAL_ROLE_THIEF + SPECIAL_ROLE_THIEF, + SPECIAL_ROLE_MALFAI ) if(special_role in crew_roles) return 0