Because for some reason in this attack code It wont quite work, and im puzzeled how to fix, no dout it will be a simple fix...
MonsterAttack()
for (var/mob/Allied/M in view())
if(!M)
for (var/mob/person/Player in view())
if (Player.client && Player.Health > 0)
Player.Victory()
if (Player.Bnum == Bnum && Player.client)
var/hitpercent=50+src.Dexterity
var/hitpercent2=hitpercent - Player.Agility
if(hitpercent2>100) hitpercent2 = 100
if(hitpercent2<0) hitpercent = 0
var/hitpercent3=rand(-5,80)
var/damagefirst=rand(src.Strength)
var/damagecount=damagefirst-Player.Defense
sleep(2)
if(hitpercent3 <= hitpercent2)
if(damagecount > 0){Player.Health -= damagecount;view()<<"<font size = 1><font color = red>[src] Attacks [Player] for [damagecount]";Player.DeathCheck()}
else
damagecount=1
Player.Health -= damagecount
view() << "<font size = 1><font color = red>[src] Attacks [Player] for [damagecount]";Player.DeathCheck()
else{view() << "<font size = 1><font color = green>[src] attacks [Player], but misses."}
if(M)
var/ok=rand(1,2)
if(ok==1)
for (var/mob/person/Player in view())
if (Player.client && Player.Health > 0)
Player.Victory()
if (M.Bnum == Bnum)
var/hitpercent=50+src.Dexterity
var/hitpercent2=hitpercent - M.Agility
if(hitpercent2>100) hitpercent2 = 100
if(hitpercent2<0) hitpercent = 0
var/hitpercent3=rand(-5,80)
var/damagefirst=rand(src.Strength)
var/damagecount=damagefirst-M.Defense
sleep(2)
if(hitpercent3 <= hitpercent2)
if(damagecount > 0){M.Health -= damagecount;view()<<"<font size = 1><font color = red>[src] Attacks [M] for [damagecount]";M.DeathCheck()}
if(M.Health<1)
if (istype(M,/mob/Allied)){del(M)}
else
damagecount=1
M.Health -= damagecount
if(M.Health<1)
if (istype(M,/mob/Allied)){del(M)}
view() << "<font size = 1><font color = red>[src] Attacks [M] for [damagecount]";M.DeathCheck()
else{view() << "<font size = 1><font color = green>[src] attacks [M], but misses."}
if(ok==2)
for (var/mob/person/Player in view())
if (Player.client && Player.Health > 0)
Player.Victory()
if (Player.Health > 0)
if (Player.Bnum == Bnum)
var/hitpercent=50+src.Dexterity
var/hitpercent2=hitpercent - Player.Agility
if(hitpercent2>100) hitpercent2 = 100
if(hitpercent2<0) hitpercent = 0
var/hitpercent3=rand(-5,80)
var/damagefirst=rand(src.Strength)
var/damagecount=damagefirst-Player.Defense
sleep(2)
if(hitpercent3 <= hitpercent2)
if(damagecount > 0){Player.Health -= damagecount;view()<<"<font size = 1><font color = red>[src] Attacks [Player] for [damagecount]";Player.DeathCheck()}
else
damagecount=1
Player.Health -= damagecount
view() << "<font size = 1><font color = red>[src] Attacks [Player] for [damagecount]";Player.DeathCheck()
else{view() << "<font size = 1><font color = green>[src] attacks [Player], but misses."}
else
if (Player.client && Player.Health > 0)
Player.Victory()
for (var/mob/person/P in view())
if (P.client && P.Health > 0)
var/hitpercent=50+src.Dexterity
var/hitpercent2=hitpercent - P.Agility
if(hitpercent2>100) hitpercent2 = 100
if(hitpercent2<0) hitpercent = 0
var/hitpercent3=rand(1,100)
var/damagefirst=rand(src.Strength)
var/damagecount=damagefirst-P.Defense
sleep(2)
if(hitpercent3 <= hitpercent2)
if(damagecount > 0){P.Health -= damagecount;view()<<"<font size = 1><font color = red>[src] Attacks [P] for [damagecount]";P.DeathCheck()}
else
damagecount=1
Player.Health -= damagecount
view() << "<font size = 1><font color = red>[src] Attacks [P] for [damagecount]";P.DeathCheck()
else{view() << "<font size = 1><font color = green>[src] attacks [M], but misses."}
else
if (Player.client && Player.Health > 0)
Player.Victory()
if (M.Bnum == Bnum)
var/hitpercent=50+src.Dexterity
var/hitpercent2=hitpercent - M.Agility
if(hitpercent2>100) hitpercent2 = 100
if(hitpercent2<0) hitpercent = 0
var/hitpercent3=rand(-5,80)
var/damagefirst=rand(src.Strength)
var/damagecount=damagefirst-M.Defense
sleep(2)
if(hitpercent3 <= hitpercent2)
if(damagecount > 0){M.Health -= damagecount;view()<<"<font size = 1><font color = red>[src] Attacks [M] for [damagecount]";M.DeathCheck()}
if(M.Health<1)
if (istype(M,/mob/Allied)){del(M)}
else
damagecount=1
M.Health -= damagecount
if(M.Health<1)
if (istype(M,/mob/Allied)){del(M)}
view() << "<font size = 1><font color = red>[src] Attacks [M] for [damagecount]";M.DeathCheck()
else{view() << "<font size = 1><font color = green>[src] attacks [M], but misses."}
for(M in view())
doSomething
if(!M)
doSomethingElse