Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_fmartlet_star_small_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.09)
12
        target_dir = point_direction(x, y, heart.x, heart.y)
13
        direction += ((angle_difference(target_dir, direction)) * 0.25)
14
        if point_in_rectangle(x, y, (battle_box.bbox_left - 10), (battle_box.bbox_top - 10), (battle_box.bbox_right + 10), (battle_box.bbox_bottom + 10))
15
            scene++
16
        break
17
    case 2:
18
        speed = lerp(speed, target_speed, 0.09)
19
        break
20
}
21
22
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)
23
{
24
    if (scene > 0)
25
        speed -= speed_dec
26
}
27
if bullet_destroy_self
28
{
29
    instance_create_depth(x, y, (depth - 1), obj_fmartlet_star_destroy)
30
    obj_fmartlet_star_destroy.sprite_index = destroy_sprite
31
    instance_destroy()
32
}