Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_npc_gerson_Draw_0

(view raw script w/o annotations or w/e)
1
if (enter_door)
2
{
3
    gerson_shadow = clamp(gerson_shadow + 0.2, 0, 1);
4
    var shadow = gerson_shadow;
5
    color_blend = merge_color(c_white, make_color_hsv(0, 0, 0), shadow);
6
    if (gerson_shadow >= 1)
7
        enter_door = false;
8
}
9
anim_index += anim_speed;
10
draw_sprite_ext(current_sprite_index, anim_index, x, y, image_xscale, 2, 0, color_blend, 1);
11
if (darkened)
12
{
13
    gpu_set_blendenable(false);
14
    gpu_set_colorwriteenable(false, false, false, true);
15
    draw_sprite_ext(current_sprite_index, anim_index, x, y, image_xscale, 2, 0, c_white, 0.5);
16
    draw_set_alpha(0);
17
    if (facing_right)
18
        ossafe_fill_rectangle(x * image_xscale, (y + (sprite_get_height(current_sprite_index) * 2)) - 2, x + (sprite_get_width(current_sprite_index) * 2), y + (sprite_get_height(current_sprite_index) * 2) + 20, 0);
19
    else
20
        ossafe_fill_rectangle(x, (y + (sprite_get_height(current_sprite_index) * 2)) - 2, x + (sprite_get_width(current_sprite_index) * 2), y + (sprite_get_height(current_sprite_index) * 2) + 20, 0);
21
    draw_set_alpha(1);
22
    gpu_set_blendenable(true);
23
    gpu_set_colorwriteenable(true, true, true, true);
24
    gpu_set_blendmode_ext(bm_dest_alpha, bm_inv_dest_alpha);
25
    gpu_set_alphatestenable(true);
26
    draw_sprite_ext(current_sprite_index, anim_index, x, y + 4, image_xscale, 2, 0, c_black, 1);
27
    gpu_set_alphatestenable(false);
28
    gpu_set_blendmode(bm_normal);
29
}