mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-07-15 00:54:16 +01:00
Oopsies (#19553)
This commit is contained in:
@@ -158,3 +158,14 @@
|
||||
|
||||
// base /obj/item/autopsy_scanner/do_surgery() : (mob/user, mob/target)
|
||||
#define COMSIG_GLOB_AUTOPSY_PERFORMED "!performed_autopsy"
|
||||
// base /datum/disease/proc/cure() : (id)
|
||||
#define COMSIG_GLOB_ADV_DISEASE_CURED "!adv_disease_cured"
|
||||
|
||||
// base /obj/machinery/anomaly_harvester/proc/add_points() : (add_points)
|
||||
#define COMSIG_GLOB_ANOMALY_HARVESTED "!anomaly_harvested"
|
||||
// base /obj/item/mail_scanner/afterattack()
|
||||
#define COMSIG_GLOB_MAIL_DELIVERED "!mail_delivered"
|
||||
// base /obj/machinery/computer/arcade/proc/pricevend()
|
||||
#define COMSIG_GLOB_ARCADE_PRIZEVEND "!arcade_win"
|
||||
|
||||
#define COMSIG_GLOB_DONATE_BLOOD "!donate_blood"
|
||||
|
||||
@@ -80,7 +80,7 @@ SUBSYSTEM_DEF(departmentgoals)
|
||||
if(!length(all_goals))
|
||||
GLOB.command_announcement.Announce("There are no department goals for this shift.", "Station Resource Department")
|
||||
return
|
||||
GLOB.command_announcement.Announce("Department goals have been updated for this shift. (Check your IC tab's \"Check Round Goals\" for details!)", "Station Resource Department")
|
||||
GLOB.command_announcement.Announce("Department goals have been updated for this shift. Check your PDA for details!", "Station Resource Department")
|
||||
|
||||
/datum/controller/subsystem/departmentgoals/proc/handle_round_end()
|
||||
SIGNAL_HANDLER
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -37,6 +37,7 @@
|
||||
|
||||
/obj/machinery/computer/arcade/proc/prizevend(mob/user)
|
||||
SEND_SIGNAL(src, COMSIG_ARCADE_PRIZEVEND, user)
|
||||
SEND_GLOBAL_SIGNAL(COMSIG_GLOB_ARCADE_PRIZEVEND)
|
||||
|
||||
if(LAZYLEN(special_prizes)) // Downstream wanted the 'win things inside contents sans circuitboard' feature kept.
|
||||
var/atom/movable/AM = pick_n_take(special_prizes)
|
||||
|
||||
@@ -131,6 +131,7 @@
|
||||
visible_message("\The [src] beeps loudly.")
|
||||
|
||||
var/datum/reagent/B = T.take_blood(beaker,amount)
|
||||
SEND_GLOBAL_SIGNAL(COMSIG_GLOB_DONATE_BLOOD, amount)
|
||||
|
||||
if(B)
|
||||
beaker.reagents.reagent_list |= B
|
||||
|
||||
@@ -452,6 +452,7 @@ ADMIN_VERB(spawn_mail, R_SPAWN, "Spawn Mail", "Spawn mail for a specific player,
|
||||
to_chat(user, span_notice("Succesful delivery acknowledged! [cargo_points] points added to Supply."))
|
||||
playsound(loc, 'sound/items/mail/mailapproved.ogg', 50, TRUE)
|
||||
SSsupply.points += cargo_points
|
||||
SEND_GLOBAL_SIGNAL(COMSIG_GLOB_MAIL_DELIVERED)
|
||||
|
||||
// JUNK MAIL STUFF
|
||||
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
update_icon()
|
||||
|
||||
/obj/machinery/anomaly_harvester/proc/add_points(add_points)
|
||||
SEND_GLOBAL_SIGNAL(COMSIG_GLOB_ANOMALY_HARVESTED, add_points)
|
||||
add_points *= efficiency
|
||||
points += add_points
|
||||
return
|
||||
|
||||
@@ -10,7 +10,8 @@
|
||||
new/datum/data/pda/app/notekeeper,
|
||||
new/datum/data/pda/app/news,
|
||||
new/datum/data/pda/app/messenger,
|
||||
new/datum/data/pda/app/game_launcher)
|
||||
new/datum/data/pda/app/game_launcher,
|
||||
new/datum/data/pda/app/goals)
|
||||
special_handling = TRUE
|
||||
|
||||
/obj/item/pda/ai/proc/set_name_and_job(newname as text, newjob as text, newrank as null|text)
|
||||
|
||||
Reference in New Issue
Block a user