mirror of
https://github.com/VOREStation/VOREStation.git
synced 2026-08-24 04:28:12 +01:00
Blind port of Bay Radiation Subsystem
This commit is contained in:
@@ -313,7 +313,7 @@
|
||||
radiation += plasma_temperature/2
|
||||
plasma_temperature = 0
|
||||
|
||||
radiation_repository.radiate(src, radiation)
|
||||
SSradiation.radiate(src, radiation)
|
||||
Radiate()
|
||||
|
||||
/obj/effect/fusion_em_field/proc/Radiate()
|
||||
@@ -522,7 +522,7 @@
|
||||
|
||||
//Reaction radiation is fairly buggy and there's at least three procs dealing with radiation here, this is to ensure constant radiation output.
|
||||
/obj/effect/fusion_em_field/proc/radiation_scale()
|
||||
radiation_repository.radiate(src, 2 + plasma_temperature / PLASMA_TEMP_RADIATION_DIVISIOR)
|
||||
SSradiation.radiate(src, 2 + plasma_temperature / PLASMA_TEMP_RADIATION_DIVISIOR)
|
||||
|
||||
//Somehow fixing the radiation issue managed to break this, but moving it to it's own proc seemed to have fixed it. I don't know.
|
||||
/obj/effect/fusion_em_field/proc/temp_dump()
|
||||
|
||||
@@ -46,7 +46,7 @@
|
||||
return PROCESS_KILL
|
||||
|
||||
if(istype(loc, /turf))
|
||||
radiation_repository.radiate(src, max(1,CEILING(radioactivity/30, 1)))
|
||||
SSradiation.radiate(src, max(1,CEILING(radioactivity/30, 1)))
|
||||
|
||||
/obj/item/weapon/fuel_assembly/Destroy()
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
|
||||
@@ -120,7 +120,7 @@ proc/get_fusion_reaction(var/p_react, var/s_react, var/m_energy)
|
||||
var/radiation_level = 200
|
||||
|
||||
// Copied from the SM for proof of concept. //Not any more --Cirra //Use the whole z proc --Leshana
|
||||
radiation_repository.z_radiate(locate(1, 1, holder.z), radiation_level, 1)
|
||||
SSradiation.z_radiate(locate(1, 1, holder.z), radiation_level, 1)
|
||||
|
||||
for(var/mob/living/mob in living_mob_list)
|
||||
var/turf/T = get_turf(mob)
|
||||
|
||||
@@ -399,13 +399,13 @@
|
||||
/obj/machinery/power/port_gen/pacman/super/UseFuel()
|
||||
//produces a tiny amount of radiation when in use
|
||||
if (prob(2*power_output))
|
||||
radiation_repository.radiate(src, 4)
|
||||
SSradiation.radiate(src, 4)
|
||||
..()
|
||||
|
||||
/obj/machinery/power/port_gen/pacman/super/explode()
|
||||
//a nice burst of radiation
|
||||
var/rads = 50 + (sheets + sheet_left)*1.5
|
||||
radiation_repository.radiate(src, (max(20, rads)))
|
||||
SSradiation.radiate(src, (max(20, rads)))
|
||||
|
||||
explosion(src.loc, 3, 3, 5, 3)
|
||||
qdel(src)
|
||||
|
||||
@@ -32,7 +32,7 @@ var/global/list/rad_collectors = list()
|
||||
|
||||
|
||||
if(P && active)
|
||||
var/rads = radiation_repository.get_rads_at_turf(get_turf(src))
|
||||
var/rads = SSradiation.get_rads_at_turf(get_turf(src))
|
||||
if(rads)
|
||||
receive_pulse(rads * 5) //Maths is hard
|
||||
|
||||
|
||||
@@ -142,13 +142,13 @@
|
||||
/obj/machinery/particle_smasher/process()
|
||||
if(!src.anchored) // Rapidly loses focus.
|
||||
if(energy)
|
||||
radiation_repository.radiate(src, round(((src.energy-150)/50)*5,1))
|
||||
SSradiation.radiate(src, round(((src.energy-150)/50)*5,1))
|
||||
energy = max(0, energy - 30)
|
||||
update_icon()
|
||||
return
|
||||
|
||||
if(energy)
|
||||
radiation_repository.radiate(src, round(((src.energy-150)/50)*5,1))
|
||||
SSradiation.radiate(src, round(((src.energy-150)/50)*5,1))
|
||||
energy = CLAMP(energy - 5, 0, max_energy)
|
||||
|
||||
return
|
||||
@@ -178,7 +178,7 @@
|
||||
if(successful_craft)
|
||||
visible_message("<span class='warning'>\The [src] fizzles.</span>")
|
||||
if(prob(33)) // Why are you blasting it after it's already done!
|
||||
radiation_repository.radiate(src, 10 + round(src.energy / 60, 1))
|
||||
SSradiation.radiate(src, 10 + round(src.energy / 60, 1))
|
||||
energy = max(0, energy - 30)
|
||||
update_icon()
|
||||
return
|
||||
|
||||
@@ -408,7 +408,7 @@ GLOBAL_LIST_BOILERPLATE(all_singularities, /obj/singularity)
|
||||
if (src.energy>200)
|
||||
toxdamage = round(((src.energy-150)/50)*4,1)
|
||||
radiation = round(((src.energy-150)/50)*5,1)
|
||||
radiation_repository.radiate(src, radiation) //Always radiate at max, so a decent dose of radiation is applied
|
||||
SSradiation.radiate(src, radiation) //Always radiate at max, so a decent dose of radiation is applied
|
||||
for(var/mob/living/M in view(toxrange, src.loc))
|
||||
if(M.status_flags & GODMODE)
|
||||
continue
|
||||
@@ -451,7 +451,7 @@ GLOBAL_LIST_BOILERPLATE(all_singularities, /obj/singularity)
|
||||
M << "<span class=\"danger\">You hear an uneartly ringing, then what sounds like a shrilling kettle as you are washed with a wave of heat.</span>"
|
||||
M << "<span class=\"danger\">You don't even have a moment to react as you are reduced to ashes by the intense radiation.</span>"
|
||||
M.dust()
|
||||
radiation_repository.radiate(src, rand(energy))
|
||||
SSradiation.radiate(src, rand(energy))
|
||||
return
|
||||
|
||||
/obj/singularity/proc/pulse()
|
||||
|
||||
@@ -141,7 +141,7 @@
|
||||
if(!TS)
|
||||
return
|
||||
for(var/z in GetConnectedZlevels(TS.z))
|
||||
radiation_repository.z_radiate(locate(1, 1, z), DETONATION_RADS, 1)
|
||||
SSradiation.z_radiate(locate(1, 1, z), DETONATION_RADS, 1)
|
||||
for(var/mob/living/mob in living_mob_list)
|
||||
var/turf/T = get_turf(mob)
|
||||
if(T && (loc.z == T.z))
|
||||
@@ -311,7 +311,7 @@
|
||||
if(!istype(l.glasses, /obj/item/clothing/glasses/meson)) // VOREStation Edit - Only mesons can protect you!
|
||||
l.hallucination = max(0, min(200, l.hallucination + power * config_hallucination_power * sqrt( 1 / max(1,get_dist(l, src)) ) ) )
|
||||
|
||||
radiation_repository.radiate(src, max(power * 1.5, 50) ) //Better close those shutters!
|
||||
SSradiation.radiate(src, max(power * 1.5, 50) ) //Better close those shutters!
|
||||
|
||||
power -= (power/DECAY_FACTOR)**3 //energy losses due to radiation
|
||||
|
||||
@@ -424,7 +424,7 @@
|
||||
else
|
||||
l.show_message("<span class=\"warning\">You hear an uneartly ringing and notice your skin is covered in fresh radiation burns.</span>", 2)
|
||||
var/rads = 500
|
||||
radiation_repository.radiate(src, rads)
|
||||
SSradiation.radiate(src, rads)
|
||||
|
||||
/proc/supermatter_pull(var/atom/target, var/pull_range = 255, var/pull_power = STAGE_FIVE)
|
||||
for(var/atom/A in range(pull_range, target))
|
||||
@@ -467,7 +467,7 @@
|
||||
return ..()
|
||||
|
||||
/obj/item/broken_sm/process()
|
||||
radiation_repository.radiate(src, 50)
|
||||
SSradiation.radiate(src, 50)
|
||||
|
||||
/obj/item/broken_sm/Destroy()
|
||||
STOP_PROCESSING(SSobj, src)
|
||||
|
||||
Reference in New Issue
Block a user