from plomrogue.errors import GameError, PlayError
-from plomrogue.mapping import YX
+from plomrogue.mapping import YX, FovMap
from plomrogue.misc import quote
import random
all_players = [t for t in self.game.things if t.type_ == 'Player']
# TODO: refactor with ThingPlayer.prepare_multiprocessible_fov_stencil
# and ThingPlayer.fov_test
- fov_map_class = self.game.map_geometry.fov_map_class
fov_radius = 12
light_blockers = self.game.get_light_blockers()
obstacles = [t.position for t in self.game.things if t.blocks_light]
- fov = fov_map_class(light_blockers, obstacles, self.game.maps,
- self.position, fov_radius, self.game.get_map)
+ fov = FovMap(light_blockers, obstacles, self.game.maps,
+ self.position, fov_radius, self.game.get_map)
fov.init_terrain()
visible_players = []
for p in all_players:
self.task = self.get_next_task()
def prepare_multiprocessible_fov_stencil(self):
- fov_map_class = self.game.map_geometry.fov_map_class
fov_radius = 3 if self.drunk > 0 else 12
light_blockers = self.game.get_light_blockers()
obstacles = [t.position for t in self.game.things if t.blocks_light]
- self._fov = fov_map_class(light_blockers, obstacles, self.game.maps,
- self.position, fov_radius, self.game.get_map)
+ self._fov = FovMap(light_blockers, obstacles, self.game.maps,
+ self.position, fov_radius, self.game.get_map)
def multiprocessible_fov_stencil(self):
self._fov.init_terrain()