Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_ch3_PGS01B_convo_Step_0

(view raw script w/o annotations or w/e)
1
if (!parallel_active)
2
    exit;
3
if (check_point)
4
{
5
    if (point_distance(dialogue_marker[marker_index].x, dialogue_marker[marker_index].y, obj_mainchara.x, obj_mainchara.y) < 90)
6
    {
7
        convo_queue++;
8
        marker_index++;
9
        if (marker_index >= array_length_1d(dialogue_marker))
10
            check_point = false;
11
    }
12
}
13
if (!start_convo && convo_queue > 0 && !d_ex())
14
{
15
    convo_queue--;
16
    start_convo = true;
17
    current_convo = scr_get_parallel_convo(convo_index);
18
    current_line_index = 0;
19
    
scr_flag_set
scr_flag_set

function
scr_flag_set(arg0, arg1)
{ global.flag[arg0] = arg1; }
(7, 1);
20
}
21
if (start_convo && !d_ex())
22
{
23
    if (current_line_index >= array_length_1d(current_convo))
24
    {
25
        start_convo = false;
26
        convo_index++;
27
        exit;
28
    }
29
    var current_line = current_convo[current_line_index];
30
    
scr_speaker
scr_speaker

function
scr_speaker(arg0)
{ _speaker = arg0; global.typer = 5; if (global.darkzone == 1) global.typer = 6; if (global.fighting == 1) global.typer = 4; global.fc = 0; global.fe = 0; if (_speaker == "silent" && global.darkzone == 0) global.typer = 2; if (_speaker == "silent" && global.darkzone == 1) global.typer = 36; if (_speaker == "balloon" || _speaker == "enemy") global.typer = 50; if (_speaker == "sans") { global.typer = 14; global.fc = 6; } if (_speaker == "undyne" || _speaker == "und") { global.typer = 17; global.fc = 9; } if (_speaker == "temmie" || _speaker == "tem") global.typer = 21; if (_speaker == "jevil") global.typer = 35; if (_speaker == "catti") global.fc = 13; if (_speaker == "jockington" || _speaker == "joc") global.fc = 14; if (_speaker == "catty" || _speaker == "caddy") global.fc = 16; if (_speaker == "bratty" || _speaker == "bra") global.fc = 17; if (_speaker == "rouxls" || _speaker == "rou") global.fc = 18; if (_speaker == "burgerpants" || _speaker == "bur") global.fc = 19; if (_speaker == "spamton") { if (global.fighting == 0) global.typer = 66; else global.typer = 68; } if (_speaker == "sneo") global.typer = 67; if (_speaker == "tenna") { global.typer = 80; if (global.fighting == 1) global.typer = 81; } if (_speaker == "susie" || _speaker == "sus") { global.fc = 1; global.typer = 10; if (global.darkzone == 1) { global.typer = 30; if (global.fighting == 1) global.typer = 47; } } if (_speaker == "ralsei" || _speaker == "ral") { global.fc = 2; global.typer = 31; if (global.fighting == 1) global.typer = 45; if (global.flag[30 ralsei_hat_state] == 1) global.typer = 6; } if (_speaker == "noelle" || _speaker == "noe") { global.fc = 3; if (global.darkzone == 0) global.typer = 12; else global.typer = 56; if (global.fighting == 1) global.typer = 59; } if (_speaker == "toriel" || _speaker == "tor") { global.fc = 4; global.typer = 7; } if (_speaker == "asgore" || _speaker == "asg") { global.fc = 10; global.typer = 18; } if (_speaker == "king" || _speaker == "kin") { global.fc = 20; global.typer = 33; ...
(current_line.speaker);
31
    msgset(0, current_line.dialogue);
32
    var d = d_make();
33
    d.zurasu = 1;
34
    d.stay = 5;
35
    d.side = scr_parallel_convo_get_side();
36
    auto_talk = true;
37
    current_line_index++;
38
    talk_timer = 0;
39
}
40
if (auto_talk)
41
{
42
    if (!d_ex())
43
    {
44
        auto_talk = false;
45
        
scr_flag_set
scr_flag_set

function
scr_flag_set(arg0, arg1)
{ global.flag[arg0] = arg1; }
(7, 0);
46
        if (room == room_dw_couch_overworld_05)
47
            
scr_flag_set
scr_flag_set

function
scr_flag_set(arg0, arg1)
{ global.flag[arg0] = arg1; }
(734, 1);
48
        exit;
49
    }
50
    if (!i_ex(obj_writer))
51
        exit;
52
    with (obj_writer)
53
        skippable = 0;
54
    if (obj_writer.halt == 0)
55
        exit;
56
    talk_timer++;
57
    var max_timer = (global.lang == "ja") ? 80 : 60;
58
    if (talk_timer >= max_timer)
59
    {
60
        with (obj_writer)
61
            forcebutton1 = 1;
62
        talk_timer = 0;
63
    }
64
}