Mercurial > skaapsteker
changeset 442:a084af91d5dc
Make breakable items break
author | Neil Muller <drnlmuller@gmail.com> |
---|---|
date | Sat, 09 Apr 2011 19:41:20 +0200 |
parents | f3ccb00df6a4 |
children | d959426b3fa1 |
files | skaapsteker/sprites/items.py skaapsteker/sprites/player.py |
diffstat | 2 files changed, 8 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/skaapsteker/sprites/items.py Sat Apr 09 19:41:20 2011 +0200 +++ b/skaapsteker/sprites/items.py Sat Apr 09 19:41:20 2011 +0200 @@ -1,5 +1,6 @@ from .. import engine -from .base import Item +from .base import Item, PC_LAYER, PROJECTILE_LAYER + def notify(text): @@ -10,6 +11,8 @@ whole_image_file = None broken_image_file = None + collides_with = set([PC_LAYER, PROJECTILE_LAYER]) + def setup(self, broken, **opts): super(BreakableItem, self).setup(**opts) self.broken = broken @@ -25,6 +28,8 @@ self.broken = True self.setup_image_data(self._starting_tile_pos) + def damage(self, damage): + self.smash() ##################################################
--- a/skaapsteker/sprites/player.py Sat Apr 09 19:41:20 2011 +0200 +++ b/skaapsteker/sprites/player.py Sat Apr 09 19:41:20 2011 +0200 @@ -5,6 +5,7 @@ from ..sprites.base import find_sprite, Monster, TILE_SIZE, PC_LAYER, MONSTER_LAYER, PROJECTILE_LAYER from ..sprites.projectiles import Fireball, Lightning +from ..sprites.items import BreakableItem from ..physics import Sprite from ..constants import Layers, FoxHud, DOUBLE_TAP_TIME from ..data import get_files, load_image @@ -359,7 +360,7 @@ pos = pygame.Rect(self.rect.midleft, (0, 0)) else: pos = pygame.Rect(self.rect.midright, (0, 0)) - projectile = cls(pos, direction=self.facing, hits=Monster, source=self) + projectile = cls(pos, direction=self.facing, hits=(Monster, BreakableItem), source=self) AddSpriteEvent.post(projectile) def _fireball_attack(self):