Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_factory_03_minigame_Step_0

(view raw script w/o annotations or w/e)
1
if (live_call())
2
    return global.live_result;
3
var axis_move = false;
4
var axis_speed = 2;
5
with (obj_factory_03_furnace)
6
{
7
    if (scr_interact
scr_interact

function scr_interact() { if (distance_to_object(obj_pl) < 20 && obj_pl.state == scr_normal_state) { var pl_dir = obj_pl.direction; var pl_x = 0; var pl_y = 0; var check_distance_x = 0; var check_distance_y = 0; switch (pl_dir) { case 0: pl_x = obj_pl.bbox_right; pl_y = obj_pl.bbox_top + 1; check_distance_x = 20; break; case 180: pl_x = obj_pl.bbox_left; pl_y = obj_pl.bbox_top + 1; check_distance_x = -20; break; case 90: pl_x = obj_pl.x; pl_y = obj_pl.bbox_top; check_distance_y = -20; break; case 270: pl_x = obj_pl.x; pl_y = obj_pl.bbox_bottom; check_distance_y = 20; break; } if (collision_line_first(pl_x, pl_y, pl_x + check_distance_x, pl_y + check_distance_y, id, false, false)) return true; } }
() && keyboard_multicheck_pressed(0) && state == 0)
8
        state = 1;
9
}
10
if (axis_move_timer >= 0)
11
{
12
    axis_move_timer--;
13
}
14
else
15
{
16
    axis_move = true;
17
    axis_move_timer = axis_move_timer_max;
18
}
19
if (axis_move == true)
20
{
21
    switch (axis_position_current)
22
    {
23
        case 0:
24
            axis_position_new = choose(1, 3);
25
            break;
26
        case 1:
27
            axis_position_new = choose(0, 2, 4);
28
            break;
29
        case 2:
30
            axis_position_new = choose(1, 5);
31
            break;
32
        case 3:
33
            axis_position_new = choose(4, 0, 6);
34
            break;
35
        case 4:
36
            axis_position_new = choose(1, 3, 5, 7);
37
            break;
38
        case 5:
39
            axis_position_new = choose(2, 4, 8);
40
            break;
41
        case 6:
42
            axis_position_new = choose(7, 3);
43
            break;
44
        case 7:
45
            axis_position_new = choose(4, 6, 8);
46
            break;
47
        case 8:
48
            axis_position_new = choose(7, 5);
49
            break;
50
    }
51
    axis_position_current = axis_position_new;
52
    with (obj_axis_npc)
53
    {
54
        actor_speed = axis_speed;
55
        can_walk = true;
56
        npc_arrived = false;
57
        x_dest[0] = other.axis_positions[other.axis_position_new][0];
58
        y_dest[0] = other.axis_positions[other.axis_position_new][1];
59
        end_direction = "nothing";
60
    }
61
}