Deltarune (Chapter 2) script viewer

← back to main script listing

gml_Object_obj_werewire_enemy_Step_0

(view raw script w/o annotations or w/e)
1
if (global.monster[myself] == 1)
2
{
3
    if (global.monsterstatus[myself] == 0)
4
        scr_monster_make_tired
scr_monster_make_tired

function scr_monster_make_tired(arg0) { global.monstercomment[arg0] = stringsetloc(
(Tired)
"(Tired)", "scr_monster_make_tired_slash_scr_monster_make_tired_gml_1_0"
); global.monsterstatus[arg0] = 1; }
(myself);
5
    if (scr_isphase
scr_isphase

function scr_isphase(arg0) { __isphase = 0; if (arg0 == "menu" && global.myfight == 0) __isphase = 1; if (arg0 == "acting" && global.myfight == 3) __isphase = 1; if (arg0 == "victory" && global.myfight == 7) __isphase = 1; if (arg0 == "attack" || arg0 == "fight") { if (global.myfight == 1) __isphase = 1; } if (arg0 == "spell" || arg0 == "item") { if (global.myfight == 4) __isphase = 1; } if (arg0 == "enemytalk" || arg0 == "balloon") { if (global.mnfight == 1) __isphase = 1; } if (arg0 == "enemyattack" || arg0 == "bullets") { if (global.mnfight == 2) __isphase = 1; } return __isphase; }
("enemytalk") && talked == 0 && talkwait != 1)
6
    {
7
        scr_randomtarget
scr_randomtarget

function scr_randomtarget() { abletotarget = 1; if (global.charcantarget[0] == 0 && global.charcantarget[1] == 0 && global.charcantarget[2] == 0) abletotarget = 0; mytarget = choose(0, 1, 2); if (abletotarget == 1) { while (global.charcantarget[mytarget] == 0) mytarget = choose(0, 1, 2); } else { mytarget = 3; } global.targeted[mytarget] = 1; if (global.chapter >= 2 && mytarget != 3) { if (global.charcantarget[0]) global.targeted[0] = 1; if (global.charcantarget[1]) global.targeted[1] = 1; if (global.charcantarget[2]) global.targeted[2] = 1; mytarget = 4; } }
();
8
        if (!instance_exists(obj_darkener))
9
            instance_create(0, 0, obj_darkener);
10
        instance_create(x - 102, y + 18, obj_werewire_zzt_balloon);
11
        snd_play(snd_electric_talk);
12
        talked = 1;
13
        talktimer = 0;
14
    }
15
    if (talked == 1 && scr_isphase
scr_isphase

function scr_isphase(arg0) { __isphase = 0; if (arg0 == "menu" && global.myfight == 0) __isphase = 1; if (arg0 == "acting" && global.myfight == 3) __isphase = 1; if (arg0 == "victory" && global.myfight == 7) __isphase = 1; if (arg0 == "attack" || arg0 == "fight") { if (global.myfight == 1) __isphase = 1; } if (arg0 == "spell" || arg0 == "item") { if (global.myfight == 4) __isphase = 1; } if (arg0 == "enemytalk" || arg0 == "balloon") { if (global.mnfight == 1) __isphase = 1; } if (arg0 == "enemyattack" || arg0 == "bullets") { if (global.mnfight == 2) __isphase = 1; } return __isphase; }
("enemytalk"))
16
    {
17
        rtimer = 0;
18
        if (!talkwait && !instance_exists(obj_werewire_zzt_balloon) && !instance_exists(obj_writer) && global.mnfight == 1)
19
            global.mnfight = 2;
20
        if (scr_isphase
scr_isphase

function scr_isphase(arg0) { __isphase = 0; if (arg0 == "menu" && global.myfight == 0) __isphase = 1; if (arg0 == "acting" && global.myfight == 3) __isphase = 1; if (arg0 == "victory" && global.myfight == 7) __isphase = 1; if (arg0 == "attack" || arg0 == "fight") { if (global.myfight == 1) __isphase = 1; } if (arg0 == "spell" || arg0 == "item") { if (global.myfight == 4) __isphase = 1; } if (arg0 == "enemytalk" || arg0 == "balloon") { if (global.mnfight == 1) __isphase = 1; } if (arg0 == "enemyattack" || arg0 == "bullets") { if (global.mnfight == 2) __isphase = 1; } return __isphase; }
("bullets"))
21
        {
22
            if (!instance_exists(obj_growtangle))
23
            {
24
                if (scr_monsterpop
scr_monsterpop

function scr_monsterpop() { return global.monster[0] + global.monster[1] + global.monster[2]; }
() > 1)
25
                {
26
                    instance_create(__view_get(e__VW.XView, 0) + 320, __view_get(e__VW.YView, 0) + 170, obj_growtangle);
27
                }
28
                else
29
                {
30
                    battlebox = instance_create(__view_get(e__VW.XView, 0) + 320, __view_get(e__VW.YView, 0) + 240, obj_growtangle);
31
                    battlebox.maxyscale = 1.33;
32
                }
33
            }
34
            if (!instance_exists(obj_moveheart))
35
                scr_moveheart
scr_moveheart

function scr_moveheart() { global.inv = 0; if (global.chapter == 2 && instance_exists(obj_gigaqueen_enemy)) return instance_create(o_boxingcontroller.x + 4, o_boxingcontroller.y - 120, obj_moveheart); else return instance_create(obj_herokris.x + 10, obj_herokris.y + 40, obj_moveheart); }
();
36
        }
37
    }
38
    if (scr_isphase
scr_isphase

function scr_isphase(arg0) { __isphase = 0; if (arg0 == "menu" && global.myfight == 0) __isphase = 1; if (arg0 == "acting" && global.myfight == 3) __isphase = 1; if (arg0 == "victory" && global.myfight == 7) __isphase = 1; if (arg0 == "attack" || arg0 == "fight") { if (global.myfight == 1) __isphase = 1; } if (arg0 == "spell" || arg0 == "item") { if (global.myfight == 4) __isphase = 1; } if (arg0 == "enemytalk" || arg0 == "balloon") { if (global.mnfight == 1) __isphase = 1; } if (arg0 == "enemyattack" || arg0 == "bullets") { if (global.mnfight == 2) __isphase = 1; } return __isphase; }
("bullets") && attacked == 0)
39
    {
40
        rtimer += 1;
41
        if (rtimer == 15)
42
        {
43
            rr = (scr_monsterpop
scr_monsterpop

function scr_monsterpop() { return global.monster[0] + global.monster[1] + global.monster[2]; }
() > 1) ? choose(0, 1) : 3;
44
            if (rr == 0 || rr == 1)
45
            {
46
                if (!instance_exists(obj_berdlyb2_enemy))
47
                    scr_turntimer
scr_turntimer

function scr_turntimer(arg0) { if (global.turntimer < arg0) global.turntimer = arg0; }
(210);
48
                shootcon = 0;
49
                shootmode = 1;
50
                shoottimer = 0;
51
                with (object_index)
52
                    shootwait = (random(5) + (initid * 30)) - 30;
53
                werewire_count = scr_monsterpop
scr_monsterpop

function scr_monsterpop() { return global.monster[0] + global.monster[1] + global.monster[2]; }
();
54
            }
55
            else if (rr == 3)
56
            {
57
                global.turntimer = 170;
58
                hangsparktimer = 0;
59
                shootmode = 2;
60
                xmovement_finished = 0;
61
                targetx = __view_get(e__VW.XView, 0) + 260;
62
                hangvspeed = 0;
63
                hanghspeed = 0;
64
                hangcon = 1;
65
                hangsiner = 0;
66
                sprite_index = spr_werewire_hang;
67
            }
68
            turns += 1;
69
            global.typer = 6;
70
            global.fc = 0;
71
            if (global.mercymod[myself] >= global.mercymax[myself])
72
            {
73
                global.battlemsg[0] = stringsetloc(
* Werewire's wire is loose!
"* Werewire's wire is loose!", "obj_werewire_enemy_slash_Step_0_gml_98_0"
);
74
            }
75
            else
76
            {
77
                rr = choose(0, 1, 2, 3, 4);
78
                if (rr == 0)
79
                    global.battlemsg[0] = stringsetloc(
* Werewire crackles incomprehensibly.
"* Werewire crackles incomprehensibly.", "obj_werewire_enemy_slash_Step_0_gml_102_0"
);
80
                if (rr == 1)
81
                    global.battlemsg[0] = stringsetloc(
* Werewire shuffles menacingly.
"* Werewire shuffles menacingly.", "obj_werewire_enemy_slash_Step_0_gml_103_0"
);
82
                if (rr == 2)
83
                    global.battlemsg[0] = stringsetloc(
* Werewire dusts sparks off its shoulders.
"* Werewire dusts sparks off its shoulders.", "obj_werewire_enemy_slash_Step_0_gml_104_0"
);
84
                if (rr == 3)
85
                    global.battlemsg[0] = stringsetloc(
* The atmosphere is electric.
"* The atmosphere is electric.", "obj_werewire_enemy_slash_Step_0_gml_105_0"
);
86
                if (rr == 4)
87
                    global.battlemsg[0] = stringsetloc(
* Smells like ozone.
"* Smells like ozone.", "obj_werewire_enemy_slash_Step_0_gml_106_0"
);
88
            }
89
            attacked = 1;
90
            var attackcheck = 0;
91
            var misscheck = 0;
92
            for (var i = 0; i < 3; i++)
93
            {
94
                if (global.charaction[i] == 1)
95
                    attackcheck = 1;
96
            }
97
            if (attackcheck == 1)
98
            {
99
                for (var i = 0; i < 3; i++)
100
                {
101
                    if (global.monsterhp[i] == global.monstermaxhp[i] && global.monster[i] == 1)
102
                        misscheck++;
103
                }
104
            }
105
            if (misscheck == scr_monsterpop
scr_monsterpop

function scr_monsterpop() { return global.monster[0] + global.monster[1] + global.monster[2]; }
())
106
                global.battlemsg[0] = stringsetsubloc("* Try timing your attacks by pressing ~1!", scr_get_input_name
scr_get_input_name

function scr_get_input_name(arg0) { var _control = "[?]"; if (global.is_console || obj_gamecontroller.gamepad_active) { _control = global.input_g[arg0]; if (_control == gp_padr) return "\\*D "; if (_control == gp_padl) return "\\*A "; if (_control == gp_padu) return "\\*W "; if (_control == gp_padd) return "\\*S "; if (_control == global.button0) return "\\*Z "; if (_control == global.button1) return "\\*X "; if (_control == global.button2) return "\\*C "; } var left_bracket = (global.lang == "en") ? "[" : "["; var right_bracket = (global.lang == "en") ? "]" : "]"; _control = left_bracket + global.asc_def[global.input_k[arg0]] + right_bracket; if (!is_string(_control)) _control = "[?]"; else return _control; }
(4), "obj_werewire_enemy_slash_Step_0_gml_122_0");
107
        }
108
        else if (!instance_exists(obj_berdlyb2_enemy))
109
        {
110
            scr_turntimer
scr_turntimer

function scr_turntimer(arg0) { if (global.turntimer < arg0) global.turntimer = arg0; }
(60);
111
        }
112
    }
113
    if (shootcon == 0 && shootmode == 1)
114
    {
115
        if (global.turntimer >= 10)
116
            shootwait--;
117
        if (shootwait <= 0 && global.turntimer >= 40)
118
        {
119
            shootwait = ((werewire_count * 6) + random(7)) * werewire_count;
120
            if (easymode == 1)
121
                shootwait = ((werewire_count * 10) + random(4)) * werewire_count;
122
            if (werewire_count == 3)
123
                shootwait = ((werewire_count * 5) + random(7)) * werewire_count;
124
            if (werewerewire == 1)
125
                shootwait = 0;
126
            if (scr_monsterattacknamecount
scr_monsterattacknamecount

function scr_monsterattacknamecount(arg0) { __sameattack = 0; for (_sameattacki = 0; _sameattacki < 3; _sameattacki++) { if (global.monsterattackname[_sameattacki] == arg0 && global.monster[_sameattacki] == 1) __sameattack++; } return __sameattack; }
("Chirashi") > 0)
127
                shootwait += (10 * werewire_count);
128
            shootcon = 1;
129
            shoottimer = 0;
130
        }
131
        else if (global.turntimer < 40)
132
        {
133
            shootmode = 0;
134
        }
135
    }
136
    if (shootcon == 1)
137
    {
138
        scr_randomtarget
scr_randomtarget

function scr_randomtarget() { abletotarget = 1; if (global.charcantarget[0] == 0 && global.charcantarget[1] == 0 && global.charcantarget[2] == 0) abletotarget = 0; mytarget = choose(0, 1, 2); if (abletotarget == 1) { while (global.charcantarget[mytarget] == 0) mytarget = choose(0, 1, 2); } else { mytarget = 3; } global.targeted[mytarget] = 1; if (global.chapter >= 2 && mytarget != 3) { if (global.charcantarget[0]) global.targeted[0] = 1; if (global.charcantarget[1]) global.targeted[1] = 1; if (global.charcantarget[2]) global.targeted[2] = 1; mytarget = 4; } }
();
139
        damage = global.monsterat[myself];
140
        shootcon = choose(2, 20);
141
        sprite_index = spr_werewire_attack_2;
142
        if (shootcon == 20)
143
            sprite_index = spr_werewire_attack_1;
144
        image_index = 0;
145
        image_speed = 0;
146
        siner = 0;
147
        siner_timer = 0;
148
        stop_anim = 1;
149
        anim_timer_2 = 0;
150
        shootcount = 0;
151
    }
152
    if (shootcon == 2)
153
    {
154
        anim_add = 0.25;
155
        if (werewerewire == 1)
156
            anim_add = 0.5;
157
        if (image_index < 3)
158
            image_index += (anim_add * m);
159
        if (image_index >= 3)
160
        {
161
            shootcon = 3;
162
            shoottimer = 0;
163
            shootcount = 0;
164
        }
165
    }
166
    if (shootcon == 3)
167
    {
168
        shoottimer -= 1;
169
        if (shoottimer <= 0)
170
        {
171
            snd_play_x(snd_electric_talk, 1, 1.5);
172
            for (var i = 0; i < 3; i += 1)
173
            {
174
                lasercircle = instance_create(x - 52, y + 18, obj_werewire_bullet_lasercircle);
175
                lasercircle.damage = global.monsterat[myself] * 5;
176
                lasercircle.target = mytarget;
177
                lasercircle.grazepoints = 1;
178
                if (i_ex(obj_heart))
179
                    laser_angle = (point_direction(lasercircle.x, lasercircle.y, obj_heart.x + 8, obj_heart.y + 8) - 2) + random(4);
180
                else
181
                    laser_angle += (-2 + random(4));
182
                lasercircle.my_angle = (laser_angle - 5) + (5 * i);
183
                lasercircle.my_angle_change = (-1 + i) * 0.8 * m;
184
                with (lasercircle)
185
                {
186
                    my_speed = 4;
187
                    my_accel = 0.2;
188
                    my_length = 4;
189
                }
190
                lasercircle.my_accel = 0.2 + (werewerewire * 0.2);
191
            }
192
            shoottimer = 10 / m;
193
            shootcount += 1;
194
        }
195
        if (shootcount >= 3)
196
        {
197
            shootcon = 4;
198
            shootimer = 0;
199
        }
200
    }
201
    if (shootcon == 4)
202
    {
203
        shoottimer += 1;
204
        threshold = 10;
205
        if (werewerewire == 1)
206
            threshold = 2;
207
        if (shoottimer >= (threshold / m))
208
        {
209
            image_index += (0.25 * m);
210
            if (image_index >= 9)
211
            {
212
                shootcon = 0;
213
                image_index = 0;
214
                sprite_index = spr_werewire_idle;
215
                image_speed = 0.16;
216
                stop_anim = 0;
217
            }
218
        }
219
    }
220
    if (shootcon == 20)
221
    {
222
        bx1[0] = -24;
223
        bx1[1] = -40;
224
        bx1[2] = -48;
225
        bx1[3] = -46;
226
        bx1[4] = -26;
227
        by1[0] = -54;
228
        by1[1] = -30;
229
        by1[2] = 6;
230
        by1[3] = 46;
231
        by1[4] = 72;
232
        if (i_ex(obj_heart))
233
            bullet_angle = (point_direction(x + bx1[2], y + by1[2], obj_heart.x + 8, obj_heart.y + 8) - 10) + random(20);
234
        else
235
            bullet_angle += (-10 + random(20));
236
        shootcon = 21;
237
    }
238
    if (shootcon == 21)
239
    {
240
        shoottimer += 1;
241
        if (shoottimer >= (15 / m))
242
        {
243
            image_index += (0.25 * m);
244
            if (image_index == 2)
245
                snd_play_x(motor_swing_down, 1, 1);
246
            if (image_index >= 2 && image_index <= 3)
247
            {
248
                repeat (2)
249
                {
250
                    if (shootcount < 5)
251
                    {
252
                        bullet[shootcount] = instance_create(x + bx1[shootcount], y + by1[shootcount], obj_werewire_bullet_lasersquare);
253
                        bullet[shootcount].damage = global.monsterat[myself] * 5;
254
                        bullet[shootcount].target = mytarget;
255
                        bullet[shootcount].grazepoints = 5;
256
                        bullet[shootcount].sprite_index = spr_bullet_werewire_spark;
257
                        bullet[shootcount].stretch = 0;
258
                        bullet[shootcount].image_speed = 0.2;
259
                        bullet[shootcount].image_xscale = 4;
260
                        bullet[shootcount].image_yscale = 4;
261
                        bullet[shootcount].direction = (bullet_angle - 28) + (shootcount * 14);
262
                        bullet[shootcount].image_angle = bullet[shootcount].direction;
263
                        bullet[shootcount].speed = 9 - initid - werewerewire;
264
                        bullet[shootcount].friction = 1;
265
                        shootcount += 1;
266
                    }
267
                }
268
            }
269
            if (image_index >= 4)
270
            {
271
                for (var i = 0; i < 5; i += 1)
272
                {
273
                    with (bullet[i])
274
                    {
275
                        if (speed <= 0)
276
                            speed = 0.2;
277
                        friction = -0.25;
278
                    }
279
                }
280
                shootcon = 0;
281
                image_index = 0;
282
                sprite_index = spr_werewire_idle;
283
                image_speed = 0.16;
284
                stop_anim = 0;
285
            }
286
        }
287
    }
288
    if (hangcon == 1)
289
    {
290
        scr_randomtarget
scr_randomtarget

function scr_randomtarget() { abletotarget = 1; if (global.charcantarget[0] == 0 && global.charcantarget[1] == 0 && global.charcantarget[2] == 0) abletotarget = 0; mytarget = choose(0, 1, 2); if (abletotarget == 1) { while (global.charcantarget[mytarget] == 0) mytarget = choose(0, 1, 2); } else { mytarget = 3; } global.targeted[mytarget] = 1; if (global.chapter >= 2 && mytarget != 3) { if (global.charcantarget[0]) global.targeted[0] = 1; if (global.charcantarget[1]) global.targeted[1] = 1; if (global.charcantarget[2]) global.targeted[2] = 1; mytarget = 4; } }
();
291
        hangvspeed -= (1 * m);
292
        hangy += hangvspeed;
293
        if ((y + hangy) <= (__view_get(e__VW.YView, 0) + 60))
294
        {
295
            hangcon = 2;
296
            hangtimer = 0;
297
        }
298
    }
299
    if (hangcon == 2)
300
    {
301
        hangy += hangvspeed;
302
        if (abs(hangvspeed) >= 0)
303
            hangvspeed *= 0.5;
304
        if (abs(hangvspeed) <= 1)
305
        {
306
            hangvspeed = 0;
307
            hangcon = 3;
308
        }
309
    }
310
    if (hangcon >= 1 && hangcon <= 3)
311
    {
312
        if (xmovement_finished == 0)
313
        {
314
            x -= ((x - targetx) / (6 * m));
315
            if (x <= (targetx + 2))
316
            {
317
                x = targetx;
318
                xmovement_finished = 1;
319
            }
320
        }
321
    }
322
    if (hangcon == 3)
323
    {
324
        if (xmovement_finished == 1)
325
            hangcon = 4;
326
    }
327
    if (hangcon >= 2 && hangcon < 5 && global.turntimer >= 30)
328
    {
329
        hangsparktimer++;
330
        if (hangsparktimer >= 6)
331
        {
332
            hangsparktimer = 0;
333
            shootcount = 0;
334
            bullet[shootcount] = instance_create(x + hangx, y + hangy + 80, obj_werewire_bullet_lasersquare);
335
            bullet[shootcount].damage = global.monsterat[myself] * 5;
336
            bullet[shootcount].target = mytarget;
337
            bullet[shootcount].grazepoints = 6;
338
            bullet[shootcount].sprite_index = spr_bullet_werewire_spark;
339
            bullet[shootcount].stretch = 0;
340
            bullet[shootcount].image_speed = 0.2;
341
            bullet[shootcount].image_xscale = 4;
342
            bullet[shootcount].image_yscale = 4;
343
            bullet[shootcount].hspeed = -3 + random(6);
344
            bullet[shootcount].image_angle = bullet[shootcount].direction;
345
            bullet[shootcount].vspeed = -9 + random(2);
346
            bullet[shootcount].gravity = 0.5;
347
        }
348
    }
349
    if (hangcon == 4)
350
    {
351
        hangsiner += (1 * m);
352
        x += (sin(hangsiner / 12) * 3);
353
        if (global.turntimer <= 20)
354
            hangcon = 5;
355
    }
356
    if (hangcon == 5)
357
    {
358
        hangy -= ((hangy - init_hangy) / (8 / m));
359
        if (hangy >= (init_hangy - 4))
360
            hangy = init_hangy;
361
        x -= (((x - remx) / (8 / m)) - 1);
362
        if (x >= (remx - 1))
363
            x = remx;
364
        if (hangy == init_hangy && x == remx)
365
        {
366
            hangcon = 0;
367
            sprite_index = spr_werewire_idle;
368
        }
369
    }
370
}
371
if (global.myfight == 3)
372
{
373
    xx = __view_get(e__VW.XView, 0);
374
    yy = __view_get(e__VW.YView, 0);
375
    if (acting == 1 && actcon == 0)
376
    {
377
        actcon = 1;
378
        msgsetloc(0, 
* WEREWIRE - Controlled by the Queen's wire, it's sleepwalking through a nightmare!Wait for inputClose Message
"* WEREWIRE - Controlled by the Queen's wire, it's sleepwalking through a nightmare!/%", "obj_werewire_enemy_slash_Step_0_gml_393_0"
);
379
        scr_battletext_default
scr_battletext_default

function scr_battletext_default() { global.fc = 0; global.typer = 4; scr_battletext(); return battlewriter; }
();
380
    }
381
    if (acting == 2 && actcon == 0)
382
    {
383
        var simultext = (simultotal == 1) ? stringsetloc(
* You jiggled your body. The wire loosened in turn!Wait for inputClose Message
"* You jiggled your body. The wire loosened in turn!/%", "obj_werewire_enemy_slash_Step_0_gml_399_0"
) : stringsetloc(
* You jiggled your body!Wait for inputClose Message
"* You jiggled your body!/%", "obj_werewire_enemy_slash_Step_0_gml_399_1"
);
384
        scr_act_charsprite
scr_act_charsprite

function scr_act_charsprite(arg0, arg1, arg2, arg3) { _charactor = arg0; _charinstance = obj_herokris; if (_charactor == "noelle") { _charinstance = obj_heronoelle; _charnum = 4; } if (_charactor == "ralsei") { _charinstance = obj_heroralsei; _charnum = 3; } if (_charactor == "susie") { _charinstance = obj_herosusie; _charnum = 2; } if (_charactor == "kris") { _charinstance = obj_herokris; _charnum = 1; } __returnvalue = _charactsprite[_charnum]; if (i_ex(_charinstance)) { with (_charinstance) { image_alpha = 0; state = 0; global.faceaction[myself] = 0; } _charactsprite[_charnum] = scr_dark_marker(_charinstance.x, _charinstance.y, arg1); with (_charactsprite[_charnum]) { depth = 20 - (__view_get(e__VW.YView, 0) / 40); scr_oflash(); if (arg2 > 0 && arg3 == 0) scr_animate(0, 0, arg2); if (arg2 > 0 && arg3 == 1) image_speed = arg2; a = scr_afterimage(); a.hspeed = 2.5; a.depth = depth + 1; b = scr_afterimage(); b.image_alpha = 0.6; b.hspeed = 5; b.depth = depth + 2; } __returnvalue = _charactsprite[_charnum]; } return __returnvalue; } enum e__VW { XView, YView, WView, HView, Angle, HBorder, VBorder, HSpeed, VSpeed, Object, Visible, XPort, YPort, WPort, HPort, Camera, SurfaceID }
("kris", spr_krisb_wiggle, 0.25, 1);
385
        msgset(0, simultext);
386
        scr_mercyadd
scr_mercyadd

function scr_mercyadd(arg0, arg1) { global.mercymod[arg0] += arg1; if (global.mercymod[arg0] < 0) global.mercymod[arg0] = 0; if (global.mercymod[arg0] >= 100) global.mercymod[arg0] = 100; var _playsound = 1; if (arg1 <= 0) _playsound = 0; if (i_ex(obj_dmgwriter)) { with (obj_dmgwriter) { if (type == 5) _playsound = 0; } } if (_playsound) { var _pitch = 0.8; if (arg1 < 99) _pitch = 1; if (arg1 <= 50) _pitch = 1.2; if (arg1 <= 25) _pitch = 1.4; snd_play_x(snd_mercyadd, 0.8, _pitch); } __mercydmgwriter = instance_create(global.monsterx[arg0], (global.monstery[arg0] + 20) - (global.hittarget[arg0] * 20), obj_dmgwriter); __mercydmgwriter.damage = arg1; __mercydmgwriter.type = 5; global.hittarget[arg0]++; }
(myself, 50);
387
        scr_simultext
scr_simultext

function scr_simultext(arg0) { __simulorder = 0; if (arg0 == "kris") __simulorder = simulorderkri; if (arg0 == "susie") __simulorder = simulordersus; if (arg0 == "ralsei") __simulorder = simulorderral; if (arg0 == "noelle") __simulorder = simulordernoe; __yoffset = __simulorder * 30; global.typer = 4; battlewriter = instance_create(xx + 30, yy + 376 + __yoffset, obj_writer); }
("kris");
388
        actcon = (simulorderkri == 0) ? 20 : -1;
389
    }
390
    if (acting == 3 && actcon == 0)
391
    {
392
        actcon = 12;
393
        alarm[4] = 15;
394
        with (obj_monsterparent)
395
        {
396
            scr_rememberxy
scr_rememberxy

function scr_rememberxy() { ___myrememberx = x; ___myremembery = y; }
();
397
            if (global.monstertype[myself] == 33Werewire)
398
                scr_move_to_point_over_time
scr_move_to_point_over_time

function scr_move_to_point_over_time(arg0, arg1, arg2) { _mmm = instance_create(x, y, obj_move_to_point); _mmm.target = id; _mmm.movex = arg0; _mmm.movey = arg1; _mmm.movemax = arg2; return _mmm; }
((camerax() + 640) - (initid * 100), cameray() + 206, 15);
399
            else
400
                scr_move_to_point_over_time
scr_move_to_point_over_time

function scr_move_to_point_over_time(arg0, arg1, arg2) { _mmm = instance_create(x, y, obj_move_to_point); _mmm.target = id; _mmm.movex = arg0; _mmm.movey = arg1; _mmm.movemax = arg2; return _mmm; }
(740, y, 15);
401
        }
402
    }
403
    if (actcon == 13)
404
    {
405
        msgsetsubloc(0, "* Press ~1 to throw, aim for the weakpoint!", scr_get_input_name
scr_get_input_name

function scr_get_input_name(arg0) { var _control = "[?]"; if (global.is_console || obj_gamecontroller.gamepad_active) { _control = global.input_g[arg0]; if (_control == gp_padr) return "\\*D "; if (_control == gp_padl) return "\\*A "; if (_control == gp_padu) return "\\*W "; if (_control == gp_padd) return "\\*S "; if (_control == global.button0) return "\\*Z "; if (_control == global.button1) return "\\*X "; if (_control == global.button2) return "\\*C "; } var left_bracket = (global.lang == "en") ? "[" : "["; var right_bracket = (global.lang == "en") ? "]" : "]"; _control = left_bracket + global.asc_def[global.input_k[arg0]] + right_bracket; if (!is_string(_control)) _control = "[?]"; else return _control; }
(6), "obj_werewire_enemy_slash_Step_0_gml_425_0");
406
        with (obj_werewire_enemy)
407
        {
408
            target = instance_create(x, y, obj_werewire_throwtarget);
409
            target.maker = id;
410
        }
411
        with (obj_herokris)
412
            visible = 0;
413
        with (obj_herosusie)
414
            visible = 0;
415
        throwsus = instance_create(obj_herosusie.x, obj_herosusie.y, obj_werewire_throwkris);
416
        scr_battletext_default
scr_battletext_default

function scr_battletext_default() { global.fc = 0; global.typer = 4; scr_battletext(); return battlewriter; }
();
417
        actcon = 14;
418
    }
419
    if (actcon == 15)
420
    {
421
        with (obj_monsterparent)
422
            scr_move_to_rememberxy
scr_move_to_rememberxy

function scr_move_to_rememberxy(arg0) { scr_move_to_point_over_time(___myrememberx, ___myremembery, arg0); }
(15);
423
        actcon = 16;
424
        alarm[4] = 15;
425
    }
426
    if (actcon == 17)
427
    {
428
        actcon = 1;
429
        with (obj_werewire_enemy)
430
        {
431
            scr_mercyadd
scr_mercyadd

function scr_mercyadd(arg0, arg1) { global.mercymod[arg0] += arg1; if (global.mercymod[arg0] < 0) global.mercymod[arg0] = 0; if (global.mercymod[arg0] >= 100) global.mercymod[arg0] = 100; var _playsound = 1; if (arg1 <= 0) _playsound = 0; if (i_ex(obj_dmgwriter)) { with (obj_dmgwriter) { if (type == 5) _playsound = 0; } } if (_playsound) { var _pitch = 0.8; if (arg1 < 99) _pitch = 1; if (arg1 <= 50) _pitch = 1.2; if (arg1 <= 25) _pitch = 1.4; snd_play_x(snd_mercyadd, 0.8, _pitch); } __mercydmgwriter = instance_create(global.monsterx[arg0], (global.monstery[arg0] + 20) - (global.hittarget[arg0] * 20), obj_dmgwriter); __mercydmgwriter.damage = arg1; __mercydmgwriter.type = 5; global.hittarget[arg0]++; }
(myself, mercyaccumulated);
432
            mercyaccumulated = 0;
433
        }
434
    }
435
    if (actingsus == 1 && actconsus == 1)
436
    {
437
        var simultext = (simultotal == 1) ? stringsetloc(
* Susie yanked on the wire! It loosened a little bit.Wait for inputClose Message
"* Susie yanked on the wire! It loosened a little bit./%", "obj_werewire_enemy_slash_Step_0_gml_457_0"
) : stringsetloc(
* Susie yanked the wire!Wait for inputClose Message
"* Susie yanked the wire!/%", "obj_werewire_enemy_slash_Step_0_gml_457_1"
);
438
        msgset(0, simultext);
439
        scr_mercyadd
scr_mercyadd

function scr_mercyadd(arg0, arg1) { global.mercymod[arg0] += arg1; if (global.mercymod[arg0] < 0) global.mercymod[arg0] = 0; if (global.mercymod[arg0] >= 100) global.mercymod[arg0] = 100; var _playsound = 1; if (arg1 <= 0) _playsound = 0; if (i_ex(obj_dmgwriter)) { with (obj_dmgwriter) { if (type == 5) _playsound = 0; } } if (_playsound) { var _pitch = 0.8; if (arg1 < 99) _pitch = 1; if (arg1 <= 50) _pitch = 1.2; if (arg1 <= 25) _pitch = 1.4; snd_play_x(snd_mercyadd, 0.8, _pitch); } __mercydmgwriter = instance_create(global.monsterx[arg0], (global.monstery[arg0] + 20) - (global.hittarget[arg0] * 20), obj_dmgwriter); __mercydmgwriter.damage = arg1; __mercydmgwriter.type = 5; global.hittarget[arg0]++; }
(myself, 25);
440
        scr_simultext
scr_simultext

function scr_simultext(arg0) { __simulorder = 0; if (arg0 == "kris") __simulorder = simulorderkri; if (arg0 == "susie") __simulorder = simulordersus; if (arg0 == "ralsei") __simulorder = simulorderral; if (arg0 == "noelle") __simulorder = simulordernoe; __yoffset = __simulorder * 30; global.typer = 4; battlewriter = instance_create(xx + 30, yy + 376 + __yoffset, obj_writer); }
("susie");
441
        actconsus = (simulordersus == 0) ? 20 : 0;
442
    }
443
    if (actingral == 1 && actconral == 1)
444
    {
445
        var simultext = (simultotal == 1) ? stringsetloc(
* Ralsei sang a snake-charming song to the wire! It loosened a little bit.Wait for inputClose Message
"* Ralsei sang a snake-charming song to the wire! It loosened a little bit./%", "obj_werewire_enemy_slash_Step_0_gml_469_0"
) : stringsetloc(
* Ralsei charmed the wire!Wait for inputClose Message
"* Ralsei charmed the wire!/%", "obj_werewire_enemy_slash_Step_0_gml_469_1"
);
446
        msgset(0, simultext);
447
        scr_mercyadd
scr_mercyadd

function scr_mercyadd(arg0, arg1) { global.mercymod[arg0] += arg1; if (global.mercymod[arg0] < 0) global.mercymod[arg0] = 0; if (global.mercymod[arg0] >= 100) global.mercymod[arg0] = 100; var _playsound = 1; if (arg1 <= 0) _playsound = 0; if (i_ex(obj_dmgwriter)) { with (obj_dmgwriter) { if (type == 5) _playsound = 0; } } if (_playsound) { var _pitch = 0.8; if (arg1 < 99) _pitch = 1; if (arg1 <= 50) _pitch = 1.2; if (arg1 <= 25) _pitch = 1.4; snd_play_x(snd_mercyadd, 0.8, _pitch); } __mercydmgwriter = instance_create(global.monsterx[arg0], (global.monstery[arg0] + 20) - (global.hittarget[arg0] * 20), obj_dmgwriter); __mercydmgwriter.damage = arg1; __mercydmgwriter.type = 5; global.hittarget[arg0]++; }
(myself, 25);
448
        scr_simultext
scr_simultext

function scr_simultext(arg0) { __simulorder = 0; if (arg0 == "kris") __simulorder = simulorderkri; if (arg0 == "susie") __simulorder = simulordersus; if (arg0 == "ralsei") __simulorder = simulorderral; if (arg0 == "noelle") __simulorder = simulordernoe; __yoffset = __simulorder * 30; global.typer = 4; battlewriter = instance_create(xx + 30, yy + 376 + __yoffset, obj_writer); }
("ralsei");
449
        actconral = (simulorderral == 0) ? 20 : 0;
450
    }
451
    if (actingnoe == 1 && actconnoe == 1)
452
    {
453
        var simultext = (simultotal == 1) ? stringsetloc(
* Noelle pulled out the plug like a fairy light!Wait for inputClose Message
"* Noelle pulled out the plug like a fairy light!/%", "obj_werewire_enemy_slash_Step_0_gml_481_0"
) : stringsetloc(
* Noelle pulled on the plug!Wait for inputClose Message
"* Noelle pulled on the plug!/%", "obj_werewire_enemy_slash_Step_0_gml_481_1"
);
454
        msgset(0, simultext);
455
        scr_mercyadd
scr_mercyadd

function scr_mercyadd(arg0, arg1) { global.mercymod[arg0] += arg1; if (global.mercymod[arg0] < 0) global.mercymod[arg0] = 0; if (global.mercymod[arg0] >= 100) global.mercymod[arg0] = 100; var _playsound = 1; if (arg1 <= 0) _playsound = 0; if (i_ex(obj_dmgwriter)) { with (obj_dmgwriter) { if (type == 5) _playsound = 0; } } if (_playsound) { var _pitch = 0.8; if (arg1 < 99) _pitch = 1; if (arg1 <= 50) _pitch = 1.2; if (arg1 <= 25) _pitch = 1.4; snd_play_x(snd_mercyadd, 0.8, _pitch); } __mercydmgwriter = instance_create(global.monsterx[arg0], (global.monstery[arg0] + 20) - (global.hittarget[arg0] * 20), obj_dmgwriter); __mercydmgwriter.damage = arg1; __mercydmgwriter.type = 5; global.hittarget[arg0]++; }
(myself, 50);
456
        scr_simultext
scr_simultext

function scr_simultext(arg0) { __simulorder = 0; if (arg0 == "kris") __simulorder = simulorderkri; if (arg0 == "susie") __simulorder = simulordersus; if (arg0 == "ralsei") __simulorder = simulorderral; if (arg0 == "noelle") __simulorder = simulordernoe; __yoffset = __simulorder * 30; global.typer = 4; battlewriter = instance_create(xx + 30, yy + 376 + __yoffset, obj_writer); }
("noelle");
457
        actconnoe = (simulordernoe == 0) ? 20 : 0;
458
    }
459
    if (actcon == 10 && !instance_exists(obj_writer))
460
    {
461
    }
462
    if (actcon == 1 && !instance_exists(obj_writer))
463
    {
464
        scr_act_charsprite_end
scr_act_charsprite_end

function scr_act_charsprite_end() { for (i = 0; i < 10; i++) { with (_charactsprite[i]) instance_destroy(); } with (obj_heroparent) { if (image_alpha == 0) { image_alpha = 1; acttimer = 0; state = 0; global.faceaction[myself] = 0; } } }
();
465
        scr_nextact
scr_nextact

function scr_nextact() { global.acting[0] = 0; global.acting[1] = 0; global.acting[2] = 0; global.actingsingle[global.currentactingchar] = 0; __minstance = global.monsterinstance[global.actingtarget[global.currentactingchar]]; with (__minstance) { acting = 0; actcon = 0; actconsus = 0; actconral = 0; actconnoe = 0; } var singleactcomplete = 0; while (global.currentactingchar < 3) { global.currentactingchar++; if (global.currentactingchar < 3) { if (global.actingsingle[global.currentactingchar] == 1) { __minstance = global.monsterinstance[global.actingtarget[global.currentactingchar]]; if (global.char[global.currentactingchar] == 2) { with (__minstance) actconsus = 1; if (global.actingsimul[global.currentactingchar] == 0) singleactcomplete = 1; break; } if (global.char[global.currentactingchar] == 3) { with (__minstance) actconral = 1; if (global.actingsimul[global.currentactingchar] == 0) singleactcomplete = 1; break; } if (global.char[global.currentactingchar] == 4) { with (__minstance) actconnoe = 1; if (global.actingsimul[global.currentactingchar] == 0) singleactcomplete = 1; break; } } } } if (global.currentactingchar >= 3) { with (obj_monsterparent) { acting = 0; actingsus = 0; actingral = 0; actingnoe = 0; } global.currentactingchar = 0; scr_attackphase(); } else if (!singleactcomplete) { scr_act_simul(); } }
();
466
    }
467
    if (actcon == 20 || actconsus == 20 || actconral == 20 || actconnoe == 20)
468
    {
469
        if (scr_terminate_writer
scr_terminate_writer

function scr_terminate_writer() { __writerkilled = 0; __writerkillable = 0; __writerended = 0; if (instance_exists(obj_writer)) { obj_writer.__endcheckid = id; with (obj_writer) { if (reachedend == 1) { with (__endcheckid) __writerended++; } } if (__writerended == instance_number(obj_writer)) __writerkillable = 1; } else { __writerkilled = 1; } if (button1_p() && __writerkillable == 1) { with (obj_writer) instance_destroy(); __writerkilled = 1; } return __writerkilled; }
())
470
        {
471
            actconsus = -1;
472
            actconral = -1;
473
            actconnoe = -1;
474
            actcon = 1;
475
        }
476
    }
477
}
478
479
enum e__VW
480
{
481
    XView,
482
    YView,
483
    WView,
484
    HView,
485
    Angle,
486
    HBorder,
487
    VBorder,
488
    HSpeed,
489
    VSpeed,
490
    Object,
491
    Visible,
492
    XPort,
493
    YPort,
494
    WPort,
495
    HPort,
496
    Camera,
497
    SurfaceID
498
}