require("./character"); var level_descs = ["普通百姓", "武士", "武师", "宗师", "武圣", "武帝", "武神"]; var level_color = ["", "wht", "hig", "hiy", "hiz", "hio", "ord"]; CHARACTER.prototype.get_level_desc = function () { if (!this.level) return level_descs[this.level]; var cc = level_color[this.level]; return "<" + cc + ">" + level_descs[this.level] + ""; } CHARACTER.prototype.get_level_color = function () { return level_color[this.level]; } //发送给当前对象的消息 CHARACTER.prototype.long_name = function () { if (this.title) return this.title + " " + this.name; return this.name; } CHARACTER.prototype.query_title = function () { return this.title; } CHARACTER.prototype.query_age = function () { return this.age; } CHARACTER.prototype.call = function (isbad) { return this.family.call(this, isbad); } CHARACTER.prototype.callme = function (isbad) { return this.family.call_me(this); } CHARACTER.prototype.fam_call = function (target) { let age1 = target.query_age(); let age2 = this.query_age(); if (age1 < age2) { return this.gender === 1 ? "师兄" : "师姐"; } return this.gender === 1 ? "师弟" : "师妹"; } CHARACTER.prototype.call3 = function () { return this.gender == 1 ? "他" : "她"; } CHARACTER.prototype.is_hidden = function () { return this.hp <= 0 || this.query_temp('hidden'); } CHARACTER.prototype.is_team = function (p) { if (!p) return false; if (p.team) return this.team == p.team; return this.family == p.family; } CHARACTER.prototype.send_team = function (msg, nome) { if (!this.team) return this.send(msg); for (var i = 0; i < this.team.length; i++) { if (nome && this.team[i] == this) continue; this.team[i].send(msg); } } CHARACTER.prototype.query_teamid = function () { if (this.follow_target) return this.follow_target.query_teamid(); return null; } CHARACTER.prototype.query_status = function () { var ary = ["{type:\"status\",hp:"]; ary.push(this.hp); ary.push(",max_hp:"); ary.push(this.max_hp); ary.push(",mp:"); ary.push(this.mp); ary.push(",max_mp:"); ary.push(this.max_mp); ary.push(",name:\""); ary.push(this.name); ary.push("\",id:\""); ary.push(this.id); ary.push("\"}"); return ary.join(""); } CHARACTER.prototype.query_commands = function () { } CHARACTER.prototype.query_desc = function (me, eqcmd) { var str = []; str.push(this.long_name()); str.push("\n"); var call3 = this == me ? "你" : this.call3(); str.push(call3, "看起来约", get_agestr(this.query_age()), "岁。\n"); str.push(call3, "长得", get_perdesc(this), "。\n"); str.push(call3, get_skill_desc(this.query_skill(this.attack_skill.id)), "。\n"); str.push(call3, get_status(this), "\n"); this.format_equipments(call3, str, eqcmd); return str.join(""); } CHARACTER.prototype.format_equipments = function (call3, str, eqcmd) { if (this.query_setting("hide_equip")) { return str.push("看样子", call3, "不想让别人看自己的装备。"); } else if (this.equipment && this.equipment.length) { var eqstr = []; for (var i = 0; i < this.equipment.length; i++) { var item = this.equipment[i]; if (!item) continue; eqstr.push("◆", item.color_name, "\n"); } if (eqstr.length) { return str.push(call3, "装备着:\n", eqstr.join("")); } } str.push(call3, "光着身子,什么都没穿。\n"); } function get_perdesc(obj) { var ary = obj.gender === 1 ? boy_pers : girl_pers; var per = obj.per + obj.query_prop("per"); var index = parseInt(per / 2); if (index < 0) index = 0; if (index >= ary.length) index = ary.length - 1; return ary[index]; } function get_agestr(age) { var index = parseInt((age || 10) / 10); if (index >= age_strs.length) index = age_strs.length - 1; return age_strs[index]; } function get_skill_desc(level) { if (!level) return "看上去似乎不会任何武功。"; if (level < 1000) return "的武功看上去似乎" + skill_levels[parseInt(level / 50)]; var v = parseInt((level - 1000) / 500); if (v > 6) v = 6; return "的武功看上去似乎" + skill_levels[v + 20]; } function get_status(obj) { var p = parseInt(obj.hp * 10 / obj.max_hp); if (p < 0) p = 0; if (p >= Look_status.length) p = Look_status.length - 1; return Look_status[p]; } var boy_pers = [ "眉歪眼斜,瘌头癣脚,不象人样", "呲牙咧嘴,黑如锅底,奇丑无比", "面如桔皮,头肿如猪,让人不想再看第二眼", "贼眉鼠眼,身高三尺,宛若猴状", "肥头大耳,腹圆如鼓,手脚短粗,令人发笑", "面颊凹陷,瘦骨伶仃,可怜可叹", "傻头傻脑,痴痴憨憨,看来倒也老实", "相貌平平,不会给人留下什么印象", "膀大腰圆,满脸横肉,恶形恶相", "腰圆背厚,面阔口方,骨格不凡", "眉目清秀,端正大方,一表人才", "双眼光华莹润,透出摄人心魄的光芒", "举动如行云游水,独蕴风情,吸引所有异性目光", "双目如星,眉梢传情,所见者无不为之心动", "粉面朱唇,身姿俊俏,举止风流无限", "丰神如玉,目似朗星,令人过目难忘", "面如美玉,粉妆玉琢,俊美不凡", "飘逸出尘,潇洒绝伦", "丰神俊朗,长身玉立,宛如玉树临风", "神清气爽,骨格清奇,宛若仙人", "一派神人气度,仙风道骨,举止出尘" ]; var girl_pers = [ "丑如无盐,状如夜叉", "歪鼻斜眼,脸色灰败,直如鬼怪一般", "八字眉,三角眼,鸡皮黄发,让人一见就想吐", "眼小如豆,眉毛稀疏,手如猴爪,不成人样", "一嘴大暴牙,让人一看就没好感", "满脸疙瘩,皮色粗黑,丑陋不堪", "干黄枯瘦,脸色腊黄,毫无女人味", "身材瘦小,肌肤无光,两眼无神", "虽不标致,倒也白净,有些动人之处", "肌肤微丰,雅淡温宛,清新可人", "鲜艳妍媚,肌肤莹透,引人遐思", "娇小玲珑,宛如飞燕再世,楚楚动人", "腮凝新荔,肌肤胜雪,目若秋水", "粉嫩白至,如芍药笼烟,雾里看花", "丰胸细腰,妖娆多姿,让人一看就心跳不已", "娇若春花,媚如秋月,真的能沉鱼落雁", "眉目如画,肌肤胜雪,真可谓闭月羞花", "气质美如兰,才华馥比山,令人见之忘俗", "灿若明霞,宝润如玉,恍如神妃仙子", "美若天仙,不沾一丝烟尘", "宛如玉雕冰塑,似梦似幻,已不再是凡间人物" ]; var Look_status = [ "受伤过重,已经有如风中残烛,随时都可能断气。", "受伤过重,已经奄奄一息,命在旦夕了。", "伤重之下已经难以支撑,眼看就要倒在地上。", "受了相当重的伤,只怕会有生命危险。", "已经伤痕累累,正在勉力支撑著不倒下去。", "气息粗重,动作开始散乱,看来所受的伤著实不轻。", "受伤不轻,看起来状况并不太好。", "受了几处伤,不过似乎并不碍事。", "看起来可能受了点轻伤。", "似乎受了点轻伤,不过光从外表看不大出来。", "看起来气血充盈,并没有受伤。" ]; var age_strs = ["几", "十多", "二十多", "三十多", "四十多", "五十多", "六十多", "七十多", "八十多", "九十多" , "一百多"]; var skill_levels = [ "初学乍练", "不知所以", "粗通皮毛", "渐有所悟", "半生不熟", "马马虎虎", "平淡无奇", "触类旁通", "心领神会", "挥洒自如", "驾轻就熟", "出类拔萃", "初入佳境", "神乎其技", "威不可当", "豁然贯通", "超群绝伦", "登峰造极", "登堂入室", "一代宗师", "超凡入圣", "出神入化", "独步天下", "空前绝后", "旷古绝伦", "深不可测", "返璞归真"];