Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_homealone_kitchen_phone_Step_0

(view raw script w/o annotations or w/e)
1
if (start_speech)
2
{
3
    speech_delay_timer--;
4
    if (speech_delay_timer <= 0)
5
    {
6
        start_speech = false;
7
        speech_active = true;
8
        show_text = true;
9
    }
10
}
11
if (speech_active)
12
{
13
    if (i_ex(obj_writer))
14
    {
15
        var text_finished = false;
16
        with (obj_writer)
17
            text_finished = reachedend;
18
        if (text_finished && show_text_timer <= 0)
19
        {
20
            show_text_timer = 75;
21
            fade_bubble = true;
22
        }
23
    }
24
    else
25
    {
26
        if (stop_speech)
27
            exit;
28
        show_text_timer--;
29
        if (show_text_timer <= 0)
30
        {
31
            if (speech_index >= array_length(speech))
32
            {
33
                speech_active = false;
34
                exit;
35
            }
36
            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); }
("dotumche"));
37
            snd_play(spr_kris_phone_message);
38
            bg_base_alpha = 0;
39
            
scr_flag_set
scr_flag_set

function
scr_flag_set(arg0, arg1)
{ global.flag[arg0] = arg1; if (
scr_debug())
show_debug_message("*** flag [" + string(arg0) + "] updated: " + string(arg1) + " | " + scr_flag_name_get(arg0)); } function scr_setflag(arg0, arg1) {
scr_flag_set(arg0, arg1);
}
(736, speech_index);
40
            current_text = speech[speech_index];
41
            global.msg[0] = current_text;
42
            var text_height = string_height(current_text) * 0.25;
43
            var text_width = string_width(current_text) * 0.75;
44
            var bubble = instance_create(phone_marker.x - (text_width / 2), phone_marker.y, obj_text_spikeballoon);
45
            bubble.y = phone_marker.y + 30;
46
            bubble.tailx = phone_marker.x + 12;
47
            bubble.taily = phone_marker.y + 15;
48
            bubble.w = (string_width(current_text) / 2) + 20;
49
            global.typer = 81;
50
            writer = instance_create(phone_marker.x - (text_width / 2), speech_base_ypos - text_height, obj_writer);
51
            writer.shake = 0.75;
52
            writer.rate = 4;
53
            writer.textscale = 0.5;
54
            writer.hspace = 5;
55
            writer.vspace = 9;
56
            writer.fadeonend = 0.02;
57
            with (writer)
58
                skippable = 0;
59
            speech_index++;
60
        }
61
    }
62
}
63
if (stop_speech)
64
{
65
    if (!i_ex(obj_writer))
66
    {
67
        stop_speech = false;
68
        instance_destroy();
69
    }
70
}
71
if (fade_bubble)
72
{
73
    fade_bubble_timer++;
74
    if (fade_bubble_timer == 10)
75
    {
76
        with (obj_text_spikeballoon)
77
            
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; }
("image_alpha", 0.7, 0, 60);
78
    }
79
    if (fade_bubble_timer == 70)
80
    {
81
        fade_bubble = false;
82
        fade_bubble_timer = 0;
83
        with (obj_text_spikeballoon)
84
            instance_destroy();
85
    }
86
}