ID:175050
 
Here is the code :

verb
sui()
set name = "Kamikaze Suicide Blast"
set category = "Fighting"
if(usr.kame == 1)
usr << "You are firing something already."
if(usr.kame == 0)
var/dam = 0 as num|null
dam = usr.powerlevel
usr.kame = 1
view(6) << "[usr] : KAAAA!!!"
sleep(2)
view(6) << "[usr] : MIIII!!!"
sleep(2)
view(6) << "[usr] : KAAAA!!!"
sleep(2)
view(6) << "[usr] : ZEEEE!!!"
sleep(2)
view(6) << "[usr] : SUICIDE!!!"
sleep(2)
view(6) << "[usr] : BLAST!!!"
sleep(2)
usr.kame = 0
sleep(5)
for(var/mob/M in oview(6))
M.powerlevel -= dam * usr.Str / M.Def
M.Die()
usr.powerlevel -= (dam + 1)
usr.icon_state = ""
usr.Die()

This is meant to kill the person using the verb and ALL of the people and monsters in the surrounding area...it does BUT it takes ages, like 30 seconds a monster, and then the person at the end

Anyway to speed up the killing?
It's a rather simple error actually, I ran into the same thing about a week ago trying to make a smokescreen, the first smoke would appear, make its 10 moves, dissapear then the second would appear.The problem is where your calling M.Die(). It waits for M.Die() to run through before moving onto the next mob. You need to spawn() off M.die():

for(var/mob/M in oview(6))
M.powerlevel -= dam * usr.Str / M.Def
spawn() M.Die()

That way, you'll have a nice kamikaze attack, or in my case a smokescreen :)
In response to Nick231
Thankz man
...
Nick231!!!
Sweet, Nick231 helped me!!!

That is sooo cool!

Thank you!