Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_dw_ch3_teevie_quiz_controller_Create_0

(view raw script w/o annotations or w/e)
1
con = 0;
2
quiz_id = "A";
3
quiz_start = false;
4
quiz_ready = false;
5
quiz_display = false;
6
quiz_complete = false;
7
quiz_finish = false;
8
quiz_bullets = false;
9
quiz_bullets_con = 0;
10
quiz_static_show = false;
11
quiz_static_hide = false;
12
correct_answer = false;
13
wrong_answer = false;
14
show_spikes = false;
15
hide_spikes = false;
16
spikes = [];
17
show_buttons = false;
18
hide_buttons = false;
19
button_tiles = [];
20
button_tiles_player = [];
21
regain_control = false;
22
press_wait = false;
23
move_back_start = false;
24
move_back_stop = false;
25
base_x_pos = x;
26
base_y_pos = y;
27
quiz_flag = -1;
28
29
init_quiz = function(arg0 = "A", arg1 = 440, arg2 = 440, arg3)
30
{
31
    quiz_id = arg0;
32
    quiz_flag = arg3;
33
    var _quiz_active = 
scr_flag_get
scr_flag_get

function
scr_flag_get(arg0)
{ var flag_value = global.flag[arg0]; return flag_value; }
(quiz_flag) == 0;
34
    con = _quiz_active ? 0 : -1;
35
    base_x_pos = arg1;
36
    base_y_pos = arg2;
37
    var screen_depth = depth - 20;
38
    quiz_screen = instance_create(0, 0, obj_dw_ch3_teevie_quiz_screen);
39
    with (quiz_screen)
40
    {
41
        x = arg1;
42
        y = arg2;
43
        width = 6;
44
        height = 3;
45
        depth = screen_depth;
46
        tvbasesprite = spr_dw_teevie_tv_base;
47
    }
48
    for (var i = 0; i < 2; i++)
49
    {
50
        var _spike = instance_create(arg1 + 120 + (i * 200), arg2 + 240, obj_dw_ch3_teevie_spikes);
51
        with (_spike)
52
            init_tiles(3);
53
        _spike.depth = depth - 5;
54
        spikes[i] = _spike;
55
        if (!_quiz_active)
56
        {
57
            with (_spike)
58
                hide_tiles();
59
        }
60
    }
61
};
62
63
show_button_tiles = function()
64
{
65
    snd_play(snd_wing);
66
    var _char_pos_list = [new Vector2(su_actor.x + 4, base_y_pos + 280), new Vector2(kr_actor.x, base_y_pos + 280), new Vector2(ra_actor.x, base_y_pos + 280)];
67
    for (var i = 0; i < array_length_1d(_char_pos_list); i++)
68
    {
69
        for (var j = 0; j < 2; j++)
70
        {
71
            var _button = instance_create((_char_pos_list[i].x - 60) + (j * 120), cameray() - 60, obj_dw_ch3_teevie_keyboard_tile);
72
            var _char = (j == 0) ? "A" : "B";
73
            with (_button)
74
            {
75
                init_button(_char);
76
                
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("y", ystart, _char_pos_list[i].y, 5 + (i * 5), 4, "out");
77
                
scr_depth
scr_depth

function
scr_depth()
{ if (argument_count > 0) { with (argument0) depth = 100000 - ((y * 10) + (sprite_height * 10)); } else { depth = 100000 - ((y * 10) + (sprite_height * 10)); } }
();
78
            }
79
            button_tiles[i][j] = _button;
80
            if (i == 1)
81
                button_tiles_player[array_length_1d(button_tiles_player)] = _button;
82
        }
83
    }
84
};
85
86
hide_button_tiles = function()
87
{
88
    snd_play(snd_wing);
89
    for (var i = 0; i < array_length_1d(button_tiles); i++)
90
    {
91
        for (var j = 0; j < 2; j++)
92
        {
93
            var _button = button_tiles[i][j];
94
            with (_button)
95
            {
96
                
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("y", y, ystart, 5 + (i * 5), 16, "out");
97
                
scr_doom
scr_doom

function
scr_doom(arg0, arg1)
{ with (instance_create_depth(0, 0, 0, obj_doom)) { alarm[0] target = arg0; } }
(id, 20);
98
            }
99
        }
100
    }
101
};
102
103
reset_button_tiles = function()
104
{
105
    for (var i = 0; i < array_length_1d(button_tiles); i++)
106
    {
107
        for (var j = 0; j < 2; j++)
108
            button_tiles[i][j].reset_button();
109
    }
110
};
111
112
hide_kris_actor = function()
113
{
114
    global.facing = 0;
115
    global.interact = 0;
116
    var kris_x_pos = 0;
117
    var kris_y_pos = 0;
118
    with (obj_actor)
119
    {
120
        if (name == "kris")
121
        {
122
            kris_x_pos = x;
123
            kris_y_pos = y;
124
        }
125
    }
126
    obj_mainchara.x = kris_x_pos;
127
    obj_mainchara.y = kris_y_pos;
128
    obj_mainchara.sprite_index = spr_krisd_dark;
129
    with (obj_actor)
130
    {
131
        if (name == "kris")
132
            visible = false;
133
    }
134
    obj_mainchara.visible = true;
135
};
136
137
show_kris_actor = function()
138
{
139
    global.interact = 1;
140
    with (obj_actor)
141
    {
142
        if (name == "kris")
143
        {
144
            x = obj_mainchara.x;
145
            y = obj_mainchara.y;
146
            sprite_index = spr_krisu_dark;
147
            image_index = 0;
148
        }
149
    }
150
    with (obj_actor)
151
    {
152
        if (name == "kris")
153
            visible = true;
154
    }
155
    obj_mainchara.visible = false;
156
};
157
158
caterpillar_press_button = function(arg0, arg1, arg2)
159
{
160
    var _actor_index = (arg0.name == "susie") ? 0 : 2;
161
    var _button_index = (arg1 == "A") ? 0 : 1;
162
    var _button_tile = button_tiles[_actor_index][_button_index];
163
    var _target_x_pos = _button_tile.x;
164
    var _facing = (_button_index == 0) ? "left" : "right";
165
    var _walk_time = 6;
166
    with (arg0)
167
    {
168
        var _facing_sprite = (_facing == "left") ? lsprite : rsprite;
169
        scr_delay_var("sprite_index", _facing_sprite, arg2);
170
        scr_delay_var("image_speed", 0.2, arg2);
171
        
scr_script_delayed
scr_script_delayed

function
scr_script_delayed()
{ var __scriptdelay = instance_create(0, 0, obj_script_delayed); __scriptdelay.script = argument[0]; __scriptdelay.alarm[0] = argument[1]; __scriptdelay.target = id; for (var __i = 0; __i < (argument_count - 2); __i++) __scriptdelay.script_arg[__i] = argument[__i + 2]; __scriptdelay.arg_count = argument_count - 2; return __scriptdelay; }
(scr_lerpvar, arg2, "x", x, _target_x_pos, _walk_time);
172
        scr_delay_var("image_speed", 0, arg2 + _walk_time + 1);
173
        scr_delay_var("image_index", 0, arg2 + _walk_time + 1);
174
        scr_delay_var("sprite_index", usprite, arg2 + _walk_time + 1);
175
    }
176
    with (_button_tile)
177
alarm[0]
178
};