mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
@@ -249,6 +249,13 @@
|
||||
minimum_players = 25
|
||||
repeatable = FALSE
|
||||
|
||||
/datum/dynamic_ruleset/latejoin/trim_candidates()
|
||||
. = ..()
|
||||
for(var/mob/living/carbon/C in candidates)
|
||||
if(C?.dna?.species && (NOBLOOD in C?.dna?.species.species_traits))
|
||||
candidates -= C
|
||||
continue
|
||||
|
||||
/datum/dynamic_ruleset/latejoin/bloodsucker/execute()
|
||||
var/mob/latejoiner = pick(candidates) // This should contain a single player, but in case.
|
||||
assigned += latejoiner.mind
|
||||
|
||||
@@ -757,6 +757,11 @@
|
||||
/datum/dynamic_ruleset/midround/bloodsucker/trim_candidates()
|
||||
. = ..()
|
||||
for(var/mob/living/player in living_players)
|
||||
if(iscarbon(player))
|
||||
var/mob/living/carbon/C = player
|
||||
if(C?.dna?.species && (NOBLOOD in C?.dna?.species.species_traits))
|
||||
living_players -= player
|
||||
continue
|
||||
if(issilicon(player)) // Your assigned role doesn't change when you are turned into a silicon.
|
||||
living_players -= player
|
||||
else if(is_centcom_level(player.z))
|
||||
|
||||
@@ -1041,6 +1041,12 @@
|
||||
antag_cap = list("denominator" = 24)
|
||||
minimum_players = 25
|
||||
|
||||
/datum/dynamic_ruleset/roundstart/bloodsucker/trim_candidates()
|
||||
. = ..()
|
||||
for(var/mob/player in candidates)
|
||||
if(player?.client?.prefs.pref_species && (NOBLOOD in player.client.prefs.pref_species.species_traits))
|
||||
candidates.Remove(player)
|
||||
|
||||
/datum/dynamic_ruleset/roundstart/bloodsucker/pre_execute(population)
|
||||
. = ..()
|
||||
var/num_bloodsuckers = get_antag_cap(population) * (scaled_times + 1)
|
||||
|
||||
Reference in New Issue
Block a user