Files
wsmud/world/cmd/skill/checkskill.js
2026-05-26 16:41:20 +08:00

44 lines
1.5 KiB
JavaScript

this.inherits(COMMAND);
this.command = "checkskill";
this.allow_busy = true;
this.allow_state = true;
this.allow_die = true;
this.regex = /^(\w+)(?:\s(\w+))?$/;
const num_reg = /^\d+$/;
this.enter = function (player, skid, from) {
var skill_base = SKILL.get(skid);
if (!skill_base) {
return player.send("没有这个技能。");
}
// if (skill_base.is_custom && !player.create_for(skid)) {
// return player.send('你只能查看公开的技能信息。');
// }
var target = player;
if (from == "help" || num_reg.test(from)) {
let lv = parseInt(from);
return player.send(skill_base.query_desc(player, lv > 0 && lv < 3000 ? lv : 1000));
} else if (from) {
target = player.find_obj(from, player.environment);
if (!target && player.user_level > 1) {
target = WORLD.getUser(from);
}
if (!target) player.send("没有这个人。");
if (player.user_level < 1 && !target.is(player.query_temp("master")) && target.master !== player.id) {
if (!target.on_checkskill || !target.on_checkskill(player)) {
return player.notify("你只能查看自己师父的技能。");
}
}
}
var obj = {};
obj.type = "dialog";
obj.dialog = "skills";
if (skill_base.is_custom)
obj.is_custom = 1;
obj.id = skid;
if (!target.skills) target.skills = {};
obj.desc = skill_base.query_desc(target, target.query_skill(skid, 1000));
return player.send(JSON.stringify(obj));
}