From e8c7fb9a0aece2d7ae05a84503672c6924c955aa Mon Sep 17 00:00:00 2001 From: legonzaur Date: Tue, 14 May 2024 18:27:00 +0200 Subject: [PATCH 1/7] Enable vue hybryd mode --- .vscode/settings.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 51e1ebb..f7fa7f2 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,5 +2,6 @@ "files.exclude": { "**/.nuxt/": true, "**/node_modules": true - } + }, + "vue.server.hybridMode": true } \ No newline at end of file From 020d3f9cd9195dcd23ef6d9f2f6dd199551442c2 Mon Sep 17 00:00:00 2001 From: legonzaur Date: Tue, 14 May 2024 18:52:12 +0200 Subject: [PATCH 2/7] feat: add card zoom on every page; add card zoom on right click Closes #32 Partial #29 --- app.vue | 22 ++++++++++++++++++---- pages/index.vue | 2 -- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/app.vue b/app.vue index 1b3b599..e2d4a7d 100644 --- a/app.vue +++ b/app.vue @@ -42,6 +42,19 @@ function keyUpHandler(e: KeyboardEvent) { e.preventDefault() return false } +function mouseDownHandler(e: MouseEvent) { + if (e.button !== 2) { return } + goStore.zoomKeyPressed = true + e.preventDefault() + return false +} + +function mouseUpHandler(e: MouseEvent) { + if (e.button !== 2) { return } + goStore.zoomKeyPressed = false + e.preventDefault() + return false +} function follow_mouse(e: MouseEvent) { goStore.clientMouseX = e.clientX @@ -49,14 +62,14 @@ function follow_mouse(e: MouseEvent) { } onMounted(() => { - window.addEventListener("keydown", (keyDownHandler)) - window.addEventListener("keyup", keyUpHandler) + window.addEventListener("mousedown", mouseDownHandler) + window.addEventListener("mouseup", mouseUpHandler) document.addEventListener("mousemove", follow_mouse) }) onUnmounted(() => { - window.removeEventListener("keydown", (keyDownHandler)) - window.removeEventListener("keyup", keyUpHandler) + window.removeEventListener("mousedown", mouseDownHandler) + window.removeEventListener("mouseup", mouseUpHandler) document.removeEventListener("mousemove", follow_mouse) }) @@ -64,6 +77,7 @@ onDeactivated diff --git a/pages/index.vue b/pages/index.vue index 387535c..2b25cc2 100644 --- a/pages/index.vue +++ b/pages/index.vue @@ -18,8 +18,6 @@ import goStore, { setReady } from "@/netcode"; - - From a907f52913b32104a50b45a8d993c1d76870a4ba Mon Sep 17 00:00:00 2001 From: Erzangel Date: Tue, 14 May 2024 18:59:56 +0200 Subject: [PATCH 3/7] feat: new playericon component, style for ready --- components/PlayerIcon.vue | 40 +++++++++++++++++++++++++++++++++++++++ components/PlayerSlot.vue | 29 ++++++++++++++++++++-------- 2 files changed, 61 insertions(+), 8 deletions(-) create mode 100644 components/PlayerIcon.vue diff --git a/components/PlayerIcon.vue b/components/PlayerIcon.vue new file mode 100644 index 0000000..5b469bb --- /dev/null +++ b/components/PlayerIcon.vue @@ -0,0 +1,40 @@ + + + + + \ No newline at end of file diff --git a/components/PlayerSlot.vue b/components/PlayerSlot.vue index 91dc712..30e5945 100644 --- a/components/PlayerSlot.vue +++ b/components/PlayerSlot.vue @@ -87,18 +87,15 @@ const prepare_champion = (target: Card) => run_effect(CardEffects.PREPARE, targe
+
Pas encore prêt...
+
Prêt!
- - +
- - {{ props.player.username }} - - - + +
-
READY
- +
From 12bc3448dd58974449cd6bc97fea12440b31c8e0 Mon Sep 17 00:00:00 2001 From: Erzangel Date: Tue, 14 May 2024 19:06:30 +0200 Subject: [PATCH 5/7] feat: separate market cards by slight gap --- components/MarketCards.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/components/MarketCards.vue b/components/MarketCards.vue index df59e2a..87b3bf3 100644 --- a/components/MarketCards.vue +++ b/components/MarketCards.vue @@ -60,6 +60,7 @@ const isTurn = computed(() => goStore.self && goStore.current_game?.started && ( align-items: center; z-index: 2; position: relative; + gap: 2px; } .separator { From 787eb93c00b7c7f7b47820db4ec262b0745c2ef7 Mon Sep 17 00:00:00 2001 From: legonzaur Date: Tue, 14 May 2024 19:08:03 +0200 Subject: [PATCH 6/7] Fix context menu being present on rules pages Fix #32 --- app.vue | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app.vue b/app.vue index e2d4a7d..f56d93c 100644 --- a/app.vue +++ b/app.vue @@ -42,6 +42,11 @@ function keyUpHandler(e: KeyboardEvent) { e.preventDefault() return false } + +function contextMenuHandler(e: MouseEvent) { + e.preventDefault() +} + function mouseDownHandler(e: MouseEvent) { if (e.button !== 2) { return } goStore.zoomKeyPressed = true @@ -62,12 +67,14 @@ function follow_mouse(e: MouseEvent) { } onMounted(() => { + window.addEventListener("contextmenu", contextMenuHandler) window.addEventListener("mousedown", mouseDownHandler) window.addEventListener("mouseup", mouseUpHandler) document.addEventListener("mousemove", follow_mouse) }) onUnmounted(() => { + window.removeEventListener("contextmenu", contextMenuHandler) window.removeEventListener("mousedown", mouseDownHandler) window.removeEventListener("mouseup", mouseUpHandler) document.removeEventListener("mousemove", follow_mouse) From 9822d7c624107dbb4563b18cc4641af8927755ac Mon Sep 17 00:00:00 2001 From: legonzaur Date: Tue, 14 May 2024 19:08:37 +0200 Subject: [PATCH 7/7] Feat: untilt rules cards Closes #29 --- components/RulesDisplay.vue | 66 ++++++++++++++++++------------------- 1 file changed, 33 insertions(+), 33 deletions(-) diff --git a/components/RulesDisplay.vue b/components/RulesDisplay.vue index 93aae29..8a675ae 100644 --- a/components/RulesDisplay.vue +++ b/components/RulesDisplay.vue @@ -25,10 +25,10 @@ const router = useRouter();

​

Et quoi de mieux pour faire ça que des cartes colorées?

- - - - + + + +

​


@@ -48,7 +48,7 @@ const router = useRouter();

Comme c'est un jeu de "deckbuilding", on va expliquer ce qu'est le "deck" et ce qui nous permet de le "build".

- +

​

@@ -76,10 +76,10 @@ const router = useRouter();

  • 1x Dégats (2)
  • - - - - + + + +

    La pioche est formée au hasard: on peut donc avoir une main de départ avec 5 or et 2 dégats, ou 3 or @@ -99,15 +99,15 @@ const router = useRouter(); Les cartes sont divisées en 3 catégories: objets, actions et champions.

    - - - + + +

    ​

    Objets & actions

    - - + +

    Par simplicité, disons que les objets et les actions sont pareil: on les joue, ils font un effet @@ -115,7 +115,7 @@ const router = useRouter();

    Champions (& gardes)

    - +

    Les champions sont un peu plus complexes: ils restent sur le terrain, et on peut les utiliser à @@ -127,7 +127,7 @@ const router = useRouter();

    Ces dégats doivent être faits d'un coup. Je ne peux pas faire un peu de dégats pendant un tour, et un peu le tour d'après pour les tuer.

    - +

    Par ailleurs, certains champions sont des Gardes sert exclusivement à accomplir ce but: acheter des cartes.

    - - - - + + + +

    Un marché est mis à disposition de tous les joueurs, mettant à disposition 5 cartes (pas ici parce @@ -177,18 +177,18 @@ const router = useRouter();

    ​

    - - - + + +

    ​

    Les cartes jaunes sont les cartes Empire.

    Elles font beaucoup de soin, et activent souvent des effets de pioche.

    ​

    - - - + + +

    ​

    Les cartes rouges sont les cartes Necros.

    @@ -196,18 +196,18 @@ const router = useRouter();

    ​

    - - - + + +

    ​

    Les cartes vertes sont les cartes Sauvages.

    Elles font beaucoup de dégats, et forcent vos adversaires à jouer moins de cartes.

    ​

    - - - + + +

    ​

    Les cartes bleues sont les cartes Guilde.

    @@ -217,7 +217,7 @@ const router = useRouter();

    Déclencheurs

    Les effets de cartes peuvent se déclencher pour 3 raisons différentes.

    - +

    Sur cette carte, on peut voir les trois en même temps.

    La 1ère ligne s'active tout le temps.