mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-26 05:27:01 +01:00
Dynamic autotraitor (#28664)
* bam * banned stuff * oops, cost * alter dynamic chances too
This commit is contained in:
@@ -49,6 +49,7 @@
|
||||
|
||||
/// Rulesets that cannot be rolled while this ruleset is active. Used to prevent traitors from rolling while theres cultists, etc.
|
||||
var/list/banned_mutual_rulesets = list(
|
||||
/datum/ruleset/traitor/autotraitor,
|
||||
/datum/ruleset/team/cult,
|
||||
)
|
||||
|
||||
@@ -170,7 +171,8 @@
|
||||
var/datum/mind/antag = pick_n_take(possible_antags)
|
||||
antag.add_antag_datum(antagonist_type)
|
||||
|
||||
log_dynamic("Latespawned [late_antag_amount] [name]s.")
|
||||
log_dynamic("Latespawned [late_antag_amount] [name]\s.")
|
||||
message_admins("Dynamic latespawned [late_antag_amount] [name]\s.")
|
||||
|
||||
/datum/ruleset/proc/automatic_deduct(budget)
|
||||
. = antag_cost * antag_amount
|
||||
@@ -195,6 +197,22 @@
|
||||
traitor_datum.addtimer(CALLBACK(traitor_datum, TYPE_PROC_REF(/datum/antagonist/traitor, reveal_delayed_objectives)), latespawn_time, TIMER_DELETE_ME)
|
||||
antag.add_antag_datum(traitor_datum)
|
||||
|
||||
/datum/ruleset/traitor/autotraitor
|
||||
name = "Autotraitor"
|
||||
ruleset_weight = 2
|
||||
antag_cost = 10
|
||||
banned_mutual_rulesets = list(
|
||||
/datum/ruleset/traitor,
|
||||
/datum/ruleset/vampire,
|
||||
/datum/ruleset/changeling,
|
||||
/datum/ruleset/team/cult
|
||||
)
|
||||
|
||||
/datum/ruleset/traitor/autotraitor/roundstart_post_setup(datum/game_mode/dynamic)
|
||||
. = ..()
|
||||
latespawn_time = null
|
||||
addtimer(CALLBACK(src, PROC_REF(latespawn), dynamic), 5 MINUTES, TIMER_DELETE_ME|TIMER_LOOP)
|
||||
|
||||
/datum/ruleset/vampire
|
||||
name = "Vampire"
|
||||
ruleset_weight = 12
|
||||
@@ -292,6 +310,7 @@
|
||||
antagonist_type = /datum/antagonist/cultist
|
||||
banned_mutual_rulesets = list(
|
||||
/datum/ruleset/traitor,
|
||||
/datum/ruleset/traitor/autotraitor,
|
||||
/datum/ruleset/vampire,
|
||||
/datum/ruleset/changeling
|
||||
)
|
||||
|
||||
@@ -248,7 +248,7 @@ gamemode_probabilities = [
|
||||
{ gamemode = "abduction", probability = 0 },
|
||||
{ gamemode = "changeling", probability = 0 },
|
||||
{ gamemode = "cult", probability = 0 },
|
||||
{ gamemode = "extend-a-traitormongous", probability = 2 }, # Autotraitor
|
||||
{ gamemode = "extend-a-traitormongous", probability = 0 }, # Autotraitor
|
||||
{ gamemode = "extended", probability = 0 },
|
||||
{ gamemode = "nuclear", probability = 2 },
|
||||
{ gamemode = "raginmages", probability = 0 },
|
||||
@@ -260,7 +260,7 @@ gamemode_probabilities = [
|
||||
{ gamemode = "vampire", probability = 0 },
|
||||
{ gamemode = "wizard", probability = 2 },
|
||||
{ gamemode = "trifecta", probability = 0 },
|
||||
{ gamemode = "dynamic", probability = 20 },
|
||||
{ gamemode = "dynamic", probability = 22 },
|
||||
]
|
||||
# Do we want the amount of traitors to scale with population?
|
||||
traitor_scaling = true
|
||||
|
||||
Reference in New Issue
Block a user