diff --git "a/Characters/\347\245\236\345\220\257\302\267\345\234\243\351\252\221\345\243\253.py" "b/Characters/\347\245\236\345\220\257\302\267\345\234\243\351\252\221\345\243\253.py" index a671d968adcb050ad419f963b724c694daeabc3d..8c51ce774ffee224d49b5de57167889584bf04cd 100644 --- "a/Characters/\347\245\236\345\220\257\302\267\345\234\243\351\252\221\345\243\253.py" +++ "b/Characters/\347\245\236\345\220\257\302\267\345\234\243\351\252\221\345\243\253.py" @@ -34,29 +34,39 @@ class 神启·圣骑士技能1(主动技能): BUFF物攻 = 0 BUFF魔攻 = 0 BUFF独立 = 0 - 三攻 = [0, 34, 35, 37, 38, 39, 41, 42, 43, 45, 46, 47, 49, 50, 51, 53, 54, 55, 57, 58, - 60, 61, 62, 64, 65, 66, 68, 69, 70, 72, 73, 74, 76, 77, 78, 80, 81, 82, 84, 85, 87] - 力智 = [0, 131, 140, 149, 158, 167, 175, 184, 193, 202, 211, 220, 229, 238, 247, 256, 264, 273, 282, 291, - 300, 309, 318, 327, 336, 345, 353, 362, 371, 380, 389, 398, 407, 416, 425, 434, 442, 451, 460, 469, 478] + 三攻 = [0, 38, 40, 42, 43, 44, 46, 48, 49, 51, 52, 53, 55, 57, 58, 60, 61, 62, 64, 66, 68, 69, 70, 72, 74, 75, 77, 78, 79, 81, 83, 84, 86, 87, 88, 90, 92, 93, 95, + 96, 98, 100, 101, 103, 104, 105, 107, 109, 110, 112, 113, 114, 116, 118, 119, 121, 122, 123, 126, 127, 129, 130, 131, 133, 135, 136, 138, 139, 140, 143, 144] + 力智 = [0, 148, 158, 169, 179, 189, 198, 208, 218, 228, 239, 249, 259, 269, 279, 290, 299, 309, 319, 329, 339, 349, 360, 370, 380, 390, 399, 409, 420, 430, 440, 450, 460, 470, 481, + 491, 500, 510, 520, 530, 541, 551, 561, 571, 581, 592, 601, 611, 621, 631, 641, 651, 662, 672, 682, 692, 701, 711, 722, 732, 742, 752, 762, 772, 783, 793, 802, 812, 822, 832, 843] def 结算统计(self): 倍率 = self.适用数值 / 665 + 1 temp = [0, 0, 0] # 智力,体力,精神 - temp.append(int(round(((self.力智[self.等级] * 1.131) + self.BUFF力量) * self.BUFF力量per * 倍率,3))) # 力量 - temp.append(int(round(((self.力智[self.等级] * 1.131) + self.BUFF智力 )* self.BUFF智力per * 倍率,3))) # 智力 - temp.append(int(round(((self.三攻[self.等级] * 1.131) + self.BUFF物攻) * self.BUFF物攻per * 倍率,3))) # 物攻 - temp.append(int(round(((self.三攻[self.等级] * 1.131) + self.BUFF魔攻) * self.BUFF魔攻per * 倍率,3))) # 魔攻 - temp.append(int(round(((self.三攻[self.等级] * 1.131) + self.BUFF独立) * self.BUFF独立per * 倍率,3))) # 独立 + temp.append(int(round( + (self.力智[self.等级] + self.BUFF力量) * self.BUFF力量per * 倍率, 3))) # 力量 + temp.append(int(round( + (self.力智[self.等级] + self.BUFF智力) * self.BUFF智力per * 倍率, 3))) # 智力 + temp.append(int(round( + (self.三攻[self.等级] + self.BUFF物攻) * self.BUFF物攻per * 倍率, 3))) # 物攻 + temp.append(int(round( + (self.三攻[self.等级] + self.BUFF魔攻) * self.BUFF魔攻per * 倍率, 3))) # 魔攻 + temp.append(int(round( + (self.三攻[self.等级] + self.BUFF独立) * self.BUFF独立per * 倍率, 3))) # 独立 return temp def 技能面板(self): temp = [] temp.append(self.名称) - temp.append(int(round(((self.力智[self.等级] * 1.131) + self.BUFF力量) * self.BUFF力量per))) - temp.append(int(round(((self.力智[self.等级] * 1.131) + self.BUFF智力) * self.BUFF智力per))) - temp.append(int(round(((self.三攻[self.等级] * 1.131) + self.BUFF物攻) * self.BUFF物攻per))) - temp.append(int(round(((self.三攻[self.等级] * 1.131) + self.BUFF魔攻) * self.BUFF魔攻per))) - temp.append(int(round(((self.三攻[self.等级] * 1.131) + self.BUFF独立) * self.BUFF独立per))) + temp.append( + int(round((self.力智[self.等级] + self.BUFF力量) * self.BUFF力量per))) + temp.append( + int(round((self.力智[self.等级] + self.BUFF智力) * self.BUFF智力per))) + temp.append( + int(round((self.三攻[self.等级] + self.BUFF物攻) * self.BUFF物攻per))) + temp.append( + int(round((self.三攻[self.等级] + self.BUFF魔攻) * self.BUFF魔攻per))) + temp.append( + int(round((self.三攻[self.等级] + self.BUFF独立) * self.BUFF独立per))) return temp @@ -286,6 +296,7 @@ class 神启·圣骑士角色属性(角色属性): def 系数数值进图(self): return self.进图智力 + class 神启·圣骑士(角色窗口): def 窗口属性输入(self): self.初始属性 = 神启·圣骑士角色属性() diff --git a/PublicReference/base_buff.py b/PublicReference/base_buff.py index a0d91ce172dfc3b1b49db351902dc0caec59a3be..7e72a321e156fa6d84a65ae2a22a1f0257dc72ac 100644 --- a/PublicReference/base_buff.py +++ b/PublicReference/base_buff.py @@ -1,5 +1,3 @@ -from math import e -from operator import eq from PublicReference.equipment.equ_list import * from PublicReference.equipment.称号_buff import * from PublicReference.equipment.宠物_buff import * @@ -427,7 +425,7 @@ class 角色属性(属性): def 适用数值计算(self): self.专属词条计算() for skill in self.技能表.values(): - if skill.是否启用 != 0: + if skill.是否启用: 结算 = skill.结算统计() self.智力 += 结算[0] self.体力 += 结算[1] @@ -690,17 +688,14 @@ class 角色属性(属性): def 数据计算(self): 总数据 = [] for skill in self.技能表.values(): - if skill.是否启用 == 1: + if skill.是否启用: 总数据.append(skill.结算统计()) else: 总数据.append([0, 0, 0, 0, 0, 0, 0, 0]) return 总数据 def 预计算(self, 自动切装 = False): - - - - if self.双装备模式 == 1 and self.技能表['一次觉醒'].是否启用 != 0 and 自动切装: + if self.双装备模式 == 1 and self.技能表['一次觉醒'].是否启用 and 自动切装: # 用于计算一觉 temp = deepcopy(self) # 拷贝数据,并修改装备,返回可能的组合 @@ -854,12 +849,12 @@ class 角色属性(属性): def 择优提升率计算(self): 总数据 = [] self.适用数值计算() - if self.双装备模式 == 1 and self.技能表['一次觉醒'].是否启用 != 0: + if self.双装备模式 == 1 and self.技能表['一次觉醒'].是否启用: if self.实际名称 == 'BUFF·神启·圣骑士': if self.是否加觉醒 == 1: self.技能表['一次觉醒'].适用数值 += self.一觉切装加二觉增加体精 for skill in self.技能表.values(): - if skill.是否启用 != 0: + if skill.是否启用: values = skill.结算统计() if skill.所在等级 in [50, 100]: values = [round(i * self.觉醒择优系数) for i in values] @@ -884,19 +879,22 @@ class 角色属性(属性): def 装备属性计算(self): self.装备基础() # self.专属词条计算() - for i in self.装备栏: - item = equ.get_equ_by_name(i) - item.城镇属性_BUFF(self) - item.BUFF属性(self) + + equips = [equ.get_equ_by_name(i) for i in self.装备栏] + suits = [equ.get_suit_by_name(i) for i in self.套装栏] + + for equip in equips: + equip.城镇属性_BUFF(self) + equip.BUFF属性(self) 觉醒词条 = self.黑鸦词条[0][0] # 黑鸦武器觉醒词条 - if 觉醒词条 == 3 and item.部位 == '武器': + if 觉醒词条 == 3 and equip.部位 == '武器': self.技能等级加成('所有', 50, 50, 2) self.技能等级加成('所有', 85, 85, 2) self.技能等级加成('所有', 100, 100, 2) - if item.名称 == '世界树之精灵' and 觉醒词条 > 0: + if equip.名称 == '世界树之精灵' and 觉醒词条 > 0: self.技能等级加成('所有', 50, 50, -2) self.技能等级加成('所有', 85, 85, -2) self.技能等级加成('所有', 100, 100, -2) @@ -904,8 +902,7 @@ class 角色属性(属性): self.技能等级加成('所有', 50, 50, 2) - for i in self.套装栏: - suit = equ.get_suit_by_name(i) + for suit in suits: suit.城镇属性_BUFF(self) suit.BUFF属性(self) @@ -914,11 +911,11 @@ class 角色属性(属性): P.站街计算() self.站街系数 = P.系数数值站街() - for i in self.装备栏: - equ.get_equ_by_name(i).进图属性_BUFF(self) + for equip in equips: + equip.进图属性_BUFF(self) - for i in self.套装栏: - equ.get_suit_by_name(i).进图属性_BUFF(self) + for suit in suits: + suit.进图属性_BUFF(self) def 专属词条计算(self): pass @@ -2169,8 +2166,7 @@ class 角色窗口(窗口): if i.部位 != '武器': if i.品质 != '神话' or index == 0 or self.全选状态 == 0: self.装备图标点击事件(equ.get_id_by_name(i.名称), index, x=0) - else: - if i.类型 in self.角色属性A.武器选项: + elif i.类型 in self.角色属性A.武器选项: self.装备图标点击事件(equ.get_id_by_name(i.名称), index, x=0) self.装备图标点击事件(74, index) @@ -3106,7 +3102,7 @@ class 角色窗口(窗口): 属性.系统奶系数 = 2.31 属性.系统奶基数 = 4581 - if self.初始属性.技能表['三次觉醒'].是否启用 != 0: + if self.初始属性.技能表['三次觉醒'].是否启用: if self.觉醒选择状态 == 1: 属性.技能表['三次觉醒'].关联技能 = [属性.技能表['一次觉醒'].名称] elif self.觉醒选择状态 == 2: @@ -3269,7 +3265,7 @@ class 角色窗口(窗口): num = 0 总数据 = [] for skill in B.技能表.values(): - 详情 = skill.结算统计() + 详情 = skill.结算统计() if skill.是否启用 else [0]*8 总数据.append(详情) if round(sum(详情)) != 0: 合计力量 += 详情[3] @@ -3294,17 +3290,7 @@ class 角色窗口(窗口): 总奶量 += ',独立+' + str(round(合计独立)) # self.总伤害.setText(str(tempstr)) - 提升率 = self.角色属性A.提升率计算(总数据) - - - - - - - - - - + 提升率 = B.提升率计算(总数据) x = B.BUFF面板() y = B.一觉面板() @@ -4453,7 +4439,7 @@ class 角色窗口(窗口): 属性.系统奶系数 = 2.31 属性.系统奶基数 = 4581 - if self.初始属性.技能表['三次觉醒'].是否启用 != 0: + if self.初始属性.技能表['三次觉醒'].是否启用: if self.觉醒选择状态 == 1: 属性.技能表['三次觉醒'].关联技能 = [属性.技能表['一次觉醒'].名称] elif self.觉醒选择状态 == 2: diff --git a/PublicReference/equipment/equ_list.py b/PublicReference/equipment/equ_list.py index a8eb86e7623b67ad8336b677076e043c171a106b..23ac91d271bc33638655d3ab6f2a531c6f7ba503 100644 --- a/PublicReference/equipment/equ_list.py +++ b/PublicReference/equipment/equ_list.py @@ -47,7 +47,7 @@ class equipment(): self.equ_tuple += (temp, ) self.equ_id_tuple += (i, ) key = '{}\t{}\t{}'.format(temp.所属套装, temp.品质, temp.部位) - self.index[key] = i + self.index[key] = i def load_suit(self): self.suit_list = {} @@ -93,9 +93,10 @@ class equipment(): suits = [] dictionary = {} for i in equips: - j = self.get_equ_by_name(i).所属套装 - if j == '智慧产物' and self.get_equ_by_name(i).所属套装2 != '': - k = self.get_equ_by_name(i).所属套装2 + item = self.get_equ_by_name(i) + j = item.所属套装 + if j == '智慧产物' and item.所属套装2 != '': + k = item.所属套装2 dictionary[k] = dictionary.get(k, 0) + 1 elif j != '无': dictionary[j] = dictionary.get(j, 0) + 1 @@ -103,15 +104,15 @@ class equipment(): for i in dictionary.keys(): if dictionary[i] >= 2: temp = '{}[{}]'.format(i, 2) - if temp in self.get_suit_name(): + if temp in self.suit_name: suits.append(temp) if dictionary[i] >= 3: temp = '{}[{}]'.format(i, 3) - if temp in self.get_suit_name(): + if temp in self.suit_name: suits.append(temp) if dictionary[i] >= 5: temp = '{}[{}]'.format(i, 5) - if temp in self.get_suit_name(): + if temp in self.suit_name: suits.append(temp) return suits @@ -135,7 +136,7 @@ class equipment(): def get_id_by_name(self, name): return self.equ_id.get(name, 0) - + def get_equ_list(self): return self.equ_tuple