43 lines
1.2 KiB
JavaScript
43 lines
1.2 KiB
JavaScript
|
|
this.inherits(COMMAND);
|
|
this.command = "eqgroup";
|
|
this.allow_fight = false;
|
|
this.enter = function (me, par) {
|
|
let index = parseInt(par);
|
|
if (!(index >= 0 && index < 3)) return;
|
|
|
|
this.save_eqgroup(me);
|
|
|
|
let eqs = me.eq_groups[index];
|
|
if (!eqs) eqs = new Array(me.equipment.length);
|
|
for (let i = 0; i < me.equipment.length; i++) {
|
|
let eq = me.equipment[i];
|
|
if (!eq) continue;
|
|
me.unequip(eq);
|
|
if (!eq.is_shortcut)
|
|
eq.notify_action(me, false);
|
|
}
|
|
for (let i = 0; i < me.equipment.length; i++) {
|
|
if (!eqs[i]) continue;
|
|
let obj = me.find_obj(eqs[i]);
|
|
if (!obj || !obj.is_equipment) continue;
|
|
if (me.equip(obj) !== false && obj.on_use) {
|
|
obj.notify_action(me, true);
|
|
}
|
|
}
|
|
me.eq_group = index;
|
|
me.send(`{type:"dialog",dialog:"pack",eq_group:${index}}`);
|
|
}
|
|
|
|
this.save_eqgroup = function (me) {
|
|
let eqs = me.eq_groups[me.eq_group];
|
|
if (!eqs) {
|
|
eqs = new Array(me.equipment.length);
|
|
me.eq_groups[me.eq_group] = eqs;
|
|
}
|
|
for (let i = 0; i < me.equipment.length; i++) {
|
|
let eq = me.equipment[i];
|
|
eqs[i] = eq ? eq.id : null;
|
|
}
|
|
}
|