Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_credits_final_neutral_Step_0

(view raw script w/o annotations or w/e)
1
if (live_call())
2
    return global.live_result;
3
if (delay_timer > 1)
4
{
5
    delay_timer--;
6
    exit;
7
}
8
else if (delay_timer == 1)
9
{
10
    credits_song = audio_play_sound(mus_flowey_world, 20, 0);
11
    delay_timer = 0;
12
}
13
if (fade_out == true)
14
{
15
    text_alpha = lerp(text_alpha, 0, 0.02);
16
    if (text_alpha < 0.01)
17
    {
18
        text_alpha = 0;
19
        if (!alarm[1])
20
            alarm[1] = 120;
gml_Object_obj_credits_final_neutral_Alarm_1.gml

if (global.hotland_flag[10] == 0) { game_end(); instance_destroy(); } else { instance_create(x, y, obj_kill_ceroba_ending_flowey_cutscene); instance_destroy(); }
21
    }
22
}
23
if (y_max != -1 && y_slow_down != true)
24
    y_speed = 1;
25
if (y_slow_down == true)
26
{
27
    if (y_speed > 0)
28
    {
29
        y_speed -= (1 / slow_down_treshold);
30
    }
31
    else
32
    {
33
        y_speed = 0;
34
        if (!alarm[0])
35
            alarm[0] = 240;
36
        if (!alarm[2])
37
            alarm[2] = 90;
gml_Object_obj_credits_final_neutral_Alarm_2.gml

if (!flowey_noloop) { flowey_noloop = true; if (global.hotland_flag[10] == 0) audio_play_sound(mus_f_newlaugh, 1, 0); }
38
    }
39
}
40
y_offset -= y_speed;
41
switch (scene)
42
{
43
    case 0:
44
        global.cutscene = true;
45
        cutscene_wait(start_delay);
46
        break;
47
    case 1:
48
        if (global.hotland_flag[10] == 0)
49
            room = target_room[0];
50
        scene++;
51
        break;
52
    case 2:
53
        var cutscene_wait_time = room_duration / 30;
54
        cutscene_wait(cutscene_wait_time);
55
        camera_set_view_pos(view_camera[0], camera_get_view_x(view_camera[0]) + lengthdir_x(pan_speed, pan_dir[camera_target_current]), camera_get_view_y(view_camera[0]) + lengthdir_y(pan_speed, pan_dir[camera_target_current]));
56
        var fade_out_start_point = room_duration - 60;
57
        if (cutscene_timer < fade_out_start_point)
58
        {
59
            if (draw_alpha > 0.7)
60
                draw_alpha -= 0.003;
61
        }
62
        else
63
        {
64
            var timer_relative = cutscene_timer - fade_out_start_point;
65
            draw_alpha = 0.7 + (0.3 * (timer_relative / 60));
66
        }
67
        break;
68
    case 3:
69
        if (cutscene_wait(wait_timer))
70
        {
71
            if (camera_target_current < (array_length(target_room) - 1))
72
            {
73
                camera_target_current += 1;
74
                if (global.hotland_flag[10] == 0)
75
                    room = target_room[camera_target_current];
76
                scene = 2;
77
            }
78
            else
79
            {
80
                draw_alpha = 1;
81
                scene++;
82
            }
83
        }
84
        break;
85
}