import { defineStore } from "pinia"; // import goStore, { useEffect } from "~/netcode"; // import type { Card } from "~/netcode/Card"; // import { CardEffects, type Effect } from "~/netcode/Effect"; // import type { Player } from "~/netcode/Player"; // watch( // () => goStore.current_game?.current_turn?.uuid, // () => { // useClientSideStore().activatedClientside = [] // }) export const useClientSideStore = defineStore("clientside", { // state: () => ({ // activatedClientside: [] as Effect[], // effectsHandled: new Set([ // CardEffects.MAKE_DISCARD, // CardEffects.PLAY_NEXT_CARD_BOUGHT, // CardEffects.RESTACK_DISCARDED_CARD, // CardEffects.RESTACK_DISCARDED_CHAMPION, // CardEffects.SACRIFICE, // CardEffects.STACK_NEXT_ACTION_BOUGHT, // CardEffects.STACK_NEXT_CARD_BOUGHT, // CardEffects.STUN, // CardEffects.PREPARE // ]), // }), // getters: { // maskedServerEffects(state) { // return goStore.self?.turn?.effects_availables.filter(e => !state.activatedClientside.includes(e)); // }, // }, // actions: { // activateEffect(effect: Effect) { // const amount = // goStore.self?.turn?.effects_availables.filter((e) => e == effect) // .length ?? 0; // for (let i = 0; i < amount; i++) { // this.activatedClientside.push(effect); // } // }, // useEffect(effect: Effect, target: Player | Card) { // const index = this.activatedClientside.indexOf(effect); // if (index > -1) { // this.activatedClientside.splice(index, 1); // useEffect(effect, target); // } // }, // findUseEffect(cardEffect: CardEffects, target: Player | Card) { // const effect = this.activatedClientside.find(e => (e.effect == cardEffect) && e.usable) // if (!effect) { return } // this.useEffect(effect, target) // } // }, });