From 9dd8d91ba3e06e8a5847fa0fa25813d0c9ce7704 Mon Sep 17 00:00:00 2001 From: Hansoo Date: Thu, 23 Feb 2023 17:23:11 +0900 Subject: [PATCH] pass attack side to calculator --- src/App.svelte | 24 +++++++++++++++++++++--- src/lib/DamageCalculator.svelte | 13 +++++++++++++ src/lib/DisplayData.svelte | 18 ++++++++++++------ src/lib/MainWrapper.svelte | 4 ++++ 4 files changed, 50 insertions(+), 9 deletions(-) diff --git a/src/App.svelte b/src/App.svelte index 568c4c6..722e343 100644 --- a/src/App.svelte +++ b/src/App.svelte @@ -9,6 +9,7 @@ let player1Data: PokemonStatus | undefined; let player2Data: PokemonStatus | undefined; let attackId: number | undefined; + let attackSide: number | undefined; invoke("get_items").then((r: ItemData[]) => { items = r; }); @@ -17,14 +18,31 @@
- +
- +
- +
diff --git a/src/lib/DamageCalculator.svelte b/src/lib/DamageCalculator.svelte index eb3128c..5d262d6 100644 --- a/src/lib/DamageCalculator.svelte +++ b/src/lib/DamageCalculator.svelte @@ -7,6 +7,7 @@ export let player1Data: PokemonStatus | undefined; export let player2Data: PokemonStatus | undefined; export let attackId: number | undefined; + export let attackSide: number | undefined; let attackData; $: { if (moveValue > 0) { @@ -20,6 +21,18 @@ invoke("search_move", { index: attackId }).then((r) => { attackData = r; attackId = undefined; + console.log(attackSide); + switch (attackSide) { + case 1: { + attack_direction = "p1p2"; + break; + } + case 2: { + attack_direction = "p2p1"; + break; + } + } + attackSide = undefined; }); } } diff --git a/src/lib/DisplayData.svelte b/src/lib/DisplayData.svelte index 82b8972..e3049b3 100644 --- a/src/lib/DisplayData.svelte +++ b/src/lib/DisplayData.svelte @@ -10,6 +10,8 @@ export let items: ItemData[]; export let pokemonData: PokemonData | undefined; export let attackId: number | undefined; + export let attackSide: number | undefined; + export let playerSide: number; function v_validator(v) { if (typeof v !== "number") { return null; @@ -960,13 +962,17 @@ { console.log("passing" + learnset.name); + attackSide = playerSide; attackId = learnset.learnset_id; - await invoke("increase_attack_usage", { - index: learnset.id, - }); - pokemonData.learnset = await invoke("search_learnset", { - index: pokemonData.id, - }); + if (playerSide > 1) { + // 技の使用回数は相手の使用回数に限定する。 + await invoke("increase_attack_usage", { + index: learnset.id, + }); + pokemonData.learnset = await invoke("search_learnset", { + index: pokemonData.id, + }); + } }} > diff --git a/src/lib/MainWrapper.svelte b/src/lib/MainWrapper.svelte index ff40f0e..fb6f500 100644 --- a/src/lib/MainWrapper.svelte +++ b/src/lib/MainWrapper.svelte @@ -72,7 +72,9 @@ item: pokemonData ? pokemonData.item : 0, }; } + export let playerSide: number; export let attackId: number | undefined; + export let attackSide: number | undefined; export let items: ItemData[]; let myValue; let index = 0; @@ -216,7 +218,9 @@ bind:special_defense_final bind:speed_final bind:attackId + bind:attackSide {items} + {playerSide} />