Deltarune (Chapter 5) script viewer

← back to main script listing

gml_Object_obj_dw_cliff_kawkawdash_Create_0

related scripts: Create_0 Draw_0Other_11Step_0Step_1Step_2

(view raw script w/o annotations or w/e)
1
scr_setup_wind
scr_setup_wind

function
scr_setup_wind(arg0, arg1)
{ with (obj_plat_windcontroller_new) instance_destroy(); with (obj_plat_wind) instance_destroy(); if (arg0 > 0 && global.flag[arg0] == 0) global.flag[arg0] = arg1 + 2; var wc = instance_create(0, 0, obj_plat_windcontroller_new); var wind = instance_create(0, 0, obj_plat_wind); wind.image_xscale = room_width / wind.sprite_width; wind.image_yscale = room_height / wind.sprite_height; wind.y += 0.5 * wind.sprite_height; if (arg0 <= 0) { wc.winddirection = arg1; with (wc) change_wind_direction(arg1, 0); } return wc; } function scr_vfx_windboost(arg0 = -1, arg1 = 20) { if (arg0 == -1) { with (obj_plat_windcontroller_new) { arg0 = winddirection; break; } } if (arg0 >= 0) { var xx = camerax(); var yy = cameray(); var ww = camerax() + camerawidth(); var hh = cameray() + cameraheight(); for (var i = 0; i < arg1; i++) { var dir = arg0; var xxx = random_range(xx, ww); var yyy = random_range(yy, hh); var _len = irandom(sprite_height / 2) * choose(-1, 1); with (instance_create_depth(xxx, yyy, 11000, obj_plat_wind_particle)) { direction = dir;
scr_doom(self, 80);
speed = 10 + irandom(20); startspeed = speed; _len = 2 + irandom(8); image_angle = dir; image_alpha = 0;
scr_lerpvar("image_alpha", 0, 1, 8);
image_xscale = 2 * random_range(2, 8); image_yscale = 2; } } } }
(-1, 180);
2
con = 0;
3
timer = 0;
4
init = 0;
5
siner = 0;
6
roomphase = 0;
7
bridgeswitched = false;
8
bridgeinit = 0;
9
sethaqua_plot = 325;
10
starwalker_plot = 326;
11
reminder_scene_con = 0;
12
chosen_grass = -4;
13
grass_boss = -4;
14
turnofflayers("CUT");
15
turnofflayers("DEBUG");
16
turnofflayers("NPC");
17
npc_aqua = -4;
18
npc_seth = -4;
19
farmer = scr_makenpc_fromasset(findsprite(spr_scarecrow_idle_farmer, "NPCs"));
20
var kloc = findspriteinfo(spr_kawkaw_small, "NPCs");
21
kawkaw = instance_create(kloc.x, kloc.y, obj_overworld_kawkaw);
22
if (instance_exists(kawkaw))
23
    kawkaw.con = -1;
24
bridgeswitch = scr_marker_fromasset(findsprite(spr_alleySwitch));
25
bridgeswitch.image_speed = 0;
26
scr_depth
scr_depth

function
scr_depth(arg0 = id, arg1 = 0)
{ with (arg0) depth = 100000 - ((y * 10) + (sprite_height * 10) + (arg1 * 10)); }
(bridgeswitch);
27
bridgeswitch.depth += 100000;
28
29
starwalker_defeated = function()
30
{
31
    with (obj_trigger)
32
    {
33
        if (extflag == "regrow_offscreen_grass")
34
            instance_destroy();
35
    }
36
    with (obj_bulletarea_neo)
37
        
scr_doom
scr_doom

function
scr_doom(arg0, arg1)
{ var _doom = instance_create_depth(0, 0, 0, obj_doom); with (_doom) { alarm[0] = arg1; target = arg0; } return _doom; }
(self, 60);
38
};
39
40
var makeGrass = true;
41
layer_set_visible("grassSpawner", false);
42
if (makeGrass)
43
{
44
    var gs = findspriteinfo_all(6488, "grassSpawner");
45
    for (var i = 0; i < array_length(gs); i++)
46
    {
47
        for (var j = 0; j < (gs[i].image_xscale / 40); j++)
48
        {
49
            for (var k = 0; k < (gs[i].image_yscale / 40); k++)
50
            {
51
                with (instance_create(gs[i].x + (j * 40), gs[i].y + (k * 40), obj_dw_cliffs_tallgrass))
52
                {
53
                    if (other.chosen_grass == -4 && round(x / 40) == 57 && round(y / 40) == 7)
54
                        other.chosen_grass = id;
55
                    image_xscale = choose(-2, 2);
56
                    if (image_xscale == -2)
57
                        x += 40;
58
                    sprite_index = choose(spr_dw_cliffs_tallgrass_lightbake, spr_dw_cliffs_tallgrass_lightbake2);
59
                }
60
                with (instance_create(gs[i].x + (j * 40), gs[i].y + (k * 40) + 20, obj_dw_cliffs_tallgrass))
61
                {
62
                    image_xscale = choose(-2, 2);
63
                    if (image_xscale == -2)
64
                        x += 40;
65
                    image_yscale = 2;
66
                    sprite_index = choose(spr_dw_cliffs_tallgrass_lightbake, spr_dw_cliffs_tallgrass_lightbake2);
67
                }
68
            }
69
        }
70
    }
71
}
72
num_grass_cut = 0;
73
should_check_wheat = false;
74
75
check_all_wheat_gone = function()
76
{
77
    if (num_grass_cut < 0)
78
        exit;
79
    if (global.flag[1872] == 1)
80
        exit;
81
    var boundL = 1320;
82
    var cut_all_grass = true;
83
    with (obj_dw_cliffs_tallgrass)
84
    {
85
        if (x > boundL && !was_cut)
86
            cut_all_grass = false;
87
    }
88
    if (cut_all_grass)
89
    {
90
        var grass = chosen_grass;
91
        num_grass_cut++;
92
        if (grass != -4)
93
        {
94
            grass.was_cut = false;
95
            grass.sprite_index = spr_dw_cliffs_tallgrass_lightbake;
96
            grass.image_index = 0;
97
            grass.chosen = num_grass_cut >= 5;
98
            if (num_grass_cut == 5)
99
                num_grass_cut = -1;
100
        }
101
    }
102
};
103
104
unlock_dogballoon = function(arg0, arg1)
105
{
106
    arg0 += 20;
107
    arg1 += 20;
108
    num_grass_cut = -1;
109
    var balloonmarker = instance_create(arg0, arg1, obj_marker_fancy);
110
    with (balloonmarker)
111
    {
112
        sprite_index = spr_plat_coinballoon_blue;
113
        vspeed = -6;
114
        hspeed = 0;
115
        con = 0;
116
        timer = 0;
117
        
scr_depth
scr_depth

function
scr_depth(arg0 = id, arg1 = 0)
{ with (arg0) depth = 100000 - ((y * 10) + (sprite_height * 10) + (arg1 * 10)); }
(self);
118
        
scr_darksize
scr_darksize

function
scr_darksize()
{ var inst = id; if (argument_count) inst = argument0; inst.image_xscale = 2; inst.image_yscale = 2; }
();
119
        image_speed = 0.1;
120
        
121
        step_func = function()
122
        {
123
            if (con == 0)
124
            {
125
                vspeed = 
scr_approach
scr_approach

function
scr_approach(arg0, arg1, arg2)
{ if (arg0 < arg1) { arg0 += arg2; if (arg0 > arg1) return arg1; } else { arg0 -= arg2; if (arg0 < arg1) return arg1; } return arg0; }
(vspeed, 0, 0.1);
126
                if (vspeed == 0)
127
                {
128
                    con = 1;
129
                    ystart = y;
130
                }
131
            }
132
            else
133
            {
134
                timer++;
135
                y = ystart + (sin(timer * 0.05) * 4);
136
            }
137
            hspeed = 
scr_approach
scr_approach

function
scr_approach(arg0, arg1, arg2)
{ if (arg0 < arg1) { arg0 += arg2; if (arg0 > arg1) return arg1; } else { arg0 -= arg2; if (arg0 < arg1) return arg1; } return arg0; }
(hspeed, 0, 0.25);
138
            var target = 1198;
139
            if (!instance_exists(target))
140
                target = 1660;
141
            if (instance_exists(target))
142
            {
143
                if (x > (target.x - 180))
144
                    hspeed = max(-10, hspeed - 0.5);
145
            }
146
        };
147
    }
148
    with (obj_doorAny)
149
    {
150
        if (doorRoom == room_dw_cliff_shop)
151
        {
152
            doorRoom = room_dw_dogballoon;
153
            doorEntrance = 2;
154
        }
155
    }
156
};