mirror of
https://github.com/goonstation/goonstation-2016.git
synced 2026-08-25 15:06:13 +01:00
im really good at git
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
var/datum/explosion_controller/explosions
|
||||
|
||||
/datum/explosion_controller
|
||||
var/list/queued = list()
|
||||
|
||||
proc/queue(atom/source, turf/epicenter, power, brisance = 1)
|
||||
queued += new/datum/explosion(source, epicenter, power, brisance)
|
||||
|
||||
proc/process()
|
||||
if (queued.len)
|
||||
var/datum/explosion/E = queued[1]
|
||||
queued -= E
|
||||
E.fire()
|
||||
|
||||
/datum/explosion
|
||||
var/atom/source
|
||||
var/turf/epicenter
|
||||
var/power
|
||||
var/brisance
|
||||
|
||||
New(atom/source, turf/epicenter, power, brisance)
|
||||
src.source = source
|
||||
src.epicenter = epicenter
|
||||
src.power = power
|
||||
src.brisance = brisance
|
||||
|
||||
proc/fire()
|
||||
handle_queued_explosion_dont_call_this_one_directly_fucknuts(source, epicenter, power, brisance)
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
// handles timed player actions
|
||||
datum/controller/process/explosions
|
||||
var/datum/explosion_controller/explosion_controller
|
||||
|
||||
setup()
|
||||
name = "Explosions"
|
||||
schedule_interval = 5
|
||||
|
||||
explosion_controller = explosions
|
||||
|
||||
doWork()
|
||||
explosion_controller.process()
|
||||
Reference in New Issue
Block a user