Files
Aurora.3/code/game/objects/explosion.dm
Matt Atlas cadd19beac Ports the TG globals controller and converts globals. (#18057)
* SDQL2 update

* fix that verb

* cl

* fix that

* toworld

* this is pointless

* update info

* siiiiick..

* vv edit update

* fix that

* fix editing vars

* fix VV

* Port the /TG/ globals controller.

* part 1

* part 2

* oops

* part 3

* Hollow Purple

* sadas

* bsbsdb

* muda na agaki ta

* ids 1-15

* 16-31

* 41-75

* bring me back to how things used to be before i lost it all

* the strength of mayhem

* final touches

* cl

* protect some vars

* update sdql2 to use glob

* stuff?

* forgot that is not defined there

* whoops

* observ

* but it never gets better

* a

---------

Co-authored-by: Matt Atlas <liermattia@gmail.com>
2023-12-26 01:16:02 +00:00

52 lines
1.5 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 = GLOB.config.use_spreading_explosions)
UNLINT(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/thing in doppler_arrays)
var/obj/machinery/doppler_array/Array = thing
Array.sense_explosion(epicenter.x,epicenter.y,epicenter.z,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