|
1
|
if (global.monster[myself] == 1)
|
|
2
|
{
|
|
3
|
if (global.monsterstatus[myself] == 0)
|
|
4
|
scr_monster_make_tiredscr_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_isphasescr_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_randomtargetscr_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_isphasescr_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_isphasescr_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_monsterpopscr_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_moveheartscr_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_isphasescr_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_monsterpopscr_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_turntimerscr_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_monsterpopscr_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_monsterpopscr_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_namescr_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_turntimerscr_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_monsterattacknamecountscr_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_randomtargetscr_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_randomtargetscr_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_defaultscr_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_charspritescr_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_mercyaddscr_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_simultextscr_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; gml_Object_obj_werewire_enemy_Alarm_4.gml
actcon += 1;
|
|
394
|
with (obj_monsterparent)
|
|
395
|
{
|
|
396
|
scr_rememberxyscr_rememberxy
function scr_rememberxy()
{
___myrememberx = x;
___myremembery = y;
} ();
|
|
397
|
if (global.monstertype[myself] == 33Werewire)
|
|
398
|
scr_move_to_point_over_timescr_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_timescr_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_namescr_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_defaultscr_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_rememberxyscr_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; gml_Object_obj_werewire_enemy_Alarm_4.gml
actcon += 1;
|
|
425
|
}
|
|
426
|
if (actcon == 17)
|
|
427
|
{
|
|
428
|
actcon = 1;
|
|
429
|
with (obj_werewire_enemy)
|
|
430
|
{
|
|
431
|
scr_mercyaddscr_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_mercyaddscr_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_simultextscr_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_mercyaddscr_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_simultextscr_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_mercyaddscr_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_simultextscr_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_endscr_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_nextactscr_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_writerscr_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
|
}
|