Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_organnote_manager_Alarm_2

(view raw script w/o annotations or w/e)
1
var played = false;
2
repeat (simulnotes)
3
{
4
    if (ds_list_size(bullet_list))
5
    {
6
        var cur_note = ds_list_find_value(bullet_list, 0);
7
        with (cur_note)
8
        {
9
            shway_counter = choose(0, 10 * pi);
10
            active = true;
11
            direction = 
scr_at_player
scr_at_player

function
scr_at_player(arg0 = x, arg1 = y)
{ return point_direction(arg0, arg1, obj_heart.x + (obj_heart.sprite_width / 2), obj_heart.y + (obj_heart.sprite_height / 2)); }
(x, y);
12
            
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("speed", -5, 0, 10, 0, "in");
13
            if (other.sameattacker == 0)
14
                scr_var_delayed("direction", 270 + irandom_range(-5, 5), 12);
15
            else
16
                scr_var_delayed("direction", 90 + irandom_range(-5, 5), 12);
17
            
scr_script_delayed
scr_script_delayed

function
scr_script_delayed()
{ var __scriptdelay = instance_create(0, 0, obj_script_delayed); __scriptdelay.script = argument[0]; __scriptdelay.alarm[0] = argument[1]; __scriptdelay.target = id; for (var __i = 0; __i < (argument_count - 2); __i++) __scriptdelay.script_arg[__i] = argument[__i + 2]; __scriptdelay.arg_count = argument_count - 2; return __scriptdelay; }
(scr_afterimage_grow, 12);
18
            if (other.sameattacker == 0 && played < 2)
19
                played++;
20
            if (image_index == 0)
21
            {
22
                
scr_script_delayed
scr_script_delayed

function
scr_script_delayed()
{ var __scriptdelay = instance_create(0, 0, obj_script_delayed); __scriptdelay.script = argument[0]; __scriptdelay.alarm[0] = argument[1]; __scriptdelay.target = id; for (var __i = 0; __i < (argument_count - 2); __i++) __scriptdelay.script_arg[__i] = argument[__i + 2]; __scriptdelay.arg_count = argument_count - 2; return __scriptdelay; }
(scr_var, 12, "speed", 4);
23
                
scr_script_delayed
scr_script_delayed

function
scr_script_delayed()
{ var __scriptdelay = instance_create(0, 0, obj_script_delayed); __scriptdelay.script = argument[0]; __scriptdelay.alarm[0] = argument[1]; __scriptdelay.target = id; for (var __i = 0; __i < (argument_count - 2); __i++) __scriptdelay.script_arg[__i] = argument[__i + 2]; __scriptdelay.arg_count = argument_count - 2; return __scriptdelay; }
(scr_script_repeat, 12, scr_bullet_shway, 240, 1);
24
            }
25
            if (image_index == 1)
26
            {
27
                
scr_script_delayed
scr_script_delayed

function
scr_script_delayed()
{ var __scriptdelay = instance_create(0, 0, obj_script_delayed); __scriptdelay.script = argument[0]; __scriptdelay.alarm[0] = argument[1]; __scriptdelay.target = id; for (var __i = 0; __i < (argument_count - 2); __i++) __scriptdelay.script_arg[__i] = argument[__i + 2]; __scriptdelay.arg_count = argument_count - 2; return __scriptdelay; }
(scr_script_repeat, 12, scr_bullet_shway, 240, 1);
28
                
scr_script_delayed
scr_script_delayed

function
scr_script_delayed()
{ var __scriptdelay = instance_create(0, 0, obj_script_delayed); __scriptdelay.script = argument[0]; __scriptdelay.alarm[0] = argument[1]; __scriptdelay.target = id; for (var __i = 0; __i < (argument_count - 2); __i++) __scriptdelay.script_arg[__i] = argument[__i + 2]; __scriptdelay.arg_count = argument_count - 2; return __scriptdelay; }
(scr_var, 12, "speed", 5);
29
            }
30
            if (image_index == 2)
31
            {
32
                
scr_script_delayed
scr_script_delayed

function
scr_script_delayed()
{ var __scriptdelay = instance_create(0, 0, obj_script_delayed); __scriptdelay.script = argument[0]; __scriptdelay.alarm[0] = argument[1]; __scriptdelay.target = id; for (var __i = 0; __i < (argument_count - 2); __i++) __scriptdelay.script_arg[__i] = argument[__i + 2]; __scriptdelay.arg_count = argument_count - 2; return __scriptdelay; }
(scr_script_repeat, 12, scr_bullet_shway, 240, 1);
33
                
scr_script_delayed
scr_script_delayed

function
scr_script_delayed()
{ var __scriptdelay = instance_create(0, 0, obj_script_delayed); __scriptdelay.script = argument[0]; __scriptdelay.alarm[0] = argument[1]; __scriptdelay.target = id; for (var __i = 0; __i < (argument_count - 2); __i++) __scriptdelay.script_arg[__i] = argument[__i + 2]; __scriptdelay.arg_count = argument_count - 2; return __scriptdelay; }
(scr_var, 12, "speed", 3.75);
34
            }
35
        }
36
        ds_list_delete(bullet_list, 0);
37
    }
38
}
39
if (ds_list_size(bullet_list))
40
{
41
    alarm[2]
 = interval;
gml_Object_obj_organnote_manager_Alarm_2.gml

var played = false; repeat (simulnotes) { if (ds_list_size(bullet_list)) { var cur_note = ds_list_find_value(bullet_list, 0); with (cur_note) { shway_counter = choose(0, 10 * pi); active = true; direction =
scr_at_player(x, y);
scr_lerpvar("speed", -5, 0, 10, 0, "in");
if (other.sameattacker == 0) scr_var_delayed("direction", 270 + irandom_range(-5, 5), 12); else scr_var_delayed("direction", 90 + irandom_range(-5, 5), 12);
scr_script_delayed(scr_afterimage_grow, 12);
if (other.sameattacker == 0 && played < 2) played++; if (image_index == 0) {
scr_script_delayed(scr_var, 12, "speed", 4);
scr_script_delayed(scr_script_repeat, 12, scr_bullet_shway, 240, 1);
} if (image_index == 1) {
scr_script_delayed(scr_script_repeat, 12, scr_bullet_shway, 240, 1);
scr_script_delayed(scr_var, 12, "speed", 5);
} if (image_index == 2) {
scr_script_delayed(scr_script_repeat, 12, scr_bullet_shway, 240, 1);
scr_script_delayed(scr_var, 12, "speed", 3.75);
} } ds_list_delete(bullet_list, 0); } } if (ds_list_size(bullet_list)) { alarm[2]
 = interval;
} else { alarm[1]
 = 1;
bullet_counter = 0; repeating = true; ds_list_clear(origin_list); if (sameattack == 1) { ds_list_add(origin_list, 0, 0, 0, 1, 1, 1, 2, 2, 2); ds_list_add(origin_list, irandom(2)); } else { ds_list_add(origin_list, 0, 0, 1, 1, 2, 2); } ds_list_shuffle(origin_list); ds_list_clear(gap_list); ds_list_add(gap_list, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9); ds_list_shuffle(gap_list); if (sameattack == 2) { repeat (4) ds_list_delete(gap_list, 0); } ds_list_sort(gap_list, true); }
42
}
43
else
44
{
45
    alarm[1]
 = 1;
gml_Object_obj_organnote_manager_Alarm_1.gml

var v_pos; if (sameattacker == 0) v_pos =
scr_get_box(1) - 40;
else v_pos =
scr_get_box(3) + 40;
if (bullet_counter < ds_list_size(origin_list)) { special = choose(-3, -2, -1, 0, 1, 2); with (
scr_fire_bullet(creatorid.x, creatorid.y, obj_regularbullet, 0, 0, spr_musical_notes))
{ sprite_index = spr_musical_notes; image_index = ds_list_find_value(other.origin_list, other.bullet_counter); image_speed = 0; damage = other.damage; target = other.target; grazepoints = 8;
scr_lerpvar("x", x, (
scr_get_box(2) - 20) + (20 * ds_list_find_value(other.gap_list, other.bullet_counter)), 12, 0, "out");
scr_lerpvar("y", y, v_pos + (10 * other.special), 12, -3, "out");
active = false; ds_list_add(other.bullet_list, id); if (other.special == -3) snd_play(snd_organikk_note_f); if (other.special == -2) snd_play(snd_organikk_note_e); if (other.special == -1) snd_play(snd_organikk_note_d); if (other.special == 0) snd_play(snd_organikk_note_c); if (other.special == 1) snd_play(snd_organikk_note_b); if (other.special == 2) snd_play(snd_organikk_note_a); } bullet_counter++; if (repeating) alarm[1]
 = 2;
else alarm[1]
 = 3;
} else { ds_list_shuffle(bullet_list); if (repeating) alarm[2]
 = 1;
else alarm[2]
 = 12;
}
46
    bullet_counter = 0;
47
    repeating = true;
48
    ds_list_clear(origin_list);
49
    if (sameattack == 1)
50
    {
51
        ds_list_add(origin_list, 0, 0, 0, 1, 1, 1, 2, 2, 2);
52
        ds_list_add(origin_list, irandom(2));
53
    }
54
    else
55
    {
56
        ds_list_add(origin_list, 0, 0, 1, 1, 2, 2);
57
    }
58
    ds_list_shuffle(origin_list);
59
    ds_list_clear(gap_list);
60
    ds_list_add(gap_list, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
61
    ds_list_shuffle(gap_list);
62
    if (sameattack == 2)
63
    {
64
        repeat (4)
65
            ds_list_delete(gap_list, 0);
66
    }
67
    ds_list_sort(gap_list, true);
68
}