From 7aebca9d0193aab4cccbafe704dd9be9c516141b Mon Sep 17 00:00:00 2001 From: Cheridan Date: Tue, 15 Jul 2014 14:30:33 -0500 Subject: [PATCH] fixes the colon 'issue' by making the code worse thanks obama --- code/datums/diseases/transformation.dm | 6 ++---- code/game/gamemodes/monkey/monkey.dm | 13 +++++++++++-- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/code/datums/diseases/transformation.dm b/code/datums/diseases/transformation.dm index a7b87bb5f58..70d24233e43 100644 --- a/code/datums/diseases/transformation.dm +++ b/code/datums/diseases/transformation.dm @@ -94,9 +94,8 @@ /datum/disease/transformation/jungle_fever/do_disease_transformation(var/mob/living/carbon/affected_mob) if(!ismonkey(affected_mob)) - if(ticker && istype(ticker.mode, /datum/game_mode/monkey)) - ticker.mode:ape_infectees |= affected_mob.mind affected_mob.monkeyize(TR_KEEPITEMS | TR_KEEPIMPLANTS | TR_KEEPDAMAGE | TR_KEEPVIRUS | TR_KEEPSE) + ticker.mode.add_monkey(affected_mob.mind) /datum/disease/transformation/jungle_fever/stage_act() ..() @@ -113,8 +112,7 @@ affected_mob.say(pick("Eeek, ook ook!", "Eee-eeek!", "Eeee!", "Ungh, ungh.")) /datum/disease/transformation/jungle_fever/cure() - if(ticker && istype(ticker.mode, /datum/game_mode/monkey)) - ticker.mode:ape_infectees.Remove(affected_mob.mind) + ticker.mode.remove_monkey(affected_mob.mind) ..() diff --git a/code/game/gamemodes/monkey/monkey.dm b/code/game/gamemodes/monkey/monkey.dm index 43502623a87..cc4cd8722ab 100644 --- a/code/game/gamemodes/monkey/monkey.dm +++ b/code/game/gamemodes/monkey/monkey.dm @@ -1,3 +1,6 @@ +/datum/game_mode + var/list/ape_infectees = list() + /datum/game_mode/monkey name = "monkey" config_tag = "monkey" @@ -15,8 +18,6 @@ var/carriers_to_make = 1 var/list/carriers = list() - var/list/ape_infectees = list() - var/monkeys_to_win = 0 var/escaped_monkeys = 0 @@ -82,6 +83,14 @@ else return 1 +/datum/game_mode/proc/add_monkey(datum/mind/monkey_mind) + ape_infectees |= monkey_mind + monkey_mind.special_role = "Infected Monkey" + +/datum/game_mode/proc/remove_monkey(datum/mind/monkey_mind) + ape_infectees.Remove(monkey_mind) + monkey_mind.special_role = null + /datum/game_mode/monkey/declare_completion() if(!check_monkey_victory())