diff --git a/baystation12.dme b/baystation12.dme index 2c937cff3be..24a724f8d35 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -40,6 +40,7 @@ #define FILE_DIR "code/game/gamemodes/epidemic" #define FILE_DIR "code/game/gamemodes/extended" #define FILE_DIR "code/game/gamemodes/malfunction" +#define FILE_DIR "code/game/gamemodes/meme" #define FILE_DIR "code/game/gamemodes/meteor" #define FILE_DIR "code/game/gamemodes/nuclear" #define FILE_DIR "code/game/gamemodes/revolution" @@ -440,6 +441,7 @@ #include "code\game\gamemodes\extended\extended.dm" #include "code\game\gamemodes\malfunction\Malf_Modules.dm" #include "code\game\gamemodes\malfunction\malfunction.dm" +#include "code\game\gamemodes\meme\meme.dm" #include "code\game\gamemodes\meteor\meteor.dm" #include "code\game\gamemodes\meteor\meteors.dm" #include "code\game\gamemodes\nuclear\nuclear.dm" diff --git a/code/game/gamemodes/meme/meme.dm b/code/game/gamemodes/meme/meme.dm index 39ac61d7aaa..745c490bb57 100644 --- a/code/game/gamemodes/meme/meme.dm +++ b/code/game/gamemodes/meme/meme.dm @@ -1,5 +1,7 @@ +/datum/game_mode/var/list/memes = list() + /datum/game_mode/meme - name = "meme" + name = "Memetic Anomaly" config_tag = "meme" //required_players = 6 required_players = 2 // for testing @@ -8,7 +10,6 @@ var - list/memes = list() var/datum/mind/first_host = null const @@ -53,6 +54,7 @@ modePlayer += meme modePlayer += first_host + memes += meme meme.assigned_role = "MODE" //So they aren't chosen for other jobs. meme.special_role = "Meme" @@ -68,7 +70,8 @@ for(var/datum/mind/meme in memes) var/mob/living/parasite/meme/M = new meme.transfer_to(M) - M.enter_host(first_host) + M.enter_host(first_host.current) + forge_meme_objectives(meme, first_host) break // TODO: make it possible to have multiple memes with multiple hosts @@ -79,7 +82,7 @@ return -/datum/game_mode/proc/forge_meme_objectives(var/datum/mind/meme) +/datum/game_mode/proc/forge_meme_objectives(var/datum/mind/meme, var/datum/mind/first_host) // meme always needs to attune X hosts var/datum/objective/meme_attune/attune_objective = new attune_objective.owner = meme @@ -122,12 +125,10 @@ /datum/game_mode/proc/auto_declare_completion_meme() for(var/datum/mind/meme in memes) var/memewin = 1 - var/meme_name var/attuned = 0 if((meme.current) && istype(meme.current,/mob/living/parasite/meme)) - meme_name = "[meme.key] (The Meme)" world << "The meme was [meme.current.key]." - world << "The first host was [first_host.key]." + world << "The first host was [src:first_host.current.key]." world << "The last host was [meme.current:host.key]." world << "Hosts attuned: [attuned]" @@ -143,7 +144,6 @@ count++ else - meme_name = "[meme.key] (character destroyed)" memewin = 0 if(memewin)