Undertale Yellow script viewer

← back to main script listing

gml_GlobalScript_scr_enemy_attack_bullet_hit

(view raw script w/o annotations or w/e)
1
function scr_enemy_attack_bullet_hit
scr_enemy_attack_bullet_hit

function scr_enemy_attack_bullet_hit() { if (live_call()) return global.live_result; if (variable_instance_exists(id, "bullet_hit_draw_timer")) { if (bullet_hit_draw_timer > 0) bullet_hit_draw_timer -= 1; } var collider_id = instance_place(x, y, obj_heart_yellow_shot); if (collider_id != -4) { var collider_object_index = collider_id.object_index; instance_create_depth(collider_id.x, collider_id.bbox_top, -999, obj_heart_yellow_shot_destroy); if (collider_object_index == 690) { if (object_index == obj_ceroba_phase_2_bell) instance_destroy(collider_id); if (variable_instance_exists(id, "collider_id_last") && collider_id_last == collider_id) exit; if (collider_object_index == 690) collider_id_last = collider_id; } else if (collider_object_index == 2561) { if (variable_instance_exists(id, "collider_id_last") && collider_id_last == collider_id) exit; collider_id_last = collider_id; } else if (!variable_instance_exists(id, "collider_id_last") || collider_id != collider_id_last) { collider_id.alarm[0] = 1; collider_id.image_alpha = 0; collider_id_last = collider_id; } audio_play_sound(snd_arc_hit, 0.1, 0); if (variable_instance_exists(id, "bullet_hit_points")) { bullet_hit_draw_timer = 5; if (collider_object_index == 690) bullet_hit_points -= 3; else bullet_hit_points -= 1; if (bullet_hit_points <= 0) bullet_destroy_self = true; } return true; } }
()
2
{
3
    if (live_call())
4
        return global.live_result;
5
    if (variable_instance_exists(id, "bullet_hit_draw_timer"))
6
    {
7
        if (bullet_hit_draw_timer > 0)
8
            bullet_hit_draw_timer -= 1;
9
    }
10
    var collider_id = instance_place(x, y, obj_heart_yellow_shot);
11
    if (collider_id != -4)
12
    {
13
        var collider_object_index = collider_id.object_index;
14
        instance_create_depth(collider_id.x, collider_id.bbox_top, -999, obj_heart_yellow_shot_destroy);
15
        if (collider_object_index == 690)
16
        {
17
            if (object_index == obj_ceroba_phase_2_bell)
18
                instance_destroy(collider_id);
19
            if (variable_instance_exists(id, "collider_id_last") && collider_id_last == collider_id)
20
                exit;
21
            if (collider_object_index == 690)
22
                collider_id_last = collider_id;
23
        }
24
        else if (collider_object_index == 2561)
25
        {
26
            if (variable_instance_exists(id, "collider_id_last") && collider_id_last == collider_id)
27
                exit;
28
            collider_id_last = collider_id;
29
        }
30
        else if (!variable_instance_exists(id, "collider_id_last") || collider_id != collider_id_last)
31
        {
32
            collider_id.alarm[0] = 1;
33
            collider_id.image_alpha = 0;
34
            collider_id_last = collider_id;
35
        }
36
        audio_play_sound(snd_arc_hit, 0.1, 0);
37
        if (variable_instance_exists(id, "bullet_hit_points"))
38
        {
39
            bullet_hit_draw_timer = 5;
40
            if (collider_object_index == 690)
41
                bullet_hit_points -= 3;
42
            else
43
                bullet_hit_points -= 1;
44
            if (bullet_hit_points <= 0)
45
                bullet_destroy_self = true;
46
        }
47
        return true;
48
    }
49
}