From efd75cda2bea71a356448341040a0228f8c9fc99 Mon Sep 17 00:00:00 2001 From: Contrabang <91113370+Contrabang@users.noreply.github.com> Date: Fri, 31 May 2024 16:25:12 -0400 Subject: [PATCH] Adds wikipage to zombie antag datum + minor fix (#25712) * Adds wikipage to zombie antag datum + minor fix * oops * okay send it --- code/datums/diseases/zombie_virus.dm | 4 ++++ code/game/gamemodes/game_mode.dm | 5 +++++ code/game/objects/items/weapons/manuals.dm | 2 +- code/modules/admin/player_panel.dm | 13 +++++++++++++ code/modules/antagonists/zombie/datum_zombie.dm | 7 +++++++ 5 files changed, 30 insertions(+), 1 deletion(-) diff --git a/code/datums/diseases/zombie_virus.dm b/code/datums/diseases/zombie_virus.dm index d47742631e0..8879070189a 100644 --- a/code/datums/diseases/zombie_virus.dm +++ b/code/datums/diseases/zombie_virus.dm @@ -31,9 +31,13 @@ if(!..()) return FALSE if(HAS_TRAIT(affected_mob, TRAIT_I_WANT_BRAINS) || affected_mob.mind?.has_antag_datum(/datum/antagonist/zombie)) + SSticker.mode.zombie_infected -= affected_mob + if(affected_mob.reagents.has_reagent("zombiecure4")) + return handle_rot(TRUE) stage = 7 return FALSE + SSticker.mode.zombie_infected |= affected_mob switch(stage) if(1) // cured by lvl 1 cure if(prob(4)) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 29dfb1fdd2f..dcb97d7f1d9 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -90,6 +90,11 @@ /// A list of all the minds that have the ERT special role var/list/datum/mind/ert = list() + /// A list of all minds that are zombies + var/list/datum/mind/zombies = list() + /// A list of all minds that are infected with the zombie virus, but aren't zombies yet + var/list/datum/mind/zombie_infected = list() + /datum/game_mode/proc/announce() //to be calles when round starts to_chat(world, "Notice: [src] did not define announce()") diff --git a/code/game/objects/items/weapons/manuals.dm b/code/game/objects/items/weapons/manuals.dm index 230b5e450b4..523e7e89cbf 100644 --- a/code/game/objects/items/weapons/manuals.dm +++ b/code/game/objects/items/weapons/manuals.dm @@ -543,7 +543,7 @@
  • Chlorine Trifluoride
  • Sorium
  • "????" Reagent
  • -
  • A ranesp
  • +
  • Aranesp
  • diff --git a/code/modules/admin/player_panel.dm b/code/modules/admin/player_panel.dm index a0ec7b9637d..02793d7d8d3 100644 --- a/code/modules/admin/player_panel.dm +++ b/code/modules/admin/player_panel.dm @@ -470,6 +470,12 @@ if(length(SSticker.mode.eventmiscs)) dat += check_role_table("Event Roles", SSticker.mode.eventmiscs) + if(length(SSticker.mode.zombies)) + dat += check_role_table("Zombies", SSticker.mode.zombies) + + if(length(SSticker.mode.zombie_infected)) + dat += check_role_table_mob("Pre-zombie infected", SSticker.mode.zombie_infected) + if(length(GLOB.ts_spiderlist)) var/list/spider_minds = list() for(var/mob/living/simple_animal/hostile/poison/terror_spider/S in GLOB.ts_spiderlist) @@ -529,3 +535,10 @@ txt += "" return txt + +/datum/admins/proc/check_role_table_mob(name, list/members, show_objectives=1) + var/txt = "
    " + for(var/mob/M in members) + txt += check_role_table_row(M, show_objectives) + txt += "
    [name]
    " + return txt diff --git a/code/modules/antagonists/zombie/datum_zombie.dm b/code/modules/antagonists/zombie/datum_zombie.dm index 2b0c6407870..4971d252a32 100644 --- a/code/modules/antagonists/zombie/datum_zombie.dm +++ b/code/modules/antagonists/zombie/datum_zombie.dm @@ -7,6 +7,7 @@ RESTRICT_TYPE(/datum/antagonist/zombie) special_role = SPECIAL_ROLE_ZOMBIE clown_gain_text = "B-Braaaaaains... Honk..." clown_removal_text = "You feel funnier again." + wiki_page_name = "Zombie" var/list/old_languages = list() // someone make this better to prevent langs changing if species changes while zombie somehow var/static/list/zombie_traits = list(TRAIT_LANGUAGE_LOCKED, TRAIT_GOTTAGOSLOW, TRAIT_ABSTRACT_HANDS, TRAIT_SLOW_GRABBER) var/datum/unarmed_attack/claws/claw_attack @@ -27,6 +28,12 @@ RESTRICT_TYPE(/datum/antagonist/zombie) owner.RemoveSpell(/datum/spell/zombie_claws) return ..() +/datum/antagonist/zombie/add_owner_to_gamemode() + SSticker.mode.zombies |= owner + +/datum/antagonist/zombie/remove_owner_from_gamemode() + SSticker.mode.zombies -= owner + /datum/antagonist/zombie/greet() var/list/messages = list() . = messages