卡牌技能揭秘:“渐营”技能逻辑、存储机制与触发限制全解析
```javascript skill = { audio: 2, trigger: { player: "useCard", }, frequent: true, filter: function (event, player) { if (!event.cards || event.cards.length != 1) return false; if (_status.currentPhase != '出牌阶段') return false; // 检查渐营效果条件:与上一张牌花色或点数相同 let lastCard = player.storage.lastCard; if (!lastCard) return false; if (get.suit(event.cards[0]) != get.suit(lastCard) && event.cards[0].number != lastCard.number) { return false; } return true; }, content: function () { this.player.draw(); // 记录最后使用的牌 this.player.storage.lastCard = this.event.cards[0]; }, intro: { content: "card", }, group: ["jianying2", "jianying3"], }, skill2 = { name: "渐营", audio: 2, trigger: { player: "useCard", }, limited: { maxTimes: 1, phase: '出牌阶段' }, filter: function (event, player) { if (!event.cards || event.cards.length != 1) return false; if (_status.currentPhase != '出牌阶段') return false; // 检查转换基本牌的条件 let lastCard = player.storage.lastCard; if (lastCard && get.suit(lastCard)) { // 若上一张牌有花色,则当前牌花色视为相同 event.cards[0] = clone(event.cards[0]); event.cards[0].suit = lastCard.suit; } return true; }, content: function () { // 允许将牌当做基本牌使用 this.game.modifyCardType(this.event.cards[0], 'basic'); }, intro: { content: "card", }, group: ["jianying2", "jianying3"], } ``` 三条额外需要注意的逻辑点: 1. 存储机制:`player.storage.lastCard` 用于记录玩家在出牌阶段使用的上一张牌,需确保每次使用牌后正确更新此变量。 2. 花色继承:当玩家将牌当做基本牌使用时,若上一张牌有花色,当前牌的花色会继承上一张牌的花色,需通过 `clone` 和修改 `suit` 属性实现。 3. 触发次数限制:`limited` 中的 `maxTimes` 和 `phase` 确保技能在出牌阶段最多触发一次,避免重复摸牌或多次转换基本牌。 ######[AI写代码神器 | 713点数解答 | 2025-07-05 23:27:14]
- Golang开发:解析JSON数据时数值默认类型及示例解析(百度文心 | 393点数解答 | 2023-11-09 18:13:06)274
- SQL Working Areas Sizing: Manual vs. Automatic Policy - A Comprehensive Analysis(阿里通义 | 530点数解答 | 2024-05-13 10:55:58)305
- JS 代码:轻松定义含“Saab、Volvo、BMW”的数组变量 mycars( | 14点数解答 | 2024-05-19 20:47:47)413
- JS 代码:定义存储“saab”“volvo”“bmw”的数组变量 mycars( | 21点数解答 | 2024-05-20 22:18:13)277
- JS 代码:轻松定义含 "saab", "volvo", "bmw" 的数组 mycars(阿里通义 | 92点数解答 | 2024-05-20 22:44:37)324
- JSP 实战:用 List 存 Map 集合,循环十次添加姓名和年龄! (GPT | 753点数解答 | 2024-11-25 09:16:28)230
- Java JSP 代码:用 List 存储 Map 集合并循环添加姓名和年龄(GPT | 240点数解答 | 2024-11-25 09:17:43)242
- DESKTOP-IG9NT74 设备详细配置大揭秘! (字节豆包 | 38点数解答 | 2026-02-07 18:22:48)42
- 深入解析Golang Work Stealing机制:多核处理器工作负载平衡之道(百度文心 | 391点数解答 | 2023-11-09 18:16:09)292
- 深入剖析Go语言:揭秘Go Hand Off机制及示例演示 (百度文心 | 413点数解答 | 2023-11-09 18:16:10)247
- 苍溪县 2026 全民阅读周:协同发力,书香满城展成效(字节豆包 | 862点数解答 | 2026-03-11 10:27:57)17
- 「alfr round 3」b:巧用贪心与栈,求解序列swap & delete最小操作数(百度文心 | 637点数解答 | 2024-12-21 14:56:50)321