this.inherits(COMMAND);
this.command = "emote";
this.allow_busy = true;
this.allow_state = true;
this.allow_die = true;
const WT_REG = /\s+/;
this.enter = function (me, str) {

    if (!str) return me.send(this.emote_data());
    let paras = str.split(WT_REG);
    let target = null, emts = null;
    if (paras.length > 1) {
        emts = emote[paras[0]];
        target = WORLD.find_user(paras[1]);
    } else {
        emts = emote[str];
    }
    if (!emts) return;
    var emt = target ? emts[1] : emts[0];
    var msg = splitmessage(me, emt, 3, target);

    return msg;
}

function splitmessage(me, text, type, target) {
    if (text.length < 3) return text;
    var str = [];
    var start = 0;
    for (var i = 0; i < text.length; i++) {
        if (text[i] == "$") {
            start < i && str.push(text.substring(start, i));
            var ch = text[++i];
            start = i + 1;
            //type 1本人视角 2目标视角 3第三人称视角
            switch (ch) {
                case "N"://本人
                    str.push(type == 1 ? "你" : me.name);
                    break;
                case "n"://目标
                    str.push(type == 2 ? "你" : target.name);
                    break;
                case "P":
                    str.push(type == 1 ? "你" : me.call3());
                    break;
                case "p":
                    str.push(type == 2 ? "你" : target.call3());
                    break;
                case "c":
                    str.push(target.call());
                    break;
                case "C":
                    str.push(me.callme());
                    break;
                case "r":
                    str.push(target.call(true));
                    break;
                case "R":
                    str.push(me.callme(me));
                    break;
                case "l":
                    str.push(target.call());
                    break;
                case "W":
                case "w":
                    str.push(me.weapon_name() || "手");
                    break;
                case "i":
                    str.push(target.weapon_name() || "手");
                    break;

            }
        }
    }
    start < i && str.push(text.substring(start, i));
    return str.join("");
}
this.emote_data = function (me) {
    if (this.json) return this.json;
    var str = ["{type:'emote',items:["];
    for (var key in emote) {
        if (str.length > 1) str.push(",");
        str.push("\"");
        str.push(key);
        str.push("\"");
    }
    str.push("]}");
    this.json = str.join("");
    return this.json;
}
var emote = {
    哈欠: ["$N打了个哈欠，觉得无聊极了。", "$N白了$n一眼，说：$n无聊不无聊啊 ?", "$N打了个哈欠，觉得自己真是无聊透顶。"],
    睡着: ["$N睡着了，呼噜打得震天响。", "$N睡梦中幸福地笑着，口水流了一枕头。", "$N在$n的身边睡着了，呼噜打得震天响。"],

    后会有期: ["$N抱拳道：青山不改，绿水常流，咱们后会有期！", "$N对$n抱拳道：青山不改，绿水常流，咱们后会有期！"],
    加油: ["$N使劲地用手拨拉着一大堆泥巴，一边吆喝着：一二三，加油干！六七八，挖泥巴！", "$N冲着$n大喊：$c，加油，加油！"],
    清醒: ["$N揉揉眼睛，清醒了过来。", "$N摇著$n试著把$n叫醒。大声在$n耳边大叫：「 猪! 起来了! 」"],
    无辜: ["$N无辜的流下泪来!", "$N满脸委屈地对$n说到:$c,你可别冤枉好人呀!"],
    傻笑: ["$N发出一阵傻笑。 ", "$N对着$n一阵傻笑。"],
    去死: ["$N披发仗剑，念起天魔大咒，四周荒野间顿时鬼哭狼嚎，天空上传来阵阵狞笑声：你们都给我死吧！", "$N高举双手大喝：去死吧！ 从天上降下一道闪电将$n化作一堆灰烬。"],
    耳光: ["$N的手好象蠢蠢欲动。", "$N打了$n一记响亮的耳光。 "],
    做菜: ["$N撸起袖子准备做菜。", "$N把$n做成的肉块放进锅里用薄油炒了炒，再盛到沙锅里用大汤文火炖烂。"],
    哼: ["$P哼了一声。", "$N看都不看$n一眼， 哼了一声，高高的把头扬起来了.......不理$N...."],
    姐姐: ["$N作了一个揖，说道：”各位姐妹们，大家好！", "$N满脸严肃的对$n敬个礼，道：“姐姐好！"],
    跳: ["$N高兴地跳了起来。", "$N扑进了$n怀里撒起了娇。"],
    惊讶: ["$N惊讶地吐出了舌头.", "$N对$N惊讶地吐出了舌头."],
    摸: ["$P把手放在自己的□□□□□□□□", "$N紧紧靠在$n的怀里，口中轻声叫道“$n$c”，鼻翼歙动，面赛桃花，羞答答地抚摸$n坚实的肌肤。"],
    好样的: ["$N竖起了右手大拇指。", "$N对着$n竖起了右手大拇指，好样的。"],
    诗1: ["$N拔剑对着自己，长吟道：“十年磨一剑，霜寒未曾试。今日把问君，谁有不平事？", "$N拔剑指着$n，长吟道：“十年磨一剑，霜寒未曾试。今日把问君，谁有不平事？"],
    狼: ["$N高声大喊：“狼来了！狼来了！大家快逃！", "$N恶狠狠地对着$n说：“这年头，谁知道坐在电脑后面的你是不是一头狼！"],
    色迷迷: ["$N陶醉地低声唱道，“一呀摸，摸到妹妹的头发边……", "$N色迷迷地盯着$n，陶醉地低声唱道，“一呀摸，摸到$n$c的头发边……"],
    美味: ["$N拼命在啃他自己的脚趾头，似乎觉得其味无穷", "$N盯着$n上上下下地看，一边咕噜噜地使劲咽着唾沫。"],
    无耻: ["$N自豪地宣布：“武林中我最无耻，你们能把我怎么样！", "$N对$n说道：“你这个人怎么脸皮比城墙拐弯儿还厚！"],
    好香: ["$N皱了皱眉，似乎嗅到什麽东西烧糊了。", "$N仰起脸，伸长鼻子对着空气猛嗅了几下，对着$n大声赞道：\"好香，好香!\""],
    害羞: ["一朵红云飞上了$N的面颊。", "$N刮着$n的鼻子说：“不羞，不羞。。。"],
    扎针: ["$N掏出一根闪闪亮的小针, 眯着眼睛, 看了看, 满意的点点头.", "$N掏出一根闪闪亮的小针, 猛地往$n的屁股扎下去.....哇!!疼啊!!"],
    同意: ["$N说：你们大家都对，行了吧？", "$N完全同意$n的观点。"],
    嘿嘿: ["$N嘿嘿的奸笑了几声, 看来又想到了什么歪处。", "$N嘿嘿的对着$n奸笑了几声。"],
    求帮: ["$N泪流满面地说，各位大佬，帮帮我吧！", "$N泪流满面地对$n说，$c帮帮我吧。"],
    咯咯: ["$N「咯。。。咯。。。咯。。。」地笑个不停。", "$N对着$n「咯咯咯」地笑了几声。"],
    流氓: ["$N嘴角一撇，狞笑道：“我是流氓，我怕谁？！”", "$N对着$n大叫：“$n，你这个臭流氓！”"],
    造谣: ["$N狞笑着说:我这个人从不信谣,传谣,.........我只造谣!!", "$N急得满脸通红，对$n说：你...你可别造谣！"],
    打劫: ["$N拿着把锋利的钢刀架在自己脖子上，喊道：你们给不给钱？！ 不给我就自杀了！", "$N一刀砍去，把$n的...钱袋挥作两半!"],
    好汉: ["$N声嘶力竭地大声叫道：哈！砍头不过头点地，老子十八年後又是一条好汉！", "$N对$n大声叫道：怕什麽怕，掉个脑袋不过碗大的疤，你小子有胆就跟他拼一场！"],
    什么: ["$N脸上露出迷惑的表情。", "$N似乎不懂$n是什么意思。"],
    拜访: ["$N郎声说道：拜山拜水拜码头，$C初到宝地，还请各位老大们多多关照！", "$N对$n说道：$c在上，$C初到码头，人生地不熟，万事请多关照！"],
    吹牛: ["$N把胸脯拍得噼啪响：“武林中拳头大的说话，有种的上来$s比划比划！", "$N把胸脯拍得噼啪响，对$n咆哮：“武林中拳头大的说话，$r你有种上来跟$R比划比划！"],
    哥哥: ["$N弯弯腰，道了个万福：“各位大哥，$C有礼了", "$N甜甜地跟$n打招呼：“$n哥哥好呀～"],
    失恋: ["$N向天长叹了一口气, 留下泪来。", "$N含着泪水对$n说到:随你好了,只要你幸福就好,你走吧。"],
    佩服: ["$N抱拳团团一拜，讨好地说道：$C对各位的景仰之情，有如滔滔江水连绵不绝。", "$N双手抱拳，讨好地对$n说道：“$C对$c的景仰之情，有如滔滔江水连绵不绝。"],
    阴笑: ["$N邪恶地发出一阵阴笑声。", "$N对着$n发出一阵阴笑声。"],
    鞠躬: ["$N恭恭敬敬地向墓碑鞠了一躬，浩然长叹，“前辈神技，令人难以想象。”", "$N恭恭敬敬地向$n的墓碑鞠了一躬，浩然长叹，“前辈神技，令人难以想象。"],
    等着: ["$N一脸气极败坏，恶狠狠地说道：这事没这麽容易了结，你们都给我走着瞧！", "$N对$n抱拳说道：$R武功惊人，$S极是拜服，十年之後，再来领教！"],
    酷: ["$N觉得自己真是酷毙了！", "$N对$n大叫道：「哇噻！你简直酷毙了!」。"],
    冷笑: ["$N「哼」地冷笑一声。", "$N对着$n「哼」地冷笑一声。"],
    闷棍: ["$N晃动着手中的木棒，到处寻找目标。", "$N手舞木棒，对准$n的后脑一记闷棍，$n哼也没哼一声，软软的摔倒在地。"],
    微笑: ["$N愉快地微笑着。", "$N朝$n愉快地微笑着。"],
    鼓掌: ["$N「啪啪啪」鼓起掌来。", "$N对着$n鼓起掌来，干得好。"],
    无奈: ["$N无奈地耸了耸肩。", "$N对着$n无奈地耸了耸肩。"],
    答应: ["$N歪头想了会，说道：好吧！", "$N对$n痛快地说道：好吧！"],
    委屈: ["$N满脸委曲地嚷到：不是我干的！", "$N满脸委曲地嚷到：$n，你可别冤枉好人！"],
    感动: ["$N感动极了，两行热泪夺眶而出。", "$N冲上前去，激动地紧紧握住$n的双手，哽咽着说不出话来。"],
    脸红: ["$N的脸「唰」的一下红了起来。", "$N看着$n，脸「唰」的一下红了起来。"],
    装逼: ["$N仰首面对苍天，狂笑不已，长叹道：难道这天底下，竟然没有人是我的对手？！", "$N剑眉一轩，冷冷的瞥了$n一眼，背转身淡淡说道：你，不是我的对手。"],
    点头: ["$N点了点头。", "$N对着$n点了点头。"],
    装死: ["$N两眼翻白，腿儿蹬了几下，脑袋一歪，断气了。", "$N很利索地把$n的肚子剖了开来，塞进稻草，只一会就作成了一具好看的木乃伊。"],
    考虑: ["$N开始认真考虑这个问题。", "$N开始考虑是否要杀了$n。"],
    脑崩儿: ["$N用手指弹了一下自己的脑门儿。", "$N在$n的头上弹了个清脆的脑崩儿，$n的脑门儿上立刻长出了个小臌包。"],
    眨眼: ["$N眨了眨迷人的眼睛!", "$N对$n眨了眨眼, 眼神中充满诱惑, 似乎................"],
    对视: ["$N遥望着在场的众人，微微一笑。一双妙目间情意流动，顾盼生姿。", "$N拉着$n的手，温柔地默默对视。目光中孕含着千种柔情，万般蜜意。"],
    吃醋: ["$N含情脉脉的看着世界上的女孩们，觉得三妻四妾真好!", "$N对$n骂道，你这黄脸婆，我和女孩说句话都不行！醋缸一个!"],
    拍头: ["$N拍了拍自己的头。", "$N轻轻地拍了拍$n的头。"],
    怀疑: ["$N想啊想，结果把脑袋给想破了，白白的脑浆流了一地。", "$N歪着脑袋，似乎很不明白为什麽$n死的时候白白的肚皮朝着天。"],
    挥砍: ["$N舞了个刀花。", "$N怒火中烧，一刀把$n劈成两半!"],
    大笑: ["$N捧住肚子，嘻嘻哈哈地直笑得两眼翻白，喘不过气来。", "$N张大眼奇怪地瞪着$n，慢慢地咧开嘴，捧腹大笑起来。"],
    作揖: ["$N躬身作了个揖。", "$N对着$n躬身作了个揖。"],
    西瓜: ["$N的脑袋长的跟西瓜似的, 别惊讶, 这是事实.", "$N认真的告诉$n, 你的脑袋长的跟西瓜似的, 别生气, 这是事实."],
    过奖: ["$N拱了拱手道：过奖，过奖!", "$N哈哈大笑，对着$n拱了拱手道：$c过奖了!"],
    生气: ["$N很生气地撅了撅嘴。", "$N很生气地看着$n。"],
    哭哭啼啼: ["$N不停地哭哭啼啼....", "$N靠在$n的肩上不停地哭哭啼啼."],
    安慰: ["$N怀着满腔热情寻思道：我该去安慰谁呢？", "$N安慰$n，别难过了。"],
    疯子: ["$N看看这个，又看看那个：疯了，都疯了，整个世界都疯了。", "$N看着疯疯癫癫的$n，叹了口气：唉，真可怜..."],
    感谢: ["$N对所有在场的人表示感谢。", "$N对$n表示衷心的感谢。"],
    生气: ["$N自己一个人在生闷气，谁也别理他啊，惹不起!", "$N哄着$n说，别生气了，就算我不对吧，笑一笑好吗？求你啦还不行。。?"],
    吹牛: ["$N拍着胸脯打包票：放心，天塌下来有我顶着，你们都不用怕！", "$N对著$n把胸脯拍得震天响：放心，天塌下来有我顶着，你不用怕！"],
    巴掌: ["$N使劲地拍自己的屁股。", "$N抓住$n照着屁股来了一巴掌?"],
    去死: ["$N想去死了算了。", "$N真希望看到$n去死。"],
    大喊: ["$N咬牙切齿地对着天空大叫：“贼老天！”", "$N瞪大眼，对着$n大声喊道：左右是个死，$R跟你拼了！"],
    舔: ["$N舔了舔自己嘴边的「哈喇滋」。", "$N舔了舔$n。"],
    捅: ["$N无聊的用手指到处乱捅!似乎想找个人陪陪!", "$N无聊的用手指捅了捅$n, 可是$n象根木头一样, 什么反应也没有。"],
    吻: ["$N嘟起嘴，“卟”地一声吻了吻空气。", "$N轻轻地捧起$n的脸，给了$n一个无限温柔的吻。"],
    抱: ["$N轻轻地抱住梦中的情人。", "$N深情的把$n轻轻地搂在怀里。"],
    逃跑: ["$N一看形势不对，脚底抹油，一声不吭地溜了。", "$N一边跑，一边对着$n大声喊道：$c，风紧，扯乎!"],
    口水: ["$N不知道想到什么诱人的东西，口水都流出来了。", "$N对$n垂涎三尺，不知道下一步会有何举动了。"],
    万福: ["$N给大家盈盈的福了一福。", "$N对$n福了一福, 说道:小女子这厢有礼了."],
    不行: ["$N板着脸，咬着牙说：不！打死我也不干！", "$N对$n斩钉截铁地说：不行，不行，就是不行！   哇...."],
    拍: ["$N拍了拍手，问道，谁能挡住我的拳头？", "$N一把揪住$n的脖子，抡了几圈，狠狠的把$n拍在了地上！！！"],
    咆哮: ["$N勃然大怒：一下撕开了衣服，露出了累累伤疤, 咆哮道：我征战沙场这么多年，难道还怕了你们不成？", "$N勃然大怒，撕开衣服，露出了累累伤疤, 朝$n咆哮道：我征战沙场这么多年，还怕了你不成 ?"],
    群殴: ["$N声嘶力竭地叫道，“大伙并肩子上啊！”。", "$N声嘶力竭地叫道，“对$n这样的$r还讲什么江湖道义，大伙并肩子上啊！”。"],
    昏迷: ["$N口吐白沫，昏了过去。", "$N眼前一黑，昏倒在$n的怀里。"],
    抱歉: ["$N对所有在场的人表示歉意。", "$N痛哭流涕的哀求$n的原谅。"],
    乖宝宝: ["$N对大家说：“叔叔阿姨们，我给大家唱支《我是一个乖宝宝》好不好？”", "$N拍了拍$n的头，说：“好孩子，听话，乖。”"],
    咬: ["$N磨了磨牙。", "$N真想狠狠地咬$n一口。"],
    踢: ["$N飞起一脚，似乎在踢苍蝇。", "$N飞起一脚，正好踢中$n的屁股！"],
    不知道: ["$N摇了摇头，不知道。", "$N对着$n说：对不起，我不知道。"],
    哈哈: ["$N「哈哈哈」大笑几声。", "$N对着$n「哈哈哈」大笑几声。"],
    呆子: ["$N对着镜子照了照觉得自己象个呆子。", "$N含羞地瞪了$n一眼，娇嗔道：有什么好看的，大呆子!"],
    可怜: ["$N叹道：好可怜呀！", "$N怜惜的对$n说，好可怜的孩子，$n的眼圈马上就红了起来。"],
    握手: ["$N的左手跟右手握了握，怎么不对劲？", "$N跟$n握了握手。"],
    敲: ["$N的手高高举起，不知道要敲什麽东西。", "$N狠狠地敲著$n的脑袋，$n被敲得脑袋大了三圈，满头大包。"],
    嫁人: ["$N把几百两黄金一摆，叉着腰说，谁娶了本姑娘，这钱就是他的了！", "$N把几百两黄金一摆，叉着腰对$n说：你嫁不嫁？"],
    难过: ["$N露出一丝难过的表情。", "$N看着$n，难过的要哭了。"],
    思考: ["$N背着双手踱来踱去，似乎在想什麽坏念头。", "$N看着$n踱来踱去，摇摇头，叹口气，又摇了摇头。"],
    开房: ["$N一个人坐在房间里，百无聊赖，希望谁来陪陪。。。。", "$N搂着$n的纤腰，亲热地说：走，咱俩开房去！"],
    皱眉: ["$N皱了皱眉，似乎想说什么。", "$N皱了皱眉，似乎想对$n说些什么。"],
    知道了: ["$N使劲拍了一下脑袋：我知道了", "$N使劲拍了一下脑袋对$n说：我知道了"],
    哈欠: ["$N困得眼睛都睁不开了，迷迷糊糊地打了个哈欠。", "$N对着$n打了个哈欠，熏得$n昏昏欲睡。"],
    得意: ["$N得意地打了个响指：哈哈！", "$N冲着$n伸出了两个手指做了个“V”，大声叫道：“YEAH”"],
    诱惑: ["$N满脸的媚态，作出一副迷人的姿态诱惑所有在场的人。", "$N满脸的媚态，作出一副迷人的姿态诱惑$n。"],
    嘻嘻: ["$N嘻嘻的笑了几声。", "$N笑嘻嘻的看着$n。"],
    不要: ["$N惊叫：不要，不要！", "$N对$n惊叫：不要，不要啊！"],
    害怕: ["$N面露怯色，好像害怕什么。", "$N被$n吓得脸都白了。"],
    擦汗: ["$N喘了口气，擦了擦额头上的汗水。", "$N替$n擦了擦额头上的汗水。"],
    失望: ["$N失望极了。", "$N对$n失望极了：$n没救了。"],
    呕吐: ["$N突然「稀哩哗啦」呕出了一大堆东西。", "$N「稀哩哗啦」吐了$n一身。"],
    摇头: ["$N把头摇得跟拨浪鼓似的。", "$N对着$n摇了摇头。"],
    打招呼: ["$N双手抱拳，作了个揖道：各位英雄请了！", "$N双手抱拳，对$n作了个揖道：这位$c请了！"],
    挥手: ["$N挥了挥手。", "$N对着$n挥了挥手。"],
    喊人: ["$N跳起来拼命地招动双手，也不知道是在叫谁。", "$N伸出食指，往里勾了勾：喂！$n，$r，过来！"],
    指: ["$N伸出指头把大家挨个点了一遍", "$N指着$n。"],
    恭喜: ["$N双手抱拳, 说到:恭喜恭喜!!", "$N对$n笑嘻嘻的说道:恭喜恭喜!!"],
    欣慰: ["$N看到这种情景，心中觉得欣慰极了。", "$N对$n说：你能这样想，我也就好欣慰了。"],
    馋: ["$N肚子饿得咕咕叫，眼睛在到处找有什么吃的。", "$N看着$n，喉咙里“咕噜”的响了一下，眼中冒出火来！"],
    举手: ["$N拼命地伸长自己的手臂，高声叫道：我，我，我！", "$N拼命地伸长自己的手臂，对$n高声叫道：我，我，我！"],
    赞扬: ["$N伸出指头把大家挨个点了一遍：“高手，都是高手！”", "$N指着$n赞叹道：$n是武林第一高手！"],
    痴呆: ["$N看起来一脸痴呆的样子。", "$N毫不留情地耻笑$n的愚昧."],
    大哭: ["$N嚎啕大哭起来。", "$N越想越伤心，终于忍不住趴在$n的肩膀上放声大哭起来。"],
    呵呵: ["$N「呵呵」傻笑了几声", "$N对着$n「呵呵」傻笑了几声。"],
    惊讶: ["$N惊讶地张着嘴巴，半天也说不出一句话来。", "$N对着$n惊讶地「啊！」了一声。"],
    叹气: ["$N深深地叹了口气。", "$N看着$n，深深地叹了口气。"]
};