mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-23 21:12:24 +01:00
Radiation refactor (#22158)
# Summary This PR refactors radiation values and cleans up custom radiation values without a definition. This also fixes #22155. ## Changes - Update ARMOR_RAD_STRONG 75 -> 70, now fits RAD_LEVEL_VERY_HIGH. - Update radiation level defines: - NONE = 0 - VERY_LOW = 1 (old LOW) - LOW = 10 - MODERATE = 25 - HIGH = 40 - VERY_HIGH = 70 (old value was 100) - EXTREME = 100 - CATASTROPHIC = 120 - Update a couple of rad values to their respective define name (with minor implicit balancing). - Remove the super awkward/LRP hairloss with high radiation exposure.
This commit is contained in:
@@ -76,36 +76,44 @@ ABSTRACT_TYPE(/obj/effect/decal/cleanable/greenglow/radioactive)
|
||||
. += "Characters directly adjacent to or on top of this object will be exposed to <b>[radioactivity] IU/s</b> of radiation. Radiation falls off (approximately) by 75% for every tile away you move."
|
||||
|
||||
/obj/effect/decal/cleanable/greenglow/radioactive/low
|
||||
radioactivity = 20
|
||||
radioactivity = RAD_LEVEL_LOW
|
||||
|
||||
/obj/effect/decal/cleanable/greenglow/radioactive/low/antagonist_hints(mob/user, distance, is_adjacent)
|
||||
. += ..()
|
||||
. += "Geiger counters will start clicking at ~5 tiles away from this object."
|
||||
. += "Geiger counters will start clicking at ~3 tiles away from this object."
|
||||
. += "Almost all voidsuits, including softsuits, provide sufficient protection to move safely adjacent to it."
|
||||
|
||||
/obj/effect/decal/cleanable/greenglow/radioactive/medium
|
||||
radioactivity = 40
|
||||
radioactivity = RAD_LEVEL_MODERATE
|
||||
|
||||
/obj/effect/decal/cleanable/greenglow/radioactive/medium/antagonist_hints(mob/user, distance, is_adjacent)
|
||||
. += ..()
|
||||
. += "Geiger counters will start clicking at ~8 tiles away from this object."
|
||||
. += "Geiger counters will start clicking at ~5 tiles away from this object."
|
||||
. += "An engineering or atmos voidsuit is necessary to move safely adjacent to it."
|
||||
|
||||
/obj/effect/decal/cleanable/greenglow/radioactive/high
|
||||
radioactivity = 80
|
||||
radioactivity = RAD_LEVEL_HIGH
|
||||
|
||||
/obj/effect/decal/cleanable/greenglow/radioactive/high/antagonist_hints(mob/user, distance, is_adjacent)
|
||||
. += ..()
|
||||
. += "Geiger counters will start clicking at ~10 tiles away from this object."
|
||||
. += "Geiger counters will start clicking at ~7 tiles away from this object."
|
||||
. += "A radsuit is necessary to move safely adjacent to it."
|
||||
|
||||
/obj/effect/decal/cleanable/greenglow/radioactive/very_high
|
||||
radioactivity = RAD_LEVEL_VERY_HIGH
|
||||
|
||||
/obj/effect/decal/cleanable/greenglow/radioactive/very_high/antagonist_hints(mob/user, distance, is_adjacent)
|
||||
. += ..()
|
||||
. += "Geiger counters will start clicking at ~11 tiles away from this object."
|
||||
. += "A radsuit is necessary to move safely adjacent to it."
|
||||
|
||||
/obj/effect/decal/cleanable/greenglow/radioactive/extreme
|
||||
/// This is higher than radsuits can absorb! Use with caution.
|
||||
radioactivity = 120
|
||||
radioactivity = RAD_LEVEL_CATASTROPHIC
|
||||
|
||||
/obj/effect/decal/cleanable/greenglow/radioactive/extreme/antagonist_hints(mob/user, distance, is_adjacent)
|
||||
. += ..()
|
||||
. += "Geiger counters will start clicking at ~12 tiles away from this object."
|
||||
. += "Geiger counters will start clicking at ~11 tiles away from this object."
|
||||
. += "No living thing can safely stand next to this object! Borgs or IPCs only!"
|
||||
|
||||
/obj/effect/decal/cleanable/greenglow/radioactive/Initialize()
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
/obj/item/geiger/feedback_hints(mob/user, distance, is_adjacent)
|
||||
. += ..()
|
||||
var/msg = "[scanning ? "ambient" : "stored"] Radiation level: <b>[radiation_count ? radiation_count : "0"] IU/s</b>."
|
||||
if(radiation_count > RAD_LEVEL_LOW)
|
||||
if(radiation_count > RAD_LEVEL_VERY_LOW)
|
||||
. += SPAN_WARNING("[msg]")
|
||||
else
|
||||
. += SPAN_NOTICE("[msg]")
|
||||
@@ -64,11 +64,11 @@
|
||||
|
||||
switch(radiation_count)
|
||||
if(null) icon_state = "geiger_on_1"
|
||||
if(-INFINITY to RAD_LEVEL_LOW)
|
||||
if(-INFINITY to RAD_LEVEL_VERY_LOW)
|
||||
icon_state = "geiger_on_1"
|
||||
geiger_volume = 0
|
||||
sound_token.SetVolume(geiger_volume)
|
||||
if(RAD_LEVEL_LOW + 0.01 to RAD_LEVEL_MODERATE)
|
||||
if(RAD_LEVEL_VERY_LOW + 0.01 to RAD_LEVEL_MODERATE)
|
||||
icon_state = "geiger_on_2"
|
||||
geiger_volume = 10
|
||||
sound_token.SetVolume(geiger_volume)
|
||||
@@ -76,11 +76,11 @@
|
||||
icon_state = "geiger_on_3"
|
||||
geiger_volume = 25
|
||||
sound_token.SetVolume(geiger_volume)
|
||||
if(RAD_LEVEL_HIGH + 1 to RAD_LEVEL_VERY_HIGH)
|
||||
if(RAD_LEVEL_HIGH + 1 to RAD_LEVEL_EXTREME)
|
||||
icon_state = "geiger_on_4"
|
||||
geiger_volume = 40
|
||||
sound_token.SetVolume(geiger_volume)
|
||||
if(RAD_LEVEL_VERY_HIGH + 1 to INFINITY)
|
||||
if(RAD_LEVEL_EXTREME + 1 to INFINITY)
|
||||
icon_state = "geiger_on_5"
|
||||
geiger_volume = 60
|
||||
sound_token.SetVolume(geiger_volume)
|
||||
|
||||
Reference in New Issue
Block a user