Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_dw_teevie_cameras_Step_0

(view raw script w/o annotations or w/e)
1
if (neverwork)
2
    disable = true;
3
if (cheer_flag > 0 && global.flag[cheer_flag] == 0)
4
    exit;
5
var in_range = obj_mainchara.x >= threshold_left && obj_mainchara.x <= threshold_right && obj_mainchara.y >= threshold_vertical && obj_mainchara.y <= (threshold_vertical + max_vertical_threshold);
6
if (in_range && !glitz_active && !disable)
7
{
8
    var _on_screen = obj_mainchara.y >= y;
9
    if (!_on_screen)
10
        exit;
11
    glitz_active = true;
12
    with (cheer_audience)
13
        show_crowd();
14
    with (camera_crowd)
15
        show_crowd();
16
    if (!snd_is_playing(audience_sfx[1]))
17
        audience_sfx[1] = mus_loop_ext(audience_sfx[0], 1, 1);
18
    else
19
        snd_volume(audience_sfx[1], 1, 8);
20
    ooaatimer = 30;
21
    timer = 25;
22
}
23
if (glitz_active)
24
{
25
    if (!in_range || disable)
26
    {
27
        glitz_active = false;
28
        with (cheer_audience)
29
            hide_crowd();
30
        with (camera_crowd)
31
            hide_crowd();
32
        snd_volume(audience_sfx[1], 0, 8);
33
        exit;
34
    }
35
    timer++;
36
    ooaatimer++;
37
    if (obj_mainchara.y >= y && obj_mainchara.x >= threshold_left && obj_mainchara.x < threshold_right)
38
    {
39
        if (ooaatimer > ooaa_max)
40
        {
41
            var snd = 453;
42
            var snd_pick = irandom(1);
43
            switch (snd_pick)
44
            {
45
                case 1:
46
                    snd = 451;
47
                    break;
48
            }
49
            var pitch = random_range(0.75, 1.5);
50
            snd_play_x(snd, 1, pitch);
51
            ooaatimer = 0;
52
            ooaa_max = irandom(140) + 30;
53
        }
54
    }
55
    if (obj_mainchara.y >= y && timer > timer_max)
56
    {
57
        var rand_x = (threshold_left + irandom(threshold_right - threshold_left)) - 80;
58
        var rand_y = irandom(40);
59
        var this_flash = 
scr_dark_marker
scr_dark_marker

function
scr_dark_marker(arg0, arg1, arg2)
{ thismarker = instance_create(arg0, arg1, obj_marker); with (thismarker) { sprite_index = arg2; image_speed = 0; image_xscale = 2; image_yscale = 2; } return thismarker; }
(rand_x, (y - 40) + rand_y, spr_dw_teevie_flash);
60
        var flash_scale = random_range(1.5, 2);
61
        var flash_scalex = random_range(1.75, 2.5);
62
        this_flash.image_xscale = flash_scalex;
63
        this_flash.image_yscale = flash_scale;
64
        timer_max = irandom(3) + 10;
65
        scr_lerp_var_instance(this_flash, "image_index", 0, 3, 6);
66
        
scr_script_delayed
scr_script_delayed

function
scr_script_delayed()
{ var __scriptdelay = instance_create(0, 0, obj_script_delayed); __scriptdelay.script = argument[0]; __scriptdelay.alarm[0] = argument[1]; __scriptdelay.target = id; for (var __i = 0; __i < (argument_count - 2); __i++) __scriptdelay.script_arg[__i] = argument[__i + 2]; __scriptdelay.arg_count = argument_count - 2; return __scriptdelay; }
(scr_lerp_var_instance, 6, this_flash, "image_alpha", 1, 0, 8);
67
        
scr_doom
scr_doom

function
scr_doom(arg0, arg1)
{ with (instance_create_depth(0, 0, 0, obj_doom)) { alarm[0] target = arg0; } }
(this_flash, timer_max + 16);
68
        timer = 0;
69
    }
70
    if (obj_mainchara.y >= (y - 40))
71
    {
72
        if (obj_mainchara.x < threshold_left)
73
        {
74
            var _min_x_pos = threshold_left;
75
            var _max_x_pos = _min_x_pos - 280;
76
            var _audio_pos = clamp(((obj_mainchara.x - _min_x_pos) * 100) / (_max_x_pos - _min_x_pos), 0, 100) / 100;
77
            snd_volume(audience_sfx[1], 1 - _audio_pos, 0);
78
        }
79
        else if (obj_mainchara.x >= threshold_right)
80
        {
81
            var _min_x_pos = threshold_right;
82
            var _max_x_pos = _min_x_pos + 280;
83
            var _audio_pos = clamp(((obj_mainchara.x - _min_x_pos) * 100) / (_max_x_pos - _min_x_pos), 0, 100) / 100;
84
            snd_volume(audience_sfx[1], 1 - _audio_pos, 0);
85
        }
86
    }
87
    else
88
    {
89
        var _min_y_pos = y - 40;
90
        var _max_y_pos = y - 180;
91
        var _audio_pos = clamp(((obj_mainchara.y - _min_y_pos) * 100) / (_max_y_pos - _min_y_pos), 0, 100) / 100;
92
        snd_volume(audience_sfx[1], 1 - _audio_pos, 0);
93
    }
94
}