76 lines
2.3 KiB
JavaScript
76 lines
2.3 KiB
JavaScript
this.inherits(COMMAND);
|
|
this.command = "cha,skills";
|
|
this.allow_busy = true;
|
|
this.allow_state = true;
|
|
this.allow_die = true;
|
|
this.allow_faint = true;
|
|
this.enter = function (me, arg) {
|
|
var target = me;
|
|
var isfollower = false;
|
|
if (arg) {
|
|
if (arg == "none") return me.notify('{"type":"dialog","dialog":"skills","limit":' + me.skill_limit() + "}");
|
|
|
|
target = me.find_obj(arg, me.environment);
|
|
if (!target && me.user_level > 1) {
|
|
target = WORLD.getUser(arg);
|
|
}
|
|
if (!target) {
|
|
return me.notify("这里没有这个人。");
|
|
}
|
|
if (target.master == me.id) {
|
|
isfollower = true;
|
|
} else {
|
|
if (target.on_checkskill) {
|
|
if (target.on_checkskill(me) == false) return;
|
|
} else {
|
|
if (me.user_level < 4 && !target.is(me.query_temp("master")))
|
|
return me.notify("你只能查看自己师父的技能。");
|
|
}
|
|
}
|
|
}
|
|
this.render_skill(me, target, isfollower);
|
|
}
|
|
|
|
this.render_skill = function (me, target, isfollower) {
|
|
var skills = target.skills;
|
|
var str = ['{"type":"dialog","dialog":"'];
|
|
str.push(me === target ? 'skills' : 'master');
|
|
str.push('","items":[');
|
|
if (skills) {
|
|
var skill_count = 0;
|
|
for (var skid in skills) {
|
|
var skill_base = SKILL.get(skid);
|
|
if (!skill_base) continue;
|
|
if (skill_count > 0) str.push(",");
|
|
skill_base.item_to_json(str, skills[skid], target);
|
|
skill_count++;
|
|
|
|
}
|
|
}
|
|
str.push('],title:"');
|
|
str.push(target == me ? "你" : target.name);
|
|
str.push(skill_count > 0 ? "共学会" + skill_count + "项技能" : "没有学会任何技能");
|
|
str.push('"');
|
|
str.push(',limit:');
|
|
if (isfollower)
|
|
str.push(target.skill_limit());
|
|
else
|
|
str.push(me.skill_limit());
|
|
str.push(',pot:');
|
|
str.push(me.pot);
|
|
if (target !== me) {
|
|
str.push(isfollower ? ",follower:\"" : ',master:\"');
|
|
str.push(target.id);
|
|
str.push("\"");
|
|
if (isfollower) {
|
|
str.push(',target:\"');
|
|
str.push(target.name);
|
|
str.push("\"");
|
|
}
|
|
} else {
|
|
str.push(',sk_group:', WORLD.COMMANDS.skgroup.cur_eqs(me));
|
|
}
|
|
|
|
str.push("}");
|
|
me.send(str.join(""));
|
|
} |