Deltarune script viewer

← back to main script listing

gml_Object_obj_sneo_wall_controller_Step_0

(view raw script w/o annotations or w/e)
1
if (introtimer > 24)
2
{
3
    if (type < 3)
4
        timer++;
5
    else
6
        timer += sinespeed;
7
    if (sinespeed != sinetargetspeed)
8
        sinespeed = scr_movetowards
scr_movetowards

function scr_movetowards(arg0, arg1, arg2) { if (arg0 == arg1) return arg0; else if (arg0 > arg1) return max(arg0 - arg2, arg1); else return min(arg0 + arg2, arg1); }
(sinespeed, sinetargetspeed, 0.05);
9
}
10
else
11
{
12
    introtimer++;
13
}
14
if (difficulty == 2)
15
{
16
    lilguytimer++;
17
    if (lilguytimer == 76)
18
    {
19
        instance_create(x, y, obj_sneo_guymaker);
20
        obj_sneo_guymaker.alarm[0] = 30;
21
    }
22
    if (lilguytimer == 172)
23
    {
24
        instance_create(x, y, obj_sneo_guymaker);
25
        obj_sneo_guymaker.alarm[0] = 30;
26
    }
27
}
28
if (sinetargetspeed < 0)
29
    exit;
30
if (init == 0 && type == 3)
31
{
32
    for (j = 0; j < spawncount; j++)
33
    {
34
        for (i = 0; i < 2; i++)
35
        {
36
            bullet[i] = instance_create(obj_growtangle.x + 150, (yy + (__view_get(e__VW.HView, 0) / 2) + (i * 5 * 40)) - 170, obj_sneo_staticwall);
37
            bullet[i].sprite_index = spr_sneo_bullet_box;
38
            bullet[i].image_xscale = 1.25;
39
            bullet[i].image_yscale = 1.6;
40
            bullet[i].siner = waittime * j;
41
        }
42
    }
43
    init = 1;
44
}
45
if (type == 3)
46
{
47
    if (timer >= waittime && made < spawncount)
48
    {
49
        for (j = 0; j < spawncount; j++)
50
        {
51
            if (breakspotpreviouscon > 3)
52
                breakspotpreviouscon = 0;
53
            if (breakspotpreviouscon == 0 || breakspotpreviouscon == 1)
54
            {
55
                breakspotconsecutive = 2 + irandom(1);
56
                if (breakspotpreviouscon == 0)
57
                {
58
                    vspeed = -1.5;
59
                    breakspot1 = breakspotconsecutive - 1;
60
                    breakspot2 = breakspotconsecutive;
61
                    breakspot3 = breakspotconsecutive + 2;
62
                    breakspot4 = breakspotconsecutive + 3;
63
                }
64
                if (breakspotpreviouscon == 1)
65
                {
66
                    vspeed = 2;
67
                    breakspotconsecutive = 1;
68
                    breakspot1 = breakspotconsecutive;
69
                    breakspot2 = breakspotconsecutive + 1;
70
                    breakspot3 = breakspotconsecutive + 3;
71
                    breakspot4 = breakspotconsecutive + 4;
72
                }
73
            }
74
            if (breakspotpreviouscon == 2 || breakspotpreviouscon == 3)
75
            {
76
                breakspotconsecutive = 1 + irandom(4);
77
                vspeed = 0;
78
                var a = irandom(1);
79
                breakspot1 = 1 + a;
80
                breakspot2 = 2 + a;
81
                breakspot3 = 3 + a;
82
                breakspot4 = 2 + a;
83
                if (breakspotpreviouscon == 3)
84
                {
85
                    breakspot1 = 3 + a;
86
                    breakspot2 = 4 + a;
87
                    breakspot3 = 5 + a;
88
                    breakspot4 = 4 + a;
89
                }
90
            }
91
            breakspotpreviouscon++;
92
            breakspotpreviouscon++;
93
            wallsize = 7;
94
            var sineroffset = (timer - waittime) + scr_movetowards
scr_movetowards

function scr_movetowards(arg0, arg1, arg2) { if (arg0 == arg1) return arg0; else if (arg0 > arg1) return max(arg0 - arg2, arg1); else return min(arg0 + arg2, arg1); }
(sinespeed, sinetargetspeed, 0.05);
95
            for (i = 0; i < wallsize; i++)
96
            {
97
                bullet[i] = instance_create(obj_growtangle.x + 150, (yy + (__view_get(e__VW.HView, 0) / 2) + (i * 30)) - 100 - 60, obj_sneo_wallbullet);
98
                bullet[i].sprite_index = spr_sneo_mail;
99
                bullet[i].image_xscale = 1;
100
                bullet[i].image_yscale = 1.5;
101
                bullet[i].falsevspeed = vspeed;
102
                bullet[i].loop = 1;
103
                bullet[i].siner = sineroffset;
104
                bullet[i].siner = waittime * j;
105
                if (breakspot1 == i || breakspot2 == i || breakspot3 == i || breakspot4 == i)
106
                {
107
                    bullet[i].destroyable = 1;
108
                    bullet[i].sprite_index = spr_sneo_crew_ez_hitbox;
109
                    bullet[i].image_speed = 0.5;
110
                    bullet[i].image_yscale = 1;
111
                    bullet[i].image_alpha = 0;
112
                }
113
            }
114
            timer -= waittime;
115
            made++;
116
        }
117
    }
118
}
119
120
enum e__VW
121
{
122
    XView,
123
    YView,
124
    WView,
125
    HView,
126
    Angle,
127
    HBorder,
128
    VBorder,
129
    HSpeed,
130
    VSpeed,
131
    Object,
132
    Visible,
133
    XPort,
134
    YPort,
135
    WPort,
136
    HPort,
137
    Camera,
138
    SurfaceID
139
}