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

619 lines
28 KiB
Python

from core.basic.character import Character, equipment, 武器强化计算, 锻造计算
from core.basic.skill import 主动技能, 被动技能
# class 主动技能(主动技能):
# def 等效CD(self, 武器类型, 输出类型):
# if 武器类型 == '矛':
# return round(self.CDR / self.恢复 * 1.05, 1)
# if 武器类型 == '棍棒':
# return round(self.CDR / self.恢复 * 0.95, 1)
class 主动技能(主动技能):
国服特色 = 1/0.95
class 技能0(主动技能):
名称 = '基本攻击'
备注 = '(一轮,TP为基础精通)'
所在等级 = 1
等级上限 = 1
基础等级 = 1
data0 = [0, 152+182+274]
# 基础 = 225.2*2.662/1.115*1.1
# 基础2 = 1.16 * 225.2*2.662/1.115*1.1
# 基础3 = 1.8 * 225.2*2.662/1.115*1.1
形态 = ['普通', '变身']
CD = 1
TP成长 = 0.10
TP上限 = 5
# 加强
倍率 = 1.127
def 形态变更(self, 形态, char: Character):
if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0:
形态 = self.形态[0]
if 形态 == "普通":
self.data0 = [0, 152+182+274]
if 形态 == "变身":
self.data0 = [0, 149+177+267]
class 技能1(被动技能):
名称 = '基础精通'
倍率 = 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 技能2(被动技能):
名称 = '尼巫的战斗术'
所在等级 = 15
等级上限 = 11
等级精通 = 1
关联技能 = ['所有']
def 加成倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(1.18+0.02*self.等级, 3)
class 技能3(被动技能):
名称 = '炫纹'
所在等级 = 15
等级上限 = 60
学习间隔 = 2
等级精通 = 50
关联技能 = ['所有']
def 加成倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(1.20+0.00*self.等级, 3)
class 技能4(被动技能):
名称 = '战斗法师武器精通'
所在等级 = 20
等级上限 = 30
学习间隔 = 3
等级精通 = 20
冷却关联技能 = ['所有']
非冷却关联技能 = ['星纹陨爆', '一骑当千碎霸', '太古星河·殒灭']
def 物理攻击力倍率(self, 武器类型):
if self.等级 == 0 or (武器类型 != '矛' and 武器类型 != '棍棒'):
return 1.0
if self.等级 <= 20:
return round(1.00+0.01*self.等级, 3)
if self.等级 > 20:
return round(0.80+0.02*self.等级, 3)
def 魔法攻击力倍率(self, 武器类型):
if self.等级 == 0 or (武器类型 != '矛' and 武器类型 != '棍棒'):
return 1.0
if self.等级 <= 20:
return round(1.00+0.01*self.等级, 3)
if self.等级 > 20:
return round(0.80+0.02*self.等级, 3)
def CD缩减倍率(self, 武器类型):
if self.等级 == 0 or 武器类型 != '棍棒':
return 1.0
else:
return 0.95
class 技能5(主动技能):
名称 = '炫纹发射'
备注 = '(个数,TP为强化炫纹)'
所在等级 = 15
等级上限 = 11
学习间隔 = 2
等级精通 = 1
无色消耗 = 0
data0 = [0, 246, 249, 254, 260, 264, 269, 275, 280, 286, 292, 297]
hit0 = 1
TP成长 = 0.1
TP上限 = 5 #基础精通TP
MP = [12, 140]
CD = 0.5
国服特色 = 1.0
def 等效CD(self, **argv):
return 0.5
class 技能6(主动技能):
名称 = "双重锤击"
所在等级 = 20
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 8
MP = [60, 546]
无色消耗 = 0
data0 = [0, 670, 740, 813, 882, 948, 1017, 1087, 1156, 1226, 1295, 1361, 1429, 1503, 1573, 1641, 1717, 1787, 1854, 1922, 1994, 2061, 2131, 2200, 2268, 2335, 2409, 2477, 2546, 2615, 2687, 2754, 2820, 2890, 2959, 3032, 3100, 3171, 3237, 3306, 3378, 3445, 3515, 3586, 3647, 3728, 3795, 3864, 3937, 4006, 4077, 4143, 4214, 4283, 4350, 4419, 4491, 4558, 4630, 4698, 4767, 4834, 4905, 4976, 5042, 5109, 5183, 5251, 5321, 5389, 5458]
hit0 = 1
data1 = [0, 2463, 2719, 2969, 3224, 3480, 3736, 3989, 4246, 4495, 4753, 5009, 5263, 5515, 5772, 6025, 6283, 6537, 6784, 7044, 7299, 7552, 7810, 8063, 8314, 8572, 8826, 9082, 9334, 9590, 9841, 10099, 10353, 10607, 10863, 11115, 11374, 11632, 11878, 12134, 12389, 12647, 12904, 13152, 13406, 13665, 13921, 14168, 14425, 14679, 14937, 15194, 15442, 15697, 15955, 16213, 16466, 16714, 16972, 17226, 17483, 17742, 17986, 18244, 18505, 18755, 19012, 19263, 19518, 19771, 20032]
hit1 = 1
data2 = [0, 1882, 2071, 2268, 2463, 2657, 2852, 3042, 3237, 3433, 3634, 3823, 4021, 4214, 4405, 4601, 4793, 4989, 5183, 5377, 5570, 5764, 5965, 6156, 6356, 6547, 6738, 6933, 7125, 7326, 7518, 7705, 7906, 8095, 8298, 8492, 8679, 8878, 9069, 9264, 9459, 9658, 9847, 10041, 10237, 10423, 10632, 10822, 11010, 11211, 11404, 11598, 11792, 11990, 12175, 12374, 12570, 12762, 12964, 13155, 13341, 13546, 13736, 13927, 14123, 14314, 14512, 14704, 14902, 15094, 15296]
hit2 = 1
TP成长 = 0.1
TP上限 = 7
国服特色 = 1.0
class 技能7(主动技能):
名称 = "炫纹爆弹"
所在等级 = 25
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 12
MP = [60, 546]
无色消耗 = 0
data0 = [0, 1730, 1914, 2086, 2272, 2464, 2628, 2822, 2997, 3176, 3353, 3531, 3708, 3894, 4063, 4249, 4426, 4603, 4780, 4956, 5138, 5327, 5494, 5685, 5875, 6040, 6234, 6410, 6588, 6764, 6943, 7121, 7305, 7474, 7659, 7837, 8016, 8193, 8372, 8548, 8741, 8905, 9098, 9283, 9452, 9635, 9806, 9992, 10170, 10348, 10523, 10701, 10879, 11071, 11247, 11427, 11606, 11783, 11959, 12155, 12330, 12508, 12685, 12867, 13041, 13217, 13401, 13581, 13757, 13938, 14112]
hit0 = 1
data1 = [0, 401, 437, 478, 522, 578, 617, 656, 690, 742, 772, 811, 882, 907, 943, 961, 1029, 1073, 1100, 1170, 1179, 1239, 1278, 1320, 1360, 1408, 1461, 1470, 1540, 1567, 1612, 1673, 1695, 1732, 1756, 1825, 1869, 1897, 1952, 1974, 2018, 2060, 2118, 2157, 2199, 2244, 2270, 2334, 2352, 2395, 2461, 2491, 2525, 2568, 2611, 2666, 2710, 2723, 2776, 2820, 2856, 2900, 2944, 2997, 3039, 3078, 3123, 3147, 3188, 3229, 3275]
hit1 = 7
data2 = [0, 5210, 5743, 6277, 6825, 7362, 7898, 8432, 8979, 9517, 10043, 10585, 11131, 11664, 12211, 12743, 13284, 13834, 14353, 14897, 15430, 15969, 16507, 17052, 17602, 18132, 18665, 19204, 19752, 20273, 20819, 21360, 21891, 22437, 22973, 23521, 24061, 24586, 25125, 25661, 26209, 26740, 27280, 27827, 28360, 28894, 29427, 29982, 30505, 31046, 31591, 32130, 32671, 33202, 33733, 34282, 34814, 35360, 35896, 36436, 36967, 37512, 38051, 38592, 39121, 39668, 40200, 40750, 41283, 41817, 42355]
hit2 = 1
TP成长 = 0.1
TP上限 = 7
国服特色 = 1.0
class 技能8(主动技能):
名称 = "碎霸"
所在等级 = 30
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 8
MP = [60, 546]
无色消耗 = 0
data0 = [0, 5687, 6273, 6865, 7451, 8037, 8621, 9210, 9803, 10391, 10978, 11567, 12156, 12745, 13334, 13923, 14505, 15094, 15680, 16269, 16863, 17448, 18037, 18625, 19215, 19805, 20388, 20973, 21564, 22151, 22741, 23328, 23919, 24508, 25095, 25679, 26265, 26854, 27446, 28036, 28622, 29210, 29803, 30388, 30978, 31561, 32148, 32738, 33323, 33913, 34506, 35094, 35681, 36268, 36861, 37442, 38033, 38618, 39207, 39797, 40385, 40975, 41563, 42153, 42734, 43322, 43913, 44499, 45091, 45677, 46266]
hit0 = 1
TP成长 = 0.1
TP上限 = 7
国服特色 = 1/0.9
class 技能9(主动技能):
名称 = "超级炫纹"
所在等级 = 30
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 8
MP = [25, 210]
无色消耗 = 0
data0 = [0, 6179, 6804, 7431, 8057, 8684, 9309, 9936, 10561, 11187, 11820, 12445, 13071, 13696, 14323, 14953, 15576, 16205, 16830, 17456, 18082, 18710, 19336, 19963, 20588, 21218, 21845, 22470, 23097, 23725, 24351, 24977, 25602, 26229, 26857, 27484, 28109, 28736, 29363, 29992, 30619, 31244, 31872, 32497, 33124, 33750, 34377, 35004, 35629, 36258, 36884, 37510, 38137, 38766, 39393, 40017, 40645, 41270, 41899, 42523, 43151, 43778, 44404, 45031, 45656, 46286, 46911, 47538, 48166, 48792, 49419]
hit0 = 1
TP成长 = 0.1
TP上限 = 7
国服特色 = 1/0.9
def 等效百分比(self, **argv):
# 不携带强压护石时,炫纹上限9个,每个增加炫纹1%伤害,1个自动发射,携带强压护石,上限10个
char = argv.get('char', {})
return super().等效百分比(**argv) * (1.1 if '炫纹强压' in char.护石栏 else 1.08)
class 技能10(主动技能):
名称 = "流星闪影击"
所在等级 = 35
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 20
MP = [180, 1512]
无色消耗 = 1
data0 = [0, 14707, 16198, 17692, 19184, 20677, 22173, 23656, 25157, 26652, 28133, 29627, 31123, 32615, 34103, 35600, 37084, 38579, 40068, 41566, 43063, 44553, 46040, 47535, 49028, 50524, 52017, 53496, 54994, 56489, 57981, 59475, 60968, 62455, 63948, 65434, 66932, 68424, 69917, 71401, 72899, 74394, 75885, 77382, 78872, 80360, 81854, 83347, 84839, 86328, 87821, 89312, 90804, 92300, 93793, 95287, 96768, 98263, 99760, 101250, 102747, 104235, 105726, 107219, 108714, 110205, 111696, 113189, 114677, 116171, 117662]
hit0 = 1
data1 = [0, 109, 120, 128, 135, 144, 155, 172, 182, 197, 202, 211, 224, 235, 245, 261, 262, 273, 291, 300, 314, 324, 330, 343, 354, 359, 381, 384, 394, 409, 416, 434, 440, 444, 463, 474, 479, 496, 506, 508, 525, 532, 549, 560, 569, 579, 589, 597, 613, 625, 629, 640, 654, 667, 676, 688, 697, 709, 717, 730, 741, 755, 757, 769, 780, 794, 808, 819, 822, 834, 848]
hit1 = 0
TP成长 = 0.1
TP上限 = 5
形态 = ['打满', '秒C']
def TP加成(self):
return 1
def 形态变更(self, 形态, char: Character):
if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0:
形态 = self.形态[0]
if 形态 == "打满":
self.hit0 = 1
self.hit1 = 15
self.hit1 += self.TP等级
self.power0 = 1 + self.TP成长 * self.TP等级
if 形态 == "秒C":
self.hit0 = 1
self.hit1 = 0
self.power0 = 1 + self.TP成长 * self.TP等级
class 技能11(主动技能):
名称 = "炫纹强压"
所在等级 = 35
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 17
MP = [300, 1260]
无色消耗 = 1
data0 = [0, 13657, 15044, 16428, 17814, 19201, 20588, 21971, 23356, 24743, 26129, 27514, 28899, 30286, 31670, 33056, 34442, 35829, 37213, 38598, 39984, 41369, 42754, 44141, 45526, 46912, 48298, 49684, 51068, 52453, 53840, 55226, 56612, 57995, 59382, 60768, 62154, 63540, 64927, 66312, 67696, 69082, 70468, 71855, 73238, 74625, 76011, 77395, 78781, 80167, 81554, 82940, 84325, 85712, 87096, 88483, 89868, 91253, 92638, 94025, 95410, 96796, 98180, 99566, 100954, 102339, 103722, 105107, 106495, 107881, 109266]
hit0 = 1
TP成长 = 0.1
TP上限 = 5
是否有护石 = 1
def 装备护石(self, char):
self.倍率 *= 1.31
self.CDR *= 0.92
class 技能12(主动技能):
名称 = "强袭流星打"
所在等级 = 40
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 25
MP = [160, 1344]
无色消耗 = 1
data0 = [0, 16852, 18600, 20346, 22077, 23819, 25570, 27314, 29059, 30798, 32552, 34290, 36019, 37774, 39515, 41267, 43000, 44736, 46488, 48230, 49969, 51721, 53456, 55209, 56944, 58686, 60440, 62180, 63912, 65662, 67400, 69153, 70896, 72627, 74382, 76120, 77873, 79605, 81348, 83103, 84837, 86568, 88322, 90061, 91818, 93548, 95292, 97046, 98781, 100523, 102269, 104007, 105758, 107498, 109240, 110988, 112731, 114465, 116212, 117958, 119709, 121448, 123177, 124927, 126677, 128420, 130153, 131900, 133648, 135391, 137130]
hit0 = 1
TP成长 = 0.1
TP上限 = 5
是否有护石 = 1
def 装备护石(self, char):
self.倍率 *= 1.05*1.22
class 技能13(主动技能):
名称 = "煌龙偃月"
所在等级 = 45
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 45
MP = [360, 3024]
无色消耗 = 2
data0 = [0, 6696, 7382, 8084, 8772, 9465, 10155, 10849, 11537, 12238, 12927, 13618, 14311, 15002, 15694, 16391, 17083, 17778, 18464, 19157, 19851, 20544, 21233, 21930, 22621, 23310, 24008, 24698, 25391, 26088, 26777, 27462, 28165, 28851, 29544, 30239, 30928, 31617, 32320, 33009, 33698, 34390, 35082, 35772, 36469, 37161, 37858, 38546, 39235, 39933, 40622, 41317, 42012, 42701, 43389, 44089, 44781, 45468, 46165, 46850, 47541, 48244, 48934, 49622, 50316, 51010, 51697, 52401, 53088, 53774, 54471]
hit0 = 1
data1 = [0, 2233, 2460, 2698, 2929, 3157, 3385, 3614, 3845, 4080, 4311, 4540, 4769, 5002, 5234, 5462, 5695, 5927, 6157, 6386, 6622, 6853, 7080, 7312, 7540, 7768, 8005, 8236, 8464, 8693, 8928, 9156, 9390, 9620, 9847, 10080, 10309, 10540, 10773, 11006, 11233, 11462, 11694, 11924, 12157, 12390, 12617, 12848, 13075, 13313, 13549, 13773, 14005, 14234, 14465, 14696, 14928, 15158, 15387, 15617, 15847, 16081, 16312, 16543, 16774, 17005, 17231, 17468, 17698, 17930, 18158]
hit1 = 7
data2 = [0, 9575, 10559, 11555, 12546, 13531, 14525, 15516, 16499, 17496, 18484, 19470, 20470, 21456, 22437, 23434, 24424, 25414, 26403, 27394, 28384, 29373, 30361, 31359, 32349, 33330, 34329, 35316, 36299, 37300, 38289, 39271, 40269, 41258, 42239, 43237, 44225, 45210, 46216, 47197, 48184, 49187, 50166, 51153, 52151, 53138, 54135, 55120, 56107, 57105, 58091, 59079, 60078, 61062, 62052, 63048, 64033, 65023, 66019, 67005, 67992, 68983, 69971, 70961, 71950, 72942, 73929, 74922, 75906, 76900, 77897]
hit2 = 1
data3 = [0, 2277, 2509, 2739, 2971, 3200, 3433, 3665, 3895, 4128, 4356, 4589, 4819, 5051, 5281, 5514, 5744, 5974, 6207, 6438, 6669, 6899, 7130, 7362, 7594, 7823, 8056, 8286, 8518, 8749, 8981, 9209, 9444, 9673, 9902, 10136, 10365, 10598, 10827, 11060, 11291, 11524, 11752, 11986, 12216, 12445, 12678, 12908, 13141, 13371, 13602, 13831, 14065, 14297, 14526, 14760, 14989, 15220, 15450, 15681, 15914, 16144, 16375, 16607, 16839, 17070, 17300, 17532, 17761, 17993, 18224]
hit3 = 0
data4 = [0, 17086, 18819, 20551, 22286, 24019, 25754, 27487, 29220, 30952, 32685, 34418, 36151, 37888, 39620, 41355, 43088, 44818, 46552, 48285, 50020, 51754, 53489, 55221, 56956, 58688, 60418, 62153, 63886, 65621, 67354, 69089, 70822, 72553, 74286, 76020, 77753, 79486, 81222, 82955, 84689, 86422, 88154, 89887, 91620, 93354, 95088, 96824, 98555, 100287, 102023, 103752, 105489, 107222, 108956, 110689, 112423, 114157, 115888, 117622, 119356, 121088, 122821, 124557, 126290, 128023, 129757, 131489, 133223, 134956, 136688]
hit4 = 0
TP成长 = 0.1
TP上限 = 5
是否有护石 = 1
def 形态变更(self, 形态, char: Character):
if char.get_skill_by_name("煌龙乱舞").等级 > 0:
self.hit0 = 0
self.hit1 = 0
self.hit2 = 0
self.hit3 = 5
self.hit4 = 1
if '煌龙偃月' in char.护石栏:
self.hit3 += 1
self.power3 = 1.14
self.power4 = 1.18
else:
self.hit0 = 1
self.hit1 = 7
self.hit2 = 1
self.hit3 = 0
self.hit4 = 0
if '煌龙偃月' in char.护石栏:
self.hit1 += 3
self.power2 = 1.36
def 装备护石(self, char):
pass
class 技能14(被动技能):
名称 = '煌龙乱舞'
所在等级 = 45
等级上限 = 1
学习间隔 = 2
等级精通 = 1
class 技能15(被动技能):
名称 = '斗神意志'
所在等级 = 48
等级上限 = 50
学习间隔 = 3
等级精通 = 40
关联技能 = ['所有']
def 加成倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(1.05+0.02*self.等级, 3)
class 技能16(主动技能):
名称 = "星纹陨爆"
所在等级 = 50
等级上限 = 50
学习间隔 = 5
等级精通 = 40
CD = 145
MP = [1500, 3500]
无色消耗 = 7
data0 = [0, 87885, 108260, 128640, 149017, 169399, 189777, 210155, 230536, 276004, 298420, 320838, 343256, 365672, 388088, 410505, 432922, 455337, 477755, 500172, 522589, 545007, 567423, 589838, 612254, 634672, 657089, 679506, 701924, 724338, 746757, 769174, 791591, 814006, 836423, 858839, 881257, 903673, 926090, 948507, 970923, 993341, 1015757, 1038173, 1060590, 1083009, 1105424, 1127840, 1150258, 1172672, 1195091]
hit0 = 1
class 技能17(主动技能):
名称 = "闪击碎霸"
所在等级 = 60
等级上限 = 50
学习间隔 = 2
等级精通 = 40
CD = 30
MP = [400, 1120]
无色消耗 = 2
data0 = [0, 26262, 28923, 31586, 34251, 36918, 39587, 42245, 44912, 47573, 50239, 52900, 55567, 58232, 60897, 63558, 66225, 68893, 71553, 74217, 76881, 79548, 82213, 84869, 87537, 90207, 92861, 95528, 98197, 100860, 103519, 106184, 108851, 111515, 114175, 116839, 119511, 122172, 124834, 127499, 130167, 132829, 135493, 138157, 140822, 143490, 146146, 148813, 151479, 154137, 156803]
hit0 = 1
TP成长 = 0.1
TP上限 = 5
是否有护石 = 1
def 装备护石(self, char):
self.倍率 *= 1.24
self.CDR *= 0.90
class 技能18(主动技能):
名称 = "煌龙降临"
所在等级 = 70
等级上限 = 50
学习间隔 = 2
等级精通 = 40
CD = 50
MP = [800, 1680]
无色消耗 = 3
data0 = [0, 49611, 54527, 59399, 64301, 69127, 73958, 78864, 83751, 88587, 93507, 98347, 103199, 108003, 112937, 117792, 122628, 127568, 132386, 137310, 142144, 147052, 151848, 156706, 161661, 166442, 171315, 176217, 181104, 185942, 190778, 195733, 200522, 205404, 210244, 215179, 220000, 224889, 229760, 234664, 239502, 244300, 249226, 254037, 258944, 263817, 268669, 273556, 278458, 283277, 288118]
hit0 = 1
TP成长 = 0.1
TP上限 = 5
是否有护石 = 1
def 装备护石(self, char):
self.倍率 *= 0.695
self.CD = 25
self.CDR *= 0.9
class 技能19(被动技能):
名称 = '战灵潜能'
所在等级 = 75
等级上限 = 50
学习间隔 = 3
等级精通 = 40
关联技能 = ['所有']
def 加成倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(1.22+0.02*self.等级, 3)
class 技能20(主动技能):
名称 = "炫纹簇"
所在等级 = 75
等级上限 = 50
学习间隔 = 2
等级精通 = 40
CD = 45
MP = [360, 3024]
无色消耗 = 5
data0 = [0, 9168, 10099, 11029, 11961, 12892, 13822, 14753, 15681, 16613, 17543, 18473, 19402, 20331, 21260, 22191, 23124, 24053, 24985, 25914, 26844, 27774, 28706, 29637, 30566, 31498, 32427, 33358, 34290, 35219, 36149, 37077, 38008, 38939, 39870, 40800, 41731, 42662, 43591, 44522, 45451, 46383, 47312, 48242, 49173, 50103, 51033, 51960, 52892, 53822, 54753]
hit0 = 7
是否有护石 = 1
def 装备护石(self, char):
self.hit0 = 1
self.倍率 *= 1+6.95+1.25
class 技能21(主动技能):
名称 = "使徒之舞"
所在等级 = 80
等级上限 = 50
学习间隔 = 2
等级精通 = 40
CD = 40
MP = [384, 3225]
无色消耗 = 5
data0 = [0, 2773, 3051, 3334, 3616, 3899, 4180, 4464, 4741, 5022, 5303, 5587, 5864, 6147, 6427, 6713, 6994, 7274, 7554, 7835, 8118, 8399, 8683, 8963, 9241, 9523, 9805, 10091, 10369, 10649, 10931, 11211, 11495, 11777, 12056, 12337, 12618, 12902, 13183, 13459, 13740, 14022, 14306, 14589, 14872, 15153, 15430, 15714, 15997, 16279, 16558]
hit0 = 3
data1 = [0, 5547, 6108, 6673, 7235, 7794, 8359, 8921, 9484, 10047, 10612, 11172, 11735, 12295, 12859, 13420, 13984, 14546, 15112, 15676, 16238, 16796, 17359, 17923, 18487, 19050, 19610, 20174, 20735, 21298, 21862, 22422, 22986, 23552, 24116, 24674, 25239, 25796, 26363, 26926, 27490, 28054, 28613, 29173, 29737, 30302, 30864, 31427, 31988, 32552, 33114]
hit1 = 1
data2 = [0, 55474, 61094, 66713, 72328, 77947, 83594, 89212, 94828, 100474, 106117, 111713, 117357, 122947, 128593, 134211, 139855, 145476, 151118, 156736, 162356, 167975, 173592, 179237, 184856, 190499, 196120, 201736, 207357, 212973, 218619, 224236, 229855, 235500, 241146, 246736, 252380, 257974, 263619, 269263, 274879, 280500, 286143, 291735, 297381, 303024, 308620, 314288, 319881, 325522, 331143]
hit2 = 1
是否有护石 = 1
def 装备护石(self, char):
# self.倍率 *= 1.36801
self.hit1 = 0
self.power2 = 0.13*10*1.2
class 技能22(主动技能):
名称 = "一骑当千碎霸"
所在等级 = 85
等级上限 = 50
学习间隔 = 5
等级精通 = 40
CD = 180
MP = [2500, 8000]
无色消耗 = 10
data0 = [0, 190841, 235091, 279341, 323598, 367849, 412096, 456345, 500599, 544856, 589105, 633362, 677608, 721867, 766110, 810361, 854615, 898870, 943129, 987381, 1031632, 1075880, 1120134, 1164386, 1208642, 1252886, 1297144, 1341391, 1385646, 1429893, 1474152, 1518402, 1562654, 1606913, 1651152, 1695408, 1739667, 1783914, 1828169, 1872417, 1916667, 1960924, 2005176, 2049430, 2093684, 2137934, 2182188, 2226440, 2270684, 2314939, 2359191]
hit0 = 1
class 技能23(主动技能):
名称 = "炫纹之源:太古神光"
所在等级 = 95
等级上限 = 50
学习间隔 = 2
等级精通 = 40
CD = 60
MP = [960, 7200]
无色消耗 = 7
data0 = [0, 158536, 174620, 190702, 206788, 222870, 238953, 255037, 271121, 287203, 303288, 319369, 335454, 351537, 367621, 383704, 399789, 415869, 431956, 448037, 464121, 480205, 496288, 512370, 528455, 544538, 560623, 576705, 592789, 608872, 624956, 641038, 657124, 673205, 689289, 705372, 721456, 737538, 753623, 769705, 785791, 801872, 817956, 834042, 850123, 866206, 882291, 898375, 914456, 930543, 946623]
hit0 = 1
def 等效百分比(self, **argv):
# 额外计算10次炫纹
char = argv.get('char', {})
伤害类型 = argv.get('伤害类型', '直伤')
炫纹发射 = char.get_skill_by_name('炫纹发射')
炫纹 = 炫纹发射.等效百分比(伤害类型=伤害类型) / 炫纹发射.hit0
return super().等效百分比(**argv) + 炫纹 * 10
class 技能24(被动技能):
名称 = '太古之力'
所在等级 = 95
等级上限 = 50
学习间隔 = 3
等级精通 = 40
关联技能 = ['所有']
def 加成倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(1.18+0.02*self.等级, 3)
class 技能25(主动技能):
名称 = "太古星河·殒灭"
所在等级 = 100
等级上限 = 50
学习间隔 = 5
等级精通 = 40
CD = 290
MP = [4025, 8055]
无色消耗 = 15
data0 = [0, 15334, 18890, 22446, 26002, 29557, 33115, 36670, 40227, 43781, 47337, 50892, 54449, 58005, 61561, 65117, 68673, 72230, 75785, 79341, 82898, 86453, 90008, 93564, 97120, 100676, 104232, 107789, 111344, 114900, 118455, 122011, 125568, 129124, 132680, 136235, 139792, 143347, 146902, 150460, 154015, 157571, 161127, 164682, 168238, 171796, 175351, 178905, 182463, 186018, 189575]
hit0 = 5
data1 = [0, 25558, 31483, 37410, 43337, 49263, 55192, 61117, 67042, 72969, 78896, 84821, 90748, 96677, 102602, 108529, 114455, 120381, 126308, 132236, 138163, 144088, 150015, 155940, 161866, 167793, 173720, 179649, 185574, 191499, 197426, 203352, 209282, 215206, 221134, 227059, 232987, 238912, 244837, 250766, 256691, 262619, 268544, 274471, 280397, 286326, 292253, 298177, 304105, 310030, 315958]
hit1 = 1
data2 = [0, 51116, 62966, 74820, 86673, 98525, 110382, 122233, 134086, 145938, 157793, 169643, 181496, 193353, 205204, 217057, 228909, 240764, 252616, 264471, 276325, 288175, 300027, 311882, 323734, 335586, 347442, 359296, 371148, 382998, 394851, 406705, 418561, 430412, 442267, 454119, 465971, 477822, 489675, 501532, 513384, 525238, 537089, 548942, 560796, 572651, 584506, 596354, 608209, 620060, 631915]
hit2 = 1
data3 = [0, 76674, 94450, 112229, 130008, 147788, 165574, 183350, 201129, 218907, 236689, 254464, 272245, 290030, 307806, 325586, 343365, 361145, 378923, 396707, 414489, 432263, 450042, 467821, 485600, 503379, 521163, 538945, 556722, 574498, 592278, 610057, 627843, 645618, 663402, 681178, 698958, 716734, 734512, 752299, 770075, 787857, 805632, 823413, 841193, 858976, 876758, 894530, 912314, 930090, 947873]
hit3 = 1
data4 = [0, 18744, 23087, 27434, 31780, 36125, 40473, 44818, 49165, 53511, 57857, 62202, 66548, 70896, 75242, 79588, 83934, 88280, 92626, 96973, 101319, 105665, 110011, 114357, 118702, 123048, 127395, 131741, 136088, 140433, 144779, 149125, 153472, 157817, 162164, 166510, 170856, 175202, 179547, 183895, 188240, 192588, 196933, 201279, 205625, 209972, 214319, 218662, 223011, 227355, 231702]
hit4 = 15
class classChange(Character):
def __init__(self, equVersion=""):
self.实际名称 = 'battle_mage'
self.名称 = '知源·战斗法师'
self.角色 = '魔法师(女)'
self.职业 = '战斗法师'
self.武器选项 = ['矛', '棍棒']
self.输出类型选项 = ['物理百分比', '魔法百分比']
self.防具精通属性 = ['力量', '智力']
self.类型 = '物理百分比'
self.武器类型 = '矛'
self.防具类型 = '皮甲'
技能列表 = []
技能序号 = {}
i = 0
while i >= 0:
try:
tem = eval('技能'+str(i)+'()')
tem.基础等级计算()
技能序号[tem.名称] = i
技能列表.append(tem)
i += 1
except Exception:
i = -1
self.技能栏 = 技能列表
self.技能序号 = 技能序号
self.buff = 1.85
super().__init__(equVersion)
def 职业特殊计算(self):
pass
def set_skill_info(self, info, rune_except=[], clothes_pants=[]):
super().set_skill_info(info, clothes_pants=['魔法秀'])
def 武器计算(self, temp: equipment) -> None:
self.武器类型 = temp.类型
self.基础属性加成(物理攻击力=temp.物理攻击力, 魔法攻击力=temp.魔法攻击力, 独立攻击力=temp.独立攻击力)
info = self.打造详情.get(temp.部位, {})
物理攻击力 = 武器强化计算(temp.等级, temp.品质, info.get('cursed_number', 0), temp.类型,
'物理')
魔法攻击力 = 武器强化计算(temp.等级, temp.品质, info.get('cursed_number', 0), temp.类型,
'物理')
独立攻击力 = 锻造计算(temp.等级, temp.品质, info.get('dz_number', 0))
self.打造['武器']['强化攻击力'] = [物理攻击力, 魔法攻击力, 0]
self.打造['武器']['锻造加成'][0] = 独立攻击力
self.基础属性加成(物理攻击力=物理攻击力, 魔法攻击力=魔法攻击力, 独立攻击力=独立攻击力)
def set_individuation(self, info):
info['char_optiopns'] = [
{
"name": "三觉变身(影响异常抗性)",
"option": ["否", "是"]
}
]
# 抗性有成长的较为特殊 需要按照以下进行添加
def 职业特殊设置(self):
for 类型 in ['冰冻', '减速', '眩晕', '诅咒', '失明', '石化', '睡眠', '混乱', '束缚']:
self.异常抗性加成(类型, 0.5*self.get_individuation(0), mode=0)