Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_fmartlet_star_medium_Step_0

(view raw script w/o annotations or w/e)
1
if live_call()
2
    return global.live_result;
3
switch scene
4
{
5
    case 0:
6
        reset_timer--
7
        if (reset_timer <= 0)
8
            scene++
9
        break
10
    case 1:
11
        speed = lerp(speed, target_speed, 0.07)
12
        target_dir = point_direction(x, y, heart.x, heart.y)
13
        direction += ((angle_difference(target_dir, direction)) * 0.1)
14
        break
15
}
16
17
if (scr_enemy_attack_bullet_hit
scr_enemy_attack_bullet_hit

function scr_enemy_attack_bullet_hit() //gml_Script_scr_enemy_attack_bullet_hit { if live_call() return global.live_result; if variable_instance_exists(id, "bullet_hit_draw_timer") { if (bullet_hit_draw_timer > 0) bullet_hit_draw_timer -= 1 } var collider_id = instance_place(x, y, obj_heart_yellow_shot) if (collider_id != noone) { var collider_object_index = collider_id.object_index instance_create_depth(collider_id.x, collider_id.bbox_top, -999, obj_heart_yellow_shot_destroy) if (collider_object_index == 690) { if (object_index == obj_ceroba_phase_2_bell) instance_destroy(collider_id) if (variable_instance_exists(id, "collider_id_last") && collider_id_last == collider_id) return; if (collider_object_index == 690) collider_id_last = collider_id } else if (collider_object_index == 2561) { if (variable_instance_exists(id, "collider_id_last") && collider_id_last == collider_id) return; collider_id_last = collider_id } else if ((!(variable_instance_exists(id, "collider_id_last"))) || collider_id != collider_id_last) { collider_id.alarm[0] = 1 collider_id.image_alpha = 0 collider_id_last = collider_id } audio_play_sound(snd_arc_hit, 0.1, 0) if variable_instance_exists(id, "bullet_hit_points") { bullet_hit_draw_timer = 5 if (collider_object_index == 690) bullet_hit_points -= 3 else bullet_hit_points -= 1 if (bullet_hit_points <= 0) bullet_destroy_self = true } return true; } }
() && speed > speed_min)
18
{
19
    speed -= speed_dec
20
    with (obj_fmartlet_star_medium)
21
        collider_id_last = other.collider_id_last
22
}
23
if bullet_destroy_self
24
{
25
    var spawn_count = 3
26
    for (var i = 0; i < spawn_count; i++)
27
    {
28
        var star = instance_create_depth((x + (random_range(-10, 10))), (y + (random_range(-10, 10))), depth, obj_fmartlet_star_small)
29
        star.direction = direction - 180 + 45 * i
30
        star.speed = star.target_speed
31
    }
32
    instance_create_depth(x, y, (depth - 1), obj_fmartlet_star_destroy)
33
    obj_fmartlet_star_destroy.sprite_index = destroy_sprite
34
    instance_destroy()
35
}
36
target_dir = point_direction(x, y, heart.x, heart.y)
37
direction += ((angle_difference(target_dir, direction)) * 0.1)