var/list/Menu = list()
var/turf/Td = locate(M.x,M.y,M.z)
var/turf/T = locate(M.x+4,M.y,M.z)
var/turf/T1 = locate(M.x-4,M.y,M.z)
var/turf/T2 = locate(M.x,M.y+4,M.z)
var/turf/T3 = locate(M.x,M.y-4,M.z)
var/turf/T4 = locate(M.x+3,M.y+3,M.z)
var/turf/T5 = locate(M.x-3,M.y+3,M.z)
var/turf/T6 = locate(M.x-3,M.y+3,M.z)
var/turf/T7 = locate(M.x-3,M.y-3,M.z)
if(T)
if(!T.density)
if(T in view(M))
Menu.Add(T)
if(T1)
if(!T1.density)
if(T1 in view(M))
Menu.Add(T1)
if(T2)
if(!T2.density)
if(T2 in view(M))
Menu.Add(T2)
if(T3)
if(!T3.density)
if(T3 in view(M))
Menu.Add(T3)
if(T4)
if(!T4.density)
if(T4 in view(M))
Menu.Add(T4)
if(T5)
if(!T5.density)
if(T5 in view(M))
Menu.Add(T5)
if(T6)
if(!T6.density)
if(T6 in view(M))
Menu.Add(T6)
if(T7)
if(!T7.density)
if(T7 in view(M))
Menu.Add(T7)
if(Menu)
src.shunning=1
var/turf/x1 = pick(Menu)//this is the probelm
var/obj/afterImage/afterImage2 = new /obj/afterImage()
afterImage2.layer = MOB_LAYER
afterImage2.icon=src.icon
afterImage2.icon_state=src.icon_state
afterImage2.overlays=src.overlays
afterImage2.underlays = src.underlays
afterImage2.dir=src.dir
afterImage2.loc = src.loc
afterImage2.illusion = 1
flick("shun",afterImage2)
flick("shun",src)
src.Move(x1)
if(!Menu)
src.Move(Td)
return
if(src.loc==null)src.Move(Td)
Problem description:
runtime error: pick() from empty list
proc name: FlashStepNPC (/mob/proc/FlashStepNPC)
source file: AI.dm,646
Why is this error occuring if I'm use the "if(Menu)" before proceeding. What would be a better way of doing this?
if(length(Menu))