Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_susiezilla_statue_Create_0

(view raw script w/o annotations or w/e)
1
event_inherited();
2
tennainit = false;
3
if (i_ex(obj_tenna_enemy))
4
    visible = false;
5
shake = 0;
6
polarity = 1;
7
flash = 0;
8
healflash = 0;
9
damage_cooldown = 0;
10
tv_is_forever = false;
11
maxhp = 200;
12
hp = maxhp;
13
target = 0;
14
damage = 0;
15
scr_darksize
scr_darksize

function
scr_darksize()
{ var inst = id; if (argument_count) inst = argument0; inst.image_xscale = 2; inst.image_yscale = 2; }
();
16
17
take_hit = function(arg0, arg1, arg2)
18
{
19
    if (i_ex(obj_tenna_enemy) && obj_tenna_enemy.con > 1)
20
        exit;
21
    shake += 1;
22
    shake = max(shake, 3);
23
    flash = 10;
24
    if (damage_cooldown)
25
        arg1 *= 0.5;
26
    if (i_ex(obj_tenna_enemy) && !damage_cooldown)
27
    {
28
        global.inv = -1;
29
        obj_tenna_enemy.minigamefailcount++;
30
        if (obj_tenna_enemy.minigamefailcount > 2 && obj_tenna_zoom.con != 2 && obj_tenna_zoom.minigameinsanity == false)
31
        {
32
            with (obj_tenna_zoom)
33
            {
34
                con = 2;
35
                timer = -30;
36
            }
37
        }
38
    }
39
    var timeout = false;
40
    with (obj_susiezilla_gamecontroller)
41
    {
42
        if (!time_timer)
43
            timeout = true;
44
    }
45
    if (!damage_cooldown)
46
        damage_cooldown = 40;
47
    snd_stop(snd_damage);
48
    snd_play(snd_damage);
49
    if (hp == 0)
50
        exit;
51
    var godmode = false;
52
    with (obj_susiezilla_gamecontroller)
53
    {
54
        if (loss_counter >= 9)
55
            godmode = true;
56
    }
57
    if (tv_is_forever)
58
        godmode = true;
59
    if (!timeout)
60
    {
61
        if (!godmode)
62
        {
63
            hp = 
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; }
(hp, 0, max(1, floor(arg1 * 0.5), floor(arg1 * (hp / maxhp))));
64
        }
65
        else
66
        {
67
        }
68
    }
69
    if (hp == 0)
70
    {
71
        if (obj_susiezilla_gamecontroller.mode == 0)
72
        {
73
            snd_play_pitch(snd_explosion, 0.5);
74
            with (obj_susiezilla_gamecontroller)
75
                gameover = true;
76
            with (obj_susiezilla_singlescreen_hazard)
77
                speed = 0;
78
            with (obj_susiezilla_gamecontroller)
79
            {
80
                with (obj_script_delayed)
81
                {
82
                    if (target == other.id)
83
                        instance_destroy();
84
                }
85
            }
86
            safe_delete(obj_ch3_tennashouter_alt);
87
            with (obj_script_delayed)
88
            {
89
                if (script == scr_tennashouter)
90
                    instance_destroy();
91
            }
92
        }
93
        else
94
        {
95
            mask_index = spr_nomask;
96
            snd_play_pitch(snd_explosion, 0.5);
97
            with (obj_susiezilla_gamecontroller)
98
            {
99
                if (time_timer)
100
                {
101
                    mode = -1;
102
                    finished = true;
103
                    other.alarm[0] = 20;
104
                }
105
            }
106
            with (obj_susiezilla_singlescreen_shadowguy_parent)
107
            {
108
                if (object_index != obj_susiezilla_singlescreen_kickboxin_tenna)
109
                    instant_defeat();
110
            }
111
            with (obj_susiezilla_singlescreen_hazard)
112
                bounce_off();
113
            if (obj_tenna_zoom.con != 2 && obj_tenna_zoom.minigameinsanity == false)
114
            {
115
                with (obj_tenna_zoom)
116
                {
117
                    con = 2;
118
                    timer = -30;
119
                }
120
            }
121
            with (instance_create_depth(x, y - 48, depth - 2, obj_dozer_parts))
122
            {
123
                var facing = x - other.x;
124
                immune = true;
125
                personal_gravity = 0.25;
126
                flash_start = 999;
127
                endme = 999;
128
                sprite_index = spr_susiezilla_ralsei_yeet;
129
                image_angle = 180;
130
                
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 - 480, 60);
131
                image_speed = 0;
132
                image_index = 0;
133
                image_xscale = 2;
134
                image_yscale = 2;
135
                h_speed = 6;
136
                v_speed = -10;
137
                ground = other.y;
138
            }
139
        }
140
    }
141
};