def success(self): """Handler for successful puzzle completion.""" msg = "The " + self.thing + " seems pleased. " + color.BOLD + \ "'You have proven worthy, and now may receive your reward.'" + \ color.END + " Then it vanishes, leaving no trace that this room " \ "of the dungeon was ever occupied." send_to_console(textwrap.fill(msg)) msg = "You gain " if self.choice == "gold": msg += str(self.gold) + " gp!" send_to_console(msg, '\n') self.char.defeat_enemy(0, {'gp':self.gold}) if self.choice == "riches": typ = pq_item_type(self.riches) msg += "a " if typ[0] == "ring": msg += "Ring of " msg += self.riches + "!" send_to_console(msg, '\n') self.char.defeat_enemy(0, {typ[0]:self.riches}) if self.choice == "knowledge": msg += str(self.knowledge) + " experience!" send_to_console(msg, '\n') self.char.defeat_enemy(self.knowledge, {}) if self.char.level[0] >= 10 * self.char.level[1]: self.char.levelup() self.finished = True return
def changequip(self, equipment): equipment = equipment.replace('Ring of ', '') if equipment not in self.loot['items']: send_to_console(equipment, self.loot['items']) return itemtype = pq_item_type(equipment) oldequip = '' if itemtype[0] == "ring": for i in pq_magic['ring'].keys(): if equipment.lower() == i.lower(): equipment = i break if self.gear['ring']: self.skill.remove(pq_magic['ring'][self.gear['ring']]) self.loot['items'].append(self.gear['ring']) oldequip = self.gear['ring'] self.skill.append(pq_magic['ring'][equipment]) self.gear['ring'] = equipment self.loot['items'].remove(equipment) else: new_rating = pq_item_rating(itemtype, equipment) if self.gear[itemtype[0]]['name']: self.loot['items'].append(self.gear[itemtype[0]]['name']) oldequip = self.gear[itemtype[0]]['name'] self.gear[itemtype[0]]['name'] = equipment self.gear[itemtype[0]]['rating'] = new_rating self.loot['items'].remove(equipment) self.combat['atk'] = [self.gear['weapon']['rating'], self.stats[0]] self.combat['dfn'] = [self.gear['armor']['rating'], self.stats[1]] return oldequip
def equip(self): """Equip an item, unequipping extant item if necessary.""" if not self.loot['items']: print "You have nothing to equip!" return print "What would you like to equip?" lootbag = ['Ring of ' + i if i in pq_magic['ring'].keys() \ else i for i in self.loot['items']] lootbag_basic = collapse_stringlist(lootbag, sortit=True, \ addcounts=False) print textwrap.fill("Lootbag: " + \ ", ".join(collapse_stringlist(lootbag, sortit=True, \ addcounts=True))) equipment = choose_from_list("Equip> ", lootbag_basic, rand=False, \ character=self, allowed=['sheet', 'help']) equipment = equipment.replace('Ring of ', '') itemtype = pq_item_type(equipment) oldequip = '' if itemtype[0] == "ring": if self.gear['ring']: self.skill.remove(pq_magic['ring'][self.gear['ring']]) self.loot['items'].append(self.gear['ring']) oldequip = self.gear['ring'] self.skill.append(pq_magic['ring'][equipment]) self.gear['ring'] = equipment self.loot['items'].remove(equipment) else: new_rating = pq_item_rating(itemtype, equipment) if self.gear[itemtype[0]]['name']: self.loot['items'].append(self.gear[itemtype[0]]['name']) oldequip = self.gear[itemtype[0]]['name'] self.gear[itemtype[0]]['name'] = equipment self.gear[itemtype[0]]['rating'] = new_rating self.loot['items'].remove(equipment) self.combat['atk'] = [self.gear['weapon']['rating'], self.stats[0]] self.combat['dfn'] = [self.gear['armor']['rating'], self.stats[1]] print equipment + " equipped!" if oldequip: print oldequip + " unequipped!" return