Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_verlet_rope_generator_Create_0

(view raw script w/o annotations or w/e)
1
if (live_call())
2
    return global.live_result;
3
event_inherited();
4
if (instance_exists(obj_verlet_rope_generator))
5
    image_alpha = obj_verlet_rope_generator.image_alpha;
6
bounce = 0.9;
7
p_gravity = 0.8;
8
p_friction = 0.9;
9
precision = 3;
10
rope_sprite = 3581;
11
base_x = x;
12
base_y = y;
13
r_length = 130;
14
r_segments = 13;
15
r_width = 1.5;
16
can_move = false;
17
wind_power = 0.04;
18
wind_power_max = 0.05;
19
wind_direction = 1;
20
wind_direction_change_countdown = 80;
21
wind_direction_change_countdown_max = 80;
22
sway = 0;
23
alarm[0] = 10;
gml_Object_obj_verlet_rope_generator_Alarm_0.gml

if (live_call()) return global.live_result; if (sway == 0) sway = sign(wind_power) * 0.03; else sway = 0; alarm[0] = 15;
24
alarm[1] = 30;
gml_Object_obj_verlet_rope_generator_Alarm_1.gml

if (live_call()) return global.live_result; can_move = true;
25
points = [];
26
array_push(points, [base_x, base_y, base_x, base_y, true, rope_sprite]);
27
for (var i = 0; i < (r_segments - 1); i++)
28
    array_push(points, [base_x, points[i][1] + (r_length / r_segments), base_x, points[i][1] + (r_length / r_segments), false, rope_sprite]);
29
sticks = [];
30
for (var i = 0; i < (r_segments - 1); i++)
31
    array_push(sticks, [points[i], points[i + 1], scr_distance
scr_distance

function scr_distance(arg0, arg1) { var dx = arg1[0] - arg0[0]; var dy = arg1[1] - arg0[1]; return sqrt((dx * dx) + (dy * dy)); }
(points[i], points[i + 1]), r_width, 255, 255, false]);