Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_fmartlet_wings_Step_0

(view raw script w/o annotations or w/e)
1
if (live_call())
2
    return global.live_result;
3
var target_direction = 270 + (30 * image_xscale);
4
var battle_box = 3154;
5
switch (scene)
6
{
7
    case 0:
8
        if (image_index >= 2)
9
            scene = 1;
10
        break;
11
    case 1:
12
        spawn_feathers = true;
13
        scene += 1;
14
        break;
15
    case 2:
16
        if (image_index >= (image_number - 1))
17
            scene++;
18
        break;
19
    case 3:
20
        if (vspeed < 9)
21
            vspeed += 1.5;
22
        if (bbox_top > (battle_box.bbox_top + 4))
23
            surface_draw = true;
24
        break;
25
}
26
if (hp_self <= 0)
27
{
28
    surface_draw = true;
29
    if (x < 320)
30
        hspeed -= 1;
31
    else
32
        hspeed += 1;
33
    if (!place_meeting(x, y, battle_box))
34
        instance_destroy();
35
}
36
if ((y + vspeed) < ystart)
37
    vspeed = 0;
38
if (spawn_feathers && feather_count > 0)
39
{
40
    var spawn_line_length = 110;
41
    var spawn_angle = 90 - (70 * image_xscale);
42
    var spawn_length_inc = spawn_line_length / feather_count;
43
    var spawn_dist_current = 0;
44
    var dir_inc = feather_spread / feather_count;
45
    var start_dir = target_direction - (feather_spread * 0.5);
46
    var tar_dir = target_direction + (feather_spread * 0.5);
47
    if (image_xscale == 1)
48
    {
49
        for (var i = start_dir; i < tar_dir; i += dir_inc)
50
        {
51
            var xx = lengthdir_x(spawn_dist_current, spawn_angle);
52
            var yy = lengthdir_y(spawn_dist_current, spawn_angle);
53
            spawn_dist_current += spawn_length_inc;
54
            var feather = instance_create_depth(x + xx, y + yy, depth + 1, obj_martlet_attack_wing_feather);
55
            feather.direction = i;
56
        }
57
    }
58
    else
59
    {
60
        for (var i = tar_dir; i > start_dir; i -= dir_inc)
61
        {
62
            var xx = lengthdir_x(spawn_dist_current, spawn_angle);
63
            var yy = lengthdir_y(spawn_dist_current, spawn_angle);
64
            spawn_dist_current += spawn_length_inc;
65
            var feather = instance_create_depth(x + xx, y + yy, depth + 1, obj_martlet_attack_wing_feather);
66
            feather.direction = i;
67
        }
68
    }
69
    spawn_feathers = false;
70
}