Deltarune (Chapter 4) script viewer

← back to main script listing

gml_GlobalScript_scr_spawn_cats

(view raw script w/o annotations or w/e)
1
function 
scr_spawn_cats
scr_spawn_cats

function
scr_spawn_cats(arg0, arg1)
{ var _maxnum = arg0; for (i = 0; i < _maxnum; i++) { var _dir = -30 + irandom(240); var _dist = random_range(90, 200); var ob = instance_create_depth(obj_mike_controller.x + lengthdir_x(_dist, _dir), cameray() + (cameraheight() / 2) + lengthdir_y(_dist * 0.9, _dir), depth - 4, obj_mike_cat); with (ob) { wait = other.i * arg1; if (i_ex(obj_mike_minigame_controller)) { mydist = irandom_range(40, 80); wait_time = 60; } var dir = point_direction(obj_mike_controller.x, obj_mike_controller.y, x, y); var dist = 0.75; x = obj_mike_controller.x + lengthdir_x(camerawidth() * dist, dir); y = cameray() + (cameraheight() / 2) + lengthdir_y(cameraheight() * dist, dir); } } } function scr_spawn_cats_random(arg0, arg1) { var _maxnum = arg0; for (i = 0; i < _maxnum; i++) { var _dir = 20 + irandom(140); var _dist = random_range(90, 200); var ob = instance_create_depth(obj_mike_controller.x + lengthdir_x(_dist, _dir), cameray() + (cameraheight() / 2) + lengthdir_y(_dist * 0.9, _dir), depth - 4, obj_mike_cat); with (ob) { wait = other.i * arg1; var dir = point_direction(obj_mike_controller.x, obj_mike_controller.y, x, y); var dist = 1; x = obj_mike_controller.x + lengthdir_x(camerawidth() * dist, dir); y = cameray() + (cameraheight() / 2) + lengthdir_y(cameraheight() * dist, dir); } } } function scr_spawn_cats_falling(arg0, arg1, arg2) { var _homing = irandom(arg2); for (i = 0; i < arg0; i++) { var _ob = instance_create_depth(camerax() + (camerawidth() / 2) + irandom_range(-100, 100), cameray() - 32 - (i * 90), depth - 10, obj_mike_spike); _ob.wait = (instance_number(obj_mike_spike) - 1) * max(1, arg1); while (point_distance(0, _ob.x, 0, lastx) < 32) _ob.x = camerax() + (camerawidth() / 2) + irandom_range(-100, 100); lastx = _ob.x; _homing += 1; if (_homing >= arg2) { _ob.homing = true; _homing = choose(0, 1); } } }
(arg0, arg1)
2
{
3
    var _maxnum = arg0;
4
    for (i = 0; i < _maxnum; i++)
5
    {
6
        var _dir = -30 + irandom(240);
7
        var _dist = random_range(90, 200);
8
        var ob = instance_create_depth(obj_mike_controller.x + lengthdir_x(_dist, _dir), cameray() + (cameraheight() / 2) + lengthdir_y(_dist * 0.9, _dir), depth - 4, obj_mike_cat);
9
        with (ob)
10
        {
11
            wait = other.i * arg1;
12
            if (i_ex(obj_mike_minigame_controller))
13
            {
14
                mydist = irandom_range(40, 80);
15
                wait_time = 60;
16
            }
17
            var dir = point_direction(obj_mike_controller.x, obj_mike_controller.y, x, y);
18
            var dist = 0.75;
19
            x = obj_mike_controller.x + lengthdir_x(camerawidth() * dist, dir);
20
            y = cameray() + (cameraheight() / 2) + lengthdir_y(cameraheight() * dist, dir);
21
        }
22
    }
23
}
24
25
function scr_spawn_cats_random(arg0, arg1)
26
{
27
    var _maxnum = arg0;
28
    for (i = 0; i < _maxnum; i++)
29
    {
30
        var _dir = 20 + irandom(140);
31
        var _dist = random_range(90, 200);
32
        var ob = instance_create_depth(obj_mike_controller.x + lengthdir_x(_dist, _dir), cameray() + (cameraheight() / 2) + lengthdir_y(_dist * 0.9, _dir), depth - 4, obj_mike_cat);
33
        with (ob)
34
        {
35
            wait = other.i * arg1;
36
            var dir = point_direction(obj_mike_controller.x, obj_mike_controller.y, x, y);
37
            var dist = 1;
38
            x = obj_mike_controller.x + lengthdir_x(camerawidth() * dist, dir);
39
            y = cameray() + (cameraheight() / 2) + lengthdir_y(cameraheight() * dist, dir);
40
        }
41
    }
42
}
43
44
function scr_spawn_cats_falling(arg0, arg1, arg2)
45
{
46
    var _homing = irandom(arg2);
47
    for (i = 0; i < arg0; i++)
48
    {
49
        var _ob = instance_create_depth(camerax() + (camerawidth() / 2) + irandom_range(-100, 100), cameray() - 32 - (i * 90), depth - 10, obj_mike_spike);
50
        _ob.wait = (instance_number(obj_mike_spike) - 1) * max(1, arg1);
51
        while (point_distance(0, _ob.x, 0, lastx) < 32)
52
            _ob.x = camerax() + (camerawidth() / 2) + irandom_range(-100, 100);
53
        lastx = _ob.x;
54
        _homing += 1;
55
        if (_homing >= arg2)
56
        {
57
            _ob.homing = true;
58
            _homing = choose(0, 1);
59
        }
60
    }
61
}