Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_boulderDropper_Step_0

(view raw script w/o annotations or w/e)
1
if (player == 0)
2
{
3
    with (obj_mainchara_board)
4
    {
5
        if (controlled == 1)
6
            other.player = id;
7
    }
8
}
9
if (premakeinit == 0)
10
{
11
    if (premake == "right")
12
    {
13
        debug_message("RIGHT SIDE");
14
        boulder = instance_create(-120 + irandom_range(-20, 20), 0 + irandom(60) + 20, obj_board_boulder);
15
        boulder.sprite_index = bouldersprite;
16
        boulder = instance_create(-40 + irandom_range(-20, 20), 0 + irandom(60), obj_board_boulder);
17
        boulder.sprite_index = bouldersprite;
18
    }
19
    if (premake == "left")
20
    {
21
        debug_message("LEFT SIDE");
22
        boulder = instance_create(760 + irandom_range(-20, 20), 0 + irandom(60) + 20, obj_board_boulder);
23
        boulder.sprite_index = bouldersprite;
24
        boulder = instance_create(680 + irandom_range(-20, 20), 0 + irandom(60), obj_board_boulder);
25
        boulder.sprite_index = bouldersprite;
26
    }
27
    if (premake == "vert")
28
    {
29
        debug_message("VERTICAL");
30
        boulder = instance_create(random_range(board_tilex(0), board_tilex(4)), -80 + random_range(-20, 40), obj_board_boulder);
31
        boulder.sprite_index = bouldersprite;
32
        boulder = instance_create(random_range(board_tilex(7), board_tilex(11)), -80 + random_range(-20, 40), obj_board_boulder);
33
        boulder.sprite_index = bouldersprite;
34
    }
35
    premakeinit = 1;
36
}
37
if (active == 1 && global.interact == 0)
38
{
39
    if (startedup == 0)
40
        startedup = 1;
41
    var dontmake = false;
42
    if (i_ex(obj_board_camera))
43
    {
44
        if (obj_board_camera.con != 0)
45
        {
46
            dontmake = true;
47
            with (obj_board_boulder)
48
                instance_destroy();
49
        }
50
    }
51
    if (init == 0 && dontmake == false)
52
    {
53
        timer = droprate - 1;
54
        boulder = instance_create(320 + irandom_range(-30, 30), 0 - irandom(60), obj_board_boulder);
55
        boulder.sprite_index = bouldersprite;
56
        if (irandom(100) == 72)
57
            boulder.sprite_index = rarebouldersprite;
58
        init = 1;
59
    }
60
    timer++;
61
    if (timer >= droprate && !dontmake)
62
    {
63
        boulder = instance_create(180 + irandom(320), 0 - irandom(40), obj_board_boulder);
64
        boulder.sprite_index = bouldersprite;
65
        if (irandom(100) == 72)
66
            boulder.sprite_index = rarebouldersprite;
67
        timer = 0 + irandom(dropratefluctuation);
68
    }
69
}
70
else
71
{
72
    startedup = 0;
73
    characterfinder = 0;
74
    if (daddy == 0)
75
        timer = 0;
76
}
77
if (premake == "vert")
78
{
79
    with (obj_board_boulder)
80
    {
81
        if (x >= board_tilex(4.5) && x <= board_tilex(7.5))
82
            x = choose(random_range(board_tilex(8.5), board_tilex(11)), random_range(board_tilex(0), board_tilex(3.5)));
83
    }
84
}