mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2025-12-23 16:42:13 +00:00
Remaps toxin to be a significantly more pleasing area to work in. Everything was tested thoroughly, save for the doppler array which should be easy to fix if anything is broken.
68 lines
1.9 KiB
Plaintext
68 lines
1.9 KiB
Plaintext
// explosion logic is in code/controllers/Processes/explosives.dm now
|
|
|
|
/proc/explosion(turf/epicenter, devastation_range, heavy_impact_range, light_impact_range, flash_range, adminlog = 1, z_transfer = UP|DOWN, spreading = config.use_spreading_explosions)
|
|
src = null //so we don't abort once src is deleted
|
|
var/datum/explosiondata/data = new
|
|
data.epicenter = epicenter
|
|
data.devastation_range = devastation_range
|
|
data.heavy_impact_range = heavy_impact_range
|
|
data.light_impact_range = light_impact_range
|
|
data.flash_range = flash_range
|
|
data.adminlog = adminlog
|
|
data.z_transfer = z_transfer
|
|
data.spreading = spreading
|
|
data.rec_pow = max(0,devastation_range) * 2 + max(0,heavy_impact_range) + max(0,light_impact_range)
|
|
|
|
// queue work
|
|
SSexplosives.queue(data)
|
|
|
|
//Machines which report explosions.
|
|
for(var/i,i<=doppler_arrays.len,i++)
|
|
var/obj/machinery/doppler_array/Array = doppler_arrays[i]
|
|
if(Array)
|
|
var/x0 = epicenter.x
|
|
var/y0 = epicenter.y
|
|
var/z0 = epicenter.z
|
|
Array.sense_explosion(x0,y0,z0,devastation_range,heavy_impact_range,light_impact_range)
|
|
|
|
// == Recursive Explosions stuff ==
|
|
|
|
/client/proc/kaboom()
|
|
var/power = input(src, "power?", "power?") as num
|
|
var/turf/T = get_turf(src.mob)
|
|
var/datum/explosiondata/d = new
|
|
d.spreading = TRUE
|
|
d.epicenter = T
|
|
d.rec_pow = power
|
|
SSexplosives.queue(d)
|
|
|
|
/atom
|
|
var/explosion_resistance
|
|
|
|
/turf/space
|
|
explosion_resistance = 3
|
|
|
|
/turf/simulated/open
|
|
explosion_resistance = 3
|
|
|
|
/turf/simulated/floor
|
|
explosion_resistance = 1
|
|
|
|
/turf/simulated/mineral
|
|
explosion_resistance = 2
|
|
|
|
/turf/simulated/shuttle/floor
|
|
explosion_resistance = 1
|
|
|
|
/turf/simulated/shuttle/floor4
|
|
explosion_resistance = 1
|
|
|
|
/turf/simulated/shuttle/plating
|
|
explosion_resistance = 1
|
|
|
|
/turf/simulated/shuttle/wall
|
|
explosion_resistance = 10
|
|
|
|
/turf/simulated/wall
|
|
explosion_resistance = 10
|