Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_susiezilla_statue_Step_0

(view raw script w/o annotations or w/e)
1
if (i_ex(obj_tenna_enemy) && tennainit == false)
2
{
3
    visible = true;
4
    tennainit = true;
5
}
6
depth = 10000 - y;
7
if (i_ex(obj_tenna_enemy))
8
    depth = 1000 - y;
9
shake *= 0.8;
10
flash = 
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; }
(flash, 0, 1);
11
healflash = 
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; }
(healflash, 0, 1);
12
damage_cooldown = 
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; }
(damage_cooldown, 0, 1);
13
if (sprite_index == spr_susiezilla_ralsei_tower && hp != maxhp)
14
{
15
    with (obj_tenna_zoom)
16
        hurt_counter = 1;
17
}
18
if (shake < 0.5)
19
    shake = 0;
20
polarity *= -1;
21
if (hp == 0)
22
{
23
    with (obj_minigame_quit_ui)
24
        instance_destroy();
25
    with (obj_susiezilla_gamecontroller)
26
        shake = 8;
27
    flash = 10;
28
    shake = 4;
29
    image_xscale = 
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; }
(image_xscale, 3, 0.025);
30
    image_yscale = 
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; }
(image_yscale, 0, 0.025);
31
    with (obj_tenna_enemy)
32
    {
33
        if (minigamefailcount < 3)
34
            minigamefailcount++;
35
    }
36
    if ((global.time % 3) == 0)
37
    {
38
        with (
scr_dark_marker
scr_dark_marker

function
scr_dark_marker(arg0, arg1, arg2)
{ thismarker = instance_create(arg0, arg1, obj_marker); with (thismarker) { sprite_index = arg2; image_speed = 0; image_xscale = 2; image_yscale = 2; } return thismarker; }
(x + random_range(-58, 58), y - irandom(120), spr_realisticexplosion))
39
        {
40
            image_speed = 1;
41
            
scr_doom
scr_doom

function
scr_doom(arg0, arg1)
{ with (instance_create_depth(0, 0, 0, obj_doom)) { alarm[0] target = arg0; } }
(id, 16);
42
            
scr_scale
scr_scale

function
scr_scale()
{ if (argument_count == 1) { image_xscale = argument0; image_yscale = argument0; } if (argument_count == 2) { with (argument1) { image_xscale = argument0; image_yscale = argument0; } } } function scr_set_scale() { if (argument_count == 2) { image_xscale = argument0; image_yscale = argument1; } if (argument_count == 3) { with (argument2) { image_xscale = argument0; image_yscale = argument1; } } }
(2, id);
43
            depth = other.depth - 1;
44
        }
45
        repeat (3 + irandom(5))
46
        {
47
            with (instance_create_depth(x + ((10 + random(70)) * choose(-1, 1)), y - 24 - random(135), depth + choose(-1, 1), obj_dozer_parts))
48
            {
49
                var facing = x - other.x;
50
                immune = true;
51
                sprite_index = spr_susiezilla_statue_chip;
52
                image_angle = irandom(360);
53
                
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 + ((90 + irandom(270)) * choose(-1, 1)), 30 + irandom(60));
54
                image_speed = 0;
55
                image_index = irandom(image_number - 1);
56
                image_xscale = 1 + (random(2) * choose(1, -1));
57
                image_yscale = image_xscale;
58
                h_speed = (sign(facing) * 2) + (random(10) * sign(facing));
59
                v_speed = -4 - random(8);
60
                ground = other.y;
61
            }
62
        }
63
    }
64
}
65
with (obj_susiezilla_gamecontroller)
66
{
67
    if (gameover)
68
        exit;
69
}
70
if (place_meeting(x, y, obj_susiezilla_laser_segment))
71
    take_hit(1, 1, 1);
72
if (
scr_debug
scr_debug

function
scr_debug()
{ if (global.debug == 1) return 1; }
() && keyboard_check_pressed(vk_backspace))
73
{
74
    tv_is_forever = !tv_is_forever;
75
    if (tv_is_forever)
76
        debug_print("Godmode ON.");
77
    else
78
        debug_print("Godmode OFF.");
79
}