level fix and robots
[koperkapel.git] / koperkapel / gamelib / enemy_generator.py
index eaf85d76eb633c9194ef8a08e7842b86979ffe6e..d854128334b5b57d2143a667444a53447b783d3e 100644 (file)
@@ -4,7 +4,7 @@ import os
 from pgzero.actor import Actor
 from pgzero.clock import each_tick
 
-from .enemy_roach import get_enemy_roach
+from .enemy_roach import get_enemy_roach, get_rat, get_robot
 
 class EnemyGenerator(Actor):
     """Generators are currently invisble, but we want the update hook."""
@@ -35,10 +35,20 @@ class EnemyGenerator(Actor):
             roach = get_enemy_roach(self.level)
             self._made_enemies.append(roach)
             self.level.add_enemy(roach, *self.gen_pos)
+        elif self.enemy_type == 'rat':
+            roach = get_rat(self.level)
+            self._made_enemies.append(roach)
+            self.level.add_enemy(roach, *self.gen_pos)
+        elif self.enemy_type == 'robot':
+            roach = get_robot(self.level)
+            self._made_enemies.append(roach)
+            self.level.add_enemy(roach, *self.gen_pos)
 
     def killed(self, enemy):
         if enemy in self._made_enemies:
             self._made_enemies.remove(enemy)
+            # Delay next respawn so we don't flood the player with enemies
+            self._time_since_last_update = 0
 
     def pause(self):
         self.paused = True