961 lines
49 KiB
Python
961 lines
49 KiB
Python
from math import *
|
|
from decimal import *
|
|
from os import X_OK
|
|
|
|
from PublicReference.carry.base import *
|
|
|
|
# class 主动技能(主动技能):
|
|
|
|
# def 等效CD(self, 武器类型):
|
|
# if 武器类型 == '魔杖':
|
|
# return round(self.CD / self.恢复 * 1, 1)
|
|
# if 武器类型 == '法杖':
|
|
# return round(self.CD / self.恢复 * 1.1, 1)
|
|
|
|
等级 = 100 + 5
|
|
|
|
|
|
class 技能0(主动技能):
|
|
名称 = '冰魄剑'
|
|
所在等级 = 15
|
|
等级上限 = 60
|
|
等级精通 = 50
|
|
学习间隔 = 2
|
|
|
|
data1 = [0, 670, 736, 806, 877, 945, 1010, 1080, 1148, 1221, 1289, 1358, 1424, 1492, 1566, 1632, 1703, 1774, 1846, 1914, 1980, 2051, 2117, 2189, 2259, 2327, 2392, 2463, 2533, 2603, 2672, 2739, 2806, 2877, 2947, 3016, 3083, 3153, 3223, 3291, 3360, 3426, 3498, 3569, 3635, 3709, 3774, 3846, 3915, 3984, 4053, 4121, 4191, 4259, 4328, 4397, 4465, 4535, 4604, 4676, 4742, 4812, 4880, 4950, 5019, 5089, 5155, 5226, 5293, 5363, 5434]
|
|
攻击次数 = 2
|
|
data2 = [0, 801, 883, 967, 1046, 1130, 1213, 1297, 1380, 1465, 1548, 1631, 1711, 1794, 1878, 1960, 2045, 2130, 2211, 2295, 2374, 2457, 2542, 2625, 2710, 2793, 2875, 2959, 3038, 3123, 3206, 3286, 3372, 3451, 3534, 3618, 3700, 3785, 3864, 3947, 4032, 4112, 4198, 4277, 4360, 4450, 4535, 4615, 4698, 4780, 4862, 4944, 5028, 5111, 5196, 5275, 5358, 5443, 5524, 5609, 5691, 5777, 5856, 5938, 6024, 6105, 6189, 6272, 6356, 6436, 6519]
|
|
攻击次数2 = 1
|
|
演出时间 = 1.0
|
|
CD = 5.0
|
|
TP成长 = 0.08
|
|
TP上限 = 5
|
|
|
|
def 等效百分比(self, 武器类型):
|
|
return 1.209*(self.data1[self.等级] * (1 + self.TP成长 * self.TP等级) * self.攻击次数 + self.data2[self.等级] * (1 + self.TP成长 * self.TP等级) * self.攻击次数2) * self.倍率
|
|
|
|
def 技能形态改变(self):
|
|
self.攻击次数2 = 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
|
|
等级上限 = 60
|
|
等级精通 = 50
|
|
学习间隔 = 2
|
|
|
|
data1 = [0, 386, 425, 464, 503, 543, 582, 621, 660, 699, 739, 778, 817, 856, 895, 935, 974, 1013, 1052, 1091, 1131, 1170, 1209, 1248, 1287, 1327, 1366, 1405, 1444, 1483, 1522, 1562, 1601, 1640, 1679, 1718, 1758, 1797, 1836, 1875, 1914, 1954, 1993, 2032, 2071, 2110, 2150, 2189, 2228, 2267, 2306, 2346, 2385, 2424, 2463, 2502, 2542, 2581, 2620, 2659, 2698, 2738, 2777, 2816, 2855, 2894, 2933, 2973, 3012, 3051, 3090]
|
|
攻击次数 = 5
|
|
演出时间 = 1.5
|
|
CD = 3.0
|
|
TP成长 = 0.10
|
|
TP上限 = 5
|
|
|
|
def 等效百分比(self, 武器类型):
|
|
return 1.208*(self.data1[self.等级] * (1 + self.TP成长 * self.TP等级) * self.攻击次数) * self.倍率
|
|
|
|
|
|
class 技能3(主动技能):
|
|
名称 = '冰魄旋枪'
|
|
所在等级 = 25
|
|
等级上限 = 60
|
|
等级精通 = 50
|
|
学习间隔 = 2
|
|
|
|
data1 = [0, 266, 292, 319, 347, 373, 400, 427, 454, 481, 508, 534, 562, 589, 616, 643, 670, 697, 723, 751, 778, 804, 832, 859, 885, 912, 940, 966, 993, 1021, 1047, 1074, 1101, 1129, 1155, 1182, 1210, 1236, 1263, 1290, 1317, 1344, 1371, 1398, 1425, 1452, 1478, 1506, 1533, 1559, 1587, 1614, 1640, 1667, 1695, 1722, 1748, 1776, 1803, 1829, 1856, 1884, 1910, 1937, 1965, 1991, 2018, 2045, 2072, 2099, 2126]
|
|
攻击次数 = 16
|
|
演出时间 = 1.5
|
|
CD = 7.0
|
|
TP成长 = 0.10
|
|
TP上限 = 5
|
|
|
|
def 等效百分比(self, 武器类型):
|
|
return 1.159*(self.data1[self.等级] * (1 + self.TP成长 * self.TP等级) * self.攻击次数) * self.倍率
|
|
|
|
|
|
class 技能4(主动技能):
|
|
名称 = '冰霜之径'
|
|
所在等级 = 25
|
|
等级上限 = 20
|
|
基础等级 = 10
|
|
是否有伤害 = 0
|
|
|
|
自定义描述 = 1
|
|
|
|
def 技能描述(self, 武器类型):
|
|
return '冰属性强化增加:' + str(self.属强加成())
|
|
|
|
def 属强加成(self):
|
|
if self.等级 == 0:
|
|
return 0
|
|
else:
|
|
return (30 + self.等级 * 4)
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
return 1.0
|
|
|
|
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)
|
|
|
|
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
|
|
等级上限 = 60
|
|
等级精通 = 50
|
|
学习间隔 = 2
|
|
|
|
data1 = [0, 1433, 1579, 1724, 1870, 2015, 2161, 2306, 2452, 2597, 2743, 2888, 3033, 3178, 3324, 3469, 3615, 3760, 3906, 4051, 4197, 4343, 4488, 4634, 4779, 4925, 5069, 5215, 5360, 5506, 5651, 5797, 5942, 6088, 6233, 6379, 6524, 6670, 6815, 6960, 7106, 7251, 7397, 7542, 7688, 7833, 7979, 8124, 8270, 8415, 8561, 8706, 8852, 8996, 9142, 9287, 9433, 9579, 9724, 9870, 10015, 10161, 10306, 10452, 10597, 10743, 10887, 11033, 11178, 11324, 11469]
|
|
攻击次数 = 3
|
|
data2 = [0, 2171, 2392, 2612, 2833, 3053, 3274, 3493, 3714, 3934, 4155, 4375, 4596, 4816, 5036, 5256, 5477, 5697, 5918, 6138, 6359, 6579, 6799, 7019, 7240, 7460, 7681, 7901, 8122, 8341, 8562, 8782, 9003, 9223, 9444, 9664, 9885, 10104, 10325, 10545, 10766, 10986, 11207, 11427, 11647, 11867, 12088, 12308, 12529, 12749, 12970, 13190, 13410, 13630, 13851, 14071, 14292, 14512, 14733, 14952, 15173, 15393, 15614, 15834, 16055, 16275, 16496, 16715, 16935, 17156, 17376]
|
|
攻击次数2 = 1
|
|
演出时间 = 1.5
|
|
CD = 8.0
|
|
TP成长 = 0.10
|
|
TP上限 = 5
|
|
|
|
def 等效百分比(self, 武器类型):
|
|
return 1.202*(self.data1[self.等级] * (1 + self.TP成长 * self.TP等级) * self.攻击次数 + self.data2[self.等级] * (1 + self.TP成长 * self.TP等级) * self.攻击次数2)
|
|
|
|
|
|
class 技能7(主动技能):
|
|
名称 = '破冰飞刃'
|
|
所在等级 = 30
|
|
等级上限 = 60
|
|
等级精通 = 50
|
|
学习间隔 = 2
|
|
|
|
data1 = [0, 262, 289, 315, 342, 369, 395, 422, 448, 475, 502, 528, 555, 582, 608, 635, 662, 688, 715, 741, 768, 795, 821, 848, 875, 901, 928, 955, 981, 1008, 1034, 1061, 1088, 1114, 1141, 1168, 1194, 1221, 1248, 1274, 1301, 1327, 1354, 1381, 1407, 1434, 1461, 1487, 1514, 1541, 1567, 1594, 1620, 1647, 1674, 1700, 1727, 1754, 1780, 1807, 1834, 1860, 1887, 1913, 1940, 1967, 1993, 2020, 2047, 2073, 2100]
|
|
攻击次数 = 24
|
|
演出时间 = 1.0
|
|
CD = 8.0
|
|
TP成长 = 0.10
|
|
TP上限 = 5
|
|
|
|
def 等效百分比(self, 武器类型):
|
|
return 1.213*(self.data1[self.等级] * (1 + self.TP成长 * self.TP等级) * self.攻击次数) * self.倍率
|
|
|
|
|
|
class 技能8(被动技能):
|
|
名称 = '水晶剑'
|
|
所在等级 = 30
|
|
等级上限 = 11
|
|
基础等级 = 1
|
|
关联技能 = ['冰魄剑']
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
else:
|
|
return (2.00 + (self.等级-1) * 0.02)
|
|
|
|
|
|
class 技能9(主动技能):
|
|
名称 = '旋冰穿刺'
|
|
所在等级 = 35
|
|
等级上限 = 60
|
|
等级精通 = 50
|
|
学习间隔 = 2
|
|
|
|
data1 = [0, 907, 999, 1091, 1183, 1275, 1367, 1459, 1551, 1643, 1735, 1827, 1920, 2012, 2104, 2196, 2288, 2380, 2472, 2564, 2656, 2748, 2840, 2932, 3024, 3116, 3208, 3300, 3392, 3485, 3577, 3669, 3761, 3853, 3945, 4037, 4129, 4221, 4313, 4405, 4497, 4589, 4681, 4773, 4865, 4957, 5049, 5142, 5234, 5326, 5418, 5510, 5602, 5694, 5786, 5878, 5970, 6062, 6154, 6246, 6338, 6430, 6522, 6614, 6707, 6799, 6891, 6983, 7075, 7167, 7259]
|
|
data2 = [0, 8166, 8995, 9823, 10652, 11480, 12309, 13137, 13966, 14794, 15623, 16451, 17280, 18108, 18937, 19765, 20594, 21422, 22251, 23079, 23908, 24736, 25565, 26394, 27222, 28051, 28879, 29708, 30536, 31365, 32193, 33022, 33850, 34679, 35507, 36336, 37164, 37993, 38821, 39650, 40478, 41307, 42135, 42964, 43792, 44621, 45449, 46278, 47106, 47935, 48763, 49592, 50420, 51249, 52077, 52906, 53734, 54563, 55391, 56220, 57048, 57877, 58705, 59534, 60363, 61191, 62020, 62848, 63677, 64505, 65334]
|
|
攻击次数2 = 1
|
|
演出时间 = 1.5
|
|
CD = 15.0
|
|
TP成长 = 0.10
|
|
TP上限 = 5
|
|
|
|
def 等效百分比(self, 武器类型):
|
|
return 1.187*(self.data1[self.等级] * (1 + self.TP成长 * self.TP等级) * self.攻击次数 + self.data2[self.等级] * (1 + self.TP成长 * self.TP等级) * self.攻击次数2) * self.倍率
|
|
|
|
|
|
class 技能10(主动技能):
|
|
名称 = '冰魄锤击'
|
|
所在等级 = 35
|
|
等级上限 = 60
|
|
等级精通 = 50
|
|
学习间隔 = 2
|
|
|
|
data1 = [0, 8365, 9214, 10063, 10911, 11760, 12609, 13458, 14306, 15155, 16004, 16852, 17701, 18550, 19398, 20247, 21096, 21945, 22793, 23642, 24491, 25339, 26188, 27037, 27885, 28734, 29583, 30432, 31280, 32129, 32978, 33826, 34675, 35524, 36372, 37221, 38070, 38919, 39767, 40616, 41465, 42313, 43162, 44011, 44860, 45708, 46557, 47406, 48254, 49103, 49952, 50800, 51649, 52498, 53347, 54195, 55044, 55893, 56741, 57590, 58439, 59287, 60136, 60985, 61834, 62682, 63531, 64380, 65228, 66077, 66926]
|
|
攻击次数 = 1
|
|
攻击倍率 = 1.2
|
|
演出时间 = 1.0
|
|
CD = 18.0
|
|
TP成长 = 0.10
|
|
TP上限 = 5
|
|
|
|
def 等效百分比(self, 武器类型):
|
|
return 1.211*self.data1[self.等级] * self.攻击倍率 * (1 + self.TP成长 * self.TP等级) * self.攻击次数 * self.倍率
|
|
|
|
是否有护石 = 1
|
|
护石选项 = ['魔界', '圣痕']
|
|
|
|
def 装备护石(self, x):
|
|
if x == 0:
|
|
self.攻击倍率 *= 1.27
|
|
if x == 1:
|
|
self.攻击倍率 *= 1.36
|
|
|
|
def 护石描述(self, x):
|
|
if x == 0:
|
|
temp = "<font color='#FF00FF'>冰魄延伸</font>"
|
|
temp += "<br><br><font color='#68D5ED'>"
|
|
temp += "[冰魄锤击]<br>"
|
|
temp += "普通施放时, 发动大范围寒冰冲击波<br>"
|
|
temp += "攻击力 +9%<br>"
|
|
temp += "强制中断其他技能后施放时攻击力 +18%<br>"
|
|
temp += "强制中断其他技能后施放时不产生寒冰冲击波<br>"
|
|
temp += "<br>-护石附加效果:<br>"
|
|
temp += "对可抓取的敌人造成和不可抓取的敌人同样的伤害<br>"
|
|
temp += "普通施放时寒冰冲击波范围 +15%<br>"
|
|
temp += "普通施放时攻击力 +6%<br>"
|
|
temp += "强制中断其他技能后施放时攻击力 +9%"
|
|
elif x == 1:
|
|
temp = "<font color='#FF00FF'>冰魄延伸</font>"
|
|
temp += "<br><br><font color='#68D5ED'>"
|
|
temp += "[冰魄锤击]<br>"
|
|
temp += "普通施放时, 发动大范围寒冰冲击波<br>"
|
|
temp += "攻击力 +9%<br>"
|
|
temp += "强制中断其他技能后施放时攻击力 +18%<br>"
|
|
temp += "强制中断其他技能后施放时不产生寒冰冲击波<br>"
|
|
temp += "<br>-护石附加效果:<br>"
|
|
temp += "对可抓取的敌人造成和不可抓取的敌人同样的伤害<br>"
|
|
temp += "普通施放时寒冰冲击波范围 +15%<br>"
|
|
temp += "普通施放时攻击力 +6%<br>"
|
|
temp += "强制中断其他技能后施放时攻击力 +18%"
|
|
return temp
|
|
|
|
|
|
class 技能11(主动技能):
|
|
名称 = '极冰绽放'
|
|
所在等级 = 40
|
|
等级上限 = 60
|
|
等级精通 = 50
|
|
学习间隔 = 2
|
|
|
|
data1 = [0, 777, 855, 934, 1013, 1092, 1171, 1250, 1328, 1407, 1486, 1565, 1644, 1723, 1801, 1880, 1959, 2038, 2117, 2196, 2274, 2353, 2432, 2511, 2590, 2669, 2747, 2826, 2905, 2984, 3063, 3142, 3221, 3299, 3378, 3457,
|
|
3536, 3615, 3694, 3772, 3851, 3930, 4009, 4088, 4167, 4245, 4324, 4403, 4482, 4561, 4640, 4718, 4797, 4876, 4955, 5034, 5113, 5191, 5270, 5349, 5428, 5507, 5586, 5664, 5743, 5822, 5901, 5980, 6059, 6137, 6216]
|
|
攻击倍率 = 1.95
|
|
攻击次数 = 4
|
|
data2 = [0, 3433, 3782, 4130, 4478, 4827, 5175, 5523, 5872, 6220, 6568, 6917, 7265, 7613, 7962, 8310, 8658, 9007, 9355, 9703, 10052, 10400, 10748, 11097, 11445, 11793, 12142, 12490, 12839, 13187, 13535, 13884, 14232, 14580, 14929, 15277, 15625,
|
|
15974, 16322, 16670, 17019, 17367, 17715, 18064, 18412, 18760, 19109, 19457, 19805, 20154, 20502, 20850, 21199, 21547, 21895, 22244, 22592, 22941, 23289, 23637, 23986, 24334, 24682, 25031, 25379, 25727, 26076, 26424, 26772, 27121, 27469]
|
|
攻击倍率2 = 2.35
|
|
攻击次数2 = 1
|
|
演出时间 = 2.0
|
|
CD = 20.0
|
|
TP成长 = 0.10
|
|
TP上限 = 5
|
|
|
|
def 等效百分比(self, 武器类型):
|
|
return 1.219*(self.data1[self.等级] * (1 + self.TP成长 * self.TP等级) * self.攻击倍率 * self.攻击次数 +
|
|
self.data2[self.等级] * (1 + self.TP成长 * self.TP等级) * self.攻击倍率2 * self.攻击次数2) * self.倍率
|
|
|
|
是否有护石 = 1
|
|
护石选项 = ['魔界', '圣痕']
|
|
|
|
def 装备护石(self, x):
|
|
if x == 0:
|
|
self.攻击倍率 *= 1.11
|
|
self.攻击倍率2 *= 1.23
|
|
self.CD *= 0.90
|
|
if x == 1:
|
|
self.攻击倍率 *= 1.11
|
|
self.攻击倍率2 *= 1.38
|
|
self.CD *= 0.90
|
|
|
|
def 护石描述(self, x):
|
|
if x == 0:
|
|
temp = "<font color='#FF00FF'>冰封制动</font>"
|
|
temp += "<br><br><font color='#68D5ED'>"
|
|
temp += "[极冰绽放]<br>"
|
|
temp += "删除指定魔法阵位置的功能<br>"
|
|
temp += "缩短魔法阵生成时间<br>"
|
|
temp += "攻击范围 +20%<br>"
|
|
temp += "攻击力 +11%<br>"
|
|
temp += "<br>-护石附加效果:<br>"
|
|
temp += "冷却时间 -10%<br>"
|
|
temp += "最后强击攻击力 +12%<br>"
|
|
temp += "冰柱破碎时的攻击力 +18%<br>"
|
|
temp += "每次攻击时发射[冰之技艺]的冰枪"
|
|
elif x == 1:
|
|
temp = "<font color='#FF00FF'>冰封制动</font>"
|
|
temp += "<br><br><font color='#68D5ED'>"
|
|
temp += "[极冰绽放]<br>"
|
|
temp += "删除指定魔法阵位置的功能<br>"
|
|
temp += "缩短魔法阵生成时间<br>"
|
|
temp += "攻击范围 +20%<br>"
|
|
temp += "攻击力 +11%<br>"
|
|
temp += "<br>-护石附加效果:<br>"
|
|
temp += "冷却时间 -10%<br>"
|
|
temp += "最后强击攻击力 +27%<br>"
|
|
temp += "冰柱破碎时的攻击力 +35%<br>"
|
|
temp += "每次攻击时发射[冰之技艺]的冰枪"
|
|
return temp
|
|
|
|
|
|
class 技能12(主动技能):
|
|
名称 = '冰雪风暴'
|
|
所在等级 = 45
|
|
等级上限 = 60
|
|
等级精通 = 50
|
|
学习间隔 = 2
|
|
|
|
data1 = [0, 1048, 1154, 1260, 1367, 1473, 1579, 1686, 1792, 1899, 2005, 2111, 2218, 2324, 2430, 2537, 2643, 2749, 2856, 2962, 3068, 3175, 3281, 3387, 3494, 3600, 3706, 3813, 3919, 4025, 4132, 4238, 4344, 4451, 4557, 4663, 4770, 4876, 4982, 5089, 5195, 5302, 5408, 5514, 5621, 5727, 5833, 5940, 6046, 6152, 6259, 6365, 6471, 6578, 6684, 6790, 6897, 7003, 7109, 7216, 7322, 7428, 7535, 7641, 7747, 7854, 7960, 8066, 8173, 8279, 8386]
|
|
攻击次数 = 14
|
|
攻击倍率 = 1.0
|
|
data2 = [0, 10233, 11272, 12310, 13348, 14386, 15425, 16463, 17501, 18539, 19577, 20616, 21654, 22692, 23730, 24769, 25807, 26845, 27883, 28921, 29960, 30998, 32036, 33074, 34113, 35151, 36189, 37227, 38265, 39304, 40342, 41380, 42418, 43457, 44495, 45533, 46571, 47609, 48648, 49686, 50724, 51762, 52801, 53839, 54877, 55915, 56953, 57992, 59030, 60068, 61106, 62145, 63183, 64221, 65259, 66297, 67336, 68374, 69412, 70450, 71489, 72527, 73565, 74603, 75641, 76680, 77718, 78756, 79794, 80833, 81871]
|
|
攻击次数2 = 1
|
|
攻击倍率2 = 1.0
|
|
演出时间 = 2.5
|
|
CD = 40.0
|
|
TP成长 = 0.10
|
|
TP上限 = 5
|
|
|
|
def 等效百分比(self, 武器类型):
|
|
return 1.214*(self.data1[self.等级] * self.攻击倍率 * (1 + self.TP成长 * self.TP等级) * self.攻击次数 +
|
|
self.data2[self.等级] * self.攻击倍率2 * (1 + self.TP成长 * self.TP等级) * self.攻击次数2) * self.倍率
|
|
|
|
是否有护石 = 1
|
|
护石选项 = ['魔界', '圣痕']
|
|
|
|
def 装备护石(self, x):
|
|
if x == 0:
|
|
self.攻击次数 = 16
|
|
self.攻击倍率2 *= 1.15
|
|
if x == 1:
|
|
self.攻击次数 = 16
|
|
self.攻击倍率2 *= 1.34
|
|
|
|
def 护石描述(self, x):
|
|
if x == 0:
|
|
temp = "<font color='#FF00FF'>冰龙升天破</font>"
|
|
temp += "<br><br><font color='#68D5ED'>"
|
|
temp += "[冰雪风暴]<br>"
|
|
temp += "变更为以施放者为中心生成1个巨大的寒气风暴<br>"
|
|
temp += "魔法阵范围 -50%<br>"
|
|
temp += "删除聚集敌人的功能<br>"
|
|
temp += "<br>-护石附加效果:<br>"
|
|
temp += "施放技能时直接召唤寒气风暴<br>"
|
|
temp += "多段攻击次数 +2次<br>"
|
|
temp += "爆炸攻击力 +15%"
|
|
elif x == 1:
|
|
temp = "<font color='#FF00FF'>冰龙升天破</font>"
|
|
temp += "<br><br><font color='#68D5ED'>"
|
|
temp += "[冰雪风暴]<br>"
|
|
temp += "变更为以施放者为中心生成1个巨大的寒气风暴<br>"
|
|
temp += "魔法阵范围 -50%<br>"
|
|
temp += "删除聚集敌人的功能<br>"
|
|
temp += "<br>-护石附加效果:<br>"
|
|
temp += "施放技能时直接召唤寒气风暴<br>"
|
|
temp += "多段攻击次数 +2次<br>"
|
|
temp += "爆炸攻击力 +34%"
|
|
return temp
|
|
|
|
|
|
class 技能13(被动技能):
|
|
名称 = '冰封奥义'
|
|
所在等级 = 48
|
|
等级上限 = 40
|
|
基础等级 = 20
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
else:
|
|
return round(1.105 + 0.015 * self.等级, 5)
|
|
|
|
|
|
class 技能14(主动技能):
|
|
名称 = '千旋冰轮破'
|
|
所在等级 = 50
|
|
等级上限 = 40
|
|
等级精通 = 30
|
|
学习间隔 = 5
|
|
|
|
data1 = [0, 1055, 1300, 1544, 1790, 2035, 2279, 2524, 2768, 3014, 3259, 3503, 3748, 3992, 4237, 4483, 4727, 4972, 5217, 5461, 5707, 5952, 6196, 6441, 6685, 6930, 7176, 7420, 7665, 7910, 8154, 8399, 8645, 8889, 9134, 9378, 9623, 9869, 10113, 10358, 10602, 10847, 11092, 11337, 11582, 11827, 12071, 12316, 12560, 12806, 13051, 13295, 13540, 13785, 14030, 14275, 14520, 14764, 15009, 15253, 15499, 15744, 15988, 16233, 16477, 16722, 16968, 17212, 17457, 17702, 17946]
|
|
攻击次数 = 40
|
|
data2 = [0, 897, 1105, 1313, 1522, 1731, 1939, 2147, 2355, 2563, 2771, 2980, 3188, 3396, 3604, 3812, 4020, 4229, 4437, 4645, 4853, 5061, 5269, 5478, 5686, 5894, 6102, 6311, 6519, 6727, 6936, 7144, 7352, 7560, 7768, 7976, 8185, 8393, 8601, 8809, 9017, 9225, 9434, 9642, 9850, 10058, 10266, 10474, 10682, 10892, 11100, 11308, 11516, 11724, 11932, 12141, 12349, 12557, 12765, 12973, 13181, 13390, 13598, 13806, 14014, 14222, 14430, 14640, 14848, 15056, 15264]
|
|
攻击次数2 = 24
|
|
data3 = [0, 3144, 3875, 4604, 5333, 6062, 6792, 7521, 8250, 8979, 9709, 10439, 11168, 11897, 12627, 13356, 14085, 14814, 15544, 16274, 17003, 17733, 18462, 19191, 19920, 20649, 21379, 22109, 22838, 23568, 24297, 25026, 25755, 26484, 27214, 27943, 28673, 29403, 30132, 30861, 31590, 32319, 33049, 33778, 34508, 35238, 35967, 36696, 37425, 38154, 38884, 39613, 40342, 41073, 41802, 42531, 43260, 43989, 44719, 45448, 46177, 46908, 47637, 48366, 49095, 49825, 50554, 51283, 52012, 52743, 53472]
|
|
攻击次数3 = 1
|
|
CD = 145.0
|
|
|
|
def 等效百分比(self, 武器类型):
|
|
return 1.209*(self.data1[self.等级] * self.攻击次数 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * self.倍率
|
|
|
|
|
|
class 技能15(主动技能):
|
|
名称 = '冰凌破'
|
|
所在等级 = 60
|
|
等级上限 = 40
|
|
等级精通 = 30
|
|
学习间隔 = 2
|
|
|
|
data1 = [0, 775, 854, 933, 1011, 1090, 1169, 1247, 1326, 1405, 1483, 1562, 1641, 1719, 1798, 1877, 1956, 2034, 2113, 2192, 2270, 2349, 2428, 2506, 2585, 2664, 2742, 2821, 2900, 2979, 3057, 3136, 3215, 3293, 3372, 3451, 3529, 3608, 3687, 3765, 3844, 3923, 4002, 4080, 4159, 4238, 4316, 4395, 4474, 4552, 4631, 4710, 4788, 4867, 4946, 5025, 5103, 5182, 5261, 5339, 5418, 5497, 5575, 5654, 5733, 5811, 5890, 5969, 6048, 6126, 6205]
|
|
攻击次数 = 25
|
|
data2 = [0, 3693, 4068, 4443, 4817, 5192, 5567, 5942, 6316, 6691, 7066, 7440, 7815, 8190, 8565, 8939, 9314, 9689, 10063, 10438, 10813, 11188, 11562, 11937, 12312, 12687, 13061, 13436, 13811, 14185, 14560, 14935, 15310, 15684, 16059, 16434, 16808, 17183, 17558, 17933, 18307, 18682, 19057, 19432, 19806, 20181, 20556, 20930, 21305, 21680, 22055, 22429, 22804, 23179, 23553, 23928, 24303, 24678, 25052, 25427, 25802, 26177, 26551, 26926, 27301, 27675, 28050, 28425, 28800, 29174, 29549]
|
|
攻击次数2 = 1
|
|
攻击倍率 = 1.0
|
|
演出时间 = 2.0
|
|
CD = 30.0
|
|
TP成长 = 0.10
|
|
TP上限 = 5
|
|
|
|
def 等效百分比(self, 武器类型):
|
|
return 1.209*(self.data1[self.等级] * (1 + self.TP成长 * self.TP等级) * self.攻击倍率 * self.攻击次数 +
|
|
self.data2[self.等级] * (1 + self.TP成长 * self.TP等级) * self.攻击倍率 * self.攻击次数2) * self.倍率
|
|
|
|
是否有护石 = 1
|
|
护石选项 = ['魔界', '圣痕']
|
|
|
|
def 装备护石(self, x):
|
|
if x == 0:
|
|
self.攻击倍率 *= 1.22
|
|
if x == 1:
|
|
self.攻击倍率 *= 1.31
|
|
|
|
def 护石描述(self, x):
|
|
if x == 0:
|
|
temp = "<font color='#FF00FF'>苍白之楔</font>"
|
|
temp += "<br><br><font color='#68D5ED'>"
|
|
temp += "[冰凌破]<br>"
|
|
temp += "[冰之印]开启后, 追踪并攻击有[冰封奥义]光环的敌人中最强的敌人(攻击开始后不再追踪敌人)<br>"
|
|
temp += "攻击力 +9%<br>"
|
|
temp += "<br>-护石附加效果:<br>"
|
|
temp += "追击时移动速度 +50%<br>"
|
|
temp += "攻击力 +13%"
|
|
elif x == 1:
|
|
temp = "<font color='#FF00FF'>苍白之楔</font>"
|
|
temp += "<br><br><font color='#68D5ED'>"
|
|
temp += "[冰凌破]<br>"
|
|
temp += "[冰之印]开启后, 追踪并攻击有[冰封奥义]光环的敌人中最强的敌人(攻击开始后不再追踪敌人)<br>"
|
|
temp += "攻击力 +9%<br>"
|
|
temp += "<br>-护石附加效果:<br>"
|
|
temp += "追击时移动速度 +50%<br>"
|
|
temp += "攻击力 +22%"
|
|
return temp
|
|
|
|
|
|
class 技能16(主动技能):
|
|
名称 = '千里冰封'
|
|
所在等级 = 70
|
|
等级上限 = 40
|
|
等级精通 = 30
|
|
学习间隔 = 2
|
|
|
|
data1 = [0, 10790, 11885, 12980, 14074, 15169, 16264, 17358, 18453, 19548, 20643, 21737, 22832, 23927, 25021, 26116, 27211, 28305, 29400, 30495, 31590, 32684, 33779, 34874, 35968, 37063, 38158, 39252, 40347, 41442, 42537, 43631, 44726, 45821, 46915, 48010, 49105, 50200, 51294, 52389, 53484, 54578, 55673, 56768, 57862, 58957, 60052, 61147, 62241, 63336, 64431, 65525, 66620, 67715, 68810, 69904, 70999, 72094, 73188, 74283, 75378, 76472, 77567, 78662, 79757, 80851, 81946, 83041, 84135, 85230, 86325]
|
|
攻击次数 = 3
|
|
攻击倍率 = 1.0
|
|
演出时间 = 2.0
|
|
CD = 50.0
|
|
TP成长 = 0.10
|
|
TP上限 = 5
|
|
|
|
def 等效百分比(self, 武器类型):
|
|
return 1.27*self.data1[self.等级] * self.攻击倍率 * (1 + self.TP成长 * self.TP等级) * self.攻击次数 * self.倍率
|
|
|
|
是否有护石 = 1
|
|
护石选项 = ['魔界', '圣痕']
|
|
|
|
def 装备护石(self, x):
|
|
if x == 0:
|
|
self.攻击次数 = 1
|
|
self.攻击倍率 = 3.56
|
|
if x == 1:
|
|
self.攻击次数 = 1
|
|
self.攻击倍率 = 3.8
|
|
|
|
def 护石描述(self, x):
|
|
if x == 0:
|
|
temp = "<font color='#FF00FF'>冰凌花</font>"
|
|
temp += "<br><br><font color='#68D5ED'>"
|
|
temp += "[千里冰封]<br>"
|
|
temp += "同时生成所有冰刺<br>"
|
|
temp += "攻击次数变更为1次<br>"
|
|
temp += "发动速度 +50%<br>"
|
|
temp += "攻击力 +230%<br>"
|
|
temp += "<br>-护石附加效果:<br>"
|
|
temp += "[冰之印]开启时, 冰冻效果变更为强制控制2秒<br>"
|
|
temp += "攻击力 +26%"
|
|
elif x == 1:
|
|
temp = "<font color='#FF00FF'>冰凌花</font>"
|
|
temp += "<br><br><font color='#68D5ED'>"
|
|
temp += "[千里冰封]<br>"
|
|
temp += "同时生成所有冰刺<br>"
|
|
temp += "攻击次数变更为1次<br>"
|
|
temp += "发动速度 +50%<br>"
|
|
temp += "攻击力 +230%<br>"
|
|
temp += "<br>-护石附加效果:<br>"
|
|
temp += "[冰之印]开启时, 冰冻效果变更为强制控制2秒<br>"
|
|
temp += "攻击力 +50%"
|
|
return temp
|
|
|
|
|
|
class 技能17(被动技能):
|
|
名称 = '冰之技艺'
|
|
所在等级 = 75
|
|
等级上限 = 40
|
|
基础等级 = 11
|
|
关联技能 = ['冰魄之弓', '破冰飞刃', '冰雪风暴', '千旋冰轮破',
|
|
'冰凌破', '千里冰封', '极冰领域', '永罪冰狱', '永劫:纳斯特隆德']
|
|
关联技能2 = ['冰魄剑', '寒冰连枪', '冰魄旋枪', '旋冰穿刺', '冰魄锤击', '极冰绽放', '碎冰破', '极冰猎魔斩']
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
else:
|
|
return round(1.16 + 0.02 * self.等级, 5)
|
|
|
|
def 加成倍率2(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
else:
|
|
return round(1.24 + 0.03 * self.等级, 5)
|
|
|
|
def 冰针倍率(self, 武器类型):
|
|
return round(0.24 + 0.03 * self.等级, 5)
|
|
|
|
# 按技能data无法与游戏中伤害对应,因此从一级起验证,结果按核对伤害手动增加29百分比
|
|
|
|
|
|
class 技能18(主动技能):
|
|
名称 = '碎冰破'
|
|
所在等级 = 75
|
|
等级上限 = 40
|
|
等级精通 = 30
|
|
学习间隔 = 2
|
|
|
|
data1 = [0, 33412, 36802, 40191, 43581, 46971, 50360, 53750, 57140, 60529, 63919, 67309, 70698, 74088, 77478, 80867, 84257, 87647, 91036, 94426, 97816, 101205, 104595, 107985, 111374, 114764, 118154, 121543, 124933, 128323, 131712, 135102, 138492, 141881, 145271, 148661, 152050, 155440, 158830, 162219, 165609, 168999, 172388, 175778, 179168, 182557, 185947, 189337, 192726, 196116, 199506, 202895, 206285, 209675, 213064, 216454, 219844, 223233, 226623, 230013, 233402, 236792, 240182, 243571, 246961, 250351, 253740, 257130, 260520, 263909, 267299]
|
|
攻击次数 = 1
|
|
data2 = [0, 12165, 13399, 14633, 15867, 17102, 18336, 19570, 20804, 22038, 23272, 24507, 25741, 26975, 28209, 29443, 30677, 31912, 33146, 34380, 35614, 36848, 38082, 39317, 40551, 41785, 43019, 44253, 45487, 46722, 47956, 49190, 50424, 51658, 52893, 54127, 55361, 56595, 57829, 59063, 60298, 61532, 62766, 64000, 65234, 66468, 67703, 68937, 70171, 71405, 72639, 73873, 75108, 76342, 77576, 78810, 80044, 81278, 82513, 83747, 84981, 86215, 87449, 88683, 89918, 91152, 92386, 93620, 94854, 96088, 97323]
|
|
攻击次数2 = 1
|
|
攻击倍率 = 1.2
|
|
演出时间 = 1.0
|
|
CD = 40.0
|
|
|
|
def 等效百分比(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 0
|
|
else:
|
|
return 1.209*(self.data1[self.等级] * self.攻击倍率 * self.攻击次数 +
|
|
self.data2[self.等级] * self.攻击倍率 * self.攻击次数2 + 29) * self.倍率
|
|
|
|
是否有护石 = 1
|
|
护石选项 = ['圣痕']
|
|
|
|
def 装备护石(self, x):
|
|
if x == 0:
|
|
self.攻击次数 *= 1.46
|
|
|
|
def 护石描述(self, x):
|
|
if x == 0:
|
|
temp = "<font color='#FF00FF'>碎冰破</font>"
|
|
temp += "<br><br><font color='#68D5ED'>"
|
|
temp += "[碎冰破]<br>"
|
|
temp += "向前方生成多个冰霜结晶<br>"
|
|
temp += "- 冰霜碎片攻击范围增加<br>"
|
|
temp += "冰霜碎片攻击力 +12%<br>"
|
|
temp += "<br>-护石附加效果:<br>"
|
|
temp += "碎冰破攻击速度 +50%<br>"
|
|
temp += "冰霜碎片攻击力 +34%<br>"
|
|
return temp[:-4]
|
|
|
|
|
|
class 技能19(主动技能):
|
|
名称 = '极冰领域'
|
|
所在等级 = 80
|
|
等级上限 = 40
|
|
等级精通 = 30
|
|
学习间隔 = 2
|
|
|
|
data = [0, 46248, 50939, 55631, 60323, 65014, 69706, 74398, 79089, 83781, 88474, 93166, 97857, 102549, 107241, 111932, 116624, 121316, 126007, 130700, 135392, 140084, 144775, 149467, 154159, 158850, 163542, 168234, 172926, 177618, 182310, 187002, 191693, 196385, 201077, 205768, 210460, 215153, 219844, 224536, 229228, 233919, 238611, 243303, 247994, 252686, 257379, 262071, 266762, 271454, 276146, 280837, 285529, 290221, 294912, 299605, 304297, 308989, 313680, 318372, 323064, 327755, 332447, 337139, 341831, 346523, 351215, 355907, 360598, 365290, 369982]
|
|
攻击倍率 = 1.0
|
|
演出时间 = 0.65
|
|
CD = 40.0
|
|
|
|
def 等效百分比(self, 武器类型):
|
|
return 1.214*self.data[self.等级] * self.攻击倍率 * self.倍率
|
|
|
|
是否有护石 = 1
|
|
护石选项 = ['圣痕']
|
|
|
|
def 装备护石(self, x):
|
|
if x == 0:
|
|
self.攻击倍率 *= 1.32
|
|
self.CD *= 0.9
|
|
|
|
def 护石描述(self, x):
|
|
if x == 0:
|
|
temp = "<font color='#FF00FF'>极冰领域</font>"
|
|
temp += "<br><br><font color='#68D5ED'>"
|
|
temp += "[极冰领域]<br>"
|
|
temp += "部分转职技能命中后可以强制中断并连接施放极冰领域<br>"
|
|
temp += "- 可中断技能列表与冰魄锤击相同<br>"
|
|
temp += "波动攻击力 +14%<br>"
|
|
temp += "<br>-护石附加效果:<br>"
|
|
temp += "冷却时间 -10%<br>"
|
|
temp += "波动攻击力 +18%<br>"
|
|
return temp[:-4]
|
|
|
|
|
|
class 技能20(主动技能):
|
|
名称 = '永罪冰狱'
|
|
所在等级 = 85
|
|
等级上限 = 40
|
|
等级精通 = 30
|
|
学习间隔 = 5
|
|
|
|
data1 = [0, 43095, 53088, 63081, 73074, 83067, 93061, 103054, 113047, 123040, 133033, 143026, 153019, 163012, 173006, 182999, 192992, 202985, 212978, 222971, 232964, 242957, 252951, 262944, 272937, 282930, 292923, 302916, 312909, 322902, 332896, 342889, 352882, 362875, 372868, 382861, 392854, 402848, 412841, 422834, 432827, 442820, 452813, 462806, 472799, 482793, 492786, 502779, 512772, 522765, 532758, 542751, 552744, 562738, 572731, 582724, 592717, 602710, 612703, 622696, 632689, 642683, 652676, 662669, 672662, 682655, 692648, 702641, 712635, 722628, 732621]
|
|
攻击次数 = 1
|
|
data2 = [0, 19147, 23587, 28027, 32467, 36907, 41347, 45787, 50227, 54667, 59107, 63547, 67987, 72426, 76866, 81306, 85746, 90186, 94626, 99066, 103506, 107946, 112386, 116826, 121266, 125706, 130146, 134586, 139026, 143466, 147906, 152346, 156786, 161226, 165666, 170106, 174546, 178986, 183426, 187866, 192306, 196746, 201186, 205626, 210066, 214505, 218945, 223385, 227825, 232265, 236705, 241145, 245585, 250025, 254465, 258905, 263345, 267785, 272225, 276665, 281105, 285545, 289985, 294425, 298865, 303305, 307745, 312185, 316625, 321065, 325505]
|
|
攻击次数2 = 2
|
|
data3 = [0,28803, 35482, 42162, 48841, 55520, 62199, 68878, 75557, 82236, 88916, 95595, 102274, 108953, 115632, 122311, 128991, 135670, 142349, 149028, 155707, 162386, 169065, 175745, 182424, 189103, 195782, 202461, 209140, 215819, 222499, 229178, 235857, 242536, 249215, 255894, 262573, 269253, 275932, 282611, 289290, 295969, 302648, 309327, 316007, 322686, 329365, 336044, 342723, 349402, 356081, 362761, 369440, 376119, 382798, 389477, 396156, 402836, 409515, 416194, 422873, 429552, 436231, 442910, 449590, 456269, 462948, 469627, 476306, 482985, 489664]
|
|
攻击次数3 = 1
|
|
CD = 180.0
|
|
|
|
def 等效百分比(self, 武器类型):
|
|
return 1.271*(self.data1[self.等级] * self.攻击次数 + self.data2[self.等级] * self.攻击次数2 + self.data3[self.等级] * self.攻击次数3) * self.倍率
|
|
|
|
|
|
class 技能21(被动技能):
|
|
名称 = '冰霜之手'
|
|
所在等级 = 95
|
|
等级上限 = 40
|
|
基础等级 = 4
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
else:
|
|
return round(1.18 + 0.02 * self.等级, 5)
|
|
|
|
|
|
class 技能22(主动技能):
|
|
名称 = '极冰猎魔斩'
|
|
所在等级 = 95
|
|
等级上限 = 40
|
|
基础等级 = 6
|
|
data1 = [0, 114676, 126310, 137943, 149577, 161211, 172845, 184479, 196113, 207746, 219380, 231014, 242648, 254282, 265915, 277549, 289183, 300817, 312451, 324085, 335718, 347352, 358986, 370620, 382254, 393888, 405521, 417155, 428789, 440423, 452057, 463690, 475324, 486958, 498592, 510226, 521860, 533493, 545127, 556761, 568395, 580029, 591662, 603296, 614930, 626564, 638198, 649832, 661465, 673099, 684733, 696367, 708001, 719635, 731268, 742902, 754536, 766170, 777804, 789437, 801071, 812705, 824339, 835973, 847607, 859240, 870874, 882508, 894142, 905776, 917410]
|
|
攻击次数 = 1
|
|
CD = 60.0
|
|
def 等效百分比(self, 武器类型):
|
|
return 1.23*(self.data1[self.等级] * self.攻击次数) * self.倍率
|
|
|
|
|
|
class 技能23(主动技能):
|
|
名称 = '永劫:纳斯特隆德'
|
|
所在等级 = 100
|
|
等级上限 = 40
|
|
基础等级 = 2
|
|
|
|
data1 = [0, 4031, 4966, 5900, 6835, 7770, 8705, 9640, 10575, 11509, 12444, 13379, 14314, 15249, 16183, 17118, 18053, 18988, 19923, 20857, 21792, 22727, 23662, 24597, 25531, 26466, 27401, 28336, 29271, 30205, 31140, 32075, 33010, 33945, 34879, 35814, 36749, 37684, 38619, 39554, 40488, 41423, 42358, 43293, 44228, 45162, 46097, 47032, 47967, 48902, 49836, 50771, 51706, 52641, 53576, 54510, 55445, 56380, 57315, 58250, 59184, 60119, 61054, 61989, 62924, 63859, 64793, 65728, 66663, 67598, 68533]
|
|
data2 = [0, 40313, 49661, 59009, 68357, 77705, 87053, 96401, 105750, 115098, 124446, 133794, 143142, 152490, 161838, 171186, 180534, 189882, 199230, 208578, 217926, 227274, 236623, 245971, 255319, 264667, 274015, 283363, 292711, 302059, 311407, 320755, 330103, 339451, 348799, 358147, 367495, 376844, 386192, 395540, 404888, 414236, 423584, 432932, 442280, 451628, 460976, 470324, 479672, 489020, 498368, 507717, 517065, 526413, 535761, 545109, 554457, 563805, 573153, 582501, 591849, 601197, 610545, 619893, 629241, 638590, 647938, 657286, 666634, 675982, 685330]
|
|
data3 = [0, 28219, 34763, 41306, 47850, 54394, 60937, 67481, 74025, 80568, 87112, 93655, 100199, 106743, 113286, 119830, 126374, 132917, 139461, 146005, 152548, 159092, 165636, 172179, 178723, 185267, 191810, 198354, 204898, 211441, 217985, 224528, 231072, 237616, 244159, 250703, 257247, 263790, 270334, 276878, 283421, 289965, 296509, 303052, 309596, 316140, 322683, 329227, 335770, 342314, 348858, 355401, 361945, 368489, 375032, 381576, 388120, 394663, 401207, 407751, 414294, 420838, 427382, 433925, 440469, 447013, 453556, 460100, 466643, 473187, 479731]
|
|
data4 = [0, 28219, 34763, 41306, 47850, 54394, 60937, 67481, 74025, 80568, 87112, 93655, 100199, 106743, 113286, 119830, 126374, 132917, 139461, 146005, 152548, 159092, 165636, 172179, 178723, 185267, 191810, 198354, 204898, 211441, 217985, 224528, 231072, 237616, 244159, 250703, 257247, 263790, 270334, 276878, 283421, 289965, 296509, 303052, 309596, 316140, 322683, 329227, 335770, 342314, 348858, 355401, 361945, 368489, 375032, 381576, 388120, 394663, 401207, 407751, 414294, 420838, 427382, 433925, 440469, 447013, 453556, 460100, 466643, 473187, 479731]
|
|
data5 = [0, 60470, 74492, 88514, 102536, 116558, 130580, 144602, 158625, 172647, 186669, 200691, 214713, 228735, 242757, 256779, 270801, 284824, 298846, 312868, 326890, 340912, 354934, 368956, 382978, 397000, 411022, 425045, 439067, 453089, 467111, 481133, 495155, 509177, 523199, 537221, 551244, 565266, 579288, 593310, 607332, 621354, 635376, 649398, 663420, 677442, 691465, 705487, 719509, 733531, 747553, 761575, 775597, 789619, 803641, 817664, 831686, 845708, 859730, 873752, 887774, 901796, 915818, 929840, 943862, 957885, 971907, 985929, 999951, 1013973, 1027995]
|
|
data6 = [0, 120940, 148984, 177029, 205073, 233117, 261161, 289205, 317250, 345294, 373338, 401382, 429426, 457471, 485515, 513559, 541603, 569648, 597692, 625736, 653780, 681824, 709869, 737913, 765957, 794001, 822045, 850090, 878134, 906178, 934222, 962266, 990311, 1018355, 1046399, 1074443, 1102488, 1130532, 1158576, 1186620, 1214664, 1242709, 1270753, 1298797, 1326841, 1354885, 1382930, 1410974, 1439018, 1467062, 1495106, 1523151, 1551195, 1579239, 1607283, 1635328, 1663372, 1691416, 1719460, 1747504, 1775549, 1803593, 1831637, 1859681, 1887725, 1915770, 1943814, 1971858, 1999902, 2027946, 2055991]
|
|
data7 = [0, 8062, 9932, 11801, 13671, 15541, 17410, 19280, 21150, 23019, 24889, 26758, 28628, 30498, 32367, 34237, 36106, 37976, 39846, 41715, 43585, 45454, 47324, 49194, 51063, 52933, 54803, 56672, 58542, 60411, 62281, 64151, 66020, 67890, 69759, 71629, 73499, 75368, 77238, 79108, 80977, 82847, 84716, 86586, 88456, 90325, 92195, 94064, 95934, 97804, 99673, 101543, 103413, 105282, 107152, 109021, 110891, 112761, 114630, 116500, 118369, 120239, 122109, 123978, 125848, 127718, 129587, 131457, 133326, 135196, 137066]
|
|
data8 = [0, 13437, 16553, 19669, 22785, 25901, 29017, 32133, 35250, 38366, 41482, 44598, 47714, 50830, 53946, 57062, 60178, 63294, 66410, 69526, 72642, 75758, 78874, 81990, 85106, 88222, 91338, 94454, 97570, 100686, 103802, 106918, 110034, 113150, 116266, 119382, 122498, 125614, 128730, 131846, 134962, 138078, 141194, 144310, 147426, 150542, 153658, 156774, 159890, 163006, 166122, 169239, 172355, 175471, 178587, 181703, 184819, 187935, 191051, 194167, 197283, 200399, 203515, 206631, 209747, 212863, 215979, 219095, 222211, 225327, 228443]
|
|
|
|
data0 = [data1,data2,data3,data4,data5,data6,data7,data8]
|
|
|
|
次数 = [1,1,1,1,1,1,5,6]
|
|
|
|
def 等效百分比(self, 武器类型):
|
|
sum = 0
|
|
# sum = 252985 + self.等级 * 76385
|
|
for i in range(len(self.次数)):
|
|
sum += self.data0[i][self.等级] * self.次数[i]
|
|
return sum * self.倍率*1.21
|
|
CD = 290.0
|
|
关联技能 = ['无']
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
return 0.0
|
|
|
|
|
|
技能列表 = []
|
|
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
|
|
|
|
知源·冰结师一觉序号 = 0
|
|
知源·冰结师二觉序号 = 0
|
|
知源·冰结师三觉序号 = 0
|
|
for i in 技能列表:
|
|
if i.所在等级 == 50:
|
|
知源·冰结师一觉序号 = 技能序号[i.名称]
|
|
if i.所在等级 == 85:
|
|
知源·冰结师二觉序号 = 技能序号[i.名称]
|
|
if i.所在等级 == 100:
|
|
知源·冰结师三觉序号 = 技能序号[i.名称]
|
|
|
|
知源·冰结师护石选项 = ['无']
|
|
for i in 技能列表:
|
|
if i.是否有伤害 == 1 and i.是否有护石 == 1:
|
|
知源·冰结师护石选项.append(i.名称)
|
|
|
|
知源·冰结师符文选项 = ['无']
|
|
for i in 技能列表:
|
|
if i.所在等级 >= 20 and i.所在等级 <= 80 and i.所在等级 != 50 and i.是否有伤害 == 1:
|
|
知源·冰结师符文选项.append(i.名称)
|
|
|
|
|
|
class 知源·冰结师角色属性(角色属性):
|
|
|
|
实际名称 = '知源·冰结师'
|
|
角色 = '魔法师(男)'
|
|
职业 = '冰结师'
|
|
|
|
武器选项 = ['魔杖', '法杖']
|
|
|
|
类型选择 = ['魔法百分比']
|
|
|
|
类型 = '魔法百力比'
|
|
防具类型 = '皮甲'
|
|
防具精通属性 = ['智力']
|
|
|
|
主BUFF = 1.800
|
|
|
|
远古记忆 = 0
|
|
|
|
冰针显示开关 = 0
|
|
小冰轮次数 = 0
|
|
大冰轮次数 = 0
|
|
|
|
def __init__(self):
|
|
基础属性输入(self)
|
|
self.技能栏 = deepcopy(技能列表)
|
|
self.技能序号 = deepcopy(技能序号)
|
|
|
|
def 被动倍率计算(self):
|
|
|
|
if self.远古记忆 > 0:
|
|
self.进图智力 += self.远古记忆 * 15
|
|
|
|
self.冰属性强化 += self.技能栏[self.技能序号['冰霜之径']].属强加成()
|
|
self.技能栏[self.技能序号['千旋冰轮破']].攻击次数 = self.小冰轮次数 + 36
|
|
self.技能栏[self.技能序号['千旋冰轮破']].攻击次数2 = self.大冰轮次数 + 20
|
|
|
|
for i in self.技能栏:
|
|
if i.关联技能 != ['无']:
|
|
if i.关联技能 == ['所有']:
|
|
for j in self.技能栏:
|
|
if j.是否有伤害 == 1:
|
|
j.被动倍率 *= i.加成倍率(self.武器类型)
|
|
else:
|
|
for k in i.关联技能:
|
|
self.技能栏[self.技能序号[k]].被动倍率 *= i.加成倍率(self.武器类型)
|
|
|
|
if i.关联技能2 != ['无']:
|
|
if i.关联技能2 == ['所有']:
|
|
for j in self.技能栏:
|
|
if j.是否有伤害 == 1:
|
|
j.被动倍率 *= i.加成倍率2(self.武器类型)
|
|
elif i.名称 != '冰之技艺':
|
|
for k in i.关联技能2:
|
|
self.技能栏[self.技能序号[k]].被动倍率 *= i.加成倍率2(self.武器类型)
|
|
|
|
if i.关联技能3 != ['无']:
|
|
if i.关联技能3 == ['所有']:
|
|
for j in self.技能栏:
|
|
if j.是否有伤害 == 1:
|
|
j.被动倍率 *= i.加成倍率3(self.武器类型)
|
|
else:
|
|
for k in i.关联技能3:
|
|
self.技能栏[self.技能序号[k]].被动倍率 *= i.加成倍率3(self.武器类型)
|
|
|
|
def 数据计算(self, x=0, y=-1):
|
|
self.预处理()
|
|
# 初步计算
|
|
技能释放次数 = self.技能释放次数计算()
|
|
技能单次伤害 = self.技能单次伤害计算(y)
|
|
技能总伤害 = self.技能总伤害计算(技能释放次数, 技能单次伤害)
|
|
|
|
# 二觉被动冰针
|
|
if self.技能栏[self.技能序号['冰之技艺']].等级 != 0:
|
|
|
|
冰之技艺序号 = self.技能序号['冰之技艺']
|
|
|
|
技能释放次数[冰之技艺序号] = 1
|
|
|
|
if 技能总伤害[self.技能序号['冰魄剑']] != 0:
|
|
temp = 技能总伤害[self.技能序号['冰魄剑']] * \
|
|
self.技能栏[冰之技艺序号].冰针倍率(self.武器类型)
|
|
if self.冰针显示开关 == 1:
|
|
技能总伤害[冰之技艺序号] += temp
|
|
else:
|
|
技能总伤害[self.技能序号['冰魄剑']] += temp
|
|
|
|
if 技能总伤害[self.技能序号['寒冰连枪']] != 0:
|
|
temp = 技能总伤害[self.技能序号['寒冰连枪']] * \
|
|
self.技能栏[冰之技艺序号].冰针倍率(self.武器类型)
|
|
if self.冰针显示开关 == 1:
|
|
技能总伤害[冰之技艺序号] += temp
|
|
else:
|
|
技能总伤害[self.技能序号['寒冰连枪']] += temp
|
|
|
|
if 技能总伤害[self.技能序号['冰魄旋枪']] != 0:
|
|
temp = 技能总伤害[self.技能序号['冰魄旋枪']] * \
|
|
self.技能栏[冰之技艺序号].冰针倍率(self.武器类型)
|
|
if self.装备检查('奔流不息之银河'):
|
|
temp = temp / 0.7
|
|
if self.冰针显示开关 == 1:
|
|
技能总伤害[冰之技艺序号] += temp
|
|
else:
|
|
技能总伤害[self.技能序号['冰魄旋枪']] += temp
|
|
|
|
if 技能总伤害[self.技能序号['旋冰穿刺']] != 0:
|
|
temp = 技能总伤害[self.技能序号['旋冰穿刺']] * \
|
|
self.技能栏[冰之技艺序号].冰针倍率(self.武器类型)
|
|
if self.装备检查('奔流不息之山川'):
|
|
temp = temp / 0.7
|
|
if self.冰针显示开关 == 1:
|
|
技能总伤害[冰之技艺序号] += temp
|
|
else:
|
|
技能总伤害[self.技能序号['旋冰穿刺']] += temp
|
|
|
|
if 技能总伤害[self.技能序号['冰魄锤击']] != 0:
|
|
temp = 技能总伤害[self.技能序号['冰魄锤击']] * \
|
|
self.技能栏[冰之技艺序号].冰针倍率(self.武器类型)
|
|
if self.装备检查('奔流不息之山川'):
|
|
temp = temp / 0.7
|
|
if self.冰针显示开关 == 1:
|
|
技能总伤害[冰之技艺序号] += temp
|
|
else:
|
|
技能总伤害[self.技能序号['冰魄锤击']] += temp
|
|
|
|
if 技能总伤害[self.技能序号['极冰绽放']] != 0:
|
|
temp = 技能总伤害[self.技能序号['极冰绽放']] * \
|
|
self.技能栏[冰之技艺序号].冰针倍率(self.武器类型)
|
|
if self.装备检查('奔流不息之伽蓝'):
|
|
temp = temp / 0.7
|
|
if self.冰针显示开关 == 1:
|
|
技能总伤害[冰之技艺序号] += temp
|
|
else:
|
|
技能总伤害[self.技能序号['极冰绽放']] += temp
|
|
|
|
if 技能总伤害[self.技能序号['碎冰破']] != 0:
|
|
temp = 技能总伤害[self.技能序号['碎冰破']] * \
|
|
self.技能栏[冰之技艺序号].冰针倍率(self.武器类型)
|
|
if self.冰针显示开关 == 1:
|
|
技能总伤害[冰之技艺序号] += temp
|
|
else:
|
|
技能总伤害[self.技能序号['碎冰破']] += temp
|
|
|
|
if 技能总伤害[self.技能序号['极冰猎魔斩']] != 0:
|
|
temp = 技能总伤害[self.技能序号['极冰猎魔斩']] * \
|
|
self.技能栏[冰之技艺序号].冰针倍率(self.武器类型)
|
|
if self.冰针显示开关 == 1:
|
|
技能总伤害[冰之技艺序号] += temp
|
|
else:
|
|
技能总伤害[self.技能序号['极冰猎魔斩']] += temp
|
|
|
|
if self.冰针显示开关 == 0:
|
|
for i in self.技能栏[冰之技艺序号].关联技能2:
|
|
self.技能栏[self.技能序号[i]
|
|
].被动倍率 *= self.技能栏[冰之技艺序号].加成倍率2(self.武器类型)
|
|
|
|
# 返回结果
|
|
return self.数据返回(x, 技能释放次数, 技能总伤害)
|
|
|
|
|
|
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(120, 20)
|
|
self.冰针显示开关.move(490, 420)
|
|
self.冰针显示开关.setStyleSheet(复选框样式)
|
|
self.冰针显示开关.setChecked(False)
|
|
|
|
self.小冰轮次数选择 = MyQComboBox(self.main_frame2)
|
|
self.小冰轮次数选择.addItem('小冰轮击中36次')
|
|
self.小冰轮次数选择.addItem('小冰轮击中37次')
|
|
self.小冰轮次数选择.addItem('小冰轮击中38次')
|
|
self.小冰轮次数选择.addItem('小冰轮击中39次')
|
|
self.小冰轮次数选择.addItem('小冰轮击中40次')
|
|
self.小冰轮次数选择.addItem('小冰轮击中41次')
|
|
self.小冰轮次数选择.addItem('小冰轮击中42次')
|
|
self.小冰轮次数选择.setCurrentIndex(6)
|
|
self.小冰轮次数选择.resize(120, 20)
|
|
self.小冰轮次数选择.move(325, 420)
|
|
|
|
self.大冰轮次数选择 = MyQComboBox(self.main_frame2)
|
|
self.大冰轮次数选择.addItem('大冰轮击中20次')
|
|
self.大冰轮次数选择.addItem('大冰轮击中21次')
|
|
self.大冰轮次数选择.addItem('大冰轮击中22次')
|
|
self.大冰轮次数选择.addItem('大冰轮击中23次')
|
|
self.大冰轮次数选择.addItem('大冰轮击中24次')
|
|
self.大冰轮次数选择.setCurrentIndex(2)
|
|
self.大冰轮次数选择.resize(120, 20)
|
|
self.大冰轮次数选择.move(325, 450)
|
|
|
|
self.职业存档.append(('冰针显示开关', self.冰针显示开关, 0))
|
|
self.职业存档.append(('小冰轮次数选择', self.小冰轮次数选择, 1))
|
|
self.职业存档.append(('大冰轮次数选择', self.大冰轮次数选择, 1))
|
|
|
|
def 输入属性(self, 属性, x=0):
|
|
super().输入属性(属性, x)
|
|
if 属性.技能栏[self.角色属性A.技能序号['水晶剑']].等级 != 0:
|
|
属性.技能栏[self.角色属性A.技能序号['冰魄剑']].技能形态改变()
|
|
|
|
if self.冰针显示开关.isChecked():
|
|
属性.冰针显示开关 = 1
|
|
|
|
属性.小冰轮次数 = self.小冰轮次数选择.currentIndex()
|
|
属性.大冰轮次数 = self.大冰轮次数选择.currentIndex()
|