cleans up mines

This commit is contained in:
Delimusca
2015-02-17 00:08:28 -07:00
parent a62c0333d6
commit f12d3d9fbf
+22 -53
View File
@@ -1,12 +1,12 @@
/obj/effect/mine
name = "mine"
desc = "I Better stay away from that thing."
density = 1
name = "proximity mine"
desc = "Better stay away from that thing."
density = 0
anchored = 1
layer = 3
icon = 'icons/obj/weapons.dmi'
icon_state = "uglymine"
var/triggerproc = "explode" //name of the proc thats called when the mine is triggered
var/minepayload = "explode"
var/triggered = 0
/obj/effect/mine/New()
@@ -15,74 +15,43 @@
/obj/effect/mine/Crossed(AM as mob|obj)
Bumped(AM)
/obj/effect/mine/Bumped(mob/M as mob|obj)
/obj/effect/mine/Bumped(AM as mob|obj)
if(triggered) return
visible_message("<span class='danger'>[AM] sets off \icon[src] [src]!</span>")
triggermine(AM, minepayload)
if(istype(M, /mob/living/carbon/human) || istype(M, /mob/living/carbon/monkey))
for(var/mob/O in viewers(world.view, src.loc))
O << "<font color='red'>[M] triggered the \icon[src] [src]</font>"
triggered = 1
call(src,triggerproc)(M)
/obj/effect/mine/proc/triggerrad(obj)
/obj/effect/mine/proc/triggermine(mob/victim, var/triggertype)
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
s.set_up(3, 1, src)
s.start()
obj:radiation += 50
randmutb(obj)
domutcheck(obj)
qdel(src)
/obj/effect/mine/proc/triggerstun(obj)
if(ismob(obj))
var/mob/M = obj
M.Stun(30)
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
s.set_up(3, 1, src)
s.start()
qdel(src)
switch(triggertype)
if("explode")
explosion(loc, 0, 1, 2, 3)
if("triggerplasma")
atmos_spawn_air(SPAWN_TOXINS, 360)
if("triggern2o")
atmos_spawn_air(SPAWN_N2O, 360)
if("triggerstun")
if(isliving(victim))
victim.Weaken(8)
/obj/effect/mine/proc/triggern2o(obj)
atmos_spawn_air("n2o", 360)
qdel(src)
/obj/effect/mine/proc/triggerplasma(obj)
atmos_spawn_air(SPAWN_HEAT | SPAWN_TOXINS, 360)
triggered = 1
qdel(src)
/obj/effect/mine/proc/triggerkick(obj)
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
s.set_up(3, 1, src)
s.start()
del(obj:client)
qdel(src)
/obj/effect/mine/proc/explode(obj)
explosion(loc, 0, 1, 2, 3)
qdel(src)
/obj/effect/mine/dnascramble
name = "radiation mine"
icon_state = "uglymine"
triggerproc = "triggerrad"
/obj/effect/mine/plasma
name = "plasma mine"
icon_state = "uglymine"
triggerproc = "triggerplasma"
/obj/effect/mine/kick
name = "kick mine"
icon_state = "uglymine"
triggerproc = "triggerkick"
minepayload = "triggerplasma"
/obj/effect/mine/n2o
name = "\improper N2O mine"
icon_state = "uglymine"
triggerproc = "triggern2o"
minepayload = "triggern2o"
/obj/effect/mine/stun
name = "stun mine"
icon_state = "uglymine"
triggerproc = "triggerstun"
minepayload = "triggerstun"