|
1
|
with (obj_aqua_enemy)
|
|
2
|
visible = false;
|
|
3
|
if (!audio_is_playing(snd_jump))
|
|
4
|
snd_play(snd_jump);
|
|
5
|
scr_darksizescr_darksize
function scr_darksize()
{
var inst = id;
if (argument_count)
inst = argument0;
inst.image_xscale = 2;
inst.image_yscale = 2;
} ();
|
|
6
|
first = true;
|
|
7
|
rope_counter = 0;
|
|
8
|
knife_list = ds_list_create();
|
|
9
|
knife_side = 0;
|
|
10
|
knife_direction = 90;
|
|
11
|
knife_offset = 40;
|
|
12
|
knife_distance = 20;
|
|
13
|
knife_number = 8;
|
|
14
|
knife_arc = 0.5;
|
|
15
|
knife_direction_goal = knife_direction;
|
|
16
|
knife_change_max = 5.5;
|
|
17
|
knife_x = x;
|
|
18
|
knife_y = y;
|
|
19
|
knife_range = 0;
|
|
20
|
im_done = false;
|
|
21
|
back_index = 4.5;
|
|
22
|
front_index = 4.5;
|
|
23
|
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, scr_get_boxscr_get_box
function scr_get_box(arg0)
{
switch (arg0)
{
case 0:
return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5);
break;
case 1:
return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5);
break;
case 2:
return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5);
break;
case 3:
return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5);
break;
case 4:
return obj_growtangle.x;
break;
case 5:
return obj_growtangle.y;
break;
return false;
}
} (4) + 190, 12, 1, "out");
|
|
24
|
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, scr_get_boxscr_get_box
function scr_get_box(arg0)
{
switch (arg0)
{
case 0:
return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5);
break;
case 1:
return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5);
break;
case 2:
return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5);
break;
case 3:
return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5);
break;
case 4:
return obj_growtangle.x;
break;
case 5:
return obj_growtangle.y;
break;
return false;
}
} (5) - 70, 12, 1, "out");
|
|
25
|
anchor_x = scr_get_boxscr_get_box
function scr_get_box(arg0)
{
switch (arg0)
{
case 0:
return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5);
break;
case 1:
return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5);
break;
case 2:
return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5);
break;
case 3:
return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5);
break;
case 4:
return obj_growtangle.x;
break;
case 5:
return obj_growtangle.y;
break;
return false;
}
} (4) + 190;
|
|
26
|
anchor_y = scr_get_boxscr_get_box
function scr_get_box(arg0)
{
switch (arg0)
{
case 0:
return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5);
break;
case 1:
return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5);
break;
case 2:
return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5);
break;
case 3:
return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5);
break;
case 4:
return obj_growtangle.x;
break;
case 5:
return obj_growtangle.y;
break;
return false;
}
} (5) - 70;
|
|
27
|
ax = 20;
|
|
28
|
ay = 0;
|
|
29
|
|
|
30
|
knife_setup = function(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7)
|
|
31
|
{
|
|
32
|
knife_side = arg2;
|
|
33
|
knife_direction = arg3;
|
|
34
|
knife_direction_goal = knife_direction;
|
|
35
|
knife_offset = arg4;
|
|
36
|
knife_distance = arg5;
|
|
37
|
knife_number = arg6;
|
|
38
|
knife_arc = arg7;
|
|
39
|
knife_x = arg0 + 40;
|
|
40
|
knife_y = arg1 + 60;
|
|
41
|
for (var a = 0; a < arg6; a++)
|
|
42
|
{
|
|
43
|
with (instance_create(arg0, arg1, obj_bullet_knife))
|
|
44
|
{
|
|
45
|
depth = obj_growtangle.depth - 1;
|
|
46
|
on_a_chain = true;
|
|
47
|
scr_bullet_inherit_from(id, 820, -1, 3);
|
|
48
|
damage = 109;
|
|
49
|
if (global.encounterno == 220)
|
|
50
|
{
|
|
51
|
if (global.tempflag[51] > 7)
|
|
52
|
damage -= 5;
|
|
53
|
if (global.tempflag[51] > 8)
|
|
54
|
damage -= 5;
|
|
55
|
if (global.tempflag[51] > 9)
|
|
56
|
damage -= 5;
|
|
57
|
if (global.tempflag[51] > 10)
|
|
58
|
damage -= 5;
|
|
59
|
}
|
|
60
|
grazed = 0;
|
|
61
|
sprite_index = spr_attack_knifechain;
|
|
62
|
scr_darksizescr_darksize
function scr_darksize()
{
var inst = id;
if (argument_count)
inst = argument0;
inst.image_xscale = 2;
inst.image_yscale = 2;
} ();
|
|
63
|
destroyonhit = false;
|
|
64
|
knife_distance = 40;
|
|
65
|
knife_distance_anchor = arg4 + (a * arg5);
|
|
66
|
knife_distance_goal = knife_distance_anchor;
|
|
67
|
knife_angle = arg3;
|
|
68
|
side = arg2;
|
|
69
|
ds_list_add(other.knife_list, id);
|
|
70
|
}
|
|
71
|
}
|
|
72
|
alarm[0] = 16; 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;
|
|
73
|
alarm[3] = 16; gml_Object_obj_attack_knifechain_manager2_Alarm_3.gml
exit;
|
|
74
|
};
|
|
75
|
|
|
76
|
knife_swing = function(arg0, arg1, arg2 = true)
|
|
77
|
{
|
|
78
|
if (!audio_is_playing(snd_swing))
|
|
79
|
snd_play_x(snd_swing, 0.75, 1.5);
|
|
80
|
for (var a = 0; a < ds_list_size(knife_list); a++)
|
|
81
|
{
|
|
82
|
var cur_knife = ds_list_find_value(knife_list, a);
|
|
83
|
with (cur_knife)
|
|
84
|
{
|
|
85
|
sprite_index = spr_attack_knifechain_spin;
|
|
86
|
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_var, arg1 - 3, "sprite_index", spr_attack_knifechain);
|
|
87
|
if (arg2)
|
|
88
|
{
|
|
89
|
if (side == 0)
|
|
90
|
{
|
|
91
|
if (other.knife_direction_goal == 215)
|
|
92
|
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_var, arg1 - 3, "side", 1);
|
|
93
|
else
|
|
94
|
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_var, arg1 - 3, "side", -1);
|
|
95
|
}
|
|
96
|
else
|
|
97
|
{
|
|
98
|
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_var, arg1 - 3, "side", -side);
|
|
99
|
}
|
|
100
|
}
|
|
101
|
}
|
|
102
|
}
|
|
103
|
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_var, arg1, "knife_direction_goal", arg0);
|
|
104
|
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, arg1, "front_index", front_index, front_index + 5, 20, 1, "out");
|
|
105
|
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, arg1, "back_index", back_index, back_index + 5, 20, 1, "out");
|
|
106
|
};
|
|
107
|
|
|
108
|
afterimage_manager = instance_create_depth(0, 0, obj_growtangle.depth - 2, obj_marker_fancy);
|
|
109
|
with (afterimage_manager)
|
|
110
|
{
|
|
111
|
master = other.id;
|
|
112
|
afterimages = ds_list_create();
|
|
113
|
|
|
114
|
draw_func = function()
|
|
115
|
{
|
|
116
|
for (var a = 0; a < ds_list_size(afterimages); a++)
|
|
117
|
{
|
|
118
|
array_set(ds_list_find_value(afterimages, a), 0, array_get(ds_list_find_value(afterimages, a), 0) - 0.13333333333333333);
|
|
119
|
array_set(ds_list_find_value(afterimages, a), 1, array_get(ds_list_find_value(afterimages, a), 1) - (1/15));
|
|
120
|
array_set(ds_list_find_value(afterimages, a), 2, array_get(ds_list_find_value(afterimages, a), 2) - 0.02333333333333333);
|
|
121
|
if (array_get(ds_list_find_value(afterimages, a), 0) == 0)
|
|
122
|
{
|
|
123
|
ds_list_delete(afterimages, a);
|
|
124
|
a--;
|
|
125
|
}
|
|
126
|
}
|
|
127
|
for (var a = 0; a < ds_list_size(master.knife_list); a++)
|
|
128
|
{
|
|
129
|
var cur_knife = ds_list_find_value(master.knife_list, a);
|
|
130
|
with (cur_knife)
|
|
131
|
{
|
|
132
|
if (sprite_index == spr_attack_knifechain && !other.master.alarm[3])
|
|
133
|
ds_list_add(other.afterimages, [2, 1, 0.35, xprevious, yprevious, image_angle]);
|
|
134
|
}
|
|
135
|
}
|
|
136
|
for (var a = 0; a < ds_list_size(afterimages); a++)
|
|
137
|
draw_sprite_ext(spr_attack_knifechain, 0, array_get(ds_list_find_value(afterimages, a), 3), array_get(ds_list_find_value(afterimages, a), 4), array_get(ds_list_find_value(afterimages, a), 0), array_get(ds_list_find_value(afterimages, a), 1), array_get(ds_list_find_value(afterimages, a), 5), c_white, array_get(ds_list_find_value(afterimages, a), 2));
|
|
138
|
};
|
|
139
|
|
|
140
|
clean_func = function()
|
|
141
|
{
|
|
142
|
ds_list_destroy(afterimages);
|
|
143
|
};
|
|
144
|
}
|