def remove(self, item, price): """Deze is voor purchase""" if price < 1: Output.quantity_less_than_one() return False if item not in self: Output.quantity_not_enough(item.NAME, price, item.quantity - 1) return False elif self[item.RAW].quantity < price: Output.quantity_not_enough(item.NAME, price, item.quantity) return False else: self[item.RAW].quantity -= price return True
def gain_experience(self, xp_input): """Deze is voor xp""" if xp_input < 1: Output.quantity_less_than_one() raise ValueError if self.level.quantity < self.level.MAXIMUM: self.experience.remaining += xp_input self.experience.total += xp_input Output.character_gain_xp(self.NAME, xp_input) while self.level.next(self.experience.total) <= 0: self.level.quantity += 1 self.level.current += 1 Output.character_gain_level(self.NAME, self.level.quantity)
def add(self, item, quantity=1, verbose=True): """Deze is voor find, purchase, sell, equip en unequip""" if quantity < 1: Output.quantity_less_than_one() raise ValueError if "empty" in item.RAW and item in self.inside: # de eerste keer moet hij wel alle empty's toevoegen return # maar als ze er eenmaal inzitten hoeft dat ingame niet meer if item in self.inside: self.inside[item.RAW].quantity += quantity else: self.inside[item.RAW] = item # self[item] bestaat uit zichzelf al uit quantity = 1 self.inside[item.RAW].quantity += quantity - 1 # dus daarom, wanneer hij voor het eerst wordt toegevoegd: - 1 if verbose: Output.add_item(quantity, item.NAME, self.NAME)
def remove(self, gear, quantity=1, verbose=True): """Deze is voor sell en equip""" if gear.RAW not in self.inside: Output.no_item() raise AttributeError if quantity < 1: Output.quantity_less_than_one() raise ValueError if gear.quantity > quantity: gear.quantity -= quantity elif gear.quantity == quantity: del self.inside[gear] else: Output.error_quantity_not_enough() raise ValueError if verbose: Output.remove_item(quantity, gear.NAME, self.NAME)