mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-07-12 15:45:25 +01:00
[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:
@@ -56,7 +56,7 @@
|
||||
Get the job done, and we'll be one step closer to ending Nanotrasen's slave empire."
|
||||
focus = 70
|
||||
targeted_departments = list(DEPARTMENT_SCIENCE)
|
||||
theft_targets = list(/datum/theft_objective/reactive, /datum/theft_objective/documents, /datum/theft_objective/hand_tele)
|
||||
theft_targets = list(/datum/theft_objective/reactive, /datum/theft_objective/documents, /datum/theft_objective/hand_tele, /datum/theft_objective/anomalous_particulate)
|
||||
|
||||
/datum/antag_org/syndicate/electra // Mostly target Engineering
|
||||
name = "Electra Dynamics"
|
||||
@@ -64,7 +64,7 @@
|
||||
Nanotrasen's burgeoning monopoly must be stopped. We've transmitted you local points of failure, ensure they fail."
|
||||
focus = 70
|
||||
targeted_departments = list(DEPARTMENT_ENGINEERING)
|
||||
theft_targets = list(/datum/theft_objective/supermatter_sliver, /datum/theft_objective/plutonium_core, /datum/theft_objective/captains_modsuit, /datum/theft_objective/magboots)
|
||||
theft_targets = list(/datum/theft_objective/supermatter_sliver, /datum/theft_objective/plutonium_core, /datum/theft_objective/captains_modsuit, /datum/theft_objective/magboots, /datum/theft_objective/anomalous_particulate)
|
||||
|
||||
/datum/antag_org/syndicate/spiderclan // Targets one syndicate agent and one non-mindshielded crewmember.
|
||||
name = "Spider Clan"
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
/datum/event/anomalous_particulate_event
|
||||
|
||||
/datum/event/anomalous_particulate_event/start()
|
||||
var/particulate_to_activate = 2
|
||||
if(GLOB.anomaly_smash_track.smashes)
|
||||
for(var/obj/effect/anomalous_particulate/particulate_chosen in GLOB.anomaly_smash_track.smashes)
|
||||
if(particulate_to_activate)
|
||||
if(particulate_chosen.being_drained)
|
||||
continue
|
||||
new /obj/effect/visible_anomalous_particulate(particulate_chosen.drop_location())
|
||||
GLOB.anomaly_smash_track.num_drained++
|
||||
qdel(particulate_chosen)
|
||||
particulate_to_activate--
|
||||
continue
|
||||
break
|
||||
var/location_sanity = 0
|
||||
while(particulate_to_activate && location_sanity < 100)
|
||||
var/turf/chosen_location = get_safe_random_station_turf_equal_weight()
|
||||
|
||||
// We don't want them close to each other - at least 1 tile of separation
|
||||
var/list/nearby_things = range(1, chosen_location)
|
||||
var/obj/effect/anomalous_particulate/what_if_i_have_one = locate() in nearby_things
|
||||
var/obj/effect/visible_anomalous_particulate/what_if_i_had_one_but_its_used = locate() in nearby_things
|
||||
if(what_if_i_have_one || what_if_i_had_one_but_its_used)
|
||||
location_sanity++
|
||||
continue
|
||||
|
||||
new /obj/effect/visible_anomalous_particulate(chosen_location)
|
||||
particulate_to_activate--
|
||||
|
||||
@@ -192,7 +192,8 @@ GLOBAL_LIST_EMPTY(event_last_fired)
|
||||
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Disease Outbreak", /datum/event/disease_outbreak, 50, list(ASSIGNMENT_MEDICAL = 30), TRUE),
|
||||
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Door Runtime", /datum/event/door_runtime, 50, list(ASSIGNMENT_ENGINEER = 25, ASSIGNMENT_AI = 150), TRUE),
|
||||
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Tourist Arrivals", /datum/event/tourist_arrivals, 100, list(ASSIGNMENT_SECURITY = 15), TRUE),
|
||||
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Shuttle Loan", /datum/event/shuttle_loan, 100, list(ASSIGNMENT_CARGO = 15, ASSIGNMENT_SECURITY = 10), is_one_shot = TRUE)
|
||||
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Shuttle Loan", /datum/event/shuttle_loan, 100, list(ASSIGNMENT_CARGO = 15, ASSIGNMENT_SECURITY = 10), is_one_shot = TRUE),
|
||||
new /datum/event_meta(EVENT_LEVEL_MODERATE, "Anomalous Particulate", /datum/event/anomalous_particulate_event, 250, is_one_shot = TRUE),
|
||||
)
|
||||
|
||||
/datum/event_container/major
|
||||
|
||||
@@ -359,12 +359,15 @@
|
||||
var/datum/atom_hud/data/human/medadv = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED]
|
||||
var/datum/atom_hud/data/human/secbasic = GLOB.huds[DATA_HUD_SECURITY_BASIC]
|
||||
var/datum/atom_hud/data/human/secadv = GLOB.huds[DATA_HUD_SECURITY_ADVANCED]
|
||||
var/datum/atom_hud/data/anomalous = GLOB.huds[DATA_HUD_ANOMALOUS]
|
||||
if((H in medbasic.hudusers) || (H in medadv.hudusers))
|
||||
have_hudtypes += EXAMINE_HUD_MEDICAL_READ
|
||||
if(H in secadv.hudusers)
|
||||
have_hudtypes += EXAMINE_HUD_SECURITY_READ
|
||||
if(H in secbasic.hudusers)
|
||||
have_hudtypes += EXAMINE_HUD_SKILLS
|
||||
if(H in anomalous.hudusers)
|
||||
have_hudtypes += ANOMALOUS_HUD
|
||||
|
||||
var/user_accesses = M.get_access()
|
||||
var/secwrite = has_access(null, list(ACCESS_SECURITY, ACCESS_FORENSICS_LOCKERS), user_accesses) // same as obj/machinery/computer/secure_data/req_one_access
|
||||
|
||||
@@ -468,7 +468,7 @@ Difficulty: Hard
|
||||
var/obj/effect/anomaly/bluespace/A = new(spot, time_to_use, FALSE)
|
||||
A.mass_teleporting = FALSE
|
||||
if(GRAV)
|
||||
var/obj/effect/anomaly/grav/A = new(spot, time_to_use, FALSE, FALSE)
|
||||
var/obj/effect/anomaly/grav/A = new(spot, time_to_use, FALSE)
|
||||
A.knockdown = TRUE
|
||||
if(PYRO)
|
||||
var/obj/effect/anomaly/pyro/A = new(spot, time_to_use, FALSE)
|
||||
|
||||
@@ -76,6 +76,7 @@
|
||||
IMPTRACK_HUD = 'icons/mob/hud/sechud.dmi',
|
||||
PRESSURE_HUD = 'icons/effects/effects.dmi',
|
||||
MALF_AI_HUD = 'icons/mob/hud/malfhud.dmi',
|
||||
ANOMALOUS_HUD = 'icons/effects/effects.dmi',
|
||||
)
|
||||
|
||||
for(var/hud in hud_possible)
|
||||
|
||||
@@ -1070,7 +1070,7 @@
|
||||
var/obj/effect/anomaly/flux/A = new(L, 30 SECONDS, FALSE)
|
||||
A.explosive = FALSE
|
||||
if(GRAVITATIONAL_ANOMALY)
|
||||
new /obj/effect/anomaly/grav(L, 25 SECONDS, FALSE, FALSE)
|
||||
new /obj/effect/anomaly/grav(L, 25 SECONDS, FALSE)
|
||||
if(BLUESPACE_ANOMALY)
|
||||
new /obj/effect/anomaly/bluespace(L, 24 SECONDS, FALSE, FALSE, TRUE)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user