Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_ch4_DCB02_vfx_Draw_0

(view raw script w/o annotations or w/e)
1
if (mode == 2)
2
{
3
    var window_offset = 40;
4
    draw_sprite_ext(spr_dw_church_windows_lightning, 0, 365, -26, 2, 2, 0, c_white, shadow_alpha);
5
    draw_sprite_ext(spr_dw_church_windows_lightning, 0, 495, -26, 2, 2, 0, c_white, shadow_alpha);
6
    draw_sprite_ext(spr_dw_church_windows_lightning, 0, 625, -26, 2, 2, 0, c_white, shadow_alpha);
7
    var tileMapA = layer_tilemap_get_id(layer_get_id("FLOORTILES"));
8
    draw_tilemap(tileMapA, 0, 0);
9
    draw_set_color(c_black);
10
    draw_set_alpha(shadow_alpha);
11
    ossafe_fill_rectangle(160, 280, 364, 320, false);
12
    ossafe_fill_rectangle(755, 280, room_width, 320, false);
13
    draw_set_alpha(1);
14
    draw_set_color(c_white);
15
    for (var i = 0; i < array_length_1d(target_characters); i++)
16
    {
17
        var character = target_characters[i];
18
        if (character != -4 && character.visible)
19
            draw_sprite_ext(character.sprite_index, character.image_index, character.x, character.y, 2, 2, 0, c_black, 1);
20
    }
21
    for (var i = 0; i < array_length_1d(target_characters); i++)
22
    {
23
        var character = target_characters[i];
24
        if (character != -4 && character.visible)
25
        {
26
            pal_swap_set(spr_palette_krs_statue, chara_palette_index, false);
27
            draw_sprite_ext(character.sprite_index, character.image_index, character.x, character.y, 2, 2, 0, c_white, silhouette_alpha);
28
            pal_swap_reset();
29
        }
30
    }
31
    gpu_set_blendenable(false);
32
    gpu_set_colorwriteenable(false, false, false, true);
33
    for (var i = 0; i < array_length_1d(lightning_areas); i++)
34
    {
35
        var area = lightning_areas[i];
36
        draw_sprite_ext(spr_pixel_white, 0, area.x, area.y, area.image_xscale * 10, area.image_yscale * 10, 0, c_white, 0);
37
    }
38
    for (var i = 0; i < array_length_1d(lightning_mask_areas); i++)
39
    {
40
        var area = lightning_mask_areas[i];
41
        draw_sprite_ext(spr_pixel_white, 0, area.x, area.y, area.image_xscale * 10, area.image_yscale * 10, 0, c_white, shadow_alpha);
42
    }
43
    gpu_set_blendenable(true);
44
    gpu_set_colorwriteenable(true, true, true, true);
45
    gpu_set_blendmode_ext(bm_dest_alpha, bm_inv_dest_alpha);
46
    gpu_set_alphatestenable(true);
47
    for (var i = 0; i < array_length_1d(target_characters); i++)
48
    {
49
        var character = target_characters[i];
50
        if (character != -4 && character.visible)
51
            draw_sprite_ext(character.sprite_index, character.image_index, character.x, character.y, 2, 2, 0, c_black, 1);
52
    }
53
    gpu_set_alphatestenable(false);
54
    gpu_set_blendmode(bm_normal);
55
}
56
if (follow_mode)
57
{
58
    if (party_kris == -4)
59
    {
60
        depth = 100000;
61
        var _kris = kris_target;
62
        party_kris = instance_create(_kris.x, _kris.y, obj_marker_palette);
63
        party_kris.current_palette = 4425;
64
        party_kris.palette_index = 1;
65
        party_kris.sprite_index = _kris.sprite_index;
66
        party_kris.image_index = _kris.image_index;
67
        party_kris.image_speed = 0;
68
        with (party_kris)
69
        {
70
            image_xscale = 2;
71
            image_yscale = 2;
72
            
scr_stickto
scr_stickto

function
scr_stickto(arg0, arg1)
{ _stickto = instance_create(0, 0, obj_stickto); _stickto.stickingobj = id; _stickto.stucktoobj = arg0; _stickto.relativedepth = arg1; with (_stickto) event_user(0); return _stickto; }
(_kris, -1);
73
        }
74
        var _ralsei = ralsei_target;
75
        party_ralsei = instance_create(_ralsei.x, _ralsei.y, obj_marker_palette);
76
        party_ralsei.current_palette = 4425;
77
        party_ralsei.palette_index = 1;
78
        party_ralsei.sprite_index = _ralsei.sprite_index;
79
        party_ralsei.image_index = _ralsei.image_index;
80
        party_ralsei.image_speed = 0;
81
        with (party_ralsei)
82
        {
83
            image_xscale = 2;
84
            image_yscale = 2;
85
            
scr_stickto
scr_stickto

function
scr_stickto(arg0, arg1)
{ _stickto = instance_create(0, 0, obj_stickto); _stickto.stickingobj = id; _stickto.stucktoobj = arg0; _stickto.relativedepth = arg1; with (_stickto) event_user(0); return _stickto; }
(_ralsei, -1);
86
        }
87
        var _susie = susie_target;
88
        party_susie = instance_create(_susie.x, _susie.y, obj_marker_palette);
89
        party_susie.current_palette = 4425;
90
        party_susie.palette_index = 1;
91
        party_susie.sprite_index = _susie.sprite_index;
92
        party_susie.image_index = _susie.image_index;
93
        party_susie.image_speed = 0;
94
        with (party_susie)
95
        {
96
            image_xscale = 2;
97
            image_yscale = 2;
98
            
scr_stickto
scr_stickto

function
scr_stickto(arg0, arg1)
{ _stickto = instance_create(0, 0, obj_stickto); _stickto.stickingobj = id; _stickto.stucktoobj = arg0; _stickto.relativedepth = arg1; with (_stickto) event_user(0); return _stickto; }
(_susie, -2);
99
        }
100
        var _statue = statue_target;
101
        var party_statue = instance_create(_statue.x, _statue.y, obj_marker_palette);
102
        party_statue.current_palette = 4425;
103
        party_statue.palette_index = 1;
104
        party_statue.sprite_index = _statue.sprite_index;
105
        with (party_statue)
106
        {
107
            image_xscale = 2;
108
            image_yscale = 2;
109
            
scr_stickto
scr_stickto

function
scr_stickto(arg0, arg1)
{ _stickto = instance_create(0, 0, obj_stickto); _stickto.stickingobj = id; _stickto.stucktoobj = arg0; _stickto.relativedepth = arg1; with (_stickto) event_user(0); return _stickto; }
(_statue, -1);
110
        }
111
    }
112
    party_kris.sprite_index = kris_target.sprite_index;
113
    party_kris.image_index = kris_target.image_index;
114
    party_kris.depth = kris_target.depth - 1;
115
    party_ralsei.sprite_index = ralsei_target.sprite_index;
116
    party_ralsei.image_index = ralsei_target.image_index;
117
    party_ralsei.depth = ralsei_target.depth - 1;
118
    party_susie.sprite_index = susie_target.sprite_index;
119
    party_susie.image_index = susie_target.image_index;
120
    party_susie.depth = susie_target.depth - 1;
121
}