diff --git a/code/__DEFINES/antagonists.dm b/code/__DEFINES/antagonists.dm index ba1b509d2c..33472ba789 100644 --- a/code/__DEFINES/antagonists.dm +++ b/code/__DEFINES/antagonists.dm @@ -1,4 +1,4 @@ -#define TRAITOR_HUMAN /datum/traitor_class/human +#define TRAITOR_HUMAN /datum/traitor_class/human/freeform #define TRAITOR_AI /datum/traitor_class/ai #define NUKE_RESULT_FLUKE 0 diff --git a/code/modules/antagonists/traitor/classes/freeform.dm b/code/modules/antagonists/traitor/classes/freeform.dm index 08fc7416bd..f84eadb9f6 100644 --- a/code/modules/antagonists/traitor/classes/freeform.dm +++ b/code/modules/antagonists/traitor/classes/freeform.dm @@ -1,7 +1,7 @@ /datum/traitor_class/human/freeform name = "Waffle Co Agent" employer = "Waffle Company" - weight = 4 + weight = 16 chaos = 0 /datum/traitor_class/human/freeform/forge_objectives(datum/antagonist/traitor/T) diff --git a/code/modules/antagonists/traitor/classes/hijack.dm b/code/modules/antagonists/traitor/classes/hijack.dm index 5390bfca25..e61abae465 100644 --- a/code/modules/antagonists/traitor/classes/hijack.dm +++ b/code/modules/antagonists/traitor/classes/hijack.dm @@ -1,7 +1,7 @@ /datum/traitor_class/human/hijack name = "Gorlex Marauder" employer = "The Gorlex Marauders" - weight = 2 + weight = 1 chaos = 5 cost = 5 uplink_filters = list(/datum/uplink_item/stealthy_weapons/romerol_kit,/datum/uplink_item/bundles_TC/contract_kit) diff --git a/code/modules/antagonists/traitor/classes/martyr.dm b/code/modules/antagonists/traitor/classes/martyr.dm index 78f8bf9b0c..fa0ee600b4 100644 --- a/code/modules/antagonists/traitor/classes/martyr.dm +++ b/code/modules/antagonists/traitor/classes/martyr.dm @@ -1,7 +1,7 @@ /datum/traitor_class/human/martyr name = "Tiger Cooperator" employer = "The Tiger Cooperative" - weight = 2 + weight = 1 chaos = 5 cost = 5 uplink_filters = list(/datum/uplink_item/stealthy_weapons/romerol_kit,/datum/uplink_item/bundles_TC/contract_kit) diff --git a/code/modules/antagonists/traitor/classes/subterfuge.dm b/code/modules/antagonists/traitor/classes/subterfuge.dm index 834ef72fe8..ae43f11fe7 100644 --- a/code/modules/antagonists/traitor/classes/subterfuge.dm +++ b/code/modules/antagonists/traitor/classes/subterfuge.dm @@ -1,7 +1,7 @@ /datum/traitor_class/human/subterfuge name = "MI13 Operative" employer = "MI13" - weight = 4 + weight = 20 chaos = -5 /datum/traitor_class/human/subterfuge/forge_single_objective(datum/antagonist/traitor/T) diff --git a/code/modules/antagonists/traitor/datum_traitor.dm b/code/modules/antagonists/traitor/datum_traitor.dm index 875a6c688c..8c41a31785 100644 --- a/code/modules/antagonists/traitor/datum_traitor.dm +++ b/code/modules/antagonists/traitor/datum_traitor.dm @@ -38,13 +38,13 @@ var/list/weights = list() for(var/C in GLOB.traitor_classes) var/datum/traitor_class/class = GLOB.traitor_classes[C] - var/weight = class.weight/(1+NUM_E**(-chaos_weight*class.chaos)) // just a logistic function + var/weight = (1.5*class.weight)/(0.5+NUM_E**(-chaos_weight*class.chaos)) // just a logistic function weights[C] = weight var/choice = pickweightAllowZero(weights) if(!choice) choice = GLOB.traitor_classes[TRAITOR_HUMAN] set_traitor_kind(pickweightAllowZero(weights)) - traitor_kind.weight /= 2 // less likely this round + traitor_kind.weight *= 0.8 // less likely this round SSticker.mode.traitors += owner owner.special_role = special_role if(give_objectives)