601 lines
28 KiB
Python
601 lines
28 KiB
Python
|
|
from core.basic.skill import 技能
|
|
from core.basic.character import Character
|
|
from core.basic.skill import 主动技能, 被动技能
|
|
|
|
|
|
class 主动技能(主动技能):
|
|
冰枪倍率 = 1
|
|
|
|
|
|
class 技能0(主动技能):
|
|
名称 = "冰魄剑"
|
|
所在等级 = 15
|
|
等级上限 = 70
|
|
学习间隔 = 2
|
|
等级精通 = 60
|
|
CD = 5
|
|
MP = [30, 280]
|
|
无色消耗 = 0
|
|
data0 = [0, 1071, 1177, 1289, 1401, 1512, 1614, 1727, 1835, 1951, 2061, 2172, 2278, 2385, 2505, 2610, 2723, 2837, 2953, 3060, 3166, 3280, 3385, 3502, 3611, 3721, 3826, 3939, 4051, 4163, 4272, 4379, 4487, 4601, 4714, 4822, 4930, 5042, 5154, 5264, 5373, 5479, 5593, 5707, 5814, 5931, 6036, 6151, 6261, 6372, 6481, 6589, 6702, 6811, 6922, 7031, 7139, 7252, 7362, 7477, 7583, 7696, 7803, 7916, 8026, 8139, 8244, 8358, 8464, 8576, 8690]
|
|
hit0 = 2
|
|
data1 = [0, 1281, 1412, 1546, 1673, 1807, 1941, 2074, 2207, 2343, 2476, 2608, 2737, 2869, 3004, 3135, 3270, 3406, 3536, 3671, 3796, 3929, 4064, 4197, 4333, 4467, 4598, 4732, 4858, 4994, 5127, 5255, 5392, 5518, 5652, 5786, 5916, 6053, 6180, 6312, 6449, 6576, 6713, 6839, 6972, 7116, 7252, 7380, 7513, 7645, 7775, 7907, 8041, 8173, 8310, 8435, 8568, 8706, 8834, 8970, 9100, 9238, 9364, 9496, 9633, 9762, 9897, 10030, 10164, 10292, 10424]
|
|
hit1 = 1
|
|
TP成长 = 0.1
|
|
TP上限 = 7
|
|
|
|
def 技能形态改变(self):
|
|
self.hit1 = 0
|
|
|
|
|
|
class 技能1(被动技能):
|
|
名称 = '冰武精通'
|
|
所在等级 = 15
|
|
等级上限 = 20
|
|
基础等级 = 10
|
|
|
|
关联技能 = ['所有']
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
else:
|
|
return round(1.10 + 0.01 * self.等级, 5)
|
|
|
|
|
|
class 技能2(主动技能):
|
|
名称 = "寒冰连枪"
|
|
所在等级 = 20
|
|
等级上限 = 70
|
|
学习间隔 = 2
|
|
等级精通 = 60
|
|
CD = 3
|
|
MP = [20, 210]
|
|
无色消耗 = 0
|
|
data0 = [0, 616, 679, 742, 804, 868, 929, 992, 1054, 1116, 1182, 1244, 1306, 1368, 1431, 1493, 1557, 1618, 1681, 1743, 1806, 1869, 1931, 1994, 2056, 2121, 2182, 2245, 2307, 2369, 2432, 2496, 2558, 2620, 2683, 2744, 2809, 2871, 2933, 2995, 3057, 3122, 3185, 3248, 3309, 3372, 3435, 3497, 3559, 3622, 3685, 3748, 3810, 3872, 3935, 3996, 4062, 4125, 4186, 4248, 4311, 4375, 4437, 4500, 4561, 4624, 4686, 4749, 4811, 4875, 4936]
|
|
hit0 = 5
|
|
TP成长 = 0.1
|
|
TP上限 = 7
|
|
|
|
|
|
class 技能3(主动技能):
|
|
名称 = "冰魄旋枪"
|
|
所在等级 = 25
|
|
等级上限 = 70
|
|
学习间隔 = 2
|
|
等级精通 = 60
|
|
CD = 7
|
|
MP = [35, 350]
|
|
无色消耗 = 0
|
|
data0 = [0, 401, 441, 482, 525, 564, 605, 646, 687, 726, 768, 807, 850, 891, 931, 972, 1014, 1055, 1094, 1134, 1178, 1216, 1257, 1300, 1339, 1380, 1421, 1461, 1503, 1544, 1582, 1624, 1665, 1708, 1747, 1787, 1830, 1870, 1911, 1950, 1991, 2033, 2073, 2113, 2156, 2196, 2236, 2277, 2319, 2358, 2399, 2442, 2481, 2521, 2564, 2605, 2644, 2686, 2727, 2765, 2807, 2849, 2889, 2929, 2971, 3012, 3052, 3093, 3134, 3175, 3215]
|
|
hit0 = 16
|
|
TP成长 = 0.1
|
|
TP上限 = 7
|
|
|
|
|
|
class 技能4(主动技能):
|
|
名称 = '冰霜之径'
|
|
所在等级 = 25
|
|
等级上限 = 20
|
|
基础等级 = 10
|
|
是否有伤害 = 0
|
|
关联技能 = ['所有']
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
else:
|
|
return round(1.07 + 0.01 * self.等级, 5)
|
|
|
|
|
|
class 技能5(被动技能):
|
|
名称 = '冰之领悟'
|
|
所在等级 = 25
|
|
等级上限 = 20
|
|
基础等级 = 10
|
|
关联技能 = ['所有']
|
|
|
|
def 魔法攻击力倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
elif self.等级 <= 10:
|
|
return (1.02 + self.等级 * 0.01)
|
|
else:
|
|
return (1.12 + (self.等级 - 10) * 0.02)
|
|
|
|
|
|
class 技能6(主动技能):
|
|
名称 = "冰魄之弓"
|
|
所在等级 = 30
|
|
等级上限 = 70
|
|
学习间隔 = 2
|
|
等级精通 = 60
|
|
CD = 8
|
|
MP = [60, 546]
|
|
无色消耗 = 0
|
|
data0 = [0, 2179, 2402, 2622, 2846, 3066, 3289, 3509, 3730, 3951, 4173, 4394, 4614, 4836, 5058, 5278, 5500, 5721, 5943, 6163, 6385, 6608, 6829, 7050, 7271, 7494, 7712, 7934, 8156, 8376, 8599, 8820, 9041, 9263, 9483, 9706, 9926, 10147, 10370, 10591, 10811, 11033, 11254, 11474, 11697, 11917, 12141, 12361, 12583, 12804, 13025, 13246, 13468, 13686, 13909, 14130, 14352, 14574, 14795, 15017, 15238, 15460, 15680, 15902, 16124, 16345, 16565, 16788, 17007, 17229, 17450]
|
|
hit0 = 3
|
|
data1 = [0, 3304, 3640, 3975, 4309, 4645, 4981, 5315, 5651, 5986, 6322, 6657, 6992, 7328, 7662, 7997, 8333, 8669, 9004, 9338, 9675, 10010, 10345, 10679, 11015, 11351, 11688, 12020, 12357, 12691, 13028, 13362, 13698, 14033, 14370, 14703, 15040, 15373, 15710, 16044, 16381, 16715, 17052, 17385, 17721, 18056, 18392, 18726, 19063, 19398, 19735, 20067, 20403, 20738, 21074, 21408, 21745, 22080, 22417, 22748, 23085, 23420, 23756, 24091, 24428, 24763, 25097, 25431, 25767, 26103, 26437]
|
|
hit1 = 1
|
|
TP成长 = 0.1
|
|
TP上限 = 7
|
|
|
|
|
|
class 技能7(主动技能):
|
|
名称 = "破冰飞刃"
|
|
所在等级 = 30
|
|
等级上限 = 70
|
|
学习间隔 = 2
|
|
等级精通 = 60
|
|
CD = 8
|
|
MP = [60, 546]
|
|
无色消耗 = 0
|
|
data0 = [0, 400, 441, 480, 522, 564, 602, 643, 683, 724, 765, 803, 845, 887, 927, 968, 1009, 1049, 1089, 1129, 1171, 1212, 1252, 1293, 1333, 1373, 1414, 1454, 1496, 1537, 1576, 1618, 1659, 1697, 1738, 1781, 1820, 1861, 1903, 1941, 1982, 2022, 2063, 2105, 2145, 2186, 2227, 2266, 2307, 2348, 2388, 2431, 2470, 2511, 2551, 2591, 2632, 2673, 2713, 2755, 2796, 2834, 2876, 2915, 2956, 2998, 3039, 3079, 3120, 3160, 3200]
|
|
hit0 = 24
|
|
TP成长 = 0.1
|
|
TP上限 = 7
|
|
|
|
|
|
class 技能8(被动技能):
|
|
名称 = '水晶剑'
|
|
所在等级 = 30
|
|
等级上限 = 11
|
|
基础等级 = 1
|
|
关联技能 = ['冰魄剑']
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
else:
|
|
return (2.00 + (self.等级-1) * 0.02)
|
|
|
|
|
|
class 技能9(主动技能):
|
|
名称 = "旋冰穿刺"
|
|
所在等级 = 35
|
|
等级上限 = 70
|
|
学习间隔 = 2
|
|
等级精通 = 60
|
|
CD = 15
|
|
MP = [180, 1512]
|
|
无色消耗 = 0
|
|
data0 = [0, 14219, 15662, 17102, 18546, 19988, 21432, 22873, 24317, 25758, 27201, 28643, 30088, 31530, 32972, 34415, 35858, 37300, 38742, 40184, 41628, 43070, 44513, 45956, 47398, 48842, 50283, 51726, 53168, 54613, 56054, 57498, 58939, 60383, 61824, 63268, 64710, 66152, 67595, 69038, 70479, 71922, 73364, 74808, 76249, 77692, 79134, 80580, 82020, 83464, 84906, 86349, 87791, 89235, 90676, 92118, 93560, 95004, 96447, 97889, 99330, 100773, 102216, 103659, 105103, 106545, 107989, 109431, 110874, 112315, 113758]
|
|
hit0 = 1
|
|
TP成长 = 0.1
|
|
TP上限 = 5
|
|
|
|
|
|
class 技能10(主动技能):
|
|
名称 = "冰魄锤击"
|
|
所在等级 = 35
|
|
等级上限 = 70
|
|
学习间隔 = 2
|
|
等级精通 = 60
|
|
CD = 18
|
|
MP = [185, 1526]
|
|
无色消耗 = 1
|
|
data0 = [0, 15864, 17475, 19084, 20692, 22303, 23912, 25523, 27132, 28742, 30352, 31960, 33570, 35180, 36788, 38398, 40007, 41617, 43226, 44836, 46448, 48057, 49666, 51276, 52885, 54495, 56104, 57713, 59322, 60932, 62542, 64151, 65761, 67372, 68979, 70590, 72201, 73811, 75418, 77028, 78638, 80247, 81857, 83467, 85076, 86685, 88296, 89906, 91514, 93123, 94733, 96342, 97952, 99562, 101173, 102780, 104391, 106001, 107608, 109219, 110830, 112438, 114048, 115658, 117268, 118876, 120486, 122096, 123705, 125315, 126924]
|
|
hit0 = 1
|
|
TP成长 = 0.1
|
|
TP上限 = 5
|
|
|
|
是否有护石 = 1
|
|
|
|
def 装备护石(self, char):
|
|
self.倍率 *= 1.36
|
|
|
|
|
|
class 技能11(主动技能):
|
|
名称 = "极冰绽放"
|
|
所在等级 = 40
|
|
等级上限 = 70
|
|
学习间隔 = 2
|
|
等级精通 = 60
|
|
CD = 20
|
|
MP = [160, 1344]
|
|
无色消耗 = 1
|
|
data0 = [0, 1241, 1364, 1492, 1617, 1744, 1869, 1995, 2121, 2246, 2373, 2499, 2624, 2750, 2875, 3003, 3128, 3253, 3380, 3506, 3630, 3757, 3883, 4009, 4135, 4262, 4387, 4511, 4638, 4764, 4890, 5017, 5141, 5266, 5393, 5519, 5646, 5772, 5898, 6022, 6148, 6275, 6400, 6526, 6653, 6778, 6904, 7029, 7155, 7282, 7408, 7533, 7659, 7784, 7911, 8036, 8164, 8287, 8413, 8540, 8666, 8793, 8918, 9042, 9170, 9295, 9421, 9548, 9673, 9798, 9924]
|
|
hit0 = 4
|
|
data1 = [0, 5482, 6037, 6593, 7150, 7707, 8261, 8818, 9375, 9930, 10486, 11043, 11599, 12155, 12712, 13267, 13823, 14381, 14935, 15491, 16048, 16605, 17159, 17717, 18272, 18829, 19385, 19940, 20498, 21054, 21609, 22166, 22723, 23278, 23834, 24391, 24947, 25503, 26058, 26615, 27171, 27726, 28283, 28840, 29395, 29952, 30508, 31063, 31619, 32177, 32732, 33287, 33846, 34401, 34956, 35513, 36070, 36626, 37181, 37738, 38294, 38851, 39405, 39963, 40519, 41075, 41631, 42188, 42743, 43299, 43855]
|
|
hit1 = 1
|
|
data2 = [0, 2740, 3019, 3297, 3574, 3852, 4132, 4408, 4687, 4966, 5242, 5520, 5799, 6077, 6356, 6634, 6911, 7189, 7467, 7744, 8025, 8302, 8580, 8858, 9134, 9413, 9693, 9972, 10248, 10526, 10804, 11083, 11360, 11639, 11917, 12196, 12472, 12751, 13030, 13306, 13584, 13864, 14141, 14420, 14698, 14975, 15254, 15531, 15809, 16089, 16366, 16643, 16922, 17198, 17476, 17757, 18035, 18313, 18590, 18867, 19147, 19425, 19703, 19981, 20259, 20536, 20815, 21094, 21372, 21649, 21928]
|
|
hit2 = 1
|
|
TP成长 = 0.1
|
|
TP上限 = 5
|
|
|
|
是否有护石 = 1
|
|
|
|
def 装备护石(self, char):
|
|
self.CDR *= 0.90
|
|
|
|
def 等效百分比(self, **argv):
|
|
char = argv.get('char', {})
|
|
冰舞 = char.get_skill_by_name("冰舞乱击")
|
|
if 冰舞.等级 > 0:
|
|
self.power0 = 1.95
|
|
self.power1 = 2.35
|
|
self.power2 = 0
|
|
self.hit0 = 4
|
|
self.hit1 = 1
|
|
self.hit2 = 0
|
|
else:
|
|
self.power0 = self.power1 = self.power2 = 1
|
|
self.hit0 = 5
|
|
self.hit1 = 1
|
|
self.hit2 = 1
|
|
if "极冰绽放" in char.护石栏:
|
|
self.power0 *= 1.11
|
|
self.power1 *= 1.11 + 0.27
|
|
self.power2 *= 1.11 + 0.35
|
|
return super().等效百分比(**argv)
|
|
|
|
|
|
class 技能12(主动技能):
|
|
名称 = "冰雪风暴"
|
|
所在等级 = 45
|
|
等级上限 = 70
|
|
学习间隔 = 2
|
|
等级精通 = 60
|
|
CD = 40
|
|
MP = [350, 3080]
|
|
无色消耗 = 2
|
|
data0 = [0, 1610, 1773, 1936, 2102, 2263, 2427, 2591, 2752, 2918, 3081, 3244, 3408, 3570, 3734, 3898, 4062, 4223, 4388, 4552, 4714, 4878, 5042, 5204, 5369, 5531, 5693, 5859, 6022, 6185, 6348, 6512, 6676, 6839, 7002, 7165, 7329, 7492, 7655, 7819, 7983, 8147, 8309, 8472, 8638, 8801, 8962, 9127, 9290, 9453, 9617, 9780, 9943, 10108, 10270, 10433, 10597, 10761, 10923, 11087, 11251, 11413, 11578, 11741, 11903, 12068, 12230, 12394, 12558, 12721, 12886]
|
|
hit0 = 14
|
|
data1 = [0, 15723, 17319, 18914, 20508, 22105, 23701, 25296, 26891, 28485, 30081, 31677, 33273, 34867, 36462, 38060, 39653, 41249, 42843, 44438, 46034, 47630, 49225, 50820, 52415, 54011, 55606, 57202, 58797, 60391, 61987, 63581, 65176, 66773, 68368, 69963, 71558, 73152, 74750, 76345, 77940, 79535, 81129, 82726, 84320, 85916, 87510, 89106, 90702, 92297, 93893, 95488, 97083, 98678, 100273, 101869, 103464, 105058, 106654, 108248, 109846, 111441, 113035, 114631, 116225, 117823, 119417, 121012, 122607, 124203, 125796]
|
|
hit1 = 1
|
|
TP成长 = 0.1
|
|
TP上限 = 5
|
|
|
|
是否有护石 = 1
|
|
|
|
def 装备护石(self, char):
|
|
self.hit0 = 16
|
|
self.power1 = 1.34
|
|
|
|
|
|
class 技能13(被动技能):
|
|
名称 = '冰封奥义'
|
|
所在等级 = 48
|
|
|
|
等级上限 = 50
|
|
等级精通 = 40
|
|
学习间隔 = 3
|
|
|
|
关联技能 = ['所有']
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
else:
|
|
return round(1.105 + 0.015 * self.等级, 5)
|
|
|
|
|
|
class 技能14(主动技能):
|
|
名称 = "千旋冰轮破"
|
|
所在等级 = 50
|
|
等级上限 = 50
|
|
学习间隔 = 5
|
|
等级精通 = 40
|
|
CD = 145
|
|
MP = [1200, 10080]
|
|
无色消耗 = 5
|
|
data0 = [0, 1611, 1986, 2359, 2733, 3108, 3480, 3855, 4228, 4604, 4977, 5350, 5723, 6097, 6472, 6846, 7219, 7594, 7966, 8339, 8716, 9090, 9463, 9837, 10209, 10583, 10960, 11331, 11706, 12079, 12452, 12826, 13202, 13575, 13950, 14321, 14696, 15073, 15445, 15818, 16192, 16565, 16940, 17312, 17688, 18062, 18435, 18808, 19182, 19556, 19932]
|
|
hit0 = 42
|
|
data1 = [0, 3423, 4218, 5010, 5813, 6610, 7403, 8200, 8990, 9394, 10154, 10925, 11686, 12449, 13207, 13973, 14734, 15499, 16262, 17026, 17786, 18547, 19313, 20078, 20839, 21605, 22366, 23131, 23892, 24655, 25423, 26184, 26950, 27710, 28474, 29234, 30000, 30761, 31524, 32287, 33053, 33814, 34579, 35340, 36103, 36864, 37627, 38390, 39154, 39922, 40685]
|
|
hit1 = 24
|
|
data2 = [0, 4801, 5918, 7031, 8144, 9258, 10372, 11486, 12598, 13713, 14826, 15943, 17056, 18169, 19284, 20397, 21511, 22624, 23739, 24854, 25967, 27082, 28195, 29309, 30421, 31536, 32649, 33765, 34877, 35993, 37106, 38218, 39333, 40445, 41561, 42673, 43790, 44905, 46018, 47131, 48244, 49358, 50472, 51586, 52700, 53815, 54928, 56041, 57156, 58268, 59384]
|
|
hit2 = 1
|
|
|
|
def 等效百分比(self, **argv):
|
|
if self.等级 >= 3:
|
|
self.hit0 = 5 * 7
|
|
else:
|
|
self.hit0 = 5* 5
|
|
if self.等级 >= 9:
|
|
self.hit1 = 10
|
|
else:
|
|
self.hit1 = 8
|
|
return super().等效百分比(**argv)
|
|
|
|
class 技能15(主动技能):
|
|
名称 = "冰凌破"
|
|
所在等级 = 60
|
|
等级上限 = 50
|
|
学习间隔 = 2
|
|
等级精通 = 40
|
|
CD = 30
|
|
MP = [400, 1120]
|
|
无色消耗 = 1
|
|
data0 = [0, 1195, 1316, 1438, 1557, 1681, 1801, 1923, 2044, 2166, 2287, 2407, 2530, 2649, 2772, 2893, 3015, 3136, 3257, 3379, 3498, 3621, 3743, 3863, 3985, 4106, 4226, 4349, 4470, 4593, 4712, 4833, 4956, 5076, 5198, 5319, 5439, 5562, 5684, 5804, 5925, 6047, 6169, 6289, 6411, 6533, 6653, 6776, 6896, 7017, 7138]
|
|
hit0 = 25
|
|
data1 = [0, 5692, 6270, 6850, 7426, 8003, 8582, 9160, 9736, 10313, 10891, 11469, 12046, 12624, 13201, 13779, 14358, 14935, 15511, 16091, 16668, 17245, 17821, 18401, 18978, 19556, 20133, 20711, 21289, 21866, 22444, 23021, 23600, 24176, 24754, 25332, 25908, 26486, 27066, 27643, 28219, 28799, 29376, 29953, 30529, 31109, 31686, 32262, 32840, 33419, 33996]
|
|
hit1 = 1
|
|
TP成长 = 0.1
|
|
TP上限 = 5
|
|
|
|
是否有护石 = 1
|
|
|
|
def 装备护石(self, char):
|
|
self.倍率 *= 1.31
|
|
|
|
|
|
class 技能16(主动技能):
|
|
名称 = "千里冰封"
|
|
所在等级 = 70
|
|
等级上限 = 50
|
|
学习间隔 = 2
|
|
等级精通 = 40
|
|
CD = 50
|
|
MP = [900, 1820]
|
|
无色消耗 = 2
|
|
data0 = [0, 17329, 19087, 20846, 22604, 24362, 26121, 27879, 29636, 31395, 33155, 34911, 36670, 38427, 40185, 41943, 43701, 45458, 47218, 48977, 50735, 52493, 54250, 56009, 57765, 59525, 61284, 63040, 64799, 66557, 68315, 70073, 71833, 73591, 75348, 77107, 78864, 80624, 82380, 84139, 85898, 87654, 89413, 91171, 92928, 94687, 96447, 98205, 99962, 101720, 103478]
|
|
hit0 = 3
|
|
TP成长 = 0.1
|
|
TP上限 = 5
|
|
|
|
是否有护石 = 1
|
|
|
|
def 装备护石(self, char):
|
|
self.hit0 = 1
|
|
self.power0 = 3.8
|
|
|
|
|
|
class 技能17(被动技能):
|
|
名称 = '冰之技艺'
|
|
所在等级 = 75
|
|
|
|
等级上限 = 50
|
|
等级精通 = 40
|
|
学习间隔 = 3
|
|
|
|
关联技能 = ['所有']
|
|
冰枪关联技能 = ['冰魄剑', '寒冰连枪', '冰魄旋枪', '旋冰穿刺', '冰魄锤击', '极冰绽放', '碎冰破', '极冰猎魔斩']
|
|
额外冰枪攻击力 = 0
|
|
额外冰枪倍率 = 1
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
else:
|
|
return round(1.16 + 0.02 * self.等级, 5)
|
|
|
|
def 冰枪加成倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
else:
|
|
return 1 + (0.10 *(1+ self.额外冰枪攻击力))
|
|
|
|
class 技能18(主动技能):
|
|
名称 = "碎冰破"
|
|
所在等级 = 75
|
|
等级上限 = 50
|
|
学习间隔 = 2
|
|
等级精通 = 40
|
|
CD = 40
|
|
MP = [580, 4500]
|
|
无色消耗 = 3
|
|
data0 = [0, 63240, 69658, 76072, 82488, 88905, 95318, 101736, 108151, 114567, 120983, 127400, 133815, 140230, 146647, 153061, 159478, 165895, 172309, 178725, 185142, 191556, 197973, 204389, 210804, 217221, 223636, 230050, 236468, 242885, 249298, 255714, 262132, 268546, 274963, 281378, 287793, 294211, 300626, 307042, 313457, 319875, 326288, 332705, 339121, 345535, 351952, 358368, 364784, 371200, 377616]
|
|
hit0 = 1
|
|
data1 = [0, 23025, 25360, 27697, 30032, 32370, 34706, 37042, 39377, 41712, 44049, 46386, 48722, 51057, 53394, 55729, 58062, 60402, 62739, 65072, 67408, 69744, 72080, 74417, 76753, 79089, 81425, 83760, 86096, 88433, 90769, 93105, 95441, 97777, 100114, 102450, 104785, 107119, 109456, 111791, 114129, 116464, 118801, 121136, 123473, 125808, 128146, 130482, 132818, 135152, 137488]
|
|
hit1 = 1
|
|
|
|
是否有护石 = 1
|
|
|
|
def 装备护石(self, char):
|
|
self.power0 *= 1.46
|
|
|
|
|
|
class 技能19(主动技能):
|
|
名称 = "极冰领域"
|
|
所在等级 = 80
|
|
等级上限 = 50
|
|
学习间隔 = 2
|
|
等级精通 = 40
|
|
CD = 40
|
|
MP = [800, 6000]
|
|
无色消耗 = 5
|
|
data0 = [0, 71457, 78704, 85953, 93203, 100451, 107700, 114950, 122198, 129447, 136698, 143949, 151195, 158446, 165696, 172943, 180194, 187443, 194690, 201942, 209191, 216440, 223688, 230938, 238187, 245435, 252685, 259934, 267183, 274433, 281682, 288931, 296180, 303429, 310678, 317927, 325176, 332428, 339677, 346926, 354175, 361423, 368673, 375922, 383169, 390420, 397670, 404919, 412168, 419416, 426665]
|
|
hit0 = 1
|
|
|
|
是否有护石 = 1
|
|
|
|
def 装备护石(self, char):
|
|
self.倍率 *= 1.32
|
|
self.CDR *= 0.9
|
|
|
|
|
|
class 技能20(主动技能):
|
|
名称 = "永罪冰狱"
|
|
所在等级 = 85
|
|
等级上限 = 50
|
|
学习间隔 = 5
|
|
等级精通 = 40
|
|
CD = 180
|
|
MP = [2500, 5000]
|
|
无色消耗 = 10
|
|
data0 = [0, 73425, 90451, 107478, 124503, 141528, 158558, 175584, 192609, 209635, 226659, 243687, 260713, 277737, 294767, 311793, 328819, 345844, 362869, 379895, 396921, 413947, 430977, 448002, 465028, 482054, 499079, 516105, 533130, 550156, 567186, 584212, 601236, 618262, 635290, 652314, 669340, 686368, 703394, 720420, 737446, 754471, 771498, 788524, 805550, 822577, 839604, 856629, 873655, 890681, 907707]
|
|
hit0 = 1
|
|
data1 = [0, 48962, 60316, 71670, 83022, 94377, 105730, 117084, 128438, 139792, 151145, 162499, 173854, 185208, 196560, 207913, 219267, 230622, 241976, 253328, 264682, 276037, 287390, 298744, 310097, 321450, 332805, 344159, 355511, 366866, 378219, 389573, 400926, 412279, 423634, 434988, 446343, 457695, 469048, 480402, 491757, 503110, 514464, 525817, 537171, 548526, 559879, 571234, 582586, 593938, 605293]
|
|
hit1 = 0
|
|
data2 = [0, 32623, 40187, 47752, 55317, 62882, 70447, 78011, 85577, 93141, 100705, 108270, 115836, 123399, 130965, 138528, 146093, 153658, 161223, 168788, 176351, 183916, 191483, 199047, 206612, 214177, 221741, 229306, 236871, 244435, 252002, 259567, 267130, 274695, 282259, 289825, 297390, 304954, 312518, 320085, 327649, 335214, 342779, 350344, 357908, 365471, 373036, 380601, 388167, 395731, 403296]
|
|
hit2 = 2
|
|
data3 = [0, 49075, 60454, 71835, 83214, 94594, 105975, 117354, 128734, 140113, 151493, 162874, 174253, 185632, 197013, 208392, 219775, 231154, 242533, 253913, 265292, 276672, 288052, 299433, 310812, 322192, 333571, 344950, 356330, 367711, 379092, 390471, 401850, 413230, 424609, 435989, 447370, 458751, 470130, 481510, 492890, 504269, 515650, 527029, 538410, 549789, 561169, 572549, 583928, 595307, 606687]
|
|
hit3 = 1
|
|
|
|
|
|
class 技能21(被动技能):
|
|
名称 = '冰霜之手'
|
|
所在等级 = 95
|
|
|
|
等级上限 = 50
|
|
学习间隔 = 3
|
|
等级精通 = 40
|
|
|
|
关联技能 = ['所有']
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
else:
|
|
return round(1.18 + 0.02 * self.等级, 5)
|
|
|
|
|
|
class 技能22(主动技能):
|
|
名称 = "极冰猎魔斩"
|
|
所在等级 = 95
|
|
等级上限 = 50
|
|
学习间隔 = 2
|
|
等级精通 = 40
|
|
CD = 60
|
|
MP = [960, 7200]
|
|
无色消耗 = 7
|
|
data0 = [0, 183055, 201626, 220196, 238767, 257339, 275910, 294481, 313052, 331621, 350191, 368763, 387335, 405906, 424475, 443046, 461618, 480190, 498760, 517331, 535900, 554471, 573043, 591615, 610185, 628756, 647325, 665896, 684467, 703039, 721610, 740180, 758752, 777322, 795894, 814465, 833035, 851604, 870175, 888747, 907319, 925890, 944459, 963031, 981602, 1000172, 1018744, 1037314, 1055884, 1074456, 1093027]
|
|
hit0 = 1
|
|
|
|
|
|
class 技能23(主动技能):
|
|
名称 = "永劫:纳斯特隆德"
|
|
所在等级 = 100
|
|
等级上限 = 50
|
|
学习间隔 = 5
|
|
等级精通 = 40
|
|
CD = 290
|
|
MP = [4027, 8055]
|
|
无色消耗 = 15
|
|
data0 = [0, 6118, 7536, 8952, 10370, 11790, 13208, 14627, 16047, 17464, 18880, 20300, 21719, 23137, 24555, 25974, 27393, 28810, 30230, 31646, 33065, 34485, 35903, 37322, 38740, 40158, 41576, 42996, 44413, 45831, 47250, 48669, 50088, 51505, 52924, 54342, 55760, 57179, 58598, 60017, 61433, 62853, 64271, 65691, 67109, 68526, 69944, 71364, 72781, 74200, 75619]
|
|
hit0 = 1
|
|
data1 = [0, 61169, 75352, 89537, 103721, 117904, 132088, 146273, 160458, 174643, 188827, 203010, 217194, 231379, 245562, 259747, 273931, 288114, 302298, 316482, 330666, 344852, 359037, 373219, 387404, 401588, 415772, 429956, 444141, 458323, 472508, 486693, 500877, 515061, 529246, 543428, 557613, 571798, 585983, 600166, 614351, 628536, 642719, 656903, 671087, 685271, 699456, 713639, 727823, 742007, 756191]
|
|
hit1 = 1
|
|
data2 = [0, 42818, 52748, 62675, 72605, 82534, 92462, 102391, 112321, 122248, 132178, 142106, 152035, 161966, 171894, 181822, 191752, 201680, 211609, 221539, 231467, 241396, 251325, 261253, 271182, 281112, 291040, 300969, 310900, 320827, 330757, 340685, 350614, 360543, 370470, 380400, 390330, 400258, 410187, 420116, 430043, 439974, 449904, 459832, 469761, 479690, 489618, 499548, 509476, 519405, 529334]
|
|
hit2 = 1
|
|
data3 = [0, 42818, 52748, 62675, 72605, 82534, 92462, 102391, 112321, 122248, 132178, 142106, 152035, 161966, 171894, 181822, 191752, 201680, 211609, 221539, 231467, 241396, 251325, 261253, 271182, 281112, 291040, 300969, 310900, 320827, 330757, 340685, 350614, 360543, 370470, 380400, 390330, 400258, 410187, 420116, 430043, 439974, 449904, 459832, 469761, 479690, 489618, 499548, 509476, 519405, 529334]
|
|
hit3 = 1
|
|
data4 = [0, 91753, 113028, 134306, 155582, 176857, 198133, 219410, 240687, 261963, 283238, 304516, 325792, 347067, 368343, 389620, 410896, 432173, 453450, 474725, 496002, 517278, 538553, 559830, 581105, 602382, 623658, 644935, 666211, 687488, 708763, 730040, 751316, 772592, 793868, 815143, 836421, 857698, 878973, 900250, 921526, 942801, 964078, 985355, 1006630, 1027906, 1049184, 1070460, 1091736, 1113012, 1134288]
|
|
hit4 = 1
|
|
data5 = [0, 12232, 15070, 17906, 20745, 23581, 26417, 29255, 32093, 34927, 37765, 40601, 43438, 46276, 49112, 51950, 54785, 57622, 60460, 63295, 66133, 68968, 71806, 74643, 77480, 80318, 83155, 85990, 88828, 91664, 94501, 97338, 100174, 103012, 105846, 108685, 111523, 114359, 117195, 120033, 122869, 125707, 128541, 131379, 134218, 137054, 139891, 142726, 145564, 148402, 151237]
|
|
hit5 = 5
|
|
data6 = [0, 20389, 25117, 29844, 34573, 39299, 44029, 48757, 53486, 58214, 62943, 67671, 72398, 77125, 81855, 86583, 91310, 96039, 100765, 105494, 110223, 114950, 119679, 124405, 129134, 133863, 138590, 143318, 148048, 152774, 157502, 162230, 166958, 171688, 176415, 181142, 185870, 190599, 195327, 200055, 204783, 209509, 214239, 218967, 223694, 228423, 233150, 237879, 242607, 247334, 252063]
|
|
hit6 = 6
|
|
data7 = [0, 183505, 226059, 268612, 311164, 353717, 396269, 438820, 481375, 523926, 566478, 609030, 651582, 694136, 736688, 779240, 821793, 864346, 906898, 949451, 992003, 1034555, 1077108, 1119660, 1162213, 1204764, 1247317, 1289872, 1332423, 1374974, 1417529, 1460079, 1502633, 1545185, 1587739, 1630289, 1672843, 1715395, 1757949, 1800499, 1843052, 1885606, 1928158, 1970709, 2013263, 2055815, 2098368, 2140921, 2183473, 2226025, 2268577]
|
|
hit7 = 1
|
|
|
|
|
|
class 技能24(被动技能):
|
|
名称 = '冰舞乱击'
|
|
所在等级 = 45
|
|
|
|
等级上限 = 1
|
|
学习间隔 = 1
|
|
等级精通 = 1
|
|
|
|
关联技能 = ['极冰绽放']
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
return 1.0
|
|
|
|
|
|
class classChange(Character):
|
|
def __init__(self, equVersion=""):
|
|
self.实际名称 = 'glacial_master'
|
|
self.名称 = '知源·冰结师'
|
|
self.角色 = '魔法师(男)'
|
|
|
|
self.职业 = '冰结师'
|
|
self.武器选项 = ['魔杖', '法杖']
|
|
self.输出类型选项 = ['魔法百分比']
|
|
self.防具精通属性 = ['智力']
|
|
self.类型 = '魔法百分比'
|
|
self.武器类型 = '魔杖'
|
|
self.防具类型 = '皮甲'
|
|
|
|
技能列表 = []
|
|
技能序号 = {}
|
|
i = 0
|
|
while i >= 0:
|
|
try:
|
|
tem = eval('技能'+str(i)+'()')
|
|
tem.基础等级计算()
|
|
技能序号[tem.名称] = i
|
|
技能列表.append(tem)
|
|
i += 1
|
|
except Exception:
|
|
i = -1
|
|
self.技能栏 = 技能列表
|
|
self.技能序号 = 技能序号
|
|
self.buff = 1.80
|
|
|
|
super().__init__(equVersion)
|
|
|
|
def 职业特殊计算(self):
|
|
if self.get_skill_by_name('水晶剑').等级 != 0:
|
|
self.get_skill_by_name('冰魄剑').技能形态改变()
|
|
冰之技艺 = self.get_skill_by_name('冰之技艺')
|
|
temp = [0] * len(冰之技艺.冰枪关联技能)
|
|
for i in range(len(temp)-1):
|
|
temp[i] = 冰之技艺.冰枪关联技能[i]+','
|
|
temp[len(temp)-1] = 冰之技艺.冰枪关联技能[len(temp)-1]
|
|
self.skills_passive['冰之技艺']['info'] = [{
|
|
"type": "倍率",
|
|
"info": [round((冰之技艺.冰枪加成倍率(self.武器类型) - 1) * 100, 0), "".join(temp), '无']
|
|
},
|
|
]
|
|
|
|
def set_skill_info(self, info, rune_except=[], clothes_pants=[]):
|
|
super().set_skill_info(info, clothes_pants=['远古记忆'])
|
|
|
|
def 伤害指数计算(self):
|
|
iceneedle = self.get_skill_by_name('冰之技艺')
|
|
for i in self.技能栏:
|
|
if i.名称 in iceneedle.冰枪关联技能:
|
|
i.冰枪倍率 = 1 / i.技攻 * (1 + i.技攻 - 1 + (iceneedle.冰枪加成倍率(self.武器类型) - 1) * (iceneedle.额外冰枪倍率))
|
|
i.倍率 *= i.冰枪倍率
|
|
|
|
super().伤害指数计算()
|
|
|
|
def set_individuation(self, info):
|
|
info['char_optiopns'] = []
|
|
info['char_optiopns'].append({
|
|
"name": '[冰之技艺]',
|
|
"option": ["统计整合","统计拆分"]
|
|
})
|
|
|
|
def 伤害计算(self):
|
|
data = super().伤害计算()
|
|
# 拆分统计
|
|
if self.get_individuation(0) == 1:
|
|
冰之技艺伤害 = 0
|
|
iceneedle = self.get_skill_by_name('冰之技艺')
|
|
for skill in iceneedle.冰枪关联技能:
|
|
detail = data['skills'].get(skill,None)
|
|
if detail !=None:
|
|
冰枪倍率 = self.get_skill_by_name(skill).冰枪倍率
|
|
detail['damage'] /= 冰枪倍率
|
|
detail['atk_rate'] /= 冰枪倍率
|
|
冰之技艺伤害 += detail['damage'] * (冰枪倍率-1)
|
|
if 冰之技艺伤害 > 0:
|
|
data['skills']['冰之技艺'] = {
|
|
'name': '冰之技艺',
|
|
'rate': 1.0,
|
|
'cd': 1.0,
|
|
'mp': 0,
|
|
'damage': 冰之技艺伤害,
|
|
'count': 1,
|
|
'level': iceneedle.等级,
|
|
'cosume_cube_frag': 0,
|
|
'cd_o': 1.0,
|
|
'atk_rate': 1.0
|
|
}
|
|
return data
|
|
|
|
def 技能倍率加成(self, min: int, max: int, x: float, exc=[], type="all",excName=[],changeSkill = False) -> None:
|
|
for i in self.技能栏:
|
|
if i.所在等级 >= min and i.所在等级 <= max and i.所在等级 not in exc and i.名称 not in excName:
|
|
if i.是否有伤害 == 1:
|
|
if type == "all" or (type == "active" and i.是否主动 == 1):
|
|
if changeSkill:
|
|
i.倍率 *= (1 + x * self.技能伤害增加增幅)
|
|
else:
|
|
i.技攻 *= (1 + x * self.技能伤害增加增幅)
|
|
if i.名称 == "冰之技艺" and min == 75 and type == "all":
|
|
i.额外冰枪倍率 *= (1 + x * self.技能伤害增加增幅)
|