Files
2024-11-04 15:00:40 +08:00

610 lines
26 KiB
Python

from core.basic.skill import 技能
from core.basic.character import Character
from core.basic.skill import 主动技能, 被动技能
class 主动技能(主动技能):
追加 = 0
国服特色 = 1.07
class 技能0(主动技能):
名称 = 'RX78追击者'
所在等级 = 5
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 2.5
MP = [10, 82]
无色消耗 = 0
data0 = [0, 886, 974, 1066, 1154, 1243, 1334, 1424, 1512, 1603, 1694, 1784, 1874, 1965, 2053, 2142, 2233, 2322, 2413, 2503, 2591, 2683, 2770, 2861, 2950, 3040, 3130, 3220, 3311, 3400, 3490, 3578, 3669, 3759, 3848, 3937, 4029, 4118, 4208, 4299, 4386, 4477, 4566, 4658, 4748, 4838, 4928, 5017, 5108, 5196, 5286, 5376, 5465, 5557, 5645, 5735, 5825, 5915, 6005, 6094, 6182, 6274, 6363, 6453, 6544, 6633, 6723, 6812, 6904, 6991, 7081]
hit0 = 1
TP成长 = 0.1
TP上限 = 7
CP倍率 = 0
class 技能1(主动技能):
名称 = 'Ez8自爆者'
所在等级 = 15
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 6.5
MP = [41, 347]
无色消耗 = 0
data0 = [0, 3193, 3517, 3841, 4166, 4490, 4812, 5137, 5462, 5785, 6110, 6433, 6756, 7081, 7405, 7729, 8053, 8375, 8701, 9025, 9348, 9674, 9998, 10320, 10644, 10969, 11293, 11617, 11940, 12264, 12588, 12912, 13236, 13561, 13883, 14207, 14532, 14856, 15180, 15504, 15826, 16152, 16475, 16799, 17126, 17447, 17771, 18095, 18419, 18745, 19069, 19390, 19716, 20040, 20364, 20689, 21013, 21335, 21660, 21985, 22308, 22632, 22954, 23280, 23604, 23927, 24252, 24577, 24899, 25223, 25548]
hit0 = 1
TP成长 = 0.1
TP上限 = 7
class 技能2(被动技能):
名称 = '机械引爆'
所在等级 = 15
等级上限 = 20
基础等级 = 5
是否主动 = 1
关联技能 = ['RX78追击者', 'Ez8自爆者', 'RX60陷阱追击者',
'空投支援', '拦截机工厂', 'EZ10反击者', 'TX-45特攻队']
def 加成倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return 1.40
class 技能3(被动技能):
名称 = '机械概论'
所在等级 = 15
等级上限 = 11
基础等级 = 1
关联技能 = ['RX78追击者', 'Ez8自爆者', 'RX60陷阱追击者', '毒蛇炮', '空战机械:风暴', '空投支援', '拦截机工厂', '盖波加之拳',
'EZ10反击者', 'EXSZero毒蛇炮', 'TN80终结者', 'TX-45特攻队', '超时空行军', 'HS1全息机械猎手', 'GW16-瓦尔德斯坦']
def 加成倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(1.085+0.015*self.等级, 3)
class 技能4(被动技能):
名称 = '嗜战追击者'
所在等级 = 15
等级上限 = 20
基础等级 = 10
关联技能 = ['RX78追击者']
data0 = [0, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100]
def 加成倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return 1.0+self.data0[self.等级]/100
class 技能5(主动技能):
名称 = '毒蛇炮'
所在等级 = 25
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 3.5
MP = [39, 328]
无色消耗 = 0
data0 = [0, 154, 170, 187, 203, 218, 234, 249, 264, 282, 296, 313, 328, 344, 359, 375, 390, 409, 423, 437, 454, 469, 486, 501, 517, 533, 550, 564, 579, 595, 610, 627, 642, 659, 674, 688, 707, 722, 737, 753, 768, 783, 800, 815, 832, 848, 863, 880, 893, 909, 925, 942, 956, 973, 988, 1006, 1021, 1036, 1052, 1067, 1083, 1098, 1113, 1129, 1148, 1162, 1178, 1194, 1208, 1224, 1239]
hit0 = 30
TP成长 = 0.1
TP上限 = 7
class 技能6(被动技能):
名称 = '方舟反应堆'
所在等级 = 25
等级上限 = 20
基础等级 = 10
def 加成倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(1.05+0.02*self.等级, 3)
class 技能7(主动技能):
名称 = 'RX60陷阱追击者'
所在等级 = 30
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 12
MP = [88, 741]
无色消耗 = 0
data0 = [0, 7196, 7926, 8656, 9386, 10118, 10846, 11576, 12306, 13037, 13766, 14497, 15227, 15957, 16686, 17416, 18148, 18878, 19606, 20337, 21067, 21796, 22527, 23258, 23988, 24718, 25447, 26178, 26908, 27637, 28368, 29098, 29827, 30558, 31288, 32018, 32748, 33478, 34208, 34938, 35669, 36398, 37128, 37859, 38590, 39318, 40048, 40779, 41509, 42239, 42969, 43700, 44428, 45158, 45890, 46620, 47349, 48079, 48808, 49539, 50269, 51000, 51730, 52460, 53188, 53918, 54650, 55380, 56110, 56840, 57570]
hit0 = 1
TP成长 = 0.1
TP上限 = 7
# 技能韩服描述有改动,需要正式服上线后测试
# 护石数据暂时延用老版
class 技能8(主动技能):
名称 = '空战机械:风暴'
所在等级 = 35
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 30
MP = [200, 1680]
无色消耗 = 1
data0 = [0, 457, 504, 549, 595, 642, 688, 734, 782, 827, 874, 919, 966, 1012, 1059, 1105, 1152, 1198, 1243, 1290, 1337, 1382, 1430, 1476, 1522, 1567, 1614, 1660, 1706, 1754, 1799, 1846, 1891, 1938, 1984, 2031, 2077, 2124, 2170, 2216, 2262, 2309, 2354, 2402, 2448, 2494, 2540, 2587, 2632, 2679, 2726, 2772, 2817, 2865, 2910, 2957, 3003, 3050, 3096, 3141, 3188, 3234, 3281, 3326, 3374, 3420, 3465, 3512, 3558, 3604, 3650]
hit0 = 0
data1 = [0, 1367, 1506, 1643, 1782, 1921, 2059, 2197, 2335, 2474, 2613, 2750, 2890, 3028, 3165, 3306, 3445, 3582, 3721, 3861, 3998, 4138, 4275, 4414, 4552, 4690, 4828, 4968, 5105, 5245, 5384, 5522, 5660, 5797, 5937, 6076, 6214, 6353, 6492, 6629, 6768, 6908, 7045, 7184, 7323, 7461, 7599, 7739, 7877, 8015, 8153, 8291, 8430, 8570, 8707, 8846, 8983, 9122, 9262, 9400, 9540, 9678, 9816, 9954, 10093, 10230, 10371, 10508, 10646, 10785, 10923]
hit1 = 0
data2 = [0, 714, 788, 859, 931, 1004, 1076, 1149, 1221, 1294, 1367, 1438, 1511, 1583, 1656, 1728, 1801, 1874, 1945, 2018, 2090, 2163, 2236, 2308, 2381, 2452, 2525, 2597, 2669, 2743, 2814, 2888, 2959, 3031, 3104, 3177, 3249, 3322, 3395, 3465, 3539, 3613, 3683, 3757, 3829, 3902, 3973, 4046, 4118, 4191, 4264, 4335, 4407, 4480, 4552, 4626, 4697, 4770, 4842, 4914, 4986, 5059, 5133, 5204, 5278, 5349, 5421, 5494, 5566, 5639, 5711]
hit2 = 1
TP成长 = 0.1
TP上限 = 5
是否有护石 = 1
输出时间 = 30.0
def 装备护石(self, char):
self.hit0 = 20
self.power0 = 2.86
self.power1 = 0
self.power2 = 0
def 等效百分比(self, **argv):
char = argv.get('char', {})
self.hit0 = round(self.输出时间 / 60 * 17, 2)
self.hit1 = round(self.输出时间 / 60 * 20, 2)
if '空战机械:风暴' in char.护石栏:
self.hit0 = 20
return super().等效百分比(**argv)
class 技能9(主动技能):
名称 = "空投支援"
所在等级 = 40
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 30
MP = [300, 2520]
无色消耗 = 2
data0 = [0, 1008, 1111, 1213, 1316, 1417, 1520, 1622, 1725, 1827, 1929, 2032, 2132, 2235, 2336, 2440, 2542, 2644, 2746, 2850, 2951, 3054, 3155, 3259, 3360, 3463, 3565, 3668, 3770, 3873, 3974, 4078, 4179, 4282, 4383, 4487, 4589, 4691, 4793, 4896, 4998, 5101, 5201, 5305, 5406, 5509, 5610, 5712, 5816, 5917, 6020, 6121, 6225, 6326, 6429, 6532, 6634, 6736, 6839, 6940, 7044, 7145, 7248, 7349, 7453, 7555, 7657, 7760, 7861, 7963, 8065]
hit0 = 20
TP成长 = 0.1
TP上限 = 5
是否有护石 = 1
def 装备护石(self, char):
self.倍率 *= 1.3
class 技能10(主动技能):
名称 = "拦截机工厂"
所在等级 = 45
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 45
MP = [355, 2981]
无色消耗 = 2
data0 = [0, 4107, 4526, 4941, 5358, 5775, 6191, 6608, 7026, 7441, 7858, 8275, 8694, 9109, 9526, 9944, 10359, 10776, 11192, 11609, 12025, 12443, 12859, 13276, 13693, 14108, 14526, 14944, 15360, 15777, 16193, 16611, 17027, 17444, 17861, 18276, 18694, 19111, 19526, 19943, 20361, 20778, 21194, 21611, 22029, 22444, 22862, 23279, 23694, 24112, 24529, 24945, 25362, 25779, 26196, 26611, 27028, 27446, 27861, 28279, 28696, 29112, 29530, 29947, 30363, 30779, 31196, 31615, 32030, 32447, 32864]
hit0 = 0
data1 = [0, 36159, 39828, 43496, 47165, 50835, 54503, 58171, 61840, 65508, 69176, 72845, 76513, 80181, 83850, 87518, 91187, 94856, 98524, 102192, 105862, 109530, 113198, 116866, 120534, 124202, 127871, 131539, 135207, 138877, 142545, 146213, 149882, 153550, 157218, 160887, 164555, 168223, 171892, 175560, 179230, 182899, 186567, 190235, 193904, 197572, 201240, 204909, 208577, 212245, 215914, 219582, 223251, 226920, 230588, 234256, 237926, 241594, 245262, 248927, 252597, 256265, 259933, 263602, 267270, 270940, 274609, 278276, 281944, 285613, 289281]
hit1 = 1
TP成长 = 0.1
TP上限 = 5
是否有护石 = 1
def 装备护石(self, char):
self.倍率 *= 1.27
def 等效百分比(self, **argv):
char = argv.get('char', {})
光能 = char.get_skill_by_name("光反应能量模块")
if 光能.等级 > 0:
self.hit0 = 0
self.hit1 = 1
else:
self.hit0 = 8
self.hit1 = 0
return super().等效百分比(**argv)
class 技能11(被动技能):
名称 = '光反应能量模块'
所在等级 = 45
等级上限 = 1
基础等级 = 1
关联技能 = ['拦截机工厂']
倍率 = 1.0
def 加成倍率(self, 武器类型):
return self.倍率
class 技能12(被动技能):
名称 = '斗志之歌'
所在等级 = 48
等级上限 = 50
学习间隔 = 3
等级精通 = 40
def 加成倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
if self.等级 < 17:
return round(1.01+0.015*self.等级, 3)
else:
return round(1.25+0.02*(self.等级-16), 3)
class 技能13(主动技能):
名称 = "盖波加之拳"
所在等级 = 50
等级上限 = 50
学习间隔 = 5
等级精通 = 40
CD = 145
MP = [881, 7403]
无色消耗 = 5
data0 = [0, 12027, 14817, 17607, 20396, 23185, 28571, 31640, 34706, 302199, 326737, 351287, 375850, 400388, 424937, 449474, 474023, 498561, 523111, 547647, 572197, 596735, 621297, 645834, 670385, 694920, 719470, 744008, 768558, 793093, 817643, 842194, 866744, 891282, 915831, 940368, 964917, 989454, 1014004, 1038541, 1063092, 1087641, 1112190, 1136727, 1161277, 1185815, 1210364, 1234902, 1259451, 1283989, 1308551]
hit0 = 1
class 技能14(主动技能):
名称 = 'EZ10反击者'
所在等级 = 60
等级上限 = 50
学习间隔 = 2
等级精通 = 40
CD = 30
MP = [122, 1027]
无色消耗 = 2
data0 = [0, 11660, 12843, 14027, 15210, 16392, 17574, 18757, 19941, 21124, 22306, 23490, 24673, 25856, 27039, 28221, 29405, 30588, 31771, 32953, 34135, 35319, 36502, 37685, 38868, 40050, 41235, 42417, 43601, 44783, 45964, 47150, 48331, 49516, 50697, 51879, 53064, 54246, 55430, 56612, 57794, 58979, 60161, 61344, 62527, 63708, 64894, 66075, 67259, 68441, 69626]
hit0 = 1
data1 = [0, 3887, 4282, 4676, 5071, 5464, 5857, 6252, 6645, 7041, 7435, 7830, 8223, 8619, 9012, 9408, 9802, 10197, 10590, 10985, 11378, 11773, 12166, 12562, 12956, 13350, 13744, 14138, 14533, 14928, 15323, 15717, 16111, 16505, 16899, 17293, 17688, 18082, 18477, 18870, 19264, 19658, 20052, 20449, 20842, 21237, 21631, 22025, 22419, 22814, 23208]
hit1 = 3
TP成长 = 0.1
TP上限 = 5
是否有护石 = 1
def 装备护石(self, char):
self.hit1 = 0
self.power0 *= 3.55
class 技能15(主动技能):
名称 = 'EXSZero毒蛇炮'
所在等级 = 70
等级上限 = 50
学习间隔 = 2
等级精通 = 40
CD = 50
MP = [218, 1830]
无色消耗 = 2
data0 = [0, 584, 642, 701, 759, 819, 878, 938, 995, 1056, 1115, 1174, 1233, 1293, 1350, 1410, 1468, 1529, 1589, 1647, 1706, 1766, 1824, 1883, 1943, 2001, 2061, 2120, 2179, 2239, 2297, 2355, 2415, 2473, 2534, 2592, 2652, 2712, 2771, 2828, 2888, 2947, 3006, 3066, 3125, 3185, 3243, 3303, 3360, 3420, 3480]
hit0 = 40
data1 = [0, 2345, 2582, 2820, 3058, 3296, 3533, 3774, 4010, 4248, 4486, 4725, 4961, 5199, 5437, 5674, 5914, 6151, 6389, 6627, 6865, 7101, 7341, 7578, 7816, 8052, 8293, 8530, 8766, 9006, 9243, 9482, 9718, 9957, 10194, 10432, 10669, 10910, 11147, 11384, 11622, 11861, 12097, 12336, 12574, 12810, 13049, 13287, 13526, 13762, 14001]
hit1 = 18
TP成长 = 0.1
TP上限 = 5
是否有护石 = 1
def 装备护石(self, char):
self.hit1 = 20
self.倍率 *= 1.22
class 技能16(主动技能):
名称 = 'TN80终结者'
所在等级 = 75
等级上限 = 50
学习间隔 = 2
等级精通 = 40
CD = 40
MP = [580, 4500]
无色消耗 = 3
data0 = [0, 4458, 4912, 5363, 5817, 6269, 6720, 7174, 7626, 8077, 8530, 8982, 9434, 9887, 10340, 10791, 11244, 11697, 12148, 12602, 13053, 13505, 13958, 14410, 14863, 15315, 15768, 16220, 16672, 17126, 17577, 18028, 18480, 18933, 19386, 19838, 20290, 20743, 21195, 21648, 22100, 22551, 23004, 23456, 23909, 24361, 24814, 25266, 25718, 26172, 26623]
hit0 = 18
data1 = [0, 14162, 15600, 17037, 18474, 19910, 21347, 22784, 24220, 25658, 27094, 28531, 29968, 31404, 32843, 34279, 35715, 37152, 38588, 40026, 41462, 42902, 44338, 45774, 47211, 48647, 50085, 51522, 52958, 54396, 55832, 57269, 58705, 60141, 61580, 63016, 64454, 65890, 67326, 68763, 70200, 71638, 73074, 74511, 75948, 77384, 78822, 80258, 81696, 83132, 84568]
hit1 = 1
是否有护石 = 1
def 装备护石(self, char):
self.hit0 = 9
self.power0 *= 2.83
class 技能17(被动技能):
名称 = 'HS1机械助手'
所在等级 = 75
等级上限 = 50
学习间隔 = 3
等级精通 = 40
冷却关联技能 = ['所有']
非冷却关联技能 = ['盖波加之拳', '超时空行军', 'GW16-瓦尔德斯坦']
def 加成倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(1.18+0.02*self.等级, 3)
def CD缩减倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return 0.85
class 技能18(主动技能):
名称 = 'TX-45特攻队'
所在等级 = 80
等级上限 = 50
学习间隔 = 2
等级精通 = 40
CD = 45
MP = [580, 4500]
无色消耗 = 5
data0 = [0, 18504, 20379, 22258, 24134, 26012, 27887, 29765, 31643, 33519, 35398, 37273, 39151, 41028, 42905, 44782, 46659, 48537, 50413, 52292, 54167, 56044, 57922, 59799, 61676, 63553, 65431, 67307, 69185, 71062, 72938, 74816, 76693, 78570, 80447, 82323, 84201, 86079, 87957, 89832, 91708, 93587, 95463, 97343, 99217, 101096, 102974, 104849, 106728, 108604, 110482]
hit0 = 1
data1 = [0, 12335, 13587, 14837, 16088, 17341, 18592, 19843, 21095, 22347, 23600, 24850, 26101, 27354, 28604, 29855, 31106, 32357, 33609, 34860, 36112, 37363, 38615, 39867, 41117, 42369, 43620, 44872, 46124, 47375, 48626, 49877, 51129, 52380, 53631, 54882, 56133, 57386, 58636, 59887, 61140, 62392, 63643, 64895, 66146, 67398, 68649, 69900, 71152, 72403, 73655]
hit1 = 1
data2 = [0, 12335, 13587, 14837, 16088, 17341, 18592, 19843, 21095, 22347, 23600, 24850, 26101, 27354, 28604, 29855, 31106, 32357, 33609, 34860, 36112, 37363, 38615, 39867, 41117, 42369, 43620, 44872, 46124, 47375, 48626, 49877, 51129, 52380, 53631, 54882, 56133, 57386, 58636, 59887, 61140, 62392, 63643, 64895, 66146, 67398, 68649, 69900, 71152, 72403, 73655]
hit2 = 1
data3 = [0, 9251, 10191, 11128, 12066, 13006, 13945, 14882, 15821, 16759, 17699, 18637, 19576, 20514, 21452, 22391, 23330, 24268, 25207, 26145, 27085, 28021, 28961, 29899, 30839, 31776, 32715, 33653, 34592, 35530, 36470, 37408, 38346, 39285, 40224, 41161, 42101, 43039, 43979, 44915, 45855, 46793, 47732, 48670, 49609, 50549, 51486, 52424, 53364, 54301, 55241]
hit3 = 1
data4 = [0, 9251, 10191, 11128, 12066, 13006, 13945, 14882, 15821, 16759, 17699, 18637, 19576, 20514, 21452, 22391, 23330, 24268, 25207, 26145, 27085, 28021, 28961, 29899, 30839, 31776, 32715, 33653, 34592, 35530, 36470, 37408, 38346, 39285, 40224, 41161, 42101, 43039, 43979, 44915, 45855, 46793, 47732, 48670, 49609, 50549, 51486, 52424, 53364, 54301, 55241]
hit4 = 1
是否有护石 = 1
def 装备护石(self, char):
self.倍率 *= 1.29
class 技能19(主动技能):
名称 = '超时空行军'
所在等级 = 85
等级上限 = 50
学习间隔 = 5
等级精通 = 40
CD = 180
MP = [2500, 8000]
无色消耗 = 10
data0 = [0, 27384, 33742, 40089, 46439, 52789, 59141, 65490, 71840, 78187, 84541, 90889, 97239, 103589, 109945, 116298, 122644, 128991, 135346, 141697, 148046, 154397, 160745, 167098, 173444, 179796, 186150, 192502, 198851, 205201, 211548, 217903, 224253, 230603, 236953, 243302, 249656, 256002, 262352, 268707, 275057, 281407, 287759, 294108, 300459, 306805, 313161, 319511, 325858, 332213, 338559]
hit0 = 9
class 技能20(主动技能):
名称 = 'HS1全息机械猎手'
所在等级 = 95
等级上限 = 50
学习间隔 = 2
等级精通 = 40
CD = 60
MP = [773, 6000]
无色消耗 = 7
data0 = [0, 184829, 203581, 222331, 241083, 259833, 278583, 297334, 316083, 334836, 353588, 372338, 391089, 409839, 428589, 447340, 466093, 484843, 503595, 522343, 541094, 559846, 578596, 597348, 616098, 634848, 653598, 672351, 691101, 709853, 728605, 747353, 766104, 784854, 803606, 822358, 841108, 859860, 878609, 897360, 916111, 934863, 953612, 972365, 991112, 1009865, 1028616, 1047368, 1066118, 1084870, 1103618]
hit0 = 1
class 技能21(被动技能):
名称 = 'SOPHIA'
所在等级 = 95
等级上限 = 50
学习间隔 = 3
等级精通 = 40
def 加成倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(1.18 + 0.02 * self.等级, 5)
class 技能22(主动技能):
名称 = 'GW16-瓦尔德斯坦'
所在等级 = 100
等级上限 = 50
学习间隔 = 5
等级精通 = 40
CD = 290
MP = [4028, 12889]
无色消耗 = 15
data0 = [0, 136552, 168218, 199881, 231545, 263209, 294873, 326539, 358202, 389867, 421531, 453195, 484861, 516526, 548190, 579854, 611518, 643180, 674847, 706511, 738176, 769839, 801505, 833169, 864833, 896497, 928162, 959825, 991491, 1023155, 1054818, 1086483, 1118147, 1149813, 1181476, 1213141, 1244804, 1276469, 1308134, 1339799, 1371462, 1403127, 1434792, 1466454, 1498121, 1529784, 1561449, 1593112, 1624778, 1656441, 1688107]
hit0 = 1
data1 = [0, 4877, 6009, 7138, 8269, 9401, 10531, 11661, 12794, 13923, 15056, 16185, 17316, 18447, 19578, 20708, 21841, 22970, 24102, 25232, 26362, 27494, 28625, 29757, 30887, 32019, 33149, 34280, 35410, 36541, 37672, 38804, 39934, 41065, 42197, 43326, 44457, 45588, 46718, 47851, 48980, 50112, 51243, 52373, 53503, 54636, 55765, 56896, 58028, 59158, 60290]
hit1 = 7
data2 = [0, 204827, 252324, 299823, 347317, 394814, 442312, 489809, 537305, 584801, 632298, 679794, 727291, 774788, 822284, 869780, 917278, 964773, 1012270, 1059766, 1107264, 1154759, 1202256, 1249752, 1297249, 1344745, 1392242, 1439739, 1487235, 1534732, 1582227, 1629725, 1677222, 1724718, 1772214, 1819711, 1867208, 1914703, 1962200, 2009697, 2057193, 2104690, 2152186, 2199682, 2247179, 2294678, 2342174, 2389669, 2437166, 2484663, 2532158]
hit2 = 1
data3 = [0, 21946, 27035, 32124, 37212, 42301, 47390, 52480, 57569, 62659, 67744, 72833, 77924, 83013, 88102, 93191, 98279, 103369, 108458, 113547, 118636, 123724, 128813, 133903, 138991, 144079, 149168, 154256, 159346, 164435, 169524, 174613, 179702, 184791, 189880, 194969, 200059, 205146, 210234, 215325, 220414, 225503, 230592, 235682, 240769, 245858, 250947, 256036, 261125, 266215, 271302]
hit3 = 14
# region G系暂不实现
# class 技能23(主动技能):
# 名称 = 'G1科罗纳'
# 备注 = '(秒伤)'
# 所在等级 = 20
# 等级上限 = 70
# 学习间隔 = 2
# 等级精通 = 60
# MP = [60, 504]
# 关联技能 = ['G2旋雷者', 'G3捕食者']
# data0 = [int(i) for i in [0, 162, 179, 195, 212, 229, 245, 262, 278, 295, 311, 328, 344, 361, 377, 394, 410, 427, 443, 460, 476, 493, 509, 526, 543, 559, 576, 592, 609, 625, 642, 658, 675, 691, 708, 724, 741, 757, 774, 790, 807, 824, 840, 857, 873, 890, 906, 923, 939, 956, 972, 989, 1005, 1022, 1038, 1055, 1071, 1088, 1104, 1121, 1138, 1154, 1171, 1187, 1204, 1220, 1237, 1253, 1270, 1286, 1303]]
# hit0 = 2 #每0.5s一次
# #攻击间隔 = 0.5
# #G123切换CD为7s
# TP成长 = 0.10
# TP上限 = 7
# CD = 50.0 #召唤冷却
# def 等效CD(self, 武器类型, 输出类型):
# return round(1, 1)
# def 加成倍率(self,武器类型):
# if self.等级 == 0:
# return 0.0
# else:
# return round(0.59+0.01*self.等级, 5)
# class 技能24(主动技能):
# 名称 = 'G2旋雷者'
# 备注 = '(秒伤)'
# 所在等级 = 25
# 等级上限 = 70
# 学习间隔 = 2
# 等级精通 = 60
# MP = [40, 336]
# 关联技能 = ['G1科罗纳', 'G3捕食者']
# # 静电 近身
# data0 = [int(i) for i in [0, 162, 179, 195, 212, 229, 245, 262, 278, 295, 311, 328, 344, 361, 377, 394, 410, 427, 443, 460, 476, 493, 509, 526, 543, 559, 576, 592, 609, 625, 642, 658, 675, 691, 708, 724, 741, 757, 774, 790, 807, 824, 840, 857, 873, 890, 906, 923, 939, 956, 972, 989, 1005, 1022, 1038, 1055, 1071, 1088, 1104, 1121, 1138, 1154, 1171, 1187, 1204, 1220, 1237, 1253, 1270, 1286, 1303]]
# hit0 = 0 #每s三次
# # 攻击间隔0 = 1/3
# # 电波 远程
# data1 = [int(i) for i in [0, 162, 179, 195, 212, 229, 245, 262, 278, 295, 311, 328, 344, 361, 377, 394, 410, 427, 443, 460, 476, 493, 509, 526, 543, 559, 576, 592, 609, 625, 642, 658, 675, 691, 708, 724, 741, 757, 774, 790, 807, 824, 840, 857, 873, 890, 906, 923, 939, 956, 972, 989, 1005, 1022, 1038, 1055, 1071, 1088, 1104, 1121, 1138, 1154, 1171, 1187, 1204, 1220, 1237, 1253, 1270, 1286, 1303]]
# hit1 = 3/2 #每2.0s一次
# # 攻击间隔1 = 1/2
# CD = 6.0 #技能本身没有CD,此处为上一任作者写的
# TP成长 = 0.10
# TP上限 = 7
# 形态 = ["电波(远程)", "静电(近身)"]
# def 形态变更(self, 形态, char:Character):
# if 形态 == '' and len(self.形态) > 0:
# 形态 = self.形态[0]
# if 形态 == "电波(远程)":
# self.hit0 = 0
# self.hit1 = 3
# if 形态 == "静电(近身)":
# self.hit0 = 6.0*3
# self.hit1 = 0
# def 等效CD(self, 武器类型, 输出类型):
# return round(6, 1)
# def 加成倍率(self,武器类型):
# if self.等级 == 0:
# return 0.0
# else:
# return round(0.50+0.01*self.等级, 5)
# class 技能25(主动技能):
# 名称 = 'G3捕食者'
# 备注 = '秒伤'
# 所在等级 = 30
# 等级上限 = 70
# 学习间隔 = 2
# 等级精通 = 60
# MP = [50, 420]
# 关联技能 = ['G1科罗纳', 'G2旋雷者']
# data0 = [int(i) for i in [0, 116, 128, 140, 152, 164, 176, 187, 199, 211, 223, 235, 247, 258, 270, 282, 294, 306, 318, 330, 341, 353, 365, 377, 389, 401, 412, 424, 436, 448, 460, 472, 484, 495, 507, 519, 531, 543, 555, 566, 578, 590, 602, 614, 626, 638, 649, 661, 673, 685, 697, 709, 720, 732, 744, 756, 768, 780, 792, 803, 815, 827, 839, 851, 863, 874, 886, 898, 910, 922, 934]]
# hit0 = 2/0.5 #每0.5s2次
# # 攻击间隔0 = 0.5
# CD = 1 #技能本身没有CD,此处为上一任作者写的
# TP成长 = 0.10
# TP上限 = 7
# def 等效CD(self, 武器类型, 输出类型):
# return round(1, 1)
# def 加成倍率(self,武器类型):
# if self.等级 == 0:
# return 0.0
# else:
# return round(0.48+0.01*self.等级, 3)
# endregion
class classChange(Character):
def __init__(self, equVersion=""):
self.实际名称 = 'mechanic_male'
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": " [空战机械:风暴] ",
"option": ["单次输出 {} 秒".format(str(i)) for i in range(1, 61)]
}
]
def 职业特殊设置(self):
self.get_skill_by_name("空战机械:风暴").输出时间 = self.get_individuation(0) + 1
def 伤害计算(self):
data = super().伤害计算()
skill_dict = data['skills']
RX78追击者 = self.get_skill_by_name("RX78追击者")
嗜战追击者 = self.get_skill_by_name("嗜战追击者")
if 'RX78追击者' in skill_dict and RX78追击者.等级 > 0 and RX78追击者.CP倍率 > 0:
info = data['skills']['RX78追击者']
# CP追加不享受嗜战追击者额外生成
avg = info['damage'] / info['count'] / 嗜战追击者.加成倍率('')
count = 0
for skill in skill_dict:
追加 = self.get_skill_by_name(skill).追加
count += data['skills'][skill]['count'] * 追加
data['skills']['RX78追击者']['count'] += count
data['skills']['RX78追击者']['damage'] += avg * RX78追击者.CP倍率 * count
data['total_data'] += avg * RX78追击者.CP倍率 * count
dps = 0
for temp in data['skills']:
skill = data['skills'][temp]
try:
dps += (skill['damage']/skill['count'])/skill['cd']
except Exception:
pass
data['dps'] = dps
return data