酷代码 AI
菜单
服务商

卡牌技能揭秘:“渐营”技能逻辑、存储机制与触发限制全解析

```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]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]