Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_vertical_dark_shockwave1_Step_0

(view raw script w/o annotations or w/e)
1
if (con == 0)
2
{
3
    timer++;
4
    siner++;
5
    image_xscale = lerp(0, 2, timer / 10) + (sin(siner / 6) * 0.7);
6
    image_yscale = lerp(0, 2, timer / 10) + (sin(siner / 6) * 0.7);
7
    if (timer == 10)
8
    {
9
        timer = 0;
10
        con = 1;
11
    }
12
}
13
if (con == 1)
14
{
15
    timer++;
16
    siner++;
17
    image_xscale = 2 + (sin(siner / 6) * 0.7);
18
    image_yscale = 2 + (sin(siner / 6) * 0.7);
19
    if (timer == 23 || timer == 25 || timer == 27 || timer == 29)
20
    {
21
        if (image_index == 0)
22
            image_index = 1;
23
        else
24
            image_index = 0;
25
    }
26
    if (timer >= 30)
27
        laser_xscale = lerp(0, 2, (timer - 30) / 10);
28
    if (timer == 40)
29
    {
30
        timer = 0;
31
        con = 2;
32
        if (!audio_is_playing(snd_explosion_mmx3))
33
            snd_play(snd_explosion_mmx3);
34
        _angle = angle_position + obj_rotating_tower_controller.tower_angle;
35
        if (_angle > 360)
36
            _angle -= 360;
37
        if (_angle < 0)
38
            _angle += 360;
39
        if (_angle >= 0 && _angle < 180)
40
        {
41
        }
42
        else
43
        {
44
            hitboxcreated = true;
45
            hitbox = instance_create(320, (cameray() + cameraheight()) - 90 - obj_rotating_tower_controller.yoffset, obj_vertical_dark_shockwave_hurtbox);
46
            hitbox.image_xscale = 1;
47
            hitbox.image_yscale = 100;
48
            hitbox.angle_position = angle_position;
49
            hitbox.depth -= 9999999;
50
            hitbox.image_alpha = 0.5;
51
        }
52
    }
53
}
54
if (con == 2)
55
{
56
    timer++;
57
    siner += 4;
58
    image_xscale = 2 + (sin(siner / 6) * 0.7);
59
    image_yscale = 2 + (sin(siner / 6) * 0.7);
60
    if (timer == 4 && hitboxcreated == true)
61
    {
62
        with (hitbox)
63
            instance_destroy();
64
    }
65
    if (timer == 4)
66
        hitboxcreated = false;
67
    if (timer == 1)
68
    {
69
    }
70
    if (timer > 2 && timer < 6)
71
        laser_xscale = lerp(laser_xscale, 0, (timer - 3) / 5);
72
    if (timer > 4)
73
    {
74
        image_xscale = lerp(image_xscale, 0, (timer - 5) / 5);
75
        image_yscale = lerp(image_yscale, 0, (timer - 5) / 5);
76
    }
77
    if (timer == 10)
78
        instance_destroy();
79
}
80
event_inherited();
81
var _angle = angle_position + obj_rotating_tower_controller.tower_angle;
82
if (_angle > 360)
83
    _angle -= 360;
84
if (_angle < 0)
85
    _angle += 360;
86
var extra_xscale = 0;
87
if (_angle >= 30 && _angle < 150)
88
    extra_xscale = 0.8;
89
if (_angle >= 210 && _angle < 270)
90
    extra_xscale = lerp(1, 1.3, (_angle - 210) / 60);
91
else if (_angle >= 270 && _angle < 330)
92
    extra_xscale = lerp(1.3, 1, (_angle - 270) / 60);
93
else if (_angle >= 180 && _angle < 360)
94
    extra_xscale = 1;
95
if (_angle >= 0 && _angle < 30)
96
    extra_xscale = lerp(0.8, 1, _angle / 30);
97
if (_angle >= 150 && _angle < 180)
98
    extra_xscale = lerp(1, 0.8, (_angle - 150) / 30);
99
image_xscale *= extra_xscale;
100
image_yscale = image_xscale;
101
depth -= extra_xscale;
102
if (position == "above")
103
    y = cameray() + 20;
104
if (position == "below")
105
    y = (cameray() + cameraheight()) - 90;