def check(self):
test_yxyx = self._get_move_target()
+ move_blockers = self.thing.game.get_movement_blockers()
if test_yxyx in [t.position for t in self.thing.game.things
if t.blocking]:
raise PlayError('blocked by other thing')
- elif self.thing.game.maps[test_yxyx[0]][test_yxyx[1]] != '.':
+ elif self.thing.game.maps[test_yxyx[0]][test_yxyx[1]] in move_blockers:
raise PlayError('blocked by impassable tile')
def do(self):
self.thing.position).values()):
if not self.thing.game.can_do_tile_with_pw(*yxyx, self.args[0]):
continue
- self.thing.game.maps[yxyx[0]][yxyx[1]] = '.'
+ self.thing.game.maps[yxyx[0]][yxyx[1]] = self.thing.game.get_flatland()
self.thing.game.record_fov_change(yxyx)