Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_heart_battle_menu_Step_0

(view raw script w/o annotations or w/e)
1
if (live_call())
2
    return global.live_result;
3
var battle_menu_number = global.battle_menu_number;
4
var battle_enemy_name = global.battle_enemy_name;
5
var enemy_count = global.enemy_count;
6
var game_mode = global.game_mode;
7
script_execute(scr_controls_battle_main);
8
if (instance_exists(obj_dialogue_box_battle) && key_select)
9
{
10
    if (battle_menu_number == 1)
11
    {
12
        if (!instance_exists(obj_fight_locked))
13
        {
14
            if (global.enemy_dead == false && global.enemy_spared == false)
15
                instance_create(0, 0, obj_text_battle_move_selected_enemy_fight);
16
            if (enemy_count >= 2)
17
            {
18
                if (global.enemy_dead_2 == false && global.enemy_spared_2 == false)
19
                    instance_create(0, 0, obj_text_battle_move_selected_enemy_fight_2);
20
            }
21
            if (enemy_count >= 3)
22
            {
23
                if (global.enemy_dead_3 == false && global.enemy_spared_3 == false)
24
                    instance_create(0, 0, obj_text_battle_move_selected_enemy_fight_3);
25
            }
26
            instance_create(obj_dialogue_box_battle.x + 44, obj_dialogue_box_battle.y + 36, obj_heart_battle_menu_fight);
27
            script_execute(scr_battle_core_directory_hp_displacements);
28
            script_execute(scr_determine_can_display_enemy_hp_ui);
29
            if (enemy_count >= 1)
30
            {
31
                if (global.enemy_vulnerable == false && global.enemy_dead == false && global.enemy_spared == false)
32
                {
33
                    with (obj_battle_hp_current_enemy)
34
                        instance_destroy();
35
                    with (obj_battle_hp_max_enemy)
36
                        instance_destroy();
37
                }
38
            }
39
            if (enemy_count >= 2)
40
            {
41
                if (global.enemy_vulnerable_2 == false && global.enemy_dead_2 == false && global.enemy_spared_2 == false)
42
                {
43
                    with (obj_battle_hp_current_enemy_2)
44
                        instance_destroy();
45
                    with (obj_battle_hp_max_enemy_2)
46
                        instance_destroy();
47
                }
48
            }
49
            if (enemy_count >= 3)
50
            {
51
                if (global.enemy_vulnerable_3 == false && global.enemy_dead_3 == false && global.enemy_spared_3 == false)
52
                {
53
                    with (obj_battle_hp_current_enemy_3)
54
                        instance_destroy();
55
                    with (obj_battle_hp_max_enemy_3)
56
                        instance_destroy();
57
                }
58
            }
59
            with (obj_dialogue_battle_move_select_parent)
60
                instance_destroy();
61
            audio_play_sound(snd_battle_item_weapon_select, 20, false);
62
            image_alpha = 0;
63
        }
64
        else
65
        {
66
            audio_play_sound(snd_fail, 1, 0);
67
        }
68
    }
69
    if (battle_menu_number == 2)
70
    {
71
        if (global.enemy_dead == false && global.enemy_spared == false)
72
            instance_create(0, 0, obj_text_battle_move_selected_enemy_name);
73
        if (enemy_count >= 2)
74
        {
75
            if (global.enemy_dead_2 == false && global.enemy_spared_2 == false)
76
                instance_create(0, 0, obj_text_battle_move_selected_enemy_name_2);
77
        }
78
        if (enemy_count >= 3)
79
        {
80
            if (global.enemy_dead_3 == false && global.enemy_spared_3 == false)
81
                instance_create(0, 0, obj_text_battle_move_selected_enemy_name_3);
82
        }
83
        instance_create(obj_dialogue_box_battle.x + 44, obj_dialogue_box_battle.y + 36, obj_heart_battle_menu_act);
84
        with (obj_dialogue_battle_move_select_parent)
85
            instance_destroy();
86
        audio_play_sound(snd_battle_item_weapon_select, 20, false);
87
        image_alpha = 0;
88
    }
89
    if (battle_menu_number == 3)
90
    {
91
        if (obj_item.image_index == 1)
92
        {
93
            global.item_page_count = 1;
94
            global.item_number_row = 1;
95
            global.item_number_column = 1;
96
            if (global.item_slot[1] != "Nothing")
97
                instance_create(0, 0, obj_text_battle_move_selected_item_1);
98
            if (global.item_slot[2] != "Nothing")
99
                instance_create(0, 0, obj_text_battle_move_selected_item_2);
100
            if (global.item_slot[3] != "Nothing")
101
                instance_create(0, 0, obj_text_battle_move_selected_item_3);
102
            if (global.item_slot[4] != "Nothing")
103
                instance_create(0, 0, obj_text_battle_move_selected_item_4);
104
            instance_create(0, 0, obj_text_battle_move_selected_item_page_count);
105
            instance_create(obj_dialogue_box_battle.x + 44, obj_dialogue_box_battle.y + 36, obj_heart_battle_menu_item);
106
            with (obj_dialogue_battle_move_select_parent)
107
                instance_destroy();
108
            audio_play_sound(snd_battle_item_weapon_select, 20, false);
109
            image_alpha = 0;
110
        }
111
        else
112
        {
113
            audio_play_sound(snd_hurt, 20, false);
114
        }
115
    }
116
    if (battle_menu_number == 4)
117
    {
118
        instance_create(0, 0, obj_text_battle_move_selected_spare);
119
        if (global.enemy_fleeable == true)
120
            instance_create(0, 0, obj_text_battle_move_selected_flee);
121
        instance_create(obj_dialogue_box_battle.x + 44, obj_dialogue_box_battle.y + 36, obj_heart_battle_menu_mercy);
122
        with (obj_dialogue_battle_move_select_parent)
123
            instance_destroy();
124
        audio_play_sound(snd_battle_item_weapon_select, 20, false);
125
        image_alpha = 0;
126
    }
127
}
128
if (key_select == 0)
129
{
130
    if (key_right && key_left == 0)
131
    {
132
        var battle_menu_number_prev = battle_menu_number;
133
        var move_number = true;
134
        while (move_number == true)
135
        {
136
            if (battle_menu_number == 4)
137
                global.battle_menu_number = 1;
138
            else
139
                global.battle_menu_number += 1;
140
            battle_menu_number = global.battle_menu_number;
141
            if ((battle_menu_number == 1 && instance_exists(obj_fight)) || (battle_menu_number == 2 && instance_exists(obj_act)) || (battle_menu_number == 3 && instance_exists(obj_item)) || (battle_menu_number == 4 && instance_exists(obj_mercy)))
142
                move_number = false;
143
        }
144
        if (global.battle_menu_number != battle_menu_number_prev)
145
            audio_play_sound(snd_mainmenu_select, 20, false);
146
    }
147
    if (key_left && key_right == 0)
148
    {
149
        var battle_menu_number_prev = battle_menu_number;
150
        var move_number = true;
151
        while (move_number == true)
152
        {
153
            if (battle_menu_number == 1)
154
                global.battle_menu_number = 4;
155
            else
156
                global.battle_menu_number -= 1;
157
            battle_menu_number = global.battle_menu_number;
158
            if ((battle_menu_number == 1 && instance_exists(obj_fight)) || (battle_menu_number == 2 && instance_exists(obj_act)) || (battle_menu_number == 3 && instance_exists(obj_item)) || (battle_menu_number == 4 && instance_exists(obj_mercy)))
159
                move_number = false;
160
        }
161
        if (global.battle_menu_number != battle_menu_number_prev)
162
            audio_play_sound(snd_mainmenu_select, 20, false);
163
    }
164
}
165
if (battle_menu_number == 1 && instance_exists(obj_fight_locked))
166
    global.battle_menu_number = 2;
167
battle_menu_number = global.battle_menu_number;
168
if (battle_menu_number == 1)
169
{
170
    x = obj_fight.x + 17;
171
    y = obj_fight.y + 23;
172
}
173
else if (battle_menu_number == 2)
174
{
175
    x = obj_act.x + 17;
176
    y = obj_act.y + 23;
177
}
178
else if (battle_menu_number == 3)
179
{
180
    x = obj_item.x + 17;
181
    y = obj_item.y + 23;
182
}
183
else if (battle_menu_number == 4)
184
{
185
    x = obj_mercy.x + 17;
186
    y = obj_mercy.y + 23;
187
}
188
if (no_loop_determine_sparing == false)
189
{
190
    script_execute(scr_determine_low_hp_enemy_sparing);
191
    no_loop_determine_sparing = true;
192
}
193
if (image_alpha == 1 && no_loop == false)
194
{
195
    script_execute(scr_battle_core_directory_flavor_text_recreation);
196
    no_loop = true;
197
}