Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_mike_combo_original_Step_0

(view raw script w/o annotations or w/e)
1
if (action == 0)
2
{
3
    with (obj_mike_battle)
4
    {
5
        x += ((other.x - x) * 0.1);
6
        y += ((other.y - y) * 0.1);
7
        action = 3;
8
    }
9
    circle_scale = 
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; }
(circle_scale, 200, 3);
10
    if (circle_scale == 200)
11
    {
12
        action = 1;
13
        with (obj_mike_battle)
14
        {
15
            visible = false;
16
            move = true;
17
            action = 0;
18
            var a = snd_play(snd_boost);
19
            sound_volume(a, 0.5, 0);
20
        }
21
    }
22
}
23
if (action == 1)
24
{
25
    circle_scale += circle_speed;
26
    circle_speed += 1;
27
    circle_alpha -= 0.05;
28
    if (circle_alpha <= 0)
29
    {
30
        action = 2;
31
        with (obj_mike_attack_controller)
32
            wave = 1;
33
    }
34
}
35
if (action == 2)
36
{
37
    timer += 1;
38
    if (timer > 15)
39
        y += (((cameray() + 120) - y) * 0.2);
40
    if (timer > 30)
41
    {
42
        action = 3;
43
        timer = 0;
44
        with (obj_mike_attack_controller)
45
            wave = 2;
46
    }
47
}
48
if (action > 0)
49
{
50
    image_angle += rot_speed;
51
    image_xscale += ((2 - image_xscale) * 0.2);
52
    image_yscale = image_xscale;
53
    cooldown -= 1;
54
}
55
if (action == 3)
56
{
57
    if (hp > 1 && hp < hp_max)
58
        hp = 
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; }
(hp, 1, dot);
59
    rot_speed2 = 
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; }
(rot_speed2, 2 + ((1 - (hp / hp_max)) * 2), 1);
60
    rot_speed += ((rot_speed2 - rot_speed) * 0.2);
61
    counter += (0.05 + ((1 - (hp / hp_max)) * 0.1));
62
    xx = camerax() + (camerawidth() / 2) + (cos(counter) * 180);
63
    x += ((xx - x) * 0.5);
64
    timer += 1;
65
    if (timer >= attack_timer)
66
    {
67
        action = 4;
68
        timer = 60;
69
        with (obj_mike_attack_controller)
70
        {
71
            counter = other.timer;
72
            x = other.x;
73
        }
74
    }
75
}
76
if (action == 4)
77
{
78
    rot_speed += 1;
79
    timer -= 1;
80
    if (timer <= 0)
81
    {
82
        action = 5;
83
        sound_play(snd_screenshake);
84
        active = true;
85
    }
86
}
87
if (action == 5)
88
{
89
    timer += 1;
90
    if (timer > 30)
91
    {
92
        y += (((cameray() + 120) - y) * 0.2);
93
        if (timer > 60)
94
        {
95
            timer = 0;
96
            action = 3;
97
            active = false;
98
            attack_timer = irandom_range(30, 120);
99
        }
100
    }
101
    else
102
    {
103
        rot_speed = 
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; }
(rot_speed, 0, 4);
104
        y = 
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; }
(y, obj_mike_controller.y + 60, 16);
105
    }
106
}
107
if (hp <= 0 && action < 6)
108
{
109
    action = 6;
110
    timer = 0;
111
}
112
if (action == 6)
113
{
114
    y = 
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; }
(y, obj_mike_controller.y - 150, 4);
115
    rot_speed = 
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; }
(rot_speed, 0, 1);
116
    timer += 1;
117
    if (timer > 90)
118
    {
119
        sound_play(snd_pombark);
120
        with (obj_mike_attack_controller)
121
            action = 16;
122
        instance_destroy();
123
    }
124
}