home
·
contact
·
privacy
projects
/
plomrogue2
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use circle-out passes for DijkstraMap, refactor with FovMap code.
[plomrogue2]
/
plomrogue
/
things.py
diff --git
a/plomrogue/things.py
b/plomrogue/things.py
index a3d622a0d1f73a99be1ea29dbb95370ac1c6fe4a..950a777f0bc951defb35f0f32cefe912f1008e25 100644
(file)
--- a/
plomrogue/things.py
+++ b/
plomrogue/things.py
@@
-1,5
+1,5
@@
from plomrogue.errors import GameError, PlayError
from plomrogue.errors import GameError, PlayError
-from plomrogue.mapping import YX
+from plomrogue.mapping import YX
, FovMap
from plomrogue.misc import quote
import random
from plomrogue.misc import quote
import random
@@
-210,12
+210,11
@@
class Thing_Bottle(Thing):
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
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_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:
fov.init_terrain()
visible_players = []
for p in all_players:
@@
-480,12
+479,11
@@
class ThingAnimate(Thing):
self.task = self.get_next_task()
def prepare_multiprocessible_fov_stencil(self):
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]
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()
def multiprocessible_fov_stencil(self):
self._fov.init_terrain()