Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_vertical_dark_laser2_Step_0

(view raw script w/o annotations or w/e)
1
if (con == 0)
2
{
3
    image_yscale += 0.1;
4
    if (image_yscale >= 1)
5
        con = 1;
6
}
7
if (con == 1)
8
{
9
    if (dir == 1 && bulletspeed < 5)
10
        bulletspeed += 0.4;
11
    if (dir == -1 && bulletspeed > -5)
12
        bulletspeed -= 0.4;
13
    angle_position += bulletspeed;
14
    timer++;
15
    if (timer >= 105)
16
    {
17
        image_alpha = 0.1;
18
        active = 0;
19
    }
20
    if (timer == 115)
21
        instance_destroy();
22
}
23
if (image_alpha == 1 && image_yscale == 1)
24
{
25
    afterimage = instance_create(x, y, obj_rotating_tower_afterimage);
26
    afterimage.xstart = xstart;
27
    afterimage.ystart = ystart;
28
    afterimage.image_xscale = image_xscale;
29
    afterimage.image_yscale = image_yscale;
30
    afterimage.image_alpha = image_alpha;
31
    afterimage.sprite_index = sprite_index;
32
    afterimage.darken_alpha = darken_alpha;
33
    afterimage.angle_position = angle_position;
34
    if (depth == (obj_rotating_tower_controller.depth + 50))
35
        afterimage.depth = depth - 10;
36
    else
37
        afterimage.depth = depth + 10;
38
}
39
event_inherited();
40
var _angle = angle_position + obj_rotating_tower_controller.tower_angle;
41
if (_angle > 360)
42
    _angle -= 360;
43
if (_angle < 0)
44
    _angle += 360;
45
if (_angle >= 30 && _angle < 150)
46
    image_xscale = 0.8;
47
if (_angle >= 210 && _angle < 270)
48
    image_xscale = lerp(1, 1.3, (_angle - 210) / 60);
49
else if (_angle >= 270 && _angle < 330)
50
    image_xscale = lerp(1.3, 1, (_angle - 270) / 60);
51
else if (_angle >= 180 && _angle < 360)
52
    image_xscale = 1;
53
if (_angle >= 0 && _angle < 30)
54
    image_xscale = lerp(0.8, 1, _angle / 30);
55
if (_angle >= 150 && _angle < 180)
56
    image_xscale = lerp(1, 0.8, (_angle - 150) / 30);