Mercurial > fujo
changeset 93:d9f826cdf023
tranform spell and weapon bonus
| author | Radomir Dopieralski <sheep-devel@sheep.art.pl> |
|---|---|
| date | Mon, 06 Jan 2014 00:12:24 +0100 |
| parents | 0a4ad5e48fb5 |
| children | 417dc5cd0ef9 |
| files | fujo/items.py fujo/player.py |
| diffstat | 2 files changed, 16 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/fujo/items.py Sun Jan 05 23:50:15 2014 +0100 +++ b/fujo/items.py Mon Jan 06 00:12:24 2014 +0100 @@ -236,6 +236,8 @@ super(FireSpell, self).throw(level, pos, mob, steps, direction) if mob: mob.wound(random.randint(1, 5)) + mob.add_behavior(behaviors.Panic(10)) + @Item.register class TeleportSpell(Spell): @@ -307,22 +309,25 @@ mob.add_behavior(behaviors.Sleep(10)) mob.label("%d" % healing, (0x22, 0xff, 0x00)) + @Item.register -class DisarmSpell(Spell): - name = "Disarm spell" +class TransformSpell(Spell): + name = "Transform spell" def use(self, level): - super(DisarmSpell, self).use(level) + super(TransformSpell, self).use(level) if level.player.weapon: - level.player.discard_item(level.player.weapon) + i = level.player.items.index(level.player.weapon) + level.player.equip_weapon(None) + level.player.items[i] = Onigiri() return True return False def throw(self, level, pos, mob, steps, direction): - super(DisarmSpell, self).throw(level, pos, mob, steps, direction) + super(TransformSpell, self).throw(level, pos, mob, steps, direction) if mob: - mob.attack = 1 - mob.damage = 1 + mob.add_behavior(behaviors.Hide()) + @Item.register class SharpenSpell(Spell): @@ -332,6 +337,7 @@ super(SharpenSpell, self).use(level) if level.player.weapon: level.player.weapon.bonus += random.randint(1, 4) + level.player.update_status() return True return False @@ -381,6 +387,6 @@ FOOD = [Onigiri, Bento, Candy] WEAPONS = [Broom, Staff, Sickle, Hoe, Hammer, Katana] SPELLS = [FireSpell, TeleportSpell, KnowledgeSpell, SoothingSpell, - DisarmSpell, SharpenSpell] + TransformSpell, SharpenSpell] ARMOR = [LuckyCharm, Talisman, Amulet] ITEMS = FOOD + WEAPONS + SPELLS + ARMOR
--- a/fujo/player.py Sun Jan 05 23:50:15 2014 +0100 +++ b/fujo/player.py Mon Jan 06 00:12:24 2014 +0100 @@ -49,13 +49,13 @@ @property def attack(self): if self.weapon: - return self.weapon.attack + return self.weapon.attack + self.weapon.bonus return 1 @property def damage(self): if self.weapon: - return self.weapon.damage + return self.weapon.damage + self.weapon.bonus return 1 @property
