Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_rotating_tower_controller_Other_20

(view raw script w/o annotations or w/e)
1
var blend = c_white;
2
var columnsize = 1;
3
ladder_index = 4;
4
xx = 0;
5
vis = false;
6
towerback = false;
7
piecemaxdistance = 70;
8
if (wide_tower)
9
    piecemaxdistance = 100;
10
if (wide_tower == false)
11
{
12
    vis = true;
13
    if (ii == 0)
14
    {
15
        if (tower_angle >= 350 && tower_angle < 357)
16
            ladder_index = 0;
17
        else if (tower_angle >= 357 || tower_angle < 12)
18
            ladder_index = 1;
19
        else if (tower_angle >= 12 && tower_angle < 20)
20
            ladder_index = 2;
21
        else if (tower_angle >= 20 && tower_angle < 65)
22
            ladder_index = 3;
23
        else if (tower_angle >= 65 && tower_angle < 115)
24
            ladder_index = 4;
25
        else if (tower_angle >= 115 && tower_angle < 160)
26
            ladder_index = 5;
27
        else if (tower_angle >= 160 && tower_angle < 168)
28
            ladder_index = 6;
29
        else if (tower_angle >= 168 && tower_angle < 183)
30
            ladder_index = 7;
31
        else if (tower_angle >= 183 && tower_angle < 190)
32
            ladder_index = 8;
33
        else
34
            ladder_index = 9;
35
        if (tower_angle >= 350)
36
            xx = lerp(piecemaxdistance * -1, 0, (tower_angle - 350) / 100);
37
        if (tower_angle < 90)
38
            xx = lerp(piecemaxdistance * -1, 0, (10 + tower_angle) / 100);
39
        if (tower_angle >= 90 && tower_angle < 190)
40
            xx = lerp(0, piecemaxdistance, (tower_angle - 90) / 100);
41
    }
42
    if (ii == 1)
43
    {
44
        if (tower_angle >= 35 && tower_angle < 42)
45
            ladder_index = 0;
46
        else if (tower_angle >= 42 && tower_angle < 57)
47
            ladder_index = 1;
48
        else if (tower_angle >= 57 && tower_angle < 65)
49
            ladder_index = 2;
50
        else if (tower_angle >= 65 && tower_angle < 110)
51
            ladder_index = 3;
52
        else if (tower_angle >= 110 && tower_angle < 160)
53
            ladder_index = 4;
54
        else if (tower_angle >= 160 && tower_angle < 205)
55
            ladder_index = 5;
56
        else if (tower_angle >= 205 && tower_angle < 213)
57
            ladder_index = 6;
58
        else if (tower_angle >= 213 && tower_angle < 228)
59
            ladder_index = 7;
60
        else if (tower_angle >= 228 && tower_angle < 235)
61
            ladder_index = 8;
62
        else
63
            ladder_index = 9;
64
        if (tower_angle >= 35 && tower_angle < 135)
65
            xx = lerp(piecemaxdistance * -1, 0, (tower_angle - 35) / 100);
66
        if (tower_angle >= 135 && tower_angle < 235)
67
            xx = lerp(0, piecemaxdistance, (tower_angle - 135) / 100);
68
    }
69
    if (ii == 2)
70
    {
71
        if (tower_angle >= 80 && tower_angle < 87)
72
            ladder_index = 0;
73
        else if (tower_angle >= 87 && tower_angle < 102)
74
            ladder_index = 1;
75
        else if (tower_angle >= 102 && tower_angle < 110)
76
            ladder_index = 2;
77
        else if (tower_angle >= 110 && tower_angle < 155)
78
            ladder_index = 3;
79
        else if (tower_angle >= 155 && tower_angle < 205)
80
            ladder_index = 4;
81
        else if (tower_angle >= 205 && tower_angle < 250)
82
            ladder_index = 5;
83
        else if (tower_angle >= 250 && tower_angle < 258)
84
            ladder_index = 6;
85
        else if (tower_angle >= 258 && tower_angle < 273)
86
            ladder_index = 7;
87
        else if (tower_angle >= 273 && tower_angle < 280)
88
            ladder_index = 8;
89
        else
90
            ladder_index = 9;
91
        if (tower_angle >= 80 && tower_angle < 180)
92
            xx = lerp(piecemaxdistance * -1, 0, (tower_angle - 80) / 100);
93
        if (tower_angle >= 180 && tower_angle < 280)
94
            xx = lerp(0, piecemaxdistance, (tower_angle - 180) / 100);
95
    }
96
    if (ii == 3)
97
    {
98
        if (tower_angle >= 125 && tower_angle < 132)
99
            ladder_index = 0;
100
        else if (tower_angle >= 132 && tower_angle < 147)
101
            ladder_index = 1;
102
        else if (tower_angle >= 147 && tower_angle < 155)
103
            ladder_index = 2;
104
        else if (tower_angle >= 155 && tower_angle < 200)
105
            ladder_index = 3;
106
        else if (tower_angle >= 200 && tower_angle < 250)
107
            ladder_index = 4;
108
        else if (tower_angle >= 250 && tower_angle < 295)
109
            ladder_index = 5;
110
        else if (tower_angle >= 295 && tower_angle < 303)
111
            ladder_index = 6;
112
        else if (tower_angle >= 303 && tower_angle < 318)
113
            ladder_index = 7;
114
        else if (tower_angle >= 318 && tower_angle < 325)
115
            ladder_index = 8;
116
        else
117
            ladder_index = 9;
118
        if (tower_angle >= 125 && tower_angle < 225)
119
            xx = lerp(piecemaxdistance * -1, 0, (tower_angle - 125) / 100);
120
        if (tower_angle >= 225 && tower_angle < 325)
121
            xx = lerp(0, piecemaxdistance, (tower_angle - 225) / 100);
122
    }
123
    if (ii == 4)
124
    {
125
        if (tower_angle >= 170 && tower_angle < 177)
126
            ladder_index = 0;
127
        else if (tower_angle >= 177 && tower_angle < 192)
128
            ladder_index = 1;
129
        else if (tower_angle >= 192 && tower_angle < 200)
130
            ladder_index = 2;
131
        else if (tower_angle >= 200 && tower_angle < 245)
132
            ladder_index = 3;
133
        else if (tower_angle >= 245 && tower_angle < 295)
134
            ladder_index = 4;
135
        else if (tower_angle >= 295 && tower_angle < 340)
136
            ladder_index = 5;
137
        else if (tower_angle >= 340 && tower_angle < 348)
138
            ladder_index = 6;
139
        else if (tower_angle >= 348 || tower_angle < 3)
140
            ladder_index = 7;
141
        else if (tower_angle >= 3 && tower_angle < 10)
142
            ladder_index = 8;
143
        else
144
            ladder_index = 9;
145
        if (tower_angle >= 170 && tower_angle < 270)
146
            xx = lerp(piecemaxdistance * -1, 0, (tower_angle - 170) / 100);
147
        if (tower_angle >= 270)
148
            xx = lerp(0, piecemaxdistance, (tower_angle - 270) / 100);
149
        if (tower_angle <= 10)
150
            xx = lerp(0, piecemaxdistance, (90 + tower_angle) / 100);
151
    }
152
    if (ii == 5)
153
    {
154
        if (tower_angle >= 215 && tower_angle < 222)
155
            ladder_index = 0;
156
        else if (tower_angle >= 222 && tower_angle < 237)
157
            ladder_index = 1;
158
        else if (tower_angle >= 237 && tower_angle < 245)
159
            ladder_index = 2;
160
        else if (tower_angle >= 245 && tower_angle < 290)
161
            ladder_index = 3;
162
        else if (tower_angle >= 290 && tower_angle < 340)
163
            ladder_index = 4;
164
        else if (tower_angle >= 340 || tower_angle < 25)
165
            ladder_index = 5;
166
        else if (tower_angle >= 25 && tower_angle < 33)
167
            ladder_index = 6;
168
        else if (tower_angle >= 33 && tower_angle < 48)
169
            ladder_index = 7;
170
        else if (tower_angle >= 48 && tower_angle < 55)
171
            ladder_index = 8;
172
        else
173
            ladder_index = 9;
174
        if (tower_angle >= 215 && tower_angle < 315)
175
            xx = lerp(piecemaxdistance * -1, 0, (tower_angle - 215) / 100);
176
        if (tower_angle >= 315)
177
            xx = lerp(0, piecemaxdistance, (tower_angle - 315) / 100);
178
        if (tower_angle <= 55)
179
            xx = lerp(0, piecemaxdistance, (45 + tower_angle) / 100);
180
    }
181
    if (ii == 6)
182
    {
183
        if (tower_angle >= 260 && tower_angle < 266)
184
            ladder_index = 0;
185
        else if (tower_angle >= 267 && tower_angle < 282)
186
            ladder_index = 1;
187
        else if (tower_angle >= 282 && tower_angle < 290)
188
            ladder_index = 2;
189
        else if (tower_angle >= 290 && tower_angle < 335)
190
            ladder_index = 3;
191
        else if (tower_angle >= 335 || tower_angle < 25)
192
            ladder_index = 4;
193
        else if (tower_angle >= 25 && tower_angle < 70)
194
            ladder_index = 5;
195
        else if (tower_angle >= 70 && tower_angle < 78)
196
            ladder_index = 6;
197
        else if (tower_angle >= 78 && tower_angle < 93)
198
            ladder_index = 7;
199
        else if (tower_angle >= 93 && tower_angle < 100)
200
            ladder_index = 8;
201
        else
202
            ladder_index = 9;
203
        if (tower_angle >= 260)
204
            xx = lerp(piecemaxdistance * -1, 0, (tower_angle - 260) / 100);
205
        if (tower_angle < 100)
206
            xx = lerp(0, piecemaxdistance, tower_angle / 100);
207
    }
208
    if (ii == 7)
209
    {
210
        if (tower_angle >= 305 && tower_angle < 312)
211
            ladder_index = 0;
212
        else if (tower_angle >= 312 && tower_angle < 327)
213
            ladder_index = 1;
214
        else if (tower_angle >= 327 && tower_angle < 335)
215
            ladder_index = 2;
216
        else if (tower_angle >= 335 || tower_angle < 20)
217
            ladder_index = 3;
218
        else if (tower_angle >= 20 && tower_angle < 70)
219
            ladder_index = 4;
220
        else if (tower_angle >= 70 && tower_angle < 115)
221
            ladder_index = 5;
222
        else if (tower_angle >= 115 && tower_angle < 123)
223
            ladder_index = 6;
224
        else if (tower_angle >= 123 && tower_angle < 138)
225
            ladder_index = 7;
226
        else if (tower_angle >= 138 && tower_angle < 145)
227
            ladder_index = 8;
228
        else
229
            ladder_index = 9;
230
        if (tower_angle >= 305)
231
            xx = lerp(piecemaxdistance * -1, 0, (tower_angle - 305) / 100);
232
        if (tower_angle < 45)
233
            xx = lerp(piecemaxdistance * -1, 0, (45 + tower_angle) / 100);
234
        if (tower_angle >= 45 && tower_angle < 145)
235
            xx = lerp(0, piecemaxdistance, (tower_angle - 45) / 100);
236
    }
237
}
238
if (wide_tower == true)
239
{
240
    vis = true;
241
    _tower_angle = tower_angle;
242
    _tower_x_origin = 320 + tower_xoffset[i];
243
    if (tower_object[i][ii] == 4 && tower_eyeoffset[i] > 0 && eyecalculate == 1)
244
    {
245
        tower_eyeoffset[i] += 2;
246
        if (tower_eyeoffset[i] >= 360)
247
            tower_eyeoffset[i] -= 360;
248
        _tower_angle = tower_angle + tower_eyeoffset[i];
249
        if (_tower_angle >= 360)
250
            _tower_angle -= 360;
251
    }
252
    if (ii == 0)
253
    {
254
        if (!wide_tower)
255
        {
256
            if (_tower_angle >= 350)
257
                xx = lerp(piecemaxdistance * -1, 0, (_tower_angle - 350) / 100);
258
            if (_tower_angle < 90)
259
                xx = lerp(piecemaxdistance * -1, 0, (10 + _tower_angle) / 100);
260
            if (_tower_angle >= 90 && _tower_angle < 190)
261
                xx = lerp(0, piecemaxdistance, (_tower_angle - 90) / 100);
262
        }
263
        else
264
        {
265
            var x_fix = 4;
266
            if (_tower_angle > 120)
267
                x_fix = 0;
268
            if (_tower_angle >= 350)
269
                xx = lerp(piecemaxdistance * -1, 0, 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
((_tower_angle - 350) / 100, columnsize)) + x_fix;
270
            if (_tower_angle < 90)
271
                xx = lerp(piecemaxdistance * -1, 0, 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
((10 + tower_angle) / 100, columnsize)) + x_fix;
272
            if (_tower_angle >= 90 && _tower_angle < 190)
273
                xx = lerp(0, piecemaxdistance, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
((_tower_angle - 90) / 100, columnsize)) + x_fix;
274
        }
275
        if (_tower_angle >= 190 && _tower_angle < 350)
276
        {
277
            vis = false;
278
            _vis[i][0] = false;
279
            towerback = true;
280
            if (_tower_angle > 190 && _tower_angle < 270)
281
                xx = lerp(piecemaxdistance, 0, 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
((_tower_angle - 190) / 80, columnsize));
282
            if (_tower_angle > 270 && _tower_angle < 350)
283
                xx = lerp(0, piecemaxdistance * -1, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
((_tower_angle - 270) / 80, columnsize));
284
            if (_tower_angle >= 331 && _tower_angle < 350)
285
                mathtype[i][0] = 1;
286
            else
287
                mathtype[i][0] = 0;
288
        }
289
        else
290
        {
291
            _vis[i][0] = true;
292
        }
293
        _x[i][0] = xx;
294
    }
295
    if (ii == 1)
296
    {
297
        if (!wide_tower)
298
        {
299
            if (_tower_angle >= 25 && _tower_angle < 125)
300
                xx = lerp(piecemaxdistance * -1, 0, (_tower_angle - 25) / 100);
301
            if (_tower_angle >= 125 && _tower_angle < 225)
302
                xx = lerp(0, piecemaxdistance, (_tower_angle - 125) / 100);
303
        }
304
        else
305
        {
306
            if (_tower_angle >= 25 && _tower_angle < 125)
307
                xx = lerp(piecemaxdistance * -1, 0, 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
((_tower_angle - 25) / 100, columnsize));
308
            if (_tower_angle >= 125 && _tower_angle < 225)
309
                xx = lerp(0, piecemaxdistance, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
((_tower_angle - 125) / 100, columnsize));
310
        }
311
        if (_tower_angle >= 225 || _tower_angle < 25)
312
        {
313
            vis = false;
314
            _vis[i][1] = false;
315
            towerback = true;
316
            if (_tower_angle >= 225 && _tower_angle < 305)
317
                xx = lerp(piecemaxdistance, 0, 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
((_tower_angle - 225) / 80, columnsize));
318
            if (_tower_angle >= 305)
319
                xx = lerp(0, piecemaxdistance * -1, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
((_tower_angle - 305) / 80, columnsize));
320
            if (_tower_angle < 25)
321
                xx = lerp(0, piecemaxdistance * -1, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
((_tower_angle + 55) / 80, columnsize));
322
            if (_tower_angle >= 10 && _tower_angle < 25)
323
                mathtype[i][1] = 1;
324
            else
325
                mathtype[i][1] = 0;
326
        }
327
        else
328
        {
329
            _vis[i][1] = true;
330
        }
331
        if (i == 489)
332
        {
333
            show_debug_message("here a");
334
            show_debug_message(xx);
335
        }
336
        _x[i][1] = xx;
337
    }
338
    if (ii == 2)
339
    {
340
        if (!wide_tower)
341
        {
342
            if (_tower_angle >= 60 && _tower_angle < 160)
343
                xx = lerp(piecemaxdistance * -1, 0, (_tower_angle - 60) / 100);
344
            if (_tower_angle >= 160 && _tower_angle < 260)
345
                xx = lerp(0, piecemaxdistance, (_tower_angle - 160) / 100);
346
        }
347
        else
348
        {
349
            if (_tower_angle >= 60 && _tower_angle < 160)
350
                xx = lerp(piecemaxdistance * -1, 0, 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
((_tower_angle - 60) / 100, columnsize));
351
            if (_tower_angle >= 160 && _tower_angle < 260)
352
                xx = lerp(0, piecemaxdistance, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
((_tower_angle - 160) / 100, columnsize));
353
        }
354
        if (_tower_angle >= 260 || _tower_angle < 60)
355
        {
356
            vis = false;
357
            _vis[i][2] = false;
358
            towerback = true;
359
            if (_tower_angle >= 260 && _tower_angle < 340)
360
                xx = lerp(piecemaxdistance, 0, 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
((_tower_angle - 260) / 80, columnsize));
361
            if (_tower_angle >= 340 && _tower_angle <= 360)
362
                xx = lerp(0, piecemaxdistance * -1, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
((_tower_angle - 340) / 80, columnsize));
363
            if (_tower_angle <= 60)
364
                xx = lerp(0, piecemaxdistance * -1, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
((_tower_angle + 20) / 80, columnsize));
365
            if (_tower_angle >= 45 && _tower_angle < 60)
366
                mathtype[i][2] = 1;
367
            else
368
                mathtype[i][2] = 0;
369
        }
370
        else
371
        {
372
            _vis[i][2] = true;
373
        }
374
        _x[i][2] = xx;
375
    }
376
    if (ii == 3)
377
    {
378
        if (!wide_tower)
379
        {
380
            if (_tower_angle >= 95 && _tower_angle < 195)
381
                xx = lerp(piecemaxdistance * -1, 0, (_tower_angle - 95) / 100);
382
            if (_tower_angle >= 195 && _tower_angle < 295)
383
                xx = lerp(0, piecemaxdistance, (_tower_angle - 195) / 100);
384
        }
385
        else
386
        {
387
            if (_tower_angle >= 95 && _tower_angle < 195)
388
                xx = lerp(piecemaxdistance * -1, 0, 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
((_tower_angle - 95) / 100, columnsize));
389
            if (_tower_angle >= 195 && _tower_angle < 295)
390
                xx = lerp(0, piecemaxdistance, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
((_tower_angle - 195) / 100, columnsize));
391
        }
392
        if (_tower_angle >= 295 || _tower_angle < 95)
393
        {
394
            vis = false;
395
            _vis[i][3] = false;
396
            towerback = true;
397
            if (_tower_angle >= 295 && _tower_angle <= 360)
398
                xx = lerp(piecemaxdistance, 0, 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
((_tower_angle - 295) / 80, columnsize));
399
            if (_tower_angle < 15)
400
                xx = lerp(piecemaxdistance, 0, 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
((_tower_angle + 65) / 80, columnsize));
401
            if (_tower_angle >= 15 && _tower_angle < 95)
402
                xx = lerp(0, piecemaxdistance * -1, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
((_tower_angle - 15) / 80, columnsize));
403
            if (_tower_angle >= 80 && _tower_angle < 95)
404
                mathtype[i][3] = 1;
405
            else
406
                mathtype[i][3] = 0;
407
        }
408
        else
409
        {
410
            _vis[i][3] = true;
411
        }
412
        _x[i][3] = xx;
413
    }
414
    if (ii == 4)
415
    {
416
        if (!wide_tower)
417
        {
418
            if (_tower_angle >= 130 && _tower_angle < 230)
419
                xx = lerp(piecemaxdistance * -1, 0, (_tower_angle - 130) / 100);
420
            if (_tower_angle >= 230 && _tower_angle < 330)
421
                xx = lerp(0, piecemaxdistance, (_tower_angle - 230) / 100);
422
        }
423
        else
424
        {
425
            if (_tower_angle >= 130 && _tower_angle < 230)
426
                xx = lerp(piecemaxdistance * -1, 0, 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
((_tower_angle - 130) / 100, columnsize));
427
            if (_tower_angle >= 230 && _tower_angle < 330)
428
                xx = lerp(0, piecemaxdistance, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
((_tower_angle - 230) / 100, columnsize));
429
        }
430
        if (_tower_angle >= 330 || _tower_angle < 130)
431
        {
432
            vis = false;
433
            _vis[i][4] = false;
434
            towerback = true;
435
            if (_tower_angle >= 330 && _tower_angle <= 360)
436
                xx = lerp(piecemaxdistance, 0, 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
((_tower_angle - 330) / 80, columnsize));
437
            if (_tower_angle >= 0 && _tower_angle <= 50)
438
                xx = lerp(piecemaxdistance, 0, 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
((_tower_angle + 30) / 80, columnsize));
439
            if (_tower_angle >= 50 && _tower_angle < 130)
440
                xx = lerp(0, piecemaxdistance * -1, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
((_tower_angle - 50) / 80, columnsize));
441
            if (_tower_angle >= 115 && _tower_angle < 130)
442
                mathtype[i][4] = 1;
443
            else
444
                mathtype[i][4] = 0;
445
        }
446
        else
447
        {
448
            _vis[i][4] = true;
449
        }
450
        _x[i][4] = xx;
451
    }
452
    if (ii == 5)
453
    {
454
        if (!wide_tower)
455
        {
456
            if (_tower_angle >= 165 && _tower_angle < 265)
457
                xx = lerp(piecemaxdistance * -1, 0, (_tower_angle - 165) / 100);
458
            if (_tower_angle >= 265)
459
                xx = lerp(0, piecemaxdistance, (_tower_angle - 265) / 100);
460
            if (_tower_angle <= 5)
461
                xx = lerp(0, piecemaxdistance, (95 + _tower_angle) / 100);
462
        }
463
        else
464
        {
465
            if (_tower_angle >= 165 && _tower_angle < 265)
466
                xx = lerp(piecemaxdistance * -1, 0, 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
((_tower_angle - 165) / 100, columnsize));
467
            if (_tower_angle >= 265)
468
                xx = lerp(0, piecemaxdistance, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
((_tower_angle - 265) / 100, columnsize));
469
            if (_tower_angle <= 5)
470
                xx = lerp(0, piecemaxdistance, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
((95 + _tower_angle) / 100, columnsize));
471
        }
472
        if (_tower_angle > 5 && _tower_angle < 165)
473
        {
474
            vis = false;
475
            _vis[i][5] = false;
476
            towerback = true;
477
            if (_tower_angle >= 5 && _tower_angle < 85)
478
                xx = lerp(piecemaxdistance, 0, 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
((_tower_angle - 5) / 80, columnsize));
479
            if (_tower_angle >= 85 && _tower_angle < 165)
480
                xx = lerp(0, piecemaxdistance * -1, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
((_tower_angle - 85) / 80, columnsize));
481
            if (_tower_angle >= 150 && _tower_angle < 165)
482
                mathtype[i][5] = 1;
483
            else
484
                mathtype[i][5] = 0;
485
        }
486
        else
487
        {
488
            _vis[i][5] = true;
489
        }
490
        _x[i][5] = xx;
491
    }
492
    if (ii == 6)
493
    {
494
        if (!wide_tower)
495
        {
496
            if (_tower_angle >= 200 && _tower_angle < 300)
497
                xx = lerp(piecemaxdistance * -1, 0, (_tower_angle - 200) / 100);
498
            if (_tower_angle >= 300)
499
                xx = lerp(0, piecemaxdistance, (_tower_angle - 300) / 100);
500
            if (_tower_angle <= 40)
501
                xx = lerp(0, piecemaxdistance, (60 + _tower_angle) / 100);
502
        }
503
        else
504
        {
505
            if (_tower_angle >= 200 && _tower_angle < 300)
506
                xx = lerp(piecemaxdistance * -1, 0, 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
((_tower_angle - 200) / 100, columnsize));
507
            if (_tower_angle >= 300)
508
                xx = lerp(0, piecemaxdistance, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
((_tower_angle - 300) / 100, columnsize));
509
            if (_tower_angle <= 40)
510
                xx = lerp(0, piecemaxdistance, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
((60 + _tower_angle) / 100, columnsize));
511
        }
512
        if (_tower_angle > 40 && _tower_angle < 200)
513
        {
514
            vis = false;
515
            _vis[i][6] = false;
516
            towerback = true;
517
            if (_tower_angle >= 40 && _tower_angle < 120)
518
                xx = lerp(piecemaxdistance, 0, 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
((_tower_angle - 40) / 80, columnsize));
519
            if (_tower_angle >= 120 && _tower_angle < 200)
520
                xx = lerp(0, piecemaxdistance * -1, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
((_tower_angle - 120) / 80, columnsize));
521
            if (_tower_angle >= 185 && _tower_angle < 200)
522
                mathtype[i][6] = 1;
523
            else
524
                mathtype[i][6] = 0;
525
        }
526
        else
527
        {
528
            _vis[i][6] = true;
529
        }
530
        _x[i][6] = xx;
531
    }
532
    if (ii == 7)
533
    {
534
        if (!wide_tower)
535
        {
536
            if (_tower_angle >= 235 && _tower_angle < 335)
537
                xx = lerp(piecemaxdistance * -1, 0, (_tower_angle - 235) / 100);
538
            if (_tower_angle >= 335)
539
                xx = lerp(0, piecemaxdistance, (_tower_angle - 335) / 100);
540
            if (_tower_angle <= 75)
541
                xx = lerp(0, piecemaxdistance, (25 + _tower_angle) / 100);
542
        }
543
        else
544
        {
545
            if (_tower_angle >= 235 && _tower_angle < 335)
546
                xx = lerp(piecemaxdistance * -1, 0, 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
((_tower_angle - 235) / 100, columnsize));
547
            if (_tower_angle >= 335)
548
                xx = lerp(0, piecemaxdistance, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
((_tower_angle - 335) / 100, columnsize));
549
            if (_tower_angle <= 75)
550
                xx = lerp(0, piecemaxdistance, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
((25 + _tower_angle) / 100, columnsize));
551
        }
552
        if (_tower_angle > 75 && _tower_angle < 235)
553
        {
554
            vis = false;
555
            _vis[i][7] = false;
556
            towerback = true;
557
            if (_tower_angle >= 75 && _tower_angle < 155)
558
                xx = lerp(piecemaxdistance, 0, 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
((_tower_angle - 75) / 80, columnsize));
559
            if (_tower_angle >= 155 && _tower_angle < 235)
560
                xx = lerp(0, piecemaxdistance * -1, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
((_tower_angle - 155) / 80, columnsize));
561
            if (_tower_angle >= 220 && _tower_angle < 235)
562
                mathtype[i][7] = 1;
563
            else
564
                mathtype[i][7] = 0;
565
        }
566
        else
567
        {
568
            _vis[i][7] = true;
569
        }
570
        _x[i][7] = xx;
571
    }
572
    if (ii == 8)
573
    {
574
        if (!wide_tower)
575
        {
576
            if (_tower_angle >= 270)
577
                xx = lerp(piecemaxdistance * -1, 0, (_tower_angle - 270) / 100);
578
            if (_tower_angle <= 10)
579
                xx = lerp(0, piecemaxdistance, (_tower_angle - 10) / 100);
580
            if (_tower_angle >= 10 && _tower_angle <= 110)
581
                xx = lerp(0, piecemaxdistance, (_tower_angle - 10) / 100);
582
        }
583
        else
584
        {
585
            if (_tower_angle >= 270)
586
                xx = lerp(piecemaxdistance * -1, 0, 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
((_tower_angle - 270) / 100, columnsize));
587
            if (_tower_angle <= 10)
588
                xx = lerp(0, piecemaxdistance, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
((_tower_angle - 10) / 100, columnsize));
589
            if (_tower_angle >= 10 && _tower_angle <= 110)
590
                xx = lerp(0, piecemaxdistance, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
((_tower_angle - 10) / 100, columnsize));
591
        }
592
        if (_tower_angle > 110 && _tower_angle < 270)
593
        {
594
            vis = false;
595
            _vis[i][8] = false;
596
            towerback = true;
597
            if (_tower_angle >= 110 && _tower_angle < 190)
598
                xx = lerp(piecemaxdistance, 0, 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
((_tower_angle - 110) / 80, columnsize));
599
            if (_tower_angle >= 190 && _tower_angle < 270)
600
                xx = lerp(0, piecemaxdistance * -1, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
((_tower_angle - 190) / 80, columnsize));
601
            if (_tower_angle >= 255 && _tower_angle < 270)
602
                mathtype[i][8] = 1;
603
            else
604
                mathtype[i][8] = 0;
605
        }
606
        else
607
        {
608
            _vis[i][8] = true;
609
        }
610
        _x[i][8] = xx;
611
    }
612
    if (ii == 9)
613
    {
614
        if (!wide_tower)
615
        {
616
            if (_tower_angle >= 305)
617
                xx = lerp(piecemaxdistance * -1, 0, (_tower_angle - 305) / 100);
618
            if (_tower_angle <= 45)
619
                xx = lerp(0, piecemaxdistance, (_tower_angle - 45) / 100);
620
            if (_tower_angle >= 45 && _tower_angle <= 145)
621
                xx = lerp(0, piecemaxdistance, (_tower_angle - 45) / 100);
622
        }
623
        else
624
        {
625
            var x_fix = 0;
626
            if (_tower_angle >= 305)
627
                xx = lerp(piecemaxdistance * -1, 0, 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
((_tower_angle - 305) / 100, columnsize)) - 3;
628
            if (_tower_angle <= 45)
629
                xx = lerp(0, piecemaxdistance, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
((_tower_angle - 45) / 100, columnsize)) - 3;
630
            if (_tower_angle >= 45 && _tower_angle <= 145)
631
                xx = lerp(0, piecemaxdistance, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
((_tower_angle - 45) / 100, columnsize)) - 3;
632
        }
633
        if (_tower_angle > 145 && _tower_angle < 305)
634
        {
635
            vis = false;
636
            _vis[i][9] = false;
637
            towerback = true;
638
            if (_tower_angle >= 145 && _tower_angle < 225)
639
                xx = lerp(piecemaxdistance, 0, 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
((_tower_angle - 145) / 80, columnsize));
640
            if (_tower_angle >= 225 && _tower_angle < 305)
641
                xx = lerp(0, piecemaxdistance * -1, 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
((_tower_angle - 225) / 80, columnsize));
642
            if (_tower_angle >= 290 && _tower_angle < 305)
643
                mathtype[i][9] = 1;
644
            else
645
                mathtype[i][9] = 0;
646
        }
647
        else
648
        {
649
            _vis[i][9] = true;
650
        }
651
        _x[i][9] = xx;
652
    }
653
    var lefedge = -80;
654
    var rightedge = piecemaxdistance;
655
    if (_x[i][ii] < lefedge)
656
        _x[i][ii] = lefedge;
657
    if (_vis[i][ii] == true || mathtype[i][ii] == 1)
658
    {
659
        if (ii != 0)
660
            xscale[i][ii] = abs(_x[i][ii] - _x[i][ii - 1]);
661
        if (ii == 0)
662
            xscale[i][ii] = abs(_x[i][0] - _x[i][9]);
663
    }
664
    else
665
    {
666
        xscale[i][ii] = 1;
667
        if (ii != 0)
668
            xscale[i][ii] = abs(_x[i][ii] - _x[i][ii - 1]) * -1;
669
        if (ii == 0)
670
            xscale[i][ii] = abs(_x[i][0] - _x[i][9]) * -1;
671
    }
672
    if ((_x[i][ii] + xscale[i][ii]) > rightedge)
673
        xscale[i][ii] = rightedge - _x[i][ii];
674
    if (xx < (piecemaxdistance * -0.93))
675
        ladder_index = 0;
676
    else if (xx < (piecemaxdistance * -0.7))
677
        ladder_index = 1;
678
    else if (xx < (piecemaxdistance * -0.65))
679
        ladder_index = 2;
680
    else if (xx < (piecemaxdistance * -0.44))
681
        ladder_index = 3;
682
    else if (xx < (piecemaxdistance * 0.44))
683
        ladder_index = 4;
684
    else if (xx < (piecemaxdistance * 0.65))
685
        ladder_index = 5;
686
    else if (xx < (piecemaxdistance * 0.78))
687
        ladder_index = 6;
688
    else if (xx <= (piecemaxdistance * 0.93))
689
        ladder_index = 7;
690
    else if (xx > (piecemaxdistance * 0.93))
691
        ladder_index = 8;
692
    else
693
        ladder_index = 9;
694
}