42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Python
		
	
	
#CFItemBroker.py
 | 
						|
#An often used bit of code to add or remove a number of objects
 | 
						|
#Useful for removing items (like in payment or as part of
 | 
						|
#an inventory check)  This is also useful for setting the number
 | 
						|
#of a newly created item(s) as it will check for existing item(s) and add
 | 
						|
#the appropriate number of new items avoiding such silliness as the
 | 
						|
#number of the existing items being reset.
 | 
						|
#This will not check for the existence of an item as that would better
 | 
						|
#be done in the calling script so you can be flexible.
 | 
						|
#
 | 
						|
#ToddMitchell
 | 
						|
 | 
						|
import Crossfire
 | 
						|
 | 
						|
class Item:
 | 
						|
 | 
						|
    def __init__(self, object):
 | 
						|
        self.object = object
 | 
						|
        self.numberof = self.object.Quantity
 | 
						|
        # 0 for non merging items
 | 
						|
        if self.numberof == 0:
 | 
						|
            self.numberof = 1
 | 
						|
 | 
						|
    def add(self, number):
 | 
						|
        tmp = (self.numberof + number)-1
 | 
						|
        self.object.Quantity=tmp
 | 
						|
        return 1
 | 
						|
 | 
						|
    def subtract(self, number):
 | 
						|
        remainder = self.numberof - number
 | 
						|
        if remainder >= number:
 | 
						|
            self.object.Quantity=remainder
 | 
						|
            return 1
 | 
						|
        elif remainder == 0:
 | 
						|
            self.object.Remove()
 | 
						|
            return 1
 | 
						|
        else:
 | 
						|
            return 0
 | 
						|
 | 
						|
    def quantity(self):
 | 
						|
        return self.numberof
 |