Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_growtanglebellshake_Step_0

(view raw script w/o annotations or w/e)
1
if (global.turntimer < 1)
2
{
3
    instance_destroy();
4
    exit;
5
}
6
var _attack_happens = false;
7
var _attack_tried = false;
8
life_time++;
9
switch (life_time)
10
{
11
    case 1:
12
        _attack_happens = true;
13
        _attack_tried = true;
14
        break;
15
    case 4:
16
        if (
scr_monsterpop
scr_monsterpop

function
scr_monsterpop()
{ return global.monster[0] + global.monster[1] + global.monster[2]; }
() <= 2)
17
            _attack_happens = true;
18
        _attack_tried = true;
19
        break;
20
    case 7:
21
        if (
scr_monsterpop
scr_monsterpop

function
scr_monsterpop()
{ return global.monster[0] + global.monster[1] + global.monster[2]; }
() <= 1)
22
            _attack_happens = true;
23
        _attack_tried = true;
24
        break;
25
}
26
if (_attack_happens)
27
{
28
    var i = 0;
29
    var _dir = -(bullet_dir_add * ((bullet_number - 1) / 2)) + bullet_dir;
30
    var _shootdir = floor(0.5 + (point_direction(splash_x, splash_y, 
scr_get_box
scr_get_box

function
scr_get_box(arg0)
{ switch (arg0) { case 0: return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5); break; case 1: return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5); break; case 2: return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5); break; case 3: return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5); break; case 4: return obj_growtangle.x; break; case 5: return obj_growtangle.y; break; return false; } }
(4),
scr_get_box
scr_get_box

function
scr_get_box(arg0)
{ switch (arg0) { case 0: return obj_growtangle.x + (obj_growtangle.sprite_width * 0.5); break; case 1: return obj_growtangle.y - (obj_growtangle.sprite_height * 0.5); break; case 2: return obj_growtangle.x - (obj_growtangle.sprite_width * 0.5); break; case 3: return obj_growtangle.y + (obj_growtangle.sprite_height * 0.5); break; case 4: return obj_growtangle.x; break; case 5: return obj_growtangle.y; break; return false; } }
(5)) / 45)) * 45;
31
    snd_stop(snd_churchbell_short);
32
    snd_play(snd_churchbell_short);
33
    repeat (bullet_number)
34
    {
35
        var _bullet = 
scr_fire_bullet
scr_fire_bullet

function
scr_fire_bullet(arg0, arg1, arg2, arg3, arg4, arg5 = -4, arg6 = 0, arg7 = false, arg8 = 87135)
{ var bullet; if (arg8 != 87135) bullet = instance_create_depth(arg0, arg1, arg8, arg2); else bullet = instance_create(arg0, arg1, arg2); with (bullet) { direction = arg3; speed = arg4; if (arg5 != -4) sprite_index = arg5; updateimageangle = arg6; if (arg6) image_angle = arg3; if (arg7) { with (other)
scr_bullet_inherit(other.id);
} } return bullet; } function scr_fire_bullet_colorize(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7 = 0) { var bullet = instance_create(arg0, arg1, arg2); with (bullet) { direction = arg3; speed = arg4; sprite_index = arg5; image_blend = arg6; updateimageangle = arg7; if (arg7) image_angle = arg3; } return bullet; }
(splash_x, splash_y, obj_bullet_bellwave, _shootdir + _dir, bullet_speed);
36
        _bullet.image_index = 0;
37
        _bullet.image_speed = 1;
38
        _bullet.image_angle = _bullet.direction;
39
        _bullet.image_xscale = 1.5;
40
        _bullet.image_yscale = 1.5;
41
        _bullet.visible = false;
42
        _dir += bullet_dir_add;
43
        i++;
44
    }
45
    bullet_dir += (bullet_dir_add / 3);
46
    if (bullet_dir > (bullet_dir_add / 2))
47
        bullet_dir -= bullet_dir_add;
48
}
49
if (_attack_tried)
50
    bullet_speed -= 0.8;
51
if (life_time <= 2)
52
    splash_size += 16;
53
else
54
    splash_size = max(0, (splash_size * 0.96) - 3);
55
shake_dir += shake_speed;
56
if (shake_dir)
57
    shake--;
58
if (shake <= 0 && !i_ex(obj_bullet_bellwave))
59
{
60
    if (instance_number(obj_growtanglebellshake) > 1)
61
    {
62
        with (obj_growtanglebellshake)
63
        {
64
            if (id != other.id)
65
            {
66
                visible = 1;
67
                break;
68
            }
69
        }
70
    }
71
    else
72
    {
73
        with (obj_growtangle)
74
            visible = true;
75
    }
76
    instance_destroy();
77
}