home · contact · privacy
Add FLATTEN_SURROUNDINGS task.
[plomrogue2-experiments] / new2 / plomrogue / tasks.py
index fffb36a117421bdf04a9082d5e4d3d3649995ef4..0fe68791d9ee779df2f6160a8f85bc0f2ade9dcf 100644 (file)
@@ -36,6 +36,8 @@ class Task_MOVE(Task):
         test_pos = self.get_move_target()
         if test_pos is None:
             raise GameError('would move out of map')
+        elif self.thing.game.map[test_pos] != '.':
+            raise GameError('would move into illegal territory')
 
     def do(self):
         self.thing.position = self.get_move_target()
@@ -51,3 +53,17 @@ class Task_WRITE(Task):
 
     def do(self):
         self.thing.game.map[self.thing.position] = self.args[0]
+
+
+
+class Task_FLATTEN_SURROUNDINGS(Task):
+    todo = 10
+
+    def check(self):
+        pass
+
+    def do(self):
+        self.thing.game.map[self.thing.position] = '.'
+        for yx in self.thing.game.map_geometry.get_neighbors(self.thing.position).values():
+            if yx is not None:
+                self.thing.game.map[yx] = '.'