mob
proc
Attack()
for(var/mob/M in oview(src.TargetList))
var/damage = src.Atk - M.Def
var/critical = rand(src.Lck, 100)+ rand(-1,5)
var/dice = "2d16"
var/diceout = roll(dice)
var/Missed = src.Spd-(M.Spd+rand(-2,5))
if(src.CanAttack)
if(Missed<=0)
if(critical == (src.Lck+rand(-3,3)))
if(damage<=0)
damage = 0
src<<"You hit [M]!"
else
var/newdamage = round(damage*rand(1.5,3))
M.Hp-=newdamage
src<<"You hit [M]!"
else
if(damage<=0)
damage = 0
else
M.Hp-=damage
src<<"You hit [M]!"
else
if(diceout<= 15)
var/luckyhit = round(damage/2)
if(damage<=0)
damage = 0
else
M.Hp-=luckyhit
src<<"You hit [M]!"
else
oview(src)<<"<font color = yellow><b>[src] missed [M]!</b></font>"
while(M in src.TargetList && M in oview(src.Cansee))
if(src.CanAttack)
if(Missed<=0)
if(critical == (src.Lck+rand(-3,3)))
if(damage<=0)
damage = 0
//
else
var/newdamage = round(damage*rand(1.5,3))
M.Hp-=newdamage
src<<"You hit [M]!"
//
else
if(damage<=0)
damage = 0
//
else
M.Hp-=damage
src<<"You hit [M]!"
else
if(diceout<= 15)
var/luckyhit = round(damage/2)
if(damage<=0)
damage = 0
else
M.Hp-=luckyhit
src<<"You hit [M]!"
else
oview(src)<<"<font color = yellow><b>[src] missed [M]!</b></font>"
Problem description:
When I don't have a target, it gives me the error invalid view size. When I do have a target, it does nothing. Why?
proc
Attack()
for(var/mob/M in oview(src.TargetList))
How exactly is src.TargetList created and what does it contain (Im assuming that it is actually a list)? Is there a particular reason why you aren't just using view(src) or oview(src)?