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 (boss_chapter == 3) 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; 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; ...
()
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)
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
        default:
75
            _item_id = 7;
76
            break;
77
    }
78
    var item_data = [];
79
    item_data[0] = _item_type;
80
    item_data[1] = _item_id;
81
    item_data[2] = _chapter;
82
    return item_data;
83
}
84
85
function scr_get_shadow_crystal_flag(arg0)
86
{
87
    var _chapter = arg0;
88
    var _flag = -1;
89
    switch (_chapter)
90
    {
91
        case 1:
92
            _flag = 1646;
93
            break;
94
        case 2:
95
            _flag = 1647;
96
            break;
97
        case 3:
98
            _flag = 1648;
99
            break;
100
        case 4:
101
            _flag = 1649;
102
            break;
103
        default:
104
            break;
105
    }
106
    return _flag;
107
}
108
109
function scr_get_shadow_crystal(arg0)
110
{
111
    var _chapter = arg0;
112
    var _flag = scr_get_shadow_crystal_flag(_chapter);
113
    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)
114
        
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);
115
}
116
117
function scr_get_total_shadow_crystal_amount()
118
{
119
    var _amount = 0;
120
    for (var i = 0; i < global.chapter; i++)
121
    {
122
        var _chapter = i + 1;
123
        var _flag = scr_get_shadow_crystal_flag(_chapter);
124
        _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);
125
    }
126
    return _amount;
127
}