fireball={ hab=-1, x=0, y=0, w=6, h=6, wait=0, flip=false, step_length=3, bb={x=0,y=0,w=4,h=4} } function fireball.init(_hab,_x,_y,_flip, _off_x, _off_y) local world_x, world_y = coords.room_to_world(_hab,_x,_y) if fireball.hab ~= -1 then return end _off_x = _off_x or 0 _off_y = _off_y or 0 fireball.hab=_hab fireball.x= world_x+_off_x fireball.y= world_y+_off_y fireball.flip=_flip end function fireball.draw() if fireball.hab == -1 then return end local scr_x, scr_y = viewp:screen_coords( fireball.x, fireball.y ) draw.circf(scr_x,scr_y,8,16) draw.circf(scr_x,scr_y,6,3) draw.circf(scr_x,scr_y,2,8) end function fireball.update() if fireball.hab == -1 then return end fireball.wait=fireball.wait+1 --if fireball.wait==3 then fireball.wait=0 --if viewp:inside(fireball.x, fireball.y, fireball.w, fireball.h)==false then -- fireball.hab=-1 -- return --end if arc_check_tile(fireball.x,fireball.y)