Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_battle_enemy_attack_martlet_wing_gust_final_object_Step_0

(view raw script w/o annotations or w/e)
1
if (live_call())
2
    return global.live_result;
3
if (state == 0)
4
{
5
    if (image_alpha < 1)
6
    {
7
        image_alpha += 0.1;
8
        if (image_alpha > 1)
9
            image_alpha = 1;
10
    }
11
    if (image_alpha == 1 && floor(obj_martlet_final_base.image_index) >= 3 && floor(obj_martlet_final_base.image_index) <= 4 && no_loop_alarm_fading_in == false)
12
    {
13
        switch (sprite_index)
14
        {
15
            case spr_battle_enemy_attack_martlet_wing_gust_junk_ball:
16
            case spr_battle_enemy_attack_martlet_wing_gust_junk_radio:
17
                alarm[0] = 8;
gml_Object_obj_battle_enemy_attack_martlet_wing_gust_final_object_Alarm_0.gml

if (live_call()) return global.live_result; state = 1;
18
                break;
19
            case spr_battle_enemy_attack_martlet_wing_gust_junk_saw:
20
            case spr_battle_enemy_attack_martlet_wing_gust_junk_plank:
21
                alarm[0] = 15;
gml_Object_obj_battle_enemy_attack_martlet_wing_gust_final_object_Alarm_0.gml

if (live_call()) return global.live_result; state = 1;
22
                break;
23
            default:
24
                alarm[0] = 2;
gml_Object_obj_battle_enemy_attack_martlet_wing_gust_final_object_Alarm_0.gml

if (live_call()) return global.live_result; state = 1;
25
        }
26
        no_loop_alarm_fading_in = true;
27
    }
28
}
29
if (state == 1)
30
{
31
    if (fall_speed < fall_speed_max)
32
        fall_speed += 1;
33
    var fs_temp = fall_speed;
34
    if ((bbox_bottom + fs_temp) >= (obj_dialogue_box_battle_transformation_any.bbox_bottom - 4))
35
    {
36
        while ((bbox_bottom + sign(fs_temp)) < (obj_dialogue_box_battle_transformation_any.bbox_bottom - 4))
37
            y += sign(fs_temp);
38
        fs_temp = 0;
39
        state = 2;
40
        switch (sound_type)
41
        {
42
            case 1:
43
                audio_play_sound(snd_mart_impact_1, 20, 0);
44
                break;
45
            case 2:
46
                audio_play_sound(snd_mart_impact_2, 20, 0);
47
                break;
48
            case 3:
49
                audio_play_sound(snd_mart_impact_3, 20, 0);
50
                break;
51
            default:
52
                audio_play_sound(snd_mart_impact_2, 20, 0);
53
        }
54
    }
55
    y += fs_temp;
56
}
57
if (state == 2)
58
{
59
    if (sprite_index == spr_battle_enemy_attack_martlet_wing_gust_junk_can)
60
    {
61
        if (landing_init == false)
62
        {
63
            jump_speed = -12;
64
            grav = 2;
65
            angle_speed_sign = irandom_range(0, 1);
66
            if (angle_speed_sign == 0)
67
                angle_speed_sign = -1;
68
            move_speed = 4 * angle_speed_sign;
69
            angle_speed = 4 * (90 / (sprite_height / 2)) * -angle_speed_sign;
70
            landing_init = true;
71
        }
72
        y += jump_speed;
73
        jump_speed += grav;
74
        x += move_speed;
75
        image_angle += angle_speed;
76
        if ((y + (sprite_width / 2)) > __view_get(e__VW.HView, 0))
77
            instance_destroy();
78
    }
79
    else if (sprite_index == spr_battle_enemy_attack_martlet_wing_gust_junk_ball)
80
    {
81
        if (landing_init == false)
82
        {
83
            if (landing_count == 0)
84
            {
85
                jump_speed = -8;
86
                grav = 2;
87
                rolling_speed_sign = irandom_range(0, 1);
88
                if (rolling_speed_sign == 0)
89
                    rolling_speed_sign = -1;
90
                rolling_speed = 4 * rolling_speed_sign;
91
                rolling_speed_angle = (90 / (sprite_width / 2)) * -rolling_speed;
92
            }
93
            else if (landing_count == 1)
94
            {
95
                jump_speed = -4;
96
            }
97
            landing_count += 1;
98
            landing_init = true;
99
        }
100
        if (sign(jump_speed) == 1 && (y + (sprite_height / 2) + jump_speed) >= (obj_dialogue_box_battle_transformation_any.bbox_bottom - 4) && x >= obj_dialogue_box_battle_transformation_any.bbox_left && x <= obj_dialogue_box_battle_transformation_any.bbox_right)
101
        {
102
            while ((y + (sprite_height / 2) + sign(jump_speed)) < (obj_dialogue_box_battle_transformation_any.bbox_bottom - 4))
103
                y += sign(jump_speed);
104
            jump_speed = 0;
105
            if (landing_count < 2)
106
                landing_init = false;
107
        }
108
        y += jump_speed;
109
        jump_speed += grav;
110
        x += rolling_speed;
111
        image_angle += rolling_speed_angle;
112
        if ((y + (sprite_height / 2)) > __view_get(e__VW.HView, 0))
113
            instance_destroy();
114
    }
115
    else if (sprite_index == spr_battle_enemy_attack_martlet_wing_gust_junk_radio)
116
    {
117
        if (landing_init == false)
118
        {
119
            jump_speed = -10;
120
            grav = 2;
121
            x_default = x;
122
            y_default = y;
123
            shake_x = 1;
124
            shake_y = 1;
125
            angle_speed_sign = irandom_range(0, 1);
126
            if (angle_speed_sign == 0)
127
                angle_speed_sign = -1;
128
            move_speed = 4 * angle_speed_sign;
129
            angle_speed = 2 * -angle_speed_sign;
130
            landing_init = true;
131
        }
132
        y_default += jump_speed;
133
        jump_speed += grav;
134
        x_default += move_speed;
135
        image_angle += angle_speed;
136
        x = x_default + (2 * irandom_range(-shake_x, shake_x));
137
        y = y_default + (2 * irandom_range(-shake_y, shake_y));
138
        if ((y + (sprite_width / 2)) > __view_get(e__VW.HView, 0))
139
            instance_destroy();
140
    }
141
    else if (sprite_index == spr_battle_enemy_attack_martlet_wing_gust_junk_globe)
142
    {
143
        if (landing_init == false)
144
        {
145
            jump_speed = -8;
146
            grav = 2;
147
            angle_speed_sign = irandom_range(0, 1);
148
            if (angle_speed_sign == 0)
149
                angle_speed_sign = -1;
150
            move_speed = 4 * angle_speed_sign;
151
            angle_speed = 2 * -angle_speed_sign;
152
            landing_init = true;
153
        }
154
        y += jump_speed;
155
        jump_speed += grav;
156
        x += move_speed;
157
        image_angle += angle_speed;
158
        if ((y + (sprite_width / 2)) > __view_get(e__VW.HView, 0))
159
            instance_destroy();
160
    }
161
    else if (sprite_index == spr_battle_enemy_attack_martlet_wing_gust_junk_shoe || sprite_index == spr_battle_enemy_attack_martlet_wing_gust_junk_mug || sprite_index == spr_battle_enemy_attack_martlet_wing_gust_junk_thingy || sprite_index == spr_battle_enemy_attack_martlet_wing_gust_junk_glass || sprite_index == spr_battle_enemy_attack_martlet_wing_gust_junk_saw || sprite_index == spr_battle_enemy_attack_martlet_wing_gust_junk_idk || sprite_index == spr_battle_enemy_attack_martlet_wing_gust_junk_plank)
162
    {
163
        if (landing_init == false)
164
        {
165
            jump_speed = -10;
166
            grav = 2;
167
            angle_speed_sign = irandom_range(0, 1);
168
            if (angle_speed_sign == 0)
169
                angle_speed_sign = -1;
170
            move_speed = 4 * angle_speed_sign;
171
            angle_speed = 2 * -angle_speed_sign;
172
            landing_init = true;
173
        }
174
        y += jump_speed;
175
        jump_speed += grav;
176
        x += move_speed;
177
        image_angle += angle_speed;
178
        if ((y + (sprite_width / 2)) > __view_get(e__VW.HView, 0))
179
            instance_destroy();
180
    }
181
    else
182
    {
183
        can_fade_out = true;
184
    }
185
    if (image_alpha > 0 && can_fade_out == true)
186
    {
187
        image_alpha -= 0.1;
188
        if (image_alpha < 0)
189
            image_alpha = 0;
190
        if (image_alpha == 0)
191
            instance_destroy();
192
    }
193
}
194
195
enum e__VW
196
{
197
    XView,
198
    YView,
199
    WView,
200
    HView,
201
    Angle,
202
    HBorder,
203
    VBorder,
204
    HSpeed,
205
    VSpeed,
206
    Object,
207
    Visible,
208
    XPort,
209
    YPort,
210
    WPort,
211
    HPort,
212
    Camera,
213
    SurfaceID
214
}