Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_crispy_scroll_head_a_Step_0

(view raw script w/o annotations or w/e)
1
if (transformed == false)
2
{
3
    var enemy_count = global.enemy_count;
4
    var enemy_dead = global.enemy_dead;
5
    var enemy_spared = global.enemy_spared;
6
    if (enemy_dead == false && enemy_spared == false)
7
        image_alpha = global.image_alpha_enemy_attacking;
8
    if (enemy_dead == true)
9
    {
10
        x = starting_point_x;
11
        y = starting_point_y - max_rise;
12
        image_angle = 0;
13
        instance_create(starting_point_x, starting_point_y - max_rise, obj_crispy_scroll_dead);
14
        instance_destroy();
15
        exit;
16
        image_alpha = 0.5;
17
    }
18
    else if (enemy_spared == true)
19
    {
20
        sprite_index = spr_crispy_scroll_spared;
21
        x = starting_point_x;
22
        y = starting_point_y - max_rise;
23
        image_angle = 0;
24
        image_alpha = 0.5;
25
        if (no_loop_create_clouds == false)
26
        {
27
            for (i = 0; i <= 11; i += 1)
28
                instance_create(x, y, obj_spare_cloud);
29
        }
30
        no_loop_create_clouds = true;
31
    }
32
    if (damage_disjoint_count > 0)
33
    {
34
        damage_disjoint_count -= 1;
35
    }
36
    else if (enemy_dead == false && enemy_spared == false)
37
    {
38
        if (global.enemy_low_hp == true && global.current_hp_enemy < global.max_hp_enemy)
39
            sprite_index = spr_crispy_scroll_head_critical;
40
        else
41
            sprite_index = spr_crispy_scroll_head;
42
    }
43
    if (instance_exists(obj_text_damage_count) && global.fight_number == 1 && no_loop_damage_disjoint_count == false)
44
    {
45
        image_angle = 0;
46
        time_elapsed = 10;
47
        sign_modifier = -1;
48
        time_elapsed_angle = 0;
49
        sign_modifier_angle = 1;
50
        damage_disjoint_count = 12;
51
        no_loop_damage_disjoint_count = true;
52
        audio_play_sound(enemy_hurt_noise, 1, 0, 1, 0, enemy_hurt_pitch);
53
    }
54
    else if (!instance_exists(obj_text_damage_count))
55
    {
56
        no_loop_damage_disjoint_count = false;
57
    }
58
    if (damage_disjoint_count == 12)
59
        damage_disjoint_x = -50;
60
    else if (damage_disjoint_count == 10)
61
        damage_disjoint_x = 50;
62
    else if (damage_disjoint_count == 8)
63
        damage_disjoint_x = -20;
64
    else if (damage_disjoint_count == 6)
65
        damage_disjoint_x = 20;
66
    else if (damage_disjoint_count == 4)
67
        damage_disjoint_x = -10;
68
    else if (damage_disjoint_count == 2)
69
        damage_disjoint_x = 10;
70
    else if (damage_disjoint_count == 0)
71
        damage_disjoint_x = 0;
72
    if (damage_disjoint_count > 0 || global.current_hp_enemy <= 0)
73
    {
74
        sprite_index = spr_crispy_scroll_dead;
75
        image_angle = 0;
76
    }
77
    x = draw_position_x + damage_disjoint_x;
78
    y = draw_position_y + damage_disjoint_y;
79
    image_angle = 0;
80
    if (!(instance_exists(obj_text_damage_count) && global.fight_number == 1) && enemy_dead == false && enemy_spared == false)
81
    {
82
        if (instance_exists(obj_quote_battle_crispy_scroll_a) && (global.last_action_selected == "Action 1 Message 0" || global.last_action_selected == "Action 2 Message 1"))
83
        {
84
            if (enemy_count == 3)
85
            {
86
                if ((global.enemy_dead_2 + global.enemy_spared_2 + global.enemy_dead_3 + global.enemy_spared_3) >= 2)
87
                    mode = 2;
88
                else
89
                    mode = 1;
90
            }
91
            else if (enemy_count == 2)
92
            {
93
                if ((global.enemy_dead_2 + global.enemy_spared_2) >= 1)
94
                    mode = 2;
95
                else
96
                    mode = 1;
97
            }
98
            else
99
            {
100
                mode = 2;
101
            }
102
        }
103
        else
104
        {
105
            mode = 1;
106
        }
107
        for (i = 1; i <= mode; i += 1)
108
        {
109
            sign_modifier_advance_back = sign_modifier;
110
            time_elapsed_advance_back = time_elapsed + time_elapsed_advance_increase_back;
111
            if (time_elapsed_advance_back >= time_max)
112
            {
113
                time_elapsed_advance_back -= time_max;
114
                sign_modifier_advance_back = -sign_modifier_advance_back;
115
            }
116
            game_maker_cannot_do_math = power((time_elapsed_advance_back / ((time_max / 2) * (1 / sqrt(max_rise)))) - sqrt(max_rise), 2);
117
            animation_disjoint_advance = sign_modifier_advance_back * (max_rise - round(game_maker_cannot_do_math));
118
            advance_y_back = draw_position_y + animation_disjoint_advance;
119
            sign_modifier_advance_hand = sign_modifier;
120
            time_elapsed_advance_hand = time_elapsed + time_elapsed_advance_increase_hand;
121
            if (time_elapsed_advance_hand >= time_max)
122
            {
123
                time_elapsed_advance_hand -= time_max;
124
                sign_modifier_advance_hand = -sign_modifier_advance_hand;
125
            }
126
            game_maker_cannot_do_math = power((time_elapsed_advance_hand / ((time_max / 2) * (1 / sqrt(max_rise)))) - sqrt(max_rise), 2);
127
            animation_disjoint_advance = sign_modifier_advance_hand * (max_rise - round(game_maker_cannot_do_math));
128
            advance_y_hand = draw_position_y + animation_disjoint_advance;
129
            game_maker_cannot_do_math = power((time_elapsed / ((time_max / 2) * (1 / sqrt(max_rise)))) - sqrt(max_rise), 2);
130
            animation_disjoint_y = sign_modifier * (max_rise - round(game_maker_cannot_do_math));
131
            time_elapsed += time_increase;
132
            if (time_elapsed >= time_max)
133
            {
134
                time_elapsed = 0;
135
                sign_modifier = -sign_modifier;
136
            }
137
            y = draw_position_y + animation_disjoint_y;
138
            if (sprite_index == spr_crispy_scroll_head)
139
            {
140
                game_maker_cannot_do_math = power((time_elapsed_angle / ((time_max_angle / 2) * (1 / sqrt(max_rise_angle)))) - sqrt(max_rise_angle), 2);
141
                animation_disjoint_angle = sign_modifier_angle * (max_rise_angle - round(game_maker_cannot_do_math));
142
                time_elapsed_angle += time_increase_angle;
143
                if (time_elapsed_angle >= time_max_angle)
144
                {
145
                    time_elapsed_angle = 0;
146
                    sign_modifier_angle = -sign_modifier_angle;
147
                }
148
                image_angle = animation_disjoint_angle;
149
            }
150
            else
151
            {
152
                image_angle = 0;
153
            }
154
        }
155
    }
156
    else
157
    {
158
        y = starting_point_y - max_rise;
159
    }
160
}