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/scripts/objects
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • 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.