mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-18 18:46:24 +01:00
Oopsies (#19553)
This commit is contained in:
@@ -116,3 +116,40 @@
|
||||
/datum/goal/cargo/mine_rock/check_completion()
|
||||
current_count = GLOB.rocks_drilled_roundstat
|
||||
. = ..()
|
||||
|
||||
// Deliver Mail
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/datum/goal/cargo/deliver_mail
|
||||
name = "Deliver Mail"
|
||||
|
||||
/datum/goal/cargo/deliver_mail/New()
|
||||
. = ..()
|
||||
goal_count = rand(40, 70)
|
||||
goal_text = "Nothing stops the mail. Deliver [goal_count] envelopes to their corresponding employer."
|
||||
RegisterSignal(SSdcs, COMSIG_GLOB_MAIL_DELIVERED, PROC_REF(handle_mail_delivery))
|
||||
|
||||
/datum/goal/cargo/deliver_mail/Destroy(force)
|
||||
UnregisterSignal(SSdcs, COMSIG_GLOB_MAIL_DELIVERED)
|
||||
. = ..()
|
||||
|
||||
/datum/goal/cargo/deliver_mail/proc/handle_mail_delivery(atom/source)
|
||||
SIGNAL_HANDLER
|
||||
current_count++
|
||||
|
||||
// Sell Research Samples
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/datum/goal/cargo/sell_research_samples
|
||||
name = "Sell Research Samples"
|
||||
|
||||
/datum/goal/cargo/sell_research_samples/New()
|
||||
. = ..()
|
||||
goal_count = rand(40, 60)
|
||||
goal_text = "Help provide insight into the unknown, ship [goal_count] research samples."
|
||||
|
||||
/datum/goal/cargo/sell_research_samples/handle_cargo_sale(datum/source, atom/movable/sold_item, sold_successfully, datum/exported_crate/export_data, area/shuttle_subarea)
|
||||
if(!sold_successfully)
|
||||
return
|
||||
if(!istype(sold_item,/obj/structure/closet/crate))
|
||||
return
|
||||
for(var/obj/item/research_sample/sample in sold_item)
|
||||
current_count++
|
||||
|
||||
@@ -89,3 +89,22 @@
|
||||
/datum/goal/common/trashpiles/proc/handle_trash_searched(datum/source, mob/living/user, list/searched_by)
|
||||
SIGNAL_HANDLER
|
||||
current_count++
|
||||
|
||||
// Win arcade
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/datum/goal/common/arcade
|
||||
name = "Win Arcade Machine Games"
|
||||
|
||||
/datum/goal/common/arcade/New()
|
||||
. = ..()
|
||||
goal_count = rand(15, 30)
|
||||
goal_text = "Enjoy some leisure time and less pocket change, and get some prizes out of [goal_count] arcade machines."
|
||||
RegisterSignal(SSdcs, COMSIG_GLOB_ARCADE_PRIZEVEND, PROC_REF(handle_arcade_win))
|
||||
|
||||
/datum/goal/common/arcade/Destroy(force)
|
||||
UnregisterSignal(SSdcs, COMSIG_GLOB_ARCADE_PRIZEVEND)
|
||||
. = ..()
|
||||
|
||||
/datum/goal/common/arcade/proc/handle_arcade_win(datum/source)
|
||||
SIGNAL_HANDLER
|
||||
current_count++
|
||||
|
||||
@@ -29,3 +29,48 @@
|
||||
if(target.dna.real_name in scanned_mobs)
|
||||
return
|
||||
scanned_mobs += target.dna.real_name
|
||||
|
||||
// Cure Advanced Diseases
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/datum/goal/medical/virology
|
||||
name = "Cure Diseases"
|
||||
var/list/cured_diseases = list()
|
||||
|
||||
/datum/goal/medical/virology/New()
|
||||
. = ..()
|
||||
goal_count = rand(10, 20)
|
||||
goal_text = "Ensure the galaxy doesn't suffer from a variety of advanced diseases, obtain the cure for [goal_count] of them."
|
||||
RegisterSignal(SSdcs, COMSIG_GLOB_ADV_DISEASE_CURED, PROC_REF(handle_disease_cure))
|
||||
|
||||
/datum/goal/medical/virology/Destroy(force)
|
||||
UnregisterSignal(SSdcs, COMSIG_GLOB_ADV_DISEASE_CURED)
|
||||
. = ..()
|
||||
|
||||
/datum/goal/medical/virology/check_completion()
|
||||
current_count = cured_diseases.len
|
||||
. = ..()
|
||||
|
||||
/datum/goal/medical/virology/proc/handle_disease_cure(atom/source, id)
|
||||
SIGNAL_HANDLER
|
||||
if(id in cured_diseases)
|
||||
return
|
||||
cured_diseases += id
|
||||
|
||||
// Donate Blood
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/datum/goal/medical/blood
|
||||
name = "Donate Blood"
|
||||
|
||||
/datum/goal/medical/blood/New()
|
||||
. = ..()
|
||||
goal_count = rand(700, 1200)
|
||||
goal_text = "Make sure Medical stays well stocked, donate [goal_count] units of blood."
|
||||
RegisterSignal(SSdcs, COMSIG_GLOB_DONATE_BLOOD, PROC_REF(handle_donate_blood))
|
||||
|
||||
/datum/goal/medical/blood/Destroy(force)
|
||||
UnregisterSignal(SSdcs, COMSIG_GLOB_DONATE_BLOOD)
|
||||
. = ..()
|
||||
|
||||
/datum/goal/medical/blood/proc/handle_donate_blood(atom/source, blood_count)
|
||||
SIGNAL_HANDLER
|
||||
current_count += blood_count
|
||||
|
||||
@@ -60,3 +60,22 @@
|
||||
/datum/goal/research/build_mechs/proc/handle_mech_construction(atom/source)
|
||||
SIGNAL_HANDLER
|
||||
current_count++
|
||||
|
||||
// Harvest Anomalies
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
/datum/goal/research/harvest_anomalies
|
||||
name = "Harvest Anomalies"
|
||||
|
||||
/datum/goal/research/harvest_anomalies/New()
|
||||
. = ..()
|
||||
goal_count = rand(1500, 3000)
|
||||
goal_text = "Harvest points from anomalies, produce [goal_count] from any kind of anomaly."
|
||||
RegisterSignal(SSdcs, COMSIG_GLOB_ANOMALY_HARVESTED, PROC_REF(handle_anomaly_harvest))
|
||||
|
||||
/datum/goal/research/harvest_anomalies/Destroy(force)
|
||||
UnregisterSignal(SSdcs, COMSIG_GLOB_ANOMALY_HARVESTED)
|
||||
. = ..()
|
||||
|
||||
/datum/goal/research/harvest_anomalies/proc/handle_anomaly_harvest(atom/source, add_points)
|
||||
SIGNAL_HANDLER
|
||||
current_count += add_points
|
||||
|
||||
@@ -88,6 +88,7 @@ GLOBAL_LIST_INIT(advance_cures, list(
|
||||
if(resistance && !(id in affected_mob.GetResistances()))
|
||||
affected_mob.GetResistances()[id] = id
|
||||
remove_virus()
|
||||
SEND_GLOBAL_SIGNAL(COMSIG_GLOB_ADV_DISEASE_CURED, id)
|
||||
qdel(src)
|
||||
|
||||
/datum/disease/advance/Copy()
|
||||
|
||||
Reference in New Issue
Block a user