Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_titan_biglaser_Step_0

(view raw script w/o annotations or w/e)
1
event_inherited();
2
timer++;
3
if (timer >= 0 && timer < 70 && !active)
4
{
5
    if (reverse == 12)
6
    {
7
        snd_play(snd_motor_upper_2, 1, 0.25);
8
        rising_sound = snd_play(snd_howl, 1, 0.01);
9
        sound_pitch_time(rising_sound, 1.5, 70);
10
        alarm[0]
 = reverse;
gml_Object_obj_titan_biglaser_Alarm_0.gml

snd_play(snd_motor_upper_2, 1, 0.25 + pull_pitch); pull_pitch += 0.125; alarm[0]
 = reverse;
reverse =
scr_approach(reverse, 4, 2);
with (instance_create_depth(x - 140, y, depth - 1, obj_bulletparent)) { _modifier = 2; image_xscale = 1 * _modifier; image_yscale = 2 * _modifier; sprite_index = spr_finisher_explosion; image_index = 6; image_speed = -0.5; image_blend = c_white; speed = 2; direction = 0; gravity = 2; gravity_direction = 0;
scr_lerpvar("image_xscale", 1 * _modifier, 0, 10);
scr_lerpvar("image_yscale", 2 * _modifier, 0, 10);
scr_script_delayed(instance_destroy, 10);
}
11
        reverse = 
scr_approach
scr_approach

function
scr_approach(arg0, arg1, arg2)
{ if (arg0 < arg1) { arg0 += arg2; if (arg0 > arg1) return arg1; } else { arg0 -= arg2; if (arg0 < arg1) return arg1; } return arg0; }
(reverse, 4, 2);
12
        with (instance_create_depth(x - 140, y, depth - 1, obj_bulletparent))
13
        {
14
            _modifier = 2;
15
            image_xscale = 1 * _modifier;
16
            image_yscale = 2 * _modifier;
17
            sprite_index = spr_finisher_explosion;
18
            image_index = 6;
19
            image_speed = -0.5;
20
            image_blend = c_white;
21
            speed = 2;
22
            direction = 0;
23
            gravity = 2;
24
            gravity_direction = 0;
25
            
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("image_xscale", 1 * _modifier, 0, 10);
26
            
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("image_yscale", 2 * _modifier, 0, 10);
27
            
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; }
(instance_destroy, 10);
28
        }
29
    }
30
    with (obj_darkshape_bigblast)
31
    {
32
        var dist = point_distance(x, y, xstart, ystart);
33
        gravity_direction = point_direction(x, y, xstart, ystart);
34
        gravity += (10 / max(dist, 1));
35
        xmod *= (1 - (1 / max(dist * 0.25, 1)));
36
        ymod *= (1 - (1 / max(dist * 0.125, 1)));
37
    }
38
}
39
if (global.turntimer <= 30 && active)
40
{
41
    for (var a = 0; a < 30; a++)
42
    {
43
        with (
scr_fire_bullet
scr_fire_bullet

function
scr_fire_bullet(arg0, arg1, arg2, arg3, arg4, arg5 = -4, arg6 = 0, arg7 = false, arg8 = 87135)
{ var bullet; if (arg8 != 87135) bullet = instance_create_depth(arg0, arg1, arg8, arg2); else bullet = instance_create(arg0, arg1, arg2); with (bullet) { direction = arg3; speed = arg4; if (arg5 != -4) sprite_index = arg5; updateimageangle = arg6; if (arg6) image_angle = arg3; if (arg7) { with (other)
scr_bullet_inherit(other.id);
} } return bullet; } function scr_fire_bullet_colorize(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7 = 0) { var bullet = instance_create(arg0, arg1, arg2); with (bullet) { direction = arg3; speed = arg4; sprite_index = arg5; image_blend = arg6; updateimageangle = arg7; if (arg7) image_angle = arg3; } return bullet; }
((x - (a * 20)) + irandom_range(-12, 12), y + irandom_range(-12, 12), obj_darkshape_bigblast, 0, 0))
44
        {
45
            active = false;
46
            xmod = choose(0.25, 0.5, 1);
47
            ymod = xmod;
48
            var deth = 8 + irandom(22);
49
            direction = irandom(360);
50
            speed = -1 - irandom(2);
51
            vspeed *= 0.75;
52
            
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("xmod", xmod, 0, deth);
53
            
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("ymod", ymod, 0, deth);
54
            leavetrails = false;
55
        }
56
        with (instance_create_depth((x - (a * 16)) + irandom_range(-12, 12), y + irandom_range(-6, 6), depth + 1, obj_bulletparent))
57
        {
58
            image_xscale = choose(2.5, 5);
59
            image_yscale = image_xscale;
60
            sprite_index = spr_ring_particle1;
61
            image_blend = c_white;
62
            hspeed = -2 - irandom(4);
63
            vspeed = 0;
64
            var deth = 8 + irandom(12);
65
            
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("image_xscale", image_xscale, 0, deth, 2, "out");
66
            
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("image_yscale", image_yscale, 0, deth, 2, "out");
67
            
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; }
(instance_destroy, deth);
68
        }
69
    }
70
    audio_sound_gain(quake_sound, 0, 500);
71
    active = false;
72
    timer = -9999;
73
    
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("image_yscale", image_yscale, 0.0125, 4);
74
    sprite_index = spr_titan_biglaser_temp;
75
    image_speed = 0;
76
    image_index = 2;
77
    
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; }
(instance_destroy, 5);
78
}
79
if (timer == 64 && !active)
80
    alarm[0]
 = -1;
gml_Object_obj_titan_biglaser_Alarm_0.gml

snd_play(snd_motor_upper_2, 1, 0.25 + pull_pitch); pull_pitch += 0.125; alarm[0]
 = reverse;
reverse =
scr_approach(reverse, 4, 2);
with (instance_create_depth(x - 140, y, depth - 1, obj_bulletparent)) { _modifier = 2; image_xscale = 1 * _modifier; image_yscale = 2 * _modifier; sprite_index = spr_finisher_explosion; image_index = 6; image_speed = -0.5; image_blend = c_white; speed = 2; direction = 0; gravity = 2; gravity_direction = 0;
scr_lerpvar("image_xscale", 1 * _modifier, 0, 10);
scr_lerpvar("image_yscale", 2 * _modifier, 0, 10);
scr_script_delayed(instance_destroy, 10);
}
81
if (timer == 70 && !active)
82
{
83
    sound_stop(rising_sound);
84
    quake_sound = snd_loop(snd_quake_nes);
85
    audio_sound_pitch(quake_sound, 0.66);
86
    snd_volume(quake_sound, 1, 0);
87
    active = true;
88
    alarm[0]
 = -1;
gml_Object_obj_titan_biglaser_Alarm_0.gml

snd_play(snd_motor_upper_2, 1, 0.25 + pull_pitch); pull_pitch += 0.125; alarm[0]
 = reverse;
reverse =
scr_approach(reverse, 4, 2);
with (instance_create_depth(x - 140, y, depth - 1, obj_bulletparent)) { _modifier = 2; image_xscale = 1 * _modifier; image_yscale = 2 * _modifier; sprite_index = spr_finisher_explosion; image_index = 6; image_speed = -0.5; image_blend = c_white; speed = 2; direction = 0; gravity = 2; gravity_direction = 0;
scr_lerpvar("image_xscale", 1 * _modifier, 0, 10);
scr_lerpvar("image_yscale", 2 * _modifier, 0, 10);
scr_script_delayed(instance_destroy, 10);
}
89
    with (obj_darkshape_bigblast)
90
        instance_destroy();
91
    sprite_index = spr_titan_biglaser_thin;
92
    image_index = 0;
93
    image_speed = 1;
94
    image_yscale = 0.8;
95
    image_blend = c_white;
96
    snd_play(snd_chargeshot_fire, 1, 0.75);
97
    snd_play(snd_scytheburst, 1, 0.25);
98
    snd_play(snd_bomb, 1, 0.25);
99
    fount = snd_play(snd_fountain_make, 1, 0.25);
100
    snd_pitch_time(fount, 0.125, global.turntimer - 30);
101
    
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; }
(audio_sound_gain, floor((global.turntimer - 30) * 0.75), fount, 0, floor((global.turntimer - 30) * 33.3 * 0.25));
102
}
103
if (active)
104
{
105
    
scr_shakescreen
scr_shakescreen

function
scr_shakescreen(arg0 = 4, arg1 = 4)
{ var shaker = instance_create(x, y, obj_shake); if (i_ex(shaker)) { shaker.shakex = arg0; shaker.shakey = arg1; } }
();
106
    if (irandom(1))
107
    {
108
        with (instance_create_depth(x, y, depth - 1, obj_bulletparent))
109
        {
110
            image_xscale = choose(2.5, 5);
111
            image_yscale = image_xscale;
112
            sprite_index = spr_ring_particle1;
113
            image_blend = c_white;
114
            if (irandom(4))
115
                vspeed = (8 + random(8)) * choose(-1, 1);
116
            else
117
                vspeed = random(16) * choose(-1, 1);
118
            hspeed = -abs(24);
119
            gravity = abs(vspeed / 16);
120
            if (vspeed)
121
                gravity_direction = 90;
122
            else
123
                gravity_direction = 270;
124
            
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("image_xscale", image_xscale, 0, 24, 2, "out");
125
            
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("image_yscale", image_yscale, 0, 24, 2, "out");
126
            
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; }
(instance_destroy, 24);
127
        }
128
    }
129
}