From: <lyn...@us...> - 2008-09-18 09:32:16
|
Revision: 5330 http://gemrb.svn.sourceforge.net/gemrb/?rev=5330&view=rev Author: lynxlupodian Date: 2008-09-18 09:32:26 +0000 (Thu, 18 Sep 2008) Log Message: ----------- tob::cg: check if the item fits the slot before addition staves are still broken since nothing seems to set their IE_INV_ITEM_TWOHANDED Modified Paths: -------------- gemrb/trunk/gemrb/GUIScripts/bg2/CharGen9.py Modified: gemrb/trunk/gemrb/GUIScripts/bg2/CharGen9.py =================================================================== --- gemrb/trunk/gemrb/GUIScripts/bg2/CharGen9.py 2008-09-17 20:26:53 UTC (rev 5329) +++ gemrb/trunk/gemrb/GUIScripts/bg2/CharGen9.py 2008-09-18 09:32:26 UTC (rev 5330) @@ -167,9 +167,10 @@ if item == "*": continue realslot = GemRB.GetSlots (MyChar, RealSlots[slot], -1) - print "MMC", realslot, RealSlots[slot], slot + if realslot == (): # this shouldn't happen! continue + # if an item contains a comma, the rest of the value is the stack if "," in item: item = item.split(",") @@ -177,15 +178,18 @@ item = item[0] else: count = 0 - GemRB.CreateItem(MyChar, item, realslot[0], count, 0, 0) - GemRB.ChangeItemFlag (MyChar, realslot[0], IE_INV_ITEM_IDENTIFIED, OP_OR) - # identify all the items; FIXME: remove the current hack -# for slot in GemRB.GetSlots (MyChar, SLOT_ANY, 1): -# for slot in range(0,50): -# if not GemRB.ChangeItemFlag (MyChar, slot, IE_INV_ITEM_IDENTIFIED, OP_OR): -# pass -# #print "NNN", slot + targetslot = realslot[0] + SlotType = GemRB.GetSlotType (targetslot, MyChar) + i = 1 + # if there are no free slots, CreateItem will create the item on the ground + while not GemRB.CanUseItemType (SlotType["Type"], item, MyChar) and i <= len(realslot): + targetslot = realslot[i] + SlotType = GemRB.GetSlotType (targetslot, MyChar) + i = i + 1 + + GemRB.CreateItem(MyChar, item, targetslot, count, 0, 0) + GemRB.ChangeItemFlag (MyChar, targetslot, IE_INV_ITEM_IDENTIFIED, OP_OR) GemRB.UnloadTable (EquipmentTable) GemRB.UnloadTable (KitTable) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |