diff --git a/code/_onclick/hud/blob_overmind.dm b/code/_onclick/hud/blob_overmind.dm index 5e352112f26b..e028a89b4772 100644 --- a/code/_onclick/hud/blob_overmind.dm +++ b/code/_onclick/hud/blob_overmind.dm @@ -174,4 +174,4 @@ using = new /obj/screen/blob/RelocateCore() using.screen_loc = ui_storage2 - static_inventory += using \ No newline at end of file + static_inventory += using diff --git a/code/modules/antagonists/bloodsuckers/bloodsucker_objectives.dm b/code/modules/antagonists/bloodsuckers/bloodsucker_objectives.dm index 4ebd20744c2f..3675fa430c4b 100644 --- a/code/modules/antagonists/bloodsuckers/bloodsucker_objectives.dm +++ b/code/modules/antagonists/bloodsuckers/bloodsucker_objectives.dm @@ -406,3 +406,24 @@ return TRUE return FALSE */ + +/// Convert a certain amount of vassals + +/datum/objective/bloodsucker/leader + name = "leader" + +/datum/objective/bloodsucker/leader/New() + target_amount = rand(2,3) + ..() + +// EXPLANATION +/datum/objective/bloodsucker/leader/update_explanation_text() + . = ..() + explanation_text = "Convert [target_amount] of Vassals into your vassals." + +// WIN CONDITIONS? +/datum/objective/bloodsucker/leader/check_completion() + var/datum/antagonist/bloodsucker/bloodsuckerdatum = owner.current.mind.has_antag_datum(/datum/antagonist/bloodsucker) + if(bloodsuckerdatum && bloodsuckerdatum.vassals >= target_amount) + return TRUE + return FALSE diff --git a/code/modules/antagonists/bloodsuckers/bloodsuckers.dm b/code/modules/antagonists/bloodsuckers/bloodsuckers.dm index 4210c1dfadb5..96859e846cd5 100644 --- a/code/modules/antagonists/bloodsuckers/bloodsuckers.dm +++ b/code/modules/antagonists/bloodsuckers/bloodsuckers.dm @@ -520,14 +520,10 @@ objectives += survive_objective // Objective 1: Vassalize a Head/Command, or a specific target + var/list/possible_objectives = list(/datum/objective/bloodsucker/gourmand, /datum/objective/bloodsucker/heartthief, /datum/objective/bloodsucker/leader) var/list/rolled_objectives = list() - switch(rand(1, 3)) - if(1) // Protege and Drink Objective - rolled_objectives = list(new /datum/objective/bloodsucker/protege, new /datum/objective/bloodsucker/gourmand) - if(2) // Heart Thief and Protege Objective - rolled_objectives = list(new /datum/objective/bloodsucker/protege, new /datum/objective/bloodsucker/heartthief) - if(3) // Heart Thief and Drink Objective - rolled_objectives = list(new /datum/objective/bloodsucker/heartthief, new /datum/objective/bloodsucker/gourmand) + for(var/i = 1; i <= 2; i++) + rolled_objectives += pick(possible_objectives) for(var/datum/objective/bloodsucker/objective in rolled_objectives) objective.owner = owner objectives += objective