Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_caterpillarchara_Step_2

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

function
scr_debug()
{ if (global.debug == 1) return 1; }
())
2
{
3
}
4
if (!init)
5
{
6
    ignoredepth = 0;
7
    init = 1;
8
    if (name == "susie")
9
    {
10
        if (
scr_havechar
scr_havechar

function
scr_havechar(arg0)
{ var checker = arg0; if (checker == "susie" || checker == "su" || checker == "s") checker = 2; if (checker == "ralsei" || checker == "ra" || checker == "r") checker = 3; if (checker == "noelle" || checker == "no" || checker == "n") checker = 4; _rreturn = 0; if (global.char[0] == checker) _rreturn = 1; if (global.char[1] == checker) _rreturn = 1; if (global.char[2] == checker) _rreturn = 1; return _rreturn; }
("no") && global.darkzone == 0)
11
            target = 8;
12
        halign = (global.darkzone == 0) ? 3 : 6;
13
        valign = (global.darkzone == 0) ? 6 : 16;
14
    }
15
    if (name == "noelle")
16
    {
17
        usprite = (global.darkzone == 1) ? spr_noelle_walk_up_dw : spr_noelle_walk_up_lw;
18
        rsprite = (global.darkzone == 1) ? spr_noelle_walk_right_dw : spr_noelle_walk_right_lw;
19
        lsprite = (global.darkzone == 1) ? spr_noelle_walk_left_dw : spr_noelle_walk_left_lw;
20
        dsprite = (global.darkzone == 1) ? spr_noelle_walk_down_dw : spr_noelle_walk_down_lw;
21
        if (global.darkzone == 0)
22
            target = 
scr_havechar
scr_havechar

function
scr_havechar(arg0)
{ var checker = arg0; if (checker == "susie" || checker == "su" || checker == "s") checker = 2; if (checker == "ralsei" || checker == "ra" || checker == "r") checker = 3; if (checker == "noelle" || checker == "no" || checker == "n") checker = 4; _rreturn = 0; if (global.char[0] == checker) _rreturn = 1; if (global.char[1] == checker) _rreturn = 1; if (global.char[2] == checker) _rreturn = 1; return _rreturn; }
("su") ? 17 : 12;
23
        halign = (global.darkzone == 0) ? 2 : 4;
24
        valign = (global.darkzone == 0) ? 9 : 18;
25
    }
26
    if (name == "ralsei")
27
    {
28
        climbsprite = 4221;
29
        halign = 2;
30
        valign = 12;
31
    }
32
}
33
if (!ignoredepth)
34
{
35
    
scr_depth
scr_depth

function
scr_depth()
{ if (argument_count > 0) { with (argument0) depth = 100000 - ((y * 10) + (sprite_height * 10)); } else { depth = 100000 - ((y * 10) + (sprite_height * 10)); } }
();
36
    depth += 5;
37
    if (name == "ralsei")
38
        depth -= 80;
39
    if (name == "susie" && global.darkzone == 1)
40
        depth -= 60;
41
    if (name == "noelle")
42
        depth -= 5;
43
}
44
nowx = x;
45
nowy = y;
46
moved = 0;
47
walk = 0;
48
runmove = 0;
49
slided = 0;
50
if (obj_mainchara.x != remx[0])
51
    moved = 1;
52
if (obj_mainchara.y != remy[0])
53
    moved = 1;
54
if (sliding[target] == 1)
55
    moved = 1;
56
if (moved == 1 && follow == 1)
57
{
58
    blushtimer = 0;
59
    for (i = 75; i > 0; i -= 1)
60
    {
61
        remx[i] = remx[i - 1];
62
        remy[i] = remy[i - 1];
63
        facing[i] = facing[i - 1];
64
        sliding[i] = sliding[i - 1];
65
    }
66
    remx[0] = obj_mainchara.x;
67
    remy[0] = obj_mainchara.y;
68
    sliding[0] = obj_mainchara.sliding;
69
    facing[0] = global.facing;
70
    x = remx[target] - halign;
71
    y = remy[target] - valign;
72
    if (sliding[target] == 1)
73
    {
74
        x = remx[target];
75
        y = remy[target];
76
        sprite_index = slidesprite;
77
        slided = 1;
78
    }
79
    if (abs(remx[target + 1] - remx[target]) > 4)
80
        runmove = 1;
81
    if (abs(remy[target + 1] - remy[target]) > 4)
82
        runmove = 1;
83
    dir = facing[target];
84
}
85
if (x != nowx)
86
    walk = 1;
87
if (y != nowy)
88
    walk = 1;
89
if (walk == 1)
90
    walkbuffer = 6;
91
if (walkbuffer > 3 && fun == 0)
92
{
93
    walktimer += 1.5;
94
    if (runmove == 1)
95
        walktimer += 1.5;
96
    if (walktimer >= 40)
97
        walktimer -= 40;
98
    if (walktimer < 10)
99
        image_index = 0;
100
    if (walktimer >= 10)
101
        image_index = 1;
102
    if (walktimer >= 20)
103
        image_index = 2;
104
    if (walktimer >= 30)
105
        image_index = 3;
106
}
107
if (walkbuffer <= 0 && fun == 0)
108
{
109
    if (walktimer < 10)
110
        walktimer = 9.5;
111
    if (walktimer >= 10 && walktimer < 20)
112
        walktimer = 19.5;
113
    if (walktimer >= 20 && walktimer < 30)
114
        walktimer = 29.5;
115
    if (walktimer >= 30)
116
        walktimer = 39.5;
117
    image_index = 0;
118
}
119
walkbuffer -= 0.75;
120
if (fun == 0 && slided == 0)
121
{
122
    if (facing[target] == 0)
123
        sprite_index = dsprite;
124
    if (facing[target] == 1)
125
        sprite_index = rsprite;
126
    if (facing[target] == 2)
127
        sprite_index = usprite;
128
    if (facing[target] == 3)
129
        sprite_index = lsprite;
130
}
131
if ((dsprite == spr_ralseid || dsprite == spr_ralsei_walk_down) && global.interact == 0 && fun == 0)
132
{
133
    distfrommcx = obj_mainchara.x - (x + 2);
134
    distfrommcy = obj_mainchara.y - (y + 12);
135
    if (abs(distfrommcy) <= 14 && abs(distfrommcx) <= 20)
136
    {
137
        if (distfrommcx <= 0 && global.facing == 1)
138
            blushtimer += 1;
139
        if (distfrommcx >= 0 && global.facing == 3)
140
            blushtimer += 1;
141
    }
142
    else
143
    {
144
        blushtimer = 0;
145
    }
146
    if (blushtimer >= 300)
147
    {
148
        if (sprite_index == dsprite)
149
            sprite_index = dsprite_blush;
150
        if (sprite_index == rsprite)
151
            sprite_index = rsprite_blush;
152
        if (sprite_index == usprite)
153
            sprite_index = usprite_blush;
154
        if (sprite_index == lsprite)
155
            sprite_index = lsprite_blush;
156
    }
157
}
158
else
159
{
160
    blushtimer = 0;
161
}
162
if (name == "ralsei")
163
{
164
    if (sprite_index == dsprite)
165
        depth += 20;
166
}