Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_dw_windy_char_Draw_0

(view raw script w/o annotations or w/e)
1
if (!is_init)
2
    exit;
3
if (up_h() && auto)
4
    base_anim_index += base_anim_speed;
5
windspeedchangetimer++;
6
if (windspeedchangetimer == 35)
7
{
8
    top_anim_speed_max = choose(0.4, 0.5, 0.6, 0.7, 0.8);
9
    windspeedchangetimer = 0;
10
}
11
if (top_anim_speed_max > top_anim_speed)
12
    top_anim_speed += 0.05;
13
if (top_anim_speed_max < top_anim_speed)
14
    top_anim_speed -= 0.05;
15
top_anim_index += top_anim_speed;
16
if (char_name == "susie")
17
{
18
    sprite_top_offset_timer++;
19
    if (sprite_top_offset_timer == 8)
20
        sprite_top_offset = -2;
21
    if (sprite_top_offset_timer == 16)
22
    {
23
        sprite_top_offset = 0;
24
        sprite_top_offset_timer = 0;
25
    }
26
}
27
else if (char_name == "kris")
28
{
29
    if (obj_mainchara.y >= 3720)
30
    {
31
        sprite_index = spr_kris_block_up_wind_inbetween2;
32
        base_anim_index = 0;
33
    }
34
    if (obj_mainchara.y < 3720 && sprite_index == spr_kris_block_up_wind_inbetween2)
35
    {
36
        sprite_index = spr_kris_block_up_wind_inbetween;
37
        base_anim_index = 0;
38
    }
39
    if (auto && i_ex(obj_mainchara))
40
    {
41
        x = obj_mainchara.x;
42
        y = obj_mainchara.y;
43
        depth = obj_mainchara.depth - 1;
44
    }
45
    if (sprite_index == spr_kris_block_up_wind_inbetween && base_anim_index >= 3)
46
        sprite_index = spr_kris_walk_up_windy;
47
    if (sprite_index == spr_kris_block_up_wind_inbetween2 && base_anim_index >= 2)
48
    {
49
        sprite_index = spr_krisu_dark_1frame;
50
        base_anim_index = 0;
51
    }
52
}
53
if (visible)
54
{
55
    d3d_set_fog(true, c_red, 0, 1);
56
    draw_sprite_ext(sprite_index, base_anim_index, x, y - 2, 2, 2, 0, c_white, redalpha);
57
    draw_sprite_ext(sprite_index, base_anim_index, x + 2, y - 2, 2, 2, 0, c_white, redalpha);
58
    draw_sprite_ext(sprite_index, base_anim_index, x - 2, y - 2, 2, 2, 0, c_white, redalpha);
59
    draw_sprite_ext(sprite_index, base_anim_index, x, y + 2, 2, 2, 0, c_white, redalpha);
60
    draw_sprite_ext(sprite_index, base_anim_index, x + 2, y + 2, 2, 2, 0, c_white, redalpha);
61
    draw_sprite_ext(sprite_index, base_anim_index, x - 2, y + 2, 2, 2, 0, c_white, redalpha);
62
    if (sprite_index != spr_kris_block_up_wind_inbetween && sprite_index != spr_kris_block_up_wind_inbetween2)
63
    {
64
        draw_sprite_ext(sprite_top, top_anim_index, x, y - 2, 2, 2, 0, c_white, redalpha);
65
        draw_sprite_ext(sprite_top, top_anim_index, x + 2, y - 2, 2, 2, 0, c_white, redalpha);
66
        draw_sprite_ext(sprite_top, top_anim_index, x - 2, y - 2, 2, 2, 0, c_white, redalpha);
67
        draw_sprite_ext(sprite_top, top_anim_index, x, y + 2, 2, 2, 0, c_white, redalpha);
68
        draw_sprite_ext(sprite_top, top_anim_index, x + 2, y + 2, 2, 2, 0, c_white, redalpha);
69
        draw_sprite_ext(sprite_top, top_anim_index, x - 2, y + 2, 2, 2, 0, c_white, redalpha);
70
    }
71
    d3d_set_fog(false, c_black, 0, 0);
72
}
73
krisstartwindycon = 0;
74
krisstartwindytimer = 0;
75
draw_sprite_ext(sprite_index, base_anim_index, x, y, 2, 2, 0, c_white, 1);
76
if (sprite_index != spr_kris_block_up_wind_inbetween && sprite_index != spr_kris_block_up_wind_inbetween2)
77
    draw_sprite_ext(sprite_top, top_anim_index, x, y + sprite_top_offset, 2, 2, 0, c_white, 1);