タイプ一致計算追加
This commit is contained in:
@@ -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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 相性補正
|
// 相性補正
|
||||||
|
// 相性の計算の関数をとってくる
|
||||||
|
|
||||||
|
|
||||||
// やけど補正
|
// やけど補正
|
||||||
// 壁補正
|
// 壁補正
|
||||||
// ブレインフォース補正
|
// ブレインフォース補正
|
||||||
|
|||||||
Reference in New Issue
Block a user