Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_rotating_bullet_new_Step_0

(view raw script w/o annotations or w/e)
1
if (!enabled)
2
    exit;
3
var _angle = angle_position + obj_rotating_tower_controller_new.tower_angle;
4
while (_angle > 360)
5
    _angle -= 360;
6
while (_angle < 0)
7
    _angle += 360;
8
if (mode == 0)
9
{
10
    x += (bullet_speed * obj_rotating_tower_controller_new.col_blend);
11
    if (bullet && global.interact == 0 && i_ex(obj_climb_kris) && obj_climb_kris.fallingcon == 0 && obj_climb_kris.graboncon == 0 && _angle > 86 && _angle < 94 && abs(y - obj_climb_kris.y) < 20)
12
        event_user(5);
13
}
14
else if (mode == 1)
15
{
16
    y += bullet_speed;
17
    ystart += bullet_speed;
18
    if (y > (cameray() + cameraheight()))
19
        instance_destroy();
20
}
21
else if (mode == 2)
22
{
23
    angle_position -= 2;
24
    y += bullet_speed;
25
    ystart += bullet_speed;
26
    if (y > (cameray() + cameraheight()))
27
        instance_destroy();
28
}
29
else if (mode == 4)
30
{
31
    x = startx + (sin(current_time * 0.0005 * bullet_speed) * 64);
32
    if (bullet && global.interact == 0 && i_ex(obj_climb_kris) && _angle > 88 && _angle < 92 && abs(y - obj_climb_kris.y) < 20)
33
        event_user(5);
34
}
35
else if (mode == 5)
36
{
37
    y = starty + (cos(current_time * 0.0005 * bullet_speed) * 80);
38
    ystart = y;
39
    if (bullet && global.interact == 0 && i_ex(obj_climb_kris) && _angle > 88 && _angle < 92 && abs(y - obj_climb_kris.y) < 20)
40
        event_user(5);
41
}
42
else if (mode == 6)
43
{
44
    x = startx + (sin((current_time * 0.0005 * bullet_speed) + 3.14) * -80);
45
    y = starty + (cos(current_time * 0.0005 * bullet_speed) * 80);
46
    ystart = y;
47
    if (bullet && global.interact == 0 && i_ex(obj_climb_kris) && _angle > 88 && _angle < 92 && abs(y - obj_climb_kris.y) < 20)
48
        event_user(5);
49
}
50
if (x > obj_rotating_tower_controller_new.tower_circumference && dodraw == false)
51
    x -= obj_rotating_tower_controller_new.tower_circumference;
52
event_inherited();
53
if ((_angle > 350 && _angle <= 360) || _angle >= 180)
54
    image_xscale = start_xscale - 0.2;
55
else if (_angle >= 30 && _angle < 90)
56
    image_xscale = lerp(start_xscale, start_xscale + 0.4, (_angle - 30) / 60);
57
else if (_angle >= 90 && _angle < 150)
58
    image_xscale = lerp(start_xscale + 0.4, start_xscale, (_angle - 90) / 60);
59
else if (_angle >= 0 && _angle < 30)
60
    image_xscale = lerp(start_xscale - 0.2, start_xscale, _angle / 30);
61
else if (_angle >= 150 && _angle < 180)
62
    image_xscale = lerp(start_xscale, start_xscale - 0.2, (_angle - 150) / 30);
63
image_xscale = lerp(start_xscale, image_xscale, obj_rotating_tower_controller_new.col_blend);
64
image_yscale = image_xscale;