mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
Bloodsucker objectives rework (#14648)
* Update computer.dm * Update meat.dm * Update objects.dm * Update computer.dm * Update meat.dm * Update objects.dm * boowomp * e * s * s * 3 * rev * Update antagonists.dm * Update blob_overmind.dm * Update radial.dm * Delete info.dm * Update overmind.dm * Update overmind.dm * Update powers.dm * Update role_preferences.dm * Update job.dm * Update mind.dm * Update dynamic_rulesets.dm * Update dynamic_rulesets_latejoin.dm * Update dynamic_rulesets_roundstart.dm * Update antag_panel.dm * Update revolution.dm * Update bureaucratic_error.dm * Update _job.dm * Update ai.dm * Delete anti_union_propaganda.txt * Update antagonists.dm * Update blob_overmind.dm * Update generic_negative_events.dm * Update _blobstrain.dm * Update _blob.dm * Update _job.dm * sus amogus * Update blob_overmind.dm * Update bloodsuckers.dm * Update bloodsucker_objectives.dm * Apply suggestions from code review Co-authored-by: Jamie D <993128+JamieD1@users.noreply.github.com>
This commit is contained in:
@@ -174,4 +174,4 @@
|
|||||||
|
|
||||||
using = new /obj/screen/blob/RelocateCore()
|
using = new /obj/screen/blob/RelocateCore()
|
||||||
using.screen_loc = ui_storage2
|
using.screen_loc = ui_storage2
|
||||||
static_inventory += using
|
static_inventory += using
|
||||||
|
|||||||
@@ -406,3 +406,24 @@
|
|||||||
return TRUE
|
return TRUE
|
||||||
return FALSE
|
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
|
||||||
|
|||||||
@@ -520,14 +520,10 @@
|
|||||||
objectives += survive_objective
|
objectives += survive_objective
|
||||||
|
|
||||||
// Objective 1: Vassalize a Head/Command, or a specific target
|
// 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()
|
var/list/rolled_objectives = list()
|
||||||
switch(rand(1, 3))
|
for(var/i = 1; i <= 2; i++)
|
||||||
if(1) // Protege and Drink Objective
|
rolled_objectives += pick(possible_objectives)
|
||||||
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/datum/objective/bloodsucker/objective in rolled_objectives)
|
for(var/datum/objective/bloodsucker/objective in rolled_objectives)
|
||||||
objective.owner = owner
|
objective.owner = owner
|
||||||
objectives += objective
|
objectives += objective
|
||||||
|
|||||||
Reference in New Issue
Block a user