//バトル時の判定と処理 //int型damage に攻撃によるダメージ量を入力し、被攻撃側のHPを減らす。 /****************************************** 引数a切り替え case 0:プレイヤー通常攻撃 case 1:プレイヤー魔法攻撃 case 2:プレイヤーHP回復魔法 case 3:プレイヤーMP回復魔法 case 4:プレイヤー攻撃a強化魔法 case 5:プレイヤー防御b強化魔法 case 6:能力ダウン魔法 case 10:エネミー通常攻撃 case 11:エネミー魔法攻撃 case 12:エネミーHP回復魔法 case 13:エネミーステータス強化魔法 case 14:能力初期化魔法 ******************************************/ void judg(int a) { switch(a) { //主人公の攻撃 case 0: //通常攻撃 critical = int(random(100)); damage = int((player_battle_a - enemy.b) * random(0.75, 1)); log_off(); log_color[0] = #0000FF; log[0] = "フジの攻撃!"; if (critical<=5) { log_off(); log_color[0] = #FFD700; log[0] = "クリティカルヒット!"; damage = damage * 2; } if (damage <= 0) damage = 1; enemy.hp -= damage; log_off(); log[0] = enemy.name + "に" + damage + "ダメージを与えた"; break; case 1: //魔法攻撃 damage = int(magic[comm2.position].a * random(0.75, 1)); if (damage <= 0) damage = 1; enemy.hp -= damage; player.mp -= magic[comm2.position].mp; log_off(); log_color[0] = #0000FF; log[0] = "フジの" + magic[comm2.position].name + "!"; log_off(); log[0] = enemy.name + "に" + damage + "ダメージを与えた"; break; case 2: //HP回復魔法 player.hp += magic[comm2.position].a; if (player.hp > player.max_Hp) player.hp = player.max_Hp; player.mp -= magic[comm2.position].mp; log_off(); log_color[0] = #0000FF; log[0] = "フジは" + magic[comm2.position].name + "を使った!"; log_off(); log[0] = "HPが" + magic[comm2.position].a + "回復した"; break; case 3: //MP回復魔法 player.mp += magic[comm2.position].a; if (player.mp > player.max_Mp) player.mp = player.max_Mp; player.mp -= magic[comm2.position].mp; log_off(); log_color[0] = #0000FF; log[0] = "フジは" + magic[comm2.position].name + "を使った!"; log_off(); log[0] = "MPが" + magic[comm2.position].a + "回復した"; break; case 4: //自分の攻撃a上昇 player_a_rank++; log_off(); log_color[0] = #0000FF; log[0] = "フジは" + magic[comm2.position].name + "を使った!"; log_off(); log[0] = "攻撃力が上昇した!"; break; case 5: //自分の防御b上昇 player_b_rank ++; log_off(); log_color[0] = #0000FF; log[0] = "フジは" + magic[comm2.position].name + "を使った!"; log_off(); log[0] = "防御力が上昇した!"; break; case 6: //敵の能力値ダウン enemy_a_rank --; enemy_b_rank --; log_off(); log_color[0] = #0000FF; log[0] = "フジは" + magic[comm2.position].name + "を使った!"; log_off(); log[0] = "敵の攻撃と防御が下がった!"; break; case 10: //敵の通常攻撃 //ダメージ計算 damage = int((enemy.a - player_battle_b) * random(0.75, 1)); if (damage <= 0) damage = 1; //テキスト表示 log_off(); log_color[0] = #FF0000; log[0] = enemy.name + "の" + enemy.attack_name; log_off(); log[0] = "フジは" + damage + "ダメージを受けた!"; //プレイヤーにダメージを与える player.hp -= damage; break; case 11: //敵の魔法 //ダメージ計算 damage = int((enemy.magic) * random(0.75, 1)); if (damage <= 0) damage = 1; //テキスト表示 log_off(); log_color[0] = #FF0000; log[0] = enemy.name + "の" + enemy.attack_name; log_off(); log[0] = "フジは" + damage + "ダメージを受けた!"; //プレイヤーにダメージを与える player.hp -= damage; break; case 12: //敵のHP回復 log_off(); log_color[0] = #FF0000; log[0] = enemy.name + "は" + enemy.attack_name + "を使った!"; log_off(); log[0] = "HPが" + enemy.recovery + "回復した"; enemy.hp += enemy.recovery; if (enemy.hp > enemy.max_Hp) enemy.hp = enemy.max_Hp; break; case 13: //敵の攻撃強化 log_off(); log_color[0] = #FF0000; log[0] = enemy.name + "は" + enemy.attack_name + "を使った!"; log_off(); log[0] = enemy.name + "の攻撃力が上がった"; enemy_a_rank ++; break; case 14: //敵の能力超強化 log_off(); log_color[0] = #FF0000; log[0] = enemy.name + "は" + enemy.attack_name + "を使った!"; log_off(); log[0] = enemy.name + "の攻撃と防御が上がった!"; enemy_a_rank += 2; enemy_b_rank += 2; break; } }