Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Method CheckFov:Int(StartX:Int, StartY:Int, TargetX:Int, TargetY:Int)
- Local vx:Float
- Local vy:Float
- Local ox:Float
- Local oy:Float
- Local l:Float
- vx = StartX - TargetX
- vy = StartY - TargetY
- ox = StartX + 0.5
- oy = StartY + 0.5
- l = Max(Abs(StartX - TargetX), Abs(StartY - TargetY))
- For Local i:Int = 0 To l - 1
- If ..
- Not Walkable(Dungeon.GetMap(Floor(ox + vx * (i / l) - 0.0001), Floor(oy + vy * (i / l) - 0.0001))) Or ..
- Not Walkable(Dungeon.GetMap(Floor(ox + vx * (i / l) + 0.0001), Floor(oy + vy * (i / l) - 0.0001))) Or ..
- Not Walkable(Dungeon.GetMap(Floor(ox + vx * (i / l) + 0.0001), Floor(oy + vy * (i / l) + 0.0001))) Or ..
- Not Walkable(Dungeon.GetMap(Floor(ox + vx * (i / l) - 0.0001), Floor(oy + vy * (i / l) + 0.0001))) ..
- Then Return(False)
- Next
- Return(True)
- EndMethod
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement