Undertale script viewer

← back to main script listing

gml_Object_obj_shopkeeper_catty_Draw_0

(view raw script w/o annotations or w/e)
1
with (obj_shop3)
2
{
3
    if (instance_exists(cattywriter) && obj_shopkeeper_catty.face == 0)
4
    {
5
        if (cattywriter.halt == 0)
6
            obj_shopkeeper_catty.banim += 0.334;
7
        else
8
            obj_shopkeeper_catty.banim = 0;
9
    }
10
    else
11
    {
12
        obj_shopkeeper_catty.banim = 0;
13
    }
14
}
15
draw_sprite(sprite_index, banim, x + floor(bxx), y + floor(byy));
16
if (face > 0)
17
    draw_sprite(spr_cattyface, face, x + 34 + floor(bxx), y + 17 + floor(byy));
18
armexp = global.faceemotion;
19
if (armexp == 0)
20
{
21
    face = 0;
22
    idealarmx1 = x + 60;
23
    idealarmy1 = 130;
24
    idealarmx2 = x + 40;
25
    idealarmy2 = 130;
26
    yadjust = 10;
27
    xadjust = 2;
28
    if (abs(xx) > 0.1)
29
        xx /= 1.5;
30
    if (abs(yy) > 0.1)
31
        yy /= 1.5;
32
    if (abs(xx) < 0.1 && abs(yy) < 0.1)
33
        armsiner = 0;
34
    if (abs(bxx) > 0.1)
35
        bxx /= 1.5;
36
    if (abs(byy) > 0.1)
37
        byy /= 1.5;
38
}
39
if (armexp == 1)
40
{
41
    face = 1;
42
    arm = 1;
43
    idealarmx1 = x + 57;
44
    idealarmy1 = y + 50;
45
    idealarmy2 = y + 50;
46
    idealarmx2 = x + 50;
47
    armsiner += 1;
48
    byy = sin(armsiner) * 1.5;
49
    yy = cos(armsiner) * 1.5;
50
}
51
if (armexp == 2)
52
{
53
    face = 6;
54
    arm = 1;
55
    idealarmx1 = x + 60;
56
    idealarmy1 = y + 50;
57
    idealarmx2 = x + 50;
58
    idealarmy2 = y + 50;
59
    armsiner += 1;
60
    xx = sin(armsiner / 3) * 5;
61
    yy = abs(sin(armsiner / 3) * 4);
62
    bxx = -sin(armsiner / 3) * 3;
63
}
64
if (armexp == 3)
65
{
66
    face = 0;
67
    arm = 0;
68
    yadjust = 5;
69
    idealarmx1 = x + 70;
70
    idealarmy1 = y + 60;
71
    idealarmx2 = x + 40;
72
    idealarmy2 = y + 60;
73
    armsiner += 1;
74
    xx = sin(armsiner / 4) * 1;
75
    yy = cos(armsiner / 4) * 1;
76
}
77
if (armexp == 4)
78
{
79
    face = 1;
80
    arm = 2;
81
    idealarmx1 = x + 60;
82
    idealarmy1 = y + 50;
83
    idealarmy2 = 130;
84
    armsiner += 1;
85
    xx = sin(armsiner / 2) * 4;
86
    yy = cos(armsiner / 2) * 4;
87
}
88
if (armexp == 5)
89
{
90
    face = 3;
91
    arm = 1;
92
    xadjust = 6;
93
    idealarmx1 = x + 45;
94
    idealarmy1 = y + 48;
95
    idealarmx2 = x + 65;
96
    idealarmy2 = 130;
97
    if (abs(xx) > 0.1)
98
        xx /= 1.5;
99
    if (abs(yy) > 0.1)
100
        yy /= 1.5;
101
    if (abs(bxx) > 0.1)
102
        bxx /= 1.5;
103
    if (abs(byy) > 0.1)
104
        byy /= 1.5;
105
}
106
if (armexp == 6)
107
{
108
    face = 7;
109
    arm = 2;
110
    idealarmx1 = x + 48;
111
    idealarmy1 = y + 56;
112
    idealarmx2 = x + 62;
113
    idealarmy2 = y + 50;
114
    armsiner += 1;
115
    xx = sin(armsiner / 3) * 4;
116
    yy = cos(armsiner / 3) * 1;
117
}
118
if (armexp == 7)
119
{
120
    face = 5;
121
    idealarmx1 = x + 60;
122
    idealarmy1 = 130;
123
    idealarmx2 = x + 40;
124
    idealarmy2 = 130;
125
    yadjust = 10;
126
    xadjust = 2;
127
    if (abs(xx) > 0.1)
128
        xx /= 1.5;
129
    if (abs(yy) > 0.1)
130
        yy /= 1.5;
131
    if (abs(xx) < 0.1 && abs(yy) < 0.1)
132
        armsiner = 0;
133
    if (abs(bxx) > 0.1)
134
        bxx /= 1.5;
135
    if (abs(byy) > 0.1)
136
        byy /= 1.5;
137
}
138
if (armexp == 8)
139
{
140
    face = 2;
141
    idealarmx1 = x + 60;
142
    idealarmy1 = 130;
143
    idealarmx2 = x + 40;
144
    idealarmy2 = 130;
145
    yadjust = 10;
146
    xadjust = 2;
147
    if (abs(xx) > 0.1)
148
        xx /= 1.5;
149
    if (abs(yy) > 0.1)
150
        yy /= 1.5;
151
    if (abs(xx) < 0.1 && abs(yy) < 0.1)
152
        armsiner = 0;
153
    if (abs(bxx) > 0.1)
154
        bxx /= 1.5;
155
    if (abs(byy) > 0.1)
156
        byy /= 1.5;
157
}
158
draw_sprite(spr_catarm, arm, armx1 + xx, army1 + yy);
159
draw_sprite_ext(spr_catarm, arm, armx2 + xx, army2 + yy, -1, 1, 0, c_white, 1);
160
if (armx1 < idealarmx1)
161
    armx1 += xadjust;
162
if (armx1 > idealarmx1)
163
    armx1 -= xadjust;
164
if (armx2 < idealarmx2)
165
    armx2 += xadjust;
166
if (armx2 > idealarmx2)
167
    armx2 -= xadjust;
168
if (army1 < idealarmy1)
169
    army1 += yadjust;
170
if (army2 < idealarmy2)
171
    army2 += yadjust;
172
if (army1 > idealarmy1)
173
    army1 -= yadjust;
174
if (army2 > idealarmy2)
175
    army2 -= yadjust;
176
if (abs(armx1 - idealarmx1) < xadjust)
177
    armx1 = idealarmx1;
178
if (abs(armx2 - idealarmx2) < xadjust)
179
    armx2 = idealarmx2;
180
if (abs(army1 - idealarmy1) < yadjust)
181
    army1 = idealarmy1;
182
if (abs(army2 - idealarmy2) < yadjust)
183
    army2 = idealarmy2;
184
if (global.debug == 1)
185
{
186
    if (keyboard_check_pressed(vk_space))
187
    {
188
        armexp += 1;
189
        if (armexp == 9)
190
            armexp = 0;
191
    }
192
}