Step_0.gml 822 B

123456789101112131415161718192021222324252627282930313233
  1. if !instance_exists(owner)
  2. instance_destroy();
  3. x = owner.x + x_offset;
  4. y = owner.y + y_offset;
  5. var _temp_list = ds_list_create();
  6. var _num = instance_place_list(x, y, oParentAttackable, _temp_list, false);
  7. for (var i = 0; i < _num; i++)
  8. {
  9. var _inst = _temp_list[| i];
  10. if ds_list_find_index(hit_list, _inst) == -1
  11. {
  12. if ds_list_empty(hit_list)
  13. with(owner)
  14. {
  15. global.hitstop = other.hit_feedback;
  16. if other.y_offset > 0 // 下劈
  17. player_perform_pogo();
  18. if other.x_offset != 0 // 反冲
  19. player_perform_recoil();
  20. }
  21. if object_is_ancestor(_inst.object_index, oParentEnemy)
  22. with(_inst)
  23. {
  24. enemy_get_hit(other.damage, other.kb_factor_x, other.kb_factor_y);
  25. }
  26. ds_list_add(hit_list, _inst);
  27. }
  28. }
  29. ds_list_destroy(_temp_list);