home
·
contact
·
privacy
projects
/
plomrogue2
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Shrink sound Dijkstra map, reach; refactor lots of mapping code.
[plomrogue2]
/
plomrogue
/
things.py
diff --git
a/plomrogue/things.py
b/plomrogue/things.py
index 0a06601e8a3836a77cd05602ff010467c2560e92..dfb536c27f8e6f9acb49b8e5ad2d60d16c66e27e 100644
(file)
--- a/
plomrogue/things.py
+++ b/
plomrogue/things.py
@@
-94,14
+94,21
@@
class ThingAnimate(Thing):
if self._fov:
return self._fov
fov_map_class = self.game.map_geometry.fov_map_class
if self._fov:
return self._fov
fov_map_class = self.game.map_geometry.fov_map_class
- self._fov = fov_map_class(self.game.map, self.position)
+ self._fov = fov_map_class(self.game.map, self.position
, 12
)
return self._fov
return self._fov
+ def fov_test(self, yx):
+ test_position = self.fov_stencil.target_yx(yx)
+ if self.fov_stencil.inside(test_position):
+ if self.fov_stencil[test_position] == '.':
+ return True
+ return False
+
def fov_stencil_map(self, map):
visible_terrain = ''
def fov_stencil_map(self, map):
visible_terrain = ''
- for
i in range(self.fov_stencil.size_i)
:
- if self.fov_stencil
.terrain[i
] == '.':
- visible_terrain += map
.terrain[i
]
+ for
yx in self.fov_stencil
:
+ if self.fov_stencil
[yx
] == '.':
+ visible_terrain += map
[self.fov_stencil.source_yx(yx)
]
else:
visible_terrain += ' '
return visible_terrain
else:
visible_terrain += ' '
return visible_terrain