if !instance_exists(owner) { instance_destroy(); exit; } x = owner.x + x_offset; y = owner.y + y_offset; var _temp_list = ds_list_create(); var _num = instance_place_list(x, y, oParentAttackable, _temp_list, false); for (var i = 0; i < _num; i++) { var _inst = _temp_list[| i]; if ds_list_find_index(hit_list, _inst) == -1 { if ds_list_empty(hit_list) with(owner) { if other.kb_dir_y == 1 player_perform_pogo(); else player_perform_recoil(); } if object_is_ancestor(_inst.object_index, oParentEnemy) with(_inst) { enemy_get_hit(other.damage, other.kb_dir_x, other.kb_dir_y); } ds_list_add(hit_list, _inst); } } ds_list_destroy(_temp_list);