Mercurial > scrounge
changeset 38:f6cd326c1169
make chests show "empty"
| author | Radomir Dopieralski <sheep-devel@sheep.art.pl> |
|---|---|
| date | Tue, 23 Aug 2011 20:59:00 +0200 |
| parents | 98e5639fa00b |
| children | 36e009505a41 |
| files | hero.py monster.py |
| diffstat | 2 files changed, 13 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/hero.py Tue Aug 23 20:50:36 2011 +0200 +++ b/hero.py Tue Aug 23 20:59:00 2011 +0200 @@ -112,12 +112,22 @@ self.y += dy self.sprite.animation = self.sprite.anim_walk(dx, dy) elif hasattr(block, 'hit'): - block.hit() - self.sprite.animation = self.sprite.anim_fight(dx, dy) + self.attack(level, dx, dy, block) else: self.sprite.animation = self.sprite.anim_blocked(dx, dy) self.sprite.animation.next() + def attack(self, level, dx, dy, what=None): + if what is None: + what = level.is_blocked(self.x + dx, self.y + dy) + if not hasattr(what, 'hit'): + return + what.hit() + self.sprite.animation = self.sprite.anim_fight(dx, dy) + if isinstance(what, thing.Chest): + self.effects.append( + effect.Caption(self.x + dx, self.y + dy, 'empty', (64, 192, 0))) + def hit(self, damage): self.hp -= damage self.effects.append(
