From 6ca129440bda2fb906f1888e112fd5e022f37ee4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9F=A5=E6=9C=88?= Date: Mon, 13 Sep 2021 01:17:42 +0800 Subject: [PATCH 1/4] =?UTF-8?q?chore:=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PublicReference/base_buff.py | 34 ++++++++++++--------------- PublicReference/equipment/equ_list.py | 17 +++++++------- 2 files changed, 24 insertions(+), 27 deletions(-) diff --git a/PublicReference/base_buff.py b/PublicReference/base_buff.py index 76a27b0..af5fc29 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 * @@ -727,9 +725,6 @@ class 角色属性(属性): return 总数据 def 预计算(self, 自动切装 = False): - - - if self.双装备模式 == 1 and self.技能表['一次觉醒'].是否启用 != 0 and 自动切装: # 用于计算一觉 temp = deepcopy(self) @@ -914,19 +909,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) @@ -934,8 +932,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) @@ -944,11 +941,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 @@ -2199,8 +2196,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) diff --git a/PublicReference/equipment/equ_list.py b/PublicReference/equipment/equ_list.py index a8eb86e..23ac91d 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 -- Gitee From d6d66ffefb577102881d5a2312ff657994a860b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9F=A5=E6=9C=88?= Date: Tue, 14 Sep 2021 00:18:14 +0800 Subject: [PATCH 2/4] =?UTF-8?q?Bugfix:=E4=BF=AE=E5=A4=8D=E8=87=AA=E9=80=89?= =?UTF-8?q?=E8=AE=A1=E7=AE=97=E6=8A=80=E8=83=BD=E7=A6=81=E7=94=A8=E6=97=A0?= =?UTF-8?q?=E6=95=88=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PublicReference/base_buff.py | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/PublicReference/base_buff.py b/PublicReference/base_buff.py index acab8b7..6cf4462 100644 --- a/PublicReference/base_buff.py +++ b/PublicReference/base_buff.py @@ -3265,7 +3265,7 @@ class 角色窗口(窗口): num = 0 总数据 = [] for skill in B.技能表.values(): - 详情 = skill.结算统计() + 详情 = skill.结算统计() if skill.是否启用 else [0]*8 总数据.append(详情) if round(sum(详情)) != 0: 合计力量 += 详情[3] @@ -3290,17 +3290,7 @@ class 角色窗口(窗口): 总奶量 += ',独立+' + str(round(合计独立)) # self.总伤害.setText(str(tempstr)) - 提升率 = self.角色属性A.提升率计算(总数据) - - - - - - - - - - + 提升率 = B.提升率计算(总数据) x = B.BUFF面板() y = B.一觉面板() -- Gitee From 7b4e629d45a7361f2bcb470ef2e04a69c9a39ac1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9F=A5=E6=9C=88?= Date: Tue, 14 Sep 2021 01:23:44 +0800 Subject: [PATCH 3/4] =?UTF-8?q?chore:=E4=BB=A3=E7=A0=81=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PublicReference/base_buff.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/PublicReference/base_buff.py b/PublicReference/base_buff.py index 6cf4462..7e72a32 100644 --- a/PublicReference/base_buff.py +++ b/PublicReference/base_buff.py @@ -425,7 +425,7 @@ class 角色属性(属性): def 适用数值计算(self): self.专属词条计算() for skill in self.技能表.values(): - if skill.是否启用 != 0: + if skill.是否启用: 结算 = skill.结算统计() self.智力 += 结算[0] self.体力 += 结算[1] @@ -688,14 +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) # 拷贝数据,并修改装备,返回可能的组合 @@ -849,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] @@ -3102,7 +3102,7 @@ class 角色窗口(窗口): 属性.系统奶系数 = 2.31 属性.系统奶基数 = 4581 - if self.初始属性.技能表['三次觉醒'].是否启用 != 0: + if self.初始属性.技能表['三次觉醒'].是否启用: if self.觉醒选择状态 == 1: 属性.技能表['三次觉醒'].关联技能 = [属性.技能表['一次觉醒'].名称] elif self.觉醒选择状态 == 2: @@ -4439,7 +4439,7 @@ class 角色窗口(窗口): 属性.系统奶系数 = 2.31 属性.系统奶基数 = 4581 - if self.初始属性.技能表['三次觉醒'].是否启用 != 0: + if self.初始属性.技能表['三次觉醒'].是否启用: if self.觉醒选择状态 == 1: 属性.技能表['三次觉醒'].关联技能 = [属性.技能表['一次觉醒'].名称] elif self.觉醒选择状态 == 2: -- Gitee From dcf89b72ce86cf07eea49d5b436622519e631c6f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=9F=A5=E6=9C=88?= Date: Wed, 15 Sep 2021 14:07:07 +0800 Subject: [PATCH 4/4] =?UTF-8?q?=E6=A0=A1=E5=87=86=E5=A5=B6=E5=A6=88buff?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...67\345\234\243\351\252\221\345\243\253.py" | 39 ++++++++++++------- 1 file changed, 25 insertions(+), 14 deletions(-) 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 a671d96..8c51ce7 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.初始属性 = 神启·圣骑士角色属性() -- Gitee