Deltarune (Chapter 5) script viewer

← back to main script listing

gml_Object_obj_climb_susie_Draw_0

(view raw script w/o annotations or w/e)
1
if (con < 999)
2
{
3
    image_alpha = 1;
4
    if (global.inv > 0)
5
        image_alpha = 0.5;
6
}
7
if (onrotatingtower)
8
{
9
    var tower = 744;
10
    var adjustment = -304;
11
    if (tower.appearance == 1)
12
        adjustment = 356;
13
    var __tile_angle = lerp(360, 0, (x + adjustment) / tower.tower_circumference);
14
    var tile_angle1 = __tile_angle + tower.tower_angle;
15
    while (tile_angle1 < 0)
16
        tile_angle1 += 360;
17
    while (tile_angle1 > 360)
18
        tile_angle1 -= 360;
19
    if (tile_angle1 > 350 || tile_angle1 <= 190)
20
        tile_vis = true;
21
    else
22
        tile_vis = false;
23
    var __tile_x = lengthdir_x(tower.tower_radius, tile_angle1);
24
    var tile_angle2 = tile_angle1 + tower.tile_angle_difference;
25
    while (tile_angle2 < 0)
26
        tile_angle2 += 360;
27
    while (tile_angle2 > 360)
28
        tile_angle2 -= 360;
29
    var __tile_xscale = lengthdir_x(tower.tower_radius, tile_angle2) - __tile_x;
30
    var __tile_yscale = tower.tile_width_fine;
31
    var _sprite = spr_susie_climb_0_degrees;
32
    if (abs(__tile_xscale) < 30)
33
        _sprite = spr_susie_climb_45_degrees;
34
    if (abs(__tile_xscale) < 15)
35
        _sprite = spr_susie_climb_90_degrees;
36
    var flip = 1;
37
    if (_sprite != spr_susie_climb_0_degrees && __tile_x < 0)
38
    {
39
        flip = -1;
40
        __tile_x = lengthdir_x(tower.tower_radius, tile_angle1 - tower.tile_angle_difference);
41
    }
42
    __tile_xscale /= (tower.tile_width_fine / 2);
43
    __tile_yscale /= (tower.tile_width_fine / 2);
44
    tower_x = tower.tower_x + __tile_x;
45
    if (con == 3 || con == 4 || con == 5)
46
        _sprite = sprite_index;
47
    var __tile_color = merge_color(c_white, c_gray, abs(__tile_x + (__tile_xscale / 2)) / 90);
48
    if (tile_vis == 1)
49
        draw_sprite_ext(_sprite, image_index, tower.tower_x + __tile_x, y - 10, 2 * flip, __tile_yscale, 0, __tile_color, image_alpha);
50
}
51
else
52
{
53
    var yy = y;
54
    y += drawoffsety;
55
    draw_self();
56
    y = yy;
57
}