Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_gameshow_battlemanager_Draw_0

(view raw script w/o annotations or w/e)
1
if (i_ex(obj_battlecontroller))
2
{
3
    battleseconds = obj_battlecontroller.battleseconds;
4
    battleminutes = obj_battlecontroller.battleminutes;
5
}
6
if (con == 3)
7
{
8
    if (!updatehealth)
9
    {
10
        updatehealth = 1;
11
        scr_board_boardhealth();
12
    }
13
    draw_set_alpha(0.8);
14
    draw_set_color(c_black);
15
    ossafe_fill_rectangle(0, 0, 640, 480, 0);
16
    draw_set_color(c_white);
17
    draw_set_alpha(1);
18
    if (rcon == 0)
19
    {
20
        var dingtime = 10;
21
        var rep = 1;
22
        if (button1_h() || button3_h())
23
            rep = 5;
24
        repeat (rep)
25
        {
26
            if (!i_ex(obj_battleback))
27
                rtimer++;
28
            if (rtimer == (dingtime * 1) || rtimer == (dingtime * 2) || rtimer == (dingtime * 3) || rtimer == (dingtime * 4) || rtimer == (dingtime * 5))
29
                snd_play(snd_board_text_main);
30
            if (rtimer == (dingtime * 7))
31
                snd_play(snd_board_text_main_end);
32
        }
33
        if (rtimer >= (dingtime * 7))
34
        {
35
            if (button1_p())
36
            {
37
                con++;
38
                global.interact = 0;
39
                with (obj_mainchara_board)
40
                {
41
                    for (var i = 0; i < array_length(other.remmove); i++)
42
                    {
43
                        if (other.remmove[i][0] == name)
44
                            canfreemove = other.remmove[i][1];
45
                    }
46
                }
47
                
scr_board_forcethrow
scr_board_forcethrow

function
scr_board_forcethrow()
{ var delivered = false; var _mysusie = 0; with (obj_mainchara_board) { if (name == "susie") _mysusie = id; } if (!i_ex(_mysusie)) { debug_print("NO SUSIE FOUND"); return 0; } if (i_ex(obj_board_grabobject)) { var realsux = round((_mysusie.x - 128) / 32); var realsuy = round((_mysusie.y - 64) / 32); realsux = clamp(realsux, 1, 10); realsuy = clamp(realsuy, 1, 6); if (!i_ex(instance_place(board_tilex(realsux - 1), board_tiley(realsuy), obj_board_solid))) { delivered = true; _mysusie.facing = 3; with (obj_board_grabobject) { aimx = board_tilex(realsux - 1); aimy = board_tiley(realsuy); snd_play(snd_board_throw); grabdaddy.xx = aimx; grabdaddy.yy = aimy; con = 1; } } else { } if (!delivered) { if (!i_ex(instance_place(board_tilex(realsux + 1), board_tiley(realsuy), obj_board_solid))) { _mysusie.facing = 1; delivered = true; with (obj_board_grabobject) { aimx = board_tilex(realsux + 1); aimy = board_tiley(realsuy); snd_play(snd_board_throw); grabdaddy.xx = aimx; grabdaddy.yy = aimy; con = 1; } } else { } } if (!delivered) { if (!i_ex(instance_place(board_tilex(realsux), board_tiley(realsuy - 1), obj_board_solid))) { _mysusie.facing = 2; delivered = true; with (obj_board_grabobject) { aimx = board_tilex(realsux); aimy = board_tiley(realsuy - 1); snd_play(snd_board_throw); grabdaddy.xx = aimx; grabdaddy.yy = aimy; con = 1; } } else { } } if (!delivered) { if (!i_ex(instance_place(board_tilex(realsux), board_tiley(realsuy - 1), obj_board_solid))) { _mysusie.facing = 0; delivered = true; } else { } } if (delivered == false) { _mysusie.facing = 2; with (obj_board_grabobject) { aimx = grabdaddy.x; aimy = grabdaddy.y; snd_play(snd_board_throw); grabdaddy.xx = aimx; grabdaddy.yy = aimy; con = 1; } } ...
();
48
                global.flag[1116 points_from_battle] += real(totalstring);
49
            }
50
        }
51
        var timegradeblend = 255;
52
        var tpgradeblend = 8421504;
53
        var damagegradeblend = 255;
54
        var lettergradeblend = 255;
55
        var sectotal = battleseconds + (battleminutes * 60);
56
        var rank1time = global.rank1time;
57
        var rank1turns = global.rank1turns;
58
        var rank1tp = global.rank1tp;
59
        var timerank = 5;
60
        var tprank = 5;
61
        var damagerank = 5;
62
        var timegrade = stringsetloc(
BAD CAR!
"BAD CAR!", "obj_gameshow_battlemanager_slash_Draw_0_gml_82_0"
);
63
        if (turns > (rank1turns + 3) && turns <= (rank1turns + 10))
64
        {
65
            timegrade = stringsetloc(
VERY SLOW!
"VERY SLOW!", "obj_gameshow_battlemanager_slash_Draw_0_gml_83_0"
);
66
            timegradeblend = 255;
67
        }
68
        if (turns <= (rank1turns + 3))
69
        {
70
            timegrade = stringsetloc(
KINDA SLOW!
"KINDA SLOW!", "obj_gameshow_battlemanager_slash_Draw_0_gml_84_0"
);
71
            timegradeblend = 16711935;
72
            timerank = 4;
73
        }
74
        if (turns <= (rank1turns + 2))
75
        {
76
            timegrade = stringsetloc(
B! NOT BAD!
"B! NOT BAD!", "obj_gameshow_battlemanager_slash_Draw_0_gml_85_0"
);
77
            timegradeblend = 65280;
78
            timerank = 3;
79
        }
80
        if (turns <= (rank1turns + 1))
81
        {
82
            timegrade = stringsetloc(
A! AWESOME!
"A! AWESOME!", "obj_gameshow_battlemanager_slash_Draw_0_gml_86_0"
);
83
            timegradeblend = 16777215;
84
            timerank = 2;
85
        }
86
        if (turns <= rank1turns)
87
        {
88
            timegrade = stringsetloc(
S! PERFECT!
"S! PERFECT!", "obj_gameshow_battlemanager_slash_Draw_0_gml_87_0"
);
89
            timegradeblend = 65535;
90
            timerank = 1;
91
        }
92
        var tpgrade = stringsetloc(
SMALL NOSE!
"SMALL NOSE!", "obj_gameshow_battlemanager_slash_Draw_0_gml_91_0"
);
93
        if (tpgained > (rank1tp * 0.2))
94
        {
95
            tpgrade = stringsetloc(
SO THIRSTY!
"SO THIRSTY!", "obj_gameshow_battlemanager_slash_Draw_0_gml_92_0"
);
96
            tpgradeblend = 16711935;
97
            tprank = 4;
98
        }
99
        if (tpgained > (rank1tp * 0.5))
100
        {
101
            tpgrade = stringsetloc(
B! NOT BAD!
"B! NOT BAD!", "obj_gameshow_battlemanager_slash_Draw_0_gml_93_0"
);
102
            tpgradeblend = 65280;
103
            tprank = 3;
104
        }
105
        if (tpgained > (rank1tp * 0.85))
106
        {
107
            tpgrade = stringsetloc(
A! AWESOME!
"A! AWESOME!", "obj_gameshow_battlemanager_slash_Draw_0_gml_94_0"
);
108
            tpgradeblend = 16777215;
109
            tprank = 2;
110
        }
111
        if (tpgained > (rank1tp * 0.95))
112
        {
113
            tpgrade = stringsetloc(
S! PERFECT!
"S! PERFECT!", "obj_gameshow_battlemanager_slash_Draw_0_gml_95_0"
);
114
            tpgradeblend = 65535;
115
            tprank = 1;
116
        }
117
        var _hitcount = hitcount;
118
        if (global.rank1hurtcount != 0)
119
        {
120
            _hitcount -= global.rank1hurtcount;
121
            if (_hitcount < 0)
122
                _hitcount = 0;
123
        }
124
        var damagegrade = stringsetloc(
SALESMAN
"SALESMAN", "obj_gameshow_battlemanager_slash_Draw_0_gml_98_0"
);
125
        if (_hitcount > 7 || _hitcount < 20)
126
        {
127
            damagegrade = stringsetloc(
BIG OUCH!
"BIG OUCH!", "obj_gameshow_battlemanager_slash_Draw_0_gml_99_0"
);
128
            damagegradeblend = 8421504;
129
        }
130
        if (_hitcount == 6 || _hitcount == 7)
131
        {
132
            damagegrade = stringsetloc(
OUCH!
"OUCH!", "obj_gameshow_battlemanager_slash_Draw_0_gml_100_0"
);
133
            damagegradeblend = 16711935;
134
            damagerank = 4;
135
        }
136
        if (_hitcount == 3 || _hitcount == 4 || _hitcount == 5)
137
        {
138
            damagegrade = stringsetloc(
B! NOT BAD!
"B! NOT BAD!", "obj_gameshow_battlemanager_slash_Draw_0_gml_101_0"
);
139
            damagegradeblend = 65280;
140
            damagerank = 3;
141
        }
142
        if (_hitcount == 1 || _hitcount == 2)
143
        {
144
            damagegrade = stringsetloc(
A! AWESOME!
"A! AWESOME!", "obj_gameshow_battlemanager_slash_Draw_0_gml_102_0"
);
145
            damagegradeblend = 16777215;
146
            damagerank = 2;
147
        }
148
        if (_hitcount == 0)
149
        {
150
            damagegrade = stringsetloc(
S! PERFECT!
"S! PERFECT!", "obj_gameshow_battlemanager_slash_Draw_0_gml_103_0"
);
151
            damagegradeblend = 65535;
152
            damagerank = 1;
153
        }
154
        if (turns <= rank1turns && _hitcount == 0 && tpgained > (rank1tp * 0.95))
155
        {
156
            timegrade = stringsetloc(
T!ULTIMATE!
"T!ULTIMATE!", "obj_gameshow_battlemanager_slash_Draw_0_gml_88_0"
);
157
            timegradeblend = 4235519;
158
            timerank = 1;
159
            tpgrade = stringsetloc(
T!ULTIMATE!
"T!ULTIMATE!", "obj_gameshow_battlemanager_slash_Draw_0_gml_106_0"
);
160
            tpgradeblend = 4235519;
161
            tprank = 1;
162
            damagegrade = stringsetloc(
T!ULTIMATE!
"T!ULTIMATE!", "obj_gameshow_battlemanager_slash_Draw_0_gml_108_0"
);
163
            damagegradeblend = 4235519;
164
            damagerank = 1;
165
        }
166
        var graderank = (timerank + tprank + damagerank) / 3;
167
        lettergrade = "Z";
168
        if (graderank > 3.4 && graderank < 4)
169
        {
170
            lettergrade = "C";
171
            lettergradeblend = 16711935;
172
        }
173
        if (graderank > 2.4 && graderank <= 3.4)
174
        {
175
            lettergrade = "B";
176
            lettergradeblend = 65280;
177
        }
178
        if (graderank > 1.4 && graderank <= 2.4)
179
        {
180
            lettergrade = "A";
181
            lettergradeblend = 16777215;
182
        }
183
        if (graderank > 1 && graderank <= 1.4)
184
        {
185
            lettergrade = "S";
186
            lettergradeblend = 65535;
187
        }
188
        if (graderank <= 1)
189
        {
190
            lettergrade = "T";
191
            lettergradeblend = 4235519;
192
        }
193
        draw_set_font(fnt_8bit);
194
        hitbonustxt = stringsetloc(
HIT BONUS:
"HIT BONUS:", "obj_gameshow_battlemanager_slash_Draw_0_gml_131_0"
);
195
        hitcounttxt = stringsetloc(
HURT
"HURT", "obj_gameshow_battlemanager_slash_Draw_0_gml_132_0"
);
196
        battletimetxt = stringsetloc(
TURNS:
"TURNS:", "obj_gameshow_battlemanager_slash_Draw_0_gml_133_0"
);
197
        timebonustxt = stringsetloc(
TIME BONUS:
"TIME BONUS:", "obj_gameshow_battlemanager_slash_Draw_0_gml_134_0"
);
198
        tensionbonustxt = stringsetloc(
TP
"TP", "obj_gameshow_battlemanager_slash_Draw_0_gml_135_0"
);
199
        totalbonustxt = stringsetloc(
POINTS
"POINTS", "obj_gameshow_battlemanager_slash_Draw_0_gml_136_0"
);
200
        totalstring = round((5 - graderank) * 100 * 0.8);
201
        yougetstring = stringsetloc(
YOU GET
"YOU GET", "obj_gameshow_battlemanager_slash_Draw_0_gml_138_0"
);
202
        rankstring = stringsetloc(
RANK
"RANK", "obj_gameshow_battlemanager_slash_Draw_0_gml_139_0"
);
203
        var mspace = 24;
204
        var hspace = 8;
205
        var _xx = 360;
206
        var _yy = 104;
207
        draw_set_valign(fa_top);
208
        draw_sprite_ext(spr_shopicon, 0, _xx - 162, _yy + (-1 * mspace), -2, 2, 0, c_white, 1);
209
        draw_sprite_ext(spr_shopicon, 0, _xx + 80, _yy + (-1 * mspace), 2, 2, 0, c_white, 1);
210
        draw_text(_xx - 150, _yy + (-1 * mspace) + 5, stringsetloc(
BATTLE RESULTS
"BATTLE RESULTS", "obj_gameshow_battlemanager_slash_Draw_0_gml_148_0"
));
211
        if (rtimer > (dingtime * 1))
212
            draw_text(_xx - 206, (_yy - 1) + (1 * mspace), stringsetloc(
TURNS
"TURNS", "obj_gameshow_battlemanager_slash_Draw_0_gml_151_0"
));
213
        draw_set_halign(fa_right);
214
        if (rtimer > (dingtime * 1))
215
            draw_text(_xx - 65, _yy + (1 * mspace), turns);
216
        if (rtimer > (dingtime * 2))
217
            draw_text(_xx - 65, _yy + (2 * mspace), string(hitcount) + "X");
218
        var tensionfinal = round(tpgained / 2.5);
219
        if (tensionfinal > 100)
220
            tensionfinal = 100;
221
        if (rtimer > (dingtime * 3))
222
            draw_text(_xx - 65, _yy + (3 * mspace), string(tensionfinal));
223
        if (rtimer > (dingtime * 1))
224
        {
225
            draw_text_color(_xx + 120, _yy + (1 * mspace), timegrade, timegradeblend, timegradeblend, timegradeblend, timegradeblend, 1);
226
            if (timegradeblend == 16777215 || timegradeblend == 65535 || timegradeblend == 4235519 || timegradeblend == 65280)
227
                draw_sprite_ext(spr_board_battle_results_exclamation, 0, _xx + 120, _yy + (1 * mspace), 2, 2, 0, c_white, 1);
228
        }
229
        if (rtimer > (dingtime * 2))
230
        {
231
            draw_text_color(_xx + 120, _yy + (2 * mspace), damagegrade, damagegradeblend, damagegradeblend, damagegradeblend, damagegradeblend, 1);
232
            if (damagegradeblend == 16777215 || damagegradeblend == 65535 || damagegradeblend == 4235519 || damagegradeblend == 65280)
233
                draw_sprite_ext(spr_board_battle_results_exclamation, 0, _xx + 120, _yy + (2 * mspace), 2, 2, 0, c_white, 1);
234
        }
235
        if (rtimer > (dingtime * 3))
236
        {
237
            draw_text_color(_xx + 120, _yy + (3 * mspace), tpgrade, tpgradeblend, tpgradeblend, tpgradeblend, tpgradeblend, 1);
238
            if (tpgradeblend == 16777215 || tpgradeblend == 65535 || tpgradeblend == 4235519 || tpgradeblend == 65280)
239
                draw_sprite_ext(spr_board_battle_results_exclamation, 0, _xx + 120, _yy + (3 * mspace), 2, 2, 0, c_white, 1);
240
        }
241
        draw_set_halign(fa_left);
242
        if (rtimer > (dingtime * 2))
243
            draw_text(_xx - 205, _yy + (2 * mspace), hitcounttxt);
244
        if (rtimer > (dingtime * 3))
245
            draw_text(_xx - 205, _yy + (3 * mspace), tensionbonustxt);
246
        draw_set_halign(fa_right);
247
        if (rtimer > (dingtime * 4))
248
            draw_text(_xx - 50, _yy + (4.5 * mspace) + 30, yougetstring);
249
        draw_set_halign(fa_center);
250
        if (rtimer > (dingtime * 4))
251
            draw_text_transformed_color(_xx - 25, _yy + (4 * mspace) + 28, lettergrade, 2, 2, 0, lettergradeblend, lettergradeblend, lettergradeblend, lettergradeblend, 1);
252
        draw_set_halign(fa_left);
253
        if (rtimer > (dingtime * 4))
254
            draw_text(_xx - 0, _yy + (4.5 * mspace) + 30, rankstring);
255
        draw_set_halign(fa_center);
256
        if (rtimer > (dingtime * 5))
257
            draw_text(_xx - 30, _yy + (6.5 * mspace) + 8, "+" + string(totalstring) + " " + totalbonustxt);
258
        draw_set_halign(fa_left);
259
        if (rtimer > ((dingtime * 6) + 10))
260
        {
261
            reachedend_draw_triangle_siner++;
262
            if (reachedend_draw_triangle_siner < 20)
263
                draw_sprite_ext(spr_custommenu_arrow_nooutline, 0, board_tilex(11.5), board_tiley(7.5), 2, 2, 0, c_white, 1);
264
            if (reachedend_draw_triangle_siner >= 30)
265
                reachedend_draw_triangle_siner = 0;
266
        }
267
    }
268
}