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)"> <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"> <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="buy(c)">BUY</button>
<button <button @click.stop="useEffect(goStore.self!.turn.find_effect(CardEffects.PLAY_NEXT_CARD_BOUGHT)!, c)"
@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)">
v-if="goStore.self?.turn.find_effect(CardEffects.PLAY_NEXT_CARD_BOUGHT).value">
BUY IN HAND</button> BUY IN HAND</button>
<button <button @click.stop="useEffect(goStore.self!.turn.find_effect(CardEffects.STACK_NEXT_CARD_BOUGHT)!, c)"
@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)">
v-if="goStore.self?.turn.find_effect(CardEffects.STACK_NEXT_CARD_BOUGHT).value">
BUY IN STACK (generic)</button> BUY IN STACK (generic)</button>
<button <button
@click.stop="useEffect(goStore.self!.turn.find_effect(CardEffects.STACK_NEXT_ACTION_BOUGHT).value!, c)" @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).value"> v-if="c.card_type == CardType.ACTION && goStore.self?.turn.find_effect(CardEffects.STACK_NEXT_ACTION_BOUGHT)">
BUY IN STACK (actions)</button> BUY IN STACK (actions)</button>
</template> </template>
</CardPreview> </CardPreview>
@@ -37,12 +35,12 @@ const isTurn = computed(() => goStore.self && goStore.game?.started && (goStore.
BUY BUY
</button> </button>
<button <button
@click.stop="useEffect(goStore.self!.turn.find_effect(CardEffects.PLAY_NEXT_CARD_BOUGHT).value!, goStore.game.gem_stack.at(-1))" @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).value"> v-if="goStore.self?.turn.find_effect(CardEffects.PLAY_NEXT_CARD_BOUGHT)">
BUY IN HAND</button> BUY IN HAND</button>
<button <button
@click.stop="useEffect(goStore.self!.turn.find_effect(CardEffects.STACK_NEXT_CARD_BOUGHT).value!, goStore.game.gem_stack.at(-1))" @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).value"> v-if="goStore.self?.turn.find_effect(CardEffects.STACK_NEXT_CARD_BOUGHT)">
BUY IN STACK(generic) BUY IN STACK(generic)
</button> </button>
</template> </template>
@@ -62,6 +60,5 @@ const isTurn = computed(() => goStore.self && goStore.game?.started && (goStore.
} }
.separator { .separator {
width: 50px; width: 50px;}
}
</style> </style>
+17 -13
View File
@@ -34,7 +34,7 @@ function run_effect(
effect_type: CardEffects, effect_type: CardEffects,
target: Player | Card target: Player | Card
) { ) {
const effect = goStore.self?.turn.find_effect(effect_type).value; const effect = goStore.self?.turn.find_effect(effect_type);
if (!effect) { if (!effect) {
return; 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"> <CardPreview v-if="props.discard_unwrapped" :data="c" v-for="c in props.player.discard_pile">
<template v-if="c && isSelf && isPlayerTurn"> <template v-if="c && isSelf && isPlayerTurn">
<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)">
@click.stop="sacrifice(c)">
SACRIFICE SACRIFICE
</button> </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)"> @click.stop="restack_discarded_champion(c)">
RESTACK_DISCARDED_CHAMPION RESTACK_DISCARDED_CHAMPION
</button> </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)"> @click.stop="restack_discarded_card(c)">
RESTACK_DISCARDED_CARD RESTACK_DISCARDED_CARD
</button> </button>
@@ -96,8 +95,8 @@ const restack_discarded_card = (target: Card) => run_effect(CardEffects.RESTACK_
:disabled="(goStore.self?.turn.damage_reserve ?? 0) <= 0"> :disabled="(goStore.self?.turn.damage_reserve ?? 0) <= 0">
Damage Damage
</button> </button>
<button v-if="isSelfTurn && isPlayerEnemy" @click.stop="make_discard(props.player)" <button v-if="goStore.self && isSelfTurn && isPlayerEnemy" @click.stop="make_discard(props.player)"
:disabled="!goStore.self?.turn.find_effect(CardEffects.MAKE_DISCARD).value"> :disabled="!goStore.self!.turn.find_effect(CardEffects.MAKE_DISCARD)">
make Discard make Discard
</button> </button>
<br /> <br />
@@ -105,7 +104,9 @@ const restack_discarded_card = (target: Card) => run_effect(CardEffects.RESTACK_
<div class="cards_container"> <div class="cards_container">
<!-- HAND --> <!-- HAND -->
<CardPreview :data="c" v-for="c in props.player.hand" @click="c && playCard(c)"> <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 DISCARD
</button> </button>
</CardPreview> </CardPreview>
@@ -122,25 +123,28 @@ const restack_discarded_card = (target: Card) => run_effect(CardEffects.RESTACK_
</button> </button>
</template> </template>
<template v-if="!(c.uuid in props.player.turn.cards_locked)"> <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 DISCARD
</button> </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)"> @click.stop="sacrifice(c)">
SACRIFICE SACRIFICE
</button> </button>
<button @click.stop="lockCard(c)" <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 LOCK
</button> </button>
</template> </template>
</template> </template>
<template v-if="isPlayerEnemy && isSelfTurn && (c.health_as_champion ?? 0) > 0"> <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)"> @click.stop="damage_champion(c)">
DAMAGE DAMAGE
</button> </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 STUN
</button> </button>
</template> </template>
+1 -1
View File
@@ -13,7 +13,7 @@ const props = defineProps<Props>()
<template> <template>
<div class="turn_icon"> <div class="turn_icon">
<span class="icon_img">🖕</span> <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>
<div class="turn_icon"> <div class="turn_icon">
<img src="/images/damage.png" class="icon_img" draggable="false" /> <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> <template>
<div :class="'player ' + (isTurn ? 'turn' : '')"> <div :class="'player ' + (isTurn ? 'turn' : '')">
<button v-if="goStore.self && goStore.self?.team != goStore.self?.team" id="end_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)" @click="useEffect(goStore.self!.turn.find_effect(CardEffects.MAKE_DISCARD)!, goStore.self)"
:disabled="!goStore.self!.turn.find_effect(CardEffects.MAKE_DISCARD).value"> :disabled="!goStore.self!.turn.find_effect(CardEffects.MAKE_DISCARD)">
make Discard</button> make Discard</button>
<div id="turn_data"> <div id="turn_data">
<button id="end_turn" v-if="isTurn" @click="endTurn">END TURN</button> <button id="end_turn" v-if="isTurn" @click="endTurn">END TURN</button>