Deltarune (Chapter 2) script viewer

← back to main script listing

gml_Object_obj_caterpillarchara_Step_2

(view raw script w/o annotations or w/e)
1
if (!init)
2
{
3
    ignoredepth = 0;
4
    init = 1;
5
}
6
if (!ignoredepth)
7
{
8
    
scr_depth
scr_depth

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