From c06c3a262b863b1a30dc34edf022d87b7fc89e9b Mon Sep 17 00:00:00 2001 From: Putnam Date: Fri, 8 Nov 2019 05:49:36 -0800 Subject: [PATCH] ported (commented out) dynamic vampire ruleset from 413 --- .../dynamic/dynamic_rulesets_latejoin.dm | 30 ++++++++++++++++++ .../dynamic/dynamic_rulesets_roundstart.dm | 31 +++++++++++++++++++ 2 files changed, 61 insertions(+) diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_latejoin.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_latejoin.dm index 192cca3a4b..c072754b7d 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_latejoin.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_latejoin.dm @@ -110,3 +110,33 @@ new_head = M.mind.add_antag_datum(new_head) new_head.rev_team.max_headrevs = 1 // Only one revhead if it is latejoin. return TRUE + +////////////////////////////////////////////// +// // +// VAMPIRE // +// // +////////////////////////////////////////////// + +/* +/datum/dynamic_ruleset/latejoin/vampire + name = "vampire" + config_tag = "vampire_latejoin" + antag_flag = ROLE_VAMPIRE + antag_datum = ANTAG_DATUM_VAMPIRE + protected_roles = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain") + restricted_roles = list("AI", "Cyborg") + required_candidates = 1 + weight = 5 + cost = 15 + requirements = list(80,70,60,50,40,20,20,15,15,15) + repeatable = TRUE + high_population_requirement = 15 + +/datum/dynamic_ruleset/latejoin/vampire/pre_execute() + var/mob/M = pick(candidates) + candidates -= M + assigned += M.mind + M.mind.restricted_roles = restricted_roles + M.mind.special_role = ROLE_VAMPIRE + return TRUE +/* diff --git a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm index e95f809fb8..36d0052ee5 100644 --- a/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm +++ b/code/game/gamemodes/dynamic/dynamic_rulesets_roundstart.dm @@ -796,3 +796,34 @@ var/ramp_up_final = CLAMP(round(meteorminutes/rampupdelta), 1, 10) spawn_meteors(ramp_up_final, wavetype) + +////////////////////////////////////////////// +// // +// VAMPIRE // +// // +////////////////////////////////////////////// + +/* +/datum/dynamic_ruleset/roundstart/vampire + name = "vampire" + config_tag = "vampire" + antag_flag = ROLE_VAMPIRE + antag_datum = ANTAG_DATUM_VAMPIRE + protected_roles = list("Security Officer", "Warden", "Detective", "Head of Security", "Captain") + restricted_roles = list("AI", "Cyborg") + required_candidates = 1 + weight = 3 + cost = 30 + requirements = list(101,101,100,90,80,70,60,50,50,50) + high_population_requirement = 50 + +/datum/dynamic_ruleset/roundstart/vampire/pre_execute() + var/num_vampires = min(round(mode.candidates.len / 10) + 1, candidates.len) + for (var/i = 1 to num_vampires) + var/mob/M = pick(candidates) + candidates -= M + assigned += M.mind + M.mind.restricted_roles = restricted_roles + M.mind.special_role = ROLE_VAMPIRE + return TRUE +*/