Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_ch4_DCC01_fountain_Create_0

(view raw script w/o annotations or w/e)
1
depth = 85000;
2
base_marker = 
scr_dark_marker
scr_dark_marker

function
scr_dark_marker(arg0, arg1, arg2)
{ thismarker = instance_create(arg0, arg1, obj_marker); with (thismarker) { sprite_index = arg2; image_speed = 0; image_xscale = 2; image_yscale = 2; } return thismarker; }
(0, 13, spr_titan_fountain_burst_base);
3
base_marker.depth = depth - 1000;
4
fountain_marker = 
scr_dark_marker
scr_dark_marker

function
scr_dark_marker(arg0, arg1, arg2)
{ thismarker = instance_create(arg0, arg1, obj_marker); with (thismarker) { sprite_index = arg2; image_speed = 0; image_xscale = 2; image_yscale = 2; } return thismarker; }
(0, 0, spr_titan_fountain_burst);
5
fountain_marker.depth = base_marker.depth - 10;
6
anim_timestamps = [150, 110, 110, 110, 110, 110, 110, 110, 110, 110, 220, 220, 330, 110, 100];
7
anim_player_base = instance_create(0, 0, obj_anim_custom);
8
anim_player_fountain = instance_create(0, 0, obj_anim_custom);
9
callback = -4;
10
con = -1;
11
timer = 0;
12
fountainanimtimer = 0;
13
fountainmakesound = -4;
14
hand = -4;
15
loops = 0;
16
beam = -4;
17
s_uvs = sprite_get_uvs(bg_fountain1, 0);
18
u_iTime = shader_get_uniform(shd_fountaineffect, "iTime");
19
u_iPosOffset = shader_get_uniform(shd_fountaineffect, "iPosOffset");
20
u_iResolution = shader_get_uniform(shd_fountaineffect, "iResolution");
21
u_uvs = shader_get_uniform(shd_fountaineffect, "uvs");
22
23
start = function(arg0)
24
{
25
    callback = arg0;
26
    anim_player_fountain.start();
27
    anim_player_base.start();
28
    con = 0;
29
    timer = 0;
30
};
31
32
fountain_loop = [];
33
petrify_sequence = [];
34
petrify_stay = [];
35
36
loop_fountain = function()
37
{
38
    fountain_marker.sprite_index = spr_titan_fountain_loop;
39
    fountain_marker.image_index = 0;
40
    fountain_marker.image_speed = 0.4;
41
    fountain_marker.y += 826;
42
    for (var i = 0; i < 4; i++)
43
    {
44
        var y_pos = fountain_marker.y - (sprite_get_height(spr_titan_fountain_loop) * 2) - (i * (sprite_get_height(spr_titan_fountain_loop) * 2));
45
        fountain_loop[i] = 
scr_dark_marker
scr_dark_marker

function
scr_dark_marker(arg0, arg1, arg2)
{ thismarker = instance_create(arg0, arg1, obj_marker); with (thismarker) { sprite_index = arg2; image_speed = 0; image_xscale = 2; image_yscale = 2; } return thismarker; }
(0, y_pos, spr_titan_fountain_loop);
46
        fountain_loop[i].image_speed = 0.4;
47
    }
48
    with (anim_player_fountain)
49
        instance_destroy();
50
    with (obj_ch4_DCC01_fountain)
51
    {
52
        con = 1;
53
        timer = 0;
54
    }
55
    callback();
56
};
57
58
loop_base = function()
59
{
60
    base_marker.sprite_index = spr_titan_fountain_loop_base;
61
    base_marker.image_index = 0;
62
    base_marker.image_speed = 0.4;
63
    var base_ring_marker = 
scr_dark_marker
scr_dark_marker

function
scr_dark_marker(arg0, arg1, arg2)
{ thismarker = instance_create(arg0, arg1, obj_marker); with (thismarker) { sprite_index = arg2; image_speed = 0; image_xscale = 2; image_yscale = 2; } return thismarker; }
(0, 0, spr_titan_fountain_loop_rings);
64
    base_ring_marker.depth = base_marker.depth - 10;
65
    base_ring_marker.image_speed = 0.4;
66
    
scr_doom
scr_doom

function
scr_doom(arg0 = id, arg1)
{ with (instance_create_depth(0, 0, 0, obj_doom)) { alarm[0] target = arg0; persistent = arg0.persistent; } }
(base_ring_marker, 400);
67
    with (anim_player_base)
68
        instance_destroy();
69
};
70
71
anim_player_fountain.init(fountain_marker, fountain_marker.sprite_index, anim_timestamps);
72
anim_player_fountain.event_connect("anim_end", loop_fountain);
73
anim_player_base.init(base_marker, base_marker.sprite_index, anim_timestamps);
74
anim_player_base.event_connect("anim_end", loop_base);