Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_dw_church_darkmaze_Step_2

(view raw script w/o annotations or w/e)
1
if (fixsusie)
2
{
3
    with (sumark)
4
        
scr_depth
scr_depth

function
scr_depth(arg0 = id, arg1 = 0)
{ with (arg0) depth = 100000 - ((y * 10) + (sprite_height * 10) + (arg1 * 10)); }
();
5
}
6
if (trippin == 0)
7
{
8
    with (obj_gerson_cane_bullet)
9
    {
10
        if (!instance_exists(obj_battleback))
11
        {
12
            hit = 0;
13
            other.trippin = 1;
14
            gravity = 1;
15
            vspeed = -12;
16
            var a = gravity / 2;
17
            var b = vspeed;
18
            var c = -abs(878 - y);
19
            var time = (-b + sqrt((b * b) - (4 * a * c))) / (2 * a);
20
            
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("image_angle", image_angle % 360, (image_angle % 360) - 180, time);
21
            hspeed = 18;
22
        }
23
    }
24
}
25
if (trippin == 1)
26
{
27
}
28
var domake = false;
29
with (obj_gerson_cane_bullet)
30
{
31
    if (other.trippin)
32
        hspeed = lerp(hspeed, 0.5, 0.05);
33
    if (y >= 878)
34
    {
35
        if (hit == 0)
36
        {
37
            domake = true;
38
            vspeed = -6;
39
            snd_play(snd_wing);
40
            hit = 1;
41
        }
42
        else if (hit == 1)
43
        {
44
            vspeed = -3;
45
            snd_play(snd_wing, 0.5);
46
            hit = 2;
47
        }
48
        
scr_depth
scr_depth

function
scr_depth(arg0 = id, arg1 = 0)
{ with (arg0) depth = 100000 - ((y * 10) + (sprite_height * 10) + (arg1 * 10)); }
();
49
        y = 878;
50
    }
51
}
52
if (domake)
53
{
54
    caught = instance_create(obj_gerson_cane_bullet.x, obj_gerson_cane_bullet.y, obj_trigger_interact);
55
    with (caught)
56
    {
57
        
scr_sizeexact
scr_sizeexact

function
scr_sizeexact(arg0, arg1, arg2 = id)
{ with (arg2) { if (!sprite_exists(sprite_index)) { debug_message("Can't size, no sprite"); exit; } var _w = sprite_get_width(sprite_index); var _h = sprite_get_width(sprite_index); image_xscale = arg0 / _w; image_yscale = arg1 / _h; } }
(50, 36);
58
        talked = 0;
59
    }
60
}
61
with (caught)
62
{
63
    if (instance_exists(obj_gerson_cane_bullet))
64
        setxy(obj_gerson_cane_bullet.x - 20, obj_gerson_cane_bullet.y - 20);
65
    else
66
        instance_destroy();
67
    if (myinteract == 3 && global.interact == 0)
68
    {
69
        global.interact = 1;
70
        myinteract = 4;
71
        var str1 = "* (Thar she blows...)/%";
72
        var str2 = "* (It's going off to live a better life now...)/%";
73
        if (global.lang == "ja")
74
        {
75
            str1 = "* (いた…!)/%";
76
            str2 = "* (さようなら… どうか達者で…)/%";
77
        }
78
        
scr_speaker
scr_speaker

function
scr_speaker(arg0)
{ _speaker = arg0; global.typer = 5; if (global.darkzone == 1) global.typer = 6; if (global.fighting == 1) global.typer = 4; global.fc = 0; global.fe = 0; if (_speaker == "silent" && global.darkzone == 0) global.typer = 2; if (_speaker == "silent" && global.darkzone == 1) global.typer = 36; if (_speaker == "balloon" || _speaker == "enemy") global.typer = 50; if (_speaker == "sans") { global.typer = 14; global.fc = 6; } if (_speaker == "undyne" || _speaker == "und") { global.typer = 17; global.fc = 9; } if (_speaker == "temmie" || _speaker == "tem") global.typer = 21; if (_speaker == "jevil") global.typer = 35; if (_speaker == "catti") global.fc = 13; if (_speaker == "jockington" || _speaker == "joc") global.fc = 14; if (_speaker == "catty" || _speaker == "caddy") global.fc = 16; if (_speaker == "bratty" || _speaker == "bra") global.fc = 17; if (_speaker == "rouxls" || _speaker == "rou") global.fc = 18; if (_speaker == "burgerpants" || _speaker == "bur") global.fc = 19; if (_speaker == "spamton") { if (global.fighting == 0) global.typer = 66; else global.typer = 68; } if (_speaker == "sneo") global.typer = 67; if (_speaker == "gerson" || _speaker == "ger" || _speaker == "gers") global.typer = 85; if (_speaker == "susie" || _speaker == "sus") { global.fc = 1; global.typer = 10; if (global.darkzone == 1) { global.typer = 30; if (global.fighting == 1) global.typer = 47; } } if (_speaker == "ralsei" || _speaker == "ral") { global.fc = 2; global.typer = 31; if (global.fighting == 1) global.typer = 45; if (global.flag[30 ralsei_hat_state] == 1) global.typer = 6; } if (_speaker == "noelle" || _speaker == "noe") { global.fc = 3; if (global.darkzone == 0) global.typer = 12; else global.typer = 56; if (global.fighting == 1) global.typer = 59; } if (_speaker == "toriel" || _speaker == "tor") { global.fc = 4; global.typer = 7; } if (_speaker == "asgore" || _speaker == "asg") { global.fc = 10; global.typer = 18; } if (_speaker == "king" || _speaker == "kin") { global.fc = 20; global.typer = 33; if (global.chapter == 1) { if (global.plot < 235) global.typer = 36; ...
("no_name");
79
        if (talked == 0)
80
            msgset(0, str1);
81
        else
82
            msgset(0, str2);
83
        talked++;
84
        d_make();
85
    }
86
    if (myinteract == 4 && !d_ex())
87
    {
88
        global.interact = 0;
89
        myinteract = 0;
90
    }
91
    if (myinteract == 0 && y > (room_width + 40))
92
    {
93
        with (obj_gerson_cane_bullet)
94
            instance_destroy();
95
        instance_destroy();
96
    }
97
}