From 08c6a67d1697d0a1f7c54f3ecd927da262efe312 Mon Sep 17 00:00:00 2001 From: hypercross Date: Mon, 20 Apr 2026 00:23:41 +0800 Subject: [PATCH] refactor: use English IDs for desert card effects Replace Chinese card names with English IDs in the desert card effect CSV to ensure consistency with the card identifiers. Update tests to verify the data import using the new English identifiers. --- .../data/desert/cardEffect.csv | 60 +++++++++---------- .../slay-the-spire-like/data/index.test.ts | 5 ++ 2 files changed, 35 insertions(+), 30 deletions(-) diff --git a/src/samples/slay-the-spire-like/data/desert/cardEffect.csv b/src/samples/slay-the-spire-like/data/desert/cardEffect.csv index 60548d8..6a2b785 100644 --- a/src/samples/slay-the-spire-like/data/desert/cardEffect.csv +++ b/src/samples/slay-the-spire-like/data/desert/cardEffect.csv @@ -1,32 +1,32 @@ id,card,trigger,target,effects string,@card,'onPlay'|'onDraw'|'onDiscard','self'|'target'|'all'|'random',[@effect;number][] -sword,剑,onPlay,target,[attack;2];[attack;2] -greataxe,长斧,onPlay,all,[attack;5] -spear,长枪,onPlay,target,[attack;2];[attack;2];[attack;2] -dagger,短刀,onPlay,target,[attack;3];[attack;3] -dart,飞镖,onPlay,target,[attack;1] -dart-draw,飞镖,onPlay,self,[draw;1] -crossbow,十字弩,onPlay,target,[attack;6] -crossbow-combo,十字弩,onPlay,self,[crossbow;0] -shield,盾,onPlay,self,[defend;3] -hat,斗笠,onPlay,self,[defend;8] -cape,披风,onPlay,self,[defend;2];[defendNext;2] -bracer,护腕,onPlay,self,[defend;1];[draw;1] -greatshield,大盾,onPlay,self,[defend;5] -chainmail,锁子甲,onPlay,self,[damageReduce;3] -bandage,绷带,onPlay,self,[removeWound;1] -poisonPotion,淬毒药剂,onPlay,self,[attackBuff;2] -fortifyPotion,强固药剂,onPlay,self,[defendBuff;2] -vitalityPotion,活力药剂,onPlay,self,[gainEnergy;1] -focusPotion,集中药剂,onPlay,self,[draw;2] -healingPotion,治疗药剂,onPlay,self,[removeWound;3] -waterBag,水袋,onPlay,self,[energyNext;1];[drawNext;2] -rope,绳索,onPlay,self,[defendBuffUntilPlay;2] -belt,腰带,onPlay,self,[drawChoice;1] -torch,火把,onPlay,self,[burnForEnergy;1] -whetstone,磨刀石,onPlay,self,[attackBuffUntilPlay;3] -blacksmithHammer,铁匠锤,onPlay,self,[transformRandom;1] -venom,蛇毒,onDiscard,self,[attack;3] -curse,诅咒,onDraw,self,[curse;1] -static,静电,onDraw,self,[static;1] -vultureEye,秃鹫之眼,onDraw,self,[expose;3] +sword,sword,onPlay,target,[attack;2];[attack;2] +greataxe,greataxe,onPlay,all,[attack;5] +spear,spear,onPlay,target,[attack;2];[attack;2];[attack;2] +dagger,dagger,onPlay,target,[attack;3];[attack;3] +dart,dart,onPlay,target,[attack;1] +dart-draw,dart,onPlay,self,[draw;1] +crossbow,crossbow,onPlay,target,[attack;6] +crossbow-combo,crossbow,onPlay,self,[crossbow;0] +shield,shield,onPlay,self,[defend;3] +hat,hat,onPlay,self,[defend;8] +cape,cape,onPlay,self,[defend;2];[defendNext;2] +bracer,bracer,onPlay,self,[defend;1];[draw;1] +greatshield,greatshield,onPlay,self,[defend;5] +chainmail,chainmail,onPlay,self,[damageReduce;3] +bandage,bandage,onPlay,self,[removeWound;1] +poisonPotion,poisonPotion,onPlay,self,[attackBuff;2] +fortifyPotion,fortifyPotion,onPlay,self,[defendBuff;2] +vitalityPotion,vitalityPotion,onPlay,self,[gainEnergy;1] +focusPotion,focusPotion,onPlay,self,[draw;2] +healingPotion,healingPotion,onPlay,self,[removeWound;3] +waterBag,waterBag,onPlay,self,[energyNext;1];[drawNext;2] +rope,rope,onPlay,self,[defendBuffUntilPlay;2] +belt,belt,onPlay,self,[drawChoice;1] +torch,torch,onPlay,self,[burnForEnergy;1] +whetstone,whetstone,onPlay,self,[attackBuffUntilPlay;3] +blacksmithHammer,blacksmithHammer,onPlay,self,[transformRandom;1] +venom,venom,onDiscard,self,[attack;3] +curse,curse,onDraw,self,[curse;1] +static,static,onDraw,self,[static;1] +vultureEye,vultureEye,onDraw,self,[expose;3] diff --git a/tests/samples/slay-the-spire-like/data/index.test.ts b/tests/samples/slay-the-spire-like/data/index.test.ts index 9c3b7de..9c4a2a8 100644 --- a/tests/samples/slay-the-spire-like/data/index.test.ts +++ b/tests/samples/slay-the-spire-like/data/index.test.ts @@ -1,8 +1,13 @@ import { describe, it, expect } from "vitest"; import data from "@/samples/slay-the-spire-like/data"; +import { CardData } from "@/samples/slay-the-spire-like"; describe("data import", () => { it("should import properly", () => { expect(data.desert.getEffects).toBeDefined(); + expect( + data.desert.getCards().find((c: CardData) => c.id === "crossbow")?.effects + ?.length, + ).toBe(2); }); });