Open
Description
在提问之前...
- 我已经搜索了现有的 issues 和 discussions
- 我已经阅读了 readme 中除版本记录以外的所有内容
- 我在提问题之前至少花费了 5 分钟来思考和准备
- 这个问题出现在最新版的 FGO-py 上
- 这个问题出现了至少3次
- 我使用过旧版的 FGO-py 并且没有出现过这个问题
描述你的问题
在日服 2025-05-21 更新 后,新增了冠位 Saber(下附图)
在 FGO-py 运行时,会跳过冠位 Saber 的技能,其他从者的技能可以被正常开启
进入指令卡选择后,冠位 Saber 的指令卡可以被选择,但是宝具卡不会被选择
虽然冠位会增加不少buff,但是由于只能全员Saber,只靠平A卡和非冠位的宝具还是很难打100三星,目前还没有测试通过
如何复现
如上文
预期行为
可以正确选择冠位 Saber 的技能和宝具
我猜是由于冠位 Saber 的图标变化导致没有识别?
我看到 fgoImage/class
下有各职阶金银铜的图标,或许可以通过加入新的图标来识别?
不过可能 fgoMetadata
里的 classImg
可能也要做出调整?现在是不是只能识别到三种图片?
抱歉您的代码写得很密,我太菜了看不懂只能找 chatGPT 问了一下,具体还是麻烦您了,图片方面如果需要协助我可以帮忙!
相关日志
[2025-05-21 16:34:18,161][DEBUG]<fgo.Detect> isTurnBegin True
[2025-05-21 16:34:18,400][DEBUG]<fgo.Fuse> 0
[2025-05-21 16:34:18,409][DEBUG]<fgo.Ocr> __call__ '1'
[2025-05-21 16:34:18,409][DEBUG]<fgo.Detect> getStage 1
[2025-05-21 16:34:18,409][DEBUG]<fgo.Detect> isServantFriend False
[2025-05-21 16:34:18,409][DEBUG]<fgo.Detect> isServantFriend False
[2025-05-21 16:34:18,410][DEBUG]<fgo.Detect> isServantFriend True
[2025-05-21 16:34:18,417][DEBUG]<fgo.Ocr> __call__ '1'
[2025-05-21 16:34:18,417][DEBUG]<fgo.Detect> getStageTotal 1
[2025-05-21 16:34:18,444][DEBUG]<fgo.Detect> getFieldServant 0
[2025-05-21 16:34:18,475][DEBUG]<fgo.Detect> getFieldServantClassRank (1, 0)
[2025-05-21 16:34:18,537][DEBUG]<fgo.Detect> getFieldServant 384
[2025-05-21 16:34:18,557][DEBUG]<fgo.Detect> getFieldServant 0
[2025-05-21 16:34:18,557][INFO]<fgo.Kernel> Turn 1 Stage 1 StageTurn 1 [0, 384, 0]
[2025-05-21 16:34:18,577][DEBUG]<fgo.Detect> setupEnemyGird 0
[2025-05-21 16:34:18,616][DEBUG]<fgo.Ocr> __call__ ''
[2025-05-21 16:34:18,616][DEBUG]<fgo.Detect> getEnemyHp 0
[2025-05-21 16:34:18,655][DEBUG]<fgo.Ocr> __call__ '3,153,860'
[2025-05-21 16:34:18,655][DEBUG]<fgo.Detect> getEnemyHp 3153860
[2025-05-21 16:34:18,693][DEBUG]<fgo.Ocr> __call__ 'ES'
[2025-05-21 16:34:18,693][DEBUG]<fgo.Detect> getEnemyHp 0
[2025-05-21 16:34:18,693][DEBUG]<fgo.Detect> getEnemyHp 0
[2025-05-21 16:34:18,693][DEBUG]<fgo.Detect> getEnemyHp 0
[2025-05-21 16:34:18,693][DEBUG]<fgo.Detect> getEnemyHp 0
[2025-05-21 16:34:18,694][DEBUG]<fgo.Detect> isSkillReady True
[2025-05-21 16:34:18,694][DEBUG]<fgo.Detect> isSkillReady True
[2025-05-21 16:34:18,694][DEBUG]<fgo.Detect> isSkillReady True
[2025-05-21 16:34:19,464][DEBUG]<fgo.Fuse> 0
[2025-05-21 16:34:19,464][DEBUG]<fgo.Detect> isSkillNone False
[2025-05-21 16:34:19,465][DEBUG]<fgo.Detect> isSkillCastFailed False
[2025-05-21 16:34:19,466][DEBUG]<fgo.Detect> getSkillTargetCount 0
[2025-05-21 16:34:20,339][DEBUG]<fgo.Fuse> 1
[2025-05-21 16:34:20,340][DEBUG]<fgo.Detect> isTurnBegin False
[2025-05-21 16:34:20,480][DEBUG]<fgo.Fuse> 2
[2025-05-21 16:34:20,480][DEBUG]<fgo.Detect> isTurnBegin False
[2025-05-21 16:34:20,625][DEBUG]<fgo.Fuse> 3
[2025-05-21 16:34:20,626][DEBUG]<fgo.Detect> isTurnBegin True
[2025-05-21 16:34:21,186][DEBUG]<fgo.Fuse> 0
[2025-05-21 16:34:21,193][DEBUG]<fgo.Ocr> __call__ '0'
[2025-05-21 16:34:21,193][DEBUG]<fgo.Detect> getFieldServantNp 0
[2025-05-21 16:34:21,963][DEBUG]<fgo.Fuse> 1
[2025-05-21 16:34:21,964][DEBUG]<fgo.Detect> isSkillNone False
[2025-05-21 16:34:21,965][DEBUG]<fgo.Detect> isSkillCastFailed False
[2025-05-21 16:34:21,965][DEBUG]<fgo.Detect> getSkillTargetCount 0
[2025-05-21 16:34:22,837][DEBUG]<fgo.Fuse> 2
[2025-05-21 16:34:22,837][DEBUG]<fgo.Detect> isTurnBegin False
[2025-05-21 16:34:22,976][DEBUG]<fgo.Fuse> 3
[2025-05-21 16:34:22,977][DEBUG]<fgo.Detect> isTurnBegin False
[2025-05-21 16:34:23,114][DEBUG]<fgo.Fuse> 4
[2025-05-21 16:34:23,115][DEBUG]<fgo.Detect> isTurnBegin True
[2025-05-21 16:34:23,668][DEBUG]<fgo.Fuse> 0
[2025-05-21 16:34:23,668][DEBUG]<fgo.Detect> getEnemyNp (0, 0)
[2025-05-21 16:34:23,669][DEBUG]<fgo.Detect> getEnemyNp (0, 4)
[2025-05-21 16:34:23,669][DEBUG]<fgo.Detect> getEnemyNp (0, 0)
[2025-05-21 16:34:23,669][DEBUG]<fgo.Detect> getEnemyNp (0, 0)
[2025-05-21 16:34:23,669][DEBUG]<fgo.Detect> getEnemyNp (0, 0)
[2025-05-21 16:34:23,669][DEBUG]<fgo.Detect> getEnemyNp (0, 0)
[2025-05-21 16:34:23,669][DEBUG]<fgo.Detect> isSkillReady False
[2025-05-21 16:34:23,669][DEBUG]<fgo.Detect> isSkillReady False
[2025-05-21 16:34:25,955][DEBUG]<fgo.Fuse> 0
[2025-05-21 16:34:25,957][DEBUG]<fgo.Detect> getCardColor [2, 1, 0, 2, 1]
[2025-05-21 16:34:25,961][DEBUG]<fgo.Detect> isCardSealed [False, False, False, False, False]
[2025-05-21 16:34:26,252][DEBUG]<fgo.Fuse> 1
[2025-05-21 16:34:26,258][DEBUG]<fgo.Detect> isHouguReady [False, False, False]
[2025-05-21 16:34:26,276][DEBUG]<fgo.Ocr> __call__ '70'
[2025-05-21 16:34:26,276][DEBUG]<fgo.Detect> getFieldServantNp 70
[2025-05-21 16:34:26,294][DEBUG]<fgo.Ocr> __call__ '50'
[2025-05-21 16:34:26,294][DEBUG]<fgo.Detect> getFieldServantNp 50
[2025-05-21 16:34:26,310][DEBUG]<fgo.Ocr> __call__ '80'
[2025-05-21 16:34:26,310][DEBUG]<fgo.Detect> getFieldServantNp 80
[2025-05-21 16:34:26,316][DEBUG]<fgo.Detect> getCardResist [0, 0, 0, 0, 0, 0, 0, 0]
[2025-05-21 16:34:26,325][DEBUG]<fgo.Detect> getCardCriticalRate [0, 0, 0, 0, 0]
[2025-05-21 16:34:26,334][DEBUG]<fgo.Detect> getCardServant [384, 384, 384, 384, 384]
[2025-05-21 16:34:26,866][INFO]<fgo.Kernel> selectCard '23145'
截图
图标背景有动态的光圈缩放效果
其他
操作系统: Windows 11 24H2
FGO-py 版本: 20.1.4
CPU 型号: i7-12700H