Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_raft_flowey_Step_0

(view raw script w/o annotations or w/e)
1
if live_call()
2
    return global.live_result;
3
switch scene
4
{
5
    case 0:
6
        if (keyboard_multicheck_pressed(0) && scr_interact
scr_interact

function scr_interact() //gml_Script_scr_interact { if (distance_to_object(obj_pl) < 20 && obj_pl.state == gml_Script_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; } }
())
7
        {
8
            scr_cutscene_start
scr_cutscene_start

function scr_cutscene_start() //gml_Script_scr_cutscene_start { global.cutscene = true obj_pl.state = gml_Script_scr_frozen_state obj_pl.image_index = 0 obj_pl.image_speed = 0 }
()
9
            scene++
10
        }
11
        break
12
    case 1:
13
        scr_text
scr_text

function scr_text() //gml_Script_scr_text { if (!instance_exists(obj_dialogue)) msg = instance_create(x, y, obj_dialogue) }
()
14
        with (msg)
15
        {
16
            message[0] = "* (Get on?)"
17
            ch_msg = 0
18
            ch[1] = "Yes"
19
            ch[2] = "No"
20
            if (outcome == 1)
21
            {
22
                other.actor_clover = instance_create(obj_pl.x, obj_pl.y, obj_player_npc)
23
                other.scene = 2
24
            }
25
            if (outcome == 2)
26
            {
27
                other.scene = 0
28
                scr_cutscene_end
scr_cutscene_end

function scr_cutscene_end() //gml_Script_scr_cutscene_end { global.cutscene = false obj_pl.alarm[0] = 1 }
()
29
            }
30
        }
31
        break
32
    case 2:
33
        cutscene_npc_walk(actor_clover, 1140, 300, 3, "x", "up")
34
        break
35
    case 3:
36
        cutscene_wait(0.25)
37
        break
38
    case 4:
39
        with (actor_clover)
40
        {
41
            audio_play_sound(snd_playerjump, 1, 0)
42
            action_sprite = true
43
            jump_noloop = false
44
            image_speed = 0
45
            sprite_index = spr_pl_run_up
46
            image_index = 5
47
            vspeed = -2
48
        }
49
        cutscene_advance()
50
        break
51
    case 5:
52
        with (actor_clover)
53
        {
54
            if (y < 265)
55
                jump_noloop = true
56
            if (jump_noloop == true)
57
            {
58
                vspeed += 0.5
59
                if (vspeed >= 1.5)
60
                {
61
                    action_sprite = false
62
                    npc_direction = "up"
63
                    vspeed = 0
64
                    other.scene++
65
                }
66
            }
67
        }
68
        break
69
    case 6:
70
        cutscene_wait(1.5)
71
        break
72
    case 7:
73
        with (obj_raft_flowey)
74
        {
75
            if (vspeed > -1)
76
                vspeed -= 0.025
77
            if (vspeed < 0.5)
78
            {
79
                if (sprite_index != spr_ava_vertical)
80
                    sprite_index = spr_ava_vertical
81
            }
82
            obj_player_npc.vspeed = vspeed
83
        }
84
        if (obj_player_npc.y < 120)
85
        {
86
            obj_raft_flowey.vspeed = 0
87
            obj_player_npc.vspeed = 0
88
            cutscene_camera_freeze()
89
        }
90
        break
91
    case 8:
92
        if cutscene_wait(1.5)
93
            scr_audio_fade_out
scr_audio_fade_out

function scr_audio_fade_out(argument0, argument1) //gml_Script_scr_audio_fade_out { var snd = argument0 var fade_len = argument1 if (!audio_is_playing(snd)) return false; audio_sound_gain(snd, 0, fade_len) if instance_exists(obj_audio_fade_helper) { with (obj_audio_fade_helper) { if (audio_to_fade == snd) return false; } } with (instance_create(0, 0, obj_audio_fade_helper)) audio_to_fade = snd }
(obj_radio.bgm, 1000)
94
        break
95
    case 9:
96
        depth = obj_player_npc.depth + 1
97
        layer_y("overlay", (layer_get_y("overlay") + 1))
98
        if (layer_get_y("overlay") >= 0)
99
            scene++
100
        break
101
    case 10:
102
        cutscene_wait(1.5)
103
        break
104
    case 11:
105
        if (vspeed < 0.5)
106
            vspeed += 0.025
107
        if (obj_player_npc.y >= (camera_get_view_y(view_camera[0]) + 210))
108
        {
109
            vspeed = 0
110
            cutscene_advance()
111
        }
112
        obj_player_npc.vspeed = vspeed
113
        break
114
    case 12:
115
        cutscene_wait(1.5)
116
        break
117
    case 13:
118
        image_alpha = 0
119
        script_execute(gml_Script_scr_enemy_defragment)
120
        if (!audio_is_playing(snd_monster_damage_death))
121
            audio_play_sound(snd_monster_damage_death, 20, 0)
122
        scene++
123
        break
124
    case 14:
125
        cutscene_wait(1.5)
126
        var x_target = camera_get_view_x(view_camera[0]) + 160
127
        var y_target = camera_get_view_y(view_camera[0]) + 210
128
        obj_player_npc.x = lerp(obj_player_npc.x, x_target, 0.05)
129
        obj_player_npc.y = lerp(obj_player_npc.y, y_target, 0.05)
130
        break
131
    case 15:
132
        if (yellow_overlay_alpha < 1)
133
            yellow_overlay_alpha += 0.05
134
        else
135
            cutscene_advance()
136
        break
137
    case 16:
138
        cutscene_wait(0.5)
139
        break
140
    case 17:
141
        instance_destroy(obj_flowey_battle_ow_controller)
142
        room = rm_battle_flowey_phase_2
143
        texture_flush("BattleHotlandFloweyPhase1")
144
        break
145
}