diff mamba/sprites.py @ 300:35ca26f8305a

fire is now an orange puddle with a right-way-up red flame
author Adrianna Pińska <adrianna.pinska@gmail.com>
date Fri, 16 Sep 2011 16:04:53 +0200
parents f2ba659e03be
children 49fe66680ff8
line wrap: on
line diff
--- a/mamba/sprites.py	Fri Sep 16 14:40:50 2011 +0200
+++ b/mamba/sprites.py	Fri Sep 16 16:04:53 2011 +0200
@@ -20,6 +20,10 @@
     return image_name, (COLOURS[colour], fittings_mutator)
 
 
+def get_detail_mutator(image_name, tileset):
+    return mutators.Overlay("%s-detail" % (image_name,), tileset)
+
+
 def tile_sizify(pos):
     ts_x, ts_y = TILE_SIZE
     p_x, p_y = pos
@@ -261,8 +265,18 @@
 
 
 class FireSprite(SingleImageTileSprite):
-    image_name = 'fire-0'
+    image_name = 'fire'
     name = 'fire'
+    variants_class = SolidSpriteImageVariants
+    detail = 'fire-detail'
+
+    def __init__(self, variant=(0, 0, 0, 0), **kw):
+        super(FireSprite, self).__init__(**kw)
+        self.image = self.load_image(*self.get_variant(*variant))
+
+    def load_image(self, image_name, mutators=()):
+        mutators += (get_detail_mutator(self.image_name, self.tileset),)
+        return super(FireSprite, self).load_image(image_name, mutators)
 
     def get_solid(self, snake, segment):
         if snake.flame_retardant():