mirror of
https://github.com/KabKebab/GS13.git
synced 2026-07-12 08:27:24 +01:00
Execute vampires
It's all execution
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user