Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_battle_enemy_attack_axis_turret_2_Step_0

(view raw script w/o annotations or w/e)
1
if (live_call())
2
    return global.live_result;
3
var battle_box = 3154;
4
if (destroy_self)
5
{
6
    image_alpha -= 0.2;
7
    if (image_alpha <= 0)
8
        instance_destroy();
9
}
10
else if (image_alpha < 1)
11
{
12
    image_alpha += 0.2;
13
}
14
switch (scene)
15
{
16
    case 0:
17
        image_speed = 1;
18
        audio_play_sound(snd_arc_shoot, 1, 0);
19
        var bullet = instance_create_depth(x + lengthdir_x(speed * 2, direction), y + lengthdir_y(speed * 2, direction), -100, obj_battle_enemy_attack_axis_turret_bullet);
20
        bullet.direction = image_angle;
21
        bullet.image_angle = bullet.direction;
22
        bullet.speed = 8;
23
        shot_number--;
24
        scene++;
25
        break;
26
    case 1:
27
        if (cutscene_wait(0.25))
28
            scene = 0;
29
        break;
30
}
31
var base_speed = 5;
32
var variation = choose(1, 2);
33
switch (side)
34
{
35
    case 1:
36
        if (!dir_noloop)
37
        {
38
            if (variation == 1)
39
                hspeed = base_speed;
40
            else
41
                vspeed = base_speed;
42
            dir_noloop = true;
43
        }
44
        if (x > target_x)
45
            destroy_self = true;
46
        break;
47
    case 2:
48
        if (!dir_noloop)
49
        {
50
            if (variation == 1)
51
                hspeed = -base_speed;
52
            else
53
                vspeed = base_speed;
54
            dir_noloop = true;
55
        }
56
        if (y > target_y)
57
            destroy_self = true;
58
        break;
59
    case 3:
60
        if (!dir_noloop)
61
        {
62
            if (variation == 1)
63
                hspeed = -base_speed;
64
            else
65
                vspeed = -base_speed;
66
            dir_noloop = true;
67
        }
68
        break;
69
    case 4:
70
        if (!dir_noloop)
71
        {
72
            if (variation == 1)
73
                hspeed = base_speed;
74
            else
75
                vspeed = -base_speed;
76
            dir_noloop = true;
77
        }
78
        if (y < target_y)
79
            destroy_self = true;
80
        break;
81
}
82
if ((hspeed > 0 && x > target_x) || (hspeed < 0 && x < target_x) || (vspeed > 0 && y > target_y) || (vspeed < 0 && y < target_y))
83
    destroy_self = true;
84
image_angle = point_direction(x, y, battle_box.x, battle_box.y);