|
1
|
var played = false;
|
|
2
|
repeat (simulnotes)
|
|
3
|
{
|
|
4
|
if (ds_list_size(bullet_list))
|
|
5
|
{
|
|
6
|
var cur_note = ds_list_find_value(bullet_list, 0);
|
|
7
|
with (cur_note)
|
|
8
|
{
|
|
9
|
shway_counter = choose(0, 10 * pi);
|
|
10
|
active = true;
|
|
11
|
direction = scr_at_playerscr_at_player
function scr_at_player(arg0 = x, arg1 = y)
{
return point_direction(arg0, arg1, obj_heart.x + (obj_heart.sprite_width / 2), obj_heart.y + (obj_heart.sprite_height / 2));
} (x, y);
|
|
12
|
scr_lerpvarscr_lerpvar
function scr_lerpvar()
{
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_lerpvar_respect()
{
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]);
___lerpvar.respectglobalinteract = true;
return ___lerpvar;
} ("speed", -5, 0, 10, 0, "in");
|
|
13
|
if (other.sameattacker == 0)
|
|
14
|
scr_var_delayed("direction", 270 + irandom_range(-5, 5), 12);
|
|
15
|
else
|
|
16
|
scr_var_delayed("direction", 90 + irandom_range(-5, 5), 12);
|
|
17
|
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;
} (scr_afterimage_grow, 12);
|
|
18
|
if (other.sameattacker == 0 && played < 2)
|
|
19
|
played++;
|
|
20
|
if (image_index == 0)
|
|
21
|
{
|
|
22
|
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;
} (scr_var, 12, "speed", 4);
|
|
23
|
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;
} (scr_script_repeat, 12, scr_bullet_shway, 240, 1);
|
|
24
|
}
|
|
25
|
if (image_index == 1)
|
|
26
|
{
|
|
27
|
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;
} (scr_script_repeat, 12, scr_bullet_shway, 240, 1);
|
|
28
|
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;
} (scr_var, 12, "speed", 5);
|
|
29
|
}
|
|
30
|
if (image_index == 2)
|
|
31
|
{
|
|
32
|
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;
} (scr_script_repeat, 12, scr_bullet_shway, 240, 1);
|
|
33
|
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;
} (scr_var, 12, "speed", 3.75);
|
|
34
|
}
|
|
35
|
}
|
|
36
|
ds_list_delete(bullet_list, 0);
|
|
37
|
}
|
|
38
|
}
|
|
39
|
if (ds_list_size(bullet_list))
|
|
40
|
{
|
|
41
|
alarm[2] = interval; gml_Object_obj_organnote_manager_Alarm_2.gml
var played = false;
repeat (simulnotes)
{
if (ds_list_size(bullet_list))
{
var cur_note = ds_list_find_value(bullet_list, 0);
with (cur_note)
{
shway_counter = choose(0, 10 * pi);
active = true;
direction = scr_at_player(x, y);
scr_lerpvar("speed", -5, 0, 10, 0, "in");
if (other.sameattacker == 0)
scr_var_delayed("direction", 270 + irandom_range(-5, 5), 12);
else
scr_var_delayed("direction", 90 + irandom_range(-5, 5), 12);
scr_script_delayed(scr_afterimage_grow, 12);
if (other.sameattacker == 0 && played < 2)
played++;
if (image_index == 0)
{
scr_script_delayed(scr_var, 12, "speed", 4);
scr_script_delayed(scr_script_repeat, 12, scr_bullet_shway, 240, 1);
}
if (image_index == 1)
{
scr_script_delayed(scr_script_repeat, 12, scr_bullet_shway, 240, 1);
scr_script_delayed(scr_var, 12, "speed", 5);
}
if (image_index == 2)
{
scr_script_delayed(scr_script_repeat, 12, scr_bullet_shway, 240, 1);
scr_script_delayed(scr_var, 12, "speed", 3.75);
}
}
ds_list_delete(bullet_list, 0);
}
}
if (ds_list_size(bullet_list))
{
alarm[2] = interval;
}
else
{
alarm[1] = 1;
bullet_counter = 0;
repeating = true;
ds_list_clear(origin_list);
if (sameattack == 1)
{
ds_list_add(origin_list, 0, 0, 0, 1, 1, 1, 2, 2, 2);
ds_list_add(origin_list, irandom(2));
}
else
{
ds_list_add(origin_list, 0, 0, 1, 1, 2, 2);
}
ds_list_shuffle(origin_list);
ds_list_clear(gap_list);
ds_list_add(gap_list, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
ds_list_shuffle(gap_list);
if (sameattack == 2)
{
repeat (4)
ds_list_delete(gap_list, 0);
}
ds_list_sort(gap_list, true);
}
|
|
42
|
}
|
|
43
|
else
|
|
44
|
{
|
|
45
|
alarm[1] = 1; gml_Object_obj_organnote_manager_Alarm_1.gml
var v_pos;
if (sameattacker == 0)
v_pos = scr_get_box(1) - 40;
else
v_pos = scr_get_box(3) + 40;
if (bullet_counter < ds_list_size(origin_list))
{
special = choose(-3, -2, -1, 0, 1, 2);
with (scr_fire_bullet(creatorid.x, creatorid.y, obj_regularbullet, 0, 0, spr_musical_notes))
{
sprite_index = spr_musical_notes;
image_index = ds_list_find_value(other.origin_list, other.bullet_counter);
image_speed = 0;
damage = other.damage;
target = other.target;
grazepoints = 8;
scr_lerpvar("x", x, (scr_get_box(2) - 20) + (20 * ds_list_find_value(other.gap_list, other.bullet_counter)), 12, 0, "out");
scr_lerpvar("y", y, v_pos + (10 * other.special), 12, -3, "out");
active = false;
ds_list_add(other.bullet_list, id);
if (other.special == -3)
snd_play(snd_organikk_note_f);
if (other.special == -2)
snd_play(snd_organikk_note_e);
if (other.special == -1)
snd_play(snd_organikk_note_d);
if (other.special == 0)
snd_play(snd_organikk_note_c);
if (other.special == 1)
snd_play(snd_organikk_note_b);
if (other.special == 2)
snd_play(snd_organikk_note_a);
}
bullet_counter++;
if (repeating)
alarm[1] = 2;
else
alarm[1] = 3;
}
else
{
ds_list_shuffle(bullet_list);
if (repeating)
alarm[2] = 1;
else
alarm[2] = 12;
}
|
|
46
|
bullet_counter = 0;
|
|
47
|
repeating = true;
|
|
48
|
ds_list_clear(origin_list);
|
|
49
|
if (sameattack == 1)
|
|
50
|
{
|
|
51
|
ds_list_add(origin_list, 0, 0, 0, 1, 1, 1, 2, 2, 2);
|
|
52
|
ds_list_add(origin_list, irandom(2));
|
|
53
|
}
|
|
54
|
else
|
|
55
|
{
|
|
56
|
ds_list_add(origin_list, 0, 0, 1, 1, 2, 2);
|
|
57
|
}
|
|
58
|
ds_list_shuffle(origin_list);
|
|
59
|
ds_list_clear(gap_list);
|
|
60
|
ds_list_add(gap_list, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
|
|
61
|
ds_list_shuffle(gap_list);
|
|
62
|
if (sameattack == 2)
|
|
63
|
{
|
|
64
|
repeat (4)
|
|
65
|
ds_list_delete(gap_list, 0);
|
|
66
|
}
|
|
67
|
ds_list_sort(gap_list, true);
|
|
68
|
}
|