from math import * from PublicReference.carry.base import * class 职业主动技能(主动技能): 技能施放时间 = 0.0 脱手 = 1 data0 = [] data1 = [] data2 = [] data3 = [] 攻击次数 = 1 攻击次数1 = 0 攻击次数2 = 0 攻击次数3 = 0 def 等效百分比(self, 武器类型): 等效倍率 = 0.0 if len(self.data0) >= self.等级 and len(self.data0) > 0: 等效倍率 += self.data0[self.等级] * self.攻击次数 if len(self.data1) >= self.等级 and len(self.data1) > 0: 等效倍率 += self.data1[self.等级] * self.攻击次数1 if len(self.data2) >= self.等级 and len(self.data2) > 0: 等效倍率 += self.data2[self.等级] * self.攻击次数2 if len(self.data3) >= self.等级 and len(self.data3) > 0: 等效倍率 += self.data3[self.等级] * self.攻击次数3 return 等效倍率 * (1 + self.TP成长 * self.TP等级) * self.倍率 class 技能0(职业主动技能): 名称 = '烈火燎原' 所在等级 = 1 等级上限 = 60 基础等级 = 50 data0 = [0, 11, 15, 20, 24, 29, 31, 35, 40, 44, 48, 53, 57, 61, 65, 69, 74, 78, 83, 85, 89, 94, 98, 102, 107, 110, 115, 119, 123, 128, 132, 137, 139, 143, 148, 152, 156, 160, 164, 169, 173, 177, 182, 186, 191, 193, 197, 202, 206, 210, 214, 218, 223, 227, 231, 236, 240, 242, 247, 251, 256, 260, 263, 268, 272, 277, 281, 285, 290, 294, 296] data0=[(1+1.1244)*x*1.085*1.052 for x in data0] 攻击次数 = 1 能量 = 140 最小值 = 4 CD = 5.0 持续秒数 = 6.0 TP成长 = 0.08 TP上限 = 5 硬直时长百分比 = 0 def 觉醒模式(self, x): if x == 1: 觉醒后能量消耗 = 70 self.data0 = [int(x * 觉醒后能量消耗 / self.最小值) for x in self.data0] # self.data0 = [0.5*x for x in data0] self.最小值 = 觉醒后能量消耗 # self.基础 = self.基础 * 70 / 2 # self.成长 = self.成长 * 70 / 2 class 技能1(职业主动技能): 名称 = '炽炎星陨' 所在等级 = 1 等级上限 = 60 基础等级 = 50 data0 = [0, 109, 148, 187, 226, 263, 302, 341, 380, 418, 457, 494, 534, 573, 611, 650, 687, 727, 765, 804, 842, 882, 920, 958, 996, 1035, 1075, 1113, 1151, 1189, 1228, 1267, 1306, 1344, 1382, 1420, 1460, 1498, 1537, 1574, 1614, 1653, 1691, 1730, 1768, 1808, 1845, 1884, 1922, 1961, 2001, 2038, 2076, 2115, 2155, 2193, 2232, 2269, 2308, 2347, 2386, 2424, 2462, 2500, 2540, 2579, 2617, 2655, 2693, 2733, 2771] data0=[1.213*1.085*x*1.052 for x in data0] 攻击次数 = 1 能量 = 140 最小值 = 20 CD = 5.0 持续秒数 = 1.0 TP成长 = 0.08 TP上限 = 5 硬直时长百分比 = 0 def 觉醒模式(self, x): if x == 1: 觉醒后能量消耗 = 70 self.data0 = [int(x * 觉醒后能量消耗 / self.最小值) for x in self.data0] self.最小值 = 觉醒后能量消耗 class 技能2(职业主动技能): 名称 = '冰霜之球' 所在等级 = 10 等级上限 = 60 基础等级 = 48 data0 = [int(i*1.085*1.05) for i in [0, 78, 89, 100, 111, 124, 135, 146, 158, 169, 180, 193, 204, 215, 226, 238, 249, 260, 273, 284, 295, 307, 318, 329, 341, 353, 364, 375, 387, 398, 410, 422, 433, 444, 455, 467, 479, 490, 502, 513, 524, 536, 548, 559, 570, 582, 593, 604, 617, 628, 639, 651, 662, 673, 684, 697, 708, 719, 731, 742, 754, 766, 777, 788, 799, 811, 823, 834, 844, 856, 867]] 攻击次数 = 6 # 能量消耗值:20 能量 = 140 最小值 = 20 CD = 10.0 持续秒数 = 3.0 TP成长 = 0.08 TP上限 = 5 硬直时长百分比 = 0 def 觉醒模式(self, x): if x == 1: 觉醒后能量消耗 = 70 self.data0 = [int(x * 觉醒后能量消耗 / self.最小值) for x in self.data0] self.最小值 = 觉醒后能量消耗 class 技能3(职业主动技能): 名称 = '冰天震地' 所在等级 = 10 等级上限 = 60 基础等级 = 48 # 冰盘攻击力: data0 = [0, 828, 950, 1071, 1191, 1313, 1433, 1555, 1675, 1797, 1917, 2038, 2160, 2281, 2401, 2523, 2643, 2764, 2885, 3007, 3127, 3247, 3368, 3489, 3611, 3731, 3853, 3973, 4094, 4214, 4337, 4457, 4578, 4699, 4821, 4941, 5063, 5183, 5304, 5424, 5547, 5667, 5788, 5909, 6030, 6150, 6273, 6393, 6514, 6634, 6754, 6877, 6997, 7118, 7239, 7360, 7480, 7603, 7723, 7844, 7964, 8086, 8207, 8328, 8449, 8570, 8690, 8813, 8933, 9054, 9174] data0=[1.101*1.085*x*1.05 for x in data0] 攻击次数 = 1 # 能量消耗值:40 能量 = 140 最小值 = 40 CD = 10.0 持续秒数 = 1.0 TP成长 = 0.08 TP上限 = 5 硬直时长百分比 = 0 def 觉醒模式(self, x): if x == 1: 觉醒后能量消耗 = 140 self.data0 = [int(x * 觉醒后能量消耗 / self.最小值) for x in self.data0] self.最小值 = 觉醒后能量消耗 class 技能4(被动技能): 名称 = '幻想之境' 所在等级 = 20 等级上限 = 20 基础等级 = 10 def 加成倍率(self, 武器类型): if self.等级 == 0: return 1.0 elif self.等级 <= 10: return round(1 + 0.01 * self.等级, 5) else: return round(1.1 + 0.015 * (self.等级 - 10), 5) def 独立攻击力倍率(self, 武器类型): return self.加成倍率(武器类型) class 技能5(被动技能): 名称 = '具象强化' 所在等级 = 25 等级上限 = 40 基础等级 = 10 def 加成倍率(self, 武器类型): if self.等级 == 0: return 1.0 else: return round(1.05 + 0.025 * self.等级, 5) class 技能6(职业主动技能): 名称 = '烈焰飓风' 所在等级 = 30 等级上限 = 60 基础等级 = 38 # 烈焰飓风攻击力: data0 = [0, 457, 503, 550, 596, 641, 689, 735, 782, 827, 873, 921, 967, 1014, 1059, 1107, 1153, 1200, 1245, 1291, 1339, 1385, 1430, 1477, 1524, 1571, 1616, 1663, 1709, 1757, 1802, 1848, 1895, 1942, 1987, 2034, 2080, 2127, 2174, 2220, 2266, 2312, 2360, 2405, 2452, 2498, 2545, 2591, 2637, 2684, 2730, 2776, 2823, 2869, 2916, 2961, 3009, 3055, 3102, 3147, 3193, 3241, 3287, 3334, 3379, 3425, 3473, 3519, 3565, 3611, 3659] data0=[1.153*1.085*x*1.051 for x in data0] 攻击次数 = 12 # 烈焰飓风持续时间:3秒 # 能量消耗值:60 能量 = 140 最小值 = 60 CD = 20 持续秒数 = 4.0 TP成长 = 0.10 TP上限 = 5 硬直时长百分比 = 0.05 是否有护石 = 1 护石选项 = ['魔界', '圣痕'] def 装备护石(self, x): if x == 0: self.CD *= 0.85 self.倍率 *= 1.0 elif x == 1: self.CD *= 0.85 self.倍率 *= 1.09 class 技能7(职业主动技能): 名称 = '极冰护盾' 所在等级 = 30 等级上限 = 60 基础等级 = 38 data0 = [0, 2901, 3195, 3490, 3783, 4079, 4373, 4667, 4961, 5256, 5551, 5844, 6138, 6433, 6728, 7022, 7316, 7611, 7905, 8200, 8494, 8787, 9083, 9377, 9672, 9965, 10259, 10555, 10848, 11143, 11437, 11733, 12026, 12320, 12615, 12908, 13204, 13498, 13793, 14086, 14382, 14676, 14969, 15264, 15559, 15854, 16147, 16441, 16736, 17030, 17325, 17619, 17913, 18208, 18503, 18797, 19090, 19385, 19680, 19974, 20268, 20562, 20858, 21151, 21446, 21740, 22035, 22329, 22623, 22917, 23211] data0=[1.19*1.085*x*1.052 for x in data0] 攻击次数 = 1 CD = 20.0 持续秒数 = 1.0 能量 = 140 最小值 = 60 TP成长 = 0.10 TP上限 = 5 硬直时长百分比 = 0.1 class 技能8(职业主动技能): 名称 = '超能旋风波' 所在等级 = 40 等级上限 = 60 基础等级 = 33 data0 = [0, 375, 414, 450, 488, 527, 565, 603, 641, 680, 718, 757, 793, 832, 870, 908, 946, 985, 1023, 1060, 1099, 1137, 1174, 1212, 1251, 1289, 1327, 1365, 1404, 1442, 1480, 1517, 1555, 1593, 1631, 1670, 1708, 1746, 1784, 1823, 1861, 1898, 1936, 1975, 2013, 2050, 2089, 2127, 2166, 2203, 2241, 2279, 2317, 2355, 2394, 2432, 2470, 2508, 2547, 2585, 2621, 2660, 2698, 2736, 2774, 2813, 2851, 2890, 2927, 2965, 3003] data0=[1.13*1.085 *x*1.051 for x in data0] 攻击次数 = 1 CD = 25.0 持续秒数 = 5.0 能量 = 140 最小值 = 4 TP成长 = 0.10 TP上限 = 5 硬直时长百分比 = 0 是否有护石 = 1 护石选项 = ['魔界', '圣痕'] def 装备护石(self, x): if x == 0: self.倍率 *= 1.23 elif x == 1: self.倍率 *= 1.32 def 觉醒模式(self, x): if x == 1: 觉醒后能量消耗 = 46 self.data0 = [int(x * 觉醒后能量消耗 / self.最小值) for x in self.data0] self.最小值 = 觉醒后能量消耗 class 技能9(职业主动技能): 名称 = '风暴漩涡' 所在等级 = 40 等级上限 = 60 基础等级 = 33 data0 = [0, 1575, 1735, 1895, 2055, 2215, 2375, 2536, 2695, 2856, 3015, 3176, 3335, 3494, 3654, 3814, 3974, 4134, 4294, 4454, 4615, 4774, 4935, 5094, 5253, 5413, 5573, 5733, 5893, 6053, 6213, 6373, 6533, 6694, 6853, 7014, 7172, 7332, 7492, 7652, 7812, 7972, 8132, 8292, 8452, 8612, 8773, 8931, 9090, 9251, 9411, 9571, 9731, 9891, 10051, 10211, 10371, 10531, 10691, 10850, 11010, 11171, 11330, 11490, 11650, 11810, 11970, 12130, 12290, 12450, 12609] data0=[1.101*1.085*x*1.05 for x in data0] 攻击次数 = 1 能量 = 140 最小值 = 20 CD = 25.0 持续秒数 = 5.0 TP成长 = 0.10 TP上限 = 5 硬直时长百分比 = 0 是否有护石 = 1 护石选项 = ['圣痕'] def 装备护石(self, x): if x == 0: self.CD *= 0.85 self.倍率 *= 1.22 def 觉醒模式(self, x): if x == 1: 觉醒后能量消耗 = 70 self.data0 = [int(x * 觉醒后能量消耗 / self.最小值) for x in self.data0] self.最小值 = 觉醒后能量消耗 class 技能10(被动技能): 名称 = '洞悉' 所在等级 = 48 等级上限 = 40 基础等级 = 20 def 加成倍率(self, 武器类型): if self.等级 == 0: return 1.0 else: return round(1.025 + 0.02 * self.等级, 5) class 技能11(职业主动技能): 名称 = '末日虫洞' 所在等级 = 50 等级上限 = 40 基础等级 = 19 # 行星碎片攻击力: data0 = [0, 220, 255, 291, 326, 361, 397, 433, 467, 502, 537, 573, 608, 644, 679, 713, 749, 784, 819, 854, 891, 926, 960, 995, 1031, 1066, 1101, 1137, 1173, 1207, 1242, 1277, 1312, 1348, 1384, 1419, 1453, 1489, 1524, 1559, 1594, 1631, 1666, 1700, 1735, 1770, 1806, 1841, 1877, 1912, 1947, 1982, 2017, 2052, 2087, 2124, 2159, 2193, 2228, 2264, 2299, 2335, 2370, 2406, 2440, 2475, 2510, 2546, 2582, 2617, 2652] # 虫洞大爆炸攻击力: data1 = [0, 10778, 12497, 14215, 15934, 17651, 19371, 21089, 22807, 24525, 26242, 27962, 29681, 31398, 33117, 34835, 36554, 38272, 39991, 41708, 43428, 45145, 46864, 48582, 50300, 52019, 53738, 55455, 57174, 58892, 60611, 62329, 64047, 65765, 67485, 69202, 70921, 72638, 74358, 76077, 77794, 79512, 81231, 82950, 84668, 86387, 88104, 89822, 91542, 93260, 94978, 96696, 98415, 100134, 101851, 103570, 105288, 107007, 108725, 110444, 112161, 113881, 115598, 117317, 119035, 120753, 122472, 124191, 125908, 127627, 129347] data0=[1.3*1.085*x*1.101 for x in data0] data1=[1.3*1.085*x*1.101 for x in data1] 攻击次数 = 19 攻击次数1 = 1 CD = 45.0 持续秒数 = 3.0 能量 = 100 最小值 = 100 TP成长 = 0.10 TP上限 = 5 硬直时长百分比 = 0 是否有护石 = 1 护石选项 = ['魔界', '圣痕'] def 装备护石(self, x): if x == 0: self.倍率 *= 1.20 elif x == 1: self.倍率 *= 1.28 class 技能12(职业主动技能): 名称 = '冰雪降临' 所在等级 = 60 等级上限 = 40 基础等级 = 16 data0 = [ int(1.0*1.085 * x) for x in [ 0, 573, 664, 754, 846, 937, 1029, 1120, 1212, 1303, 1394, 1486, 1577, 1669, 1760, 1851, 1943, 2034, 2126, 2217, 2308, 2400, 2491, 2581, 2673, 2764, 2856, 2947, 3039, 3130, 3221, 3313, 3404, 3496, 3587, 3678, 3770, 3861, 3953, 4044, 4135, 4227, 4318, 4410, 4500, 4591, 4683, 4774, 4865, 4957, 5048, 5140, 5231, 5323, 5414, 5505, 5597, 5688, 5780, 5871, 5962, 6054, 6145, 6237, 6327, 6418, 6510, 6601, 6692, 6784, 6875 ] ] data0=[1.101*x*1.051 for x in data0] # 范围大小 1.2~1的倍率 倍率 = 1.2 攻击次数 = 21 CD = 31.5 持续秒数 = 3.0 能量 = 100 最小值 = 50 TP成长 = 0.10 TP上限 = 5 硬直时长百分比 = 0 是否有护石 = 1 护石选项 = ['魔界', '圣痕'] def 装备护石(self, x): if x == 0: 能量消耗 = 2 self.data0 = [int(x * 能量消耗 / self.最小值) for x in self.data0] self.最小值 = 能量消耗 self.倍率 *= 1.28 self.持续秒数 = 0.5 self.硬直时长百分比 = 0.15 elif x == 1: 能量消耗 = 2 self.data0 = [int(x * 能量消耗 / self.最小值) for x in self.data0] self.最小值 = 能量消耗 self.倍率 *= 1.37 self.持续秒数 = 0.5 self.硬直时长百分比 = 0.15 class 技能13(职业主动技能): 名称 = '时空链接' 所在等级 = 70 等级上限 = 60 基础等级 = 18 data0 = [int(i*1.085) for i in[0, 823, 906, 990, 1074, 1156, 1240, 1324, 1407, 1491, 1575, 1658, 1742, 1824, 1908, 1992, 2075, 2159, 2243, 2327, 2409, 2493, 2576, 2660, 2744, 2827, 2911, 2995, 3077, 3161, 3245, 3328, 3412, 3496, 3579, 3663, 3745, 3829, 3913, 3996, 4080, 4164, 4247, 4331, 4414, 4497, 4581, 4665, 4748, 4832, 4916, 4998, 5082, 5165, 5249, 5333, 5417, 5500, 5584, 5666, 5750, 5834, 5917, 6001, 6085, 6168, 6252, 6335, 6418, 6502, 6586]] 攻击次数 = 34 CD = 54 持续秒数 = 5.0 能量 = 100 最小值 = 50 TP成长 = 0.10 TP上限 = 5 硬直时长百分比 = 0.05 是否有护石 = 1 护石选项 = ['魔界', '圣痕'] def 装备护石(self, x): if x == 0: self.倍率 *= 1.24 elif x == 1: self.倍率 *= 1.32 class 技能14(被动技能): 名称 = '创世之力' 所在等级 = 75 等级上限 = 40 基础等级 = 11 def 加成倍率(self, 武器类型): if self.等级 == 0: return 1.0 else: return round(1.22 + 0.02 * self.等级, 5) class 技能15(职业主动技能): 名称 = '时空禁制' 所在等级 = 80 等级上限 = 60 基础等级 = 9 # 多段攻击力: data0 = [0, 779, 902, 1027, 1150, 1275, 1399, 1522, 1648, 1771, 1896, 2020, 2144, 2268, 2391, 2516, 2639, 2765, 2889, 3013, 3137, 3260, 3385, 3509, 3634, 3758, 3883, 4006, 4130, 4254, 4378, 4504, 4627, 4752, 4875, 4999, 5123, 5247, 5373, 5496, 5621, 5744, 5868, 5993, 6116, 6242, 6365, 6490, 6614, 6737, 6862, 6985, 7111, 7235, 7359, 7483, 7606, 7731, 7854, 7979, 8103, 8228, 8352, 8475, 8600, 8724, 8848, 8972, 9098, 9221, 9345] # 最后一击爆炸攻击力: data1 = [0, 23364, 27089, 30813, 34537, 38262, 41987, 45712, 49436, 53162, 56887, 60611, 64336, 68061, 71785, 75510, 79235, 82959, 86684, 90408, 94133, 97858, 101583, 105309, 109032, 112757, 116482, 120207, 123932, 127657, 131382, 135105, 138830, 142555, 146280, 150005, 153730, 157453, 161178, 164904, 168629, 172354, 176079, 179803, 183527, 187252, 190977, 194702, 198426, 202151, 205875, 209600, 213325, 217051, 220775, 224500, 228225, 231949, 235674, 239398, 243123, 246848, 250573, 254297, 258021, 261746, 265471, 269197, 272922, 276647, 280370] data0=[1.172*1.085*x*1.051 for x in data0] data1=[1.172*1.085*x*1.051 for x in data1] 攻击次数 = 30 攻击次数1 = 1 CD = 45.0 持续秒数 = 7.0 能量 = 100 最小值 = 100 硬直时长百分比 = 0 是否有护石 = 1 护石选项 = ['圣痕'] def 装备护石(self, x): if x == 0: self.倍率 *= 0.5 * 2.74 class 技能16(职业主动技能): 名称 = '创世' 备注 = '(直接爆炸)' 所在等级 = 85 等级上限 = 60 基础等级 = 5 # 基础 = 84924.00 # 成长 = 25632.0 data0 = [0, 19457, 23968, 28479, 32992, 37503, 42016, 46527, 51040, 55551, 60063, 64574, 69087, 73598, 78110, 82621, 87134, 91645, 96157, 100668, 105182, 109693, 114205, 118717, 123229, 127740, 132252, 136764, 141276, 145787, 150299, 154811, 159323, 163834, 168348, 172858, 177371, 181882, 186395, 190906, 195418, 199929, 204442, 208953, 213465, 217976, 222489, 227000, 231513, 236023, 240537, 245048, 249560, 254071, 258584, 263095, 267607, 272119, 276631, 281142, 285654, 290166, 294678, 299189, 303702, 308214, 312726, 317237, 321749, 326261, 330773] data0=[1.15*1.085*x*1.052 for x in data0] 攻击次数 = 6 CD = 180.0 持续秒数 = 1 能量 = 100 最小值 = 100 硬直时长百分比 = 0 # class 技能17(被动技能): # 名称 = '卓越之力' # 所在等级 = 95 # 等级上限 = 40 # 基础等级 = 4 # # def 加成倍率(self, 武器类型): # if self.等级 == 0: # return 1.0 # else: # return round(1.18 + 0.02 * self.等级, 5) # # # class 技能18(被动技能): # 名称 = '超卓之心' # 所在等级 = 95 # 等级上限 = 11 # 基础等级 = 1 # # def 加成倍率(self, 武器类型): # if self.等级 == 0: # return 1.0 # else: # return round(1.045 + 0.005 * self.等级, 5) # # # class 技能19(被动技能): # 名称 = '觉醒之抉择' # 所在等级 = 100 # 等级上限 = 40 # 基础等级 = 2 # 关联技能 = ['无'] # # def 加成倍率(self, 武器类型): # if self.等级 == 0: # return 1.0 # else: # return round(1.10 + 0.05 * self.等级, 5) class 技能17(被动技能): 名称 = '天工开物' 所在等级 = 95 等级上限 = 40 基础等级 = 4 def 加成倍率(self, 武器类型): if self.等级 == 0: return 1.0 else: return round(1.18 + 0.02 * self.等级, 5) class 技能18(职业主动技能): 名称 = '创世之光' 所在等级 = 95 等级上限 = 60 基础等级 = 6 # 基础 = 84924.00 # 成长 = 25632.0 data0 = [0, 108124, 119092, 130060, 141030, 151998, 162969, 173937, 184907, 195875, 206846, 217814, 228782, 239752, 250720, 261691, 272659, 283630, 294597, 305568, 316536, 327507, 338475, 349442, 360413, 371381, 382352, 393320, 404290, 415258, 426229, 437197, 448164, 459135, 470103, 481074, 492042, 503012, 513980, 524951, 535919, 546887, 557857, 568825, 579796, 590764, 601735, 612702, 623673, 634641, 645609, 656580, 667547, 678518, 689486, 700457, 711424, 722395, 733363, 744331, 755302, 766269, 777240, 788208, 799179, 810147, 821117, 832085, 843053, 854024, 864992] data0=[1.191*1.085*x*1.051 for x in data0] 攻击次数 = 1 CD = 60.0 持续秒数 = 3.5 能量 = 100 最小值 = 100 硬直时长百分比 = 0 # def 加成倍率(self, 武器类型): # return 0.0 class 技能19(职业主动技能): 名称 = '时之终末:归烬' 所在等级 = 100 等级上限 = 60 基础等级 = 2 # 基础 = 84924.00 # 成长 = 25632.0 data0 = [0, 11978, 14756, 17533, 20311, 23089, 25866, 28644, 31421, 34199, 36977, 39754, 42532, 45309, 48087, 50865, 53642, 56420, 59197, 61975, 64753, 67530, 70308, 73085, 75863, 78640, 81418, 84196, 86973, 89751, 92528, 95306, 98084, 100861, 103639, 106416, 109194, 111972, 114749, 117527, 120304, 123082, 125859, 128637, 131415, 134192, 136970, 139747, 142525, 145303, 148080, 150858, 153635, 156413, 159191, 161968, 164746, 167523, 170301, 173078, 175856, 178634, 181411, 184189, 186966, 189744, 192522, 195299, 198077, 200854, 203632] 攻击次数 = 9 data1 = [0, 251545, 309874, 368203, 426533, 484862, 543191, 601520, 659849, 718180, 776509, 834838, 893168, 951497, 1009826, 1068155, 1126484, 1184815, 1243144, 1301473, 1359803, 1418132, 1476461, 1534790, 1593119, 1651450, 1709779, 1768108, 1826438, 1884767, 1943096, 2001425, 2059754, 2118085, 2176414, 2234743, 2293073, 2351402, 2409731, 2468060, 2526389, 2584720, 2643049, 2701378, 2759708, 2818037, 2876366, 2934695, 2993024, 3051353, 3109684, 3168013, 3226343, 3284672, 3343001, 3401330, 3459659, 3517990, 3576319, 3634648, 3692978, 3751307, 3809636, 3867965, 3926294, 3984623, 4042954, 4101283, 4159613, 4217942, 4276271] 攻击次数1 = 1 data0=[1.191*1.085*x for x in data0] data1=[1.191*1.085*x for x in data1] CD = 290 持续秒数 = 6 能量 = 100 最小值 = 100 硬直时长百分比 = 0 def 加成倍率(self, 武器类型): return 0.0 class 技能20(被动技能): 名称 = '自我觉醒' 所在等级 = 50 等级上限 = 1 基础等级 = 1 def 加成倍率(self, 武器类型): if self.等级 == 0: return 1.0 else: return 1.11 def 独立攻击力倍率(self, 武器类型): if self.等级 == 0: return 1.0 else: return 1.11 技能列表 = [] i = 0 while i >= 0: try: tem = eval('技能'+str(i)+'()') tem.基础等级计算() 技能列表.append(tem) i += 1 except: i = -1 技能序号 = dict() for i in range(len(技能列表)): 技能序号[技能列表[i].名称] = i 缔造者一觉序号 = 16 缔造者二觉序号 = 16 缔造者三觉序号 = 19 缔造者护石选项 = ['无'] for i in 技能列表: if i.是否有伤害 == 1 and i.是否有护石 == 1: 缔造者护石选项.append(i.名称) 缔造者符文选项 = ['无'] for i in 技能列表: if i.所在等级 >= 1 and i.所在等级 <= 80 and i.是否有伤害 == 1: 缔造者符文选项.append(i.名称) class 职业属性(角色属性): 实际名称 = '知源·缔造者' 角色 = '缔造者' 职业 = '缔造者' 武器选项 = ['魔杖', '法杖', '棍棒', '矛', '扫把'] 类型选择 = ['魔法固伤'] 类型 = '魔法固伤' 防具类型 = '板甲' 防具精通属性 = ['智力'] 主BUFF = 1.66 远古记忆 = 0 数据精算模式 = 0 觉醒模式 = 1 def __init__(self): 基础属性输入(self) self.技能栏 = deepcopy(技能列表) self.技能序号 = deepcopy(技能序号) def 技能等级加成(self, 加成类型, minLv, maxLv, lv, 可变=0): lv = int(lv) if self.装备描述 == 1: if 加成类型 == "所有": if minLv == maxLv: return "Lv{} 技能等级+{}
".format(minLv, lv) else: return "Lv{}-{} 技能等级+{}
".format(minLv, maxLv, lv) else: if minLv == maxLv: return "Lv{} 主动技能等级+{}
".format(minLv, lv) else: return "Lv{}-{} 主动技能等级+{}
".format(minLv, maxLv, lv) else: if self.远古记忆 > 0: if minLv <= 15 and maxLv >= 15: self.远古记忆 = min(20, self.远古记忆 + lv) for i in self.技能栏: if i.所在等级 >= minLv and i.所在等级 <= maxLv: if 加成类型 == '所有': i.等级加成(lv) if 可变 > 0: self.变换词条[可变 - 1] = [ 6, 2, 14 + (2 if 可变 > 1 else 4), 14 + (9 if 可变 > 1 else 17) ] return '' def 技能释放次数计算(self): 技能释放次数 = [] for i in self.技能栏: modelchange = '觉醒模式' in dir(i) if modelchange and self.觉醒模式 == 1: # print('hello') i.觉醒模式(1) if i.是否有伤害 == 1: if '/CD' in self.次数输入[self.技能序号[i.名称]]: 余数伤害时间 = ( (int(i.能量 * (1 + (self.时间输入 * (1 - i.硬直时长百分比)) / i.等效CD(self.武器类型, self.类型))) - int( int(i.能量 * (1 + (self.时间输入) / i.等效CD(self.武器类型, self.类型))) / i.最小值) * i.最小值) / i.能量) * i.等效CD( self.武器类型, self.类型) 余数次数 = 0 if 余数伤害时间 < i.持续秒数: if 余数伤害时间 < 0.03: 余数次数 = -1 else: 余数次数 = -1 + 余数伤害时间 / i.持续秒数 else: 余数次数 = 0 if self.数据精算模式 == 1 and self.时间输入 != 1: 技能释放次数.append( round( int( int(i.能量 * (1 + (self.时间输入 * (1 - i.硬直时长百分比)) / i.等效CD(self.武器类型, self.类型))) / i.最小值) + 余数次数, 2)) else: 余数次数 = 0 技能释放次数.append( round( int( int(i.能量 * (1 + (self.时间输入 * (1 - i.硬直时长百分比)) / i.等效CD(self.武器类型, self.类型))) / i.最小值) + 余数次数, 2)) elif self.次数输入[self.技能序号[i.名称]] != '0': 技能释放次数.append(round(float(self.次数输入[self.技能序号[i.名称]]), 2)) else: 技能释放次数.append(0) else: 技能释放次数.append(0) return self.技能释放次数解析(技能释放次数) class 知源·缔造者(角色窗口): def 窗口属性输入(self): self.初始属性 = 职业属性() self.角色属性A = 职业属性() self.角色属性B = 职业属性() self.一觉序号 = 缔造者一觉序号 self.二觉序号 = 缔造者二觉序号 self.三觉序号 = 缔造者三觉序号 self.护石选项 = deepcopy(缔造者护石选项) self.符文选项 = deepcopy(缔造者符文选项) def 界面(self): super().界面() self.数据精算模式 = QCheckBox('数据精算模式', self.main_frame2) self.数据精算模式.resize(100, 20) self.数据精算模式.move(335, 490) self.数据精算模式.setStyleSheet(复选框样式) self.数据精算模式.setChecked(True) self.觉醒模式 = QCheckBox('觉醒模式', self.main_frame2) self.觉醒模式.resize(100, 20) self.觉醒模式.move(335, 520) self.觉醒模式.setStyleSheet(复选框样式) self.觉醒模式.setChecked(True) self.职业存档.append(('觉醒模式', self.觉醒模式, 0)) self.职业存档.append(('数据精算模式', self.数据精算模式, 0)) def 输入属性(self, 属性, x=0): super().输入属性(属性, x) if self.数据精算模式.isChecked(): 属性.数据精算模式 = 1 else: 属性.数据精算模式 = 0 if self.觉醒模式.isChecked(): 属性.觉醒模式 = 1 else: 属性.觉醒模式 = 0