mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-24 12:37:26 +01:00
Vampire Gamemode!
This commit is contained in:
+43
-3
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user