Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_insomnitot_body_a_Step_0

(view raw script w/o annotations or w/e)
1
var enemy_dead = global.enemy_dead;
2
var enemy_spared = global.enemy_spared;
3
if (enemy_dead == false && enemy_spared == false)
4
    image_alpha = global.image_alpha_enemy_attacking;
5
if (enemy_dead == true)
6
{
7
    x = starting_point_x;
8
    y = starting_point_y;
9
    image_xscale = starting_point_xscale;
10
    image_yscale = starting_point_yscale;
11
    instance_create(starting_point_x, starting_point_y, obj_insomnitot_dead);
12
    instance_destroy();
13
    exit;
14
    image_alpha = 0.5;
15
}
16
else if (enemy_spared == true)
17
{
18
    sprite_index = spr_insomnitot_spared;
19
    x = starting_point_x;
20
    y = starting_point_y;
21
    image_xscale = starting_point_xscale;
22
    image_yscale = starting_point_yscale;
23
    image_alpha = 0.5;
24
    if (no_loop_create_clouds == false)
25
    {
26
        for (i = 0; i <= 11; i += 1)
27
            instance_create(x, y - 22, obj_spare_cloud);
28
    }
29
    no_loop_create_clouds = true;
30
}
31
if (damage_disjoint_count > 0)
32
{
33
    damage_disjoint_count -= 1;
34
}
35
else if (enemy_dead == false && enemy_spared == false)
36
{
37
    if (global.enemy_low_hp == true && global.current_hp_enemy < global.max_hp_enemy)
38
        sprite_index = spr_insomnitot_body_critical;
39
    else
40
        sprite_index = spr_insomnitot_body;
41
}
42
if (instance_exists(obj_text_damage_count) && global.fight_number == 1 && no_loop_damage_disjoint_count == false)
43
{
44
    state = "asleep";
45
    asleep_counter = 0;
46
    awake_counter = 0;
47
    no_loop_awake = false;
48
    time_elapsed = 0;
49
    sign_modifier = 1;
50
    damage_disjoint_count = 12;
51
    no_loop_damage_disjoint_count = true;
52
    audio_play_sound(enemy_hurt_noise, 1, 0, 1, 0, enemy_hurt_pitch);
53
}
54
else if (!instance_exists(obj_text_damage_count))
55
{
56
    no_loop_damage_disjoint_count = false;
57
}
58
if (damage_disjoint_count == 12)
59
    damage_disjoint_x = -50;
60
else if (damage_disjoint_count == 10)
61
    damage_disjoint_x = 50;
62
else if (damage_disjoint_count == 8)
63
    damage_disjoint_x = -20;
64
else if (damage_disjoint_count == 6)
65
    damage_disjoint_x = 20;
66
else if (damage_disjoint_count == 4)
67
    damage_disjoint_x = -10;
68
else if (damage_disjoint_count == 2)
69
    damage_disjoint_x = 10;
70
else if (damage_disjoint_count == 0)
71
    damage_disjoint_x = 0;
72
if (damage_disjoint_count > 0 || global.current_hp_enemy <= 0)
73
{
74
    sprite_index = spr_insomnitot_dead;
75
    image_xscale = starting_point_xscale;
76
    image_yscale = starting_point_yscale;
77
}
78
x = draw_position_x + damage_disjoint_x;
79
y = draw_position_y + damage_disjoint_y;
80
image_xscale = starting_point_xscale;
81
image_yscale = starting_point_yscale;
82
if (!(instance_exists(obj_text_damage_count) && global.fight_number == 1) && enemy_dead == false && enemy_spared == false)
83
{
84
    if (sleep == false)
85
    {
86
        event_user(0);
87
        if (time_elapsed >= time_max)
88
        {
89
            time_elapsed = 0;
90
            sign_modifier = -sign_modifier;
91
        }
92
        event_user(1);
93
    }
94
    else if (state == "asleep")
95
    {
96
        event_user(0);
97
        if (time_elapsed >= time_max)
98
        {
99
            if (sign_modifier < 0)
100
            {
101
                asleep_counter += 1;
102
                if (asleep_counter >= asleep_max)
103
                {
104
                    state = "waking";
105
                    asleep_counter = 0;
106
                }
107
            }
108
            else
109
            {
110
                instance_create(x - 74, y - 72, obj_insomnitot_bubble_a);
111
            }
112
            time_elapsed = 0;
113
            sign_modifier = -sign_modifier;
114
        }
115
        event_user(1);
116
    }
117
    else if (state == "waking")
118
    {
119
        sign_modifier = 1;
120
        event_user(0);
121
        event_user(1);
122
        if (time_elapsed >= (time_max / 2))
123
        {
124
            state = "awake";
125
            no_loop_awake = false;
126
        }
127
    }
128
    else if (state == "awake")
129
    {
130
        if (awake_counter >= awake_max && no_loop_awake == false)
131
        {
132
            alarm[0] = 30;
gml_Object_obj_insomnitot_body_a_Alarm_0.gml

state = "sleep"; awake_counter = 0;
133
            no_loop_awake = true;
134
        }
135
        event_user(1);
136
    }
137
    else if (state == "sleep")
138
    {
139
        sign_modifier = 1;
140
        event_user(0);
141
        if (time_elapsed >= time_max)
142
        {
143
            instance_create(x - 74, y - 72, obj_insomnitot_bubble_a);
144
            state = "asleep";
145
            time_elapsed = 0;
146
            sign_modifier = -sign_modifier;
147
        }
148
        event_user(1);
149
    }
150
    ears_displacement_y = bbox_top + 32;
151
    face_displacement_y = bbox_top + 62;
152
    animating = true;
153
}
154
else
155
{
156
    animating = false;
157
}