Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_roaringknight_boxsplitter_attack_Step_0

(view raw script w/o annotations or w/e)
1
local_turntimer--;
2
if (!init)
3
{
4
    if (difficulty == 0)
5
    {
6
        spawn_speed = 50;
7
    }
8
    else if (difficulty == 1)
9
    {
10
        spawn_speed = 46;
11
        force_swap = irandom(2) + 1;
12
    }
13
    else if (difficulty == 2)
14
    {
15
        spawn_speed = 31;
16
    }
17
    init = true;
18
    vertical = irandom(1);
19
}
20
if (!auto)
21
    exit;
22
if (knight == -4)
23
    knight = 344;
24
if (local_turntimer <= 30)
25
{
26
    if (local_turntimer <= 10 && sprite_index != spr_roaringknight_idle)
27
    {
28
        if (image_xscale < 0)
29
            x -= 220;
30
        image_xscale = abs(image_xscale);
31
        sprite_index = spr_roaringknight_idle;
32
        image_index = 0;
33
    }
34
    else if (local_turntimer < 22 && image_xscale < 0)
35
    {
36
        image_index = 4;
37
    }
38
    if (x < obj_knight_enemy.x)
39
        x++;
40
    var _local_turntimer = local_turntimer;
41
    if (_local_turntimer < 0)
42
        _local_turntimer = 0;
43
    y = lerp(y, knight.y, (50 - _local_turntimer) / 50);
44
    if (local_turntimer < 0 && obj_knight_split_growtangle.split == false)
45
    {
46
        global.turntimer = 0;
47
        instance_destroy();
48
    }
49
    exit;
50
}
51
timer++;
52
if (timer >= spawn_speed)
53
{
54
    timer = 0;
55
    vertical = irandom(1);
56
    if (difficulty == 0)
57
        vertical = force_oneside;
58
    var _xx = vertical ? 0 : 33;
59
    var _slash = instance_create(growtangle.x, growtangle.y, obj_roaringknight_splitslash);
60
    _slash.vertical = vertical;
61
    if (difficulty == 3)
62
    {
63
        _slash.diagonal = diagonal;
64
        if (diagonal)
65
        {
66
            timer = -4;
67
            diagonal = false;
68
        }
69
        else
70
        {
71
            diagonal = irandom(1);
72
        }
73
    }
74
    slash_count++;
75
    if (difficulty <= 2 && spawn_speed > 40)
76
        spawn_speed = 
scr_movetowards
scr_movetowards

function
scr_movetowards(arg0, arg1, arg2)
{ if (arg0 == arg1) return arg0; else if (arg0 > arg1) return max(arg0 - arg2, arg1); else return min(arg0 + arg2, arg1); } function scr_obj_movetowards_obj(arg0, arg1, arg2 = 0, arg3 = 0) { scr_obj_movetowards_point(arg0.x + arg2, arg0.y + arg3, arg1); } function scr_obj_movetowards_point(arg0, arg1, arg2) { var _distance = point_distance(x, y, arg0, arg1); if (arg2 >= _distance) { x = arg0; y = arg1; } else { var _direction = point_direction(x, y, arg0, arg1); x += lengthdir_x(arg2, _direction); y += lengthdir_y(arg2, _direction); } }
(spawn_speed, 40, 3);
77
    spawn_range = 
scr_approach
scr_approach

function
scr_approach(arg0, arg1, arg2)
{ if (arg0 < arg1) { arg0 += arg2; if (arg0 > arg1) return arg1; } else { arg0 -= arg2; if (arg0 < arg1) return arg1; } return arg0; }
(spawn_range, 60, 3);
78
}