Files
dcalc/api/core/characters/ghostblade.py
T
2024-11-04 15:00:40 +08:00

675 lines
37 KiB
Python

from core.basic.skill import 技能
from core.basic.character import Character
from core.basic.skill import 主动技能, 被动技能
class 主动技能(主动技能):
国服特色 = 1.07
class 技能0(被动技能):
名称 = '剑影太刀精通'
所在等级 = 20
等级上限 = 20
基础等级 = 10
# def 加成倍率(self, 武器类型):
# if self.等级 == 0:
# return 1.0
# else:
# return round(1.0 + 0.02 * self.等级, 5)
def 物理攻击力倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(1.00 + 0.02 * self.等级, 5)
class 技能1(被动技能):
名称 = '幻鬼之力'
所在等级 = 25
等级上限 = 20
基础等级 = 10
def 加成倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(1.10 + 0.02 * self.等级, 5)
class 技能2(被动技能):
名称 = '鬼夜'
所在等级 = 48
等级上限 = 50
学习间隔 = 3
等级精通 = 40
def 加成倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(1.035 + 0.02 * self.等级, 5)
class 技能3(被动技能):
名称 = '鬼咲'
所在等级 = 75
等级上限 = 50
学习间隔 = 3
等级精通 = 40
def 加成倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(1.22 + 0.02 * self.等级, 5)
class 技能4(被动技能):
名称 = '睥睨万物'
所在等级 = 95
等级上限 = 50
学习间隔 = 3
等级精通 = 40
def 加成倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(1.18 + 0.02 * self.等级, 5)
class 技能5(主动技能):
名称 = "鬼步"
所在等级 = 15
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 5
MP = [20, 210]
无色消耗 = 0
data0 = [0, 953, 1050, 1147, 1242, 1340, 1437, 1533, 1630, 1727, 1823, 1921, 2017, 2115, 2210, 2307, 2405, 2500, 2598, 2694, 2791, 2888, 2985, 3082, 3178, 3275, 3372, 3468, 3565, 3662, 3758, 3856, 3952, 4050, 4145, 4243, 4340, 4435, 4533, 4629, 4726, 4822, 4920, 5016, 5113, 5210, 5308, 5403, 5500, 5597, 5693, 5790, 5887, 5984, 6080, 6178, 6273, 6371, 6468, 6563, 6661, 6757, 6855, 6951, 7048, 7145, 7241, 7338, 7436, 7531, 7629]
hit0 = 3
TP成长 = 0.1
TP上限 = 7
class 技能6(主动技能):
名称 = "鬼连斩"
所在等级 = 15
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 5
MP = [20, 210]
无色消耗 = 0
data0 = [0, 774, 852, 931, 1009, 1088, 1168, 1245, 1324, 1402, 1481, 1560, 1637, 1716, 1795, 1873, 1953, 2032, 2109, 2188, 2267, 2345, 2424, 2502, 2580, 2659, 2737, 2817, 2896, 2973, 3052, 3131, 3209, 3288, 3366, 3444, 3524, 3603, 3681, 3759, 3838, 3916, 3995, 4073, 4151, 4231, 4309, 4388, 4467, 4545, 4623, 4702, 4780, 4859, 4938, 5015, 5095, 5174, 5252, 5331, 5408, 5487, 5566, 5644, 5723, 5803, 5880, 5959, 6038, 6116, 6195]
hit0 = 1
data1 = [0, 929, 1024, 1117, 1212, 1305, 1401, 1495, 1589, 1683, 1777, 1871, 1966, 2060, 2155, 2248, 2343, 2436, 2532, 2625, 2720, 2814, 2908, 3004, 3097, 3192, 3285, 3380, 3474, 3569, 3663, 3757, 3851, 3945, 4039, 4135, 4228, 4323, 4416, 4511, 4605, 4700, 4794, 4888, 4982, 5076, 5172, 5266, 5360, 5454, 5548, 5642, 5737, 5831, 5926, 6019, 6114, 6208, 6303, 6396, 6491, 6585, 6679, 6774, 6868, 6962, 7056, 7150, 7245, 7340, 7434]
hit1 = 1
data2 = [0, 1394, 1536, 1676, 1817, 1959, 2101, 2242, 2383, 2525, 2666, 2807, 2949, 3090, 3232, 3373, 3515, 3656, 3797, 3938, 4080, 4222, 4363, 4505, 4645, 4787, 4929, 5070, 5211, 5353, 5495, 5637, 5776, 5918, 6060, 6202, 6342, 6484, 6626, 6767, 6909, 7049, 7191, 7333, 7475, 7614, 7756, 7898, 8040, 8181, 8322, 8464, 8606, 8746, 8888, 9029, 9171, 9313, 9454, 9596, 9736, 9878, 10019, 10161, 10302, 10444, 10585, 10727, 10868, 11009, 11150]
hit2 = 1
TP成长 = 0.1
TP上限 = 7
class 技能7(被动技能):
名称 = '鬼连斩:极'
所在等级 = 30
额外加成 = 1
等级上限 = 1
等级精通 = 1
data0 = [0, 1183, 1304, 1424, 1545, 1664, 1784, 1904, 2024, 2145, 2265, 2386, 2505, 2625, 2745, 2865, 2986, 3106, 3227, 3346, 3466, 3586, 3707, 3827, 3947, 4067, 4187, 4307, 4427, 4548, 4667, 4788, 4908, 5028, 5148, 5268, 5388, 5508, 5629, 5749, 5870, 5989, 6108, 6229, 6349, 6470, 6590, 6711, 6830, 6950, 7070, 7191, 7311, 7431, 7551, 7671, 7791, 7911, 8032, 8152, 8272, 8392, 8512, 8632, 8752, 8873, 8992, 9113, 9233, 9354, 9473]
hit0 = 3
国服特色 = 1.07
def 获取百分比(self, lv):
return self.data0[lv] * self.hit0 * self.额外加成 * self.国服特色
def 等效CD(self, **argv):
# 无冷却
return 0
class 技能8(主动技能):
名称 = "幻鬼:一闪"
所在等级 = 20
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 6
MP = [32, 336]
无色消耗 = 0
data0 = [0, 3187, 3510, 3834, 4157, 4480, 4804, 5127, 5451, 5774, 6097, 6421, 6744, 7068, 7391, 7714, 8038, 8361, 8684, 9007, 9330, 9654, 9977, 10301, 10624, 10947, 11271, 11594, 11918, 12241, 12564, 12888, 13211, 13535, 13858, 14181, 14505, 14828, 15152, 15475, 15798, 16121, 16444, 16767, 17091, 17414, 17738, 18061, 18384, 18708, 19031, 19355, 19679, 20003, 20326, 20649, 20973, 21296, 21620, 21943, 22266, 22590, 22913, 23237, 23559, 23882, 24206, 24529, 24852, 25176, 25499]
hit0 = 1
TP成长 = 0.1
TP上限 = 7
class 技能9(主动技能):
名称 = "鬼连牙"
所在等级 = 25
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 8
MP = [46, 483]
无色消耗 = 0
data0 = [0, 5860, 6455, 7049, 7644, 8237, 8832, 9427, 10021, 10616, 11210, 11804, 12400, 12994, 13589, 14183, 14777, 15373, 15967, 16562, 17156, 17750, 18346, 18940, 19534, 20128, 20722, 21317, 21912, 22506, 23101, 23695, 24291, 24885, 25479, 26074, 26668, 27264, 27858, 28452, 29047, 29641, 30237, 30830, 31424, 32019, 32613, 33207, 33803, 34397, 34992, 35586, 36180, 36776, 37370, 37965, 38559, 39153, 39749, 40343, 40938, 41531, 42125, 42721, 43315, 43909, 44504, 45098, 45694, 46288, 46882]
hit0 = 1
TP成长 = 0.1
TP上限 = 7
class 技能10(主动技能):
名称 = "幻鬼:连斩"
所在等级 = 25
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 8
MP = [60, 600]
无色消耗 = 0
data0 = [0, 797, 877, 959, 1040, 1120, 1201, 1283, 1363, 1444, 1526, 1605, 1687, 1767, 1849, 1930, 2010, 2092, 2171, 2253, 2334, 2415, 2496, 2577, 2658, 2738, 2820, 2900, 2982, 3062, 3143, 3225, 3304, 3386, 3466, 3548, 3629, 3710, 3791, 3871, 3952, 4033, 4114, 4195, 4277, 4356, 4437, 4519, 4599, 4681, 4761, 4843, 4923, 5003, 5085, 5165, 5247, 5328, 5409, 5489, 5570, 5651, 5732, 5814, 5894, 5976, 6055, 6136, 6218, 6298, 6380]
hit0 = 1
data1 = [0, 1063, 1171, 1278, 1387, 1494, 1602, 1709, 1819, 1926, 2034, 2141, 2250, 2357, 2465, 2573, 2681, 2789, 2897, 3004, 3112, 3220, 3329, 3436, 3544, 3652, 3760, 3867, 3975, 4083, 4192, 4299, 4407, 4515, 4623, 4730, 4838, 4947, 5055, 5162, 5270, 5377, 5486, 5593, 5702, 5809, 5918, 6025, 6133, 6240, 6349, 6456, 6565, 6672, 6781, 6888, 6996, 7103, 7212, 7320, 7428, 7535, 7644, 7751, 7859, 7966, 8073, 8183, 8291, 8398, 8505]
hit1 = 1
data2 = [0, 1329, 1464, 1598, 1734, 1868, 2002, 2138, 2272, 2408, 2542, 2676, 2812, 2946, 3081, 3216, 3351, 3487, 3621, 3756, 3891, 4026, 4160, 4296, 4430, 4564, 4700, 4834, 4970, 5104, 5238, 5374, 5508, 5643, 5778, 5913, 6047, 6183, 6318, 6453, 6588, 6722, 6858, 6992, 7127, 7262, 7396, 7532, 7666, 7800, 7936, 8070, 8205, 8340, 8475, 8610, 8744, 8880, 9015, 9150, 9284, 9420, 9554, 9689, 9824, 9958, 10094, 10228, 10362, 10498, 10632]
hit2 = 1
data3 = [0, 2126, 2343, 2558, 2774, 2989, 3206, 3421, 3637, 3852, 4069, 4283, 4500, 4715, 4930, 5146, 5361, 5578, 5793, 6009, 6224, 6441, 6656, 6872, 7088, 7304, 7519, 7735, 7951, 8167, 8382, 8598, 8814, 9030, 9245, 9462, 9677, 9893, 10108, 10324, 10540, 10755, 10971, 11187, 11403, 11618, 11835, 12050, 12266, 12481, 12698, 12913, 13129, 13344, 13561, 13776, 13992, 14208, 14424, 14639, 14855, 15071, 15287, 15502, 15717, 15934, 16149, 16365, 16581, 16797, 17012]
hit3 = 1
TP成长 = 0.1
TP上限 = 7
class 技能11(主动技能):
名称 = "共鸣:离魂一闪"
所在等级 = 30
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 12
MP = [61, 640]
无色消耗 = 0
data0 = [0, 2502, 2757, 3010, 3264, 3518, 3772, 4026, 4280, 4534, 4787, 5042, 5296, 5549, 5804, 6056, 6310, 6566, 6818, 7072, 7325, 7580, 7834, 8087, 8342, 8595, 8849, 9104, 9357, 9611, 9865, 10119, 10373, 10627, 10881, 11134, 11389, 11643, 11896, 12151, 12404, 12658, 12913, 13166, 13420, 13674, 13928, 14182, 14435, 14690, 14943, 15197, 15452, 15705, 15959, 16213, 16467, 16721, 16975, 17229, 17482, 17737, 17991, 18244, 18499, 18752, 19006, 19261, 19513, 19768, 20020]
hit0 = 1
data1 = [0, 5838, 6432, 7024, 7616, 8209, 8801, 9394, 9987, 10578, 11171, 11763, 12357, 12948, 13540, 14134, 14726, 15318, 15910, 16503, 17096, 17687, 18281, 18873, 19465, 20057, 20650, 21243, 21835, 22427, 23020, 23612, 24206, 24797, 25389, 25982, 26575, 27167, 27759, 28351, 28945, 29536, 30129, 30722, 31313, 31906, 32499, 33092, 33683, 34275, 34869, 35461, 36054, 36646, 37238, 37831, 38422, 39016, 39608, 40200, 40794, 41385, 41978, 42571, 43162, 43755, 44347, 44941, 45532, 46124, 46718]
hit1 = 1
TP成长 = 0.1
TP上限 = 7
class 技能12(主动技能):
名称 = "魂破斩"
所在等级 = 35
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 12
MP = [129, 1083]
无色消耗 = 1
data0 = [0, 10463, 11524, 12585, 13648, 14709, 15771, 16832, 17892, 18955, 20016, 21078, 22138, 23201, 24263, 25324, 26385, 27447, 28508, 29570, 30631, 31692, 32754, 33817, 34877, 35938, 37000, 38062, 39123, 40184, 41246, 42308, 43370, 44430, 45493, 46553, 47616, 48677, 49738, 50799, 51861, 52924, 53983, 55046, 56107, 57169, 58230, 59292, 60352, 61415, 62477, 63537, 64599, 65661, 66723, 67782, 68845, 69906, 70968, 72030, 73091, 74153, 75214, 76276, 77337, 78398, 79460, 80522, 81584, 82644, 83707]
hit0 = 1
TP成长 = 0.1
TP上限 = 5
是否有护石 = 1
def 装备护石(self, char):
self.power0 = 1.24
self.CDR *= 0.89
class 技能13(主动技能):
名称 = "共鸣:鬼灵斩"
所在等级 = 35
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 15
MP = [129, 1083]
无色消耗 = 1
data0 = [0, 11889, 13095, 14302, 15509, 16715, 17921, 19128, 20335, 21539, 22746, 23952, 25159, 26364, 27572, 28778, 29984, 31191, 32396, 33603, 34808, 36016, 37222, 38428, 39634, 40840, 42046, 43253, 44459, 45666, 46871, 48079, 49283, 50490, 51697, 52903, 54110, 55316, 56523, 57728, 58934, 60141, 61347, 62553, 63760, 64967, 66172, 67378, 68585, 69791, 70997, 72204, 73410, 74616, 75823, 77029, 78234, 79441, 80647, 81854, 83059, 84267, 85474, 86678, 87885, 89091, 90298, 91503, 92711, 93917, 95122]
hit0 = 1
TP成长 = 0.1
TP上限 = 5
class 技能14(主动技能):
名称 = "幻鬼:回天"
所在等级 = 40
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 20
MP = [170, 1428]
无色消耗 = 1
data0 = [0, 5378, 5921, 6468, 7013, 7559, 8105, 8650, 9196, 9741, 10286, 10833, 11378, 11924, 12469, 13013, 13560, 14105, 14651, 15196, 15743, 16287, 16833, 17378, 17924, 18470, 19016, 19560, 20107, 20651, 21198, 21743, 22289, 22835, 23378, 23925, 24471, 25016, 25562, 26107, 26652, 27199, 27743, 28290, 28835, 29381, 29926, 30471, 31017, 31563, 32108, 32655, 33200, 33744, 34290, 34836, 35382, 35927, 36472, 37017, 37564, 38109, 38655, 39201, 39746, 40291, 40837, 41382, 41929, 42473, 43020]
hit0 = 1
data1 = [0, 8065, 8884, 9703, 10521, 11339, 12157, 12976, 13793, 14612, 15430, 16248, 17066, 17885, 18704, 19522, 20340, 21159, 21977, 22796, 23613, 24432, 25249, 26068, 26886, 27704, 28523, 29342, 30161, 30978, 31796, 32615, 33433, 34251, 35070, 35888, 36707, 37525, 38344, 39161, 39979, 40797, 41615, 42434, 43253, 44071, 44889, 45708, 46527, 47345, 48162, 48981, 49800, 50618, 51436, 52255, 53072, 53891, 54709, 55527, 56345, 57164, 57982, 58800, 59619, 60438, 61255, 62074, 62893, 63712, 64530]
hit1 = 1
TP成长 = 0.1
TP上限 = 5
是否有护石 = 1
def 装备护石(self, char):
self.hit0 = 4
self.power0 = 0.25
self.power1 = 0.25
self.data2 = self.data1
self.hit2 = 20
self.power2 = 0.065
class 技能15(主动技能):
名称 = "冥灵断魂斩"
所在等级 = 45
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 45
MP = [299, 2511]
无色消耗 = 2
data0 = [0, 32097, 35354, 38609, 41865, 45121, 48377, 51634, 54890, 58146, 61403, 64660, 67914, 71171, 74428, 77685, 80940, 84197, 87453, 90708, 93965, 97222, 100478, 103734, 106991, 110245, 113502, 116758, 120015, 123271, 126528, 129784, 133039, 136296, 139553, 142808, 146065, 149322, 152576, 155833, 159090, 162347, 165602, 168859, 172116, 175371, 178626, 181883, 185139, 188396, 191652, 194907, 198164, 201421, 204677, 207933, 211190, 214447, 217701, 220958, 224215, 227470, 230727, 233984, 237241, 240495, 243752, 247009, 250264, 253520, 256777]
hit0 = 1
TP成长 = 0.1
TP上限 = 5
是否有护石 = 1
def 装备护石(self, char):
self.power0 = 1.23
class 技能16(主动技能):
名称 = "冥夜鬼天杀"
所在等级 = 50
等级上限 = 50
学习间隔 = 5
等级精通 = 40
CD = 145
MP = [998, 8383]
无色消耗 = 5
data0 = [0, 20523, 25281, 30040, 34800, 39558, 44316, 49075, 53834, 58593, 63352, 68111, 72869, 77629, 82388, 87146, 91906, 96664, 101423, 106181, 110940, 115699, 120457, 125217, 129976, 134734, 139494, 144252, 149011, 153771, 158529, 163288, 168046, 172805, 177564, 182323, 187082, 191840, 196600, 201360, 206117, 210878, 215636, 220395, 225155, 229913, 234671, 239430, 244189, 248948, 253707]
hit0 = 4
class 技能17(主动技能):
名称 = "幻鬼:奈落"
所在等级 = 60
等级上限 = 50
学习间隔 = 2
等级精通 = 40
CD = 20
MP = [334, 935]
无色消耗 = 2
data0 = [0, 17544, 19326, 21106, 22886, 24666, 26446, 28225, 30005, 31785, 33566, 35345, 37126, 38907, 40686, 42466, 44246, 46026, 47806, 49586, 51366, 53145, 54925, 56706, 58487, 60266, 62046, 63826, 65607, 67386, 69166, 70947, 72725, 74505, 76286, 78067, 79847, 81627, 83407, 85186, 86966, 88746, 90527, 92306, 94087, 95866, 97646, 99427, 101207, 102987, 104767]
hit0 = 1
TP成长 = 0.1
TP上限 = 5
是否有护石 = 1
def 装备护石(self, char):
self.power0 = 1.22
self.CDR *= 0.85
class 技能18(主动技能):
名称 = "共鸣:聚渊"
所在等级 = 70
等级上限 = 50
学习间隔 = 2
等级精通 = 40
CD = 50
MP = [686, 1440]
无色消耗 = 3
data0 = [0, 4498, 4955, 5412, 5868, 6324, 6780, 7235, 7693, 8149, 8606, 9063, 9518, 9975, 10432, 10888, 11343, 11801, 12258, 12714, 13170, 13626, 14082, 14540, 14997, 15452, 15908, 16365, 16822, 17277, 17735, 18191, 18646, 19104, 19560, 20016, 20473, 20929, 21385, 21842, 22299, 22754, 23210, 23667, 24125, 24580, 25037, 25493, 25949, 26407, 26863]
hit0 = 1
data1 = [0, 17995, 19820, 21645, 23472, 25298, 27123, 28948, 30774, 32601, 34427, 36250, 38078, 39903, 41729, 43553, 45380, 47206, 49031, 50856, 52682, 54508, 56334, 58158, 59985, 61810, 63636, 65460, 67287, 69113, 70938, 72764, 74589, 76415, 78241, 80066, 81892, 83718, 85544, 87370, 89195, 91021, 92846, 94672, 96499, 98323, 100149, 101974, 103801, 105626, 107451]
hit1 = 1
data2 = [0, 22494, 24776, 27058, 29341, 31621, 33904, 36186, 38469, 40750, 43032, 45315, 47597, 49879, 52161, 54443, 56724, 59006, 61289, 63571, 65853, 68134, 70417, 72699, 74981, 77263, 79545, 81828, 84109, 86392, 88673, 90956, 93237, 95520, 97803, 100084, 102366, 104647, 106930, 109210, 111493, 113776, 116058, 118340, 120621, 122904, 125186, 127468, 129751, 132032, 134315]
hit2 = 1
TP成长 = 0.1
TP上限 = 5
是否有护石 = 1
def 装备护石(self, char):
self.power2 = 1.36 * 1.20
class 技能19(主动技能):
名称 = "幻鬼:大回天"
所在等级 = 75
等级上限 = 50
学习间隔 = 2
等级精通 = 40
CD = 40
MP = [568, 4402]
无色消耗 = 3
data0 = [0, 20968, 23096, 25223, 27349, 29478, 31604, 33731, 35858, 37988, 40114, 42241, 44368, 46494, 48623, 50750, 52878, 55004, 57132, 59259, 61387, 63513, 65641, 67768, 69896, 72023, 74150, 76277, 78406, 80532, 82659, 84786, 86913, 89041, 91168, 93296, 95422, 97550, 99677, 101805, 103931, 106059, 108186, 110315, 112441, 114568, 116695, 118822, 120951, 123078, 125205]
hit0 = 3
是否有护石 = 1
def 装备护石(self, char):
self.power0 = 1.36
def 等效百分比(self, **argv):
if self.等级 >= 9:
return super().等效百分比(**argv) * 1.1
return super().等效百分比(**argv)
class 技能20(主动技能):
名称 = "裂魂乱舞"
所在等级 = 80
等级上限 = 50
学习间隔 = 2
等级精通 = 40
CD = 45
MP = [823, 6172]
无色消耗 = 5
data0 = [0, 4500, 4957, 5413, 5869, 6327, 6782, 7239, 7696, 8152, 8609, 9065, 9522, 9978, 10434, 10891, 11348, 11803, 12260, 12718, 13173, 13630, 14087, 14543, 14999, 15456, 15913, 16369, 16826, 17282, 17739, 18195, 18651, 19109, 19565, 20021, 20478, 20935, 21390, 21847, 22305, 22760, 23217, 23674, 24130, 24586, 25043, 25499, 25956, 26413, 26869]
hit0 = 1
data1 = [0, 13500, 14869, 16239, 17608, 18978, 20348, 21717, 23087, 24457, 25826, 27195, 28564, 29934, 31303, 32674, 34044, 35412, 36782, 38152, 39522, 40891, 42261, 43631, 44999, 46369, 47739, 49108, 50478, 51848, 53218, 54586, 55956, 57326, 58695, 60065, 61435, 62804, 64173, 65543, 66914, 68283, 69653, 71023, 72392, 73762, 75131, 76500, 77870, 79240, 80610]
hit1 = 1
data2 = [0, 18000, 19826, 21651, 23479, 25305, 27130, 28956, 30783, 32608, 34434, 36261, 38087, 39913, 41738, 43564, 45392, 47216, 49044, 50871, 52696, 54522, 56348, 58173, 60001, 61827, 63652, 65479, 67305, 69130, 70956, 72783, 74609, 76435, 78260, 80087, 81914, 83740, 85567, 87393, 89218, 91044, 92871, 94696, 96523, 98349, 100175, 102001, 103826, 105652, 107479]
hit2 = 1
data3 = [0, 11249, 12392, 13532, 14673, 15815, 16956, 18097, 19239, 20380, 21522, 22662, 23804, 24945, 26086, 27229, 28369, 29511, 30652, 31794, 32934, 34076, 35217, 36359, 37500, 38641, 39781, 40923, 42066, 43207, 44348, 45488, 46631, 47771, 48914, 50054, 51196, 52337, 53478, 54619, 55760, 56903, 58044, 59186, 60326, 61467, 62609, 63751, 64892, 66033, 67173]
hit3 = 2
data4 = [0, 31500, 34696, 37891, 41087, 44283, 47478, 50674, 53870, 57065, 60262, 63458, 66653, 69849, 73044, 76239, 79435, 82630, 85826, 89022, 92217, 95414, 98609, 101805, 105001, 108196, 111392, 114588, 117783, 120979, 124175, 127370, 130567, 133762, 136958, 140154, 143349, 146545, 149741, 152936, 156132, 159326, 162522, 165719, 168914, 172110, 175306, 178501, 181697, 184893, 188088]
hit4 = 1
是否有护石 = 1
def 装备护石(self, char):
self.hit0 = 0
self.hit1 = 0
self.hit2 = 0
self.power3 = 2.11
self.power4 = 2.3
class 技能21(主动技能):
名称 = "鬼隐·夜奈落"
所在等级 = 85
等级上限 = 50
学习间隔 = 5
等级精通 = 40
CD = 180
MP = [2329, 4658]
无色消耗 = 10
data0 = [0, 29744, 36640, 43538, 50435, 57332, 64230, 71126, 78024, 84921, 91819, 98715, 105614, 112511, 119407, 126305, 133202, 140099, 146996, 153894, 160791, 167689, 174586, 181484, 188380, 195277, 202175, 209070, 215969, 222866, 229763, 236660, 243558, 250454, 257351, 264249, 271145, 278044, 284941, 291839, 298735, 305633, 312530, 319427, 326325, 333222, 340119, 347016, 353914, 360810, 367708]
hit0 = 1
data1 = [0, 29744, 36640, 43538, 50435, 57332, 64230, 71126, 78024, 84921, 91819, 98715, 105614, 112511, 119407, 126305, 133202, 140099, 146996, 153894, 160791, 167689, 174586, 181484, 188380, 195277, 202175, 209070, 215969, 222866, 229763, 236660, 243558, 250454, 257351, 264249, 271145, 278044, 284941, 291839, 298735, 305633, 312530, 319427, 326325, 333222, 340119, 347016, 353914, 360810, 367708]
hit1 = 1
data2 = [0, 29744, 36640, 43538, 50435, 57332, 64230, 71126, 78024, 84921, 91819, 98715, 105614, 112511, 119407, 126305, 133202, 140099, 146996, 153894, 160791, 167689, 174586, 181484, 188380, 195277, 202175, 209070, 215969, 222866, 229763, 236660, 243558, 250454, 257351, 264249, 271145, 278044, 284941, 291839, 298735, 305633, 312530, 319427, 326325, 333222, 340119, 347016, 353914, 360810, 367708]
hit2 = 1
data3 = [0, 109061, 134351, 159642, 184931, 210221, 235511, 260800, 286091, 311380, 336670, 361960, 387249, 412540, 437830, 463119, 488409, 513699, 538987, 564278, 589569, 614858, 640148, 665437, 690727, 716018, 741307, 766597, 791886, 817176, 842466, 867757, 893045, 918335, 943626, 968915, 994206, 1019495, 1044784, 1070075, 1095364, 1120654, 1145944, 1171233, 1196524, 1221814, 1247102, 1272393, 1297683, 1322973, 1348263]
hit3 = 1
class 技能22(主动技能):
名称 = "无式·极影剑"
所在等级 = 95
等级上限 = 50
学习间隔 = 2
等级精通 = 40
CD = 60
MP = [1097, 8229]
无色消耗 = 7
data0 = [0, 8361, 9209, 10057, 10906, 11755, 12602, 13452, 14299, 15148, 15997, 16845, 17694, 18540, 19389, 20237, 21086, 21934, 22782, 23631, 24479, 25327, 26175, 27025, 27873, 28721, 29569, 30418, 31265, 32114, 32961, 33811, 34658, 35507, 36354, 37204, 38053, 38900, 39750, 40597, 41446, 42293, 43143, 43990, 44838, 45686, 46535, 47384, 48232, 49080, 49929]
hit0 = 5
data1 = [0, 8361, 9209, 10057, 10906, 11755, 12602, 13452, 14299, 15148, 15997, 16845, 17694, 18540, 19389, 20237, 21086, 21934, 22782, 23631, 24479, 25327, 26175, 27025, 27873, 28721, 29569, 30418, 31265, 32114, 32961, 33811, 34658, 35507, 36354, 37204, 38053, 38900, 39750, 40597, 41446, 42293, 43143, 43990, 44838, 45686, 46535, 47384, 48232, 49080, 49929]
hit1 = 5
data2 = [0, 41810, 46050, 50291, 54534, 58774, 63016, 67259, 71500, 75741, 79984, 84225, 88465, 92706, 96949, 101190, 105431, 109674, 113916, 118156, 122399, 126641, 130880, 135122, 139365, 143605, 147847, 152090, 156331, 160572, 164815, 169055, 173296, 177538, 181780, 186021, 190263, 194505, 198747, 202988, 207229, 211471, 215712, 219953, 224196, 228437, 232678, 236921, 241163, 245402, 249644]
hit2 = 5
data3 = [0, 41810, 46050, 50291, 54534, 58774, 63016, 67259, 71500, 75741, 79984, 84225, 88465, 92706, 96949, 101190, 105431, 109674, 113916, 118156, 122399, 126641, 130880, 135122, 139365, 143605, 147847, 152090, 156331, 160572, 164815, 169055, 173296, 177538, 181780, 186021, 190263, 194505, 198747, 202988, 207229, 211471, 215712, 219953, 224196, 228437, 232678, 236921, 241163, 245402, 249644]
hit3 = 1
data4 = [0, 14067, 15496, 16924, 18351, 19778, 21204, 22632, 24060, 25488, 26914, 28341, 29768, 31196, 32625, 34051, 35478, 36905, 38333, 39761, 41188, 42614, 44042, 45470, 46897, 48324, 49752, 51179, 52605, 54034, 55460, 56889, 58316, 59742, 61171, 62597, 64025, 65451, 66879, 68307, 69734, 71161, 72588, 74015, 75444, 76871, 78298, 79725, 81151, 82581, 84007]
hit4 = 1
data5 = [0, 70345, 77482, 84619, 91754, 98891, 106028, 113164, 120300, 127437, 134574, 141711, 148847, 155983, 163120, 170257, 177394, 184530, 191667, 198803, 205940, 213076, 220213, 227350, 234487, 241623, 248760, 255897, 263034, 270170, 277307, 284444, 291580, 298716, 305853, 312990, 320127, 327264, 334399, 341535, 348672, 355808, 362945, 370082, 377218, 384355, 391491, 398628, 405765, 412902, 420037]
hit5 = 0
形态 = ["共鸣", "幻鬼"]
def 形态变更(self, 形态, char: Character):
if 形态 == "共鸣":
self.hit0 = 5
self.hit1 = 5
self.hit2 = 1
self.hit3 = 1
self.hit4 = 0
self.hit5 = 0
else:
self.hit0 = 0
self.hit1 = 0
self.hit2 = 0
self.hit3 = 0
self.hit4 = 5
self.hit5 = 1
pass
class 技能23(主动技能):
名称 = "灭魂极影剑·止煞"
所在等级 = 100
等级上限 = 50
学习间隔 = 5
等级精通 = 40
CD = 290
MP = [3752, 7505]
无色消耗 = 15
data0 = [0, 32905, 40536, 48166, 55797, 63427, 71057, 78687, 86317, 93948, 101578, 109207, 116838, 124469, 132099, 139729, 147361, 154990, 162620, 170251, 177882, 185512, 193141, 200773, 208403, 216032, 223663, 231294, 238923, 246554, 254184, 261815, 269445, 277075, 284705, 292336, 299967, 307597, 315226, 322857, 330488, 338118, 345747, 353379, 361008, 368638, 376270, 383900, 391530, 399159, 406791]
hit0 = 1
data1 = [0, 9400, 11581, 13762, 15941, 18121, 20301, 22481, 24662, 26841, 29021, 31202, 33382, 35562, 37742, 39922, 42102, 44283, 46463, 48642, 50823, 53003, 55183, 57363, 59543, 61723, 63903, 66084, 68264, 70443, 72623, 74804, 76984, 79163, 81344, 83524, 85704, 87885, 90064, 92244, 94425, 96605, 98785, 100965, 103145, 105325, 107506, 109686, 111865, 114046, 116226]
hit1 = 7
data2 = [0, 32905, 40536, 48166, 55797, 63427, 71057, 78687, 86317, 93948, 101578, 109207, 116838, 124469, 132099, 139729, 147361, 154990, 162620, 170251, 177882, 185512, 193141, 200773, 208403, 216032, 223663, 231294, 238923, 246554, 254184, 261815, 269445, 277075, 284705, 292336, 299967, 307597, 315226, 322857, 330488, 338118, 345747, 353379, 361008, 368638, 376270, 383900, 391530, 399159, 406791]
hit2 = 1
data3 = [0, 28205, 34745, 41285, 47825, 54365, 60905, 67446, 73986, 80527, 87067, 93607, 100148, 106688, 113228, 119769, 126309, 132850, 139390, 145930, 152471, 159011, 165551, 172092, 178630, 185170, 191711, 198251, 204792, 211332, 217871, 224412, 230952, 237492, 244033, 250573, 257113, 263654, 270194, 276735, 283275, 289815, 296356, 302895, 309435, 315976, 322516, 329057, 335597, 342137, 348678]
hit3 = 7
data4 = [0, 43874, 54047, 64220, 74395, 84570, 94742, 104916, 115091, 125264, 135437, 145611, 155786, 165958, 176132, 186306, 196481, 206654, 216828, 227001, 237176, 247349, 257522, 267696, 277870, 288043, 298217, 308393, 318565, 328739, 338913, 349088, 359260, 369434, 379608, 389780, 399955, 410129, 420302, 430477, 440651, 450824, 460998, 471172, 481345, 491519, 501692, 511866, 522040, 532214, 542387]
hit4 = 1
data5 = [0, 43874, 54047, 64220, 74395, 84570, 94742, 104916, 115091, 125264, 135437, 145611, 155786, 165958, 176132, 186306, 196481, 206654, 216828, 227001, 237176, 247349, 257522, 267696, 277870, 288043, 298217, 308393, 318565, 328739, 338913, 349088, 359260, 369434, 379608, 389780, 399955, 410129, 420302, 430477, 440651, 450824, 460998, 471172, 481345, 491519, 501692, 511866, 522040, 532214, 542387]
hit5 = 1
data6 = [0, 131623, 162143, 192664, 223186, 253708, 284229, 314749, 345270, 375793, 406314, 436834, 467357, 497878, 528399, 558920, 589442, 619963, 650484, 681004, 711527, 742048, 772569, 803089, 833611, 864132, 894654, 925176, 955696, 986217, 1016738, 1047262, 1077782, 1108303, 1138824, 1169346, 1199866, 1230388, 1260909, 1291431, 1321951, 1352472, 1382995, 1413516, 1444036, 1474557, 1505079, 1535601, 1566121, 1596642, 1627165]
hit6 = 1
国服特色 = 1.0
class classChange(Character):
def __init__(self, equVersion=""):
self.实际名称 = 'ghostblade'
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 = 2.06
super().__init__(equVersion)
def set_skill_info(self, info):
super().set_skill_info(info, rune_start_lv=15)
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 type == "all":
i.额外加成 *= (1 + x * self.技能伤害增加增幅)
def 技能队列设置(self, setinfo):
self.技能队列 = []
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 item['name'] == '鬼连斩':
self.技能队列.append({
'名称': '鬼连斩:极',
'无色消耗': self.get_skill_by_name(item['name']).无色消耗,
'倍率': 1.0,
'等级变化': 0,
'CDR': 1.0,
'恢复': 0,
'形态': ''
})
def 伤害计算(self):
data = super().伤害计算()
skill_dict = data['skills']
鬼连斩极 = self.get_skill_by_name("鬼连斩:极")
鬼连斩 = self.get_skill_by_name("鬼连斩")
damage = 0
count = 0
if '鬼连斩' in skill_dict and 鬼连斩极.等级 > 0 and 鬼连斩.等级 > 0:
for index in range(0,len(self.技能队列)):
# 特殊处理
if self.技能队列[index]['名称'] == '鬼连斩':
count += 1
额外倍率 = self.技能队列[index+1]['倍率']
倍率 = 鬼连斩极.获取百分比(鬼连斩.等级) * (1 + 鬼连斩.TP等级 *
鬼连斩.TP成长) * 鬼连斩.被动倍率 * 额外倍率
# count = skill_dict['鬼连斩']['count']
temp = 倍率 * self.伤害指数 * (self.伤害比例.get("直伤", 0.0)) / 100
from core.basic.equipment import get_global_data
for item in ['中毒', '灼伤', '感电', '出血']:
cur = item
pa = ''
if item == '中毒':
pa = 'zd_rate'
if item == '出血':
pa = 'cx_rate'
if item == '感电':
pa = 'gd_rate'
if item == '灼伤':
pa = 'zs_rate'
if item == '灼伤' and '灼伤' in get_global_data("state_type", self.equVersion) and ('冰冻' in get_global_data("get_state_type", self.equVersion) or ('冰冻' in get_global_data("state_type", self.equVersion) and self.check_equ_by_name("永眠前的准备"))):
pa = 'zs_bd_rate'
cur = '灼伤破冰'
保有率 = 0
异常基础加成 = 1.0
异常结算加成 = 1.0
装备加成异常结算 = 1.0
if pa == 'zs_bd_rate':
保有率 = self.异常保有率计算(pa,cur)
异常基础加成 = 1.0
异常结算加成 = self.异常基础加成['灼伤破冰']
装备加成异常结算 = self.异常结算加成.get(cur,1.0)
else:
保有率 = self.异常保有率计算(pa,cur)
# 叠层处理
异常基础加成 = 1+ (self.异常基础加成.get(cur,1.0)-1) * get_global_data(pa,self.equVersion,1.0)
异常结算加成 = 1.0
装备加成异常结算 = self.异常结算加成.get(cur,1.0)
系数 = self.伤害系数.get(item, 0.0) * ( (1-保有率) * 异常基础加成 + 保有率 * 异常基础加成 * 异常结算加成 * 装备加成异常结算)
# 直伤转换的异常处理:直伤伤害*异常比例*异常系数
temp += 倍率 * self.伤害指数 * self.伤害比例.get(item, 0.0) * 系数 / 100
damage += temp
data['skills']['鬼连斩:极'] = {
'name': '鬼连斩:极',
'rate': 鬼连斩.被动倍率,
'cd': skill_dict['鬼连斩']['cd'],
'mp': 0,
'damage': damage,
'count': count,
'level': 1,
'cosume_cube_frag': 0,
'cd_o': skill_dict['鬼连斩']['cd_o'],
'atk_rate': 鬼连斩极.获取百分比(鬼连斩.等级) * (1 + 鬼连斩.TP等级 * 鬼连斩.TP成长)
}
data['total_data'] += damage
return data
def get_acitve_skill_detail(self, skill, temp_info, temp_char, weapon, ratio, skill_info):
if skill.是否有伤害:
if len(skill.形态) == 0:
skill.形态 = ['']
for 形态 in skill.形态:
original = 0
for i in ['直伤', '中毒', '灼伤', '感电', '出血']:
original += skill.等效百分比(
char=temp_info, 武器类型=weapon, 形态=形态, 伤害类型=i)
skill_info["skills_active"].append({
"name": skill.名称,
"need_level": skill.所在等级,
"lv": skill.等级,
"data": original*ratio*skill.被动倍率,
"cd": skill.等效CD(武器类型=weapon, 输出类型=temp_info.类型,char =temp_info),
"mode": 形态,
"cost": skill.无色消耗,
"tp": skill.TP等级
})
if skill.名称 == "鬼连斩":
鬼连斩极 = temp_info.get_skill_by_name("鬼连斩:极").获取百分比(skill.等级)
original += 鬼连斩极*(1+skill.TP等级*skill.TP成长)
skill_info["skills_active"].append({
"name": skill.名称,
"need_level": skill.所在等级,
"lv": skill.等级,
"data": original*ratio*skill.被动倍率,
"cd": skill.等效CD(武器类型=weapon, 输出类型=temp_info.类型,char =temp_info),
"mode": "极",
"cost": skill.无色消耗,
"tp": skill.TP等级
})
if skill.是否有护石 == 1:
temp = temp_char.get_skill_by_name(skill.名称)
cp = 0
for i in ['直伤', '中毒', '灼伤', '感电', '出血']:
cp += temp.等效百分比(char=temp_char,
武器类型=weapon, 形态=形态, 伤害类型=i)
skill_info["skills_cp"].append({
"name": skill.名称,
"need_level": skill.所在等级,
"lv": skill.等级,
"data": cp*ratio*temp.被动倍率,
"cd": temp.等效CD(武器类型=weapon, 输出类型=temp_info.类型,char =temp_info),
"original_data": original*ratio*skill.被动倍率,
"original_cd": skill.等效CD(武器类型=weapon, 输出类型=temp_info.类型,char =temp_info),
"mode": 形态,
"cost": temp.无色消耗,
"tp": skill.TP等级
})
pass
pass