Doors can open (and also close)
[koperkapel.git] / koperkapel / scenes / level.py
index 70dd7be23931d70ff129952598c525c7c1bf65fd..ea37e154ed643a39f166a1fcd8ada72553fd8af3 100644 (file)
@@ -129,17 +129,27 @@ class GameLevelScene(BaseLevelScene):
                 self._set_pos(x + 1, y)
                 offset = (TILE_SIZE, 0)
                 self._set_angle(270)
-        elif key == keys.S:
-            if self._level_layer == 'floor' and self._level.can_crawl(x, y, 'floor'):
-                # We're probably on a grate
-                if self._level.can_crawl(x, y, 'tunnels'):
-                    self._level_layer = 'tunnels'
-                    self._mode = 'crawl'
-            elif self._level.can_crawl(x, y, 'floor'):
-                # Must be in the tunnels already
-                self._level_layer = 'floor'
-                self._mode = 'walk'
+        elif key == keys.C:
+            # Activate
+            if self._level.is_grate(x, y):
+                if self._level_layer == 'floor' and self._level.can_crawl(x, y, 'floor'):
+                    if self._level.can_crawl(x, y, 'tunnels'):
+                        self._level_layer = 'tunnels'
+                        self._mode = 'crawl'
+                elif self._level.can_crawl(x, y, 'floor'):
+                    # Must be in the tunnels already
+                    self._level_layer = 'floor'
+                    self._mode = 'walk'
+            elif self._level.is_keypad(x, y):
+                self._level.press_keypad(x, y, self._roaches)
             return
+        elif key == keys.X:
+            # Fire
+            print('Boom')
+        elif key == keys.V:
+            # Leave vehicle
+            print('Vehicle key pressed')
+            
         if offset:
             return [MoveViewportEvent(offset)]
         return super(GameLevelScene, self).on_key_down(key, mod, unicode)