Adjustable timer for default grenades

This commit is contained in:
Ater Ignis
2012-11-01 21:05:02 +04:00
parent e79df68ef3
commit cbc31b9090
3 changed files with 43 additions and 2 deletions

View File

@@ -23,6 +23,8 @@
proc/process_activation(var/obj/item/device/D)
return
proc/detached()
return
IsAssemblyHolder()
@@ -197,7 +199,7 @@
/obj/item/device/assembly_holder/timer_igniter
name = "5sec timer-igniter assembly"
name = "timer-igniter assembly"
New()
..()
@@ -214,4 +216,40 @@
a_right = ign
secured = 1
update_icon()
name = initial(name) + " ([tmr.time] secs)"
loc.verbs += /obj/item/device/assembly_holder/timer_igniter/verb/configure
detached()
loc.verbs -= /obj/item/device/assembly_holder/timer_igniter/verb/configure
..()
verb/configure()
set name = "Set Timer"
set category = "Object"
set src in usr
if ( !(usr.stat || usr.restrained()) )
var/obj/item/device/assembly_holder/holder
if(istype(src,/obj/item/weapon/grenade/chem_grenade))
var/obj/item/weapon/grenade/chem_grenade/gren = src
holder=gren.detonator
var/obj/item/device/assembly/timer/tmr = holder.a_left
if(!istype(tmr,/obj/item/device/assembly/timer))
tmr = holder.a_right
if(!istype(tmr,/obj/item/device/assembly/timer))
usr << "<span class='notice'>This detonator has no timer.</span>"
return
if(tmr.timing)
usr << "<span class='notice'>Clock is ticking already.</span>"
else
var/ntime = input("Enter desired time in seconds", "Time", "5") as num
if (ntime>0 && ntime<1000)
tmr.time = ntime
name = initial(name) + "([tmr.time] secs)"
usr << "<span class='notice'>Timer set to [tmr.time] seconds.</span>"
else
usr << "<span class='notice'>Timer can't be [ntime<=0?"negative":"more than 1000 seconds"].</span>"
else
usr << "<span class='notice'>You cannot do this while [usr.stat?"unconscious/dead":"restrained"].</span>"

View File

@@ -20,7 +20,9 @@
activate()
if(!..()) return 0//Cooldown check
timing = !timing
update_icon()
return 0
@@ -37,7 +39,7 @@
timer_end()
if((!secured)||(cooldown > 0)) return 0
if(!secured) return 0
pulse(0)
if(!holder)
visible_message("\icon[src] *beep* *beep*", "*beep* *beep*")