Vampire Gamemode!

This commit is contained in:
ZomgPonies
2013-12-13 19:38:49 -05:00
parent 25becb2c49
commit 912601a30d
22 changed files with 1013 additions and 25 deletions
+43 -3
View File
@@ -52,7 +52,7 @@ datum/mind
var/datum/faction/faction //associated faction
var/datum/changeling/changeling //changeling holder
var/datum/vampire/vampire //vampire holder
var/rev_cooldown = 0
// the world.time since the mob has been brigged, or -1 if not at all
@@ -128,6 +128,7 @@ datum/mind
"cult",
"wizard",
"changeling",
"vampire",
"nuclear",
"traitor", // "traitorchan",
"monkey",
@@ -222,6 +223,20 @@ datum/mind
// text += "<br>All the changelings are dead! Restart in [round((changeling.TIME_TO_GET_REVIVED-(world.time-changeling.changelingdeathtime))/10)] seconds."
sections["changeling"] = text
/** VAMPIRE ***/
text = "vampire"
if (ticker.mode.config_tag=="vampire")
text = uppertext(text)
text = "<i><b>[text]</b></i>: "
if (src in ticker.mode.vampires)
text += "<b>YES</b>|<a href='?src=\ref[src];vampire=clear'>no</a>"
if (objectives.len==0)
text += "<br>Objectives are empty! <a href='?src=\ref[src];vampire=autoobjectives'>Randomize!</a>"
else
text += "<a href='?src=\ref[src];vampire=vampire'>yes</a>|<b>NO</b>"
sections["vampire"] = text
/** NUCLEAR ***/
text = "nuclear"
if (ticker.mode.config_tag=="nuclear")
@@ -387,7 +402,7 @@ datum/mind
if(!def_value)//If it's a custom objective, it will be an empty string.
def_value = "custom"
var/new_obj_type = input("Select objective type:", "Objective type", def_value) as null|anything in list("assassinate", "debrain", "protect", "prevent", "harm", "brig", "hijack", "escape", "survive", "steal", "download", "nuclear", "capture", "absorb", "custom")
var/new_obj_type = input("Select objective type:", "Objective type", def_value) as null|anything in list("assassinate", "blood", "debrain", "protect", "prevent", "harm", "brig", "hijack", "escape", "survive", "steal", "download", "nuclear", "capture", "absorb", "custom")
if (!new_obj_type) return
var/datum/objective/new_objective = null
@@ -455,7 +470,7 @@ datum/mind
if (!steal.select_target())
return
if("download","capture","absorb")
if("download","capture","absorb", "blood")
var/def_num
if(objective&&objective.type==text2path("/datum/objective/[new_obj_type]"))
def_num = objective.target_amount
@@ -474,6 +489,9 @@ datum/mind
if("absorb")
new_objective = new /datum/objective/absorb
new_objective.explanation_text = "Absorb [target_number] compatible genomes."
if("blood")
new_objective = new /datum/objective/blood
new_objective.explanation_text = "Accumulate atleast [target_number] units of blood in total."
new_objective.owner = src
new_objective.target_amount = target_number
@@ -735,6 +753,28 @@ datum/mind
updateappearance(current, current.dna.uni_identity)
domutcheck(current, null)
else if (href_list["vampire"])
switch(href_list["vampire"])
if("clear")
if(src in ticker.mode.vampires)
ticker.mode.vampires -= src
special_role = null
current.remove_vampire_powers()
if(vampire) del(vampire)
current << "<FONT color='red' size = 3><B>You grow weak and lose your powers! You are no longer a vampire and are stuck in your current form!</B></FONT>"
log_admin("[key_name_admin(usr)] has de-vampired [current].")
if("vampire")
if(!(src in ticker.mode.vampires))
ticker.mode.vampires += src
ticker.mode.grant_vampire_powers(current)
special_role = "Vampire"
current << "<B><font color='red'>Your powers are awoken. Your lust for blood grows... You are a Vampire!</font></B>"
log_admin("[key_name_admin(usr)] has vampired [current].")
if("autoobjectives")
ticker.mode.forge_vampire_objectives(src)
usr << "\blue The objectives for vampire [key] have been generated. You can edit them and announce manually."
else if (href_list["nuclear"])
switch(href_list["nuclear"])
if("clear")