From 65afe6dc8fc83e8a75155c8bc52d812514c9cffa Mon Sep 17 00:00:00 2001 From: hypercross Date: Fri, 17 Apr 2026 11:13:28 +0800 Subject: [PATCH] refactor: remove card effect cycle, just use instant instead --- src/samples/slay-the-spire-like/data/desert/effect.csv | 10 +++------- .../slay-the-spire-like/data/desert/effect.csv.d.ts | 2 +- src/samples/slay-the-spire-like/system/types.ts | 2 +- 3 files changed, 5 insertions(+), 9 deletions(-) diff --git a/src/samples/slay-the-spire-like/data/desert/effect.csv b/src/samples/slay-the-spire-like/data/desert/effect.csv index c083ed6..3a73bfd 100644 --- a/src/samples/slay-the-spire-like/data/desert/effect.csv +++ b/src/samples/slay-the-spire-like/data/desert/effect.csv @@ -5,10 +5,6 @@ # permanent: 施加buff # posture: 施加buff,每受到1点伤害移除1层 -# card: 不施加buff,对玩家时在玩家弃牌堆创建同名卡牌,对敌人无效(敌人没有牌堆) -# cardDraw: 不施加buff,在抓牌堆洗入同名卡牌 -# cardHand:不施加buff,在玩家手牌中创建同名卡牌 - # item: 施加buff到周围物品,永久生效 # itemTemporary: 施加buff到周围物品,持续到下次buff更新 # itemUntilPlay: 施加buff到周围物品,物品被打出后失效 @@ -16,16 +12,16 @@ # itemPermanent: 施加buff到周围物品,持续整场冒险 id, name, description, lifecycle -string, string, string, 'instant'|'temporary'|'lingering'|'permanent'|'posture'|'card'|'cardDraw'|'cardHand'|'item'|'itemTemporary'|'itemUntilPlay'|'itemUntilDiscard'|'itemPermanent' +string, string, string, 'instant'|'temporary'|'lingering'|'permanent'|'posture'|'item'|'itemTemporary'|'itemUntilPlay'|'itemUntilDiscard'|'itemPermanent' attack, 攻击, 对对手造成伤害, instant defend, 防御, 抵消下次行动前受到的伤害, posture spike, 尖刺, 对攻击者造成X点伤害, permanent -venom, 蛇毒, 同名状态牌/1费:打出时移除此牌。弃掉时受到3点伤害, cardHand +venom, 蛇毒, 同名状态牌/1费:打出时移除此牌。弃掉时受到3点伤害, instant curse, 诅咒, 受攻击时物品攻击-1,直到弃掉一张该物品的牌, lingering aim, 瞄准, 造成双倍伤害,受伤时失去等量瞄准, posture roll, 滚动, 攻击时每消耗10点滚动造成等量伤害, posture rollDamage, 滚动攻击, 消耗滚动层数造成的伤害, instant -vultureEye, 秃鹫之眼, 抓到时获得3层暴露(临时debuff,受到的伤害+1/每层), cardDraw +vultureEye, 秃鹫之眼, 抓到时获得3层暴露(临时debuff,受到的伤害+1/每层), instant tailSting, 尾刺, 攻击时,伤害提升X, posture energyDrain, 能量吸取, 受伤时,玩家失去X点能量, lingering molt, 脱皮, 若脱皮达到生命上限则怪物逃跑, posture diff --git a/src/samples/slay-the-spire-like/data/desert/effect.csv.d.ts b/src/samples/slay-the-spire-like/data/desert/effect.csv.d.ts index 067597d..78db08a 100644 --- a/src/samples/slay-the-spire-like/data/desert/effect.csv.d.ts +++ b/src/samples/slay-the-spire-like/data/desert/effect.csv.d.ts @@ -2,7 +2,7 @@ type EffectTable = readonly { readonly id: string; readonly name: string; readonly description: string; - readonly lifecycle: "instant" | "temporary" | "lingering" | "permanent" | "posture" | "card" | "cardDraw" | "cardHand" | "item" | "itemTemporary" | "itemUntilPlay" | "itemUntilDiscard" | "itemPermanent"; + readonly lifecycle: "instant" | "temporary" | "lingering" | "permanent" | "posture" | "item" | "itemTemporary" | "itemUntilPlay" | "itemUntilDiscard" | "itemPermanent"; }[]; export type Effect = EffectTable[number]; diff --git a/src/samples/slay-the-spire-like/system/types.ts b/src/samples/slay-the-spire-like/system/types.ts index 603e2d0..9fa436b 100644 --- a/src/samples/slay-the-spire-like/system/types.ts +++ b/src/samples/slay-the-spire-like/system/types.ts @@ -4,7 +4,7 @@ export type EffectData = { readonly description: string; readonly lifecycle: EffectLifecycle; }; -export type EffectLifecycle = "instant" | "temporary" | "lingering" | "permanent" | "posture" | "card" | "cardDraw" | "cardHand" | "item" | "itemTemporary" | "itemUntilPlay" | "itemUntilDiscard" | "itemPermanent"; +export type EffectLifecycle = "instant" | "temporary" | "lingering" | "permanent" | "posture" | "item" | "itemTemporary" | "itemUntilPlay" | "itemUntilDiscard" | "itemPermanent"; export type EnemyData = { readonly id: string;