changeset 528:52b38b803782

Skeleton for dead monsters
author Stefano Rivera <stefano@rivera.za.net>
date Sun, 10 Apr 2011 00:09:20 +0200
parents ba66bacbab22
children 0ffb493a6fa4
files skaapsteker/sprites/base.py
diffstat 1 files changed, 24 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/skaapsteker/sprites/base.py	Sat Apr 09 23:49:33 2011 +0200
+++ b/skaapsteker/sprites/base.py	Sun Apr 10 00:09:20 2011 +0200
@@ -208,6 +208,7 @@
     def damage(self, damage):
         self.health -= damage
         if self.health <= 0:
+            AddSpriteEvent.post(Skeleton(self.rect.midbottom))
             self.kill()
 
 class PatrollingMonster(Monster):
@@ -443,6 +444,29 @@
         Doorway.setup(self, facing, None)
 
 
+class Skeleton(GameSprite):
+    mobile = False
+    gravitates = False
+    actionable = False
+    liftable = False
+    image_dir = 'sprites/skulls/'
+    debug_color = (255, 255, 0)
+
+    def __init__(self, pos, player=False, **opts):
+        self._pos = pos
+        if player:
+            self.image_file = 'kitsune.png'
+        else:
+            self.image_file = 'monster.png'
+        GameSprite.__init__(self, pos, **opts)
+        self._layer = Layers.FOREGROUND
+
+    def setup_image_data(self, pos):
+        GameSprite.setup_image_data(self, pos)
+        # Pixel based rect, not tile:
+        self.rect = self.image.get_rect(midbottom=self._pos)
+        self.collide_rect = self.rect.move(0, 0)
+
 
 def find_sprite(descr, mod_name=None):
     """Create a sprite object from a dictionary describing it."""