Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_lanino_solar_system_orbit_Draw_0

(view raw script w/o annotations or w/e)
1
orbit_distance += orbit_expansion;
2
orbit_expansion = 
scr_approach
scr_approach

function
scr_approach(arg0, arg1, arg2)
{ if (arg0 < arg1) { arg0 += arg2; if (arg0 > arg1) return arg1; } else { arg0 -= arg2; if (arg0 < arg1) return arg1; } return arg0; }
(orbit_expansion, 1, (orbit_expansion - 1) * 0.075);
3
width *= 0.98;
4
if (orbit_distance > orbit_distancemax)
5
{
6
    opacity *= 0.85;
7
    if (i_ex(moon))
8
        moon.image_alpha *= 0.85;
9
    if (i_ex(moon2))
10
        moon2.image_alpha *= 0.85;
11
    if (opacity < 0.05)
12
    {
13
        if (i_ex(moon))
14
            instance_destroy(moon);
15
        if (i_ex(moon2))
16
            instance_destroy(moon2);
17
        instance_destroy();
18
        exit;
19
    }
20
}
21
orbit_angle += orbit_direction;
22
x2 = (x + (dcos(orbit_angle) * orbit_distance * hratio * cos(orbit_face))) - (-dsin(orbit_angle) * orbit_distance * vratio * sin(orbit_face));
23
y2 = y + (-dsin(orbit_angle) * orbit_distance * vratio * cos(orbit_face)) + (dcos(orbit_angle) * orbit_distance * hratio * sin(orbit_face));
24
draw_set_alpha(opacity);
25
if (i_ex(moon))
26
{
27
    if (moon.image_xscale < maxscale)
28
    {
29
        moon.image_xscale += scaler;
30
        moon.image_yscale += scaler;
31
    }
32
    moon.x = x1;
33
    moon.y = y1;
34
}
35
var x3 = (x + (dcos(orbit_angle + 180) * orbit_distance * hratio * cos(orbit_face))) - (-dsin(orbit_angle + 180) * orbit_distance * vratio * sin(orbit_face));
36
var y3 = y + (-dsin(orbit_angle + 180) * orbit_distance * vratio * cos(orbit_face)) + (dcos(orbit_angle + 180) * orbit_distance * hratio * sin(orbit_face));
37
if (i_ex(moon2))
38
{
39
    if (moon.image_xscale < maxscale)
40
    {
41
        moon2.image_xscale += scaler;
42
        moon2.image_yscale += scaler;
43
    }
44
    moon2.x = x3;
45
    moon2.y = y3;
46
}
47
for (a = 0; a < 91; a++)
48
{
49
    var angle = (4 * a) + orbit_angle;
50
    x1 = x2;
51
    y1 = y2;
52
    x2 = (x + (dcos(angle) * orbit_distance * hratio * cos(orbit_face))) - (-dsin(angle) * orbit_distance * vratio * sin(orbit_face));
53
    y2 = y + (-dsin(angle) * orbit_distance * vratio * cos(orbit_face)) + (dcos(angle) * orbit_distance * hratio * sin(orbit_face));
54
    if ((a % 2) < 1)
55
        draw_line_width_color(x1, y1, x2, y2, 1 + (width * abs(sin(degtorad(angle * 0.5)))), c_gray, c_gray);
56
}
57
draw_set_alpha(1);