Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_knight_swordfall_Step_0

(view raw script w/o annotations or w/e)
1
local_turntimer--;
2
obj_knight_enemy.siner2 = 0;
3
anchor_x = obj_knight_enemy.x;
4
anchor_y = obj_knight_enemy.y;
5
if ((global.time % 4) == 0 && sprite_index != spr_roaringknight_sword_ol && image_alpha != 0 && !alarm[5] && !alarm[2])
6
{
7
    if (sprite_index == spr_roaringknight_attack_ol_center)
8
    {
9
        fade = 
scr_afterimage
scr_afterimage

function
scr_afterimage()
{ afterimage = instance_create(x, y, obj_afterimage); afterimage.sprite_index = sprite_index; afterimage.image_index = image_index; afterimage.image_blend = image_blend; afterimage.image_speed = 0; afterimage.depth = depth; afterimage.image_xscale = image_xscale; afterimage.image_yscale = image_yscale; afterimage.image_angle = image_angle; return afterimage; }
();
10
        fade.x = camerax() + 544;
11
        fade.y = obj_knight_enemy.ystart + (cos(_siner / 8) * 8);
12
        fade.depth = creatorid.depth + 1;
13
        fade.image_alpha = 0.6;
14
        fade.fadeSpeed = 0.04;
15
        fade.hspeed = 4;
16
    }
17
    else
18
    {
19
        fade = 
scr_afterimage
scr_afterimage

function
scr_afterimage()
{ afterimage = instance_create(x, y, obj_afterimage); afterimage.sprite_index = sprite_index; afterimage.image_index = image_index; afterimage.image_blend = image_blend; afterimage.image_speed = 0; afterimage.depth = depth; afterimage.image_xscale = image_xscale; afterimage.image_yscale = image_yscale; afterimage.image_angle = image_angle; return afterimage; }
();
20
        fade.depth = creatorid.depth + 1;
21
        fade.image_alpha = 0.6;
22
        fade.fadeSpeed = 0.04;
23
        fade.hspeed = 4;
24
    }
25
}
26
if (alarm[0])
27
    exit;
28
countdown--;
29
if (countdown == 0)
30
{
31
    var ex = 0;
32
    if (difficulty == 1)
33
        ex = 30;
34
    if (local_turntimer < (turn_time - ex))
35
    {
36
        countdown = 99999;
37
        local_turntimer = 99999;
38
        if (turn_type != "start" && turn_type != "short start" && turn_type != "short mid")
39
        {
40
            alarm[1]
 = 8;
gml_Object_obj_knight_swordfall_Alarm_1.gml

if (difficulty == 0) { with (instance_create((obj_growtangle.x - 55) + random(110), (obj_growtangle.y - 110) + random(30), obj_fallingsword)) { image_angle = point_direction(x, y,
scr_get_box(4), 
scr_get_box(5));
direction = image_angle; speed = -6; speed_gain = 0.3; image_xscale = 2;
scr_lerpvar("image_yscale", 0, -2, 8);
scr_script_delayed(scr_lerpvar, 8, "image_yscale", -2, 2, 8);
scr_lerpvar("image_angle", image_angle, image_angle + 360, 16, 1, "out");
scr_lerpvar("image_alpha", 0, 1, 16, 1, "out");
finalsword = true; grazepoints = 30; } } if (difficulty == 1) { with (instance_create((obj_growtangle.x + 55) - random(40), (obj_growtangle.y - 110) + random(30), obj_fallingsword)) { image_angle = point_direction(x, y,
scr_get_box(4), 
scr_get_box(5));
direction = image_angle; speed = -6; speed_gain = 0.3; image_xscale = 2;
scr_lerpvar("image_yscale", 0, -2, 8);
scr_script_delayed(scr_lerpvar, 8, "image_yscale", -2, 2, 8);
scr_lerpvar("image_angle", image_angle, image_angle + 360, 16, 1, "out");
scr_lerpvar("image_alpha", 0, 1, 16, 1, "out");
finalsword = true; grazepoints = 30; } with (instance_create((obj_growtangle.x - 55) + random(40), (obj_growtangle.y - 110) + random(30), obj_fallingsword)) { image_angle = point_direction(x, y,
scr_get_box(4), 
scr_get_box(5));
direction = image_angle; speed = -6; speed_gain = 0.3; image_xscale = 2;
scr_lerpvar("image_yscale", 0, -2, 8);
scr_script_delayed(scr_lerpvar, 8, "image_yscale", -2, 2, 8);
scr_lerpvar("image_angle", image_angle, image_angle + 360, 16, 1, "out");
scr_lerpvar("image_alpha", 0, 1, 16, 1, "out");
finalsword = true; grazepoints = 30; } }
41
            alarm[2]
 = 60;
gml_Object_obj_knight_swordfall_Alarm_2.gml

scr_lerpvar("y", obj_knight_enemy.y + 120, obj_knight_enemy.y - 20, 30, 1, "out");
scr_script_delayed(scr_lerpvar, 30, "y", obj_knight_enemy.y - 20, obj_knight_enemy.y + 10, 20, 2, "inout");
scr_script_delayed(scr_lerpvar, 50, "y", obj_knight_enemy.y + 10, obj_knight_enemy.y, 10, 2, "inout");
dip = 0; x = obj_knight_enemy.x + 10; image_xscale = 2; sprite_index = spr_roaringknight_sword_ol; image_angle = -90;
scr_lerpvar("image_yscale", 0, -2, 4, 1, "in");
scr_script_delayed(scr_lerpvar, 4, "image_yscale", -2, 0, 5, 1, "in");
scr_script_delayed(scr_var, 9, "sprite_index", spr_roaringknight_attack_ol_center);
scr_script_delayed(scr_var, 9, "image_angle", 0);
scr_script_delayed(scr_var, 9, "image_xscale", 0);
scr_script_delayed(scr_var, 9, "image_yscale", 2);
scr_script_delayed(scr_lerpvar, 9, "image_xscale", 0, 2, 6, 1, "out");
forcexfix = true; alarm[4]
 = 26;
42
        }
43
        if (turn_type == "start" || turn_type == "short start" || turn_type == "short mid")
44
        {
45
            
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; }
("image_index", 4, 0, 8);
46
            alarm[3]
 = 4;
gml_Object_obj_knight_swordfall_Alarm_3.gml

if (next_up != -999) { var knight = -4; switch (next_up) { case 1: knight = 366; break; case 2: knight = 670; break; case 3: knight = 803; break; case 5: knight = 1174; break; } var new_knight = instance_create(x, y, knight);
scr_bullet_inherit(new_knight);
new_knight.creatorid = creatorid; new_knight.creator = creator; with (new_knight) { turn_type = "end"; if (other.turn_segment == 0) { turn_type = "short mid"; turn_segment = 1; next_up = other.next_next_up; } if (other.turn_segment == 1) { turn_type = "short end"; turn_segment = 2; } anchor_x = other.anchor_x; anchor_y = other.anchor_y; event_user(0); if (knight == 803) { timer = -8; fake_timer = -8; } if (knight == 1174) { with (instance_create_depth(x, y, depth, obj_knight_warp)) { master = other.id; event_user(1); } knight.alarm[0] = 1; } } } instance_destroy();
47
        }
48
        exit;
49
    }
50
    with (instance_create((obj_growtangle.x - 110) + random(220), (obj_growtangle.y - 110) + random(30), obj_fallingsword))
51
    {
52
        image_angle = point_direction(x, y, clamp((obj_growtangle.x + 95) - random(190), x - 40, x + 40), obj_growtangle.y + 110);
53
        direction = image_angle;
54
        speed = -4;
55
        
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; }
("image_yscale", 0, -1, 8);
56
        
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_lerpvar, 8, "image_yscale", -1, 1, 8);
57
        
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; }
("image_angle", image_angle, image_angle + 360, 16, 1, "out");
58
        
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; }
("image_alpha", 0, 1, 16, 1, "out");
59
    }
60
    if (difficulty == 0)
61
    {
62
        countdowner = 
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; }
(countdowner, 5, 5);
63
        countdown = countdowner - irandom(1);
64
    }
65
    if (difficulty == 1)
66
    {
67
        countdowner = 
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; }
(countdowner, 4, 5);
68
        countdown = countdowner;
69
    }
70
}