refactor(samples): update desert card and effect schemas

This commit is contained in:
2026-04-22 15:59:41 +08:00
parent 877cc9d779
commit bb4528cd27
2 changed files with 73 additions and 67 deletions
@@ -1,32 +1,36 @@
# type CardEffectTrigger = 'onPlay' | 'onDraw' | 'onDiscard'
# type CardEffectTarget = 'user' | 'eachTarget' | 'eachEnemy' | 'randomEnemy' | 'player'
# type CardEffectList = [effect: @effect; stacks: number][]
id,card,trigger,target,effects id,card,trigger,target,effects
string,@card,'onPlay'|'onDraw'|'onDiscard','self'|'target'|'all'|'random',[@effect;number][] string,@card,CardEffectTrigger,CardEffectTarget,CardEffectList
sword,sword,onPlay,target,[attack;2];[attack;2] sword,sword,onPlay,eachTarget,[attack;2];[attack;2]
greataxe,greataxe,onPlay,all,[attack;5] greataxe,greataxe,onPlay,all,[attack;5]
spear,spear,onPlay,target,[attack;2];[attack;2];[attack;2] spear,spear,onPlay,eachTarget,[attack;2];[attack;2];[attack;2]
dagger,dagger,onPlay,target,[attack;3];[attack;3] dagger,dagger,onPlay,eachTarget,[attack;3];[attack;3]
dart,dart,onPlay,target,[attack;1] dart,dart,onPlay,eachTarget,[attack;1]
dart-draw,dart,onPlay,self,[draw;1] dart-draw,dart,onPlay,user,[draw;1]
crossbow,crossbow,onPlay,target,[attack;6] crossbow,crossbow,onPlay,eachTarget,[attack;6]
crossbow-combo,crossbow,onPlay,self,[crossbow;0] crossbow-combo,crossbow,onPlay,user,[crossbow;0]
shield,shield,onPlay,self,[defend;3] shield,shield,onPlay,user,[defend;3]
hat,hat,onPlay,self,[defend;8] hat,hat,onPlay,user,[defend;8]
cape,cape,onPlay,self,[defend;2];[defendNext;2] cape,cape,onPlay,user,[defend;2];[defendNext;2]
bracer,bracer,onPlay,self,[defend;1];[draw;1] bracer,bracer,onPlay,user,[defend;1];[draw;1]
greatshield,greatshield,onPlay,self,[defend;5] greatshield,greatshield,onPlay,user,[defend;5]
chainmail,chainmail,onPlay,self,[damageReduce;3] chainmail,chainmail,onPlay,user,[damageReduce;3]
bandage,bandage,onPlay,self,[removeWound;1] bandage,bandage,onPlay,user,[removeWound;1]
poisonPotion,poisonPotion,onPlay,self,[attackBuff;2] poisonPotion,poisonPotion,onPlay,user,[attackBuff;2]
fortifyPotion,fortifyPotion,onPlay,self,[defendBuff;2] fortifyPotion,fortifyPotion,onPlay,user,[defendBuff;2]
vitalityPotion,vitalityPotion,onPlay,self,[gainEnergy;1] vitalityPotion,vitalityPotion,onPlay,user,[gainEnergy;1]
focusPotion,focusPotion,onPlay,self,[draw;2] focusPotion,focusPotion,onPlay,user,[draw;2]
healingPotion,healingPotion,onPlay,self,[removeWound;3] healingPotion,healingPotion,onPlay,user,[removeWound;3]
waterBag,waterBag,onPlay,self,[energyNext;1];[drawNext;2] waterBag,waterBag,onPlay,user,[energyNext;1];[drawNext;2]
rope,rope,onPlay,self,[defendBuffUntilPlay;2] rope,rope,onPlay,user,[defendBuffUntilPlay;2]
belt,belt,onPlay,self,[drawChoice;1] belt,belt,onPlay,user,[drawChoice;1]
torch,torch,onPlay,self,[burnForEnergy;1] torch,torch,onPlay,user,[burnForEnergy;1]
whetstone,whetstone,onPlay,self,[attackBuffUntilPlay;3] whetstone,whetstone,onPlay,user,[attackBuffUntilPlay;3]
blacksmithHammer,blacksmithHammer,onPlay,self,[transformRandom;1] blacksmithHammer,blacksmithHammer,onPlay,user,[transformRandom;1]
venom,venom,onDiscard,self,[attack;3] venom,venom,onDiscard,user,[attack;3]
curse,curse,onDraw,self,[curse;1] curse,curse,onDraw,user,[curse;1]
static,static,onDraw,self,[static;1] static,static,onDraw,user,[static;1]
vultureEye,vultureEye,onDraw,self,[expose;3] vultureEye,vultureEye,onDraw,user,[expose;3]
1 id # type CardEffectTrigger = 'onPlay' | 'onDraw' | 'onDiscard' card trigger target effects
1 # type CardEffectTrigger = 'onPlay' | 'onDraw' | 'onDiscard'
2 # type CardEffectTarget = 'user' | 'eachTarget' | 'eachEnemy' | 'randomEnemy' | 'player'
3 # type CardEffectList = [effect: @effect; stacks: number][]
4 id,card,trigger,target,effects
5 id string,@card,CardEffectTrigger,CardEffectTarget,CardEffectList card trigger target effects
6 string sword,sword,onPlay,eachTarget,[attack;2];[attack;2] @card 'onPlay'|'onDraw'|'onDiscard' 'self'|'target'|'all'|'random' [@effect;number][]
7 sword greataxe,greataxe,onPlay,all,[attack;5] sword onPlay target [attack;2];[attack;2]
8 greataxe spear,spear,onPlay,eachTarget,[attack;2];[attack;2];[attack;2] greataxe onPlay all [attack;5]
9 spear dagger,dagger,onPlay,eachTarget,[attack;3];[attack;3] spear onPlay target [attack;2];[attack;2];[attack;2]
10 dagger dart,dart,onPlay,eachTarget,[attack;1] dagger onPlay target [attack;3];[attack;3]
11 dart dart-draw,dart,onPlay,user,[draw;1] dart onPlay target [attack;1]
12 dart-draw crossbow,crossbow,onPlay,eachTarget,[attack;6] dart onPlay self [draw;1]
13 crossbow crossbow-combo,crossbow,onPlay,user,[crossbow;0] crossbow onPlay target [attack;6]
14 crossbow-combo shield,shield,onPlay,user,[defend;3] crossbow onPlay self [crossbow;0]
15 shield hat,hat,onPlay,user,[defend;8] shield onPlay self [defend;3]
16 hat cape,cape,onPlay,user,[defend;2];[defendNext;2] hat onPlay self [defend;8]
17 cape bracer,bracer,onPlay,user,[defend;1];[draw;1] cape onPlay self [defend;2];[defendNext;2]
18 bracer greatshield,greatshield,onPlay,user,[defend;5] bracer onPlay self [defend;1];[draw;1]
19 greatshield chainmail,chainmail,onPlay,user,[damageReduce;3] greatshield onPlay self [defend;5]
20 chainmail bandage,bandage,onPlay,user,[removeWound;1] chainmail onPlay self [damageReduce;3]
21 bandage poisonPotion,poisonPotion,onPlay,user,[attackBuff;2] bandage onPlay self [removeWound;1]
22 poisonPotion fortifyPotion,fortifyPotion,onPlay,user,[defendBuff;2] poisonPotion onPlay self [attackBuff;2]
23 fortifyPotion vitalityPotion,vitalityPotion,onPlay,user,[gainEnergy;1] fortifyPotion onPlay self [defendBuff;2]
24 vitalityPotion focusPotion,focusPotion,onPlay,user,[draw;2] vitalityPotion onPlay self [gainEnergy;1]
25 focusPotion healingPotion,healingPotion,onPlay,user,[removeWound;3] focusPotion onPlay self [draw;2]
26 healingPotion waterBag,waterBag,onPlay,user,[energyNext;1];[drawNext;2] healingPotion onPlay self [removeWound;3]
27 waterBag rope,rope,onPlay,user,[defendBuffUntilPlay;2] waterBag onPlay self [energyNext;1];[drawNext;2]
28 rope belt,belt,onPlay,user,[drawChoice;1] rope onPlay self [defendBuffUntilPlay;2]
29 belt torch,torch,onPlay,user,[burnForEnergy;1] belt onPlay self [drawChoice;1]
30 torch whetstone,whetstone,onPlay,user,[attackBuffUntilPlay;3] torch onPlay self [burnForEnergy;1]
31 whetstone blacksmithHammer,blacksmithHammer,onPlay,user,[transformRandom;1] whetstone onPlay self [attackBuffUntilPlay;3]
32 blacksmithHammer venom,venom,onDiscard,user,[attack;3] blacksmithHammer onPlay self [transformRandom;1]
33 venom curse,curse,onDraw,user,[curse;1] venom onDiscard self [attack;3]
34 curse static,static,onDraw,user,[static;1] curse onDraw self [curse;1]
35 static vultureEye,vultureEye,onDraw,user,[expose;3] static onDraw self [static;1]
36 vultureEye vultureEye onDraw self [expose;3]
@@ -11,40 +11,42 @@
# itemUntilDiscard: 施加buff到周围物品,物品被弃掉后失效 # itemUntilDiscard: 施加buff到周围物品,物品被弃掉后失效
# itemPermanent: 施加buff到周围物品,持续整场冒险 # itemPermanent: 施加buff到周围物品,持续整场冒险
id, name, description, lifecycle # type EffectLifecycle = 'instant' | 'temporary' | 'lingering' | 'permanent' | 'posture' | 'item' | 'itemTemporary' | 'itemUntilPlay' | 'itemUntilDiscard' | 'itemPermanent'
string, string, string, 'instant'|'temporary'|'lingering'|'permanent'|'posture'|'item'|'itemTemporary'|'itemUntilPlay'|'itemUntilDiscard'|'itemPermanent'
attack, 攻击, 对对手造成伤害, instant id, name, description, lifecycle, emoji
defend, 防御, 抵消下次行动前受到的伤害, temporary string, string, string, EffectLifecycle, string
spike, 尖刺,攻击者造成X点伤害, permanent attack, 攻击,对手造成伤害, instant, ⚔️
venom, 蛇毒, 同名状态牌/1费:打出时移除此牌。弃掉时受到3点伤害, instant defend, 防御, 抵消下次行动前受到的伤害, temporary, 🛡️
curse, 诅咒, 攻击时物品攻击-1,直到弃掉一张该物品的牌, lingering spike, 尖刺, 攻击者造成X点伤害, permanent, 🌵
aim, 瞄准, 造成双倍伤害,受伤时失去等量瞄准, posture venom, 蛇毒, 同名状态牌/1费:打出时移除此牌。弃掉时受到3点伤害, instant, 🧪
roll, 滚动, 攻击时每消耗10点滚动造成等量伤害, posture curse, 诅咒, 攻击时物品攻击-1,直到弃掉一张该物品的牌, lingering, 💀
rollDamage, 滚动攻击, 消耗滚动层数造成的伤害, instant aim, 瞄准, 造成双倍伤害,受伤时失去等量瞄准, posture, 🎯
vultureEye, 秃鹫之眼, 抓到时获得3层暴露(临时debuff,受到的伤害+1/每层), instant roll, 滚动, 攻击时每消耗10点滚动造成等量伤害, posture, 🎲
tailSting, 尾刺, 攻击时,伤害提升X, posture rollDamage, 滚动攻击, 消耗滚动层数造成的伤害, instant, 💥
energyDrain, 能量吸取, 受伤时,玩家失去X点能量, lingering vultureEye, 秃鹫之眼, 抓到时获得3层暴露(临时debuff,受到的伤害+1/每层), instant, 👁️
molt, 脱皮, 若脱皮达到生命上限则怪物逃跑, posture tailSting, 尾刺, 攻击时,伤害提升X, posture, 🦂
discard, 劫掠, 回合开始时随机弃掉一张手牌, lingering energyDrain, 能量吸取, 受伤时,玩家失去X点能量, lingering, 🔋
storm, 风暴, 攻击时给玩家塞入1张静电, permanent molt, 脱皮, 若脱皮达到生命上限则怪物逃跑, posture, 🐚
static, 静电, 在手里时受电击伤害+1, permanent discard, 劫掠, 回合开始时随机弃掉一张手牌, lingering, 🗑️
charge, 冲锋, 受到或造成的伤害翻倍并消耗等量冲锋, lingering storm, 风暴, 攻击时给玩家塞入1张静电, permanent,
summonMummy, 召唤木乃伊, 召唤1个木乃伊, instant static, 静电, 在手里时受电击伤害+1, permanent,
summonSandwormLarva, 召唤幼沙虫, 召唤1个幼沙虫, instant charge, 冲锋, 受到或造成的伤害翻倍并消耗等量冲锋, lingering, 🐎
reviveMummy, 复活木乃伊, 复活1个已死亡的木乃伊, instant summonMummy, 召唤木乃伊, 召唤1个木乃伊, instant, 🧟
draw, 抓牌, 抓X张牌, instant summonSandwormLarva, 召唤幼沙虫, 召唤1个幼沙虫, instant, 🐛
crossbow, 十字弩连击, 对同一目标打出其他十字弩, instant reviveMummy, 复活木乃伊, 复活1个已死亡的木乃伊, instant, 🌅
defendNext, 下回合防御, 下回合开始时获得防御, temporary draw, 抓牌, 抓X张牌, instant, 🃏
damageReduce, 减伤, 本回合受到的伤害减少X, temporary crossbow, 十字弩连击, 对同一目标打出其他十字弩, instant, 🏹
removeWound, 移除伤口, 从牌堆或弃牌堆移除X张伤口, instant defendNext, 下回合防御, 下回合开始时获得防御, temporary, 🛡️
attackBuff, 攻击增益, 周围物品的攻击+X, itemUntilPlay damageReduce, 减伤, 本回合受到的伤害减少X, temporary, 📉
defendBuff, 防御增益, 周围物品的防御+X, itemUntilPlay removeWound, 移除伤口, 从牌堆或弃牌堆移除X张伤口, instant, 🩹
gainEnergy, 获得能量, 获得X点能量, instant attackBuff, 攻击增益, 周围物品的攻击+X, itemUntilPlay, ⬆️
energyNext, 下回合获能量, 下回合开始时获得X点能量, temporary defendBuff, 防御增益, 周围物品的防御+X, itemUntilPlay, ⬆️
drawNext, 下回合抓牌, 下回合开始时抓X张牌, temporary gainEnergy, 获得能量, 获得X点能量, instant,
defendBuffUntilPlay, 防御增益直到打出, 周围物品的牌防御+X直到打出, itemUntilPlay energyNext, 下回合获能量, 下回合开始时获得X点能量, temporary,
drawChoice, 选择抓牌, 从牌堆周围物品的牌中选择一张加入手牌, instant drawNext, 下回合抓牌, 下回合开始时抓X张牌, temporary, 🃏
burnForEnergy, 消耗获能量, 打出周围物品的牌时消耗并获得X能量, itemUntilPlay defendBuffUntilPlay, 防御增益直到打出, 周围物品的牌防御+X直到打出, itemUntilPlay, 🛡️
attackBuffUntilPlay, 攻击增益直到打出, 周围物品的牌攻击+X直到打出, itemUntilPlay drawChoice, 选择抓牌, 从牌堆周围物品的牌中选择一张加入手牌, instant, 🔍
transformRandom, 随机变牌, 选择一张牌随机变为周围物品的牌, instant burnForEnergy, 消耗获能量, 打出周围物品的牌时消耗并获得X能量, itemUntilPlay, 🔥
expose, 暴露, 受到的伤害+1/每层, temporary attackBuffUntilPlay, 攻击增益直到打出, 周围物品的牌攻击+X直到打出, itemUntilPlay, ⚔️
transformRandom, 随机变牌, 选择一张牌随机变为周围物品的牌, instant, 🌀
expose, 暴露, 受到的伤害+1/每层, temporary, 👁️
1 # instant: 不施加buff,瞬间生效
11 id # type EffectLifecycle = 'instant' | 'temporary' | 'lingering' | 'permanent' | 'posture' | 'item' | 'itemTemporary' | 'itemUntilPlay' | 'itemUntilDiscard' | 'itemPermanent'
12 string id
13 attack string
14 defend attack
15 spike defend
16 venom spike
17 curse venom
18 aim curse
19 roll aim
20 rollDamage roll
21 vultureEye rollDamage
22 tailSting vultureEye
23 energyDrain tailSting
24 molt energyDrain
25 discard molt
26 storm discard
27 static storm
28 charge static
29 summonMummy charge
30 summonSandwormLarva summonMummy
31 reviveMummy summonSandwormLarva
32 draw reviveMummy
33 crossbow draw
34 defendNext crossbow
35 damageReduce defendNext
36 removeWound damageReduce
37 attackBuff removeWound
38 defendBuff attackBuff
39 gainEnergy defendBuff
40 energyNext gainEnergy
41 drawNext energyNext
42 defendBuffUntilPlay drawNext
43 drawChoice defendBuffUntilPlay
44 burnForEnergy drawChoice
45 attackBuffUntilPlay burnForEnergy
46 transformRandom attackBuffUntilPlay
47 expose transformRandom
48 expose
49
50
51
52