Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_mike_minigame_controller_Create_0

(view raw script w/o annotations or w/e)
1
game_over = false;
2
with (obj_mike_controller)
3
{
4
    hand_type = 0;
5
    line_ypos = 0;
6
}
7
if (!i_ex(obj_tutorial_text))
8
    instance_create(0, 0, obj_tutorial_text);
9
var _m = instance_create(camerax() + 488, cameray() + 200, obj_mike_battle);
10
with (obj_mike_minigame_tv)
11
{
12
    switch (minigame)
13
    {
14
        case 1:
15
            _m.sprite_index = spr_mike_s;
16
            break;
17
        case 3:
18
            _m.sprite_index = spr_mike_m;
19
            break;
20
        case 2:
21
            _m.sprite_index = spr_mike_l;
22
            break;
23
    }
24
    if (minigame != 3)
25
    {
26
        with (other)
27
        {
28
            if (!i_ex(obj_volumebar))
29
                instance_create_depth(0, 0, depth + 2, obj_volumebar);
30
        }
31
    }
32
}
33
with (obj_mike)
34
{
35
    if (act == 3)
36
        _m.sprite_index = sprite_index;
37
}
38
hold_quit_timer = 0;
39
global.battleend = 0;
40
global.fighting = 1;
41
global.flag[9 battle_music] = 1;
42
global.batmusic[1] = mus_loop_ext(global.batmusic[0], 1, 1);
43
finished = 0;
44
combo_buffer = 0;
45
countdown = 1800;
46
_cat_num_def[0] = 3;
47
_cat_time_def[0] = 30;
48
_cat_num[0] = _cat_num_def[0];
49
_cat_time[0] = _cat_time_def[0];
50
_grab_cats = 5;
51
if (!global.use_mic)
52
{
53
}
54
with (obj_mike_controller)
55
{
56
    battle_active = true;
57
    event_user(11);
58
}
59
if (instance_number(obj_heart) == 0)
60
{
61
    with (instance_create_depth(x, y, depth, obj_heart))
62
        visible = false;
63
}
64
gameover_timer = 0;
65
cave_speed = 1;
66
cave_speed2 = 1;
67
meteor_timer = 0;
68
meteor_max = 30;
69
cat_timer = 0;
70
cat_last_green = 0;
71
cat_max = 30;
72
cave_height = 120;
73
cave_y = 190;
74
cave_last_top = -1;
75
cave_last_bottom = -1;
76
fuel = 100;
77
last_fuel = 100;
78
cave_timer = 0;
79
cave_direction = 0;
80
81
create_wall = function(arg0, arg1, arg2, arg3)
82
{
83
    var _a = instance_create_depth(arg0, arg1, depth + 3, obj_cavern_wall);
84
    _a.image_xscale = arg2;
85
    _a.image_angle = arg3;
86
    return _a;
87
};
88
89
alarm[6]
 = 1;
gml_Object_obj_mike_minigame_controller_Alarm_6.gml

switch (obj_mike_battle.sprite_index) { case spr_mike_m: action = 1; break; case spr_mike_l: action = 2; break; case spr_mike_s: action = 3; break; }
90
retry_y = -64;
91
music_y = -64;
92
new_cat = 0;
93
music_on = true;
94
inv_mic = false;
95
bubble_timer = 0;
96
ball_side = choose(-1, 1);
97
score_next = 0;
98
last_score = 0;
99
hurt = 0;
100
life = 3;
101
msg_max = 0;
102
msg_current = 0;
103
msg_del = 1;
104
msg_cap = 1;
105
text = [];
106
text_current = 0;
107
text_last = choose(0, 1, 2);
108
text_skip = true;
109
myscore = 0;
110
new_hiscore = 0;
111
vis = 1;
112
alarm[1]
 = 6;
gml_Object_obj_mike_minigame_controller_Alarm_1.gml

vis = !vis; alarm[1]
 = 12;
113
for (i = 0; i < 3; i++)
114
    pet_current[i] = 0;
115
score_timer = 0;
116
sign_side = choose(-1, 1);
117
118
wave_reset = function()
119
{
120
    applause_speed = 5;
121
    wave_timer = 60;
122
    wave_min = 120;
123
    wave_max = 150;
124
    wave_dist_min = 3;
125
    wave_dist_max = 3;
126
    wave_ang = 0;
127
    wave_double = 0;
128
    wave_y = 200;
129
};
130
131
wave_reset();
132
alarm[0]
 = 6;
gml_Object_obj_mike_minigame_controller_Alarm_0.gml

flash = -flash; alarm[0]
 = clamp(point_distance(counter, 0, 0, 0) / 10, 4, 10);
133
flash = 1;
134
attacks = 0;
135
counter = -1;
136
pawtype = 0;
137
paw_aim = 0;
138
x = (camerax() + camerawidth()) / 2;
139
lastx = 0;
140
mid_attack = false;
141
mid_reload = 0;
142
paw_reload = 120;
143
current = 0;
144
canclick = false;
145
action = 0;
146
wave = 0;
147
last_wave = 3;
148
timer = 0;
149
move_party = false;
150
alpha = 0;
151
lastside = 3;
152
phase = 0;
153
mike = 0;
154
petting = 0;
155
txt_wait = 0;
156
last_talker = -1;
157
ending = false;
158
main_text = -1;
159
convo = 0;
160
talking = false;
161
mike_small = -1;
162
mike_medium = -1;
163
mike_big = -1;
164
combo = false;
165
text_speed = 2;
166
cat_max = 0;
167
cat_reload = 60;
168
cat_timer = 0;
169
playall = true;
170
display_hits = false;
171
for (i = 0; i < 16; i++)
172
    hits[i] = 0;
173
dog_x = -100;
174
dog_ind = 0;
175
dog_xs = 1;
176
dog_t = 0;
177
target = 0;
178
lasttarget = 0;
179
lasthp = global.hp[global.char[target]];
180
181
battle_text = function()
182
{
183
    with (obj_mike_minigame_tv)
184
        global.msg[0] = stringsetsubloc("* ~1\n* Pet Mike to play\n* Pet Kris to quit", string(name[minigame]), "obj_mike_minigame_controller_slash_Create_0_gml_185_0");
185
    
scr_battletext_default
scr_battletext_default

function
scr_battletext_default()
{ global.fc = 0; global.typer = 4;
scr_battletext();
return battlewriter; }
();
186
    battlewriter.depth = -1;
187
};
188
189
battle_text();
190
tracker = 0;
191
plueyhealth = 3;
192
shelter_has_time_limit = false;
193
shelter_time_limit_max = 900;
194
shelter_time_limit_min = 100;
195
shelter_time_limit = shelter_time_limit_max;
196
shelter_current_time = 0;
197
shelter_current_time_eased = 99999;
198
has_shelter_on_left = true;
199
has_shelter_on_right = true;
200
cats_deposited = 0;
201
cats_bonus_timer = 0;
202
pluey_combo_chain = 0;
203
plueywater = instance_create(0, 0, obj_marker_fancy);
204
with (plueywater)
205
{
206
    depth = other.depth + 105;
207
    
208
    draw_func = function()
209
    {
210
        var contr = 240;
211
        if (!contr.shelter_has_time_limit)
212
            exit;
213
        var percent = contr.shelter_current_time_eased / contr.shelter_time_limit;
214
        var xx = (camerax() - 62) + ((current_time * 0.03) % 62);
215
        var eased_percent = ease_in_quart(clamp01(1 - percent), 0, 1, 1);
216
        if (contr.phase == 2 && contr.action == 1)
217
        {
218
            var yy = cameray() + 100 + (300 * max(percent, 0));
219
            for (var i = 0; i < 12; i++)
220
                draw_sprite_ext(spr_plueywater, 0, (xx + (62 * i)) - 31, yy, 2, 2, 0, c_aqua, eased_percent * 0.3);
221
        }
222
        var shake = sin(current_time / 250) * 2;
223
        draw_set_color(merge_color(c_aqua, c_white, (sin(current_time / 200) * 0.35) + 0.35));
224
        draw_set_font(
scr_84_get_font
scr_84_get_font

function
scr_84_get_font(arg0)
{ if (!variable_global_exists("chemg_last_get_font")) global.chemg_last_get_font = ""; if (arg0 != global.chemg_last_get_font) global.chemg_last_get_font = arg0; return ds_map_find_value(global.font_map, arg0); }
("mainbig"));
225
        draw_set_alpha(eased_percent * 0.3);
226
        var str = stringsetloc(
DANGER! RISING PLUEY LEVELS!
"DANGER! RISING PLUEY LEVELS!", "obj_mike_minigame_controller_slash_Create_0_gml_246_0"
);
227
        draw_text(((camerax() + (0.5 * camerawidth())) - (0.5 * string_width(str))) + shake, cameray() + 60, str);
228
        draw_set_color(c_white);
229
        draw_set_alpha(1);
230
    };
231
}