fixed linting
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<script lang="ts">
|
||||
import MainWrapper from './lib/MainWrapper.svelte'
|
||||
import DamageCalculator from './lib/DamageCalculator.svelte'
|
||||
import MainWrapper from "./lib/MainWrapper.svelte";
|
||||
import DamageCalculator from "./lib/DamageCalculator.svelte";
|
||||
let player1Data;
|
||||
let player2Data;
|
||||
</script>
|
||||
@@ -8,21 +8,14 @@
|
||||
<main class="container">
|
||||
<div class="main-row">
|
||||
<div class="column-1">
|
||||
<MainWrapper
|
||||
bind:pokemonStatus={player1Data}
|
||||
/>
|
||||
<MainWrapper bind:pokemonStatus={player1Data} />
|
||||
</div>
|
||||
<div class="column-2">
|
||||
<MainWrapper
|
||||
bind:pokemonStatus={player2Data}
|
||||
/>
|
||||
<MainWrapper bind:pokemonStatus={player2Data} />
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<DamageCalculator
|
||||
bind:player1Data={player1Data}
|
||||
bind:player2Data={player2Data}
|
||||
/>
|
||||
<DamageCalculator bind:player1Data bind:player2Data />
|
||||
</div>
|
||||
</main>
|
||||
|
||||
|
||||
@@ -7,7 +7,6 @@
|
||||
let attackData;
|
||||
$: {
|
||||
if (myValue > 0 && myValue !== currentValue) {
|
||||
|
||||
invoke("search_move", { index: myValue }).then((r) => {
|
||||
currentValue = myValue;
|
||||
attackData = r;
|
||||
@@ -23,7 +22,13 @@
|
||||
let defender;
|
||||
let atk_value;
|
||||
let def_value;
|
||||
if (!player1Data || !player2Data || !attackData || (!!attackData && ![1, 2].includes(attackData.category))) {
|
||||
if (
|
||||
!player1Data ||
|
||||
!player2Data ||
|
||||
!attackData ||
|
||||
(!!attackData && ![1, 2].includes(attackData.category))
|
||||
) {
|
||||
// display some message somewhere
|
||||
console.log("skip");
|
||||
return;
|
||||
}
|
||||
@@ -59,7 +64,7 @@
|
||||
// 技タイプ
|
||||
move_type: JSON.parse(attackData.types),
|
||||
// 範囲の計算で使用する
|
||||
}
|
||||
};
|
||||
|
||||
// 計算
|
||||
let d = damage(data);
|
||||
@@ -69,12 +74,14 @@
|
||||
}
|
||||
function damage(data) {
|
||||
// 基本の計算
|
||||
var step1 = Math.trunc(data.level * 2 / 5 + 2);
|
||||
var step2 = Math.trunc(step1 * data.attack_power * data.atk_value / data.def_value);
|
||||
var step1 = Math.trunc((data.level * 2) / 5 + 2);
|
||||
var step2 = Math.trunc(
|
||||
(step1 * data.attack_power * data.atk_value) / data.def_value
|
||||
);
|
||||
data.maxDamage = Math.trunc(step2 / 50 + 2); // この時点の計算結果は最大ダメージ
|
||||
|
||||
// 各種補正かけた結果を返す
|
||||
return modify(data)
|
||||
return modify(data);
|
||||
}
|
||||
// 全部一気にやると大変なので、一旦基本計算から
|
||||
function modify(data) {
|
||||
@@ -84,16 +91,16 @@
|
||||
// 天気補正
|
||||
// 急所補正
|
||||
// 乱数補正
|
||||
data.minDamage = getMinDamage(data)
|
||||
data.minDamage = getMinDamage(data);
|
||||
// タイプ一致補正
|
||||
let type_match = false
|
||||
let type_match = false;
|
||||
for (let i = 0; i < data.atk_type.length && !type_match; i++) {
|
||||
for (let j = 0; j < data.move_type.length && !type_match; j++) {
|
||||
if (data.atk_type[i] === data.move_type[j]) {
|
||||
// タイプ一致したら判定終了
|
||||
type_match = true;
|
||||
data.maxDamage = Math.trunc(data.maxDamage*1.5)
|
||||
data.minDamage = Math.trunc(data.minDamage*1.5)
|
||||
data.maxDamage = Math.trunc(data.maxDamage * 1.5);
|
||||
data.minDamage = Math.trunc(data.minDamage * 1.5);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -101,7 +108,6 @@
|
||||
// 相性補正
|
||||
// 相性の計算の関数をとってくる
|
||||
|
||||
|
||||
// やけど補正
|
||||
// 壁補正
|
||||
// ブレインフォース補正
|
||||
@@ -117,7 +123,7 @@
|
||||
// 半減木の実補正
|
||||
// その他ダメージ補正(M twice)
|
||||
// ダイマックス技などの軽減(M protect)
|
||||
return data
|
||||
return data;
|
||||
}
|
||||
// 乱数補正
|
||||
// ダメージは、乱数で0.85~1.00をかけた値の範囲で変動する
|
||||
@@ -125,7 +131,7 @@
|
||||
// 0.85をかけた最小ダメージだけを計算する
|
||||
// 少数切り捨て
|
||||
function getMinDamage(data) {
|
||||
return Math.trunc(data.maxDamage * 85/100);
|
||||
return Math.trunc((data.maxDamage * 85) / 100);
|
||||
}
|
||||
async function getItems(keyword) {
|
||||
try {
|
||||
@@ -140,34 +146,52 @@
|
||||
let myValue;
|
||||
let currentValue = 0;
|
||||
</script>
|
||||
|
||||
<div class="calculator">
|
||||
<table>
|
||||
<tr>
|
||||
<td>
|
||||
<input type="radio" name="direction" value="p1p2" bind:group={attack_direction}> P1 ->> P2
|
||||
<input
|
||||
type="radio"
|
||||
name="direction"
|
||||
value="p1p2"
|
||||
bind:group={attack_direction}
|
||||
/> P1 ->> P2
|
||||
</td>
|
||||
<td>
|
||||
<input type="radio" name="direction" value="p2p1" bind:group={attack_direction}> P2 ->> P1
|
||||
<input
|
||||
type="radio"
|
||||
name="direction"
|
||||
value="p2p1"
|
||||
bind:group={attack_direction}
|
||||
/> P2 ->> P1
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<AutoComplete
|
||||
showClear={true}
|
||||
searchFunction="{getItems}"
|
||||
searchFunction={getItems}
|
||||
delay="200"
|
||||
localFiltering={false}
|
||||
labelFieldName="name"
|
||||
valueFieldName="id"
|
||||
bind:value="{myValue}"
|
||||
bind:value={myValue}
|
||||
/>
|
||||
</td>
|
||||
<td><input type="button" value="Calculate" on:click={calculate_damage}></td>
|
||||
<td
|
||||
><input
|
||||
type="button"
|
||||
value="Calculate"
|
||||
on:click={calculate_damage}
|
||||
/></td
|
||||
>
|
||||
<td>Total Damage: {total_min_damage} ~ {total_max_damage}</td>
|
||||
</tr>
|
||||
</table>
|
||||
{JSON.stringify(player1Data)} -
|
||||
{JSON.stringify(player2Data)}<br> {attack_direction}
|
||||
{JSON.stringify(player2Data)}<br />
|
||||
{attack_direction}
|
||||
</div>
|
||||
|
||||
<style>
|
||||
|
||||
@@ -55,23 +55,23 @@
|
||||
<div class="row">
|
||||
<AutoComplete
|
||||
showClear={true}
|
||||
searchFunction="{getItems}"
|
||||
searchFunction={getItems}
|
||||
delay="200"
|
||||
localFiltering={false}
|
||||
labelFieldName="name"
|
||||
valueFieldName="id"
|
||||
bind:value="{myValue}"
|
||||
bind:value={myValue}
|
||||
/>
|
||||
</div>
|
||||
<div class="row">
|
||||
<DisplayData
|
||||
pokemonData={pokemonData}
|
||||
bind:hp_final={hp_final}
|
||||
bind:atk_final={atk_final}
|
||||
bind:def_final={def_final}
|
||||
bind:spatk_final={spatk_final}
|
||||
bind:spdef_final={spdef_final}
|
||||
bind:spd_final={spd_final}
|
||||
{pokemonData}
|
||||
bind:hp_final
|
||||
bind:atk_final
|
||||
bind:def_final
|
||||
bind:spatk_final
|
||||
bind:spdef_final
|
||||
bind:spd_final
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user