Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_bullet_zapper_laser_Step_2

(view raw script w/o annotations or w/e)
1
if (global.turntimer < 1)
2
    instance_destroy();
3
do_bounce = false;
4
if (y > top && y < bottom && !true_neverbounce)
5
    neverbounce = false;
6
image_angle = direction;
7
if (i_ex(obj_volumeup))
8
{
9
    image_yscale = 
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; }
(image_yscale, image_yscale_goal, 0.3);
10
    if (image_yscale_goal < 1)
11
        image_xscale = 0.6;
12
}
13
else
14
{
15
    image_yscale = 
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; }
(image_yscale, image_yscale_goal, 0.2);
16
    if (image_yscale_goal < 1)
17
        image_xscale = 0.6;
18
}
19
if (vspeed > 0 && !neverbounce)
20
{
21
    if (y >= bottom)
22
    {
23
        if (abs(x - obj_growtangle.x) < 165)
24
        {
25
            repeat (10)
26
            {
27
                if (y != bottom)
28
                {
29
                    y -= (vspeed * 0.1);
30
                    x -= (hspeed * 0.1);
31
                }
32
                if (y <= bottom)
33
                {
34
                    do_bounce = true;
35
                    image_index = 1;
36
                    blend = #EE145B;
37
                    break;
38
                }
39
            }
40
        }
41
        else
42
        {
43
            neverbounce = true;
44
        }
45
    }
46
}
47
if (vspeed < 0 && !neverbounce)
48
{
49
    if (y <= top)
50
    {
51
        if (abs(x - obj_growtangle.x) < 165)
52
        {
53
            repeat (10)
54
            {
55
                if (y != top)
56
                {
57
                    y -= (vspeed * 0.1);
58
                    x -= (hspeed * 0.1);
59
                }
60
                if (y >= top)
61
                {
62
                    do_bounce = true;
63
                    image_index = 2;
64
                    blend = #0072BC;
65
                    break;
66
                }
67
            }
68
        }
69
        else
70
        {
71
            neverbounce = true;
72
        }
73
    }
74
}
75
if (do_bounce)
76
{
77
    vspeed *= -1;
78
    if (do_bounce_image)
79
    {
80
        with (obj_regularbullet)
81
        {
82
            if (sprite_index == spr_zapper_laserball)
83
                depth++;
84
        }
85
        with (instance_create_depth(x, y, depth - 64, obj_regularbullet))
86
        {
87
            active = 0;
88
            sprite_index = spr_zapper_laserball;
89
            image_speed = 0;
90
            if (i_ex(obj_volumeup))
91
            {
92
                image_xscale = 1.125;
93
                image_yscale = 1.125;
94
                
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.125, 0, 4);
95
                
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", 1.125, 0, 4);
96
            }
97
            else
98
            {
99
                image_xscale = 0.75;
100
                image_yscale = 0.75;
101
                
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", 0.75, 0, 4);
102
                
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", 0.75, 0, 4);
103
            }
104
            
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, 4);
105
        }
106
        with (instance_create_depth(x, y, depth + 1, obj_regularbullet))
107
        {
108
            active = 0;
109
            sprite_index = spr_zapper_laserball;
110
            image_speed = 0;
111
            image_blend = other.blend;
112
            if (i_ex(obj_volumeup))
113
            {
114
                image_xscale = 1.35;
115
                image_yscale = 1.35;
116
                
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.35, 0, 5);
117
                
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", 1.35, 0, 5);
118
            }
119
            else
120
            {
121
                image_xscale = 0.9;
122
                image_yscale = 0.9;
123
                
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", 0.9, 0, 5);
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_yscale", 0.9, 0, 5);
125
            }
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, 5);
127
        }
128
    }
129
    if (first)
130
    {
131
        var reflect = snd_play(snd_bell);
132
        audio_sound_gain(reflect, 0.75, 0);
133
    }
134
}
135
with (
scr_afterimage
scr_afterimage

function
scr_afterimage()
{ afterimage = instance_create(x, y, obj_afterimage); afterimage.sprite_index = sprite_index; afterimage.image_index = image_index; afterimage.image_blend = image_blend; afterimage.image_speed = 0; afterimage.depth = depth; afterimage.image_xscale = image_xscale; afterimage.image_yscale = image_yscale; afterimage.image_angle = image_angle; return afterimage; }
())
136
{
137
    image_blend = other.blend;
138
    fadeSpeed = 0.25;
139
}
140
if (x < (__view_get(e__VW.XView, 0) - 80))
141
    instance_destroy();
142
if (x > (__view_get(e__VW.XView, 0) + 760))
143
    instance_destroy();
144
if (y < (__view_get(e__VW.YView, 0) - 80))
145
    instance_destroy();
146
if (y > (__view_get(e__VW.YView, 0) + 580))
147
    instance_destroy();
148
149
enum e__VW
150
{
151
    XView,
152
    YView,
153
    WView,
154
    HView,
155
    Angle,
156
    HBorder,
157
    VBorder,
158
    HSpeed,
159
    VSpeed,
160
    Object,
161
    Visible,
162
    XPort,
163
    YPort,
164
    WPort,
165
    HPort,
166
    Camera,
167
    SurfaceID
168
}