mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-30 00:21:11 +01:00
Resolves #152
While not exactly a bug, I think it would be logical that blastdoors and such block some level of radiation. As such, if you aren't in full view of the SM, the effective range of the radiation is taken down by 1/3rd. This will make the monitoring room safer.
This commit is contained in:
@@ -126,7 +126,7 @@
|
||||
integrity = round(100 - integrity * 100)
|
||||
integrity = integrity < 0 ? 0 : integrity
|
||||
var/alert_msg = " Integrity at [integrity]%"
|
||||
|
||||
|
||||
if(damage > emergency_point)
|
||||
alert_msg = emergency_alert + alert_msg
|
||||
lastwarning = world.timeofday - WARNING_DELAY * 4
|
||||
@@ -149,7 +149,7 @@
|
||||
else if(safe_warned && public_alert)
|
||||
radio.autosay(alert_msg, "Supermatter Monitor")
|
||||
public_alert = 0
|
||||
|
||||
|
||||
|
||||
/obj/machinery/power/supermatter/process()
|
||||
|
||||
@@ -243,9 +243,13 @@
|
||||
|
||||
//adjusted range so that a power of 170 (pretty high) results in 9 tiles, roughly the distance from the core to the engine monitoring room.
|
||||
//note that the rads given at the maximum range is a constant 0.2 - as power increases the maximum range merely increases.
|
||||
for(var/mob/living/l in range(src, round(sqrt(power / 2))))
|
||||
//adjusted to pseudo take into account obstacles in the way (1/3rd of the range is dropped if no direct visibility between core and target is)
|
||||
var/rad_range = round(sqrt(power / 2))
|
||||
for(var/mob/living/l in range(src, rad_range))
|
||||
var/radius = max(get_dist(l, src), 1)
|
||||
var/rads = (power / 10) * ( 1 / (radius**2) )
|
||||
if (!(l in oview(rad_range, src)) && !(l in range(src, round(rad_range * 2/3))))
|
||||
continue
|
||||
l.apply_effect(rads, IRRADIATE)
|
||||
|
||||
power -= (power/DECAY_FACTOR)**3 //energy losses due to radiation
|
||||
|
||||
Reference in New Issue
Block a user