Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_tenna_zoom_Draw_0

(view raw script w/o annotations or w/e)
1
var a = image_alpha - 1;
2
if (con == 3 && a < 1)
3
    a = 1;
4
if (sprite_exists(screenshot))
5
    a = 0;
6
draw_sprite_ext(spr_tenna_grasp_zoom_static, index, x, y, 2, 2, image_angle, image_blend, a);
7
draw_sprite_ext(spr_tenna_grasp_static, index, x, y, 2, 2, 0, c_white, image_alpha);
8
index += 0.5;
9
draw_set_alpha(1);
10
if (!surface_exists(_surface))
11
    _surface = surface_create(room_width, room_height);
12
if (sprite_exists(screenshot) && con != 1)
13
{
14
    surface_set_target(_surface);
15
    draw_clear_alpha(c_white, 0);
16
    gpu_set_blendenable(false);
17
    draw_sprite_ext(screenshot, 0, 0, 0, 1, 1, 0, c_white, 1);
18
    gpu_set_blendenable(true);
19
    draw_set_blend_mode(bm_subtract);
20
    draw_sprite_ext(spr_tenna_grasp_mask, 0, x, y, 2, 2, 0, c_white, 1);
21
    draw_set_blend_mode(bm_add);
22
    draw_set_blend_mode(bm_normal);
23
    surface_reset_target();
24
    if (!i_ex(obj_tenna_enemy) || obj_tenna_enemy.minigamefailcon == 0)
25
        draw_surface_ext(_surface, x - (anchor_x * surface_scale), (y - (anchor_y * surface_scale)) + yoffset, surface_scale, surface_scale, 0, c_white, 1);
26
    if (i_ex(obj_tenna_enemy))
27
    {
28
        with (markkris)
29
            draw_self();
30
        with (marksusie)
31
            draw_self();
32
        with (markralsei)
33
            draw_self();
34
    }
35
    draw_sprite_ext(spr_tenna_grasp_static, index, x, y, 2, 2, 0, c_white, image_alpha);
36
}
37
if ((con == 1 && i_ex(obj_tenna_enemy)) || (con == 2 && i_ex(obj_tenna_enemy)))
38
{
39
    if (xcon == 0)
40
    {
41
        if (whitex_alpha < 0.6)
42
            whitex_alpha += 0.1;
43
        if (obj_tenna_enemy.minigamefailcount >= 1)
44
        {
45
            redx_1_scale = lerp(redx_1_scale, 1, 0.4);
46
            if (redx_1_alpha < 1)
47
                redx_1_alpha += 0.4;
48
        }
49
        if (obj_tenna_enemy.minigamefailcount >= 2)
50
        {
51
            redx_2_scale = lerp(redx_2_scale, 1, 0.4);
52
            if (redx_2_alpha < 1)
53
                redx_2_alpha += 0.4;
54
        }
55
        if (obj_tenna_enemy.minigamefailcount >= 3)
56
        {
57
            redx_3_scale = lerp(redx_3_scale, 1, 0.6);
58
            if (redx_3_alpha < 1)
59
                redx_3_alpha += 0.4;
60
        }
61
    }
62
    else
63
    {
64
        if (redx_1_alpha > 0)
65
            redx_1_alpha -= 0.2;
66
        if (redx_2_alpha > 0)
67
            redx_2_alpha -= 0.2;
68
        if (redx_3_alpha > 0)
69
            redx_3_alpha -= 0.2;
70
        if (whitex_alpha > 0)
71
            whitex_alpha -= 0.2;
72
    }
73
}