Deltarune (Chapter 3) script viewer

← back to main script listing

gml_GlobalScript_scr_weighted_choice

(view raw script w/o annotations or w/e)
1
function 
scr_weighted_choice
scr_weighted_choice

function
scr_weighted_choice()
{ var _n = 0; for (var _i = 1; _i < argument_count; _i += 2) { if (argument[_i] <= 0) continue; _n += argument[_i]; } _n = random(_n); for (var _i = 1; _i < argument_count; _i += 2) { if (argument[_i] <= 0) continue; _n -= argument[_i]; if (_n < 0) return argument[_i - 1]; } return argument[0]; }
()
2
{
3
    var _n = 0;
4
    for (var _i = 1; _i < argument_count; _i += 2)
5
    {
6
        if (argument[_i] <= 0)
7
            continue;
8
        _n += argument[_i];
9
    }
10
    _n = random(_n);
11
    for (var _i = 1; _i < argument_count; _i += 2)
12
    {
13
        if (argument[_i] <= 0)
14
            continue;
15
        _n -= argument[_i];
16
        if (_n < 0)
17
            return argument[_i - 1];
18
    }
19
    return argument[0];
20
}