def show_text(self, *args): try: id = self.box_list.curselection() luku = int(id[0]) except Exception: luku = self.last_list_selection category_luku = self.last_category_selection for armor in self.contr.settings.armors: if armor.get_attribute('brand')==self.box_categories.get(category_luku): #print('past the first if statement in armor sp retrieval') #print(armor.get_attribute('name')) #print(self.box_list.get(luku)) full_name = armor.get_attribute('brand') + " " + armor.get_attribute('name') if full_name==self.box_list.get(luku): #print('past the second if statement in armor sp retrieval') for loc in self.armorbox.segmented_file_array: bodypart_name = loc[1] #self.armorbox.variables[bodypart_name].set(armor.get_attribute(bodypart_name)) #print(self.armorbox.variables[bodypart_name].get()) if int(self.armorbox.variables[bodypart_name].get()) == 0: self.armorbox.added_variables[bodypart_name].set('+' + str(armor.get_sp_value(bodypart_name))) else: #print('else lauseessa') e = Effective_armor() layer1=self.armorbox.variables[bodypart_name].get() #print('layer1' + layer1) layer2=armor.get_sp_value(bodypart_name) bonus = e.calc_sp_layers(layer1, layer2) self.armorbox.added_variables[bodypart_name].set('+' + str(bonus))
def inventory_changed(self, *args): #flag = self.text_inventory.edit_modified() #print(flag) f = open(self.inventory_file, 'w+') f.write(self.text_inventory.get(1.0, 'end')) f.close() e = Effective_armor() self.contr.clear_ability_list(self.name) d= open(self.inventory_file, 'r') for line in d: merkkijono = line[:-1] try: #merkkijono = line rivitiedot = merkkijono.split('|', -1) key = str.strip(rivitiedot[0]) value = rivitiedot[1] #print(merkkijono + ' ' + key + ' ' + value) self.contr.set_to_ability_list(self.name, key, value) for armor in self.contr.settings.armors: #print('armorfinding: ' + key + ' ' + armor.get_attribute('full name')) if key == armor.get_attribute('full name'): #print('armorfinding succeeded') e.add_armor(armor) except Exception: #print('whupsee') print(self.contr._Controller__char.get_ability_list(self.name)) for key, element in self.armorbox.variables.items(): #print(e.sp) try: element.set(e.sp[key]) except Exception: element.set('0') #print('armorlist pituus' +str(len(e.armor_list))) #self.contr.print_all_abilities() self.show_text() self.contr.recalculate_points() self.text_inventory.edit_modified(False) d.close()