Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_heart_battle_fighting_red_Step_0

(view raw script w/o annotations or w/e)
1
script_execute(scr_controls_battle_heart_red);
2
x_previous = x;
3
y_previous = y;
4
move_x = key_left + key_right;
5
move_y = key_down + key_up;
6
hsp = move_x * walk_speed;
7
vsp = move_y * walk_speed;
8
if (key_revert)
9
{
10
    if (speed_sound_noloop == false)
11
    {
12
        if (!instance_exists(obj_quote_bubble_battle))
13
            speed_sound_noloop = true;
14
    }
15
    hsp = round(hsp / 2);
16
    vsp = round(vsp / 2);
17
}
18
else if (speed_sound_noloop == true)
19
{
20
    speed_sound_noloop = false;
21
}
22
hsp += hsp_factor;
23
vsp += vsp_factor;
24
if (sign(hsp) == -1 && (bbox_left + hsp) <= (obj_dialogue_box_battle_transformation_any.bbox_left + 4))
25
{
26
    while ((bbox_left + sign(hsp)) > (obj_dialogue_box_battle_transformation_any.bbox_left + 4))
27
        x += sign(hsp);
28
    hsp = 0;
29
}
30
else if (sign(hsp) == 1 && (bbox_right + hsp) >= (obj_dialogue_box_battle_transformation_any.bbox_right - 4))
31
{
32
    while ((bbox_right + sign(hsp)) < (obj_dialogue_box_battle_transformation_any.bbox_right - 4))
33
        x += sign(hsp);
34
    hsp = 0;
35
}
36
x += hsp;
37
if (sign(vsp) == -1 && (bbox_top + vsp) <= (obj_dialogue_box_battle_transformation_any.bbox_top + 4))
38
{
39
    while ((bbox_top + sign(vsp)) > (obj_dialogue_box_battle_transformation_any.bbox_top + 4))
40
        y += sign(vsp);
41
    vsp = 0;
42
}
43
else if (sign(vsp) == 1 && (bbox_bottom + vsp) >= (obj_dialogue_box_battle_transformation_any.bbox_bottom - 4))
44
{
45
    while ((bbox_bottom + sign(vsp)) < (obj_dialogue_box_battle_transformation_any.bbox_bottom - 4))
46
        y += sign(vsp);
47
    vsp = 0;
48
}
49
y += vsp;
50
obj_heart_red_hitbox.x = x;
51
obj_heart_red_hitbox.y = y;
52
if (instance_exists(obj_heart_battle_effect_glow))
53
{
54
    obj_heart_battle_effect_glow.x = x;
55
    obj_heart_battle_effect_glow.y = y;
56
}
57
if (moveable == true && global.current_sp_self > 0)
58
{
59
    var can_trail = false;
60
    trail_cc_current += 1;
61
    if (trail_cc_current >= trail_cc_max)
62
    {
63
        can_trail = true;
64
        trail_cc_current = 0;
65
    }
66
    if (can_trail == true)
67
    {
68
        ds_list_add(x_list, x);
69
        ds_list_add(y_list, y);
70
        while (ds_list_size(x_list) > max_points_trail)
71
        {
72
            ds_list_delete(x_list, 0);
73
            ds_list_delete(y_list, 0);
74
        }
75
    }
76
}
77
event_user(15);