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 1441aa8..b8cad23 100644 --- a/src/samples/slay-the-spire-like/data/desert/cardEffect.csv +++ b/src/samples/slay-the-spire-like/data/desert/cardEffect.csv @@ -5,7 +5,7 @@ id,card,trigger,target,effects string,@card,CardEffectTrigger,CardEffectTarget,CardEffectList sword,sword,onPlay,eachTarget,[attack;2];[attack;2] -greataxe,greataxe,onPlay,all,[attack;5] +greataxe,greataxe,onPlay,eachTarget,[attack;5] spear,spear,onPlay,eachTarget,[attack;2];[attack;2];[attack;2] dagger,dagger,onPlay,eachTarget,[attack;3];[attack;3] dart,dart,onPlay,eachTarget,[attack;1] diff --git a/src/samples/slay-the-spire-like/data/desert/cardEffect.csv.d.ts b/src/samples/slay-the-spire-like/data/desert/cardEffect.csv.d.ts index 78c6614..3f79840 100644 --- a/src/samples/slay-the-spire-like/data/desert/cardEffect.csv.d.ts +++ b/src/samples/slay-the-spire-like/data/desert/cardEffect.csv.d.ts @@ -1,12 +1,16 @@ import type { Card } from './card.csv'; import type { Effect } from './effect.csv'; +type CardEffectTrigger = "onPlay" | "onDraw" | "onDiscard"; +type CardEffectTarget = "user" | "eachTarget" | "eachEnemy" | "randomEnemy" | "player"; +type CardEffectList = [effect: Effect, stacks: number][]; + type CardEffectTable = readonly { readonly id: string; readonly card: Card; - readonly trigger: "onPlay" | "onDraw" | "onDiscard"; - readonly target: "self" | "target" | "all" | "random"; - readonly effects: [Effect, number][]; + readonly trigger: CardEffectTrigger; + readonly target: CardEffectTarget; + readonly effects: CardEffectList; }[]; export type CardEffect = CardEffectTable[number]; diff --git a/src/samples/slay-the-spire-like/data/desert/intent.csv.d.ts b/src/samples/slay-the-spire-like/data/desert/intent.csv.d.ts index 44a4c97..d161a76 100644 --- a/src/samples/slay-the-spire-like/data/desert/intent.csv.d.ts +++ b/src/samples/slay-the-spire-like/data/desert/intent.csv.d.ts @@ -1,13 +1,16 @@ -import type { Enemy } from './enemy.csv'; -import type { Effect } from './effect.csv'; +import type { Enemy } from "./enemy.csv"; +import type { Effect } from "./effect.csv"; + +type IntentEffectTarget = "user" | "eachEnemy" | "randomEnemy" | "player"; +type IntentEffectList = [IntentEffectTarget, Effect, number][]; type IntentTable = readonly { - readonly id: string; - readonly enemy: Enemy; - readonly initialIntent: boolean; - readonly nextIntents: Intent[]; - readonly brokenIntent: Intent[]; - readonly effects: ["self" | "player" | "team", Effect, number][]; + readonly id: string; + readonly enemy: Enemy; + readonly initialIntent: boolean; + readonly nextIntents: Intent[]; + readonly brokenIntent: Intent[]; + readonly effects: IntentEffectList; }[]; export type Intent = IntentTable[number]; diff --git a/src/samples/slay-the-spire-like/system/combat/effects.ts b/src/samples/slay-the-spire-like/system/combat/effects.ts index 1aaf9d1..bfbda05 100644 --- a/src/samples/slay-the-spire-like/system/combat/effects.ts +++ b/src/samples/slay-the-spire-like/system/combat/effects.ts @@ -9,7 +9,6 @@ import { import { CardData, CardEffectTarget, - CardTargetType, EffectData, EffectTarget, } from "@/samples/slay-the-spire-like/system/types";