Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_shutta_photo_attack_Step_0

(view raw script w/o annotations or w/e)
1
if (!init)
2
{
3
    startdepth = depth;
4
    init = true;
5
}
6
if (siner < 0)
7
{
8
    siner++;
9
    var _fliptimer = fliptime / 2;
10
    flip = cos((siner / _fliptimer) * pi);
11
    if (flip_image >= 0 && flip <= 0)
12
    {
13
        image_index = flip_image;
14
        flip_image = -1;
15
    }
16
    var _easer = 
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); } }
((siner + fliptime) / fliptime, 2);
17
    image_angle = lerp(rspawn, rotater, _easer);
18
}
19
if (flip < 0)
20
    depth = startdepth - 40;
21
else
22
    depth = startdepth + 30;
23
image_xscale = flip * scale;
24
if (visible == false)
25
    visible = true;
26
if (slider < slidetime)
27
{
28
    if (slider == 0)
29
    {
30
        xspawn = screenx() + 720;
31
        yspawn = screeny() + 240 + random_range(-200, 100);
32
        rotater = random_range(-5, 5);
33
        rspawn = rotater - random_range(10, 100);
34
    }
35
    slider++;
36
    var _easer = 
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; } }
(slider / slidetime, 2);
37
    x = lerp(xspawn, xstart, _easer);
38
    y = lerp(yspawn, ystart, _easer);
39
    image_angle = lerp(rspawn, rotater, _easer);
40
    if (slider == 1)
41
        con = 1;
42
}
43
if (con == 2)
44
{
45
    gravity = 1;
46
    gravity_direction = 270;
47
    vspeed = -(random(5) + 5);
48
    hspeed = random(4) + 5;
49
    if (flip_image >= 0)
50
        flip_image = 2;
51
    else
52
        DoFlip(2);
53
    con = 3;
54
    rotater = -random_range(2, 3);
55
}
56
if (con == 3)
57
    image_angle += rotater;