700 lines
30 KiB
Python
700 lines
30 KiB
Python
from core.basic.skill import 技能
|
||
from core.basic.character import Character
|
||
from core.basic.skill import 主动技能, 被动技能
|
||
|
||
|
||
class 主动技能(主动技能):
|
||
风雷啸 = 1.0
|
||
|
||
def 等效百分比(self, **argv):
|
||
return super().等效百分比(**argv)*self.风雷啸
|
||
|
||
|
||
class 技能0(被动技能): # 基础精通
|
||
名称 = '基础精通'
|
||
倍率 = 1.0
|
||
|
||
所在等级 = 1
|
||
等级上限 = 200
|
||
学习间隔 = 1
|
||
等级精通 = 110
|
||
|
||
关联技能 = ['念兽:龙虎啸']
|
||
|
||
def 加成倍率(self, 武器类型):
|
||
if self.等级 == 0:
|
||
return 1.0
|
||
else:
|
||
return round(self.倍率 * (0.463 + 0.089 * self.等级), 5)
|
||
|
||
|
||
class 技能1(主动技能): # 分身
|
||
名称 = '分身'
|
||
所在等级 = 5
|
||
等级上限 = 20
|
||
学习间隔 = 2
|
||
等级精通 = 10
|
||
MP = [6, 84]
|
||
基础个数 = 0
|
||
是否有伤害 = 0
|
||
TP上限 = 0
|
||
关联技能 = ['幻影爆碎']
|
||
|
||
def 加成倍率(self, 武器类型):
|
||
if self.等级 == 0:
|
||
return 0
|
||
else:
|
||
return self.等级 + 1
|
||
|
||
|
||
class 技能2(主动技能): # 雷霆踏
|
||
名称 = '雷霆踏'
|
||
所在等级 = 15
|
||
等级上限 = 70
|
||
学习间隔 = 2
|
||
等级精通 = 60
|
||
MP = [20, 168]
|
||
data0 = [0, 5703, 6280, 6861, 7439, 8017, 8595, 9174, 9753, 10332, 10911, 11489, 12067, 12647, 13225, 13803, 14380, 14961, 15540, 16117, 16697, 17276, 17854, 18431, 19012, 19589, 20168, 20747, 21325, 21903, 22483, 23060, 23639, 24217, 24798, 25375, 25954, 26533, 27112, 27690, 28267, 28848, 29426, 30004, 30582, 31162, 31740, 32319, 32898, 33475, 34054, 34635, 35211, 35790, 36370, 36948, 37526, 38105, 38683, 39263, 39840, 40419, 40998, 41577, 42153, 42733, 43312, 43890, 44468, 45048, 45627]
|
||
hit0 = 1
|
||
感电data0 = [0, 703, 775, 846, 920, 992, 1062, 1133, 1204, 1277, 1348, 1419, 1491, 1563, 1635, 1704, 1776, 1849, 1920, 1991, 2063, 2136, 2206, 2278, 2349, 2420, 2493, 2564, 2635, 2706, 2778, 2850, 2922, 2991, 3063, 3135, 3206, 3279, 3352, 3422, 3494, 3565, 3637, 3708, 3780, 3851, 3921, 3994, 4064, 4136, 4207, 4280, 4352, 4421, 4494, 4567, 4639, 4709, 4781, 4854, 4923, 4995, 5065, 5137, 5210, 5281, 5352, 5423, 5495, 5567, 5640]
|
||
感电hit0 = 1
|
||
CD = 7.0
|
||
TP成长 = 0.10
|
||
TP上限 = 7
|
||
|
||
|
||
class 技能3(主动技能): # 念气波
|
||
名称 = '念气波'
|
||
所在等级 = 15
|
||
等级上限 = 70
|
||
学习间隔 = 2
|
||
等级精通 = 60
|
||
MP = [15, 154]
|
||
data0 = [0, 2198, 2421, 2645, 2866, 3089, 3313, 3535, 3758, 3982, 4205, 4427, 4649, 4873, 5095, 5319, 5541, 5765, 5987, 6212, 6434, 6657, 6881, 7102, 7327, 7549, 7772, 7995, 8219, 8442, 8665, 8887, 9111, 9333, 9556, 9779, 10001, 10225, 10448, 10672, 10894, 11118, 11340, 11561, 11786, 12008, 12230, 12454, 12678, 12900, 13125, 13348, 13568, 13793, 14016, 14238, 14462, 14686, 14907, 15132, 15354, 15576, 15800, 16022, 16245, 16468, 16692, 16914, 17139, 17361, 17584]
|
||
hit0 = 1
|
||
感电data0 = [0, 245, 269, 294, 318, 343, 367, 394, 418, 442, 466, 490, 516, 540, 566, 590, 615, 640, 665, 689, 714, 739, 765, 789, 813, 837, 862, 886, 913, 937, 962, 986, 1011, 1036, 1062, 1086, 1111, 1135, 1161, 1185, 1209, 1235, 1259, 1283, 1309, 1333, 1358, 1382, 1409, 1434, 1459, 1483, 1508, 1532, 1558, 1583, 1608, 1631, 1656, 1680, 1706, 1730, 1756, 1780, 1805, 1830, 1855, 1879, 1905, 1929, 1955]
|
||
感电hit0 = 1
|
||
CD = 2.5
|
||
TP成长 = 0.10
|
||
TP上限 = 7
|
||
|
||
|
||
class 技能4(主动技能): # 蓄念炮 是被动不能受1-35主动技能+xx的加成
|
||
名称 = '蓄念炮'
|
||
|
||
所在等级 = 20
|
||
等级上限 = 11
|
||
学习间隔 = 2
|
||
等级精通 = 1
|
||
|
||
MP = [40, 56]
|
||
CD = 8.0
|
||
|
||
是否主动 = 0
|
||
|
||
TP上限 = 1
|
||
|
||
# 这里需要加一个蓄念炮的tp
|
||
# 蓄念炮TP的加成倍率和蓄念炮本身等级有关,从1到11级各不相同
|
||
# 蓄念炮TP下的蓄念炮倍率为(0.18+蓄念炮等级*0.01)*14;无tp下蓄念炮倍率为(2.59+蓄念炮等级*0.06)
|
||
# 两者相除即是蓄念炮TP所带来的额外倍率
|
||
# 上述描述是针对念气波直伤部分的,关于蓄念炮TP感电部分的额外倍率为(1/(2.59+蓄念炮等级*0.06));
|
||
|
||
def 等效百分比(self, **argv):
|
||
# 武器类型 额外等级 额外倍率 伤害类型 形态
|
||
武器类型 = argv.get('武器类型', '')
|
||
额外等级 = argv.get('额外等级', 0)
|
||
额外倍率 = argv.get('额外倍率', 1.0)
|
||
伤害类型 = argv.get('伤害类型', '直伤')
|
||
形态 = argv.get('形态', '')
|
||
char = argv.get('char', {})
|
||
|
||
百分比 = char.get_skill_by_name("念气波").等效百分比(伤害类型=伤害类型)
|
||
|
||
if self.等级 == 0:
|
||
倍率 = 1.0
|
||
else:
|
||
倍率 = round(2.59 + 0.06 * self.等级, 5)
|
||
if self.TP等级 > 0:
|
||
倍率 = (0.18+self.等级*0.01)*14
|
||
|
||
return 百分比 * 倍率 * self.技攻 * self.倍率 * 额外倍率
|
||
|
||
|
||
# 幻爆的伤害实质属于被动技能,不能受1-35主动技能+xx的加成
|
||
# MP消耗也是按分身的等级来
|
||
class 技能5(主动技能):
|
||
名称 = '幻影爆碎'
|
||
是否主动 = 0
|
||
所在等级 = 30
|
||
等级上限 = 70
|
||
学习间隔 = 2
|
||
等级精通 = 60
|
||
是否主动 = 0
|
||
data0 = [0, 1122, 1235, 1348, 1461, 1577, 1690, 1803, 1918, 2032, 2145, 2259, 2373, 2487, 2601, 2715, 2828, 2942, 3056, 3169, 3281, 3397, 3510, 3624, 3739, 3852, 3967, 4079, 4194, 4307, 4422, 4534, 4649, 4763, 4878, 4990, 5104, 5218, 5331, 5444, 5559, 5673, 5787, 5899, 6015, 6127, 6242, 6355, 6470, 6584, 6697, 6812, 6925, 7039, 7153, 7268, 7380, 7493, 7608, 7720, 7834, 7949, 8063, 8175, 8289, 8405, 8517, 8631, 8746, 8860, 8973]
|
||
CD = 12
|
||
TP成长 = 0.10
|
||
TP上限 = 7
|
||
|
||
|
||
|
||
class 技能6(主动技能): # 念雷轰 #data部分需后续核对
|
||
名称 = '念雷轰'
|
||
所在等级 = 25
|
||
等级上限 = 70
|
||
学习间隔 = 2
|
||
等级精通 = 60
|
||
MP = [20, 168] # 计算可得
|
||
data0 = [0, 1510, 1663, 1817, 1969, 2122, 2275, 2430, 2582, 2735, 2888, 3043, 3197, 3350, 3503, 3656, 3809, 3963, 4116, 4269, 4422, 4575, 4729, 4882, 5035, 5188, 5340, 5494, 5648, 5801, 5954, 6107, 6260, 6416, 6569, 6722, 6874, 7027, 7182, 7335, 7488, 7640, 7794, 7948, 8101, 8253, 8406, 8560, 8713, 8867, 9019, 9173, 9326, 9479, 9632, 9787, 9940, 10093, 10247, 10401, 10553, 10706, 10860, 11013, 11166, 11319, 11472, 11626, 11778, 11931, 12085]
|
||
hit0 = 4
|
||
感电data0 = [0, 166, 184, 201, 218, 235, 253, 269, 286, 302, 320, 337, 355, 371, 387, 406, 422, 439, 456, 473, 491, 507, 524, 540, 560, 576, 594, 610, 628, 645, 661, 678, 694, 712, 729, 746, 763, 781, 798, 814, 830, 849, 865, 883, 899, 915, 934, 950, 967, 984, 1002, 1019, 1035, 1052, 1068, 1087, 1103, 1120, 1137, 1155, 1172, 1188, 1204, 1223, 1239, 1257, 1273, 1290, 1308, 1324, 1341]
|
||
感电hit0 = 4
|
||
CD = 7
|
||
TP成长 = 0.10
|
||
TP上限 = 7
|
||
|
||
|
||
class 技能7(主动技能):
|
||
名称 = '念气环绕'
|
||
所在等级 = 20
|
||
等级上限 = 35
|
||
学习间隔 = 3
|
||
等级精通 = 25
|
||
MP = [5, 210]
|
||
data0 = [0, 76, 91, 101, 117, 127, 141, 152, 166, 178, 191, 202, 216, 226, 241, 254, 266, 277, 290, 304, 315, 328, 340, 353, 365, 379, 391, 404, 415, 429, 441, 453, 465, 478, 491, 503]
|
||
# 念气环绕 开御(全程)一秒10次
|
||
hit0 = 1
|
||
CD = 4
|
||
关联技能 = ['所有']
|
||
关联技能1 = ['念气环绕:御']
|
||
|
||
def 加成倍率1(self, 武器类型):
|
||
return self.data0[self.等级]/100
|
||
|
||
def 加成倍率(self, 武器类型):
|
||
if (self.等级 <= 25):
|
||
return round(1.00 + 0.01 * self.等级, 5)
|
||
else:
|
||
return round(1.25 + 0.02 * (self.等级 - 25), 5)
|
||
|
||
|
||
def 加成倍率2(self, 武器类型):
|
||
if (self.等级 <= 25):
|
||
return round(1.00 + 0.01 * self.等级, 5)
|
||
else:
|
||
return round(1.25 + 0.02 * (self.等级 - 25), 5)
|
||
|
||
|
||
class 技能8(主动技能): # 念气环绕:袭
|
||
名称 = '念气环绕:袭'
|
||
所在等级 = 25
|
||
等级上限 = 11
|
||
学习间隔 = 2
|
||
等级精通 = 1
|
||
MP = [75, 630]
|
||
data0 = [0, 25214, 25750, 26289, 26826, 27364, 27903, 28440, 28978, 29516, 30055, 30592]
|
||
hit0 = 1
|
||
CD = 4.5
|
||
|
||
|
||
class 技能9(主动技能):
|
||
名称 = '念气环绕:御'
|
||
所在等级 = 30
|
||
等级上限 = 11
|
||
学习间隔 = 2
|
||
等级精通 = 1
|
||
MP = [200, 980]
|
||
# 这里的data0实质上是倍率;念气环绕里有个对念气环绕:御额外加成倍率,那个是技能百分比
|
||
data0 = [0, 151, 154, 157, 160, 163, 166, 169, 172, 175, 178, 181]
|
||
# 念气环绕:御 一秒10次
|
||
hit0 = 10
|
||
CD = 1
|
||
|
||
|
||
# 其风雷啸部分需要后续确认
|
||
class 技能10(主动技能):
|
||
名称 = "天雷虎踢"
|
||
所在等级 = 35
|
||
学习间隔 = 2
|
||
等级上限 = 70
|
||
等级精通 = 60
|
||
|
||
data0 = [0, 6996, 7705, 8415, 9124, 9833, 10545, 11254, 11965, 12674, 13383, 14093, 14802, 15513, 16222, 16933, 17641, 18351, 19061, 19770, 20482, 21191, 21900, 22610, 23320, 24030, 24739, 25449, 26158, 26868, 27578, 28288, 28998, 29708, 30418, 31127, 31837, 32546, 33257, 33966, 34676, 35385, 36094, 36805, 37514, 38226, 38935, 39643, 40354, 41063, 41774, 42483, 43194, 43903, 44611, 45322, 46031, 46742, 47452, 48162, 48871, 49580, 50291, 51000, 51710, 52420, 53129, 53839, 54548, 55258, 55968]
|
||
hit0 = 1
|
||
data1 = [0, 248, 274, 298, 325, 351, 376, 401, 428, 452, 478, 504, 528, 554, 580, 604, 630, 654, 680, 706, 730, 756, 782, 806, 832, 857, 882, 908, 934, 959, 984, 1010, 1035, 1060, 1085, 1111, 1136, 1161, 1186, 1212, 1237, 1262, 1288, 1313, 1338, 1365, 1390, 1415, 1442, 1467, 1492, 1517, 1542, 1568, 1593, 1618, 1644, 1669, 1694, 1720, 1744, 1770, 1796, 1820, 1846, 1872, 1896, 1922, 1946, 1973, 1999]
|
||
hit1 = 8
|
||
感电data0 = [0, 123, 136, 149, 163, 175, 188, 201, 213, 226, 239, 251, 264, 276, 289, 302, 314, 327, 341, 353, 366, 379, 391, 404, 416, 429, 442, 454, 467, 479, 492, 505, 518, 530, 542, 555, 568, 581, 594, 606, 618, 631, 644, 657, 669, 681, 694, 707, 720, 733, 744, 757, 770, 783, 796, 807, 820, 833, 846, 860, 873, 883, 897, 910, 923, 936, 947, 960, 973, 986, 999]
|
||
感电hit0 = 8
|
||
风雷啸 = 1.70 # 风雷啸
|
||
CD = 17.0
|
||
TP成长 = 0.10
|
||
TP上限 = 5
|
||
|
||
MP = [120, 1008]
|
||
无色消耗 = 1
|
||
|
||
形态 = ['风雷啸', '普通']
|
||
|
||
def 形态变更(self, 形态, char):
|
||
if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0:
|
||
形态 = self.形态[0]
|
||
if 形态 == "风雷啸":
|
||
self.风雷啸 = 1.70
|
||
if 形态 == "普通":
|
||
self.风雷啸 = 1.00
|
||
|
||
|
||
class 技能11(主动技能): # 狮子吼
|
||
名称 = '狮子吼'
|
||
所在等级 = 35
|
||
等级上限 = 70
|
||
学习间隔 = 2
|
||
等级精通 = 60
|
||
|
||
data0 = [0, 8574, 9444, 10315, 11183, 12053, 12923, 13792, 14663, 15532, 16402, 17272, 18143, 19012, 19882, 20751, 21621, 22493, 23361, 24232, 25102, 25971, 26841, 27712, 28580, 29452, 30319, 31190, 32060, 32931, 33800, 34670, 35541, 36409, 37281, 38149, 39020, 39890, 40759, 41629, 42500, 43368, 44240, 45109, 45979, 46848, 47720, 48587, 49458, 50327, 51197, 52066, 52938, 53806, 54678, 55545, 56417, 57286, 58156, 59027, 59897, 60766, 61636, 62506, 63376, 64246, 65117, 65986, 66854, 67726, 68594]
|
||
hit0 = 1
|
||
风雷啸 = 1.70 # 风雷啸
|
||
CD = 17
|
||
TP成长 = 0.10
|
||
TP上限 = 5
|
||
是否有护石 = 1
|
||
|
||
MP = [120, 1008]
|
||
无色消耗 = 1
|
||
|
||
形态 = ['风雷啸', '普通']
|
||
|
||
def 形态变更(self, 形态, char):
|
||
if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0:
|
||
形态 = self.形态[0]
|
||
if 形态 == "风雷啸":
|
||
self.风雷啸 = 1.70
|
||
if 形态 == "普通":
|
||
self.风雷啸 = 1.00
|
||
|
||
def 装备护石(self, char):
|
||
self.倍率 *= 1.37
|
||
|
||
|
||
class 技能12(主动技能): # 螺旋念气场
|
||
名称 = '螺旋念气场'
|
||
所在等级 = 40
|
||
等级上限 = 70
|
||
学习间隔 = 2
|
||
等级精通 = 60
|
||
|
||
data0 = [0, 783, 864, 942, 1023, 1102, 1183, 1262, 1341, 1422, 1500, 1580, 1658, 1739, 1820, 1897, 1980, 2060, 2139, 2220, 2298, 2378, 2457, 2537, 2616, 2696, 2777, 2854, 2936, 3016, 3095, 3174, 3253, 3334, 3413, 3492, 3572, 3652, 3731, 3810, 3891, 3971, 4051, 4129, 4209, 4289, 4368, 4448, 4528, 4607, 4687, 4765, 4845, 4925, 5006, 5085, 5165, 5244, 5324, 5403, 5483, 5562, 5643, 5721, 5801, 5880, 5960, 6041, 6119, 6200, 6280]
|
||
hit0 = 17
|
||
风雷啸 = 1.70 # 风雷啸
|
||
感电data0 = [0, 351, 385, 421, 458, 492, 527, 566, 600, 636, 672, 707, 743, 778, 813, 850, 885, 921, 956, 992, 1027, 1063, 1100, 1134, 1170, 1206, 1240, 1275, 1314, 1347, 1384, 1420, 1454, 1491, 1526, 1562, 1597, 1633, 1670, 1704, 1739, 1776, 1811, 1846, 1883, 1918, 1954, 1990, 2025, 2062, 2097, 2131, 2169, 2204, 2239, 2275, 2311, 2346, 2381, 2419, 2454, 2487, 2523, 2561, 2594, 2630, 2669, 2703, 2738, 2773, 2810]
|
||
感电hit0 = 2
|
||
CD = 20.0
|
||
TP成长 = 0.10
|
||
TP上限 = 5
|
||
是否有护石 = 1
|
||
|
||
MP = [170, 1428]
|
||
无色消耗 = 1
|
||
|
||
形态 = ['风雷啸', '普通']
|
||
|
||
def 形态变更(self, 形态, char):
|
||
if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0:
|
||
形态 = self.形态[0]
|
||
if 形态 == "风雷啸":
|
||
# 感电部分不受风雷啸加成;但是风雷啸是螺旋球体*5,每个伤害为原来总伤(含感电)的14%;所以直伤的占比会上升
|
||
# 无风雷啸时,感电为直伤的4.9975%
|
||
self.风雷啸 = 1.70
|
||
self.power0 = 1.049975
|
||
self.感电power0 = 1/1.70
|
||
if 形态 == "普通":
|
||
self.风雷啸 = 1.00
|
||
self.power0 = 1.00
|
||
self.感电power0 = 1.00
|
||
|
||
def 装备护石(self, char): # 1.09 0.83
|
||
self.倍率 *= 1.18
|
||
self.CDR *= 0.83
|
||
|
||
|
||
class 技能13(主动技能): # 念兽:龙虎啸
|
||
名称 = '念兽:龙虎啸'
|
||
所在等级 = 30
|
||
等级上限 = 20
|
||
学习间隔 = 3
|
||
等级精通 = 10
|
||
MP = [357, 2911]
|
||
# 第1击魔法武器攻击力:<int>%
|
||
data0 = [0, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, 174]
|
||
hit0 = 1
|
||
# 第2击魔法武器攻击力:<int>%
|
||
data1 = [0, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196]
|
||
hit1 = 1
|
||
# 第3击魔法武器攻击力:<int>%
|
||
data2 = [0, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218, 218]
|
||
hit2 = 1
|
||
# 第4击魔法武器攻击力:<int>%
|
||
data3 = [0, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240]
|
||
hit3 = 1
|
||
# 第5击魔法武器攻击力:<int>%
|
||
data4 = [0, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261, 261]
|
||
hit4 = 1
|
||
# 感电只有最后一击才会赋予
|
||
感电data0 = [0, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14]
|
||
感电hit0 = 1
|
||
CD = 1.0
|
||
|
||
关联技能 = ['所有']
|
||
|
||
def 加成倍率(self, 武器类型):
|
||
if self.等级 == 0:
|
||
return 1.0
|
||
elif self.等级 < 7:
|
||
return round(1.17 + 0.01 * self.等级, 5)
|
||
else:
|
||
return round(1.3 + 0.02 * (self.等级-10), 5)
|
||
|
||
|
||
class 技能14(主动技能): # 念兽:猛虎震地 CP武器 爆炸=多段(多段*2)
|
||
名称 = '念兽:猛虎震地'
|
||
所在等级 = 45
|
||
等级上限 = 70
|
||
学习间隔 = 2
|
||
等级精通 = 60
|
||
|
||
data0 = [0, 2892, 3187, 3479, 3772, 4068, 4360, 4654, 4948, 5240, 5535, 5828, 6120, 6416, 6708, 7004, 7295, 7589, 7884, 8175, 8471, 8764, 9058, 9351, 9643, 9939, 10231, 10526, 10818, 11111, 11406, 11699, 11992, 12286, 12579, 12873, 13167, 13459, 13754, 14047, 14340, 14634, 14928, 15222, 15514, 15809, 16103, 16396, 16689, 16982, 17276, 17569, 17864, 18156, 18452, 18744, 19036, 19331, 19624, 19918, 20211, 20506, 20798, 21093, 21386, 21678, 21973, 22267, 22561, 22853, 23147]
|
||
hit0 = 4
|
||
data1 = [0, 11573, 12749, 13920, 15095, 16269, 17444, 18619, 19791, 20967, 22140, 23315, 24488, 25664, 26837, 28012, 29185, 30359, 31534, 32709, 33882, 35057, 36229, 37406, 38577, 39752, 40927, 42102, 43275, 44449, 45624, 46797, 47972, 49145, 50321, 51495, 52668, 53843, 55018, 56191, 57365, 58538, 59713, 60888, 62061, 63236, 64410, 65584, 66758, 67931, 69106, 70282, 71454, 72629, 73803, 74978, 76150, 77326, 78501, 79675, 80847, 82021, 83198, 84369, 85544, 86719, 87893, 89067, 90240, 91415, 92589]
|
||
hit1 = 1
|
||
风雷啸 = 1.7 # 风雷啸,分成4段
|
||
CD = 45
|
||
TP成长 = 0.10
|
||
TP上限 = 5
|
||
是否有护石 = 1
|
||
|
||
MP = [450, 3780]
|
||
无色消耗 = 2
|
||
|
||
形态 = ['风雷啸', '普通']
|
||
|
||
def 形态变更(self, 形态, char: Character):
|
||
if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0:
|
||
形态 = self.形态[0]
|
||
if 形态 == "风雷啸":
|
||
self.风雷啸 = 1.70
|
||
if '念兽:猛虎震地' in char.护石栏:
|
||
self.风雷啸 = 1.49+0.7
|
||
if 形态 == "普通":
|
||
self.风雷啸 = 1.00
|
||
if '念兽:猛虎震地' in char.护石栏:
|
||
self.风雷啸 = 1.49
|
||
|
||
def 装备护石(self, char): # 风雷啸部分不受护石的加成
|
||
pass
|
||
|
||
|
||
class 技能15(被动技能): # 念之奥义 一觉被动
|
||
名称 = '念之奥义'
|
||
所在等级 = 48
|
||
等级上限 = 50
|
||
学习间隔 = 3
|
||
等级精通 = 40
|
||
|
||
关联技能 = ['所有']
|
||
|
||
# 增伤倍率 *= 1 + self.暴击伤害
|
||
def 加成倍率(self, 武器类型):
|
||
if self.等级 == 0:
|
||
return 1.0
|
||
else:
|
||
return round(1.055 + 0.015 * self.等级, 5)
|
||
|
||
|
||
class 技能16(主动技能): # 念兽:审判之金雷虎 一觉
|
||
名称 = '念兽:审判之金雷虎'
|
||
所在等级 = 50
|
||
等级上限 = 50
|
||
学习间隔 = 5
|
||
等级精通 = 40
|
||
|
||
# 金雷虎身体攻击力:<data0>%
|
||
data0 = [0, 2984, 3674, 4368, 5058, 5751, 6442, 7134, 7825, 8518, 9209, 9901, 10595, 11285, 11979, 12669, 13362, 14053, 14746, 15436, 16129, 16820, 17513, 18204, 18896, 19588, 20280, 20973, 21664, 22357, 23048, 23741, 24431, 25124, 25815, 26509, 27200, 27892, 28584, 29276, 29969, 30660, 31351, 32044, 32735, 33427, 34120, 34811, 35504, 36195, 36887]
|
||
hit0 = 6
|
||
# 金雷虎落地时的冲击波攻击力:<data1>%
|
||
data1 = [0, 8098, 9974, 11854, 13732, 15609, 17488, 19367, 21244, 23122, 25000, 26878, 28757, 30633, 32511, 34391, 36268, 38145, 40023, 41903, 43780, 45658, 47537, 49415, 51294, 53168, 55047, 56926, 58803, 60682, 62560, 64438, 66317, 68196, 70071, 71951, 73828, 75705, 77584, 79464, 81340, 83220, 85096, 86974, 88854, 90730, 92608, 94487, 96366, 98244, 100119]
|
||
hit1 = 3
|
||
# 金雷虎爆炸攻击力:<data2>%
|
||
data2 = [0, 21738, 26780, 31820, 36861, 41903, 46944, 51985, 57026, 74481, 80527, 86578, 92629, 98676, 104727, 110777, 116823, 122872, 128924, 134972, 141021, 147072, 153118, 159167, 165215, 171267, 177316, 183364, 189414, 195463, 201511, 207562, 213612, 219660, 225709, 231759, 237807, 243858, 249907, 255956, 262005, 268054, 274103, 280152, 286202, 292251, 298301, 304348, 310397, 316447, 322497]
|
||
hit2 = 1
|
||
CD = 145
|
||
|
||
风雷啸 = 1.7 # 风雷啸
|
||
|
||
MP = [900, 7560]
|
||
无色消耗 = 5
|
||
|
||
|
||
class 技能17(主动技能): # 念之战矛
|
||
名称 = '念之战矛'
|
||
所在等级 = 60
|
||
等级上限 = 50
|
||
学习间隔 = 2
|
||
等级精通 = 40
|
||
|
||
data0 = [0, 4449, 4898, 5351, 5801, 6253, 6705, 7154, 7606, 8055, 8508, 8959, 9410, 9862, 10314, 10764, 11217, 11665, 12117, 12569, 13020, 13473, 13925, 14375, 14828, 15279, 15730, 16181, 16630, 17082, 17534, 17985, 18436, 18887, 19338, 19790, 20240, 20693, 21144, 21594, 22046, 22497, 22947, 23400, 23850, 24302, 24754, 25204, 25656, 26107, 26557]
|
||
hit0 = 1
|
||
data1 = [0, 17791, 19598, 21400, 23207, 25011, 26817, 28621, 30427, 32231, 34037, 35841, 37647, 39450, 41257, 43061, 44866, 46671, 48477, 50280, 52087, 53892, 55697, 57502, 59307, 61110, 62917, 64720, 66526, 68331, 70137, 71942, 73748, 75552, 77356, 79162, 80966, 82771, 84576, 86382, 88187, 89992, 91797, 93602, 95406, 97211, 99016, 100822, 102627, 104431, 106237]
|
||
hit1 = 1
|
||
感电data0 = [0, 16, 17, 19, 20, 22, 24, 25, 26, 27, 28, 30, 33, 34, 35, 36, 40, 41, 42, 44, 45, 46, 48, 49, 50, 51, 53, 57, 58, 59, 60, 61, 63, 65, 66, 68, 69, 70, 73, 75, 76, 77, 78, 81, 82, 83, 84, 85, 87, 89, 91]
|
||
感电hit0 = 1
|
||
风雷啸 = 1.7 # 风雷啸
|
||
CD = 30
|
||
TP成长 = 0.10
|
||
TP上限 = 5
|
||
是否有护石 = 1
|
||
|
||
MP = [450, 1260]
|
||
无色消耗 = 1
|
||
|
||
形态 = ['风雷啸', '普通']
|
||
|
||
def 形态变更(self, 形态, char: Character):
|
||
if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0:
|
||
形态 = self.形态[0]
|
||
if 形态 == "风雷啸":
|
||
self.风雷啸 = 1.70
|
||
if '念之战矛' in char.护石栏:
|
||
# 护石会删除掉本体的伤害,但不会删除风雷啸的部分
|
||
# 但同样,护石也只会加成本体的伤害,不会加成风雷啸的伤害
|
||
self.power1 = (1.99+0.7)/1.7
|
||
if 形态 == "普通":
|
||
self.风雷啸 = 1.00
|
||
if '念之战矛' in char.护石栏:
|
||
self.power1 = 1.99
|
||
|
||
def 装备护石(self, char):
|
||
self.hit0 = 0
|
||
self.hit1 = 1
|
||
self.感电hit0 = 0
|
||
pass
|
||
|
||
|
||
class 技能18(主动技能): # 冲云念气场
|
||
名称 = '冲云念气场'
|
||
所在等级 = 70
|
||
等级上限 = 50
|
||
学习间隔 = 2
|
||
等级精通 = 40
|
||
|
||
data0 = [0, 5154, 5676, 6198, 6722, 7243, 7767, 8289, 8814, 9336, 9858, 10380, 10903, 11425, 11950, 12471, 12994, 13517, 14040, 14563, 15087, 15610, 16132, 16655, 17176, 17701, 18222, 18746, 19269, 19790, 20313, 20838, 21359, 21883, 22405, 22929, 23449, 23972, 24497, 25019, 25542, 26065, 26588, 27109, 27634, 28156, 28679, 29202, 29725, 30246, 30769]
|
||
hit0 = 6
|
||
感电data0 = [0, 637, 702, 767, 829, 895, 958, 1024, 1088, 1152, 1218, 1282, 1346, 1410, 1476, 1541, 1604, 1670, 1734, 1800, 1864, 1927, 1993, 2057, 2121, 2188, 2252, 2317, 2382, 2446, 2510, 2576, 2641, 2704, 2770, 2833, 2898, 2963, 3027, 3092, 3157, 3220, 3284, 3351, 3416, 3478, 3544, 3608, 3673, 3737, 3801]
|
||
感电hit0 = 6
|
||
风雷啸 = 1.7 # 风雷啸
|
||
CD = 50
|
||
TP成长 = 0.10
|
||
TP上限 = 5
|
||
是否有护石 = 1
|
||
|
||
MP = [800, 1680]
|
||
无色消耗 = 2
|
||
|
||
形态 = ['风雷啸', '普通']
|
||
|
||
def 形态变更(self, 形态, char: Character):
|
||
if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0:
|
||
形态 = self.形态[0]
|
||
if 形态 == "风雷啸":
|
||
self.风雷啸 = 1.70
|
||
if '冲云念气场' in char.护石栏:
|
||
# 护石会直接取代原本风雷啸的加成
|
||
self.风雷啸 = 2.3
|
||
if 形态 == "普通":
|
||
self.风雷啸 = 1.00
|
||
|
||
def 装备护石(self, char):
|
||
pass
|
||
|
||
|
||
class 技能19(主动技能): # 奔雷螺旋击
|
||
名称 = '奔雷螺旋击'
|
||
所在等级 = 75
|
||
等级上限 = 50
|
||
学习间隔 = 2
|
||
等级精通 = 40
|
||
|
||
data0 = [0, 72799, 80183, 87570, 94955, 102341, 109727, 117113, 124498, 131883, 139267, 146653, 154039, 161425, 168812, 176195, 183581, 190968, 198354, 205739, 213124, 220509, 227895, 235280, 242666, 250052, 257437, 264822, 272209, 279593, 286978, 294363, 301749, 309134, 316521, 323906, 331293, 338676, 346062, 353448, 360834, 368218, 375605, 382988, 390375, 397760, 405146, 412533, 419918, 427303, 434689]
|
||
hit0 = 1
|
||
风雷啸 = 1.7 # 风雷啸
|
||
CD = 42
|
||
是否有护石 = 1
|
||
|
||
形态 = ['风雷啸', '普通']
|
||
|
||
def 形态变更(self, 形态, char: Character):
|
||
if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0:
|
||
形态 = self.形态[0]
|
||
if 形态 == "风雷啸":
|
||
self.风雷啸 = 1.70
|
||
if '奔雷螺旋击' in char.护石栏:
|
||
# 护石会直接取代原本风雷啸的加成
|
||
self.风雷啸 = 2.15
|
||
if 形态 == '普通':
|
||
self.风雷啸 = 1.00
|
||
|
||
MP = [170, 1428]
|
||
无色消耗 = 3
|
||
|
||
def 装备护石(self, char):
|
||
pass
|
||
|
||
|
||
class 技能20(主动技能): # 月辉念气破
|
||
名称 = '月辉念气破'
|
||
所在等级 = 80
|
||
等级上限 = 50
|
||
学习间隔 = 2
|
||
等级精通 = 40
|
||
|
||
data0 = [0, 9638, 10614, 11592, 12571, 13549, 14527, 15502, 16482, 17458, 18438, 19415, 20392, 21371, 22349, 23328, 24303, 25282, 26259, 27238, 28213, 29193, 30169, 31148, 32126, 33103, 34081, 35059, 36038, 37014, 37993, 38971, 39948, 40923, 41904, 42881, 43859, 44837, 45813, 46792, 47771, 48747, 49726, 50703, 51682, 52658, 53636, 54613, 55592, 56571, 57547]
|
||
hit0 = 10
|
||
CD = 45
|
||
是否有护石 = 1
|
||
|
||
MP = [450, 1260]
|
||
无色消耗 = 5
|
||
|
||
def 装备护石(self, char):
|
||
self.倍率 *= 1.3
|
||
self.CDR *= 0.9
|
||
|
||
|
||
class 技能21(被动技能): # 风雷啸
|
||
名称 = '风雷啸'
|
||
所在等级 = 75
|
||
等级上限 = 50
|
||
学习间隔 = 3
|
||
是否主动 = 1
|
||
等级精通 = 40
|
||
关联技能 = ['所有']
|
||
|
||
def 加成倍率(self, 武器类型):
|
||
if self.等级 == 0:
|
||
return 1.0
|
||
else:
|
||
return round(1.11 + 0.02 * self.等级, 5)
|
||
|
||
|
||
class 技能22(主动技能): # 月华万象 二觉
|
||
名称 = '月华万象'
|
||
所在等级 = 85
|
||
等级上限 = 50
|
||
学习间隔 = 5
|
||
等级精通 = 40
|
||
|
||
data0 = [0, 6700, 8253, 9807, 11361, 12915, 14469, 16022, 17575, 19130, 20682, 22237, 23790, 25345, 26898, 28452, 30007, 31561, 33111, 34666, 36220, 37774, 39327, 40882, 42436, 43990, 45542, 47098, 48649, 50203, 51756, 53311, 54865, 56418, 57973, 59527, 61080, 62635, 64187, 65742, 67294, 68848, 70402, 71956, 73510, 75064, 76617, 78173, 79724, 81278, 82832]
|
||
hit0 = 12
|
||
data1 = [0, 140709, 173337, 205965, 238593, 271223, 303850, 336476, 369107, 401734, 434363, 466990, 499619, 532247, 564876, 597502, 630132, 662759, 695390, 728016, 760645, 793272, 825902, 858530, 891159, 923785, 956415, 989042, 1021671, 1054299, 1086926, 1119554, 1152184, 1184813, 1217440, 1250068, 1282696, 1315325, 1347954, 1380581, 1413209, 1445837, 1478465, 1511095, 1543722, 1576350, 1608978, 1641608, 1674236, 1706864, 1739492]
|
||
hit1 = 1
|
||
CD = 180
|
||
|
||
MP = [500, 4480]
|
||
无色消耗 = 10
|
||
|
||
|
||
class 技能23(被动技能): # 禅意·万象 三觉被动
|
||
名称 = '禅意·万象'
|
||
所在等级 = 95
|
||
等级上限 = 40
|
||
学习间隔 = 3
|
||
等级精通 = 30
|
||
关联技能 = ['所有']
|
||
|
||
def 加成倍率(self, 武器类型):
|
||
if self.等级 == 0:
|
||
return 1.0
|
||
else:
|
||
return round(1.18 + 0.02 * self.等级, 5)
|
||
|
||
|
||
class 技能24(主动技能): # 禅语·形灭
|
||
名称 = '禅语·形灭'
|
||
所在等级 = 95
|
||
等级上限 = 50
|
||
学习间隔 = 2
|
||
等级精通 = 40
|
||
|
||
data0 = [0, 6237, 6868, 7502, 8133, 8766, 9399, 10033, 10663, 11297, 11929, 12563, 13195, 13828, 14460, 15094, 15725, 16360, 16991, 17624, 18256, 18890, 19521, 20155, 20787, 21420, 22051, 22684, 23315, 23949, 24582, 25216, 25846, 26480, 27112, 27747, 28379, 29011, 29644, 30276, 30909, 31543, 32175, 32807, 33440, 34073, 34704, 35338, 35971, 36603, 37236]
|
||
hit0 = 10
|
||
data1 = [0, 62362, 68688, 75016, 81342, 87669, 93995, 100321, 106648, 112975, 119302, 125627, 131955, 138282, 144607, 150934, 157261, 163587, 169914, 176242, 182569, 188894, 195221, 201547, 207874, 214199, 220528, 226855, 233182, 239507, 245834, 252161, 258488, 264814, 271141, 277466, 283793, 290119, 296446, 302772, 309102, 315428, 321754, 328081, 334408, 340734, 347059, 353387, 359714, 366039, 372366]
|
||
hit1 = 1
|
||
风雷啸 = 1.7 # 风雷啸
|
||
CD = 60.0
|
||
|
||
MP = [773, 6000]
|
||
无色消耗 = 7
|
||
|
||
|
||
class 技能25(主动技能): # 禅念·归一 三觉
|
||
名称 = '禅念·归一'
|
||
所在等级 = 100
|
||
等级上限 = 50
|
||
学习间隔 = 5
|
||
等级精通 = 40
|
||
|
||
data0 = [0, 401727, 494883, 588037, 681190, 774344, 867499, 960655, 1053807, 1146962, 1240118, 1333272, 1426426, 1519579, 1612734, 1705890, 1799043, 1892198, 1985353, 2078507, 2171661, 2264814, 2357969, 2451125, 2544277, 2637433, 2730588, 2823741, 2916896, 3010050, 3103204, 3196360, 3289512, 3382668, 3475823, 3568978, 3662131, 3755285, 3848441, 3941592, 4034747, 4127902, 4221058, 4314212, 4407366, 4500520, 4593676, 4686829, 4779982, 4873138, 4966292]
|
||
hit0 = 1
|
||
data1 = [0, 44635, 54985, 65336, 75686, 86037, 96388, 106738, 117091, 127439, 137790, 148141, 158492, 168842, 179192, 189542, 199893, 210245, 220595, 230945, 241294, 251645, 261997, 272347, 282697, 293046, 303397, 313747, 324100, 334450, 344800, 355150, 365500, 375852, 386201, 396552, 406903, 417253, 427603, 437953, 448305, 458655, 469006, 479357, 489705, 500058, 510408, 520759, 531108, 541459, 551810]
|
||
hit1 = 6
|
||
CD = 290.0
|
||
|
||
MP = [4027, 8054]
|
||
无色消耗 = 15
|
||
|
||
|
||
class classChange(Character):
|
||
def __init__(self, equVersion=""):
|
||
self.实际名称 = 'nenmaster_male'
|
||
self.名称 = '归元·气功师'
|
||
self.角色 = '格斗家(男)'
|
||
self.角色类型 = '输出'
|
||
self.职业 = '气功师'
|
||
# 用来筛CP武器的
|
||
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.43*1.21
|
||
|
||
super().__init__(equVersion)
|
||
|
||
def 职业特殊计算(self):
|
||
|
||
念气波 = self.get_skill_by_name('念气波')
|
||
蓄念炮倍率 = self.get_skill_by_name('蓄念炮').加成倍率(self.武器类型)
|
||
|
||
念气波.倍率 /= 蓄念炮倍率
|
||
念气波.蓄念炮加成 = 蓄念炮倍率
|
||
|
||
pass
|
||
|
||
def set_skill_info(self, info, rune_except=[], clothes_pants=[]):
|
||
super().set_skill_info(info, clothes_pants=['远古记忆','分身'])
|