Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_susiezilla_controller_Step_0

(view raw script w/o annotations or w/e)
1
var enemy_count = 0;
2
enemy_count += instance_number(obj_susiezilla_zombie);
3
enemy_count += instance_number(obj_susiezilla_laser_building);
4
enemy_count += instance_number(obj_susiezilla_mansion);
5
enemy_count += instance_number(obj_susiezilla_gunzombie);
6
enemy_count += instance_number(obj_susiezilla_shadowguy);
7
if (wave == 1)
8
{
9
    if (wave_con == 1 && enemy_count == 0)
10
    {
11
        timer++;
12
        if (timer == 1)
13
        {
14
            instance_create(653, 266, obj_susiezilla_zombie);
15
            instance_create(668, 296, obj_susiezilla_zombie);
16
            instance_create(686, 259, obj_susiezilla_zombie);
17
            instance_create(699, 296, obj_susiezilla_zombie);
18
            timer = 0;
19
            wave_con = 2;
20
            enemy_count = 1;
21
        }
22
    }
23
    if (wave_con == 2 && enemy_count == 0)
24
    {
25
        timer++;
26
        if (timer == 1)
27
        {
28
            var _bomb = instance_create(camerax() - 50, 210, obj_susiezilla_roller);
29
            _bomb.px = 6;
30
            _bomb = instance_create(camerax() - 50, 330, obj_susiezilla_roller);
31
            _bomb.px = 6;
32
            instance_create(-30, 251, obj_susiezilla_gunzombie);
33
            instance_create(-60, 288, obj_susiezilla_gunzombie);
34
            instance_create(-30, 273, obj_susiezilla_gunzombie);
35
        }
36
        if (timer == 2)
37
            instance_create(531, 201, obj_susiezilla_laser_building);
38
        if (timer == 5)
39
        {
40
            timer = 0;
41
            wave_con = 3;
42
            enemy_count = 1;
43
            bld = instance_create(82, 245, obj_susiezilla_laser_building);
44
            bld.image_xscale = -2;
45
            instance_create(668, 229, obj_susiezilla_gunzombie);
46
            instance_create(668, 333, obj_susiezilla_gunzombie);
47
            instance_create(653, 266, obj_susiezilla_zombie);
48
            instance_create(668, 296, obj_susiezilla_zombie);
49
            instance_create(686, 259, obj_susiezilla_zombie);
50
            instance_create(699, 296, obj_susiezilla_zombie);
51
            instance_create(714, 259, obj_susiezilla_zombie);
52
        }
53
    }
54
    if (wave_con == 3 && enemy_count == 0)
55
    {
56
        timer++;
57
        if (timer == 1)
58
        {
59
            var _bomb = instance_create(camerax() + 700, 210, obj_susiezilla_roller);
60
            _bomb.px = -6;
61
            _bomb = instance_create(camerax() + 700, 320, obj_susiezilla_roller);
62
            _bomb.px = -6;
63
        }
64
        if (timer == 3)
65
        {
66
            var _bomb = instance_create(camerax() - 50, 210, obj_susiezilla_roller);
67
            _bomb.px = -6;
68
            _bomb = instance_create(camerax() - 50, 320, obj_susiezilla_roller);
69
            _bomb.px = -6;
70
            instance_create(653, 266, obj_susiezilla_zombie);
71
            instance_create(668, 296, obj_susiezilla_zombie);
72
            instance_create(686, 259, obj_susiezilla_zombie);
73
            instance_create(699, 296, obj_susiezilla_zombie);
74
            instance_create(714, 259, obj_susiezilla_zombie);
75
            camerax_target = 640;
76
            move_camera_con = 1;
77
        }
78
    }
79
}
80
if (wave == 2)
81
{
82
    if (wave_con == 1 && enemy_count == 0)
83
    {
84
        instance_create(camerax() + 700, irandom(150) + 200, obj_susiezilla_shadowguy);
85
        wave_con = 2;
86
        enemy_count = 1;
87
    }
88
    if (wave_con == 2 && enemy_count == 0)
89
    {
90
        instance_create(camerax() - 60, irandom(50) + 200, obj_susiezilla_shadowguy);
91
        instance_create(1308, 229, obj_susiezilla_gunzombie);
92
        instance_create(1308, 333, obj_susiezilla_gunzombie);
93
        wave_con = 3;
94
        enemy_count = 1;
95
    }
96
    if (wave_con == 3 && enemy_count == 0)
97
    {
98
        bld = instance_create(camerax() + 240, 245, obj_susiezilla_laser_building);
99
        bld.image_xscale = -2;
100
        instance_create(camerax() + 400, 201, obj_susiezilla_laser_building);
101
        instance_create(camerax() - 20, 266, obj_susiezilla_zombie);
102
        instance_create(camerax() - 70, 296, obj_susiezilla_zombie);
103
        instance_create(camerax() - 25, 259, obj_susiezilla_zombie);
104
        instance_create(camerax() - 70, 296, obj_susiezilla_zombie);
105
        wave_con = 4;
106
        enemy_count = 1;
107
    }
108
    if (wave_con == 4 && enemy_count == 0)
109
    {
110
        repeat (3)
111
            instance_create(choose(camerax() - 60, camerax() + 700), irandom(150) + 200, obj_susiezilla_shadowguy);
112
        wave_con = 5;
113
        enemy_count = 1;
114
    }
115
    if (wave_con == 5 && enemy_count == 0)
116
    {
117
        mansion = instance_create(1792, 274, obj_susiezilla_mansion);
118
        with (mansion)
119
            
scr_depth_alt
scr_depth_alt

function
scr_depth_alt()
{ depth = 100000 - ((y * 10) + ((sprite_height - sprite_yoffset) * 10)); }
();
120
        camerax_target = 1280;
121
        move_camera_con = 1;
122
    }
123
}
124
if (wave == 3 && i_ex(obj_susiezilla_mansion))
125
{
126
    if ((obj_susiezilla_mansion.pattern == 1 && obj_susiezilla_mansion.patterntimer == 100) || (obj_susiezilla_mansion.pattern == 5 && obj_susiezilla_mansion.patterntimer == 120))
127
    {
128
        if (pattern == 0)
129
        {
130
            if (choose(0, 1) == 1)
131
            {
132
                instance_create(camerax() - 30, 251, obj_susiezilla_gunzombie);
133
                instance_create(camerax() - 60, 288, obj_susiezilla_gunzombie);
134
                instance_create(camerax() - 30, 273, obj_susiezilla_gunzombie);
135
            }
136
            else
137
            {
138
                instance_create(camerax() + camerawidth() + 30, 251, obj_susiezilla_gunzombie);
139
                instance_create(camerax() + camerawidth() + 30, 273, obj_susiezilla_gunzombie);
140
            }
141
        }
142
        if (pattern == 1)
143
        {
144
            if (choose(0, 1) == 1)
145
            {
146
                instance_create(camerax() - 20, 266, obj_susiezilla_zombie);
147
                instance_create(camerax() - 70, 296, obj_susiezilla_zombie);
148
                instance_create(camerax() - 25, 259, obj_susiezilla_zombie);
149
                instance_create(camerax() - 70, 296, obj_susiezilla_zombie);
150
                instance_create(camerax() - 50, 259, obj_susiezilla_zombie);
151
            }
152
            else
153
            {
154
                bld = instance_create(1392, 230, obj_susiezilla_laser_building);
155
                bld.image_xscale = -2;
156
                instance_create(1748, 286, obj_susiezilla_laser_building);
157
            }
158
        }
159
        if (pattern == 2)
160
        {
161
            instance_create(choose(camerax() - 60, camerax() + 700), irandom(150) + 200, obj_susiezilla_shadowguy);
162
            instance_create(choose(camerax() - 60, camerax() + 700), irandom(150) + 200, obj_susiezilla_shadowguy);
163
        }
164
        pattern++;
165
        if (pattern >= 3)
166
            pattern = 0;
167
    }
168
}
169
createcartimer++;
170
createcartimer2++;
171
if (createcartimer == 500 && obj_susiezilla.x < 1280)
172
{
173
    createcartimer = 0;
174
    createcartimermax = 70 + irandom(160);
175
    car = instance_create(-20, 212, obj_car_breakable);
176
    car.hspeed = 4;
177
    if (irandom(10) < 3)
178
    {
179
        car = instance_create(-60, 212, obj_car_breakable);
180
        car.hspeed = 4;
181
    }
182
}
183
if (createcartimer2 == 500 && obj_susiezilla.x < 1280)
184
{
185
    createcartimer2 = 0;
186
    createcartimer2max = 70 + irandom(160);
187
    car = instance_create(camerax() + 660, 294, obj_car_breakable);
188
    car.hspeed = -4;
189
    car.image_xscale = -1;
190
}
191
if (camerax_target == 640 && move_camera_con == 1)
192
{
193
    if (camerax() < (obj_susiezilla.x - 240))
194
    {
195
        if (abs(camerax() - obj_susiezilla.x - 240) < 7)
196
            camerax_set(obj_susiezilla.x - 240);
197
        else
198
            camerax_set(camerax() + 4);
199
    }
200
    if (camerax() > 640)
201
    {
202
        camerax_set(640);
203
        move_camera_con = 0;
204
        wave = 2;
205
        wave_con = 1;
206
    }
207
}
208
if (camerax_target == 1280 && move_camera_con == 1)
209
{
210
    if (camerax() < (obj_susiezilla.x - 240))
211
    {
212
        if (abs(camerax() - obj_susiezilla.x - 240) < 7)
213
            camerax_set(obj_susiezilla.x - 240);
214
        else
215
            camerax_set(camerax() + 4);
216
    }
217
    if (camerax() > 1280)
218
    {
219
        camerax_set(1280);
220
        move_camera_con = 0;
221
        wave = 3;
222
        wave_con = 1;
223
    }
224
}