Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_ceroba_attack_bullet_trail_mask_Step_0

(view raw script w/o annotations or w/e)
1
if live_call()
2
    return global.live_result;
3
var battle_box = obj_dialogue_box_battle_transformation_any
4
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; } }
()
5
if bullet_destroy_self
6
{
7
    instance_destroy()
8
    instance_create_depth(x, y, depth, obj_ceroba_attack_fire_mask_destroy)
9
}
10
switch scene
11
{
12
    case 0:
13
        image_alpha += 0.1
14
        if (image_alpha >= 1)
15
            scene++
16
        break
17
    case 1:
18
        if (speed < target_speed)
19
            speed += 1
20
        var target_distance = battle_box.sprite_height
21
        if (direction == 0 || direction == 180)
22
            target_distance = battle_box.sprite_width
23
        dist_travelled += speed
24
        if (dist_travelled >= (target_distance / bullet_count))
25
        {
26
            dist_travelled = 0
27
            var fireball = instance_create_depth(x, y, (depth + 1), obj_ceroba_attack_bullet_trail_fireball)
28
            fireball.alarm[0] = 30
29
        }
30
        if (point_distance(xstart, ystart, x, y) >= target_distance)
31
            scene++
32
        break
33
    case 2:
34
        image_alpha -= 0.2
35
        if (image_alpha <= 0)
36
            instance_destroy()
37
        break
38
}