Deltarune (Chapter 2) script viewer

← back to main script listing

gml_Object_obj_sneo_heartattack_Step_2

(view raw script w/o annotations or w/e)
1
if (difficulty > 0)
2
{
3
    bustertimer++;
4
    flyingheadtimer++;
5
}
6
if (difficulty == 1)
7
{
8
    if (bustertimer == 40)
9
    {
10
        with (obj_spamton_neo_enemy)
11
        {
12
            partmode = 3;
13
            armangle = point_direction(partxoff[1], partyoff[1], obj_heart.x, obj_heart.y);
14
            aimmode = 2;
15
            armaim = armangle;
16
            d = instance_create(x, y, obj_sneo_biglaser);
17
            d.direction = armangle - 90;
18
            d.image_angle = armangle - 90;
19
            d.depth += 1;
20
            d.damage = damage * 2;
21
        }
22
    }
23
    if (bustertimer >= 40 && bustertimer < 90)
24
        aim = 1;
25
    else
26
        aim = 0;
27
    if (bustertimer == 90)
28
    {
29
        with (obj_sneo_biglaser)
30
            instance_destroy();
31
        aimmode = 0;
32
        obj_spamton_neo_enemy.partmode = 4;
33
        with (obj_spamton_neo_enemy)
34
        {
35
            armendx = x + partx[1] + partxoff[1] + lengthdir_x(armlength, partrot[1] - 93);
36
            armendy = y + party[1] + partyoff[1] + lengthdir_y(armlength, partrot[1] - 93);
37
            shot = instance_create(armendx, armendy, obj_spamtonshot);
38
        }
39
    }
40
    if (bustertimer > 90)
41
    {
42
        bustertimer = 28;
43
        if (global.turntimer < 100)
44
        {
45
            obj_spamton_neo_enemy.partmode = 1;
46
            bustertimer = 999;
47
        }
48
    }
49
    with (obj_spamtonshot)
50
        dontexplode = 1;
51
}
52
if (difficulty == 2)
53
{
54
    if (bustertimer == 21)
55
    {
56
        with (obj_spamton_neo_enemy)
57
        {
58
            partmode = 3;
59
            armangle = point_direction(partxoff[1], partyoff[1], obj_heart.x, obj_heart.y);
60
            aimmode = 2;
61
            armaim = armangle;
62
            d = instance_create(x, y, obj_sneo_biglaser);
63
            d.direction = armangle - 90;
64
            d.image_angle = armangle - 90;
65
            d.depth += 1;
66
            d.damage = damage * 2;
67
        }
68
    }
69
    if (bustertimer >= 21 && bustertimer < 71)
70
        aim = 1;
71
    else
72
        aim = 0;
73
    if (bustertimer == 71)
74
    {
75
        with (obj_sneo_biglaser)
76
            instance_destroy();
77
        aimmode = 0;
78
        obj_spamton_neo_enemy.partmode = 4;
79
        with (obj_spamton_neo_enemy)
80
        {
81
            armendx = x + partx[1] + partxoff[1] + lengthdir_x(armlength, partrot[1] - 93);
82
            armendy = y + party[1] + partyoff[1] + lengthdir_y(armlength, partrot[1] - 93);
83
            shot = instance_create(armendx, armendy, obj_spamtonshot);
84
        }
85
    }
86
    if (bustertimer > 71)
87
    {
88
        bustertimer = -70;
89
        if (global.turntimer < 100)
90
        {
91
            obj_spamton_neo_enemy.partmode = 1;
92
            bustertimer = 999;
93
        }
94
    }
95
    with (obj_spamtonshot)
96
        dontexplode = 1;
97
    if (flyingheadtimer == 60)
98
        instance_create(x, y, obj_sneo_guymaker);
99
    if (flyingheadtimer == 90)
100
    {
101
        with (obj_sneo_guymaker)
102
            instance_destroy();
103
        flyingheadtimer = -90;
104
    }
105
}
106
if (aim == 1)
107
{
108
    with (obj_spamton_neo_enemy)
109
    {
110
        if (instance_exists(obj_heart))
111
        {
112
            armangle = point_direction(x + partxoff[1], y + partyoff[1], obj_heart.x + 8, obj_heart.y + 8) + 90;
113
            aimmode = 1;
114
            armaim = armangle;
115
        }
116
    }
117
    with (obj_sneo_biglaser)
118
    {
119
        x = obj_spamton_neo_enemy.x + obj_spamton_neo_enemy.partx[1] + obj_spamton_neo_enemy.partxoff[1] + lengthdir_x(obj_spamton_neo_enemy.armlength, obj_spamton_neo_enemy.partrot[1] - 93);
120
        y = obj_spamton_neo_enemy.y + obj_spamton_neo_enemy.party[1] + obj_spamton_neo_enemy.partyoff[1] + lengthdir_y(obj_spamton_neo_enemy.armlength, obj_spamton_neo_enemy.partrot[1] - 93);
121
    }
122
}