Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_ceroba_body_Step_0

(view raw script w/o annotations or w/e)
1
var low_hp_state = global.current_hp_enemy < (global.max_hp_enemy * 0.3);
2
if (death_sprite == true && sprite_index != spr_ceroba_murder_death)
3
{
4
    sprite_index = spr_ceroba_murder_death;
5
    image_speed = 0.25;
6
    image_index = 0;
7
}
8
if (global.enemy_dead == true)
9
{
10
    instance_create(x - 46, y - 10, obj_ceroba_dead);
11
    instance_destroy();
12
    exit;
13
    image_alpha = 0.5;
14
}
15
if (sprite_index == spr_ceroba_murder_death)
16
    exit;
17
var anim_loop_time_half = anim_loop_time / 2;
18
var anim_inc_current = ((anim_stretch_max - 1) / anim_loop_time_half) * anim_inc_multiplier;
19
if (anim_stage == 1)
20
{
21
    anim_stretch_current += anim_inc_current;
22
    anim_inc_multiplier -= (anim_inc_multiplier_max / anim_loop_time_half);
23
    if (anim_stretch_current >= anim_stretch_max)
24
    {
25
        anim_stretch_current = anim_stretch_max;
26
        anim_stage = 2;
27
        anim_inc_multiplier = anim_inc_multiplier_max;
28
    }
29
}
30
if (anim_stage == 2)
31
{
32
    anim_stretch_current -= ((anim_stretch_max - 1) / anim_loop_time_half);
33
    anim_inc_multiplier -= (anim_inc_multiplier_max / anim_loop_time_half);
34
    if (anim_stretch_current <= 1)
35
    {
36
        anim_stretch_current = 1;
37
        anim_stage = 1;
38
        anim_inc_multiplier = anim_inc_multiplier_max;
39
    }
40
}
41
if (sprite_index == spr_ceroba_body || sprite_index == spr_ceroba_body_hurt)
42
    image_yscale = anim_stretch_current;
43
else
44
    image_yscale = 1;
45
obj_ceroba_head.y = y - (anim_head_offset * image_yscale);
46
obj_ceroba_hand_right.y = y - (anim_hand_right_offset * image_yscale);
47
obj_ceroba_hand_left.y = y - (anim_hand_left_offset * image_yscale);
48
obj_ceroba_staff.y = y - (anim_staff_offset * image_yscale);
49
obj_ceroba_ponytail.y = obj_ceroba_head.y - anim_ponytail_offset;
50
if (damage_disjoint_count > 0)
51
    damage_disjoint_count -= 1;
52
if (instance_exists(obj_text_damage_count) && global.fight_number == 1 && no_loop_damage_disjoint_count == false)
53
{
54
    damage_disjoint_count = 12;
55
    no_loop_damage_disjoint_count = true;
56
}
57
else if (!instance_exists(obj_text_damage_count))
58
{
59
    no_loop_damage_disjoint_count = false;
60
}
61
if (damage_disjoint_count == 12)
62
{
63
    damage_disjoint_x = -50;
64
}
65
else if (damage_disjoint_count == 10)
66
{
67
    damage_disjoint_x = 50;
68
}
69
else if (damage_disjoint_count == 8)
70
{
71
    damage_disjoint_x = -20;
72
}
73
else if (damage_disjoint_count == 6)
74
{
75
    damage_disjoint_x = 20;
76
}
77
else if (damage_disjoint_count == 4)
78
{
79
    damage_disjoint_x = -10;
80
}
81
else if (damage_disjoint_count == 2)
82
{
83
    damage_disjoint_x = 10;
84
}
85
else if (damage_disjoint_count == 0)
86
{
87
    damage_disjoint_x = 0;
88
    if (sprite_index == spr_ceroba_hurt)
89
    {
90
        sprite_index = spr_ceroba_body;
91
    }
92
    else if (sprite_index == spr_ceroba_hurt_phase_2)
93
    {
94
        sprite_index = spr_ceroba_body;
95
        if (low_hp_state)
96
        {
97
            sprite_index = spr_ceroba_body_hurt;
98
            obj_ceroba_head.sprite_index = spr_ceroba_head_hurt;
99
            obj_ceroba_hand_left.sprite_index = spr_ceroba_hand_left_hurt;
100
            obj_ceroba_hand_right.sprite_index = spr_ceroba_hand_right_hurt;
101
            obj_ceroba_staff.sprite_index = spr_ceroba_staff_battle_phase_2_hurt;
102
            obj_ceroba_ponytail.sprite_index = spr_ceroba_ponytail_hurt;
103
        }
104
    }
105
}
106
if (damage_disjoint_count > 0)
107
{
108
    sprite_index = spr_ceroba_hurt;
109
    if (global.battle_phase == 2)
110
        sprite_index = spr_ceroba_hurt_phase_2;
111
    image_xscale = 1;
112
    image_yscale = 1;
113
}
114
x = starting_point_x + damage_disjoint_x;