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
+45 -2
View File
@@ -10,6 +10,7 @@ from core.basic.skill_effect_types import (
SkillAttribute,
SkillEffect,
)
from core.character.refs.gunblader.agent import AgentSkillRef as Ref
prefix = "gunblader/agent/cn/skillDetail"
@@ -24,6 +25,7 @@ class Skill0(ActiveSkill):
"""
name = '弦月斩'
ref = Ref.CRESCENTMOONSLASH
cellPos = (6,1)
learnLv = 1
masterLv = 10
@@ -53,6 +55,7 @@ class Skill1(ActiveSkill):
"""
name = '穿透射击'
ref = Ref.ANGLESHOT
cellPos = (2,1)
learnLv = 1
masterLv = 60
@@ -86,6 +89,7 @@ class Skill2(ActiveSkill):
使自身向后方小跳并避开敌人的攻击。\n
"""
name = "后跳"
ref = Ref.BACKSTEP
learnLv = 1
masterLv = 1
maxLv = 1
@@ -110,6 +114,7 @@ class Skill3(PassiveSkill):
"""
name = '基础精通'
ref = Ref.BASICATTACKUP
cellPos = (1,0)
learnLv = 1
masterLv = 115
@@ -132,7 +137,7 @@ class Skill3(PassiveSkill):
# 迁移前实现(保留对照):
# associate = [{'type': '*skillDamage', 'data': [i - 100 if i > 0 else 0 for i in data0], 'skills': ['斩射']}]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable([i - 100 if i > 0 else 0 for i in data0])), skills=['斩射']),
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable([i - 100 if i > 0 else 0 for i in data0])), skills=[Ref.CUTANDSHOT]),
]
# 受身蹲伏
@@ -143,6 +148,7 @@ class Skill4(ActiveSkill):
使自身在倒地状态下迅速起身并采取蹲伏姿势; 蹲伏状态下,自身会进入无敌状态,效果持续一定时间。\n
"""
name = "受身蹲伏"
ref = Ref.QUICKSTANDING
learnLv = 1
masterLv = 1
maxLv = 20
@@ -184,6 +190,7 @@ class Skill5(ActiveSkill):
决斗场中无法使用技能连招。\n
"""
name = "技能连招"
ref = Ref.SKILLPRESETTYPE1
learnLv = 1
masterLv = 1
maxLv = 1
@@ -206,6 +213,7 @@ class Skill6(PassiveSkill):
穿戴的防具越多,效果越强; 可根据转职,增加不同的属性种类及数值。\n
"""
name = "防具精通"
ref = Ref.ARMORMASTERYETC
learnLv = 1
masterLv = 1
maxLv = 1
@@ -231,6 +239,7 @@ class Skill7(ActiveSkill):
"""
name = '重劈'
ref = Ref.HOPSLASH
cellPos = (2,2)
learnLv = 5
masterLv = 60
@@ -262,6 +271,7 @@ class Skill8(ActiveSkill):
转职为战线佣兵后,增加攻击力与爆炸范围。\n
"""
name = "G型手榴弹"
ref = Ref.GBOMB
learnLv = 10
masterLv = 60
maxLv = 70
@@ -296,6 +306,7 @@ class Skill9(ActiveSkill):
"""
name = '瞬击'
ref = Ref.NECKBREAKING
cellPos = (4,3)
learnLv = 10
masterLv = 60
@@ -327,6 +338,7 @@ class Skill10(ActiveSkill):
"""
name = '浮空连击'
ref = Ref.DEADLIFT
cellPos = (2,3)
learnLv = 10
masterLv = 60
@@ -357,6 +369,7 @@ class Skill11(ActiveSkill):
装备源力剑时,无需注入源能直接发动斩击。\n
"""
name = "源光斩"
ref = Ref.BEAMSLASH
learnLv = 10
masterLv = 60
maxLv = 70
@@ -391,6 +404,7 @@ class Skill12(PassiveSkill):
无法强制中断觉醒技能和跳跃超过一定高度的技能。\n
"""
name = "强化 - 后跳"
ref = Ref.ESCAPEBACKSTEP
learnLv = 10
masterLv = 1
maxLv = 1
@@ -418,6 +432,7 @@ class Skill13(ActiveSkill):
效果持续期间内,再次按技能键可以结束。\n
"""
name = "跃翔"
ref = Ref.JUMPPOWERUP
learnLv = 10
masterLv = 1
maxLv = 1
@@ -445,6 +460,7 @@ class Skill14(ActiveSkill):
"""
name = '迅步突袭'
ref = Ref.ROMANDASH
cellPos = (8,4)
learnLv = 15
masterLv = 60
@@ -472,6 +488,7 @@ class Skill15(ActiveSkill):
"""
name = '连续射击'
ref = Ref.CONTINUOUSFIRE
cellPos = (4,4)
learnLv = 15
masterLv = 60
@@ -506,6 +523,7 @@ class Skill16(PassiveSkill):
"""
name = '特工秘技'
ref = Ref.TACTICALAGENT
cellPos = (1,4)
learnLv = 15
masterLv = 10
@@ -546,6 +564,7 @@ class Skill17(ActiveSkill):
"""
name = '源能护盾'
ref = Ref.CORESHIELD
cellPos = (0,4)
learnLv = 15
masterLv = 60
@@ -594,6 +613,7 @@ class Skill18(ActiveSkill):
"""
name = '斩射'
ref = Ref.CUTANDSHOT
cellPos = (6,4)
learnLv = 15
masterLv = 1
@@ -628,6 +648,7 @@ class Skill19(PassiveSkill):
"""
name = '迅步闪避'
ref = Ref.EVASION
cellPos = (8,5)
learnLv = 20
masterLv = 1
@@ -654,6 +675,7 @@ class Skill20(ActiveSkill):
"""
name = '双弦斩'
ref = Ref.DOUBLEHALFMOONSLASH
cellPos = (6,5)
learnLv = 20
masterLv = 60
@@ -689,6 +711,7 @@ class Skill21(PassiveSkill):
"""
name = '小太刀精通'
ref = Ref.SHORTBLADEMASTERY
cellPos = (1,5)
learnLv = 20
masterLv = 10
@@ -720,6 +743,7 @@ class Skill22(PassiveSkill):
集中精神,提升物理/魔法暴击率。\n
"""
name = "暴击"
ref = Ref.PHYSICALCRITICALHITUP
learnLv = 20
masterLv = 10
maxLv = 20
@@ -744,6 +768,7 @@ class Skill23(ActiveSkill):
"""
name = '月光挥斩'
ref = Ref.MOONLIGHTSLASH
cellPos = (6,6)
learnLv = 25
masterLv = 60
@@ -781,6 +806,7 @@ class Skill24(ActiveSkill):
"""
name = '精准射击'
ref = Ref.SIGHTINGSHOT
cellPos = (4,7)
learnLv = 30
masterLv = 60
@@ -820,6 +846,7 @@ class Skill25(ActiveSkill):
"""
name = '追踪目标'
ref = Ref.TARGETING
cellPos = (3,7)
learnLv = 30
masterLv = 1
@@ -843,6 +870,7 @@ class Skill26(ActiveSkill):
"""
name = '特工使命'
ref = Ref.MISSIONSTART
cellPos = (1,7)
learnLv = 30
masterLv = 10
@@ -876,6 +904,7 @@ class Skill27(ActiveSkill):
"""
name = '月影秘步'
ref = Ref.DARKMOONSTEP
cellPos = (8,8)
learnLv = 35
masterLv = 60
@@ -933,6 +962,7 @@ class Skill28(ActiveSkill):
"""
name = '满月斩'
ref = Ref.FULLMOONLIGHTSLASH
cellPos = (6,8)
learnLv = 35
masterLv = 60
@@ -991,6 +1021,7 @@ class Skill29(ActiveSkill):
"""
name = '锁定射击'
ref = Ref.TARGETINGFIRE
cellPos = (4,9)
learnLv = 40
masterLv = 60
@@ -1051,6 +1082,7 @@ class Skill30(ActiveSkill):
"""
name = '枪刃旋杀'
ref = Ref.BLADEFALCON
cellPos = (7,10)
learnLv = 45
masterLv = 60
@@ -1113,6 +1145,7 @@ class Skill31(PassiveSkill):
"""
name = '使命觉悟'
ref = Ref.PINPOINT
cellPos = (4,11)
learnLv = 48
masterLv = 40
@@ -1146,6 +1179,7 @@ class Skill32(ActiveSkill):
"""
name = '毁灭绝击'
ref = Ref.KEYFIGUREASSASSINATION
cellPos = (6,11)
learnLv = 50
masterLv = 40
@@ -1179,6 +1213,7 @@ class Skill33(ActiveSkill):
"""
name = '终极锁定'
ref = Ref.CATCHTARGET
cellPos = (8,12)
learnLv = 60
masterLv = 40
@@ -1230,6 +1265,7 @@ class Skill34(ActiveSkill):
"""
name = '月相轮舞'
ref = Ref.MOONPHASE
cellPos = (8,13)
learnLv = 70
masterLv = 40
@@ -1294,6 +1330,7 @@ class Skill35(PassiveSkill):
"""
name = '冷酷敌意'
ref = Ref.COLDBLOOD
cellPos = (4,13)
learnLv = 75
masterLv = 40
@@ -1319,7 +1356,7 @@ class Skill35(PassiveSkill):
# ]
associate = [
SkillEffect(attribute=SkillAttribute.DAMAGE, value=1 + Percent(LevelTable(data1))),
SkillEffect(attribute=SkillAttribute.CD, operation=Operation.ADD, value=LevelTable([0] + [-1] * maxLv), skills=['迅步突袭']),
SkillEffect(attribute=SkillAttribute.CD, operation=Operation.ADD, value=LevelTable([0] + [-1] * maxLv), skills=[Ref.ROMANDASH]),
]
# 月光镇魂曲
@@ -1333,6 +1370,7 @@ class Skill36(ActiveSkill):
"""
name = '月光镇魂曲'
ref = Ref.MOONLIGHTREQUIEM
cellPos = (6,13)
learnLv = 75
masterLv = 40
@@ -1395,6 +1433,7 @@ class Skill37(ActiveSkill):
"""
name = '毁灭狂欢'
ref = Ref.FUSILLADE
cellPos = (4,14)
learnLv = 80
masterLv = 40
@@ -1457,6 +1496,7 @@ class Skill38(ActiveSkill):
"""
name = '月相天陨'
ref = Ref.MOONECLIPSE
cellPos = (6,14)
learnLv = 85
masterLv = 40
@@ -1497,6 +1537,7 @@ class Skill39(PassiveSkill):
"""
name = '无瑕'
ref = Ref.PERFECTION
cellPos = (5,15)
learnLv = 95
masterLv = 40
@@ -1528,6 +1569,7 @@ class Skill40(ActiveSkill):
"""
name = '夜影迷踪'
ref = Ref.DOWNUPMOON
cellPos = (7,15)
learnLv = 95
masterLv = 40
@@ -1564,6 +1606,7 @@ class Skill41(ActiveSkill):
"""
name = '月夜 : 终极行动'
ref = Ref.LASTMISSION
cellPos = (5,16)
learnLv = 100
masterLv = 40