Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_b1intro_Step_0

(view raw script w/o annotations or w/e)
1
scr_board_populatevars
scr_board_populatevars

function
scr_board_populatevars()
{ if (!variable_instance_exists(id, "kris")) kris = 0; if (!variable_instance_exists(id, "susie")) susie = 0; if (!variable_instance_exists(id, "ralsei")) ralsei = 0; if (kris == 0) { with (obj_mainchara_board) { if (name == "kris") other.kris = id; } } if (ralsei == 0) { with (obj_mainchara_board) { if (name == "ralsei") other.ralsei = id; } } if (susie == 0) { with (obj_mainchara_board) { if (name == "susie") other.susie = id; } } }
();
2
if (tennanpc == 0)
3
{
4
    with (obj_board_npc)
5
    {
6
        if (extflag == "intro")
7
            other.tennanpc = id;
8
    }
9
}
10
if (realsusie == 0)
11
{
12
    with (obj_caterpillarchara)
13
    {
14
        if (name == "susie")
15
            other.realsusie = id;
16
    }
17
}
18
if (realralsei == 0)
19
{
20
    with (obj_caterpillarchara)
21
    {
22
        if (name == "ralsei")
23
            other.realralsei = id;
24
    }
25
}
26
if (debuginit == 0)
27
{
28
    debuginit = 1;
29
    if (
scr_debug
scr_debug

function
scr_debug()
{ if (global.debug == 1) return 1; }
())
30
    {
31
        switch (global.tempflag[89])
32
        {
33
            case 1:
34
                with (obj_board_transition)
35
                    instance_destroy();
36
                active = false;
37
                debug_print("Push2 Sequence");
38
                
scr_board_instawarp
scr_board_instawarp

function
scr_board_instawarp(arg0, arg1, arg2, arg3, arg4)
{ with (obj_board_camera) { instawarp = true; if (argument_count == 6) { instawarproomgoto = argument5; camsavex = arg0; camsavey = arg1; } if (arg4 == "left" || arg4 == "right")
scr_quickwarp(arg0, arg1, arg2, arg3 + (obj_board_controller.kris_object.y - 144));
else if (arg4 == "up" || arg4 == "down")
scr_quickwarp(arg0, arg1, arg2 + (obj_board_controller.kris_object.x - 288), arg3);
else
scr_quickwarp(arg0, arg1, arg2, arg3);
} }
(1280, 1088, 1456, 1088);
39
                global.currentsong[0] = snd_init("board_zelda.ogg");
40
                global.currentsong[1] = mus_loop(global.currentsong[0]);
41
                break;
42
        }
43
        global.tempflag[89] = 0;
44
    }
45
}
46
if (active == 1)
47
{
48
    if (firstvisitcon == 0)
49
    {
50
        global.interact = 0;
51
        kris.visible = false;
52
        kris.sword = false;
53
        susie.visible = false;
54
        ralsei.visible = false;
55
        ralsei.follow = false;
56
        kris.x += 16;
57
        susie.x += 16;
58
        ralsei.x += 16;
59
        with (obj_mainchara_board)
60
            canfreemove = false;
61
        firstvisitcon++;
62
    }
63
    var startsnd = 492;
64
    var endsnd = 493;
65
    var timespread = 15;
66
    if (firstvisitcon == 1 && !i_ex(obj_board_transition))
67
    {
68
        star1 = instance_create(320, 192, obj_board_startransition);
69
        star1.image_index = 0;
70
        star1.targx = kris.x;
71
        star1.targy = kris.y;
72
        scr_delay_var("firstvisitcon", firstvisitcon + 1, timespread);
73
        with (kris)
74
            scr_delay_var("visible", true, other.star1.transitiontime);
75
        snd_play_delay(endsnd, star1.transitiontime);
76
        snd_stop(startsnd);
77
        snd_play(startsnd);
78
        firstvisitcon = -1;
79
    }
80
    if (firstvisitcon == 2)
81
    {
82
        star1 = instance_create(320, 192, obj_board_startransition);
83
        star1.image_index = 1;
84
        star1.targx = susie.x;
85
        star1.targy = susie.y;
86
        snd_stop(startsnd);
87
        snd_play(startsnd);
88
        scr_delay_var("firstvisitcon", firstvisitcon + 1, timespread);
89
        with (susie)
90
            scr_delay_var("visible", true, other.star1.transitiontime);
91
        snd_play_delay(endsnd, star1.transitiontime);
92
        firstvisitcon = -1;
93
    }
94
    if (firstvisitcon == 3)
95
    {
96
        snd_free_all();
97
        global.currentsong[0] = snd_init("board_zelda.ogg");
98
        global.currentsong[1] = mus_loop(global.currentsong[0]);
99
        star1 = instance_create(320, 192, obj_board_startransition);
100
        star1.image_index = 2;
101
        star1.targx = ralsei.x;
102
        star1.targy = ralsei.y;
103
        snd_stop(startsnd);
104
        snd_play(startsnd);
105
        with (ralsei)
106
            scr_delay_var("visible", true, other.star1.transitiontime);
107
        snd_play_delay(endsnd, star1.transitiontime);
108
        firstvisitcon = 4;
109
    }
110
    if (firstvisitcon == 4 && !i_ex(obj_board_startransition))
111
    {
112
        ralsei.follow = true;
113
        
scr_board_caterpillar_interpolate_ralsei
scr_board_caterpillar_interpolate_ralsei

function
scr_board_caterpillar_interpolate_ralsei()
{ var _ralsei = obj_board_controller.ralsei_object; if (_ralsei != -1) { with (_ralsei) { for (i = 0; i < 75; i += 1) { remx[i] = x; remy[i] = y; facing[i] = 0; } } var _a = 0; var _dir = point_direction(_ralsei.x, _ralsei.y, x, y); repeat (_ralsei.ralsei_target) { _ralsei.remx[_a] = lerp(obj_board_controller.kris_object.x, _ralsei.x, _a / _ralsei.ralsei_target); _ralsei.remy[_a] = lerp(obj_board_controller.kris_object.y, _ralsei.y, _a / _ralsei.ralsei_target); if (_dir >= 45 && _dir < 135) _ralsei.facingdir[_a] = 2; else if (_dir >= 135 && _dir < 225) _ralsei.facingdir[_a] = 3; else if (_dir >= 225 && _dir < 315) _ralsei.facingdir[_a] = 0; else if (_dir >= 315 || _dir < 45) _ralsei.facingdir[_a] = 1; _a++; } } }
();
114
        with (ralsei)
115
        {
116
            for (i = 0; i < 10; i += 1)
117
                facingdir[i] = 1;
118
            facingdir[10] = 0;
119
        }
120
        with (obj_mainchara_board)
121
            canfreemove = true;
122
        with (obj_mainchara_board)
123
        {
124
            if (name == "susie")
125
                sleepy = true;
126
        }
127
        
scr_play_susie_recording
scr_play_susie_recording

function
scr_play_susie_recording(arg0)
{ with (obj_mainchara_board) { if (name == "susie") { susierecordcon = 2; susierecordcount = 0; susierecordstring = arg0; susierecordsave = false; } } }
("0W0W0W0W0W0W0W0D0D0D0D0D0D0D0D0D0D0D0D0D0LD0LD0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0W0W0W0W0W0W0W0W0W0W0W0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0W0W0W0W0W0W0W0W0W0W0U0U0U0U0U0U0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0W0W0W0W0D0D0D0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0U0U0U0U0U0U0U0U0U0U0U0U0W0W0W0W0W0W0W0W0W0W0W0W0D0D0D0D0D0D0D0D0D0D0D0D0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0RU0RU0RU0RU0RU0U0U0U0U0U0LU0LU0L0L0W0W0W0W0W0D0D0D0D0D0D0D0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W");
128
        with (obj_actor_tenna)
129
            bounce = 1;
130
        var tetalk = stringsetloc(
Welcome to DESERT! "Talk" to me for hints!
"Welcome to DESERT! \"Talk\" to me for hints!", "obj_b1intro_slash_Step_0_gml_113_0"
);
131
        
scr_couchtalk
scr_couchtalk

function scr_couchclear(arg0) { with (obj_couchwriter) { if (speaker == arg0) instance_destroy(); } } function
scr_couchtalk(arg0, arg1)
{ var ix = -1; var iy = -1; if (argument_count >= 6) { ix = argument4; iy = argument5; } var couchtext = instance_create_depth(ix, iy, 5000, obj_couchwriter); couchtext.mystring = arg0; couchtext.speaker = arg1; if (argument_count >= 3) couchtext.cleartext = argument2; if (argument_count >= 4) couchtext.drawtime = argument3; if (argument_count >= 7) couchtext.customsnd = argument6; if (argument_count >= 8) couchtext.customcolor = argument7; if (argument_count >= 9) couchtext.talkrate = argument8; if (argument_count >= 10) couchtext.talklength = argument9; return couchtext; }
(tetalk, "tenna", 2, 110);
132
        firstvisitcon = 100;
133
    }
134
    if (firstvisitcon == 100)
135
    {
136
        if (i_ex(tennanpc))
137
        {
138
            if (tennanpc.read > 0 && !bw_ex())
139
            {
140
                firstvisitcon = 101;
141
                scr_delay_var("firstvisitcon", 102, 15);
142
            }
143
        }
144
    }
145
    if (firstvisitcon == 102 && (ralseitoot == 0 || ralseitoot == 200))
146
    {
147
        var sutalk = stringsetloc(
Where's the "shut up" button?
"Where's the \"shut up\" button?", "obj_b1intro_slash_Step_0_gml_131_0"
);
148
        
scr_couchtalk
scr_couchtalk

function scr_couchclear(arg0) { with (obj_couchwriter) { if (speaker == arg0) instance_destroy(); } } function
scr_couchtalk(arg0, arg1)
{ var ix = -1; var iy = -1; if (argument_count >= 6) { ix = argument4; iy = argument5; } var couchtext = instance_create_depth(ix, iy, 5000, obj_couchwriter); couchtext.mystring = arg0; couchtext.speaker = arg1; if (argument_count >= 3) couchtext.cleartext = argument2; if (argument_count >= 4) couchtext.drawtime = argument3; if (argument_count >= 7) couchtext.customsnd = argument6; if (argument_count >= 8) couchtext.customcolor = argument7; if (argument_count >= 9) couchtext.talkrate = argument8; if (argument_count >= 10) couchtext.talklength = argument9; return couchtext; }
(sutalk, "susie", 2, 90);
149
        scr_delay_var("firstvisitcon", 104, 60);
150
        realsusie.sprite_index = spr_susie_walk_right_dw_unhappy;
151
        with (realsusie)
152
            scr_delay_var("sprite_index", 406, 55);
153
        firstvisitcon++;
154
    }
155
    if (firstvisitcon == 104)
156
    {
157
        with (obj_actor_tenna)
158
            bounce = 1;
159
        var tetalk = stringsetloc(
Sorry kid, that's premium!
"Sorry kid, that's premium!", "obj_b1intro_slash_Step_0_gml_141_0"
);
160
        
scr_couchtalk
scr_couchtalk

function scr_couchclear(arg0) { with (obj_couchwriter) { if (speaker == arg0) instance_destroy(); } } function
scr_couchtalk(arg0, arg1)
{ var ix = -1; var iy = -1; if (argument_count >= 6) { ix = argument4; iy = argument5; } var couchtext = instance_create_depth(ix, iy, 5000, obj_couchwriter); couchtext.mystring = arg0; couchtext.speaker = arg1; if (argument_count >= 3) couchtext.cleartext = argument2; if (argument_count >= 4) couchtext.drawtime = argument3; if (argument_count >= 7) couchtext.customsnd = argument6; if (argument_count >= 8) couchtext.customcolor = argument7; if (argument_count >= 9) couchtext.talkrate = argument8; if (argument_count >= 10) couchtext.talklength = argument9; return couchtext; }
(tetalk, "tenna", 2, 90);
161
        firstvisitcon++;
162
    }
163
    if (i_ex(obj_couchwriter))
164
        bubblebuff = 30;
165
    else
166
        bubblebuff--;
167
    if (con == 0 && obj_board_camera.con == 0 && firstvisitcon >= 100)
168
    {
169
        ralsei.follow = true;
170
        timer++;
171
        if (timer == 3)
172
        {
173
            susie.sleepy = 1;
174
            con = 1;
175
            timesvisited++;
176
            timer = 0;
177
        }
178
    }
179
    if (con == 1)
180
    {
181
        with (obj_mainchara_board)
182
        {
183
            if (name == "susie")
184
                sleepy = true;
185
        }
186
        if (susie.x == 320)
187
        {
188
            
scr_play_susie_recording
scr_play_susie_recording

function
scr_play_susie_recording(arg0)
{ with (obj_mainchara_board) { if (name == "susie") { susierecordcon = 2; susierecordcount = 0; susierecordstring = arg0; susierecordsave = false; } } }
("0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0D0D0D0D0D0D0D0D0D0D0D0D0D0LD0LD0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0W0W0W0W0W0W0W0W0W0W0W0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0W0W0W0W0W0W0W0W0W0W0U0U0U0U0U0U0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0W0W0W0W0D0D0D0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0U0U0U0U0U0U0U0U0U0U0U0U0W0W0W0W0W0W0W0W0W0W0W0W0D0D0D0D0D0D0D0D0D0D0D0D0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0RU0RU0RU0RU0RU0U0U0U0U0U0LU0LU0L0L0W0W0W0W0W0D0D0D0D0D0D0D0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W");
189
            con++;
190
        }
191
        else if (susie.y == 288)
192
        {
193
            
scr_pathfind_to_point
scr_pathfind_to_point

function
scr_pathfind_to_point(arg0, arg1, arg2)
{ var __destx = arg1 + 16; var __desty = arg2 + 16; if (arg1 < 12 && arg2 < 8) { __destx = 128 + (32 * arg1) + 16; __desty = 64 + (32 * arg2) + 16; } with (obj_mainchara_board) { if (name == arg0) { path_end(); is_moving_timer = 0; is_moving = true; path_target_x = __destx; path_target_y = __desty; follow = false; if (argument_count == 4) { if (argument3 != -1) path_end_facing = argument3; } if (argument_count == 5) { if (argument4 != -1) allow_diagonals = argument4; } } } }
("susie", 304, susie.y);
194
            con = 10;
195
        }
196
        else if (susie.x == 432)
197
        {
198
            
scr_play_susie_recording
scr_play_susie_recording

function
scr_play_susie_recording(arg0)
{ with (obj_mainchara_board) { if (name == "susie") { susierecordcon = 2; susierecordcount = 0; susierecordstring = arg0; susierecordsave = false; } } }
("0W0W0W0W0W0W0W0W0W0W0W0W0W0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0D0LD0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0U0U0U0U0U0U0U0U0RU0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0RD0RD0RD0D0D0D0D0D0LD0LD0L0L0L0L0L0L0L0L0L0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W");
199
            con = -999;
200
        }
201
        else
202
        {
203
            con = -999;
204
        }
205
    }
206
    if (con == 10)
207
    {
208
        with (obj_mainchara_board)
209
        {
210
            if (name == "susie")
211
                sleepy = true;
212
        }
213
        if (susie.x == 304)
214
        {
215
            var wander1 = "0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0U0U0U0U0U0U0U0U0U0U0U0U0U0LU0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0W0W0U0U0U0U0W0W0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0D0D0D0D0D0D0W0W0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0LU0LU0LU0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0W0L0L0L0W0W0W0W0W0W0W0W0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0W0W0W0W0W0W0W0W0W0W0W0W0W0R0R0R0R0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0D0D0W0W0W0W0W0W0W0W0W0W0W0W0W0D0D0D0D0D0D0D0D0D0D0LD0L0L0L0L0L0L0L0L0L0L0L0L0L0L0W0W0W0W0W0W0W0W0W0W0W0D0D0D0D0D0D0D0W0W0W0R0R0R0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0R0R0R0R0R0R0R0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W";
216
            var wander2 = "0W0W0W0W0W0W0U0U0U0U0U0U0U0U0U0U0U0U0U0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0W0W0W0L0L0L0L0L0LU0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0U0RU0R0R0R0R0R0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0D0D0D0D0D0D0D0D0D0D0RD0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0RD0RD0D0D0D0D0D0D0D0D0D0L0L0L0L0L0L0L0L0L0L0L0L0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W";
217
            var wander3 = "0W0W0W0W0W0W0W0W0W0U0U0U0U0LU0LU0LU0LU0U0LU0LU0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0W0W0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0RU0RU0RU0RU0RU0RU0U0U0U0U0U0U0U0U0U0LU0LU0LU0L0L0L0L0L0L0L0LU0LU0U0U0U0U0U0U0U0RU0R0R0R0R0R0R0R0W0W0L0L0L0L0L0L0L0L0L0W0W0W0W0W0R0R0R0R0R0R0R0R0R0W0L0L0L0L0L0L0L0L0L0W0W0W0U0DU0DU0DU0DU0W0D0D0D0D0D0D0D0D0D0D0D0D0D0D0RD0RD0R0R0R0R0R0R0R0R0R0R0R0R0R0R0R0RD0RD0D0D0D0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0LU0LU0U0U0U0RU0R0R0R0R0R0R0R0R0R0R0R0R0R0R0RD0RD0RD0D0D0D0LD0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0LU0LU0U0U0U0RU0R0R0R0R0R0R0R0R0R0R0R0RD0RD0RD0D0LD0LD0LD0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0L0LD0LD0D0D0D0D0D0R0R0R0R0R0R0R0R0R0R0R0R0R0R0W0W0W0W0W0W0W0W0W0R0R0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W0W";
218
            
scr_pathfind_end
scr_pathfind_end

function
scr_pathfind_end(arg0)
{ with (obj_mainchara_board) { if (name == arg0) { path_end(); path_target_x = -1; path_target_y = -1; is_moving_timer = 0; is_moving = false; } } }
("susie");
219
            
scr_play_susie_recording
scr_play_susie_recording

function
scr_play_susie_recording(arg0)
{ with (obj_mainchara_board) { if (name == "susie") { susierecordcon = 2; susierecordcount = 0; susierecordstring = arg0; susierecordsave = false; } } }
(choose(wander1, wander2, wander3));
220
            con++;
221
        }
222
    }
223
}
224
else
225
{
226
    con = 0;
227
    if (firstvisitcon > 1 && firstvisitcon < 100)
228
        firstvisitcon = 100;
229
    if (firstvisitcon > 100)
230
        firstvisitcon = 110;
231
    if (ralseitoot != 0)
232
        ralseitoot = 200;
233
}