fix make discard behaviour

This commit is contained in:
2024-05-09 23:02:56 +02:00
parent b3252aab94
commit c23f7748f8
4 changed files with 31 additions and 30 deletions
+11 -14
View File
@@ -14,18 +14,16 @@ const isTurn = computed(() => goStore.self && goStore.game?.started && (goStore.
<CardPreview :data="c" v-for="c in goStore.game?.market" @click="c && buy(c)">
<template v-if="isTurn && c && c.cost && (goStore.self?.turn.gold_reserve ?? 0) >= c.cost">
<button @click.stop="buy(c)">BUY</button>
<button
@click.stop="useEffect(goStore.self!.turn.find_effect(CardEffects.PLAY_NEXT_CARD_BOUGHT).value!, c)"
v-if="goStore.self?.turn.find_effect(CardEffects.PLAY_NEXT_CARD_BOUGHT).value">
<button @click.stop="useEffect(goStore.self!.turn.find_effect(CardEffects.PLAY_NEXT_CARD_BOUGHT)!, c)"
v-if="goStore.self?.turn.find_effect(CardEffects.PLAY_NEXT_CARD_BOUGHT)">
BUY IN HAND</button>
<button
@click.stop="useEffect(goStore.self!.turn.find_effect(CardEffects.STACK_NEXT_CARD_BOUGHT).value!, c)"
v-if="goStore.self?.turn.find_effect(CardEffects.STACK_NEXT_CARD_BOUGHT).value">
<button @click.stop="useEffect(goStore.self!.turn.find_effect(CardEffects.STACK_NEXT_CARD_BOUGHT)!, c)"
v-if="goStore.self?.turn.find_effect(CardEffects.STACK_NEXT_CARD_BOUGHT)">
BUY IN STACK (generic)</button>
<button
@click.stop="useEffect(goStore.self!.turn.find_effect(CardEffects.STACK_NEXT_ACTION_BOUGHT).value!, c)"
v-if="c.card_type == CardType.ACTION && goStore.self?.turn.find_effect(CardEffects.STACK_NEXT_ACTION_BOUGHT).value">
@click.stop="useEffect(goStore.self!.turn.find_effect(CardEffects.STACK_NEXT_ACTION_BOUGHT)!, c)"
v-if="c.card_type == CardType.ACTION && goStore.self?.turn.find_effect(CardEffects.STACK_NEXT_ACTION_BOUGHT)">
BUY IN STACK (actions)</button>
</template>
</CardPreview>
@@ -37,12 +35,12 @@ const isTurn = computed(() => goStore.self && goStore.game?.started && (goStore.
BUY
</button>
<button
@click.stop="useEffect(goStore.self!.turn.find_effect(CardEffects.PLAY_NEXT_CARD_BOUGHT).value!, goStore.game.gem_stack.at(-1))"
v-if="goStore.self?.turn.find_effect(CardEffects.PLAY_NEXT_CARD_BOUGHT).value">
@click.stop="useEffect(goStore.self!.turn.find_effect(CardEffects.PLAY_NEXT_CARD_BOUGHT)!, goStore.game.gem_stack.at(-1))"
v-if="goStore.self?.turn.find_effect(CardEffects.PLAY_NEXT_CARD_BOUGHT)">
BUY IN HAND</button>
<button
@click.stop="useEffect(goStore.self!.turn.find_effect(CardEffects.STACK_NEXT_CARD_BOUGHT).value!, goStore.game.gem_stack.at(-1))"
v-if="goStore.self?.turn.find_effect(CardEffects.STACK_NEXT_CARD_BOUGHT).value">
@click.stop="useEffect(goStore.self!.turn.find_effect(CardEffects.STACK_NEXT_CARD_BOUGHT)!, goStore.game.gem_stack.at(-1))"
v-if="goStore.self?.turn.find_effect(CardEffects.STACK_NEXT_CARD_BOUGHT)">
BUY IN STACK(generic)
</button>
</template>
@@ -62,6 +60,5 @@ const isTurn = computed(() => goStore.self && goStore.game?.started && (goStore.
}
.separator {
width: 50px;
}
width: 50px;}
</style>
+17 -13
View File
@@ -34,7 +34,7 @@ function run_effect(
effect_type: CardEffects,
target: Player | Card
) {
const effect = goStore.self?.turn.find_effect(effect_type).value;
const effect = goStore.self?.turn.find_effect(effect_type);
if (!effect) {
return;
}
@@ -65,15 +65,14 @@ const restack_discarded_card = (target: Card) => run_effect(CardEffects.RESTACK_
<CardPreview v-if="props.discard_unwrapped" :data="c" v-for="c in props.player.discard_pile">
<template v-if="c && isSelf && isPlayerTurn">
<button v-if="goStore.self?.turn.find_effect(CardEffects.SACRIFICE).value"
@click.stop="sacrifice(c)">
<button v-if="goStore.self?.turn.find_effect(CardEffects.SACRIFICE)" @click.stop="sacrifice(c)">
SACRIFICE
</button>
<button v-if="goStore.self?.turn.find_effect(CardEffects.RESTACK_DISCARDED_CHAMPION).value"
<button v-if="goStore.self?.turn.find_effect(CardEffects.RESTACK_DISCARDED_CHAMPION)"
@click.stop="restack_discarded_champion(c)">
RESTACK_DISCARDED_CHAMPION
</button>
<button v-if="goStore.self?.turn.find_effect(CardEffects.RESTACK_DISCARDED_CARD).value"
<button v-if="goStore.self?.turn.find_effect(CardEffects.RESTACK_DISCARDED_CARD)"
@click.stop="restack_discarded_card(c)">
RESTACK_DISCARDED_CARD
</button>
@@ -96,8 +95,8 @@ const restack_discarded_card = (target: Card) => run_effect(CardEffects.RESTACK_
:disabled="(goStore.self?.turn.damage_reserve ?? 0) <= 0">
Damage
</button>
<button v-if="isSelfTurn && isPlayerEnemy" @click.stop="make_discard(props.player)"
:disabled="!goStore.self?.turn.find_effect(CardEffects.MAKE_DISCARD).value">
<button v-if="goStore.self && isSelfTurn && isPlayerEnemy" @click.stop="make_discard(props.player)"
:disabled="!goStore.self!.turn.find_effect(CardEffects.MAKE_DISCARD)">
make Discard
</button>
<br />
@@ -105,7 +104,9 @@ const restack_discarded_card = (target: Card) => run_effect(CardEffects.RESTACK_
<div class="cards_container">
<!-- HAND -->
<CardPreview :data="c" v-for="c in props.player.hand" @click="c && playCard(c)">
<button v-if="c && isSelf && props.player.turn.discard_markers > 0" @click.stop="discard(c)">
<button
v-if="c && isSelf && (props.player.turn.discard_markers + props.player.turn.fuck_u_markers) > 0"
@click.stop="discard(c)">
DISCARD
</button>
</CardPreview>
@@ -122,25 +123,28 @@ const restack_discarded_card = (target: Card) => run_effect(CardEffects.RESTACK_
</button>
</template>
<template v-if="!(c.uuid in props.player.turn.cards_locked)">
<button v-if="props.player.turn.discard_markers > 0" @click.stop="discard(c)">
<button v-if="(props.player.turn.discard_markers + props.player.turn.fuck_u_markers) > 0"
@click.stop="discard(c)">
DISCARD
</button>
<button v-if="goStore.self?.turn.find_effect(CardEffects.SACRIFICE).value"
<button v-if="goStore.self?.turn.find_effect(CardEffects.SACRIFICE)"
@click.stop="sacrifice(c)">
SACRIFICE
</button>
<button @click.stop="lockCard(c)"
:disabled="(props.player.turn.discard_markers > 0 && c !== props.player.turn.discard_marker_card) || props.player.turn.fuck_u_markers > 0">
:disabled="((props.player.turn.discard_markers + props.player.turn.fuck_u_markers) > 0 && c !== props.player.turn.discard_marker_card) || props.player.turn.fuck_u_markers > 0">
LOCK
</button>
</template>
</template>
<template v-if="isPlayerEnemy && isSelfTurn && (c.health_as_champion ?? 0) > 0">
<button :disabled="(goStore.self?.turn.damage_reserve ?? 0) <= 0"
<button class="enemy_action"
:disabled="(goStore.self?.turn.damage_reserve ?? 0) <= (c.health_as_champion ?? Infinity)"
@click.stop="damage_champion(c)">
DAMAGE
</button>
<button v-if="goStore.self?.turn.find_effect(CardEffects.STUN).value" @click.stop="stun(c)">
<button class="enemy_action" v-if="goStore.self?.turn.find_effect(CardEffects.STUN)"
@click.stop="stun(c)">
STUN
</button>
</template>
+1 -1
View File
@@ -13,7 +13,7 @@ const props = defineProps<Props>()
<template>
<div class="turn_icon">
<span class="icon_img">🖕</span>
<span class="turn_icon_number">{{ player.turn.discard_markers }}</span>
<span class="turn_icon_number">{{ player.turn.discard_markers + player.turn.fuck_u_markers }}</span>
</div>
<div class="turn_icon">
<img src="/images/damage.png" class="icon_img" draggable="false" />
+2 -2
View File
@@ -9,8 +9,8 @@ const isTurn = computed(() => goStore.self?.team == goStore.game?.current_turn)
<template>
<div :class="'player ' + (isTurn ? 'turn' : '')">
<button v-if="goStore.self && goStore.self?.team != goStore.self?.team" id="end_turn"
@click="useEffect(goStore.self!.turn.find_effect(CardEffects.MAKE_DISCARD).value!, goStore.self)"
:disabled="!goStore.self!.turn.find_effect(CardEffects.MAKE_DISCARD).value">
@click="useEffect(goStore.self!.turn.find_effect(CardEffects.MAKE_DISCARD)!, goStore.self)"
:disabled="!goStore.self!.turn.find_effect(CardEffects.MAKE_DISCARD)">
make Discard</button>
<div id="turn_data">
<button id="end_turn" v-if="isTurn" @click="endTurn">END TURN</button>