708 lines
30 KiB
Python
708 lines
30 KiB
Python
from core.basic.skill import 技能
|
|
from core.basic.character import Character
|
|
from core.basic.skill import 主动技能, 被动技能
|
|
|
|
|
|
class 技能0(主动技能):
|
|
名称 = 'RX-78追击者'
|
|
所在等级 = 5
|
|
等级上限 = 70
|
|
学习间隔 = 2
|
|
等级精通 = 60
|
|
MP = [10, 168]
|
|
data0 = [0, 700, 771, 842, 912, 983, 1053, 1125, 1197, 1267, 1339, 1410, 1480, 1551, 1623, 1694, 1764, 1836, 1908, 1978, 2050, 2121, 2191, 2263, 2333, 2404, 2477, 2547, 2619, 2689, 2760, 2831, 2901, 2973, 3043, 3115, 3187, 3257, 3327, 3399, 3470, 3541, 3612, 3684, 3755, 3825, 3898, 3968, 4038, 4111, 4181, 4251, 4323, 4395, 4466, 4536, 4608, 4679, 4749, 4820, 4891, 4962, 5033, 5105, 5175, 5246, 5318, 5389, 5459, 5529, 5603]
|
|
hit0 = 1
|
|
CD = 2.8
|
|
TP成长 = 0.10
|
|
TP上限 = 7
|
|
|
|
|
|
class 技能1(主动技能):
|
|
名称 = 'Ez-8自爆者'
|
|
所在等级 = 15
|
|
等级上限 = 70
|
|
学习间隔 = 2
|
|
等级精通 = 60
|
|
MP = [60, 504]
|
|
data0 = [0, 2395, 2638, 2880, 3124, 3366, 3610, 3853, 4096, 4339, 4582, 4825, 5067, 5311, 5553, 5797, 6040, 6283, 6527, 6769, 7012, 7255, 7498, 7741, 7984, 8227, 8469, 8714, 8956, 9199, 9443, 9685, 9929, 10171, 10413, 10658, 10899, 11142, 11387, 11629, 11871, 12115, 12357, 12600, 12844, 13086, 13330, 13572, 13816, 14059, 14302, 14545, 14788, 15031, 15273, 15517, 15759, 16002, 16247, 16489, 16732, 16975, 17218, 17462, 17704, 17947, 18190, 18433, 18675, 18920, 19162]
|
|
hit0 = 1
|
|
CD = 7.5
|
|
TP成长 = 0.10
|
|
TP上限 = 7
|
|
演出时间 = 5.5
|
|
|
|
|
|
class 技能2(被动技能):
|
|
名称 = '机械引爆'
|
|
所在等级 = 15
|
|
等级上限 = 20
|
|
基础等级 = 5
|
|
是否主动 = 1
|
|
关联技能 = ['RX-78追击者', 'Ez-8自爆者']
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
else:
|
|
return 1.40
|
|
|
|
|
|
class 技能3(被动技能):
|
|
名称 = '机械原理'
|
|
所在等级 = 15
|
|
等级上限 = 11
|
|
学习间隔 = 3
|
|
等级精通 = 1
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
else:
|
|
return round(1.085+0.015*self.等级, 5)
|
|
|
|
|
|
class 技能4(主动技能):
|
|
名称 = 'G1科罗纳'
|
|
所在等级 = 20
|
|
等级上限 = 70
|
|
学习间隔 = 2
|
|
等级精通 = 60
|
|
MP = [40, 420]
|
|
关联技能 = ['G2旋雷者', 'G3捕食者']
|
|
data0 = [0, 171, 192, 208, 225, 242, 261, 276, 295, 312, 329, 349, 366, 384, 400, 419, 437, 453, 471, 489, 504, 524, 543, 560, 576, 594, 613, 628, 646, 664, 683, 700, 717, 738, 755, 771, 788, 805, 822, 842, 860, 878, 895, 912, 929, 945, 965, 982, 1001, 1016, 1034, 1054, 1070, 1089, 1106, 1125, 1140, 1159, 1176, 1194, 1212, 1230, 1248, 1264, 1281, 1299, 1317, 1334, 1355, 1373, 1387]
|
|
hit0 = 1
|
|
攻击间隔0 = 0.2
|
|
TP成长 = 0.10
|
|
TP上限 = 7
|
|
CD = 20.0 # 召唤冷却
|
|
输出时间 = 0
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
else:
|
|
return round(1.59+0.01*self.等级, 5)
|
|
|
|
def 等效百分比(self, **argv):
|
|
self.hit0 = self.输出时间 / self.攻击间隔0 * 1
|
|
char = argv.get('char', {})
|
|
# G1倍率 = char.get_skill_by_name("G1科罗纳").加成倍率("")
|
|
G2倍率 = char.get_skill_by_name("G2旋雷者").加成倍率("")
|
|
G3倍率 = char.get_skill_by_name("G3捕食者").加成倍率("")
|
|
return super().等效百分比(**argv) / G2倍率 / G3倍率 * (G3倍率 + G2倍率 - 1)
|
|
|
|
|
|
class 技能5(被动技能):
|
|
名称 = '危机追击者'
|
|
备注 = '期望'
|
|
所在等级 = 20
|
|
等级上限 = 20
|
|
学习间隔 = 3
|
|
等级精通 = 10
|
|
关联技能 = ['RX-78追击者']
|
|
|
|
data0 = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180, 190, 200]
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
else:
|
|
return 1.0+self.data0/1000
|
|
|
|
|
|
class 技能6(主动技能):
|
|
名称 = 'G2旋雷者'
|
|
所在等级 = 25
|
|
等级上限 = 70
|
|
学习间隔 = 2
|
|
等级精通 = 60
|
|
MP = [58, 609]
|
|
关联技能 = ['G1科罗纳', 'G3捕食者', 'G1磁力弹']
|
|
# 静电 近身
|
|
data0 = [0, 86, 95, 104, 113, 122, 129, 139, 147, 157, 165, 174, 182, 191, 200, 207, 217, 226, 234, 243, 251, 261, 270, 278, 287, 296, 305, 312, 322, 330, 340, 347, 357, 365, 375, 382, 391, 400, 408, 418, 426, 434, 444, 452, 461, 469, 479, 488, 495, 505, 513, 523, 529, 540, 548, 557, 565, 574, 583, 592, 601, 609, 618, 627, 635, 644, 652, 662, 670, 677, 687]
|
|
hit0 = 0
|
|
攻击间隔0 = 1
|
|
# 电波 远程
|
|
data1 = [0, 859, 946, 1033, 1119, 1208, 1294, 1382, 1469, 1556, 1642, 1731, 1817, 1905, 1990, 2079, 2164, 2253, 2339, 2427, 2513, 2601, 2688, 2776, 2861, 2950, 3036, 3124, 3212, 3298, 3385, 3471, 3560, 3645, 3734, 3820, 3907, 3995, 4082, 4168, 4256, 4342, 4431, 4516, 4605, 4691, 4778, 4864, 4953, 5039, 5127, 5213, 5301, 5387, 5476, 5562, 5649, 5737, 5825, 5911, 5999, 6085, 6172, 6259, 6347, 6434, 6520, 6608, 6693, 6782, 6867]
|
|
hit1 = 4
|
|
攻击间隔1 = 6
|
|
|
|
CD = 1 # 技能本身没有CD
|
|
|
|
输出时间 = 0
|
|
|
|
形态 = ["远程", "近身"]
|
|
|
|
def 形态变更(self, 形态, char: Character):
|
|
if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0:
|
|
形态 = self.形态[0]
|
|
if 形态 == "远程":
|
|
self.hit0 = 0
|
|
self.hit1 = self.输出时间 / self.攻击间隔1 * 4
|
|
if 形态 == "近身":
|
|
# 二觉被动
|
|
self.hit0 = self.输出时间 / (self.攻击间隔0 / 1.05)
|
|
self.hit1 = 0
|
|
|
|
def 等效CD(self, **argv):
|
|
return round(1.5, 1)
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
else:
|
|
return round(1.50+0.01*self.等级, 5)
|
|
|
|
def 等效百分比(self, **argv):
|
|
char = argv.get('char', {})
|
|
G1倍率 = char.get_skill_by_name("G1科罗纳").加成倍率("")
|
|
# G2倍率 = char.get_skill_by_name("G2旋雷者").加成倍率("")
|
|
G3倍率 = char.get_skill_by_name("G3捕食者").加成倍率("")
|
|
return super().等效百分比(**argv) / G1倍率 / G3倍率 * (G3倍率+G1倍率-1)
|
|
|
|
|
|
class 技能7(主动技能):
|
|
名称 = '毒蛇炮'
|
|
备注 = '满'
|
|
所在等级 = 25
|
|
等级上限 = 70
|
|
学习间隔 = 2
|
|
等级精通 = 60
|
|
MP = [60, 504]
|
|
data0 = [0, 104, 115, 127, 136, 148, 156, 169, 180, 190, 201, 211, 222, 232, 244, 254, 265, 276, 285, 295, 306, 318, 329, 338, 350, 360, 370, 381, 393, 403, 413, 424, 434, 446, 454, 466, 478, 487, 499, 508, 519, 530, 542, 551, 562, 571, 583, 594, 606, 615, 627, 635, 646, 657, 669, 680, 690, 700, 711, 722, 731, 743, 755, 764, 775, 784, 796, 806, 817, 828, 839]
|
|
hit0 = 30
|
|
CD = 3.5
|
|
TP成长 = 0.10
|
|
TP上限 = 7
|
|
演出时间 = 5.5
|
|
|
|
|
|
class 技能8(被动技能):
|
|
名称 = '电能转换'
|
|
所在等级 = 25
|
|
等级上限 = 20
|
|
学习间隔 = 3
|
|
等级精通 = 10
|
|
关联技能 = ['毒蛇炮', '空战机械:狂风', '空投支援', '拦截机工厂', 'G0战争领主', 'HS12等离子体发生器', 'G4雷行者',
|
|
'GSP猎鹰', '高压电磁场', '终结者:博尔特MX', '超时空光耀加农炮', 'G-X星尘天穹', 'RX-78追击者', 'Ez-8自爆者']
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
else:
|
|
return round(1.10+0.02*self.等级, 5)
|
|
|
|
|
|
class 技能9(主动技能):
|
|
名称 = 'G3捕食者'
|
|
备注 = '秒伤'
|
|
所在等级 = 30
|
|
等级上限 = 70
|
|
学习间隔 = 2
|
|
等级精通 = 60
|
|
MP = [77, 808]
|
|
关联技能 = ['G1科罗纳', 'G2旋雷者', 'G1磁力弹']
|
|
data0 = [0, 155, 170, 186, 201, 217, 232, 248, 264, 279, 295, 308, 325, 343, 358, 372, 388, 403, 418, 436, 450, 466, 481, 497, 512, 527, 545, 561, 575, 591, 606, 622, 638, 653, 669, 685, 700, 715, 731, 746, 763, 776, 792, 808, 823, 838, 852, 869, 885, 901, 916, 932, 947, 964, 979, 994, 1011, 1026, 1041, 1057, 1073, 1088, 1104, 1119, 1135, 1150, 1166, 1182, 1197, 1213, 1230]
|
|
hit0 = 4
|
|
攻击间隔0 = 0.5
|
|
CD = 0 # 技能本身没有CD
|
|
输出时间 = 0
|
|
|
|
def 等效CD(self, **argv):
|
|
return round(0.5, 1)
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
if self.等级 <= 12:
|
|
return round(1.49+0.01*self.等级, 3)
|
|
else:
|
|
return round(1.37+0.02*self.等级, 3)
|
|
|
|
def 等效百分比(self, **argv):
|
|
self.hit0 = self.输出时间 / self.攻击间隔0 * 4
|
|
char = argv.get('char', {})
|
|
G1倍率 = char.get_skill_by_name("G1科罗纳").加成倍率("")
|
|
G2倍率 = char.get_skill_by_name("G2旋雷者").加成倍率("")
|
|
# G3倍率 = char.get_skill_by_name("G3捕食者").加成倍率("")
|
|
return super().等效百分比(**argv) / G1倍率 / G2倍率 * (G2倍率+G1倍率-1)
|
|
|
|
|
|
class 技能10(主动技能):
|
|
名称 = 'G1磁力弹'
|
|
所在等级 = 30
|
|
等级上限 = 1
|
|
学习间隔 = 2
|
|
等级精通 = 1
|
|
MP = [70, 1600]
|
|
data0 = [0, 171, 192, 208, 225, 242, 261, 276, 295, 312, 329, 349, 366, 384, 400, 419, 437, 453, 471, 489, 504, 524, 543, 560, 576, 594, 613, 628, 646, 664, 683, 700, 717, 738, 755, 771, 788, 805, 822, 842, 860, 878, 895, 912, 929, 945, 965, 982, 1001, 1016, 1034, 1054, 1070, 1089, 1106, 1125, 1140, 1159, 1176, 1194, 1212, 1230, 1248, 1264, 1281, 1299, 1317, 1334, 1355, 1373, 1387]
|
|
hit0 = 10
|
|
CD = 15.0
|
|
倍率 = 1.72
|
|
|
|
def 等效百分比(self, **argv):
|
|
char = argv.get('char', {})
|
|
# G1倍率 = char.get_skill_by_name("G1科罗纳").加成倍率("")
|
|
G2倍率 = char.get_skill_by_name("G2旋雷者").加成倍率("")
|
|
G3倍率 = char.get_skill_by_name("G3捕食者").加成倍率("")
|
|
return super().等效百分比(**argv) / G2倍率 / G3倍率 * (G3倍率 + G2倍率 - 1)
|
|
|
|
|
|
class 技能11(主动技能):
|
|
名称 = '空战机械:狂风'
|
|
所在等级 = 35
|
|
等级上限 = 70
|
|
学习间隔 = 2
|
|
等级精通 = 60
|
|
|
|
# 机枪一轮
|
|
data0 = [0, 854, 943, 1029, 1114, 1202, 1289, 1375, 1462, 1548, 1635, 1722, 1809, 1896, 1982, 2068, 2157, 2243, 2327, 2414, 2502, 2589, 2676, 2760, 2849, 2935, 3023, 3109, 3195, 3282, 3370, 3457, 3542, 3627, 3714, 3804, 3889, 3976, 4061, 4149, 4237, 4323, 4410, 4496, 4582, 4670, 4757, 4842, 4928, 5015, 5103, 5190, 5275, 5363, 5449, 5537, 5623, 5710, 5796, 5883, 5968, 6056, 6143, 6228, 6318, 6403, 6490, 6575, 6663, 6751, 6837]
|
|
hit0 = 3
|
|
攻击间隔0 = 3
|
|
|
|
# 导弹一轮
|
|
data1 = [0, 386, 425, 463, 502, 540, 581, 620, 658, 698, 736, 776, 815, 853, 892, 930, 970, 1010, 1048, 1086, 1126, 1166, 1204, 1243, 1281, 1321, 1360, 1399, 1438, 1477, 1517, 1555, 1595, 1633, 1672, 1713, 1752, 1789, 1829, 1868, 1907, 1945, 1984, 2024, 2061, 2102, 2141, 2180, 2218, 2258, 2296, 2335, 2374, 2413, 2452, 2491, 2531, 2569, 2606, 2647, 2686, 2727, 2765, 2802, 2844, 2883, 2921, 2960, 2999, 3038, 3077]
|
|
hit1 = 6
|
|
攻击间隔1 = 3
|
|
|
|
# 爆炸
|
|
data2 = [0, 3077, 3387, 3701, 4012, 4324, 4637, 4949, 5261, 5572, 5886, 6197, 6511, 6822, 7133, 7445, 7760, 8070, 8381, 8694, 9006, 9318, 9629, 9940, 10256, 10568, 10879, 11190, 11503, 11814, 12127, 12441, 12751, 13063, 13374, 13687, 13998, 14310, 14624, 14937, 15247, 15559, 15872, 16184, 16496, 16809, 17119, 17432, 17745, 18055, 18367, 18680, 18992, 19305, 19616, 19929, 20241, 20553, 20863, 21178, 21490, 21802, 22112, 22425, 22736, 23048, 23361, 23673, 23986, 24297, 24610]
|
|
hit2 = 1
|
|
power2 = 1.4 # 引爆
|
|
CD = 30.0 # 召唤CD
|
|
TP成长 = 0.10
|
|
TP上限 = 5
|
|
装备护石 = 0
|
|
是否有护石 = 1
|
|
输出时间 = 0
|
|
|
|
MP = [200, 1680]
|
|
无色消耗 = 1
|
|
|
|
形态 = ['续航', '爆炸']
|
|
|
|
def 手搓CD(self):
|
|
return 0
|
|
|
|
def 装备护石(self, char):
|
|
self.power0 = 0
|
|
self.power1 = 0
|
|
self.power2 *= 9.24 / 1.4
|
|
|
|
def 形态变更(self, 形态, char: Character):
|
|
if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0:
|
|
形态 = self.形态[0]
|
|
if "空战机械:狂风" in char.护石栏:
|
|
形态 = "爆炸"
|
|
if 形态 == "续航":
|
|
self.hit0 = self.输出时间 / self.攻击间隔0 * 3
|
|
self.hit1 = self.输出时间 / self.攻击间隔1 * 6
|
|
self.hit2 = 0
|
|
if 形态 == "爆炸":
|
|
self.hit0 = 0
|
|
self.hit1 = 0
|
|
self.hit2 = 1
|
|
|
|
|
|
|
|
class 技能12(主动技能):
|
|
名称 = '空投支援'
|
|
备注 = '直接引爆'
|
|
所在等级 = 40
|
|
等级上限 = 70
|
|
学习间隔 = 2
|
|
等级精通 = 60
|
|
|
|
data0 = [0, 1379, 1520, 1660, 1798, 1940, 2080, 2220, 2359, 2500, 2641, 2778, 2920, 3061, 3198, 3340, 3479, 3621, 3758, 3898, 4040, 4181, 4320, 4459, 4600, 4738, 4880, 5020, 5159, 5298, 5439, 5581, 5718, 5858, 5999, 6139, 6279, 6420, 6560, 6700, 6837, 6980, 7119, 7256, 7400, 7537, 7679, 7816, 7958, 8099, 8236, 8379, 8516, 8658, 8798, 8937, 9079, 9218, 9358, 9498, 9638, 9776, 9917, 10058, 10198, 10338, 10477, 10619, 10756, 10898, 11037]
|
|
hit0 = 20
|
|
CD = 35
|
|
TP成长 = 0.10
|
|
TP上限 = 5
|
|
是否有护石 = 1
|
|
|
|
MP = [300, 2520]
|
|
无色消耗 = 2
|
|
|
|
def 装备护石(self, char):
|
|
self.hit0 = 23
|
|
self.倍率 *= 1.16
|
|
self.CDR = 0.9
|
|
|
|
|
|
class 技能13(主动技能):
|
|
名称 = '拦截机工厂'
|
|
所在等级 = 45
|
|
等级上限 = 70
|
|
学习间隔 = 2
|
|
等级精通 = 60
|
|
|
|
data0 = [0, 244, 270, 296, 318, 343, 367, 392, 417, 444, 469, 493, 518, 542, 567, 593, 618, 641, 667, 691, 715, 743, 767, 792, 814, 841, 865, 891, 914, 939, 964, 990, 1014, 1039, 1066, 1089, 1113, 1137, 1165, 1189, 1212, 1237, 1262, 1288, 1312, 1338, 1360, 1388, 1410, 1435, 1459, 1486, 1509, 1534, 1560, 1583, 1609, 1632, 1659, 1682, 1707, 1733, 1758, 1780, 1808, 1833, 1858, 1884, 1907, 1931, 1958]
|
|
hit0 = 110
|
|
data1 = [0, 1834, 2019, 2208, 2393, 2578, 2765, 2952, 3138, 3324, 3508, 3694, 3880, 4066, 4250, 4439, 4626, 4812, 4998, 5184, 5368, 5554, 5742, 5927, 6115, 6299, 6485, 6671, 6858, 7045, 7229, 7417, 7602, 7788, 7974, 8160, 8346, 8533, 8718, 8903, 9089, 9277, 9462, 9649, 9836, 10022, 10208, 10393, 10578, 10764, 10949, 11135, 11323, 11510, 11696, 11881, 12066, 12253, 12439, 12626, 12811, 12995, 13185, 13370, 13555, 13739, 13926, 14115, 14301, 14486, 14669]
|
|
hit1 = 6
|
|
data2 = [0, 32202, 35468, 38737, 42003, 45271, 48536, 51803, 55069, 58337, 61604, 64872, 68139, 71407, 74670, 77937, 81204, 84474, 87741, 91007, 94275, 97538, 100807, 104074, 107342, 110608, 113876, 117142, 120409, 123674, 126943, 130209, 133477, 136743, 140011, 143276, 146544, 149811, 153078, 156344, 159612, 162878, 166144, 169411, 172680, 175945, 179212, 182479, 185746, 189012, 192279, 195547, 198814, 202080, 205347, 208615, 211880, 215148, 218415, 221683, 224949, 228217, 231482, 234749, 238015, 241284, 244550, 247818, 251084, 254350, 236719]
|
|
hit2 = 0
|
|
CD = 45
|
|
TP成长 = 0.10
|
|
TP上限 = 5
|
|
是否有护石 = 1
|
|
|
|
MP = [450, 3780]
|
|
无色消耗 = 2
|
|
|
|
def 装备护石(self, char):
|
|
self.hit0 = 120
|
|
self.power0 = 1.25
|
|
self.power1 = 1.25
|
|
self.power2 = 1.22
|
|
|
|
def 等效百分比(self, **argv):
|
|
char = argv.get('char', {})
|
|
光能 = char.get_skill_by_name("光反应能量模块")
|
|
if 光能.等级 > 0:
|
|
self.hit0 = 0
|
|
self.hit1 = 0
|
|
self.hit2 = 1
|
|
else:
|
|
self.hit0 = 110
|
|
self.hit1 = 6
|
|
self.hit2 = 0
|
|
if '拦截机工厂' in char.护石栏:
|
|
self.hit0 = 120
|
|
return super().等效百分比(**argv)
|
|
|
|
|
|
class 技能14(被动技能):
|
|
名称 = '光反应能量模块'
|
|
所在等级 = 45
|
|
等级上限 = 1
|
|
基础等级 = 1
|
|
关联技能 = ['拦截机工厂']
|
|
倍率 = 1.0
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
return self.倍率
|
|
|
|
|
|
class 技能15(被动技能):
|
|
名称 = 'G系扩张'
|
|
所在等级 = 48
|
|
等级上限 = 50
|
|
学习间隔 = 3
|
|
等级精通 = 40
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
else:
|
|
return round(1.025+0.02*self.等级, 5)
|
|
|
|
|
|
class 技能16(主动技能):
|
|
名称 = 'G0战争领主'
|
|
所在等级 = 50
|
|
等级上限 = 50
|
|
学习间隔 = 5
|
|
等级精通 = 40
|
|
|
|
data0 = [0, 781, 963, 1145, 1325, 1506, 1688, 1870, 2052, 2230, 2413, 2592, 2776, 2956, 3138, 3317, 3500, 3682, 3862, 4045, 4226, 4406, 4586, 4767, 4949, 5132, 5313, 5494, 5675, 5857, 6036, 6218, 6400, 6580, 6761, 6943, 7123, 7307, 7485, 7668, 7847, 8031, 8213, 8393, 8572, 8755, 8937, 9117, 9300, 9481, 9661]
|
|
hit0 = 30
|
|
data1 = [0, 978, 1205, 1430, 1657, 1882, 2109, 2336, 2563, 2788, 3015, 3242, 3469, 3695, 3920, 4147, 4373, 4600, 4828, 5054, 5281, 5508, 5734, 5961, 6187, 6414, 6641, 6866, 7093, 7319, 7546, 7774, 7999, 8226, 8450, 8678, 8905, 9131, 9358, 9585, 9810, 10038, 10264, 10491, 10717, 10942, 11169, 11396, 11623, 11849, 12076]
|
|
hit1 = 24
|
|
data2 = [0, 4232, 5215, 6196, 7177, 8159, 9141, 10122, 11103, 12086, 13066, 14049, 15029, 16013, 16994, 17975, 18957, 19937, 20920, 21903, 22881, 23865, 24845, 25827, 26808, 27791, 28772, 29754, 30735, 31717, 32698, 33680, 34662, 35644, 36624, 37606, 38587, 39569, 40552, 41530, 42515, 43496, 44478, 45457, 46439, 47423, 48403, 49383, 50366, 51346, 52328]
|
|
hit2 = 12
|
|
CD = 145.0
|
|
演出时间 = 7.1
|
|
|
|
MP = [400, 1120]
|
|
无色消耗 = 2
|
|
|
|
|
|
class 技能17(主动技能):
|
|
名称 = 'HS12等离子体发生器'
|
|
所在等级 = 60
|
|
等级上限 = 50
|
|
学习间隔 = 2
|
|
等级精通 = 40
|
|
|
|
data0 = [0, 27368, 30143, 32920, 35698, 38474, 41249, 44026, 46803, 49578, 52356, 55132, 57909, 60686, 63460, 66237, 69014, 71790, 74566, 77343, 80120, 82895, 85673, 88449, 91223, 94002, 96778, 99556, 102332, 105106, 107883, 110661, 113436, 116214, 118990, 121765, 124544, 127319, 130095, 132872, 135647, 138424, 141202, 143978, 146753, 149529, 152306, 155083, 157860, 160636, 163412]
|
|
hit0 = 1
|
|
CD = 30
|
|
TP成长 = 0.10
|
|
TP上限 = 5
|
|
是否有护石 = 1
|
|
|
|
MP = [400, 1120]
|
|
无色消耗 = 2
|
|
|
|
def 装备护石(self, char):
|
|
self.倍率 *= 1.21
|
|
|
|
|
|
class 技能18(主动技能):
|
|
名称 = 'G4雷行者'
|
|
所在等级 = 70
|
|
等级上限 = 50
|
|
学习间隔 = 2
|
|
等级精通 = 40
|
|
|
|
data0 = [0, 840, 926, 1011, 1094, 1179, 1267, 1351, 1436, 1522, 1608, 1693, 1779, 1863, 1948, 2032, 2117, 2204, 2289, 2373, 2460, 2544, 2629, 2715, 2799, 2883, 2969, 3053, 3141, 3227, 3311, 3396, 3482, 3566, 3653, 3736, 3821, 3906, 3991, 4077, 4163, 4247, 4333, 4419, 4503, 4587, 4672, 4758, 4843, 4928, 5015]
|
|
hit0 = 48
|
|
data1 = [0, 1731, 1908, 2084, 2260, 2432, 2611, 2787, 2962, 3135, 3312, 3489, 3663, 3839, 4015, 4191, 4367, 4542, 4719, 4892, 5070, 5245, 5421, 5595, 5773, 5948, 6125, 6299, 6475, 6650, 6827, 7001, 7179, 7351, 7531, 7705, 7880, 8056, 8233, 8406, 8583, 8758, 8934, 9110, 9286, 9462, 9636, 9812, 9991, 10164, 10339]
|
|
hit1 = 3
|
|
CD = 45
|
|
TP成长 = 0.10
|
|
TP上限 = 5
|
|
是否有护石 = 1
|
|
演出时间 = 7.3
|
|
|
|
MP = [580, 4500]
|
|
无色消耗 = 2
|
|
|
|
def 装备护石(self, char):
|
|
self.倍率 *= 1.2
|
|
self.CDR = 0.9
|
|
|
|
|
|
class 技能19(主动技能):
|
|
名称 = 'GSP猎鹰'
|
|
所在等级 = 75
|
|
等级上限 = 50
|
|
学习间隔 = 2
|
|
等级精通 = 40
|
|
|
|
data0 = [0, 26830, 29552, 32273, 34995, 37716, 40439, 43160, 45883, 48602, 51325, 54049, 56771, 59493, 62214, 64936, 67658, 70380, 73102, 75823, 78544, 81266, 83989, 86711, 89434, 92154, 94877, 97598, 100320, 103041, 105762, 108484, 111207, 113930, 116652, 119373, 122093, 124817, 127539, 130261, 132981, 135704, 138426, 141148, 143870, 146590, 149311, 152034, 154756, 157478, 160201]
|
|
hit0 = 1
|
|
data1 = [0, 8947, 9853, 10762, 11670, 12576, 13483, 14391, 15300, 16206, 17115, 18023, 18929, 19837, 20744, 21651, 22559, 23468, 24375, 25283, 26190, 27097, 28005, 28912, 29820, 30726, 31636, 32543, 33449, 34358, 35266, 36172, 37080, 37988, 38895, 39803, 40711, 41619, 42525, 43433, 44341, 45249, 46155, 47063, 47973, 48879, 49786, 50694, 51602, 52508, 53416]
|
|
hit1 = 0
|
|
data2 = [0, 1153, 1271, 1389, 1503, 1621, 1737, 1855, 1969, 2088, 2205, 2322, 2440, 2554, 2672, 2789, 2906, 3023, 3139, 3257, 3375, 3489, 3607, 3723, 3843, 3960, 4075, 4192, 4309, 4426, 4544, 4659, 4778, 4893, 5012, 5127, 5244, 5361, 5477, 5595, 5713, 5828, 5946, 6061, 6178, 6296, 6413, 6532, 6647, 6763, 6881]
|
|
hit2 = 0
|
|
CD = 13
|
|
演出时间 = 2
|
|
是否有护石 = 1
|
|
演出时间 = 3
|
|
|
|
MP = [239, 1851]
|
|
# 无色消耗 = 3
|
|
|
|
形态 = ["G-3", "G-2", "G-1"]
|
|
|
|
def 形态变更(self, 形态, char: Character):
|
|
if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0:
|
|
形态 = self.形态[0]
|
|
if 形态 == "G-1":
|
|
self.hit0 = 1
|
|
self.hit1 = 0
|
|
self.hit2 = 0
|
|
if 形态 == "G-2":
|
|
self.hit0 = 0
|
|
self.hit1 = 3
|
|
self.hit2 = 0
|
|
if 形态 == "G-3":
|
|
self.hit0 = 0
|
|
self.hit1 = 0
|
|
self.hit2 = 25
|
|
|
|
def 装备护石(self, char):
|
|
self.power0 = 1.35
|
|
self.power1 = 1.34
|
|
self.power2 = (15/25)*2.19 # hit2降低为15
|
|
self.CDR = 0.9
|
|
|
|
|
|
class 技能20(被动技能):
|
|
名称 = 'GX主宰者'
|
|
所在等级 = 75
|
|
等级上限 = 50
|
|
学习间隔 = 3
|
|
等级精通 = 40
|
|
|
|
冷却关联技能 = ['所有']
|
|
非冷却关联技能 = ['G0战争领主', '终结者:博尔特MX', 'G-X星尘天穹', 'RX-78追击者']
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
if self.等级 in [1, 2]:
|
|
return round(1.08+0.02*self.等级, 5)
|
|
if self.等级 == 3:
|
|
return round(1.15, 5)
|
|
if self.等级 == 4:
|
|
return round(1.20, 5)
|
|
if self.等级 >= 5:
|
|
return round(1.12+0.02*self.等级, 5)
|
|
|
|
def CD缩减倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
else:
|
|
return 0.85
|
|
|
|
|
|
class 技能21(主动技能):
|
|
名称 = '高压电磁场'
|
|
所在等级 = 80
|
|
等级上限 = 50
|
|
学习间隔 = 2
|
|
等级精通 = 40
|
|
|
|
data0 = [0, 6393, 7043, 7690, 8338, 8985, 9637, 10286, 10933, 11583, 12229, 12880, 13525, 14175, 14825, 15473, 16121, 16770, 17418, 18069, 18714, 19364, 20011, 20662, 21311, 21957, 22607, 23258, 23903, 24552, 25200, 25850, 26500, 27146, 27796, 28443, 29092, 29741, 30388, 31038, 31687, 32336, 32984, 33631, 34280, 34931, 35576, 36227, 36873, 37525, 38171]
|
|
hit0 = 15
|
|
CD = 50
|
|
演出时间 = 3.5
|
|
是否有护石 = 1
|
|
|
|
MP = [1038, 7785]
|
|
无色消耗 = 5
|
|
|
|
def 装备护石(self, char):
|
|
self.倍率 *= 1.31
|
|
self.CDR *= 0.9
|
|
|
|
|
|
class 技能22(主动技能):
|
|
名称 = '终结者:博尔特MX'
|
|
所在等级 = 85
|
|
等级上限 = 50
|
|
学习间隔 = 5
|
|
等级精通 = 40
|
|
|
|
data0 = [0, 2726, 3357, 3992, 4622, 5255, 5887, 6518, 7150, 7782, 8416, 9047, 9680, 10310, 10944, 11575, 12207, 12839, 13471, 14104, 14735, 15370, 15999, 16632, 17264, 17896, 18529, 19159, 19792, 20424, 21057, 21688, 22321, 22953, 23585, 24217, 24850, 25481, 26114, 26745, 27375, 28010, 28642, 29275, 29905, 30537, 31170, 31802, 32435, 33066, 33698]
|
|
hit0 = 8
|
|
data1 = [0, 5947, 7329, 8704, 10084, 11464, 12843, 14223, 15601, 16980, 18359, 19739, 21121, 22496, 23875, 25256, 26633, 28012, 29391, 30771, 32150, 33531, 34908, 36286, 37667, 39046, 40426, 41802, 43182, 44561, 45942, 47322, 48698, 50078, 51457, 52837, 54215, 55595, 56973, 58353, 59733, 61109, 62488, 63869, 65248, 66627, 68005, 69385, 70764, 72144, 73525]
|
|
hit1 = 2
|
|
data2 = [0, 3482, 4288, 5097, 5902, 6710, 7516, 8326, 9137, 9947, 10752, 11559, 12365, 13175, 13978, 14788, 15595, 16402, 17211, 18017, 18827, 19630, 20439, 21245, 22053, 22859, 23667, 24479, 25285, 26093, 26902, 27709, 28518, 29323, 30131, 30936, 31745, 32549, 33359, 34165, 34972, 35780, 36588, 37398, 38202, 39010, 39820, 40627, 41438, 42243, 43051]
|
|
hit2 = 15
|
|
data3 = [0, 4296, 5293, 6288, 7283, 8280, 9277, 10272, 11269, 12264, 13258, 14257, 15252, 16250, 17244, 18241, 19235, 20232, 21228, 22224, 23220, 24216, 25213, 26209, 27204, 28200, 29196, 30192, 31188, 32185, 33179, 34176, 35172, 36169, 37164, 38162, 39155, 40150, 41148, 42145, 43140, 44137, 45131, 46126, 47124, 48121, 49115, 50112, 51107, 52101, 53100]
|
|
hit3 = 6
|
|
data4 = [0, 43613, 53726, 63841, 73953, 84066, 94179, 104293, 114407, 124519, 134633, 144746, 154861, 164972, 175087, 185200, 195314, 205425, 215541, 225652, 235766, 245880, 255991, 266106, 276219, 286332, 296444, 306560, 316670, 326785, 336899, 347011, 357125, 367237, 377351, 387463, 397579, 407689, 417804, 427918, 438032, 448143, 458257, 468370, 478482, 488597, 498708, 508823, 518936, 529049, 539162]
|
|
hit4 = 1
|
|
data5 = [0, 43613, 53726, 63841, 73953, 84066, 94179, 104293, 114407, 124519, 134633, 144746, 154861, 164972, 175087, 185200, 195314, 205425, 215541, 225652, 235766, 245880, 255991, 266106, 276219, 286332, 296444, 306560, 316670, 326785, 336899, 347011, 357125, 367237, 377351, 387463, 397579, 407689, 417804, 427918, 438032, 448143, 458257, 468370, 478482, 488597, 498708, 508823, 518936, 529049, 539162]
|
|
hit5 = 1
|
|
CD = 180
|
|
|
|
MP = [2500, 8000]
|
|
无色消耗 = 10
|
|
|
|
|
|
class 技能23(主动技能):
|
|
名称 = '超时空光耀加农炮'
|
|
所在等级 = 95
|
|
等级上限 = 50
|
|
学习间隔 = 2
|
|
等级精通 = 40
|
|
|
|
data0 = [0, 8481, 9340, 10202, 11062, 11923, 12782, 13644, 14503, 15363, 16225, 17084, 17943, 18804, 19663, 20524, 21384, 22245, 23104, 23967, 24826, 25688, 26547, 27407, 28268, 29128, 29987, 30849, 31709, 32569, 33428, 34290, 35149, 36011, 36870, 37732, 38592, 39453, 40312, 41173, 42032, 27849, 28408, 28966, 29525, 30087, 30642, 31202, 31759, 32319, 32877]
|
|
hit0 = 6
|
|
data1 = [0, 29680, 32692, 35702, 38714, 41724, 44736, 47748, 50758, 53769, 56779, 59791, 62802, 65813, 68823, 71835, 74846, 77858, 80868, 83879, 86890, 89902, 92913, 95923, 98933, 101944, 104957, 107967, 110978, 113989, 117001, 120011, 123023, 126034, 129046, 132055, 135067, 138077, 141090, 144099, 147110, 150121, 153134, 156143, 159155, 162165, 165178, 168187, 171199, 174209, 177221]
|
|
hit1 = 4
|
|
CD = 60
|
|
|
|
MP = [833, 2667]
|
|
无色消耗 = 7
|
|
|
|
|
|
class 技能24(被动技能):
|
|
名称 = '微型制导'
|
|
所在等级 = 95
|
|
等级上限 = 50
|
|
学习间隔 = 3
|
|
等级精通 = 40
|
|
|
|
def 加成倍率(self, 武器类型):
|
|
if self.等级 == 0:
|
|
return 1.0
|
|
else:
|
|
return round(1.18 + 0.02 * self.等级, 5)
|
|
|
|
|
|
class 技能25(主动技能):
|
|
名称 = 'G-X星尘天穹'
|
|
所在等级 = 100
|
|
等级上限 = 50
|
|
学习间隔 = 5
|
|
等级精通 = 40
|
|
|
|
data0 = [0, 23622, 29100, 34577, 40056, 45533, 51010, 56488, 61965, 67443, 72920, 78397, 83876, 89353, 94831, 100307, 105785, 111263, 116740, 122218, 127696, 133173, 138650, 144127, 149606, 155083, 160562, 166038, 171516, 176993, 182470, 187948, 193426, 198903, 204382, 209858, 215337, 220813, 226289, 231768, 237245, 242724, 248202, 253677, 259155, 264633, 270110, 275588, 281067, 286544, 292019]
|
|
hit0 = 8
|
|
data1 = [0, 62993, 77600, 92206, 106813, 121420, 136026, 150633, 165238, 179846, 194454, 209060, 223668, 238274, 252879, 267486, 282093, 296699, 311306, 325913, 340519, 355126, 369733, 384340, 398947, 413553, 428160, 442767, 457373, 471979, 486587, 501193, 515800, 530408, 545014, 559621, 574227, 588834, 603441, 618047, 632654, 647261, 661867, 676473, 691082, 705688, 720295, 734902, 749508, 764115, 778722]
|
|
hit1 = 7
|
|
CD = 290
|
|
演出时间 = 6.5
|
|
|
|
MP = [4028, 12889]
|
|
无色消耗 = 15
|
|
|
|
|
|
class classChange(Character):
|
|
def __init__(self, equVersion=""):
|
|
self.实际名称 = 'mechanic_female'
|
|
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.85
|
|
|
|
super().__init__(equVersion)
|
|
|
|
def set_individuation(self, info):
|
|
info['char_optiopns'] = [
|
|
{
|
|
"name": " [G1科罗纳] ",
|
|
"option": ["单次输出 {} 秒".format(str(i)) for i in range(1, 61)]
|
|
},
|
|
{
|
|
"name": " [G2旋雷者] ",
|
|
"option": ["单次输出 {} 秒".format(str(i)) for i in range(1, 61)]
|
|
}, {
|
|
"name": " [G3捕食者] ",
|
|
"option": ["单次输出 {} 秒".format(str(i)) for i in range(1, 61)]
|
|
}, {
|
|
"name": " [空战机械:狂风] ",
|
|
"option": ["单次输出 {} 秒".format(str(i)) for i in range(1, 61)]
|
|
}
|
|
]
|
|
|
|
def 职业特殊设置(self):
|
|
G1 = self.get_skill_by_name("G1科罗纳")
|
|
G2 = self.get_skill_by_name("G2旋雷者")
|
|
G3 = self.get_skill_by_name("G3捕食者")
|
|
G1磁力弹 = self.get_skill_by_name("G1磁力弹")
|
|
G1.输出时间 = self.get_individuation(0) + 1
|
|
G2.输出时间 = self.get_individuation(1) + 1
|
|
G3.输出时间 = self.get_individuation(2) + 1
|
|
self.get_skill_by_name("空战机械:狂风").输出时间 = self.get_individuation(3) + 1
|
|
G2.TP上限 = G1.TP上限
|
|
G2.TP成长 = G1.TP成长
|
|
G2.TP等级 = G1.TP等级
|
|
G3.TP上限 = G1.TP上限
|
|
G3.TP成长 = G1.TP成长
|
|
G3.TP等级 = G1.TP等级
|
|
G1磁力弹.TP上限 = G1.TP上限
|
|
G1磁力弹.TP成长 = G1.TP成长
|
|
G1磁力弹.TP等级 = G1.TP等级
|
|
G1磁力弹.等级 = G1.等级
|
|
G1磁力弹.等级上限 = G1.等级上限
|