タイプ一致計算追加

This commit is contained in:
2023-01-21 20:57:26 +09:00
parent ad7fc65154
commit 6c5b4a1452

View File

@@ -16,8 +16,6 @@
}
}
let attack_direction = "p1p2";
let attack_type = "attack";
let attack_power = 0;
let total_max_damage = 0;
let total_min_damage = 0;
function calculate_damage() {
@@ -52,12 +50,18 @@
// 最大ダメージと最小ダメージ
maxDamage: 0,
minDamage: 0
// この辺はあとまわしで
minDamage: 0,
// 攻撃側タイプ
// TODO: try catchでエラーハンドリング
atk_type: JSON.parse(attacker.types),// 配列なのでjson parse
// 防御側タイプ
def_type: JSON.parse(defender.types),
// 技タイプ
move_type: JSON.parse(attackData.types),
// 範囲の計算で使用する
}
// 計算
let d = damage(data);
total_max_damage = d.maxDamage;
@@ -82,7 +86,22 @@
// 乱数補正
data.minDamage = getMinDamage(data)
// タイプ一致補正
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)
}
}
}
// 相性補正
// 相性の計算の関数をとってくる
// やけど補正
// 壁補正
// ブレインフォース補正