Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_dw_teevie_tv_screens_treasure_Step_0

(view raw script w/o annotations or w/e)
1
if (init == 0)
2
{
3
    for (var i = 0; i < width; i++)
4
    {
5
        var tile_x = i;
6
        for (var j = 0; j < height; j++)
7
        {
8
            var tile_y = j;
9
            var is_animated = !(tile_x == 3 && tile_y == 2);
10
            var new_screen = new 
scr_teevie_screen
scr_teevie_screen

function
scr_teevie_screen(arg0) constructor
{ static init = function() { set_screen(); }; static get_tile_pos = function() { return _tile_pos; }; static set_screen_sprite = function(arg0) { _screensprite = arg0; }; static get_screen_sprite = function() { return _screensprite; }; static set_screen_image_index = function(arg0) { _screenimage = arg0; }; static get_screen_image_index = function() { return _screenimage; }; static is_animated = function() { return _screenanimate; }; static disable_animation = function() { _screenanimate = false; }; static set_screen_con = function(arg0) { _screencon = arg0; }; static get_screen_con = function() { return _screencon; }; static set_screen_color = function(arg0) { _screencolor = arg0; }; static get_screen_color = function() { return _screencolor; }; static increment_screen_timer = function() { _screentimer += 1; }; static set_screen_timer = function(arg0) { _screentimer = arg0; }; static get_screen_timer = function() { return _screentimer; }; static set_screen_offset = function(arg0) { _screenimageoffset = arg0; }; static get_screen_offset = function() { return _screenimageoffset; }; static set_screen = function() { var random_image_index = choose(0, 2, 4, 8, 19, 23, 31, 35, 37, 39); set_screen_image_index(random_image_index); switch (random_image_index) { case 0: set_screen_color(c_aqua); break; case 2: set_screen_color(c_yellow); break; case 4: set_screen_color(#FFD4B3); ...
(new Vector2(tile_x, tile_y));
11
            new_screen.init();
12
            if (!is_animated)
13
                new_screen.disable_animation();
14
            _screen_list[array_length(_screen_list)] = new_screen;
15
        }
16
    }
17
    init = 1;
18
}
19
for (var i = 0; i < array_length(_screen_list); i++)
20
{
21
    var screen = _screen_list[i];
22
    var screencon = screen.get_screen_con();
23
    if (mode == 0)
24
    {
25
        if (screencon == 0)
26
        {
27
            if (screen.is_animated())
28
                screen.increment_screen_timer();
29
            if ((abs(screen.get_screen_timer()) % 8) == 0)
30
            {
31
                if (screen.get_screen_offset() == 0)
32
                    screen.set_screen_offset(1);
33
                else
34
                    screen.set_screen_offset(0);
35
            }
36
            if (abs(screen.get_screen_timer()) >= 120)
37
                screen.set_static();
38
        }
39
        else if (screencon == 1)
40
        {
41
            if (screen.is_animated())
42
                screen.increment_screen_timer();
43
            if ((abs(screen.get_screen_timer()) % 2) == 0)
44
            {
45
                if (screen.get_screen_offset() == 0)
46
                    screen.set_screen_offset(1);
47
                else
48
                    screen.set_screen_offset(0);
49
            }
50
            if (abs(screen.get_screen_timer()) >= 15)
51
            {
52
                var random_timer = -100 + floor(random(100));
53
                screen.set_screen_timer(random_timer);
54
                screen.set_screen_con(0);
55
                screen.set_screen_sprite(spr_dw_teevie_tv_shows);
56
                screen.set_screen();
57
            }
58
        }
59
        else if (screencon == 2)
60
        {
61
            if (screen.is_animated())
62
                screen.increment_screen_timer();
63
            if ((abs(screen.get_screen_timer()) % 4) == 0)
64
            {
65
                var offset = screen.get_screen_offset();
66
                screen.set_screen_offset(offset + 1);
67
                if (screen.get_screen_offset() == 4)
68
                    screen.set_screen_offset(0);
69
            }
70
            if (abs(screen.get_screen_timer()) >= 120)
71
                screen.set_static();
72
        }
73
        else if (screencon == 3)
74
        {
75
            if (screen.is_animated())
76
                screen.increment_screen_timer();
77
            if ((abs(screen.get_screen_timer()) % 4) == 0)
78
            {
79
                var offset = screen.get_screen_offset();
80
                screen.set_screen_offset(offset + 1);
81
                if (screen.get_screen_offset() == 11)
82
                    screen.set_screen_offset(0);
83
            }
84
            if (abs(screen.get_screen_timer()) >= 120)
85
                screen.set_static();
86
        }
87
        else if (screencon == 4)
88
        {
89
            if (screen.is_animated())
90
                screen.increment_screen_timer();
91
            if ((abs(screen.get_screen_timer()) % 4) == 0)
92
            {
93
                var offset = screen.get_screen_offset();
94
                screen.set_screen_offset(offset + 1);
95
                if (screen.get_screen_offset() == 4)
96
                    screen.set_screen_offset(0);
97
            }
98
            if (abs(screen.get_screen_timer()) >= 120)
99
                screen.set_static();
100
        }
101
        else if (screencon == 5)
102
        {
103
            if (screen.is_animated())
104
                screen.increment_screen_timer();
105
            if ((abs(screen.get_screen_timer()) % 4) == 0)
106
            {
107
                var offset = screen.get_screen_offset();
108
                if (offset < 7)
109
                    screen.set_screen_offset(offset + 1);
110
            }
111
            if (abs(screen.get_screen_timer()) >= 20)
112
                screen.set_static();
113
        }
114
        else if (screencon == 6)
115
        {
116
            if (screen.is_animated())
117
                screen.increment_screen_timer();
118
            if ((abs(screen.get_screen_timer()) % 4) == 0)
119
            {
120
                var offset = screen.get_screen_offset();
121
                screen.set_screen_offset(offset + 1);
122
                if (screen.get_screen_offset() == 4)
123
                    screen.set_screen_offset(0);
124
            }
125
            if (abs(screen.get_screen_timer()) >= 120)
126
                screen.set_static();
127
        }
128
        else if (screencon == 7)
129
        {
130
            if (screen.is_animated())
131
                screen.increment_screen_timer();
132
            if ((abs(screen.get_screen_timer()) % 6) == 0)
133
            {
134
                var offset = screen.get_screen_offset();
135
                screen.set_screen_offset(offset + 1);
136
                if (screen.get_screen_offset() == 2)
137
                    screen.set_screen_offset(0);
138
            }
139
            if (abs(screen.get_screen_timer()) >= 120)
140
                screen.set_static();
141
        }
142
        else if (screencon == 8)
143
        {
144
            if (screen.is_animated())
145
                screen.increment_screen_timer();
146
            if ((abs(screen.get_screen_timer()) % 6) == 0)
147
            {
148
                var offset = screen.get_screen_offset();
149
                screen.set_screen_offset(offset + 1);
150
                if (screen.get_screen_offset() == 2)
151
                    screen.set_screen_offset(0);
152
            }
153
            if (abs(screen.get_screen_timer()) >= 120)
154
                screen.set_static();
155
        }
156
        else if (screencon == 9)
157
        {
158
            if (screen.is_animated())
159
                screen.increment_screen_timer();
160
            if ((abs(screen.get_screen_timer()) % 6) == 0)
161
            {
162
                var offset = screen.get_screen_offset();
163
                screen.set_screen_offset(offset + 1);
164
                if (screen.get_screen_offset() == 2)
165
                    screen.set_screen_offset(0);
166
            }
167
            if (abs(screen.get_screen_timer()) >= 120)
168
                screen.set_static();
169
        }
170
    }
171
}
172
if (treasure_sequence)
173
{
174
    treasure_timer++;
175
    if (global.interact == 0)
176
    {
177
        global.interact = 1;
178
        
scr_shakescreen
scr_shakescreen

function
scr_shakescreen()
{ instance_create(x, y, obj_shake); }
();
179
        snd_play(snd_closet_impact);
180
        show_treasure();
181
    }
182
    if (treasure_timer >= 20)
183
    {
184
        global.interact = 0;
185
        treasure_sequence = false;
186
        treasure_timer = 0;
187
    }
188
}