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