rename discard to make_discard; put all effects buttons inside their card

This commit is contained in:
2024-05-06 17:13:10 +02:00
parent c4b056b4b6
commit 62c00cba93
4 changed files with 44 additions and 39 deletions
+8 -2
View File
@@ -1,4 +1,5 @@
import { GameObjectRegister } from "."
import type { Card } from "./Card"
import type { GameObjectNetcode } from "./GameObject"
export enum CardEffects {
@@ -10,7 +11,7 @@ export enum CardEffects {
SACRIFICE = "sacrifice",
DRAW = "draw",
DRAW_AND_DISCARD = "draw_and_discard",
DISCARD = "discard",
MAKE_DISCARD = "make_discard",
RESTACK_DISCARDED_CHAMPION = "restack_discarded_champion",
RESTACK_DISCARDED_CARD = "restack_discarded_card",
STACK_NEXT_ACTION_BOUGHT = "stack_next_action_bought",
@@ -36,13 +37,15 @@ export interface EffectNetcode extends GameObjectNetcode {
amount: number
sub_effects: Array<EffectNetcode>
mutex: Array<string>
card: string
effect_type?: EffectType
times?: EffectTimes
}
export type Effect = Omit<EffectNetcode, 'sub_effects' | 'mutex'> & {
export type Effect = Omit<EffectNetcode, 'sub_effects' | 'mutex' | 'card' > & {
sub_effects: { [key: string]: Effect }
mutex: { [key: string]: Effect }
card: Card
usable: boolean
}
@@ -70,6 +73,9 @@ export function create_effect(input: EffectNetcode, register: GameObjectRegister
}
return true
}
if (prop == "card"){
return register.cards.get(target.card)
}
return Reflect.get(target, prop, reciever);
},
set(target, prop, val, receiver) {