アイテム補正
This commit is contained in:
@@ -20,6 +20,7 @@
|
||||
let total_min_damage = 0;
|
||||
let total_max_damage_percentage = 0;
|
||||
let total_min_damage_percentage = 0;
|
||||
let item_magnification = 1.0;
|
||||
function calculate_damage() {
|
||||
let attacker;
|
||||
let defender;
|
||||
@@ -190,6 +191,8 @@
|
||||
data.minDamage = Math.trunc(data.minDamage * magnification_terastype);
|
||||
data.maxDamage = Math.trunc(data.maxDamage * magnification);
|
||||
data.minDamage = Math.trunc(data.minDamage * magnification);
|
||||
data.maxDamage = Math.trunc(data.maxDamage * item_magnification);
|
||||
data.minDamage = Math.trunc(data.minDamage * item_magnification);
|
||||
|
||||
return data;
|
||||
}
|
||||
@@ -250,6 +253,12 @@
|
||||
bind:group={attack_direction}
|
||||
/> P2 ->> P1
|
||||
</td>
|
||||
<td>
|
||||
<input
|
||||
type="text"
|
||||
bind:value={item_magnification}
|
||||
/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
|
||||
@@ -13,6 +13,18 @@
|
||||
}
|
||||
return v;
|
||||
}
|
||||
function level_validator(v) {
|
||||
if (typeof v !== "number") {
|
||||
return null;
|
||||
}
|
||||
if (v > 100) {
|
||||
return 100;
|
||||
}
|
||||
if (v < 1) {
|
||||
return 1;
|
||||
}
|
||||
return v;
|
||||
}
|
||||
const available_type = [
|
||||
{ id: 1 },
|
||||
{ id: 2 },
|
||||
@@ -47,6 +59,7 @@
|
||||
}
|
||||
$: {
|
||||
// validator
|
||||
level = level_validator(level);
|
||||
hp_v = v_validator(hp_v);
|
||||
atk_v = v_validator(atk_v);
|
||||
def_v = v_validator(def_v);
|
||||
@@ -261,7 +274,7 @@
|
||||
export let spdef_final = 0;
|
||||
export let spd_final = 0;
|
||||
export let terastype = [0];
|
||||
|
||||
let level = 50;
|
||||
let selected_terastype = 0;
|
||||
let atk_plus = false;
|
||||
let def_plus = false;
|
||||
@@ -275,10 +288,12 @@
|
||||
let spdef_minus = false;
|
||||
let spd_minus = false;
|
||||
function calculate_hp(stat, v, d) {
|
||||
return Math.floor(((stat*2+v+(d/4))*0.5)+50+10)
|
||||
// floor({(種族値+個体値)×2+min(63,floor(floor(1+√努力値)÷4))}×レベル÷100)+レベル+10
|
||||
return Math.floor(((stat*2+v+(d/4))*(level/100))+level+10)
|
||||
}
|
||||
function other_stats(stat, v, d, p) {
|
||||
return Math.floor((((stat*2+v+(d/4))*0.5)+5)*p)
|
||||
// floor({(種族値+個体値)×2+min(63,floor(floor(1+√努力値)÷4))}×レベル÷100)+5
|
||||
return Math.floor((((stat*2+v+(d/4))*(level/100))+5)*p)
|
||||
}
|
||||
let abilities = [];
|
||||
let abilities_description = [];
|
||||
@@ -397,6 +412,11 @@
|
||||
<td class="atai-column"><b>{pokemonData.hp + pokemonData.attack + pokemonData.defense + pokemonData.special_attack + pokemonData.special_defense + pokemonData.speed}</b></td>
|
||||
<td class="atai-column"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="value-column"><b>Level</b></td>
|
||||
<td class="atai-column"><input class="vd-input" type=number bind:value={level} min=1 max=100></td>
|
||||
<td class="atai-column"></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
{:else}
|
||||
|
||||
Reference in New Issue
Block a user