Deltarune (Chapter 5) script viewer

← back to main script listing

gml_GlobalScript_scr_get_cliff_items

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

function
scr_get_cliff_items()
{ var boss_list = []; for (var i = 0; i < (global.chapter - 1); i++) { var chapter = i + 1; var boss_result = scr_get_ura_value(chapter, global.filechoice); if (boss_result > 0) { var boss_data = []; if (boss_result == 3) { if (chapter == 2) { if (boss_result == 3) boss_result = 2; } else { boss_result = 1; } } if (chapter == 3) { if (boss_result == 2) continue; } boss_data[0] = chapter; boss_data[1] = boss_result; boss_list[array_length(boss_list)] = boss_data; } } var pending_items = []; for (var i = 0; i < array_length(boss_list); i++) { var boss_data = boss_list[i]; var boss_chapter = boss_data[0]; var boss_result = boss_data[1]; var boss_item_data = scr_get_boss_item_id(boss_chapter, boss_result); var item_type = boss_item_data[0]; var item_id = boss_item_data[1]; var have_item = scr_has_boss_item("weapon", item_id) || scr_has_boss_item("armor", item_id); if (boss_chapter == 3 || boss_chapter == 4) have_item = scr_has_boss_item("weapon", item_id); if (!have_item) pending_items[array_length(pending_items)] = boss_item_data; } return pending_items; } function scr_has_boss_item(arg0, arg1) { var has_item = false; if (arg0 == "weapon") has_item =
scr_weaponcheck_equipped_any(arg1) || 
scr_weaponcheck_inventory(arg1);
else if (arg0 == "armor") has_item =
scr_armorcheck_equipped_any(arg1) || 
scr_armorcheck_inventory(arg1);
return has_item; } function scr_get_boss_item_id(arg0, arg1) { var _chapter = arg0; var _item_type = (arg1 == 1) ? "weapon" : "armor"; var _item_id = -1; switch (_chapter) { case 2: _item_id = 21; break; case 3: _item_id = 26; break; case 4: _item_id = 52; break; default: _item_id = 7; break; } var item_data = []; item_data[0] = _item_type; item_data[1] = _item_id; item_data[2] = _chapter; return item_data; } function scr_get_shadow_crystal_flag(arg0) { var _chapter = arg0; var _flag = -1; switch (_chapter) { case 1: _flag = 1646; break; case 2: _flag = 1647; break; case 3: _flag = 1648; ...
()
2
{
3
    var boss_list = [];
4
    for (var i = 0; i < (global.chapter - 1); i++)
5
    {
6
        var chapter = i + 1;
7
        var boss_result = scr_get_ura_value(chapter, global.filechoice);
8
        if (boss_result > 0)
9
        {
10
            var boss_data = [];
11
            if (boss_result == 3)
12
            {
13
                if (chapter == 2)
14
                {
15
                    if (boss_result == 3)
16
                        boss_result = 2;
17
                }
18
                else
19
                {
20
                    boss_result = 1;
21
                }
22
            }
23
            if (chapter == 3)
24
            {
25
                if (boss_result == 2)
26
                    continue;
27
            }
28
            boss_data[0] = chapter;
29
            boss_data[1] = boss_result;
30
            boss_list[array_length(boss_list)] = boss_data;
31
        }
32
    }
33
    var pending_items = [];
34
    for (var i = 0; i < array_length(boss_list); i++)
35
    {
36
        var boss_data = boss_list[i];
37
        var boss_chapter = boss_data[0];
38
        var boss_result = boss_data[1];
39
        var boss_item_data = scr_get_boss_item_id(boss_chapter, boss_result);
40
        var item_type = boss_item_data[0];
41
        var item_id = boss_item_data[1];
42
        var have_item = scr_has_boss_item("weapon", item_id) || scr_has_boss_item("armor", item_id);
43
        if (boss_chapter == 3 || boss_chapter == 4)
44
            have_item = scr_has_boss_item("weapon", item_id);
45
        if (!have_item)
46
            pending_items[array_length(pending_items)] = boss_item_data;
47
    }
48
    return pending_items;
49
}
50
51
function scr_has_boss_item(arg0, arg1)
52
{
53
    var has_item = false;
54
    if (arg0 == "weapon")
55
        has_item = 
scr_weaponcheck_equipped_any
scr_weaponcheck_equipped_any

function
scr_weaponcheck_equipped_any(arg0)
{ var __totalwearing = 0; for (var __weari = 0; __weari < array_length_1d(global.charweapon); __weari++) __totalwearing +=
scr_weaponcheck_equipped(__weari, arg0);
return __totalwearing; }
(arg1) ||
scr_weaponcheck_inventory
scr_weaponcheck_inventory

function
scr_weaponcheck_inventory(arg0)
{ haveit = 0; itemcount = 0; for (i = 0; i < 48; i += 1) { if (global.weapon[i] == arg0) haveit = 1; if (global.weapon[i] == arg0) itemcount += 1; } return haveit; }
(arg1);
56
    else if (arg0 == "armor")
57
        has_item = 
scr_armorcheck_equipped_any
scr_armorcheck_equipped_any

function
scr_armorcheck_equipped_any(arg0)
{ var __totalwearing = 0; for (var __weari = 0; __weari < array_length_1d(global.chararmor1); __weari++) __totalwearing +=
scr_armorcheck_equipped(__weari, arg0);
return __totalwearing; }
(arg1) ||
scr_armorcheck_inventory
scr_armorcheck_inventory

function
scr_armorcheck_inventory(arg0)
{ haveit = 0; itemcount = 0; for (i = 0; i < 48; i += 1) { if (global.armor[i] == arg0) haveit = 1; if (global.armor[i] == arg0) itemcount += 1; } return haveit; }
(arg1);
58
    return has_item;
59
}
60
61
function scr_get_boss_item_id(arg0, arg1)
62
{
63
    var _chapter = arg0;
64
    var _item_type = (arg1 == 1) ? "weapon" : "armor";
65
    var _item_id = -1;
66
    switch (_chapter)
67
    {
68
        case 2:
69
            _item_id = 21;
70
            break;
71
        case 3:
72
            _item_id = 26;
73
            break;
74
        case 4:
75
            _item_id = 52;
76
            break;
77
        default:
78
            _item_id = 7;
79
            break;
80
    }
81
    var item_data = [];
82
    item_data[0] = _item_type;
83
    item_data[1] = _item_id;
84
    item_data[2] = _chapter;
85
    return item_data;
86
}
87
88
function scr_get_shadow_crystal_flag(arg0)
89
{
90
    var _chapter = arg0;
91
    var _flag = -1;
92
    switch (_chapter)
93
    {
94
        case 1:
95
            _flag = 1646;
96
            break;
97
        case 2:
98
            _flag = 1647;
99
            break;
100
        case 3:
101
            _flag = 1648;
102
            break;
103
        case 4:
104
            _flag = 1649;
105
            break;
106
        case 5:
107
            _flag = 1907;
108
            break;
109
        default:
110
            break;
111
    }
112
    return _flag;
113
}
114
115
function scr_get_shadow_crystal(arg0)
116
{
117
    var _chapter = arg0;
118
    var _flag = scr_get_shadow_crystal_flag(_chapter);
119
    if (
scr_flag_get
scr_flag_get

function
scr_flag_get(arg0)
{ return global.flag[arg0]; } function scr_flag_name_get(arg0) { var v = global.flagname[arg0]; return is_undefined(v) ? "*unknown flag*" : v; } function scr_flag_get_ext(arg0, arg1, arg2 = 1) { if (arg1 < 0)
scr_flag_get(arg0);
else return scr_get_bitmask_value(global.flag[arg0], arg1, arg2); }
(_flag) == 0)
120
        
scr_flag_set
scr_flag_set

function
scr_flag_set(arg0, arg1)
{ global.flag[arg0] = arg1; } function scr_flag_set_ext(arg0, arg1, arg2, arg3 = 1) { if (arg1 < 0)
scr_flag_set(arg0, arg2);
else global.flag[arg0] = scr_set_bitmask_value(global.flag[arg0], arg1, arg2, arg3); }
(_flag, 1);
121
}
122
123
function scr_get_total_shadow_crystal_amount()
124
{
125
    var _amount = 0;
126
    var _max_chapter = 5;
127
    for (var i = 0; i < _max_chapter; i++)
128
    {
129
        var _chapter = i + 1;
130
        var _flag = scr_get_shadow_crystal_flag(_chapter);
131
        _amount += 
scr_flag_get
scr_flag_get

function
scr_flag_get(arg0)
{ return global.flag[arg0]; } function scr_flag_name_get(arg0) { var v = global.flagname[arg0]; return is_undefined(v) ? "*unknown flag*" : v; } function scr_flag_get_ext(arg0, arg1, arg2 = 1) { if (arg1 < 0)
scr_flag_get(arg0);
else return scr_get_bitmask_value(global.flag[arg0], arg1, arg2); }
(_flag);
132
    }
133
    return _amount;
134
}