Deltarune (Chapter 1) script viewer

← back to main script listing

gml_Object_obj_battlecontroller_Draw_0

(view raw script w/o annotations or w/e)
1
xx = __view_get(e__VW.XView, 0);
2
yy = __view_get(e__VW.YView, 0);
3
tpoff = (tp - tpy) + yy;
4
bpoff = -bp + bpy + yy;
5
var spell_offset = 500;
6
if (global.lang == "ja")
7
    spell_offset = 496;
8
if (intro == 1)
9
{
10
    if (bp < (bpy - 1))
11
    {
12
        if ((bpy - bp) < 40)
13
            bp += round((bpy - bp) / 2.5);
14
        else
15
            bp += 30;
16
    }
17
    else
18
    {
19
        bp = bpy;
20
    }
21
    if (bp == bpy)
22
        intro = 0;
23
}
24
if (intro == 2)
25
{
26
    if (bp > 0)
27
    {
28
        if (round((bpy - bp) / 5) > 15)
29
            bp -= round((bpy - bp) / 2.5);
30
        else
31
            bp -= 30;
32
    }
33
    else
34
    {
35
        bp = 0;
36
    }
37
}
38
draw_set_color(c_black);
39
draw_rectangle(xx - 10, 481 + yy, xx + 700, (480 - bp) + yy, false);
40
draw_set_color(bcolor);
41
draw_rectangle(xx - 10, (480 - bp - 2) + yy, xx + 700, (480 - bp) + yy, false);
42
draw_set_color(bcolor);
43
draw_rectangle(xx - 10, (480 - bp) + 34 + yy, xx + 700, (480 - bp) + 36 + yy, false);
44
scr_charbox
scr_charbox

function
scr_charbox()
{ for (c = 0; c < 3; c += 1) { if (havechar[c] == 1) { if (c == 0) charcolor = hpcolor[0]; if (c == 1) charcolor = hpcolor[1]; if (c == 2) charcolor = hpcolor[2]; gc = global.charturn; xchunk = 0; if (charpos[c] == 0 && chartotal == 3) xchunk = 0; if (charpos[c] == 1 && chartotal == 3) xchunk = 212; if (charpos[c] == 2 && chartotal == 3) xchunk = 424; if (charpos[c] == 0 && chartotal == 2) xchunk = 106; if (charpos[c] == 1 && chartotal == 2) xchunk = 326; if (charpos[c] == 0 && chartotal == 1) xchunk = 212; if (gc == charpos[c]) { if (global.myfight == 0)
scr_selectionmatrix(xx + xchunk, (480 - bp) + yy);
if (mmy[c] > -32) mmy[c] -= 2; if (mmy[c] > -24) mmy[c] -= 4; if (mmy[c] > -16) mmy[c] -= 6; if (mmy[c] > -8) mmy[c] -= 8; if (mmy[c] < -32) mmy[c] = -64; } else if (mmy[c] < -14) { mmy[c] += 15; } else { mmy[c] = 0; } btc[0] = 0; btc[1] = 0; btc[2] = 0; btc[3] = 0; btc[4] = 0; if (gc == charpos[c]) btc[global.bmenucoord[0][global.charturn]] = 1; if (global.fighting == 1) { spare_glow = 0; for (sglowi = 0; sglowi < 3; sglowi += 1) { if (global.monster[sglowi] == 1 && global.mercymod[sglowi] >= 100) spare_glow = 1; } pacify_glow = 0; if (c == 2) { for (sglowi = 0; sglowi < 3; sglowi += 1) { if (global.monster[sglowi] == 1 && global.monsterstatus[sglowi] == 1 && global.tension >= 40) pacify_glow = 1; if (global.encounterno == 31) pacify_glow = 0; } } draw_sprite(
scr_84_get_sprite("spr_btfight"), btc[0], xx + xchunk + 15, (485 - bp) + yy);
if (c == 0) draw_sprite(
scr_84_get_sprite("spr_btact"), btc[1], xx + xchunk + 50, (485 - bp) + yy);
else draw_sprite(
scr_84_get_sprite("spr_bttech"), btc[1], xx + xchunk + 50, (485 - bp) + yy);
draw_sprite(
scr_84_get_sprite("spr_btitem"), btc[2], xx + xchunk + 85, (485 - bp) + yy);
draw_sprite(
scr_84_get_sprite("spr_btspare"), btc[3], xx + xchunk + 120, (485 - bp) + yy);
draw_sprite(
scr_84_get_sprite("spr_btdefend"), btc[4], xx + xchunk + 155, (485 - bp) + yy);
if (spare_glow == 1 && gc == charpos[c]) draw_sprite_ext(
scr_84_get_sprite("spr_btspare"), 2, xx + xchunk + 120, (485 - bp) + yy, 1, 1, 0, c_white, 0.4 + (sin(global.time / 6) * 0.4));
if (pacify_glow == 1 && gc == charpos[c]) draw_sprite_ext(
scr_84_get_sprite("spr_bttech"), 2, xx + xchunk + 50, (485 - bp) + yy, 1, 1, 0, c_white, 0.4 + (sin(global.time / 6) * 0.4));
} if (gc == charpos[c]) draw_set_color(charcolor); else draw_set_color(bcolor); if (global.charselect == charpos[c] || global.charselect == 3) draw_set_color(charcolor); draw_rectangle(xx + xchunk, (480 - bp - 2) + yy + mmy[c], xx + xchunk + 212, (480 - bp) + yy, false); draw_set_color(c_black); draw_rectangle(xx + xchunk + 2, (480 - bp) + yy + mmy[c], xx + xchunk + 210, (480 - bp) + yy + mmy[c] + 33, false); b_offset = 480; if (global.fighting == 0) b_offset = 430; if (global.fighting == 1) ...
();
45
if (global.bmenuno == 1 || global.bmenuno == 3 || global.bmenuno == 11 || global.bmenuno == 12)
46
{
47
    if (global.myfight == 0)
48
    {
49
        draw_sprite(spr_heart, 0, xx + 55, yy + 385 + (global.bmenucoord[global.bmenuno][global.charturn] * 30));
50
        
scr_84_set_draw_font
scr_84_set_draw_font

function
scr_84_set_draw_font(arg0)
{ global.chemg_font = arg0; draw_set_font(
scr_84_get_font(arg0));
}
("mainbig");
51
        for (i = 0; i < 3; i += 1)
52
        {
53
            with (global.monsterinstance[global.bmenucoord[global.bmenuno][global.charturn]])
54
            {
55
                if (flash == 0)
56
                    fsiner = 0;
57
                flash = 1;
58
                becomeflash = 1;
59
            }
60
            if (global.monster[i] == 1)
61
            {
62
                draw_set_color(c_white);
63
                mercydraw = 0;
64
                tireddraw = 0;
65
                mnamecolor1 = 16777215;
66
                mnamecolor2 = 16777215;
67
                aqcolor = merge_color(c_aqua, c_blue, 0.3);
68
                if (global.monsterstatus[i] == 1)
69
                    tireddraw = 1;
70
                if (global.mercymod[i] >= global.mercymax[i])
71
                    mercydraw = 1;
72
                namewidth = string_width(string_hash_to_newline(global.monstername[i]));
73
                if (tireddraw == 1)
74
                {
75
                    if (global.encounterno != 31)
76
                    {
77
                        draw_set_color(aqcolor);
78
                        mnamecolor1 = aqcolor;
79
                        mnamecolor2 = aqcolor;
80
                    }
81
                    draw_sprite(spr_tiredmark, 0, xx + 80 + namewidth + 40, yy + 385 + (i * 30));
82
                }
83
                if (mercydraw == 1)
84
                {
85
                    draw_set_color(c_yellow);
86
                    mnamecolor1 = 65535;
87
                    if (tireddraw == 0)
88
                        mnamecolor2 = 65535;
89
                    draw_sprite(spr_sparestar, 0, xx + 80 + namewidth + 20, yy + 385 + (i * 30));
90
                }
91
                draw_text_colour(xx + 80, yy + 375 + (i * 30), string_hash_to_newline(global.monstername[i]), mnamecolor1, mnamecolor2, mnamecolor2, mnamecolor1, 1);
92
                draw_set_color(c_gray);
93
                draw_text(xx + 80 + namewidth + 60, yy + 375 + (i * 30), string_hash_to_newline(global.monstercomment[i]));
94
                draw_set_color(c_maroon);
95
                draw_rectangle(xx + 510, yy + 380 + (i * 30), xx + 590, yy + 380 + (i * 30) + 15, false);
96
                draw_set_color(c_lime);
97
                draw_rectangle(xx + 510, yy + 380 + (i * 30), xx + 510 + ((global.monsterhp[i] / global.monstermaxhp[i]) * 80), yy + 380 + (i * 30) + 15, false);
98
                mercyamt = global.mercymod[i];
99
                if (mercyamt >= 100)
100
                    mercyamt = 100;
101
            }
102
        }
103
    }
104
}
105
if (global.bmenuno == 2 && global.myfight == 0)
106
{
107
    thischar = global.char[global.charturn];
108
    spellcoord = global.bmenucoord[2][global.charturn];
109
    page = 0;
110
    if (spellcoord > 5)
111
    {
112
        page = 1;
113
        spellcoord -= 6;
114
    }
115
    icx = 10;
116
    icy = 385;
117
    if (spellcoord == 1 || spellcoord == 3 || spellcoord == 5)
118
        icx = 230;
119
    if (spellcoord > 1 && spellcoord < 4)
120
        icy = 415;
121
    if (spellcoord > 3)
122
        icy = 445;
123
    draw_sprite(spr_heart, 0, xx + icx, yy + icy);
124
    
scr_84_set_draw_font
scr_84_set_draw_font

function
scr_84_set_draw_font(arg0)
{ global.chemg_font = arg0; draw_set_font(
scr_84_get_font(arg0));
}
("mainbig");
125
    for (i = 0; i < 3; i += 1)
126
    {
127
        draw_set_color(c_white);
128
        if (global.tension < global.spellcost[thischar][(page * 6) + (i * 2)])
129
        {
130
            draw_set_color(c_gray);
131
        }
132
        else if (global.spell[thischar][(page * 6) + (i * 2)] == 3)
133
        {
134
            pacify_glow = 0;
135
            for (sglowi = 0; sglowi < 3; sglowi += 1)
136
            {
137
                if (global.monster[sglowi] == 1 && global.monsterstatus[sglowi] == 1)
138
                {
139
                    if (global.encounterno != 31)
140
                        pacify_glow = 1;
141
                }
142
            }
143
            if (pacify_glow == 1)
144
                draw_set_color(merge_color(c_aqua, c_blue, 0.3));
145
        }
146
        draw_text(xx + 30, yy + 375 + (i * 30), string_hash_to_newline(global.spellnameb[thischar][(page * 6) + (i * 2)]));
147
        draw_set_color(c_white);
148
        if (global.tension < global.spellcost[thischar][(page * 6) + (i * 2) + 1])
149
            draw_set_color(c_gray);
150
        draw_text(xx + 260, yy + 375 + (i * 30), string_hash_to_newline(global.spellnameb[thischar][(page * 6) + (i * 2) + 1]));
151
    }
152
    draw_set_color(c_gray);
153
    draw_text(xx + spell_offset, yy + 375, string_hash_to_newline(global.spelldescb[thischar][(page * 6) + spellcoord]));
154
    thiscost = round((global.spellcost[thischar][(page * 6) + spellcoord] / global.maxtension) * 100);
155
    draw_set_color(c_orange);
156
    draw_text(xx + spell_offset, yy + 440, string_hash_to_newline(string(thiscost) + 
Close Message TP
scr_84_get_lang_string
scr_84_get_lang_string

function
scr_84_get_lang_string(arg0)
{ return ds_map_find_value(global.lang_map, arg0); }
("obj_battlecontroller_slash_Draw_0_gml_171_0")
));
157
}
158
if (global.bmenuno == 4 && global.myfight == 0)
159
{
160
    itemcoord = global.bmenucoord[4][global.charturn];
161
    page = 0;
162
    if (itemcoord > 5)
163
    {
164
        page = 1;
165
        itemcoord -= 6;
166
    }
167
    icx = 10;
168
    icy = 385;
169
    if (itemcoord == 1 || itemcoord == 3 || itemcoord == 5)
170
        icx = 230;
171
    if (global.lang == "ja")
172
    {
173
        if (itemcoord == 1 || itemcoord == 3 || itemcoord == 5)
174
            icx = 240;
175
    }
176
    if (itemcoord > 1 && itemcoord < 4)
177
        icy = 415;
178
    if (itemcoord > 3)
179
        icy = 445;
180
    draw_sprite(spr_heart, 0, xx + icx, yy + icy);
181
    
scr_84_set_draw_font
scr_84_set_draw_font

function
scr_84_set_draw_font(arg0)
{ global.chemg_font = arg0; draw_set_font(
scr_84_get_font(arg0));
}
("mainbig");
182
    for (i = 0; i < 3; i += 1)
183
    {
184
        if (global.lang == "ja")
185
        {
186
            draw_set_color(c_white);
187
            jp_string_lengthtest[0] = string_width(string_hash_to_newline(tempitemnameb[(page * 6) + (i * 2)][global.charturn]));
188
            jp_string_lengthtest[1] = string_width(string_hash_to_newline(tempitemnameb[(page * 6) + (i * 2) + 1][global.charturn]));
189
            if (jp_string_lengthtest[0] >= 200)
190
            {
191
                jp_string_xscale = 200 / jp_string_lengthtest[0];
192
                draw_text_transformed(xx + 30, yy + 375 + (i * 30), string_hash_to_newline(tempitemnameb[(page * 6) + (i * 2)][global.charturn]), jp_string_xscale, 1, 0);
193
            }
194
            else
195
            {
196
                draw_text(xx + 30, yy + 375 + (i * 30), string_hash_to_newline(tempitemnameb[(page * 6) + (i * 2)][global.charturn]));
197
            }
198
            draw_set_color(c_white);
199
            if (jp_string_lengthtest[1] >= 200)
200
            {
201
                jp_string_xscale = 200 / jp_string_lengthtest[1];
202
                draw_text_transformed(xx + 260, yy + 375 + (i * 30), string_hash_to_newline(tempitemnameb[(page * 6) + (i * 2) + 1][global.charturn]), jp_string_xscale, 1, 0);
203
            }
204
            else
205
            {
206
                draw_text(xx + 260, yy + 375 + (i * 30), string_hash_to_newline(tempitemnameb[(page * 6) + (i * 2) + 1][global.charturn]));
207
            }
208
        }
209
        else
210
        {
211
            draw_set_color(c_white);
212
            draw_text(xx + 30, yy + 375 + (i * 30), string_hash_to_newline(tempitemnameb[(page * 6) + (i * 2)][global.charturn]));
213
            draw_text(xx + 260, yy + 375 + (i * 30), string_hash_to_newline(tempitemnameb[(page * 6) + (i * 2) + 1][global.charturn]));
214
        }
215
    }
216
    if (page == 0 && global.item[6] != 0)
217
        draw_sprite(spr_morearrow, 0, xx + 470, yy + 445 + (sin(s_siner / 10) * 2));
218
    if (page == 1)
219
        draw_sprite_ext(spr_morearrow, 0, xx + 470, (yy + 395) - (sin(s_siner / 10) * 2), 1, -1, 0, c_white, 1);
220
    draw_set_color(c_gray);
221
    draw_text(xx + spell_offset, yy + 375, string_hash_to_newline(tempitemdescb[(page * 6) + itemcoord][global.charturn]));
222
}
223
if (global.bmenuno == 9 && global.myfight == 0)
224
{
225
    actcoord = global.bmenucoord[9][global.charturn];
226
    page = 0;
227
    icx = 10;
228
    icy = 385;
229
    if (actcoord == 1 || actcoord == 3 || actcoord == 5)
230
        icx = 240;
231
    if (actcoord > 1 && actcoord < 4)
232
        icy = 415;
233
    if (actcoord > 3)
234
        icy = 445;
235
    draw_sprite(spr_heart, 0, xx + icx, yy + icy);
236
    
scr_84_set_draw_font
scr_84_set_draw_font

function
scr_84_set_draw_font(arg0)
{ global.chemg_font = arg0; draw_set_font(
scr_84_get_font(arg0));
}
("mainbig");
237
    for (i = 0; i < 6; i += 1)
238
    {
239
        cant = 0;
240
        chartime = global.actactor[global.bmenucoord[11][global.charturn]][i];
241
        charoffset = 0;
242
        xoffset = 0;
243
        if (i == 1 || i == 3 || i == 5)
244
            xoffset = 230;
245
        yoffset = 0;
246
        if (i == 2 || i == 3)
247
            yoffset = 30;
248
        if (i == 4 || i == 5)
249
            yoffset = 60;
250
        drawsus = 0;
251
        drawral = 0;
252
        susblend = 16777215;
253
        ralblend = 16777215;
254
        if (chartime == 2 || chartime == 4)
255
        {
256
            drawsus = 1;
257
            if (havechar[1] == 0 || global.hp[2] <= 0)
258
            {
259
                susblend = 8421504;
260
                cant = 1;
261
            }
262
            charoffset = 36;
263
        }
264
        if (chartime == 3 || chartime == 4)
265
        {
266
            drawral = 1;
267
            if (havechar[2] == 0 || global.hp[3] <= 0)
268
            {
269
                ralblend = 8421504;
270
                cant = 1;
271
            }
272
            charoffset = 36;
273
        }
274
        if (global.tension < global.actcost[global.bmenucoord[11][global.charturn]][i])
275
            cant = 1;
276
        if (chartime == 4)
277
            charoffset = round(charoffset * 1.8);
278
        draw_set_color(c_white);
279
        if (cant == 1)
280
            draw_set_color(c_gray);
281
        if (chartime == 2)
282
            draw_sprite_ext(spr_headsusie, 0, xx + 30 + xoffset, yy + 375 + yoffset, 1, 1, 0, susblend, 1);
283
        if (chartime == 3)
284
            draw_sprite_ext(spr_headralsei, 0, xx + 30 + xoffset, yy + 375 + yoffset, 1, 1, 0, susblend, 1);
285
        if (chartime == 4)
286
        {
287
            draw_sprite_ext(spr_headsusie, 0, xx + 30 + xoffset, yy + 375 + yoffset, 1, 1, 0, susblend, 1);
288
            draw_sprite_ext(spr_headralsei, 0, xx + 60 + xoffset, yy + 375 + yoffset, 1, 1, 0, susblend, 1);
289
        }
290
        if (global.lang == "ja")
291
        {
292
            jp_string_lengthtest_act = string_width(string_hash_to_newline(global.actname[global.bmenucoord[11][global.charturn]][i]));
293
            if ((jp_string_lengthtest_act + 30 + charoffset) >= 235 && xoffset == 0)
294
            {
295
                jp_string_xscale = (206 - charoffset) / jp_string_lengthtest_act;
296
                draw_text_transformed(xx + 30 + charoffset + xoffset, yy + 375 + yoffset, string_hash_to_newline(global.actname[global.bmenucoord[11][global.charturn]][i]), jp_string_xscale, 1, 0);
297
            }
298
            else
299
            {
300
                draw_text(xx + 30 + charoffset + xoffset, yy + 375 + yoffset, string_hash_to_newline(global.actname[global.bmenucoord[11][global.charturn]][i]));
301
            }
302
        }
303
        else
304
        {
305
            draw_text(xx + 30 + charoffset + xoffset, yy + 375 + yoffset, string_hash_to_newline(global.actname[global.bmenucoord[11][global.charturn]][i]));
306
        }
307
    }
308
    draw_set_color(c_gray);
309
    draw_text(xx + 500, yy + 375, string_hash_to_newline(global.actdesc[global.bmenucoord[11][global.charturn]][actcoord]));
310
    if (global.tensionselect > 0)
311
    {
312
        thiscost = round((global.actcost[global.bmenucoord[11][global.charturn]][actcoord] / global.maxtension) * 100);
313
        draw_set_color(c_orange);
314
        draw_text(xx + 500, yy + 440, string_hash_to_newline(string(thiscost) + 
Close Message TP
scr_84_get_lang_string
scr_84_get_lang_string

function
scr_84_get_lang_string(arg0)
{ return ds_map_find_value(global.lang_map, arg0); }
("obj_battlecontroller_slash_Draw_0_gml_280_0")
));
315
    }
316
    with (global.monsterinstance[global.bmenucoord[11][global.charturn]])
317
    {
318
        if (flash == 0)
319
            fsiner = 0;
320
        flash = 1;
321
        becomeflash = 1;
322
    }
323
}
324
if (global.bmenuno == 7 || global.bmenuno == 8)
325
{
326
    if (global.myfight == 0)
327
    {
328
        draw_sprite(spr_heart, 0, xx + 55, yy + 385 + (global.bmenucoord[global.bmenuno][global.charturn] * 30));
329
        
scr_84_set_draw_font
scr_84_set_draw_font

function
scr_84_set_draw_font(arg0)
{ global.chemg_font = arg0; draw_set_font(
scr_84_get_font(arg0));
}
("mainbig");
330
        for (i = 0; i < 3; i += 1)
331
        {
332
            if (global.char[i] != 0)
333
            {
334
                with (global.charinstance[global.bmenucoord[global.bmenuno][global.charturn]])
335
                {
336
                    if (flash == 0)
337
                        fsiner = 0;
338
                    flash = 1;
339
                    becomeflash = 1;
340
                }
341
                draw_set_color(c_white);
342
                draw_text(xx + 80, yy + 375 + (i * 30), string_hash_to_newline(global.charname[global.char[i]]));
343
                draw_set_color(c_maroon);
344
                draw_rectangle(xx + 400, yy + 380 + (i * 30), xx + 500, yy + 380 + (i * 30) + 15, false);
345
                draw_set_color(c_lime);
346
                draw_rectangle(xx + 400, yy + 380 + (i * 30), xx + 400 + ((global.hp[global.char[i]] / global.maxhp[global.char[i]]) * 100), yy + 380 + (i * 30) + 15, false);
347
            }
348
        }
349
    }
350
}
351
352
enum e__VW
353
{
354
    XView,
355
    YView,
356
    WView,
357
    HView,
358
    Angle,
359
    HBorder,
360
    VBorder,
361
    HSpeed,
362
    VSpeed,
363
    Object,
364
    Visible,
365
    XPort,
366
    YPort,
367
    WPort,
368
    HPort,
369
    Camera,
370
    SurfaceID
371
}