Deltarune (Chapter 2) script viewer

← back to main script listing

gml_Object_obj_maus_holes_Step_0

(view raw script w/o annotations or w/e)
1
if (preptimer > 0)
2
    exit;
3
if (preptimer == 0)
4
{
5
    depth -= 11;
6
    preptimer = -1;
7
}
8
if (timer <= 0 && mausqueue > 0)
9
{
10
    mausqueue--;
11
    var nexthole = irandom(7);
12
    var safety = 0;
13
    while (maushole[nexthole] > 0 && (maushole[nexthole] - 50) < global.turntimer)
14
    {
15
        nexthole = irandom(7);
16
        safety++;
17
        if (safety > 8)
18
            exit;
19
    }
20
    maushole[nexthole] = global.turntimer;
21
    timer += 10;
22
    var xx = x;
23
    var yy = y;
24
    var side = randomsign();
25
    if (nexthole < 4)
26
    {
27
        xx = (x - sideoffset) + 46 + (holeoffset * nexthole);
28
        yy = y + (sideoffset * side);
29
    }
30
    else
31
    {
32
        xx = x + (sideoffset * side);
33
        yy = (y - sideoffset) + 46 + (holeoffset * (nexthole - 4));
34
    }
35
    if (dontcreatemouse == 0)
36
    {
37
        d = 
scr_childbullet
scr_childbullet

function
scr_childbullet()
{ var __child = instance_create(argument[0], argument[1], argument[2]); var __parent = (argument_count == 4) ? argument[3] : id; if (__parent.damage != -1) __child.damage = __parent.damage; if (__parent.grazepoints != -1) __child.grazepoints = __parent.grazepoints; if (__parent.timepoints != -1) __child.timepoints = __parent.timepoints; if (__parent.inv != -1) __child.inv = __parent.inv; if (__parent.target != -1) __child.target = __parent.target; if (__parent.grazed != -1) __child.grazed = __parent.grazed; if (__parent.grazetimer != -1) __child.grazetimer = __parent.grazetimer; __child.element = __parent.element; return __child; }
(xx, yy, obj_maus_critter);
38
        if (nexthole < 4)
39
            d.direction += 90 * side;
40
        else if (side > 0)
41
            d.direction = 180;
42
        d.speed = 6;
43
        d.image_angle = d.direction;
44
        d.grazepoints = grazepoints;
45
        if (bigmaus)
46
        {
47
            d.big = true;
48
            d.sprite_index = spr_maus_critter_stuck;
49
            d.alarm[0] = 22;
50
            bigmaus--;
51
        }
52
    }
53
}
54
else if (timer > 0)
55
{
56
    timer--;
57
}