randomly rotate serum puddles
[koperkapel.git] / koperkapel / serums.py
index c2a52bba6ff0e10525597d2b1a1760108ef95036..38794fd4926834bba5129b650f836e944c534490 100644 (file)
@@ -1,7 +1,9 @@
 """ Tools for creating serum actors. """
 
+import random
 from pgzero.loaders import images
 from pygame.constants import BLEND_RGBA_MULT
+from pygame.transform import rotate
 from .actors.surf import SurfActor
 
 SERUMS = ["smart", "fast", "strong"]
@@ -27,6 +29,13 @@ def roach_serum_color(roach):
     return SERUM_OVERLAY_COLORS["none"]
 
 
+def roach_is_serumless(roach):
+    for serum_name in SERUMS:
+        if getattr(roach, serum_name):
+            return False
+    return True
+
+
 class SerumFactory:
     def __init__(self, suffix):
         self.suffix = suffix
@@ -34,6 +43,7 @@ class SerumFactory:
     def assemble(self, name):
         assert name in SERUMS
         puddle = images.load("serum%s/serum" % (self.suffix,))
+        puddle = rotate(puddle, 90 * random.randint(0, 3))
         serum_icon = images.load("serum%s/%s" % (
             self.suffix, SERUM_TILENAME_MAP[name],))
         frame = puddle.copy()