Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_chefs_game_Step_0

(view raw script w/o annotations or w/e)
1
global.flag[1118 last_minigame_points] = scorepoints;
2
if (
scr_debug
scr_debug

function
scr_debug()
{ if (global.debug == 1) return 1; }
())
3
{
4
    if (keyboard_check_pressed(ord("R")))
5
        room_restart();
6
    if (
scr_debug
scr_debug

function
scr_debug()
{ if (global.debug == 1) return 1; }
() && keyboard_check_pressed(vk_f5))
7
    {
8
        snd_play(snd_lancerwhistle);
9
        win = 1;
10
        gameover = 1;
11
    }
12
    if (
scr_debug
scr_debug

function
scr_debug()
{ if (global.debug == 1) return 1; }
() && keyboard_check_pressed(vk_f6))
13
    {
14
        snd_play(snd_lancerwhistle);
15
        win = -1;
16
        gameover = true;
17
    }
18
    if (
scr_debug
scr_debug

function
scr_debug()
{ if (global.debug == 1) return 1; }
() && keyboard_check_pressed(vk_f7))
19
    {
20
        snd_play(snd_lancerwhistle);
21
        win = 1;
22
        gameover = 1;
23
        scorepoints = 999;
24
        global.flag[1118 last_minigame_points] = scorepoints;
25
    }
26
}
27
if (keyboard_check_pressed(ord("W")) && gamestart && !gameover && introtimer >= 121 && lasereasteregg_con == 0 && global.flag[1265 phaser_cannons] == 0 && room == room_dw_chef)
28
{
29
    lasereasteregg_timer = 0;
30
    lasereasteregg_con = 1;
31
}
32
if (lasereasteregg_con == 1 && gamestart && !gameover)
33
{
34
    global.flag[1265 phaser_cannons] = 1;
35
    lasereasteregg_timer++;
36
    if (lasereasteregg_timer % 5 && lasereasteregg_timer < 91)
37
        instance_create_depth(0, 54 + irandom(100), depth - 1, obj_chef_laser_easteregg1);
38
}
39
if (microgame == 0 && gameover && rank_set == false)
40
{
41
    rank_set = true;
42
    if (win > 0)
43
        rank = "D";
44
    if (scorepoints >= 210)
45
        rank = "C";
46
    if (scorepoints >= 300)
47
        rank = "B";
48
    if (scorepoints >= 380)
49
        rank = "A";
50
    if (scorepoints >= 450)
51
        rank = "S";
52
    if (replayversion && scorepoints >= 640)
53
        rank = "T";
54
    if (scorepoints >= scorepoints_goal)
55
    {
56
        if (timer >= 10)
57
            rank = "T";
58
    }
59
}
60
if (gamestart && !gameover)
61
{
62
    switch (microgame)
63
    {
64
        default:
65
            if (!i_ex(obj_tenna_enemy))
66
                min_pts -= depletionrate;
67
            popularity = max(0, (scorepoints + 200 + min_pts) / scorepoints_goal);
68
            if (win == 0)
69
            {
70
                var _wait = 0;
71
                if (obj_chefs_kris.throwing)
72
                    _wait = 1;
73
                if (instance_exists(obj_chefs_customer))
74
                {
75
                    with (obj_chefs_customer)
76
                    {
77
                        if (eating)
78
                            _wait = 1;
79
                    }
80
                }
81
                if (instance_exists(obj_chefs_stackbox))
82
                {
83
                    with (obj_chefs_stackbox)
84
                    {
85
                        if (bbox_top < room_height)
86
                            _wait = 1;
87
                    }
88
                }
89
                if (instance_exists(obj_chefs_coinvfx))
90
                    _wait = 1;
91
                if (popularity <= 0 && _wait == 0)
92
                {
93
                    with (obj_chef_controls_ui)
94
                        instance_destroy();
95
                    snd_play(snd_lancerwhistle);
96
                    win = -1;
97
                    gameover = true;
98
                    exit;
99
                }
100
                if (popularity >= 1 && !replayversion)
101
                {
102
                    snd_play(snd_lancerwhistle);
103
                    win = 1;
104
                    gameover = true;
105
                    t_rank = true;
106
                    with (obj_chef_controls_ui)
107
                        con = 2;
108
                }
109
            }
110
            break;
111
        case 2:
112
        case 3:
113
            if (win == 0)
114
            {
115
                if (instance_number(obj_chefs_evilguest) == 0)
116
                {
117
                    snd_play(snd_lancerwhistle);
118
                    win = 1;
119
                    gameover = true;
120
                }
121
            }
122
            break;
123
        case 4:
124
        case 5:
125
            if (win == 0)
126
            {
127
                var _ok = 0;
128
                if (instance_exists(obj_chefs_customer))
129
                {
130
                    with (obj_chefs_customer)
131
                    {
132
                        if (leaving)
133
                            _ok++;
134
                    }
135
                }
136
                if (!instance_exists(obj_chefs_customer) || _ok > 0)
137
                {
138
                    snd_play(snd_lancerwhistle);
139
                    win = 1;
140
                    gameover = 1;
141
                }
142
            }
143
            break;
144
    }
145
}
146
if (gameover)
147
{
148
    if (!gameover_done && !i_ex(obj_minigame_quit_ui))
149
    {
150
        gameover_done = true;
151
        with (obj_chefs_food)
152
        {
153
            if (!on_fire)
154
                vspeed = 0;
155
        }
156
        with (obj_chefs_fire)
157
            vspeed = 0;
158
        if (i_ex(obj_tenna_zoom) && obj_tenna_zoom.con != 2 && obj_tenna_zoom.minigameinsanity == false)
159
        {
160
            with (obj_tenna_zoom)
161
            {
162
                con = 2;
163
                timer = -1;
164
            }
165
        }
166
        else
167
        {
168
            if (i_ex(obj_tenna_zoom) || i_ex(obj_tenna_enemy))
169
            {
170
                with (obj_tenna_zoom)
171
                {
172
                    con = 2;
173
                    timer = -1;
174
                }
175
                exit;
176
            }
177
            snd_free_all();
178
            
scr_flag_set
scr_flag_set

function
scr_flag_set(arg0, arg1)
{ global.flag[arg0] = arg1; }
(7, 0);
179
            if (replayversion)
180
            {
181
                inst = instance_create_depth(0, 0, 0, obj_gameover_minigame);
182
                inst.replayversion = replayversion;
183
                if (win < 1)
184
                    
scr_flag_set
scr_flag_set

function
scr_flag_set(arg0, arg1)
{ global.flag[arg0] = arg1; }
(1089,
scr_flag_get
scr_flag_get

function
scr_flag_get(arg0)
{ var flag_value = global.flag[arg0]; return flag_value; }
(1089) + 1);
185
                else
186
                    inst.replaywin = true;
187
            }
188
            else if (win < 1)
189
            {
190
                
scr_flag_set
scr_flag_set

function
scr_flag_set(arg0, arg1)
{ global.flag[arg0] = arg1; }
(1089,
scr_flag_get
scr_flag_get

function
scr_flag_get(arg0)
{ var flag_value = global.flag[arg0]; return flag_value; }
(1089) + 1);
191
                instance_create_depth(0, 0, 0, obj_gameover_minigame);
192
            }
193
            else
194
            {
195
                instance_create(0, 0, obj_victory_minigame);
196
            }
197
        }
198
    }
199
    if (
scr_debug
scr_debug

function
scr_debug()
{ if (global.debug == 1) return 1; }
() && button3_p() && room == room_CHEFS)
200
        room_restart();
201
    with (obj_minigame_quit_ui)
202
        instance_destroy();
203
    exit;
204
}