Deltarune (Chapter 2) script viewer

← back to main script listing

gml_Object_o_coaster_hero_Step_0

(view raw script w/o annotations or w/e)
1
if (instance_exists(obj_berdlyb_enemy) && obj_berdlyb_enemy.nitro > 0)
2
    nitro = 1;
3
else
4
    nitro = 0;
5
if (o_coaster_controller.actcon == 1 && o_coaster_controller.timer < o_coaster_controller.timermax && bump == 1)
6
{
7
    if ((HeroID == 0 && gooffscreen == 0) || (HeroID == 1 && gooffscreen == 0) || (HeroID == 2 && gooffscreen == 0))
8
    {
9
        if (visible == 1)
10
        {
11
            bump = 0;
12
            mykeybuffer = 3;
13
            o_coaster_controller.playerinput = 1;
14
            if ((HeroID == 0 && sprite_index != spr_krisb_act) || (HeroID == 0 && sprite_index == spr_krisb_act && image_index > 9))
15
            {
16
                sprite_index = spr_krisb_act;
17
                image_index = 0;
18
                forceact = 1;
19
                image_speed = 0.5;
20
            }
21
            if ((HeroID == 1 && sprite_index != spr_susie_act) || (HeroID == 1 && sprite_index == spr_susie_act && image_index > 8))
22
            {
23
                sprite_index = spr_susie_act;
24
                image_index = 0;
25
                forceact = 1;
26
                image_speed = 0.5;
27
            }
28
            if ((HeroID == 2 && sprite_index != spr_ralsei_act) || (HeroID == 2 && sprite_index == spr_ralsei_act && image_index > 11))
29
            {
30
                sprite_index = spr_ralsei_act;
31
                image_index = 0;
32
                forceact = 1;
33
                image_speed = 0.5;
34
            }
35
        }
36
    }
37
}
38
if (o_coaster_controller.actcon != 0)
39
    actoncondelay = 1;
40
if (instance_exists(obj_battleblcon))
41
    actoncondelay = 0;
42
if (o_coaster_controller.actcon == 0 && actoncondelay == 0 && endscene == 0)
43
{
44
    if (HeroID == 0 && forceact == 0)
45
    {
46
        sprite_index = obj_herokris.sprite_index;
47
        image_index = obj_herokris.image_index - 1;
48
    }
49
    if (HeroID == 1 && forceact == 0 && instance_exists(obj_herosusie))
50
    {
51
        sprite_index = obj_herosusie.sprite_index;
52
        image_index = obj_herosusie.image_index - 1;
53
    }
54
    if (HeroID == 2 && forceact == 0 && instance_exists(obj_heroralsei))
55
    {
56
        sprite_index = obj_heroralsei.sprite_index;
57
        image_index = obj_heroralsei.image_index - 1;
58
    }
59
}
60
if (sprite_index == spr_krisb_act && image_index > 10)
61
{
62
    obj_herokris.sprite_index = spr_krisb_idle;
63
    image_speed = 0.25;
64
    sprite_index = spr_krisb_idle;
65
}
66
if (sprite_index == spr_susie_act && image_index > 9)
67
{
68
    sprite_index = spr_susieb_idle;
69
    image_speed = 0.25;
70
}
71
if (sprite_index == spr_susieb_act && image_index > 9)
72
    sprite_index = spr_susieb_idle;
73
if (sprite_index == spr_ralsei_act && image_index > 11)
74
{
75
    sprite_index = spr_ralsei_idle;
76
    image_speed = 0.25;
77
    forceact = 0;
78
}
79
if (sprite_index == spr_krisb_attack && forceact == 1 && introanim == 1)
80
{
81
    sprite_index = spr_krisb_idle;
82
    image_speed = 0;
83
    image_index = 0;
84
    forceact = 0;
85
    introanim = 0;
86
}
87
if (sprite_index == spr_susie_attack && forceact == 1 && introanim == 1)
88
{
89
    sprite_index = spr_susieb_idle;
90
    image_speed = 0;
91
    image_index = 0;
92
    forceact = 0;
93
    introanim = 0;
94
}
95
if (sprite_index == spr_ralsei_battleintro && forceact == 1 && introanim == 1)
96
{
97
    sprite_index = spr_ralsei_idle;
98
    image_speed = 0;
99
    image_index = 9;
100
    forceact = 0;
101
    introanim = 0;
102
}
103
if (sprite_index == spr_krisb_idle)
104
{
105
    var xx = 4;
106
    var yy = -11;
107
}
108
else if (sprite_index == spr_krisb_attack)
109
{
110
    var xx = 0;
111
    var yy = 8;
112
}
113
else if (sprite_index == spr_krisb_attackready)
114
{
115
    var xx = 0;
116
    var yy = 8;
117
}
118
else if (sprite_index == spr_susie_idle)
119
{
120
    var xx = 0;
121
    var yy = -9;
122
}
123
else if (sprite_index == spr_susieb_idle)
124
{
125
    var xx = 0;
126
    var yy = -9;
127
}
128
else if (sprite_index == spr_susieb_itemready)
129
{
130
    var xx = 0;
131
    var yy = -9;
132
}
133
else if (sprite_index == spr_susieb_item)
134
{
135
    var xx = 0;
136
    var yy = -9;
137
}
138
else if (sprite_index == spr_ralsei_idle)
139
{
140
    var xx = -12;
141
    var yy = -9;
142
}
143
else if (sprite_index == spr_ralsei_act)
144
{
145
    var xx = -12;
146
    var yy = 0;
147
}
148
else if (sprite_index == spr_ralsei_walk_right)
149
{
150
    var xx = 0;
151
    var yy = -16;
152
}
153
else if (sprite_index == spr_ralsei_right)
154
{
155
    var xx = 0;
156
    var yy = -16;
157
}
158
else if (sprite_index == spr_krisb_victory)
159
{
160
    var xx = 0;
161
    var yy = -11;
162
}
163
else if (sprite_index == spr_ralsei_victory)
164
{
165
    var xx = 0;
166
    var yy = -9;
167
}
168
else if (sprite_index == spr_krisr_dark)
169
{
170
    var xx = 5;
171
    var yy = -10;
172
}
173
else if (sprite_index == spr_susie_right_dw)
174
{
175
    var xx = 10;
176
    var yy = -13;
177
}
178
else if (sprite_index == spr_ralsei_walk_right)
179
{
180
    var xx = 1;
181
    var yy = -2;
182
}
183
else
184
{
185
    var xx = 0;
186
    var yy = 0;
187
}
188
if (HeroID == 1)
189
    var xx = xx - 10;
190
var a = 2;
191
if (sprite_index == spr_susieb_actready)
192
    a = 1.5;
193
if (sprite_index == spr_susieb_act)
194
    a = 1.5;
195
if (sprite_index == spr_susieb_attackready)
196
    a = 1.5;
197
if (sprite_index == spr_susieb_attack)
198
    a = 1.5;
199
if (sprite_index == spr_susieb_defend)
200
    a = 1.5;
201
if (sprite_index == spr_susie_rudebuster)
202
    a = 1.5;
203
if (sprite_index == spr_susie_spell)
204
    a = 1.5;
205
if (sprite_index == spr_susie_spellready)
206
    a = 1.5;
207
if (sprite_index == spr_susie_actready)
208
    a = 1.5;
209
if (sprite_index == spr_susie_act)
210
    a = 1.5;
211
if (sprite_index == spr_susie_attackready)
212
    a = 1.5;
213
if (sprite_index == spr_susie_attack)
214
    a = 1.5;
215
if (sprite_index == spr_susie_defend)
216
    a = 1.5;
217
if (endscene == 1 && instance_exists(obj_ch2_scene11a))
218
{
219
    var xx, yy;
220
    if (HeroID == 0)
221
    {
222
        xx = obj_ch2_scene11a.coaster_kris.x + obj_ch2_scene11a.coaster_kris.sinerx + obj_ch2_scene11a.coaster_kris.coaster_offset_x;
223
        yy = obj_ch2_scene11a.coaster_kris.y + 37 + obj_ch2_scene11a.coaster_kris.sinery + obj_ch2_scene11a.coaster_kris.coaster_offset_y;
224
    }
225
    if (HeroID == 1)
226
    {
227
        xx = obj_ch2_scene11a.coaster_susie.x + obj_ch2_scene11a.coaster_susie.sinerx + obj_ch2_scene11a.coaster_susie.coaster_offset_x;
228
        yy = obj_ch2_scene11a.coaster_susie.y + 37 + obj_ch2_scene11a.coaster_susie.sinery + obj_ch2_scene11a.coaster_susie.coaster_offset_y;
229
    }
230
    if (HeroID == 2)
231
    {
232
        xx = obj_ch2_scene11a.coaster_ralsei.x + 8 + obj_ch2_scene11a.coaster_ralsei.sinerx + obj_ch2_scene11a.coaster_ralsei.coaster_offset_x;
233
        yy = obj_ch2_scene11a.coaster_ralsei.y + 44 + obj_ch2_scene11a.coaster_ralsei.sinery + obj_ch2_scene11a.coaster_ralsei.coaster_offset_y;
234
    }
235
    if (endscenetimer < 10)
236
        endscenetimer++;
237
    x = lerp(x, xx, endscenetimer / 10);
238
    y = lerp(y, yy, endscenetimer / 10);
239
}
240
if (disabled == 1)
241
{
242
    disabledtimer--;
243
    if (disabledtimer <= 0)
244
        disabled = 0;
245
}
246
if (con == 0)
247
{
248
    siner += 0.4;
249
    if (gooffscreen == 0 && endscene == 0)
250
        x = xstart + (sin(siner / 6) * 3);
251
    if (mykeybuffer > 0 && disabled == 0)
252
    {
253
        con = 1;
254
        snd_play_pitch(snd_drive, 1 + random(0.2));
255
        dashtimer = 0;
256
        damaged = 0;
257
        with (o_coaster_controller)
258
            buttonspressed += 1;
259
    }
260
}
261
if (con == 1)
262
{
263
    if (nitro == 0)
264
    {
265
        if (obj_berdlyb_enemy.bumpactfast == 1)
266
        {
267
            hspeed += 6;
268
            if (hspeed > 45)
269
                hspeed = 45;
270
        }
271
        else
272
        {
273
            hspeed += 4;
274
            if (hspeed > 30)
275
                hspeed = 30;
276
        }
277
    }
278
    if (nitro == 1)
279
    {
280
        hspeed += 8;
281
        if (hspeed > 60)
282
            hspeed = 60;
283
    }
284
    smoketimer += 2;
285
    if (smoketimer >= 3)
286
        smoketimer = 0;
287
    if (x >= (camerax() + 200))
288
        con = 2;
289
    if (damaged == 1)
290
    {
291
        con = 5;
292
        hspeed = -48;
293
        if (nitro == 1)
294
            hspeed = -200;
295
    }
296
}
297
if (con == 2)
298
{
299
    if (damaged == 1)
300
        con = 5;
301
    if (hspeed >= -6)
302
        hspeed -= 2;
303
    if (nitro == 1)
304
    {
305
        hspeed -= 1;
306
        if (x >= (camerax() + 400) && hspeed > 0)
307
            hspeed = -2;
308
    }
309
    if (x <= (xstart + 10))
310
    {
311
        damaged = 0;
312
        hspeed = 0;
313
        siner = 0;
314
        con = 0;
315
    }
316
}
317
if (con == 5)
318
{
319
    hspeed = -30;
320
    if (nitro == 1)
321
        hspeed = -100;
322
    if (x <= (xstart - hspeed))
323
    {
324
        hspeed = 0;
325
        damaged = 0;
326
        siner = 0;
327
        con = 0;
328
    }
329
}
330
mykeybuffer -= 1;
331
if (gooffscreen == 2)
332
{
333
    if (HeroID == 0)
334
        x -= 2;
335
}