以下是一个基于无名杀框架的技能代码示例,实现"出牌阶段杀可以额外指定一名目标"的效果: ```javascript // 技能名称:双刃 // 技能描述:出牌阶段,你可以额外指定一个目标使用【杀】 skills: { shuangren: { trigger: { player: 'phaseUse', }, forced: true, filter: function (event, player) { return event.name == 'useCard' && event.card && event.card.name == 'sha'; }, content: function () { "step 0" // 获取当前可选的额外目标 let targets = game.filterPlayer(this.player, (target) => { return target != this.event.targets[0] && target.canBeTargetOf(this.event.card, this.player); }); if (targets.length == 0) return; "step 1" // 让玩家选择是否使用技能 this.player.chooseBool('是否发动【双刃】额外指定一个目标?').set('prompt', '你可以额外指定一个【杀】的目标'); "step 2" if (this.bool) { // 选择额外目标 this.player.chooseTarget('请选择额外的【杀】目标', targets).set('filter', (target) => { return target != this.event.targets[0] && target.canBeTargetOf(this.event.card, this.player); }); } "step 3" if (this.targets && this.targets[1]) { // 将额外目标添加到原事件的目标列表中 this.event.targets.push(this.targets[1]); game.log(this.player, '发动了【双刃】'); } }, }, } ``` 代码说明: 1. 技能在出牌阶段触发,当玩家使用【杀】时检测 2. 首先检查是否存在符合条件的额外目标 3. 询问玩家是否要发动技能 4. 如果选择发动,让玩家选择额外目标 5. 将额外目标添加到【杀】的目标列表中 三条额外需要注意的逻辑点: 1. 需要确保额外目标不能与原目标相同 2. 需要验证额外目标是否符合【杀】的使用条件 3. 注意处理目标选择取消的情况 [2025-07-26 11:17:26 | AI写代码神器 | 495点数解答]