[PTBF] [ready for review] Anomalous particulate processing objective. (#30649)

* pausing work on this till pickweight

* push

* more stuff

* proper file it

* these 2 would be interested

* and examine fix

* I should be more awake before resolving merge conflicts

* god you are stupid stop commiting every 2 seconds

* temp buff size change

* Event inhand descriptions

* behold the c o d e

* the rest of the owl

* sprite correction

* 2 more words to the list

* and this one

* yes I am having too much fun with this

* m o r e

* better glow, tech levels

* Apply suggestions from code review

Co-authored-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
Signed-off-by: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com>

* message admins, variable

* Apply suggestions from code review

Co-authored-by: Taurtura <141481662+Taurtura@users.noreply.github.com>
Signed-off-by: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com>

* PPPProcessor

---------

Signed-off-by: Qwertytoforty <52090703+Qwertytoforty@users.noreply.github.com>
Co-authored-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
Co-authored-by: Taurtura <141481662+Taurtura@users.noreply.github.com>
This commit is contained in:
Qwertytoforty
2025-10-25 01:01:03 +00:00
committed by GitHub
co-authored by PollardTheDragon Taurtura
parent 07b2f76367
commit 2ecff9033a
27 changed files with 1009 additions and 38 deletions
+7 -1
View File
@@ -632,7 +632,7 @@ GLOBAL_LIST_INIT(potential_theft_objectives, (subtypesof(/datum/theft_objective)
steal_target = O
update_explanation_text()
if(steal_target.special_equipment)
give_kit(steal_target.special_equipment)
hand_out_equipment()
return
explanation_text = "Free Objective."
@@ -667,9 +667,15 @@ GLOBAL_LIST_INIT(potential_theft_objectives, (subtypesof(/datum/theft_objective)
return steal_target
/datum/objective/steal/proc/hand_out_equipment()
steal_target?.on_hand_out_equipment(src)
give_kit(steal_target?.special_equipment)
/datum/objective/steal/update_explanation_text()
if(steal_target.objective_name_overide)
explanation_text = steal_target.objective_name_overide
explanation_text += steal_target.extra_information
return
explanation_text = "Steal [steal_target.name]. One was last seen in [get_location()]. "
if(length(steal_target.protected_jobs) && steal_target.job_possession)
explanation_text += "It may also be in the possession of the [english_list(steal_target.protected_jobs, and_text = " or ")]. "
+23
View File
@@ -15,6 +15,8 @@
var/job_possession = TRUE
/// Any extra information about the objective
var/extra_information = ""
/// Do we overide naming to not say steal at the front?
var/objective_name_overide = null
/datum/theft_objective/proc/check_completion(datum/mind/owner)
if(!owner.current)
@@ -35,6 +37,9 @@
/datum/proc/check_special_completion() //for objectives with special checks (is that slime extract unused? does that intellicard have an ai in it? etcetc)
return 1
/datum/theft_objective/proc/on_hand_out_equipment(datum/objective/steal/our_objective)
return
/datum/theft_objective/antique_laser_gun
name = "the captain's antique laser gun"
typepath = /obj/item/gun/energy/laser/captain
@@ -155,6 +160,24 @@
protected_jobs = list("Quartermaster")
job_possession = FALSE
/datum/theft_objective/anomalous_particulate
name = "Anomalous particulate."
objective_name_overide = "Collect 3 clouds of anomalous particulate, and return with the PPPProcessor. Check your bag for further instructions"
special_equipment = /obj/item/storage/box/syndie_kit/anomalous_particulate
job_possession = FALSE
/datum/theft_objective/anomalous_particulate/on_hand_out_equipment(datum/objective/steal/our_objective)
. = ..()
var/our_chosen_owner = our_objective.get_owners()
GLOB.anomaly_smash_track.add_tracked_mind(our_chosen_owner[1])
/datum/theft_objective/anomalous_particulate/check_special_completion(obj/item/I)
if(!istype(I, /obj/item/ppp_processor))
return FALSE
var/obj/item/ppp_processor/did_we_process = I
if(did_we_process.fully_processed_particulate)
return TRUE
/datum/theft_objective/engraved_dusters
name = "the quartermaster's engraved knuckledusters"
typepath = /obj/item/melee/knuckleduster/nanotrasen