Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_cloud_controller_Step_2

(view raw script w/o annotations or w/e)
1
if (abs(y - obj_mainchara.y) > 266)
2
    y -= 5;
3
else if (abs(y - obj_mainchara.y) > 120)
4
    y -= 2;
5
else
6
    y -= 1;
7
if (collision_rectangle(0, y + 20, 640, y + 300, obj_mainchara, 1, 0) && global.inv < 0)
8
    event_user(5);
9
var _center_y = cameray() + 200;
10
var _center_dist = clamp((y - _center_y) / 340, -1, 1);
11
y_scale = sin((abs(_center_dist) * pi) / 2) * sign(_center_dist) * 0.2;
12
cloud_angle += 0.2;
13
var _cnum = array_length(clouds);
14
for (var _c = 0; _c < _cnum; _c++)
15
{
16
    var _cloud = clouds[_c];
17
    _cloud.angle = _cloud.base_angle + cloud_angle + (obj_rotating_tower_controller.tower_angle * 0.5);
18
    _cloud.z_depth = (((abs(angle_difference(_cloud.angle, -90)) / 180) * 2) - 1) * _cloud.dist;
19
    _cloud.x = lengthdir_x(1, _cloud.angle) * _cloud.dist;
20
    _cloud.x += 320;
21
    _cloud.y = lengthdir_y(1, _cloud.angle) * y_scale * _cloud.dist;
22
}
23
array_sort(clouds, sort_cloud);