Deltarune (Chapter 5) script viewer

← back to main script listing

gml_Object_obj_actor_tenna_Draw_0

(view raw script w/o annotations or w/e)
1
var __cx = camerax();
2
var __cy = cameray();
3
if (golden_mode)
4
    pal_swap_set(palette_sprite, 1, false);
5
if (facing == "r")
6
    reversal = 1;
7
if (facing == "l")
8
    reversal = 0;
9
facing = "d";
10
siner += speedscale;
11
siner0 += speedscale;
12
siner1 += speedscale;
13
siner2 += speedscale;
14
if (!scaled_bounce)
15
{
16
    if (bounce == 1)
17
    {
18
        image_yscale = 2.5;
19
        image_xscale = (image_xscale < 0) ? -1.5 : 1.5;
20
        bounce = 2;
21
    }
22
    if (bounce == 2)
23
    {
24
        var target_scale = (image_xscale < 0) ? -2 : 2;
25
        
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ var _id = self; if (!is_struct(self)) _id = id; 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_lerpcol() { if (argument_count < 6) ___lerpvar = scr_lerpcol_instance(id, argument[0], argument[1], argument[2], argument[3]); else ___lerpvar = scr_lerpcol_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]); return ___lerpvar; }
("image_xscale", image_xscale, target_scale, 16, -2, "out");
26
        
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ var _id = self; if (!is_struct(self)) _id = id; 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_lerpcol() { if (argument_count < 6) ___lerpvar = scr_lerpcol_instance(id, argument[0], argument[1], argument[2], argument[3]); else ___lerpvar = scr_lerpcol_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]); return ___lerpvar; }
("image_yscale", image_yscale, 2, 16, -2, "out");
27
        bounce = 3;
28
    }
29
    if (bounce == 3)
30
    {
31
        if (image_yscale <= 2.01)
32
        {
33
            image_yscale = 2;
34
            bounce = 0;
35
        }
36
    }
37
}
38
else
39
{
40
    if (bounce == 1)
41
    {
42
        cur_xscale = image_xscale;
43
        cur_yscale = image_yscale;
44
        bounce = 2;
45
    }
46
    if (bounce == 2)
47
    {
48
        image_yscale = cur_yscale * 1.25;
49
        image_xscale = cur_xscale * 0.75;
50
        bounce = 3;
51
    }
52
    if (bounce == 3)
53
    {
54
        
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ var _id = self; if (!is_struct(self)) _id = id; 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_lerpcol() { if (argument_count < 6) ___lerpvar = scr_lerpcol_instance(id, argument[0], argument[1], argument[2], argument[3]); else ___lerpvar = scr_lerpcol_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]); return ___lerpvar; }
("image_xscale", image_xscale, cur_xscale, 16, -2, "out");
55
        
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ var _id = self; if (!is_struct(self)) _id = id; 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_lerpcol() { if (argument_count < 6) ___lerpvar = scr_lerpcol_instance(id, argument[0], argument[1], argument[2], argument[3]); else ___lerpvar = scr_lerpcol_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]); return ___lerpvar; }
("image_yscale", image_yscale, cur_yscale, 16, -2, "out");
56
        bounce = 4;
57
    }
58
    if (bounce == 4)
59
    {
60
        if (image_yscale <= (cur_yscale + 0.1))
61
        {
62
            image_yscale = cur_yscale;
63
            bounce = 0;
64
        }
65
    }
66
}
67
if (preset != -1)
68
{
69
    drawtype = 0;
70
    if (preset == 0)
71
    {
72
        image_speed = 0;
73
        wobblestate = 0;
74
        wobbletime = 0;
75
        wobbleamt = 0;
76
        drawtype = 1;
77
    }
78
    if (preset == 1)
79
    {
80
        wobblestate = 1;
81
        wobbletime = 4;
82
        wobbleamt = 10;
83
    }
84
    if (preset == 2)
85
    {
86
        wobblestate = 1;
87
        wobbletime = 4;
88
        wobbleamt = 8;
89
    }
90
    if (preset == -2)
91
    {
92
        wobblestate = 1;
93
        wobbletime = 4;
94
        wobbleamt = 8;
95
    }
96
    if (preset == -3)
97
    {
98
        image_index = 1;
99
        wobblestate = 1;
100
        wobbletime = 4;
101
        wobbleamt = 8;
102
    }
103
    if (preset == 2.5)
104
    {
105
        wobblestate = 1;
106
        wobbletime = 4;
107
        wobbleamt = 8;
108
    }
109
    if (preset == 3)
110
    {
111
        wobblestate = 1;
112
        wobbletime = 4;
113
        wobbleamt = 30;
114
    }
115
    if (preset == 4)
116
    {
117
        wobblestate = 3;
118
        wobbletime = 3;
119
        wobbleamt = 15;
120
    }
121
    if (preset == 5)
122
    {
123
        reversal = 0;
124
        animchangetimer = 8;
125
        wobblestate = 4;
126
        wobbleamt = 40;
127
        wobbletime = 4;
128
        changespeed = 20;
129
    }
130
    if (preset == 6)
131
    {
132
        image_speed = 0.25;
133
        wobblestate = 5;
134
        wobbletime = 3;
135
        wobbleamt = 10;
136
    }
137
    if (preset == 7)
138
    {
139
        wobblestate = 6;
140
        wobbletime = 12;
141
        wobbleamt = 20;
142
    }
143
    if (preset == 8)
144
    {
145
        wobblestate = 6;
146
        wobbletime = 1;
147
        wobbleamt = 2;
148
    }
149
    if (preset == 9)
150
    {
151
        wobblestate = 7;
152
        wobbletime = 0.5;
153
        wobbleamt = 2;
154
    }
155
    if (preset == 10)
156
    {
157
        wobblestate = 0;
158
        wobbletime = 0;
159
        wobbleamt = 0;
160
        drawtype = 1;
161
    }
162
    if (preset == 11)
163
    {
164
        image_speed = 0.5;
165
        wobblestate = 8;
166
        wobbletime = 1;
167
        wobbleamt = 10;
168
    }
169
    if (preset == 12)
170
    {
171
        image_speed = 0.35;
172
        wobblestate = 1;
173
        wobbletime = 2;
174
        wobbleamt = 20;
175
    }
176
    if (preset == 13)
177
    {
178
        image_speed = 0.5;
179
        wobblestate = 6;
180
        wobbletime = 2;
181
        wobbleamt = 20;
182
        drawtype = 1;
183
    }
184
    if (preset == 14)
185
    {
186
        wobblestate = 7;
187
        wobbletime = 1;
188
        wobbleamt = 2;
189
    }
190
    if (preset == 15)
191
    {
192
        wobblestate = 6;
193
        wobbletime = 0.5;
194
        wobbleamt = 6;
195
    }
196
    if (preset == 16)
197
    {
198
        wobblestate = 10;
199
        wobbletime = 3;
200
        wobbleamt = 30;
201
    }
202
    if (preset == 17)
203
    {
204
        wobblestate = 0;
205
        wobbletime = 0;
206
        wobbleamt = 0;
207
        drawtype = 1;
208
    }
209
    if (preset == 18)
210
    {
211
        reversal = 0;
212
        animchangetimer = 4;
213
        wobblestate = 4;
214
        wobbleamt = 20;
215
        wobbletime = 4;
216
    }
217
    if (preset == 19)
218
    {
219
        rosecon = 1;
220
        rosetimer = 0;
221
        drawtype = 3;
222
        image_xscale = 0.5 * sign(image_xscale);
223
        image_yscale = 0.5;
224
        image_speed = 0;
225
        image_index = 0;
226
    }
227
    if (preset == 20)
228
    {
229
        wobblestate = 5;
230
        wobbletime = 3;
231
        wobbleamt = 30;
232
    }
233
    if (preset == 21)
234
    {
235
        wobblestate = 12;
236
        wobbleamt = 7;
237
        wobbletime = 4.5;
238
        drawtype = 0;
239
        image_speed = 0;
240
    }
241
    if (preset == -21)
242
    {
243
        wobblestate = 12;
244
        wobbleamt = 7;
245
        wobbletime = 4.5;
246
        drawtype = 0;
247
    }
248
    if (preset == 22)
249
    {
250
        wobblestate = 7;
251
        wobbleamt = 5.9;
252
        wobbletime = 2.4;
253
        drawtype = 0;
254
        image_speed = 0;
255
    }
256
    if (preset == 23)
257
    {
258
        wobblestate = 8;
259
        wobbleamt = 7.7;
260
        wobbletime = 6;
261
        drawtype = 0;
262
        image_speed = 0.25;
263
    }
264
    if (preset == 24)
265
    {
266
        wobblestate = 8;
267
        wobbleamt = 7.7;
268
        wobbletime = 6;
269
        drawtype = 0;
270
        image_speed = 0.25;
271
    }
272
    if (preset == 25)
273
    {
274
        wobblestate = 8;
275
        wobbleamt = 7.7;
276
        wobbletime = 6;
277
        drawtype = 0;
278
        image_speed = 0.25;
279
    }
280
    if (preset == 26)
281
    {
282
        wobblestate = 5.5;
283
        wobbletime = 10;
284
        wobbleamt = 40;
285
        siner = 1.5707963267948966 * wobbletime;
286
    }
287
    if (preset == 27)
288
    {
289
        image_index = 0;
290
        image_speed = 0;
291
        bounce = 0;
292
    }
293
    if (preset == 28)
294
    {
295
        image_index = 3;
296
        image_speed = 0;
297
        wobbleamt = 30;
298
        wobblestate = 1;
299
        wobbletime = 10;
300
        bounce = 1;
301
    }
302
    if (preset == 30)
303
    {
304
        wobblestate = 0;
305
        wobbleamt = 0;
306
        wobbletime = 0;
307
        drawtype = 1;
308
        image_speed = 1;
309
    }
310
    if (preset == 31)
311
    {
312
        wobbleamt = 15;
313
        wobblestate = 12;
314
        wobbletime = 5;
315
        bounce = 0;
316
    }
317
    if (preset == 32)
318
    {
319
        wobblestate = 12;
320
        wobbleamt = 7;
321
        wobbletime = 4.5;
322
        drawtype = 0;
323
        image_speed = 0;
324
    }
325
    if (preset == -32)
326
    {
327
        wobblestate = 12;
328
        wobbleamt = 7;
329
        wobbletime = 4.5;
330
        drawtype = 0;
331
    }
332
    if (preset == 33)
333
    {
334
        reversal = 0;
335
        wobblestate = 8;
336
        wobbleamt = 40;
337
        wobbletime = 4;
338
    }
339
    if (preset == 34)
340
    {
341
        reversal = 0;
342
        wobblestate = 13;
343
        changespeed = 15;
344
        animchangetimer = 0;
345
        pointcon = 0;
346
        wobbleamt = 10;
347
        wobbletime = 4;
348
    }
349
    if (preset == 35)
350
    {
351
        reversal = 0;
352
        wobblestate = -1;
353
        rate = 2;
354
        shtimer = 0;
355
        drawtype = 2;
356
    }
357
    if (preset == 36)
358
    {
359
        reversal = 0;
360
        drawtype = 0;
361
        siner = 0;
362
        wobbleamt = 10;
363
        wobblestate = 16;
364
    }
365
    if (preset == 37)
366
    {
367
        reversal = 0;
368
        drawtype = 0;
369
        siner = 0;
370
        wobbleamt = 10;
371
        wobblestate = 14;
372
    }
373
    if (preset == 69)
374
    {
375
        wobblestate = 6;
376
        wobbleamt = 20;
377
        wobbletime = 4;
378
        drawtype = 0;
379
        image_speed = 0.25;
380
    }
381
    preset = -1;
382
}
383
x1 = x - sprite_xoffset;
384
y1 = y - sprite_yoffset;
385
x2 = (x - sprite_xoffset) + sprite_width;
386
y2 = y - sprite_yoffset;
387
x3 = (x - sprite_xoffset) + sprite_width;
388
y3 = (y - sprite_yoffset) + sprite_height;
389
x4 = x - sprite_xoffset;
390
y4 = (y - sprite_yoffset) + sprite_height;
391
var reversalsign = 1;
392
if (reversal == 1)
393
    reversalsign = -1;
394
if (wobblestate == 1)
395
{
396
    x1 += (abs(sin(siner / wobbletime) * wobbleamt) * reversalsign);
397
    x2 += (abs(sin(siner / wobbletime) * wobbleamt) * reversalsign);
398
    y1 -= abs(sin(siner / wobbletime) * wobbleamt);
399
    y2 += abs(sin(siner / wobbletime) * wobbleamt);
400
}
401
if (wobblestate == 2)
402
{
403
    x1 += (sin(siner / wobbletime) * 10 * reversalsign);
404
    x2 += (sin(siner / wobbletime) * 10 * reversalsign);
405
    y1 -= (sin((siner / wobbletime) * 0.9) * 14);
406
    y2 += (sin((siner / wobbletime) * 1.1) * 14);
407
}
408
if (wobblestate == 3)
409
{
410
    if (sin(siner / wobbletime) < 0)
411
        reversal = 1;
412
    else
413
        reversal = 0;
414
    var addamt = abs(sin(siner / wobbletime) * wobbleamt);
415
    var addamt2 = addamt;
416
    if (reversal == 1)
417
        addamt = -addamt;
418
    x1 += addamt;
419
    x2 += addamt;
420
    y1 -= addamt2;
421
    y2 += addamt2;
422
}
423
var _keep_pivot = false;
424
if (wobblestate == 4)
425
{
426
    siner -= (speedscale - 1);
427
    animchangetimer += speedscale;
428
    if (animchangetimer >= changespeed && pointcon == 0)
429
    {
430
        reversal = 0;
431
        bounce = 1;
432
        pointcon++;
433
    }
434
    if (animchangetimer >= (changespeed * 2) && pointcon == 1)
435
    {
436
        reversal = 0;
437
        sprite_index = spr_tenna_point_up;
438
        x1 = x - sprite_xoffset;
439
        y1 = y - sprite_yoffset;
440
        x2 = (x - sprite_xoffset) + sprite_width;
441
        y2 = y - sprite_yoffset;
442
        x3 = (x - sprite_xoffset) + sprite_width;
443
        y3 = (y - sprite_yoffset) + sprite_height;
444
        x4 = x - sprite_xoffset;
445
        y4 = (y - sprite_yoffset) + sprite_height;
446
        bounce = 1;
447
        pointcon++;
448
    }
449
    if (animchangetimer >= (changespeed * 3) && pointcon == 2)
450
    {
451
        reversal = 1;
452
        bounce = 1;
453
        pointcon++;
454
    }
455
    if (animchangetimer >= (changespeed * 4))
456
    {
457
        reversal = 1;
458
        sprite_index = spr_tenna_point_up;
459
        x1 = x - sprite_xoffset;
460
        y1 = y - sprite_yoffset;
461
        x2 = (x - sprite_xoffset) + sprite_width;
462
        y2 = y - sprite_yoffset;
463
        x3 = (x - sprite_xoffset) + sprite_width;
464
        y3 = (y - sprite_yoffset) + sprite_height;
465
        x4 = x - sprite_xoffset;
466
        y4 = (y - sprite_yoffset) + sprite_height;
467
        bounce = 1;
468
        animchangetimer = 0;
469
        pointcon = 0;
470
    }
471
    if (pointcon == 3)
472
        _keep_pivot = true;
473
    var addamt = abs(sin(siner / wobbletime) * wobbleamt);
474
    var addamt2 = addamt;
475
    if (reversal == 1)
476
        addamt = -addamt;
477
    x1 += addamt;
478
    x2 += addamt;
479
    y1 -= addamt2;
480
    y2 += addamt2;
481
}
482
if (wobblestate == 5)
483
{
484
    if (sin(siner / wobbletime) < 0)
485
        reversal = 1;
486
    else
487
        reversal = 0;
488
    var addamt = abs(sin(siner / wobbletime) * wobbleamt);
489
    var addamt2 = addamt;
490
    if (reversal == 1)
491
        addamt = -addamt;
492
    x1 += addamt;
493
    x2 += addamt;
494
    y1 -= addamt2;
495
    y2 += addamt2;
496
}
497
if (wobblestate > 5 && wobblestate < 6)
498
{
499
    if (wobblestate == 5.5)
500
    {
501
        x1 += ((abs(sin(siner / wobbletime) * wobbleamt) - wobbleamt) * reversalsign);
502
        x2 += ((abs(sin(siner / wobbletime) * wobbleamt) - wobbleamt) * reversalsign);
503
        y1 -= (abs(sin(siner / wobbletime) * wobbleamt) - wobbleamt);
504
        y2 += ((abs(sin(siner / wobbletime) * wobbleamt) - wobbleamt) / 2);
505
        if (sin((siner + 1) / wobbletime) <= 0.5)
506
        {
507
            wobblestate = 5.6;
508
            sprite_index = spr_tenna_sad;
509
        }
510
    }
511
    if (wobblestate == 5.6)
512
    {
513
        x1 += ((abs(sin(siner / wobbletime) * wobbleamt) - (wobbleamt / 2)) * reversalsign);
514
        x2 += ((abs(sin(siner / wobbletime) * wobbleamt) - (wobbleamt / 2)) * reversalsign);
515
        y1 -= (abs(sin(siner / wobbletime) * wobbleamt) - (wobbleamt / 2));
516
        y2 += ((abs(sin(siner / wobbletime) * wobbleamt) - (wobbleamt / 2)) / 2);
517
        if (sin((siner + 1) / wobbletime) <= 0)
518
            preset = 7;
519
    }
520
}
521
if (wobblestate == 6)
522
{
523
    x1 += ((abs(sin(siner / wobbletime) * wobbleamt) - wobbleamt) * reversalsign);
524
    x2 += ((abs(sin(siner / wobbletime) * wobbleamt) - wobbleamt) * reversalsign);
525
    y1 -= (abs(sin(siner / wobbletime) * wobbleamt) - wobbleamt);
526
    y2 += ((abs(sin(siner / wobbletime) * wobbleamt) - wobbleamt) / 2);
527
}
528
if (wobblestate == 7)
529
{
530
    x1 += (sin(siner / wobbletime) * wobbleamt * reversalsign);
531
    x2 += (sin(siner / wobbletime) * wobbleamt * reversalsign);
532
    y1 -= (((sin((siner / wobbletime) * 0.5) * wobbleamt) / 2) * -1);
533
    y2 += ((sin((siner / wobbletime) * 0.5) * wobbleamt) / 3);
534
}
535
if (wobblestate == 8)
536
{
537
    var addamt = abs(sin(siner / wobbletime) * wobbleamt);
538
    var addamt2 = addamt;
539
    if (reversal == 1)
540
        addamt = -addamt;
541
    x1 += addamt;
542
    x2 += addamt;
543
    y1 -= addamt2;
544
    y2 += addamt2;
545
}
546
if (wobblestate == 9)
547
{
548
    y1 -= (sin((siner / wobbletime) * wobbleamt * 0.9) * 14);
549
    y2 += (sin((siner / wobbletime) * wobbleamt * 1.1) * 14);
550
}
551
if (wobblestate == 10)
552
{
553
    var localReverse = 0;
554
    if (sin(siner / wobbletime) < 0)
555
        localReverse = 1;
556
    else
557
        localReverse = 0;
558
    var addamt = abs(sin(siner / wobbletime) * wobbleamt);
559
    var addamt2 = addamt;
560
    if (localReverse == 1)
561
        addamt = -addamt;
562
    x1 += addamt;
563
    x2 += addamt;
564
    y1 -= addamt2;
565
    y2 += addamt2;
566
}
567
if (wobblestate == 11)
568
{
569
    siner -= (speedscale - 1);
570
    animchangetimer += speedscale;
571
    if (animchangetimer >= changespeed && pointcon == 0)
572
    {
573
        reversal = 0;
574
        sprite_index = spr_tenna_point_left;
575
        bounce = 1;
576
        pointcon++;
577
    }
578
    if (animchangetimer >= (changespeed * 2) && pointcon == 1)
579
    {
580
        reversal = 0;
581
        sprite_index = spr_tenna_point_at_screen;
582
        x1 = x - sprite_xoffset;
583
        y1 = y - sprite_yoffset;
584
        x2 = (x - sprite_xoffset) + sprite_width;
585
        y2 = y - sprite_yoffset;
586
        x3 = (x - sprite_xoffset) + sprite_width;
587
        y3 = (y - sprite_yoffset) + sprite_height;
588
        x4 = x - sprite_xoffset;
589
        y4 = (y - sprite_yoffset) + sprite_height;
590
        bounce = 1;
591
        pointcon++;
592
    }
593
    if (animchangetimer >= (changespeed * 3) && pointcon == 2)
594
    {
595
        sprite_index = spr_tenna_salute_b;
596
        reversal = 0;
597
        bounce = 1;
598
        pointcon++;
599
    }
600
    if (animchangetimer >= (changespeed * 4))
601
    {
602
        reversal = 1;
603
        sprite_index = spr_tenna_point_up;
604
        x1 = x - sprite_xoffset;
605
        y1 = y - sprite_yoffset;
606
        x2 = (x - sprite_xoffset) + sprite_width;
607
        y2 = y - sprite_yoffset;
608
        x3 = (x - sprite_xoffset) + sprite_width;
609
        y3 = (y - sprite_yoffset) + sprite_height;
610
        x4 = x - sprite_xoffset;
611
        y4 = (y - sprite_yoffset) + sprite_height;
612
        bounce = 1;
613
        animchangetimer = 0;
614
        pointcon = 0;
615
    }
616
    if (pointcon == 3)
617
        _keep_pivot = true;
618
    var addamt = abs(sin(siner / wobbletime) * wobbleamt);
619
    var addamt2 = addamt;
620
    if (reversal == 1)
621
        addamt = -addamt;
622
    x1 += addamt;
623
    x2 += addamt;
624
    y1 -= addamt2;
625
    y2 += addamt2;
626
}
627
if (wobblestate == 12)
628
{
629
    var amt = abs(sin(siner / wobbletime) * wobbleamt);
630
    var amt2 = abs(cos(siner / wobbletime) * wobbleamt);
631
    x1 += amt;
632
    x2 += (amt2 / 2);
633
    y1 += amt;
634
    y2 += amt;
635
}
636
if (wobblestate == 13)
637
{
638
    siner -= (speedscale - 1);
639
    animchangetimer += speedscale;
640
    if (pointcon == 0)
641
    {
642
        x1 = x - sprite_xoffset;
643
        y1 = y - sprite_yoffset;
644
        x2 = (x - sprite_xoffset) + sprite_width;
645
        y2 = y - sprite_yoffset;
646
        x3 = (x - sprite_xoffset) + sprite_width;
647
        y3 = (y - sprite_yoffset) + sprite_height;
648
        x4 = x - sprite_xoffset;
649
        y4 = (y - sprite_yoffset) + sprite_height;
650
        timediff = 0;
651
        pointcon++;
652
        wobbletime = 1;
653
        wobbleamt = 2;
654
    }
655
    if (pointcon == 1)
656
    {
657
        x1 += ((abs(sin(siner / wobbletime) * wobbleamt) - wobbleamt) * reversalsign);
658
        x2 += ((abs(sin(siner / wobbletime) * wobbleamt) - wobbleamt) * reversalsign);
659
        y1 -= (abs(sin(siner / wobbletime) * wobbleamt) - wobbleamt);
660
        y2 += ((abs(sin(siner / wobbletime) * wobbleamt) - wobbleamt) / 2);
661
        timediff = animchangetimer / changespeed;
662
        x1 -= (timediff * 10);
663
        x2 += (timediff * 10);
664
        x4 -= (timediff * 10);
665
        x3 += (timediff * 10);
666
        y1 = (y1 - 10) + (timediff * 20);
667
        y2 = (y2 - 10) + (timediff * 20);
668
        if (animchangetimer >= changespeed)
669
            pointcon++;
670
    }
671
    if (pointcon == 99)
672
    {
673
        timediff = animchangetimer / changespeed;
674
        x1 -= (timediff * 20);
675
        x2 += (timediff * 20);
676
        x4 -= (timediff * 20);
677
        x3 += (timediff * 20);
678
        y1 += (timediff * 10);
679
        y2 += (timediff * 10);
680
        if (animchangetimer >= changespeed)
681
            pointcon++;
682
    }
683
    if (pointcon == 2)
684
    {
685
        reversal = 0;
686
        bounce = 1;
687
        pointcon++;
688
    }
689
    if (pointcon == 3)
690
    {
691
        if (animchangetimer >= (changespeed * 2))
692
        {
693
            animchangetimer = 0;
694
            pointcon = 0;
695
        }
696
    }
697
    var addamt = abs(sin(siner / wobbletime) * wobbleamt);
698
    var addamt2 = addamt;
699
}
700
if (wobblestate == 14)
701
{
702
    shakex = sin(siner / 4) * sin(siner / 3) * 12;
703
    shakey = -abs(cos(siner / 2) * cos(siner / 1.5) * 28);
704
    drawtype = 0;
705
    siner = floor(siner);
706
    image_index = (sin(siner / 4) * 3) + 3;
707
}
708
if (wobblestate == 15)
709
{
710
    shakex = sin(siner / 4) * sin(siner / 3) * 12;
711
    shakey = -abs(cos(siner / 2) * cos(siner / 1.5) * 28);
712
    drawtype = 0;
713
    siner = floor(siner);
714
    image_index = (sin(siner / 4) * 16) + 48;
715
}
716
if (wobblestate == 16)
717
{
718
    shakex = sin(siner / 4) * sin(siner / 3) * 12;
719
    shakey = -abs(cos(siner / 2) * cos(siner / 1.5) * 28);
720
    drawtype = 0;
721
    siner = floor(siner);
722
    if (frame < 10)
723
        frame = 10;
724
    if ((siner % 40) == 0)
725
    {
726
        frame = floor(random(63)) + 10;
727
        wobbleamt = 3 + floor(random(10));
728
    }
729
    image_index = frame + (sin(siner / 2) * wobbleamt);
730
}
731
if (wobblestate == 17)
732
{
733
    x1 -= ((abs(sin(siner / wobbletime) * wobbleamt) - wobbleamt) * reversalsign);
734
    x2 -= ((abs(sin(siner / wobbletime) * wobbleamt) - wobbleamt) * reversalsign);
735
    y1 += (abs(sin(siner / wobbletime) * wobbleamt) - wobbleamt);
736
    y2 -= ((abs(sin(siner / wobbletime) * wobbleamt) - wobbleamt) / 2);
737
}
738
if (reversal == 1)
739
{
740
    var remx1 = x1;
741
    var remx2 = x2;
742
    var remx3 = x3;
743
    var remx4 = x4;
744
    x1 = remx2;
745
    x2 = remx1;
746
    x3 = remx4;
747
    x4 = remx3;
748
    if (_keep_pivot)
749
    {
750
        x1 += (sprite_width - sprite_xoffset);
751
        x2 += (sprite_width - sprite_xoffset);
752
        x3 += (sprite_width - sprite_xoffset);
753
        x4 += (sprite_width - sprite_xoffset);
754
    }
755
}
756
if (drawtype == 0)
757
{
758
    if (xscale != 2)
759
    {
760
        x1 = x + ((x1 - x) * (xscale / 2));
761
        x2 = x + ((x2 - x) * (xscale / 2));
762
        x3 = x + ((x3 - x) * (xscale / 2));
763
        x4 = x + ((x4 - x) * (xscale / 2));
764
    }
765
    if (yscale != 2)
766
    {
767
        y1 = y + ((y1 - y) * (yscale / 2));
768
        y2 = y + ((y2 - y) * (yscale / 2));
769
        y3 = y + ((y3 - y) * (yscale / 2));
770
        y4 = y + ((y4 - y) * (yscale / 2));
771
    }
772
    if (shakex != 0)
773
    {
774
        x1 += shakex;
775
        x2 += shakex;
776
        x3 += shakex;
777
        x4 += shakex;
778
    }
779
    if (shakey != 0)
780
    {
781
        y1 += shakey;
782
        y2 += shakey;
783
        y3 += shakey;
784
        y4 += shakey;
785
    }
786
    if (outline)
787
    {
788
        d3d_set_fog(true, c_black, 0, 1);
789
        draw_sprite_pos(sprite_index, image_index, x1 - 2, y1, x2 - 2, y2, x3 - 2, y3, x4 - 2, y4, 1);
790
        draw_sprite_pos(sprite_index, image_index, x1, y1 - 2, x2, y2 - 2, x3, y3 - 2, x4, y4 - 2, 1);
791
        draw_sprite_pos(sprite_index, image_index, x1, y1 + 2, x2, y2 + 2, x3, y3 + 2, x4, y4 + 2, 1);
792
        draw_sprite_pos(sprite_index, image_index, x1 + 2, y1, x2 + 2, y2, x3 + 2, y3, x4 + 2, y4, 1);
793
        d3d_set_fog(false, c_black, 0, 0);
794
    }
795
    if (dropshadow)
796
    {
797
        d3d_set_fog(true, c_black, 0, 1);
798
        draw_sprite_pos(sprite_index, image_index, x1 + dropdist, y1 + dropdist, x2 + dropdist, y2 + dropdist, x3 + dropdist, y3 + dropdist, x4 + dropdist, y4 + dropdist, 1);
799
        d3d_set_fog(false, c_white, 0, 0);
800
    }
801
    draw_sprite_pos(sprite_index, image_index, x1, y1, x2, y2, x3, y3, x4, y4, 1);
802
}
803
if (drawtype == 1)
804
{
805
    if (dropshadow)
806
        draw_sprite_ext(sprite_index, image_index, x + dropdist, y + dropdist, image_xscale, image_yscale, image_angle, c_black, image_alpha);
807
    draw_self();
808
    if (flash)
809
    {
810
        flashsiner++;
811
        d3d_set_fog(true, image_blend, 0, 1);
812
        draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, image_blend, (-cos(flashsiner / 5) * 0.4) + 0.6);
813
        d3d_set_fog(false, c_black, 0, 0);
814
    }
815
    if (darkenalpha > 0)
816
    {
817
        d3d_set_fog(true, c_black, 0, 1);
818
        draw_sprite_ext(sprite_index, image_index, x, y, image_xscale, image_yscale, image_angle, c_black, darkenalpha);
819
        d3d_set_fog(false, c_black, 0, 0);
820
        darkenalpha -= 0.01;
821
    }
822
}
823
if (drawtype == 2)
824
{
825
    animsiner++;
826
    var bx = sin(animsiner / 6) * 5;
827
    var by = -abs(cos(animsiner / 4)) * 5;
828
    var armx = sin(animsiner / 6) * 9;
829
    var army = cos(animsiner / 6) * 6;
830
    var headx = sin(animsiner / 6) * 8;
831
    var heady = (sin(animsiner / 6) * 6) + 4;
832
    var legx = sin((animsiner + 4) / 6) * 5;
833
    var legy = cos(animsiner / 6) * 2;
834
    var _color = 16777215;
835
    animsinerb++;
836
    var image = animsiner / 6;
837
    var loopimage = 1.5 + (sin(image) * 1.5);
838
    var loopimage1 = 1 + (sin(image) * 1);
839
    var tailimage = image;
840
    armshake *= -1;
841
    armshakesiner++;
842
    var chargingup = 1;
843
    var armshakevalue = clamp((sin((armshakesiner / 18) - 1) * 1.5) - 1, 0, 4);
844
    var armshakey = armshakevalue * armshake;
845
    var headimage = 2;
846
    if (chargingup == 0)
847
    {
848
        armshakey = 0;
849
        armshakevalue = 0;
850
    }
851
    draw_sprite_ext(spr_tenna_battle_leg_l, image, x - legx, y + legy, image_xscale, image_yscale, image_angle, _color, image_alpha);
852
    draw_sprite_ext(spr_tenna_battle_leg_r, image, x + legx, y - (legy / 4), image_xscale, image_yscale, image_angle, _color, image_alpha);
853
    draw_sprite_ext(spr_tenna_battle_tails, tailimage, (x + (bx / 2)) - 4, y + by, image_xscale, image_yscale, image_angle, _color, image_alpha);
854
    draw_sprite_ext(spr_tenna_battle_arm_back, 3 - loopimage, ((x + bx) - (armx * 1.5)) + 12, (y + by) - army, image_xscale, image_yscale, image_angle, _color, image_alpha);
855
    draw_sprite_ext(spr_tenna_battle_torso, 0, x + bx, y + by, image_xscale, image_yscale, image_angle, _color, image_alpha);
856
    draw_sprite_ext(spr_tenna_battle_tie, 0, x + bx, y + by, image_xscale, image_yscale, image_angle, _color, image_alpha);
857
    draw_sprite_ext(spr_tenna_battle_face, headimage - (armshakevalue * 5), ((x + bx) - headx) + 2 + (armshakey / 2), (y + by + heady) - 2 - (armshakey / 2), image_xscale, image_yscale, image_angle, _color, image_alpha);
858
    draw_sprite_ext(spr_tenna_battle_arm_front, loopimage, ((x + bx) - armx) + armshakey, y + by + army + armshakey, image_xscale, image_yscale, image_angle, _color, image_alpha);
859
}
860
var lineshow = 0;
861
if (lineshow)
862
{
863
    draw_line(x1, y1, x2, y2);
864
    draw_line(x2, y2, x3, y3);
865
    draw_line(x1, y1, x4, y4);
866
    draw_line(x4, y4, x3, y3);
867
    draw_circle(x, y, 0.5, 1);
868
    draw_text(__cx, (__cy + 480) - 15, "wobblestate=" + string(wobblestate));
869
}
870
if (golden_mode)
871
    pal_swap_reset();