Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_dialogue_call_for_help_Draw_64

(view raw script w/o annotations or w/e)
1
if live_call()
2
    return global.live_result;
3
draw_set_alpha(draw_alpha)
4
if (message_current > (array_length_1d(prt) - 1) || prt[message_current] == 0)
5
    portrait = false
6
else
7
    portrait = true
8
var yy = 91
9
var xx = 50
10
var portrait_xx = 52
11
var line_sep = 18
12
var xs1 = 3.8
13
var ys1 = 0.5
14
bsize = 0.1
15
var xs2 = xs1 + bsize
16
var ys2 = ys1 + bsize
17
box_xx = 160
18
box_yy = 110
19
draw_set_font(dialogue_font)
20
draw_set_color(c_white)
21
draw_set_halign(fa_left)
22
message_actual = string_copy(message[message_current], 0, cutoff)
23
draw_text_ext(xx, (yy + 10), string_hash_to_newline(message_actual), line_sep, -1)
24
if (color == true)
25
{
26
    if (color_set == false)
27
    {
28
        for (var i = 0; i < (array_length_1d(message) - 1); i++)
29
        {
30
            var len = array_length_2d(message_col, i)
31
            if (len == 0)
32
                message_col[i][0] = ""
33
            else if (len > 0)
34
            {
35
                for (var j = 0; j < (array_length_1d(col_modif) - 1); j++)
36
                {
37
                    if (j < array_length_2d(message_col, i) && message_col[i][j] == 0)
38
                        message_col[i][j] = ""
39
                }
40
            }
41
        }
42
        color_set = true
43
    }
44
    for (j = 0; j < array_length_2d(message_col, message_current); j++)
45
    {
46
        message_actual_col[j] = string_copy(message_col[message_current][j], 0, cutoff)
47
        draw_set_color(col_modif[j])
48
        draw_text_ext(xx, (yy + 10), string_hash_to_newline(message_actual_col[j]), line_sep, -1)
49
    }
50
}
51
draw_set_color(c_white)
52
if (dialogue_is_minishop == true)
53
{
54
    var minishop_box_xx = 204
55
    var minishop_box_yy = 92
56
    draw_set_color(c_white)
57
    draw_rectangle(minishop_box_xx, minishop_box_yy, (minishop_box_xx + 100), (minishop_box_yy + 53), false)
58
    draw_set_color(c_black)
59
    draw_rectangle((minishop_box_xx + 3), (minishop_box_yy + 3), (minishop_box_xx + 100 - 3), (minishop_box_yy + 53 - 3), false)
60
    draw_set_font(fnt_battle)
61
    draw_set_color(c_white)
62
    var item_count = 1
63
    while (item_count <= 8)
64
    {
65
        if (global.item_slot[item_count] == "Nothing")
66
            break
67
        else
68
        {
69
            item_count++
70
            continue
71
        }
72
    }
73
    draw_text(217, 100, string_hash_to_newline("$ - " + string(global.player_gold) + "#SPACE - " + (string(item_count - 1)) + "/8"))
74
}
75
if (choice == false && alpha_fade == false)
76
    return;
77
xx = 100
78
var spacing = 0.25
79
if (ch[4] != "")
80
    spacing = 0.5
81
if portrait
82
    spacing = 0.15
83
if (position == 0)
84
{
85
    var ypos1 = 190
86
    if (ch[3] == "")
87
        ypos1 = 210
88
    var ypos2 = 210
89
}
90
else
91
{
92
    ypos1 = 32
93
    if (ch[3] == "")
94
        ypos1 = 56
95
    ypos2 = 56
96
}
97
if (ch[4] != "")
98
    xx -= 30
99
var xpos1 = xx
100
var xpos2 = xx + 122
101
if (portrait == true)
102
    xpos1 += 20
103
var xpos3 = xpos1
104
var xpos4 = xpos2
105
if (ch[2] == "")
106
    xpos1 = xpos1 + 56
107
if (ch[4] == "")
108
    xpos3 = xpos1 + 56
109
draw_set_alpha(ch_alpha)
110
if (cutoff >= string_length(message[message_current]) && global.dialogue_open == true)
111
{
112
    draw_set_halign(fa_center)
113
    if (ch[4] != "")
114
        draw_set_halign(fa_left)
115
    draw_text(xpos1, ypos1, string_hash_to_newline(ch[1]))
116
    if (ch[2] != "")
117
        draw_text(xpos2, ypos1, string_hash_to_newline(ch[2]))
118
    if (ch[3] != "")
119
        draw_text(xpos3, ypos2, string_hash_to_newline(ch[3]))
120
    if (ch[4] != "")
121
        draw_text(xpos4, ypos2, string_hash_to_newline(ch[4]))
122
    draw_set_halign(fa_center)
123
    var soul_offset = string_width(string_hash_to_newline(ch[p])) * 0.5
124
    if (ch[4] != "")
125
        soul_offset = 0
126
    switch p
127
    {
128
        case 1:
129
            var soul_x = xpos1 - soul_offset - 8
130
            var soul_y = ypos1 + 8
131
            break
132
        case 2:
133
            soul_x = xpos2 - soul_offset - 8
134
            soul_y = ypos1 + 8
135
            break
136
        case 3:
137
            soul_x = xpos3 - soul_offset - 8
138
            soul_y = ypos2 + 8
139
            break
140
        case 4:
141
            soul_x = xpos4 - soul_offset - 8
142
            soul_y = ypos2 + 8
143
            break
144
    }
145
146
    draw_sprite(spr_heart_yellow_overworld, 0, soul_x, soul_y)
147
}
148
draw_set_alpha(1)
149
draw_set_halign(fa_left)