「JavaScriptで、サイコロを振って敵味方の攻撃順序を決める(詳細版)」の編集履歴(バックアップ)一覧はこちら
追加された行は緑色になります。
削除された行は赤色になります。
この関数群は魔法などの影響を受けなかったので、1対1の殴りあいと変わらない。
// ユーザーが「戦闘開始」をクリックしたときに、敵味方の攻撃順が指定してあるか調べる
function click_combat_start() {
add_msg("戦闘開始をクリックした。");
if (enemy_party.exist === true) {
combat.onCombat = true;
combat.turn_num = 0;
if (Pip.quick !== enemy_party.quick) {
combat.compare_quick();
} else {
combat.roll_Pip_quick();
}
} else {
add_msg("敵がいないので何も起こらない。");
}
}
// ピップの素早さを決めるサイコロを振る
combat.roll_Pip_quick = function (){
add_msg("ピップの素早さのサイコロを1個振れ。");
dice.start(1, "combat.get_Pip_quick()");
}
// サイコロの目をピップの素早さに代入する
combat.get_Pip_quick = function () {
Pip.quick = dice.die1pip;
add_msg("ピップの素早さは" + Pip.quick);
combat.do_next = "roll_enemy_quick";
combat.roll_enemy_quick();
}
// 敵の素早さを決めるサイコロを振る
combat.roll_enemy_quick = function (){
add_msg(enemy_party.name + "の素早さのサイコロを1個振れ。");
window.setTimeout('dice.start(1, "combat.get_enemy_quick()");', combat.wait_time);
}
// サイコロの目を敵の素早さに代入する
combat.get_enemy_quick = function () {
enemy_party.quick = dice.die1pip;
add_msg(enemy_party.name + "の素早さは" + enemy_party.quick);
window.setTimeout(combat.compare_quick, combat.wait_time);
}
// ピップと敵のどちらが先攻するか決める
combat.compare_quick = function () {
if (Pip.quick === enemy_party.quick) {
Pip.quick = 0;
enemy_party.quick = 0;
combat.do_next = "roll_Pip_quick";
add_msg("ピップと" + enemy_party.name + "は同じ目を出した。サイコロを振り直しだ。");
dice.start(1, "combat.get_Pip_quick()");
} else if (Pip.quick > enemy_party.quick) {
Pip.first_strike = true;
enemy_party.first_strike = false;
add_msg("ピップが先手を取った。");
combat.turn_num = 0;
combat.Pip_select();
} else {
Pip.first_strike = false;
enemy_party.first_strike = true;
add_msg(enemy_party.name + "が先手を取った。");
combat.turn_num = 0;
combat.enemy_select(0);
}
}