以下是一个无名杀技能代码的实现,满足你的需求: ```javascript // 决斗强化技能 skills: { duel_enhance: { trigger: { player: "damageEnd" }, filter: function(event, player) { return event.card && event.card.name == "决斗" && event.damage > 0; }, content: function() { let target = this.event.target; // 目标血量上限-1 target.maxHp--; if(target.maxHp < 1) target.maxHp = 1; // 本回合无法使用闪 target.addTempSkill({ name: "cannot_use_shan", skills: { cannot_use_shan: { global: true, filterCard: function(card) { return card.name == "闪"; }, selectCard: -1 } } }, "phaseUse"); game.log(player, "的决斗使", target, "的血量上限-1,且本回合无法使用闪"); } } } ``` 代码逻辑说明: 1. 使用`damageEnd`事件触发器,在造成伤害后触发技能 2. 通过`filter`检查是否是决斗造成的伤害 3. 减少目标血量上限,但保证至少为1 4. 给目标添加临时技能使其本回合无法使用闪 5. 添加游戏日志记录效果 三条额外需要注意的逻辑点: - 血量上限减少后需要同步更新当前血量显示 - 临时技能的持续时间需要正确绑定到回合结束 - 需要处理目标血量上限已经是1时的边界情况 [2025-03-25 04:14:18 | AI写代码神器 | 355点数解答]