Sin descripción

feint.c 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #include <battle_structs.h>
  2. #include <battle_locations.h>
  3. #include <battle_custom_structs.h>
  4. #include <battle_common.h>
  5. extern void* bs_feint_no_break_ptr;
  6. u8 break_shields() {
  7. u8 effect = false;
  8. struct bank_affecting* defender_bank = &custom_battle_elements.ptr->bank_affecting[battle_defender_bank];
  9. struct side_affecting* defender_side = &custom_battle_elements.ptr->side_affecting[get_side_from_bank(battle_defender_bank)];
  10. if (battle_protect[battle_defender_bank].flag0_protect) {
  11. effect = true;
  12. battle_protect[battle_defender_bank].flag0_protect = false;
  13. }
  14. if (defender_bank->kings_shield) {
  15. effect = true;
  16. defender_bank->kings_shield = false;
  17. }
  18. if (defender_bank->spiky_shield) {
  19. effect = true;
  20. defender_bank->spiky_shield = false;
  21. }
  22. if (defender_side->mat_block) {
  23. effect = true;
  24. defender_side->mat_block = false;
  25. }
  26. if (defender_side->quick_guard) {
  27. effect = true;
  28. defender_side->quick_guard = false;
  29. }
  30. if (defender_side->wide_guard) {
  31. effect = true;
  32. defender_side->wide_guard = false;
  33. }
  34. if (defender_side->crafty_shield) {
  35. effect = true;
  36. defender_side->crafty_shield = false;
  37. }
  38. if(effect)
  39. return false;
  40. battlescript_cursor = bs_feint_no_break_ptr;
  41. return true;
  42. }