Nenhuma descrição

swap_moves.c 2.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #include <battle_common.h>
  2. #include <constants/moves.h>
  3. #include <battle_structs.h>
  4. #include <battle_locations.h>
  5. extern char str_power_swap[];
  6. extern char str_guard_swap[];
  7. extern char str_heart_swap[];
  8. u8 set_swap_moves() {
  9. struct battle_participant* attacker = &battle_participants[battle_attacker_bank];
  10. struct battle_participant* defender = &battle_participants[battle_defender_bank];
  11. u8 swap;
  12. switch (battle_executed_move) {
  13. case MOVE_POWER_SWAP:
  14. swap = attacker->atk_buff;
  15. attacker->atk_buff = defender->atk_buff;
  16. defender->atk_buff = swap;
  17. swap = attacker->sp_atk_buff;
  18. attacker->sp_atk_buff = defender->sp_atk_buff;
  19. defender->sp_atk_buff = swap;
  20. battle_string_chooser = str_power_swap;
  21. break;
  22. case MOVE_GUARD_SWAP:
  23. swap = attacker->def_buff;
  24. attacker->def_buff = defender->def_buff;
  25. defender->def_buff = swap;
  26. swap = attacker->sp_def_buff;
  27. attacker->sp_def_buff = defender->sp_def_buff;
  28. defender->sp_def_buff = swap;
  29. battle_string_chooser = str_guard_swap;
  30. break;
  31. case MOVE_HEART_SWAP:
  32. swap = attacker->hp_buff;
  33. attacker->hp_buff = defender->hp_buff;
  34. defender->hp_buff = swap;
  35. swap = attacker->spd_buff;
  36. attacker->spd_buff = defender->spd_buff;
  37. defender->spd_buff = swap;
  38. swap = attacker->evasion_buff;
  39. attacker->evasion_buff = defender->evasion_buff;
  40. defender->evasion_buff = swap;
  41. swap = attacker->atk_buff;
  42. attacker->atk_buff = defender->atk_buff;
  43. defender->atk_buff = swap;
  44. swap = attacker->sp_atk_buff;
  45. attacker->sp_atk_buff = defender->sp_atk_buff;
  46. defender->sp_atk_buff = swap;
  47. swap = attacker->atk_buff;
  48. attacker->atk_buff = defender->atk_buff;
  49. defender->atk_buff = swap;
  50. swap = attacker->sp_atk_buff;
  51. attacker->sp_atk_buff = defender->sp_atk_buff;
  52. defender->sp_atk_buff = swap;
  53. battle_string_chooser = str_heart_swap;
  54. swap = attacker->acc_buff;
  55. attacker->acc_buff = defender->acc_buff;
  56. defender->acc_buff = swap;
  57. break;
  58. }
  59. return false;
  60. }