Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_vertical_dark_laser_new1_Step_0

(view raw script w/o annotations or w/e)
1
image_alpha += 0.1;
2
if (dir == 1)
3
{
4
    if (con == 2)
5
        angle_position += 2;
6
    else
7
        angle_position += 4;
8
}
9
else if (con == 2)
10
{
11
    angle_position -= 2;
12
}
13
else
14
{
15
    angle_position -= 4;
16
}
17
if (con == 1)
18
{
19
    timer++;
20
    siner++;
21
    if (timer == 20 || timer == 26 || timer == 23 || timer == 29)
22
    {
23
        if (image_index == 0)
24
            image_index = 1;
25
        else
26
            image_index = 0;
27
    }
28
    if (timer == 30)
29
    {
30
        timer = 0;
31
        con = 2;
32
        _angle = angle_position + obj_rotating_tower_controller.tower_angle;
33
        if (_angle > 360)
34
            _angle -= 360;
35
        if (_angle < 0)
36
            _angle += 360;
37
        if (_angle >= 0 && _angle < 180)
38
        {
39
        }
40
        else
41
        {
42
            hitboxcreated = true;
43
            hitbox = instance_create(320, (cameray() + cameraheight()) - 90 - obj_rotating_tower_controller.yoffset, obj_vertical_dark_shockwave_hurtbox);
44
            hitbox.image_xscale = 1;
45
            hitbox.image_yscale = 100;
46
            hitbox.depth -= 9999999;
47
            hitbox.image_alpha = 0.5;
48
            hitbox.parenttarget = id;
49
        }
50
    }
51
}
52
if (con == 2)
53
{
54
    timer++;
55
    siner += 4;
56
    laser_xscale = 1.7 + (sin(siner / 6) * 0.7);
57
    xoffset = -2 + random(4);
58
    yoffset = -2 + random(4);
59
    _angle = angle_position + obj_rotating_tower_controller.tower_angle;
60
    if (_angle > 360)
61
        _angle -= 360;
62
    if (_angle < 0)
63
        _angle += 360;
64
    if (_angle >= 0 && _angle < 180)
65
    {
66
        if (hitboxcreated == true)
67
        {
68
            hitboxcreated = false;
69
            with (hitbox)
70
                instance_destroy();
71
        }
72
    }
73
    else if (hitboxcreated == false)
74
    {
75
        hitboxcreated = true;
76
        hitbox = instance_create(320, (cameray() + cameraheight()) - 90 - obj_rotating_tower_controller.yoffset, obj_vertical_dark_shockwave_hurtbox);
77
        hitbox.image_xscale = 1;
78
        hitbox.image_yscale = 100;
79
        hitbox.depth -= 9999999;
80
        hitbox.image_alpha = 0.5;
81
        hitbox.parenttarget = id;
82
    }
83
    if (!audio_is_playing(snd_sneo_overpower))
84
        snd_play_pitch(snd_sneo_overpower, 1.4);
85
    if (timer == 30)
86
    {
87
        con = 3;
88
        timer = 0;
89
    }
90
}
91
if (con == 3)
92
{
93
    image_xscale -= 0.2;
94
    image_yscale -= 0.2;
95
    if (image_xscale < 0)
96
        instance_destroy();
97
}
98
event_inherited();
99
var _angle = angle_position + obj_rotating_tower_controller.tower_angle;
100
if (_angle > 360)
101
    _angle -= 360;
102
if (_angle < 0)
103
    _angle += 360;
104
var extra_xscale = 0;
105
if (_angle >= 30 && _angle < 150)
106
    extra_xscale = 0.8;
107
if (_angle >= 210 && _angle < 270)
108
    extra_xscale = lerp(1, 1.3, (_angle - 210) / 60);
109
else if (_angle >= 270 && _angle < 330)
110
    extra_xscale = lerp(1.3, 1, (_angle - 270) / 60);
111
else if (_angle >= 180 && _angle < 360)
112
    extra_xscale = 1;
113
if (_angle >= 0 && _angle < 30)
114
    extra_xscale = lerp(0.8, 1, _angle / 30);
115
if (_angle >= 150 && _angle < 180)
116
    extra_xscale = lerp(1, 0.8, (_angle - 150) / 30);
117
if (position == "above")
118
    y = cameray() + 20;
119
if (position == "below")
120
    y = (cameray() + cameraheight()) - 90;
121
afterimage_timer++;
122
if ((afterimage_timer == 3 && con != 2 && con != 3) || (afterimage_timer == 3 && con == 2 && con != 3))
123
{
124
    afterimage_timer = 0;
125
    var yyy = 0;
126
    repeat (2)
127
    {
128
        afterimage = instance_create(x, y + yyy, obj_rotating_tower_afterimage);
129
        afterimage.xstart = xstart;
130
        afterimage.ystart = ystart;
131
        afterimage.image_xscale = image_xscale;
132
        afterimage.image_yscale = image_yscale;
133
        afterimage.image_alpha = 1;
134
        afterimage.sprite_index = sprite_index;
135
        afterimage.image_speed = image_speed;
136
        afterimage.image_index = image_index;
137
        afterimage.darken_alpha = darken_alpha;
138
        afterimage.angle_position = angle_position;
139
        afterimage.parenttarget_x = x;
140
        afterimage.parenttarget_y = y + yyy;
141
        afterimage.parenttarget_xscale = image_xscale - 0.3;
142
        afterimage.parenttarget_yscale = image_yscale - 0.3;
143
        if (depth == (obj_rotating_tower_controller.depth + 50))
144
            afterimage.depth = depth - 10;
145
        else
146
            afterimage.depth = depth + 10;
147
        yyy = -360;
148
    }
149
}