[wpdev-commits] xmlscripts/scripts/skills carpentry.py,1.18,1.19
Brought to you by:
rip,
thiagocorrea
From: Sebastian H. <dar...@us...> - 2004-09-20 18:11:43
|
Update of /cvsroot/wpdev/xmlscripts/scripts/skills In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30554/skills Modified Files: carpentry.py Log Message: carpentry exceptional chances fixed bug #0000322 Index: carpentry.py =================================================================== RCS file: /cvsroot/wpdev/xmlscripts/scripts/skills/carpentry.py,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** carpentry.py 9 Jul 2004 10:30:26 -0000 1.18 --- carpentry.py 20 Sep 2004 18:11:32 -0000 1.19 *************** *** 58,61 **** --- 58,62 ---- CraftItemAction.__init__(self, parent, title, itemid, definition) self.markable = 1 # All carpentry items are not markable + self.stackable = 0 # *************** *** 69,77 **** minskill = self.skills[CARPENTRY][0] maxskill = self.skills[CARPENTRY][1] if self.skills.has_key(TINKERING): minskill -= self.skills[TINKERING][0] maxskill -= self.skills[TINKERING][1] ! chance = ( (player.skill[CARPENTRY] - minskill) / (maxskill - minskill) ) / 5.0 return chance --- 70,82 ---- minskill = self.skills[CARPENTRY][0] maxskill = self.skills[CARPENTRY][1] + if self.skills.has_key(TINKERING): minskill -= self.skills[TINKERING][0] maxskill -= self.skills[TINKERING][1] ! if minskill == maxskill or maxskill == 0: ! maxskill += 1 ! ! chance = ( (player.skill[CARPENTRY]) / (maxskill) ) / 5.0 return chance *************** *** 81,84 **** --- 86,107 ---- # def applyproperties(self, player, arguments, item, exceptional): + # Stackable items consume all resources + if self.stackable: + backpack = player.getbackpack() + count = -1 + for (materials, amount, name) in self.materials: + items = backpack.countitems(materials) + if count == -1: + count = items / amount + else: + count = min(count, items / amount) + for (materials, amount, name) in self.materials: + backpack.removeitems( materials, count ) + if count != -1: + item.amount += count + else: + item.amount = 1 + count + item.update() + # All carpentry items crafted out of ingots keep a resname if self.submaterial1 > 0: *************** *** 239,242 **** --- 262,270 ---- action.materials.append([ids, amount, materialname]) + # Consume all available materials scaled by the + # amount of each submaterial + elif subchild.name == 'stackable': + action.stackable = 1 + # Skill requirement elif subchild.name in skillnamesids: |