From 584d6a3e908568689a73ce4e8d3e645c8f9553a5 Mon Sep 17 00:00:00 2001 From: Drsmail Date: Wed, 18 Dec 2024 21:26:24 +0300 Subject: [PATCH 1/8] Adds mindflayer to antag mix --- config/example/config.toml | 47 ++++++++++++++++++ .../antag_mix/scenarios/minor_scenarios.dm | 49 +++++++++++++++++++ 2 files changed, 96 insertions(+) diff --git a/config/example/config.toml b/config/example/config.toml index 0f3cdf9abd87..9a06e1741da4 100644 --- a/config/example/config.toml +++ b/config/example/config.toml @@ -1149,6 +1149,53 @@ tag = "blood_brothers" "Solar Federation General", ] +[[antag_mix_gamemode_configuration.antag_scenarios_configuration]] +tag = "mindflayer" + +[antag_mix_gamemode_configuration.antag_scenarios_configuration.params] +"required_players" = 1 +"cost" = 1 +"weight" = 1 +"antag_cap" = 1 +"candidates_required" = 1 +"restricted_roles" = ["Cyborg", "AI", "Chaplain"] +"protected_roles" = [ + "Security Cadet", + "Security Officer", + "Warden", + "Detective", + "Head of Security", + "Captain", + "Blueshield", + "Nanotrasen Representative", + "Magistrate", + "Internal Affairs Agent", + "Nanotrasen Navy Officer", + "Special Operations Officer", + "Solar Federation General", +] +"restricted_species" = [ + "Abductor", + "Diona", + "Drask", + "Golem", + "Grey", + "Human", + "Kidan", + "Machine", + "Monkey", + "Moth", + "Plasmaman", + "Shadow", + "Skeleton_species", + "Skrell", + "Slimepeople", + "Tajaran", + "Unathi", + "Vox", + "Vulpkanin" +] + [[antag_mix_gamemode_configuration.antag_scenarios_configuration]] tag = "vox_raiders" diff --git a/modular_ss220/antagonists/code/antag_mix/scenarios/minor_scenarios.dm b/modular_ss220/antagonists/code/antag_mix/scenarios/minor_scenarios.dm index f0f2c7ae1aad..e82e82b3b334 100644 --- a/modular_ss220/antagonists/code/antag_mix/scenarios/minor_scenarios.dm +++ b/modular_ss220/antagonists/code/antag_mix/scenarios/minor_scenarios.dm @@ -87,6 +87,55 @@ "Solar Federation General") restricted_species = list("Machine") +/datum/antag_scenario/Mindflayer + name = "Mindflayer" + config_tag = "mindflayer" + abstract = FALSE + antag_role = ROLE_MIND_FLAYER + antag_special_role = SPECIAL_ROLE_MIND_FLAYER + antag_datum = /datum/antagonist/mindflayer + required_players = 10 + cost = 10 + weight = 1 + antag_cap = 1 + candidates_required = 1 + restricted_roles = list("Cyborg", "AI", "Chaplain") + protected_roles = list( + "Security Cadet", + "Security Officer", + "Warden", + "Detective", + "Head of Security", + "Captain", + "Blueshield", + "Nanotrasen Representative", + "Magistrate", + "Internal Affairs Agent", + "Nanotrasen Navy Officer", + "Special Operations Officer", + "Syndicate Officer", + "Solar Federation General") + restricted_species = list( + "Abductor", + "Diona", + "Drask", + "Golem", + "Grey", + "Human", + "Kidan", + "Machine", + "Monkey", + "Moth", + "Plasmaman", + "Shadow", + "Skeleton_species", + "Skrell", + "Slimepeople", + "Tajaran", + "Unathi", + "Vox", + "Vulpkanin") + /datum/antag_scenario/team/blood_brothers name = "Blood Brothers" config_tag = "blood_brothers" From 33c94811bb2fdee7dea8c9bb4246d15aaec34a44 Mon Sep 17 00:00:00 2001 From: Drsmail Date: Wed, 18 Dec 2024 21:35:24 +0300 Subject: [PATCH 2/8] snake_case_fix --- .../antagonists/code/antag_mix/scenarios/minor_scenarios.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_ss220/antagonists/code/antag_mix/scenarios/minor_scenarios.dm b/modular_ss220/antagonists/code/antag_mix/scenarios/minor_scenarios.dm index e82e82b3b334..5997270e2d2e 100644 --- a/modular_ss220/antagonists/code/antag_mix/scenarios/minor_scenarios.dm +++ b/modular_ss220/antagonists/code/antag_mix/scenarios/minor_scenarios.dm @@ -87,7 +87,7 @@ "Solar Federation General") restricted_species = list("Machine") -/datum/antag_scenario/Mindflayer +/datum/antag_scenario/mindflayer name = "Mindflayer" config_tag = "mindflayer" abstract = FALSE From 637e9e59b3a65dbef1e7cb95499c340e2f7d8bd5 Mon Sep 17 00:00:00 2001 From: Drsmail Date: Wed, 18 Dec 2024 23:44:50 +0300 Subject: [PATCH 3/8] proper config settings --- config/example/config.toml | 1 + .../antagonists/code/antag_mix/scenarios/minor_scenarios.dm | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/config/example/config.toml b/config/example/config.toml index 9a06e1741da4..5752dcf436f6 100644 --- a/config/example/config.toml +++ b/config/example/config.toml @@ -1174,6 +1174,7 @@ tag = "mindflayer" "Special Operations Officer", "Solar Federation General", ] +possible_species = ["Machine"] "restricted_species" = [ "Abductor", "Diona", diff --git a/modular_ss220/antagonists/code/antag_mix/scenarios/minor_scenarios.dm b/modular_ss220/antagonists/code/antag_mix/scenarios/minor_scenarios.dm index 5997270e2d2e..fc831b670b20 100644 --- a/modular_ss220/antagonists/code/antag_mix/scenarios/minor_scenarios.dm +++ b/modular_ss220/antagonists/code/antag_mix/scenarios/minor_scenarios.dm @@ -94,7 +94,7 @@ antag_role = ROLE_MIND_FLAYER antag_special_role = SPECIAL_ROLE_MIND_FLAYER antag_datum = /datum/antagonist/mindflayer - required_players = 10 + required_players = 1 cost = 10 weight = 1 antag_cap = 1 @@ -115,6 +115,7 @@ "Special Operations Officer", "Syndicate Officer", "Solar Federation General") + possible_species = list("Machine") restricted_species = list( "Abductor", "Diona", From 4949f479ddf937342c12c632744324b1f3c209b1 Mon Sep 17 00:00:00 2001 From: Drsmail Date: Thu, 19 Dec 2024 00:49:14 +0300 Subject: [PATCH 4/8] Updated proper config --- config/example/config.toml | 21 ------------------- .../antag_mix/scenarios/minor_scenarios.dm | 21 +------------------ 2 files changed, 1 insertion(+), 41 deletions(-) diff --git a/config/example/config.toml b/config/example/config.toml index 5752dcf436f6..d344a885a330 100644 --- a/config/example/config.toml +++ b/config/example/config.toml @@ -1175,27 +1175,6 @@ tag = "mindflayer" "Solar Federation General", ] possible_species = ["Machine"] -"restricted_species" = [ - "Abductor", - "Diona", - "Drask", - "Golem", - "Grey", - "Human", - "Kidan", - "Machine", - "Monkey", - "Moth", - "Plasmaman", - "Shadow", - "Skeleton_species", - "Skrell", - "Slimepeople", - "Tajaran", - "Unathi", - "Vox", - "Vulpkanin" -] [[antag_mix_gamemode_configuration.antag_scenarios_configuration]] tag = "vox_raiders" diff --git a/modular_ss220/antagonists/code/antag_mix/scenarios/minor_scenarios.dm b/modular_ss220/antagonists/code/antag_mix/scenarios/minor_scenarios.dm index fc831b670b20..43b7930567bd 100644 --- a/modular_ss220/antagonists/code/antag_mix/scenarios/minor_scenarios.dm +++ b/modular_ss220/antagonists/code/antag_mix/scenarios/minor_scenarios.dm @@ -116,26 +116,7 @@ "Syndicate Officer", "Solar Federation General") possible_species = list("Machine") - restricted_species = list( - "Abductor", - "Diona", - "Drask", - "Golem", - "Grey", - "Human", - "Kidan", - "Machine", - "Monkey", - "Moth", - "Plasmaman", - "Shadow", - "Skeleton_species", - "Skrell", - "Slimepeople", - "Tajaran", - "Unathi", - "Vox", - "Vulpkanin") + /datum/antag_scenario/team/blood_brothers name = "Blood Brothers" From ebda1985040b8696793f271a0903e030030b5079 Mon Sep 17 00:00:00 2001 From: Drsmail Date: Thu, 19 Dec 2024 03:55:15 +0300 Subject: [PATCH 5/8] =?UTF-8?q?=D0=A3=D0=B1=D1=80=D0=B0=D0=BB=20=D1=81?= =?UTF-8?q?=D0=B2=D0=B5=D1=82=D0=BE=D1=88=D1=83=20=D0=B8=D0=B7=20=D1=87?= =?UTF-8?q?=D1=91=D1=80=D0=BD=D0=BE=D0=B3=D0=BE=20=D1=81=D0=BF=D0=B8=D1=81?= =?UTF-8?q?=D0=BA=D0=B0=20=D1=80=D0=BE=D0=BB=D0=B5=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/example/config.toml | 2 +- .../antagonists/code/antag_mix/scenarios/minor_scenarios.dm | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/config/example/config.toml b/config/example/config.toml index d344a885a330..23f693da64a4 100644 --- a/config/example/config.toml +++ b/config/example/config.toml @@ -1158,7 +1158,7 @@ tag = "mindflayer" "weight" = 1 "antag_cap" = 1 "candidates_required" = 1 -"restricted_roles" = ["Cyborg", "AI", "Chaplain"] +"restricted_roles" = ["Cyborg", "AI"] "protected_roles" = [ "Security Cadet", "Security Officer", diff --git a/modular_ss220/antagonists/code/antag_mix/scenarios/minor_scenarios.dm b/modular_ss220/antagonists/code/antag_mix/scenarios/minor_scenarios.dm index 43b7930567bd..408c3f390a1a 100644 --- a/modular_ss220/antagonists/code/antag_mix/scenarios/minor_scenarios.dm +++ b/modular_ss220/antagonists/code/antag_mix/scenarios/minor_scenarios.dm @@ -99,7 +99,7 @@ weight = 1 antag_cap = 1 candidates_required = 1 - restricted_roles = list("Cyborg", "AI", "Chaplain") + restricted_roles = list("Cyborg", "AI") protected_roles = list( "Security Cadet", "Security Officer", @@ -117,7 +117,6 @@ "Solar Federation General") possible_species = list("Machine") - /datum/antag_scenario/team/blood_brothers name = "Blood Brothers" config_tag = "blood_brothers" From 8d5db07e66caa303c46b42dd713babedf4c6633a Mon Sep 17 00:00:00 2001 From: Drsmail Date: Thu, 19 Dec 2024 22:27:59 +0300 Subject: [PATCH 6/8] No more human mind Flayers --- config/example/config.toml | 24 ++++++++++++++++++- .../antag_mix/scenarios/minor_scenarios.dm | 21 ++++++++++++++++ 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/config/example/config.toml b/config/example/config.toml index 23f693da64a4..7ee11bfad8d2 100644 --- a/config/example/config.toml +++ b/config/example/config.toml @@ -1174,7 +1174,29 @@ tag = "mindflayer" "Special Operations Officer", "Solar Federation General", ] -possible_species = ["Machine"] +"possible_species" = ["Machine"] + +"restricted_species" = [ + "Abductor", + "Ancient Skeleton", + "Diona", + "Drask", + "Golem", + "Grey", + "Human", + "Kidan", + "Monkey, + "Nian", + "Plasmaman, + "Shadow", + "Skrell", + "Slime People", + "Tajaran", + "Unathi", + "Vox", + "Vulpkanin", + "Nucleation", +] [[antag_mix_gamemode_configuration.antag_scenarios_configuration]] tag = "vox_raiders" diff --git a/modular_ss220/antagonists/code/antag_mix/scenarios/minor_scenarios.dm b/modular_ss220/antagonists/code/antag_mix/scenarios/minor_scenarios.dm index 408c3f390a1a..e56c56c2f0dd 100644 --- a/modular_ss220/antagonists/code/antag_mix/scenarios/minor_scenarios.dm +++ b/modular_ss220/antagonists/code/antag_mix/scenarios/minor_scenarios.dm @@ -117,6 +117,27 @@ "Solar Federation General") possible_species = list("Machine") + restricted_species = list( + "Abductor", + "Ancient Skeleton", + "Diona", + "Drask", + "Golem", + "Grey", + "Human", + "Kidan", + "Monkey", + "Nian", + "Plasmaman", + "Shadow", + "Skrell", + "Slime People", + "Tajaran", + "Unathi", + "Vox", + "Vulpkanin", + "Nucleation") + /datum/antag_scenario/team/blood_brothers name = "Blood Brothers" config_tag = "blood_brothers" From f8b7db7e0e0a1b7254a373f470c448b8b22ac805 Mon Sep 17 00:00:00 2001 From: Drsmail Date: Thu, 19 Dec 2024 22:49:58 +0300 Subject: [PATCH 7/8] Fix Moth --- config/example/config.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/example/config.toml b/config/example/config.toml index 7ee11bfad8d2..28d008d88b8e 100644 --- a/config/example/config.toml +++ b/config/example/config.toml @@ -1185,9 +1185,9 @@ tag = "mindflayer" "Grey", "Human", "Kidan", - "Monkey, - "Nian", - "Plasmaman, + "Monkey", + "Moth", + "Plasmaman", "Shadow", "Skrell", "Slime People", From 875825501c4be2dcfd777f392645b4129ed05add Mon Sep 17 00:00:00 2001 From: Drsmail Date: Tue, 24 Dec 2024 01:15:52 +0300 Subject: [PATCH 8/8] Added blacklist for antag mix --- config/example/config.toml | 24 +------------------ .../antag_mix/scenarios/antag_scenario.dm | 9 ++++++- .../antag_mix/scenarios/minor_scenarios.dm | 22 +---------------- 3 files changed, 10 insertions(+), 45 deletions(-) diff --git a/config/example/config.toml b/config/example/config.toml index 28d008d88b8e..838bc4243adc 100644 --- a/config/example/config.toml +++ b/config/example/config.toml @@ -1174,29 +1174,7 @@ tag = "mindflayer" "Special Operations Officer", "Solar Federation General", ] -"possible_species" = ["Machine"] - -"restricted_species" = [ - "Abductor", - "Ancient Skeleton", - "Diona", - "Drask", - "Golem", - "Grey", - "Human", - "Kidan", - "Monkey", - "Moth", - "Plasmaman", - "Shadow", - "Skrell", - "Slime People", - "Tajaran", - "Unathi", - "Vox", - "Vulpkanin", - "Nucleation", -] +"allowed_species" = ["Machine"] [[antag_mix_gamemode_configuration.antag_scenarios_configuration]] tag = "vox_raiders" diff --git a/modular_ss220/antagonists/code/antag_mix/scenarios/antag_scenario.dm b/modular_ss220/antagonists/code/antag_mix/scenarios/antag_scenario.dm index 211792b72c83..ed9b4271da6d 100644 --- a/modular_ss220/antagonists/code/antag_mix/scenarios/antag_scenario.dm +++ b/modular_ss220/antagonists/code/antag_mix/scenarios/antag_scenario.dm @@ -37,6 +37,8 @@ var/list/protected_roles = list() /// Species that can't be chosen for the scenario var/list/restricted_species = list() + /// Only species that can be chosen for the scenario + var/list/allowed_species = list("All") /// List of available candidates for this scenario var/list/mob/new_player/candidates = list() /// List of players that were drafted to be antagonists of this scenario @@ -176,6 +178,7 @@ for(var/mob/new_player/candidate as anything in candidates) var/client/candidate_client = candidate.client var/datum/mind/candidate_mind = candidate.mind + var/my_specie = candidate_client.prefs.active_character.species if(!candidate_client || !candidate_mind || !candidate.ready) candidates.Remove(candidate) continue @@ -196,7 +199,11 @@ candidates.Remove(candidate) continue - if(!(antag_role in candidate.client.prefs.be_special) || (candidate.client.prefs.active_character.species in restricted_species)) + if(!(antag_role in candidate_client.prefs.be_special) || (my_specie in restricted_species)) + candidates.Remove(candidate) + continue + + if(!(("All" in allowed_species) || (my_specie in allowed_species))) candidates.Remove(candidate) continue diff --git a/modular_ss220/antagonists/code/antag_mix/scenarios/minor_scenarios.dm b/modular_ss220/antagonists/code/antag_mix/scenarios/minor_scenarios.dm index e56c56c2f0dd..ebffa5ec040c 100644 --- a/modular_ss220/antagonists/code/antag_mix/scenarios/minor_scenarios.dm +++ b/modular_ss220/antagonists/code/antag_mix/scenarios/minor_scenarios.dm @@ -115,28 +115,8 @@ "Special Operations Officer", "Syndicate Officer", "Solar Federation General") - possible_species = list("Machine") - restricted_species = list( - "Abductor", - "Ancient Skeleton", - "Diona", - "Drask", - "Golem", - "Grey", - "Human", - "Kidan", - "Monkey", - "Nian", - "Plasmaman", - "Shadow", - "Skrell", - "Slime People", - "Tajaran", - "Unathi", - "Vox", - "Vulpkanin", - "Nucleation") + allowed_species = list("Machine") /datum/antag_scenario/team/blood_brothers name = "Blood Brothers"