init: add workspace files
This commit is contained in:
73
world/cmd/skill/enable.js
Normal file
73
world/cmd/skill/enable.js
Normal file
@@ -0,0 +1,73 @@
|
||||
this.inherits(COMMAND);
|
||||
this.command = "enable";
|
||||
this.regex = /^(\w+?)\s+(.+?)$/;
|
||||
this.allow_fight = false;
|
||||
this.enter = function (me, base, skill, no_sent) {
|
||||
if (!me.skills) return me.notify("你还不会任何技能。");
|
||||
var baseskill = me.skills[base];
|
||||
if (!baseskill) return me.notify("你还不会这个基本技能。");
|
||||
var baseskill_base = SKILL.get(base);
|
||||
if (!baseskill_base || baseskill_base.type !== SKILL_TYPES.BASE) {
|
||||
return me.notify("没有这个基本技能。");
|
||||
}
|
||||
var old_skill;
|
||||
if (baseskill.enable_skill) {
|
||||
old_skill = me.skills[baseskill.enable_skill];
|
||||
if (!old_skill) return me.notify("技能错误,装备失败。");
|
||||
old_skill[base] = false;
|
||||
old_skill = SKILL.get(baseskill.enable_skill);
|
||||
if (old_skill) {
|
||||
old_skill.disenable(me, base, me.query_skill(baseskill.enable_skill));
|
||||
//me.notify('{type:"dialog",dialog:"skills",id:"' + base + '",enable:false}');
|
||||
}
|
||||
baseskill.enable_skill = null;
|
||||
|
||||
} else {
|
||||
if (skill == "none") return;
|
||||
}
|
||||
if (WEAPON_SKILLS[base]) {
|
||||
|
||||
me.remove_status("weapon", true);
|
||||
} else {
|
||||
me.remove_status(base, true);
|
||||
}
|
||||
if (skill && skill !== "none") {
|
||||
var sp_skill = me.skills[skill];
|
||||
var sp_skill_base = SKILL.get(skill);
|
||||
if (!sp_skill) {
|
||||
me.remove_status(base, true);
|
||||
me.init_skill();
|
||||
me.recount();
|
||||
return me.notify("你不会这个技能。");
|
||||
}
|
||||
|
||||
if (!sp_skill_base || sp_skill_base.enable(me, base, me.query_skill(skill)) !== true)
|
||||
return false;
|
||||
baseskill.enable_skill = skill;
|
||||
sp_skill[base] = true;
|
||||
me.notify("你决定使用" + sp_skill_base.query_color_name(me) + "做为" + baseskill_base.color_name + "的特殊技能。");
|
||||
if (me.is_player)
|
||||
me.notify('{type:"dialog",dialog:"skills",id:"' + base + '",enable:"' + skill + '"}');
|
||||
else
|
||||
me.notify('{type:"dialog",dialog:"skills","from":"' + me.id + '",id:"' + base + '",enable:"' + skill + '"}');
|
||||
} else {
|
||||
baseskill.enable_skill = null;
|
||||
me.notify("你决定取消使用" + old_skill.query_color_name(me) + "做为" + baseskill_base.color_name + "的特殊技能。");
|
||||
if (me.is_player)
|
||||
me.notify('{type:"dialog",dialog:"skills",id:"' + base + '",enable:false}');
|
||||
else
|
||||
me.notify('{type:"dialog",dialog:"skills","from":"' + me.id + '",id:"' + base + '",enable:false}');
|
||||
}
|
||||
if (!no_sent) {
|
||||
me.init_skill();
|
||||
me.recount();
|
||||
me.notify_hp();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
const WEAPON_SKILLS = {
|
||||
"sword": 4,
|
||||
"blade": 5,
|
||||
"staff": 7, "club": 8, "whip": 9
|
||||
};
|
||||
Reference in New Issue
Block a user