DummyAI.gml 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. function enemy_dummy_ai()
  2. {
  3. x_spd = 0;
  4. y_spd = 0;
  5. switch(state)
  6. {
  7. case "IDLE":
  8. if hitstun_timer == hitstun_max
  9. {
  10. if facing_y == -1
  11. {
  12. state = "COUNTER_UP";
  13. set_sprite(sEnemyDummyCounter);
  14. var _indi = icl(oEnemyDummyIndicator, x, y - 96);
  15. _indi.image_angle = 90;
  16. }
  17. else
  18. {
  19. state = "COUNTER_VER";
  20. set_sprite(sEnemyDummyCounter);
  21. var _indi = icl(oEnemyDummyIndicator, x, y);
  22. _indi.image_xscale = facing_x;
  23. }
  24. }
  25. facing_x = sign(global.player.x - x);
  26. facing_y = sign(global.player.y + sprite_height - y);
  27. break;
  28. case "COUNTER_UP":
  29. if animation_end()
  30. {
  31. var _hb = enemy_create_hitboxBC(144, 384, 0, -96, 10);
  32. state = "ATTACK";
  33. set_sprite(sEnemyDummyAttack);
  34. }
  35. break;
  36. case "COUNTER_VER":
  37. if animation_end()
  38. {
  39. var _hb = enemy_create_hitboxML(384, 144, 0, 0, 10);
  40. state = "ATTACK";
  41. set_sprite(sEnemyDummyAttack);
  42. }
  43. break;
  44. case "ATTACK":
  45. if animation_end()
  46. {
  47. state = "IDLE";
  48. set_sprite(sEnemyDummyIdle);
  49. }
  50. break;
  51. }
  52. }