diff --git a/components/CardPreview.vue b/components/CardPreview.vue
index 8e0e312..35145c5 100644
--- a/components/CardPreview.vue
+++ b/components/CardPreview.vue
@@ -234,8 +234,6 @@ onUnmounted(() => {
@mouseenter="mouseenter"
@mouseleave="mouseleave"
>
-
-
diff --git a/components/MarketCards.vue b/components/MarketCards.vue
index c9766ff..ae58416 100644
--- a/components/MarketCards.vue
+++ b/components/MarketCards.vue
@@ -1,6 +1,7 @@
@@ -41,13 +61,16 @@ function fireGemCardClick(e: string) {
:container="market"
@cardClick="marketCardClick"
:noEffects="true"
- >
+ :tokens="marketTokens"
+ >
+
diff --git a/components/PlayerSlot.vue b/components/PlayerSlot.vue
index 20fa2ca..166cf9b 100644
--- a/components/PlayerSlot.vue
+++ b/components/PlayerSlot.vue
@@ -1,6 +1,6 @@
+
+
+
+ {{ props.token.effect }}
+
+
+
+
diff --git a/netcode/interfaces.ts b/netcode/interfaces.ts
index 4f49097..4c4d8b3 100644
--- a/netcode/interfaces.ts
+++ b/netcode/interfaces.ts
@@ -1,3 +1,46 @@
+export enum CardEffects {
+ //Base
+ GOLD = "gold",
+ DAMAGE = "damage",
+ HEAL = "heal",
+ PREPARE = "prepare",
+ STUN = "stun",
+ SACRIFICE = "sacrifice",
+ DRAW = "draw",
+ DRAW_AND_DISCARD = "draw_and_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",
+ STACK_NEXT_CARD_BOUGHT = "stack_next_card_bought",
+ PLAY_NEXT_CARD_BOUGHT = "play_next_card_bought",
+
+ //DLCs
+ BUY_FOR_FREE = "buy_for_free",
+
+ //Journeys
+ DAMAGE_ALL_CHAMPIONS = "damage_all_champions",
+
+ //Journeys: Hunters
+ DISCARD_X_AND_DRAW_X = "discard_x_and_draw_x",
+ PREPARE_ANOTHER_CHAMPION = "prepare_another_champion",
+ //Journey: Travelers
+ PREPARE_ALL_CHAMPIONS = "prepare_all_champions",
+ CHEAPER_CHAMPION = "cheaper_champion",
+ CHEAPER_CHAMPIONS_PASSIVE = "cheaper_champions_passive",
+ CHEAPER_ACTION = "cheaper_action",
+ CONTROL_OPPOSING_CHAMPION_PASSIVE = "control_opposing_champion_passive",
+
+ RESTACK_DISCARDED_ACTION = "restack_discarded_action",
+
+ //Ancestry
+ KEEP_IN_HAND = "keep_in_hand",
+ BUY_GEM_FOR_FREE = "buy_gem_for_free",
+ CHEAPER_SKILLS_PASSIVE = "cheaper_skills_passive",
+ CHEAPER_CARD_IF_HIGHER_PRICE = "cheaper_card_if_higher_price",
+ PICK_FACTION = "pick_faction",
+}
+
export interface GameObject {
_id: string;
}
@@ -47,7 +90,9 @@ export interface Container extends GameObject {
shuffling?: boolean;
}
-export interface Effect extends GameObject {}
+export interface Effect extends GameObject {
+ effect: CardEffects;
+}
export interface Card extends GameObject {
cardId: number;
effects: Effect[];
diff --git a/pages/game/[id].vue b/pages/game/[id].vue
index 0ac058b..7fc468d 100644
--- a/pages/game/[id].vue
+++ b/pages/game/[id].vue
@@ -171,6 +171,14 @@ eventSource.addEventListener("message", async (message) => {
current_game.currentTurn.lockedEffects.push(data.effect);
await delay(settingsStore.animationSpeed);
});
+ } else if (data.type == "unlockEffect") {
+ queueAction(async () => {
+ const effectIndex = current_game.currentTurn.lockedEffects.findIndex(
+ data.effect
+ );
+ current_game.currentTurn.lockedEffects.splice(effectIndex, 1);
+ await delay(settingsStore.animationSpeed);
+ });
} else if (data.type == "currentTurn.updateGold") {
queueAction(async () => {
console.log(`adding gold amount : ` + data.operation);
@@ -298,7 +306,6 @@ onUnmounted(() => {
:fire_gems="game.fireGems"
:marketStack="game.marketStack"
>
- {{ game.currentTurn.tokens }}