695 lines
33 KiB
Python
695 lines
33 KiB
Python
from math import ceil
|
|
from core.basic.skill import 技能
|
|
from core.basic.character import Character
|
|
from core.basic.skill import 主动技能, 被动技能
|
|
|
|
|
|
# 封印解除,部分技能等级+1
|
|
class 主动技能(主动技能):
|
|
|
|
def 基础等级计算(self):
|
|
if self.基础等级 == 0:
|
|
super().基础等级计算()
|
|
if self.所在等级 not in [50, 85, 100] and self.是否主动 == 1 and self.名称 in ['刀魂之卡赞', '冰霜之萨亚', '侵蚀之普戾蒙', '鬼斩', '瘟疫之罗刹', '冥炎之卡洛']:
|
|
self.基础等级 = min(self.基础等级 + 1, self.等级上限)
|
|
|
|
|
|
class 技能0(被动技能):
|
|
名称 = '基础精通'
|
|
倍率 = 1.0
|
|
所在等级 = 1
|
|
等级上限 = 200
|
|
关联技能 = ['残影之凯贾']
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0*ceil(1/10)
|
|
else:
|
|
return round(self.倍率 * (0.463 + 0.089 * self.等级), 5)
|
|
|
|
|
|
class 技能1(主动技能):
|
|
名称 = "鬼斩"
|
|
所在等级 = 1
|
|
等级上限 = 70
|
|
学习间隔 = 2
|
|
等级精通 = 60
|
|
CD = 6
|
|
MP = [17, 196]
|
|
无色消耗 = 0
|
|
data0 = [0, 1339, 1504, 1672, 1834, 1997, 2160, 2326, 2494, 2659, 2822, 2982, 3152, 3311, 3472, 3637, 3805, 3964, 4130, 4297, 4456, 4628, 4791, 4952, 5117, 5280, 5443, 5611, 5774, 5938, 6099, 6266, 6428, 6598, 6763, 6923, 7086, 7250, 7416, 7578, 7743, 7904, 8068, 8235, 8399, 8562, 8730, 8892, 9055, 9223, 9387, 9550, 9714, 9882, 10039, 10209, 10370, 10535, 10703, 10865, 11028, 11192, 11357, 11517, 11685, 11847, 12007, 12173, 12340, 12502, 12669]
|
|
hit0 = 1
|
|
data1 = [0, 1302, 1464, 1626, 1787, 1943, 2100, 2262, 2424, 2585, 2743, 2899, 3060, 3221, 3380, 3543, 3701, 3858, 4015, 4178, 4338, 4503, 4658, 4818, 4975, 5137, 5294, 5461, 5619, 5775, 5934, 6093, 6254, 6419, 6574, 6733, 6889, 7053, 7212, 7373, 7534, 7690, 7849, 8012, 8171, 8330, 8491, 8648, 8805, 8969, 9129, 9285, 9447, 9611, 9766, 9927, 10088, 10245, 10408, 10570, 10726, 10884, 11045, 11201, 11364, 11526, 11680, 11841, 12006, 12160, 12325]
|
|
hit1 = 1
|
|
TP成长 = 0.1
|
|
TP上限 = 7
|
|
|
|
def TP加成(self):
|
|
return 1.0
|
|
|
|
# 噬灵鬼斩额外加成倍率,TP只加成鬼斩部分
|
|
def 等效百分比(self, **argv):
|
|
武器类型 = argv.get('武器类型', '')
|
|
char: Character = argv.get('char', {})
|
|
self.power0 = 1 + self.TP等级*self.TP成长
|
|
self.power1 = char.get_skill_by_name("噬灵鬼斩").额外倍率()
|
|
return super().等效百分比(**argv)
|
|
|
|
|
|
class 技能2(被动技能):
|
|
名称 = '刀魂之卡赞'
|
|
是否主动 = 1
|
|
所在等级 = 5
|
|
等级上限 = 20
|
|
学习间隔 = 3
|
|
等级精通 = 10
|
|
MP = [10, 400]
|
|
关联技能 = ['所有']
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
else:
|
|
return round(1.04 + 0.01 * self.等级, 5)
|
|
|
|
|
|
class 技能3(主动技能):
|
|
名称 = "月光斩"
|
|
所在等级 = 15
|
|
等级上限 = 70
|
|
学习间隔 = 2
|
|
等级精通 = 60
|
|
CD = 4
|
|
MP = [17, 182]
|
|
无色消耗 = 0
|
|
data0 = [0, 718, 787, 862, 934, 1007, 1080, 1153, 1223, 1297, 1372, 1443, 1517, 1589, 1663, 1734, 1807, 1879, 1953, 2026, 2099, 2170, 2244, 2316, 2389, 2462, 2533, 2606, 2681, 2753, 2825, 2900, 2970, 3043, 3116, 3188, 3263, 3336, 3406, 3480, 3552, 3625, 3698, 3769, 3842, 3917, 3989, 4061, 4136, 4207, 4280, 4352, 4424, 4498, 4572, 4643, 4716, 4789, 4861, 4934, 5007, 5077, 5152, 5226, 5298, 5371, 5444, 5516, 5588, 5661, 5734]
|
|
hit0 = 1
|
|
data1 = [0, 811, 894, 975, 1058, 1139, 1222, 1306, 1388, 1472, 1551, 1635, 1717, 1799, 1881, 1963, 2047, 2128, 2211, 2292, 2374, 2456, 2539, 2623, 2703, 2788, 2871, 2952, 3035, 3116, 3199, 3280, 3364, 3447, 3527, 3610, 3692, 3775, 3855, 3938, 4023, 4105, 4188, 4270, 4352, 4434, 4516, 4600, 4682, 4763, 4846, 4928, 5009, 5091, 5175, 5259, 5340, 5422, 5504, 5587, 5670, 5753, 5835, 5916, 5999, 6081, 6163, 6245, 6328, 6412, 6492]
|
|
hit1 = 1
|
|
data2 = [0, 1139, 1256, 1372, 1486, 1603, 1717, 1833, 1949, 2065, 2181, 2296, 2412, 2526, 2643, 2757, 2873, 2991, 3107, 3219, 3337, 3454, 3568, 3684, 3800, 3917, 4030, 4146, 4262, 4378, 4493, 4609, 4725, 4841, 4954, 5071, 5189, 5302, 5419, 5535, 5648, 5765, 5881, 5998, 6114, 6228, 6346, 6459, 6576, 6691, 6806, 6923, 7040, 7153, 7269, 7386, 7500, 7617, 7732, 7849, 7963, 8079, 8194, 8310, 8426, 8544, 8657, 8774, 8887, 9004, 9122]
|
|
hit2 = 1
|
|
TP成长 = 0.1
|
|
TP上限 = 7
|
|
|
|
|
|
class 技能4(被动技能):
|
|
名称 = '侵蚀之普戾蒙'
|
|
是否主动 = 1
|
|
所在等级 = 15
|
|
等级上限 = 11
|
|
学习间隔 = 3
|
|
等级精通 = 1
|
|
MP = [40, 644]
|
|
关联技能 = ['所有']
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
else:
|
|
return round(1.23 + 0.01 * self.等级, 5)
|
|
|
|
|
|
class 技能5(被动技能):
|
|
名称 = '太刀精通'
|
|
所在等级 = 15
|
|
等级上限 = 40
|
|
学习间隔 = 3
|
|
等级精通 = 30
|
|
关联技能 = ['所有']
|
|
data0 = [0, 1.3, 2.8, 4.1, 5.4, 6.8, 8.2, 9.6, 10.9, 12.3, 13.7, 15, 16.4, 17.7, 19.1, 20.5, 21.9, 23.3, 24.5, 25.9, 27.3, 28.7, 30.1, 31.4, 32.8, 34.1, 35.5, 36.9, 38.2, 39.6, 41, 42.4, 43.7, 45, 46.4, 47.8, 49.2, 50.6, 52, 53.2, 54.6]
|
|
|
|
def 魔法攻击力倍率(self, 武器类型):
|
|
if 武器类型 == '太刀':
|
|
return self.data0[self.等级] / 100 + 1
|
|
else:
|
|
self.关联技能 = ['无']
|
|
return 1.0
|
|
|
|
|
|
class 技能6(被动技能):
|
|
名称 = '短剑精通'
|
|
所在等级 = 15
|
|
等级上限 = 40
|
|
学习间隔 = 3
|
|
等级精通 = 30
|
|
关联技能 = ['所有']
|
|
data0 = [0, 1.2, 2.6, 3.9, 5.1, 6.4, 7.7, 9, 10.3, 11.6, 12.9, 14.1, 15.4, 16.7, 18, 19.3, 20.6, 21.9, 23.1, 24.4, 25.7, 27, 28.3, 29.6, 30.9, 32.1, 33.4, 34.7, 36, 37.3, 38.6, 39.9, 41.1, 42.4, 43.7, 45, 46.3, 47.6, 48.9, 50.1, 51.4]
|
|
|
|
def 魔法攻击力倍率(self, 武器类型):
|
|
if 武器类型 == '短剑':
|
|
return self.data0[self.等级] / 100 + 1
|
|
else:
|
|
self.关联技能 = ['无']
|
|
return 1.0
|
|
|
|
|
|
class 技能7(被动技能):
|
|
名称 = '暗月降临'
|
|
所在等级 = 15
|
|
等级上限 = 20
|
|
学习间隔 = 5
|
|
等级精通 = 10
|
|
关联技能 = ['所有']
|
|
暗抗 = [0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 35, 40, 45, 50, 55, 60, 65, 70, 75, 80]
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
else:
|
|
return round(1 + 0.01 * self.等级, 5)
|
|
|
|
def 等级加成(self, x, char: Character = {}):
|
|
if self.等级 != 0:
|
|
if self.等级 + x > self.等级上限:
|
|
self.等级 = self.等级上限
|
|
if self.基础等级 != self.等级上限 and self.关联技能 != ['无']:
|
|
self.等级溢出 = 1
|
|
else:
|
|
char.暗属性抗性加成(-self.暗抗[self.等级])
|
|
self.等级 += int(x)
|
|
char.暗属性抗性加成(self.暗抗[self.等级])
|
|
|
|
|
|
class 技能8(主动技能):
|
|
名称 = "残影之凯贾"
|
|
所在等级 = 20
|
|
等级上限 = 20
|
|
学习间隔 = 3
|
|
等级精通 = 10
|
|
CD = 5
|
|
MP = [194, 2125]
|
|
无色消耗 = 0
|
|
data0 = [0, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, 130]
|
|
hit0 = 1
|
|
data1 = [0, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150, 150]
|
|
hit1 = 1
|
|
data2 = [0, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175]
|
|
hit2 = 1
|
|
data3 = [0, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, 194]
|
|
hit3 = 1
|
|
TP成长 = 0.10
|
|
TP上限 = 5 # 基础精通
|
|
|
|
|
|
class 技能9(被动技能):
|
|
名称 = '噬灵鬼斩'
|
|
所在等级 = 25
|
|
等级上限 = 5
|
|
基础等级 = 1
|
|
|
|
def 额外倍率(self):
|
|
if self.等级 == 0:
|
|
return 0.0
|
|
else:
|
|
return round(1.0 + 0.1 * self.等级, 5)
|
|
|
|
|
|
class 技能10(主动技能):
|
|
名称 = "鬼影鞭"
|
|
所在等级 = 30
|
|
等级上限 = 70
|
|
学习间隔 = 3
|
|
等级精通 = 60
|
|
CD = 8
|
|
MP = [55, 700]
|
|
无色消耗 = 0
|
|
data0 = [0, 1785, 2071, 2356, 2642, 2926, 3211, 3496, 3781, 4066, 4350, 4636, 4920, 5206, 5491, 5775, 6060, 6345, 6630, 6914, 7200, 7485, 7770, 8052, 8340, 8624, 8910, 9195, 9476, 9763, 10047, 10334, 10619, 10904, 11188, 11474, 11758, 12042, 12329, 12612, 12898, 13183, 13469, 13754, 14036, 14322, 14607, 14893, 15177, 15463, 15746, 16031, 16317, 16603, 16887, 17171, 17456, 17742, 18025, 18311, 18597, 18881, 19167, 19450, 19736, 20020, 20305, 20589, 20875, 21161, 21445]
|
|
hit0 = 1
|
|
data1 = [0, 4170, 4834, 5499, 6163, 6828, 7492, 8158, 8823, 9488, 10152, 10818, 11482, 12147, 12813, 13477, 14140, 14806, 15470, 16135, 16801, 17465, 18129, 18795, 19460, 20124, 20789, 21453, 22117, 22783, 23448, 24112, 24779, 25443, 26108, 26773, 27439, 28101, 28767, 29430, 30096, 30761, 31426, 32090, 32756, 33420, 34085, 34751, 35414, 36078, 36744, 37408, 38073, 38739, 39403, 40067, 40733, 41399, 42062, 42728, 43392, 44057, 44722, 45387, 46051, 46717, 47381, 48046, 48711, 49375, 50039]
|
|
hit1 = 1
|
|
TP成长 = 0.1
|
|
TP上限 = 7
|
|
|
|
|
|
class 技能11(主动技能):
|
|
名称 = "冰霜之萨亚"
|
|
所在等级 = 30
|
|
等级上限 = 70
|
|
学习间隔 = 2
|
|
等级精通 = 60
|
|
CD = 15
|
|
MP = [150, 1260]
|
|
无色消耗 = 0
|
|
data0 = [0, 901, 993, 1084, 1176, 1267, 1359, 1450, 1542, 1633, 1725, 1816, 1908, 1999, 2091, 2182, 2274, 2365, 2457, 2549, 2641, 2732, 2824, 2915, 3007, 3098, 3190, 3281, 3372, 3464, 3556, 3646, 3739, 3830, 3921, 4012, 4105, 4195, 4287, 4381, 4470, 4561, 4655, 4745, 4836, 4930, 5020, 5111, 5204, 5294, 5386, 5479, 5569, 5661, 5753, 5842, 5934, 6027, 6117, 6208, 6301, 6391, 6483, 6576, 6667, 6757, 6851, 6941, 7033, 7126, 7216]
|
|
hit0 = 10
|
|
TP成长 = 0.1
|
|
TP上限 = 7
|
|
|
|
def TP加成(self):
|
|
return 1.0
|
|
|
|
def 等效CD(self, **argv):
|
|
self.hit0 = ceil(10 / (1 - 0.07 * self.TP等级))
|
|
return super().等效CD(**argv)
|
|
|
|
|
|
class 技能12(主动技能):
|
|
名称 = "死亡墓碑"
|
|
所在等级 = 35
|
|
等级上限 = 70
|
|
学习间隔 = 2
|
|
等级精通 = 60
|
|
CD = 18
|
|
MP = [165, 1386]
|
|
无色消耗 = 1
|
|
data0 = [0, 1302, 1433, 1567, 1698, 1830, 1962, 2094, 2225, 2359, 2488, 2621, 2754, 2885, 3017, 3150, 3281, 3415, 3547, 3677, 3810, 3944, 4075, 4208, 4340, 4471, 4604, 4737, 4866, 4999, 5131, 5263, 5395, 5527, 5659, 5792, 5923, 6055, 6188, 6320, 6452, 6585, 6717, 6849, 6981, 7113, 7245, 7377, 7509, 7640, 7772, 7905, 8037, 8169, 8301, 8433, 8565, 8698, 8828, 8961, 9094, 9226, 9358, 9491, 9622, 9754, 9888, 10017, 10151, 10284, 10414]
|
|
hit0 = 9
|
|
TP成长 = 0.1
|
|
TP上限 = 5
|
|
|
|
|
|
class 技能13(主动技能):
|
|
名称 = "瘟疫之罗刹"
|
|
所在等级 = 35
|
|
等级上限 = 70
|
|
学习间隔 = 2
|
|
等级精通 = 60
|
|
CD = 20
|
|
MP = [154, 1293]
|
|
无色消耗 = 1
|
|
data0 = [0, 1236, 1361, 1489, 1614, 1738, 1863, 1991, 2116, 2241, 2368, 2492, 2617, 2743, 2870, 2995, 3119, 3245, 3372, 3496, 3623, 3748, 3871, 3998, 4123, 4249, 4377, 4501, 4625, 4751, 4878, 5003, 5128, 5254, 5379, 5504, 5631, 5756, 5882, 6006, 6133, 6258, 6384, 6510, 6635, 6758, 6886, 7012, 7137, 7265, 7390, 7513, 7638, 7764, 7890, 8015, 8140, 8265, 8392, 8518, 8643, None, None, None, None, None, None, None, None, None, None]
|
|
hit0 = 10
|
|
TP成长 = 0.1
|
|
TP上限 = 5
|
|
|
|
是否有护石 = 1
|
|
|
|
def 装备护石(self, char):
|
|
self.倍率 *= 0.5 * 1.1 + 1.1 * 5 * 0.1 * 1.24
|
|
|
|
|
|
class 技能14(主动技能):
|
|
名称 = "鬼斩:狂怒"
|
|
所在等级 = 40
|
|
等级上限 = 70
|
|
学习间隔 = 2
|
|
等级精通 = 60
|
|
CD = 20
|
|
MP = [165, 1386]
|
|
无色消耗 = 1
|
|
data0 = [0, 14108, 15540, 16970, 18401, 19833, 21264, 22696, 24127, 25558, 26989, 28420, 29854, 31283, 32715, 34147, 35579, 37010, 38439, 39871, 41303, 42734, 44166, 45598, 47029, 48458, 49890, 51322, 52754, 54184, 55616, 57048, 58479, 59911, 61340, 62773, 64205, 65636, 67068, 68499, 69929, 71360, 72792, 74224, 75655, 77086, 78518, 79948, 81380, 82811, 84242, 85674, 87106, 88537, 89967, 91398, 92831, 94262, 95694, 97126, 98557, 99988, 101419, 102850, 104282, 105712, 107144, 108576, 110008, 111438, 112869]
|
|
hit0 = 1
|
|
TP成长 = 0.1
|
|
TP上限 = 5
|
|
|
|
是否有护石 = 1
|
|
|
|
def 装备护石(self, char):
|
|
self.倍率 *= 1.35
|
|
|
|
|
|
class 技能15(主动技能):
|
|
名称 = "鬼影闪"
|
|
所在等级 = 40
|
|
等级上限 = 70
|
|
学习间隔 = 2
|
|
等级精通 = 60
|
|
CD = 20
|
|
MP = [200, 1680]
|
|
无色消耗 = 1
|
|
data0 = [0, 11575, 12750, 13926, 15099, 16274, 17448, 18624, 19799, 20973, 22148, 23320, 24494, 25670, 26845, 28019, 29195, 30369, 31542, 32717, 33892, 35066, 36241, 37415, 38588, 39762, 40937, 42112, 43287, 44461, 45636, 46809, 47985, 49159, 50334, 51508, 52685, 53858, 55032, 56206, 57381, 58555, 59731, 60905, 62078, 63254, 64428, 65602, 66778, 67953, 69127, 70301, 71475, 72647, 73823, 74998, 76172, 77346, 78520, 79694, 80871, 82045, 83220, 84395, 85568, 86744, 87918, 89091, 90267, 91441, 92614]
|
|
hit0 = 1
|
|
TP成长 = 0.1
|
|
TP上限 = 5
|
|
|
|
|
|
class 技能16(主动技能):
|
|
名称 = "冥炎之卡洛"
|
|
所在等级 = 45
|
|
等级上限 = 70
|
|
学习间隔 = 2
|
|
等级精通 = 60
|
|
CD = 5
|
|
MP = [492, 4920]
|
|
无色消耗 = 2
|
|
data0 = [0, 347, 384, 418, 453, 489, 523, 558, 593, 632, 665, 698, 735, 770, 804, 842, 877, 910, 946, 982, 1016, 1053, 1086, 1122, 1157, 1192, 1225, 1265, 1300, 1332, 1371, 1403, 1442, 1477, 1510, 1545, 1582, 1617, 1651, 1688, 1722, 1758, 1792, 1830, 1866, 1899, 1936, 1970, 2005, 2039, 2078, 2111, 2146, 2182, 2219, 2255, 2290, 2324, 2357, 2391, 2430, 2465, 2499, 2535, 2572, 2605, 2642, 2676, 2712, 2747, 2782]
|
|
hit0 = 3
|
|
data1 = [0, 212, 234, 256, 277, 298, 322, 343, 364, 385, 407, 429, 451, 473, 493, 516, 535, 558, 582, 601, 624, 645, 666, 688, 709, 731, 754, 774, 796, 818, 839, 862, 882, 905, 927, 947, 968, 990, 1012, 1035, 1056, 1075, 1100, 1122, 1142, 1163, 1188, 1209, 1225, 1251, 1273, 1296, 1315, 1337, 1360, 1383, 1400, 1422, 1445, 1467, 1488, 1510, 1532, 1550, 1573, 1596, 1617, 1640, 1661, 1682, 1706]
|
|
hit1 = 0
|
|
TP成长 = 0.1
|
|
TP上限 = 5
|
|
CP武器 = False
|
|
|
|
形态 = ["分身", "冥炎"]
|
|
|
|
def 形态变更(self, 形态, char: Character):
|
|
if (形态 == '' or (形态 not in self.形态 and 形态!='爆炸')) and len(self.形态) > 0:
|
|
形态 = self.形态[0]
|
|
if 形态 == "分身":
|
|
self.hit0 = 1
|
|
self.hit1 = 0
|
|
self.hit2 = 0
|
|
if 形态 == "冥炎":
|
|
self.hit0 = 0
|
|
self.hit1 = 1
|
|
self.hit2 = 0
|
|
if 形态 == "爆炸":
|
|
self.hit0 = 0
|
|
self.hit1 = 0
|
|
self.hit2 = 1
|
|
self.data2 = self.data1
|
|
|
|
|
|
class 技能17(主动技能):
|
|
名称 = "冥炎剑"
|
|
所在等级 = 45
|
|
等级上限 = 70
|
|
学习间隔 = 2
|
|
等级精通 = 60
|
|
CD = 45
|
|
MP = [492, 4920]
|
|
无色消耗 = 2
|
|
data0 = [0, 1379, 1518, 1657, 1800, 1939, 2079, 2219, 2358, 2497, 2637, 2781, 2919, 3059, 3198, 3338, 3477, 3619, 3757, 3898, 4039, 4178, 4318, 4457, 4598, 4737, 4879, 5017, 5157, 5298, 5438, 5578, 5717, 5859, 5997, 6138, 6277, 6417, 6558, 6697, 6837, 6977, 7117, 7257, 7397, 7537, 7677, 7816, 7956, 8099, 8237, 8379, 8516, 8656, 8795, 8936, 9079, 9218, 9358, 9496, 9636, 9775, 9917, 10059, 10198, 10338, 10475, 10616, 10755, 10897, 11036]
|
|
hit0 = 2
|
|
data1 = [0, 2019, 2223, 2429, 2634, 2838, 3043, 3250, 3454, 3660, 3865, 4071, 4272, 4478, 4683, 4887, 5094, 5298, 5503, 5708, 5914, 6118, 6324, 6527, 6732, 6937, 7143, 7348, 7551, 7757, 7961, 8167, 8372, 8577, 8780, 8987, 9191, 9396, 9602, 9805, 10011, 10216, 10421, 10626, 10833, 11034, 11240, 11445, 11650, 11855, 12059, 12264, 12469, 12676, 12880, 13086, 13289, 13494, 13699, 13905, 14109, 14313, 14519, 14723, 14929, 15134, 15340, 15542, 15748, 15953, 16158]
|
|
hit1 = 2
|
|
data2 = [0, 4330, 4768, 5210, 5648, 6088, 6527, 6967, 7404, 7847, 8286, 8724, 9164, 9603, 10042, 10482, 10922, 11361, 11800, 12239, 12678, 13119, 13559, 13998, 14435, 14876, 15314, 15756, 16194, 16634, 17072, 17512, 17951, 18391, 18831, 19271, 19709, 20149, 20587, 21027, 21468, 21905, 22346, 22785, 23223, 23665, 24104, 24543, 24982, 25422, 25860, 26300, 26741, 27179, 27617, 28059, 28496, 28937, 29378, 29815, 30255, 30694, 31133, 31573, 32012, 32452, 32891, 33328, 33770, 34209, 34649]
|
|
hit2 = 2
|
|
data3 = [0, 7034, 7747, 8462, 9174, 9889, 10601, 11314, 12029, 12743, 13456, 14171, 14883, 15598, 16312, 17025, 17738, 18451, 19165, 19879, 20592, 21306, 22021, 22733, 23449, 24159, 24874, 25588, 26302, 27015, 27729, 28442, 29157, 29870, 30584, 31296, 32010, 32725, 33438, 34151, 34866, 35580, 36293, 37006, 37718, 38435, 39149, 39860, 40573, 41289, 42002, 42715, 43428, 44143, 44857, 45571, 46282, 46997, 47711, 48425, 49137, 49852, 50566, 51280, 51991, 52706, 53420, 54134, 54847, 55559, 56275]
|
|
hit3 = 1
|
|
TP成长 = 0.1
|
|
TP上限 = 5
|
|
|
|
是否有护石 = 1
|
|
|
|
def 装备护石(self, char):
|
|
self.倍率 *= 1.28
|
|
|
|
|
|
class 技能18(被动技能):
|
|
名称 = '恐惧光环'
|
|
所在等级 = 48
|
|
等级上限 = 50
|
|
学习间隔 = 3
|
|
等级精通 = 40
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
else:
|
|
return round(1.105 + 0.015 * self.等级, 5)
|
|
|
|
|
|
class 技能19(主动技能):
|
|
名称 = '第七鬼神:邪神之怖拉修'
|
|
|
|
所在等级 = 50
|
|
等级上限 = 50
|
|
学习间隔 = 5
|
|
等级精通 = 40
|
|
CD = 140
|
|
MP = [600, 5040]
|
|
无色消耗 = 5
|
|
data0 = [0, 9674, 11918, 14161, 16405, 18649, 20893, 23136, 25377, 27623, 29867, 32109, 34352, 36596, 38841, 41085, 43326, 45569, 47814, 50059, 52301, 54544, 56788, 59032, 61275, 63519, 65763, 68005, 70248, 72492, 74736, 76981, 79222, 81467, 83710, 85955, 88199, 90441, 92684, 94927, 97172, None, None, None, None, None, None, None, None, None, None]
|
|
hit0 = 1
|
|
data1 = [0, 13078, 16111, 19146, 22180, 25214, 28245, 31278, 34312, 37345, 40376, 43411, 46444, 49479, 52512, 55542, 58575, 61609, 64643, 67677, 70708, 73742, 76776, 79809, 82843, 85874, 88908, 91941, 94976, 98007, 101040, 104073, 107106, 110141, 113173, 116205, 119239, 122273, 125307, 128338, 131372, None, None, None, None, None, None, None, None, None, None]
|
|
hit1 = 1
|
|
data2 = [0, 2605, 3209, 3812, 4415, 5021, 5624, 6230, 6833, 7439, 8041, 8646, 9249, 9854, 10457, 11063, 11666, 12272, 12874, 13478, 14081, 14686, 15291, 15895, 16500, 17103, 17707, 18311, 18916, 19519, 20125, 20728, 21334, 21936, 22541, 23143, 23750, 24353, 24958, 25561, 26166, None, None, None, None, None, None, None, None, None, None]
|
|
hit2 = 5
|
|
|
|
power0 = 1.8
|
|
power1 = 1.8
|
|
倍率 = 1.1
|
|
CD = 140
|
|
|
|
|
|
class 技能20(主动技能):
|
|
名称 = "鬼斩:炼狱"
|
|
所在等级 = 60
|
|
等级上限 = 50
|
|
学习间隔 = 2
|
|
等级精通 = 40
|
|
CD = 30
|
|
MP = [400, 1120]
|
|
无色消耗 = 1
|
|
data0 = [0, 1865, 2056, 2246, 2433, 2624, 2812, 3003, 3191, 3380, 3570, 3759, 3950, 4139, 4329, 4516, 4707, 4896, 5084, 5274, 5465, 5656, 5844, 6032, 6222, 6411, 6600, 6790, 6979, 7168, 7357, 7549, 7736, 7927, 8116, 8306, 8494, 8682, 8874, 9061, 9252, 9441, 9631, 9820, 10010, 10199, 10386, 10578, 10766, 10958, 11145]
|
|
hit0 = 1
|
|
data1 = [0, 7258, 7995, 8732, 9468, 10203, 10942, 11678, 12416, 13150, 13885, 14622, 15360, 16097, 16833, 17569, 18305, 19044, 19779, 20514, 21250, 21987, 22726, 23462, 24198, 24933, 25671, 26408, 27143, 27879, 28615, 29353, 30090, 30827, 31562, 32300, 33035, 33769, 34509, 35244, 35982, 36716, 37453, 38191, 38928, 39665, 40398, 41135, 41872, 42610, 43345]
|
|
hit1 = 2
|
|
data2 = [0, 6222, 6854, 7483, 8116, 8745, 9379, 10010, 10640, 11272, 11903, 12536, 13166, 13796, 14428, 15060, 15688, 16322, 16953, 17585, 18214, 18846, 19478, 20110, 20738, 21371, 22003, 22635, 23265, 23895, 24527, 25160, 25790, 26421, 27053, 27685, 28316, 28945, 29579, 30208, 30841, 31472, 32105, 32734, 33366, 33997, 34629, 35259, 35891, 36523, 37155]
|
|
hit2 = 1
|
|
TP成长 = 0.1
|
|
TP上限 = 5
|
|
|
|
是否有护石 = 1
|
|
|
|
def 装备护石(self, char):
|
|
self.power2 = 1.43 * (1 + 0.09 * 5)
|
|
self.CDR *= 0.9
|
|
|
|
|
|
class 技能21(主动技能):
|
|
名称 = "冥祭之沼"
|
|
所在等级 = 70
|
|
等级上限 = 50
|
|
学习间隔 = 2
|
|
等级精通 = 40
|
|
CD = 40
|
|
MP = [822, 1726]
|
|
无色消耗 = 2
|
|
data0 = [0, 23869, 26292, 28712, 31131, 33556, 35977, 38402, 40822, 43242, 45661, 48086, 50506, 52927, 55351, 57769, 60192, 62615, 65036, 67459, 69881, 72299, 74724, 77145, 79565, 81988, 84407, 86830, 89252, 91673, 94096, 96518, 98938, 101360, 103783, 106202, 108625, 111047, 113467, 115891, 118311, 120734, 123156, 125577, 127997, 130420, 132840, 135262, 137682, 140105, 142527]
|
|
hit0 = 1
|
|
TP成长 = 0.1
|
|
TP上限 = 5
|
|
|
|
是否有护石 = 1
|
|
|
|
def 装备护石(self, char):
|
|
self.倍率 *= 1.28
|
|
|
|
|
|
class 技能22(主动技能):
|
|
名称 = "幽魂之布雷德"
|
|
所在等级 = 75
|
|
等级上限 = 50
|
|
学习间隔 = 2
|
|
等级精通 = 40
|
|
CD = 40
|
|
MP = [580, 4500]
|
|
无色消耗 = 3
|
|
data0 = [0, 487, 538, 587, 639, 686, 737, 786, 836, 886, 934, 985, 1033, 1084, 1133, 1185, 1233, 1283, 1333, 1381, 1432, 1479, 1531, 1580, 1632, 1681, 1729, 1779, 1828, 1878, 1926, 1979, 2027, 2077, 2126, 2176, 2224, 2275, 2325, 2375, 2425, 2473, 2523, 2572, 2623, 2672, 2720, 2772, 2823, 2871, 2920]
|
|
hit0 = 32
|
|
data1 = [0, 5445, 5995, 6550, 7101, 7653, 8207, 8760, 9310, 9863, 10416, 10970, 11520, 12074, 12626, 13178, 13730, 14284, 14836, 15389, 15941, 16491, 17047, 17599, 18149, 18701, 19255, 19808, 20360, 20913, 21464, 22017, 22570, 23122, 23674, 24227, 24780, 25330, 25886, 26436, 26990, 27540, 28093, 28645, 29200, 29750, 30303, 30856, 31406, 31962, 32512]
|
|
hit1 = 4
|
|
data2 = [0, 30629, 33737, 36842, 39951, 43056, 46165, 49274, 52379, 55488, 58595, 61701, 64810, 67917, 71023, 74132, 77240, 80344, 83452, 86563, 89668, 92776, 95885, 98990, 102098, 105206, 108311, 111419, 114526, 117634, 120743, 123849, 126956, 130064, 133170, 136279, 139386, 142491, 145600, 148709, 151813, 154922, 158031, 161137, 164245, 167351, 170459, 173566, 176673, 179779, 182888]
|
|
hit2 = 1
|
|
|
|
是否有护石 = 1
|
|
|
|
形态 = ["满", "秒C"]
|
|
|
|
def 形态变更(self, 形态, char: Character):
|
|
if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0:
|
|
形态 = self.形态[0]
|
|
if 形态 == "满":
|
|
self.hit0 = 32
|
|
if '幽魂之布雷德' in char.护石栏:
|
|
self.hit0 = 24
|
|
self.power1 = 1.61
|
|
self.power2 = 1.41
|
|
else:
|
|
self.hit0 = 4
|
|
if '幽魂之布雷德' in char.护石栏:
|
|
self.hit0 = 24
|
|
self.power1 = 1.61
|
|
self.power2 = 1.41
|
|
|
|
def 装备护石(self, char):
|
|
self.hit0 = 24
|
|
self.power1 = 1.61
|
|
self.power2 = 1.41
|
|
|
|
|
|
class 技能23(被动技能):
|
|
名称 = '御鬼之极'
|
|
所在等级 = 75
|
|
等级上限 = 50
|
|
学习间隔 = 3
|
|
等级精通 = 40
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
else:
|
|
return round(1.20 + 0.02 * self.等级, 5)
|
|
|
|
|
|
class 技能24(主动技能):
|
|
名称 = "幽魂降临:式"
|
|
所在等级 = 80
|
|
等级上限 = 50
|
|
学习间隔 = 2
|
|
等级精通 = 40
|
|
CD = 45
|
|
MP = [800, 6000]
|
|
无色消耗 = 5
|
|
data0 = [0, 26978, 29714, 32452, 35191, 37925, 40663, 43400, 46139, 48874, 51609, 54348, 57083, 59820, 62560, 65297, 68032, 70770, 73507, 76244, 78980, 81719, 84455, 87192, 89930, 92668, 95402, 98138, 100877, 103613, 106352, 109087, 111825, 114561, 117299, 120037, 122774, 125508, 128247, 130983, 133719, 129959, 132566, 135172, 137780, 140386, 142992, 145599, 148207, 150812, 153420]
|
|
hit0 = 1
|
|
data1 = [0, 40466, 44574, 48678, 52785, 56889, 60994, 65102, 69205, 73311, 77416, 81523, 85627, 89733, 93841, 97944, 102050, 106154, 110260, 114365, 118473, 122577, 126683, 130789, 134892, 138999, 143103, 147210, 151314, 155422, 159527, 163631, 167738, 171842, 175948, 180052, 184160, 188266, 192370, 196475, 200582, 194939, 198849, 202760, 206670, 210579, 214490, 218400, 222311, 226219, 230130]
|
|
hit1 = 1
|
|
|
|
是否有护石 = 1
|
|
|
|
def 装备护石(self, char):
|
|
self.倍率 *= 1.34
|
|
|
|
|
|
class 技能25(主动技能):
|
|
名称 = "王者号令:吉格降临"
|
|
所在等级 = 85
|
|
等级上限 = 50
|
|
学习间隔 = 5
|
|
等级精通 = 40
|
|
CD = 180
|
|
MP = [2500, 5000]
|
|
无色消耗 = 10
|
|
data0 = [0, 24580, 30279, 35979, 41680, 47378, 53079, 58778, 64478, 70179, 75876, 81577, 87278, 92978, 98678, 104377, 110077, 115778, 121473, 127174, 132876, 138576, 144274, 149973, 155674, 161376, 167072, 172774, 178474, 184173, 189875, 195571, 201272, 206973, 212670, 218372, 224072, 229772, 235472, 241170, 246871, 252572, 258269, 263970, 269669, 275368, 281070, 286768, 292469, 298169, 303868]
|
|
hit0 = 1
|
|
data1 = [0, 1229, 1514, 1798, 2083, 2368, 2651, 2938, 3224, 3507, 3794, 4079, 4364, 4649, 4933, 5218, 5502, 5788, 6072, 6358, 6643, 6927, 7213, 7500, 7784, 8068, 8353, 8637, 8922, 9209, 9493, 9777, 10064, 10346, 10633, 10919, 11202, 11489, 11772, 12057, 12343, 12628, 12913, 13196, 13482, 13769, 14053, 14339, 14622, 14907, 15194]
|
|
hit1 = 15
|
|
data2 = [0, 30725, 37848, 44975, 52098, 59224, 66346, 73473, 80597, 87722, 94847, 101972, 109098, 116222, 123346, 130471, 137596, 144720, 151845, 158968, 166095, 173218, 180344, 187467, 194595, 201718, 208842, 215966, 223093, 230215, 237342, 244467, 251592, 258716, 265841, 272967, 280089, 287215, 294339, 301463, 308587, 315715, 322837, 329963, 337087, 344214, 351335, 358462, 365586, 372710, 379835]
|
|
hit2 = 1
|
|
data3 = [0, 49160, 60559, 71958, 83356, 94758, 106158, 117557, 128954, 140356, 151756, 163155, 174554, 185955, 197355, 208753, 220152, 231553, 242953, 254352, 265751, 277149, 288551, 299949, 311349, 322748, 334150, 345548, 356947, 368346, 379748, 391148, 402546, 413944, 425346, 436746, 448144, 459544, 470945, 482345, 493740, 505142, 516540, 527943, 539338, 550739, 562138, 573541, 584937, 596338, 607737]
|
|
hit3 = 1
|
|
|
|
|
|
class 技能26(主动技能):
|
|
名称 = "鬼神剑·黄泉摆渡"
|
|
所在等级 = 95
|
|
等级上限 = 50
|
|
学习间隔 = 2
|
|
等级精通 = 40
|
|
CD = 60
|
|
MP = [1064, 7980]
|
|
无色消耗 = 7
|
|
data0 = [0, 27914, 30746, 33578, 36410, 39243, 42076, 44905, 47740, 50571, 53403, 56235, 59068, 61899, 64732, 67564, 70396, 73227, 76060, 78891, 81724, 84555, 87388, 90220, 93052, 95883, 98716, 101547, 104378, 107211, 110044, 112874, 115707, 118540, 121369, 124203, 127034, 129868, 132698, 135531, 138363, 141196, 144027, 146859, 149692, 152522, 155355, 158187, 161021, 163852, 166684]
|
|
hit0 = 2
|
|
data1 = [0, 13957, 15374, 16789, 18204, 19622, 21037, 22453, 23867, 25286, 26701, 28117, 29533, 30949, 32364, 33781, 35196, 36614, 38029, 39445, 40860, 42278, 43693, 45108, 46525, 47942, 49358, 50773, 52188, 53603, 55022, 56438, 57853, 59270, 60686, 62101, 63517, 64933, 66350, 67766, 69182, 70598, 72015, 73429, 74845, 76262, 77677, 79094, 80510, 81926, 83341]
|
|
hit1 = 1
|
|
data2 = [0, 48850, 53806, 58764, 63719, 68674, 73632, 78587, 83542, 88501, 93456, 98411, 103368, 108323, 113279, 118235, 123192, 128147, 133104, 138059, 143016, 147971, 152927, 157884, 162840, 167795, 172752, 177707, 182663, 187620, 192576, 197531, 202489, 207444, 212400, 217357, 222314, 227270, 232226, 237181, 242138, 247093, 252049, 257005, 261961, 266917, 271873, 276829, 281785, 286741, 291698]
|
|
hit2 = 1
|
|
data3 = [0, 4187, 4612, 5037, 5460, 5883, 6311, 6735, 7160, 7585, 8011, 8433, 8862, 9285, 9709, 10135, 10558, 10983, 11408, 11833, 12258, 12682, 13107, 13534, 13957, 14384, 14806, 15230, 15656, 16081, 16507, 16931, 17357, 17780, 18204, 18631, 19056, 19479, 19905, 20328, 20753, 21179, 21603, 22029, 22454, 22879, 23302, 23726, 24152, 24577, 25002]
|
|
hit3 = 5
|
|
|
|
class 技能27(被动技能):
|
|
名称 = '鬼神冠冕'
|
|
所在等级 = 95
|
|
等级上限 = 50
|
|
学习间隔 = 3
|
|
等级精通 = 40
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
else:
|
|
return round(1.18 + 0.02 * self.等级, 5)
|
|
|
|
|
|
class 技能28(主动技能):
|
|
名称 = "黄泉之门:万鬼度灵"
|
|
所在等级 = 100
|
|
等级上限 = 50
|
|
学习间隔 = 5
|
|
等级精通 = 40
|
|
CD = 290
|
|
MP = [4028, 8056]
|
|
无色消耗 = 15
|
|
data0 = [0, 23464, 28903, 34346, 39785, 45227, 50667, 56109, 61549, 66990, 72431, 77871, 83313, 88754, 94195, 99635, 105077, 110517, 115958, 121401, 126839, 132282, 137723, 143162, 148603, 154043, 159485, 164926, 170368, 175807, 181248, 186690, 192130, 197572, 203012, 208453, 213894, 219336, 224776, 230217, 235659, 241098, 246539, 251980, 257421, 262862, 268303, 273744, 279184, 284626, 290067]
|
|
hit0 = 1
|
|
data1 = [0, 140781, 173427, 206072, 238718, 271363, 304007, 336654, 369299, 401945, 434590, 467234, 499879, 532526, 565171, 597818, 630462, 663107, 695754, 728398, 761044, 793690, 826333, 858980, 891625, 924270, 956914, 989561, 1022206, 1054851, 1087498, 1120140, 1152787, 1185434, 1218077, 1250724, 1283368, 1316013, 1348659, 1381304, 1413951, 1446596, 1479242, 1511887, 1544532, 1577177, 1609823, 1642468, 1675113, 1707759, 1740404]
|
|
hit1 = 2
|
|
data2 = [0, 6255, 7708, 9158, 10608, 12061, 13511, 14959, 16412, 17864, 19314, 20766, 22216, 23667, 25120, 26569, 28020, 29471, 30924, 32371, 33823, 35275, 36725, 38175, 39628, 41077, 42528, 43981, 45431, 46882, 48334, 49784, 51233, 52685, 54136, 55587, 57036, 58489, 59940, 61389, 62843, 64293, 65744, 67194, 68645, 70096, 71547, 72997, 74449, 75900, 77351]
|
|
hit2 = 15
|
|
data3 = [0, 8797, 10837, 12879, 14921, 16960, 19000, 21040, 23081, 25121, 27162, 29202, 31242, 33282, 35323, 37364, 39403, 41442, 43483, 45524, 47564, 49603, 51645, 53686, 55728, 57765, 59806, 61847, 63888, 65927, 67967, 70008, 72049, 74089, 76129, 78169, 80210, 82250, 84290, 86330, 88370, 90412, 92452, 94493, 96533, 98572, 100613, 102653, 104693, 106734, 108775]
|
|
hit3 = 8
|
|
|
|
|
|
class classChange(Character):
|
|
def __init__(self, equVersion=""):
|
|
self.实际名称 = 'soul_bender'
|
|
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.69
|
|
|
|
super().__init__(equVersion)
|
|
|
|
def 技能队列设置(self, setinfo):
|
|
self.技能队列 = []
|
|
CP武器 = self.check_fun_by_id(547)
|
|
for item in setinfo:
|
|
self.技能队列.append({
|
|
'名称': item['name'],
|
|
'无色消耗': self.get_skill_by_name(item['name']).无色消耗,
|
|
'倍率': 1.0,
|
|
'等级变化': 0,
|
|
'CDR': 1.0,
|
|
'恢复': 0,
|
|
'形态': item.get('mode', '')
|
|
})
|
|
if CP武器:
|
|
if item['name'] in ['鬼斩', '鬼斩:狂怒', '鬼影闪', '鬼斩:炼狱', '幽魂降临:式']:
|
|
self.技能队列.append({
|
|
'名称': '冥炎之卡洛',
|
|
'无色消耗': self.get_skill_by_name('冥炎之卡洛').无色消耗,
|
|
'倍率': 1.0,
|
|
'等级变化': 0,
|
|
'CDR': 1.0,
|
|
'恢复': 0,
|
|
'形态': '爆炸'
|
|
})
|
|
if item['name'] in ['月光斩', '鬼神剑·黄泉摆渡']:
|
|
self.技能队列.append({
|
|
'名称': '冥炎之卡洛',
|
|
'无色消耗': self.get_skill_by_name('冥炎之卡洛').无色消耗,
|
|
'倍率': 2.0,
|
|
'等级变化': 0,
|
|
'CDR': 1.0,
|
|
'恢复': 0,
|
|
'形态': '爆炸'
|
|
})
|
|
if item['name'] in ['冥炎剑']:
|
|
self.技能队列.append({
|
|
'名称': '冥炎之卡洛',
|
|
'无色消耗': self.get_skill_by_name('冥炎之卡洛').无色消耗,
|
|
'倍率': 1.0 if '冥炎剑' in self.护石栏 else 4.0,
|
|
'等级变化': 0,
|
|
'CDR': 1.0,
|
|
'恢复': 0,
|
|
'形态': '爆炸'
|
|
})
|
|
|
|
def 职业特殊计算(self):
|
|
冥炎剑 = self.get_skill_by_name('冥炎剑')
|
|
冥炎剑.等级上限 = 70
|
|
冥炎剑.等级 = self.get_skill_by_name('冥炎之卡洛').等级
|
|
|
|
# 抗性有成长的较为特殊 需要按照以下进行添加
|
|
def 职业特殊设置(self):
|
|
暗月降临 = self.get_skill_by_name("暗月降临")
|
|
self.暗属性抗性加成(暗月降临.暗抗[暗月降临.等级])
|
|
|
|
def set_skill_info(self, info, rune_except=[], clothes_pants=[]):
|
|
super().set_skill_info(info, clothes_pants=['刀魂之卡赞', '太刀精通', '短剑精通'])
|