Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_ch3_PTB02_Create_0

(view raw script w/o annotations or w/e)
1
con = -1;
2
customcon = 0;
3
depth = 500;
4
visible = true;
5
camera_lock = false;
6
camera_block = -4;
7
teamdefeated = true;
8
if (
scr_debug
scr_debug

function
scr_debug()
{ if (global.debug == 1) return 1; }
())
9
    moveinit = 0;
10
if (global.plot >= 310 && global.plot < 330)
11
{
12
    con = 0;
13
    tree_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; }
(1920, -200, spr_dw_snow_zone_tree);
14
    with (tree_marker)
15
        
scr_depth
scr_depth

function
scr_depth()
{ if (argument_count > 0) { with (argument0) depth = 100000 - ((y * 10) + (sprite_height * 10)); } else { depth = 100000 - ((y * 10) + (sprite_height * 10)); } }
();
16
    blackall = 
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; }
(-10, -10, spr_pixel_white);
17
    blackall.image_xscale = 999;
18
    blackall.image_yscale = 999;
19
    blackall.depth = -110;
20
    blackall.image_blend = c_black;
21
    blackall.visible = 0;
22
    whiteall = 
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; }
(-10, -10, spr_pixel_white);
23
    whiteall.image_xscale = 999;
24
    whiteall.image_yscale = 999;
25
    whiteall.depth = -110;
26
    whiteall.image_blend = c_white;
27
    whiteall.visible = 0;
28
    roaring_knight_appear = false;
29
    roaring_knight = -4;
30
    roaring_knight_fx = false;
31
    roaring_knight_turn = false;
32
    roaring_knight_bird = false;
33
    roaring_knight_waver = false;
34
    roaring_knight_waver_timer = 0;
35
    roaring_knight_waver_siner = 0;
36
    roaring_knight_hurt_pos = 0;
37
    roaring_knight_warp = false;
38
    roaring_knight_warp_timer = 0;
39
    roaring_knight_warp_cache = 0;
40
    roaring_knight_warp_start = false;
41
    roaring_knight_beam = -4;
42
    roaring_knight_beam_start = false;
43
    roaring_knight_beam_stop = false;
44
    roaring_knight_state = 0;
45
    bird_loop = false;
46
    bird_loop_timer = 10;
47
    bird_pitch = 0.6;
48
    bird_volume_multiplier = 1;
49
    tenna_hurt = false;
50
    susie_slash = false;
51
    susie_slash_timer = 0;
52
    susie_knight_slash = false;
53
    susie_knight_slash_timer = 0;
54
    susie_knight_shake_timer = 0;
55
    susie_knight_shake_time = 80;
56
    susie_knight_shake_sequence = false;
57
    slash_show = false;
58
    spear_throw = false;
59
    spear_throw_timer = 0;
60
    spear_dodge = false;
61
    spear_dodge_timer = 0;
62
    spear_throw_x = 0;
63
    spear_throw_y = 0;
64
    spear_throw_count = 0;
65
    spear_dodge_count = 0;
66
    spear_dodge_timer = 0;
67
    spear_throw_time = 24;
68
    current_spear = -4;
69
    ball_can_move = true;
70
    spear_throw_start = false;
71
    spear_throw_stop = false;
72
    spear_throw_controller = -4;
73
    make_npcs = false;
74
    toriel_grab = false;
75
    toriel_grab_timer = 0;
76
    toriel_grab_x = 0;
77
    toriel_grab_y = 0;
78
    camera_pan = false;
79
    camera_pan_timer = 0;
80
    camera_x_pos = 2720;
81
    camera_pan_back = false;
82
    overlay_pulse = false;
83
    overlay_alpha = 0;
84
    overlay_siner = 0;
85
    knight_marker = -4;
86
    piece_marker = -4;
87
    sword_shiny = -4;
88
    sword_shiny_readable = -4;
89
    remove_shiny = false;
90
    white_slash = 
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; }
(0, 0, spr_roaringknight_slash_white_horizontal);
91
    white_slash.visible = 0;
92
    sword_draw = false;
93
    sword_draw_index = 0;
94
    sword_draw_timer = 0;
95
    sword_draw_timestamps = [8, 1, 6, 6, 6, 6, 1, 2, 2, 6, 2, 8];
96
    sword_draw_ready = false;
97
    big_shake = false;
98
    unskip_writer = false;
99
    susie_marker = -4;
100
    susie_hide = false;
101
    susie_shadow = 0;
102
    grand_door_offset = 1200;
103
    grand_door = 
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; }
(7300 - grand_door_offset, 10, spr_giantdarkdoor_white);
104
    with (grand_door)
105
    {
106
        
scr_depth
scr_depth

function
scr_depth()
{ if (argument_count > 0) { with (argument0) depth = 100000 - ((y * 10) + (sprite_height * 10)); } else { depth = 100000 - ((y * 10) + (sprite_height * 10)); } }
();
107
        image_alpha = 0;
108
    }
109
    left_exit_block = -4;
110
    te_actor = -4;
111
    var spear_list = [spr_undyne_dw_spear_ground_0, spr_undyne_dw_spear_ground_1, spr_undyne_dw_spear_ground_2];
112
    for (var i = 0; i < 25; i++)
113
    {
114
        var spear_sprite = spear_list[irandom(array_length(spear_list) - 1)];
115
        var spear = 
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; }
(3490 + (i * 80) + irandom(20), cameray() + 240 + irandom(90), spear_sprite);
116
        with (spear)
117
            
scr_depth
scr_depth

function
scr_depth()
{ if (argument_count > 0) { with (argument0) depth = 100000 - ((y * 10) + (sprite_height * 10)); } else { depth = 100000 - ((y * 10) + (sprite_height * 10)); } }
();
118
        spear.depth += 240;
119
        var x_offset = 0;
120
        if (spear_sprite == 3889)
121
            x_offset = 10;
122
        var spear_block = instance_create(spear.x + x_offset, spear.y + 20, obj_solidblocksized);
123
        with (spear_block)
124
        {
125
            image_xscale = 0.5;
126
            image_yscale = 0.5;
127
        }
128
    }
129
    if (global.tempflag[90] > 0)
130
    {
131
        global.interact = 1;
132
        global.darkzone = 1;
133
        if (i_ex(obj_ch3_PTB02_roaringknight))
134
        {
135
            with (obj_ch3_PTB02_roaringknight)
136
                instance_destroy();
137
        }
138
        roaring_knight = instance_create(2655, cameray() + 106, obj_ch3_PTB02_roaringknight);
139
        with (roaring_knight)
140
        {
141
            sprite_index = spr_roaringknight_idle_overworld_sword;
142
            image_speed = 0.1;
143
            
scr_depth
scr_depth

function
scr_depth()
{ if (argument_count > 0) { with (argument0) depth = 100000 - ((y * 10) + (sprite_height * 10)); } else { depth = 100000 - ((y * 10) + (sprite_height * 10)); } }
();
144
            sword_active = true;
145
        }
146
        with (obj_mainchara)
147
        {
148
            x = 2356;
149
            y = 104;
150
            cutscene = 1;
151
        }
152
        camera_set_view_pos(view_get_camera(0), 2230, cameray());
153
        with (obj_mainchara)
154
            cutscene = 1;
155
        toriel_gacha = instance_create(2062, 160, obj_ch3_PTB02_toriel);
156
        toriel_gacha.depth = tree_marker.depth - 10;
157
        toriel_gacha.ball_open = true;
158
        cutscene_master = 
scr_cutscene_make
scr_cutscene_make

function
scr_cutscene_make()
{ _cutscene_master = instance_create(0, 0, obj_cutscene_master); _cutscene_master.master_object = id; return _cutscene_master; }
();
159
        
scr_maincharacters_actors
scr_maincharacters_actors

function
scr_maincharacters_actors()
{ actor_count = 0; kr = 0; kr_actor = instance_create(obj_mainchara.x, obj_mainchara.y, obj_actor);
scr_actor_setup(kr, kr_actor, "kris");
kr_actor.sprite_index = obj_mainchara.sprite_index; kr_actor.depth = obj_mainchara.depth; with (obj_mainchara) visible = 0; for (__jj = 0; __jj < array_length_1d(global.cinstance); __jj++) { if (i_ex(global.cinstance[__jj])) { if (global.cinstance[__jj].name == "susie") { actor_count++; su = __jj + 1; su_actor = instance_create(global.cinstance[__jj].x, global.cinstance[__jj].y, obj_actor);
scr_actor_setup(su, su_actor, "susie");
su_actor.sprite_index = global.cinstance[__jj].sprite_index; su_actor.depth = global.cinstance[__jj].depth; with (global.cinstance[__jj]) visible = 0; } if (global.cinstance[__jj].name == "ralsei") { actor_count++; ra = __jj + 1; ra_actor = instance_create(global.cinstance[__jj].x, global.cinstance[__jj].y, obj_actor);
scr_actor_setup(ra, ra_actor, "ralsei");
ra_actor.sprite_index = global.cinstance[__jj].sprite_index; ra_actor.depth = global.cinstance[__jj].depth; with (global.cinstance[__jj]) visible = 0; } if (global.cinstance[__jj].name == "noelle") { actor_count++; no = __jj + 1; no_actor = instance_create(global.cinstance[__jj].x, global.cinstance[__jj].y, obj_actor);
scr_actor_setup(no, no_actor, "noelle");
no_actor.sprite_index = global.cinstance[__jj].sprite_index; no_actor.depth = global.cinstance[__jj].depth; with (global.cinstance[__jj]) visible = 0; } } } }
();
160
        if (global.tempflag[90] == 1)
161
        {
162
            con = 10;
163
            blackall.visible = 1;
164
            c_var_lerp_to_instance(blackall, "image_alpha", 0, 30);
165
            un = actor_count + 2;
166
            un_actor = instance_create(2255, cameray() - 200, obj_actor);
167
            
scr_actor_setup
scr_actor_setup

function
scr_actor_setup(arg0, arg1, arg2)
{ _actorid = arg0; _actorinstance = arg1; _actorname = arg2; obj_cutscene_master.actor_id[_actorid] = _actorinstance; obj_cutscene_master.actor_name[_actorid] = _actorname; with (_actorinstance) { number = arg0;
scr_set_facing_sprites(arg2);
} }
(un, un_actor, "undyne");
168
            un_actor.sprite_index = spr_undyne_dw_spear_point;
169
            tree_marker.visible = 0;
170
            roaring_knight.state = 0;
171
            roaring_knight.sword_active = true;
172
            roaring_knight.grab_hand = false;
173
            
c_sel
c_sel

function
c_sel(arg0)
{
c_cmd("select", arg0, 0, 0, 0);
}
(kr);
174
            
c_sprite
c_sprite

function
c_sprite(arg0)
{
c_cmd("sprite", arg0, 0, 0, 0);
}
(spr_krisb_defeat);
175
            
c_sel
c_sel

function
c_sel(arg0)
{
c_cmd("select", arg0, 0, 0, 0);
}
(ra);
176
            
c_setxy
c_setxy

function
c_setxy(arg0, arg1)
{
c_cmd("setxy", arg0, arg1, 0, 0);
}
(2288, 190);
177
            
c_sprite
c_sprite

function
c_sprite(arg0)
{
c_cmd("sprite", arg0, 0, 0, 0);
}
(spr_ralsei_defeat);
178
            
c_sel
c_sel

function
c_sel(arg0)
{
c_cmd("select", arg0, 0, 0, 0);
}
(su);
179
            
c_setxy
c_setxy

function
c_setxy(arg0, arg1)
{
c_cmd("setxy", arg0, arg1, 0, 0);
}
(2310, 142);
180
            
c_sprite
c_sprite

function
c_sprite(arg0)
{
c_cmd("sprite", arg0, 0, 0, 0);
}
(spr_susie_dw_fell);
181
            
c_wait
c_wait

function
c_wait(arg0)
{
c_cmd("wait", arg0, 0, 0, 0);
}
(90);
182
            
c_waitcustom
c_waitcustom

function
c_waitcustom()
{
c_cmd("waitcustom", 0, 0, 0, 0);
}
();
183
        }
184
        else if (global.tempflag[90] == 2)
185
        {
186
            con = 50;
187
            un = actor_count + 2;
188
            un_actor = instance_create(2255, cameray() - 200, obj_actor);
189
            
scr_actor_setup
scr_actor_setup

function
scr_actor_setup(arg0, arg1, arg2)
{ _actorid = arg0; _actorinstance = arg1; _actorname = arg2; obj_cutscene_master.actor_id[_actorid] = _actorinstance; obj_cutscene_master.actor_name[_actorid] = _actorname; with (_actorinstance) { number = arg0;
scr_set_facing_sprites(arg2);
} }
(un, un_actor, "undyne");
190
            un_actor.sprite_index = spr_undyne_dw_spear_point;
191
            tree_marker.visible = 0;
192
            roaring_knight.sprite_index = spr_roaringknight_idle;
193
            whiteall.visible = 1;
194
        }
195
        else if (global.tempflag[90] == 3)
196
        {
197
            con = 11;
198
            tree_marker.visible = 0;
199
            roaring_knight.visible = 0;
200
            roaring_knight.after_active = false;
201
            
c_sel
c_sel

function
c_sel(arg0)
{
c_cmd("select", arg0, 0, 0, 0);
}
(kr);
202
            
c_sprite
c_sprite

function
c_sprite(arg0)
{
c_cmd("sprite", arg0, 0, 0, 0);
}
(spr_krisb_defeat);
203
            
c_sel
c_sel

function
c_sel(arg0)
{
c_cmd("select", arg0, 0, 0, 0);
}
(ra);
204
            
c_setxy
c_setxy

function
c_setxy(arg0, arg1)
{
c_cmd("setxy", arg0, arg1, 0, 0);
}
(2227, 248);
205
            
c_sprite
c_sprite

function
c_sprite(arg0)
{
c_cmd("sprite", arg0, 0, 0, 0);
}
(spr_ralsei_kneel_serious);
206
            
c_sel
c_sel

function
c_sel(arg0)
{
c_cmd("select", arg0, 0, 0, 0);
}
(su);
207
            
c_visible
c_visible

function
c_visible(arg0)
{
c_cmd("visible", arg0, 0, 0, 0);
}
(0);
208
            
c_waitcustom
c_waitcustom

function
c_waitcustom()
{
c_cmd("waitcustom", 0, 0, 0, 0);
}
();
209
        }
210
        else if (global.tempflag[90] == 4)
211
        {
212
            con = 3;
213
            whiteall.visible = 1;
214
            tree_marker.visible = 0;
215
            un = actor_count + 2;
216
            un_actor = instance_create(2255, cameray() - 200, obj_actor);
217
            
scr_actor_setup
scr_actor_setup

function
scr_actor_setup(arg0, arg1, arg2)
{ _actorid = arg0; _actorinstance = arg1; _actorname = arg2; obj_cutscene_master.actor_id[_actorid] = _actorinstance; obj_cutscene_master.actor_name[_actorid] = _actorname; with (_actorinstance) { number = arg0;
scr_set_facing_sprites(arg2);
} }
(un, un_actor, "undyne");
218
            un_actor.sprite_index = spr_undyne_dw_spear_point;
219
            c_var_lerp_to_instance(whiteall, "image_alpha", 0, 30);
220
            var shorten = false;
221
            if (variable_global_exists("knight_battle_losses"))
222
                shorten = global.knight_battle_losses > 1;
223
            
c_sel
c_sel

function
c_sel(arg0)
{
c_cmd("select", arg0, 0, 0, 0);
}
(ra);
224
            
c_autowalk
c_autowalk

function
c_autowalk(arg0)
{
c_cmd("autowalk", arg0, 0, 0, 0);
}
(0);
225
            
c_sprite
c_sprite

function
c_sprite(arg0)
{
c_cmd("sprite", arg0, 0, 0, 0);
}
(spr_ralsei_walk_right_unhappy);
226
            
c_setxy
c_setxy

function
c_setxy(arg0, arg1)
{
c_cmd("setxy", arg0, arg1, 0, 0);
}
(2288, 190);
227
            
c_sel
c_sel

function
c_sel(arg0)
{
c_cmd("select", arg0, 0, 0, 0);
}
(su);
228
            
c_autowalk
c_autowalk

function
c_autowalk(arg0)
{
c_cmd("autowalk", arg0, 0, 0, 0);
}
(0);
229
            
c_sprite
c_sprite

function
c_sprite(arg0)
{
c_cmd("sprite", arg0, 0, 0, 0);
}
(spr_susie_idle_serious);
230
            
c_setxy
c_setxy

function
c_setxy(arg0, arg1)
{
c_cmd("setxy", arg0, arg1, 0, 0);
}
(2310, 142);
231
            
c_sel
c_sel

function
c_sel(arg0)
{
c_cmd("select", arg0, 0, 0, 0);
}
(kr);
232
            
c_sprite
c_sprite

function
c_sprite(arg0)
{
c_cmd("sprite", arg0, 0, 0, 0);
}
(spr_krisb_idle);
233
            
c_setxy
c_setxy

function
c_setxy(arg0, arg1)
{
c_cmd("setxy", arg0, arg1, 0, 0);
}
(2356, 104);
234
            
c_var_instance
c_var_instance

function
c_var_instance(arg0, arg1, arg2)
{
c_cmd_x("var", arg0, arg1, arg2, 0, 0, 0);
}
(roaring_knight, "sprite_index", spr_roaringknight_idle_overworld);
235
            
c_var_instance
c_var_instance

function
c_var_instance(arg0, arg1, arg2)
{
c_cmd_x("var", arg0, arg1, arg2, 0, 0, 0);
}
(roaring_knight, "state", 0);
236
            if (shorten)
237
                con = 3.1;
238
            
c_wait
c_wait

function
c_wait(arg0)
{
c_cmd("wait", arg0, 0, 0, 0);
}
(60);
239
            
c_waitcustom
c_waitcustom

function
c_waitcustom()
{
c_cmd("waitcustom", 0, 0, 0, 0);
}
();
240
        }
241
    }
242
}
243
else
244
{
245
    instance_destroy();
246
}
247
tennawhite = 0;
248
drawbot = false;
249
tennaslash = 0;
250
swoon_target = -4;
251
252
swoon_display = function(arg0)
253
{
254
    var dmgwriter = instance_create(arg0.x + 20, arg0.y + 30, obj_dmgwriter);
255
    with (dmgwriter)
256
        type = 12;
257
};
258
259
show_clash_overlay = function(arg0 = 8, arg1 = 1)
260
{
261
    var _clash_overlay = 
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; }
(-10, -10, spr_pixel_white);
262
    _clash_overlay.image_xscale = 999;
263
    _clash_overlay.image_yscale = 999;
264
    _clash_overlay.depth = -110;
265
    _clash_overlay.image_blend = c_white;
266
    _clash_overlay.image_alpha = 0;
267
    _clash_overlay.visible = 1;
268
    scr_lerp_instance_var(_clash_overlay, "image_alpha", 0, arg1, arg0, 2, "out");
269
    
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_instance_var, arg0 + 2, _clash_overlay, "image_alpha", arg1, 0, arg0, 2, "out");
270
    
scr_doom
scr_doom

function
scr_doom(arg0, arg1)
{ with (instance_create_depth(0, 0, 0, obj_doom)) { alarm[0] target = arg0; } }
(_clash_overlay, arg0 + arg0 + 2);
271
};