Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_room_castle_tv_Create_0

(view raw script w/o annotations or w/e)
1
con = -1;
2
customcon = 0;
3
var counter_marker = 
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; }
(640, 240, spr_dw_ranking_counter);
4
with (counter_marker)
5
    
scr_depth
scr_depth

function
scr_depth(arg0 = id, arg1 = 0)
{ with (arg0) depth = 100000 - ((y * 10) + (sprite_height * 10) + (arg1 * 10)); }
();
6
zapper_marker = 
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; }
(662, 126, spr_npc_zapper_talk);
7
zapper_marker.depth = counter_marker.depth + 10;
8
zapper_talk_active = false;
9
zapper_readable = instance_create(zapper_marker.x + 40, zapper_marker.y + 100, obj_readable_room1);
10
with (zapper_readable)
11
{
12
    image_xscale = 2;
13
    image_yscale = 2;
14
    extflag = "zapper";
15
}
16
mystery_door_readable = instance_create(170, 240, obj_readable_room1);
17
with (mystery_door_readable)
18
{
19
    image_xscale = 6;
20
    extflag = "construction";
21
}
22
code_entry = -4;
23
code_prompt = false;
24
code_door_block = -4;
25
code_door_readable = -4;
26
code_door_unlocked = 
scr_flag_get
scr_flag_get

function
scr_flag_get(arg0)
{ var flag_value = global.flag[arg0]; return flag_value; } function scr_flag_name_get(arg0) { if (!global.is_console) { var v = global.flagname[arg0]; return is_undefined(v) ? "*unknown flag*" : v; } else { return ""; } } function scr_getflag(arg0) { return
scr_flag_get(arg0);
}
(1645) == 1;
27
code_timer = 0;
28
mystery_door_marker = -4;
29
30
unlock_mystery_door = function()
31
{
32
    mystery_door_marker = 
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; }
(160, 170, spr_dw_ranking_doors_narrow_mike_unlocked);
33
    with (mystery_door_marker)
34
        
scr_depth
scr_depth

function
scr_depth(arg0 = id, arg1 = 0)
{ with (arg0) depth = 100000 - ((y * 10) + (sprite_height * 10) + (arg1 * 10)); }
();
35
    with (mystery_door_readable)
36
        instance_destroy();
37
    with (code_door_block)
38
        instance_destroy();
39
};
40
41
create_hint_paper = function()
42
{
43
    var paper_marker = 
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; }
(306, 210, spr_dw_castle_tv_paper);
44
    with (paper_marker)
45
        
scr_depth
scr_depth

function
scr_depth(arg0 = id, arg1 = 0)
{ with (arg0) depth = 100000 - ((y * 10) + (sprite_height * 10) + (arg1 * 10)); }
();
46
    var paper_readable = instance_create(paper_marker.x + 4, paper_marker.y, obj_readable_room1);
47
    with (paper_readable)
48
    {
49
        image_yscale = 2;
50
        extflag = "code_entry_hint";
51
    }
52
};
53
54
if (!code_door_unlocked)
55
{
56
    var required_recruits = [654, 659, 656];
57
    var all_recruited = true;
58
    for (var i = 0; i < array_length(required_recruits); i++)
59
    {
60
        var is_recruited = 
scr_flag_get
scr_flag_get

function
scr_flag_get(arg0)
{ var flag_value = global.flag[arg0]; return flag_value; } function scr_flag_name_get(arg0) { if (!global.is_console) { var v = global.flagname[arg0]; return is_undefined(v) ? "*unknown flag*" : v; } else { return ""; } } function scr_getflag(arg0) { return
scr_flag_get(arg0);
}
(required_recruits[i]) == 1;
61
        if (!is_recruited)
62
        {
63
            all_recruited = false;
64
            break;
65
        }
66
    }
67
    if (all_recruited)
68
    {
69
        code_prompt = true;
70
    }
71
    else
72
    {
73
        mystery_door_marker = 
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; }
(160, 170, spr_dw_castle_tv_door_caution);
74
        with (mystery_door_marker)
75
            
scr_depth
scr_depth

function
scr_depth(arg0 = id, arg1 = 0)
{ with (arg0) depth = 100000 - ((y * 10) + (sprite_height * 10) + (arg1 * 10)); }
();
76
    }
77
}
78
if (code_prompt)
79
{
80
    code_door_block = instance_create(160, 240, obj_solidblockDark);
81
    with (code_door_block)
82
        image_xscale = 3;
83
    with (mystery_door_readable)
84
        extflag = "code_entry";
85
    if (global.plot >= 243)
86
        create_hint_paper();
87
}
88
else if (!code_door_unlocked)
89
{
90
    code_door_block = instance_create(160, 240, obj_solidblockDark);
91
    with (code_door_block)
92
        image_xscale = 3;
93
}
94
else
95
{
96
    if (global.plot >= 243)
97
        create_hint_paper();
98
    unlock_mystery_door();
99
    if (global.flag[1696] == 1 && global.flag[1702] == 0)
100
        con = 50;
101
    if (global.flag[1702] == 1)
102
        mystery_door_marker.sprite_index = spr_dw_ranking_doors_narrow_mouse;
103
}
104
if (!scr_recruited_all_in_chapter(3))
105
{
106
    var door_marker = 
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; }
(400, 170, spr_dw_castle_tv_door_caution);
107
    with (door_marker)
108
        
scr_depth
scr_depth

function
scr_depth(arg0 = id, arg1 = 0)
{ with (arg0) depth = 100000 - ((y * 10) + (sprite_height * 10) + (arg1 * 10)); }
();
109
    var door_block = instance_create(400, 240, obj_solidblocksized);
110
    with (door_block)
111
        image_xscale = 4;
112
    var door_readable = instance_create(door_block.x, door_block.y, obj_readable_room1);
113
    with (door_readable)
114
    {
115
        image_xscale = 8;
116
        extflag = "rhythm_closed";
117
    }
118
    with (zapper_marker)
119
        instance_destroy();
120
    var note_marker = 
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; }
(counter_marker.x + 70, counter_marker.y, spr_church_letter_alvin);
121
    note_marker.depth = counter_marker.depth - 10;
122
    with (zapper_readable)
123
    {
124
        image_xscale = 2;
125
        image_yscale = 2;
126
        extflag = "desk_empty";
127
    }
128
}
129
130
show_code_entry = function()
131
{
132
    con = 20;
133
};