|
1
|
if (global.turntimer <= 5)
|
|
2
|
{
|
|
3
|
if (!im_done)
|
|
4
|
{
|
|
5
|
im_done = true;
|
|
6
|
with (obj_attack_knifechain_manager2)
|
|
7
|
{
|
|
8
|
alarm[0] = -1; gml_Object_obj_attack_knifechain_manager2_Alarm_0.gml
if (global.turntimer <= 5)
exit;
with (obj_bullet_knife)
{
if (variable_instance_exists(id, "on_a_chain"))
grazed = 0;
}
if (first)
{
first = false;
back_index++;
front_index++;
}
if (knife_direction_goal == 215)
{
var xchange = 20 + irandom(40);
var ychange = irandom_range(-12, 12);
with (obj_attack_knifechain_manager2)
{
ax += xchange;
if (ax >= 80)
ax -= 80;
ay = ychange;
scr_lerpvar("x", x, anchor_x + ax, 24, 2, "out");
scr_lerpvar("y", y, anchor_y + ay, 24, 2, "out");
}
knife_swing(145, 12, true);
with (obj_bullet_knife)
{
if (variable_instance_exists(id, "on_a_chain"))
knife_distance_goal = knife_distance_anchor + 0;
}
with (obj_aqua_enemy)
{
if (fight_type == "seth" && turns == 5)
{
other.alarm[1] = 20;
other.alarm[2] = 16;
}
}
}
else
{
knife_swing(215, 12, true);
}
alarm[0] = 35;
|
|
9
|
alarm[1] = -1; gml_Object_obj_attack_knifechain_manager2_Alarm_1.gml
if (global.turntimer <= 5)
exit;
with (obj_purple_enemy)
{
snd_play_pitch(snd_jump, 1.5);
seth_sprite(4411, 1, 0);
var _randheight = 40 + irandom(25);
scr_lerpvar("y", y, y - _randheight, 10, 2, "out");
scr_var_delayed("siner", 0, 10);
scr_script_delayed(scr_lerpvar, 10, "y", y - _randheight, y, 10, 2, "in");
with (instance_create(x - 32, y + 78, obj_bulletparent))
{
sprite_index = spr_seth_shadow;
image_index = 2;
image_speed = 0;
image_yscale = 0;
image_xscale = 0;
image_blend = #3E1616;
depth = obj_growtangle.depth - 0.1;
scr_lerpvar("image_xscale", 4, 3, 10, 2, "out");
scr_lerpvar("image_yscale", 2, 1.5, 10, 2, "out");
scr_script_delayed(scr_lerpvar, 10, "image_xscale", 3, 4, 10, 2, "in");
scr_script_delayed(scr_lerpvar, 10, "image_yscale", 1.5, 2, 10, 2, "in");
scr_script_delayed(instance_destroy, 20);
}
if (rope_counter > 3)
{
scr_var_delayed("idlesprite", 8141, 20);
scr_var_delayed("sparesprite", 8141, 20);
scr_var_delayed("image_speed", 0.16666666666666666, 20);
scr_script_delayed(scr_minishakeobj, 20);
}
else
{
scr_var_delayed("idlesprite", 4408, 20);
scr_var_delayed("sparesprite", 4408, 20);
}
var seth_panic;
seth_panic[0] = stringsetloc(A-Aqua--Close MessageClose Message"A-Aqua--%%", "obj_attack_knifechain_manager2_slash_Alarm_1_gml_49_0" );
seth_panic[1] = stringsetloc(What are--Close MessageClose Message"What are--%%", "obj_attack_knifechain_manager2_slash_Alarm_1_gml_50_0" );
seth_panic[2] = stringsetloc(You're--Close MessageClose Message"You're--%%", "obj_attack_knifechain_manager2_slash_Alarm_1_gml_51_0" );
seth_panic[3] = stringsetloc(Supposed to--Close MessageClose Message"Supposed to--%%", "obj_attack_knifechain_manager2_slash_Alarm_1_gml_52_0" );
seth_panic[4] = stringsetloc(WE'RE ON THE--Close MessageClose Message"WE'RE ON THE--%%", "obj_attack_knifechain_manager2_slash_Alarm_1_gml_53_0" );
seth_panic[5] = stringsetloc(SAME TEAM--!!Close MessageClose Message"SAME TEAM--!!%%", "obj_attack_knifechain_manager2_slash_Alarm_1_gml_54_0" );
seth_panic[6] = stringsetloc(QUIT IT!!!Close MessageClose Message"QUIT IT!!!%%", "obj_attack_knifechain_manager2_slash_Alarm_1_gml_55_0" );
msgset_add(seth_panic[rope_counter], x, y - 75, 10, 50, function()
{
with (obj_battleblcon)
side = 0;
with (obj_writer)
{
disablebutton1 = true;
disablebutton2 = true;
preventcskip = true;
}
});
rope_counter = scr_approach(rope_counter, 6, 1);
seth_balloon();
}
|
|
10
|
alarm[2] = -1; gml_Object_obj_attack_knifechain_manager2_Alarm_2.gml
if (global.turntimer <= 5)
exit;
with (obj_purple_enemy)
{
if (rope_counter == 6)
exit;
}
with (obj_purple_enemy)
seth_sprite(4411, 0, 0);
|
|
11
|
}
|
|
12
|
if (!audio_is_playing(snd_jump))
|
|
13
|
snd_play_x(snd_jump, 0.5, 2);
|
|
14
|
snd_stop(snd_swing);
|
|
15
|
image_speed = 0;
|
|
16
|
image_index = 0;
|
|
17
|
sprite_index = spr_enemy_aqua_spin;
|
|
18
|
scr_lerpvarscr_lerpvar
function scr_lerpvar()
{
var _id = self;
if (!is_struct(self))
_id = id;
if (argument_count < 6)
___lerpvar = scr_lerpvar_instance(_id, argument[0], argument[1], argument[2], argument[3]);
else
___lerpvar = scr_lerpvar_instance(_id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar;
}
function scr_lerpcol()
{
if (argument_count < 6)
___lerpvar = scr_lerpcol_instance(id, argument[0], argument[1], argument[2], argument[3]);
else
___lerpvar = scr_lerpcol_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar;
} ("image_index", 2, 12, 18, 2, "out");
|
|
19
|
for (var a = 0; a < ds_list_size(knife_list); a++)
|
|
20
|
{
|
|
21
|
var cur_knife = ds_list_find_value(knife_list, a);
|
|
22
|
var lastknife = -1;
|
|
23
|
with (cur_knife)
|
|
24
|
{
|
|
25
|
var timescale = clamp(floor((15 / ds_list_size(other.knife_list)) * a), 1, 15);
|
|
26
|
with (instance_create(x, y, obj_marker))
|
|
27
|
{
|
|
28
|
if (lastknife != -1)
|
|
29
|
senpai = lastknife;
|
|
30
|
else
|
|
31
|
senpai = -1;
|
|
32
|
lastknife = id;
|
|
33
|
sprite_index = spr_attack_knifechain_spin;
|
|
34
|
image_index = other.image_index;
|
|
35
|
image_speed = other.image_speed;
|
|
36
|
depth = other.depth;
|
|
37
|
image_angle = 0;
|
|
38
|
image_xscale = other.image_xscale;
|
|
39
|
image_yscale = other.image_yscale;
|
|
40
|
myscale = timescale;
|
|
41
|
counter = 1;
|
|
42
|
my_manager = 974;
|
|
43
|
if (i_ex(senpai))
|
|
44
|
distance = point_distance(senpai.x, senpai.y, x, y);
|
|
45
|
else
|
|
46
|
distance = point_distance(my_manager.x + 20, my_manager.y + 71, x, y);
|
|
47
|
if (i_ex(senpai))
|
|
48
|
angle = point_direction(senpai.x, senpai.y, x, y);
|
|
49
|
else
|
|
50
|
angle = point_direction(obj_attack_knifechain_manager2.x + 20, obj_attack_knifechain_manager2.y + 71, x, y);
|
|
51
|
scr_script_delayedscr_script_delayed
function scr_script_delayed()
{
var __scriptdelay = instance_create(0, 0, obj_script_delayed);
__scriptdelay.script = argument[0];
__scriptdelay.alarm[0] = argument[1];
__scriptdelay.target = id;
for (var __i = 0; __i < (argument_count - 2); __i++)
__scriptdelay.script_arg[__i] = argument[__i + 2];
__scriptdelay.arg_count = argument_count - 2;
return __scriptdelay;
}
function scr_script_delayed_until()
{
var __scriptdelay = instance_create(0, 0, obj_script_delayed_function);
__scriptdelay.script = argument[0];
__scriptdelay.condition = argument[1];
__scriptdelay.target = id;
for (var __i = 0; __i < (argument_count - 2); __i++)
__scriptdelay.script_arg[__i] = argument[__i + 2];
__scriptdelay.arg_count = argument_count - 2;
return __scriptdelay;
}
function delay_function(arg0, arg1)
{
return scr_script_delayed(arg0, arg1);
} (instance_destroy, timescale);
|
|
52
|
|
|
53
|
funct = function()
|
|
54
|
{
|
|
55
|
counter = scr_approachscr_approach
function scr_approach(arg0, arg1, arg2)
{
if (arg0 < arg1)
{
arg0 += arg2;
if (arg0 > arg1)
return arg1;
}
else
{
arg0 -= arg2;
if (arg0 < arg1)
return arg1;
}
return arg0;
} (counter, 0, 1 / myscale);
|
|
56
|
if (i_ex(senpai))
|
|
57
|
{
|
|
58
|
x = senpai.x + lengthdir_x(distance * counter, angle);
|
|
59
|
y = senpai.y + lengthdir_y(distance * counter, angle);
|
|
60
|
angle = point_direction(senpai.x, senpai.y, x, y);
|
|
61
|
}
|
|
62
|
else
|
|
63
|
{
|
|
64
|
x = my_manager.x + 20 + lengthdir_x(distance * counter, angle);
|
|
65
|
y = my_manager.y + 71 + lengthdir_y(distance * counter, angle);
|
|
66
|
angle = point_direction(obj_attack_knifechain_manager2.x + 20, obj_attack_knifechain_manager2.y + 71, x, y);
|
|
67
|
}
|
|
68
|
};
|
|
69
|
|
|
70
|
scr_script_repeatscr_script_repeat
function scr_script_repeat()
{
var __scriptdelay = instance_create(0, 0, obj_script_delayed);
__scriptdelay.script = argument[0];
__scriptdelay.alarm[0] = -2;
__scriptdelay.max_time = argument[1];
__scriptdelay.rate = argument[2];
__scriptdelay.constant = 1;
__scriptdelay.target = id;
for (var __i = 0; __i < (argument_count - 3); __i++)
__scriptdelay.script_arg[__i] = argument[__i + 3];
__scriptdelay.arg_count = argument_count - 3;
return __scriptdelay;
} (scr_use_funct, 15, 1);
|
|
71
|
}
|
|
72
|
instance_destroy();
|
|
73
|
}
|
|
74
|
}
|
|
75
|
scr_lerpvarscr_lerpvar
function scr_lerpvar()
{
var _id = self;
if (!is_struct(self))
_id = id;
if (argument_count < 6)
___lerpvar = scr_lerpvar_instance(_id, argument[0], argument[1], argument[2], argument[3]);
else
___lerpvar = scr_lerpvar_instance(_id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar;
}
function scr_lerpcol()
{
if (argument_count < 6)
___lerpvar = scr_lerpcol_instance(id, argument[0], argument[1], argument[2], argument[3]);
else
___lerpvar = scr_lerpcol_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar;
} ("x", x, obj_aqua_enemy.x, 20);
|
|
76
|
scr_lerpvarscr_lerpvar
function scr_lerpvar()
{
var _id = self;
if (!is_struct(self))
_id = id;
if (argument_count < 6)
___lerpvar = scr_lerpvar_instance(_id, argument[0], argument[1], argument[2], argument[3]);
else
___lerpvar = scr_lerpvar_instance(_id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar;
}
function scr_lerpcol()
{
if (argument_count < 6)
___lerpvar = scr_lerpcol_instance(id, argument[0], argument[1], argument[2], argument[3]);
else
___lerpvar = scr_lerpcol_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar;
} ("y", y, obj_aqua_enemy.y - 60, 10, 2, "out");
|
|
77
|
scr_script_delayedscr_script_delayed
function scr_script_delayed()
{
var __scriptdelay = instance_create(0, 0, obj_script_delayed);
__scriptdelay.script = argument[0];
__scriptdelay.alarm[0] = argument[1];
__scriptdelay.target = id;
for (var __i = 0; __i < (argument_count - 2); __i++)
__scriptdelay.script_arg[__i] = argument[__i + 2];
__scriptdelay.arg_count = argument_count - 2;
return __scriptdelay;
}
function scr_script_delayed_until()
{
var __scriptdelay = instance_create(0, 0, obj_script_delayed_function);
__scriptdelay.script = argument[0];
__scriptdelay.condition = argument[1];
__scriptdelay.target = id;
for (var __i = 0; __i < (argument_count - 2); __i++)
__scriptdelay.script_arg[__i] = argument[__i + 2];
__scriptdelay.arg_count = argument_count - 2;
return __scriptdelay;
}
function delay_function(arg0, arg1)
{
return scr_script_delayed(arg0, arg1);
} (scr_lerpvar, 10, "y", obj_aqua_enemy.y - 60, obj_aqua_enemy.y - 29, 10, 2, "in");
|
|
78
|
scr_script_delayedscr_script_delayed
function scr_script_delayed()
{
var __scriptdelay = instance_create(0, 0, obj_script_delayed);
__scriptdelay.script = argument[0];
__scriptdelay.alarm[0] = argument[1];
__scriptdelay.target = id;
for (var __i = 0; __i < (argument_count - 2); __i++)
__scriptdelay.script_arg[__i] = argument[__i + 2];
__scriptdelay.arg_count = argument_count - 2;
return __scriptdelay;
}
function scr_script_delayed_until()
{
var __scriptdelay = instance_create(0, 0, obj_script_delayed_function);
__scriptdelay.script = argument[0];
__scriptdelay.condition = argument[1];
__scriptdelay.target = id;
for (var __i = 0; __i < (argument_count - 2); __i++)
__scriptdelay.script_arg[__i] = argument[__i + 2];
__scriptdelay.arg_count = argument_count - 2;
return __scriptdelay;
}
function delay_function(arg0, arg1)
{
return scr_script_delayed(arg0, arg1);
} (instance_destroy, 20);
|
|
79
|
}
|
|
80
|
exit;
|
|
81
|
}
|
|
82
|
knife_x = x + 3 + 17;
|
|
83
|
knife_y = ((y + 40) - 29) + 60;
|
|
84
|
knife_direction = scr_approachscr_approach
function scr_approach(arg0, arg1, arg2)
{
if (arg0 < arg1)
{
arg0 += arg2;
if (arg0 > arg1)
return arg1;
}
else
{
arg0 -= arg2;
if (arg0 < arg1)
return arg1;
}
return arg0;
} (knife_direction, knife_direction_goal, min(abs(knife_direction_goal - knife_direction) * 0.15, knife_change_max));
|
|
85
|
for (var a = 0; a < ds_list_size(knife_list); a++)
|
|
86
|
{
|
|
87
|
var cur_knife = ds_list_find_value(knife_list, a);
|
|
88
|
with (cur_knife)
|
|
89
|
{
|
|
90
|
if (a == 0)
|
|
91
|
{
|
|
92
|
knife_angle = other.knife_direction;
|
|
93
|
}
|
|
94
|
else
|
|
95
|
{
|
|
96
|
var prev_knife_angle = ds_list_find_value(other.knife_list, a - 1).knife_angle + (side * a * 0.5);
|
|
97
|
knife_angle = scr_approachscr_approach
function scr_approach(arg0, arg1, arg2)
{
if (arg0 < arg1)
{
arg0 += arg2;
if (arg0 > arg1)
return arg1;
}
else
{
arg0 -= arg2;
if (arg0 < arg1)
return arg1;
}
return arg0;
} (knife_angle, prev_knife_angle, min(abs(prev_knife_angle - knife_angle) * other.knife_arc, other.knife_change_max));
|
|
98
|
}
|
|
99
|
knife_distance = scr_approachscr_approach
function scr_approach(arg0, arg1, arg2)
{
if (arg0 < arg1)
{
arg0 += arg2;
if (arg0 > arg1)
return arg1;
}
else
{
arg0 -= arg2;
if (arg0 < arg1)
return arg1;
}
return arg0;
} (knife_distance, knife_distance_goal, abs(knife_distance_goal - knife_distance) * 0.15);
|
|
100
|
image_angle = knife_angle - (90 * side);
|
|
101
|
x = other.knife_x + lengthdir_x(knife_distance, knife_angle);
|
|
102
|
y = other.knife_y + lengthdir_y(knife_distance, knife_angle);
|
|
103
|
}
|
|
104
|
}
|