1 |
timer++; |
2 |
if (state == 0) |
3 |
{ |
4 |
scale = scr_ease_outscr_ease_outfunction scr_ease_out(arg0, arg1)
{
if (arg1 < -3 || arg1 > 7)
return arg0;
switch (arg1)
{
case -3:
return ease_out_bounce(arg0, 0, 1, 1);
case -2:
return ease_out_elastic(arg0, 0, 1, 1);
case -1:
return ease_out_back(arg0, 0, 1, 1);
case 0:
return arg0;
case 1:
return sin(arg0 * 1.5707963267948966);
case 2:
return -arg0 * (arg0 - 2);
case 6:
return -power(2, -10 * arg0) + 1;
case 7:
arg0--;
return sqrt(1 - (arg0 * arg0));
default:
arg0--;
if (arg1 == 4)
{
return -1 * (power(arg0, arg1) - 1);
break;
}
return power(arg0, arg1) + 1;
}
} (timer / tempo, -1); |
5 |
if (timer == tempo) |
6 |
state = 1; |
7 |
} |
8 |
if (state == 1) |
9 |
{ |
10 |
if (timer >= tempo) |
11 |
{ |
12 |
if (beatcount == maxbeats) |
13 |
{ |
14 |
state = 2; |
15 |
exit; |
16 |
} |
17 |
timer -= tempo; |
18 |
d = instance_create(x, y, obj_soundwave_effect); |
19 |
d.depth = obj_heart.depth + 1; |
20 |
d.minradius = 10; |
21 |
d.growtime = 45; |
22 |
d.fadetime = 20; |
23 |
d.easepower = 0; |
24 |
d.maxradius = 150; |
25 |
btimer = 0; |
26 |
scale = 1.25; |
27 |
var bulletdir = 0; |
28 |
for (i = 0; i < bulletsperbeat; i++) |
29 |
{ |
30 |
bulletdir = (baseangle + ((i / bulletsperbeat) * 360) + random(180 / bulletsperbeat)) - (90 / bulletsperbeat); |
31 |
xx = x + lengthdir_x(10, bulletdir); |
32 |
yy = y + lengthdir_y(10, bulletdir); |
33 |
d = scr_bullet_createscr_bullet_createfunction scr_bullet_create(arg0, arg1, arg2)
{
var __newbullet = instance_create(arg0, arg1, arg2);
__newbullet.damage = damage;
__newbullet.target = target;
if (variable_instance_exists(self, "element"))
__newbullet.element = element;
return __newbullet;
} (xx, yy, obj_fadingbullet); |
34 |
d.speed = 3; |
35 |
d.direction = bulletdir; |
36 |
d.sprite_index = spr_musical_notes; |
37 |
d.image_angle = random(80) - 40; |
38 |
if (abs(angle_difference(direction, bulletdir)) > 70) |
39 |
d.lifetime = 0; |
40 |
else |
41 |
d.lifetime = 60; |
42 |
} |
43 |
baseangle += (180 / bulletsperbeat); |
44 |
beatcount++; |
45 |
} |
46 |
if (scale > 1) |
47 |
scale -= 0.05; |
48 |
} |
49 |
else if (state == 2) |
50 |
{ |
51 |
scale -= 0.1; |
52 |
if (scale == 0) |
53 |
instance_destroy(); |
54 |
} |
55 |
image_xscale = scale; |
56 |
image_yscale = scale; |