| 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 |
} |