Files
Aurora.3/code/game/objects/explosion.dm
fernerr 8ca8760c21 Replaces all instances of /turf/simulated/shuttle with simulated/wall/shuttle or simulated/floor/shuttle counterparts. (#7315)
Replaced all the snowflakey shuttle turfs with either /turf/simulated/wall/shuttle or /turf/simulated/floor/shuttle where I could, meaning shuttles are no longer indestructible but they can still take a lot of punishment.
    Added a few unsimulated turf variants to use on the cc z-level rather than having to use their simulated counterparts.
    Added smooth dark shuttle wall icons and a few more shuttle floor variants by AmoryBlaine.
    Fixed the dark shuttle corner blocks from looking weird after transit.
    A side effect of removing these shuttle turf types, conjure spells will now work inside of shuttles that used these removed turfs. Could perhaps be readded using areas if needed.

This is part 1 of the stuff from #5771 which will be split up and added in smaller batches beginning with adding the turf types with this pr.
2019-11-04 21:59:28 +02:00

56 lines
1.6 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/wall
explosion_resistance = 10