1 |
if (live_call()) |
2 |
return global.live_result; |
3 |
if (instance_exists(obj_verlet_rope_generator)) |
4 |
image_alpha = obj_verlet_rope_generator.image_alpha; |
5 |
scr_verlet_updatepointsscr_verlet_updatepointsfunction scr_verlet_updatepoints(arg0, arg1, arg2)
{
for (var i = 0; i < array_length(arg0); i++)
{
var p = array_get(arg0, i);
if (!array_get(p, 4))
{
var vx = (array_get(p, 0) - array_get(p, 2)) * arg1;
var vy = (array_get(p, 1) - array_get(p, 3)) * arg1;
array_set(p, 2, array_get(p, 0));
array_set(p, 3, array_get(p, 1));
array_set(p, 0, array_get(p, 0) + vx);
array_set(p, 1, array_get(p, 1) + vy);
array_set(p, 1, array_get(p, 1) + arg2);
}
}
} (points, p_friction, p_gravity); |
6 |
for (var i = 0; i < precision; i++) |
7 |
scr_verlet_updatesticksscr_verlet_updatesticksfunction scr_verlet_updatesticks(arg0)
{
for (var i = 0; i < array_length(arg0); i++)
{
var s = array_get(arg0, i);
var dx = array_get(array_get(s, 1), 0) - array_get(array_get(s, 0), 0);
var dy = array_get(array_get(s, 1), 1) - array_get(array_get(s, 0), 1);
var distance = sqrt((dx * dx) + (dy * dy));
var difference = array_get(s, 2) - distance;
var percent = difference / distance / 2;
var offsetX = dx * percent;
var offsetY = dy * percent;
if (!array_get(array_get(s, 0), 4))
{
array_set(array_get(s, 0), 0, array_get(array_get(s, 0), 0) - offsetX);
array_set(array_get(s, 0), 1, array_get(array_get(s, 0), 1) - offsetY);
}
if (!array_get(array_get(s, 1), 4))
{
array_set(array_get(s, 1), 0, array_get(array_get(s, 1), 0) + offsetX);
array_set(array_get(s, 1), 1, array_get(array_get(s, 1), 1) + offsetY);
}
}
} (sticks); |
8 |
if (can_move) |
9 |
{ |
10 |
var wind_inc = 0.003; |
11 |
wind_power = clamp(wind_power + (wind_inc * wind_direction), -wind_power_max, wind_power_max); |
12 |
if (wind_direction_change_countdown > 0) |
13 |
{ |
14 |
if (abs(wind_power) == wind_power_max) |
15 |
{ |
16 |
if (!alarm[0]) |
17 |
alarm[0] = 15; |
18 |
wind_direction_change_countdown--; |
19 |
} |
20 |
else |
21 |
{ |
22 |
alarm[0] = -1; |
23 |
} |
24 |
} |
25 |
else |
26 |
{ |
27 |
wind_direction_change_countdown = wind_direction_change_countdown_max; |
28 |
wind_direction *= -1; |
29 |
} |
30 |
for (var i = 0; i < r_segments; i++) |
31 |
points[i][0] += (i * (wind_power + sway)); |
32 |
} |
33 |
var col = false; |
34 |
for (var i = 0; i < array_length(points); i++) |
35 |
{ |
36 |
var p = points[i]; |
37 |
if (!p[4]) |
38 |
{ |
39 |
if (position_meeting(p[0], p[1], obj_heart_battle_fighting_parent)) |
40 |
col = true; |
41 |
} |
42 |
} |
43 |
if (col == true && obj_heart_battle_fighting_parent.vulnerable == true && obj_heart_battle_fighting_parent.is_dashing == false) |
44 |
{ |
45 |
var damage = (global.enemy_attack_stat - global.player_armor_defense - global.player_armor_modifier_defense - global.player_defense) + 10; |
46 |
with (obj_heart_battle_fighting_parent) |
47 |
{ |
48 |
if (global.current_pp_self > 0) |
49 |
{ |
50 |
instance_create(x, y, obj_heart_battle_effect_expand); |
51 |
for (var i = 0; i < 5; i++) |
52 |
instance_create(x, y, obj_heart_battle_effect_shard); |
53 |
global.current_pp_self -= 1; |
54 |
audio_play_sound(snd_mirrorbreak1, 20, false); |
55 |
} |
56 |
else |
57 |
{ |
58 |
global.current_hp_self -= damage; |
59 |
audio_play_sound(snd_hurt, 1, 0); |
60 |
} |
61 |
vulnerable = false; |
62 |
global.hit_self = true; |
63 |
alarm[0] = global.invulnerability_self; |
64 |
} |
65 |
} |