ID:140226
 
Code:
mob/var/fk = 0
mob/var/occupation = ""
mob/var/timer = 0
mob/var/rspawn = 1


mob
verb
Punch()
set category = "Skills"
for(var/mob/M as (obj,mob) in get_step(src,src.dir))
if(usr.en <= 0)
usr.en = 0
usr << output("You are too tired!","SM")
return
if(usr.fainted == 1)
usr << output("Not while fainted!","SM")
return
if(usr.resting == 1)
usr << output("Not while resting!","SM")
return
if(usr.frozen == 1)
usr << output("You are frozen!","SM")
return
if(M.apc == 1)
flick("punch",usr)
var/damage = (usr.str + usr.hand - M.def + M.hand)
if(damage <= 0)
damage = 0
usr.en -= rand(10,15)
usr.Energy_Bar()
M.hp -= damage
s_damage(M,damage,"red")
spawn() M.Animal()

if(istype(M,/mob))
if(M.apc)
return
if(M.npc)
flick("punch",usr)
usr << output("[M] dodges your attack!","SM")
return
else
var/damage = ((usr.str + usr.hand) - (M.def + M.hand))
if(damage <= 0)
damage = 0
flick("punch",usr)
s_damage(M,damage,"red")
usr.en -= rand(2,3)
spawn() usr.Energy_Bar()
M.hp -= damage
spawn() M.Death()
if(M.fainted == 1)
if(usr.bk == 0)
usr.fk = 1
usr.bk = 1
return
else
if(usr.fk == 1)
flick("punch",usr)
usr.Choice(M)

if(istype(M,/obj/log))
flick("punch",usr)
usr.en -= rand(3,5)
usr.Energy_Bar()
var/ldamage = (usr.hand + usr.str)
s_damage(M,ldamage,"red")
if(usr.focus == "shared")
usr.hexp += rand(5,10)
usr.stexp += rand(5,10)
usr.dfexp += rand(5,10)
usr.ExpCheck()
return
if(usr.focus == "strength")
usr.hexp += rand(5,10)
usr.stexp += rand(15,20)
usr.ExpCheck()
return
if(usr.focus == "defence")
usr.hexp += rand(5,10)
usr.dfexp += rand(15,20)
usr.ExpCheck()
return


mob
proc
DTimer()
while(src.timer > 0)
sleep(10)
src.timer -= 1
if(src.timer <= 0)
if(src.rspawn == 1)
src.frozen = 0
src.hp = src.mhp
src.en = src.men
src.loc = locate(143,90,1)
return
if(src.rspawn == 2)
src.loc = locate(250,105,2)
return
if(src.rspawn == 3)
src.loc = locate(225,225,2)
return

Death()
if(src.hp <= 5)
if(!src.npc)
src.fainted = 1
src.frozen = 1
src.icon_state = "dead"
spawn() Faint()
else
src.Animal()
else
if(src.hp <= 0)
src.hp = 0
src.timer = 10
src.frozen = 1
src.loc = locate(24,5,1)
src.DTimer()
return
else
src.Health_Bar()


Faint()
while(fainted)
sleep(20)
src.en += 1
if(src.en >= 30)
src.fainted = 0
src.frozen = 0
src.icon_state =""


Problem description:
runtime error: bad client
proc name: Health Bar (/mob/proc/Health_Bar)
usr: the as (/mob/newchara)
src: Johnny (/mob/Johnny)
call stack:
Johnny (/mob/Johnny): Health Bar()
Johnny (/mob/Johnny): Death()
the as (/mob/newchara): Punch()

Not quite sure how to fix this. and why this error appears.
know it's messy
nvm, problem solved.