Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_test_follower_Step_2

(view raw script w/o annotations or w/e)
1
if (obj_pl.yprevious != obj_pl.y || obj_pl.xprevious != obj_pl.x)
2
{
3
    npc_move_current += 1;
4
    x_new[npc_move_current] = obj_pl.x;
5
    y_new[npc_move_current] = obj_pl.y;
6
    dir_new[npc_move_current] = obj_pl.direction;
7
}
8
if (npc_move_current >= npc_move_delay_max)
9
{
10
    npc_move_current -= 1;
11
    x = x_new[1];
12
    y = y_new[1];
13
    switch (dir_new[1])
14
    {
15
        case 0:
16
            sprite_index = right_sprite;
17
            break;
18
        case 90:
19
            sprite_index = up_sprite;
20
            break;
21
        case 180:
22
            sprite_index = left_sprite;
23
            break;
24
        case 270:
25
            sprite_index = down_sprite;
26
            break;
27
    }
28
    can_animate = true;
29
    image_speed = 0.2;
30
    for (var i = 0; i < npc_move_delay_max; i++)
31
    {
32
        x_new[i] = x_new[i + 1];
33
        y_new[i] = y_new[i + 1];
34
        dir_new[i] = dir_new[i + 1];
35
    }
36
}
37
if (can_animate == true && npc_move_current < npc_move_delay_max)
38
{
39
    if (on_animation_end())
40
    {
41
        image_index = 0;
42
        image_speed = 0;
43
        can_animate = false;
44
    }
45
}