init: add workspace files
This commit is contained in:
42
world/cmd/obj/eq_group.js
Normal file
42
world/cmd/obj/eq_group.js
Normal file
@@ -0,0 +1,42 @@
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user