- 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)