Execute vampires

It's all execution
This commit is contained in:
JaySparrow
2020-12-01 23:33:27 -06:00
parent 8df40ba5ce
commit f0f30ae44f
2 changed files with 30 additions and 12 deletions
@@ -770,10 +770,27 @@
repeatable = FALSE
chaos_min = 4.0
datum/dynamic_ruleset/midround/bloodsucker/trim_candidates()
..()
for(var/mob/living/player in living_players)
if(issilicon(player)) // Your assigned role doesn't change when you are turned into a silicon.
living_players -= player
continue
if(is_centcom_level(player.z))
living_players -= player // We don't autotator people in CentCom
continue
if(player.mind && (player.mind.special_role || player.mind.antag_datums?.len > 0))
living_players -= player // We don't autotator people with roles already
/datum/dynamic_ruleset/midround/bloodsucker/ready(forced = FALSE)
if (required_candidates > living_players.len)
return FALSE
return ..()
/datum/dynamic_ruleset/midround/bloodsucker/execute()
var/mob/M = pick(candidates)
assigned += M.mind
M.mind.special_role = antag_flag
if(mode.make_bloodsucker(M.mind))
mode.bloodsuckers += M
return TRUE
var/mob/M = pick(living_players)
assigned += M
living_players -= M
var/datum/antagonist/bloodsucker/newVamp = new
M.mind.add_antag_datum(newVamp)
return TRUE
@@ -847,7 +847,7 @@
requirements = list(101,101,101,70,60,60,50,50,50,40)
high_population_requirement = 10
chaos_min = 4.0
chaos_max = 4.9
/datum/dynamic_ruleset/roundstart/bloodsucker/pre_execute()
var/num_bloodsuckers = min(round(mode.candidates.len / 10) +1, candidates.len)
@@ -858,9 +858,10 @@
M.mind.restricted_roles = restricted_roles
return TRUE
/datum/dynamic_ruleset/roundstart/bloodsucker/execute()
mode.check_start_sunlight()
for(var/datum/mind/M in assigned)
if(mode.make_bloodsucker(M))
mode.bloodsuckers += M
/datum/dynamic_ruleset/roundstart/bloodsucker/pre_execute()
var/mob/M = pick_n_take(candidates)
assigned += M.mind
M.mind.special_role = ROLE_BLOODSUCKER
M.mind.restricted_roles = restricted_roles
return TRUE