Deltarune (Chapter 4) 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 (!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; 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; break; case 4: _flag = 1649; break; default: ...
()
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 (!have_item)
44
            pending_items[array_length(pending_items)] = boss_item_data;
45
    }
46
    return pending_items;
47
}
48
49
function scr_has_boss_item(arg0, arg1)
50
{
51
    var has_item = false;
52
    if (arg0 == "weapon")
53
        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);
54
    else if (arg0 == "armor")
55
        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);
56
    return has_item;
57
}
58
59
function scr_get_boss_item_id(arg0, arg1)
60
{
61
    var _chapter = arg0;
62
    var _item_type = (arg1 == 1) ? "weapon" : "armor";
63
    var _item_id = -1;
64
    switch (_chapter)
65
    {
66
        case 2:
67
            _item_id = 21;
68
            break;
69
        case 3:
70
            _item_id = 26;
71
            break;
72
        default:
73
            _item_id = 7;
74
            break;
75
    }
76
    var item_data = [];
77
    item_data[0] = _item_type;
78
    item_data[1] = _item_id;
79
    item_data[2] = _chapter;
80
    return item_data;
81
}
82
83
function scr_get_shadow_crystal_flag(arg0)
84
{
85
    var _chapter = arg0;
86
    var _flag = -1;
87
    switch (_chapter)
88
    {
89
        case 1:
90
            _flag = 1646;
91
            break;
92
        case 2:
93
            _flag = 1647;
94
            break;
95
        case 3:
96
            _flag = 1648;
97
            break;
98
        case 4:
99
            _flag = 1649;
100
            break;
101
        default:
102
            break;
103
    }
104
    return _flag;
105
}
106
107
function scr_get_shadow_crystal(arg0)
108
{
109
    var _chapter = arg0;
110
    var _flag = scr_get_shadow_crystal_flag(_chapter);
111
    if (
scr_flag_get
scr_flag_get

function
scr_flag_get(arg0)
{ var flag_value = global.flag[arg0]; return flag_value; } function scr_flag_name_get(arg0) { if (!global.is_console) { var v = global.flagname[arg0]; return is_undefined(v) ? "*unknown flag*" : v; } else { return ""; } } function scr_getflag(arg0) { return
scr_flag_get(arg0);
}
(_flag) == 0)
112
        
scr_flag_set
scr_flag_set

function
scr_flag_set(arg0, arg1)
{ global.flag[arg0] = arg1; if (
scr_debug())
show_debug_message("*** flag [" + string(arg0) + "] updated: " + string(arg1) + " | " + scr_flag_name_get(arg0)); } function scr_setflag(arg0, arg1) {
scr_flag_set(arg0, arg1);
}
(_flag, 1);
113
}
114
115
function scr_get_total_shadow_crystal_amount()
116
{
117
    var _amount = 0;
118
    for (var i = 0; i < global.chapter; i++)
119
    {
120
        var _chapter = i + 1;
121
        var _flag = scr_get_shadow_crystal_flag(_chapter);
122
        _amount += 
scr_flag_get
scr_flag_get

function
scr_flag_get(arg0)
{ var flag_value = global.flag[arg0]; return flag_value; } function scr_flag_name_get(arg0) { if (!global.is_console) { var v = global.flagname[arg0]; return is_undefined(v) ? "*unknown flag*" : v; } else { return ""; } } function scr_getflag(arg0) { return
scr_flag_get(arg0);
}
(_flag);
123
    }
124
    return _amount;
125
}