Undertale script viewer

← back to main script listing

gml_Object_obj_tsunderplane_body_Draw_0

(view raw script w/o annotations or w/e)
1
if (hurt == 0)
2
{
3
    siner += 1;
4
}
5
else if (instance_exists(parent))
6
{
7
    x = parent.x;
8
}
9
else
10
{
11
    hurt = 0;
12
    fall = 1;
13
}
14
if (fall < 3)
15
{
16
    grchange -= 1;
17
    if (instance_exists(parent))
18
    {
19
        curgr = parent.graze;
20
        if (prevgr != curgr)
21
            grchange = 7;
22
        prevgr = curgr;
23
    }
24
    x_color = 16777215;
25
    if (grchange > 0)
26
        x_color = merge_color(c_white, c_red, grchange / 10);
27
    draw_sprite_ext(sprite_index, image_index, x + 94, 76 + y + (sin(siner / 7) * 3), 2, 2, rot, x_color, alpha);
28
    draw_sprite_ext(spr_tsunderplanehat, image_index, 154 + x, 90 + y + (sin(siner / 7) * 3), 2, 2, rot, c_white, alpha);
29
}
30
if (fall == 1)
31
{
32
    pl = instance_create(x + 60 + random(60), y + 60 + random(60), obj_planeexhaust);
33
    pl.depth = choose(-1, 1);
34
    gravity = 0.08;
35
    gravity_direction = 270;
36
    x += (sin(siner) * 2);
37
    rot -= 0.75;
38
    scr_setfont
scr_setfont

var newfont = argument0; if (global.language == "ja") { if (newfont == fnt_main) newfont = fnt_ja_main; if (newfont == fnt_maintext) newfont = fnt_ja_maintext; if (newfont == fnt_plain) newfont = fnt_ja_plain; } draw_set_font(newfont);
(fnt_plain);
39
    draw_set_color(c_black);
40
    draw_sprite(spr_blconsm, 0, xstart + 160 + random(5), ystart + 20 + random(5));
41
    draw_text(xstart + 190 + random(2), ystart + 30 + random(2), 
B-but I#never#got to#...!
scr_gettext
scr_gettext

var text_id = argument[0]; var text = ds_map_find_value(global.text_data_en, text_id); if (is_undefined(text)) text = ""; if (global.language == "ja") { var loc_text = ds_map_find_value(global.text_data_ja, text_id); if (!is_undefined(loc_text)) text = loc_text; } for (var i = 1; i <= (string_length(text) - 3); i++) { if (string_copy(text, i, 2) == "\[" && string_char_at(text, i + 3) == "]") { var sel = string_char_at(text, i + 2); var replace; if (sel == "C") replace = global.charname; else if (sel == "G") replace = string(global.gold); else if (sel == "I") replace = global.itemname[global.menucoord[1]]; else if (sel == "1" && argument_count > 1) replace = argument[1]; else if (sel == "2" && argument_count > 2) replace = argument[2]; else if (sel == "3" && argument_count > 3) replace = argument[3]; else if (sel == "4" && argument_count > 4) replace = argument[4]; else if (sel == "5" && argument_count > 5) replace = argument[5]; else if (sel == "6" && argument_count > 6) replace = argument[6]; else if (sel == "7" && argument_count > 7) replace = argument[7]; else if (sel == "8" && argument_count > 8) replace = argument[8]; else if (sel == "9" && argument_count > 9) replace = argument[9]; else replace = ""; var before = string_copy(text, 1, i - 1); var after = string_copy(text, i + 4, string_length(text)); text = before + replace + after; i += (string_length(replace) - 1); } } return text;
("obj_tsunderplane_body_152")
);
42
    if (y > (160 - sprite_height))
43
        fall = 2;
44
}
45
if (fall == 2)
46
{
47
    instance_create(0, 0, obj_flasher);
48
    caster_play(mus_explosion, 1.2, 0.7);
49
    scr_shake
scr_shake

instance_create(0, 0, obj_shaker); obj_shaker.hshake = argument0; obj_shaker.vshake = argument1; obj_shaker.shakespeed = argument2;
(5, 5, 2);
50
    fall = 3;
51
}
52
if (fall == 3)
53
{
54
    rot -= 1;
55
    g = random(0.3);
56
    draw_sprite_ext(spr_planeexplosion, 0, x + 90, 240, (3.5 - (alpha * 1.8)) + g, (3.8 - (alpha * 2)) + g, 0, c_white, alpha);
57
    draw_sprite_ext(spr_tsunderplanehat, image_index, 160 + x, 90 + y + (sin(siner / 7) * 3), 2, 2, rot, c_white, alpha);
58
    alpha -= 0.03;
59
    if (alpha < 0.05)
60
        instance_destroy();
61
}
62
if (fall == 0 && instance_exists(parent))
63
{
64
    if (parent.graze > 0)
65
    {
66
        grgr = parent.graze - 1;
67
        if (grgr > 3)
68
            grgr = 3;
69
        draw_sprite_ext(spr_tsunderplane_blush, grgr, x + 94 + (sin(siner / 7) * 2), 76 + y + (sin(siner / 7) * 4), 2, 2, rot, c_white, 0.7 + (sin(siner / 4) * 0.1));
70
    }
71
}