Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_gerson_squishes_box_Step_0

(view raw script w/o annotations or w/e)
1
if (con == 0)
2
{
3
    timer++;
4
    if (timer == 1)
5
    {
6
        vspeed = -48;
7
        snd_play(snd_jump);
8
        snd_play(snd_rocket);
9
        snd_play(snd_screenshake);
10
        d = instance_create(0, 0, obj_shake);
11
        d.shakex = ceil(2);
12
        d.shakey = ceil(2);
13
    }
14
    flash = instance_create(x, y, obj_afterimage);
15
    flash.sprite_index = sprite_index;
16
    flash.image_index = image_index;
17
    flash.image_xscale = image_xscale;
18
    flash.image_yscale = image_yscale;
19
    flash.image_blend = image_blend;
20
    flash.image_speed = 0;
21
    flash.image_alpha = 1.5;
22
    flash.fadeSpeed = 0.2;
23
    if (vspeed < 0)
24
        vspeed += 0.8;
25
    if (timer == 14)
26
    {
27
        timer = 0;
28
        con = 1;
29
        vspeed = 0;
30
        x = obj_growtangle.x;
31
        y = cameray();
32
        sprite_index = spr_gerson_dodge_origin_top_bottom;
33
        image_index = 0;
34
    }
35
}
36
if (con == 1)
37
{
38
    if (timer < 5)
39
        timer++;
40
    y = lerp(cameray(), obj_growtangle.y - 70, timer / 5);
41
    if (timer == 5)
42
    {
43
        y = obj_growtangle.y - 70;
44
        con = 2;
45
        timer = 0;
46
        snd_play(snd_screenshake);
47
        d = instance_create(0, 0, obj_shake);
48
        d.shakex = ceil(2);
49
        d.shakey = ceil(2);
50
    }
51
}
52
if (con == 2)
53
{
54
    with (obj_hammer_of_justice_enemy)
55
        squishbox = true;
56
    timer++;
57
    var timermax = 10;
58
    if (timer <= timermax)
59
    {
60
        var maxscalex = lerp(9, 6, timer / timermax);
61
        var maxscaley = lerp(0.2, 1, timer / timermax);
62
        obj_growtangle.image_xscale = lerp(obj_growtangle.image_xscale, maxscalex, timer / timermax);
63
        obj_growtangle.image_yscale = lerp(obj_growtangle.image_yscale, maxscaley, timer / timermax);
64
    }
65
    if (timer > timermax)
66
    {
67
        var maxscalex = lerp(5, 6, timer / 15);
68
        var maxscaley = lerp(1.2, 1, timer / 15);
69
        obj_growtangle.image_xscale = lerp(obj_growtangle.image_xscale, maxscalex, timer / 15);
70
        obj_growtangle.image_yscale = lerp(obj_growtangle.image_yscale, maxscaley, timer / 15);
71
    }
72
    y = obj_growtangle.y - (35 * obj_growtangle.image_yscale);
73
    if (timer >= 15)
74
    {
75
        instance_create(x, y - 67, obj_gerson_teleport);
76
        instance_destroy();
77
    }
78
}