1 |
if (init == 0) |
2 |
{ |
3 |
if (pivotx == -999) |
4 |
pivotx = (sprite_width / 2) - (sprite_get_xoffset(sprite_index) * image_xscale); |
5 |
if (pivoty == -999) |
6 |
pivoty = (sprite_height / 2) - (sprite_get_yoffset(sprite_index) * image_yscale); |
7 |
init = 1; |
8 |
} |
9 |
timer++; |
10 |
effecttimer++; |
11 |
var __alpha = clamp(timer / poweruptime, 0, 1); |
12 |
scr_draw_outlinescr_draw_outlinefunction scr_draw_outline(arg0, arg1, arg2)
{
gpu_set_fog(true, arg1, 0, 0);
var __xdirA = arg0;
var __xdirB = 0;
var __ydirA = 0;
var __ydirB = arg0;
if ((image_angle % 90) != 0)
{
__xdirA = lengthdir_x(arg0, image_angle);
__xdirB = lengthdir_x(arg0, image_angle + 90);
__ydirA = lengthdir_y(arg0, image_angle + 90);
__ydirB = lengthdir_y(arg0, image_angle);
}
draw_sprite_ext(sprite_index, image_index, x + __xdirA, y + __ydirA, image_xscale, image_yscale, image_angle, c_white, image_alpha * arg2);
draw_sprite_ext(sprite_index, image_index, x - __xdirA, y - __ydirA, image_xscale, image_yscale, image_angle, c_white, image_alpha * arg2);
draw_sprite_ext(sprite_index, image_index, x + __xdirB, y + __ydirB, image_xscale, image_yscale, image_angle, c_white, image_alpha * arg2);
draw_sprite_ext(sprite_index, image_index, x - __xdirB, y - __ydirB, image_xscale, image_yscale, image_angle, c_white, image_alpha * arg2);
gpu_set_fog(false, c_white, 0, 0);
} (2, image_blend, __alpha * 2); |
13 |
draw_self(); |
14 |
d3d_set_fog(true, image_blend, 0, 1); |
15 |
flashtimer++; |
16 |
if (ripple_effect == 0 && flashtimer >= (flashspeed / 2)) |
17 |
{ |
18 |
ripple_effect = 1; |
19 |
with (obj_ch2_scene21_loop.puddle) |
20 |
{ |
21 |
var ripple = scr_custom_afterimagescr_custom_afterimagefunction scr_custom_afterimage(arg0)
{
afterimage = instance_create(x, y, arg0);
afterimage.sprite_index = sprite_index;
afterimage.image_index = image_index;
afterimage.image_blend = image_blend;
afterimage.image_speed = 0;
afterimage.depth = depth + 1;
afterimage.image_xscale = image_xscale;
afterimage.image_yscale = image_yscale;
afterimage.image_angle = image_angle;
return afterimage;
} (obj_power_up_afterimage); |
22 |
ripple.sprite_index = spr_rouxls_ripple; |
23 |
ripple.image_blend = #E3FF67; |
24 |
ripple.yrate *= 5; |
25 |
ripple.use_pivot = true; |
26 |
ripple.maxsize = clamp(1 - ((y - 90) / 45), 0.1, 2); |
27 |
ripple.image_speed = 0; |
28 |
ripple.image_index = (obj_ch2_scene21_loop.thrash.part[0] == 2) ? 1 : 0; |
29 |
ripple.depth = depth - 1; |
30 |
} |
31 |
} |
32 |
if (flashtimer >= flashspeed) |
33 |
{ |
34 |
ripple_effect = 0; |
35 |
flashtimer = 0; |
36 |
flashspeed = max(4, (flashspeed * 2) / 3); |
37 |
} |
38 |
var __flash = __alpha + sin((flashtimer / flashspeed) * pi); |
39 |
if ((timer + 15) >= poweruptime) |
40 |
__flash = sin(((timer % 3) / 3) * pi) / 4; |
41 |
draw_set_blend_mode(bm_add); |
42 |
__alpha *= 0.8; |
43 |
draw_sprite_ext(spr_rurus_aura, 0, x, y, image_xscale, image_yscale, image_angle, image_blend, __flash / 2); |
44 |
if (ring_timer > 0) |
45 |
ring_timer--; |
46 |
draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, image_blend, __alpha); |
47 |
d3d_set_fog(false, c_black, 0, 0); |
48 |
if (instance_exists(obj_thrashmachine)) |
49 |
{ |
50 |
obj_thrashmachine.rim_flash = (__flash / 2) + (__alpha / 2); |
51 |
obj_thrashmachine.glow = __alpha / 4; |
52 |
} |
53 |
var centerX = x + pivotx; |
54 |
var centerY = y + pivoty; |
55 |
if (effecttimer >= effectPause) |
56 |
{ |
57 |
if ((timer + 15) >= poweruptime) |
58 |
{ |
59 |
d = scr_custom_afterimagescr_custom_afterimagefunction scr_custom_afterimage(arg0)
{
afterimage = instance_create(x, y, arg0);
afterimage.sprite_index = sprite_index;
afterimage.image_index = image_index;
afterimage.image_blend = image_blend;
afterimage.image_speed = 0;
afterimage.depth = depth + 1;
afterimage.image_xscale = image_xscale;
afterimage.image_yscale = image_yscale;
afterimage.image_angle = image_angle;
return afterimage;
} (obj_power_up_afterimage); |
60 |
d.depth = depth + 2; |
61 |
d.image_alpha = max(0.1, __alpha); |
62 |
d.reverse = 1; |
63 |
d.fade = 0.1; |
64 |
d.pivotx = pivotx; |
65 |
d.pivoty = pivoty; |
66 |
d = scr_custom_afterimagescr_custom_afterimagefunction scr_custom_afterimage(arg0)
{
afterimage = instance_create(x, y, arg0);
afterimage.sprite_index = sprite_index;
afterimage.image_index = image_index;
afterimage.image_blend = image_blend;
afterimage.image_speed = 0;
afterimage.depth = depth + 1;
afterimage.image_xscale = image_xscale;
afterimage.image_yscale = image_yscale;
afterimage.image_angle = image_angle;
return afterimage;
} (obj_power_up_afterimage); |
67 |
d.image_alpha = max(0.1, __alpha); |
68 |
d.fade = 0.1; |
69 |
d.depth += 2; |
70 |
d.image_blend = image_blend; |
71 |
d.pivotx = pivotx; |
72 |
d.pivoty = pivoty; |
73 |
} |
74 |
if (intensity >= 2 && timer < (poweruptime - 15)) |
75 |
{ |
76 |
var _thinindex = irandom(5); |
77 |
for (i = 0; i < 6; i++) |
78 |
{ |
79 |
d = instance_create(centerX, centerY, obj_rouxls_power_up_orb); |
80 |
d.direction = irandom(60) + (i * 60); |
81 |
d.lifetime = effectPause * 2; |
82 |
d.depth = depth + 1; |
83 |
d.image_blend = image_blend; |
84 |
if (i == _thinindex) |
85 |
d.thin = true; |
86 |
} |
87 |
} |
88 |
if (effectPause > 5) |
89 |
effectPause--; |
90 |
effecttimer = 0; |
91 |
} |
92 |
draw_set_blend_mode(bm_normal); |
93 |
if (intensity == 1) |
94 |
{ |
95 |
} |
96 |
if (intensity == 2) |
97 |
{ |
98 |
if ((timer + 15) >= poweruptime && (timer + 15) <= (poweruptime + 30)) |
99 |
{ |
100 |
draw_set_color(image_blend); |
101 |
var _progress = ((timer + 15) - poweruptime) / 30; |
102 |
var _circlesize = lerp(0.75, 1, 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;
}
} (_progress, 5)) * 80; |
103 |
var _circlewidth = 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;
}
} (_progress, 5) * 78; |
104 |
draw_set_alpha(1 - scr_ease_inscr_ease_infunction scr_ease_in(arg0, arg1)
{
if (arg1 < -3 || arg1 > 7)
return arg0;
switch (arg1)
{
case -3:
return ease_in_bounce(arg0, 0, 1, 1);
case -2:
return ease_in_elastic(arg0, 0, 1, 1);
case -1:
var _s = 1.70158;
return arg0 * arg0 * (((_s + 1) * arg0) - _s);
case 0:
return arg0;
case 1:
return -cos(arg0 * 1.5707963267948966) + 1;
case 6:
return power(2, 10 * (arg0 - 1));
case 7:
return -(sqrt(1 - sqr(arg0)) - 1);
default:
return power(arg0, arg1);
}
} (_progress, 4)); |
105 |
scr_draw_circle_width_radiusscr_draw_circle_width_radiusfunction scr_draw_circle_width_radius(arg0, arg1, arg2, arg3, arg4)
{
var xx = arg0;
var yy = arg1;
var radius = arg2;
var inner_radius = max(arg3, 0);
var steps = arg4;
draw_primitive_begin(pr_trianglelist);
for (i = 0; i < steps; i += 1)
{
draw_vertex(xx + lengthdir_x(inner_radius, (360 * i) / steps), yy + lengthdir_y(inner_radius, (360 * i) / steps));
draw_vertex(xx + lengthdir_x(radius, (360 * i) / steps), yy + lengthdir_y(radius, (360 * i) / steps));
draw_vertex(xx + lengthdir_x(radius, (360 * (i + 1)) / steps), yy + lengthdir_y(radius, (360 * (i + 1)) / steps));
draw_vertex(xx + lengthdir_x(radius, (360 * (i + 1)) / steps), yy + lengthdir_y(radius, (360 * (i + 1)) / steps));
draw_vertex(xx + lengthdir_x(inner_radius, (360 * (i + 1)) / steps), yy + lengthdir_y(inner_radius, (360 * (i + 1)) / steps));
draw_vertex(xx + lengthdir_x(inner_radius, (360 * i) / steps), yy + lengthdir_y(inner_radius, (360 * i) / steps));
}
draw_primitive_end();
} (centerX, centerY, _circlesize, _circlewidth, 36); |
106 |
draw_set_alpha(1); |
107 |
if (_progress <= 0) |
108 |
draw_sprite_ext(sprite_index, 0, x, y, image_xscale, image_yscale, 0, c_black, 0.5); |
109 |
} |
110 |
} |
111 |
else if (intensity == 3) |
112 |
{ |
113 |
if (timer > (poweruptime + 15)) |
114 |
{ |
115 |
} |
116 |
} |