added item support and team registration #4
@@ -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 @@
|
||||
<main class="container">
|
||||
<div class="main-row">
|
||||
<div class="column-1">
|
||||
<MainWrapper bind:pokemonStatus={player1Data} bind:attackId {items} />
|
||||
<MainWrapper
|
||||
bind:pokemonStatus={player1Data}
|
||||
bind:attackId
|
||||
bind:attackSide
|
||||
{items}
|
||||
playerSide={1}
|
||||
/>
|
||||
</div>
|
||||
<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 class="row">
|
||||
<DamageCalculator bind:player1Data bind:player2Data bind:attackId />
|
||||
<DamageCalculator
|
||||
bind:player1Data
|
||||
bind:player2Data
|
||||
bind:attackId
|
||||
bind:attackSide
|
||||
/>
|
||||
</div>
|
||||
</main>
|
||||
|
||||
|
||||
@@ -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;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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 @@
|
||||
<tr
|
||||
on:click={async () => {
|
||||
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,
|
||||
});
|
||||
}
|
||||
}}
|
||||
>
|
||||
<td>
|
||||
|
||||
@@ -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}
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user