Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_tvturnoff_manager_Draw_0

(view raw script w/o annotations or w/e)
1
if (init == 0)
2
{
3
    if (kind == 0)
4
        persistent = false;
5
    if (kind == 1)
6
        global.interact = 1;
7
    init = 1;
8
}
9
if (i_ex(obj_dialoguer))
10
    depth = obj_dialoguer.depth + 2;
11
if (con > 0)
12
    draw_sprite_ext(spr_blank_tile_black, 0, camerax(), cameray(), 30, 30, 0, c_white, image_alpha);
13
if (con == 0)
14
{
15
    timer++;
16
    _alpha1 = lerp(0, 1, timer / 5);
17
    draw_sprite_ext(spr_zapper_tvturnoff1, 0, camerax() + 320, cameray() + 240 + yoff, 6, 10, 0, c_white, _alpha1);
18
    if (timer == 5)
19
    {
20
        con = 1;
21
        timer = 0;
22
    }
23
}
24
if (con == 1)
25
{
26
    timer++;
27
    if (timer == 4)
28
        snd_play(snd_tvturnoff);
29
    _yscale1 = lerp(_yscale1, 0.05, timer / 8);
30
    draw_sprite_ext(spr_zapper_tvturnoff1, 0, camerax() + 320, cameray() + 240 + yoff, 6, _yscale1, 0, c_white, 1);
31
    draw_sprite_ext(spr_zapper_tvturnoff2, 2, camerax() + 320, cameray() + 240 + yoff, 0.1, 0.1, 0, c_white, 1);
32
    if (timer == 8)
33
    {
34
        con = 2;
35
        timer = 0;
36
        snd_play(snd_tvturnoff2);
37
        if (kind == 0)
38
            audio_pause_sound(global.batmusic[1]);
39
        if (kind == 1 || kind == 2)
40
            audio_pause_sound(global.currentsong[1]);
41
    }
42
}
43
if (con == 2)
44
{
45
    timer++;
46
    var timing = 10;
47
    if (timer <= timing)
48
    {
49
        _xscale1 = lerp(_xscale1, 0, timer / timing);
50
        _yscale1 = lerp(_yscale1, 0.01, timer / timing);
51
    }
52
    timer2++;
53
    var timing2 = 5;
54
    if (timer2 <= timing2)
55
    {
56
        _xscale2 = lerp(_xscale2, 0.4, timer2 / timing2);
57
        _yscale2 = lerp(_yscale2, 0.4, timer2 / timing2);
58
    }
59
    else
60
    {
61
        _xscale2 = lerp(_xscale2, 0, (timer2 - timing2) / timing2);
62
        _yscale2 = lerp(_yscale2, 0, (timer2 - timing2) / timing2);
63
    }
64
    draw_sprite_ext(spr_zapper_tvturnoff1, 0, camerax() + 320, cameray() + 240 + yoff, _xscale1, _yscale1, 0, c_white, 1);
65
    draw_sprite_ext(spr_zapper_tvturnoff2, 2, camerax() + 320, cameray() + 240 + yoff, _xscale2, _yscale2, 0, c_white, 1);
66
    if (timer == 30)
67
    {
68
        con = 3;
69
        timer = 0;
70
        if (kind == 1)
71
        {
72
            if (entrance != "none")
73
                global.entrance = entrance;
74
            if (facing != -1)
75
                global.facing = facing;
76
            if (room_exists(roomtarg))
77
            {
78
                global.interact = 3;
79
                
scr_setparty
scr_setparty

function
scr_setparty(arg0 = false, arg1 = false, arg2 = false)
{ var kris = obj_mainchara; var slot = 0; var __make = true; if (!i_ex(kris)) __make = false;
scr_losechar();
safe_delete(obj_caterpillarchara); if (arg0 == true) {
scr_getchar(2);
if (__make) { with (
scr_makecaterpillar(kris.x, kris.y, 2, slot))
{ halign = (global.darkzone == 0) ? 3 : 6; valign = (global.darkzone == 0) ? 6 : 16; x -= halign; y -= valign; } } slot++; } if (arg1 == true) {
scr_getchar(3);
if (__make) { with (
scr_makecaterpillar(kris.x, kris.y, 3, slot))
{ halign = 2; valign = 12; x -= halign; y -= valign; } } slot++; } if (arg2 == true) {
scr_getchar(4);
if (__make) { with (
scr_makecaterpillar(kris.x, kris.y, 4, slot))
{ halign = (global.darkzone == 0) ? 2 : 4; valign = (global.darkzone == 0) ? 9 : 18; x -= halign; y -= valign; } } slot++; } }
(1, 1, 0);
80
                room_goto(roomtarg);
81
            }
82
        }
83
        if (kind == 2)
84
        {
85
            obj_mainchara.x = 
scr_even
scr_even

function
scr_even(arg0)
{ return round(arg0 / 2) * 2; }
(targx);
86
            obj_mainchara.y = 
scr_even
scr_even

function
scr_even(arg0)
{ return round(arg0 / 2) * 2; }
(targy);
87
            if (kind == 2)
88
                global.facing = 1;
89
            with (obj_caterpillarchara)
90
            {
91
                setxy(
scr_even
scr_even

function
scr_even(arg0)
{ return round(arg0 / 2) * 2; }
(obj_mainchara.x - 10),
scr_even
scr_even

function
scr_even(arg0)
{ return round(arg0 / 2) * 2; }
(obj_mainchara.y - 16));
92
                if (name == "susie")
93
                {
94
                    x -= 12;
95
                    y -= 16;
96
                }
97
                else
98
                {
99
                    x -= 20;
100
                    y += 14;
101
                }
102
                
scr_caterpillar_interpolate
scr_caterpillar_interpolate

function
scr_caterpillar_interpolate(arg0 = "none")
{ if (arg0 == "all") { with (obj_caterpillarchara) scr_caterpillar_interpolate_old(); } else if (arg0 == "none") { if (object_index == obj_caterpillarchara) scr_caterpillar_interpolate_old(); } else { with (obj_caterpillarchara) { if (name == arg0) scr_caterpillar_interpolate_old(); } } } function scr_caterinterp(arg0 = "none") {
scr_caterpillar_interpolate(arg0);
} function scr_caterpillar_interpolate_old() { _newfacing =
scr_facing_letter_to_number(
scr_get_cardinal_direction(point_direction(x, y, obj_mainchara.x, obj_mainchara.y)));
remx[0] = obj_mainchara.x; remy[0] = obj_mainchara.y; facing[0] = _newfacing; for (_iaia = target; _iaia > 0; _iaia -= 1) { remx[_iaia] = lerp(obj_mainchara.x, x, _iaia / target); if (global.darkzone == 1) remy[_iaia] = lerp(obj_mainchara.y, y + 16, _iaia / target); else remy[_iaia] = lerp(obj_mainchara.y, y + 6, _iaia / target); facing[_iaia] = _newfacing; } }
();
103
                
scr_caterpillar_facing
scr_caterpillar_facing

function
scr_caterpillar_facing(arg0 = 0, arg1 = "all")
{ with (obj_caterpillarchara) { if (name == arg1 || arg1 == "all") { for (var _i = 0; _i < 25; _i += 1) facing[_i] = arg0; } } }
(1);
104
            }
105
        }
106
    }
107
}
108
if (con == 3)
109
{
110
    timer++;
111
    if (image_alpha == 1 && muted == 0)
112
    {
113
        if (kind == 0)
114
            audio_resume_sound(global.batmusic[1]);
115
        if (kind == 1)
116
        {
117
            mus_volume(global.currentsong[1], 0, 0);
118
            audio_resume_sound(global.currentsong[1]);
119
            mus_volume(global.currentsong[1], 1, 10);
120
        }
121
    }
122
    if (tennaending)
123
    {
124
        image_alpha = 1;
125
    }
126
    else
127
    {
128
        image_alpha -= 0.1;
129
        if (image_alpha < 0)
130
        {
131
            snd_stop(snd_tvturnoff2);
132
            instance_destroy();
133
            if (kind == 1 || kind == 2)
134
                global.interact = 0;
135
        }
136
    }
137
}