feat:优化职业技能关联实现

This commit was merged in pull request #11.
This commit is contained in:
2026-10-13 18:19:20 +08:00
parent 927866d366
commit 66ff3ff63b
175 changed files with 14299 additions and 440 deletions
+74 -14
View File
@@ -9,6 +9,7 @@ from core.basic.skill_effect_types import (
SkillAttribute,
SkillEffect,
)
from core.character.refs.knight.chaos import ChaosSkillRef as Ref
prefix = "knight/chaos/cn/skillDetail"
@@ -25,6 +26,7 @@ class Skill0(ActiveSkill):
只有完全掌握盾挑的人才有资格当上骑士团团长,千万不要小看这个技能。]\n
"""
name = "盾挑"
ref = Ref.UPPERSHIELD
learnLv = 1
masterLv = 10
maxLv = 20
@@ -54,6 +56,7 @@ class Skill1(ActiveSkill):
只有为了国家和君主愿意牺牲小我的人才是真正的骑士。]\n
"""
name = "强踢"
ref = Ref.LIONKICK
learnLv = 1
masterLv = 60
maxLv = 70
@@ -89,6 +92,7 @@ class Skill2(ActiveSkill):
"""
name = '盾牌转换'
ref = Ref.SHIELDCHANGE
cellPos = (9,1)
learnLv = 1
masterLv = 1
@@ -113,6 +117,7 @@ class Skill3(ActiveSkill):
"""
name = '统御 : 魔灵战士'
ref = Ref.SUMMONCHAOSSOLDIER
cellPos = (2,1)
learnLv = 1
masterLv = 1
@@ -137,6 +142,7 @@ class Skill4(ActiveSkill):
"""
name = '统御 : 魔灵法师'
ref = Ref.SUMMONDEMONMAGICIAN
cellPos = (8,1)
learnLv = 1
masterLv = 1
@@ -163,6 +169,7 @@ class Skill5(PassiveSkill):
"""
name = '亚丁的庇佑'
ref = Ref.SUMMONDEVAATEN
cellPos = (7,1)
learnLv = 1
masterLv = 1
@@ -207,6 +214,7 @@ class Skill6(ActiveSkill):
使自身向后方小跳并避开敌人的攻击。\n
"""
name = "后跳"
ref = Ref.BACKSTEP
learnLv = 1
masterLv = 1
maxLv = 1
@@ -230,6 +238,7 @@ class Skill7(PassiveSkill):
在决斗场中,增益/减益技能、 被动技能的技能攻击力增加效果对[基础精通]无影响。\n
"""
name = "基础精通"
ref = Ref.BASICATTACKUP
learnLv = 1
masterLv = 115
maxLv = 200
@@ -257,6 +266,7 @@ class Skill8(ActiveSkill):
使自身在倒地状态下迅速起身并采取蹲伏姿势; 蹲伏状态下,自身会进入无敌状态,效果持续一定时间。\n
"""
name = "受身蹲伏"
ref = Ref.QUICKSTANDING
learnLv = 1
masterLv = 1
maxLv = 20
@@ -298,6 +308,7 @@ class Skill9(ActiveSkill):
决斗场中无法使用技能连招。\n
"""
name = "技能连招"
ref = Ref.SKILLPRESETTYPE1
learnLv = 1
masterLv = 1
maxLv = 1
@@ -320,6 +331,7 @@ class Skill10(PassiveSkill):
穿戴的防具越多,效果越强; 可根据转职,增加不同的属性种类及数值。\n
"""
name = "防具精通"
ref = Ref.ARMORMASTERYETC
learnLv = 1
masterLv = 1
maxLv = 1
@@ -345,6 +357,7 @@ class Skill11(ActiveSkill):
"""
name = '盾击'
ref = Ref.SHIELDSTARK
cellPos = (4,2)
learnLv = 5
masterLv = 60
@@ -380,6 +393,7 @@ class Skill12(ActiveSkill):
[命运之轮开始旋转了。]\n
"""
name = "命运之轮"
ref = Ref.WHEELOFFORTUNE
learnLv = 5
masterLv = 60
maxLv = 70
@@ -410,6 +424,7 @@ class Skill13(PassiveSkill):
"""
name = '自动防御'
ref = Ref.PERFECTGUARD
cellPos = (9,2)
learnLv = 5
masterLv = 5
@@ -441,6 +456,7 @@ class Skill14(ActiveSkill):
"""
name = '盾牌格挡'
ref = Ref.SHIELDGUARD
cellPos = (4,3)
learnLv = 10
masterLv = 5
@@ -489,6 +505,7 @@ class Skill15(ActiveSkill):
"""
name = '致命突刺'
ref = Ref.LETHALPUNTO
cellPos = (6,3)
learnLv = 10
masterLv = 60
@@ -535,6 +552,7 @@ class Skill16(ActiveSkill):
"""
name = '跳斩'
ref = Ref.FINISH
cellPos = (9,3)
learnLv = 10
masterLv = 60
@@ -564,6 +582,7 @@ class Skill17(ActiveSkill):
"""
name = '飞跃截击'
ref = Ref.INTERCEPT
cellPos = (1,3)
learnLv = 10
masterLv = 60
@@ -596,6 +615,7 @@ class Skill18(PassiveSkill):
无法强制中断觉醒技能和跳跃超过一定高度的技能。\n
"""
name = "强化 - 后跳"
ref = Ref.ESCAPEBACKSTEP
learnLv = 10
masterLv = 1
maxLv = 1
@@ -623,6 +643,7 @@ class Skill19(ActiveSkill):
效果持续期间内,再次按技能键可以结束。\n
"""
name = "跃翔"
ref = Ref.JUMPPOWERUP
learnLv = 10
masterLv = 1
maxLv = 1
@@ -652,6 +673,7 @@ class Skill20(PassiveSkill):
"""
name = '防御姿态'
ref = Ref.DEFENSIVEPOSTURE
cellPos = (4,4)
learnLv = 15
masterLv = 1
@@ -685,6 +707,7 @@ class Skill21(ActiveSkill):
"""
name = '破武之轮'
ref = Ref.DISARMING
cellPos = (9,4)
learnLv = 15
masterLv = 60
@@ -739,6 +762,7 @@ class Skill22(ActiveSkill):
"""
name = '魔灵召唤 : 波拉斯'
ref = Ref.SUMMONBORASS
cellPos = (2,4)
learnLv = 15
masterLv = 60
@@ -770,6 +794,7 @@ class Skill23(ActiveSkill):
"""
name = '魔灵召唤 : 瓦尔琪'
ref = Ref.SUMMONLUCKYWACKY
cellPos = (8,4)
learnLv = 15
masterLv = 60
@@ -800,6 +825,7 @@ class Skill24(ActiveSkill):
"""
name = '军团遣散'
ref = Ref.CLEARDEMON
cellPos = (3,4)
learnLv = 15
masterLv = 1
@@ -823,6 +849,7 @@ class Skill25(ActiveSkill):
"""
name = '军团列队'
ref = Ref.CORPSARRAY
cellPos = (6,4)
learnLv = 15
masterLv = 60
@@ -853,6 +880,7 @@ class Skill26(PassiveSkill):
"""
name = '魔灵血统'
ref = Ref.MIXEDBLOOD
cellPos = (1,4)
learnLv = 15
masterLv = 1
@@ -887,6 +915,7 @@ class Skill27(ActiveSkill):
"""
name = '魔灵随行'
ref = Ref.STOPATTACK
cellPos = (5,4)
learnLv = 15
masterLv = 1
@@ -913,6 +942,7 @@ class Skill28(PassiveSkill):
"""
name = '力量法则'
ref = Ref.RULEOFPOWER
cellPos = (1,5)
learnLv = 20
masterLv = 1
@@ -930,7 +960,7 @@ class Skill28(PassiveSkill):
# 迁移前实现(保留对照):
# associate = [{'data': data0, 'type': '*skillDamage', 'skills': ['军团列队', '魔幻旋风', '毁灭突进', '翔空剑', '聚灵升空剑', '魔神百裂拳', '黑暗冲击', '午夜嘉年华', '绚丽耀光', '魔灵乱舞', '黑曜之眸 : 亚丁降临', '绽放·终章', '盛宴·恶之祭典']}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0)), skills=['军团列队', '魔幻旋风', '毁灭突进', '翔空剑', '聚灵升空剑', '魔神百裂拳', '黑暗冲击', '午夜嘉年华', '绚丽耀光', '魔灵乱舞', '黑曜之眸 : 亚丁降临', '绽放·终章', '盛宴·恶之祭典']),
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0)), skills=[Ref.CORPSARRAY, Ref.FANCYTWIST, Ref.BATTERINGRAM, Ref.VSLASH, Ref.FINALATTACK, Ref.WONDERFULRUSH, Ref.DARKSHOCKWAVE, Ref.MIDNIGHTCARNIVAL, Ref.MASSIVEFIRE, Ref.BRAWL, Ref.ATENADVENT, Ref.GRANDFINALE, Ref.EVILFESTIVAL]),
]
# 魔灵召唤 : 狂暴布洛克
@@ -946,6 +976,7 @@ class Skill29(ActiveSkill):
"""
name = '魔灵召唤 : 狂暴布洛克'
ref = Ref.SUMMONHYSTERICWORRIER
cellPos = (2,5)
learnLv = 20
masterLv = 60
@@ -990,6 +1021,7 @@ class Skill30(ActiveSkill):
"""
name = '魔灵炸弹'
ref = Ref.SACRIFICEBOMB
cellPos = (5,5)
learnLv = 20
masterLv = 60
@@ -1053,6 +1085,7 @@ class Skill31(ActiveSkill):
"""
name = '连锁共振'
ref = Ref.RESONANCE
cellPos = (4,5)
learnLv = 20
masterLv = 1
@@ -1098,7 +1131,7 @@ class Skill31(ActiveSkill):
# 迁移前实现(保留对照):
# associate = [{'type': '*skillDamage', 'data': data7, 'skills': ['魔灵召唤 : 波拉斯', '魔灵召唤 : 狂暴布洛克', '魔灵召唤 : 假面杰森', '魔灵召唤 : 旋转小冯', '魔灵召唤 : 迪克老爹']}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data7)), skills=['魔灵召唤 : 波拉斯', '魔灵召唤 : 狂暴布洛克', '魔灵召唤 : 假面杰森', '魔灵召唤 : 旋转小冯', '魔灵召唤 : 迪克老爹']),
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data7)), skills=[Ref.SUMMONBORASS, Ref.SUMMONHYSTERICWORRIER, Ref.SUMMONGELATINMASK, Ref.SUMMONCRAZYSPIN, Ref.SUMMONBIGDADDY]),
]
# 暴击
@@ -1109,6 +1142,7 @@ class Skill32(PassiveSkill):
集中精神,提升物理/魔法暴击率。\n
"""
name = "暴击"
ref = Ref.PHYSICALCRITICALHITUP
learnLv = 20
masterLv = 10
maxLv = 20
@@ -1136,6 +1170,7 @@ class Skill33(ActiveSkill):
"""
name = '魔灵召唤 : 假面杰森'
ref = Ref.SUMMONGELATINMASK
cellPos = (2,6)
learnLv = 25
masterLv = 60
@@ -1176,6 +1211,7 @@ class Skill34(ActiveSkill):
"""
name = '魔灵召唤 : 大画家芭芘'
ref = Ref.SUMMONTWINKLEARTIST
cellPos = (8,6)
learnLv = 25
masterLv = 60
@@ -1209,6 +1245,7 @@ class Skill35(ActiveSkill):
"""
name = '绝对魅力'
ref = Ref.REIGNOFTERROR
cellPos = (4,6)
learnLv = 25
masterLv = 10
@@ -1243,16 +1280,16 @@ class Skill35(ActiveSkill):
# {'type': '*ratio', 'data': data2, 'skills': ['碎灵之击']},
# ]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1)), skills=['魔灵召唤 : 波拉斯', '魔灵召唤 : 瓦尔琪', '魔灵召唤 : 狂暴布洛克', '魔灵召唤 : 假面杰森', '魔灵召唤 : 大画家芭芘', '魔灵召唤 : 旋转小冯', '魔灵召唤 : 小吸血鬼夏伊', '魔灵召唤 : 大富翁鲁邦', '魔灵召唤 : 迪克老爹', '魔灵召唤 : 红心女皇艾莉莎']),
SkillEffect(attribute=Power(2), operation=Operation.ADD, value=Percent(LevelTable(data2)), skills=['魔灵炸弹']),
SkillEffect(attribute=Power(3), operation=Operation.ADD, value=Percent(LevelTable(data2)), skills=['魔灵炸弹']),
SkillEffect(attribute=Power(5), operation=Operation.ADD, value=Percent(LevelTable(data2)), skills=['魔灵炸弹']),
SkillEffect(attribute=Power(7), operation=Operation.ADD, value=Percent(LevelTable(data2)), skills=['魔灵炸弹']),
SkillEffect(attribute=Power(12), operation=Operation.ADD, value=Percent(LevelTable(data2)), skills=['魔灵炸弹']),
SkillEffect(attribute=Power(13), operation=Operation.ADD, value=Percent(LevelTable(data2)), skills=['魔灵炸弹']),
SkillEffect(attribute=Power(2), operation=Operation.ADD, value=Percent(LevelTable(data2)), skills=['毁灭突进']),
SkillEffect(attribute=Power(3), operation=Operation.ADD, value=Percent(LevelTable(data2)), skills=['毁灭突进']),
SkillEffect(attribute=SkillAttribute.RATIO, value=1 + Percent(LevelTable(data2)), skills=['碎灵之击']),
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1)), skills=[Ref.SUMMONBORASS, Ref.SUMMONLUCKYWACKY, Ref.SUMMONHYSTERICWORRIER, Ref.SUMMONGELATINMASK, Ref.SUMMONTWINKLEARTIST, Ref.SUMMONCRAZYSPIN, Ref.SUMMONVAMPIRECHILDREN, Ref.SUMMONRAGEHAT, Ref.SUMMONBIGDADDY, Ref.SUMMONHEARTQUEEN]),
SkillEffect(attribute=Power(2), operation=Operation.ADD, value=Percent(LevelTable(data2)), skills=[Ref.SACRIFICEBOMB]),
SkillEffect(attribute=Power(3), operation=Operation.ADD, value=Percent(LevelTable(data2)), skills=[Ref.SACRIFICEBOMB]),
SkillEffect(attribute=Power(5), operation=Operation.ADD, value=Percent(LevelTable(data2)), skills=[Ref.SACRIFICEBOMB]),
SkillEffect(attribute=Power(7), operation=Operation.ADD, value=Percent(LevelTable(data2)), skills=[Ref.SACRIFICEBOMB]),
SkillEffect(attribute=Power(12), operation=Operation.ADD, value=Percent(LevelTable(data2)), skills=[Ref.SACRIFICEBOMB]),
SkillEffect(attribute=Power(13), operation=Operation.ADD, value=Percent(LevelTable(data2)), skills=[Ref.SACRIFICEBOMB]),
SkillEffect(attribute=Power(2), operation=Operation.ADD, value=Percent(LevelTable(data2)), skills=[Ref.BATTERINGRAM]),
SkillEffect(attribute=Power(3), operation=Operation.ADD, value=Percent(LevelTable(data2)), skills=[Ref.BATTERINGRAM]),
SkillEffect(attribute=SkillAttribute.RATIO, value=1 + Percent(LevelTable(data2)), skills=[Ref.GENOCIDECRUSH]),
]
# 魔幻旋风
@@ -1265,6 +1302,7 @@ class Skill36(ActiveSkill):
"""
name = '魔幻旋风'
ref = Ref.FANCYTWIST
cellPos = (6,6)
learnLv = 25
masterLv = 60
@@ -1306,6 +1344,7 @@ class Skill37(ActiveSkill):
"""
name = '魔灵召唤 : 旋转小冯'
ref = Ref.SUMMONCRAZYSPIN
cellPos = (2,7)
learnLv = 30
masterLv = 60
@@ -1343,6 +1382,7 @@ class Skill38(ActiveSkill):
"""
name = '魔灵召唤 : 小吸血鬼夏伊'
ref = Ref.SUMMONVAMPIRECHILDREN
cellPos = (8,7)
learnLv = 30
masterLv = 60
@@ -1379,6 +1419,7 @@ class Skill39(ActiveSkill):
"""
name = '思维风暴'
ref = Ref.BRAINSTORM
cellPos = (4,7)
learnLv = 30
masterLv = 10
@@ -1409,6 +1450,7 @@ class Skill40(ActiveSkill):
"""
name = '毁灭突进'
ref = Ref.BATTERINGRAM
cellPos = (6,7)
learnLv = 30
masterLv = 60
@@ -1454,6 +1496,7 @@ class Skill41(ActiveSkill):
"""
name = '魔灵召唤 : 大富翁鲁邦'
ref = Ref.SUMMONRAGEHAT
cellPos = (8,8)
learnLv = 35
masterLv = 60
@@ -1507,6 +1550,7 @@ class Skill42(ActiveSkill):
"""
name = '灵性转换'
ref = Ref.ELEMENTALCIRCLE
cellPos = (9,8)
learnLv = 35
masterLv = 1
@@ -1536,6 +1580,7 @@ class Skill43(ActiveSkill):
"""
name = '翔空剑'
ref = Ref.VSLASH
cellPos = (6,8)
learnLv = 35
masterLv = 60
@@ -1610,6 +1655,7 @@ class Skill44(ActiveSkill):
"""
name = '魔灵召唤 : 迪克老爹'
ref = Ref.SUMMONBIGDADDY
cellPos = (2,9)
learnLv = 40
masterLv = 60
@@ -1671,6 +1717,7 @@ class Skill45(ActiveSkill):
"""
name = '碎灵之击'
ref = Ref.GENOCIDECRUSH
cellPos = (5,9)
learnLv = 40
masterLv = 60
@@ -1790,6 +1837,7 @@ class Skill46(ActiveSkill):
"""
name = '魔灵召唤 : 红心女皇艾莉莎'
ref = Ref.SUMMONHEARTQUEEN
cellPos = (8,10)
learnLv = 45
masterLv = 60
@@ -1842,6 +1890,7 @@ class Skill47(ActiveSkill):
"""
name = '聚灵升空剑'
ref = Ref.FINALATTACK
cellPos = (6,10)
learnLv = 45
masterLv = 60
@@ -1907,6 +1956,7 @@ class Skill48(PassiveSkill):
"""
name = '魔能榨取'
ref = Ref.EXPLOITATION
cellPos = (5,11)
learnLv = 48
masterLv = 40
@@ -1939,6 +1989,7 @@ class Skill49(ActiveSkill):
"""
name = '魔神百裂拳'
ref = Ref.WONDERFULRUSH
cellPos = (3,11)
learnLv = 50
masterLv = 40
@@ -1983,6 +2034,7 @@ class Skill50(ActiveSkill):
"""
name = '黑暗冲击'
ref = Ref.DARKSHOCKWAVE
cellPos = (4,12)
learnLv = 60
masterLv = 40
@@ -2046,6 +2098,7 @@ class Skill51(ActiveSkill):
"""
name = '午夜嘉年华'
ref = Ref.MIDNIGHTCARNIVAL
cellPos = (8,13)
learnLv = 70
masterLv = 40
@@ -2102,6 +2155,7 @@ class Skill52(PassiveSkill):
"""
name = '亚丁之力'
ref = Ref.SUMMONATENSAVATAR
cellPos = (3,13)
learnLv = 75
masterLv = 40
@@ -2130,8 +2184,8 @@ class Skill52(PassiveSkill):
# {'data': data1, 'type': '*skillDamage', 'skills': ['魔灵召唤 : 波拉斯', '魔灵召唤 : 瓦尔琪', '魔灵召唤 : 狂暴布洛克', '魔灵召唤 : 假面杰森', '魔灵召唤 : 大画家芭芘', '魔灵召唤 : 旋转小冯', '魔灵召唤 : 小吸血鬼夏伊', '魔灵召唤 : 大富翁鲁邦', '魔灵召唤 : 迪克老爹', '魔灵召唤 : 红心女皇艾莉莎']},
# ]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0)), skills=['魔幻旋风', '毁灭突进', '翔空剑', '聚灵升空剑', '魔神百裂拳', '黑暗冲击', '午夜嘉年华', '绚丽耀光', '魔灵乱舞', '黑曜之眸 : 亚丁降临', '绽放·终章', '盛宴·恶之祭典']),
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1)), skills=['魔灵召唤 : 波拉斯', '魔灵召唤 : 瓦尔琪', '魔灵召唤 : 狂暴布洛克', '魔灵召唤 : 假面杰森', '魔灵召唤 : 大画家芭芘', '魔灵召唤 : 旋转小冯', '魔灵召唤 : 小吸血鬼夏伊', '魔灵召唤 : 大富翁鲁邦', '魔灵召唤 : 迪克老爹', '魔灵召唤 : 红心女皇艾莉莎']),
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data0)), skills=[Ref.FANCYTWIST, Ref.BATTERINGRAM, Ref.VSLASH, Ref.FINALATTACK, Ref.WONDERFULRUSH, Ref.DARKSHOCKWAVE, Ref.MIDNIGHTCARNIVAL, Ref.MASSIVEFIRE, Ref.BRAWL, Ref.ATENADVENT, Ref.GRANDFINALE, Ref.EVILFESTIVAL]),
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1)), skills=[Ref.SUMMONBORASS, Ref.SUMMONLUCKYWACKY, Ref.SUMMONHYSTERICWORRIER, Ref.SUMMONGELATINMASK, Ref.SUMMONTWINKLEARTIST, Ref.SUMMONCRAZYSPIN, Ref.SUMMONVAMPIRECHILDREN, Ref.SUMMONRAGEHAT, Ref.SUMMONBIGDADDY, Ref.SUMMONHEARTQUEEN]),
]
# 绚丽耀光
@@ -2144,6 +2198,7 @@ class Skill53(ActiveSkill):
"""
name = '绚丽耀光'
ref = Ref.MASSIVEFIRE
cellPos = (7,13)
learnLv = 75
masterLv = 40
@@ -2201,6 +2256,7 @@ class Skill54(ActiveSkill):
"""
name = '魔灵乱舞'
ref = Ref.BRAWL
cellPos = (2,14)
learnLv = 80
masterLv = 40
@@ -2259,6 +2315,7 @@ class Skill55(ActiveSkill):
"""
name = '黑曜之眸 : 亚丁降临'
ref = Ref.ATENADVENT
cellPos = (4,14)
learnLv = 85
masterLv = 40
@@ -2296,6 +2353,7 @@ class Skill56(PassiveSkill):
"""
name = '黑色曜日'
ref = Ref.BLACKSUN
cellPos = (5,15)
learnLv = 95
masterLv = 40
@@ -2329,6 +2387,7 @@ class Skill57(ActiveSkill):
"""
name = '绽放·终章'
ref = Ref.GRANDFINALE
cellPos = (7,15)
learnLv = 95
masterLv = 40
@@ -2370,6 +2429,7 @@ class Skill58(ActiveSkill):
"""
name = '盛宴·恶之祭典'
ref = Ref.EVILFESTIVAL
cellPos = (5,16)
learnLv = 100
masterLv = 40