Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_green_cat_Step_0

(view raw script w/o annotations or w/e)
1
if (wall_destroy == 1)
2
{
3
    if (x < (__view_get(e__VW.XView, 0) - 80))
4
        instance_destroy();
5
    if (x > (__view_get(e__VW.XView, 0) + 760))
6
        instance_destroy();
7
    if (y < (__view_get(e__VW.YView, 0) - 80))
8
        instance_destroy();
9
    if (y > (__view_get(e__VW.YView, 0) + 580))
10
        instance_destroy();
11
}
12
else if (!
scr_outside_camera
scr_outside_camera

function
scr_outside_camera(arg0)
{ _offcamera = 0; rightx = x + sprite_width; leftx = x; bottomy = y + sprite_height; topy = y; if (x > (__view_get(e__VW.XView, 0) + __view_get(e__VW.WView, 0) + arg0)) _offcamera = 1; if (rightx < (__view_get(e__VW.XView, 0) - arg0)) _offcamera = 1; if (y > (__view_get(e__VW.YView, 0) + __view_get(e__VW.HView, 0) + arg0)) _offcamera = 1; if (bottomy < (__view_get(e__VW.YView, 0) - arg0)) _offcamera = 1; return _offcamera; } enum e__VW { XView, YView, WView, HView, Angle, HBorder, VBorder, HSpeed, VSpeed, Object, Visible, XPort, YPort, WPort, HPort, Camera, SurfaceID }
(32))
13
{
14
    wall_destroy = 1;
15
}
16
var _bottom = 340;
17
var _vol = obj_mike_controller.microphone_volume / 50;
18
if (action == 1)
19
{
20
    collect();
21
    mask_index = spr_baseball;
22
    image_xscale = 1.1;
23
    image_yscale = 1.1;
24
}
25
else
26
{
27
    image_xscale = 1;
28
    image_yscale = 1;
29
}
30
if (action == 0)
31
{
32
    if (thrown == 0)
33
    {
34
        var _averagex2frame = (x + xprevious) / 2;
35
        var _averagey2frame = (y + yprevious) / 2;
36
        var _averagex4frame = (last_x[1] + last_x[2]) / 2;
37
        var _averagey4frame = (last_y[1] + last_y[2]) / 2;
38
        var _spd = max(2, point_distance(_averagex4frame, _averagey4frame, _averagex2frame, _averagey2frame) / 4);
39
        motion_set(point_direction(_averagex4frame, _averagey4frame, _averagex2frame, _averagey2frame), _spd);
40
        if (_spd > 2)
41
        {
42
            thrown = 1;
43
            var _s = snd_play_pitch(snd_meow, random_range(0.8, 1));
44
            snd_volume(_s, 0.25, 0);
45
        }
46
    }
47
    if (speed > 0 && gravity == 0)
48
    {
49
        var _a = 
scr_afterimage
scr_afterimage

function
scr_afterimage()
{ afterimage = instance_create(x, y, obj_afterimage); afterimage.sprite_index = sprite_index; afterimage.image_index = image_index; afterimage.image_blend = image_blend; afterimage.image_speed = 0; afterimage.depth = depth; afterimage.image_xscale = image_xscale; afterimage.image_yscale = image_yscale; afterimage.image_angle = image_angle; return afterimage; }
();
50
        _a.image_blend = merge_colour(c_gray, c_black, 0.75);
51
    }
52
}
53
image_angle -= hspeed;
54
if (action == 5)
55
    action = 0;
56
var _o = collision_circle(x, y, 10, obj_blue_cat, 1, 1);
57
if (_o)
58
{
59
    if (_o.action != 1)
60
    {
61
        var _h = lengthdir_x(1, point_direction(_o.x, _o.y, x, y));
62
        var _v = lengthdir_y(1, point_direction(_o.x, _o.y, x, y));
63
        hspeed += (_h / 2);
64
        vspeed += (_v / 2);
65
        x += _h;
66
        y += _v;
67
    }
68
}
69
score_buffer--;
70
fever_timer--;
71
72
enum e__VW
73
{
74
    XView,
75
    YView,
76
    WView,
77
    HView,
78
    Angle,
79
    HBorder,
80
    VBorder,
81
    HSpeed,
82
    VSpeed,
83
    Object,
84
    Visible,
85
    XPort,
86
    YPort,
87
    WPort,
88
    HPort,
89
    Camera,
90
    SurfaceID
91
}