Bomb and Radioactivity Behaviors (#21593)

changes:
- balance: "Dirty bomb cleanable 'greenglow' decal left behind is now
actually radioactive to make it more persistently hazardous."
- balance: "'Radioactive waste' rare Warehouse spawn submap now uses
low-radioactivity variants for some of its contents and also been given
a radioactive gear crate."
- balance: "Adds increased taste_mult values to radioactive waste,
napalm, and nitroglycerin; it should be noticeable if your drink is
spiked with any of them."
- balance: "Both uranium and radioactive waste reagents will create
radioactive pools on the floor if spilled (uranium weak, radioactive
waste medium/strong)."
- balance: "Bombs are now allowed to be planted on any mob type except
for carbons."
- balance: "Increases the numbers of assemblies (signalers, igniters,
etc.) stocked in vending machines."
- rscadd: "Adds a radioactive waste chemical canister to the Uplink (5
tc)."
- code_imp: "Adds additional variants of greenglow/radioactive decal and
radioactive_waste/hazardous obj that are more or less radioactive for
mapping and ST use."
  - code_imp: "Cleans up bomb timer setting code and admin logging."
  - qol: "Adds more examine hints to reagent dispensers."
  - qol: "Adds more examine hints to bombs."
  
The 'radioactive waste chemical canister' item cost was set to 5 tc to
match the other 'hazardous chemical' antag item, the Chlorine Tank.
This commit is contained in:
Batrachophreno
2025-12-19 20:21:10 +00:00
committed by GitHub
parent 1c786f16c6
commit 55045bc606
17 changed files with 286 additions and 115 deletions
@@ -64,12 +64,57 @@
H.apply_radiation(5)
STOP_PROCESSING(SSprocessing, src)
ABSTRACT_TYPE(/obj/effect/decal/cleanable/greenglow/radioactive)
/// Radiation generated by SSradiation.radiate each process() tick.
var/radioactivity
light_range = 2
light_power = 0.6
light_color = "#64C864"
/obj/effect/decal/cleanable/greenglow/radioactive/antagonist_hints(mob/user, distance, is_adjacent)
. += ..()
. += "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
/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."
. += "Almost all voidsuits, including softsuits, provide sufficient protection to move safely adjacent to it."
/obj/effect/decal/cleanable/greenglow/radioactive/medium
radioactivity = 40
/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."
. += "An engineering or atmos voidsuit is necessary to move safely adjacent to it."
/obj/effect/decal/cleanable/greenglow/radioactive/high
radioactivity = 80
/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."
. += "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
/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."
. += "No living thing can safely stand next to this object! Borgs or IPCs only!"
/obj/effect/decal/cleanable/greenglow/radioactive/Initialize()
. = ..()
START_PROCESSING(SSprocessing, src)
/obj/effect/decal/cleanable/greenglow/radioactive/process()
SSradiation.radiate(src, 25)
SSradiation.radiate(src, radioactivity)
/obj/effect/decal/cleanable/cobweb
name = "cobweb"