Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_encounter_incenseturtle_Step_0

(view raw script w/o annotations or w/e)
1
var targ = 1049;
2
if (con == 0)
3
{
4
    timer++;
5
    var droptime = 50;
6
    if (global.flag[encounterflag] != 0)
7
        droptime = 30;
8
    if (timer == 1)
9
    {
10
        var targy = targ.y + 20;
11
        if (instance_exists(obj_dw_churchc_angelprophecy_encounter))
12
            targy += 10;
13
        scr_lerpvar_respect("y", y, targy, droptime, -1, "out");
14
        var hspmax = 16;
15
        if (global.flag[encounterflag] != 0)
16
            hspmax = 8;
17
        var targspd = hspmax;
18
        if (dir == 0)
19
            targspd = -hspmax;
20
        scr_lerpvar_respect("hsp", 0, targspd, 60, 2, "in");
21
    }
22
    if (timer > 1)
23
    {
24
        var targdepth = obj_mainchara.depth;
25
        with (obj_caterpillarchara)
26
        {
27
            if (depth > targdepth)
28
                targdepth = depth;
29
        }
30
        depth = targdepth + 5;
31
        hspeed = hsp;
32
        if (global.interact != 0)
33
            hspeed = 0;
34
    }
35
    if (timer >= (1 + droptime + 60))
36
    {
37
        if (global.interact == 0)
38
        {
39
            if (global.flag[encounterflag] != 0)
40
            {
41
                vsp = lerp(vsp, 16, 0.1);
42
                y -= vsp;
43
            }
44
        }
45
    }
46
    var xx = x - 32;
47
    var yy = y;
48
    if (global.interact == 0)
49
    {
50
        if (i_ex(collision_rectangle(xx, yy, xx + 68, yy + 36, obj_mainchara, 0, true)))
51
        {
52
            timer = 0;
53
            global.interact = 1;
54
            hspeed = 0;
55
            with (obj_lerpvar)
56
            {
57
                if (target == other.id)
58
                    instance_destroy();
59
            }
60
            con = 1;
61
            timer = 0;
62
            marker = 
scr_marker_ext
scr_marker_ext

function
scr_marker_ext(arg0, arg1, arg2, arg3 = 1, arg4 = 1, arg5 = 0, arg6 = 0, arg7 = 16777215, arg8 = depth, arg9 = false, arg10 = -1, arg11 = 1)
{ var thismarker = instance_create(arg0, arg1, obj_marker); with (thismarker) { depth = arg8; sprite_index = arg2; image_speed = arg5; image_xscale = arg3; image_yscale = arg4; image_index = arg6; image_blend = arg7; image_alpha = arg11; if (arg9)
scr_depth_alt();
} if (arg10 > 0)
scr_doom(thismarker, arg10);
return thismarker; } function scr_marker_fromasset(arg0, arg1 = depth, arg2 = false) { if (is_undefined(arg0)) { debug_message("Warning: scr_marker_fromasset() sprite_instance didn't exist"); return -4; } var sprite = layer_sprite_get_sprite(arg0); var index = layer_sprite_get_index(arg0); var imagespeed = layer_sprite_get_speed(arg0); var xscale = layer_sprite_get_xscale(arg0); var yscale = layer_sprite_get_yscale(arg0); var angle = layer_sprite_get_angle(arg0); var blend = layer_sprite_get_blend(arg0); var alpha = layer_sprite_get_alpha(arg0); var xloc = layer_sprite_get_x(arg0); var yloc = layer_sprite_get_y(arg0); var thismarker = instance_create_depth(xloc, yloc, arg1, obj_marker); with (thismarker) { sprite_index = sprite; image_index = index; image_speed = imagespeed; image_xscale = xscale; image_yscale = yscale; image_angle = angle; image_blend = blend; image_alpha = alpha; if (arg2)
scr_depth_alt(id, arg2);
} return thismarker; } function scr_assetgetinfo(arg0) { var sprite = layer_sprite_get_sprite(arg0); var index = layer_sprite_get_index(arg0); var xloc = layer_sprite_get_x(arg0); var yloc = layer_sprite_get_y(arg0); var xscale = layer_sprite_get_xscale(arg0); var yscale = layer_sprite_get_yscale(arg0); var angle = layer_sprite_get_angle(arg0); var blend = layer_sprite_get_blend(arg0); var alpha = layer_sprite_get_alpha(arg0); var imagespeed = layer_sprite_get_speed(arg0); return [sprite, index, xloc, yloc, xscale, yscale, angle, blend, alpha, imagespeed]; }
(x - 66, y - 50, spr_incense_turtle_body, 2, 2, undefined, undefined, c_black, 500);
63
            with (marker)
64
            {
65
                
scr_lerp_imageblend
scr_lerp_imageblend

function
scr_lerp_imageblend()
{ var lerpblend = instance_create(x, y, obj_lerpimageblend); lerpblend.target = argument0; lerpblend.color1 = argument1; lerpblend.color2 = argument2; var ___time = argument3; if (argument_count > 4) { var _style = argument4; var _ease = argument5; lerpblend.mylerp = scr_lerp_var_instance(lerpblend, "blendindex", 0, 1, ___time, _style, _ease); } else { lerpblend.mylerp = scr_lerp_var_instance(lerpblend, "blendindex", 0, 1, ___time); } with (lerpblend) alarm_set(0, ___time + 1); return lerpblend; }
(id, c_black, c_white, 24, 2, "out");
66
                if (instance_exists(obj_dw_churchc_angelprophecy_encounter))
67
                {
68
                    image_alpha = 0;
69
                    
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, 12);
70
                }
71
            }
72
        }
73
    }
74
}
75
if (con == 1)
76
{
77
    timer++;
78
    if (timer == 1)
79
    {
80
        snd_play(snd_tensionhorn);
81
        snd_play_delay(snd_tensionhorn, 10, undefined, 1.1);
82
        
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", 1, 0, 10);
83
    }
84
    if (timer == 24)
85
    {
86
        global.flag[54 encounter_pointer] = encounterflag;
87
        
scr_battle
scr_battle

function
scr_battle(arg0, arg1, arg2, arg3, arg4)
{ global.specialbattle = arg1; global.encounterno = arg0; if (global.flag[9 battle_music] != 2) { global.flag[9 battle_music] = 1; if (global.chapter == 4 && room != room_dw_castle_dojo) global.batmusic[0] = snd_init("ch4_battle.ogg"); else global.batmusic[0] = snd_init("battle.ogg"); } instance_create(0, 0, obj_battleback); instance_create(0, 0, obj_encounterbasic); __enemymarker[0] = arg2; __enemymarker[1] = arg3; __enemymarker[2] = arg4; for (__ien = 0; __ien < 3; __ien++) { if (global.monstertype[__ien] != 0(None)) { if (!i_ex(__enemymarker[__ien])) { __enemymarker[__ien] =
scr_dark_marker(global.monstermakex[__ien] + 300, global.monstermakey[__ien], object_get_sprite(global.monsterinstancetype[__ien]));
__enemymarker[__ien].depth = -__ien; } __enemymarker[__ien].__ien = __ien; with (__enemymarker[__ien]) {
scr_move_to_point_over_time(global.monstermakex[__ien], global.monstermakey[__ien], 20);
__doom = instance_create(x, y, obj_doom); __doom.target = id; __doom.alarm[0] = 25; } } } }
(encounterno, 0, marker);
88
        instance_destroy();
89
    }
90
}
91
if (x > (room_width + 134) || x < -134)
92
{
93
    debug_print("I'm gone");
94
    instance_destroy();
95
}