Advertisement
Guest User

Untitled

a guest
Mar 5th, 2016
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.     Method CheckFov:Int(StartX:Int, StartY:Int, TargetX:Int, TargetY:Int)
  2.         Local vx:Float
  3.         Local vy:Float
  4.         Local ox:Float
  5.         Local oy:Float
  6.         Local l:Float
  7.         vx = StartX - TargetX
  8.         vy = StartY - TargetY
  9.         ox = StartX + 0.5
  10.         oy = StartY + 0.5
  11.        
  12.         l = Max(Abs(StartX - TargetX), Abs(StartY - TargetY))
  13.        
  14.         For Local i:Int = 0 To l - 1
  15.             If ..
  16.                 Not Walkable(Dungeon.GetMap(Floor(ox + vx * (i / l) - 0.0001), Floor(oy + vy * (i / l) - 0.0001))) Or ..
  17.                 Not Walkable(Dungeon.GetMap(Floor(ox + vx * (i / l) + 0.0001), Floor(oy + vy * (i / l) - 0.0001))) Or ..
  18.                 Not Walkable(Dungeon.GetMap(Floor(ox + vx * (i / l) + 0.0001), Floor(oy + vy * (i / l) + 0.0001))) Or ..
  19.                 Not Walkable(Dungeon.GetMap(Floor(ox + vx * (i / l) - 0.0001), Floor(oy + vy * (i / l) + 0.0001))) ..
  20.             Then Return(False)
  21.         Next
  22.        
  23.         Return(True)
  24.     EndMethod
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement