タイプ一致計算追加

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_direction = "p1p2";
let attack_type = "attack";
let attack_power = 0;
let total_max_damage = 0; let total_max_damage = 0;
let total_min_damage = 0; let total_min_damage = 0;
function calculate_damage() { function calculate_damage() {
@@ -52,12 +50,18 @@
// 最大ダメージと最小ダメージ // 最大ダメージと最小ダメージ
maxDamage: 0, 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); let d = damage(data);
total_max_damage = d.maxDamage; total_max_damage = d.maxDamage;
@@ -82,7 +86,22 @@
// 乱数補正 // 乱数補正
data.minDamage = getMinDamage(data) 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)
}
}
}
// 相性補正 // 相性補正
// 相性の計算の関数をとってくる
// やけど補正 // やけど補正
// 壁補正 // 壁補正
// ブレインフォース補正 // ブレインフォース補正