added item support and team registration #4

Open
hansoo wants to merge 14 commits from add-item-support into master
4 changed files with 50 additions and 9 deletions
Showing only changes of commit 9dd8d91ba3 - Show all commits

View File

@@ -9,6 +9,7 @@
let player1Data: PokemonStatus | undefined; let player1Data: PokemonStatus | undefined;
let player2Data: PokemonStatus | undefined; let player2Data: PokemonStatus | undefined;
let attackId: number | undefined; let attackId: number | undefined;
let attackSide: number | undefined;
invoke("get_items").then((r: ItemData[]) => { invoke("get_items").then((r: ItemData[]) => {
items = r; items = r;
}); });
@@ -17,14 +18,31 @@
<main class="container"> <main class="container">
<div class="main-row"> <div class="main-row">
<div class="column-1"> <div class="column-1">
<MainWrapper bind:pokemonStatus={player1Data} bind:attackId {items} /> <MainWrapper
bind:pokemonStatus={player1Data}
bind:attackId
bind:attackSide
{items}
playerSide={1}
/>
</div> </div>
<div class="column-2"> <div class="column-2">
<MainWrapper bind:pokemonStatus={player2Data} bind:attackId {items} /> <MainWrapper
bind:pokemonStatus={player2Data}
bind:attackId
bind:attackSide
{items}
playerSide={2}
/>
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<DamageCalculator bind:player1Data bind:player2Data bind:attackId /> <DamageCalculator
bind:player1Data
bind:player2Data
bind:attackId
bind:attackSide
/>
</div> </div>
</main> </main>

View File

@@ -7,6 +7,7 @@
export let player1Data: PokemonStatus | undefined; export let player1Data: PokemonStatus | undefined;
export let player2Data: PokemonStatus | undefined; export let player2Data: PokemonStatus | undefined;
export let attackId: number | undefined; export let attackId: number | undefined;
export let attackSide: number | undefined;
let attackData; let attackData;
$: { $: {
if (moveValue > 0) { if (moveValue > 0) {
@@ -20,6 +21,18 @@
invoke("search_move", { index: attackId }).then((r) => { invoke("search_move", { index: attackId }).then((r) => {
attackData = r; attackData = r;
attackId = undefined; attackId = undefined;
console.log(attackSide);
switch (attackSide) {
case 1: {
attack_direction = "p1p2";
break;
}
case 2: {
attack_direction = "p2p1";
break;
}
}
attackSide = undefined;
}); });
} }
} }

View File

@@ -10,6 +10,8 @@
export let items: ItemData[]; export let items: ItemData[];
export let pokemonData: PokemonData | undefined; export let pokemonData: PokemonData | undefined;
export let attackId: number | undefined; export let attackId: number | undefined;
export let attackSide: number | undefined;
export let playerSide: number;
function v_validator(v) { function v_validator(v) {
if (typeof v !== "number") { if (typeof v !== "number") {
return null; return null;
@@ -960,13 +962,17 @@
<tr <tr
on:click={async () => { on:click={async () => {
console.log("passing" + learnset.name); console.log("passing" + learnset.name);
attackSide = playerSide;
attackId = learnset.learnset_id; attackId = learnset.learnset_id;
if (playerSide > 1) {
// 技の使用回数は相手の使用回数に限定する。
await invoke("increase_attack_usage", { await invoke("increase_attack_usage", {
index: learnset.id, index: learnset.id,
}); });
pokemonData.learnset = await invoke("search_learnset", { pokemonData.learnset = await invoke("search_learnset", {
index: pokemonData.id, index: pokemonData.id,
}); });
}
}} }}
> >
<td> <td>

View File

@@ -72,7 +72,9 @@
item: pokemonData ? pokemonData.item : 0, item: pokemonData ? pokemonData.item : 0,
}; };
} }
export let playerSide: number;
export let attackId: number | undefined; export let attackId: number | undefined;
export let attackSide: number | undefined;
export let items: ItemData[]; export let items: ItemData[];
let myValue; let myValue;
let index = 0; let index = 0;
@@ -216,7 +218,9 @@
bind:special_defense_final bind:special_defense_final
bind:speed_final bind:speed_final
bind:attackId bind:attackId
bind:attackSide
{items} {items}
{playerSide}
/> />
</div> </div>
</div> </div>