mirror of
https://github.com/yogstation13/Yogstation.git
synced 2025-02-26 09:04:50 +00:00
Refactors landmines
Replaced the minepayload var and the switch() in triggermine() with a proc for the mine's effect. Removed unnessecary New() proc. Removed the existing uglymine icon state and renamed uglyminearmed to uglymine.
This commit is contained in:
@@ -6,11 +6,10 @@
|
||||
layer = 3
|
||||
icon = 'icons/obj/weapons.dmi'
|
||||
icon_state = "uglymine"
|
||||
var/minepayload = "explosive"
|
||||
var/triggered = 0
|
||||
|
||||
/obj/effect/mine/New()
|
||||
icon_state = "uglyminearmed"
|
||||
/obj/effect/mine/proc/mineEffect(mob/victim)
|
||||
explosion(loc, 0, 1, 2, 3)
|
||||
|
||||
/obj/effect/mine/Crossed(AM as mob|obj)
|
||||
if(isanimal(AM))
|
||||
@@ -24,48 +23,42 @@
|
||||
|
||||
if(triggered) return
|
||||
visible_message("<span class='danger'>[AM] sets off \icon[src] [src]!</span>")
|
||||
triggermine(AM, minepayload)
|
||||
triggermine(AM)
|
||||
|
||||
/obj/effect/mine/proc/triggermine(mob/victim, var/triggertype)
|
||||
/obj/effect/mine/proc/triggermine(mob/victim)
|
||||
var/datum/effect/effect/system/spark_spread/s = new /datum/effect/effect/system/spark_spread
|
||||
s.set_up(3, 1, src)
|
||||
s.start()
|
||||
|
||||
switch(triggertype)
|
||||
if("explosive")
|
||||
explosion(loc, 0, 1, 2, 3)
|
||||
if("triggerkick")
|
||||
if(isliving(victim) && victim.client)
|
||||
victim << "<font color='red'><b>You have been kicked FOR NO REISIN!<b></font>"
|
||||
del(victim.client)
|
||||
if("triggerplasma")
|
||||
atmos_spawn_air(SPAWN_TOXINS, 360)
|
||||
if("triggern2o")
|
||||
atmos_spawn_air(SPAWN_N2O, 360)
|
||||
if("triggerstun")
|
||||
if(isliving(victim))
|
||||
victim.Weaken(8)
|
||||
|
||||
|
||||
mineEffect(victim)
|
||||
triggered = 1
|
||||
qdel(src)
|
||||
|
||||
|
||||
/obj/effect/mine/plasma
|
||||
name = "plasma mine"
|
||||
icon_state = "uglymine"
|
||||
minepayload = "triggerplasma"
|
||||
|
||||
/obj/effect/mine/plasma/mineEffect(mob/victim)
|
||||
atmos_spawn_air(SPAWN_TOXINS, 360)
|
||||
|
||||
|
||||
/obj/effect/mine/n2o
|
||||
name = "\improper N2O mine"
|
||||
icon_state = "uglymine"
|
||||
minepayload = "triggern2o"
|
||||
|
||||
/obj/effect/mine/n2o/mineEffect(mob/victim)
|
||||
atmos_spawn_air(SPAWN_N2O, 360)
|
||||
|
||||
|
||||
/obj/effect/mine/stun
|
||||
name = "stun mine"
|
||||
icon_state = "uglymine"
|
||||
minepayload = "triggerstun"
|
||||
|
||||
/obj/effect/mine/stun/mineEffect(mob/victim)
|
||||
if(isliving(victim))
|
||||
victim.Weaken(8)
|
||||
|
||||
/obj/effect/mine/kickmine
|
||||
name = "kick mine"
|
||||
icon_state = "uglymine"
|
||||
minepayload = "triggerkick"
|
||||
|
||||
/obj/effect/mine/kickmine/mineEffect(mob/victim)
|
||||
if(isliving(victim) && victim.client)
|
||||
victim << "<font color='red'><b>You have been kicked FOR NO REISIN!<b></font>"
|
||||
del(victim.client)
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
Reference in New Issue
Block a user