Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_battle_enemy_attack_jandroid_garbage_can_Step_0

(view raw script w/o annotations or w/e)
1
if (live_call())
2
    return global.live_result;
3
if (image_alpha < 0.99)
4
    image_alpha = lerp(image_alpha, 1, 0.2);
5
switch (scene)
6
{
7
    case 0:
8
        if (x < 319)
9
        {
10
            x = lerp(x, 320, 0.3);
11
        }
12
        else
13
        {
14
            x = 320;
15
            cutscene_advance();
16
        }
17
        break;
18
    case 1:
19
        var charge_pos = ystart - 30;
20
        if (y > (charge_pos + 0.01))
21
            y = lerp(y, charge_pos, 0.5);
22
        else
23
            cutscene_advance();
24
        var charge_percentage = (ystart - y) / (charge_pos - ystart);
25
        image_angle = -180 * charge_percentage;
26
        break;
27
    case 2:
28
        x = 320;
29
        x += irandom_range(-2, 2);
30
        if (spawn_timer > 0)
31
        {
32
            spawn_timer -= 1;
33
        }
34
        else
35
        {
36
            var new_trash = instance_create_depth((x - (spawn_offset_x_max * 0.5)) + (spawn_number_current * spawn_offset_x_inc), y + 15, depth + 1, obj_battle_enemy_attack_jandroid_garbage);
37
            if (irandom(pseudo_random) == 0 && green_spawn_noloop == false)
38
            {
39
                var new_soap = instance_create_depth(new_trash.x, new_trash.y, obj_heart_battle_fighting_parent.depth - 1, obj_battle_enemy_attack_jandroid_soap_collider);
40
                new_soap.white_id = new_trash;
41
                new_trash.sprite_index = -4;
42
                green_spawn_noloop = true;
43
            }
44
            if ((spawn_number_current + spawn_number_current_dir) > spawn_number || (spawn_number_current + spawn_number_current_dir) < 0)
45
                spawn_number_current_dir *= -1;
46
            spawn_number_current += spawn_number_current_dir;
47
            spawn_timer = spawn_timer_max;
48
            if (disc_count > 0)
49
            {
50
                disc_count--;
51
                if (disc_count == 0)
52
                {
53
                    var disc = instance_create_depth(x, y, depth + 1, obj_battle_enemy_attack_goosic_disk);
54
                    disc.alarm[0] = 999999999;
55
                    disc.alarm[1] = 999999999;
56
                    disc.image_alpha = 1;
57
                    disc.scene = -1;
58
                    disc.vsp = 10;
59
                    disc.disc_yoffset = 60;
60
                    disc_count = -1;
61
                }
62
            }
63
        }
64
        break;
65
    case 4:
66
        x = 320 + irandom_range(-1, 1);
67
        var charge_pos = ystart + 5;
68
        if (y < (charge_pos - 0.05))
69
            y = lerp(y, charge_pos, 0.4);
70
        else
71
            scene++;
72
        break;
73
    case 5:
74
        x = 320;
75
        cutscene_wait(0.25);
76
        break;
77
    case 6:
78
        var box = 3154;
79
        var new_trash = instance_create_depth(box.x - 120, box.bbox_top - 30, obj_heart_battle_fighting_parent.depth - 1, obj_battle_enemy_attack_jandroid_garbage_can);
80
        if (green_spawn_noloop == false)
81
        {
82
            var new_soap = instance_create_depth(new_trash.x, new_trash.y, obj_heart_battle_fighting_parent.depth - 2, obj_battle_enemy_attack_jandroid_soap_collider);
83
            new_soap.white_id = new_trash;
84
            new_trash.sprite_index = -4;
85
            green_spawn_noloop = true;
86
        }
87
        cutscene_advance();
88
        break;
89
    case 7:
90
        if (x < 439.9)
91
        {
92
            x = lerp(x, 440, 0.3);
93
        }
94
        else
95
        {
96
            x = 440;
97
            instance_destroy();
98
        }
99
        image_alpha = (440 - x) / 120;
100
        break;
101
}
102
pseudo_random = clamp(pseudo_random - 1, 0, 999);