Changeset 609


Ignore:
Timestamp:
07/31/10 08:10:20 (9 years ago)
Author:
beliar
Message:

Patch by Beliar.

  • Removed item_id from CarryableItem?.
  • item_type of CarryableItem? now store store the actual type of the item instead of the python class
  • Changed functions that find items by item_id to find items by item_type instead.
Location:
trunk/game
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • trunk/game/run.py

    r584 r609  
    2727utils.addPaths ('./lib', './lib/extensions') 
    2828 
    29 #from settings import Setting 
    3029 
    3130TDS = Setting(app_name="PARPG", 
  • trunk/game/scripts/gamemodel.py

    r608 r609  
    134134        info.update(extra) 
    135135        ID = info.pop("id") if info.has_key("id") else info.pop("ID") 
    136         if not info.has_key("item_id"): 
    137             info['item_id'] = ID 
     136        if not info.has_key("item_type"): 
     137            info["item_type"] = info["type"] 
    138138        ID = self.createUniqueID(ID) 
    139139        new_item = CarryableItem(ID = ID, **info)  
     
    504504                item_data = agent["item"] 
    505505            inst_dict["item"] = item_data 
    506             inst_dict["item_id"] = agent["ItemType"] 
     506            inst_dict["item_type"] = agent["ItemType"] 
    507507 
    508508        self.createMapObject(self.active_map.agent_layer, inst_dict, inst) 
  • trunk/game/scripts/gui/dialoguegui.py

    r591 r609  
    9999        def getStuff(state, thing): 
    100100            """Moves an item from the npc inventory to the players 
    101             @param thing: item_id of the item 
     101            @param thing: item_type of the item 
    102102            @type thing: str """ 
    103             item = state['npc'].inventory.findItem(item_id = thing) 
     103            item = state['npc'].inventory.findItem(item_type = thing) 
    104104            if item: 
    105105                state['npc'].give(item, state['pc']) 
     
    110110        def giveStuff(state, thing): 
    111111            """Moves an item from the pc inventory to the npcs 
    112             @param thing: item_id of the item 
     112            @param thing: item_type of the item 
    113113            @type thing: str """ 
    114114            """Moves an item from the npc inventory to the players 
    115             @param thing: item_id of the item 
     115            @param thing: item_type of the item 
    116116            @type thing: str """ 
    117             item = state['pc'].inventory.findItem(item_id = thing) 
     117            item = state['pc'].inventory.findItem(item_type = thing) 
    118118            if item: 
    119119                state['pc'].give(item, state['npc']) 
     
    127127            @param who: Sets whose item to replace. Should be either pc or npc 
    128128            @type who: str 
    129             @param old_items: item_ids of the items to replace 
     129            @param old_items: item_types of the items to replace 
    130130            @type old_item: list of str 
    131131            @param new_item: Types of the items that replace the old items 
    132132            @type new_item: list of str """ 
    133133            old_item_instances = [] 
    134             for item_id in old_items: 
     134            for item_type in old_items: 
    135135                old_item_instances.append(state[who].inventory.\ 
    136                                                 findItem(item_id = item_id)) 
     136                                                findItem(item_type = item_type)) 
    137137            if old_item_instances: 
    138138                for old_item in old_item_instances: 
     
    154154            @param who: Sets whose item to replace. Should be either pc or npc 
    155155            @type who: str 
    156             @param old_item: item_id of the item to replace 
     156            @param old_item: item_type of the item to replace 
    157157            @type old_item: str 
    158158            @param new_item: Type of the item that replaces the old item 
    159159            @type new_item: str """ 
    160             old_item = state[who].inventory.findItem(item_id = old_item) 
     160            old_item = state[who].inventory.findItem(item_type = old_item) 
    161161            if old_item: 
    162162                inst_dict = {} 
  • trunk/game/scripts/inventory.py

    r605 r609  
    8484 
    8585 
    86     def count(self, item_id): 
    87         return sum(item.count(item_id) for item in self.items.values()) 
     86    def count(self, item_type = ""): 
     87        return sum(item.count(item_type) for item in self.items.values()) 
    8888     
    8989    def takeOff(self, item): 
  • trunk/game/scripts/objects/actors.py

    r591 r609  
    230230        actor.inventory.placeItem(item)            
    231231         
    232     def hasItem(self, item_id): 
     232    def hasItem(self, item_type): 
    233233        """Returns wether an item is present in the players inventory or not 
    234         @param item_id: ID of the item 
    235         @type item_id: str 
     234        @param item_type: ID of the item 
     235        @type item_type: str 
    236236        @return: True when the item is present, False when not""" 
    237         return self.inventory.findItem(item_id = item_id) 
    238  
    239     def itemCount(self, item_id = ""): 
    240         """Returns number of all items or items specified by item_id  
     237        return self.inventory.findItem(item_type = item_type) 
     238 
     239    def itemCount(self, item_type = ""): 
     240        """Returns number of all items or items specified by item_type  
    241241        the player has. 
    242         @param item_id: ID of the item, can be empty 
    243         @type item_id: str 
     242        @param item_type: ID of the item, can be empty 
     243        @type item_type: str 
    244244        @return: Number of items""" 
    245         return self.inventory.count(item_id) 
     245        return self.inventory.count(item_type) 
    246246 
    247247    def getLocation(self): 
  • trunk/game/scripts/objects/base.py

    r596 r609  
    362362            pass 
    363363 
    364     def count (self, item_id = ""): 
     364    def count (self, item_type = ""): 
    365365        """Returns the number of items""" 
    366         if item_id: 
     366        if item_type: 
    367367            ret_count = 0 
    368368            for index in self.items : 
    369                 if self.items[index].item_id == item_id: 
     369                if self.items[index].item_type == item_type: 
    370370                    ret_count += 1 
    371371            return ret_count 
     
    393393        return None 
    394394 
    395     def findItemByItemID(self, item_id): 
    396         """Returns the item with the passed item_id""" 
     395    def findItemByItemType(self, item_type): 
     396        """Returns the item with the passed item_type""" 
    397397        for index in self.items : 
    398             if self.items[index].item_id == item_id: 
     398            if self.items[index].item_type == item_type: 
    399399                return self.items[index] 
    400400        return None 
     
    414414            if "kind" in kwargs and not self.items[index].trueAttr(kwargs["kind"]): 
    415415                continue 
    416             if "item_id" in kwargs and self.items[index].item_id != kwargs["item_id"]: 
     416            if "item_type" in kwargs and self.items[index].item_type != kwargs["item_type"]: 
    417417                continue 
    418418            return self.items[index] 
     
    425425            item_dict = item.getStateForSaving() 
    426426            item_dict["index"] = index 
    427             item_dict["type"] = type(item).__name__  
     427            item_dict["type"] = item.item_type 
    428428            items.append(item_dict) 
    429429        return items 
  • trunk/game/scripts/objects/composed.py

    r596 r609  
    8181class CarryableItem (GameObject, Carryable, Usable): 
    8282    """Composite class that will be used for all carryable items""" 
    83     def __init__(self, item_id, type = "CarryableItem", **kwargs): 
     83    def __init__(self, item_type, **kwargs): 
    8484        GameObject.__init__(self, **kwargs) 
    8585        Carryable.__init__(self, **kwargs) 
    8686        Usable.__init__(self, **kwargs) 
    87         self.item_id = item_id 
    88         self.item_type = type 
     87        self.item_type = item_type 
    8988 
    9089    def prepareStateForSaving(self, state): 
     
    9493        """ 
    9594        super(CarryableItem, self).prepareStateForSaving(state) 
    96         del state["in_container"] 
     95        if state.has_key("in_container"): 
     96            del state["in_container"] 
    9797        del state["on_map"] 
    9898        del state["agent"] 
  • trunk/game/scripts/objects/items.py

    r592 r609  
    2222class MapItem(CarryableItem): 
    2323    """Item that is lying on a map""" 
    24     def __init__(self, ID, item_id, item, name = 'Item', text = 'An item', 
     24    def __init__(self, ID, item_type, item, name = 'Item', text = 'An item', 
    2525                   gfx = 'item', **kwargs): 
    26         CarryableItem.__init__(self, ID = ID, item_id = item_id, name = name,  
     26        CarryableItem.__init__(self, ID = ID, item_type = item_type, name = name,  
    2727                               text = text, gfx = gfx, **kwargs) 
    2828        self.item = item 
Note: See TracChangeset for help on using the changeset viewer.