From de248b165df6f70b8ee0a3efd5baa4e7925bef6e Mon Sep 17 00:00:00 2001 From: Xoxeyos <39686570+Xoxeyos@users.noreply.github.com> Date: Fri, 19 Jun 2020 00:57:23 -0500 Subject: [PATCH 1/5] Dynamic Zombie Attempted Fix Part #1 --- .../dynamic/dynamic_rulesets_midround.dm | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm index 0a8b7720bc51..ae4c40c4b15a 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm @@ -515,7 +515,7 @@ var/datum/antagonist/vampire/newVampire = new M.mind.add_antag_datum(newVampire) return TRUE - + ////////////////////////////////////////////// // // // ZOMBIE (GHOST) // @@ -524,8 +524,11 @@ /datum/dynamic_ruleset/midround/from_ghosts/zombie name = "Zombie" + antag_datum = /datum/round_event/ghost_role/zombie + antag_flag = "ROLE_ZOMBIE" + antag_flag_override = ROLE_ALIEN enemy_roles = list("Security Officer", "Detective", "Head of Security", "Captain", "Chief Medical Officer") - required_enemies = list(2,2,1,1,1,1,0,0,0,0,) + required_enemies = list(2,2,1,1,1,1,0,0,0,0) required_candidates = 1 weight = 1 cost = 20 @@ -534,7 +537,7 @@ var/list/spawn_locs = list() /datum/round_event/ghost_role/zombie/spawn_role() - var/list/candidates = get_candidates(ROLE_ALIEN, null, ROLE_ALIEN) + var/list/candidates = get_candidates(ROLE_ZOMBIE, null, ROLE_ZOMBIE) if(!candidates.len) return NOT_ENOUGH_PLAYERS @@ -554,14 +557,14 @@ message_admins("No valid spawn locations found, aborting...") return MAP_ERROR - var/mob/living/carbon/human/S = new ((pick(spawn_locs))) - player_mind.transfer_to(S) + var/mob/living/carbon/human/M = new ((pick(spawn_locs))) + player_mind.transfer_to(M) player_mind.assigned_role = "Zombie" player_mind.special_role = "Zombie" - S.set_species(/datum/species/zombie/infectious) - playsound(S, 'sound/hallucinations/growl1.ogg', 50, 1, -1) - message_admins("[ADMIN_LOOKUPFLW(S)] has been made into a Zombie by an event.") - log_game("[key_name(S)] was spawned as a Zombie by an event.") - spawned_mobs += S + M.set_species(/datum/species/zombie/infectious) + playsound(M, 'sound/hallucinations/growl1.ogg', 50, 1, -1) + message_admins("[ADMIN_LOOKUPFLW(M)] has been made into a Zombie by the midround ruleset.") + log_game("[key_name(M)] was spawned as a Zombie by the midround ruleset.") + spawned_mobs += M return SUCCESSFUL_SPAWN From c3a4cc2e46a3d5fec1b708f20983f4392226ab5a Mon Sep 17 00:00:00 2001 From: Xoxeyos <39686570+Xoxeyos@users.noreply.github.com> Date: Fri, 19 Jun 2020 01:00:54 -0500 Subject: [PATCH 2/5] some edits --- code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm index ae4c40c4b15a..15704e0557f0 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm @@ -524,9 +524,7 @@ /datum/dynamic_ruleset/midround/from_ghosts/zombie name = "Zombie" - antag_datum = /datum/round_event/ghost_role/zombie antag_flag = "ROLE_ZOMBIE" - antag_flag_override = ROLE_ALIEN enemy_roles = list("Security Officer", "Detective", "Head of Security", "Captain", "Chief Medical Officer") required_enemies = list(2,2,1,1,1,1,0,0,0,0) required_candidates = 1 From c40ea3686fa52ba64a7e36dc41a8824b8539ac93 Mon Sep 17 00:00:00 2001 From: Xoxeyos <39686570+Xoxeyos@users.noreply.github.com> Date: Fri, 19 Jun 2020 01:21:22 -0500 Subject: [PATCH 3/5] zombie edit --- code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm index 15704e0557f0..0d4891590e69 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_midround.dm @@ -561,8 +561,8 @@ player_mind.special_role = "Zombie" M.set_species(/datum/species/zombie/infectious) playsound(M, 'sound/hallucinations/growl1.ogg', 50, 1, -1) - message_admins("[ADMIN_LOOKUPFLW(M)] has been made into a Zombie by the midround ruleset.") - log_game("[key_name(M)] was spawned as a Zombie by the midround ruleset.") + message_admins("[ADMIN_LOOKUPFLW(M)] has been made into a Zombie by an event.") + log_game("[key_name(M)] was spawned as a Zombie by an event.") spawned_mobs += M return SUCCESSFUL_SPAWN From 0371e48d51e666dd70afcfe138c649dd34b92dfa Mon Sep 17 00:00:00 2001 From: Xoxeyos <39686570+Xoxeyos@users.noreply.github.com> Date: Fri, 19 Jun 2020 01:22:59 -0500 Subject: [PATCH 4/5] zombie addition for dynamic --- code/__DEFINES/role_preferences.dm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/code/__DEFINES/role_preferences.dm b/code/__DEFINES/role_preferences.dm index 4fec33c3a2fe..06e7dbe12175 100644 --- a/code/__DEFINES/role_preferences.dm +++ b/code/__DEFINES/role_preferences.dm @@ -42,6 +42,7 @@ #define ROLE_GANG "gangster" // Yogs #define ROLE_DARKSPAWN "darkspawn" //Yogs #define ROLE_HOLOPARASITE "Holoparasite" // Yogs +#define ROLE_ZOMBIE "Zombie" //Yogs //Missing assignment means it's not a gamemode specific role, IT'S NOT A BUG OR ERROR. //The gamemode specific ones are just so the gamemodes can query whether a player is old enough @@ -73,7 +74,8 @@ GLOBAL_LIST_INIT(special_roles, list( ROLE_HIVE = /datum/game_mode/hivemind, ROLE_INTERNAL_AFFAIRS = /datum/game_mode/traitor/internal_affairs, ROLE_DARKSPAWN = /datum/game_mode/darkspawn, - ROLE_SENTIENCE + ROLE_SENTIENCE, + ROLE_ZOMBIE )) //Job defines for what happens when you fail to qualify for any job during job selection From 3c3e89bf06cf4ff5ad458412ba84c24baa2cec34 Mon Sep 17 00:00:00 2001 From: Xoxeyos <39686570+Xoxeyos@users.noreply.github.com> Date: Fri, 19 Jun 2020 01:25:36 -0500 Subject: [PATCH 5/5] Not sure if this is necessary. --- code/modules/admin/sql_ban_system.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/admin/sql_ban_system.dm b/code/modules/admin/sql_ban_system.dm index 8a981badfab1..d0e3bf74302e 100644 --- a/code/modules/admin/sql_ban_system.dm +++ b/code/modules/admin/sql_ban_system.dm @@ -245,7 +245,7 @@ ROLE_OVERTHROW, ROLE_REV, ROLE_REVENANT, ROLE_REV_HEAD, ROLE_SERVANT_OF_RATVAR, ROLE_SYNDICATE, ROLE_TRAITOR, ROLE_WIZARD, ROLE_GANG, ROLE_VAMPIRE, - ROLE_SHADOWLING, ROLE_DARKSPAWN)) //ROLE_REV_HEAD is excluded from this because rev jobbans are handled by ROLE_REV + ROLE_SHADOWLING, ROLE_DARKSPAWN, ROLE_ZOMBIE)) //ROLE_REV_HEAD is excluded from this because rev jobbans are handled by ROLE_REV for(var/department in long_job_lists) output += "
" break_counter = 0