Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_car_breakable_Step_0

(view raw script w/o annotations or w/e)
1
if (hitted == 1 && hittype == 0)
2
{
3
    rottimer--;
4
    if (rottimer < 0)
5
    {
6
        image_angle += 90;
7
        rottimer = 4;
8
    }
9
}
10
if (hitted == 1 && hittype == 1)
11
{
12
    hittimer++;
13
    if (hittimer == 5)
14
    {
15
        direction = dirsave;
16
        speed = 24;
17
        audio_play_sound(snd_smallcar_yelp, 0, 0);
18
        audio_play_sound(snd_hitcar_little, 0, 0);
19
    }
20
    if (hittimer > 5)
21
    {
22
        image_angle += 25;
23
        speed += 0.5;
24
        if (speed > explodetime)
25
        {
26
            instance_destroy();
27
            snd_play_pitch(snd_badexplosion, 1.3);
28
            repeat (8)
29
            {
30
                anim = instance_create(x, y, obj_animation);
31
                anim.sprite_index = spr_realisticexplosion;
32
                anim.image_index = 0;
33
                anim.speed = 10 + irandom(5);
34
                anim.friction = 0.5 + (random(4) / 2);
35
                anim.direction = random(359);
36
                anim.image_xscale = 1;
37
                anim.image_yscale = 1;
38
            }
39
            collectible = instance_create(x + 16, y + 12, obj_susiezilla_collectible);
40
            collectible.depth = depth - 100;
41
            collectible.itemtype = 1;
42
            with (collectible)
43
                event_user(0);
44
        }
45
    }
46
}
47
if (cornerhittimer > 0)
48
    cornerhittimer--;
49
if (hittype == 1 && cornerhittimer == 0)
50
{
51
    if (x < (__view_get(e__VW.XView, 0) + 20))
52
    {
53
        cornerhittimer = 3;
54
        if (direction > 180)
55
            direction = 315;
56
        else
57
            direction = 45;
58
        instance_create(x, y, obj_shake);
59
        snd_play(snd_screenshake);
60
        x = __view_get(e__VW.XView, 0) + 20;
61
    }
62
    if (x > (__view_get(e__VW.XView, 0) + 620))
63
    {
64
        cornerhittimer = 3;
65
        if (direction > 0 && direction < 90)
66
            direction = 45;
67
        else
68
            direction = 225;
69
        instance_create(x, y, obj_shake);
70
        snd_play(snd_screenshake);
71
        x = __view_get(e__VW.XView, 0) + 620;
72
    }
73
    if (y < (__view_get(e__VW.YView, 0) + 20))
74
    {
75
        cornerhittimer = 3;
76
        if (direction > 90)
77
            direction = 225;
78
        else
79
            direction = 315;
80
        instance_create(x, y, obj_shake);
81
        snd_play(snd_screenshake);
82
        y = __view_get(e__VW.YView, 0) + 20;
83
    }
84
    if (y > (__view_get(e__VW.YView, 0) + 310))
85
    {
86
        cornerhittimer = 3;
87
        if (direction > 270)
88
            direction = 45;
89
        else
90
            direction = 135;
91
        instance_create(x, y, obj_shake);
92
        snd_play(snd_screenshake);
93
        y = __view_get(e__VW.YView, 0) + 310;
94
    }
95
}
96
if (x < (__view_get(e__VW.XView, 0) - 80) || x > (__view_get(e__VW.XView, 0) + 760) || y < (__view_get(e__VW.YView, 0) - 80) || y > (__view_get(e__VW.YView, 0) + 580))
97
    instance_destroy();
98
99
enum e__VW
100
{
101
    XView,
102
    YView,
103
    WView,
104
    HView,
105
    Angle,
106
    HBorder,
107
    VBorder,
108
    HSpeed,
109
    VSpeed,
110
    Object,
111
    Visible,
112
    XPort,
113
    YPort,
114
    WPort,
115
    HPort,
116
    Camera,
117
    SurfaceID
118
}