mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-23 05:00:55 +01:00
[MIRROR] [NO-GBP] Warns viro of radioactive resonance absence [MDB IGNORE] (#22724)
* [NO-GBP] Warns viro of radioactive resonance absence (#77119) There was no in-game way for the viro to know the radioactive resonance sympton couldn't be rolled (during rad nebula) Now it sends a fax to the virologist, or if there's no fax it sends a supplypod straight at the virologist with a fax machine and then sends the fax 🆑 qol: The virologist is warned when radioactive resonance cannot be obtained /🆑 * [NO-GBP] Warns viro of radioactive resonance absence --------- Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
This commit is contained in:
committed by
nevimer
co-authored by
Time-Green
parent
c4e083f561
commit
5e8bb32248
@@ -572,6 +572,10 @@
|
||||
//if engineering isnt valid, just send it to the bridge
|
||||
send_supply_pod_to_area(supply_pack_shielding.generate(null), /area/station/command/bridge, /obj/structure/closet/supplypod/centcompod)
|
||||
|
||||
// Let the viro know resistence is futile
|
||||
send_fax_to_area(new /obj/item/paper/fluff/radiation_nebula_virologist(), /area/station/medical/virology, "NT Virology Department", \
|
||||
force = TRUE, force_pod_type = /obj/structure/closet/supplypod/centcompod)
|
||||
|
||||
//Disables radstorms, they don't really make sense since we already have the nebula causing storms
|
||||
var/datum/round_event_control/modified_event = locate(/datum/round_event_control/radiation_storm) in SSevents.control
|
||||
modified_event.weight = 0
|
||||
|
||||
@@ -119,7 +119,7 @@
|
||||
|
||||
..()
|
||||
|
||||
///Small explanation for engineering on how to set-up the radioactive nebula shielding
|
||||
/// Small explanation for engineering on how to set-up the radioactive nebula shielding
|
||||
/obj/item/paper/fluff/radiation_nebula
|
||||
name = "radioactive nebula shielding"
|
||||
default_raw_text = {"EXTREME IMPORTANCE!!!! <br>
|
||||
@@ -127,3 +127,11 @@
|
||||
Shielding units passively generate tritium, so make sure to properly ventilate/isolate the area before setting up a shielding unit!
|
||||
More circuit boards can be ordered through cargo. Consider setting up auxillary shielding units in-case of destruction, power loss or sabotage.
|
||||
"}
|
||||
|
||||
/// Warns the viro that they can't use radioactive resonance
|
||||
/obj/item/paper/fluff/radiation_nebula_virologist
|
||||
name = "radioactive resonance"
|
||||
default_raw_text = {"EXTREME IMPORTANCE!!!! <br>
|
||||
During routine bloodscreening on employees working in the nebula, we found no traces of the sympton called 'Radioactive Resonance'. <br>
|
||||
Something inside the nebula is interfering with it, be wary of a more shallow viral genepool.
|
||||
"}
|
||||
|
||||
@@ -519,3 +519,28 @@ GLOBAL_VAR_INIT(nt_fax_department, pick("NT HR Department", "NT Legal Department
|
||||
|
||||
return .
|
||||
|
||||
/// Sends a fax to a fax machine in an area! fax_area is a type, where all subtypes are also queried. If multiple machines, one is randomly picked
|
||||
/// If force is TRUE, we send a droppod with a fax machine and fax the message to that fax machine
|
||||
/proc/send_fax_to_area(obj/item/fax_item, area_type, sender, force = FALSE, force_pod_type)
|
||||
var/list/fax_machines = SSmachines.get_machines_by_type_and_subtypes(/obj/machinery/fax)
|
||||
var/list/valid_fax_machines = list()
|
||||
|
||||
for(var/obj/machinery/fax as anything in fax_machines) //get valid fax machines
|
||||
var/area/fax_area = get_area(fax)
|
||||
if(istype(fax_area, area_type))
|
||||
valid_fax_machines += fax
|
||||
|
||||
// Pick a fax machine and send the fax
|
||||
if(valid_fax_machines.len)
|
||||
var/obj/machinery/fax/target_fax = pick(valid_fax_machines)
|
||||
target_fax.receive(fax_item, sender)
|
||||
|
||||
else if(force) //no fax machines but we really gotte send? SEND A FAX MACHINE
|
||||
var/obj/machinery/fax/new_fax_machine = new ()
|
||||
send_supply_pod_to_area(new_fax_machine, area_type, force_pod_type)
|
||||
addtimer(CALLBACK(new_fax_machine, TYPE_PROC_REF(/obj/machinery/fax, receive), fax_item, sender), 10 SECONDS)
|
||||
|
||||
else
|
||||
return FALSE
|
||||
return TRUE
|
||||
|
||||
|
||||
Reference in New Issue
Block a user