Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_martlet_attack_splitting_feather_Create_0

(view raw script w/o annotations or w/e)
1
if (live_call())
2
    return global.live_result;
3
damage_number = scr_determine_damage_number_enemy
scr_determine_damage_number_enemy

function scr_determine_damage_number_enemy(arg0, arg1, arg2) { var enemy_count = global.enemy_count; if (global.battle_enemy_name_1 == arg0) return 1; else if (enemy_count >= 2 && global.battle_enemy_name_2 == arg1) return 2; else if (enemy_count >= 3 && global.battle_enemy_name_3 == arg2) return 3; else return 0; }
("martlet", "void", "void");
4
state = 1;
5
angle_destination = point_direction(x, y, obj_heart_battle_fighting_parent.x, obj_heart_battle_fighting_parent.y);
6
x_target_override = obj_heart_battle_fighting_parent.x;
7
y_target_override = obj_heart_battle_fighting_parent.y;
8
image_angle = angle_destination - 180;
9
alarm[0] = 1;
gml_Object_obj_martlet_attack_splitting_feather_Alarm_0.gml

if (live_call()) return global.live_result; x_destination = x_target_override; y_destination = y_target_override; angle_destination = point_direction(x, y, x_destination, y_destination); if (angle_difference(image_angle, angle_destination) > 0) spin_direction = 1; else spin_direction = -1; global.id_store = id; with (instance_create_depth(x_destination, y_destination, -100, obj_martlet_attack_splitting_feather_target_axis)) geno_target_angle = other.explosion_angle; id_target = global.id_store; state = 1; switch (sprite_index) { case spr_battle_enemy_attack_martlet_feather_1: audio_play_sound(snd_mart_feather_atk3, 20, 0); break; case spr_battle_enemy_attack_martlet_feather_2: case spr_battle_enemy_attack_martlet_feather_3: audio_play_sound(snd_mart_feather_atk1, 20, 0); break; case spr_battle_enemy_attack_martlet_feather_4: case spr_battle_enemy_attack_martlet_feather_5: audio_play_sound(snd_mart_feather_atk2, 20, 0); break; default: audio_play_sound(snd_mart_feather_atk1, 20, 0); }
10
fall_speed = irandom_range(3, 5);
11
x_point = x;
12
y_point = y;
13
angle_pos = 270;
14
angle_pos_default = angle_pos;
15
angle_pos_max = 15 * fall_speed;
16
angle_radius = 10;
17
starting_position_x = x;
18
starting_position_y = y;
19
animation_disjoint_x = 0;
20
animation_disjoint_y = 0;
21
can_move = false;
22
explosion_angle = 0;
23
var random_number;
24
if (!instance_exists(obj_martlet_body))
25
{
26
    random_number = irandom_range(1, 3);
27
    explosion_angle = irandom_range(0, 359);
28
}
29
else
30
{
31
    random_number = irandom_range(1, 5);
32
}
33
switch (random_number)
34
{
35
    case 1:
36
        sprite_index = spr_battle_enemy_attack_martlet_feather_1;
37
        break;
38
    case 2:
39
        sprite_index = spr_battle_enemy_attack_martlet_feather_2;
40
        break;
41
    case 3:
42
        sprite_index = spr_battle_enemy_attack_martlet_feather_3;
43
        break;
44
    case 4:
45
        sprite_index = spr_battle_enemy_attack_martlet_feather_4;
46
        break;
47
    case 5:
48
        sprite_index = spr_battle_enemy_attack_martlet_feather_5;
49
        break;
50
    default:
51
        sprite_index = spr_battle_enemy_attack_martlet_feather_1;
52
}
53
image_speed = 0;
54
image_index = 0;
55
image_alpha = 0;
56
random_number = irandom_range(0, 1);
57
if (random_number == 0)
58
    random_number = -1;
59
sign_modifier = random_number;
60
time_elapsed = 0;
61
time_max = 30 + (15 * (fall_speed - 1));
62
time_increase = 1;
63
max_rise = 10 * fall_speed * irandom_range(1, 2);
64
time_elapsed_increase_fall = round(time_max / 3);
65
spin_speed = 25;
66
no_loop_spin = false;
67
attack_speed = 28;
68
in_box = false;
69
x_list = ds_list_create();
70
y_list = ds_list_create();
71
angle_list = ds_list_create();
72
max_points_trail = 10;
73
trail_sprite = sprite_index;
74
trail_cc_max = 3;
75
trail_cc_start = trail_cc_max - 1;
76
trail_cc_current = trail_cc_start;
77
feather_targetted = true;
78
feather_create_count = 7;
79
id_target = -4;