ID:140349
 
Code:
obj
Blast
icon = 'akumablast.dmi'
density = 1
Bump(A)
if(ismob(A))
var/mob/M = A
if(M.PK==0||M.friendly)
return
var/damage = round(src.nin*1.25)
if(damage >= 1)
M.health -= damage
view(M) << "[M] was hit with the blast for [damage] damage!!"

del(src)
M.Death(usr)
del(src)
if(istype(A,/turf/))
var/turf/T = A
if(T.density)
del(src)
if(istype(A,/obj/))
del(src)


Problem description:

For some reason the object hitting the opponent deducts the health from them, even to negative. But it doesn't use the death proc on them, killing them and sending them to the hospital.
del(src)
M.Death(usr)

You're deleting the object before Death() is called.
In response to Ruben7
You are also using usr in procs, which you should not be. In this case, you need to give the projectile an owner variable, set it when you create the object (so, var/obj/fireball/F = new(); F.owner = src), and then use that.
In response to Garthor
Assigning the object to an owner still didnt kill the opponent. I dont know whats wrong but I need to fix this. ><
In response to XxShadow23xX
You already got the answer. Read.