Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_castle_beam_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
        cutscene_wait(0.1);
7
        break;
8
    case 1:
9
        sprite_index = spr_clover_geno_laser_loop;
10
        image_xscale = 0.5;
11
        image_yscale = 0.5;
12
        cutscene_advance();
13
        break;
14
    case 2:
15
        image_xscale = lerp(image_xscale, 1.3, 0.5);
16
        image_yscale = lerp(image_yscale, 1.3, 0.5);
17
        if (image_xscale > 1.2)
18
            cutscene_advance();
19
        break;
20
    case 3:
21
        image_xscale = lerp(image_xscale, 1, 0.3);
22
        image_yscale = lerp(image_yscale, 1, 0.3);
23
        if (image_xscale < 1.05)
24
        {
25
            image_xscale = 1;
26
            image_yscale = 1;
27
            cutscene_advance();
28
        }
29
        break;
30
    case 4:
31
        cutscene_wait(2);
32
        break;
33
    case 5:
34
        draw_alpha += 0.05;
35
        if (draw_alpha >= 1)
36
        {
37
            obj_castle_throne_room_controller.darken_target = 0;
38
            cutscene_advance();
39
        }
40
        break;
41
    case 6:
42
        cutscene_wait(1);
43
        break;
44
    case 7:
45
        obj_asgore_npc.sprite_index = spr_asgore_death;
46
        obj_asgore_npc.image_speed = 1;
47
        var death_sound = audio_play_sound(snd_monster_damage_death, 1, 0);
48
        audio_sound_pitch(death_sound, 0.65);
49
        cutscene_advance();
50
        break;
51
    case 8:
52
        if (obj_asgore_npc.image_index >= (obj_asgore_npc.image_number - 1))
53
        {
54
            instance_create_depth(obj_asgore_npc.x, obj_asgore_npc.y, obj_asgore_npc.depth, obj_asgore_soul);
55
            instance_destroy(obj_asgore_npc);
56
            layer_set_visible("bg_destroyed", true);
57
            cutscene_advance();
58
        }
59
        break;
60
    case 9:
61
        cutscene_wait(0.5);
62
        break;
63
    case 10:
64
        sprite_index = spr_clover_geno_laser_finish;
65
        image_index = 0;
66
        image_speed = 1;
67
        cutscene_advance();
68
        break;
69
    case 11:
70
        if (image_index >= (image_number - 1))
71
        {
72
            image_alpha = 0;
73
            image_speed = 0;
74
            cutscene_advance();
75
        }
76
        break;
77
    case 12:
78
        draw_alpha -= 0.025;
79
        if (draw_alpha <= 0)
80
            cutscene_advance();
81
        break;
82
    case 13:
83
        instance_destroy();
84
        break;
85
}
86
if (instance_exists(obj_asgore_npc) && scene < 6)
87
{
88
    obj_asgore_npc.x = obj_asgore_npc.xstart + random_range(-2, 2);
89
    obj_asgore_npc.y = obj_asgore_npc.ystart + random_range(-2, 2);
90
}