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

981 lines
41 KiB
Python

from core.basic.character import Character
from core.basic.skill import 主动技能, 被动技能
class 主动技能(主动技能):
剑盾加成 = 1.0
chain = 0
形态 = ["6c", "5c", "4c", "3c"]
def 形态变更(self, 形态, char: Character):
if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0:
形态 = self.形态[0]
if 形态 == "6c":
self.chain = 6
if 形态 == "5c":
self.chain = 5
if 形态 == "4c":
self.chain = 4
if 形态 == "3c":
self.chain = 3
self.剑盾加成 = 1 + self.chain * char.get_skill_by_name("剑盾猛攻").剑盾倍率()
def 等效百分比(self, **argv):
return super().等效百分比(**argv) * self.剑盾加成
class 技能0(被动技能):
名称 = '基础精通'
倍率 = 1.0
所在等级 = 1
等级精通 = 110
等级上限 = 200
学习间隔 = 1
关联技能 = ['盾挑','骑乘召唤','骑乘践踏','骑乘前踏','骑乘后撩踢','骑乘奔袭','骑乘旋风刺击']
def 加成倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(self.倍率 * (0.463 + 0.089 * self.等级), 5)
class 技能1(主动技能):
名称 = '基本攻击'
备注 = '一轮'
所在等级 = 1
等级上限 = 1
基础等级 = 1
MP = [0, 0]
data0 = [int(i*1.10) for i in [0, 108.75+151.86+174.39]]
hit0 = 1
CD = 1.0 # 实际无CD
TP成长 = 0.10
TP上限 = 5
形态 = []
def 形态变更(self, 形态, char: Character):
pass
class 技能2(主动技能):
名称 = "盾挑"
所在等级 = 1
等级上限 = 20
学习间隔 = 3
等级精通 = 10
CD = 2
MP = [0, 0]
无色消耗 = 0
data0 = [0, 100, 111, 122, 133, 144, 155, 167, 178, 189, 200, 211, 222, 233, 244, 255, 266, 278, 289, 300, 311]
hit0 = 1
TP成长 = 0.1
TP上限 = 7
chain = 6
class 技能3(主动技能):
名称 = "强踢"
所在等级 = 1
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 5
MP = [2, 350]
无色消耗 = 0
data0 = [0, 1307, 1438, 1571, 1704, 1836, 1969, 2101, 2236, 2368, 2502, 2634, 2765, 2899, 3031, 3163, 3297, 3429, 3562, 3695, 3827, 3959, 4094, 4228, 4360, 4491, 4625, 4757, 4890, 5023, 5154, 5287, 5420, 5555, 5687, 5820, 5952, 6084, 6218, 6350, 6481, 6616, 6748, 6881, 7013, 7146, 7278, 7412, 7545, 7676, 7812, 7944, 8076, 8210, 8341, 8474, 8607, 8739, 8871, 9005, 9139, 9271, 9403, 9536, 9668, 9800, 9934, 10067, 10199, 10332, 10465]
hit0 = 1
TP成长 = 0.1
TP上限 = 7
chain = 6
class 技能4(主动技能):
名称 = "盾击"
所在等级 = 5
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 3
MP = [5, 180]
无色消耗 = 0
data0 = [0, 560, 617, 674, 730, 788, 845, 902, 959, 1015, 1072, 1129, 1187, 1244, 1300, 1358, 1416, 1471, 1532, 1588, 1645, 1701, 1758, 1817, 1874, 1930, 1987, 2043, 2099, 2158, 2215, 2271, 2328, 2385, 2441, 2501, 2558, 2614, 2670, 2728, 2786, 2842, 2899, 2956, 3014, 3070, 3128, 3185, 3240, 3298, 3355, 3413, 3469, 3528, 3585, 3641, 3697, 3756, 3811, 3869, 3926, 3983, 4040, 4098, 4155, 4211, 4267, 4324, 4381, 4439, 4496]
hit0 = 1
TP成长 = 0.1
TP上限 = 7
chain = 6
class 技能5(主动技能):
名称 = "致命突刺"
所在等级 = 10
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 3
MP = [6, 250]
无色消耗 = 0
data0 = [0, 268, 303, 339, 369, 400, 438, 470, 502, 533, 568, 601, 632, 667, 699, 734, 764, 801, 832, 866, 897, 931, 964, 997, 1031, 1064, 1095, 1128, 1159, 1194, 1227, 1262, 1294, 1327, 1361, 1392, 1427, 1459, 1492, 1525, 1558, 1591, 1627, 1659, 1691, 1721, 1756, 1790, 1822, 1854, 1888, 2115, 2153, 2189, 2227, 2263, 2299, 2337, 2373, 2411, 2447, 2484, 2521, 2557, 2596, 2634, 2670, 2706, 2744, 2783, 2817]
hit0 = 1
data1 = [0, 339, 382, 421, 462, 502, 546, 586, 626, 668, 710, 750, 791, 832, 876, 918, 955, 1000, 1040, 1084, 1119, 1161, 1204, 1246, 1287, 1329, 1371, 1412, 1453, 1493, 1535, 1576, 1617, 1659, 1699, 1742, 1781, 1824, 1868, 1907, 1948, 1986, 2033, 2071, 2111, 2155, 2196, 2238, 2276, 2316, 2361, 2646, 2690, 2736, 2783, 2829, 2874, 2919, 2968, 3016, 3059, 3107, 3153, 3199, 3243, 3291, 3337, 3384, 3434, 3477, 3521]
hit1 = 0
TP成长 = 0.1
TP上限 = 7
chain = 6
形态 = ["6c", "5c", "4c", "3c", "6c蓄", "5c蓄", "4c蓄", "3c蓄"]
def 形态变更(self, 形态, char: Character):
if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0:
形态 = self.形态[0]
if 形态 == "6c":
self.hit0 = 1
self.hit1 = 0
self.chain = 6
if 形态 == "5c":
self.hit0 = 1
self.hit1 = 0
self.chain = 5
if 形态 == "4c":
self.hit0 = 1
self.hit1 = 0
self.chain = 4
if 形态 == "3c":
self.hit0 = 1
self.hit1 = 0
self.chain = 3
if 形态 == "6c蓄":
self.hit0 = 0
self.hit1 = 1
self.chain = 6
if 形态 == "5c蓄":
self.hit0 = 0
self.hit1 = 1
self.chain = 5
if 形态 == "4c蓄":
self.hit0 = 0
self.hit1 = 1
self.chain = 4
if 形态 == "3c蓄":
self.hit0 = 0
self.hit1 = 1
self.chain = 3
self.剑盾加成 = 1 + self.chain * char.get_skill_by_name("剑盾猛攻").剑盾倍率()
class 技能6(主动技能):
名称 = "愤怒冲撞"
所在等级 = 15
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 9
MP = [15, 420]
无色消耗 = 0
data0 = [0, 4201, 4628, 5055, 5480, 5908, 6335, 6763, 7187, 7614, 8042, 8466, 8895, 9318, 9746, 10173, 10600, 11028, 11452, 11879, 12308, 12732, 13160, 13587, 14015, 14439, 14866, 15294, 15716, 16146, 16572, 16999, 17425, 17852, 18280, 18705, 19131, 19560, 19984, 20412, 20840, 21267, 21691, 22118, 22546, 22969, 23397, 23824, 24250, 24677, 25105, 25530, 25957, 26383, 26812, 27237, 27664, 28091, 28519, 28943, 29371, 29798, 30221, 30649, 31076, 31503, 31929, 32357, 32781, 33209, 33636]
hit0 = 1
TP成长 = 0.1
TP上限 = 7
chain = 6
class 技能7(主动技能):
名称 = "破武之轮"
所在等级 = 15
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 6
MP = [9, 250]
无色消耗 = 0
data0 = [0, 703, 840, 935, 1028, 1120, 1202, 1300, 1388, 1477, 1569, 1662, 1756, 1838, 1938, 2023, 2117, 2204, 2298, 2392, 2476, 2571, 2659, 2753, 2841, 2934, 3025, 3114, 3203, 3299, 3390, 3480, 3575, 3660, 3750, 3842, 3935, 4028, 4114, 4202, 4296, 4389, 4480, 4576, 4664, 4751, 4838, 4933, 5028, 5117, 5213, 5294, 5388, 5481, 5573, 5660, 5754, 5843, 5935, 6027, 6118, 6208, 6301, 6391, 6483, 6573, 6665, 6756, 6845, 6938, 7028]
hit0 = 1
data1 = [0, 1408, 1682, 1873, 2052, 2238, 2404, 2603, 2777, 2955, 3137, 3328, 3511, 3677, 3878, 4049, 4233, 4409, 4600, 4785, 4951, 5142, 5322, 5508, 5683, 5874, 6046, 6229, 6407, 6598, 6781, 6961, 7152, 7320, 7503, 7681, 7871, 8054, 8228, 8405, 8593, 8780, 8959, 9150, 9328, 9501, 9677, 9868, 10052, 10232, 10425, 10589, 10773, 10961, 11146, 11321, 11506, 11690, 11871, 12055, 12237, 12418, 12601, 12782, 12964, 13145, 13328, 13510, 13693, 13874, 14056]
hit1 = 1
TP成长 = 0.1
TP上限 = 7
chain = 6
class 技能8(被动技能):
名称 = '骑士信念'
所在等级 = 15
等级上限 = 20
基础等级 = 10
冷却关联技能 = ['所有']
非冷却关联技能 = ['天马流星落', '暮光之灵黄昏独角兽', '生命之律·神木擎天']
def CD缩减倍率(self, 武器类型):
return 0.9
def 物理攻击力倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(1.10 + 0.02 * self.等级, 5)
class 技能9(主动技能):
名称 = "守护神鹿"
所在等级 = 20
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 6
MP = [10, 300]
无色消耗 = 0
data0 = [0, 516, 568, 621, 674, 725, 779, 832, 886, 938, 991, 1044, 1094, 1149, 1201, 1254, 1307, 1360, 1415, 1464, 1520, 1572, 1622, 1677, 1729, 1784, 1834, 1886, 1939, 1992, 2046, 2097, 2151, 2205, 2255, 2309, 2361, 2416, 2467, 2520, 2573, 2625, 2678, 2731, 2782, 2836, 2889, 2943, 2995, 3046, 3101, 3152, 3206, 3258, 3313, 3364, 3415, 3469, 3521, 3574, 3626, 3678, 3733, 3783, 3837, 3890, 3941, 3996, 4048, 4102, 4153]
hit0 = 6
TP成长 = 0.1
TP上限 = 7
chain = 6
class 技能10(主动技能):
名称 = "审判之盾"
所在等级 = 20
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 7
MP = [20, 400]
无色消耗 = 0
data0 = [0, 521, 572, 628, 681, 734, 786, 841, 894, 946, 999, 1053, 1107, 1158, 1213, 1264, 1318, 1372, 1425, 1478, 1531, 1584, 1637, 1690, 1743, 1796, 1850, 1903, 1956, 2008, 2063, 2115, 2168, 2221, 2275, 2330, 2381, 2436, 2489, 2541, 2594, 2648, 2701, 2754, 2807, 2860, 2914, 2966, 3020, 3072, 3127, 3181, 3232, 3287, 3340, 3392, 3445, 3500, 3553, 3605, 3659, 3712, 3765, 3817, 3872, 3923, 3978, 4032, 4085, 4138, 4191]
hit0 = 1
data1 = [0, 362, 401, 439, 475, 513, 549, 587, 625, 661, 699, 736, 773, 811, 847, 885, 922, 959, 995, 1033, 1070, 1108, 1146, 1184, 1220, 1259, 1296, 1333, 1366, 1404, 1443, 1480, 1519, 1553, 1592, 1630, 1667, 1705, 1742, 1777, 1813, 1851, 1888, 1925, 1963, 2001, 2038, 2075, 2113, 2150, 2188, 2225, 2261, 2298, 2336, 2374, 2412, 2447, 2484, 2522, 2560, 2597, 2633, 2671, 2708, 2746, 2782, 2820, 2858, 2895, 2934]
hit1 = 10
TP成长 = 0.1
TP上限 = 7
chain = 6
class 技能11(主动技能):
名称 = "破甲冲击"
所在等级 = 25
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 7
MP = [25, 480]
无色消耗 = 0
data0 = [0, 3791, 4176, 4559, 4947, 5331, 5714, 6102, 6486, 6869, 7254, 7640, 8026, 8408, 8795, 9179, 9564, 9950, 10335, 10719, 11102, 11489, 11874, 12259, 12646, 13028, 13412, 13801, 14184, 14568, 14952, 15340, 15722, 16108, 16494, 16878, 17264, 17649, 18033, 18416, 18804, 19188, 19573, 19959, 20342, 20727, 21116, 21498, 21881, 22266, 22652, 23038, 23423, 23809, 24191, 24575, 24963, 25348, 25731, 26116, 26502, 26887, 27271, 27657, 28042, 28424, 28812, 29197, 29581, 29966, 30351]
hit0 = 1
TP成长 = 0.1
TP上限 = 7
chain = 6
class 技能12(主动技能):
名称 = "精灵之跃"
所在等级 = 30
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 7.5
MP = [30, 650]
无色消耗 = 0
data0 = [0, 4968, 5475, 5979, 6482, 6986, 7491, 7997, 8500, 9005, 9509, 10013, 10519, 11023, 11528, 12032, 12535, 13040, 13545, 14048, 14553, 15061, 15564, 16067, 16572, 17075, 17581, 18085, 18589, 19094, 19600, 20104, 20608, 21112, 21617, 22120, 22625, 23130, 23636, 24140, 24643, 25148, 25651, 26156, 26659, 27164, 27670, 28175, 28678, 29183, 29686, 30193, 30697, 31201, 31704, 32211, 32715, 33219, 33723, 34229, 34733, 35238, 35740, 36244, 36748, 37255, 37759, 38265, 38768, 39272, 39777]
hit0 = 1
TP成长 = 0.1
TP上限 = 7
chain = 6
class 技能13(主动技能):
名称 = "神木刺击"
所在等级 = 30
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 10
MP = [30, 950]
无色消耗 = 0
data0 = [0, 5893, 6493, 7091, 7691, 8287, 8887, 9487, 10082, 10681, 11278, 11880, 12477, 13074, 13675, 14272, 14872, 15467, 16066, 16665, 17263, 17863, 18461, 19058, 19659, 20254, 20855, 21452, 22051, 22649, 23248, 23847, 24445, 25041, 25639, 26239, 26838, 27435, 28037, 28633, 29230, 29832, 30426, 31027, 31624, 32224, 32822, 33420, 34019, 34617, 35214, 35814, 36411, 37010, 37608, 38207, 38805, 39405, 40004, 40601, 41198, 41797, 42396, 42995, 43593, 44191, 44790, 45386, 45985, 46585, 47181]
hit0 = 1
TP成长 = 0.1
TP上限 = 7
chain = 6
class 技能14(主动技能):
名称 = "剑盾猛攻"
所在等级 = 30
等级上限 = 16
学习间隔 = 10
等级精通 = 6
CD = 5
MP = [2, 75]
无色消耗 = 0
data0 = [0, 1998, 2460, 2925, 3387, 3852, 4315, 4779, 5243, 5708, 6170, 6636, 7100, 7563, 8026, 8490, 8953]
hit0 = 1
data1 = [0, 2144, 2641, 3139, 3636, 4135, 4632, 5131, 5628, 6125, 6625, 7123, 7620, 8118, 8616, 9112, 9612]
hit1 = 0
形态 = ["挥盾", "推进"]
def 形态变更(self, 形态, char: Character):
if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0:
形态 = self.形态[0]
if 形态 == "挥盾":
self.hit0 = 1
self.hit1 = 0
if 形态 == "推进":
self.hit0 = 0
self.hit1 = 1
def 剑盾倍率(self):
if self.等级 == 0:
return 1.0
else:
return round(0.120 + 0.005 * self.等级, 5)
# 仅适用于剑盾强袭
def 剑盾倍率1(self):
if self.等级 == 0:
return 1.0
else:
return round(0.120 + 0.05 + 0.005 * self.等级, 5)
def 等效CD(self, **argv):
return 0.5
class 技能15(主动技能):
名称 = "铁壁推进"
所在等级 = 35
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 20
MP = [35, 1400]
无色消耗 = 1
data0 = [0, 648, 716, 783, 847, 913, 980, 1045, 1112, 1180, 1244, 1310, 1376, 1441, 1510, 1575, 1643, 1708, 1772, 1840, 1905, 1971, 2040, 2103, 2171, 2237, 2302, 2369, 2436, 2502, 2567, 2634, 2699, 2766, 2831, 2900, 2965, 3032, 3097, 3162, 3230, 3294, 3360, 3427, 3493, 3560, 3625, 3692, 3759, 3823, 3891, 3957, 4022, 4089, 4155, 4220, 4286, 4355, 4418, 4487, 4551, 4618, 4684, 4748, 4817, 4883, 4949, 5014, 5080, 5146, 5212]
hit0 = 1
TP成长 = 0.1
TP上限 = 5
chain = 6
形态 = ["6c(秒断)", "5c(秒断)", "4c(秒断)", "3c(秒断)",
"6c(满)", "5c(满)", "4c(满)", "3c(满)"]
def 形态变更(self, 形态, char: Character):
if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0:
形态 = self.形态[0]
if 形态 == "6c(秒断)":
self.hit0 = 1
self.chain = 6
if 形态 == "5c(秒断)":
self.hit0 = 1
self.chain = 5
if 形态 == "4c(秒断)":
self.hit0 = 1
self.chain = 4
if 形态 == "3c(秒断)":
self.hit0 = 1
self.chain = 3
if 形态 == "6c(满)":
self.hit0 = 18
self.chain = 6
if 形态 == "5c(满)":
self.hit0 = 18
self.chain = 5
if 形态 == "4c(满)":
self.hit0 = 18
self.chain = 4
if 形态 == "3c(满)":
self.hit0 = 18
self.chain = 3
self.剑盾加成 = 1 + self.chain * char.get_skill_by_name("剑盾猛攻").剑盾倍率()
class 技能16(主动技能):
名称 = "自然束缚"
所在等级 = 35
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 15
MP = [35, 750]
无色消耗 = 1
data0 = [0, 8268, 9108, 9951, 10788, 11626, 12465, 13304, 14148, 14983, 15825, 16664, 17507, 18343, 19180, 20021, 20860, 21704, 22541, 23383, 24221, 25056, 25899, 26737, 27579, 28415, 29260, 30098, 30939, 31774, 32613, 33456, 34294, 35134, 35972, 36816, 37653, 38489, 39331, 40169, 41012, 41851, 42689, 43530, 44364, 45208, 46047, 46888, 47724, 48563, 49407, 50245, 51083, 51920, 52765, 53603, 54440, 55282, 56123, 56964, 57799, 58639, 59478, 60317, 61160, 61998, 62840, 63679, 64518, 65355, 66194]
hit0 = 1
TP成长 = 0.1
TP上限 = 5
class 技能17(主动技能):
名称 = "一刀两断"
所在等级 = 35
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 15
MP = [35, 1350]
无色消耗 = 1
data0 = [0, 2942, 3243, 3542, 3841, 4141, 4438, 4738, 5038, 5335, 5634, 5932, 6235, 6533, 6831, 7131, 7428, 7727, 8026, 8325, 8627, 8925, 9224, 9523, 9820, 10122, 10419, 10718, 11017, 11316, 11614, 11914, 12214, 12513, 12812, 13109, 13409, 13710, 14006, 14306, 14603, 14906, 15203, 15502, 15804, 16101, 16398, 16697, 16997, 17298, 17596, 17895, 18194, 18494, 18791, 19091, 19389, 19689, 19987, 20286, 20588, 20885, 21185, 21483, 21781, 22081, 22380, 22678, 22981, 23278, 23577]
hit0 = 1
data1 = [0, 5014, 5524, 6034, 6542, 7051, 7560, 8069, 8579, 9088, 9596, 10108, 10616, 11124, 11633, 12144, 12652, 13162, 13671, 14181, 14687, 15199, 15706, 16216, 16725, 17235, 17742, 18253, 18761, 19271, 19780, 20290, 20799, 21307, 21815, 22327, 22836, 23344, 23853, 24365, 24871, 25381, 25888, 26398, 26908, 27420, 27926, 28435, 28943, 29454, 29963, 30471, 30982, 31492, 31998, 32508, 33019, 33527, 34036, 34547, 35055, 35564, 36072, 36582, 37092, 37602, 38110, 38618, 39127, 39636, 40146]
hit1 = 1
TP成长 = 0.1
TP上限 = 5
是否有护石 = 1
def 装备护石(self, char):
self.power0 = 3.64
self.hit1 = 0
class 技能18(主动技能):
名称 = "飓风旋枪"
所在等级 = 40
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 25
MP = [40, 2800]
无色消耗 = 1
data0 = [0, 4758, 5240, 5723, 6206, 6689, 7174, 7653, 8137, 8621, 9104, 9587, 10070, 10553, 11035, 11520, 12001, 12487, 12968, 13450, 13933, 14417, 14898, 15382, 15865, 16350, 16831, 17315, 17797, 18281, 18762, 19246, 19728, 20210, 20695, 21178, 21661, 22145, 22626, 23110, 23591, 24077, 24559, 25042, 25525, 26008, 26491, 26972, 27457, 27937, 28423, 28906, 29390, 29870, 30354, 30837, 31319, 31804, 32286, 32770, 33253, 33736, 34218, 34700, 35184, 35666, 36150, 36634, 37117, 37600, 38081]
hit0 = 2
data1 = [0, 508, 561, 612, 666, 717, 768, 821, 874, 925, 978, 1029, 1082, 1135, 1186, 1236, 1289, 1342, 1392, 1445, 1496, 1550, 1600, 1653, 1705, 1757, 1810, 1860, 1915, 1964, 2017, 2068, 2121, 2173, 2224, 2276, 2330, 2381, 2433, 2486, 2538, 2591, 2642, 2694, 2744, 2798, 2848, 2902, 2952, 3006, 3058, 3109, 3163, 3213, 3267, 3317, 3371, 3420, 3472, 3526, 3577, 3629, 3683, 3735, 3786, 3840, 3890, 3942, 3994, 4045, 4099]
hit1 = 10
TP成长 = 0.1
TP上限 = 5
chain = 6
是否有护石 = 1
def 装备护石(self, char):
self.power1 = 1.74
self.CDR *= 0.90
class 技能19(主动技能):
名称 = "天陨断空斩"
所在等级 = 45
等级上限 = 70
学习间隔 = 2
等级精通 = 60
CD = 45
MP = [80, 3500]
无色消耗 = 2
data0 = [0, 2838, 3125, 3414, 3703, 3992, 4278, 4568, 4856, 5143, 5432, 5719, 6009, 6299, 6586, 6873, 7162, 7450, 7737, 8029, 8314, 8603, 8893, 9179, 9467, 9757, 10045, 10332, 10623, 10910, 11196, 11487, 11775, 12062, 12351, 12639, 12927, 13218, 13504, 13792, 14081, 14369, 14658, 14945, 15233, 15523, 15811, 16098, 16387, 16676, 16964, 17253, 17539, 17829, 18117, 18406, 18694, 18981, 19271, 19558, 19847, 20137, 20423, 20712, 21000, 21287, 21575, 21864, 22153, 22441, 22731]
hit0 = 1
data1 = [0, 2181, 2403, 2625, 2849, 3069, 3291, 3513, 3735, 3957, 4178, 4398, 4622, 4845, 5066, 5286, 5509, 5731, 5953, 6174, 6393, 6618, 6837, 7061, 7281, 7505, 7726, 7948, 8169, 8391, 8614, 8834, 9056, 9278, 9500, 9722, 9942, 10166, 10387, 10610, 10830, 11054, 11273, 11496, 11717, 11939, 12161, 12384, 12605, 12826, 13048, 13271, 13492, 13715, 13934, 14156, 14378, 14601, 14822, 15043, 15266, 15488, 15710, 15930, 16152, 16374, 16597, 16817, 17039, 17262, 17484]
hit1 = 1
data2 = [0, 3276, 3606, 3940, 4274, 4608, 4938, 5271, 5604, 5935, 6269, 6602, 6933, 7268, 7599, 7931, 8267, 8597, 8929, 9264, 9594, 9927, 10262, 10592, 10926, 11259, 11590, 11923, 12257, 12589, 12922, 13254, 13586, 13920, 14253, 14585, 14917, 15251, 15582, 15913, 16248, 16581, 16913, 17247, 17578, 17909, 18244, 18577, 18909, 19243, 19574, 19905, 20240, 20572, 20904, 21239, 21570, 21901, 22236, 22568, 22902, 23234, 23564, 23899, 24231, 24563, 24897, 25230, 25561, 25894, 26227]
hit2 = 1
data3 = [0, 13547, 14923, 16296, 17673, 19048, 20423, 21796, 23174, 24548, 25922, 27297, 28672, 30047, 31423, 32796, 34171, 35547, 36922, 38296, 39671, 41046, 42422, 43796, 45169, 46547, 47921, 49296, 50672, 52046, 53421, 54796, 56171, 57546, 58921, 60295, 61668, 63046, 64420, 65794, 67170, 68545, 69920, 71295, 72670, 74042, 75421, 76795, 78169, 79543, 80918, 82293, 83668, 85042, 86418, 87793, 89168, 90541, 91918, 93291, 94665, 96042, 97417, 98791, 100165, 101541, 102914, 104291, 105665, 107039, 108418]
hit3 = 1
TP成长 = 0.1
TP上限 = 5
chain = 6
是否有护石 = 1
def 装备护石(self, char):
self.hit0 = 0
self.power1 = 2.30
self.power2 = 1.79
self.power3 = 1.27
class 技能20(被动技能):
名称 = '自然恩泽'
所在等级 = 48
等级上限 = 50
学习间隔 = 3
等级精通 = 40
关联技能 = ['所有']
关联技能1 = ['天马流星落', '暮光之灵黄昏独角兽', '生命之律·神木擎天']
def 加成倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(1.00+0.02 * self.等级, 5)
def 加成倍率1(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(1.00+0.02 * self.等级, 5)
def 等级加成(self, x, char: Character = {}):
if self.等级 != 0:
if self.等级 + x > self.等级上限:
self.等级 = self.等级上限
if self.基础等级 != self.等级上限 and self.关联技能 != ['无']:
self.等级溢出 = 1
else:
self.等级 += int(x)
char.所有属性抗性加成(x)
class 技能21(主动技能):
名称 = "天马流星落"
所在等级 = 50
等级上限 = 50
学习间隔 = 5
等级精通 = 40
CD = 145
MP = [400, 8400]
无色消耗 = 5
data0 = [0, 5799, 7143, 8489, 9834, 11181, 12525, 13870, 15214, 16560, 17907, 19252, 20597, 21941, 23289, 24631, 25978, 27324, 28669, 30014, 31359, 32704, 34049, 35396, 36740, 38087, 39430, 40776, 42119, 43466, 44811, 46159, 47503, 48848, 50192, 51538, 52886, 54229, 55575, 56919, 58265, 59609, 60955, 62301, 63646, 64992, 66337, 67682, 69027, 70374, 71718]
hit0 = 1
data1 = [0, 3419, 4214, 5009, 5800, 6595, 7388, 8183, 8975, 9770, 10563, 11359, 12150, 12946, 13738, 14532, 15325, 16119, 16914, 17707, 18500, 19295, 20088, 20883, 21674, 22470, 23263, 24058, 24850, 25644, 26437, 27233, 28024, 28820, 29612, 30407, 31200, 31993, 32788, 33581, 34375, 35169, 35964, 36757, 37549, 38345, 39137, 39933, 40724, 41518, 42313]
hit1 = 4
data2 = [0, 57858, 71275, 84692, 98108, 111525, 124944, 138360, 151777, 165193, 178611, 192029, 205444, 218862, 232279, 245697, 259115, 272530, 285947, 299365, 312782, 326199, 339615, 353033, 366450, 379867, 393284, 406702, 420118, 433535, 446950, 460370, 473787, 487200, 500620, 514035, 527455, 540869, 554288, 567704, 581121, 594538, 607955, 621373, 634791, 648206, 661624, 675040, 688459, 701875, 715292]
hit2 = 1
形态 = []
def 形态变更(self, 形态, char: Character):
pass
class 技能22(主动技能):
名称 = "生命审判"
所在等级 = 60
等级上限 = 50
学习间隔 = 2
等级精通 = 40
CD = 30
MP = [450, 1560]
无色消耗 = 1
data0 = [0, 20940, 23068, 25192, 27315, 29440, 31566, 33689, 35815, 37938, 40066, 42191, 44315, 46437, 48564, 50689, 52815, 54937, 57063, 59191, 61314, 63440, 65564, 67689, 69814, 71939, 74061, 76188, 78314, 80440, 82562, 84688, 86812, 88938, 91061, 93186, 95315, 97438, 99563, 101687, 103811, 105937, 108063, 110185, 112311, 114436, 116564, 118686, 120812, 122937, 125062]
hit0 = 1
TP成长 = 0.1
TP上限 = 5
chain = 6
是否有护石 = 1
def 装备护石(self, char):
self.倍率 *= 1.17
class 技能23(主动技能):
名称 = "壁垒突袭"
所在等级 = 70
等级上限 = 50
学习间隔 = 2
等级精通 = 40
CD = 50
MP = [935, 2360]
无色消耗 = 3
data0 = [0, 11730, 12920, 14109, 15299, 16492, 17682, 18872, 20061, 21253, 22441, 23632, 24821, 26012, 27204, 28394, 29584, 30771, 31963, 33152, 34343, 35532, 36724, 37914, 39105, 40294, 41485, 42675, 43865, 45055, 46245, 47436, 48628, 49815, 51007, 52197, 53388, 54577, 55768, 56959, 58149, 59338, 60528, 61720, 62909, 64100, 65289, 66481, 67671, 68860, 70050]
hit0 = 1
data1 = [0, 21783, 23995, 26206, 28416, 30627, 32837, 35048, 37259, 39470, 41679, 43889, 46101, 48313, 50521, 52732, 54944, 57153, 59364, 61575, 63786, 65994, 68206, 70416, 72626, 74835, 77047, 79257, 81468, 83678, 85888, 88098, 90309, 92522, 94731, 96942, 99152, 101364, 103574, 105785, 107993, 110203, 112413, 114626, 116835, 119046, 121257, 123467, 125679, 127889, 130099]
hit1 = 1
TP成长 = 0.1
TP上限 = 5
chain = 6
是否有护石 = 1
def 装备护石(self, char):
self.power1 = 1.47
class 技能24(主动技能):
名称 = "剑盾强袭"
所在等级 = 75
等级上限 = 50
学习间隔 = 2
等级精通 = 40
CD = 40
MP = [580, 4500]
无色消耗 = 3
data0 = [0, 52069, 57352, 62633, 67917, 73199, 78481, 83765, 89046, 94330, 99612, 104895, 110177, 115461, 120744, 126025, 131309, 136592, 141875, 147157, 152438, 157721, 163004, 168288, 173568, 178849, 184135, 189417, 194701, 199982, 205266, 210549, 215830, 221112, 226393, 231679, 236961, 242245, 247526, 252809, 258093, 263374, 268657, 273939, 279222, 284505, 289787, 295071, 300353, 305635, 310918]
hit0 = 1
chain = 6
是否有护石 = 1
def 形态变更(self, 形态, char: Character):
if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0:
形态 = self.形态[0]
if 形态 == "6c":
self.chain = 6
if 形态 == "5c":
self.chain = 5
if 形态 == "4c":
self.chain = 4
if 形态 == "3c":
self.chain = 3
self.剑盾加成 = 1 + self.chain * char.get_skill_by_name("剑盾猛攻").剑盾倍率1()
def 装备护石(self, char):
self.倍率 *= 1.35
class 技能25(被动技能):
名称 = '信仰鼓舞'
所在等级 = 75
等级上限 = 50
学习间隔 = 3
等级精通 = 40
def 加成倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(1.18 + 0.02 * self.等级, 5)
class 技能26(主动技能):
名称 = "自然之怒"
所在等级 = 80
等级上限 = 50
学习间隔 = 2
等级精通 = 40
CD = 45
MP = [800, 6000]
无色消耗 = 5
data0 = [0, 10429, 11488, 12545, 13606, 14664, 15724, 16783, 17839, 18899, 19958, 21016, 22076, 23133, 24192, 25250, 26308, 27365, 28425, 29483, 30542, 31603, 32658, 33719, 34779, 35836, 36896, 37953, 39012, 40070, 41128, 42185, 43245, 44303, 45362, 46422, 47478, 48538, 49599, 50655, 51716, 52773, 53832, 54891, 55946, 57005, 58065, 59123, 60183, 61242, 62298]
hit0 = 1
data1 = [0, 3894, 4289, 4684, 5078, 5476, 5870, 6268, 6663, 7055, 7454, 7848, 8245, 8639, 9036, 9429, 9824, 10220, 10615, 11012, 11408, 11803, 12199, 12592, 12989, 13383, 13779, 14177, 14572, 14968, 15361, 15757, 16152, 16549, 16943, 17341, 17732, 18130, 18525, 18921, 19315, 19712, 20105, 20501, 20896, 21293, 21690, 22083, 22482, 22873, 23271]
hit1 = 6
data2 = [0, 26022, 28663, 31303, 33944, 36582, 39224, 41864, 44504, 47143, 49785, 52425, 55064, 57705, 60345, 62986, 65625, 68265, 70905, 73545, 76185, 78826, 81464, 84110, 86749, 89389, 92031, 94671, 97309, 99951, 102590, 105231, 107870, 110511, 113151, 115791, 118432, 121071, 123711, 126353, 128993, 131631, 134271, 136913, 139553, 142195, 144834, 147475, 150114, 152756, 155394]
hit2 = 1
chain = 6
是否有护石 = 1
def 装备护石(self, char):
self.power0 = 2.98
self.CDR *= 0.9
class 技能27(主动技能):
名称 = "暮光之灵黄昏独角兽"
所在等级 = 85
等级上限 = 50
学习间隔 = 5
等级精通 = 40
CD = 180
MP = [2500, 5000]
无色消耗 = 10
data0 = [0, 11286, 13905, 16524, 19142, 21759, 24377, 26994, 29612, 32231, 34848, 37465, 40085, 42703, 45322, 47939, 50554, 53174, 55792, 58411, 61028, 63648, 66265, 68882, 71500, 74119, 76737, 79355, 81970, 84590, 87208, 89827, 92444, 95062, 97682, 100296, 102914, 105533, 108152, 110771, 113388, 116004, 118624, 121243, 123859, 126477, 129095, 131714, 134330, 136949, 139567]
hit0 = 3
data1 = [0, 135477, 166891, 198308, 229723, 261138, 292555, 323971, 355388, 386800, 418218, 449634, 481047, 512464, 543881, 575296, 606711, 638126, 669542, 700958, 732373, 763789, 795204, 826621, 858036, 889452, 920866, 952282, 983697, 1015113, 1046529, 1077945, 1109359, 1140776, 1172192, 1203608, 1235021, 1266437, 1297854, 1329268, 1360684, 1392100, 1423514, 1454930, 1486346, 1517762, 1549177, 1580592, 1612009, 1643424, 1674840]
hit1 = 1
data2 = [0, 3761, 4633, 5505, 6378, 7251, 8123, 8996, 9870, 10741, 11615, 12487, 13361, 14234, 15105, 15978, 16850, 17724, 18596, 19466, 20339, 21213, 22086, 22957, 23831, 24704, 25576, 26449, 27323, 28194, 29067, 29940, 30814, 31686, 32558, 33431, 34304, 35177, 36050, 36924, 37795, 38666, 39540, 40412, 41283, 42157, 43029, 43902, 44775, 45648, 46520]
hit2 = 5
形态 = []
def 形态变更(self, 形态, char: Character):
pass
class 技能28(主动技能):
名称 = "荆棘之城"
所在等级 = 95
等级上限 = 50
学习间隔 = 2
等级精通 = 40
CD = 60
MP = [800, 6667]
无色消耗 = 7
data0 = [0, 9827, 10827, 11824, 12819, 13820, 14816, 15813, 16811, 17808, 18805, 19803, 20800, 21797, 22795, 23791, 24789, 25785, 26783, 27781, 28777, 29775, 30774, 31770, 32768, 33765, 34762, 35760, 36757, 37754, 38752, 39748, 40745, 41744, 42740, 43737, 44738, 45732, 46729, 47730, 48726, 49722, 50718, 51718, 52715, 53710, 54710, 55707, 56703, 57702, 58699]
hit0 = 1
data1 = [0, 88476, 97451, 106428, 115405, 124380, 133357, 142333, 151307, 160284, 169261, 178237, 187213, 196189, 205164, 214141, 223117, 232092, 241070, 250046, 259021, 267996, 276974, 285949, 294926, 303901, 312877, 321853, 330830, 339804, 348781, 357759, 366734, 375710, 384684, 393662, 402639, 411615, 420588, 429566, 438542, 447518, 456494, 465469, 474447, 483424, 492397, 501374, 510351, 519327, 528302]
hit1 = 1
chain = 6
class 技能29(被动技能):
名称 = '生命的恩宠'
所在等级 = 95
等级上限 = 50
学习间隔 = 3
等级精通 = 40
def 加成倍率(self, 武器类型):
if self.等级 == 0:
return 1.0
else:
return round(1.18 + 0.02 * self.等级, 5)
class 技能30(主动技能):
名称 = "生命之律·神木擎天"
所在等级 = 100
等级上限 = 50
学习间隔 = 5
等级精通 = 40
CD = 290
MP = [4028, 8056]
无色消耗 = 15
data0 = [0, 50728, 62490, 74255, 86017, 97782, 109545, 121309, 133073, 144834, 156598, 168363, 180126, 191888, 203654, 215416, 227181, 238944, 250705, 262470, 274233, 285996, 297761, 309524, 321287, 333051, 344814, 356579, 368341, 380106, 391870, 403633, 415396, 427159, 438922, 450686, 462450, 474211, 485977, 497740, 509505, 521267, 533032, 544795, 556558, 568322, 580084, 591848, 603612, 615376, 627138]
hit0 = 1
data1 = [0, 405839, 499946, 594055, 688162, 782270, 876378, 970486, 1064594, 1158703, 1252810, 1346918, 1441026, 1535134, 1629242, 1723351, 1817458, 1911566, 2005674, 2099782, 2193890, 2287999, 2382106, 2476214, 2570322, 2664430, 2758538, 2852644, 2946754, 3040860, 3134970, 3229076, 3323186, 3417291, 3511400, 3605508, 3699616, 3793724, 3887832, 3981940, 4076048, 4170156, 4264264, 4358372, 4452480, 4546588, 4640696, 4734804, 4828912, 4923020, 5017128]
hit1 = 1
data2 = [0, 8453, 10413, 12373, 14334, 16295, 18255, 20216, 22175, 24136, 26098, 28059, 30020, 31979, 33939, 35900, 37862, 39822, 41783, 43743, 45704, 47664, 49624, 51586, 53545, 55507, 57467, 59427, 61388, 63348, 65309, 67269, 69231, 71191, 73152, 75111, 77072, 79033, 80995, 82954, 84915, 86876, 88836, 90797, 92756, 94718, 96678, 98640, 100600, 102561, 104521]
hit2 = 6
形态 = []
def 形态变更(self, 形态, char: Character):
pass
class 技能31(主动技能):
名称 = "骑乘召唤"
所在等级 = 15
等级上限 = 11
等级精通 = 1
学习间隔 = 2
# 初始CD
# CD = 120
# 平X
CD = 1
MP = [9, 250]
无色消耗 = 0
# 普通攻击(3x) 前两x和第三x数据不一致,每x三段
data0 = [0, 104, 114, 125, 135, 146, 158, 168, 178, 188, 199, 209]
hit0 = 3*2
data1 = [0, 139, 152, 168, 181, 196, 209, 224, 237, 252, 265, 280]
hit1 = 3
# 前冲
data2 = [0, 130, 142, 157, 169, 182, 196, 209, 222, 235, 248, 262]
hit2 = 4
# 刺击
data3 = [0, 360, 397, 433, 470, 506, 542, 579, 616, 653, 689, 726]
hit3 = 4
形态 = ["3x", "前冲", "刺击"]
TP成长 = 0.1
TP上限 = 5
def 形态变更(self, 形态, char: Character):
if (形态 == '' or 形态 not in self.形态) and len(self.形态) > 0:
形态 = self.形态[0]
if 形态 == "3x":
self.hit0 = 3*2
self.hit1 = 3
self.hit2 = self.hit3= 0
self.CD = 1
if 形态 == "前冲":
self.hit2 = 4
self.hit0 = self.hit1 = self.hit3 = 0
self.CD = 1
if 形态 == "刺击":
self.hit3 = 4
self.hit0 = self.hit1 = self.hit2 = 0
self.CD = 2
class 技能32(主动技能):
名称 = "骑乘践踏"
所在等级 = 15
等级上限 = 1
等级精通 = 1
CD = 3
MP = [9, 250]
无色消耗 = 0
data0 = [0, 1782, 1963, 2143, 2324, 2505, 2685, 2867, 3048, 3228, 3409, 3590]
hit0 = 1
形态 = []
def 等效百分比(self, **argv):
char = argv.get('char', {})
self.等级 = char.get_skill_by_name('骑乘召唤').等级
return super().等效百分比(**argv)
def 武器CD系数(self, 武器类型, 输出类型):
return 1.0
class 技能33(主动技能):
名称 = "骑乘前踏"
所在等级 = 15
等级上限 = 1
等级精通 = 1
CD = 8
MP = [9, 250]
无色消耗 = 0
data0 = [0, 369, 407, 444, 482, 519, 556, 594, 631, 669, 707, 743]
hit0 = 1
data1 = [0, 3323, 3660, 3998, 4336, 4673, 5009, 5346, 5684, 6022, 6359, 6696]
hit1 = 1
形态 = []
def 等效百分比(self, **argv):
char = argv.get('char', {})
self.等级 = char.get_skill_by_name('骑乘召唤').等级
return super().等效百分比(**argv)
def 武器CD系数(self, 武器类型, 输出类型):
return 1.0
class 技能34(主动技能):
名称 = "骑乘后撩踢"
所在等级 = 15
等级上限 = 1
等级精通 = 1
CD = 7
MP = [9, 250]
无色消耗 = 0
data0 = [0, 3289, 3622, 3955, 4290, 4623, 4958, 5291, 5625, 5959, 6292, 6626]
hit0 = 1
形态 = []
def 等效百分比(self, **argv):
char = argv.get('char', {})
self.等级 = char.get_skill_by_name('骑乘召唤').等级
return super().等效百分比(**argv)
def 武器CD系数(self, 武器类型, 输出类型):
return 1.0
class 技能35(主动技能):
名称 = "骑乘奔袭"
所在等级 = 15
等级上限 = 1
等级精通 = 1
CD = 7
MP = [9, 250]
无色消耗 = 0
data0 = [0, 891, 982, 1072, 1163, 1253, 1344, 1434, 1525, 1616, 1705, 1796]
hit0 = 6
形态 = []
def 等效百分比(self, **argv):
char = argv.get('char', {})
self.等级 = char.get_skill_by_name('骑乘召唤').等级
return super().等效百分比(**argv)
def 武器CD系数(self, 武器类型, 输出类型):
return 1.0
class 技能36(主动技能):
名称 = "骑乘旋风刺击"
所在等级 = 15
等级上限 = 1
CD = 15
MP = [9, 250]
无色消耗 = 0
data0 = [0, 610, 673, 735, 797, 859, 920, 983, 1044, 1107, 1169, 1231]
hit0 = 10
形态 = []
def 等效百分比(self, **argv):
char = argv.get('char', {})
self.等级 = char.get_skill_by_name('骑乘召唤').等级
return super().等效百分比(**argv)
def 武器CD系数(self, 武器类型, 输出类型):
return 1.0
class classChange(Character):
def __init__(self, equVersion=""):
self.实际名称 = 'elven_knight'
self.名称 = '皓曦·精灵骑士'
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 = 2.03
super().__init__(equVersion)
# 抗性有成长的较为特殊 需要按照以下进行添加
def 职业特殊设置(self):
自然恩泽 = self.get_skill_by_name("自然恩泽")
self.所有属性抗性加成(自然恩泽.等级+9)
骑乘召唤 = self.get_skill_by_name("骑乘召唤")
for i in ['骑乘践踏','骑乘前踏','骑乘后撩踢','骑乘奔袭','骑乘旋风刺击']:
skill = self.get_skill_by_name(i)
skill.TP上限 = 骑乘召唤.TP上限
skill.TP成长 = 骑乘召唤.TP成长
skill.TP等级 = 骑乘召唤.TP等级
skill.等级 = 骑乘召唤.等级
skill.等级上限 = 骑乘召唤.等级上限
def 符文计算(self):
for item in self.符文:
if not item is None and item != '':
skill_name: str = item[0:-1]
type = item[-1]
skill = None
if skill_name == '骑乘召唤':
for i in ['骑乘召唤','骑乘践踏','骑乘前踏','骑乘后撩踢','骑乘奔袭','骑乘旋风刺击']:
skill = self.get_skill_by_name(i)
if skill is not None:
# 紫
if type == "1":
skill.倍率 *= 1.04
# 红
if type == "2":
skill.倍率 *= 1.06
skill.CDR *= 1.04
# 绿
if type == "3":
skill.倍率 *= 0.96
skill.CDR *= 0.93
# 蓝
if type == "4":
skill.CDR *= 0.95
else:
print("skill not found {skill_name}".format(skill_name))
else:
skill = self.get_skill_by_name(skill_name)
if skill is not None:
# 紫
if type == "1":
skill.倍率 *= 1.04
# 红
if type == "2":
skill.倍率 *= 1.06
skill.CDR *= 1.04
# 绿
if type == "3":
skill.倍率 *= 0.96
skill.CDR *= 0.93
# 蓝
if type == "4":
skill.CDR *= 0.95
else:
print("skill not found {skill_name}".format(skill_name))