Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_dw_blacksmoke_Draw_0

(view raw script w/o annotations or w/e)
1
if (type == 0)
2
{
3
    timer++;
4
    var smokeamount = 0;
5
    if (i_ex(obj_mainchara))
6
    {
7
        var _room_width = room_width;
8
        var _offset = 400;
9
        if (room == room_dw_snow_zone)
10
        {
11
            _room_width = 7600;
12
            _offset = 3000;
13
        }
14
        smokeamount = clamp((obj_mainchara.x - _offset) / _room_width, 0, 1);
15
    }
16
    depth = 5000;
17
    draw_sprite_tiled_ext(spr_bg_fountain1, 0, timer * 1.6, timer * 1.8, 2, 2, c_dkgray, smokeamount);
18
    draw_sprite_tiled_ext(spr_bg_fountain1, 0, timer * 1.1, timer, 2, 2, c_black, smokeamount);
19
    draw_sprite_tiled_ext(spr_bg_fountain1, 0, timer / 2, timer / 1.5, 2, 2, c_black, smokeamount);
20
}
21
if (type == 1 || type == 2)
22
{
23
    if (init == 0)
24
    {
25
        init = 1;
26
        overlay = 
scr_marker
scr_marker

function
scr_marker(arg0, arg1, arg2)
{ thismarker = instance_create(arg0, arg1, obj_marker); with (thismarker) { sprite_index = arg2; image_speed = 0; } return thismarker; }
(-10, -10, spr_whitepx_10);
27
        overlay.image_xscale = (room_width / 10) + 2;
28
        overlay.image_yscale = (room_height / 10) + 2;
29
        overlay.image_blend = merge_color(c_black, c_navy, 0.5);
30
        overlay.image_alpha = 0.6;
31
        overlay.depth = 1000;
32
        if (room == room_town_shelter)
33
        {
34
            var left_cover = 
scr_marker
scr_marker

function
scr_marker(arg0, arg1, arg2)
{ thismarker = instance_create(arg0, arg1, obj_marker); with (thismarker) { sprite_index = arg2; image_speed = 0; } return thismarker; }
(-10, -10, spr_whitepx_10);
35
            with (left_cover)
36
            {
37
                image_blend = c_black;
38
                image_yscale = (room_height / 10) + 2;
39
                depth = 1100;
40
            }
41
            var right_cover = 
scr_marker
scr_marker

function
scr_marker(arg0, arg1, arg2)
{ thismarker = instance_create(arg0, arg1, obj_marker); with (thismarker) { sprite_index = arg2; image_speed = 0; } return thismarker; }
(room_width, -10, spr_whitepx_10);
42
            with (right_cover)
43
            {
44
                image_blend = c_black;
45
                image_yscale = (room_height / 10) + 2;
46
                depth = 1100;
47
            }
48
        }
49
    }
50
    depth = 400000;
51
    var ballregionl = 153;
52
    var ballregionr = 182;
53
    var bally = 150;
54
    if (type == 1)
55
    {
56
        draw_set_color(c_black);
57
        ossafe_fill_rectangle(153, 142, 182, 189, false);
58
    }
59
    if (type == 2)
60
    {
61
        ballregionl = 125;
62
        ballregionr = 200;
63
        bally = 1120;
64
    }
65
    timer++;
66
    if (timer >= 2)
67
    {
68
        timer = 0;
69
        var ball = 
scr_marker
scr_marker

function
scr_marker(arg0, arg1, arg2)
{ thismarker = instance_create(arg0, arg1, obj_marker); with (thismarker) { sprite_index = arg2; image_speed = 0; } return thismarker; }
(random_range(ballregionl, ballregionr), bally, spr_ball);
70
        ball.image_blend = c_black;
71
        
scr_doom
scr_doom

function
scr_doom(arg0, arg1)
{ with (instance_create_depth(0, 0, 0, obj_doom)) { alarm[0] target = arg0; } }
(ball, 60);
72
        var randomscale = 0.3 + random(0.5);
73
        
scr_lerpvar_instance
scr_lerpvar_instance

function
scr_lerpvar_instance()
{ __lerpvar = instance_create(0, 0, obj_lerpvar); __lerpvar.target = argument[0]; __lerpvar.varname = argument[1]; __lerpvar.pointa = argument[2]; __lerpvar.pointb = argument[3]; __lerpvar.maxtime = argument[4]; if (argument_count >= 6) __lerpvar.easetype = argument[5]; if (argument_count >= 7) __lerpvar.easeinout = argument[6]; return __lerpvar; } function scr_lerp_var_instance() { if (argument_count >= 6)
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4, argument5);
else if (argument_count >= 7)
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4, argument5, argument6);
else
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4);
} function scr_lerp_instance_var() { if (argument_count >= 6)
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4, argument5);
else if (argument_count >= 7)
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4, argument5, argument6);
else
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4);
}
(ball, "image_xscale", 0, randomscale, 10, -1, "out");
74
        
scr_lerpvar_instance
scr_lerpvar_instance

function
scr_lerpvar_instance()
{ __lerpvar = instance_create(0, 0, obj_lerpvar); __lerpvar.target = argument[0]; __lerpvar.varname = argument[1]; __lerpvar.pointa = argument[2]; __lerpvar.pointb = argument[3]; __lerpvar.maxtime = argument[4]; if (argument_count >= 6) __lerpvar.easetype = argument[5]; if (argument_count >= 7) __lerpvar.easeinout = argument[6]; return __lerpvar; } function scr_lerp_var_instance() { if (argument_count >= 6)
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4, argument5);
else if (argument_count >= 7)
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4, argument5, argument6);
else
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4);
} function scr_lerp_instance_var() { if (argument_count >= 6)
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4, argument5);
else if (argument_count >= 7)
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4, argument5, argument6);
else
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4);
}
(ball, "image_yscale", 0, randomscale, 10, -1, "out");
75
        
scr_lerpvar_instance
scr_lerpvar_instance

function
scr_lerpvar_instance()
{ __lerpvar = instance_create(0, 0, obj_lerpvar); __lerpvar.target = argument[0]; __lerpvar.varname = argument[1]; __lerpvar.pointa = argument[2]; __lerpvar.pointb = argument[3]; __lerpvar.maxtime = argument[4]; if (argument_count >= 6) __lerpvar.easetype = argument[5]; if (argument_count >= 7) __lerpvar.easeinout = argument[6]; return __lerpvar; } function scr_lerp_var_instance() { if (argument_count >= 6)
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4, argument5);
else if (argument_count >= 7)
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4, argument5, argument6);
else
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4);
} function scr_lerp_instance_var() { if (argument_count >= 6)
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4, argument5);
else if (argument_count >= 7)
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4, argument5, argument6);
else
scr_lerpvar_instance(argument0, argument1, argument2, argument3, argument4);
}
(ball, "image_alpha", 8, 0, 60);
76
        ball.image_xscale = 0;
77
        ball.image_yscale = 0;
78
        ball.depth = 300000;
79
        if (type == 2)
80
            ball.depth = 5000;
81
        ball.gravity = -0.2;
82
        ball.friction = 0.1;
83
        ball.hspeed = random_range(-3, 3);
84
    }
85
}