mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-22 20:43:10 +01:00
Ports the radiation subsystem and cleans up damage flags. (#15715)
This commit is contained in:
@@ -139,8 +139,7 @@
|
||||
//Hilariously enough, running into a closet should make you get hit the hardest.
|
||||
var/mob/living/carbon/human/H = mob
|
||||
H.hallucination += max(50, min(300, DETONATION_HALLUCINATION * sqrt(1 / (get_dist(mob, src) + 1)) ) )
|
||||
var/rads = DETONATION_RADS * sqrt( 1 / (get_dist(mob, src) + 1) )
|
||||
mob.apply_effect(rads, IRRADIATE)
|
||||
SSradiation.z_radiate(locate(1, 1, z), DETONATION_RADS, TRUE)
|
||||
spawn(pull_time)
|
||||
explosion(get_turf(src), explosion_power, explosion_power * 2, explosion_power * 3, explosion_power * 4, 1)
|
||||
qdel(src)
|
||||
@@ -321,11 +320,11 @@
|
||||
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_damage(rads, IRRADIATE, damage_flags = DAM_DISPERSED)
|
||||
l.apply_damage(rads, DAMAGE_RADIATION, damage_flags = DAMAGE_FLAG_DISPERSED)
|
||||
if(l.is_diona())
|
||||
l.adjustToxLoss(-rads)
|
||||
if(last_message_time + 800 < world.time) // Not to spam message
|
||||
to_chat(l, "<span class='notice'>You can feel an extreme level of energy which flows throught your body and makes you regenerate very fast.</span>")
|
||||
to_chat(l, "<span class='notice'>You can feel an extreme level of energy which flows through your body and makes you regenerate very fast.</span>")
|
||||
last_message_time = world.time
|
||||
|
||||
power -= (power/DECAY_FACTOR)**3 //energy losses due to radiation
|
||||
@@ -393,7 +392,7 @@
|
||||
user.drop_from_inventory(W)
|
||||
Consume(W)
|
||||
|
||||
user.apply_damage(150, IRRADIATE, damage_flags = DAM_DISPERSED)
|
||||
user.apply_damage(150, DAMAGE_RADIATION, damage_flags = DAMAGE_FLAG_DISPERSED)
|
||||
|
||||
|
||||
/obj/machinery/power/supermatter/CollidedWith(atom/AM as mob|obj)
|
||||
@@ -429,15 +428,9 @@
|
||||
power += 200
|
||||
|
||||
//Some poor sod got eaten, go ahead and irradiate people nearby.
|
||||
for(var/mob/living/l in range(10))
|
||||
if(l in view())
|
||||
l.show_message("<span class=\"warning\">As \the [src] slowly stops resonating, you find your skin covered in new radiation burns.</span>", 1,\
|
||||
"<span class=\"warning\">The unearthly ringing subsides and you notice you have new radiation burns.</span>", 2)
|
||||
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 * sqrt( 1 / (get_dist(l, src) + 1) )
|
||||
l.apply_damage(rads, IRRADIATE, damage_flags = DAM_DISPERSED)
|
||||
|
||||
for(var/mob/living/L in view(10))
|
||||
to_chat(L, SPAN_WARNING("As \the [src] slowly stops resonating, you find your skin covered in new radiation burns."))
|
||||
SSradiation.radiate(src, 500)
|
||||
|
||||
/obj/machinery/power/supermatter/proc/supermatter_pull()
|
||||
//following is adapted from singulo code
|
||||
|
||||
Reference in New Issue
Block a user