reflect attack automatically
This commit is contained in:
@@ -122,7 +122,7 @@ fn search(index: i64) -> SearchResult {
|
|||||||
{
|
{
|
||||||
let row_result = PokemonDataLearnset {
|
let row_result = PokemonDataLearnset {
|
||||||
id: row.read::<i64, _>("id"),
|
id: row.read::<i64, _>("id"),
|
||||||
learset_id: row.read::<i64, _>("learnset_id"),
|
learnset_id: row.read::<i64, _>("learnset_id"),
|
||||||
name: row.read::<&str, _>("name").to_string(),
|
name: row.read::<&str, _>("name").to_string(),
|
||||||
types: serde_json::from_str(row.read::<&str, _>("types")).unwrap_or(vec![0]),
|
types: serde_json::from_str(row.read::<&str, _>("types")).unwrap_or(vec![0]),
|
||||||
power: row.read::<i64, _>("power"),
|
power: row.read::<i64, _>("power"),
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ pub struct SearchResult {
|
|||||||
#[derive(Serialize, Deserialize, Debug, Clone)]
|
#[derive(Serialize, Deserialize, Debug, Clone)]
|
||||||
pub struct PokemonDataLearnset {
|
pub struct PokemonDataLearnset {
|
||||||
pub id: i64,
|
pub id: i64,
|
||||||
pub learset_id: i64,
|
pub learnset_id: i64,
|
||||||
pub name: String,
|
pub name: String,
|
||||||
pub types: Vec<i64>,
|
pub types: Vec<i64>,
|
||||||
pub power: i64,
|
pub power: i64,
|
||||||
|
|||||||
@@ -4,19 +4,20 @@
|
|||||||
import "carbon-components-svelte/css/g80.css";
|
import "carbon-components-svelte/css/g80.css";
|
||||||
let player1Data;
|
let player1Data;
|
||||||
let player2Data;
|
let player2Data;
|
||||||
|
let attackId;
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<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} />
|
<MainWrapper bind:pokemonStatus={player1Data} bind:attackId/>
|
||||||
</div>
|
</div>
|
||||||
<div class="column-2">
|
<div class="column-2">
|
||||||
<MainWrapper bind:pokemonStatus={player2Data} />
|
<MainWrapper bind:pokemonStatus={player2Data} bind:attackId />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<DamageCalculator bind:player1Data bind:player2Data />
|
<DamageCalculator bind:player1Data bind:player2Data bind:attackId />
|
||||||
</div>
|
</div>
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
export let player1Data: PokemonData | undefined;
|
export let player1Data: PokemonData | undefined;
|
||||||
export let player2Data: PokemonData | undefined;
|
export let player2Data: PokemonData | undefined;
|
||||||
|
export let attackId: number | undefined;
|
||||||
let attackData;
|
let attackData;
|
||||||
$: {
|
$: {
|
||||||
if (myValue > 0 && myValue !== currentValue) {
|
if (myValue > 0 && myValue !== currentValue) {
|
||||||
@@ -15,6 +16,14 @@
|
|||||||
console.log(attackData);
|
console.log(attackData);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
if (!!attackId) {
|
||||||
|
invoke("search_move", { index: attackId }).then((r) => {
|
||||||
|
currentValue = myValue = attackId;
|
||||||
|
attackData = r;
|
||||||
|
console.log(attackData);
|
||||||
|
attackId = undefined;
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
let attack_direction = "p1p2";
|
let attack_direction = "p1p2";
|
||||||
let total_max_damage = 0;
|
let total_max_damage = 0;
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
import SpecialIcon from "../assets/tokushu.png";
|
import SpecialIcon from "../assets/tokushu.png";
|
||||||
import BuffIcon from "../assets/henka.png";
|
import BuffIcon from "../assets/henka.png";
|
||||||
export let pokemonData: PokemonDBData | undefined;
|
export let pokemonData: PokemonDBData | undefined;
|
||||||
|
export let attackId: number | undefined;
|
||||||
function v_validator(v) {
|
function v_validator(v) {
|
||||||
if (typeof v !== "number") {
|
if (typeof v !== "number") {
|
||||||
return null;
|
return null;
|
||||||
@@ -618,10 +619,27 @@
|
|||||||
</table>
|
</table>
|
||||||
</AccordionItem>
|
</AccordionItem>
|
||||||
<AccordionItem open title="技">
|
<AccordionItem open title="技">
|
||||||
<table class=weakness>
|
<table class="learnset">
|
||||||
{#each pokemonData.learnset as learnset}
|
{#each pokemonData.learnset as learnset}
|
||||||
<tr>
|
<tr
|
||||||
<td><img src={learnset.category === 1 ? PhysicalIcon : learnset.category === 2 ? SpecialIcon : BuffIcon} alt="a"></td>
|
on:click={() => {
|
||||||
|
console.log("passing" + learnset.name);
|
||||||
|
console.log(learnset.learnset_id);
|
||||||
|
console.log(attackId);
|
||||||
|
attackId = learnset.learnset_id;
|
||||||
|
console.log(attackId);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<td
|
||||||
|
><img
|
||||||
|
src={learnset.category === 1
|
||||||
|
? PhysicalIcon
|
||||||
|
: learnset.category === 2
|
||||||
|
? SpecialIcon
|
||||||
|
: BuffIcon}
|
||||||
|
alt="a"
|
||||||
|
/></td
|
||||||
|
>
|
||||||
<td>{@html generate_type(learnset.types)}</td>
|
<td>{@html generate_type(learnset.types)}</td>
|
||||||
<td>{learnset.name}</td>
|
<td>{learnset.name}</td>
|
||||||
<td>{learnset.power}</td>
|
<td>{learnset.power}</td>
|
||||||
@@ -700,4 +718,17 @@
|
|||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
min-height: 25px;
|
min-height: 25px;
|
||||||
}
|
}
|
||||||
|
.learnset {
|
||||||
|
width: 90%;
|
||||||
|
}
|
||||||
|
.learnset > tr:hover {
|
||||||
|
width: 90%;
|
||||||
|
background-color: rgba(255, 255, 255, 0.5);
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
.learnset > tr > td {
|
||||||
|
border: 1px solid;
|
||||||
|
vertical-align: middle;
|
||||||
|
min-height: 25px;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -24,6 +24,7 @@
|
|||||||
};
|
};
|
||||||
console.log(pokemonStatus);
|
console.log(pokemonStatus);
|
||||||
}
|
}
|
||||||
|
export let attackId: number | undefined;
|
||||||
let myValue;
|
let myValue;
|
||||||
let currentValue = 0;
|
let currentValue = 0;
|
||||||
let pokemonData: PokemonDBData | undefined;
|
let pokemonData: PokemonDBData | undefined;
|
||||||
@@ -78,6 +79,7 @@
|
|||||||
bind:spatk_final
|
bind:spatk_final
|
||||||
bind:spdef_final
|
bind:spdef_final
|
||||||
bind:spd_final
|
bind:spd_final
|
||||||
|
bind:attackId
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user