diff --git a/code/controllers/configuration/entries/dynamic.dm b/code/controllers/configuration/entries/dynamic.dm index 6c8c9ff5a9..a59f3a6954 100644 --- a/code/controllers/configuration/entries/dynamic.dm +++ b/code/controllers/configuration/entries/dynamic.dm @@ -78,6 +78,9 @@ /datum/config_entry/number/dynamic_glorious_death_cost config_entry_value = 5 +/datum/config_entry/number/dynamic_assassinate_cost + config_entry_value = 2 + /datum/config_entry/number/dynamic_summon_guns_requirement config_entry_value = 10 min_val = 0 diff --git a/code/modules/antagonists/traitor/datum_traitor.dm b/code/modules/antagonists/traitor/datum_traitor.dm index 9a3aa19377..7eb60d27b9 100644 --- a/code/modules/antagonists/traitor/datum_traitor.dm +++ b/code/modules/antagonists/traitor/datum_traitor.dm @@ -159,7 +159,18 @@ /datum/antagonist/traitor/proc/forge_single_human_objective() //Returns how many objectives are added .=1 - if(prob(50)) + var/assassin_prob = 50 + var/is_dynamic = FALSE + var/datum/game_mode/dynamic/mode + if(istype(SSticker.mode,/datum/game_mode/dynamic)) + mode = SSticker.mode + is_dynamic = TRUE + assassin_prob = mode.threat_level*(2/3) + if(prob(assassin_prob)) + if(is_dynamic) + var/threat_spent = CONFIG_GET(number/dynamic_assassinate_cost) + spend_threat(threat_spent) + mode.log_threat("[owner.name] spent [threat_spent] on an assassination target.") var/list/active_ais = active_ais() if(active_ais.len && prob(100/GLOB.joined_player_list.len)) var/datum/objective/destroy/destroy_objective = new diff --git a/config/dynamic_config.txt b/config/dynamic_config.txt index 953b761e5b..e62bc38059 100644 --- a/config/dynamic_config.txt +++ b/config/dynamic_config.txt @@ -276,6 +276,8 @@ DYNAMIC_HIJACK_COST 10 DYNAMIC_GLORIOUS_DEATH_COST 5 +DYNAMIC_ASSASSINATE_COST 2 + ## Dynamic wizard stuff ## How much threat level is required to buy summon guns. Setting to 0 makes it always available.