無劍Mud輔助

無劍Mud輔助,由在線版移植而來,順便《略改》

目前為 2023-10-11 提交的版本,檢視 最新版本

// ==UserScript==
// @name              无剑Mud辅助
// @name:zh-TW        無劍Mud輔助
// @description       无剑Mud辅助,由在线版移植而来,順便《略改》
// @description:zh-TW 無劍Mud輔助,由在線版移植而來,順便《略改》
// @namespace         http://tampermonkey.net/
// @version           0.1.3-beta2
// @iconURL           http://res.yytou.cn/lunjian_tw/img/icon1.png
// @author            燕飞,東方鳴
// @match             http://swordman-s1.yytou.com/*
// @match             http://swordman-inter.yytou.com/*
// @grant             unsafeWindow
// @grant             GM_info
// @grant             GM_xmlhttpRequest
// @connect           greasyfork.org
// @run-at            document-end
// @compatible        Chrome >= 80
// @compatible        Edge >= 80
// @compatible        Firefox PC >= 74
// @compatible        Opera >= 67
// @compatible        Safari >= 13.1
// @compatible        Firefox Android >= 79
// @compatible        Opera Android >= 57
// @compatible        Safari on iOS >= 13.4
// @compatible        Samsung Internet >= 13.0
// @compatible        WebView Android >= 80  那一堆萬年不更新WebView的國產安卓手機不會在這出問題吧(
// ==/UserScript==

"use strict";
// 取消屏蔽
var KEYWORD_PATTERNS = g_gmain.KEYWORD_PATTERNS;
g_gmain.KEYWORD_PATTERNS = [];

$(() => {
  function init() {
    PLU.YFUI = YFUI;
    PLU.UTIL = UTIL;
    PLU.YFD = {
      mapsLib: { Map: [] },
      dailyList: [
        {
          n: "剑宫白猿",
          v: "rank go 204;e;s;s;s;s;s;s;s;s;w;w;n;n;n;n;nw;nw;nw;n;n;n;attrs;attrs;attrs;",
        },
        {
          n: "云远寺",
          v: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;s;s;s;s;e;event_1_2215721",
        },
        {
          n: "闯入冥庄",
          v: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;n;nw;nw;n;e;e;e;e;e;event_1_77775145",
        },
        {
          n: "西凉铁剑",
          v: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;n;n;n;n;n;nw;nw;ne;n;ne;n;",
        },
        {
          n: "四大绝杀",
          v: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;n;e;n;n;n;n;n;w;w;n;n;n;n;n;n;n;n",
        },
        {
          n: "十八木人",
          v: "jh 41;se;e;e;se;se;se;se;se;se;event_1_57976870;n;n;n;event_1_91914705;e;e;e;",
        },
        {
          n: "去通天塔",
          v: "rank go 193",
        },
        {
          n: "去红螺寺",
          v: "rank go 194",
        },
        {
          n: "去越女剑楼",
          v: "rank go 204",
        },
        {
          n: "去铸剑洞",
          v: "rank go 210",
        },
        {
          n: "去霹雳门",
          v: "rank go 222",
        },
        {
          n: "去葬剑谷",
          v: "rank go 223",
        },
        {
          n: "去无湘楼",
          v: "rank go 231",
        },
        {
          n: "去藏典塔",
          v: "rank go 232",
        },
        {
          n: "去魔皇殿",
          v: "rank go 236",
        },
        {
          n: "去名将堂",
          v: "rank go 262",
        },
        {
          n: "去一品堂",
          v: "rank go 296",
        },
        {
          n: "去无为寺",
          v: "jh 54;#4 nw;#2 w;#8 n;#2 ne;#2 nw;#6 n;",
        },
        {
          n: "去石棺",
          v: "jh 54;#4 nw;#2 w;#8 n;#2 nw;w;nw;#2 n;w;#2 n;",
        },
        {
          n: "拱辰楼",
          v: "jh 54;nw;nw;nw;nw;w;w;n;n;n;n;n;w;w;sw;w;event_1_69046360;;place?狮子口;w;s;s;w;w;w;se;n;nw;s;e;w;sw;w;w;w;n;n;n;n;w;w;w;w;w;w;w;w;n;",
        },
        {
          n: "塔林湖畔",
          v: "rank go 231;s;s;s;se;se;e;s;s;s;s;se;se;s;s;s;",
        },
        {
          n: "种丹秘境",
          v: "jh 54;nw;nw;nw;nw;w;w;n;n;n;n;n;w;w;sw;w;event_1_69046360;event_1_30634412;place?巍宝仙踪:2;",
        },
        {
          n: "灵鹫宫",
          v: "rank go 311",
        },
        {
          n: "去哈日",
          v: "rank go 262;e;s;w;w;s;sw;sw;sw;sw;nw;nw;n;nw;ne;",
        },
      ],
      QuestAnsLibs: {
        "“白玉牌楼”场景是在哪个地图上?": "c",
        "“百龙山庄”场景是在哪个地图上?": "b",
        "“冰火岛”场景是在哪个地图上?": "b",
        "“常春岛渡口”场景是在哪个地图上?": "c",
        "“跪拜坪”场景是在哪个地图上?": "b",
        "“翰墨书屋”场景是在哪个地图上?": "c",
        "“花海”场景是在哪个地图上?": "a",
        "“留云馆”场景是在哪个地图上?": "b",
        "“日月洞”场景是在哪个地图上?": "b",
        "“蓉香榭”场景是在哪个地图上?": "c",
        "“三清殿”场景是在哪个地图上?": "b",
        "“三清宫”场景是在哪个地图上?": "c",
        "“双鹤桥”场景是在哪个地图上?": "b",
        "“无名山脚”场景是在哪个地图上?": "d",
        "“伊犁”场景是在哪个地图上?": "b",
        "“鹰记商号”场景是在哪个地图上?": "d",
        "“迎梅客栈”场景是在哪个地图上?": "d",
        "“子午楼”场景是在哪个地图上?": "c",
        "8级的装备摹刻需要几把刻刀": "a",
        NPC公平子在哪一章地图: "a",
        瑷伦在晚月庄的哪个场景: "b",
        安惜迩是在那个场景: "c",
        "黯然销魂掌有多少招式?": "c",
        黯然销魂掌是哪个门派的技能: "a",
        "八卦迷阵是哪个门派的阵法?": "b",
        八卦迷阵是那个门派的阵法: "a",
        "白金戒指可以在哪位那里获得?": "b",
        "白金戒指可以在哪位npc那里获得?": "b",
        "白金手镯可以在哪位那里获得?": "a",
        "白金手镯可以在哪位npc那里获得?": "a",
        "白金项链可以在哪位那里获得?": "b",
        "白金项链可以在哪位npc那里获得?": "b",
        "白蟒鞭的伤害是多少?": "a",
        白驼山第一位要拜的师傅是谁: "a",
        白银宝箱礼包多少元宝一个: "d",
        "白玉腰束是腰带类的第几级装备?": "b",
        拜师风老前辈需要正气多少: "b",
        拜师老毒物需要蛤蟆功多少级: "a",
        拜师铁翼需要多少内力: "b",
        拜师小龙女需要容貌多少: "c",
        拜师张三丰需要多少正气: "b",
        包家将是哪个门派的师傅: "a",
        包拯在哪一章: "d",
        "宝石合成一次需要消耗多少颗低级宝石?": "c",
        "宝玉帽可以在哪位那里获得?": "d",
        宝玉鞋击杀哪个可以获得: "a",
        宝玉鞋在哪获得: "a",
        "暴雨梨花针的伤害是多少?": "c",
        北斗七星阵是第几个的组队副本: "c",
        北冥神功是哪个门派的技能: "b",
        北岳殿神像后面是哪位: "b",
        匕首加什么属性: "c",
        碧海潮生剑在哪位师傅处学习: "a",
        "碧磷鞭的伤害是多少?": "b",
        镖局保镖是挂机里的第几个任务: "d",
        "冰魄银针的伤害是多少?": "b",
        病维摩拳是哪个门派的技能: "b",
        不可保存装备下线多久会消失: "c",
        不属于白驼山的技能是什么: "b",
        沧海护腰可以镶嵌几颗宝石: "d",
        "沧海护腰是腰带类的第几级装备?": "a",
        藏宝图在哪个NPC处购买: "a",
        藏宝图在哪个处购买: "b",
        藏宝图在哪里那里买: "a",
        "草帽可以在哪位那里获得?": "b",
        成功易容成异性几次可以领取易容成就奖: "b",
        "成长计划第七天可以领取多少元宝?": "d",
        "成长计划六天可以领取多少银两?": "d",
        "成长计划需要多少元宝方可购买?": "a",
        城里打擂是挂机里的第几个任务: "d",
        城里抓贼是挂机里的第几个任务: "b",
        充值积分不可以兑换下面什么物品: "d",
        出生选武学世家增加什么: "a",
        "闯楼第几层可以获得称号“藏剑楼护法”": "b",
        "闯楼第几层可以获得称号“藏剑楼楼主”": "d",
        "闯楼第几层可以获得称号“藏剑楼长老”": "c",
        闯楼每多少层有称号奖励: "a",
        春风快意刀是哪个门派的技能: "b",
        春秋水色斋需要多少杀气才能进入: "d",
        从哪个处进入跨服战场: "a",
        摧心掌是哪个门派的技能: "a",
        达摩在少林哪个场景: "c",
        "达摩杖的伤害是多少?": "d",
        "打开引路蜂礼包可以得到多少引路蜂?": "b",
        "打排行榜每天可以完成多少次?": "a",
        打土匪是挂机里的第几个任务: "c",
        打造刻刀需要多少个玄铁: "a",
        打坐增长什么属性: "a",
        "大保险卡可以承受多少次死亡后不降技能等级?": "b",
        大乘佛法有什么效果: "d",
        大旗门的修养术有哪个特殊效果: "a",
        大旗门的云海心法可以提升哪个属性: "c",
        大招寺的金刚不坏功有哪个特殊效果: "a",
        大招寺的铁布衫有哪个特殊效果: "c",
        "当日最低累积充值多少元即可获得返利?": "b",
        刀法基础在哪掉落: "a",
        倒乱七星步法是哪个门派的技能: "d",
        "等级多少才能在世界频道聊天?": "c",
        第一个副本需要多少等级才能进入: "d",
        "貂皮斗篷是披风类的第几级装备?": "b",
        丁老怪是哪个门派的终极师傅: "a",
        丁老怪在星宿海的哪个场景: "b",
        东方教主在魔教的哪个场景: "b",
        斗转星移是哪个门派的技能: "a",
        斗转星移阵是哪个门派的阵法: "a",
        "毒龙鞭的伤害是多少?": "a",
        毒物阵法是哪个门派的阵法: "b",
        "独孤求败有过几把剑?": "d",
        独龙寨是第几个组队副本: "a",
        "读书写字301-400级在哪里买书": "c",
        读书写字最高可以到多少级: "b",
        端茶递水是挂机里的第几个任务: "b",
        断云斧是哪个门派的技能: "a",
        "锻造一把刻刀需要多少玄铁碎片锻造?": "c",
        "锻造一把刻刀需要多少银两?": "a",
        兑换易容面具需要多少玄铁碎片: "c",
        多少消费积分换取黄金宝箱: "a",
        多少消费积分可以换取黄金钥匙: "b",
        翻译梵文一次多少银两: "d",
        方媃是哪个门派的师傅: "b",
        飞仙剑阵是哪个门派的阵法: "b",
        风老前辈在华山哪个场景: "b",
        风泉之剑加几点悟性: "c",
        "风泉之剑可以在哪位那里获得?": "b",
        "风泉之剑可以在哪位npc那里获得?": "b",
        风泉之剑在哪里获得: "d",
        "疯魔杖的伤害是多少?": "b",
        "伏虎杖的伤害是多少?": "c",
        副本完成后不可获得下列什么物品: "b",
        副本一次最多可以进几人: "a",
        副本有什么奖励: "d",
        富春茶社在哪一章: "c",
        "改名字在哪改?": "d",
        丐帮的绝学是什么: "a",
        丐帮的轻功是哪个: "b",
        干苦力是挂机里的第几个任务: "a",
        "钢丝甲衣可以在哪位那里获得?": "d",
        高级乾坤再造丹加什么: "b",
        "高级乾坤再造丹是增加什么的?": "b",
        高级突破丹多少元宝一颗: "d",
        "割鹿刀可以在哪位npc那里获得?": "b",
        葛伦在大招寺的哪个场景: "b",
        根骨能提升哪个属性: "c",
        功德箱捐香火钱有什么用: "a",
        "功德箱在雪亭镇的哪个场景?": "c",
        "购买新手进阶礼包在挂机打坐练习上可以享受多少倍收益?": "b",
        孤独求败称号需要多少论剑积分兑换: "b",
        孤儿出身增加什么: "d",
        古灯大师是哪个门派的终极师傅: "c",
        古灯大师在大理哪个场景: "c",
        "古墓多少级以后才能进去?": "d",
        寒玉床睡觉修炼需要多少点内力值: "c",
        寒玉床睡觉一次多久: "c",
        寒玉床需要切割多少次: "d",
        寒玉床在哪里切割: "a",
        "寒玉床在那个地图可以找到?": "a",
        黑狗血在哪获得: "b",
        "黑水伏蛟可以在哪位那里获得?": "c",
        红宝石加什么属性: "b",
        洪帮主在洛阳哪个场景: "c",
        "虎皮腰带是腰带类的第几级装备?": "a",
        花不为在哪一章: "a",
        花花公子在哪个地图: "a",
        华山村王老二掉落的物品是什么: "a",
        华山施戴子掉落的物品是什么: "b",
        华山武器库从哪个NPC进: "d",
        黄宝石加什么属性: "c",
        黄岛主在桃花岛的哪个场景: "d",
        黄袍老道是哪个门派的师傅: "c",
        "积分商城在雪亭镇的哪个场景?": "c",
        "技能柳家拳谁教的?": "a",
        技能数量超过了什么消耗潜能会增加: "b",
        嫁衣神功是哪个门派的技能: "b",
        剑冢在哪个地图: "a",
        街头卖艺是挂机里的第几个任务: "a",
        "金弹子的伤害是多少?": "a",
        金刚不坏功有什么效果: "a",
        "金刚杖的伤害是多少?": "a",
        "金戒指可以在哪位npc那里获得?": "d",
        "金手镯可以在哪位npc那里获得?": "b",
        "金丝鞋可以在哪位npc那里获得?": "b",
        "金项链可以在哪位npc那里获得?": "d",
        金玉断云是哪个门派的阵法: "a",
        "锦缎腰带是腰带类的第几级装备?": "a",
        "精铁棒可以在哪位那里获得?": "d",
        九区服务器名称: "d",
        九阳神功是哪个门派的技能: "c",
        九阴派梅师姐在星宿海哪个场景: "a",
        军营是第几个组队副本: "b",
        "开通VIP月卡最低需要当天充值多少元方有购买资格?": "a",
        "可以召唤金甲伏兵助战是哪个门派?": "a",
        客商在哪一章: "b",
        孔雀氅可以镶嵌几颗宝石: "b",
        "孔雀氅是披风类的第几级装备?": "c",
        枯荣禅功是哪个门派的技能: "a",
        跨服是星期几举行的: "b",
        跨服天剑谷每周六几点开启: "a",
        跨服需要多少级才能进入: "c",
        跨服在哪个场景进入: "c",
        兰花拂穴手是哪个门派的技能: "a",
        蓝宝石加什么属性: "a",
        蓝止萍在哪一章: "c",
        蓝止萍在晚月庄哪个小地图: "b",
        老毒物在白驮山的哪个场景: "b",
        老顽童在全真教哪个场景: "b",
        莲花掌是哪个门派的技能: "a",
        烈火旗大厅是那个地图的场景: "c",
        烈日项链可以镶嵌几颗宝石: "c",
        林祖师是哪个门派的师傅: "a",
        灵蛇杖法是哪个门派的技能: "c",
        淩波微步是哪个门派的技能: "b",
        淩虚锁云步是哪个门派的技能: "b",
        "领取消费积分需要寻找哪个NPC?": "c",
        "鎏金缦罗是披风类的第几级装备?": "d",
        柳淳风在哪一章: "c",
        柳淳风在雪亭镇哪个场景: "b",
        柳文君所在的位置: "a",
        六脉神剑是哪个门派的绝学: "a",
        陆得财是哪个门派的师傅: "c",
        陆得财在乔阴县的哪个场景: "a",
        论剑每天能打几次: "a",
        论剑是每周星期几: "c",
        论剑是什么时间点正式开始: "a",
        论剑是星期几进行的: "c",
        论剑是星期几举行的: "c",
        论剑输一场获得多少论剑积分: "a",
        论剑要在晚上几点前报名: "b",
        "论剑在周几进行?": "b",
        论剑中步玄派的师傅是哪个: "a",
        论剑中大招寺第一个要拜的师傅是谁: "c",
        论剑中古墓派的终极师傅是谁: "d",
        论剑中花紫会的师傅是谁: "c",
        论剑中青城派的第一个师傅是谁: "a",
        论剑中青城派的终极师傅是谁: "d",
        论剑中逍遥派的终极师傅是谁: "c",
        论剑中以下不是峨嵋派技能的是哪个: "b",
        论剑中以下不是华山派的人物的是哪个: "d",
        论剑中以下哪个不是大理段家的技能: "c",
        论剑中以下哪个不是大招寺的技能: "b",
        论剑中以下哪个不是峨嵋派可以拜师的师傅: "d",
        论剑中以下哪个不是丐帮的技能: "d",
        论剑中以下哪个不是丐帮的人物: "a",
        论剑中以下哪个不是古墓派的的技能: "b",
        论剑中以下哪个不是华山派的技能的: "d",
        论剑中以下哪个不是明教的技能: "d",
        论剑中以下哪个不是魔教的技能: "a",
        论剑中以下哪个不是魔教的人物: "d",
        论剑中以下哪个不是全真教的技能: "d",
        论剑中以下哪个不是是晚月庄的技能: "d",
        论剑中以下哪个不是唐门的技能: "c",
        论剑中以下哪个不是唐门的人物: "c",
        论剑中以下哪个不是铁雪山庄的技能: "d",
        论剑中以下哪个不是铁血大旗门的技能: "c",
        论剑中以下哪个是大理段家的技能: "a",
        论剑中以下哪个是大招寺的技能: "b",
        论剑中以下哪个是丐帮的技能: "b",
        论剑中以下哪个是花紫会的技能: "a",
        论剑中以下哪个是华山派的技能的: "a",
        论剑中以下哪个是明教的技能: "b",
        论剑中以下哪个是青城派的技能: "b",
        论剑中以下哪个是唐门的技能: "b",
        论剑中以下哪个是天邪派的技能: "b",
        论剑中以下哪个是天邪派的人物: "a",
        论剑中以下哪个是铁雪山庄的技能: "c",
        论剑中以下哪个是铁血大旗门的技能: "b",
        论剑中以下哪个是铁血大旗门的师傅: "a",
        论剑中以下哪个是晚月庄的技能: "a",
        论剑中以下哪个是晚月庄的人物: "a",
        论剑中以下是峨嵋派技能的是哪个: "a",
        论语在哪购买: "a",
        骆云舟在哪一章: "c",
        骆云舟在乔阴县的哪个场景: "b",
        落英神剑掌是哪个门派的技能: "b",
        吕进在哪个地图: "a",
        绿宝石加什么属性: "c",
        漫天花雨匕在哪获得: "a",
        茅山的绝学是什么: "b",
        茅山的天师正道可以提升哪个属性: "d",
        茅山可以招几个宝宝: "c",
        茅山派的轻功是什么: "b",
        茅山天师正道可以提升什么: "c",
        茅山学习什么技能招宝宝: "a",
        茅山在哪里拜师: "c",
        "每次合成宝石需要多少银两?": "a",
        每个玩家最多能有多少个好友: "b",
        vip每天不可以领取什么: "b",
        每天的任务次数几点重置: "d",
        每天分享游戏到哪里可以获得20元宝: "a",
        每天能挖几次宝: "d",
        每天能做多少个谜题任务: "a",
        每天能做多少个谜: "a",
        每天能做多少个师门任务: "c",
        每天微信分享能获得多少元宝: "d",
        每天有几次试剑: "b",
        "每天在线多少个小时即可领取消费积分?": "b",
        每突破一次技能有效系数加多少: "a",
        密宗伏魔是哪个门派的阵法: "c",
        灭绝师太在第几章: "c",
        灭绝师太在峨眉山哪个场景: "a",
        明教的九阳神功有哪个特殊效果: "a",
        "明月帽要多少刻刀摩刻?": "a",
        摹刻10级的装备需要摩刻技巧多少级: "b",
        "摹刻烈日宝链需要多少级摩刻技巧?": "c",
        "摹刻扬文需要多少把刻刀?": "a",
        魔鞭诀在哪里学习: "d",
        魔教的大光明心法可以提升哪个属性: "d",
        莫不收在哪一章: "a",
        "墨磷腰带是腰带类的第几级装备?": "d",
        木道人在青城山的哪个场景: "b",
        慕容家主在慕容山庄的哪个场景: "a",
        慕容山庄的斗转星移可以提升哪个属性: "d",
        哪个NPC掉落拆招基础: "a",
        哪个处可以捏脸: "a",
        哪个分享可以获得20元宝: "b",
        哪个技能不是魔教的: "d",
        哪个门派拜师没有性别要求: "d",
        哪个npc属于全真七子: "b",
        哪样不能获得玄铁碎片: "c",
        能增容貌的是下面哪个技能: "a",
        "捏脸需要花费多少银两?": "c",
        "捏脸需要寻找哪个NPC?": "a",
        "欧阳敏是哪个门派的?": "b",
        欧阳敏是哪个门派的师傅: "b",
        欧阳敏在哪一章: "a",
        欧阳敏在唐门的哪个场景: "c",
        "排行榜最多可以显示多少名玩家?": "a",
        逄义是在那个场景: "a",
        "披星戴月是披风类的第几级装备?": "d",
        劈雳拳套有几个镶孔: "a",
        霹雳掌套的伤害是多少: "b",
        辟邪剑法是哪个门派的绝学技能: "a",
        辟邪剑法在哪学习: "b",
        婆萝蜜多心经是哪个门派的技能: "b",
        七宝天岚舞是哪个门派的技能: "d",
        "七星鞭的伤害是多少?": "c",
        七星剑法是哪个门派的绝学: "a",
        棋道是哪个门派的技能: "c",
        千古奇侠称号需要多少论剑积分兑换: "d",
        乾坤大挪移属于什么类型的武功: "a",
        乾坤一阳指是哪个师傅教的: "a",
        青城派的道德经可以提升哪个属性: "c",
        青城派的道家心法有哪个特殊效果: "a",
        清风寨在哪: "b",
        清风寨在哪个地图: "d",
        清虚道长在哪一章: "d",
        去唐门地下通道要找谁拿钥匙: "a",
        全真的道家心法有哪个特殊效果: "a",
        全真的基本阵法有哪个特殊效果: "b",
        全真的双手互搏有哪个特殊效果: "c",
        日月神教大光明心法可以提升什么: "d",
        "如何将华山剑法从400级提升到440级?": "d",
        如意刀是哪个门派的技能: "c",
        "山河藏宝图需要在哪个NPC手里购买?": "d",
        上山打猎是挂机里的第几个任务: "c",
        少林的混元一气功有哪个特殊效果: "d",
        少林的易筋经神功有哪个特殊效果: "a",
        蛇形刁手是哪个门派的技能: "b",
        什么影响打坐的速度: "c",
        什么影响攻击力: "d",
        什么装备不能镶嵌黄水晶: "d",
        "什么装备都能镶嵌的是什么宝石?": "c",
        什么装备可以镶嵌紫水晶: "c",
        神雕大侠所在的地图: "b",
        神雕大侠在哪一章: "a",
        "神雕侠侣的时代背景是哪个朝代?": "d",
        "神雕侠侣的作者是?": "b",
        升级什么技能可以提升根骨: "a",
        "生死符的伤害是多少?": "a",
        师门磕头增加什么: "a",
        "师门任务每天可以完成多少次?": "a",
        "师门任务每天可以做多少个?": "c",
        "师门任务什么时候更新?": "b",
        师门任务一天能完成几次: "d",
        "师门任务最多可以完成多少个?": "d",
        施令威在哪个地图: "b",
        石师妹哪个门派的师傅: "c",
        "使用朱果经验潜能将分别增加多少?": "a",
        "首次通过乔阴县不可以获得那种奖励?": "a",
        受赠的消费积分在哪里领取: "d",
        "兽皮鞋可以在哪位那里获得?": "b",
        树王坟在第几章节: "c",
        双儿在扬州的哪个小地图: "a",
        孙天灭是哪个门派的师傅: "c",
        踏雪无痕是哪个门派的技能: "b",
        "踏云棍可以在哪位那里获得?": "a",
        唐门的唐门毒经有哪个特殊效果: "a",
        唐门密道怎么走: "c",
        天蚕围腰可以镶嵌几颗宝石: "d",
        "天蚕围腰是腰带类的第几级装备?": "d",
        天山姥姥在逍遥林的哪个场景: "d",
        天山折梅手是哪个门派的技能: "c",
        天师阵法是哪个门派的阵法: "b",
        天邪派在哪里拜师: "b",
        天羽奇剑是哪个门派的技能: "a",
        "铁戒指可以在哪位那里获得?": "a",
        "铁手镯可以在哪位那里获得?": "a",
        铁血大旗门云海心法可以提升什么: "a",
        "通灵需要花费多少银两?": "d",
        "通灵需要寻找哪个NPC?": "c",
        突破丹在哪里购买: "b",
        屠龙刀法是哪个门派的绝学技能: "b",
        屠龙刀是什么级别的武器: "a",
        挖剑冢可得什么: "a",
        "弯月刀可以在哪位那里获得?": "b",
        玩家每天能够做几次正邪任务: "c",
        "玩家想修改名字可以寻找哪个NPC?": "a",
        晚月庄的内功是什么: "b",
        晚月庄的七宝天岚舞可以提升哪个属性: "b",
        晚月庄的小贩在下面哪个地点: "a",
        晚月庄七宝天岚舞可以提升什么: "b",
        晚月庄主线过关要求: "a",
        王铁匠是在那个场景: "b",
        王重阳是哪个门派的师傅: "b",
        "魏无极处读书可以读到多少级?": "a",
        魏无极身上掉落什么装备: "c",
        魏无极在第几章: "a",
        闻旗使在哪个地图: "a",
        "乌金玄火鞭的伤害是多少?": "d",
        "乌檀木刀可以在哪位那里获得?": "d",
        "乌檀木刀可以在哪位npc那里获得?": "d",
        "钨金腰带是腰带类的第几级装备?": "d",
        武当派的绝学技能是以下哪个: "d",
        "武穆兵法提升到多少级才能出现战斗必刷?": "d",
        武穆兵法通过什么学习: "a",
        武学世家加的什么初始属性: "a",
        舞中之武是哪个门派的阵法: "b",
        "西毒蛇杖的伤害是多少?": "c",
        吸血蝙蝠在下面哪个地图: "a",
        "下列哪项战斗不能多个玩家一起战斗?": "a",
        下列装备中不可摹刻的是: "c",
        下面哪个不是古墓的师傅: "d",
        下面哪个不是门派绝学: "d",
        下面哪个不是魔教的: "d",
        下面哪个地点不是乔阴县的: "d",
        下面哪个门派是正派: "a",
        下面哪个是天邪派的师傅: "a",
        下面有什么是寻宝不能获得的: "c",
        "向师傅磕头可以获得什么?": "b",
        逍遥步是哪个门派的技能: "a",
        逍遥林是第几章的地图: "c",
        逍遥林怎么弹琴可以见到天山姥姥: "b",
        逍遥派的绝学技能是以下哪个: "a",
        萧辟尘在哪一章: "d",
        "小李飞刀的伤害是多少?": "d",
        "小龙女住的古墓是谁建造的?": "b",
        小男孩在华山村哪里: "a",
        新人礼包在哪个npc处兑换: "a",
        新手礼包在哪里领取: "a",
        "新手礼包在哪领取?": "c",
        需要使用什么衣服才能睡寒玉床: "a",
        选择孤儿会影响哪个属性: "c",
        选择商贾会影响哪个属性: "b",
        选择书香门第会影响哪个属性: "b",
        选择武学世家会影响哪个属性: "a",
        学习屠龙刀法需要多少内力: "b",
        雪莲有什么作用: "a",
        雪蕊儿是哪个门派的师傅: "a",
        雪蕊儿在铁雪山庄的哪个场景: "d",
        扬文的属性: "a",
        扬州询问黑狗能到下面哪个地点: "a",
        扬州在下面哪个地点的处可以获得玉佩: "c",
        "羊毛斗篷是披风类的第几级装备?": "a",
        阳刚之劲是哪个门派的阵法: "c",
        "杨过小龙女分开多少年后重逢?": "c",
        杨过在哪个地图: "a",
        "夜行披风是披风类的第几级装备?": "a",
        夜皇在大旗门哪个场景: "c",
        一个队伍最多有几个队员: "c",
        一天能完成谜题任务多少个: "b",
        一天能完成师门任务有多少个: "c",
        一天能完成挑战排行榜任务多少次: "a",
        一张分身卡的有效时间是多久: "c",
        一指弹在哪里领悟: "b",
        移开明教石板需要哪项技能到一定级别: "a",
        以下不是步玄派的技能的哪个: "c",
        以下不是天宿派师傅的是哪个: "c",
        以下不是隐藏门派的是哪个: "d",
        以下哪个宝石不能镶嵌到戒指: "c",
        以下哪个宝石不能镶嵌到内甲: "a",
        以下哪个宝石不能镶嵌到披风: "c",
        以下哪个宝石不能镶嵌到腰带: "c",
        以下哪个宝石不能镶嵌到衣服: "a",
        "以下哪个不是道尘禅师教导的武学?": "d",
        "以下哪个不是何不净教导的武学?": "c",
        "以下哪个不是慧名尊者教导的技能?": "d",
        "以下哪个不是空空儿教导的武学?": "b",
        "以下哪个不是梁师兄教导的武学?": "b",
        "以下哪个不是论剑的皮肤?": "d",
        "以下哪个不是全真七子?": "c",
        "以下哪个不是宋首侠教导的武学?": "d",
        "以下哪个不是微信分享好友、朋友圈、QQ空间的奖励?": "a",
        "以下哪个不是岳掌门教导的武学?": "a",
        以下哪个不是在洛阳场景: "d",
        以下哪个不是在雪亭镇场景: "d",
        以下哪个不是在扬州场景: "d",
        "以下哪个不是知客道长教导的武学?": "b",
        "以下哪个门派不是隐藏门派?": "c",
        "以下哪个门派是正派?": "d",
        "以下哪个门派是中立门派?": "a",
        以下哪个是步玄派的祖师: "b",
        以下哪个是封山派的祖师: "c",
        以下哪个是花紫会的祖师: "a",
        以下哪个是晚月庄的祖师: "d",
        "以下哪些物品不是成长计划第二天可以领取的?": "c",
        "以下哪些物品不是成长计划第三天可以领取的?": "d",
        "以下哪些物品不是成长计划第一天可以领取的?": "d",
        "以下哪些物品是成长计划第四天可以领取的?": "a",
        "以下哪些物品是成长计划第五天可以领取的?": "b",
        以下属于邪派的门派是哪个: "b",
        以下属于正派的门派是哪个: "a",
        "以下谁不精通降龙十八掌?": "d",
        "以下有哪些物品不是每日充值的奖励?": "d",
        倚天剑加多少伤害: "d",
        "倚天屠龙记的时代背景哪个朝代?": "a",
        易容后保持时间是多久: "a",
        易容面具需要多少玄铁兑换: "c",
        易容术多少级才可以易容成异性NPC: "a",
        "易容术可以找哪位NPC学习?": "b",
        易容术向谁学习: "a",
        易容术在哪里学习: "a",
        "易容术在哪学习?": "b",
        "银手镯可以在哪位那里获得?": "b",
        "银丝链甲衣可以在哪位npc那里获得?": "a",
        "银项链可以在哪位那里获得?": "b",
        尹志平是哪个门派的师傅: "b",
        隐者之术是那个门派的阵法: "a",
        鹰爪擒拿手是哪个门派的技能: "a",
        "影响你出生的福缘的出生是?": "d",
        油流麻香手是哪个门派的技能: "a",
        游龙散花是哪个门派的阵法: "d",
        玉蜂浆在哪个地图获得: "a",
        玉女剑法是哪个门派的技能: "b",
        岳掌门在哪一章: "a",
        云九天是哪个门派的师傅: "c",
        云问天在哪一章: "a",
        在洛阳萧问天那可以学习什么心法: "b",
        在庙祝处洗杀气每次可以消除多少点: "a",
        "在哪个NPC可以购买恢复内力的药品?": "c",
        在哪个处可以更改名字: "a",
        在哪个处领取免费消费积分: "d",
        在哪个处能够升级易容术: "b",
        "在哪里可以找到“香茶”?": "a",
        在哪里捏脸提升容貌: "d",
        在哪里消杀气: "a",
        在逍遥派能学到的技能是哪个: "a",
        在雪亭镇李火狮可以学习多少级柳家拳: "b",
        在战斗界面点击哪个按钮可以进入聊天界面: "d",
        "在正邪任务中不能获得下面什么奖励?": "d",
        怎么样获得免费元宝: "a",
        赠送李铁嘴银两能够增加什么: "a",
        张教主在明教哪个场景: "d",
        张三丰在哪一章: "d",
        张三丰在武当山哪个场景: "d",
        张松溪在哪个地图: "c",
        张天师是哪个门派的师傅: "a",
        张天师在茅山哪个场景: "d",
        "长虹剑在哪位那里获得?": "a",
        "长剑在哪里可以购买?": "a",
        正邪任务杀死好人增长什么: "b",
        正邪任务一天能做几次: "a",
        正邪任务中客商的在哪个地图: "a",
        正邪任务中卖花姑娘在哪个地图: "b",
        "正邪任务最多可以完成多少个?": "d",
        支线对话书生上魁星阁二楼杀死哪个NPC给10元宝: "a",
        朱姑娘是哪个门派的师傅: "a",
        朱老伯在华山村哪个小地图: "b",
        "追风棍可以在哪位npc那里获得?": "a",
        追风棍在哪里获得: "b",
        紫宝石加什么属性: "d",
        下面哪个npc不是魔教的: "d",
        藏宝图在哪里npc那里买: "a",
        从哪个npc处进入跨服战场: "a",
        钻石项链在哪获得: "a",
        在哪个npc处能够升级易容术: "b",
        扬州询问黑狗子能到下面哪个地点: "a",
        北岳殿神像后面是哪位npc: "b",
        "兽皮鞋可以在哪位npc那里获得?": "b",
        在哪个npc处领取免费消费积分: "d",
        "踏云棍可以在哪位npc那里获得?": "a",
        "钢丝甲衣可以在哪位npc那里获得?": "d",
        "铁手镯可以在哪位npc那里获得?": "a",
        哪个npc处可以捏脸: "a",
        "草帽可以在哪位npc那里获得?": "b",
        "铁戒指可以在哪位npc那里获得?": "a",
        "银项链可以在哪位npc那里获得?": "b",
        在哪个npc处可以更改名字: "a",
        "宝玉帽可以在哪位npc那里获得?": "d",
        论剑中以下哪个不是晚月庄的技能: "d",
        "精铁棒可以在哪位npc那里获得?": "d",
        "弯月刀可以在哪位npc那里获得?": "b",
        藏宝图在哪个npc处购买: "b",
        宝玉鞋击杀哪个npc可以获得: "a",
        "银手镯可以在哪位npc那里获得?": "b",
        扬州在下面哪个地点的npc处可以获得玉佩: "c",
        跨服天剑谷是星期几举行的: "b",
        "长虹剑在哪位npc那里获得?": "a",
        "追风棍在哪里获得?": "b",
        "黑水伏蛟可以在哪位npc那里获得?": "c",
        跨服副本周六几点开启: "a",
        "铁手镯  可以在哪位npc那里获得?": "a",
      },
      usualList: [
        {
          n: "风泉之剑",
          v: "jh 7;s;s;s;s;s;s;s;s;e;n;e;s;e;",
        },
        {
          n: "洛阳挖矿",
          v: "jh 2;n;n;n;n;n;n;n;n;n;n;w;w;w",
        },
        {
          n: "青竹蛇",
          v: "jh 2;n;n;n;n;n;n;n;n;n;e;",
        },
        {
          n: "武当桃园",
          v: "jh 10;w;n;n;w;w;w;n;n;n;n;e;e;e;e;s;e;s;e;",
        },
        {
          n: "小龙女",
          v: "jh 20;w;w;s;e;s;s;s;s;s;sw;sw;s;s;s;s;e;e;",
        },
        {
          n: "㊖游四海",
          v: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;w",
          style: { "background-color": "#9FE" },
        },
        {
          n: "白驼去星宿",
          v: "jh 21;nw;w;w;nw;n;n;n;n;n;n;n;n;ne;n;",
        },
        {
          n: "峨眉大门",
          v: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;",
        },
        {
          n: "全真大门",
          v: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;",
        },
        {
          n: "乔阴老太婆",
          v: "jh 7;s;s;s;s;s;s;s;sw;w;",
        },
        {
          n: "洛阳白冢",
          v: "jh 2;n;n;n;n;n;e;e;n;n;n;n;",
        },
        {
          n: "云梦璃",
          v: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e;e;n;n;n;n;n;n;n;n;n;n;n;n;n;n;event_1_95312623;",
        },
        {
          n: "扬州武庙",
          v: "jh 5;n;n;n;n;n;n;w;",
        },
        {
          n: "富春茶社",
          v: "jh 5;n;n;n;n;n;n;n;e;get_silver",
        },
        {
          n: "杭界山",
          v: "jh 2;n;n;e;s;洛陽:洛水渡口^船塢;go_hjs go;se;se;ne;w;n;",
        },
        {
          n: "浣花剑碑",
          v: "jh 14;sw;s;e;s;s;sw;sw;w;w;s;s;e;",
        },
        {
          n: "京城赌坊",
          v: "rank go 195",
        },
        {
          n: "掩月千小驹",
          v: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s",
        },
        {
          n: "泰山孔翎",
          v: "jh 24;n;n;n;n;n;n;n;n;w;n;n;n;n;n",
        },
        {
          n: "长安秦王",
          v: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n;n;;n;n;n;n;n;n;n;n",
        },
        {
          n: "百晓居士",
          v: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;nw;nw;n;n;n;n;ne;ne;nw;ne;ne;n;n;ne;e",
        },
        {
          n: "去花街",
          v: "rank go 170",
        },
        {
          n: "生死双修",
          v: "rank go 232;s;s;s;e;ne;",
        },
        {
          n: "星宿射雕",
          v: "jh 28;n;w;w;w;w;w;w;nw;ne;nw;ne;nw;ne;e;",
        },
        {
          n: "杏花牧童",
          v: "rank go 184",
        },
        {
          n: "真龙隐武阁",
          v: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e;ne;n;ne;n;n",
        },
        {
          n: "过巨石阵",
          v: "s;sw;s;w;n;nw;w;sw;nw;n;",
        },
        {
          n: "天龙闲钓",
          v: "rank go 232;s;s;s;s;s;s;",
        },
        {
          n: "天龙采茶",
          v: "rank go 232;s;s;s;e;ne;e;ne;ne;",
        },
        {
          n: "花街醉梦楼",
          v: "jh 46;e;e;e;e;e;e;e;e;n;n;n;e;e;",
        },
        {
          n: "去巍山文庙",
          v: "jh 54;#4 nw;#2 w;#4 n;#2 e;n;#2 e;",
        },
        {
          n: "南诏左到右",
          v: "e;e;e;se;ne;sw;nw;e;ne;e;",
        },
        {
          n: "马车去文庙",
          v: "jh 1;e;n;n;n;n;w;event_1_90287255 go 9;n;#5 e;#4 s;e;e;e;e;e;se;ne;sw;nw;e;ne;e;e;n;e;event_1_30634412;e;ne;e;e;s;e;e;n;e;e;",
        },
        {
          n: "马车去南诏",
          v: "jh 1;e;n;n;n;n;w;event_1_90287255 go 9;",
        },
      ],
      pathCmds: {
        e: "go east",
        s: "go south",
        w: "go west",
        n: "go north",
        se: "go southeast",
        sw: "go southwest",
        ne: "go northeast",
        nw: "go northwest",
      },
    };
    PLU.fixData();
    let waitGameSI = setInterval(() => {
      if (g_obj_map && g_obj_map.get("msg_attrs")) {
        clearInterval(waitGameSI);
        PLU.init();
      }
    }, 500);
  }

  // 本地化
  function _(c, t) {
    return navigator.language == "zh-CN" || !t ? c : t;
  }

  class Base64 {
    constructor() {
      let Encoder = new TextEncoder();
      let Decoder = new TextDecoder();
      this.encode = (s) =>
        btoa(
          Array.from(Encoder.encode(s), (x) => String.fromCodePoint(x)).join(
            "",
          ),
        );
      this.decode = (s) =>
        Decoder.decode(Uint8Array.from(atob(s), (m) => m.codePointAt(0)));
    }
  }
  function attach() {
    let oldWriteToScreen = unsafeWindow.writeToScreen;
    unsafeWindow.writeToScreen = function (a, e, f, g) {
      if (e == 2 && a.indexOf("find_task_road") != -1) {
        a = a.replace(/find_task_road3/g, "find_task_road2");
        var puzzleItems = a.split("<br/><br/>");
        var puzzleid = "";
        for (var i = 0; i < puzzleItems.length; i++) {
          if (puzzleItems[i].indexOf("find_task_road") == -1) {
            continue;
          }
          puzzleid = PLU.autoPuzzle.analyzePuzzle(puzzleItems[i]);
          if (PLU.TMP.autotask && !PLU.TMP.puzzleWating.status)
            PLU.autoPuzzle.startpuzzle(puzzleid);
          puzzleItems[i] +=
            " <a class='go-btn' href='javascript:PLU.autoPuzzle.startpuzzle(\"" +
            puzzleid +
            "\")'>【GO】</a>";
          if (
            PLU.TMP.puzzleWating &&
            puzzleid == PLU.TMP.puzzleWating.puzzleid
          ) {
            if (
              PLU.TMP.puzzleWating.actionCode == "get" &&
              PLU.TMP.puzzleWating.status == "wait"
            ) {
              puzzleItems[i] +=
                " <a href='javascript:PLU.autoPuzzle.puzzlekillget()'>【殺】</a>";
            }
            if (puzzleItems[i].indexOf("謎題") == -1) {
              PLU.autoPuzzle.startpuzzle(puzzleid);
            }
          }
        }
        a = puzzleItems.join("<br/><br/>");
      } else if (PLU.TMP.puzzleWating) {
        if (
          e == 2 &&
          a.indexOf("不接受你給的東西。") > -1 &&
          PLU.TMP.puzzleWating.puzzleid &&
          PLU.TMP.puzzleWating.status == "give"
        ) {
          PLU.TMP.puzzleWating.waitCount--;
          if (PLU.TMP.puzzleWating.waitCount <= 0) {
            clearTimeout(PLU.TMP.puzzleWating.waitTimer);
            PLU.TMP.puzzleWating.status = "trace";
            PLU.execActions("find_task_road " + PLU.TMP.puzzleWating.puzzleid);
          }
        } else if (
          e == 2 &&
          PLU.TMP.puzzleWating.puzzleid &&
          (PLU.TMP.puzzleWating.status == "wait" ||
            PLU.TMP.puzzleWating.status == "traced") &&
          PLU.TMP.puzzleWating.action == "get" &&
          (a.indexOf("你撿起") > -1 ||
            /你從.*的屍體裏搜出.*。/.test(a) ||
            /你用.*向.*買下.*。/.test(a)) &&
          a.indexOf(PLU.TMP.puzzleWating.target) > -1
        ) {
          PLU.TMP.puzzleWating = {
            puzzleid: PLU.TMP.puzzleWating.puzzleid,
            action: "get",
            actionCode: "give",
            target:
              PLU.TMP.puzzleList[PLU.TMP.puzzleWating.puzzleid].publisherName,
            status: "return",
          };
          PLU.execActions("find_task_road2 " + PLU.TMP.puzzleWating.puzzleid);
        } else if (
          e == 2 &&
          a.indexOf("我就不給,你又能怎樣?") > -1 &&
          PLU.TMP.puzzleWating.puzzleid &&
          PLU.TMP.puzzleWating.actionCode == "fight"
        ) {
          PLU.autoPuzzle.doPuzzle(PLU.TMP.puzzleWating.puzzleid);
        } else if (
          e == 2 &&
          PLU.TMP.puzzleWating.puzzleid &&
          /完成謎題\((\d+)\/\d+\):(.*)的謎題\S*\s*\S*x(\d+)\s*\S*x\d+\s*\S*銀兩x(\d{1,})/.test(
            a,
          )
        ) {
          var puzzleFinish =
            /完成謎題\((\d+)\/\d+\):(.*)的謎題\S*\s*\S*x(\d+)\s*\S*x\d+\s*\S*銀兩x(\d{1,})/.exec(
              a,
            );
          if (PLU.TMP.autotask) clickButton("home");
          puzzleFinish[2] = puzzleFinish[2]
            .replace(/^<\/span>/, "")
            .replace(//g, "");
          if (
            puzzleFinish[2] ==
            PLU.TMP.puzzleList[PLU.TMP.puzzleWating.puzzleid].firstPublisherName
          ) {
            PLU.TMP.puzzleList[PLU.TMP.puzzleWating.puzzleid].prize =
              puzzleFinish[0]
                .replace(/<\/?span[^>]*>/g, "")
                .replace(/<br\/>/g, "\n");
            if (+puzzleFinish[4] > 1800) {
              a +=
                "<br><button onClick='PLU.autoPuzzle.puzzlesubmit(\"" +
                PLU.TMP.puzzleWating.puzzleid +
                "\");' style='background: #FF6B00; color: #fff; margin: 5px;'>【發佈】</button>";
              if (PLU.TMP.autoscan)
                PLU.autoPuzzle.puzzlesubmit(PLU.TMP.puzzleWating.puzzleid);
            }
            if (a.indexOf("當前謎題密碼") >= 0) {
              var mimatext = a.split("當前謎題密碼:")[1].split("<")[0];
              if (PLU.getCache("masterAcc") || PLU.accId == PLU.accId) {
                a +=
                  "<button onClick='PLU.execActions(\"jh 1;e;n;n;n;n;w;event_1_65953349 " +
                  mimatext +
                  ";home\")' style='background: #FF6B00; color: #fff; margin: 5px;'>【交密碼】</button>";
              } else {
                a +=
                  "<button onClick='PLU.execActions(\"tell u" +
                  PLU.getCache("masterAcc") +
                  " 謎題密碼: " +
                  mimatext +
                  "\")' style='background: #FF6B00; color: #fff; margin: 5px;'>【交密碼】</button>";
              }
            }
            PLU.TMP.puzzleWating = {};
            if (PLU.TMP.autoscan) {
              clearTimeout(PLU.TMP.puzzleTimeOut);
              PLU.TMP.index++;
              PLU.TMP.func();
            }
          }
        }
      }
      oldWriteToScreen(a, e, f, g);
    };
  }
  //=================================================================================
  // UTIL模組
  //=================================================================================
  unsafeWindow.PLU = {
    version: GM_info.script.version + "(v2.72.0622.01)",
    accId: null,
    nickName: null,
    battleData: null,
    MPFZ: {},
    TODO: [], //待辦列表
    STO: {},
    SIT: {},
    ONOFF: {},
    STATUS: {
      inBattle: 0,
      isBusy: 0,
    },
    CACHE: {
      autoDZ: 1,
      autoHYC: 1,
      auto9H: 1,
      autoLX: 1,
      autoBF: 1,
      autoB6: 1,
      autoB5F: 1,
      autoDY: 0,
      develop: 0,
      masterAcc: null,
    },
    FLK: null,
    TMP: { autotask: false, iBatchAskModel: 0 },
    logHtml: "",
    signInMaps: null,
    //================================================================================================
    fixData() {
      PLU.YFD.cityList = [
        "雪亭鎮",
        "洛陽",
        "華山村",
        "華山",
        "揚州",
        "丐幫",
        "喬陰縣",
        "峨眉山",
        "恆山",
        "武當山",
        "晚月莊",
        "水煙閣",
        "少林寺",
        "唐門",
        "青城山",
        "逍遙林",
        "開封",
        "光明頂",
        "全真教",
        "古墓",
        "白馱山",
        "嵩山",
        "梅莊",
        "泰山",
        "鐵血大旗門",
        "大昭寺",
        "黑木崖",
        "星宿海",
        "茅山",
        "桃花島",
        "鐵雪山莊",
        "慕容山莊",
        "大理",
        "斷劍山莊",
        "冰火島",
        "俠客島",
        "絕情谷",
        "碧海山莊",
        "天山",
        "苗疆",
        "白帝城",
        "墨家機關城",
        "掩月城",
        "海雲閣",
        "幽冥山莊",
        "花街",
        "西涼城",
        "高昌迷宮",
        "京城",
        "越王劍宮",
        "江陵",
        "天龍寺",
        "西夏",
        "南詔國",
      ];
      PLU.YFD.qlList = [
        { n: "書房", v: "jh 1;e;n;e;e;e;e;n" },
        { n: "打鐵鋪子", v: "jh 1;e;n;n;w" },
        { n: "桑鄰藥鋪", v: "jh 1;e;n;n;n;w" },
        { n: "南市", v: "jh 2;n;n;e" },
        { n: "繡樓", v: "jh 2;n;n;n;n;w;s;w" },
        { n: "北大街", v: "jh 2;n;n;n;n;n;n;n" },
        { n: "錢莊", v: "jh 2;n;n;n;n;n;n;;n;e" },
        { n: "雜貨鋪", v: "jh 3;s;s;e" },
        { n: "祠堂大門", v: "jh 3;s;s;w" },
        { n: "廳堂", v: "jh 3;s;s;w;n" },
      ];
      PLU.YFD.mjList = [
        { n: "山坳", v: "jh 1;e;n;n;n;n;n;" },
        { n: "桃花泉", v: "jh 3;s;s;s;s;s;nw;n;n;e;" },
        { n: "千尺幢", v: "jh 4;n;n;n;n" },
        { n: "猢猻愁", v: "jh 4;n;n;n;n;n;n;e;n;n;" },
        { n: "潭畔草地", v: "jh 4;n;n;n;n;n;n;n;event_1_91604710;s;s;s;" },
        { n: "玉女峰", v: "jh 4;n;n;n;n;n;n;n;n;w;" },
        { n: "長空棧道", v: "jh 4;n;n;n;n;n;n;n;n;n;e;" },
        { n: "臨淵石台", v: "jh 4;n;n;n;n;n;n;n;n;n;e;n;" },
        {
          n: "沙丘小洞",
          v: "jh 6;event_1_98623439;ne;n;ne;ne;ne;event_1_97428251;",
        },
        {
          n: "九老洞",
          v: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;n;n;n;n;n;n;nw;sw;w;nw;w;",
        },
        { n: "懸根松", v: "jh 9;n;w;" },
        { n: "夕陽嶺", v: "jh 9;n;n;e;" },
        { n: "青雲坪", v: "jh 13;e;s;s;w;w;" },
        { n: "玉壁瀑布", v: "jh 16;s;s;s;s;e;n;e;" },
        { n: "湖邊", v: "jh 16;s;s;s;s;e;n;e;event_1_5221690;s;w;" },
        {
          n: "碧水寒潭",
          v: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;e;e;se;se;e;",
        },
        { n: "寒水潭", v: "jh 20;w;w;s;e;s;s;s;s;s;sw;sw;s;e;se;" },
        { n: "懸崖", v: "jh 20;w;w;s;e;s;s;s;s;s;sw;sw;s;s;e;" },
        { n: "戈壁", v: "jh 21;" },
        { n: "盧崖瀑布", v: "jh 22;n;n;n;n;e;n" },
        { n: "啟母石", v: "jh 22;n;n;w;w;" },
        { n: "無極老姆洞", v: "jh 22;n;n;w;n;n;n;n;" },
        { n: "山溪畔", v: "jh 22;n;n;w;n;n;n;n;event_1_88705407;s;s;" },
        { n: "奇槐坡", v: "jh 23;n;n;n;n;n;n;n;n;" },
        { n: "天梯", v: "jh 24;n;n;n;" },
        { n: "小洞天", v: "jh 24;n;n;n;n;e;e;" },
        { n: "雲步橋", v: "jh 24;n;n;n;n;n;n;n;n;n;" },
        { n: "觀景台", v: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;e;e;n;" },
        { n: "危崖前", v: "jh 25;w;" },
        { n: "草原", v: "jh 26;w;" },
        {
          n: "無名山峽谷",
          v: "jh 29;n;n;n;n;event_1_60035830;place?平台;event_1_65661209;place?無名山峽谷;",
        },
      ];
      PLU.YFD.usualList.push({
        n: _("万福楼", "萬福樓"),
        v: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e;e;s",
      });
      PLU.YFD.prizeList = [
        [
          "明月鞋",
          "月光寶甲衣",
          "明月戒",
          "明月帽",
          "明月項鍊",
          "明月手鐲",
          "屠龍刀",
          "倚天劍",
          "冰魄銀針",
          "墨玄掌套",
          "碧磷鞭",
          "烈日棍",
          "西毒蛇杖",
          "星月大斧",
          "碧玉錘",
          "霸王槍",
        ],
        [
          "烈日寶靴",
          "日光寶甲衣",
          "烈日寶戒",
          "烈日帽",
          "烈日寶鏈",
          "烈日寶鐲",
          "斬神刀",
          "誅仙劍",
          "暴雨梨花針",
          "龍象拳套",
          "七星鞭",
          "殘陽棍",
          "伏虎杖",
          "破冥斧",
          "撼魂錘",
          "赤焰槍",
        ],
        [
          "斬龍寶靴",
          "龍皮至尊甲衣",
          "斬龍寶戒",
          "斬龍帽",
          "斬龍寶鏈",
          "斬龍寶鐲",
          "飛宇天怒刀",
          "九天龍吟劍",
          "小李飛刀",
          "天罡掌套",
          "烏金玄火鞭",
          "開天寶棍",
          "達摩杖",
          "天雷斷龍斧",
          "燭幽鬼煞錘",
          "斬龍鎏金槍",
        ],
        [
          "君影草",
          "矢車菊",
          "忘憂草",
          "仙客來",
          "雪英",
          "朝開暮落花",
          "夕霧草",
          "鳳凰木",
          "熙顏花",
          "晚香玉",
          "淩霄花",
          "彼岸花",
          "洛神花",
          "百宜雪梅",
          "胤天寶帽碎片",
          "胤天項鍊碎片",
          "胤天寶戒碎片",
          "魚腸碎片",
          "軒轅劍碎片",
          "破嶽拳套碎片",
          "胤天寶鐲碎片",
          "胤天寶靴碎片",
          "胤天紫金衣碎片",
          "昊天龍旋鎧碎片",
          "水羽雲裳碎片",
          "奉天金帶碎片",
          "鳳羽乾坤盾碎片",
          "玄冰凝魄槍碎片",
          "雷霆誅神刀碎片",
          "天雨玄鏢碎片",
          "天神杖碎片",
          "轟天巨棍碎片",
          "神龍怒火鞭碎片",
          "胤武伏魔斧碎片",
          "九天滅世錘碎片",
        ],
      ];
      PLU.YFD.masterList = [
        {
          n: _("九阴", "九陰"),
          in: "九陰派",
          npc: ["梅師姐", "鐵屍"],
        },
        {
          n: _("白驼", "白馱"),
          in: "白馱山派",
          npc: ["門衛", "白馱山@管家", "白鶴軒", "白厲峰"],
        },
        {
          n: _("唐门", "唐門"),
          in: "唐門",
          npc: ["歐陽敏"],
        },
        {
          n: "魔教",
          in: "魔教",
          npc: ["見錢開", "上官雲", "夏侯京", "楊延慶", "葵花傳人"],
        },
        {
          n: "青城",
          in: "青城派",
          npc: ["吉人英", "黃袍老道", "呂朝陽", "林長老"],
        },
        {
          n: "星宿",
          in: "天宿派",
          npc: ["天宿老怪"],
        },
        {
          n: "天邪",
          in: "天邪派",
          npc: ["於蘭天武"],
        },
        {
          n: "大招",
          in: "大招寺",
          npc: ["葛倫"],
        },
        {
          n: "晚月",
          in: "晚月莊",
          npc: ["璦倫"],
        },
        {
          n: "花紫",
          in: "花紫會",
          npc: ["陸得財"],
        },
        {
          n: "少林",
          in: "少林派",
          npc: ["清為比丘", "達摩老祖"],
        },
        {
          n: _("华山", "華山"),
          in: "華山派",
          npc: ["獨孤傳人"],
        },
        {
          n: "大理",
          in: "大理段家",
          npc: ["段氏南僧"],
        },
        {
          n: _("武当", "武當"),
          in: "武當派",
          npc: ["張三豐"],
        },
        {
          n: _("铁旗", "鐵旗"),
          in: "大旗門",
          npc: ["鐵雍華"],
        },
        {
          n: "明教",
          in: "明教",
          npc: ["楊塬", "冷臉先生", "季燕青", "梁風", "仇畢烈", "九陽君"],
        },
        {
          n: "全真",
          in: "全真派",
          npc: ["老頑童"],
        },
        {
          n: _("丐帮", "丐幫"),
          in: "丐幫",
          npc: ["尚鋤姦"],
        },
        {
          n: "峨眉",
          in: "峨嵋派",
          npc: ["通星師太"],
        },
        {
          n: "步玄",
          in: "步玄派",
          npc: ["駱雲舟"],
        },
        {
          n: _("逍遥", "逍遙"),
          in: "逍遙派",
          npc: ["童冰煙"],
        },
        {
          n: "慕容",
          in: "慕容世家",
          npc: ["燕浩宇"],
        },
        {
          n: "古墓",
          in: "古墓派",
          npc: ["過必修"],
        },
        {
          n: "桃花",
          in: "桃花島",
          npc: ["李奇門"],
        },
        {
          n: "茅山",
          in: "茅山派",
          npc: ["張天師"],
        },
        {
          n: _("铁雪", "鐵雪"),
          in: "鐵雪山莊",
          npc: ["鐵少", "雪蕊兒"],
        },
        {
          n: "封山",
          in: "封山劍派",
          npc: ["柳淳風"],
        },
        {
          n: _("断剑", "斷劍"),
          in: "斷劍山莊",
          npc: ["劍魔求敗"],
        },
        {
          n: _("风花", "風花"),
          in: "風花牧場",
          npc: ["宋喉"],
        },
        {
          n: "天波",
          in: "天波楊門",
          npc: ["楊延昭"],
        },
        {
          n: _("燕云", "燕雲"),
          in: "燕雲世家",
          npc: ["耶律楚哥"],
        },
        {
          n: "西夏",
          in: "西夏堂",
          npc: ["嵬名元昊"],
        },
        { n: _("自动出师", "自動出師"), v: "eval_PLU.autoChushi()" },
      ];
      // 迷宫路线
      PLU.YFD.mapsLib.Labyrinth = {
        雪亭鎮: {
          "飲風客棧^飲風客棧二樓": "inn_op1",
          "飲風客棧二樓^飲風客棧": "s",
        },
        洛陽: {
          "城樓^城樓密室": "luoyang14_op1",
          "城樓密室^城樓": "n",
          "洛水渡口^船塢": "luoyang317_op1",
          "船塢^洛水渡口": "n",
        },
        唐門: {
          "鐵柵欄^兵器室": "event_1_39383240;e;s;e;n;w",
          "兵器室^鐵柵欄": "e;n;n;n;n;nw",
        },
      };
      PLU.YFD.mapsLib.Map = [
        {
          jh: "1",
          loc: "全圖",
          name: "雪亭鎮",
          way: "jh 1;雪亭鎮:飲風客棧^飲風客棧二樓;w;e;n;s;e;w;s;e;s;w;s;n;w;e;e;e;ne;ne;sw;sw;n;w;n;w;e;e;e;n;s;e;e;n;s;s;n;e;w;w;w;w;w;n;w;e;n;w;e;e;e;w;w;n;e;w;w;e;n",
          desc: "采集者:王辉",
        },
        {
          jh: "2",
          loc: "全圖",
          name: "洛陽",
          way: "jh 2;n;n;e;s;洛陽:洛水渡口^船塢;n;n;w;n;w;putuan;n;e;e;s;n;w;n;e;s;n;w;w;event_1_98995501;n;w;e;n;e;w;s;s;s;s;w;e;n;e;n;w;s;luoyang111_op1;e;n;w;n;w;get_silver;s;e;n;n;e;get_silver;n;w;s;s;s;e;n;n;w;e;s;s;e;e;n;op1;s;s;e;n;n;w;e;e;n;s;w;n;w;e;n;e;w;n;w;e;s;s;s;s;s;w;w;n;w;e;e;n;s;w;n;e;w;n;w;洛陽:城樓^城樓密室;n;e;e;w;n;e;n;n;n;s;s;s;w;n;w;w;w;w;e;e;e;e;n;n;n;n",
          desc: "采集者:王辉",
        },
        {
          jh: "3",
          loc: "全圖",
          name: "華山村",
          way: "jh 3;n;e;w;s;w;n;s;event_1_59520311;n;n;w;get_silver;s;e;n;n;e;get_silver;n;w;n;e;w;s;s;s;s;s;e;e;s;e;n;s;w;s;e;s;huashancun24_op2;w;n;w;w;n;s;e;s;s;w;get_silver;n;n;s;e;huashancun15_op1;event_1_46902878;;kill?藏劍樓殺手;@藏劍樓殺手的屍體;w;w;s;e;w;nw;n;n;e;get_silver;s;w;n;w;give huashancun_huashancun_fb9;e;e;n;n;w;e;n;s;e",
          desc: "采集者:戴爽",
        },
        {
          jh: "4",
          loc: "全圖",
          name: "華山",
          way: "jh 4;n;n;w;e;n;e;w;n;n;n;n;event_1_91604710;s;s;s;w;get_silver;s;e;s;e;w;n;n;n;n;nw;s;s;w;n;n;w;s;n;w;n;get_xiangnang2;w;s;e;e;n;e;n;n;w;w;event_1_26473707;e;e;e;n;e;s;event_1_11292200;n;n;w;n;e;w;n;s;s;s;s;s;w;n;n;n;w;e;n;get_silver;s;s;e;n;n;s;s;s;s;n;n;w;s;s;w;event_1_30014247;s;w;e;s;e;w;s;s;s;e",
          desc: "采集者:王辉",
        },
        {
          jh: "5",
          loc: "全圖",
          name: "揚州",
          way: "jh 5;n;w;w;n;s;e;e;e;w;n;w;e;e;w;n;w;e;e;n;w;e;n;w;n;get_silver;s;s;e;e;get_silver;n;w;n;n;s;e;w;s;s;s;w;n;w;yangzhou16_op1;e;e;n;e;n;n;n;s;s;w;n;e;n;n;s;s;w;n;n;e;n;n;event_1_89774889;s;s;s;e;s;s;s;w;s;w;w;w;n;n;w;n;n;n;s;s;s;e;n;get_silver;s;s;e;e;w;w;s;s;s;s;n;n;e;e;n;w;e;e;n;n;n;n;s;s;e;w;w;e;s;s;w;n;w;e;e;get_silver;s;w;n;w;w;n;get_silver;s;s;w;s;w;e;e;e;s;s;e;e;s;s;s;n;n;n;w;w;n;n;w;w;n;e;e;e;n;e;s;e;s;s;s;n;n;n;w;n;w;n;ne;sw;s;w;s;n;w;n;w;e;e;w;n;n;w;n;s;e;e;s;n;w;n;s;s;s;s;e;e;s;s;s;w;event_1_69751810",
          desc: "采集者:王辉",
        },
        {
          jh: "6",
          loc: "全圖",
          name: "丐幫",
          way: "jh 6;event_1_98623439;s;w;e;n;ne;n;ne;ne;ne;event_1_97428251;n;sw;sw;sw;s;ne;ne;event_1_16841370",
          desc: "采集者:王辉",
        },
        {
          jh: "7",
          loc: "全圖",
          name: "喬陰縣",
          way: "jh 7;s;s;s;w;s;w;w;w;e;e;e;e;event_1_65599392;n;s;w;e;ne;s;s;e;n;n;e;w;s;s;w;s;w;w;w;n;s;s;e;n;s;e;ne;s;e;n;e;s;e",
          desc: "采集者:树",
        },
        {
          jh: "8",
          loc: "全圖",
          name: "峨眉山",
          way: "jh 8;w;nw;n;n;n;n;w;e;se;nw;e;n;s;e;n;n;e;;kill?看山弟子;n;n;n;n;e;e;w;w;w;n;n;n;w;w;s;e;w;w;e;s;e;w;w;e;n;n;w;w;n;s;sw;ne;e;e;n;e;w;w;e;n;e;w;w;e;n;w;w;w;n;n;n;s;s;s;e;e;e;e;e;s;s;s;e;e;s;w;e;e;w;s;w;e;e;w;n;n;e;e;w;w;n;w;e;e;w;n;w;e;e;w;n;e;e;w;w;w;w;n;w;w;e;n;s;s;n;e;n;n;n;n;s;s;nw;nw;n;n;s;s;se;sw;w;nw;w;e;se;e;ne;se;ne;se;s;se;nw;n;nw;ne;n;s;se;e",
          desc: "采集者:王辉",
        },
        {
          jh: "9",
          loc: "全圖",
          name: "恆山",
          way: "jh 9;n;w;e;n;e;get_silver;w;w;n;w;e;n;henshan15_op1;e;e;w;n;event_1_85624865;n;w;event_1_27135529;e;e;e;w;n;n;n;s;henshan_zizhiyu11_op1;e;s;s;s;w;n;n;w;n;s;s;n;e;e;e;w;n;s;w;n;n;w;n;e;n;s;w;n;n;w;get_silver;s;e;n",
          desc: "采集者:王辉",
        },
        {
          jh: "10",
          loc: "全圖",
          name: "武當山",
          way: "jh 10;w;n;n;w;w;w;n;n;n;n;e;e;e;e;s;e;s;e;n;s;s;n;e;e;n;s;e;w;s;s;s;n;n;n;w;w;w;n;w;n;w;w;w;w;n;w;n;s;e;e;e;s;n;e;e;w;w;w;w;n;n;n;n;jh 10;w;n;event_1_74091319;ne;n;sw;nw;w;ne;n;w;nw;sw;ne;n;nw;event_1_5824311",
          desc: "采集者:王辉",
        },
        {
          jh: "11",
          loc: "全圖",
          name: "晚月莊",
          way: "jh 11;e;e;s;sw;se;w;n;s;w;w;s;n;w;e;e;s;w;e;s;e;e;e;w;w;w;w;s;n;w;n;s;s;n;e;e;s;w;w;e;e;e;e;w;w;s;e;e;w;w;n;e;n;n;w;n;n;n;e;e;s;s;s;w;s;s;w;e;se;e;se;ne;n;nw;w;s;s;s;se;s",
          desc: "采集者:戴爽",
        },
        {
          jh: "12",
          loc: "全圖",
          name: "水煙閣",
          way: "jh 12;n;e;w;n;n;n;s;w;n;n;e;w;s;nw;e;e;sw;n;s;s;e;w;n;ne;w;n",
          desc: "采集者:王辉",
        },
        {
          jh: "13",
          loc: "全圖",
          name: "少林寺",
          way: "jh 13;e;s;s;w;w;w;event_1_38874360;jh 13;n;w;w;n;shaolin012_op1;s;s;e;e;n;w;e;e;w;n;n;w;e;e;w;n;n;w;e;e;w;n;shaolin27_op1;event_1_34680156;s;w;n;w;e;e;w;n;shaolin25_op1;w;n;w;s;s;s;get_silver;w;s;s;s;s;s;n;n;n;n;n;n;n;n;e;e;s;s;s;s;get_silver;w;s;s;s;get_silver;w;s;n;n;n;n;n;n;n;n;w;n;w;e;e;w;n;e;w;w;n;get_silver",
          desc: "采集者:王辉",
        },
        {
          jh: "14",
          loc: "全圖",
          name: "唐門",
          way: "jh 14;e;w;w;n;n;n;n;s;w;n;s;s;n;w;n;s;s;n;w;n;s;s;n;w;e;e;e;e;e;s;n;e;n;e;w;n;n;s;ask tangmen_tangmei;ask tangmen_tangmei;e;event_1_8413183;唐門:鐵柵欄^兵器室;n;n;s;s;e",
          desc: "采集者:王辉",
        },
        {
          jh: "15",
          loc: "全圖",
          name: "青城山",
          way: "jh 15;s;ne;sw;s;e;w;w;n;s;e;s;e;w;w;w;n;s;s;s;n;n;w;w;w;n;s;w;e;e;e;e;e;e;s;e;w;w;e;s;e;w;s;w;s;ne;s;s;s;e;s;n;w;n;n;n;n;n;n;n;n;n;n;nw;w;nw;w;s;s;s;;kill?申月富;w;w;n;w;e;e;w;n;w;s;w;s;e;s;n;e;e;e;n;n;n;e;n;event_1_14401179",
          desc: "采集者:東方鳴",
        },
        {
          jh: "16",
          loc: "全圖",
          name: "逍遙林",
          way: "jh 16;s;s;s;s;e;e;s;w;n;s;s;s;n;n;w;n;n;s;s;s;s;n;n;w;w;n;s;s;n;w;e;e;e;e;e;e;n;n;e;event_1_5221690;s;w;event_1_57688376;n;n;w;w;e;n;s;e;e;n;event_1_88625473;event_1_82116250;event_1_90680562;event_1_38586637;s;s;e;n;n;w;n;e;jh 16;s;s;s;s;e;n;e;event_1_56806815;jh 16;s;s;s;s;e;n;e;event_1_5221690;s;w;event_1_57688376;n;n;#8 event_1_38333366;",
          desc: "采集者:『空白』",
        },
        {
          jh: "17",
          loc: "全圖",
          name: "開封",
          way: "jh 17;n;w;e;e;s;n;w;n;w;s;n;n;n;s;s;e;e;e;s;n;n;n;s;s;w;s;s;s;w;e;s;w;e;n;e;n;s;s;n;e;e;jh 17;n;n;n;e;w;n;e;w;n;e;se;s;n;nw;n;n;n;event_1_27702191;jh 17;n;n;n;n;w;w;n;s;s;n;w;w;e;n;n;w;e;s;s;s;s;w;jh 17;sw;nw;se;s;sw;nw;ne;event_1_38940168;jh 17;e;s;s;s;e;kaifeng_yuwangtai23_op1;s;w;s;s;w;jh 17;n;n;e;e;n;get_silver",
          desc: "采集者:王辉",
        },
        {
          jh: "18",
          loc: "全圖",
          name: "明教",
          way: "jh 18;w;n;s;e;e;w;n;nw;sw;ne;n;n;w;e;n;n;n;ne;n;n;e;w;w;e;n;e;w;w;e;n;n;e;e;se;se;e;w;nw;nw;n;w;w;w;w;s;s;n;e;w;n;n;n;e;nw;nw;se;se;e;s;w;e;e;w;n;e;e;se;e;w;sw;s;w;w;n;e;w;n;n;n;n;n;w;e;n;event_1_90080676;event_1_56007071;ne;n;nw;se;s;s;e;n;w;nw;sw;se;e;se;nw;s;s;s;s;w;nw;nw;event_1_70957287;event_1_39374335;;kill?九幽毒童;event_1_2077333",
          desc: "采集者:淼淼淼、戴爽",
        },
        {
          jh: "19",
          loc: "全圖",
          name: "全真教",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;w;e;e;w;n;w;w;w;s;n;w;s;n;e;e;e;e;e;n;s;e;n;n;s;s;e;w;w;w;n;n;n;w;e;e;s;n;e;n;n;n;n;s;e;s;n;n;n;w;n;w;w;w;s;s;s;s;s;e;n;n;n;s;w;s;n;w;n;s;s;s;w;n;n;n;s;w;s;s;s;s;e;s;s;n;n;e;s;s;n;n;e;e;n;n;n;n;w;w;w;n;n;e;n;e;e;n;n",
          desc: "采集者:24叶欣贤、戴爽",
        },
        {
          jh: "20",
          loc: "全圖",
          name: "古墓",
          way: "jh 20;s;s;n;n;w;w;s;e;s;s;s;s;s;sw;sw;s;e;se;nw;w;s;w;e;e;w;s;s;w;w;e;e;s;w;sw;ne;e;s;s;s;n;w;w;e;e;e;e;e;e;s;e;w;n;w;n;n;s;e;w;w;s;n;n;event_1_3723773;se;n;e;s;e;s;e;",
          desc: "采集者:東方鳴",
        },
        {
          jh: "21",
          loc: "全圖",
          name: "白馱山",
          way: "jh 21;nw;s;n;ne;ne;sw;n;n;ne;w;e;n;n;n;s;w;w;jh 21;nw;w;n;s;w;nw;e;w;nw;nw;n;w;sw;ne;s;event_1_47975698;s;sw;s;ne;e;s;s;jh 21;nw;w;w;nw;n;e;w;n;n;w;e;n;n;e;e;w;nw;se;e;ne;sw;e;se;nw;w;n;s;s;n;w;w;n;n;n;n;s;s;s;s;e;e;e;n;n;w;e;e;e;w;w;n;nw;se;ne;w;e;e;w;n",
          desc: "采集者:王辉",
        },
        {
          jh: "22",
          loc: "全圖",
          name: "嵩山",
          way: "jh 22;n;n;w;w;s;s;e;w;s;s;w;e;s;n;n;n;n;n;e;n;n;n;n;n;e;n;e;e;w;w;n;w;n;s;e;n;n;n;e;songshan33_op1;n;w;w;w;e;n;w;e;n;s;s;e;n;e;w;n;e;w;n;get_silver;jh 22;n;n;n;n;e;n;event_1_1412213;s;event_1_29122616;jh 22;n;n;n;n;n;n;n",
          desc: "采集者:王辉",
        },
        {
          jh: "23",
          loc: "全圖",
          name: "寒梅莊",
          way: "jh 23;n;n;e;w;n;n;n;n;n;w;w;e;e;e;s;n;w;n;w;n;s;w;e;e;e;n;s;w;n;n;e;w;event_1_8188693;n;n;w;e;n;e;n;s;w;n;s;s;s;s;s;w;n",
          desc: "采集者:@远",
        },
        {
          jh: "24",
          loc: "全圖",
          name: "泰山",
          way: "jh 24;se;nw;n;n;n;n;w;e;e;e;w;s;n;w;n;n;w;e;e;w;n;e;w;n;w;n;n;n;n;n;s;s;w;n;s;e;s;s;s;e;n;e;w;n;w;e;n;n;e;s;n;e;n;e;w;n;w;e;e;w;n;n;s;s;s;s;s;w;w;n;n;w;e;e;w;n;n;w;e;e;w;n;s;s;s;s;s;w;n;e;w;n;w;e;n;n;e",
          desc: "采集者:王辉",
        },
        {
          jh: "25",
          loc: "全圖",
          name: "大旗門",
          way: "jh 11;e;e;s;n;nw;w;nw;e;e;e;n;w;e;s;se;jh 25;w;e;e;e;e;e;s;yell;n;s;e;ne;se;e;e;e;e;w;w;w;w;nw;sw;w;s;e;event_1_81629028;s;e;n;w;w;s;w",
          desc: "采集者:24叶欣贤",
        },
        {
          jh: "26",
          loc: "全圖",
          name: "大昭寺",
          way: "jh 26;w;w;w;w;w;n;s;w;s;w;e;e;e;w;w;s;w;w;w;s;n;w;n;n;n;n;n;e;e;e;e;e;w;s;s;w;w;n;w;e;e;w;s;w;n;s;s;n;w;ask?lama_master;event_1_91837538",
          desc: "采集者:王辉",
        },
        {
          jh: "27",
          loc: "全圖",
          name: "魔教",
          way: "jh 27;se;e;e;e;w;w;w;nw;ne;w;e;n;ne;sw;s;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;sw;ne;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;w;e;e;w;n;e;n;s;w;n;nw;n;s;se;ne;n;s;sw;w;ne;n;s;ne;n;n;s;s;nw;n;s;se;w;n;s;e;sw;n;s;ne;se;n;s;nw;e;e;n;s;s;n;e;n;s;s;n;e;n;s;s;n;e;n;s;s;n;e;n;s;s;n;w;w;w;w;w;n;n;n;n;n;w;w;w;w;w;e;e;e;e;e;e;e;e;e;e;w;w;w;w;w;n;n;event_1_57107759;e;e;n;w",
          desc: "采集者:王辉",
        },
      ];
      // 路径没完整
      PLU.YFD.mapsLib.Map.push(
        ...[
          {
            jh: "28",
            loc: "全圖",
            name: "星宿海",
            way: "jh 28;sw;nw;sw;se;ne;nw;nw;w;e;e;n;w;w;w;w;n;w;se;n;n;se;n;n;n;n;nw;w;ne;se;n;n;n;n;se",
            desc: "",
          },
          {
            jh: "29",
            loc: "全圖",
            name: "茅山",
            way: "jh 29;n;n;n;n;event_1_60035830;event_1_65661209;n;n;n;n;n;e;n;n;n;event_1_98579273;w;nw;e;n;e;e",
            desc: "",
          },
          {
            jh: "30",
            loc: "全圖",
            name: "桃花島",
            way: "jh 30;n;n;ne;n;n;n;w;e;n;n;w;w;e;n;s;n;n;n;w;w;s;s;e;n;s;e;n;e;n;s;nw;w;n;n;n;e;e;n;se;s",
            desc: "",
          },
          {
            jh: "31",
            loc: "全圖",
            name: "鐵雪山莊",
            way: "jh 31;n;n;n;w;w;w;w;n;n;n;n;w;e",
            desc: "",
          },
          {
            jh: "32",
            loc: "全圖",
            name: "慕容山莊",
            way: "jh 32;n;n;se;e;s;s;n;w;ne;n;n;n;e;n;w;s;w;w;n;event_1_72278818;event_1_35141481;event_1_35141481;event_1_35141481;event_1_35141481;w;w;n;e;n;e;n;w;e;n;event_1_55226665;n;event_1_99232080;e;e;s;e;s;e;e;e;n;s",
            desc: "",
          },
          {
            jh: "33",
            loc: "全圖",
            name: "大理",
            way: "jh 33;sw;sw;s;s;s;nw;n;nw;n;n;n;n;n;e;n;s;e;sw;w;w;s;s;e;s;w;se;e;s;s;s;w;w;se;e;s;ne;e;se;n;n;n;n;n;w;ne;se;s;w;w;n;se;w;w;s;nw;n;e;se;n;n;w;se;e;se;e;se;e;e;n;s;e;e;se;e;e;se;n;n;n;n;n;n;e;n;n;n;e;e;se;e;s;ne;e;se;e;e;s;ne;e;n;sw;s;s;e;n;e;n;e;s;e;s;e;e;e;s;w;n;n;s;s;s;w;n;n;n;n;w;e;n;e;n;se;w;n;w;e;n;e;e;s;n;n;w;e;n;ne;n;e;e;n;s;e;ne;se;se;n;n;n;e;s;w;w;e;n;e;s;s;e;n;s;w;n;se;n;ne;s;w;e;n;s;s;e;s;w;se;s;s;s;e;n;sw;sw;w;s;n;n;s;e;n;n;n;s;e;se;s;sw;n;w;s",
            desc: "",
          },
          {
            jh: "34",
            loc: "全圖",
            name: "斷劍山莊",
            way: "jh 34;ne;e;e;e;e;e;n;n;n;w;w;w;n;n;n;n;w;n;e;e;n;n",
            desc: "",
          },
          {
            jh: "35",
            loc: "全圖",
            name: "冰火島",
            way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e;e;e;se;s;se;w;nw;s;s;s;s;s;s;w;w;n;e;n;w;w;s;s",
            desc: "",
          },
          { jh: "36", loc: "全圖", name: "俠客島", way: "", desc: "" },
          {
            jh: "37",
            loc: "全圖",
            name: "絕情谷",
            way: "jh 37;n;e;e;nw;nw;w;n;nw;n;n;ne;n;nw;se;s;sw;s;s;se;e;n;e;e;e;ne;ne;ne;se;s;s;s;w;e;n;n;n;nw;sw;sw;nw;w;n;nw;n;ne;e;ne;se;nw;sw;w;sw;nw;w;n;nw;n;s;se;s;e;n;nw;n;nw;se;s;se;s;ne;n;ne;sw;s;sw;n;ne;e;ne;e;n",
            desc: "",
          },
          {
            jh: "38",
            loc: "全圖",
            name: "碧海山莊",
            way: "jh 38;n;n;n;n;w;w;e;e;n;n;n;w;w;nw;w;w;n;n;s;s;e;e;se;e;e;n;n;e;se;s;e;w;n;nw;w;n;n;e;e;se;se;e;n;n;n;s;s;s;w;nw;nw;w;w;n;n;n;n",
            desc: "",
          },
          {
            jh: "39",
            loc: "全圖",
            name: "天山",
            way: "jh 39;ne;e;n;nw;nw;w;s;s;sw;n;nw;e;sw;w;s;w;n;w;",
            desc: "",
          },
          {
            jh: "40",
            loc: "全圖",
            name: "苗疆",
            way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se",
            desc: "",
          },
          {
            jh: "41",
            loc: "全圖",
            name: "白帝城",
            way: "jh 41;se;e;e;se;se;se;se;se;se;event_1_57976870;e;e;w;w;n;n;n;s;s;s;w;w;w",
            desc: "",
          },
          {
            jh: "42",
            loc: "全圖",
            name: "墨家機關城",
            way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;w;w;n;n;n;e;w;s;s;s;e;e;e;e;n;n;n;w",
            desc: "",
          },
          {
            jh: "43",
            loc: "全圖",
            name: "掩月城",
            way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;nw;nw;n;n;n;n;ne;ne;nw;ne;ne;n;n;ne;e;se;se;se;sw;sw;s;e;s;s;s",
            desc: "",
          },
          {
            jh: "44",
            loc: "全圖",
            name: "海雲閣",
            way: "jh 44;n;n;n;n;w;w;nw;n;n;ne;n;n;e;n;n;n;e;e;e;e;e;e;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;ne;ne;e;se;se;se;ne;ne;n;n;n;n;nw",
            desc: "",
          },
          {
            jh: "45",
            loc: "全圖",
            name: "幽冥山莊",
            way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;n;nw;nw;n;e;e;e;e;e",
            desc: "",
          },
          {
            jh: "46",
            loc: "全圖",
            name: "花街",
            way: "jh 46;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e;w;w;w;w;w;w;w;n;n;n;e;e;e;w;w;e;s;n;n",
            desc: "",
          },
          {
            jh: "47",
            loc: "全圖",
            name: "西涼城",
            way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;e;e;n;n;n;n;n;n;ne;n",
            desc: "",
          },
          {
            jh: "48",
            loc: "全圖",
            name: "高昌迷宮",
            way: "jh 48;e;se;se;e;ne;se;e;e;e;ne;se;se;s;s;s;sw;sw;s;sw;se",
            desc: "",
          },
          { jh: "49", loc: "全圖", name: "京城", way: "", desc: "" },
          {
            jh: "50",
            loc: "全圖",
            name: "越王劍宮",
            way: "jh 50;ne;ne;n;n;n;ne;ne;ne;n;n;n;s;s;s;se;se;se;s;s;s;s;sw;sw;sw;ne;ne;ne;se;se;e;n;n;n;e;w;n;n;n;n;n;w;e;n;n;n",
            desc: "",
          },
          {
            jh: "51",
            loc: "全圖",
            name: "江陵",
            way: "jh 51;n;n;w;e;e;w;n;n;w;w;n;n;s;s;e;e;e;e;e;e;s;s;n;n;e;e;e;e;se;e;e;w;w;nw;w;w;s;s;s;se;se;e;e;w;w;nw;nw;n;n;n;w;w;n;n;e;w;w;w;e;e;n;n;nw;n;n;n;e;e",
            desc: "",
          },
          { jh: "52", loc: "全圖", name: "天龍寺", way: "", desc: "" },
          { jh: "53", loc: "全圖", name: "西夏", way: "", desc: "" },
          { jh: "54", loc: "全圖", name: "南詔國", way: "", desc: "" },
        ],
      );
      PLU.YFD.mapsLib.Npc = [
        {
          jh: "雪亭鎮",
          loc: "離隱齋",
          name: "金庸大师",
          name_tw: "金庸大師",
          way: "jh 1;w",
          desc: "泱泱中華,上下五千年,朝代更替,江山變換,風雲人物之中,唯有此人開創一全新世界,謂之『江湖』。凡入江湖之人,無能得出。隻緣所聞故事均曲折離奇,所見之人皆栩栩如生,所歷若長江大河一氣呵成,所思無不字字入心繞梁三日。明知在他談笑之間贈予你的,不過是夏日裡的一場春夢,卻鮮有人不癡迷於其斑斕的色彩和無盡的神韻。",
        },
        {
          jh: "雪亭鎮",
          loc: "飛狐外傳",
          name: "胡斐",
          way: "jh 1;w;w;n",
          desc: "這人滿腮虯髯,根根如鐵,一頭濃發,卻不結辮,橫生倒豎般有如亂草,你看到他不禁也是一驚。",
        },
        {
          jh: "雪亭鎮",
          loc: "雪山飛狐",
          name: "苗若兰",
          name_tw: "苗若蘭",
          way: "jh 1;w;w;w;n",
          desc: "膚光勝雪,雙目猶似一泓清水,容貌秀麗之極,當真如明珠生暈,美玉瑩光,眉目間隱隱有一股書卷的清氣,與胡斐同榻時臉蛋羞得如海棠花般,嬌美艷麗,難描難畫,美目流波,俏臉生暈,月光雪光映在身旁苗若蘭皎潔無瑕的臉上,當真是人間仙境,是天仙般的人物。",
        },
        {
          jh: "雪亭鎮",
          loc: "連城訣",
          name: "淩霜华",
          name_tw: "淩霜華",
          way: "jh 1;w;w;w;w;n",
          desc: "隻見一個清秀絕俗的少女正在觀賞菊花,穿一身嫩黃衫子,當真是人淡如菊,怕是你這一生之中,從未見過這般雅緻清麗的姑娘。",
        },
        {
          jh: "雪亭鎮",
          loc: "天龍八部",
          name: "乔峰",
          name_tw: "喬峰",
          way: "jh 1;w;w;w;w;w;n",
          desc: "身材甚是魁偉,三十來歲年紀,身穿灰色舊布袍,已微有破爛,濃眉大眼,高鼻闊口,一張四方的國字臉,頗有風霜之色,顧盼之際,極有威勢。",
        },
        {
          jh: "雪亭鎮",
          loc: "笑傲江湖",
          name: "红叶禅师",
          name_tw: "紅葉禪師",
          way: "jh 1;w;w;s",
          desc: "莆田南少林方丈,收藏《葵花寶典》一書,乃是一位大智大慧的了不起人物。",
        },
        {
          jh: "雪亭鎮",
          loc: "倚天屠龍記",
          name: "赵敏",
          name_tw: "趙敏",
          way: "jh 1;w;w;w;w;w;w;s",
          desc: "汝陽王之女,封號“紹敏郡主”,趙敏是她的漢名。其父在當朝執掌兵馬大權,因此自幼生性好武,內力不深,但見識頗廣。她愛做漢人打扮,活脫脫是個漢人美女。她嬌美無匹,面瑩如玉,眼澄似水,笑意盈盈,不單艷麗不可方物,還自有一番說不盡的嬌媚可愛。",
        },
        {
          jh: "雪亭鎮",
          loc: "白馬嘯西風",
          name: "李文秀",
          way: "jh 1;w;w;w;w;w;w;w;n",
          desc: "這是草原上最美麗、最會唱歌的少女。她玉雪可愛,卻不得心上人所愛。",
        },
        {
          jh: "雪亭鎮",
          loc: "鹿鼎記",
          name: "双儿",
          name_tw: "雙兒",
          way: "jh 1;#8 w;n",
          desc: "重情重義,溫柔善良,善解人意,乖巧聰慧,體貼賢惠,清秀可人,靦腆羞澀,誠實不欺,胸無城府,忠肝義膽,天真純潔。",
        },
        {
          jh: "雪亭鎮",
          loc: "神雕俠侶",
          name: "郭襄",
          way: "jh 1;w;w;w;w;s",
          desc: "少女清雅秀麗,無疑是個美人坯子。穿淡綠緞子皮襖,頸中掛著一串明珠,每顆珠子都一般的小指頭大小,發出淡淡光暈。你不禁為她美貌所懾,住口不言,呆呆望著。",
        },
        {
          jh: "雪亭鎮",
          loc: "俠客行",
          name: "丁丁當當",
          way: "jh 1;w;w;w;w;w;s",
          desc: "一張清麗白膩的臉龐,小嘴邊帶著俏皮微笑,月光照射在她明澈的眼睛之中,宛然便是兩點明星。",
        },
        {
          jh: "雪亭鎮",
          loc: "射雕英雄傳",
          name: "郭靖",
          way: "jh 1;w;w;w;w;w;w;n",
          desc: "體格粗壯,濃眉大眼。雖衣著帶幾分土氣,卻難掩大俠風骨。",
        },
        {
          jh: "雪亭鎮",
          loc: "越女劍",
          name: "阿青",
          way: "jh 1;#9 w",
          desc: "這少女一張瓜子臉,睫長眼大,皮膚白晰,容貌甚為秀麗,身材苗條,弱質纖纖。",
        },
        {
          jh: "雪亭鎮",
          loc: "書劍恩仇錄",
          name: "霍青桐",
          way: "jh 1;w;w;w;s",
          desc: "霍青桐:十八九歲年紀,腰插匕首,長辮垂肩,頭戴金絲繡的小帽,帽邊插一根長長的翠綠羽毛,革履青馬,旖旎如畫。秀美中透著一股英氣,光彩照人,當真是麗若春梅綻雪,神如秋蕙披霜,兩頰融融,霞映澄塘,雙目晶晶,月射寒江。此女乃天山北路回疆部落首領木卓倫之女,霍阿伊之妹,喀絲麗之姐,“天山雙鷹”之徒。一手天山劍法甚是厲害。她相貌出眾,才智過人,愛穿黃衫,帽邊常插一根長長的翠綠羽毛,因此得了個漂亮外號,天山南北武林中人都知道“翠羽黃衫”霍青桐。",
        },
        {
          jh: "雪亭鎮",
          loc: "碧血劍",
          name: "袁承志",
          way: "jh 1;#7 w;s",
          desc: "為人沉穩,以國家大義為己任,出生入死;他以其父為標榜,當仁不讓。",
        },
        {
          jh: "雪亭鎮",
          loc: "鴛鴦刀",
          name: "任飛燕",
          way: "jh 1;#8 w;s",
          desc: "一個風程僕僕的俠客。",
        },
        {
          jh: "雪亭鎮",
          loc: "飲風客棧",
          name: "五一大使",
          way: "jh 1",
          desc: "一個風程僕僕的俠客。",
        },
        {
          jh: "雪亭鎮",
          loc: "飲風客棧",
          name: "小糖人",
          way: "jh 1",
          desc: "小糖人造型多變,本以熬化的蔗糖或麥芽糖做成,一會變成人物、一會變成動物、花草等。據說誕生於宋代春節鬧花燈的集市。",
        },
        {
          jh: "雪亭鎮",
          loc: "飲風客棧",
          name: "光棍",
          way: "jh 1",
          desc: "一個風程僕僕的俠客。",
        },
        {
          jh: "雪亭鎮",
          loc: "飲風客棧",
          name: "陈汤",
          name_tw: "陳湯",
          way: "jh 1",
          desc: "西漢六大名將之一,其句“明犯我強漢者,雖遠必誅”,過了兩千年依然是激動人心。",
        },
        {
          jh: "雪亭鎮",
          loc: "飲風客棧",
          name: "双旦使者",
          name_tw: "雙旦使者",
          way: "jh 1",
          desc: "一個風程僕僕的俠客。",
        },
        {
          jh: "雪亭鎮",
          loc: "飲風客棧",
          name: "过年小【二】",
          name_tw: "過年小【貳】",
          way: "jh 1",
          desc: "這是論劍兩週年特別形象大使,眉目俊秀,頗有幾分劍大師的風採。",
        },
        {
          jh: "雪亭鎮",
          loc: "飲風客棧",
          name: "逄义",
          name_tw: "逄義",
          way: "jh 1",
          desc: "逄義是封山派中和柳淳風同輩的弟子,但是生性好賭的他並不受師父及同門師兄弟的喜愛,因此輩分雖高,卻未曾擔任門中任何重要職務。逄義經常外出,美其名曰:旅行,實則避債,礙於門規又不敢做那打家劫舍的勾當,因此經常四處尋找賺錢發財的機會。",
        },
        {
          jh: "雪亭鎮",
          loc: "飲風客棧",
          name: "店小二",
          way: "jh 1",
          desc: "這位店小二正笑咪咪地忙著,還不時拿起掛在脖子上的抹布擦臉。",
        },
        {
          jh: "雪亭鎮",
          loc: "飲風客棧",
          name: "剑大师",
          name_tw: "劍大師",
          way: "jh 1",
          desc: "宗之瀟灑美少年舉觴白眼望青天皎如玉樹臨風前",
        },
        {
          jh: "雪亭鎮",
          loc: "廣場",
          name: "苦力",
          way: "jh 1;e",
          desc: "一個苦力打扮的漢子在這裡等人來僱用。",
        },
        {
          jh: "雪亭鎮",
          loc: "城隍廟",
          name: "庙祝",
          name_tw: "廟祝",
          way: "jh 1;e;e",
          desc: "這個老人看起來七十多歲了,看著他佝僂的身影,你忽然覺得心情沈重了下來。",
        },
        {
          jh: "雪亭鎮",
          loc: "黃土小徑",
          name: "野狗",
          way: "jh 1;e;e;s;ne",
          desc: "一隻渾身臟兮兮的野狗。",
        },
        {
          jh: "雪亭鎮",
          loc: "山路",
          name: "蒙面剑客",
          name_tw: "蒙面劍客",
          way: "jh 1;e;e;s;ne;ne",
          desc: "蒙著臉,身後背著一把劍,看上去武藝頗為不俗。",
        },
        {
          jh: "雪亭鎮",
          loc: "淳風武館大門",
          name: "刘安禄",
          name_tw: "劉安祿",
          way: "jh 1;e;n;e",
          desc: "劉安祿是淳風武館的門房,除了館主柳淳風沒有人知道他的出身來歷,隻知到他的武藝不弱,一手快刀在這一帶罕有敵手。",
        },
        {
          jh: "雪亭鎮",
          loc: "淳風武館教練場",
          name: "武馆弟子",
          name_tw: "武館弟子",
          way: "jh 1;e;n;e;e",
          desc: "你看到一位身材高大的漢子,正在辛苦地操練著。",
        },
        {
          jh: "雪亭鎮",
          loc: "淳風武館教練場",
          name: "李火狮",
          name_tw: "李火獅",
          way: "jh 1;e;n;e;e",
          desc: "李火獅是個孔武有力的大塊頭,他正在訓練他的弟子們習練「柳家拳法」。",
        },
        {
          jh: "雪亭鎮",
          loc: "淳風武館大廳",
          name: "柳淳风",
          name_tw: "柳淳風",
          way: "jh 1;e;n;e;e;e",
          desc: "柳淳風是個相當高大的中年儒生,若不是從他腰間掛著的「玄蘇劍」你大概猜不到眼前這個溫文儒雅的中年人竟是家大武館的館主。",
        },
        {
          jh: "雪亭鎮",
          loc: "書房",
          name: "柳绘心",
          name_tw: "柳繪心",
          way: "jh 1;e;n;e;e;e;e;n",
          desc: "柳繪心是淳風武館館主柳淳風的獨生女。",
        },
        {
          jh: "雪亭鎮",
          loc: "雪亭鎮街道",
          name: "醉汉",
          name_tw: "醉漢",
          way: "jh 1;e;n;n",
          desc: "一個喝得醉醺醺的年輕人。。。。。",
        },
        {
          jh: "雪亭鎮",
          loc: "雪亭鎮街道",
          name: "收破烂的",
          name_tw: "收破爛的",
          way: "jh 1;e;n;n",
          desc: "這個人不但自己收破爛,身上也穿得破爛不堪。",
        },
        {
          jh: "雪亭鎮",
          loc: "木屋",
          name: "花不为",
          name_tw: "花不為",
          way: "jh 1;e;n;n;n;n;e",
          desc: "此人前幾年搬到雪亭鎮來,身世迷糊。",
        },
        {
          jh: "雪亭鎮",
          loc: "雪亭驛",
          name: "杜宽",
          name_tw: "杜寬",
          way: "jh 1;e;n;n;n;n;w",
          desc: "杜寬擔任雪亭驛的驛長已經有十幾年了,雖然期間有幾次升遷的機會,但是他都因為捨不得離開這個小山村而放棄了,雪亭鎮的居民對杜寬的風評相當不錯,常常會來到驛站跟他聊天。",
        },
        {
          jh: "雪亭鎮",
          loc: "雪亭驛",
          name: "杜宽宽",
          name_tw: "杜寬寬",
          way: "jh 1;e;n;n;n;n;w",
          desc: "不要殺我~~~~~~~~~~",
        },
        {
          jh: "雪亭鎮",
          loc: "桑鄰藥鋪",
          name: "杨掌柜",
          name_tw: "楊掌櫃",
          way: "jh 1;e;n;n;n;w",
          desc: "楊掌櫃是這附近相當有名的大善人,常常施捨草藥給付不起藥錢的窮人。此外他的醫術也不錯,年輕時曾經跟著山煙寺的玄智和尚學醫,一般的傷寒小病直接問他開藥吃比醫生還靈。",
        },
        {
          jh: "雪亭鎮",
          loc: "桑鄰藥鋪",
          name: "樵夫",
          way: "jh 1;e;n;n;n;w",
          desc: "你看到一個粗壯的大漢,身上穿著普通樵夫的衣服。",
        },
        {
          jh: "雪亭鎮",
          loc: "打鐵鋪子",
          name: "王铁匠",
          name_tw: "王鐵匠",
          way: "jh 1;e;n;n;w",
          desc: "王鐵匠正用鐵鉗夾住一塊紅熱的鐵塊放進爐中。打孔",
        },
        {
          jh: "雪亭鎮",
          loc: "安記錢莊",
          name: "安惜迩",
          name_tw: "安惜邇",
          way: "jh 1;e;n;w",
          desc: "安惜邇是個看起來相當斯文的年輕人,不過有時候會有些心不在焉的樣子,雪亭鎮的居民對安惜邇都覺得有點神秘莫測的感覺,為什麼他年紀輕輕就身為一家大錢莊的老闆,還有他一身稀奇古怪的武功,所幸安惜邇似乎天性恬淡,甚至有些隱者的風骨,隻要旁人不去惹他,他也絕不會去招惹旁人。",
        },
        {
          jh: "雪亭鎮",
          loc: "雪亭鎮街口",
          name: "黎老八",
          way: "jh 1;e;s",
          desc: "這是位生性剛直,嫉惡如仇的丐幫八袋弟子。",
        },
        {
          jh: "雪亭鎮",
          loc: "雪亭鎮街道",
          name: "老农夫",
          name_tw: "老農夫",
          way: "jh 1;e;s;w",
          desc: "你看到一位面色黝黑的農夫。",
        },
        {
          jh: "雪亭鎮",
          loc: "雪亭鎮街道",
          name: "农夫",
          name_tw: "農夫",
          way: "jh 1;e;s;w",
          desc: "你看到一位面色黝黑的農夫。",
        },
        {
          jh: "雪亭鎮",
          loc: "書院",
          name: "魏无极",
          name_tw: "魏無極",
          way: "jh 1;e;s;w;s",
          desc: "魏無極是個博學多聞的教書先生,他年輕時曾經中過舉人,但是因為生性喜愛自由而不願做官,魏無極以教書為業,如果你付他一筆學費,就可以成為他的弟子學習讀書識字。",
        },
        {
          jh: "雪亭鎮",
          loc: "青石官道",
          name: "疯狗",
          name_tw: "瘋狗",
          way: "jh 1;e;s;w;w",
          desc: "一隻渾身臟兮兮的野狗,一雙眼睛正惡狠狠地瞪著你。",
        },
        {
          jh: "雪亭鎮",
          loc: "飲風客棧二樓",
          name: "星河大师",
          name_tw: "星河大師",
          way: "jh 1;雪亭鎮:飲風客棧^飲風客棧二樓",
          desc: "帥",
        },
        {
          jh: "雪亭鎮",
          loc: "飲風客棧二樓",
          name: "崔元基",
          way: "jh 1;雪亭鎮:飲風客棧^飲風客棧二樓",
          desc: "此人惡行累累,身背無數血案,其身上布滿刀傷,看上去極為兇神惡煞。",
        },
        {
          jh: "雪亭鎮",
          loc: "飲風客棧二樓",
          name: "神祕男子",
          name_tw: "神秘男子",
          way: "jh 1;雪亭鎮:飲風客棧^飲風客棧二樓",
          desc: "該男子頭頂笠帽,一身勁裝。看不清面容,極為神秘。",
        },
        {
          jh: "洛陽",
          loc: "北郊礦山",
          name: "剑遇北",
          name_tw: "劍遇北",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;w",
          desc: "一個身受重傷的布衣青年,手持一把染血的佩劍。",
        },
        {
          jh: "洛陽",
          loc: "礦場",
          name: "矿监",
          name_tw: "礦監",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;w;w",
          desc: "他身著紅色官袍,方臉闊嘴,下頜一捋長須,不時用那雙小眼睛瞅你。",
        },
        {
          jh: "洛陽",
          loc: "冶煉場",
          name: "邵空子",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;w;w;w",
          desc: "他穿一件棕布麻衣,身材壯碩,目光炯炯,兩手尤為粗大,負責冶煉數十年,是存世不多的鑄造大師之一。",
        },
        {
          jh: "洛陽",
          loc: "礦洞入口",
          name: "矿洞入口",
          name_tw: "礦洞入口",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;w;w;w;w",
          desc: "黝黑的洞口深不見底,裡面似乎傳來叮叮噹噹的聲音。根據產出礦品質的不同,礦坑可以分為普通、地品和天品三種。曾經有人在裡面挖出過礦髓,這可是能升級礦脈的好東西。不過地品及天品礦洞必須要有朝廷的許可才能進入。",
        },
        {
          jh: "洛陽",
          loc: "南郊小路",
          name: "农夫",
          name_tw: "農夫",
          way: "jh 2;n",
          desc: "一個戴著斗笠,正在辛勤勞作的農夫。",
        },
        {
          jh: "洛陽",
          loc: "南門",
          name: "守城士兵",
          way: "jh 2;n;n",
          desc: "一個守衛洛陽城的士兵",
        },
        {
          jh: "洛陽",
          loc: "南市",
          name: "客商",
          way: "jh 2;n;n;e",
          desc: "長途跋涉至此的客商。",
        },
        {
          jh: "洛陽",
          loc: "船塢",
          name: "蓑衣男子",
          way: "jh 2;n;n;e;s;洛陽:洛水渡口^船塢",
          desc: "身穿蓑衣坐在船頭的男子,頭上的斗笠壓得很低,你看不見他的臉。",
        },
        {
          jh: "洛陽",
          loc: "南大街",
          name: "乞丐",
          way: "jh 2;n;n;n",
          desc: "一個穿著破破爛爛的乞丐",
        },
        {
          jh: "洛陽",
          loc: "金刀門",
          name: "金刀门弟子",
          name_tw: "金刀門弟子",
          way: "jh 2;n;n;n;e",
          desc: "這人雖然年紀不大,卻十分傲慢。看來金刀門是上樑不正下樑歪。",
        },
        {
          jh: "洛陽",
          loc: "練武場",
          name: "王霸天",
          way: "jh 2;n;n;n;e;s",
          desc: "王霸天已有七十來歲,滿面紅光,顎下一叢長長的白須飄在胸前,精神矍鑠,左手嗆啷啷的玩著兩枚鵝蛋大小的金膽。",
        },
        {
          jh: "洛陽",
          loc: "洛川街",
          name: "地痞",
          way: "jh 2;n;n;n;n",
          desc: "洛陽城裡的地痞,人見人惡。",
        },
        {
          jh: "洛陽",
          loc: "集市",
          name: "小贩",
          name_tw: "小販",
          way: "jh 2;n;n;n;n;e",
          desc: "起早貪黑養家餬口的小販。",
        },
        {
          jh: "洛陽",
          loc: "豬肉攤",
          name: "郑屠夫",
          name_tw: "鄭屠夫",
          way: "jh 2;n;n;n;n;e;s",
          desc: "一個唾沫四濺,滿身油星的屠夫。看上去粗陋鄙俗,有些礙眼。",
        },
        {
          jh: "洛陽",
          loc: "草屋",
          name: "绿袍老者",
          name_tw: "綠袍老者",
          way: "jh 2;n;n;n;n;n;e;e;n;n;e;n",
          desc: "一身綠袍的老人,除了滿頭白發,強健的身姿和矍鑠的眼神都不像一位老者。",
        },
        {
          jh: "洛陽",
          loc: "林間石階",
          name: "山贼",
          name_tw: "山賊",
          way: "jh 2;n;n;n;n;n;e;e;n;n;n",
          desc: "隱藏在密林中打家劫舍的賊匪。",
        },
        {
          jh: "洛陽",
          loc: "登山小徑",
          name: "守墓人",
          way: "jh 2;n;n;n;n;n;e;e;n;n;n;n",
          desc: "負責看守白冢的老人,看起來也是有些功夫的。",
        },
        {
          jh: "洛陽",
          loc: "松風亭",
          name: "淩云",
          name_tw: "淩雲",
          way: "jh 2;n;n;n;n;n;e;e;n;n;n;n;e",
          desc: "敗劍山莊少莊主,跟著父親雲遊四海。",
        },
        {
          jh: "洛陽",
          loc: "松風亭",
          name: "淩中天",
          way: "jh 2;n;n;n;n;n;e;e;n;n;n;n;e",
          desc: "好遊山玩水的敗劍山莊莊主。",
        },
        {
          jh: "洛陽",
          loc: "白公墓",
          name: "黑衣文士",
          way: "jh 2;n;n;n;n;n;e;e;n;n;n;n;n",
          desc: "看樣子很斯文,不像會欺負人哦~",
        },
        {
          jh: "洛陽",
          loc: "白公墓",
          name: "盗墓贼",
          name_tw: "盜墓賊",
          way: "jh 2;n;n;n;n;n;e;e;n;n;n;n;n",
          desc: "以盜竊古墓財寶為生的人。",
        },
        {
          jh: "洛陽",
          loc: "墓道",
          name: "黑衣女子",
          way: "jh 2;n;n;n;n;n;e;e;n;n;n;n;n;get_silver",
          desc: "一身緊身黑衣將其身體勾勒的曲線畢露,黑紗遮住了面容,但看那剪水雙眸,已經足以勾魂。",
        },
        {
          jh: "洛陽",
          loc: "聽伊亭",
          name: "白面书生",
          name_tw: "白面書生",
          way: "jh 2;n;n;n;n;n;e;e;n;n;n;w",
          desc: "書生打扮的中年男子,手中的折扇隱露寒光。",
        },
        {
          jh: "洛陽",
          loc: "觀景台",
          name: "护卫",
          name_tw: "護衛",
          way: "jh 2;n;n;n;n;n;e;e;n;n;w",
          desc: "大戶人家的護衛,一身勁裝。",
        },
        {
          jh: "洛陽",
          loc: "富人莊院",
          name: "富家公子",
          way: "jh 2;n;n;n;n;n;e;n",
          desc: "此人一副風流倜儻的樣子,一看就是個不知天高地厚的公子哥。",
        },
        {
          jh: "洛陽",
          loc: "儲藏室",
          name: "洪帮主",
          name_tw: "洪幫主",
          name_new: "尚鋤姦",
          way: "jh 2;n;n;n;n;n;e;n;op1",
          desc: "他就是丐幫幫主。",
        },
        {
          jh: "洛陽",
          loc: "青石街",
          name: "鲁长老",
          name_tw: "魯長老",
          way: "jh 2;n;n;n;n;n;n;e",
          desc: "魯長老雖然武功算不得頂尖高手,可是在江湖上卻頗有聲望。因為他在丐幫中有仁有義,行事光明磊落,深得洪幫主的器重。",
        },
        {
          jh: "洛陽",
          loc: "北大街",
          name: "卖花姑娘",
          name_tw: "賣花姑娘",
          way: "jh 2;n;n;n;n;n;n;n",
          desc: "她總是甜甜的微笑,讓人不忍拒絕她籃子裡的鮮花。",
        },
        {
          jh: "洛陽",
          loc: "錢莊",
          name: "刘守财",
          name_tw: "劉守財",
          way: "jh 2;n;n;n;n;n;n;n;e",
          desc: "洛陽城的財主,開了一家錢莊,家財萬貫。",
        },
        {
          jh: "洛陽",
          loc: "北門",
          name: "守城武将",
          name_tw: "守城武將",
          way: "jh 2;n;n;n;n;n;n;n;n",
          desc: "一個守衛洛陽城的武將",
        },
        {
          jh: "洛陽",
          loc: "北郊小路",
          name: "疯狗",
          name_tw: "瘋狗",
          way: "jh 2;n;n;n;n;n;n;n;n;n",
          desc: "一隻四處亂竄的瘋狗,頂著一身髒兮兮的的毛發。",
        },
        {
          jh: "洛陽",
          loc: "綠竹林",
          name: "青竹蛇",
          way: "jh 2;n;n;n;n;n;n;n;n;n;e",
          desc: "一條全身翠綠的毒蛇,纏繞在竹枝上。",
        },
        {
          jh: "洛陽",
          loc: "綠竹雅舍",
          name: "布衣老翁",
          way: "jh 2;n;n;n;n;n;n;n;n;n;e;n",
          desc: "一身布衣,面容慈祥的老人。",
        },
        {
          jh: "洛陽",
          loc: "清響齋",
          name: "萧问天",
          name_tw: "蕭問天",
          way: "jh 2;n;n;n;n;n;n;n;n;n;e;n;n",
          desc: "雖然身居陋室,衣著樸素,眼神的銳利卻讓人不能忽視他的存在。",
        },
        {
          jh: "洛陽",
          loc: "密室",
          name: "藏剑楼首领",
          name_tw: "藏劍樓首領",
          way: "jh 2;n;n;n;n;n;n;n;n;n;e;n;n;n",
          desc: "一名看上去風度非凡之人,正背手閉目養神中好像等候什麼。",
        },
        {
          jh: "洛陽",
          loc: "甕城",
          name: "胡商",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "明德門",
          name: "城门卫兵",
          name_tw: "城門衛兵",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "天狼閣",
          name: "江湖大盗",
          name_tw: "江湖大盜",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e;e",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "淩煙閣",
          name: "李贺",
          name_tw: "李賀",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e;e;n;n;n;n;n;n;n;n;n;n;n;n;n;n",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "淩煙閣頂",
          name: "云梦璃",
          name_tw: "雲夢璃",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e;e;n;n;n;n;n;n;n;n;n;n;n;n;n;n;event_1_95312623",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "水榭",
          name: "游客",
          name_tw: "遊客",
          way: "jh 2;n;n;n;n;n;e;e;n",
          desc: "來白冢遊玩的人,背上的包袱裡鼓鼓囊囊,不知道裝了什麼?",
        },
        {
          jh: "洛陽",
          loc: "承天門大街",
          name: "游客",
          name_tw: "遊客",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n",
          desc: "一個風程僕僕的俠客。",
        },
        {
          jh: "洛陽",
          loc: "六扇門",
          name: "捕快",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "六扇門",
          name: "捕快统领",
          name_tw: "捕快統領",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "富貴銀莊",
          name: "苗一郎",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;n;e",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "東市大街",
          name: "王府总管",
          name_tw: "王府總管",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;n;n",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "東市大街",
          name: "王府小厮",
          name_tw: "王府小廝",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;n;n",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "珍玉齋",
          name: "董老板",
          name_tw: "董老闆",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;n;n;e",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "東市大街",
          name: "龟兹乐师",
          name_tw: "龜茲樂師",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;n;n;n",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "羽霓坊",
          name: "上官小婉",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;n;n;n;e",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "錦官繡院",
          name: "龟兹舞女",
          name_tw: "龜茲舞女",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;n;n;n;w",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "錦官繡院",
          name: "卓小妹",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;n;n;n;w",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "天和當鋪",
          name: "护国军卫",
          name_tw: "護國軍衛",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;n;n;w",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "天和當鋪",
          name: "朱老板",
          name_tw: "朱老闆",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;n;n;w",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "山海古玩店",
          name: "仇老板",
          name_tw: "仇老闆",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;n;w",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "山海古玩店",
          name: "顾先生",
          name_tw: "顧先生",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;n;w",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "承天門廣場",
          name: "独孤须臾",
          name_tw: "獨孤須臾",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "玄武門",
          name: "金甲卫士",
          name_tw: "金甲衛士",
          way: "jh 2;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",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "大明宮內庭",
          name: "独孤皇后",
          name_tw: "獨孤皇后",
          way: "jh 2;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",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "雲遠寺大門",
          name: "刀僧卫",
          name_tw: "刀僧衛",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "誅心樓",
          name: "镇魂使",
          name_tw: "鎮魂使",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;s;s;s;s;s",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "招魂台",
          name: "招魂师",
          name_tw: "招魂師",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;s;s;s;s;w",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "明月客棧",
          name: "说书人",
          name_tw: "說書人",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;n;w",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "明月客棧",
          name: "客栈老板",
          name_tw: "客棧老闆",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;n;w",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "老高鐵鋪",
          name: "高铁匠",
          name_tw: "高鐵匠",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;e",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "老高鐵鋪",
          name: "哥舒翰",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;e",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "玉門客棧",
          name: "樊天纵",
          name_tw: "樊天縱",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;e",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "玉門客棧",
          name: "若羌巨商",
          name_tw: "若羌鉅商",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;e",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "西市大街",
          name: "乌孙马贩",
          name_tw: "烏孫馬販",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "老孫肉鋪",
          name: "孙三娘",
          name_tw: "孫三娘",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n;e",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "天策大道",
          name: "白衣少侠",
          name_tw: "白衣少俠",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n;n;;n;n",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "天策府大門",
          name: "玄甲卫兵",
          name_tw: "玄甲衛兵",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n;n;;n;n;n",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "照壁",
          name: "杜如晦",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n;n;;n;n;n;n;e",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "議事廳",
          name: "秦王",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n;n;;n;n;n;n;n;n;n;n",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "軍機室",
          name: "翼国公",
          name_tw: "翼國公",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n;n;;n;n;n;n;n;n;n;n;e",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "軍機室",
          name: "尉迟敬德",
          name_tw: "尉遲敬德",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n;n;;n;n;n;n;n;n;n;n;e",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "參謀室",
          name: "程知节",
          name_tw: "程知節",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n;n;;n;n;n;n;n;n;n;n;w",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "照壁",
          name: "房玄龄",
          name_tw: "房玄齡",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n;n;;n;n;n;n;w",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "鐘樓大街",
          name: "马夫",
          name_tw: "馬夫",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n;n;n",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "鐘樓大街",
          name: "大宛使者",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n;n;n",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "風花酒館",
          name: "卫青",
          name_tw: "衛青",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n;w",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "風花酒館",
          name: "方秀珣",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;n;w",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "紅雲布莊",
          name: "杨玄素",
          name_tw: "楊玄素",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;n;w",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "遊記貨棧",
          name: "游四海",
          name_tw: "遊四海",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;w",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "遊記貨棧",
          name: "糖人张",
          name_tw: "糖人張",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;n;w",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "南城牆",
          name: "无影卫",
          name_tw: "無影衛",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "安化門",
          name: "紫衣追影",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "七星角樓",
          name: "城门禁卫",
          name_tw: "城門禁衛",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;w;w",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "七星角樓",
          name: "禁卫统领",
          name_tw: "禁衛統領",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;w;w",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "延平門",
          name: "蓝色城门卫兵",
          name_tw: "藍色城門衛兵",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;w;w;n;n;n;n",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "金光門",
          name: "血手天魔",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "開遠門",
          name: "先锋大将",
          name_tw: "先鋒大將",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;n;n",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "狼居胥樓",
          name: "霍骠姚",
          name_tw: "霍驃姚",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;n;n;n;n;n;n;n",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "沙石地",
          name: "看门人",
          name_tw: "看門人",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;nw;w;sw;s",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "石土場",
          name: "钦官",
          name_tw: "欽官",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;nw;w;sw;s;s",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "沙石地",
          name: "督察官",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;nw;w;sw;s;s;event_1_54329477;n",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "沙石地",
          name: "神秘黑衣人",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;nw;w;sw;s;s;event_1_54329477;n",
          desc: "",
        },
        {
          jh: "洛陽",
          loc: "城樓密室",
          name: "李元帅",
          name_tw: "李元帥",
          way: "jh 2;n;n;n;n;n;n;n;n;w;洛陽:城樓^城樓密室",
          desc: "吃了敗仗的元帥逃在此密室,卻不知是為了什麼。",
        },
        {
          jh: "洛陽",
          loc: "當鋪",
          name: "陈扒皮",
          name_tw: "陳扒皮",
          way: "jh 2;n;n;n;n;n;n;w",
          desc: "據洛陽城中最小氣的人,號稱陳扒皮,意思是見了誰都想賺個小便宜。",
        },
        {
          jh: "洛陽",
          loc: "馬廄",
          name: "马倌",
          name_tw: "馬倌",
          way: "jh 2;n;n;n;n;n;w;n;n;w",
          desc: "這是是客棧的馬倌,正在悉心照料客人的馬匹。",
        },
        {
          jh: "洛陽",
          loc: "牡丹園",
          name: "守园老人",
          name_tw: "守園老人",
          way: "jh 2;n;n;n;n;n;w;s",
          desc: "守護牡丹園的老人。因為洛陽城地痞不少,所以這守園老人可不輕鬆。",
        },
        {
          jh: "洛陽",
          loc: "牡丹亭",
          name: "赛牡丹",
          name_tw: "賽牡丹",
          way: "jh 2;n;n;n;n;n;w;s;luoyang111_op1",
          desc: "人稱賽牡丹,自然是個美人兒啦~",
        },
        {
          jh: "洛陽",
          loc: "賭坊大門",
          name: "黑衣打手",
          way: "jh 2;n;n;n;n;n;w;w",
          desc: "一身黑衣的打手,腳下功夫還是有點的。",
        },
        {
          jh: "洛陽",
          loc: "賭坊大廳",
          name: "小偷",
          way: "jh 2;n;n;n;n;n;w;w;n",
          desc: "混跡在賭坊裡的小偷。",
        },
        {
          jh: "洛陽",
          loc: "雅舍",
          name: "玉娘",
          way: "jh 2;n;n;n;n;n;w;w;n;n;n;e",
          desc: "肌膚如白玉般晶瑩的美人,不知道在這賭坊雅舍中等誰?",
        },
        {
          jh: "洛陽",
          loc: "暗道",
          name: "张逍林",
          name_tw: "張逍林",
          way: "jh 2;n;n;n;n;n;w;w;n;w;get_silver",
          desc: "來洛陽遊玩的遊客,被困在銀鉤賭坊一段時間了。",
        },
        {
          jh: "洛陽",
          loc: "銅駝巷",
          name: "何九叔",
          way: "jh 2;n;n;n;n;w",
          desc: "丐幫5袋弟子,衣著乾淨,看起來是淨衣派的。",
        },
        {
          jh: "洛陽",
          loc: "石街",
          name: "无赖",
          name_tw: "無賴",
          way: "jh 2;n;n;n;n;w;event_1_98995501;n",
          desc: "洛陽城無賴,專靠耍賴撒潑騙錢。",
        },
        {
          jh: "洛陽",
          loc: "酒肆",
          name: "甄大海",
          way: "jh 2;n;n;n;n;w;event_1_98995501;n;n;e",
          desc: "洛陽地痞無賴頭領,陰險狡黠,手段極其卑鄙。",
        },
        {
          jh: "洛陽",
          loc: "桃花別院",
          name: "红娘",
          name_tw: "紅娘",
          way: "jh 2;n;n;n;n;w;s",
          desc: "一個肥胖的中年婦女,以做媒為生。",
        },
        {
          jh: "洛陽",
          loc: "繡樓",
          name: "柳小花",
          way: "jh 2;n;n;n;n;w;s;w",
          desc: "洛陽武館館主的女兒,身材窈窕,面若桃花,十分漂亮。性格卻是驕縱任性,大小姐脾氣。",
        },
        {
          jh: "洛陽",
          loc: "洛神廟",
          name: "庙祝",
          name_tw: "廟祝",
          way: "jh 2;n;n;n;w",
          desc: "洛神廟的廟祝",
        },
        {
          jh: "洛陽",
          loc: "地道",
          name: "老乞丐",
          way: "jh 2;n;n;n;w;putuan",
          desc: "一個穿著破破爛爛的乞丐",
        },
        {
          jh: "華山村",
          loc: "地道",
          name: "米不为",
          name_tw: "米不為",
          way: "",
          desc: "一名青年男子,衣衫上血跡斑斑,奄奄一息的躺在地上。",
        },
        {
          jh: "華山村",
          loc: "華山村村口",
          name: "泼皮",
          name_tw: "潑皮",
          way: "jh 3",
          desc: "好吃懶做的無賴,整天無所事事,欺軟怕硬。",
        },
        {
          jh: "華山村",
          loc: "松林小徑",
          name: "松鼠",
          way: "jh 3;n",
          desc: "一隻在松林裡覓食的小松鼠。",
        },
        {
          jh: "華山村",
          loc: "神女塚",
          name: "野兔",
          way: "jh 3;n;e",
          desc: "正在吃草的野兔。",
        },
        {
          jh: "華山村",
          loc: "青石街",
          name: "泼皮头子",
          name_tw: "潑皮頭子",
          way: "jh 3;s",
          desc: "好吃懶做的無賴,整天無所事事,欺軟怕硬。",
        },
        {
          jh: "華山村",
          loc: "碎石路",
          name: "采花贼",
          name_tw: "採花賊",
          way: "jh 3;s;e",
          desc: "聲名狼藉的採花賊,一路潛逃來到了華山村。",
        },
        {
          jh: "華山村",
          loc: "打鐵鋪",
          name: "冯铁匠",
          name_tw: "馮鐵匠",
          way: "jh 3;s;e;n",
          desc: "這名鐵匠看上去年紀也不大,卻是一副飽經滄桑的樣子。",
        },
        {
          jh: "華山村",
          loc: "銀杏廣場",
          name: "村民",
          way: "jh 3;s;s",
          desc: "身穿布衣的村民",
        },
        {
          jh: "華山村",
          loc: "雜貨鋪",
          name: "方老板",
          name_tw: "方老闆",
          way: "jh 3;s;s;e",
          desc: "平日行蹤有些詭秘,看來雜貨鋪並不是他真正的營生。",
        },
        {
          jh: "華山村",
          loc: "後院",
          name: "跛脚汉子",
          name_tw: "跛腳漢子",
          way: "jh 3;s;s;e;s",
          desc: "衣著普通的中年男子,右腳有些跛。",
        },
        {
          jh: "華山村",
          loc: "車廂",
          name: "云含笑",
          name_tw: "雲含笑",
          way: "jh 3;s;s;e;s;huashancun24_op2",
          desc: "眸含秋水清波流盼,香嬌玉嫩,秀靨豔比花嬌,指如削蔥根,口如含朱丹,一顰一笑動人心魂。",
        },
        {
          jh: "華山村",
          loc: "石闆橋",
          name: "英白罗",
          name_tw: "英白羅",
          way: "jh 3;s;s;s",
          desc: "這是華山派弟子,奉師命下山尋找遊玩未歸的小師妹。",
        },
        {
          jh: "華山村",
          loc: "石闆橋",
          name: "黑狗",
          way: "jh 3;s;s;s",
          desc: "一隻黑色毛發的大狗。",
        },
        {
          jh: "華山村",
          loc: "田間小路",
          name: "刘三",
          name_tw: "劉三",
          way: "jh 3;s;s;s;s",
          desc: "這一代遠近聞名的惡棍,欺男霸女無惡不作",
        },
        {
          jh: "華山村",
          loc: "油菜花地",
          name: "血尸",
          name_tw: "血屍",
          way: "jh 3;s;s;s;s;huashancun15_op1",
          desc: "這是一具極為可怖的男子屍體,只見他週身腫脹,肌膚崩裂,眼角、鼻子、指甲縫裡都沁出了鮮血,在這片美麗的花海里,這具屍體的出現實在詭異至極。",
        },
        {
          jh: "華山村",
          loc: "油菜花地",
          name: "藏剑楼杀手",
          name_tw: "藏劍樓殺手",
          way: "jh 3;s;s;s;s;huashancun15_op1;event_1_46902878",
          desc: "極為冷酷無情的男人,手上不知道沾滿了多少無辜生命的鮮血。",
        },
        {
          jh: "華山村",
          loc: "練武場",
          name: "丐帮弟子",
          name_tw: "丐幫弟子",
          way: "jh 3;s;s;s;s;huashancun15_op1;event_1_46902878;;kill?藏劍樓殺手;@藏劍樓殺手的屍體;jh 3;s;s;s;s;s;nw;n;n;n;w;give huashancun_huashancun_fb9",
          desc: "一名髒兮兮的人,頗為怕事,顯得特別畏懼。",
        },
        {
          jh: "華山村",
          loc: "雜草小路",
          name: "毒蛇",
          way: "jh 3;s;s;s;s;s",
          desc: "一條色彩斑斕的毒蛇",
        },
        {
          jh: "華山村",
          loc: "小茅屋",
          name: "丐帮长老",
          name_tw: "丐幫長老",
          way: "jh 3;s;s;s;s;s;e",
          desc: "丐幫長老,衣衫襤褸,滿頭白發,看起來精神不錯。",
        },
        {
          jh: "華山村",
          loc: "山腳",
          name: "小狼",
          way: "jh 3;s;s;s;s;s;nw",
          desc: "出來覓食的小狼",
        },
        {
          jh: "華山村",
          loc: "蜿蜒山徑",
          name: "老狼",
          way: "jh 3;s;s;s;s;s;nw;n",
          desc: "在山上覓食的老狼",
        },
        {
          jh: "華山村",
          loc: "清風寨大門",
          name: "土匪",
          way: "jh 3;s;s;s;s;s;nw;n;n",
          desc: "清風寨土匪",
        },
        {
          jh: "華山村",
          loc: "桃花泉",
          name: "土匪头目",
          name_tw: "土匪頭目",
          way: "jh 3;s;s;s;s;s;nw;n;n;e",
          desc: "清風寨土匪頭目",
        },
        {
          jh: "華山村",
          loc: "花房",
          name: "玉牡丹",
          way: "jh 3;s;s;s;s;s;nw;n;n;e;get_silver",
          desc: "這是一名看不出年齡的男子,一身皮膚又白又細,宛如良質美玉,竟比閨門處子都要光滑細膩許多。若不是高大身材和臉頰上青色胡茬,他可能會讓大多女子汗顏。",
        },
        {
          jh: "華山村",
          loc: "議事廳",
          name: "刘龟仙",
          name_tw: "劉龜仙",
          way: "jh 3;s;s;s;s;s;nw;n;n;n;n",
          desc: "清風寨軍事,詭計多端。",
        },
        {
          jh: "華山村",
          loc: "後院",
          name: "萧独眼",
          name_tw: "蕭獨眼",
          way: "jh 3;s;s;s;s;s;nw;n;n;n;n;n",
          desc: "清風寨二當家,一次劫鏢時被刺傷一目,自此成了獨眼龍。",
        },
        {
          jh: "華山村",
          loc: "臥房",
          name: "刘寨主",
          name_tw: "劉寨主",
          way: "jh 3;s;s;s;s;s;nw;n;n;n;n;n;n",
          desc: "清風寨寨主,對手下極為嚴厲。",
        },
        {
          jh: "華山村",
          loc: "廂房",
          name: "受伤的曲右使",
          name_tw: "受傷的曲右使",
          way: "jh 3;s;s;s;s;w;get_silver",
          desc: "他已經深受重傷,半躺在地上。",
        },
        {
          jh: "華山村",
          loc: "小廳",
          name: "曲姑娘",
          way: "jh 3;s;s;s;s;w;n",
          desc: "這是一名身穿翠綠衣裳的少女,皮膚白皙,臉蛋清秀可愛。",
        },
        {
          jh: "華山村",
          loc: "祠堂大門",
          name: "朱老伯",
          way: "jh 3;s;s;w",
          desc: "一位德高望重的老人,須發已經全白。",
        },
        {
          jh: "華山村",
          loc: "廳堂",
          name: "剑大师",
          name_tw: "劍大師",
          way: "jh 3;s;s;w;n",
          desc: "宗之瀟灑美少年舉觴白眼望青天皎如玉樹臨風前",
        },
        {
          jh: "華山村",
          loc: "廳堂",
          name: "方寡妇",
          name_tw: "方寡婦",
          way: "jh 3;s;s;w;n",
          desc: "頗有幾分姿色的女子,是個寡婦。",
        },
        {
          jh: "華山村",
          loc: "杏林",
          name: "小男孩",
          way: "jh 3;w",
          desc: "扎著雙髻的小男孩,正在杏林裡跟小夥伴們捉迷藏。",
        },
        {
          jh: "華山村",
          loc: "土地廟門口",
          name: "村中地痞",
          way: "jh 3;w;event_1_59520311",
          desc: "村內地痞,人見人惡。",
        },
        {
          jh: "華山村",
          loc: "廟堂",
          name: "抠脚大汉",
          name_tw: "摳腳大漢",
          way: "jh 3;w;event_1_59520311;n",
          desc: "坐在土地面前摳腳的漢子",
        },
        {
          jh: "華山村",
          loc: "地道入口",
          name: "黑狗",
          way: "jh 3;w;event_1_59520311;n;n",
          desc: "兇惡的黑狗,張開的大嘴露出鋒利的獠牙。",
        },
        {
          jh: "華山村",
          loc: "樓梯",
          name: "青衣守卫",
          name_tw: "青衣守衛",
          way: "jh 3;w;event_1_59520311;n;n;n",
          desc: "身穿青衣的守衛,武功招式看起來有些眼熟。",
        },
        {
          jh: "華山村",
          loc: "大廳",
          name: "葛不光",
          way: "jh 3;w;event_1_59520311;n;n;n;n;n",
          desc: "四十歲左右的中年男子,頗為好色。",
        },
        {
          jh: "華山村",
          loc: "囚室",
          name: "米义为",
          name_tw: "米義為",
          way: "jh 3;w;event_1_59520311;n;n;w;get_silver",
          desc: "",
        },
        {
          jh: "華山村",
          loc: "茶棚",
          name: "王老二",
          way: "jh 3;w;n",
          desc: "看起來跟普通村民沒什麼不同,但一雙眼睛卻透著狡黠。",
        },
        {
          jh: "華山",
          loc: "書房",
          name: "陶钧",
          name_tw: "陶鈞",
          way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n;e;n;n",
          desc: "陶鈞是嶽不群的第七位弟子",
        },
        {
          jh: "華山",
          loc: "老君溝",
          name: "赵辅徳",
          name_tw: "趙輔徳",
          way: "jh 4;n;n;n;n;n;n;e;n",
          desc: "負責打理群仙觀的老人",
        },
        {
          jh: "華山",
          loc: "狹長通道",
          name: "丛云弃",
          name_tw: "叢雲棄",
          way: "jh 4;n;n;n;n;n;n;n;event_1_91604710;s;s",
          desc: "華山派傳人,封劍羽的師弟。",
        },
        {
          jh: "華山",
          loc: "華山山腳",
          name: "孙驼子",
          name_tw: "孫駝子",
          way: "jh 4",
          desc: "一面容猥瑣可憎,讓人不忍直視,脊背高高隆起的駝子。",
        },
        {
          jh: "華山",
          loc: "莎蘿坪",
          name: "吕子弦",
          name_tw: "呂子弦",
          way: "jh 4;n",
          desc: "青衣長袍的書生,前來華山遊玩。",
        },
        {
          jh: "華山",
          loc: "雲門",
          name: "女弟子",
          way: "jh 4;n;n",
          desc: "她是華山派女弟子,不施脂粉,衣著素雅。",
        },
        {
          jh: "華山",
          loc: "青柯坪",
          name: "游客",
          name_tw: "遊客",
          way: "jh 4;n;n;n",
          desc: "這是一名來華山遊玩的中年男子,揹著包裹。",
        },
        {
          jh: "華山",
          loc: "回心石",
          name: "公平子",
          way: "jh 4;n;n;n;e",
          desc: "這是一位仙風道骨的中年道人,早年雲遊四方,性好任俠,公正無私。",
        },
        {
          jh: "華山",
          loc: "蜿蜒山路",
          name: "白二",
          way: "jh 4;n;n;n;n;n;n",
          desc: "山賊頭目,看起來很強壯。",
        },
        {
          jh: "華山",
          loc: "蜿蜒山路",
          name: "山贼",
          name_tw: "山賊",
          way: "jh 4;n;n;n;n;n;n",
          desc: "攔路搶劫的山賊",
        },
        {
          jh: "華山",
          loc: "群仙觀",
          name: "李铁嘴",
          name_tw: "李鐵嘴",
          way: "jh 4;n;n;n;n;n;n;e",
          desc: "李鐵嘴是個買卜算卦的江湖術士,兼代客寫書信、條幅。",
        },
        {
          jh: "華山",
          loc: "老君溝",
          name: "赵辅德",
          name_tw: "趙輔德",
          way: "jh 4;n;n;n;n;n;n;e;n",
          desc: "",
        },
        {
          jh: "華山",
          loc: "上天梯",
          name: "猿猴",
          way: "jh 4;n;n;n;n;n;n;n",
          desc: "華山上的猿猴,時常騷擾過路人",
        },
        {
          jh: "華山",
          loc: "崎嶇山路",
          name: "剑宗弟子",
          name_tw: "劍宗弟子",
          way: "jh 4;n;n;n;n;n;n;n;event_1_91604710",
          desc: "華山劍宗弟子",
        },
        {
          jh: "華山",
          loc: "狹長通道",
          name: "从云弃",
          name_tw: "從雲棄",
          way: "jh 4;n;n;n;n;n;n;n;event_1_91604710;s;s",
          desc: "",
        },
        {
          jh: "華山",
          loc: "潭畔草地",
          name: "尘无剑",
          name_tw: "塵無劍",
          way: "jh 4;n;n;n;n;n;n;n;event_1_91604710;s;s;s",
          desc: "他是華山控劍宗派的第一高手。",
        },
        {
          jh: "華山",
          loc: "懸崖石洞",
          name: "封剑羽",
          name_tw: "封劍羽",
          way: "jh 4;n;n;n;n;n;n;n;event_1_91604710;s;s;s;s;e",
          desc: "他是華山控劍宗派的第一高手。",
        },
        {
          jh: "華山",
          loc: "松林石徑",
          name: "大松鼠",
          way: "jh 4;n;n;n;n;n;n;n;n",
          desc: "一隻在松林裡覓食的小松鼠。",
        },
        {
          jh: "華山",
          loc: "朝陽峰山道",
          name: "英黑罗",
          name_tw: "英黑羅",
          way: "jh 4;n;n;n;n;n;n;n;n;n",
          desc: "英白羅是嶽不群的第八位弟子",
        },
        {
          jh: "華山",
          loc: "長空棧道",
          name: "魔教喽喽",
          name_tw: "魔教嘍嘍",
          way: "jh 4;n;n;n;n;n;n;n;n;n;e",
          desc: "日月神教小嘍嘍嘍",
        },
        {
          jh: "華山",
          loc: "臨淵石台",
          name: "史大哥",
          way: "jh 4;n;n;n;n;n;n;n;n;n;e;n",
          desc: "",
        },
        {
          jh: "華山",
          loc: "臨淵石台",
          name: "卢大哥",
          name_tw: "盧大哥",
          way: "jh 4;n;n;n;n;n;n;n;n;n;e;n",
          desc: "日月神教教眾",
        },
        {
          jh: "華山",
          loc: "草叢小路",
          name: "史老三",
          way: "jh 4;n;n;n;n;n;n;n;n;n;e;n;n",
          desc: "日月神教教眾",
        },
        {
          jh: "華山",
          loc: "竹林",
          name: "闵老二",
          name_tw: "閔老二",
          way: "jh 4;n;n;n;n;n;n;n;n;n;e;n;n;n",
          desc: "日月神教教眾",
        },
        {
          jh: "華山",
          loc: "密洞",
          name: "藏剑楼刺客",
          name_tw: "藏劍樓刺客",
          way: "jh 4;n;n;n;n;n;n;n;n;n;e;n;n;n;e;s;event_1_11292200",
          desc: "一名手持利刃身穿夜行衣的男子,眼神極為狠厲無情。",
        },
        {
          jh: "華山",
          loc: "空地",
          name: "戚老四",
          way: "jh 4;n;n;n;n;n;n;n;n;n;e;n;n;n;n",
          desc: "日月神教教眾",
        },
        {
          jh: "華山",
          loc: "小木屋",
          name: "葛长老",
          name_tw: "葛長老",
          way: "jh 4;n;n;n;n;n;n;n;n;n;e;n;n;n;n;e",
          desc: "日月神教教眾",
        },
        {
          jh: "華山",
          loc: "華山之巔",
          name: "小林子",
          way: "jh 4;n;n;n;n;n;n;n;n;n;e;n;n;n;n;n",
          desc: "氣宗傳人小林子,實力已是非同凡響。",
        },
        {
          jh: "華山",
          loc: "前院",
          name: "高算盘",
          name_tw: "高算盤",
          name_new: "陳飛魚",
          way: "jh 4;n;n;n;n;n;n;n;n;n;n",
          desc: "此人整天拿著算盤,身材高大,長得很胖,但別看他其貌不揚,他在同門中排行第五,是華山派年輕一代中的好手。",
        },
        {
          jh: "華山",
          loc: "正氣堂",
          name: "岳掌门",
          name_tw: "嶽掌門",
          name_new: "許秋雨",
          way: "jh 4;n;n;n;n;n;n;n;n;n;n;n",
          desc: "華山掌門,他今年四十多歲,素以溫文爾雅著稱。",
        },
        {
          jh: "華山",
          loc: "後院",
          name: "舒奇",
          way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n",
          desc: "華山派小弟子",
        },
        {
          jh: "華山",
          loc: "花園",
          name: "梁师兄",
          name_tw: "梁師兄",
          name_new: "梁迎陽",
          way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n;e",
          desc: "他就是華山排行第三的弟子。",
        },
        {
          jh: "華山",
          loc: "長廊",
          name: "林师弟",
          name_tw: "林師弟",
          way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n;e;s",
          desc: "林師弟是華山眾最小的一個弟子。",
        },
        {
          jh: "華山",
          loc: "臥房",
          name: "小尼姑",
          way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n;e;s;s",
          desc: "一個嬌俏迷人的小尼姑。",
        },
        {
          jh: "華山",
          loc: "凜然軒",
          name: "劳师兄",
          name_tw: "勞師兄",
          way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n;n",
          desc: "",
        },
        {
          jh: "華山",
          loc: "寢室",
          name: "宁女侠",
          name_tw: "寧女俠",
          way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n;n;get_silver",
          desc: "華山派掌門的夫人,眉宇間還少不了年輕時的英氣。",
        },
        {
          jh: "華山",
          loc: "廚房",
          name: "小猴",
          way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n;w",
          desc: "這是一隻調皮的小猴子,雖是畜牲,卻喜歡模仿人樣。",
        },
        {
          jh: "華山",
          loc: "練武場",
          name: "施剑客",
          name_tw: "施劍客",
          way: "jh 4;n;n;n;n;n;n;n;n;n;n;w",
          desc: "同門中排行第四,是華山派年輕一代中的好手。",
        },
        {
          jh: "華山",
          loc: "庫房入口",
          name: "华山弟子",
          name_tw: "華山弟子",
          way: "jh 4;n;n;n;n;n;n;n;n;n;n;w;event_1_30014247",
          desc: "華山派門下的第子",
        },
        {
          jh: "華山",
          loc: "地道入口",
          name: "蒙面剑客",
          name_tw: "蒙面劍客",
          way: "jh 4;n;n;n;n;n;n;n;n;n;n;w;event_1_30014247;s;s;s;s",
          desc: "手握長劍的蒙面人",
        },
        {
          jh: "華山",
          loc: "密室",
          name: "黑衣人",
          way: "jh 4;n;n;n;n;n;n;n;n;n;n;w;event_1_30014247;s;s;s;s;s;e",
          desc: "戴著神秘的黑衣人,壓低的帽簷遮住的他的面容。",
        },
        {
          jh: "華山",
          loc: "玉女祠",
          name: "岳师妹",
          name_tw: "嶽師妹",
          way: "jh 4;n;n;n;n;n;n;n;n;w;s",
          desc: "華山派掌門的愛女。她看起來十多歲,容貌秀麗,雖不是絕代美人,也別有一番可人之處。",
        },
        {
          jh: "華山",
          loc: "思過崖",
          name: "六猴儿",
          name_tw: "六猴兒",
          way: "jh 4;n;n;n;n;n;n;n;n;w;w",
          desc: "六猴兒身材很瘦,又長的尖嘴猴腮的,但別看他其貌不揚,他在同門中排行第六,是華山派年輕一代中的好手。",
        },
        {
          jh: "華山",
          loc: "山洞",
          name: "令狐大师哥",
          name_tw: "令狐大師哥",
          way: "jh 4;n;n;n;n;n;n;n;n;w;w;n",
          desc: "他是華山派的大師兄,英氣逼人。",
        },
        {
          jh: "華山",
          loc: "石壁",
          name: "风老前辈",
          name_tw: "風老前輩",
          name_new: "獨孤傳人",
          way: "jh 4;n;n;n;n;n;n;n;n;w;w;n;get_xiangnang2",
          desc: "這便是當年名震江湖的華山名宿。他身著青袍,神氣抑鬱臉如金紙。身材瘦長,眉宇間一直籠罩著一股淡淡的憂傷神色。",
        },
        {
          jh: "華山",
          loc: "觀瀑台",
          name: "豪客",
          way: "jh 4;n;n;w",
          desc: "一名滿臉彪悍之色的江湖豪客",
        },
        {
          jh: "揚州",
          loc: "飛雪堂",
          name: "书生",
          name_tw: "書生",
          way: "jh 5;n;n;n;n;n;e;n;e;n;w;n;n",
          desc: "一個搖頭晃腦正在吟詩的書生。",
        },
        {
          jh: "揚州",
          loc: "揚州港",
          name: "船运东主",
          name_tw: "船運東主",
          way: "jh 5;n;n;n;n;n;n;n;n;n;n;ne",
          desc: "此人一身黝黑的皮膚,幾道深深的歲月的溝壑在他臉上烙下了印記。深邃凹進的眼眶中顯露出幹練的眼神。顯露出不凡的船上閱歷。",
        },
        {
          jh: "揚州",
          loc: "醉仙樓大廳",
          name: "少林恶僧",
          name_tw: "少林惡僧",
          way: "jh 5;n;n;n;n;n;n;e",
          desc: "因嗜酒如命,故從少林叛出,順便盜取些許經書以便拿來換酒。",
        },
        {
          jh: "揚州",
          loc: "太平橋",
          name: "白胡子老头",
          name_tw: "白鬍子老頭",
          way: "jh 5;n;w",
          desc: "一位精神矍鑠的老人,額下有寸許長的白須。在揚州支了個糖畫小攤維持生計,身邊的銅鍋裡面熬著糖液,咕嘟咕嘟冒著大泡,香氣四溢。",
        },
        {
          jh: "揚州",
          loc: "太平橋",
          name: "姜子牙",
          way: "jh 5;n;w",
          desc: "身材高大,面容清秀,額頭寬闊,目光犀利。他常穿著一身簡樸的道袍,手持一把看似普通但實則包含玄機的長劍。頭發自然散落在肩上,整體氣質給人一種淡然、高遠但又不失威嚴的感覺。",
        },
        {
          jh: "揚州",
          loc: "小東門橋",
          name: "斗笠老人",
          way: "jh 5;n;e",
          desc: "頭戴斗笠,身形佝僂的老者,但似乎武功高強。",
        },
        {
          jh: "揚州",
          loc: "安定門",
          name: "官兵",
          way: "jh 5",
          desc: "守城的官兵,相貌可長得不好瞧。",
        },
        {
          jh: "揚州",
          loc: "十裡長街3",
          name: "大黑马",
          name_tw: "大黑馬",
          way: "jh 5;n;n",
          desc: "一匹受驚的大黑馬,一路狂奔到了鬧市街頭。",
        },
        {
          jh: "揚州",
          loc: "小寶齋",
          name: "双儿",
          name_tw: "雙兒",
          way: "jh 5;n;n;e",
          desc: "柔善良,善解人意,乖巧聰慧,體貼賢惠,清秀可人,靦腆羞澀,似乎男人喜歡的品質都集中在她身上了。",
        },
        {
          jh: "揚州",
          loc: "十裡長街2",
          name: "黑狗子",
          way: "jh 5;n;n;n",
          desc: "揚州街頭人見人惡的地痞,嘴角一顆黑色痦子,看起來極為可憎。",
        },
        {
          jh: "揚州",
          loc: "武館大門",
          name: "武馆护卫",
          name_tw: "武館護衛",
          way: "jh 5;n;n;n;e",
          desc: "一名武館護衛,專門對付那些想混進來鬧事的人。",
        },
        {
          jh: "揚州",
          loc: "武館大院",
          name: "武馆弟子",
          name_tw: "武館弟子",
          way: "jh 5;n;n;n;e;n",
          desc: "在武館拜師學藝的弟子,看來還是會些基本功。",
        },
        {
          jh: "揚州",
          loc: "武館大廳",
          name: "方不为",
          name_tw: "方不為",
          way: "jh 5;n;n;n;e;n;n",
          desc: "武館管家,館中大小事務都需要向他稟報。",
        },
        {
          jh: "揚州",
          loc: "長廊",
          name: "范先生",
          name_tw: "範先生",
          way: "jh 5;n;n;n;e;n;n;n",
          desc: "武館賬房先生,為人極為謹慎,賬房鑰匙通常帶在身上。",
        },
        {
          jh: "揚州",
          loc: "書房",
          name: "古三通",
          way: "jh 5;n;n;n;e;n;n;n;e",
          desc: "一名看起來和藹的老人,手裡拿著一個旱菸袋,據說跟館主頗有淵源。",
        },
        {
          jh: "揚州",
          loc: "臥室",
          name: "陈有德",
          name_tw: "陳有德",
          way: "jh 5;n;n;n;e;n;n;n;n",
          desc: "這就是武館館主,紫金臉龐,面帶威嚴,威武有力,站在那裡就象是一座鐵塔。",
        },
        {
          jh: "揚州",
          loc: "休息室",
          name: "神秘客",
          way: "jh 5;n;n;n;e;n;n;w;n;get_silver",
          desc: "一名四十歲左右的中年男子,臉上一道刀疤給他平添了些許滄桑。",
        },
        {
          jh: "揚州",
          loc: "練武場",
          name: "王教头",
          name_tw: "王教頭",
          way: "jh 5;n;n;n;e;n;w",
          desc: "一名武館內的教頭,專門負責教新手武功。",
        },
        {
          jh: "揚州",
          loc: "十裡長街1",
          name: "游客",
          name_tw: "遊客",
          way: "jh 5;n;n;n;n",
          desc: "來揚州遊玩的遊客,背上的包裹看起來有些重。",
        },
        {
          jh: "揚州",
          loc: "中央廣場",
          name: "空空儿",
          name_tw: "空空兒",
          way: "jh 5;n;n;n;n;n",
          desc: "一個滿臉風霜之色的老乞丐。",
        },
        {
          jh: "揚州",
          loc: "中央廣場",
          name: "艺人",
          name_tw: "藝人",
          way: "jh 5;n;n;n;n;n",
          desc: "一名四海為家的賣藝人,滿臉滄桑。",
        },
        {
          jh: "揚州",
          loc: "至止堂",
          name: "朱先生",
          way: "jh 5;n;n;n;n;n;e;n;n;n",
          desc: "這就是當今大儒朱先生。",
        },
        {
          jh: "揚州",
          loc: "庭院",
          name: "管家",
          way: "jh 5;n;n;n;n;n;e;n;n",
          desc: "一名瘦小的中年男子走了出來,頦下留著短須,外貌甚是精明,顯然就是管家了。",
        },
        {
          jh: "揚州",
          loc: "十裡長街4",
          name: "马夫人",
          name_tw: "馬夫人",
          way: "jh 5;n;n;n;n;n;n",
          desc: "一名體格魁梧的婦人,看起來極為彪悍。",
        },
        {
          jh: "揚州",
          loc: "十裡長街4",
          name: "润玉",
          name_tw: "潤玉",
          way: "jh 5;n;n;n;n;n;n",
          desc: "買花少女,手中的花籃裡裝著時令鮮花。",
        },
        {
          jh: "揚州",
          loc: "十裡長街4",
          name: "流氓",
          way: "jh 5;n;n;n;n;n;n",
          desc: "揚州城裡的流氓,經常四處遊蕩,調戲婦女。",
        },
        {
          jh: "揚州",
          loc: "醉仙樓大廳",
          name: "醉仙楼伙计",
          name_tw: "醉仙樓夥計",
          way: "jh 5;n;n;n;n;n;n;e",
          desc: "這是醉仙樓夥計,看起來有些功夫。",
        },
        {
          jh: "揚州",
          loc: "樓梯",
          name: "丰不为",
          name_tw: "豐不為",
          way: "jh 5;n;n;n;n;n;n;e;n",
          desc: "一個常在酒樓混吃混喝的地痞,不知酒店老闆為何不將他逐出。",
        },
        {
          jh: "揚州",
          loc: "二樓大廳",
          name: "张总管",
          name_tw: "張總管",
          way: "jh 5;n;n;n;n;n;n;e;n;n",
          desc: "一名中年男子,目露兇光。",
        },
        {
          jh: "揚州",
          loc: "芍藥宴廳",
          name: "胡神医",
          name_tw: "胡神醫",
          way: "jh 5;n;n;n;n;n;n;e;n;n;e",
          desc: "這就是江湖中有名的胡神醫,看起來很普通。",
        },
        {
          jh: "揚州",
          loc: "牡丹宴廳",
          name: "胖商人",
          way: "jh 5;n;n;n;n;n;n;e;n;n;n",
          desc: "一名衣著華麗,體態臃腫,手腳看起來極短的中年男子。",
        },
        {
          jh: "揚州",
          loc: "觀景台",
          name: "冼老板",
          name_tw: "冼老闆",
          way: "jh 5;n;n;n;n;n;n;e;n;n;n;n",
          desc: "醉仙樓老闆,能將這家祖傳老店買下來,其來歷應該沒那麼簡單。",
        },
        {
          jh: "揚州",
          loc: "芙蓉宴廳",
          name: "计无施",
          name_tw: "計無施",
          way: "jh 5;n;n;n;n;n;n;e;n;n;w",
          desc: "一名劍眉星目的白衣劍客。",
        },
        {
          jh: "揚州",
          loc: "十裡長街5",
          name: "马员外",
          name_tw: "馬員外",
          way: "jh 5;n;n;n;n;n;n;n",
          desc: "馬員外是揚州有名的善人,看起來有點鬱鬱不樂。",
        },
        {
          jh: "揚州",
          loc: "富春茶社",
          name: "茶社伙计",
          name_tw: "茶社夥計",
          way: "jh 5;n;n;n;n;n;n;n;e",
          desc: "提著茶壺的夥計,目露精光,看起來不簡單。",
        },
        {
          jh: "揚州",
          loc: "富春茶社",
          name: "云九天",
          name_tw: "雲九天",
          way: "jh 5;n;n;n;n;n;n;n;e",
          desc: "他是大旗門的掌刑長老,最是嚴厲不過。",
        },
        {
          jh: "揚州",
          loc: "雅舍",
          name: "柳文君",
          way: "jh 5;n;n;n;n;n;n;n;e;get_silver",
          desc: "茶社老闆娘,揚州聞名的才女,姿色嬌美,精通音律,善彈琴。許多文人墨客慕名前來,茶社總是客滿為患。",
        },
        {
          jh: "揚州",
          loc: "十裡長街6",
          name: "毒蛇",
          way: "jh 5;n;n;n;n;n;n;n;n",
          desc: "一條毒蛇草叢竄出,正昂首吐信虎視眈眈地盯著你。",
        },
        {
          jh: "揚州",
          loc: "東關街",
          name: "小混混",
          way: "jh 5;n;n;n;n;n;n;n;n;n;e",
          desc: "揚州城裡的小混混,整天無所事事,四處遊蕩。",
        },
        {
          jh: "揚州",
          loc: "鎮淮門 ",
          name: "北城门士兵",
          name_tw: "北城門士兵",
          way: "jh 5;n;n;n;n;n;n;n;n;n;n",
          desc: "看守城門的士兵",
        },
        {
          jh: "揚州",
          loc: "禪智寺山門",
          name: "扫地僧",
          name_tw: "掃地僧",
          way: "jh 5;n;n;n;n;n;n;n;n;n;w;w;n",
          desc: "一名看起來很普通的僧人",
        },
        {
          jh: "揚州",
          loc: "昆丘台",
          name: "张三",
          name_tw: "張三",
          way: "jh 5;n;n;n;n;n;n;n;n;n;w;w;n;e",
          desc: "看起來很邋遢的道士,似乎有些功夫。",
        },
        {
          jh: "揚州",
          loc: "呂祖照面池",
          name: "火工僧",
          way: "jh 5;n;n;n;n;n;n;n;n;n;w;w;n;n;n;e",
          desc: "禪智寺中專做雜事的火工僧,身體十分地強壯",
        },
        {
          jh: "揚州",
          loc: "竹西亭",
          name: "柳碧荷",
          way: "jh 5;n;n;n;n;n;n;n;n;n;w;w;n;w",
          desc: "來禪智寺上香的女子,頗有幾分姿色。",
        },
        {
          jh: "揚州",
          loc: "虹橋",
          name: "恶丐",
          name_tw: "惡丐",
          way: "jh 5;n;n;n;n;n;n;n;n;w",
          desc: "看守城門的士兵",
        },
        {
          jh: "揚州",
          loc: "草河北街",
          name: "顽童",
          name_tw: "頑童",
          way: "jh 5;n;n;n;n;n;n;n;n;w;w",
          desc: "一個頑皮的小童。",
        },
        {
          jh: "揚州",
          loc: "魁星閣",
          name: "书生",
          name_tw: "書生",
          way: "jh 5;n;n;n;n;n;n;n;n;w;w;n",
          desc: "一個搖頭晃腦正在吟詩的書生。",
        },
        {
          jh: "揚州",
          loc: "閣樓",
          name: "李丽君",
          name_tw: "李麗君",
          way: "jh 5;n;n;n;n;n;n;n;n;w;w;n;get_silver",
          desc: "女扮男裝的女子,容顏清麗,孤身一身住在魁星閣的閣樓上。",
        },
        {
          jh: "揚州",
          loc: "淺月樓",
          name: "青衣门卫",
          name_tw: "青衣門衛",
          way: "jh 5;n;n;n;n;n;n;n;n;w;w;w",
          desc: "淺月樓門口的侍衛。",
        },
        {
          jh: "揚州",
          loc: "淺月樓大廳",
          name: "玉娇红",
          name_tw: "玉嬌紅",
          way: "jh 5;n;n;n;n;n;n;n;n;w;w;w;s",
          desc: "淺月樓的老闆娘,看似年不過三十,也是一個頗有姿色的女子。她抬起眼來,黛眉輕掃,紅唇輕啟,嘴角勾起的那抹弧度彷彿還帶著絲絲嘲諷。當她眼波一轉,流露出的風情似可讓人忘記一切。紅色的外袍包裹著潔白細膩的肌膚,她每走一步,都要露出細白水嫩的小腿。腳上的銀鈴也隨著步伐輕輕發出零零碎碎的聲音。",
        },
        {
          jh: "揚州",
          loc: "二樓走道",
          name: "青楼小厮",
          name_tw: "青樓小廝",
          way: "jh 5;n;n;n;n;n;n;n;n;w;w;w;s;e",
          desc: "這是一個青樓的小侍從,不過十五六歲。",
        },
        {
          jh: "揚州",
          loc: "弦羽閣",
          name: "苏小婉",
          name_tw: "蘇小婉",
          way: "jh 5;n;n;n;n;n;n;n;n;w;w;w;s;e;e;s;s;e;e;s;s;s",
          desc: "名滿天下的第一琴姬,蘇小婉是那種文人夢中的紅顏知己。這樣美貌才智具備的女子,怕是世間幾百年才能出現一位。曾有人替她惋惜,說如若她是一大家閨秀,或許也能尋得一志趣相投之人,也會有“賭書消得潑茶香”的美談。即使她只是一貧家女子,不讀書亦不學藝,縱使是貌勝西子,或許仍可安穩一生。然而命運時常戲弄人,偏偏讓那如花美眷落入淤泥,誤了那似水流年。本想為一人盛開,卻被眾人窺去了芳顏。可她只是微微一笑,說道:『尋一平凡男子,日出而作日落而息,相夫教子,如湮沒於歷史煙塵中的所有女子一般。那樣的生活,不是我做不到,只是不願意。沒有燃燒過的,只是一堆黑色的粉末,哪裡能叫做煙火?』",
        },
        {
          jh: "揚州",
          loc: "淺月樓偏廳",
          name: "赵明诚",
          name_tw: "趙明誠",
          way: "jh 5;n;n;n;n;n;n;n;n;w;w;w;s;w",
          desc: ":當朝僕射,也是一代名士,致力於金石之學,幼而好之,終生不渝。",
        },
        {
          jh: "揚州",
          loc: "廣陵當鋪",
          name: "唐老板",
          name_tw: "唐老闆",
          way: "jh 5;n;n;n;n;n;n;n;w",
          desc: "廣陵當鋪老闆,肩寬體壯,看起來頗為威嚴。",
        },
        {
          jh: "揚州",
          loc: "武廟",
          name: "刘步飞",
          name_tw: "劉步飛",
          way: "jh 5;n;n;n;n;n;n;w",
          desc: "龍門鏢局的鏢師,正在武廟裡祭拜。",
        },
        {
          jh: "揚州",
          loc: "通泗橋",
          name: "赤练仙子",
          name_tw: "赤練仙子",
          way: "jh 5;n;n;n;n;n;w",
          desc: "她生得極為美貌,但冰冷的目光讓人不寒而慄。",
        },
        {
          jh: "揚州",
          loc: "衙門大門",
          name: "衙役",
          way: "jh 5;n;n;n;n;n;w;w;n",
          desc: "揚州官衙衙役,看起來一臉疲態。",
        },
        {
          jh: "揚州",
          loc: "正堂",
          name: "程大人",
          way: "jh 5;n;n;n;n;n;w;w;n;n;n",
          desc: "揚州知府,臉色陰沉,微有怒色,",
        },
        {
          jh: "揚州",
          loc: "內室",
          name: "楚雄霸",
          way: "jh 5;n;n;n;n;n;w;w;n;n;n;get_silver",
          desc: "江湖有名的江洋大盜,五短身材,貌不驚人。",
        },
        {
          jh: "揚州",
          loc: "天井",
          name: "公孙岚",
          name_tw: "公孫嵐",
          way: "jh 5;n;n;n;n;n;w;w;n;n;w",
          desc: "揚州官衙有名的神捕,據說曾經抓獲不少江湖大盜。",
        },
        {
          jh: "揚州",
          loc: "玉器店",
          name: "白老板",
          name_tw: "白老闆",
          way: "jh 5;n;n;n;n;n;w;w;s;s",
          desc: "玉器店老闆,對珍寶古玩頗為熟稔。",
        },
        {
          jh: "揚州",
          loc: "彥明錢莊",
          name: "小飞贼",
          name_tw: "小飛賊",
          way: "jh 5;n;n;n;n;w",
          desc: "一個年級尚幼的飛賊。",
        },
        {
          jh: "揚州",
          loc: "彥明錢莊",
          name: "账房先生",
          name_tw: "賬房先生",
          way: "jh 5;n;n;n;n;w",
          desc: "滿臉精明的中年男子,手裡的算盤撥的飛快。",
        },
        {
          jh: "揚州",
          loc: "銀庫",
          name: "飞贼",
          name_tw: "飛賊",
          way: "jh 5;n;n;n;n;w;yangzhou16_op1",
          desc: "一身黑色勁裝,黑巾蒙面,眼露兇光。",
        },
        {
          jh: "揚州",
          loc: "黃記雜貨",
          name: "黄掌柜",
          name_tw: "黃掌櫃",
          way: "jh 5;n;n;n;w",
          desc: "雜貨鋪老闆,看似慵懶,實則精明過人。",
        },
        {
          jh: "揚州",
          loc: "鐵匠鋪",
          name: "铁匠",
          name_tw: "鐵匠",
          way: "jh 5;n;n;w",
          desc: "看起來很強壯的中年男子",
        },
        {
          jh: "揚州",
          loc: "花店",
          name: "花店伙计",
          name_tw: "花店夥計",
          way: "jh 5;n;w;w;n",
          desc: "花店的夥計,正忙碌地給花淋水。",
        },
        {
          jh: "丐幫",
          loc: "樹洞內部",
          name: "裘万家",
          name_tw: "裘萬家",
          way: "jh 6",
          desc: "這是位衣著邋塌,蓬頭垢面的丐幫二袋弟子。",
        },
        {
          jh: "丐幫",
          loc: "樹洞內部",
          name: "左全",
          way: "jh 6",
          desc: "這是位豪爽大方的丐幫七袋弟子,看來是個北地豪傑。",
        },
        {
          jh: "丐幫",
          loc: "樹洞下",
          name: "梁长老",
          name_tw: "梁長老",
          way: "jh 6;event_1_98623439",
          desc: "梁長老是丐幫出道最久,武功最高的長老,在武林中享名已久。丐幫武功向來較強,近來梁長老一力整頓,更是蒸蒸日上。",
        },
        {
          jh: "丐幫",
          loc: "暗道",
          name: "藏剑楼统领",
          name_tw: "藏劍樓統領",
          way: "jh 6;event_1_98623439;ne;n",
          desc: "此人似乎是這群人的頭目,正在叮囑手下辦事。",
        },
        {
          jh: "丐幫",
          loc: "屋角邊",
          name: "何不净",
          name_tw: "何不淨",
          way: "jh 6;event_1_98623439;ne;n;ne;ne",
          desc: "這是位衣著邋塌,蓬頭垢面的丐幫七袋弟子。",
        },
        {
          jh: "丐幫",
          loc: "谷場槐樹邊",
          name: "马俱为",
          name_tw: "馬俱為",
          way: "jh 6;event_1_98623439;ne;n;ne;ne;ne",
          desc: "這是位武藝精強,卻沉默寡言的丐幫八袋弟子。",
        },
        {
          jh: "丐幫",
          loc: "沙丘小洞",
          name: "余洪兴",
          name_tw: "餘洪興",
          way: "jh 6;event_1_98623439;ne;n;ne;ne;ne;event_1_97428251",
          desc: "這是位笑眯眯的丐幫八袋弟子,生性多智,外號小吳用。",
        },
        {
          jh: "丐幫",
          loc: "暗道",
          name: "莫不收",
          way: "jh 6;event_1_98623439;ne;ne",
          desc: "這是位衣著邋塌,蓬頭垢面的丐幫三袋弟子。",
        },
        {
          jh: "丐幫",
          loc: "秘密通道",
          name: "藏剑楼探子",
          name_tw: "藏劍樓探子",
          way: "jh 6;event_1_98623439;ne;ne;ne;event_1_16841370",
          desc: "看上去身手極為敏捷,似乎在此處調查著什麼。",
        },
        {
          jh: "丐幫",
          loc: "儲藏室",
          name: "何一河",
          name_new: "何宏生",
          way: "jh 6;event_1_98623439;s",
          desc: "他是丐幫新近加入的弟子,可也一步步升到了五袋。他長的極其醜陋,臉上坑坑窪窪。",
        },
        {
          jh: "丐幫",
          loc: "密室",
          name: "密室",
          way: "jh 6;event_1_98623439;s;w",
          desc: "",
        },
        {
          jh: "喬陰縣",
          loc: "樹王墳",
          name: "朦胧鬼影",
          name_tw: "朦朧鬼影",
          way: "jh 3;s;s;s;;kill?黑狗;@黑狗的屍體;jh 7;event_1_57435070;s;s;s;s;event_1_65599392",
          desc: "一個高大的身影,看起來像是個人,不過。。。。",
        },
        {
          jh: "喬陰縣",
          loc: "樹王墳",
          name: "县城官兵",
          name_tw: "縣城官兵",
          way: "",
          desc: "這是個正在執行公務的縣城官兵,雖然和許多武林人物比起來,官兵們的武功實在稀鬆平常,但是他們是有組織、有紀律的戰士,誰也不輕易地招惹他們。",
        },
        {
          jh: "喬陰縣",
          loc: "街道",
          name: "琵琶鬼",
          way: "jh 3;s;s;s;;kill?黑狗;@黑狗的屍體;jh 7;event_1_57435070;s;s;s;s;s;s;s;sw",
          desc: "一個風塵僕僕的俠客。。",
        },
        {
          jh: "喬陰縣",
          loc: "喬陰縣城北門",
          name: "孤魂野鬼",
          way: "jh 3;s;s;s;;kill?黑狗;@黑狗的屍體;jh 7;event_1_57435070",
          desc: "一個飄忽不定的朦朧身影。",
        },
        {
          jh: "喬陰縣",
          loc: "石闆空地",
          name: "藏剑楼学者",
          name_tw: "藏劍樓學者",
          way: "jh 7;s;s;s;w",
          desc: "此人文質彬彬,手持一本書冊,正不斷的翻閱似乎想在裡面找到想要的答案。",
        },
        {
          jh: "喬陰縣",
          loc: "休息室",
          name: "藏剑楼长老",
          name_tw: "藏劍樓長老",
          way: "jh 7;s;s;s;s;s;s;e;n;n;e",
          desc: "一名談吐不凡的中年男子,備受手下尊崇。",
        },
        {
          jh: "喬陰縣",
          loc: "喬陰縣城北門",
          name: "守城官兵",
          way: "jh 7",
          desc: "這是個正在這裡站崗的守城官兵,雖然和許多武林人物比起來,官兵們的武功實在稀鬆平常,但是他們是有組織、有紀律的戰士,誰也不輕易地招惹他們。",
        },
        {
          jh: "喬陰縣",
          loc: "福林大街",
          name: "陆得财",
          name_tw: "陸得財",
          way: "jh 7;s",
          desc: "陸得財是一個渾身髒兮兮的老丐,一副無精打采要死不活的樣子,可是武林中人人都識得他身上打著二十三個結的皮酒囊,這不但是「花紫會」龍頭的信物,更是名鎮漠南的「黑水伏蛟」獨門兵器,只不過陸得財行蹤詭密,據說各處隨時都有七、八的他的替身在四處活動,所以你也很難確定眼前這個陸得財到底是不是真的。",
        },
        {
          jh: "喬陰縣",
          loc: "福林大街",
          name: "卖饼大叔",
          name_tw: "賣餅大叔",
          way: "jh 7;s",
          desc: "一個相貌樸實的賣餅大叔,憨厚的臉上掛著和藹的笑容。",
        },
        {
          jh: "喬陰縣",
          loc: "福林大街",
          name: "卖包子的",
          name_tw: "賣包子的",
          way: "jh 7;s;s;s",
          desc: "這個賣包子的小販對你微微一笑,說道:熱騰騰的包子,來一籠吧",
        },
        {
          jh: "喬陰縣",
          loc: "樹王墳內部",
          name: "怪人",
          way: "jh 7;s;s;s;s;event_1_65599392;w",
          desc: "體型與小孩一般,臉上卻滿是皺紋,頭發已經掉光。",
        },
        {
          jh: "喬陰縣",
          loc: "福林酒樓",
          name: "汤掌柜",
          name_tw: "湯掌櫃",
          way: "jh 7;s;s;s;s;s;s;e",
          desc: "湯掌櫃是這家大酒樓的主人,別看他只是一個小小的酒樓老闆,喬陰縣境內除了知縣老爺以外,恐怕就屬他最財大勢大。",
        },
        {
          jh: "喬陰縣",
          loc: "福林酒樓",
          name: "武官",
          way: "jh 7;s;s;s;s;s;s;e",
          desc: "一位相貌威武的武官,獨自一個人站在這裡發呆,似乎正有什麼事困擾著他。",
        },
        {
          jh: "喬陰縣",
          loc: "福林酒樓",
          name: "家丁",
          way: "jh 7;s;s;s;s;s;s;e;n",
          desc: "一個穿著家人服色的男子,必恭必敬地垂手站在一旁。",
        },
        {
          jh: "喬陰縣",
          loc: "福林酒樓",
          name: "贵公子",
          name_tw: "貴公子",
          way: "jh 7;s;s;s;s;s;s;e;n",
          desc: "一個相貌俊美的年輕貴公子正優雅地欣賞著窗外的景物。",
        },
        {
          jh: "喬陰縣",
          loc: "福林酒樓",
          name: "酒楼守卫",
          name_tw: "酒樓守衛",
          way: "jh 7;s;s;s;s;s;s;e;n;n",
          desc: "一個身穿藍布衣的人,從他銳利的眼神跟神情,顯然是個練家子。",
        },
        {
          jh: "喬陰縣",
          loc: "曲橋",
          name: "书生",
          name_tw: "書生",
          way: "jh 7;s;s;s;s;s;s;s;s;e",
          desc: "一個看起來相當斯文的書生,正拿著一本書搖頭晃腦地讀著。",
        },
        {
          jh: "喬陰縣",
          loc: "曲橋",
          name: "官家小姐",
          way: "jh 7;s;s;s;s;s;s;s;s;e;n;e",
          desc: "一個看起來像是有錢人家的女子,正在這裡遊湖。",
        },
        {
          jh: "喬陰縣",
          loc: "曲橋",
          name: "丫鬟",
          way: "jh 7;s;s;s;s;s;s;s;s;e;n;e",
          desc: "一個服侍有錢人家小姐的丫鬟,正無聊地玩弄著衣角。",
        },
        {
          jh: "喬陰縣",
          loc: "曼雲台",
          name: "骆云舟",
          name_tw: "駱雲舟",
          way: "jh 7;s;s;s;s;s;s;s;s;e;n;e;s;e",
          desc: "駱雲舟本是世家公子,因喜愛詩酒劍法,不為家族中人所偏愛。因此他年少離家,常年在外漂泊,時至今日,倒是武有所成,在文學的造詣上,也是深不可測了。",
        },
        {
          jh: "喬陰縣",
          loc: "火龍將軍廟",
          name: "乾瘪老太婆",
          name_tw: "乾癟老太婆",
          way: "jh 7;s;s;s;s;s;s;s;sw;w",
          desc: "這個老太婆懷中抱了個竹簍,似乎在賣什麼東西,也許你可以跟她問問價錢?",
        },
        {
          jh: "喬陰縣",
          loc: "火龍將軍廟",
          name: "妇人",
          name_tw: "婦人",
          way: "jh 7;s;s;s;s;s;s;s;sw;w;n",
          desc: "一個衣飾華麗的婦人正跪在這裡虔誠地膜拜著。",
        },
        {
          jh: "峨眉山",
          loc: "釣魚山腳",
          name: "先锋敌将",
          name_tw: "先鋒敵將",
          way: "jh 8;ne;e;e;e",
          desc: "攻城先鋒大將,長期毫無進展的戰事讓他難掩煩躁。",
        },
        {
          jh: "峨眉山",
          loc: "軍械庫",
          name: "乞利",
          way: "jh 8;ne;e;e;e;n;n;n;n;n;e;e;n",
          desc: "攻城大將,曾是江湖上一等一的好手。",
        },
        {
          jh: "峨眉山",
          loc: "打坐室",
          name: "文碧师太",
          name_tw: "文碧師太",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;e;e;n;w",
          desc: "她是峨眉派的“文”輩弟子。",
        },
        {
          jh: "峨眉山",
          loc: "打坐室",
          name: "静火师太",
          name_tw: "靜火師太",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;w;w;n;e",
          desc: "她是峨眉派的“靜”輩弟子。",
        },
        {
          jh: "峨眉山",
          loc: "打坐室",
          name: "静鸿师太",
          name_tw: "靜鴻師太",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;w;w;n;n;e",
          desc: "她是峨眉派的“靜”輩弟子。",
        },
        {
          jh: "峨眉山",
          loc: "打坐室",
          name: "静能师太",
          name_tw: "靜能師太",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;w;w;s;w",
          desc: "她是峨眉派的“靜”輩弟子。",
        },
        {
          jh: "峨眉山",
          loc: "打坐室",
          name: "文虹师太",
          name_tw: "文虹師太",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;e;e;s;s;w",
          desc: "她是峨眉派的“文”輩弟子。",
        },
        {
          jh: "峨眉山",
          loc: "峨眉山門",
          name: "赵灵剑",
          name_tw: "趙靈劍",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;e;e;n;e",
          desc: "她是峨嵋派的第四代俗家弟子。",
        },
        {
          jh: "峨眉山",
          loc: "打坐室",
          name: "文好师太",
          name_tw: "文好師太",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;e;e;n;n;w",
          desc: "她是峨眉派的“文”輩弟子。",
        },
        {
          jh: "峨眉山",
          loc: "俗家弟子房",
          name: "李明霞",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;e;e;s;e",
          desc: "她是峨嵋派的第四代俗家弟子。",
        },
        {
          jh: "峨眉山",
          loc: "接引殿",
          name: "静无师太",
          name_tw: "靜無師太",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;n",
          desc: "她是峨眉派的“靜”輩弟子。",
        },
        {
          jh: "峨眉山",
          loc: "打坐室",
          name: "静白师太",
          name_tw: "靜白師太",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;w;w;n;w",
          desc: "她是峨眉派的“靜”輩弟子。",
        },
        {
          jh: "峨眉山",
          loc: "後殿",
          name: "静松师太",
          name_tw: "靜松師太",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;n;n",
          desc: "她是峨眉派的“靜”輩弟子。",
        },
        {
          jh: "峨眉山",
          loc: "俗家弟子房",
          name: "苏寒清",
          name_tw: "蘇寒清",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;e;e;s;s;e",
          desc: "她是峨嵋派的第四代俗家弟子。",
        },
        {
          jh: "峨眉山",
          loc: "打坐室",
          name: "静身师太",
          name_tw: "靜身師太",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;w;w;s;s;w",
          desc: "她是峨眉派的“靜”輩弟子。",
        },
        {
          jh: "峨眉山",
          loc: "打坐室",
          name: "静法师太",
          name_tw: "靜法師太",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;w;w;s;e",
          desc: "她是峨眉派的“靜”輩弟子。",
        },
        {
          jh: "峨眉山",
          loc: "打坐室",
          name: "静尼师太",
          name_tw: "靜尼師太",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;w;w;s;s;e",
          desc: "她是峨眉派的“靜”輩弟子。",
        },
        {
          jh: "峨眉山",
          loc: "峨眉後山",
          name: "藏剑楼剑客",
          name_tw: "藏劍樓劍客",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;n;n;n;n;n;n;n",
          desc: "此人手持長劍,正虎視眈眈的留神週圍,準備伺機而動。",
        },
        {
          jh: "峨眉山",
          loc: "打坐室",
          name: "文海师太",
          name_tw: "文海師太",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill emei_shoushan;;n;;n;n;n;w;n;n;n;e;e;s;w",
          desc: "她是峨眉派的“文”輩弟子。",
        },
        {
          jh: "峨眉山",
          loc: "護國門",
          name: "金狼大将",
          name_tw: "金狼大將",
          way: "jh 8;ne;e;e;e;n;n;n;n;n",
          desc: "攻城大將,曾是江湖上一等一的好手。",
        },
        {
          jh: "峨眉山",
          loc: "釣魚山腳",
          name: "先锋军士",
          name_tw: "先鋒軍士",
          way: "jh 8;ne;e;e;e",
          desc: "攻城大軍的先鋒軍士,滿臉兇狠,卻也掩飾不住疲乏之色。",
        },
        {
          jh: "峨眉山",
          loc: "敵軍大營",
          name: "耶律霸",
          way: "jh 8;ne;e;e;e;e",
          desc: "遼國皇族後裔,蒙古宰相耶律楚材之子,金狼軍主帥。他驍勇善戰,精通兵法,憑藉著一手堪可開山破嶽的好斧法殺得武林中人無人可擋聞之色變。視天波楊門為心腹之患欲處之而後快。",
        },
        {
          jh: "峨眉山",
          loc: "東新城門",
          name: "赤豹死士",
          way: "jh 8;ne;e;e;e;n",
          desc: "攻城大軍的赤豹營死士,戰力蠻橫,重盔重甲,防禦極好。",
        },
        {
          jh: "峨眉山",
          loc: "城南-字牆",
          name: "守城军士",
          name_tw: "守城軍士",
          way: "jh 8;ne;e;e;e;n;n",
          desc: "守城的軍士,英勇強悍,不畏生死。",
        },
        {
          jh: "峨眉山",
          loc: "鎮西門",
          name: "黑鹰死士",
          name_tw: "黑鷹死士",
          way: "jh 8;ne;e;e;e;n;n;n",
          desc: "攻城大軍的黑鷹營死士,出手極準。",
        },
        {
          jh: "峨眉山",
          loc: "護國門",
          name: "金狼死士",
          way: "jh 8;ne;e;e;e;n;n;n;n;n",
          desc: "攻城大軍將領的近身精銳。",
        },
        {
          jh: "峨眉山",
          loc: "城中主路",
          name: "运输兵",
          name_tw: "運輸兵",
          way: "jh 8;ne;e;e;e;n;n;n;n;n;e",
          desc: "負責運送器械的士兵。",
        },
        {
          jh: "峨眉山",
          loc: "城守府",
          name: "王坚",
          name_tw: "王堅",
          way: "jh 8;ne;e;e;e;n;n;n;n;n;e;e;e",
          desc: "釣魚城守城大將,智勇雙全,有條不紊地指揮著整座城市的防禦工作。",
        },
        {
          jh: "峨眉山",
          loc: "城守府",
          name: "参谋官",
          name_tw: "參謀官",
          way: "jh 8;ne;e;e;e;n;n;n;n;n;e;e;e",
          desc: "守軍參謀軍官,負責傳遞消息和提出作戰意見。",
        },
        {
          jh: "峨眉山",
          loc: "軍械庫",
          name: "军械官",
          name_tw: "軍械官",
          way: "jh 8;ne;e;e;e;n;n;n;n;n;e;e;n",
          desc: "管理軍械庫的一位中年軍官,健壯有力。",
        },
        {
          jh: "峨眉山",
          loc: "箭樓",
          name: "神箭手",
          way: "jh 8;ne;e;e;e;n;n;n;n;n;e;e;s",
          desc: "釣魚城守城大軍的神箭手,百步穿楊,箭無虛發。",
        },
        {
          jh: "峨眉山",
          loc: "箭樓",
          name: "黑羽刺客",
          way: "jh 8;ne;e;e;e;n;n;n;n;n;e;e;s",
          desc: "攻城黑羽將領的精銳刺客。",
        },
        {
          jh: "峨眉山",
          loc: "箭樓",
          name: "黑羽敌将",
          name_tw: "黑羽敵將",
          way: "jh 8;ne;e;e;e;n;n;n;n;n;e;e;s",
          desc: "攻城大將,曾是江湖上一等一的好手。",
        },
        {
          jh: "峨眉山",
          loc: "糧庫",
          name: "粮库主薄",
          name_tw: "糧庫主薄",
          way: "jh 8;ne;e;e;e;n;n;n;n;n;e;n",
          desc: "管理糧庫的軍官,雙眼炯炯有神,一絲一毫的細節都牢記於心。",
        },
        {
          jh: "峨眉山",
          loc: "瞭望台",
          name: "斥候",
          way: "jh 8;ne;e;e;e;n;n;n;n;n;e;s",
          desc: "負責偵查敵情的軍士",
        },
        {
          jh: "峨眉山",
          loc: "瞭望台",
          name: "阿保甲",
          way: "jh 8;ne;e;e;e;n;n;n;n;n;e;s",
          desc: "攻城大將,曾是江湖上一等一的好手。",
        },
        {
          jh: "峨眉山",
          loc: "瞭望台",
          name: "胡族军士",
          name_tw: "胡族軍士",
          way: "jh 8;ne;e;e;e;n;n;n;n;n;e;s",
          desc: "攻城大軍將領的近身精銳。",
        },
        {
          jh: "峨眉山",
          loc: "山腳小路",
          name: "传令兵",
          name_tw: "傳令兵",
          way: "jh 8;ne;e;e;e;s",
          desc: "釣魚城派往長安求援的傳令兵,行色匆匆,滿面塵土。",
        },
        {
          jh: "峨眉山",
          loc: "峨眉山門",
          name: "文虚师太",
          name_tw: "文虛師太",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e",
          desc: "她是峨眉派的“文”輩弟子。",
        },
        {
          jh: "峨眉山",
          loc: "峨眉山門",
          name: "看山弟子",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e",
          desc: "一個女弟子,手上拿著一把長劍。",
        },
        {
          jh: "峨眉山",
          loc: "山門廣場",
          name: "文玉师太",
          name_tw: "文玉師太",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n",
          desc: "她是峨眉派的“文”輩弟子。",
        },
        {
          jh: "峨眉山",
          loc: "山門廣場",
          name: "文寒师太",
          name_tw: "文寒師太",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n",
          desc: "她是峨眉派的“文”輩弟子。",
        },
        {
          jh: "峨眉山",
          loc: "十二盤",
          name: "巡山弟子",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n",
          desc: "一個拿著武器,有點氣勢的巡山弟子。",
        },
        {
          jh: "峨眉山",
          loc: "千佛庵大門",
          name: "小女孩",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w",
          desc: "這是個小女孩。",
        },
        {
          jh: "峨眉山",
          loc: "千佛庵大門",
          name: "小贩",
          name_tw: "小販",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w",
          desc: "峨眉山上做點小生意的小販。",
        },
        {
          jh: "峨眉山",
          loc: "毗盧殿",
          name: "静洪师太",
          name_tw: "靜洪師太",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;n",
          desc: "她是峨眉派的“靜”輩弟子。",
        },
        {
          jh: "峨眉山",
          loc: "文殊殿",
          name: "静雨师太",
          name_tw: "靜雨師太",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;n;n",
          desc: "她是峨眉派的“靜”輩弟子。",
        },
        {
          jh: "峨眉山",
          loc: "俗家弟子房",
          name: "贝锦瑟",
          name_tw: "貝錦瑟",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;n;n;n;e;e;n;n;e",
          desc: "她是峨嵋派的第四代俗家弟子。",
        },
        {
          jh: "峨眉山",
          loc: "峨眉後山",
          name: "毒蛇",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;n",
          desc: "一條劇毒的毒蛇。",
        },
        {
          jh: "峨眉山",
          loc: "狹窄山路",
          name: "护法弟子",
          name_tw: "護法弟子",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;n;n;n;n;n;n;n;n;n;ne",
          desc: "她是一位年輕的師太。是滅絕石台座前的護法弟子。",
        },
        {
          jh: "峨眉山",
          loc: "狹窄山道",
          name: "护法大弟子",
          name_tw: "護法大弟子",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;n;n;n;n;n;n;n;n;n;ne;ne",
          desc: "她是一位年輕的師太。是滅絕石台座前的護法弟子。",
        },
        {
          jh: "峨眉山",
          loc: "靜修後殿",
          name: "方碧翠",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;n;n;n;n;n;n;n;n;n;ne;ne;n",
          desc: "她是峨嵋派的第四代俗家弟子。",
        },
        {
          jh: "峨眉山",
          loc: "靜修後殿",
          name: "灭绝掌门",
          name_tw: "滅絕掌門",
          name_new: "通星師太",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;n;n;n;n;n;n;n;n;n;ne;ne;n",
          desc: "她是峨嵋派的第三代弟子,現任峨嵋派掌門人。",
        },
        {
          jh: "峨眉山",
          loc: "九王洞",
          name: "静慈师太",
          name_tw: "靜慈師太",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;n;n;n;n;n;n;n;n;n;ne;ne;se;e",
          desc: "這是一位年紀不算很大的師太。",
        },
        {
          jh: "峨眉山",
          loc: "打坐室",
          name: "静玄师太",
          name_tw: "靜玄師太",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;n;n;n;w;w;n;n;w",
          desc: "她是峨眉派的“靜”輩弟子。",
        },
        {
          jh: "峨眉山",
          loc: "風動坡",
          name: "尼姑",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;n;n;n;w;w;w;w;n",
          desc: "這是一個年輕尼姑。",
        },
        {
          jh: "峨眉山",
          loc: "雷動坪",
          name: "尼姑",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;n;n;n;w;w;w;w;sw",
          desc: "這是一個年輕尼姑,似乎有幾手武功。",
        },
        {
          jh: "峨眉山",
          loc: "風動坡",
          name: "女孩",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;n;n;n;w;w;w;w;n",
          desc: "這是個少女,雖然只有十二、三歲,身材已經開始發育。",
        },
        {
          jh: "峨眉山",
          loc: "雷動坪",
          name: "小尼姑",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;n;n;n;w;w;w;w;sw",
          desc: "一個年紀賞小的尼姑。",
        },
        {
          jh: "峨眉山",
          loc: "清音閣",
          name: "青书少侠",
          name_tw: "青書少俠",
          way: "jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;n;e;e",
          desc: "他今年二十歲,乃是武當第三代中出類拔萃的人物。",
        },
        {
          jh: "峨眉山",
          loc: "眺望台",
          name: "白猿",
          way: "jh 8;w;nw;n;n;n;n;w",
          desc: "這是一頭全身白色毛發的猿猴。",
        },
        {
          jh: "恆山",
          loc: "眺望台",
          name: "杀神寨匪首",
          name_tw: "殺神寨匪首",
          way: "",
          desc: "匪寨首領,殺氣騰騰。",
        },
        {
          jh: "恆山",
          loc: "桃花林",
          name: "嵩山死士",
          way: "jh 9;n;n;n;n;n;event_1_85624865;n;w;event_1_27135529",
          desc: "這是一名狂熱的嵩山弟子,甘願為嵩山付出自己的生命。",
        },
        {
          jh: "恆山",
          loc: "桃花林",
          name: "杀神寨头目",
          name_tw: "殺神寨頭目",
          way: "",
          desc: "匪寨的頭目,目露兇光。",
        },
        {
          jh: "恆山",
          loc: "大字嶺",
          name: "山盗",
          name_tw: "山盜",
          way: "jh 9",
          desc: "一個盤踞山林的盜匪。",
        },
        {
          jh: "恆山",
          loc: "虎風口",
          name: "秦卷帘",
          name_tw: "秦捲簾",
          way: "jh 9;n",
          desc: "恆山派俗家弟子,臉上沒有一絲表情,讓人望而卻步。",
        },
        {
          jh: "恆山",
          loc: "果老嶺",
          name: "郑婉儿",
          name_tw: "鄭婉兒",
          way: "jh 9;n;n",
          desc: "恆山派俗家弟子,看起來清麗可人。",
        },
        {
          jh: "恆山",
          loc: "夕陽嶺",
          name: "哑太婆",
          name_tw: "啞太婆",
          way: "jh 9;n;n;e",
          desc: "一身黑衣,頭發雖已花白,但俏麗的容顏卻讓人忍不住多看兩眼。",
        },
        {
          jh: "恆山",
          loc: "北嶽廟",
          name: "云问天",
          name_tw: "雲問天",
          way: "jh 9;n;n;n",
          desc: "身背行囊的遊客,看起來會些功夫。",
        },
        {
          jh: "恆山",
          loc: "北嶽殿",
          name: "石高达",
          name_tw: "石高達",
          way: "jh 9;n;n;n;n",
          desc: "一名身份可疑的男子,最近常在山上游蕩。",
        },
        {
          jh: "恆山",
          loc: "玉羊遊雲",
          name: "公孙浩",
          name_tw: "公孫浩",
          way: "jh 9;n;n;n;n;e",
          desc: "一名行走五湖四海的遊俠,看起來功夫還不錯。",
        },
        {
          jh: "恆山",
          loc: "秘道",
          name: "不可不戒",
          way: "jh 9;n;n;n;n;henshan15_op1",
          desc: "曾經是江湖上有名的採花大盜,被不戒和尚用藥迷倒,剪掉了作案工具,剃度後收為徒弟。",
        },
        {
          jh: "恆山",
          loc: "見性峰山道",
          name: "山蛇",
          way: "jh 9;n;n;n;n;n",
          desc: "一條吐著紅舌頭的毒蛇",
        },
        {
          jh: "恆山",
          loc: "見性峰山道",
          name: "嵩山弟子",
          way: "jh 9;n;n;n;n;n;event_1_85624865",
          desc: "嵩山派弟子",
        },
        {
          jh: "恆山",
          loc: "紫芝叢",
          name: "司马承",
          name_tw: "司馬承",
          way: "jh 9;n;n;n;n;n;event_1_85624865;n;e",
          desc: "嵩山派高手,看起來頗有些修為。",
        },
        {
          jh: "恆山",
          loc: "千年菩提",
          name: "沙江龙",
          name_tw: "沙江龍",
          way: "jh 9;n;n;n;n;n;event_1_85624865;n;n;n;henshan_zizhiyu11_op1",
          desc: "嵩山派高手,看起來頗有些修為。",
        },
        {
          jh: "恆山",
          loc: "雲洞",
          name: "史师兄",
          name_tw: "史師兄",
          way: "jh 9;n;n;n;n;n;event_1_85624865;n;n;n;n",
          desc: "嵩山派大弟子,武功修為頗高。",
        },
        {
          jh: "恆山",
          loc: "桃花林",
          name: "赵志高",
          name_tw: "趙志高",
          way: "jh 9;n;n;n;n;n;event_1_85624865;n;w",
          desc: "嵩山派高手,看起來頗有些修為。",
        },
        {
          jh: "恆山",
          loc: "白雲庵",
          name: "定云师太",
          name_tw: "定雲師太",
          way: "jh 9;n;n;n;n;n;n;n",
          desc: "恆山派白雲菴菴主,外剛內和,脾氣雖然暴躁,心地卻極慈祥。",
        },
        {
          jh: "恆山",
          loc: "藏經閣",
          name: "仪雨",
          name_tw: "儀雨",
          way: "jh 9;n;n;n;n;n;n;n;e;e",
          desc: "恆山派二弟子",
        },
        {
          jh: "恆山",
          loc: "練武房",
          name: "仪容",
          name_tw: "儀容",
          way: "jh 9;n;n;n;n;n;n;n;e;n",
          desc: "恆山派大弟子",
        },
        {
          jh: "恆山",
          loc: "長廊",
          name: "吸血蝙蝠",
          way: "jh 9;n;n;n;n;n;n;n;n",
          desc: "這是一隻黑色的吸血蝙蝠",
        },
        {
          jh: "恆山",
          loc: "白雲庵後殿",
          name: "定安师太",
          name_tw: "定安師太",
          way: "jh 9;n;n;n;n;n;n;n;n;n",
          desc: "恆山派掌門,心細如發,雖然平時極少出庵,但於江湖上各門各派的人物,無一不是瞭如指掌,其武功修為極高。",
        },
        {
          jh: "恆山",
          loc: "懸空棧道",
          name: "神教杀手",
          name_tw: "神教殺手",
          way: "jh 9;n;n;n;n;n;n;n;n;n;w",
          desc: "日月神教殺手,手段極其兇殘。",
        },
        {
          jh: "恆山",
          loc: "小茅屋",
          name: "魔教杀手",
          name_tw: "魔教殺手",
          way: "jh 9;n;n;n;n;n;n;n;n;n;w;n;e;henshan_qinqitai23_op1",
          desc: "魔教殺手,一張黃臉讓人過目難忘。",
        },
        {
          jh: "恆山",
          loc: "小茅屋",
          name: "魔教长老",
          name_tw: "魔教長老",
          way: "jh 9;n;n;n;n;n;n;n;n;n;w;n;e;n",
          desc: "此人衣著非凡,在魔教中頗有地位。",
        },
        {
          jh: "恆山",
          loc: "小茅屋",
          name: "魔教护卫",
          name_tw: "魔教護衛",
          way: "jh 9;n;n;n;n;n;n;n;n;n;w;n;e;n",
          desc: "一名面容冷峻的帶刀護衛,正警惕的打量四週。",
        },
        {
          jh: "恆山",
          loc: "松樹林",
          name: "神秘人",
          way: "jh 9;n;n;n;n;n;n;n;n;n;w;n;event_1_89533343",
          desc: "一個眼神淩厲的黑衣人,渾身散發著無比殺氣,令人不安。",
        },
        {
          jh: "恆山",
          loc: "琴棋台",
          name: "魔教头目",
          name_tw: "魔教頭目",
          way: "jh 9;n;n;n;n;n;n;n;n;n;w;n;n;n;n",
          desc: "看起來風流倜儻的中年男子,魔教的小頭目。",
        },
        {
          jh: "恆山",
          loc: "齋堂",
          name: "小师太",
          name_tw: "小師太",
          way: "jh 9;n;n;n;n;n;n;n;w;n",
          desc: "恆山入門弟子",
        },
        {
          jh: "恆山",
          loc: "雞叫石",
          name: "柳云烟",
          name_tw: "柳雲煙",
          way: "jh 9;n;n;n;w",
          desc: "一身短裝的女子,頭戴紗帽,一張俏臉在面紗後若隱若現,讓人忍不住想掀開面紗瞧個仔細。",
        },
        {
          jh: "恆山",
          loc: "懸根松",
          name: "九戒大师",
          name_tw: "九戒大師",
          way: "jh 9;n;w",
          desc: "雖著一身袈裟,但一臉絡腮鬍讓他看起來頗有些兇悍。",
        },
        {
          jh: "武當山",
          loc: "西廂走廊",
          name: "练功弟子",
          name_tw: "練功弟子",
          way: "jh 10;w;n;n;w;w;w;n;n;n;n;n;w",
          desc: "一位正在練功的青年弟子,但似乎很不耐煩。",
        },
        {
          jh: "武當山",
          loc: "藏經閣",
          name: "道德经「上卷」",
          name_tw: "道德經「上卷」",
          way: "jh 10;w;n;n;w;w;w;n;n;n;n;n;w;n",
          desc: "這是一冊道德經「上卷」,由體道第一始至去用第四十止。",
        },
        {
          jh: "武當山",
          loc: "藏經閣",
          name: "道德经「第一章」",
          name_tw: "道德經「第一章」",
          way: "jh 10;w;n;n;w;w;w;n;n;n;n;n;w;n",
          desc: "第一章   道可道,非常道。名可名,非常名。   無名天地之始;有名萬物之母。   故常無,欲以觀其妙;常有,欲以觀其徼。   此兩者,同出而異名,同謂之玄。玄之又玄,眾妙之門。",
        },
        {
          jh: "武當山",
          loc: "林中小路",
          name: "王五",
          way: "jh 10;w",
          desc: "一位邋邋遢遢的道士。",
        },
        {
          jh: "武當山",
          loc: "林中小路",
          name: "土匪头",
          name_tw: "土匪頭",
          way: "jh 10",
          desc: "這傢伙滿臉殺氣,一付凶神惡煞的模樣,令人望而生畏。",
        },
        {
          jh: "武當山",
          loc: "林中小路",
          name: "土匪",
          way: "jh 10",
          desc: "這傢伙滿臉橫肉\ue00b一付凶神惡煞的模樣,令人望而生畏。",
        },
        {
          jh: "武當山",
          loc: "遇劍閣大門",
          name: "布衣弟子",
          way: "jh 10;w;n;event_1_74091319;ne;n;sw;nw;w;ne;n;n",
          desc: "遇劍閣的一位弟子,不知是哪個長老門下的。",
        },
        {
          jh: "武當山",
          loc: "閣主樓",
          name: "剑童",
          name_tw: "劍童",
          way: "jh 10;w;n;event_1_74091319;ne;n;sw;nw;w;ne;n;n;n;n;n;n",
          desc: "遇劍閣的一名劍童,長得十分可愛。",
        },
        {
          jh: "武當山",
          loc: "閣主寢室",
          name: "剑遇安",
          name_tw: "劍遇安",
          way: "jh 10;w;n;event_1_74091319;ne;n;sw;nw;w;ne;n;n;n;n;n;n;n",
          desc: "一位似乎身重劇毒的老前輩,但仍能看出其健康之時武功不凡。",
        },
        {
          jh: "武當山",
          loc: "小院子",
          name: "剑遇治",
          name_tw: "劍遇治",
          way: "jh 10;w;n;event_1_74091319;ne;n;sw;nw;w;ne;n;n;n;n;ne;n;n",
          desc: "一位身形肥胖的布衣青年。",
        },
        {
          jh: "武當山",
          loc: "山長老樓",
          name: "剑遇山",
          name_tw: "劍遇山",
          way: "jh 10;w;n;event_1_74091319;ne;n;sw;nw;w;ne;n;n;n;n;ne;n;n;e",
          desc: "一位看起來非常高傲的老前輩。",
        },
        {
          jh: "武當山",
          loc: "行長老樓",
          name: "剑遇行",
          name_tw: "劍遇行",
          way: "jh 10;w;n;event_1_74091319;ne;n;sw;nw;w;ne;n;n;n;n;ne;s;e",
          desc: "一問看起來非常慈祥的老前輩",
        },
        {
          jh: "武當山",
          loc: "鳴長老樓",
          name: "剑遇鸣",
          name_tw: "劍遇鳴",
          way: "jh 10;w;n;event_1_74091319;ne;n;sw;nw;w;ne;n;n;n;n;ne;s;sw",
          desc: "一位看起來非常自負的老前輩。",
        },
        {
          jh: "武當山",
          loc: "小院子",
          name: "剑遇南",
          name_tw: "劍遇南",
          way: "jh 10;w;n;event_1_74091319;ne;n;sw;nw;w;ne;n;n;n;n;nw;nw",
          desc: "一個布衣青年,腰間繫著一把配劍。",
        },
        {
          jh: "武當山",
          loc: "穆長老樓",
          name: "剑遇穆",
          name_tw: "劍遇穆",
          way: "jh 10;w;n;event_1_74091319;ne;n;sw;nw;w;ne;n;n;n;n;nw;nw;n",
          desc: "一位布衣長者,看起來道風仙骨。",
        },
        {
          jh: "武當山",
          loc: "黃土路",
          name: "野兔",
          way: "jh 10;w;n;n;w",
          desc: "一隻好可愛的小野兔。",
        },
        {
          jh: "武當山",
          loc: "武當牌坊",
          name: "进香客",
          name_tw: "進香客",
          way: "jh 10;w;n;n;w;w",
          desc: "一位前往武當山進香的人。",
        },
        {
          jh: "武當山",
          loc: "武當牌坊",
          name: "青书少侠",
          name_tw: "青書少俠",
          way: "jh 10;w;n;n;w;w",
          desc: "他今年二十歲,乃是武當第三代中出類拔萃的人物。",
        },
        {
          jh: "武當山",
          loc: "三清殿",
          name: "知客道长",
          name_tw: "知客道長",
          way: "jh 10;w;n;n;w;w;w;n;n;n",
          desc: "他是武當山的知客道長。",
        },
        {
          jh: "武當山",
          loc: "武當廣場",
          name: "道童",
          way: "jh 10;w;n;n;w;w;w;n;n;n;n",
          desc: "他是武當山的小道童。",
        },
        {
          jh: "武當山",
          loc: "桃園小路",
          name: "蜜蜂",
          way: "jh 10;w;n;n;w;w;w;n;n;n;n;e;e;e;e;s;e;s;e;n",
          desc: "這是一隻蜜蜂,正忙著採蜜。",
        },
        {
          jh: "武當山",
          loc: "桃園小路",
          name: "小蜜蜂",
          way: "jh 10;w;n;n;w;w;w;n;n;n;n;e;e;e;e;s;e;s;e;n",
          desc: "這是一隻蜜蜂,正忙著採蜜。",
        },
        {
          jh: "武當山",
          loc: "桃園小路",
          name: "猴子",
          way: "jh 10;w;n;n;w;w;w;n;n;n;n;e;e;e;e;s;e;s;e;s",
          desc: "這隻猴子在在桃樹間跳上跳下,還不時津津有味地啃幾口著蜜桃。",
        },
        {
          jh: "武當山",
          loc: "三清殿",
          name: "清虚道长",
          name_tw: "清虛道長",
          way: "jh 10;w;n;n;w;w;w;n;n;n;n;n",
          desc: "他就是清虛道長。他今年四十歲,主管武當派的俗事。",
        },
        {
          jh: "武當山",
          loc: "三清殿",
          name: "宋首侠",
          name_tw: "宋首俠",
          way: "jh 10;w;n;n;w;w;w;n;n;n;n;n",
          desc: "他就是張三豐的大弟子、武當七俠之首。身穿一件乾乾淨淨的灰色道袍。他已年過六十,身材瘦長,滿臉紅光。恬淡沖和,沉默寡言。",
        },
        {
          jh: "武當山",
          loc: "東廂走廊",
          name: "张松溪",
          name_tw: "張松溪",
          way: "jh 10;w;n;n;w;w;w;n;n;n;n;n;e",
          desc: "他就是張三豐的四弟子張松溪。他今年四十歲,精明能幹,以足智多謀著稱。",
        },
        {
          jh: "武當山",
          loc: "比武房",
          name: "俞二侠",
          name_tw: "俞二俠",
          way: "jh 10;w;n;n;w;w;w;n;n;n;n;n;e;e;e;e",
          desc: "服下丹藥之後的他武功似乎提升了不少,實力不容小覷。",
        },
        {
          jh: "武當山",
          loc: "茶室",
          name: "小翠",
          way: "jh 10;w;n;n;w;w;w;n;n;n;n;n;e;e;s",
          desc: "這是個年年齡不大的小姑娘,但寬鬆的道袍也遮不住她過早發育的身體。一臉聰明乖巧,滿口伶牙俐齒。見有人稍微示意,便過去加茶倒水。",
        },
        {
          jh: "武當山",
          loc: "茶室",
          name: "水蜜桃",
          way: "jh 10;w;n;n;w;w;w;n;n;n;n;n;e;e;s",
          desc: "一碟水靈新鮮的水蜜桃,跟小翠的臉蛋兒一樣紅豔可人。",
        },
        {
          jh: "武當山",
          loc: "茶室",
          name: "香茶",
          way: "jh 10;w;n;n;w;w;w;n;n;n;n;n;e;e;s",
          desc: "一杯熱茶,悠悠地冒著香氣~~~",
        },
        {
          jh: "武當山",
          loc: "後院",
          name: "俞莲舟",
          name_tw: "俞蓮舟",
          way: "jh 10;w;n;n;w;w;w;n;n;n;n;n;n",
          desc: "他就是張三豐的二弟子俞蓮舟。他今年五十歲,身材魁梧,氣度凝重。雖在武當七俠中排名第二,功夫卻是最精。",
        },
        {
          jh: "武當山",
          loc: "後山小院",
          name: "张三丰",
          name_tw: "張三豐",
          way: "jh 10;w;n;n;w;w;w;n;n;n;n;n;n;n;n;n",
          desc: "他就是武當派開山鼻祖、當今武林的泰山北斗,中華武功承先啟後、繼往開來的大宗師。身穿一件汙穢的灰色道袍,不修邊幅。身材高大,年滿百歲,滿臉紅光,須眉皆白。",
        },
        {
          jh: "晚月莊",
          loc: "後山小院",
          name: "安妮儿",
          name_tw: "安妮兒",
          way: "",
          desc: "一個風塵僕僕的俠客。。",
        },
        {
          jh: "晚月莊",
          loc: "□香榭",
          name: "颜慧如",
          name_tw: "顏慧如",
          way: "jh 11;e;e;s;sw;se;s;s;s;w;s;s;se",
          desc: "她是一位美女,真是紅顏似玉,綠鬢如雲,明麗的眼睛,潔白的牙齒。容色俊俏,風度飄逸,令人心動。",
        },
        {
          jh: "晚月莊",
          loc: "翠湘閣",
          name: "莫欣芳",
          way: "jh 11;e;e;s;sw;se;w;w;s;s;s;w;n;e;n",
          desc: "她國色天香,嬌麗無倫;溫柔嫻靜,秀絕人寰。她姿容絕美,世所罕見。從她身旁你聞道一寒谷幽香。",
        },
        {
          jh: "晚月莊",
          loc: "紫翎小軒",
          name: "上官钰翎",
          name_tw: "上官鈺翎",
          way: "jh 11;e;e;s;sw;se;s;s;s;w;s;s;w",
          desc: "一個風塵僕僕的俠客。。",
        },
        {
          jh: "晚月莊",
          loc: "暖香榭",
          name: "美珊",
          way: "jh 11;e;e;s;sw;se;s;s;s;e;se;s",
          desc: "她看起來成熟中帶有一些韻味。飄逸的長發十分迷人。",
        },
        {
          jh: "晚月莊",
          loc: "暖香榭",
          name: "金丝雀",
          name_tw: "金絲雀",
          way: "jh 11;e;e;s;sw;se;s;s;s;e;se;s",
          desc: "一隻羽毛鮮□的小金絲雀。",
        },
        {
          jh: "晚月莊",
          loc: "沁芳亭",
          name: "袭人",
          name_tw: "襲人",
          way: "jh 11;e;e;s;sw;se;s;s;s;s;s",
          desc: "她有著春花般的臉兒,青山似的眉黛,靈活如秋波的眼睛,高低適宜如玉□的鼻子,珊珊似的小口。她的特點就是清秀大方,如花中之牡丹,鳥中之鸞鳳。",
        },
        {
          jh: "晚月莊",
          loc: "紫翎小軒",
          name: "小金鼠",
          way: "jh 11;e;e;s;sw;se;s;s;s;w;s;s;w",
          desc: "一隻可愛的長尾巴的小金鼠。",
        },
        {
          jh: "晚月莊",
          loc: "沐浴更衣室",
          name: "阮欣郁",
          name_tw: "阮欣鬱",
          way: "jh 11;e;e;s;sw;se;w;w;s;s;s;e;s;s;w;s;e",
          desc: "一個風塵僕僕的俠客。。",
        },
        {
          jh: "晚月莊",
          loc: "內廳穿堂",
          name: "龙韶吟",
          name_tw: "龍韶吟",
          way: "jh 11;e;e;s;sw;se;w;w;s;s;s;e;s;s;w;s",
          desc: "一個風塵僕僕的俠客。。",
        },
        {
          jh: "晚月莊",
          loc: "內廳",
          name: "虞琼衣",
          name_tw: "虞瓊衣",
          way: "jh 11;e;e;s;sw;se;w;w;s;s;s;e;s;s;w",
          desc: "一個風塵僕僕的俠客。。",
        },
        {
          jh: "晚月莊",
          loc: "後廳",
          name: "苗郁手",
          name_tw: "苗鬱手",
          way: "jh 11;e;e;s;sw;se;w;w;s;s;s",
          desc: "她看起來很有活力,兩眼明亮有神。給你一種巾幗不讓須眉的氣勢,但剛毅之中似又隱含著女孩子有的嬌柔。",
        },
        {
          jh: "晚月莊",
          loc: "後廳",
          name: "圆春",
          name_tw: "圓春",
          way: "jh 11;e;e;s;sw;se;w;w;s;s;s",
          desc: "她是惜春的妹妹,跟姐姐從小就在晚月莊長大。因為與雙親失散,被莊主收留。平常幫忙莊內瑣碎事務。",
        },
        {
          jh: "晚月莊",
          loc: "內書房",
          name: "惜春",
          way: "jh 11;e;e;s;sw;se;w;w;s;s;s;w;w",
          desc: "她看起來成熟中帶有一些稚氣。飄逸的長發十分迷人。她是個孤兒,從小與妹妹圓春被莊主收留,她很聰明,在第四代弟子中算是武功很出色的一個。",
        },
        {
          jh: "晚月莊",
          loc: "小花池",
          name: "凤凰",
          name_tw: "鳳凰",
          way: "jh 11;e;e;s;sw;se;w;w;s;s;s;e;s;s;w;s;e;e",
          desc: "火神「鳳凰」乃勇士寒於的魂魄所化成的十三個精靈之一。由於其奇異神蹟,被晚月莊供奉為護莊神獸。",
        },
        {
          jh: "晚月莊",
          loc: "小花池",
          name: "金仪彤",
          name_tw: "金儀彤",
          way: "jh 11;e;e;s;sw;se;w;w;s;s;s;e;s;s;w;s;e;e",
          desc: "她國色天香,嬌麗無倫;溫柔嫻靜,秀絕人寰。可惜眉心上有一道地煞紋干犯紫鬥,恐要玉手染血,浩劫武林。",
        },
        {
          jh: "晚月莊",
          loc: "東廂房",
          name: "瑷伦",
          name_tw: "璦倫",
          way: "jh 11;e;e;s;sw;se;w;w;s;s;s;e;s;s;e",
          desc: "她已是步入老年,但仍風采依舊。",
        },
        {
          jh: "晚月莊",
          loc: "廚房",
          name: "曲馥琪",
          way: "jh 11;e;e;s;sw;se;w;w;s;s;e;e;e",
          desc: "她國色天香,嬌麗無倫;溫柔嫻靜,秀絕人寰。她姿容絕美,世所罕見。從她身旁你聞道一寒谷幽香。",
        },
        {
          jh: "晚月莊",
          loc: "上等廂房",
          name: "梦玉楼",
          name_tw: "夢玉樓",
          way: "jh 11;e;e;s;sw;se;w;w;s;s;w;w;s",
          desc: "一個風塵僕僕的俠客。。",
        },
        {
          jh: "晚月莊",
          loc: "桂花園",
          name: "蓝小蝶",
          name_tw: "藍小蝶",
          way: "jh 11;e;e;s;sw;se;s;s;s;w;s",
          desc: "她長得十分漂亮!讓你忍不住多瞧她幾眼,從她身上你聞到淡淡的香氣。她很有禮貌的向你點頭,優雅的動作,輕盈的步伐,好美哦!她是晚月莊主藍止萍的養女,平常莊內的接待是看她。",
        },
        {
          jh: "晚月莊",
          loc: "",
          name: "小白兔",
          way: ".靠謎題飛",
          desc: "一隻紅眼睛的小白兔。",
        },
        {
          jh: "晚月莊",
          loc: "",
          name: "风老四",
          name_tw: "風老四",
          way: ".靠謎題飛",
          desc: "風梭風九幽,但他現在走火入魔,一動也不能動了。",
        },
        {
          jh: "晚月莊",
          loc: "",
          name: "水灵儿",
          name_tw: "水靈兒",
          way: ".靠謎題飛",
          desc: "她滿面愁容,手裡雖然拿著本書,卻只是呆呆的出神。",
        },
        {
          jh: "晚月莊",
          loc: "蜿蜒小徑",
          name: "蝴蝶",
          way: "jh 11;e;e;s",
          desc: "一隻翩翩起舞的小蝴蝶哦!",
        },
        {
          jh: "晚月莊",
          loc: "小路",
          name: "小贩",
          name_tw: "小販",
          way: "jh 11;e;e;s;n;nw;w;nw;e",
          desc: "這小販左手提著個籃子,右手提著個酒壺。籃上繫著銅鈴,不住叮鐺作響。",
        },
        {
          jh: "晚月莊",
          loc: "茅屋內",
          name: "酒肉和尚",
          way: "jh 11;e;e;s;n;nw;w;nw;e;e;e;n;w",
          desc: "這是一個僧不僧俗不俗,滿頭亂發的怪人",
        },
        {
          jh: "晚月莊",
          loc: "幽州台",
          name: "陈子昂",
          name_tw: "陳子昂",
          way: "jh 11;e;e;s;n;nw;w;nw;e;e;e;se",
          desc: "一個狂放書生,顯是出自豪富之家,輕財好施,慷慨任俠。",
        },
        {
          jh: "晚月莊",
          loc: "晚月莊大門",
          name: "彩衣少女",
          name_tw: "綵衣少女",
          way: "jh 11;e;e;s;sw",
          desc: "小姑娘是晚月莊的女弟子,雖說身形單薄,可眼神裡透出的傲氣讓人感到並不好欺負。",
        },
        {
          jh: "晚月莊",
          loc: "晚月莊大廳",
          name: "婢女",
          way: "jh 11;e;e;s;sw;se;w",
          desc: "一個風塵僕僕的俠客。。",
        },
        {
          jh: "晚月莊",
          loc: "晚月莊大廳",
          name: "蓝止萍",
          name_tw: "藍止萍",
          way: "jh 11;e;e;s;sw;se;w",
          desc: "藍止萍是一個十分出色的美女,她彈的一手琵琶更是聞名千里,許多王侯子弟,富商豪客都為她天下無雙的美貌與琴藝傾倒。",
        },
        {
          jh: "晚月莊",
          loc: "傍廳",
          name: "蓝雨梅",
          name_tw: "藍雨梅",
          way: "jh 11;e;e;s;sw;se;w;n",
          desc: "藍雨梅是晚月莊主藍止萍的養女,由於莊主不信任男子,因此晚月莊接待外賓的工作向來由她負責。",
        },
        {
          jh: "晚月莊",
          loc: "禁閉房",
          name: "芳绫",
          name_tw: "芳綾",
          way: "jh 11;e;e;s;sw;se;w;w;n;w",
          desc: "她看起來像個小靈精,頭上梳兩個小包包頭。她坐在地上,看到你看她便向你作了個鬼臉!你想她一定是調皮才會在這受罰!",
        },
        {
          jh: "晚月莊",
          loc: "夾道",
          name: "昭蓉",
          way: "jh 11;e;e;s;sw;se;w;w;s;s;w",
          desc: "她長得十分漂亮!讓你忍不住多瞧她幾眼,從她身上你聞到淡淡的香氣。她很有禮貌的向你點頭,優雅的動作,輕盈的步伐,好美哦!",
        },
        {
          jh: "晚月莊",
          loc: "後院書房",
          name: "昭仪",
          name_tw: "昭儀",
          way: "jh 11;e;e;s;sw;se;w;w;w;w",
          desc: "她看起來非常可愛。身材玲瓏有致,曲線苗條。第一眼印象,你覺的她舞蹈一定跳的不錯,看她的一舉一動有一種說不出的流暢優雅!",
        },
        {
          jh: "水煙閣",
          loc: "水煙閣正門",
          name: "天邪虎",
          way: "jh 12;n;n;n",
          desc: "這是一隻天邪派的靈獸「天邪虎」,火紅的毛皮上有著如白銀般的白紋,湛藍色的眼珠中散發出妖異的光芒。",
        },
        {
          jh: "水煙閣",
          loc: "水煙閣正門",
          name: "水烟阁武士",
          name_tw: "水煙閣武士",
          way: "jh 12;n;n;n",
          desc: "這是一個水煙閣武士。",
        },
        {
          jh: "水煙閣",
          loc: "廚房",
          name: "董老头",
          name_tw: "董老頭",
          way: "jh 12;n;n;n;e;n;n",
          desc: "於蘭天武的親兵,追隨於蘭天武多年,如今隱居於水煙閣,繼續保護王爺。",
        },
        {
          jh: "水煙閣",
          loc: "水煙閣正廳",
          name: "潘军禅",
          name_tw: "潘軍禪",
          way: "jh 12;n;n;n;n",
          desc: "潘軍禪是當今武林的一位傳奇性人物,以他僅僅二十八歲的年齡竟能做到水煙閣執法使的職位,著實是一位不簡單的人物。潘軍禪是封山劍派掌門柳淳風的結拜義弟,但是他為人其實十分風趣,又好交朋友,絲毫不會擺出武林執法者的架子。",
        },
        {
          jh: "水煙閣",
          loc: "水煙閣正廳",
          name: "萧辟尘",
          name_tw: "蕭闢塵",
          way: "jh 12;n;n;n;n",
          desc: "蕭闢塵自幼生長於嵐城之中,看起來仙風道骨,不食人間煙火。",
        },
        {
          jh: "水煙閣",
          loc: "西側廳",
          name: "水烟阁红衣武士",
          name_tw: "水煙閣紅衣武士",
          way: "jh 12;n;n;n;w;n;nw",
          desc: "這個人身著紅色水煙閣武士服色,眼神十分銳利。",
        },
        {
          jh: "水煙閣",
          loc: "聆嘯廳",
          name: "水烟阁司事",
          name_tw: "水煙閣司事",
          way: "jh 12;n;n;n;w;n;nw;e",
          desc: "這個人看起來十分和藹可親,一雙眼睛炯炯有神。",
        },
        {
          jh: "水煙閣",
          loc: "春秋水色齋",
          name: "於兰天武",
          name_tw: "於蘭天武",
          way: "jh 12;n;n;n;w;n;nw;e;n",
          desc: "於蘭天武是當今皇上的叔父,但是他畢生浸淫武學,甘願拋棄榮華富以換取水煙閣傳功使一職,以便閱讀水煙閣中所藏的武學典籍,無論你有什麼武學上的疑難,他都能為你解答。",
        },
        {
          jh: "少林寺",
          loc: "般若堂五層",
          name: "澄志",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;w;s;s;s;s",
          desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
        },
        {
          jh: "少林寺",
          loc: "羅漢堂九層",
          name: "澄和",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;e;s;s;s;s;s;s;s;s",
          desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
        },
        {
          jh: "少林寺",
          loc: "羅漢堂四層",
          name: "澄净",
          name_tw: "澄淨",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;e;s;s;s",
          desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
        },
        {
          jh: "少林寺",
          loc: "臥室",
          name: "道果禅师",
          name_tw: "道果禪師",
          way: "jh 13;n;w;w;n;shaolin012_op1",
          desc: "他是一位身材高大的中年僧人,兩臂粗壯,膀闊腰圓。他手持兵刃,身穿一襲灰布鑲邊袈裟,似乎有一身武藝。",
        },
        {
          jh: "少林寺",
          loc: "般若堂四層",
          name: "澄识",
          name_tw: "澄識",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;w;s;s;s",
          desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
        },
        {
          jh: "少林寺",
          loc: "般若堂七層",
          name: "澄灵",
          name_tw: "澄靈",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;w;s;s;s;s;s;s",
          desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
        },
        {
          jh: "少林寺",
          loc: "般若堂六層",
          name: "澄信",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;w;s;s;s;s;s",
          desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
        },
        {
          jh: "少林寺",
          loc: "羅漢堂一層",
          name: "澄观",
          name_tw: "澄觀",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;e",
          desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
        },
        {
          jh: "少林寺",
          loc: "般若堂九層",
          name: "澄尚",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;w;s;s;s;s;s;s;s;s",
          desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
        },
        {
          jh: "少林寺",
          loc: "羅漢堂八層",
          name: "澄灭",
          name_tw: "澄滅",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;e;s;s;s;s;s;s;s",
          desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
        },
        {
          jh: "少林寺",
          loc: "小木屋",
          name: "乔三槐",
          name_tw: "喬三槐",
          way: "jh 13;n;w;w;n",
          desc: "勤勞樸實的山民,皮膚黝黑粗糙。",
        },
        {
          jh: "少林寺",
          loc: "菩提金剛陣",
          name: "渡云神识",
          name_tw: "渡雲神識",
          way: "jh 13;e;s;s;w;w;w;event_1_38874360",
          desc: "這是渡雲的神識。",
        },
        {
          jh: "少林寺",
          loc: "般若堂三層",
          name: "澄思",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;w;s;s",
          desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
        },
        {
          jh: "少林寺",
          loc: "羅漢堂三層",
          name: "澄明",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;e;s;s",
          desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
        },
        {
          jh: "少林寺",
          loc: "菩提金剛陣",
          name: "渡风神识",
          name_tw: "渡風神識",
          way: "jh 13;e;s;s;w;w;w;event_1_38874360",
          desc: "這是渡風的神識。",
        },
        {
          jh: "少林寺",
          loc: "般若堂八層",
          name: "澄欲",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;w;s;s;s;s;s;s;s",
          desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
        },
        {
          jh: "少林寺",
          loc: "羅漢堂七層",
          name: "澄寂",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;e;s;s;s;s;s;s",
          desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
        },
        {
          jh: "少林寺",
          loc: "羅漢堂五層",
          name: "澄坚",
          name_tw: "澄堅",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;e;s;s;s;s",
          desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
        },
        {
          jh: "少林寺",
          loc: "般若堂二層",
          name: "澄意",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;w;s",
          desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
        },
        {
          jh: "少林寺",
          loc: "般若堂一層",
          name: "澄心",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;w",
          desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
        },
        {
          jh: "少林寺",
          loc: "菩提金剛陣",
          name: "渡雨神识",
          name_tw: "渡雨神識",
          way: "jh 13;e;s;s;w;w;w;event_1_38874360",
          desc: "這是渡雨的神識。",
        },
        {
          jh: "少林寺",
          loc: "羅漢堂二層",
          name: "澄知",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;e;s",
          desc: "他是一位須發花白的老僧,身穿一襲金邊黑布袈裟。他身材瘦高,太陽穴高高鼓起,似乎身懷絕世武功。",
        },
        {
          jh: "少林寺",
          loc: "叢林山徑",
          name: "虚通",
          name_tw: "虛通",
          way: "jh 13",
          desc: "他是一位身穿黃布袈裟的青年僧人。臉上稚氣未脫,身手卻已相當矯捷,看來似乎學過一點武功。",
        },
        {
          jh: "少林寺",
          loc: "叢林山徑",
          name: "山猪",
          name_tw: "山豬",
          way: "jh 13",
          desc: "黑色山豬,披著一身剛硬的鬃毛。",
        },
        {
          jh: "少林寺",
          loc: "金剛伏魔圈",
          name: "渡云",
          name_tw: "渡雲",
          way: "jh 13;e;s;s;w;w;w",
          desc: "這是一個面頰深陷,瘦骨零丁的老僧,他臉色枯黃,如同一段枯木。",
        },
        {
          jh: "少林寺",
          loc: "金剛伏魔圈",
          name: "渡雨",
          way: "jh 13;e;s;s;w;w;w",
          desc: "這是一個面頰深陷,瘦骨零丁的老僧,他臉色慘白,象一張紙一樣。",
        },
        {
          jh: "少林寺",
          loc: "金剛伏魔圈",
          name: "渡风",
          name_tw: "渡風",
          way: "jh 13;e;s;s;w;w;w",
          desc: "這是一個面頰深陷,瘦骨零丁的老僧,他臉色慘白,象一張紙一樣。",
        },
        {
          jh: "少林寺",
          loc: "少林寺山門",
          name: "僧人",
          way: "jh 13;n",
          desc: "少林寺僧人,負責看守山門。",
        },
        {
          jh: "少林寺",
          loc: "少林寺山門",
          name: "虚明",
          name_tw: "虛明",
          way: "jh 13;n",
          desc: "他是一位身穿黃布袈裟的青年僧人。臉上稚氣未脫,身手卻已相當矯捷,看來似乎學過一點武功。",
        },
        {
          jh: "少林寺",
          loc: "甬道",
          name: "慧色尊者",
          way: "jh 13;n;n",
          desc: "他是一位兩鬢斑白的老僧,身穿一襲青布鑲邊袈裟。他身材略高,太陽穴微凸,雙目炯炯有神。",
        },
        {
          jh: "少林寺",
          loc: "甬道",
          name: "扫地和尚",
          name_tw: "掃地和尚",
          way: "jh 13;n;n",
          desc: "一名年輕僧人,身穿灰色僧衣。",
        },
        {
          jh: "少林寺",
          loc: "甬道",
          name: "慧如尊者",
          way: "jh 13;n;n",
          desc: "他是一位兩鬢斑白的老僧,身穿一襲青布鑲邊袈裟。他身材略高,太陽穴微凸,雙目炯炯有神。",
        },
        {
          jh: "少林寺",
          loc: "東碑林",
          name: "洒水僧",
          name_tw: "灑水僧",
          way: "jh 13;n;n;e",
          desc: "一名年輕僧人,身穿灰色僧衣。",
        },
        {
          jh: "少林寺",
          loc: "天王殿",
          name: "小北",
          way: "jh 13;n;n;n",
          desc: "這是一個天真活潑的小沙彌,剛進寺不久,尚未剃度。",
        },
        {
          jh: "少林寺",
          loc: "天王殿",
          name: "玄痛大师",
          name_tw: "玄痛大師",
          way: "jh 13;n;n;n",
          desc: "他是一位白須白眉的老僧,身穿一襲銀絲棕黃袈裟。他身材高大,兩手過膝。雙目半睜半閉,卻不時射出一縷精光。",
        },
        {
          jh: "少林寺",
          loc: "廣場",
          name: "慧空尊者",
          way: "jh 13;n;n;n;n",
          desc: "他是一位兩鬢斑白的老僧,身穿一襲青布鑲邊袈裟。他身材略高,太陽穴微凸,雙目炯炯有神。",
        },
        {
          jh: "少林寺",
          loc: "廣場",
          name: "慧名尊者",
          way: "jh 13;n;n;n;n",
          desc: "他是一位兩鬢斑白的老僧,身穿一襲青布鑲邊袈裟。他身材略高,太陽穴微凸,雙目炯炯有神。",
        },
        {
          jh: "少林寺",
          loc: "廣場",
          name: "进香客",
          name_tw: "進香客",
          way: "jh 13;n;n;n;n",
          desc: "來寺裡進香的中年男子,看起來滿臉疲憊。",
        },
        {
          jh: "少林寺",
          loc: "鐘樓",
          name: "扫地僧",
          name_tw: "掃地僧",
          way: "jh 13;n;n;n;n;e",
          desc: "一個年老的僧人,看上去老態龍鍾,但是雙目間卻有一股精氣?",
        },
        {
          jh: "少林寺",
          loc: "鐘樓",
          name: "行者",
          way: "jh 13;n;n;n;n;e",
          desc: "他是一位雲遊四方的行者,風霜滿面,行色匆匆,似乎正在辦一件急事。",
        },
        {
          jh: "少林寺",
          loc: "大雄寶殿",
          name: "道象禅师",
          name_tw: "道象禪師",
          way: "jh 13;n;n;n;n;n",
          desc: "他是一位身材高大的中年僧人,兩臂粗壯,膀闊腰圓。他手持兵刃,身穿一襲灰布鑲邊袈裟,似乎有一身武藝。",
        },
        {
          jh: "少林寺",
          loc: "大雄寶殿",
          name: "小南",
          way: "jh 13;n;n;n;n;n",
          desc: "青衣小沙彌,尚未剃度。",
        },
        {
          jh: "少林寺",
          loc: "月台",
          name: "巡寺僧人",
          way: "jh 13;n;n;n;n;n;n",
          desc: "身穿黃色僧衣的僧人,負責看守藏經閣。",
        },
        {
          jh: "少林寺",
          loc: "月台",
          name: "托钵僧",
          name_tw: "托缽僧",
          way: "jh 13;n;n;n;n;n;n",
          desc: "他是一位未通世故的青年和尚,臉上掛著孩兒般的微笑。",
        },
        {
          jh: "少林寺",
          loc: "月台",
          name: "行者",
          way: "jh 13;n;n;n;n;n;n",
          desc: "他是一位雲遊四方的行者,風霜滿面,行色匆匆,似乎正在辦一件急事。",
        },
        {
          jh: "少林寺",
          loc: "東禪房",
          name: "打坐僧人",
          way: "jh 13;n;n;n;n;n;n;e",
          desc: "正在禪室打坐修行的僧人。",
        },
        {
          jh: "少林寺",
          loc: "藏經閣",
          name: "清晓比丘",
          name_tw: "清曉比丘",
          way: "jh 13;n;n;n;n;n;n;n",
          desc: "他是一位體格強健的壯年僧人,他身得虎背熊腰,全身似乎蘊含著無窮勁力。他身穿一襲白布黑邊袈裟,似乎身懷武藝。",
        },
        {
          jh: "少林寺",
          loc: "藏經閣",
          name: "黑衣大汉",
          name_tw: "黑衣大漢",
          way: "jh 13;n;n;n;n;n;n;n",
          desc: "黑布蒙面,只露出一雙冷電般的眼睛的黑衣大漢。",
        },
        {
          jh: "少林寺",
          loc: "藏經閣",
          name: "清缘比丘",
          name_tw: "清緣比丘",
          way: "jh 13;n;n;n;n;n;n;n",
          desc: "他是一位體格強健的壯年僧人,他身得虎背熊腰,全身似乎蘊含著無窮勁力。他身穿一襲白布黑邊袈裟,似乎身懷武藝。",
        },
        {
          jh: "少林寺",
          loc: "方丈院",
          name: "清为比丘",
          name_tw: "清為比丘",
          way: "jh 13;n;n;n;n;n;n;n;n",
          desc: "他是一位體格強健的壯年僧人,他身得虎背熊腰,全身似乎蘊含著無窮勁力。他身穿一襲白布黑邊袈裟,似乎身懷武藝。",
        },
        {
          jh: "少林寺",
          loc: "方丈院",
          name: "清无比丘",
          name_tw: "清無比丘",
          way: "jh 13;n;n;n;n;n;n;n;n",
          desc: "他是一位體格強健的壯年僧人,他身得虎背熊腰,全身似乎蘊含著無窮勁力。他身穿一襲白布黑邊袈裟,似乎身懷武藝。",
        },
        {
          jh: "少林寺",
          loc: "方丈院",
          name: "小沙弥",
          name_tw: "小沙彌",
          way: "jh 13;n;n;n;n;n;n;n;n",
          desc: "一名憨頭憨腦的和尚,手裡端著茶盤。",
        },
        {
          jh: "少林寺",
          loc: "方丈院",
          name: "清闻比丘",
          name_tw: "清聞比丘",
          way: "jh 13;n;n;n;n;n;n;n;n",
          desc: "他是一位體格強健的壯年僧人,他身得虎背熊腰,全身似乎蘊含著無窮勁力。他身穿一襲白布黑邊袈裟,似乎身懷武藝。",
        },
        {
          jh: "少林寺",
          loc: "東廂房",
          name: "玄悲大师",
          name_tw: "玄悲大師",
          way: "jh 13;n;n;n;n;n;n;n;n;e",
          desc: "他是一位白須白眉的老僧,身穿一襲銀絲棕黃袈裟。他身材甚高,但骨瘦如柴,頂門高聳,雙目湛然有神。",
        },
        {
          jh: "少林寺",
          loc: "方丈室",
          name: "玄慈大师",
          name_tw: "玄慈大師",
          way: "jh 13;n;n;n;n;n;n;n;n;n",
          desc: "他是一位白須白眉的老僧,身穿一襲金絲繡紅袈裟。他身材略顯佝僂,但卻滿面紅光,目蘊慈笑,顯得神完氣足。",
        },
        {
          jh: "少林寺",
          loc: "方丈室",
          name: "清乐比丘",
          name_tw: "清樂比丘",
          way: "jh 13;n;n;n;n;n;n;n;n;n",
          desc: "他是一位體格強健的壯年僧人,他身得虎背熊腰,全身似乎蘊含著無窮勁力。他身穿一襲白布黑邊袈裟,似乎身懷武藝。",
        },
        {
          jh: "少林寺",
          loc: "方丈室",
          name: "清善比丘",
          way: "jh 13;n;n;n;n;n;n;n;n;n",
          desc: "他是一位體格強健的壯年僧人,他身得虎背熊腰,全身似乎蘊含著無窮勁力。他身穿一襲白布黑邊袈裟,似乎身懷武藝。",
        },
        {
          jh: "少林寺",
          loc: "立雪亭",
          name: "清法比丘",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n",
          desc: "他是一位體格強健的壯年僧人,他生得虎背熊腰,全身似乎蘊含著無窮勁力。他身穿一襲白布黑邊袈裟,似乎身懷武藝。",
        },
        {
          jh: "少林寺",
          loc: "立雪亭",
          name: "清观比丘",
          name_tw: "清觀比丘",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n",
          desc: "他是一位體格強健的壯年僧人,他身得虎背熊腰,全身似乎蘊含著無窮勁力。他身穿一襲白布黑邊袈裟,似乎身懷武藝。",
        },
        {
          jh: "少林寺",
          loc: "立雪亭",
          name: "立雪亭",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n",
          desc: "",
        },
        {
          jh: "少林寺",
          loc: "立雪亭",
          name: "白眉老僧",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n",
          desc: "少林寺高僧,武功修為無人能知。",
        },
        {
          jh: "少林寺",
          loc: "院落",
          name: "慧真尊者",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;n",
          desc: "他是一位兩鬢斑白的老僧,身穿一襲青布鑲邊袈裟。他身材略高,太陽穴微凸,雙目炯炯有神。",
        },
        {
          jh: "少林寺",
          loc: "院落",
          name: "慧虚尊者",
          name_tw: "慧虛尊者",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;n",
          desc: "他是一位兩鬢斑白的老僧,身穿一襲青布鑲邊袈裟。他身材略高,太陽穴微凸,雙目炯炯有神。",
        },
        {
          jh: "少林寺",
          loc: "院落",
          name: "青松",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;n",
          desc: "天真無邪的小沙彌",
        },
        {
          jh: "少林寺",
          loc: "白衣殿",
          name: "冷幽兰",
          name_tw: "冷幽蘭",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;n;e",
          desc: "“吐秀喬林之下,盤根眾草之旁。雖無人而見賞,且得地而含芳。”她如同空谷幽蘭一般素雅靜謐,纖巧削細,面若凝脂,眉目如畫,神若秋水。",
        },
        {
          jh: "少林寺",
          loc: "千佛殿",
          name: "慧修尊者",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;n;n",
          desc: "他是一位兩鬢斑白的老僧,身穿一襲青布鑲邊袈裟。他身材略高,太陽穴微凸,雙目炯炯有神。",
        },
        {
          jh: "少林寺",
          loc: "千佛殿",
          name: "慧轮",
          name_tw: "慧輪",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;n;n",
          desc: "少林寺弟子,虛竹的師傅,武功修為平平。",
        },
        {
          jh: "少林寺",
          loc: "藥樓",
          name: "守药僧",
          name_tw: "守藥僧",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;n;n;e",
          desc: "一位守著少林藥樓的高僧。",
        },
        {
          jh: "少林寺",
          loc: "樹林",
          name: "砍柴僧",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;n;n;w",
          desc: "一名年輕僧人,身穿灰色僧衣。",
        },
        {
          jh: "少林寺",
          loc: "樹林",
          name: "道相禅师",
          name_tw: "道相禪師",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;n;n;w",
          desc: "他是一位身材高大的中年僧人,兩臂粗壯,膀闊腰圓。他手持兵刃,身穿一襲灰布鑲邊袈裟,似乎有一身武藝。",
        },
        {
          jh: "少林寺",
          loc: "火龍洞",
          name: "达摩老祖",
          name_tw: "達摩老祖",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;n;n;w;n;get_silver",
          desc: "這是少林派的開山祖師達摩老祖他身材高大,看起來不知有多大年紀,目光如炬,神光湛然!",
        },
        {
          jh: "少林寺",
          loc: "地藏殿",
          name: "道一禅师",
          name_tw: "道一禪師",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;n;w",
          desc: "他是一位身材高大的中年僧人,兩臂粗壯,膀闊腰圓。他手持兵刃,身穿一襲灰布鑲邊袈裟,似乎有一身武藝。",
        },
        {
          jh: "少林寺",
          loc: "地藏殿",
          name: "玄难大师",
          name_tw: "玄難大師",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;n;w",
          desc: "他是一位白須白眉的老僧,身穿一襲銀絲棕黃袈裟。他身材極瘦,兩手更象雞爪一樣。他雙目微閉,一副沒精打采的模樣。",
        },
        {
          jh: "少林寺",
          loc: "地藏殿",
          name: "道正禅师",
          name_tw: "道正禪師",
          way: "jh 13;n;n;n;n;n;n;n;n;n;n;n;w",
          desc: "他是一位身材高大的中年僧人,兩臂粗壯,膀闊腰圓。他手持兵刃,身穿一襲灰布鑲邊袈裟,似乎有一身武藝。",
        },
        {
          jh: "少林寺",
          loc: "茶室",
          name: "叶十二娘",
          name_tw: "葉十二孃",
          way: "jh 13;n;n;n;n;n;n;n;n;n;shaolin25_op1",
          desc: "頗有姿色的中年女子,一雙大眼裡似乎隱藏著無窮愁苦、無限傷心。",
        },
        {
          jh: "少林寺",
          loc: "西廂房",
          name: "玄苦大师",
          name_tw: "玄苦大師",
          way: "jh 13;n;n;n;n;n;n;n;n;w",
          desc: "他是一位白須白眉的老僧,身穿一襲銀絲棕黃袈裟。他身材瘦高,臉上滿布皺紋,手臂處青筋綻露,似乎久經風霜。",
        },
        {
          jh: "少林寺",
          loc: "西廂房",
          name: "慧合尊者",
          way: "jh 13;n;n;n;n;n;n;n;n;w",
          desc: "他是一位兩鬢斑白的老僧,身穿一襲青布鑲邊袈裟。他身材略高,太陽穴微凸,雙目炯炯有神。",
        },
        {
          jh: "少林寺",
          loc: "西廂房",
          name: "慧洁尊者",
          name_tw: "慧潔尊者",
          way: "jh 13;n;n;n;n;n;n;n;n;w",
          desc: "他是一位兩鬢斑白的老僧,身穿一襲青布鑲邊袈裟。他身材略高,太陽穴微凸,雙目炯炯有神。",
        },
        {
          jh: "少林寺",
          loc: "藏經閣二樓",
          name: "灰衣僧",
          way: "jh 13;n;n;n;n;n;n;n;shaolin27_op1",
          desc: "一名灰衣僧人,灰布蒙面,一雙眼睛裡透著過人的精明。",
        },
        {
          jh: "少林寺",
          loc: "藏經閣二樓",
          name: "萧远山",
          name_tw: "蕭遠山",
          way: "jh 13;n;n;n;n;n;n;n;shaolin27_op1",
          desc: "契丹絕頂高手之一,曾隨漢人學武,契丹鷹師總教頭。",
        },
        {
          jh: "少林寺",
          loc: "藏經閣三樓",
          name: "守经僧人",
          name_tw: "守經僧人",
          way: "jh 13;n;n;n;n;n;n;n;shaolin27_op1;event_1_34680156",
          desc: "似乎常年鎮守於藏經閣,稀稀疏疏的幾根長須已然全白,正拿著經書仔細研究。",
        },
        {
          jh: "少林寺",
          loc: "西禪房",
          name: "盈盈",
          way: "jh 13;n;n;n;n;n;n;w",
          desc: "魔教任教主之女,有傾城之貌,閉月之姿,流轉星眸顧盼生輝,發絲隨意披散,慵懶不羈。",
        },
        {
          jh: "少林寺",
          loc: "鼓樓",
          name: "道尘禅师",
          name_tw: "道塵禪師",
          way: "jh 13;n;n;n;n;w",
          desc: "他是一位身材高大的中年僧人,兩臂粗壯,膀闊腰圓。他手持兵刃,身穿一襲灰布鑲邊袈裟,似乎有一身武藝。",
        },
        {
          jh: "少林寺",
          loc: "鼓樓",
          name: "狱卒",
          name_tw: "獄卒",
          way: "jh 13;n;n;n;n;w",
          desc: "一名看起來凶神惡煞的獄卒",
        },
        {
          jh: "少林寺",
          loc: "西碑林",
          name: "道成禅师",
          name_tw: "道成禪師",
          way: "jh 13;n;n;w",
          desc: "他是一位身材高大的中年僧人,兩臂粗壯,膀闊腰圓。他手持兵刃,身穿一襲灰布鑲邊袈裟,似乎有一身武藝。",
        },
        {
          jh: "少林寺",
          loc: "西碑林",
          name: "挑水僧",
          way: "jh 13;n;n;w",
          desc: "一名年輕僧人,身穿灰色僧衣。",
        },
        {
          jh: "少林寺",
          loc: "土路",
          name: "道品禅师",
          name_tw: "道品禪師",
          way: "jh 13;n;w",
          desc: "他是一位身材高大的中年僧人,兩臂粗壯,膀闊腰圓。他手持兵刃,身穿一襲灰布鑲邊袈裟,似乎有一身武藝。",
        },
        {
          jh: "少林寺",
          loc: "土路",
          name: "田鼠",
          way: "jh 13;n;w",
          desc: "一隻髒兮兮的田鼠,正在田間覓食。",
        },
        {
          jh: "少林寺",
          loc: "小院",
          name: "道觉禅师",
          name_tw: "道覺禪師",
          way: "jh 13;n;w;w",
          desc: "他是一位身材高大的中年僧人,兩臂粗壯,膀闊腰圓。他手持兵刃,身穿一襲灰布鑲邊袈裟,似乎有一身武藝。",
        },
        {
          jh: "少林寺",
          loc: "小院",
          name: "小孩",
          way: "jh 13;n;w;w",
          desc: "一個農家小孩,不知道在這裡幹什麼。",
        },
        {
          jh: "唐門",
          loc: "南津關",
          name: "高一毅",
          way: "jh 14;e",
          desc: "五代十國神槍王后人,英氣勃發,目含劍氣。",
        },
        {
          jh: "唐門",
          loc: "張憲祠",
          name: "张之岳",
          name_tw: "張之嶽",
          way: "jh 14;e;event_1_10831808;n",
          desc: "張憲之子,身形高大,威風凜凜",
        },
        {
          jh: "唐門",
          loc: "",
          name: "紫衣剑客",
          name_tw: "紫衣劍客",
          way: "",
          desc: "傲然而立,一臉嚴肅,好像是在瞪著你一樣。",
        },
        {
          jh: "唐門",
          loc: "",
          name: "独臂剑客",
          name_tw: "獨臂劍客",
          way: "",
          desc: "他一生守護在這,劍重要過他的生命。",
        },
        {
          jh: "唐門",
          loc: "",
          name: "青衣剑客",
          name_tw: "青衣劍客",
          way: "",
          desc: "一個風程僕僕的俠客。",
        },
        {
          jh: "唐門",
          loc: "",
          name: "黑衣剑客",
          name_tw: "黑衣劍客",
          way: "",
          desc: "一身黑衣,手持長劍,就像世外高人一樣。",
        },
        {
          jh: "唐門",
          loc: "",
          name: "无情剑客",
          name_tw: "無情劍客",
          way: "",
          desc: "神秘的江湖俠客,如今在這裡不知道作甚麼。",
        },
        {
          jh: "唐門",
          loc: "浣花劍碑",
          name: "程倾城",
          name_tw: "程傾城",
          way: "jh 14;sw;s;e;s;s;sw;sw;w;w;s;s;e",
          desc: "曾是兩淮一代最有天賦的年輕劍客,在觀海莊追殺徽北劇盜之戰一劍破對方七人刀陣,自此“傾城劍客”之名響徹武林。",
        },
        {
          jh: "唐門",
          loc: "浣花劍池入口",
          name: "无名剑客",
          name_tw: "無名劍客",
          way: "jh 14;sw;s;e;s;s;sw;sw;w;w;s;s;e;e",
          desc: "一位沒有名字的劍客,他很可能是曾經冠絕武林的劍術高手。",
        },
        {
          jh: "唐門",
          loc: "瑤光池",
          name: "默剑客",
          name_tw: "默劍客",
          way: "jh 14;sw;s;e;s;s;sw;sw;w;w;s;s;e;e;e",
          desc: "這是一個沉默不語的劍客,數年來不曾說過一句話,專注地參悟著劍池絕學。",
        },
        {
          jh: "唐門",
          loc: "破軍劍閣",
          name: "竺霁庵",
          name_tw: "竺霽庵",
          way: "jh 14;sw;s;e;s;s;sw;sw;w;w;s;s;e;e;e;n",
          desc: "湖竺家一門七進士,竺霽庵更是天子門生獨佔鰲頭,隨身喜攜帶一柄折扇。後因朝廷亂政心灰意冷,棄仕從武,更拜入少林成為俗家弟子。不足二十三歲便學盡少林絕學,武功臻至登峰造極之化境。後在燕北之地追兇時偶遇當時也是少年的鹿熙吟和謝麟玄,三人聯手血戰七日,白袍盡赤,屠盡太行十八夜騎。三人意氣相投,志同道合,結為異姓兄弟,在鹿謝二人引薦下,終成為浣花劍池這一代的破軍劍神。",
        },
        {
          jh: "唐門",
          loc: "武曲劍閣",
          name: "甄不恶",
          name_tw: "甄不惡",
          way: "jh 14;sw;s;e;s;s;sw;sw;w;w;s;s;e;e;e;n;ne",
          desc: "他的相貌看起來是那麼寧靜淡泊、眼睛眉毛都透著和氣,嘴角彎彎一看就象個善笑的人。他不象個俠客,倒象一個孤隱的君子。不瞭解的人總是懷疑清秀如竹的他怎麼能拿起手中那把重劍?然而,他確是浣花劍派最嫉惡如仇的劍神,武林奸邪最懼怕的名字,因為當有惡人聽到『甄不惡』被他輕輕從嘴裡吐出,那便往往是他聽到的最後三個字。",
        },
        {
          jh: "唐門",
          loc: "廉貞劍閣",
          name: "素厉铭",
          name_tw: "素厲銘",
          way: "jh 14;sw;s;e;s;s;sw;sw;w;w;s;s;e;e;e;n;ne;e",
          desc: "本是淮南漁家子弟,也並無至高的武學天賦,然其自幼喜觀察魚蟲鳥獸,竟不自覺地悟出了一套氣脈運轉的不上心法。後因此絕學獲難,被千夜旗餘孽追殺,欲奪其心法為己用。上代封山劍主出手相救,並送至廉貞劍神門下,專心修煉內功,最終竟憑藉其一顆不二之心,成就一代劍神。",
        },
        {
          jh: "唐門",
          loc: "七殺劍閣",
          name: "骆祺樱",
          name_tw: "駱祺櫻",
          way: "jh 14;sw;s;e;s;s;sw;sw;w;w;s;s;e;e;e;n;ne;e;se",
          desc: "塞外武學世家駱家家主的千金,自幼聰慧無比,年紀輕輕便習盡駱家絕學,十八歲通過劍池試煉,成為劍池數百年來最年輕的七殺劍神。她雙眸似水,卻帶著談談的冰冷,似乎能看透一切;四肢纖長,有仙子般脫俗氣質。她一襲白衣委地,滿頭青絲用蝴蝶流蘇淺淺綰起,雖峨眉淡掃,不施粉黛,卻仍然掩不住她的絕世容顏。",
        },
        {
          jh: "唐門",
          loc: "天梁劍閣",
          name: "谢麟玄",
          name_tw: "謝麟玄",
          way: "jh 14;sw;s;e;s;s;sw;sw;w;w;s;s;e;e;e;n;ne;e;se;s;se",
          desc: "一襲青緞長衫,儒雅中透著英氣,好一個翩翩公子。書香門第之後,其劍學領悟大多出自絕世的琴譜,棋譜,和書畫,劍法狂放不羈,處處不合武學常理,卻又有著難以言喻的寫意和瀟灑。他擅長尋找對手的薄弱環節,猛然一擊,敵陣便土崩瓦解。",
        },
        {
          jh: "唐門",
          loc: "巨門劍閣",
          name: "祝公博",
          way: "jh 14;sw;s;e;s;s;sw;sw;w;w;s;s;e;e;e;n;ne;e;se;s;se;e",
          desc: "曾經的湘西農家少年,全家遭遇匪禍,幸得上一代巨門劍神出手相救。劍神喜其非凡的武學天賦和不捨不棄的勤奮,收作關門弟子,最終得以承接巨門劍神衣缽。祝公博嫉惡如仇,公正不阿,視天道正義為世間唯一準則。",
        },
        {
          jh: "唐門",
          loc: "紫薇池",
          name: "黄衫少女",
          name_tw: "黃衫少女",
          way: "jh 14;sw;s;e;s;s;sw;sw;w;w;s;s;e;e;e;n;ne;e;se;s;se;e;ne",
          desc: "身著鵝黃裙衫的少女,一席華貴的栗色秀發真達腰際,碧色的瞳孔隱隱透出神秘。她見你走過來,衝你輕輕一笑。",
        },
        {
          jh: "唐門",
          loc: "貪狼劍閣",
          name: "鹿熙吟",
          way: "jh 14;sw;s;e;s;s;sw;sw;w;w;s;s;e;e;e;n;ne;e;se;s;se;e;ne;n",
          desc: "浣花劍派當世的首席劍神,他身形挺拔,目若朗星。雖然已是中年,但歲月的雕琢更顯出他的氣度。身為天下第一劍派的首席,他待人和善,卻又不怒自威。百曉公見過鹿熙吟之後,驚為天人,三月不知如何下筆,最後據說在百曉圖錄貪狼劍神鹿熙吟那一頁,只留下了兩個字:不凡。他的家世出身是一個迷,從來無人知曉。",
        },
        {
          jh: "唐門",
          loc: "唐門牌坊",
          name: "唐门弟子",
          name_tw: "唐門弟子",
          way: "jh 14;w;n",
          desc: "這是唐門的弟子,不苟言笑。",
        },
        {
          jh: "唐門",
          loc: "唐門廚房",
          name: "唐门弟子",
          name_tw: "唐門弟子",
          way: "jh 14;w;n;n;n;e;s",
          desc: "這是唐門的弟子,不苟言笑。",
        },
        {
          jh: "唐門",
          loc: "唐門前院",
          name: "唐风",
          name_tw: "唐風",
          way: "jh 14;w;n;n",
          desc: "唐風是唐門一個神秘之人,世人對他知之甚少。他在唐門默默地傳授武藝,極少說話。",
        },
        {
          jh: "唐門",
          loc: "狹長小道",
          name: "唐看",
          way: "jh 14;w;n;n;n",
          desc: "這是嫡系死士之一,一身的功夫卻是不凡。",
        },
        {
          jh: "唐門",
          loc: "練武廣場",
          name: "黄色唐门弟子",
          name_tw: "黃色唐門弟子",
          way: "jh 14;w;n;n;n;e;e;n",
          desc: "",
        },
        {
          jh: "唐門",
          loc: "練武廣場",
          name: "唐健",
          way: "jh 14;w;n;n;n;e;e;n",
          desc: "他身懷絕技,心氣也甚高。",
        },
        {
          jh: "唐門",
          loc: "練武廣場",
          name: "(黄色)唐门弟子",
          name_tw: "(黃色)唐門弟子",
          way: "jh 14;w;n;n;n;e;e;n",
          desc: "這是唐門的弟子,不苟言笑。",
        },
        {
          jh: "唐門",
          loc: "授藝亭",
          name: "唐舌",
          way: "jh 14;w;n;n;n;e;e;n;e",
          desc: "這是嫡系死士之一,一身的功夫卻是不凡。用毒高手。",
        },
        {
          jh: "唐門",
          loc: "後院",
          name: "唐情",
          way: "jh 14;w;n;n;n;e;e;n;n",
          desc: "一個小女孩,十分可愛。",
        },
        {
          jh: "唐門",
          loc: "後院",
          name: "唐刚",
          name_tw: "唐剛",
          way: "jh 14;w;n;n;n;e;e;n;n",
          desc: "一個尚未成年的小男孩,但也已經開始學習唐門的武藝。",
        },
        {
          jh: "唐門",
          loc: "地室",
          name: "欧阳敏",
          name_tw: "歐陽敏",
          way: "jh 14;w;n;n;n;e;e;n;n;ask tangmen_tangmei;ask tangmen_tangmei;e;event_1_8413183;唐門:鐵柵欄^兵器室;n;n",
          desc: "一個老婦人,眼睛中射出道道精光,一看就是武藝高強之人。",
        },
        {
          jh: "唐門",
          loc: "會客室",
          name: "方媃",
          way: "jh 14;w;n;n;n;n",
          desc: "一個美麗的中年婦女,使得一手好暗器。",
        },
        {
          jh: "唐門",
          loc: "會客室",
          name: "唐怒",
          way: "jh 14;w;n;n;n;n",
          desc: "唐門門主,在江湖中地位很高。",
        },
        {
          jh: "唐門",
          loc: "東側房",
          name: "唐鹤",
          name_tw: "唐鶴",
          way: "jh 14;w;n;n;n;w;s",
          desc: "唐門中的高層,野心很大,一直想將唐門稱霸武林。",
        },
        {
          jh: "唐門",
          loc: "唐鏢臥室",
          name: "唐镖",
          name_tw: "唐鏢",
          way: "jh 14;w;n;n;n;w;w;s",
          desc: "唐門中所有的絕門鏢法,他都會用。",
        },
        {
          jh: "唐門",
          loc: "唐芳臥室",
          name: "唐芳",
          way: "jh 14;w;n;n;n;w;w;w;n",
          desc: "雖然是一個少女,但武藝已達精進之境界了。",
        },
        {
          jh: "唐門",
          loc: "唐緣臥室",
          name: "唐缘",
          name_tw: "唐緣",
          way: "jh 14;w;n;n;n;w;w;w;s",
          desc: "人如其名,雖然年幼,但已是能看出美人胚子了。",
        },
        {
          jh: "青城山",
          loc: "練武場",
          name: "白衣镖师",
          name_tw: "白衣鏢師",
          way: "jh 15;s;s;s;w;w;s;s",
          desc: "這個鏢師穿著一身白衣。",
        },
        {
          jh: "青城山",
          loc: "青城大門",
          name: "侯老大",
          way: "jh 15;n;nw;w;nw;w;s;s",
          desc: "他就是「英雄豪傑,青城四秀」之一,武功也遠高同門。",
        },
        {
          jh: "青城山",
          loc: "福州大街",
          name: "福州捕快",
          way: "jh 15;s;s;s;s;s",
          desc: "福州的捕快,整天懶懶散散,不務正業。",
        },
        {
          jh: "青城山",
          loc: "福州南門",
          name: "童泽",
          name_tw: "童澤",
          way: "jh 15;s;s;s;s;s;s",
          desc: "一個青年人,眼神有悲傷、亦有仇恨。",
        },
        {
          jh: "青城山",
          loc: "石拱橋",
          name: "童隆",
          way: "jh 15;s;s;s;s;s;s;sw",
          desc: "一個眼神兇惡的老頭,身材有點佝僂。",
        },
        {
          jh: "青城山",
          loc: "",
          name: "林老镖头",
          name_tw: "林老鏢頭",
          way: ".靠謎題飛",
          desc: "他就是「福武鏢局」的總鏢頭。",
        },
        {
          jh: "青城山",
          loc: "北郊",
          name: "海公公",
          way: "jh 15",
          desc: "海公公是皇帝身邊的紅人,不知為什麼在此?",
        },
        {
          jh: "青城山",
          loc: "小徑",
          name: "游方郎中",
          name_tw: "遊方郎中",
          way: "jh 15;n",
          desc: "一個到處販賣藥材的赤腳醫生。",
        },
        {
          jh: "青城山",
          loc: "龍晶石洞",
          name: "孽龙之灵",
          name_tw: "孽龍之靈",
          way: "jh 15;n;nw;w;nw;n;event_1_14401179",
          desc: "當年為害岷水的孽龍,為李冰父子收服,魂魄不散,凝聚於此,看守洞內龍魄。",
        },
        {
          jh: "青城山",
          loc: "龍晶石洞",
          name: "孽龙分身",
          name_tw: "孽龍分身",
          way: "jh 15;n;nw;w;nw;n;event_1_14401179",
          desc: "孽龍分身,不可小視。",
        },
        {
          jh: "青城山",
          loc: "龍晶石洞",
          name: "暗甲盟主",
          way: "jh 15;n;nw;w;nw;n;event_1_14401179;event_1_80293122;n;n",
          desc: "暗誓盟巴蜀據點的盟主。",
        },
        {
          jh: "青城山",
          loc: "龍晶石洞",
          name: "暗甲将领",
          name_tw: "暗甲將領",
          way: "jh 15;n;nw;w;nw;n;event_1_14401179;event_1_80293122;n;n",
          desc: "一個風程僕僕的俠客。",
        },
        {
          jh: "青城山",
          loc: "青城大門",
          name: "青城弟子",
          way: "jh 15;n;nw;w;nw;w;s;s",
          desc: "青城派的弟子,年紀剛過二十,武藝不錯,資質上乘。",
        },
        {
          jh: "青城山",
          loc: "青城大門",
          name: "严月青",
          name_tw: "嚴月青",
          way: "jh 15;n;nw;w;nw;w;s;s",
          desc: "他就是「英雄豪傑,青城四秀」之一,武功也遠高同門。",
        },
        {
          jh: "青城山",
          loc: "青城大門",
          name: "青城派弟子",
          way: "jh 15;n;nw;w;nw;w;s;s",
          desc: "青城派的弟子,年紀剛過二十,武藝還過得去。",
        },
        {
          jh: "青城山",
          loc: "解劍石",
          name: "申月富",
          way: "jh 15;n;nw;w;nw;w;s;s;s",
          desc: "他就是「英雄豪傑,青城四秀」之一,武功也遠高同門。",
        },
        {
          jh: "青城山",
          loc: "演武堂",
          name: "吉人英",
          way: "jh 15;n;nw;w;nw;w;s;s;s;;kill qingcheng_renjie;w;w",
          desc: "他就是和申人俊焦孟不離的吉人通。",
        },
        {
          jh: "青城山",
          loc: "小室",
          name: "贾老二",
          name_tw: "賈老二",
          name_new: "孟月城",
          way: "jh 15;n;nw;w;nw;w;s;s;s;;kill qingcheng_renjie;w;w;n",
          desc: "他就是「青城派」中最為同門不齒、最下達的傢伙。",
        },
        {
          jh: "青城山",
          loc: "松風觀",
          name: "余大掌门",
          name_tw: "餘大掌門",
          name_new: "呂朝陽",
          way: "jh 15;n;nw;w;nw;w;s;s;s;;kill qingcheng_renjie;w;w;w",
          desc: "青城派十八代掌門人",
        },
        {
          jh: "青城山",
          loc: "青城走廊",
          name: "黄袍老道",
          name_tw: "黃袍老道",
          way: "jh 15;n;nw;w;nw;w;s;s;s;;kill qingcheng_renjie;w;w;w;n",
          desc: "一個穿著黃色道袍的老道士。",
        },
        {
          jh: "青城山",
          loc: "青城走廊",
          name: "青袍老道",
          way: "jh 15;n;nw;w;nw;w;s;s;s;;kill qingcheng_renjie;w;w;w;n",
          desc: "一個穿著青色道袍的老道士。",
        },
        {
          jh: "青城山",
          loc: "青城山走廊",
          name: "于老三",
          name_tw: "於老三",
          way: "jh 15;n;nw;w;nw;w;s;s;s;;kill qingcheng_renjie;w;w;w;n;w",
          desc: "他就是「英雄豪傑,青城四秀」之一,武功也遠高同門。",
        },
        {
          jh: "青城山",
          loc: "義莊",
          name: "仵作",
          way: "jh 15;s;ne",
          desc: "這是福州城外的一個仵作,專門檢驗命案死屍。",
        },
        {
          jh: "青城山",
          loc: "福州大街",
          name: "恶少",
          name_tw: "惡少",
          way: "jh 15;s;s",
          desc: "這是福州城中人見人惡的惡少,最好別惹。",
        },
        {
          jh: "青城山",
          loc: "福州大街",
          name: "仆人",
          name_tw: "僕人",
          way: "jh 15;s;s",
          desc: "惡少帶著這個僕人,可是威風得緊的。",
        },
        {
          jh: "青城山",
          loc: "小肉鋪",
          name: "屠夫",
          way: "jh 15;s;s;e",
          desc: "一個賣肉的屠夫。",
        },
        {
          jh: "青城山",
          loc: "四季花店",
          name: "小甜",
          way: "jh 15;s;s;s;e",
          desc: "花店中賣花的姑娘,花襯人臉,果然美不勝收。",
        },
        {
          jh: "青城山",
          loc: "書院",
          name: "读千里",
          name_tw: "讀千里",
          way: "jh 15;s;s;s;s;e",
          desc: "此人學富五車,搖頭晃腦,只和人談史論經。",
        },
        {
          jh: "青城山",
          loc: "福州官衙",
          name: "福州府尹",
          way: "jh 15;s;s;s;s;s;e",
          desc: "此人官架子很大。",
        },
        {
          jh: "青城山",
          loc: "劍廬",
          name: "背剑老人",
          name_tw: "背劍老人",
          way: "jh 15;s;s;s;s;s;s;s;s;s;e;s",
          desc: "揹著一把普通的劍,神態自若,似乎有一股劍勢與圍於週身,退隱江湖幾十年,如今沉醉於花道。",
        },
        {
          jh: "青城山",
          loc: "小河邊",
          name: "木道神",
          name_new: "林長老",
          way: "jh 15;s;s;s;s;s;s;w",
          desc: "他是青城山的祖師級人物了,年紀雖大,但看不出歲月滄桑。",
        },
        {
          jh: "青城山",
          loc: "武器店",
          name: "兵器贩子",
          name_tw: "兵器販子",
          way: "jh 15;s;s;s;s;w",
          desc: "一個販賣兵器的男子,看不出有什麼來歷。",
        },
        {
          jh: "青城山",
          loc: "鏢局車站",
          name: "阿美",
          way: "jh 15;s;s;s;w;w;n",
          desc: "此人三十來歲,專門福州駕駛馬車。",
        },
        {
          jh: "青城山",
          loc: "練武場",
          name: "红衣镖师",
          name_tw: "紅衣鏢師",
          way: "jh 15;s;s;s;w;w;s;s",
          desc: "這個鏢師穿著一身紅衣。",
        },
        {
          jh: "青城山",
          loc: "練武場",
          name: "黄衣镖师",
          name_tw: "黃衣鏢師",
          way: "jh 15;s;s;s;w;w;s;s",
          desc: "這個鏢師穿著一身黃衣。",
        },
        {
          jh: "青城山",
          loc: "練武場",
          name: "镖局弟子",
          name_tw: "鏢局弟子",
          way: "jh 15;s;s;s;w;w;s;s",
          desc: "福威鏢局的弟子。",
        },
        {
          jh: "青城山",
          loc: "內宅",
          name: "林师弟",
          name_tw: "林師弟",
          way: "jh 15;s;s;s;w;w;w;w;w;n",
          desc: "林師弟是華山眾最小的一個弟子。",
        },
        {
          jh: "青城山",
          loc: "無醉酒家",
          name: "店小二",
          way: "jh 15;s;s;w",
          desc: "這個店小二忙忙碌碌,招待客人手腳利索。",
        },
        {
          jh: "青城山",
          loc: "無醉酒家",
          name: "酒店老板",
          name_tw: "酒店老闆",
          way: "jh 15;s;s;w",
          desc: "酒店老闆是福州城有名的富人。",
        },
        {
          jh: "青城山",
          loc: "酒家二樓",
          name: "女侍",
          way: "jh 15;s;s;w;n",
          desc: "這是一個女店小二,在福州城內,可是獨一無二哦。",
        },
        {
          jh: "青城山",
          loc: "酒家二樓",
          name: "酒店女老板",
          name_tw: "酒店女老闆",
          way: "jh 15;s;s;w;n",
          desc: "一個漂亮的女老闆,體格風騷。",
        },
        {
          jh: "逍遙林",
          loc: "石室",
          name: "逍遥祖师",
          name_tw: "逍遙祖師",
          way: "jh 16;s;s;s;s;e;n;e;event_1_5221690;s;w;event_1_57688376;n;n;event_1_38333366;event_1_38333366;event_1_38333366;event_1_38333366;event_1_38333366;event_1_38333366;event_1_38333366;place?石室",
          desc: "他就是逍遙派開山祖師、但是因為逍遙派屬於一個在江湖中的秘密教派,所以他在江湖中不是很多人知道,但其實他的功夫卻是。。。。他年滿七旬,滿臉紅光,須眉皆白。",
        },
        {
          jh: "逍遙林",
          loc: "林間小道",
          name: "吴统领",
          name_tw: "吳統領",
          way: "jh 16;s;s;s;s;e;e;s;w",
          desc: "他雅擅丹青,山水人物,翎毛花卉,並皆精巧。拜入師門之前,在大宋朝廷做過領軍將軍之職,因此大家便叫他吳統領。",
        },
        {
          jh: "逍遙林",
          loc: "林間小道",
          name: "蒙面人",
          way: "jh 16;s;s;s;s;e;e;s;w",
          desc: "一個蒙著面部,身穿黑色夜行衣服的神秘人。",
        },
        {
          jh: "逍遙林",
          loc: "石屋",
          name: "范棋癡",
          name_tw: "範棋癡",
          way: "jh 16;s;s;s;s;e;e;s;w;n",
          desc: "他師從聰辯先生,學的是圍棋,當今天下,少有敵手",
        },
        {
          jh: "逍遙林",
          loc: "工匠屋",
          name: "冯巧匠",
          name_tw: "馮巧匠",
          way: "jh 16;s;s;s;s;e;e;s;w;s;s",
          desc: "據說他就是魯班的後人,本來是木匠出身。他在精於土木工藝之學,當代的第一巧匠,設計機關的能手。",
        },
        {
          jh: "逍遙林",
          loc: "青草坪",
          name: "苏先生",
          name_tw: "蘇先生",
          way: "jh 16;s;s;s;s;e;e;s;w;w",
          desc: "此人就是蘇先生,據說他能言善辯,是一個武林中的智者,而他的武功也是無人能知。",
        },
        {
          jh: "逍遙林",
          loc: "林間小道",
          name: "石师妹",
          name_tw: "石師妹",
          way: "jh 16;s;s;s;s;e;e;s;w;w;n",
          desc: "師妹,精於蒔花,天下她精於蒔花,天下的奇花異卉,一經她的培植,無不欣欣向榮。",
        },
        {
          jh: "逍遙林",
          loc: "小木屋",
          name: "薛神医",
          name_tw: "薛神醫",
          way: "jh 16;s;s;s;s;e;e;s;w;w;n;n",
          desc: "據說他精通醫理,可以起死回生。",
        },
        {
          jh: "逍遙林",
          loc: "木屋",
          name: "康琴癫",
          name_tw: "康琴癲",
          way: "jh 16;s;s;s;s;e;e;s;w;w;s;s",
          desc: "只見他高額凸顙,容貌奇古,笑眯眯的臉色極為和謨,手中抱著一具瑤琴。",
        },
        {
          jh: "逍遙林",
          loc: "林間小道",
          name: "苟书癡",
          name_tw: "苟書癡",
          name_new: "張通鑑",
          way: "jh 16;s;s;s;s;e;e;s;w;w;w",
          desc: "他看上去也是幾十歲的人了,性好讀書,諸子百家,無所不窺,是一位極有學問的宿儒,卻是純然一個書呆子的模樣。",
        },
        {
          jh: "逍遙林",
          loc: "酒家",
          name: "李唱戏",
          name_tw: "李唱戲",
          way: "jh 16;s;s;s;s;e;e;s;w;w;w;w;s",
          desc: "他看起來青面獠牙,紅發綠須,形狀可怕之極,直是個妖怪,身穿一件亮光閃閃的錦袍。他一生沉迷扮演戲文,瘋瘋顛顛,於這武學一道,不免疏忽了。",
        },
        {
          jh: "逍遙林",
          loc: "石室",
          name: "天山姥姥",
          name_new: "童冰煙",
          way: "jh 16;s;s;s;s;e;n;e;event_1_5221690;s;w;event_1_57688376;n;n;e;n;event_1_88625473;event_1_82116250;event_1_90680562;event_1_38586637",
          desc: "她乍一看似乎是個十七八歲的女子,可神情卻是老氣橫秋。雙目如電,炯炯有神,向你瞧來時,自有一股淩人的威嚴。",
        },
        {
          jh: "逍遙林",
          loc: "馬幫駐地",
          name: "常一恶",
          name_tw: "常一惡",
          way: "jh 16;s;s;s;s;e;n;e;event_1_56806815",
          desc: "馬幫幫主,總管事,喜歡錢財的老狐狸。",
        },
        {
          jh: "開封",
          loc: "禦街南",
          name: "白玉堂",
          way: "jh 17;n",
          desc: "金華人氏,因少年華美,氣宇不凡,文武雙全,故人稱'錦毛鼠'。他武藝高強、聰明特達、性情高傲、正邪分明、扶危濟困、行俠仗義、渾身是膽、為國為民,後被宋仁宗讚賞。",
        },
        {
          jh: "開封",
          loc: "沿河大街",
          name: "玄衣少年",
          way: "jh 17;n;n;e;e",
          desc: "一身玄衣的一個少年,似乎對開封的繁華十分嚮往。",
        },
        {
          jh: "開封",
          loc: "禦碑亭",
          name: "七煞堂总舵主",
          name_tw: "七煞堂總舵主",
          way: "jh 17;e;s;s;s;e;kaifeng_yuwangtai23_op1",
          desc: "這是七煞堂總舵主,看起道貌岸然,但眼神藏有極深的戾氣。",
        },
        {
          jh: "開封",
          loc: "禦碑亭",
          name: "七煞堂护法",
          name_tw: "七煞堂護法",
          way: "jh 17;e;s;s;s;e;kaifeng_yuwangtai23_op1",
          desc: "武功高強的護衛,乃總舵主的貼身心腹。",
        },
        {
          jh: "開封",
          loc: "貢院",
          name: "张老知府",
          name_tw: "張老知府",
          way: "jh 17;n;n;n;e",
          desc: "開封的前任知府大人,如今雖退休多年,但仍然憂國憂民。",
        },
        {
          jh: "開封",
          loc: "朱雀門",
          name: "骆驼",
          name_tw: "駱駝",
          way: "jh 17",
          desc: "這是一條看起來有些疲憊的駱駝。",
        },
        {
          jh: "開封",
          loc: "官道",
          name: "官兵",
          way: "jh 17;e",
          desc: "這是一名官兵,雖然武藝不能跟武林人士比,但他們靠的是人多力量大。",
        },
        {
          jh: "開封",
          loc: "樹林",
          name: "七煞堂弟子",
          way: "jh 17;e;s",
          desc: "江湖上臭名昭著的七煞堂弟子,最近經常聚集在禹王台,不知道有什麼陰謀。",
        },
        {
          jh: "開封",
          loc: "菊園小徑",
          name: "七煞堂打手",
          way: "jh 17;e;s;s",
          desc: "七煞堂打手,還有點功夫的。",
        },
        {
          jh: "開封",
          loc: "前院",
          name: "七煞堂护卫",
          name_tw: "七煞堂護衛",
          way: "jh 17;e;s;s;s;s",
          desc: "七煞堂護衛,似乎有一身武藝。",
        },
        {
          jh: "開封",
          loc: "禹王廟",
          name: "七煞堂堂主",
          way: "jh 17;e;s;s;s;s;s",
          desc: "這是七煞堂堂主,看起來一表人才,不過據說手段極為殘忍。",
        },
        {
          jh: "開封",
          loc: "羊腸小道",
          name: "毒蛇",
          way: "jh 17;event_1_97081006",
          desc: "一條劇毒的毒蛇。",
        },
        {
          jh: "開封",
          loc: "野豬林入口",
          name: "野猪",
          name_tw: "野豬",
          way: "jh 17;event_1_97081006;s",
          desc: "一隻四肢強健的野豬,看起來很餓。",
        },
        {
          jh: "開封",
          loc: "荊棘叢",
          name: "黑鬃野猪",
          name_tw: "黑鬃野豬",
          way: "jh 17;event_1_97081006;s;s;s;s",
          desc: "這是一直體型較大的野豬,一身黑色鬃毛。",
        },
        {
          jh: "開封",
          loc: "野豬窩",
          name: "野猪王",
          name_tw: "野豬王",
          way: "jh 17;event_1_97081006;s;s;s;s;s",
          desc: "這是野豬比普通野豬體型大了近一倍,一身棕褐色鬃毛豎立著,看起來很兇殘。",
        },
        {
          jh: "開封",
          loc: "雜草小路",
          name: "野猪",
          name_tw: "野豬",
          way: "jh 17;event_1_97081006;s;s;s;s;s;w;",
          desc: "一隻四肢強健的野豬,看起來很餓。",
        },
        {
          jh: "開封",
          loc: "破爛小屋",
          name: "白面人",
          name_tw: "白麵人",
          way: "jh 17;event_1_97081006;s;s;s;s;s;w;kaifeng_yezhulin05_op1",
          desc: "一個套著白色長袍,帶著白色面罩的人,猶如鬼魅,讓人見之心寒。",
        },
        {
          jh: "開封",
          loc: "木屋據點",
          name: "鹤发老人",
          name_tw: "鶴發老人",
          way: "jh 17;event_1_97081006;s;s;s;s;s;w;w",
          desc: "此人愚鈍好酒,但武功卓絕,乃是一代武林高手。經常與鹿杖老人同闖武林。",
        },
        {
          jh: "開封",
          loc: "木屋據點",
          name: "鹿杖老人",
          way: "jh 17;event_1_97081006;s;s;s;s;s;w;w",
          desc: "此人好色奸詐,但武功卓絕,乃是一代武林高手。經常與鶴發老人同闖武林。",
        },
        {
          jh: "開封",
          loc: "禦街南",
          name: "灯笼小贩",
          name_tw: "燈籠小販",
          way: "jh 17;n",
          desc: "這是一個勤勞樸實的手藝人,據說他做的燈籠明亮又防風。",
        },
        {
          jh: "開封",
          loc: "禦街南",
          name: "小男孩",
          way: "jh 17;n",
          desc: "一個衣衫襤褸,面有飢色的10多歲小男孩,正跪在大堂前,眼裡佈滿了絕望!",
        },
        {
          jh: "開封",
          loc: "開封府",
          name: "欧阳春",
          name_tw: "歐陽春",
          way: "jh 17;n;e",
          desc: "這是大名鼎鼎的北俠。",
        },
        {
          jh: "開封",
          loc: "開封府",
          name: "展昭",
          way: "jh 17;n;e",
          desc: "這就是大名鼎鼎的南俠。",
        },
        {
          jh: "開封",
          loc: "開封府大堂",
          name: "包拯",
          way: "jh 17;n;e;s",
          desc: "他就是朝中的龍圖大學士包丞相。只見他面色黝黑,相貌清奇,氣度不凡。讓你不由自主,好生敬仰。",
        },
        {
          jh: "開封",
          loc: "州橋",
          name: "皮货商",
          name_tw: "皮貨商",
          way: "jh 17;n;n",
          desc: "這是一位皮貨商,他自己也是滿身皮裘。",
        },
        {
          jh: "開封",
          loc: "汴河大街東",
          name: "武官",
          way: "jh 17;n;n;e",
          desc: "這名武官看起來養尊處優,不知道能不能出征打仗。",
        },
        {
          jh: "開封",
          loc: "沿河大街",
          name: "菜贩子",
          name_tw: "菜販子",
          way: "jh 17;n;n;e;e",
          desc: "一個老實巴交的農民,賣些新鮮的蔬菜",
        },
        {
          jh: "開封",
          loc: "汴河碼頭",
          name: "码头工人",
          name_tw: "碼頭工人",
          way: "jh 17;n;n;e;e;n",
          desc: "這是一名膀大腰圓的碼頭工人,也許不會什麼招式,但力氣肯定是有的。",
        },
        {
          jh: "開封",
          loc: "客船",
          name: "落魄书生",
          name_tw: "落魄書生",
          way: "jh 17;n;n;e;e;n;get_silver",
          desc: "一名衣衫襤褸的書生,右手搖著一柄破扇,面色焦黃,兩眼無神。",
        },
        {
          jh: "開封",
          loc: "貨運棧",
          name: "船老大",
          way: "jh 17;n;n;e;e;n;n",
          desc: "看起來精明能幹的中年男子,堅毅的眼神讓人心生敬畏。",
        },
        {
          jh: "開封",
          loc: "王家紙馬店",
          name: "王老板",
          name_tw: "王老闆",
          way: "jh 17;n;n;e;e;s",
          desc: "王家紙馬店老闆,為人熱誠。",
        },
        {
          jh: "開封",
          loc: "石拱門",
          name: "高衙内",
          name_tw: "高衙內",
          way: "jh 17;n;n;e;s",
          desc: "這就是開封府內惡名遠揚的高衙內,專一愛調戲淫辱良家婦女。",
        },
        {
          jh: "開封",
          loc: "八寶琉璃殿",
          name: "护寺僧人",
          name_tw: "護寺僧人",
          way: "jh 17;n;n;e;s;s",
          desc: "他是一位身材高大的青年僧人,兩臂粗壯,膀闊腰圓。他手持兵刃,身穿一襲白布鑲邊袈裟,似乎有一身武藝。",
        },
        {
          jh: "開封",
          loc: "後院",
          name: "烧香老太",
          name_tw: "燒香老太",
          way: "jh 17;n;n;e;s;s;s",
          desc: "一個見佛燒香的老太太,花白的頭發鬆散的梳著發髻,滿是皺紋的臉上愁容密佈。",
        },
        {
          jh: "開封",
          loc: "明廊",
          name: "泼皮",
          name_tw: "潑皮",
          way: "jh 17;n;n;e;s;s;s;e",
          desc: "大相國寺附近的潑皮,常到菜園中偷菜。",
        },
        {
          jh: "開封",
          loc: "菜地",
          name: "老僧人",
          way: "jh 17;n;n;e;s;s;s;e;e",
          desc: "一個老朽的僧人,臉上滿是皺紋,眼睛都睜不開來了",
        },
        {
          jh: "開封",
          loc: "柴房",
          name: "烧火僧人",
          name_tw: "燒火僧人",
          way: "jh 17;n;n;e;s;s;s;e;s",
          desc: "一名專職在灶下燒火的僧人。",
        },
        {
          jh: "開封",
          loc: "竹林小徑",
          name: "张龙",
          name_tw: "張龍",
          way: "jh 17;n;n;e;s;s;s;s",
          desc: "這便是開封府霍霍有名的捕頭張龍,他身體強壯,看上去武功不錯。",
        },
        {
          jh: "開封",
          loc: "放生池",
          name: "孔大官人",
          way: "jh 17;n;n;e;s;s;s;s;w",
          desc: "開封府中的富戶,最近家中似乎有些變故。",
        },
        {
          jh: "開封",
          loc: "素齋廚",
          name: "素斋师傅",
          name_tw: "素齋師傅",
          way: "jh 17;n;n;e;s;s;s;w",
          desc: "在寺廟中燒飯的和尚。",
        },
        {
          jh: "開封",
          loc: "禦街北",
          name: "李四",
          way: "jh 17;n;n;n",
          desc: "他長得奸嘴猴腮的,一看就不像是個好人。",
        },
        {
          jh: "開封",
          loc: "貢院",
          name: "陈举人",
          name_tw: "陳舉人",
          way: "jh 17;n;n;n;e",
          desc: "看起來有些酸腐的書生,正在查看貢院佈告牌。",
        },
        {
          jh: "開封",
          loc: "西角樓大街",
          name: "流浪汉",
          name_tw: "流浪漢",
          way: "jh 17;n;n;n;n",
          desc: "這是一名看上去老實巴交的流浪漢,聽說他跟官府有交情,最好不要招惹。",
        },
        {
          jh: "開封",
          loc: "雅瓷軒",
          name: "富家弟子",
          way: "jh 17;n;n;n;n;e",
          desc: "一個白白胖胖的年輕人,一看就知道是嬌生慣養慣的富家子。",
        },
        {
          jh: "開封",
          loc: "天波門",
          name: "赵虎",
          name_tw: "趙虎",
          way: "jh 17;n;n;n;n;n",
          desc: "這便是開封府霍霍有名的捕頭趙虎,他身體強壯,看上去武功不錯。",
        },
        {
          jh: "開封",
          loc: "溪邊小路",
          name: "踏青妇人",
          name_tw: "踏青婦人",
          way: "jh 17;n;n;n;n;n;e",
          desc: "春天出來遊玩的婦人,略有姿色。",
        },
        {
          jh: "開封",
          loc: "瓦屋",
          name: "平夫人",
          way: "jh 17;n;n;n;n;n;e;n;n",
          desc: "方面大耳,眼睛深陷,臉上全無血色。",
        },
        {
          jh: "開封",
          loc: "柳樹林",
          name: "恶狗",
          name_tw: "惡狗",
          way: "jh 17;n;n;n;n;n;e;n;n;n",
          desc: "這是一條看家護院的惡狗。",
        },
        {
          jh: "開封",
          loc: "煉藥房",
          name: "平怪医",
          name_tw: "平怪醫",
          way: "jh 17;n;n;n;n;n;e;n;n;n;event_1_27702191",
          desc: "他身材矮胖,腦袋極大,生兩撇鼠須,搖頭晃腦,形相十分滑稽。",
        },
        {
          jh: "開封",
          loc: "天波府",
          name: "杨排风",
          name_tw: "楊排風",
          way: "jh 17;n;n;n;n;w",
          desc: "容貌俏麗,風姿綽約,自幼在天波楊門長大,性情爽直勇敢,平日裡常跟穆桂英練功習武,十八般武藝樣樣在行。曾被封為“徵西先鋒將軍”,大敗西夏國元帥殷奇。因為是燒火丫頭出身,且隨身武器是燒火棍,所以被宋仁宗封為“火帥”。又因為,民間稱讚其為“紅顏火帥”。",
        },
        {
          jh: "開封",
          loc: "天波府",
          name: "天波侍卫",
          name_tw: "天波侍衛",
          way: "jh 17;n;n;n;n;w",
          desc: "天波府侍衛,個個均是能征善戰的勇士!",
        },
        {
          jh: "開封",
          loc: "中院",
          name: "柴郡主",
          way: "jh 17;n;n;n;n;w;w;w",
          desc: "六郎之妻,為後週世宗柴榮之女,宋太祖趙匡胤敕封皇御妹金花郡主。一名巾幗英雄、女中豪傑,成為當時著名的楊門女將之一,有當時天下第一美女之稱。",
        },
        {
          jh: "開封",
          loc: "北院",
          name: "穆桂英",
          way: "jh 17;n;n;n;n;w;w;w;n;n",
          desc: "穆柯寨穆羽之女,有沉魚落雁之容,且武藝超群,巾幗不讓須眉。傳說有神女傳授神箭飛刀之術。因陣前與楊宗保交戰,穆桂英生擒宗保並招之成親,歸於楊家將之列,為楊門女將中的傑出人物。",
        },
        {
          jh: "開封",
          loc: "演兵場",
          name: "杨文姬",
          name_tw: "楊文姬",
          way: "jh 17;n;n;n;n;w;w;w;n;n;w",
          desc: "乃天波楊門么女。體態文秀儒雅、有驚鴻之貌,集萬千寵愛於一身,被楊門一族視為掌上明珠。其武學集楊門之大成,卻又脫胎於楊門自成一格,實屬武林中不可多得的才女。",
        },
        {
          jh: "開封",
          loc: "回廊",
          name: "侍女",
          way: "jh 17;n;n;n;n;w;w;w;s",
          desc: "一個豆蔻年華的小姑娘,看其身手似也是有一點武功底子的呢。",
        },
        {
          jh: "開封",
          loc: "天波碧潭",
          name: "佘太君",
          way: "jh 17;n;n;n;n;w;w;w;s;s;w",
          desc: "名將之女,自幼受其父兄武略的影響,青年時候就成為一名性機敏、善騎射,文武雙全的女將。她與普通的大家閨秀不同,她研習兵法,頗通將略,把戍邊御侵、保衛疆域、守護中原民眾為己任,協助父兄練兵把關,具備巾幗英雄的氣度。夫君邊關打仗,她在楊府內組織男女僕人丫環習武,僕人的武技和忠勇之氣個個都不亞於邊關的士兵。",
        },
        {
          jh: "開封",
          loc: "天波樓",
          name: "杨延昭",
          name_tw: "楊延昭",
          way: "jh 17;n;n;n;n;w;w;w;w",
          desc: "楊延昭是北宋抗遼名將楊業的長子,契丹人認為北斗七星中的第六顆主鎮幽燕北方,是他們的剋星,遼人將他看做是天上的六郎星宿下凡,故稱為楊六郎。",
        },
        {
          jh: "開封",
          loc: "汴河大街西",
          name: "新郎官",
          way: "jh 17;n;n;w",
          desc: "這是一名披著大紅花的新郎官,臉上喜氣洋洋。",
        },
        {
          jh: "開封",
          loc: "稻香居",
          name: "混混张三",
          name_tw: "混混張三",
          way: "jh 17;n;n;w;n",
          desc: "他長得奸嘴猴腮的,一看就不像是個好人。",
        },
        {
          jh: "開封",
          loc: "稻香居二樓",
          name: "铁翼",
          name_tw: "鐵翼",
          way: "jh 17;n;n;w;n;n",
          desc: "他是大旗門的元老。他剛正不阿,鐵骨諍諍。",
        },
        {
          jh: "開封",
          loc: "稻香居二樓",
          name: "刘财主",
          name_tw: "劉財主",
          way: "jh 17;n;n;w;n;n",
          desc: "開封府中的富戶,看起來腦滿腸肥,養尊處優。",
        },
        {
          jh: "開封",
          loc: "藥鋪",
          name: "赵大夫",
          name_tw: "趙大夫",
          way: "jh 17;n;w",
          desc: "趙大夫醫術高明,尤其善治婦科各種疑難雜症。",
        },
        {
          jh: "開封",
          loc: "郊外別院",
          name: "新娘",
          way: "jh 17;sw;nw",
          desc: "新郎官的未婚妻,被高衙內抓到此處。",
        },
        {
          jh: "開封",
          loc: "橋底密室",
          name: "耶律夷烈",
          way: "jh 17;sw;s;sw;nw;ne;event_1_38940168",
          desc: "遼德宗耶律大石之子,身材高大,滿面虯髯。",
        },
        {
          jh: "明教",
          loc: "鏈橋",
          name: "杨左使",
          name_tw: "楊左使",
          name_new: "梁風",
          way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;e;e;n;n;n",
          desc: "明教光明左使。",
        },
        {
          jh: "明教",
          loc: "觀景台",
          name: "神秘女子",
          way: "jh 18;n;nw;n;n;w",
          desc: "這是一個女子",
        },
        {
          jh: "明教",
          loc: "盜洞",
          name: "蒙面人",
          way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n;n;n;n;n;n;n;event_1_90080676;event_1_56007071;e;ne;n;nw",
          desc: "用厚厚面巾蒙著臉上的武士,看不清他的真面目。",
        },
        {
          jh: "明教",
          loc: "小村",
          name: "村民",
          way: "jh 18",
          desc: "這是村落裡的一個村名。",
        },
        {
          jh: "明教",
          loc: "屋子",
          name: "沧桑老人",
          name_tw: "滄桑老人",
          way: "jh 18;e",
          desc: "這是一個滿臉滄桑的老人。",
        },
        {
          jh: "明教",
          loc: "巨石",
          name: "明教小圣使",
          name_tw: "明教小聖使",
          way: "jh 18;n;nw;n;n;n;n;n",
          desc: "他是一個明教小聖使。",
        },
        {
          jh: "明教",
          loc: "巨木旗大廳",
          name: "闻旗使",
          name_tw: "聞旗使",
          way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n",
          desc: "他是明教巨林旗掌旗使。",
        },
        {
          jh: "明教",
          loc: "明教",
          name: "韦蝠王",
          name_tw: "韋蝠王",
          name_new: "季燕青",
          way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n",
          desc: "明教四大護法之一,傳說喜好吸人鮮血。",
        },
        {
          jh: "明教",
          loc: "大空地",
          name: "彭散玉",
          way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n",
          desc: "明教五散仙之一。",
        },
        {
          jh: "明教",
          loc: "洪水旗大廳",
          name: "唐旗使",
          way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;e;e",
          desc: "他是明教白水旗掌旗使。",
        },
        {
          jh: "明教",
          loc: "大空地",
          name: "周散仙",
          way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;e;e;n",
          desc: "明教五散仙之一",
        },
        {
          jh: "明教",
          loc: "銳金旗",
          name: "庄旗使",
          name_tw: "莊旗使",
          way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;e;e;n;n",
          desc: "明教耀金旗掌旗使。",
        },
        {
          jh: "明教",
          loc: "大空地",
          name: "冷步水",
          name_new: "冷臉先生",
          way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n",
          desc: "他是明教五散仙之一。在他僵硬的面孔上看不出一點表情。",
        },
        {
          jh: "明教",
          loc: "遇水堂",
          name: "张散仙",
          name_tw: "張散仙",
          way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n;e",
          desc: "明教五散仙之一。長於風雅之做。",
        },
        {
          jh: "明教",
          loc: "明教偏殿",
          name: "冷文臻",
          way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n;n",
          desc: "冷步水的侄子,較為自傲,且要面子。",
        },
        {
          jh: "明教",
          loc: "列英堂",
          name: "殷鹰王",
          name_tw: "殷鷹王",
          way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n;n;n",
          desc: "他就是赫赫有名的白眉鷹王,張大教主的外公,曾因不滿明教的混亂,獨自創立了飛鷹教,自從其外孫成為教主之後,便迴歸了明教",
        },
        {
          jh: "明教",
          loc: "列英堂",
          name: "明教教众",
          name_tw: "明教教眾",
          way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n;n;n",
          desc: "他是身材矮小,兩臂粗壯,膀闊腰圓。他手持兵刃,身穿一黑色聖衣,似乎有一身武藝。",
        },
        {
          jh: "明教",
          loc: "獅王殿",
          name: "谢狮王",
          name_tw: "謝獅王",
          name_new: "仇畢烈",
          way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n;n;n;e",
          desc: "他就是赫赫有名的金發獅王,張大教主的義父,生性耿直,只因滿心仇恨和脾氣暴躁而做下了許多憾事。",
        },
        {
          jh: "明教",
          loc: "明教大殿",
          name: "张教主",
          name_tw: "張教主",
          name_new: "九陽君",
          way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n;n;n;n",
          desc: "年方二十多歲的年輕人。明教現今正統教主,武功集各家之長最全面,修為當世之罕見。",
        },
        {
          jh: "明教",
          loc: "聖火橋",
          name: "范右使",
          name_tw: "範右使",
          way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n;n;n;n;n",
          desc: "明教光明右使。",
        },
        {
          jh: "明教",
          loc: "黑金橋",
          name: "小昭",
          way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n;n;n;n;n;n",
          desc: "她雙目湛湛有神,修眉端鼻,頰邊微現梨渦,真是秀美無倫,只是年紀幼小,身材尚未長成,雖然容貌絕麗,卻掩不住容顏中的稚氣。",
        },
        {
          jh: "明教",
          loc: "龍王殿",
          name: "黛龙王",
          name_tw: "黛龍王",
          way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n;n;n;w",
          desc: "她就是武林中盛傳的紫衣龍王,她膚如凝脂,杏眼桃腮,容光照人,端麗難言。雖然已年過中年,但仍風姿嫣然。",
        },
        {
          jh: "明教",
          loc: "昆崙墟",
          name: "九幽毒魔",
          way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n;n;n;w;nw;nw;event_1_70957287",
          desc: "千夜旗至尊九長老之一,看似一個面容慈祥的白發老人,鶴發童顏,雙手隱隱的黑霧卻顯露了他不世的毒功!",
        },
        {
          jh: "明教",
          loc: "毒池地牢",
          name: "青衣女孩",
          way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n;n;n;w;nw;nw;event_1_70957287;event_1_39374335;;kill?九幽毒童;event_1_2077333",
          desc: "一個身著青衣的小女孩,被抓來此出準備煉毒之用,雖能感覺到恐懼,但雙眼仍透出不屈的頑強。",
        },
        {
          jh: "明教",
          loc: "九幽毒池",
          name: "九幽毒童",
          way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n;n;n;w;nw;nw;event_1_70957287;event_1_39374335",
          desc: "負責管理九幽毒池的童子們,個個面色陰沉,殘忍好殺。",
        },
        {
          jh: "明教",
          loc: "鐵木長廊",
          name: "明教小喽啰",
          name_tw: "明教小嘍囉",
          way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;w",
          desc: "明教的一個小嘍囉,看起來有點猥瑣,而且還有點陰險。",
        },
        {
          jh: "明教",
          loc: "烈火旗大廳",
          name: "辛旗使",
          way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;w;w",
          desc: "他是明教烈焰旗掌旗使。",
        },
        {
          jh: "明教",
          loc: "大空地",
          name: "布袋大师",
          name_tw: "布袋大師",
          way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;w;w;n",
          desc: "他是明教五散仙之一的布袋大師說不得,腰間歪歪斜斜的掛著幾支布袋。",
        },
        {
          jh: "明教",
          loc: "厚土旗大廳",
          name: "颜旗使",
          name_tw: "顏旗使",
          name_new: "楊塬",
          way: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;w;w;n;n",
          desc: "他是明教深土旗掌旗使。",
        },
        {
          jh: "明教",
          loc: "民居",
          name: "村妇",
          name_tw: "村婦",
          way: "jh 18;w",
          desc: "一個村婦。",
        },
        {
          jh: "明教",
          loc: "臥房",
          name: "小男孩",
          way: "jh 18;w;n",
          desc: "這是個七八歲的小男孩。",
        },
        {
          jh: "明教",
          loc: "臥房",
          name: "老太婆",
          way: "jh 18;w;n",
          desc: "一個滿臉皺紋的老太婆。",
        },
        {
          jh: "全真教",
          loc: "終南石階",
          name: "终南山游客",
          name_tw: "終南山遊客",
          way: "jh 19;s;s;s;sw;s",
          desc: "一個來終南山遊玩的遊客。",
        },
        {
          jh: "全真教",
          loc: "終南石階",
          name: "男童",
          way: "jh 19;s;s;s;sw;s;e;n;nw",
          desc: "這是一個男童。",
        },
        {
          jh: "全真教",
          loc: "終南石階",
          name: "全真女弟子",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n",
          desc: "這是一個女道姑。",
        },
        {
          jh: "全真教",
          loc: "全真教大門",
          name: "迎客道长",
          name_tw: "迎客道長",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n",
          desc: "他是全真教內負責接待客人的道士。",
        },
        {
          jh: "全真教",
          loc: "萬物堂",
          name: "程遥伽",
          name_tw: "程遙伽",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n",
          desc: "她長相清秀端莊。",
        },
        {
          jh: "全真教",
          loc: "天心殿",
          name: "尹志平",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n",
          desc: "他是丘處機的得意大弟子尹志平,他粗眉大眼,長的有些英雄氣概,在全真教第三代弟子中算得上年輕有為。身材不高,眉宇間似乎有一股憂鬱之色。長的倒是長眉俊目,容貌秀雅,面白無須,可惜朱雀和玄武稍有不和。",
        },
        {
          jh: "全真教",
          loc: "天心殿",
          name: "练功弟子",
          name_tw: "練功弟子",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n",
          desc: "這是全真教的練功弟子。",
        },
        {
          jh: "全真教",
          loc: "後堂三進",
          name: "孙不二",
          name_tw: "孫不二",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;e;e;e",
          desc: "她就是全真教二代弟子中唯一的女弟子孫不二孫真人。她本是馬鈺入道前的妻子,道袍上繡著一個骷髏頭。",
        },
        {
          jh: "全真教",
          loc: "柴房",
          name: "柴火道士",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;e;e;n;n",
          desc: "一個負責柴火的道士。",
        },
        {
          jh: "全真教",
          loc: "靜修室",
          name: "马钰",
          name_tw: "馬鈺",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n",
          desc: "他就是王重陽的大弟子,全真七子之首,丹陽子馬鈺馬真人。他慈眉善目,和藹可親,正笑著看著你。",
        },
        {
          jh: "全真教",
          loc: "小花園",
          name: "丘处机",
          name_tw: "丘處機",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n",
          desc: "他就是江湖上人稱‘長春子’的丘處機丘真人,他方面大耳,滿面紅光,劍目圓睜,雙眉如刀,相貌威嚴,平生疾惡如仇。",
        },
        {
          jh: "全真教",
          loc: "勤習堂",
          name: "老道长",
          name_tw: "老道長",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;e",
          desc: "這是一個年老的道人。",
        },
        {
          jh: "全真教",
          loc: "小花園",
          name: "王处一",
          name_tw: "王處一",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;n",
          desc: "他就是全真七子之五王處一王真人。他身材修長,服飾整潔,三綹黑須飄在胸前,神態瀟灑。",
        },
        {
          jh: "全真教",
          loc: "小花園",
          name: "鹿道清",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;n;e",
          desc: "他是全真教尹志平門下第四代弟子",
        },
        {
          jh: "全真教",
          loc: "小花園",
          name: "青年弟子",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;n;n",
          desc: "一個風程僕僕的俠客。",
        },
        {
          jh: "全真教",
          loc: "容物堂",
          name: "谭处端",
          name_tw: "譚處端",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;n;n;n;e",
          desc: "他就是全真次徒譚處端譚真人,他身材魁梧,濃眉大眼,嗓音洪亮,拜重陽真人為師前本是鐵匠出身。",
        },
        {
          jh: "全真教",
          loc: "過真殿",
          name: "刘处玄",
          name_tw: "劉處玄",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;n;n;n;e;e",
          desc: "他就是全真三徒劉處玄劉真人,他身材瘦小,但顧盼間自有一種威嚴氣概。",
        },
        {
          jh: "全真教",
          loc: "廚房",
          name: "掌厨道士",
          name_tw: "掌廚道士",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;n;n;n;e;e;e",
          desc: "一個負責掌廚的道士。",
        },
        {
          jh: "全真教",
          loc: "大堂一進",
          name: "小麻雀",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;n;n;n;e;e;e;n",
          desc: "一隻嘰嘰咋咋的小麻雀。",
        },
        {
          jh: "全真教",
          loc: "肥料房",
          name: "老人",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;n;n;n;n;n;n",
          desc: "這是一個老人,在全真教內已有幾十年了。",
        },
        {
          jh: "全真教",
          loc: "後花園",
          name: "挑水道士",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e",
          desc: "這是全真教內負責挑水的道士。",
        },
        {
          jh: "全真教",
          loc: "樹林",
          name: "蜜蜂",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;n",
          desc: "一直忙碌的小蜜蜂。",
        },
        {
          jh: "全真教",
          loc: "會真堂",
          name: "观想兽",
          name_tw: "觀想獸",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;n;w",
          desc: "一隻只有道家之所才有的怪獸。",
        },
        {
          jh: "全真教",
          loc: "元始殿",
          name: "赵师兄",
          name_tw: "趙師兄",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;n;w;n",
          desc: "他就是全真教真人王處一的弟子趙師兄",
        },
        {
          jh: "全真教",
          loc: "藥劑室",
          name: "老顽童",
          name_tw: "老頑童",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;n;w;w;n",
          desc: "此人年齡雖大但卻頑心未改,一頭亂糟糟的花白鬍子,一雙小眼睛透出讓人覺得滑稽的神色。",
        },
        {
          jh: "全真教",
          loc: "藏經殿",
          name: "小道童",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;n;w",
          desc: "他是全真教的一個小道童。",
        },
        {
          jh: "全真教",
          loc: "天尊殿",
          name: "重阳祖师",
          name_tw: "重陽祖師",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;w;w;s",
          desc: "他就是全真教的開山祖師,其身材消瘦,精神矍鑠,飄飄然彷彿神仙中人",
        },
        {
          jh: "全真教",
          loc: "後堂一進",
          name: "小道童",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;w;w;w;s",
          desc: "一個全真教的小道童。",
        },
        {
          jh: "全真教",
          loc: "大禪房",
          name: "郝大通",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;n;n;w;w;w;w;n;n;n",
          desc: "他就是全真七子中的郝大通郝真人。他身材微胖,象個富翁模樣,身上穿的道袍雙袖皆無。",
        },
        {
          jh: "全真教",
          loc: "馬廄",
          name: "健马",
          name_tw: "健馬",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;w;w;w;s",
          desc: "一匹健壯的大馬。",
        },
        {
          jh: "全真教",
          loc: "馬廄",
          name: "李四",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;n;w;w;w;s",
          desc: "這是一箇中年道士。",
        },
        {
          jh: "全真教",
          loc: "事為室",
          name: "小道童",
          way: "jh 19;s;s;s;sw;s;e;n;nw;n;n;n;n;w",
          desc: "他是全真教的一個小道童。",
        },
        {
          jh: "古墓",
          loc: "事為室",
          name: "白玉蜂",
          way: "",
          desc: "這是一隻玉色的蜜蜂,個頭比普通蜜蜂大得多,翅膀上被人用尖針刺有字",
        },
        {
          jh: "古墓",
          loc: "事為室",
          name: "红玉蜂",
          name_tw: "紅玉蜂",
          way: "",
          desc: "這是一隻玉色的蜜蜂,個頭比普通蜜蜂大得多,翅膀上被人用尖針刺有字。",
        },
        {
          jh: "古墓",
          loc: "",
          name: "毒蟒",
          way: ".樹上",
          desc: "一條龐大無比,色彩斑斕的巨蟒。渾身發出陣陣強烈的腥臭味。",
        },
        {
          jh: "古墓",
          loc: "小樹林",
          name: "天蛾",
          way: "jh 20;w;w;s;e;s;s;s",
          desc: "蜜蜂的天敵之一。",
        },
        {
          jh: "古墓",
          loc: "小樹林",
          name: "食虫虻",
          name_tw: "食蟲虻",
          way: "jh 20;w;w;s;e;s;s;s;s;s;sw",
          desc: "食肉昆蟲,蜜蜂的天敵之一。",
        },
        {
          jh: "古墓",
          loc: "草地",
          name: "玉蜂",
          way: "jh 20;w;w;s;e;s;s;s;s;s;sw;sw;s",
          desc: "這是一隻玉色的蜜蜂,個頭比普通蜜蜂大得多,翅膀上被人用尖針刺有字。",
        },
        {
          jh: "古墓",
          loc: "懸崖",
          name: "玉蜂",
          way: "jh 20;w;w;s;e;s;s;s;s;s;sw;sw;s;s;e",
          desc: "這是一隻玉色的蜜蜂,個頭比普通蜜蜂大得多,翅膀上被人用尖針刺有字。",
        },
        {
          jh: "古墓",
          loc: "中廳",
          name: "龙儿",
          name_tw: "龍兒",
          way: "jh 20;w;w;s;e;s;s;s;s;s;sw;sw;s;s;s;s;e;e",
          desc: "盈盈而站著一位秀美絕俗的女子,肌膚間少了一層血色,顯得蒼白異常。披著一襲輕紗般的白衣,猶似身在煙中霧裡。",
        },
        {
          jh: "古墓",
          loc: "密室",
          name: "林祖师",
          name_tw: "林祖師",
          way: "jh 20;w;w;s;e;s;s;s;s;s;sw;sw;s;s;s;s;e;e;event_1_3723773;se;n;e;s;e;s;e",
          desc: "她就是古墓派的開山祖師,雖然已經是四十許人,望之卻還如同三十出頭。當年她與全真教主王重陽本是一對癡心愛侶,只可惜有緣無份,只得獨自在這古墓上幽居。",
        },
        {
          jh: "古墓",
          loc: "小屋",
          name: "孙婆婆",
          name_tw: "孫婆婆",
          way: "jh 20;w;w;s;e;s;s;s;s;s;sw;sw;s;s;s;s;s;s;s;e;e;e;e;s;e",
          desc: "這是一位慈祥的老婆婆,正看著你微微一笑。",
        },
        {
          jh: "白馱山",
          loc: "小路",
          name: "雷震天",
          way: "jh 21;nw;ne;n;n;ne",
          desc: "雷橫天的兒子,與其父親不同,長得頗為英俊。",
        },
        {
          jh: "白馱山",
          loc: "中軍大帳",
          name: "军中主帅",
          name_tw: "軍中主帥",
          way: "jh 21;n;n;n;n;w;w;w;w",
          desc: "敵軍主帥,黑盔黑甲,手持長刀。",
        },
        {
          jh: "白馱山",
          loc: "近衛狼營",
          name: "银狼近卫",
          name_tw: "銀狼近衛",
          way: "jh 21;n;n;n;n;w;w;w",
          desc: "主帥身側的近衛,都是萬里挑一的好手",
        },
        {
          jh: "白馱山",
          loc: "飛羽箭陣",
          name: "飞羽神箭",
          name_tw: "飛羽神箭",
          way: "jh 21;n;n;n;n;w;w",
          desc: "百發百中的神箭手,難以近身,必須用暗器武學方可隔空攻擊",
        },
        {
          jh: "白馱山",
          loc: "青銅盾陣",
          name: "青衣盾卫",
          name_tw: "青衣盾衛",
          way: "jh 21;n;n;n;n;w",
          desc: "身著青衣,手持巨盾,是敵軍陣前的鐵衛,看起來極難對付。",
        },
        {
          jh: "白馱山",
          loc: "戈壁",
          name: "傅介子",
          way: "jh 21",
          desc: "中原朝廷出使西域樓蘭國的使臣,氣宇軒昂,雍容華度,似也會一些武功。",
        },
        {
          jh: "白馱山",
          loc: "玉門關外",
          name: "玉门守将",
          name_tw: "玉門守將",
          way: "jh 21;n;n;n;n;e",
          desc: "一位身經百戰的將軍,多年駐守此地,臉上滿是大漠黃沙和狂風留下的滄桑。",
        },
        {
          jh: "白馱山",
          loc: "玉門關西門",
          name: "玉门守军",
          name_tw: "玉門守軍",
          way: "jh 21;n;n;n;n;e;e",
          desc: "玉門關的守衛軍士,將軍百戰死,壯士十年歸。",
        },
        {
          jh: "白馱山",
          loc: "西馳馬道",
          name: "玄甲骑兵",
          name_tw: "玄甲騎兵",
          way: "jh 21;n;n;n;n;e;e;e",
          desc: "黑盔黑甲的天策騎兵,連馬也被鋥亮的鎧甲包裹著。",
        },
        {
          jh: "白馱山",
          loc: "西車道",
          name: "车夫",
          name_tw: "車夫",
          way: "jh 21;n;n;n;n;e;e;e;e",
          desc: "一名駕車的車夫,塵霜滿面。",
        },
        {
          jh: "白馱山",
          loc: "守將府",
          name: "天策大将",
          name_tw: "天策大將",
          way: "jh 21;n;n;n;n;e;e;e;e;e",
          desc: "天策府左將軍,英勇善戰,智勇雙全。身穿黑盔黑甲,腰間有一柄火紅的長刀。",
        },
        {
          jh: "白馱山",
          loc: "守將府",
          name: "玄甲参将",
          name_tw: "玄甲參將",
          way: "jh 21;n;n;n;n;e;e;e;e;e",
          desc: "天策玄甲軍的參將,雙目專注,正在認真地看著城防圖。",
        },
        {
          jh: "白馱山",
          loc: "戈壁灘",
          name: "马匪",
          name_tw: "馬匪",
          way: "jh 21;n;n;n;n;e;e;e;e;e;e;e;e;e",
          desc: "這是肆虐戈壁的馬匪,長相兇狠,血債累累。",
        },
        {
          jh: "白馱山",
          loc: "馬車店",
          name: "醉酒男子",
          way: "jh 21;n;n;n;n;e;e;e;e;e;e;e;s",
          desc: "此人看似已經喝了不少,面前擺著不下七八個空酒罈,兩頰緋紅,然而雙目卻仍是炯炯有神,身長不足七尺,腰別一把看似貴族名士方才有的長劍,談笑之間雄心勃勃,睥睨天下。男子醉言醉語之間,似是自稱青蓮居士。",
        },
        {
          jh: "白馱山",
          loc: "馬車店",
          name: "慕容孤烟",
          name_tw: "慕容孤煙",
          way: "jh 21;n;n;n;n;e;e;e;e;e;e;e;s",
          desc: "英姿颯爽的馬車店女老闆,漢族和鮮卑族混血,雙目深邃,含情脈脈,細卷的栗色長發上夾著一個金色玉蜻蜓。",
        },
        {
          jh: "白馱山",
          loc: "龍門客棧",
          name: "凤七",
          name_tw: "鳳七",
          way: "jh 21;n;n;n;n;e;e;e;e;e;s;s;w",
          desc: "無影樓金鳳堂堂主,武功卓絕自是不在話下,腕上白玉鐲襯出如雪肌膚,腳上一雙鎏金鞋用寶石裝飾。",
        },
        {
          jh: "白馱山",
          loc: "絲綢之路驛站",
          name: "匈奴杀手",
          name_tw: "匈奴殺手",
          way: "jh 21;n;n;n;n;e;n;n;n",
          desc: "匈奴人殺手,手持彎刀,眼露兇光。",
        },
        {
          jh: "白馱山",
          loc: "東街",
          name: "花花公子",
          way: "jh 21;nw",
          desc: "這是個流裡流氣的花花公子。",
        },
        {
          jh: "白馱山",
          loc: "小路",
          name: "小山贼",
          name_tw: "小山賊",
          way: "jh 21;nw;ne;n;n",
          desc: "這是個尚未成年的小山賊。",
        },
        {
          jh: "白馱山",
          loc: "洞口",
          name: "山贼",
          name_tw: "山賊",
          way: "jh 21;nw;ne;n;n;ne;n",
          desc: "這是個面目可憎的山賊。",
        },
        {
          jh: "白馱山",
          loc: "洞內",
          name: "雷横天",
          name_tw: "雷橫天",
          way: "jh 21;nw;ne;n;n;ne;n;n",
          desc: "這是個粗魯的山賊頭。一身膘肉,看上去內力極度強勁!",
        },
        {
          jh: "白馱山",
          loc: "側洞",
          name: "金花",
          way: "jh 21;nw;ne;n;n;ne;n;n;w",
          desc: "一個年少貌美的姑娘。",
        },
        {
          jh: "白馱山",
          loc: "杖場",
          name: "侍杖",
          way: "jh 21;nw;ne;n;n;ne;w",
          desc: "他頭上包著紫布頭巾,一襲紫衫,沒有一絲褶皺。",
        },
        {
          jh: "白馱山",
          loc: "墳地",
          name: "寡妇",
          name_tw: "寡婦",
          way: "jh 21;nw;ne;ne",
          desc: "一個年輕漂亮又不甘寂寞的小寡婦。",
        },
        {
          jh: "白馱山",
          loc: "打鐵鋪",
          name: "铁匠",
          name_tw: "鐵匠",
          way: "jh 21;nw;s",
          desc: "鐵匠正用汗流浹背地打鐵。",
        },
        {
          jh: "白馱山",
          loc: "西街",
          name: "舞蛇人",
          way: "jh 21;nw;w",
          desc: "他是一個西域來的舞蛇人。",
        },
        {
          jh: "白馱山",
          loc: "西街",
          name: "农民",
          name_tw: "農民",
          way: "jh 21;nw;w",
          desc: "一個很健壯的壯年農民。",
        },
        {
          jh: "白馱山",
          loc: "酒店",
          name: "店小二",
          way: "jh 21;nw;w;n",
          desc: "這位店小二正笑咪咪地忙著招呼客人。",
        },
        {
          jh: "白馱山",
          loc: "小橋",
          name: "村姑",
          way: "jh 21;nw;w;w",
          desc: "一個很清秀的年輕農村姑娘,挎著一隻蓋著布小籃子。",
        },
        {
          jh: "白馱山",
          loc: "廣場",
          name: "小孩",
          way: "jh 21;nw;w;w;nw",
          desc: "這是個農家小孩子",
        },
        {
          jh: "白馱山",
          loc: "農舍",
          name: "农家妇女",
          name_tw: "農家婦女",
          way: "jh 21;nw;w;w;nw;e",
          desc: "一個很精明能幹的農家婦女。",
        },
        {
          jh: "白馱山",
          loc: "大門",
          name: "门卫",
          name_tw: "門衛",
          way: "jh 21;nw;w;w;nw;n;n",
          desc: "這是個年富力強的衛兵,樣子十分威嚴。",
        },
        {
          jh: "白馱山",
          loc: "大廳",
          name: "丫环",
          name_tw: "丫環",
          way: "jh 21;nw;w;w;nw;n;n;n;n",
          desc: "一個很能幹的丫環。",
        },
        {
          jh: "白馱山",
          loc: "大廳",
          name: "欧阳少主",
          name_tw: "歐陽少主",
          name_new: "白鶴軒",
          way: "jh 21;nw;w;w;nw;n;n;n;n",
          desc: "他一身飄逸的白色長衫,手搖折扇,風流儒雅。",
        },
        {
          jh: "白馱山",
          loc: "練功場",
          name: "李教头",
          name_tw: "李教頭",
          way: "jh 21;nw;w;w;nw;n;n;n;n;n",
          desc: "這是個和藹可親的教頭。",
        },
        {
          jh: "白馱山",
          loc: "練功房",
          name: "教练",
          name_tw: "教練",
          way: "jh 21;nw;w;w;nw;n;n;n;n;n;e",
          desc: "這是個和藹可親的教練。",
        },
        {
          jh: "白馱山",
          loc: "練功室",
          name: "陪练童子",
          name_tw: "陪練童子",
          way: "jh 21;nw;w;w;nw;n;n;n;n;n;e;ne",
          desc: "這是個陪人練功的陪練童子。",
        },
        {
          jh: "白馱山",
          loc: "門廊",
          name: "管家",
          way: "jh 21;nw;w;w;nw;n;n;n;n;n;n",
          desc: "一個老謀深算的老管家。",
        },
        {
          jh: "白馱山",
          loc: "花園",
          name: "老毒物",
          name_new: "白厲峰",
          way: "jh 21;nw;w;w;nw;n;n;n;n;n;n;n",
          desc: "他是白馱山莊主,號稱“老毒物”。",
        },
        {
          jh: "白馱山",
          loc: "花園",
          name: "白衣少女",
          way: "jh 21;nw;w;w;nw;n;n;n;n;n;n;n",
          desc: "一個聰明伶俐的白衣少女。",
        },
        {
          jh: "白馱山",
          loc: "廚房",
          name: "肥肥",
          way: "jh 21;nw;w;w;nw;n;n;n;n;n;n;n;e",
          desc: "一個肥頭大耳的廚師,兩隻小眼睛不停地眨巴著。",
        },
        {
          jh: "白馱山",
          loc: "柴房",
          name: "老材",
          way: "jh 21;nw;w;w;nw;n;n;n;n;n;n;n;e;e",
          desc: "一個有名的吝嗇鬼,好象他整日看守著柴房也能發財似的。",
        },
        {
          jh: "白馱山",
          loc: "兔苑",
          name: "白兔",
          way: "jh 21;nw;w;w;nw;n;n;n;n;n;n;n;n;ne",
          desc: "一隻雪白的小白兔,可愛之致。",
        },
        {
          jh: "白馱山",
          loc: "蛇園",
          name: "驯蛇人",
          name_tw: "馴蛇人",
          way: "jh 21;nw;w;w;nw;n;n;n;n;n;n;n;n;ne;e",
          desc: "蛇園裡面的馴蛇人,替白駝山莊馴養各種毒蛇。",
        },
        {
          jh: "白馱山",
          loc: "蛇園",
          name: "金环蛇",
          name_tw: "金環蛇",
          way: "jh 21;nw;w;w;nw;n;n;n;n;n;n;n;n;ne;e",
          desc: "一隻讓人看了起毛骨悚然的金環蛇。",
        },
        {
          jh: "白馱山",
          loc: "蛇園",
          name: "竹叶青蛇",
          name_tw: "竹葉青蛇",
          way: "jh 21;nw;w;w;nw;n;n;n;n;n;n;n;n;ne;e",
          desc: "一隻讓人看了起雞皮疙瘩的竹葉青蛇。",
        },
        {
          jh: "白馱山",
          loc: "獸舍",
          name: "野狼",
          way: "jh 21;nw;w;w;nw;n;n;n;n;n;n;n;n;ne;w",
          desc: "一隻獨行的野狼,半張著的大嘴裡露著幾顆獠牙。",
        },
        {
          jh: "白馱山",
          loc: "獸舍",
          name: "狐狸",
          way: "jh 21;nw;w;w;nw;n;n;n;n;n;n;n;n;ne;w",
          desc: "一隻多疑成性的狐狸。",
        },
        {
          jh: "白馱山",
          loc: "獸舍",
          name: "雄狮",
          name_tw: "雄獅",
          way: "jh 21;nw;w;w;nw;n;n;n;n;n;n;n;n;ne;w",
          desc: "一隻矯健的雄獅,十分威風。",
        },
        {
          jh: "白馱山",
          loc: "獸舍",
          name: "老虎",
          way: "jh 21;nw;w;w;nw;n;n;n;n;n;n;n;n;ne;w",
          desc: "一隻斑斕猛虎,雄偉極了。",
        },
        {
          jh: "白馱山",
          loc: "後院",
          name: "张妈",
          name_tw: "張媽",
          way: "jh 21;nw;w;w;nw;n;n;n;n;n;n;n;n;nw",
          desc: "一個歷經滄桑的老婆婆。",
        },
        {
          jh: "白馱山",
          loc: "藥房",
          name: "小青",
          way: "jh 21;nw;w;w;nw;n;n;n;n;n;w;s",
          desc: "這是個聰明乖巧的小姑娘,打扮的很樸素,一襲青衣,卻也顯得落落有致。小青對人非常熱情。你要是跟她打過交道就會理解這一點!",
        },
        {
          jh: "白馱山",
          loc: "草叢",
          name: "黑冠巨蟒",
          way: "jh 21;nw;w;w;nw;n;n;n;n;n;w;w;w;n",
          desc: "一隻龐然大物,它眼中噴火,好象要一口把你吞下。",
        },
        {
          jh: "白馱山",
          loc: "岩洞",
          name: "蟒蛇",
          way: "jh 21;nw;w;w;nw;n;n;n;n;n;w;w;w;n;n;n",
          desc: "一隻昂首直立,吐著長舌芯的大蟒蛇。",
        },
        {
          jh: "白馱山",
          loc: "武器庫",
          name: "仕卫",
          name_tw: "仕衛",
          way: "jh 21;nw;w;w;nw;n;n;n;w",
          desc: "這是個樣子威嚴的仕衛。",
        },
        {
          jh: "白馱山",
          loc: "山路",
          name: "樵夫",
          way: "jh 21;nw;w;w;nw;nw;nw",
          desc: "一個很健壯的樵夫。",
        },
        {
          jh: "白馱山",
          loc: "山莊大門",
          name: "玄衣中年",
          way: "jh 21;nw;w;w;nw;nw;nw;n;w;s;event_1_47975698",
          desc: "一身玄衣的中年人,似乎是這裡山莊的一名守衛",
        },
        {
          jh: "白馱山",
          loc: "正堂",
          name: "闻人毅",
          name_tw: "聞人毅",
          way: "jh 21;nw;w;w;nw;nw;nw;n;w;s;event_1_47975698;s;sw;s;ne;e;s;s",
          desc: "一位神駿的青年,神情冷峻,週身似乎有一股強烈的劍氣包圍,令人感到非常壓抑。",
        },
        {
          jh: "嵩山",
          loc: "劍池",
          name: "左罗",
          name_tw: "左羅",
          way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;n;n;n",
          desc: "左掌門的侄子,武功平平,但多謀善斷,有傳聞說他是左掌門的親生兒子。",
        },
        {
          jh: "嵩山",
          loc: "瀑布山洞",
          name: "马帮精锐",
          name_tw: "馬幫精銳",
          way: "jh 22;n;n;n;ss1;n;e;n;event_1_29122616",
          desc: "身材異常高大的男子,眼神中充滿殺氣,臉上滿布虯龍似的傷疤。",
        },
        {
          jh: "嵩山",
          loc: "瀑布山洞",
          name: "枯瘦的人",
          way: "jh 22;n;n;w;w;s;s;s;s;s;event_1_52783704",
          desc: "身形枯瘦,似乎被困於此多年,但眼神中仍有強烈的生存意志",
        },
        {
          jh: "嵩山",
          loc: "太室闕",
          name: "脚夫",
          name_tw: "腳夫",
          way: "jh 22",
          desc: "五大三粗的漢子,看起來會些拳腳功夫。",
        },
        {
          jh: "嵩山",
          loc: "青石大道",
          name: "风骚少妇",
          name_tw: "風騷少婦",
          way: "jh 22;n",
          desc: "一個風騷的少婦,頗有幾分姿色。",
        },
        {
          jh: "嵩山",
          loc: "青石大道",
          name: "秋半仙",
          way: "jh 22;n",
          desc: "一名算命道士,灰色道袍上綴著幾個補丁。",
        },
        {
          jh: "嵩山",
          loc: "中嶽廟",
          name: "锦袍老人",
          name_tw: "錦袍老人",
          way: "jh 22;n;n",
          desc: "神情威猛須發花白的老人,看起來武功修為頗高。",
        },
        {
          jh: "嵩山",
          loc: "青崗坪",
          name: "柳易之",
          way: "jh 22;n;n;n;n",
          desc: "朝廷通事舍人,負責傳達皇帝旨意。",
        },
        {
          jh: "嵩山",
          loc: "盧鴻草堂",
          name: "卢鸿一",
          name_tw: "盧鴻一",
          way: "jh 22;n;n;n;n;e",
          desc: "一名布衣老者,慈眉善目,須發皆白。",
        },
        {
          jh: "嵩山",
          loc: "盧崖瀑布",
          name: "英元鹤",
          name_tw: "英元鶴",
          way: "jh 22;n;n;n;n;e;n",
          desc: "這是一名枯瘦矮小的黑衣老人,一雙灰白的耳朵看起來有些詭異。",
        },
        {
          jh: "嵩山",
          loc: "啟母闕",
          name: "游客",
          name_tw: "遊客",
          way: "jh 22;n;n;w",
          desc: "來嵩山遊玩的男子,書生打扮,看來來頗為儒雅。",
        },
        {
          jh: "嵩山",
          loc: "嵩嶽山道",
          name: "野狼",
          way: "jh 22;n;n;w;n",
          desc: "山林覓食的野狼,看起來很餓。",
        },
        {
          jh: "嵩山",
          loc: "嵩陽書院",
          name: "林立德",
          way: "jh 22;n;n;w;n;n",
          desc: "在嵩陽書院進學的書生,看起來有些木訥。",
        },
        {
          jh: "嵩山",
          loc: "石階",
          name: "山贼",
          name_tw: "山賊",
          way: "jh 22;n;n;w;n;n;n",
          desc: "攔路搶劫的山賊",
        },
        {
          jh: "嵩山",
          loc: "無極老姆洞",
          name: "修行道士",
          way: "jh 22;n;n;w;n;n;n;n",
          desc: "在嵩山隱居修行的道士",
        },
        {
          jh: "嵩山",
          loc: "密林小徑",
          name: "黄色毒蛇",
          name_tw: "黃色毒蛇",
          way: "jh 22;n;n;w;n;n;n;n;event_1_88705407",
          desc: "一條吐舌蛇信子的毒蛇。",
        },
        {
          jh: "嵩山",
          loc: "山溪畔",
          name: "麻衣刀客",
          way: "jh 22;n;n;w;n;n;n;n;event_1_88705407;s;s",
          desc: "一身麻衣,頭戴斗笠的刀客",
        },
        {
          jh: "嵩山",
          loc: "石洞",
          name: "白板煞星",
          way: "jh 22;n;n;w;n;n;n;n;event_1_88705407;s;s;s;s",
          desc: "沒有鼻子,臉孔平平,像一塊白板,看起來極為可怖",
        },
        {
          jh: "嵩山",
          loc: "山楂林",
          name: "小猴",
          way: "jh 22;n;n;w;n;n;n;n;n",
          desc: "這是一隻調皮的小猴子,雖是畜牲,卻喜歡模仿人樣。",
        },
        {
          jh: "嵩山",
          loc: "朝天門",
          name: "万大平",
          name_tw: "萬大平",
          way: "jh 22;n;n;w;n;n;n;n;n;e",
          desc: "嵩山弟子,看起來很普通。",
        },
        {
          jh: "嵩山",
          loc: "朝天門",
          name: "芙儿",
          name_tw: "芙兒",
          way: "jh 22;n;n;w;n;n;n;n;n;e;e",
          desc: "一名身穿淡綠衫子的少女,只見她臉如白玉,顏若朝華,真是豔冠群芳的絕色美人。",
        },
        {
          jh: "嵩山",
          loc: "峻極山道",
          name: "嵩山弟子",
          way: "jh 22;n;n;w;n;n;n;n;n;e;n",
          desc: "這是一名嵩山弟子,武功看起來稀鬆平常。",
        },
        {
          jh: "嵩山",
          loc: "峻極禪院",
          name: "史师兄",
          name_tw: "史師兄",
          way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;n",
          desc: "嵩山派大弟子,武功修為頗高。",
        },
        {
          jh: "嵩山",
          loc: "會盟堂",
          name: "白头仙翁",
          name_tw: "白頭仙翁",
          way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;n;n",
          desc: "嵩山派高手,年紀不大,頭花卻已全白。",
        },
        {
          jh: "嵩山",
          loc: "劍池",
          name: "左挺",
          way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;n;n;n",
          desc: "冷麵短髯,相貌堂皇的青年漢子。",
        },
        {
          jh: "嵩山",
          loc: "東長廊",
          name: "钟九曲",
          name_tw: "鍾九曲",
          way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;n;n;n;e",
          desc: "臉白無須,看起來不像練武之人。",
        },
        {
          jh: "嵩山",
          loc: "北長廊",
          name: "陆太保",
          name_tw: "陸太保",
          way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;n;n;n;n",
          desc: "面目兇光的中年漢子,雖是所謂名門正派,但手段極為兇殘。",
        },
        {
          jh: "嵩山",
          loc: "書齋",
          name: "高锦毛",
          name_tw: "高錦毛",
          way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;n;n;n;n;e",
          desc: "須發火紅的中年漢子",
        },
        {
          jh: "嵩山",
          loc: "花園",
          name: "邓神鞭",
          name_tw: "鄧神鞭",
          way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;n;n;n;n;n",
          desc: "一名面容黯淡的老人,但看外表,很難想到他是一名內外皆修的高手。",
        },
        {
          jh: "嵩山",
          loc: "臥室",
          name: "聂红衣",
          name_tw: "聶紅衣",
          way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;n;n;n;n;n;e",
          desc: "一名體態風流的少婦,酥胸微露,媚眼勾人。",
        },
        {
          jh: "嵩山",
          loc: "獨尊壇",
          name: "左盟主",
          way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;n;n;n;n;n;n",
          desc: "身穿杏黃長袍,冷口冷麵,喜怒皆不行於色,心機頗深。",
        },
        {
          jh: "嵩山",
          loc: "西長廊",
          name: "乐老狗",
          name_tw: "樂老狗",
          way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;n;n;n;w",
          desc: "這人矮矮胖胖,麵皮黃腫,約莫五十來歲年紀,目神光炯炯,凜然生威,兩隻手掌肥肥的又小又厚。",
        },
        {
          jh: "嵩山",
          loc: "練武場",
          name: "冷峻青年",
          way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;n;n;n;w;n;n",
          desc: "一個風程僕僕的俠客。",
        },
        {
          jh: "嵩山",
          loc: "廚房",
          name: "伙夫",
          name_tw: "伙夫",
          way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;n;n;n;w;n;w",
          desc: "一名肥頭大耳的伙夫,負責打理嵩山派一眾大小夥食。",
        },
        {
          jh: "嵩山",
          loc: "倉庫",
          name: "沙秃翁",
          name_tw: "沙禿翁",
          way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;n;n;n;w;w",
          desc: "這是一名禿頭老者,一雙鷹眼微閉。",
        },
        {
          jh: "嵩山",
          loc: "封禪台",
          name: "麻衣汉子",
          name_tw: "麻衣漢子",
          way: "jh 22;n;n;w;n;n;n;n;n;e;n;n;w;n",
          desc: "頭戴斗笠,身材瘦長,一身麻衣的中年男子,看起來有些詭異。",
        },
        {
          jh: "嵩山",
          loc: "魔雲洞口",
          name: "吸血蝙蝠",
          way: "jh 22;n;n;w;w;s",
          desc: "一隻體型巨大的吸血蝙蝠。",
        },
        {
          jh: "嵩山",
          loc: "魔雲洞空地",
          name: "瞎眼剑客",
          name_tw: "瞎眼劍客",
          way: "jh 22;n;n;w;w;s;s",
          desc: "一名黑衣劍客,雙面失明。",
        },
        {
          jh: "嵩山",
          loc: "危崖",
          name: "瞎眼老者",
          way: "jh 22;n;n;w;w;s;s;s;s;s",
          desc: "這是一名黑衣瞎眼老者,看起來武功修為頗高。",
        },
        {
          jh: "嵩山",
          loc: "通天洞",
          name: "瞎眼刀客",
          way: "jh 22;n;n;w;w;s;s;s;s;w",
          desc: "一名黑衣刀客,雙面失明。",
        },
        {
          jh: "寒梅莊",
          loc: "囚室",
          name: "厉傲天",
          name_tw: "厲傲天",
          way: "jh 23;n;n;n;n;n;n;n;n;n;n;w;n;;kill?夏春雷;@夏春雷的屍體;s;e;s;s;s;w;w;give meizhuang_meizhuang3;n;n;n;n;n;e;event_1_35389772",
          desc: "這名老者身材甚高,一頭黑發,穿的是一襲青衫,長長的臉孔,臉色雪白,更無半分血色,眉目清秀,只是臉色實在白得怕人,便如剛從墳墓中出來的殭屍一般。",
        },
        {
          jh: "寒梅莊",
          loc: "酒室",
          name: "奎孜墨",
          way: "jh 23;n;n;n;n;n;n;n;n;n;n;w;n;;kill?夏春雷;@夏春雷的屍體;s;e;s;s;s;w;w;give meizhuang_meizhuang3;n;n;n;n;n",
          desc: "這是一名身穿黑衣的年輕男子,一張臉甚是蒼白,漆黑的眉毛下是藝術按個深沉的眼睛,深沉的跟他的年齡極不相符。",
        },
        {
          jh: "寒梅莊",
          loc: "嶽王廟",
          name: "武悼",
          way: "jh 23;n;n;e;event_1_50956819",
          desc: "一個白發蒼蒼的老人,默默打掃著這萬人景仰的武穆祠堂。",
        },
        {
          jh: "寒梅莊",
          loc: "柳樹林",
          name: "柳府家丁",
          way: "jh 23",
          desc: "這是杭州有名大戶柳府的家丁,穿著一身考究的短衫,一副目中無人的樣子。",
        },
        {
          jh: "寒梅莊",
          loc: "梅林",
          name: "老者",
          way: "jh 23;n;n",
          desc: "一個姓汪的老者,似乎有什麼秘密在身上。",
        },
        {
          jh: "寒梅莊",
          loc: "梅林",
          name: "柳玥",
          way: "jh 23;n;n",
          desc: "柳府二小姐,只見她眸含秋水清波流盼,香嬌玉嫩,秀靨豔比花嬌,指如削蔥根,口如含朱丹,一顰一笑動人心魂,旖旎身姿在上等絲綢長裙包裹下若隱若現。聽說柳府二千金芳名遠揚,傳聞柳府大小姐月夜逃婚,至今不知下落。",
        },
        {
          jh: "寒梅莊",
          loc: "放鶴亭",
          name: "筱西风",
          name_tw: "筱西風",
          way: "jh 23;n;n;e",
          desc: "這是一名看起來很冷峻的男子,只見他鬢若刀裁,眉如墨畫,身上穿著墨色的緞子衣袍,袍內露出銀色鏤空木槿花的鑲邊,腰上掛著一把長劍。",
        },
        {
          jh: "寒梅莊",
          loc: "青石闆大路",
          name: "梅庄护院",
          name_tw: "梅莊護院",
          way: "jh 23;n;n;n",
          desc: "一身家人裝束的壯漢,要掛寶刀,看起來有些功夫。",
        },
        {
          jh: "寒梅莊",
          loc: "大天井",
          name: "梅庄家丁",
          name_tw: "梅莊家丁",
          way: "jh 23;n;n;n;n;n",
          desc: "一身家人裝束的男子,看起來有些功夫。",
        },
        {
          jh: "寒梅莊",
          loc: "大廳",
          name: "施令威",
          way: "jh 23;n;n;n;n;n;n",
          desc: "一身家人裝束的老者,目光炯炯,步履穩重,看起來武功不低。",
        },
        {
          jh: "寒梅莊",
          loc: "百木園",
          name: "丁管家",
          way: "jh 23;n;n;n;n;n;n;n",
          desc: "一身家人裝束的老者,目光炯炯,步履穩重,看起來武功不低。",
        },
        {
          jh: "寒梅莊",
          loc: "棋室",
          name: "玄天指",
          way: "jh 23;n;n;n;n;n;n;n;e;s",
          desc: "這人雖然生的眉清目秀,然而臉色泛白,頭發極黑而臉色極白,像一具殭屍的模樣。據說此人酷愛下棋,為人工於心計。",
        },
        {
          jh: "寒梅莊",
          loc: "奇槐坡",
          name: "瘦小汉子",
          name_tw: "瘦小漢子",
          way: "jh 23;n;n;n;n;n;n;n;n",
          desc: "臉如金紙的瘦小的中年男子,一身黑衣,腰繫黃帶。",
        },
        {
          jh: "寒梅莊",
          loc: "畫室",
          name: "龙点睛",
          name_tw: "龍點睛",
          way: "jh 23;n;n;n;n;n;n;n;n;e;n",
          desc: "此人髯長及腹,一身酒氣,據說此人極為好酒好丹青,為人豪邁豁達。",
        },
        {
          jh: "寒梅莊",
          loc: "臨水平台",
          name: "上官香云",
          name_tw: "上官香雲",
          way: "jh 23;n;n;n;n;n;n;n;n;n;n",
          desc: "這女子有著傾城之貌,閉月之姿,流轉星眸顧盼生輝,發絲隨意披散,慵懶不羈。她是江南一帶有名的歌妓,據聞琴棋書畫無不精通,文人雅士、王孫公子都想一親芳澤。",
        },
        {
          jh: "寒梅莊",
          loc: "書齋",
          name: "铁笔张",
          name_tw: "鐵筆張",
          way: "jh 23;n;n;n;n;n;n;n;n;n;n;e",
          desc: "這人身型矮矮胖胖,頭頂禿得油光滑亮,看起來沒有半點文人雅緻,卻極為嗜好書法。",
        },
        {
          jh: "寒梅莊",
          loc: "杏林",
          name: "黑衣刀客",
          way: "jh 23;n;n;n;n;n;n;n;n;n;n;event_1_8188693;n",
          desc: "一身黑色勁裝,手持大刀,看起來很兇狠。",
        },
        {
          jh: "寒梅莊",
          loc: "練武場",
          name: "青衣剑客",
          name_tw: "青衣劍客",
          way: "jh 23;n;n;n;n;n;n;n;n;n;n;event_1_8188693;n;n",
          desc: "一身青衣,不知道練得什麼邪門功夫,看起來臉色鐵青。",
        },
        {
          jh: "寒梅莊",
          loc: "菜園",
          name: "黄衫婆婆",
          name_tw: "黃衫婆婆",
          way: "jh 23;n;n;n;n;n;n;n;n;n;n;event_1_8188693;n;n;n;e;n",
          desc: "雖已滿頭白發,但眉眼間依舊可見年輕時的娟秀。",
        },
        {
          jh: "寒梅莊",
          loc: "茅草屋",
          name: "红衣僧人",
          name_tw: "紅衣僧人",
          way: "jh 23;n;n;n;n;n;n;n;n;n;n;event_1_8188693;n;n;n;n",
          desc: "這人雖然身穿紅色僧袍,但面目猙獰,看起來絕非善類。",
        },
        {
          jh: "寒梅莊",
          loc: "涼棚",
          name: "紫袍老者",
          way: "jh 23;n;n;n;n;n;n;n;n;n;n;event_1_8188693;n;n;w",
          desc: "看起來氣度不凡的老人,紫色臉膛在紫袍的襯托下顯得更是威嚴。",
        },
        {
          jh: "寒梅莊",
          loc: "琴室",
          name: "琴童",
          way: "jh 23;n;n;n;n;n;n;n;n;n;n;w",
          desc: "這是一名青衣童子,扎著雙髻,眉目清秀。",
        },
        {
          jh: "寒梅莊",
          loc: "內室",
          name: "夏春雷",
          way: "jh 23;n;n;n;n;n;n;n;n;n;n;w;n",
          desc: "這是一名身型骨瘦如柴的老人,炯炯有神的雙目卻讓內行人一眼看出其不俗的內力。",
        },
        {
          jh: "寒梅莊",
          loc: "酒室",
          name: "地牢看守",
          way: "jh 23;n;n;n;n;n;n;n;n;n;n;w;n;;kill?夏春雷;@夏春雷的屍體;s;e;s;s;s;w;w;give meizhuang_meizhuang3",
          desc: "身穿灰布衣裳,臉色因為常年不見陽光,看起來有些灰白。",
        },
        {
          jh: "寒梅莊",
          loc: "酒室",
          name: "地鼠",
          way: "jh 23;n;n;n;n;n;n;n;n;n;n;w;n;;kill?夏春雷;@夏春雷的屍體;s;e;s;s;s;w;w;give meizhuang_meizhuang3;n;n",
          desc: "一隻肥大的地鼠,正在覓食。",
        },
        {
          jh: "寒梅莊",
          loc: "酒室",
          name: "地鼠",
          way: "jh 23;n;n;n;n;n;n;n;n;n;n;w;n;;kill?夏春雷;@夏春雷的屍體;s;e;s;s;s;w;w;give meizhuang_meizhuang3;n;n;n;n",
          desc: "一隻肥大的地鼠,正在覓食。",
        },
        {
          jh: "寒梅莊",
          loc: "小院",
          name: "柳蓉",
          way: "jh 23;n;n;n;n;n;n;n;n;w",
          desc: "這女子雖是一襲僕人粗布衣裳,卻掩不住其俊俏的容顏。只見那張粉臉如花瓣般嬌嫩可愛,櫻桃小嘴微微輕啟,似是要訴說少女心事。",
        },
        {
          jh: "寒梅莊",
          loc: "廚房",
          name: "丁二",
          way: "jh 23;n;n;n;n;n;n;n;n;w;n",
          desc: "這是一名滿臉油光的中年男子,雖然其貌不揚,據說曾是京城御廚,蒸炒煎炸樣樣拿手。",
        },
        {
          jh: "寒梅莊",
          loc: "偏房",
          name: "聋哑老人",
          name_tw: "聾啞老人",
          way: "jh 23;n;n;n;n;n;n;n;n;w;w",
          desc: "這是一名彎腰曲背的聾啞老人,須發皆白,滿臉皺紋。據說他每天都去湖底地牢送飯。",
        },
        {
          jh: "寒梅莊",
          loc: "酒室",
          name: "庄左使",
          name_tw: "莊左使",
          way: "jh 23;n;n;n;n;n;n;n;w;w",
          desc: "這是一名身穿白袍的老人,容貌清癯,刻頦下疏疏朗朗一縷花白長須,身材高瘦,要掛彎刀。",
        },
        {
          jh: "泰山",
          loc: "木屋",
          name: "铁恶人",
          name_tw: "鐵惡人",
          way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;w;n;n;n;n;e",
          desc: "鐵毅同父異母之弟,為了「大旗門」寶藏,時常算計其大哥鐵毅。",
        },
        {
          jh: "泰山",
          loc: "木屋",
          name: "黑衣人",
          way: "",
          desc: "一個風程僕僕的俠客。",
        },
        {
          jh: "泰山",
          loc: "青州城外",
          name: "镖师",
          name_tw: "鏢師",
          way: "jh 24;se",
          desc: "當地鏢局的鏢師,現在被狼軍士兵團團圍住,難以脫身。",
        },
        {
          jh: "泰山",
          loc: "",
          name: "铁翼",
          name_tw: "鐵翼",
          way: ".位置:地牢,靠謎題飛",
          desc: "鐵翼是鐵血大旗門的元老。他剛正不阿,鐵骨諍諍,如今被囚禁於此。",
        },
        {
          jh: "泰山",
          loc: "岱宗坊",
          name: "挑夫",
          way: "jh 24",
          desc: "這青年漢子看起來五大三粗,估計會些三腳貓功夫。",
        },
        {
          jh: "泰山",
          loc: "石階",
          name: "黄衣刀客",
          name_tw: "黃衣刀客",
          way: "jh 24;n",
          desc: "這傢伙滿臉橫肉,一付凶神惡煞的模樣,令人望而生畏。",
        },
        {
          jh: "泰山",
          loc: "一天門",
          name: "瘦僧人",
          way: "jh 24;n;n",
          desc: "他是一位中年遊方和尚,骨瘦如柴,身上的袈裟打滿了補丁。",
        },
        {
          jh: "泰山",
          loc: "天梯",
          name: "柳安庭",
          way: "jh 24;n;n;n",
          desc: "這是個飽讀詩書,卻手無縛雞之力的年輕書生。",
        },
        {
          jh: "泰山",
          loc: "石闆路",
          name: "石云天",
          name_tw: "石雲天",
          way: "jh 24;n;n;n;n",
          desc: "生性豁達,原本是丐幫弟子,因為風流本性難改,被逐出丐幫。",
        },
        {
          jh: "泰山",
          loc: "彌勒院",
          name: "朱莹莹",
          name_tw: "朱瑩瑩",
          way: "jh 24;n;n;n;n;e",
          desc: "豔麗的容貌、曼妙的身姿,真是數不盡的萬種風情。",
        },
        {
          jh: "泰山",
          loc: "小洞天",
          name: "温青青",
          name_tw: "溫青青",
          way: "jh 24;n;n;n;n;e;e",
          desc: "這名女子神態嫻靜淡雅,穿著一身石青色短衫,衣履精緻,一張俏臉白裡透紅,好一個美麗俏佳人。",
        },
        {
          jh: "泰山",
          loc: "小洞天",
          name: "易安居士",
          way: "jh 24;n;n;n;n;e;e",
          desc: "這是有“千古第一才女”之稱的李清照,自幼生活優裕,其父李格非藏書甚豐,小時候就在良好的家庭環境中打下文學基礎。少年時即負文學的盛名,她的詞更是傳誦一時。中國女作家中,能夠在文學史上佔一席地的,必先提李易安。她生活的時代雖在北宋南宋之間,卻不願意隨著當時一般的潮流,而專意於小令的吟詠。她的名作象《醉花陰》,《如夢令》,有佳句象“花自飄零水自流,一種相思兩處閒愁”等等,都膾炙人口。",
        },
        {
          jh: "泰山",
          loc: "白騾塚",
          name: "欧阳留云",
          name_tw: "歐陽留雲",
          way: "jh 24;n;n;n;n;e;s",
          desc: "這是位中年武人,肩背長劍,長長的劍穗隨風飄揚,看來似乎身懷絕藝。",
        },
        {
          jh: "泰山",
          loc: "飛雲閣",
          name: "吕进",
          name_tw: "呂進",
          way: "jh 24;n;n;n;n;n",
          desc: "此人出身神秘,常常獨來獨往,戴一副鐵面具,不讓人看到真面目,師承不明。",
        },
        {
          jh: "泰山",
          loc: "萬仙樓",
          name: "司马玄",
          name_tw: "司馬玄",
          way: "jh 24;n;n;n;n;n;n",
          desc: "這是一名白發老人,慈眉善目,據說此人精通醫術和藥理。",
        },
        {
          jh: "泰山",
          loc: "三義柏",
          name: "桑不羁",
          name_tw: "桑不羈",
          way: "jh 24;n;n;n;n;n;n;e",
          desc: "此人身似猿猴,動作矯健,因輕功出眾,江湖中難有人可以追的上他,故而以刺探江湖門派消息為生。",
        },
        {
          jh: "泰山",
          loc: "鬥母宮",
          name: "于霸天",
          name_tw: "於霸天",
          way: "jh 24;n;n;n;n;n;n;n",
          desc: "此人身材魁梧,身穿鐵甲,看起來似乎是官府的人。",
        },
        {
          jh: "泰山",
          loc: "山谷小溪",
          name: "神秘游客",
          name_tw: "神秘遊客",
          way: "jh 24;n;n;n;n;n;n;n;e",
          desc: "此人年紀雖不大,但須發皆白,一身黑袍,看起來氣度不凡。",
        },
        {
          jh: "泰山",
          loc: "雲步橋",
          name: "李三",
          way: "jh 24;n;n;n;n;n;n;n;n;n",
          desc: "此人無發無眉,相貌極其醜陋。",
        },
        {
          jh: "泰山",
          loc: "酌泉亭",
          name: "仇霸",
          way: "jh 24;n;n;n;n;n;n;n;n;n;e",
          desc: "此人獨目禿頂,面目兇惡,來官府通緝要犯。",
        },
        {
          jh: "泰山",
          loc: "五大夫松",
          name: "平光杰",
          name_tw: "平光傑",
          way: "jh 24;n;n;n;n;n;n;n;n;n;n",
          desc: "這是一名身穿粗布衣服的少年,背上揹著一個竹簍,裡面放著一些不知名的藥草。",
        },
        {
          jh: "泰山",
          loc: "十八盤",
          name: "玉师兄",
          name_tw: "玉師兄",
          way: "jh 24;n;n;n;n;n;n;n;n;n;n;n",
          desc: "這人面色灰白,雙眼無神,看起來一副沉溺酒色的模樣。",
        },
        {
          jh: "泰山",
          loc: "南天門",
          name: "玉师伯",
          name_tw: "玉師伯",
          way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n",
          desc: "泰山掌門的師叔,此人看起來老奸巨猾。",
        },
        {
          jh: "泰山",
          loc: "天街",
          name: "任娘子",
          way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;e",
          desc: "這是一名豔麗少婦,勾魂雙面中透出一股殺氣。",
        },
        {
          jh: "泰山",
          loc: "石階",
          name: "红衣卫士",
          name_tw: "紅衣衛士",
          way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;e;e",
          desc: "一身紅色勁裝的衛士,看起來有些功夫。",
        },
        {
          jh: "泰山",
          loc: "迎旭亭",
          name: "白飞羽",
          name_tw: "白飛羽",
          way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;e;e;n;e",
          desc: "這人算得上是一個美男子,長眉若柳,身如玉樹。",
        },
        {
          jh: "泰山",
          loc: "禪房",
          name: "商鹤鸣",
          name_tw: "商鶴鳴",
          way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;e;e;n;n;e",
          desc: "這人生的有些難看,黑紅臉膛,白發長眉,看起來有些陰鬱。",
        },
        {
          jh: "泰山",
          loc: "玉皇殿",
          name: "冯太监",
          name_tw: "馮太監",
          way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;e;e;n;n;n;n",
          desc: "皇帝身邊鶴發童顏的太監,權勢滔天,眼中閃著精光。",
        },
        {
          jh: "泰山",
          loc: "玉皇殿",
          name: "钟逍林",
          name_tw: "鍾逍林",
          way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;e;e;n;n;n;n",
          desc: "這是一名魁梧的中年男子,看起來內家功夫造詣不淺。",
        },
        {
          jh: "泰山",
          loc: "登封台",
          name: "西门宇",
          name_tw: "西門宇",
          way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;e;e;n;n;n;n;n",
          desc: "這是一名身材偉岸的中年男子,看起來霸氣逼人。",
        },
        {
          jh: "泰山",
          loc: "望河亭",
          name: "西门允儿",
          name_tw: "西門允兒",
          way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;e;e;n;n;w",
          desc: "這是一名極有靈氣的女子,穿著碧綠紗裙。",
        },
        {
          jh: "泰山",
          loc: "雙鞭客棧",
          name: "黄老板",
          name_tw: "黃老闆",
          way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;e;s",
          desc: "雙鞭客棧老闆,看起來精明過人。",
        },
        {
          jh: "泰山",
          loc: "泰山派山門",
          name: "迟一城",
          name_tw: "遲一城",
          way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;n",
          desc: "泰山弟子,劍眉星目,身姿挺拔如松。",
        },
        {
          jh: "泰山",
          loc: "前院",
          name: "泰山弟子",
          way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;n;n",
          desc: "這是一名青衣弟子,手裡握著一把長劍。",
        },
        {
          jh: "泰山",
          loc: "廂房",
          name: "建除",
          way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e",
          desc: "泰山掌門的弟子,身形矯健,看起來武功不錯。",
        },
        {
          jh: "泰山",
          loc: "東靈殿",
          name: "天柏",
          way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n",
          desc: "泰山掌門的師弟,看起來英氣勃勃。",
        },
        {
          jh: "泰山",
          loc: "後院",
          name: "天松",
          way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n",
          desc: "泰山掌門的師弟,嫉惡如仇,性子有些急躁。",
        },
        {
          jh: "泰山",
          loc: "靜觀山房",
          name: "泰山掌门",
          name_tw: "泰山掌門",
          way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n",
          desc: "此人為泰山掌門,此人看起來正氣凜然。",
        },
        {
          jh: "泰山",
          loc: "休息室",
          name: "玉师叔",
          name_tw: "玉師叔",
          way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w",
          desc: "泰山掌門的師叔,處事冷靜,極有見識。",
        },
        {
          jh: "泰山",
          loc: "桃花峪入口",
          name: "黑衣密探",
          way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;w",
          desc: "這是一名蒙面密探。",
        },
        {
          jh: "泰山",
          loc: "桃花路",
          name: "毒蛇",
          way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;w;n",
          desc: "這是一條斑斕的大蛇,一眼看去就知道有劇毒",
        },
        {
          jh: "泰山",
          loc: "垂釣台",
          name: "筱墨客",
          way: "jh 24;n;n;n;n;n;n;n;n;n;n;n;n;w;n;n;w",
          desc: "這人臉上掛著難以捉摸的笑容,看起來城府極深。",
        },
        {
          jh: "泰山",
          loc: "望人松",
          name: "玉师弟",
          name_tw: "玉師弟",
          way: "jh 24;n;n;n;n;n;n;n;n;n;n;w",
          desc: "此人一身道袍,看起來頗為狡詐。",
        },
        {
          jh: "泰山",
          loc: "翠竹林",
          name: "海棠杀手",
          name_tw: "海棠殺手",
          way: "jh 24;n;n;n;n;n;n;n;n;w",
          desc: "這人的臉上看起來沒有一絲表情,手裡的刀刃閃著寒光。",
        },
        {
          jh: "泰山",
          loc: "石亭",
          name: "路独雪",
          name_tw: "路獨雪",
          way: "jh 24;n;n;n;n;n;n;n;n;w;n;n",
          desc: "這人便是江湖有名的海棠殺手“三劍斷命”,看起來倒也算是一表人才,只是雙目透出的殺氣卻讓人見之膽寒。",
        },
        {
          jh: "泰山",
          loc: "大石坪",
          name: "铁云",
          name_tw: "鐵雲",
          way: "jh 24;n;n;n;n;n;n;n;n;w;n;n;n",
          desc: "據說殺手無情便無敵,這人看起來風流倜儻,卻是極為冷血之人。",
        },
        {
          jh: "泰山",
          loc: "百丈崖",
          name: "孔翎",
          way: "jh 24;n;n;n;n;n;n;n;n;w;n;n;n;n;n",
          desc: "據說他就是海棠殺手組織的首領,不過看他的樣子,似乎不像是一個能統領眾多殺手的人。",
        },
        {
          jh: "泰山",
          loc: "石橋",
          name: "姬梓烟",
          name_tw: "姬梓煙",
          way: "jh 24;n;n;n;n;n;n;n;n;w;n;n;n;w",
          desc: "這是一名極為妖豔的女子,一身黑色的緊身衣將其包裹得曲線畢露,估計十個男人見了十個都會心癢難耐。",
        },
        {
          jh: "泰山",
          loc: "朱櫻林",
          name: "柳兰儿",
          name_tw: "柳蘭兒",
          way: "jh 24;n;n;n;n;n;n;n;n;w;n;n;n;w;n",
          desc: "這是一個看起來天真爛漫的少女,不過等她的劍刺穿你的身體時,你才會意識到天真是多麼好的偽裝。",
        },
        {
          jh: "泰山",
          loc: "朱櫻林",
          name: "朱樱林",
          name_tw: "朱櫻林",
          way: "jh 24;n;n;n;n;n;n;n;n;w;n;n;n;w;n",
          desc: "",
        },
        {
          jh: "泰山",
          loc: "石門",
          name: "布衣男子",
          way: "jh 24;n;n;n;n;n;n;n;n;w;n;n;n;w;n;event_1_15941870",
          desc: "這是一名身穿粗布衣服的男子,看起來很強壯。",
        },
        {
          jh: "泰山",
          loc: "巨石廣場",
          name: "阮小",
          way: "jh 24;n;n;n;n;n;n;n;n;w;n;n;n;w;n;event_1_15941870;n",
          desc: "這人五短身材,尖嘴猴腮。",
        },
        {
          jh: "泰山",
          loc: "聚兵房",
          name: "史义",
          name_tw: "史義",
          way: "jh 24;n;n;n;n;n;n;n;n;w;n;n;n;w;n;event_1_15941870;n;n;e",
          desc: "這人身穿粗布勁裝,滿臉絡腮鬍,雙眼圓瞪,似乎隨時準備發怒。",
        },
        {
          jh: "泰山",
          loc: "演武場",
          name: "林忠达",
          name_tw: "林忠達",
          way: "jh 24;n;n;n;n;n;n;n;n;w;n;n;n;w;n;event_1_15941870;n;n;n;n",
          desc: "這人看起來很普通,是那種見過後便會忘記的人。",
        },
        {
          jh: "泰山",
          loc: "三透天",
          name: "铁面人",
          name_tw: "鐵面人",
          way: "jh 24;n;n;n;n;n;n;n;n;w;n;n;n;w;n;event_1_15941870;n;n;n;n;n",
          desc: "這人臉上蒙著一張黑鐵面具,看不見他的模樣,但面具後雙眼卻給人一種滄桑感。",
        },
        {
          jh: "泰山",
          loc: "茅舍",
          name: "司马墉",
          name_tw: "司馬墉",
          way: "jh 24;n;n;n;n;n;n;n;n;w;n;n;n;w;n;event_1_15941870;n;n;n;w",
          desc: "這人穿著一身長袍,敏銳的雙眼讓人感覺到他的精明過人。",
        },
        {
          jh: "泰山",
          loc: "跑馬場",
          name: "阮大",
          way: "jh 24;n;n;n;n;n;n;n;n;w;n;n;n;w;n;event_1_15941870;n;w",
          desc: "這人五短身材,尖嘴猴腮。",
        },
        {
          jh: "泰山",
          loc: "山崖",
          name: "鲁刚",
          name_tw: "魯剛",
          way: "jh 24;n;n;n;n;n;n;w",
          desc: "一名隱士,據聞此人精通鑄劍。",
        },
        {
          jh: "泰山",
          loc: "紅門宮",
          name: "程不为",
          name_tw: "程不為",
          way: "jh 24;n;n;n;n;w",
          desc: "此人出身神秘,常常獨來獨往,戴一副鐵面具,不讓人看到真面目,師承不明。",
        },
        {
          jh: "大旗門",
          loc: "",
          name: "卓三娘",
          way: ".靠謎題飛",
          desc: "閃電卓三娘輕功世無雙,在碧落賦中排名第三。",
        },
        {
          jh: "大旗門",
          loc: "",
          name: "小白兔",
          way: ".靠謎題飛",
          desc: "小白兔白又白兩隻耳朵豎起來。",
        },
        {
          jh: "大旗門",
          loc: "",
          name: "朱藻",
          way: ".靠謎題飛",
          desc: "風流倜儻",
        },
        {
          jh: "大旗門",
          loc: "",
          name: "水灵儿",
          name_tw: "水靈兒",
          way: ".靠謎題飛",
          desc: "她滿面愁容,手裡雖然拿著本書,卻只是呆呆的出神。",
        },
        {
          jh: "大旗門",
          loc: "",
          name: "风老四",
          name_tw: "風老四",
          way: ".靠謎題飛",
          desc: "風梭風九幽,但他現在走火入魔,一動也不能動了。",
        },
        {
          jh: "大旗門",
          loc: "",
          name: "阴宾",
          name_tw: "陰賓",
          way: ".靠謎題飛",
          desc: "她面上蒙著輕紅羅紗,隱約間露出面容輪廓,當真美得驚人,宛如煙籠芍藥,霧裡看花",
        },
        {
          jh: "大旗門",
          loc: "海邊路",
          name: "渔夫",
          name_tw: "漁夫",
          way: "jh 25;e;e;e",
          desc: "這是一個滿臉風霜的老漁夫。",
        },
        {
          jh: "大旗門",
          loc: "海邊",
          name: "叶缘",
          name_tw: "葉緣",
          way: "jh 25;e;e;e;e;s",
          desc: "剛拜入大旗門不久的青年。",
        },
        {
          jh: "大旗門",
          loc: "常春島渡口",
          name: "老婆子",
          way: "jh 25;e;e;e;e;s;yell",
          desc: "她面容被歲月侵蝕,風雨吹打,劃出了千百條皺紋,顯得那麼衰老但一雙眼睛,卻仍亮如閃電,似是隻要一眼瞧過去,任何人的秘密,卻再也休想瞞過她。",
        },
        {
          jh: "大旗門",
          loc: "小路",
          name: "罗少羽",
          name_tw: "羅少羽",
          way: "jh 25;e;e;e;e;s;yell;e",
          desc: "剛拜入大旗門不久的青年。",
        },
        {
          jh: "大旗門",
          loc: "小路",
          name: "青衣少女",
          way: "jh 25;e;e;e;e;s;yell;e;ne",
          desc: "一個身材苗條,身著青衣的少女。",
        },
        {
          jh: "大旗門",
          loc: "觀月頂",
          name: "青衣少女",
          way: "jh 25;e;e;e;e;s;yell;e;ne;se;e;e;e;e",
          desc: "一個身材苗條,身著青衣的少女。",
        },
        {
          jh: "大旗門",
          loc: "觀月頂",
          name: "日岛主",
          name_tw: "日島主",
          name_new: "鐵夫人",
          way: "jh 25;e;e;e;e;s;yell;e;ne;se;e;e;e;e",
          desc: "日島主乃大旗門第七代掌門人云翼之妻,因看不慣大旗門人對其n妻子的無情,開創常春島一派,以收容世上所有傷心女子。",
        },
        {
          jh: "大旗門",
          loc: "礁石",
          name: "潘兴鑫",
          name_tw: "潘興鑫",
          way: "jh 25;e;e;e;e;s;yell;s",
          desc: "剛到拜入大旗門不久的青年。",
        },
        {
          jh: "大旗門",
          loc: "洞穴",
          name: "铁掌门",
          name_tw: "鐵掌門",
          name_new: "雷昊陽",
          way: "jh 25;e;e;e;e;s;yell;s;e;event_1_81629028",
          desc: "他是大旗門的傳人。",
        },
        {
          jh: "大旗門",
          loc: "石屋",
          name: "夜皇",
          name_new: "鐵雍華",
          way: "jh 25;e;e;e;e;s;yell;s;e;event_1_81629028;s;e;n;w;w",
          desc: "他容光煥發,須發有如衣衫般輕柔,看來雖是瀟灑飄逸,又帶有一種不可抗拒之威嚴。",
        },
        {
          jh: "大旗門",
          loc: "秘道",
          name: "红衣少女",
          name_tw: "紅衣少女",
          way: "jh 25;e;e;e;e;s;yell;s;e;event_1_81629028;s;e;n;w;w;s;w",
          desc: "她身穿輕紗柔絲,白足如霜,青絲飄揚。",
        },
        {
          jh: "大旗門",
          loc: "秘道",
          name: "紫衣少女",
          way: "jh 25;e;e;e;e;s;yell;s;e;event_1_81629028;s;e;n;w;w;s;w",
          desc: "她身穿輕紗柔絲,白足如霜,青絲飄揚。",
        },
        {
          jh: "大旗門",
          loc: "秘道",
          name: "橙衣少女",
          way: "jh 25;e;e;e;e;s;yell;s;e;event_1_81629028;s;e;n;w;w;s;w",
          desc: "她身穿輕紗柔絲,白足如霜,青絲飄揚。",
        },
        {
          jh: "大旗門",
          loc: "秘道",
          name: "蓝衣少女",
          name_tw: "藍衣少女",
          way: "jh 25;e;e;e;e;s;yell;s;e;event_1_81629028;s;e;n;w;w;s;w",
          desc: "她身穿輕紗柔絲,白足如霜,藍絲飄揚。",
        },
        {
          jh: "大旗門",
          loc: "危崖前",
          name: "宾奴",
          name_tw: "賓奴",
          way: "jh 25;w",
          desc: "陰賓所養的波斯貓",
        },
        {
          jh: "大昭寺",
          loc: "草原",
          name: "头狼",
          name_tw: "頭狼",
          way: "jh 26;w;w;w;n;w;w;w;n",
          desc: "狼群之王,體型碩大,狼牙寒鋒畢露。",
        },
        {
          jh: "大昭寺",
          loc: "陰山",
          name: "李将军",
          name_tw: "李將軍",
          way: "jh 26;w;w;n",
          desc: "一個玄甲黑盔,身披白色披風的少年將軍,雖面容清秀,卻不掩眉宇之間的果決和堅毅。",
        },
        {
          jh: "大昭寺",
          loc: "草原",
          name: "镇魂将",
          name_tw: "鎮魂將",
          way: "jh 26;w;w;w;n;w;w;w;n",
          desc: "金盔金甲的護陵大將。",
        },
        {
          jh: "大昭寺",
          loc: "草原",
          name: "突厥先锋大将",
          name_tw: "突厥先鋒大將",
          way: "jh 26;w;w;w;n;n",
          desc: "東突厥狼軍先鋒大將,面目兇狠,身披狼皮鎧甲,揹負長弓,手持丈餘狼牙棒。",
        },
        {
          jh: "大昭寺",
          loc: "大青山",
          name: "神秘甲士",
          way: "jh 26;w;w;n;w",
          desc: "身披重甲,手持長戟,不許旁人前進一步。",
        },
        {
          jh: "大昭寺",
          loc: "烏拉山",
          name: "地宫暗哨",
          name_tw: "地宮暗哨",
          way: "jh 26;w;w;n;w;w",
          desc: "黑衣黑靴,一旦有外人靠近地宮,便手中暗器齊發。",
        },
        {
          jh: "大昭寺",
          loc: "狼山",
          name: "守山力士",
          way: "jh 26;w;w;n;w;w;w",
          desc: "他們的雙拳,便是鎮守陵寢最好的武器。",
        },
        {
          jh: "大昭寺",
          loc: "草原",
          name: "牧羊女",
          way: "jh 26",
          desc: "一個天真活潑,美麗大方的少女。",
        },
        {
          jh: "大昭寺",
          loc: "草原",
          name: "草原狼",
          way: "jh 26;w",
          desc: "一直兇殘的草原狼。",
        },
        {
          jh: "大昭寺",
          loc: "草原",
          name: "小绵羊",
          name_tw: "小綿羊",
          way: "jh 26;w",
          desc: "一隻全身雪白的的綿羊。",
        },
        {
          jh: "大昭寺",
          loc: "草原",
          name: "牧羊女",
          way: "jh 26;w;w",
          desc: "一個牧羊女正在放羊。",
        },
        {
          jh: "大昭寺",
          loc: "草原",
          name: "大绵羊",
          name_tw: "大綿羊",
          way: "jh 26;w;w",
          desc: "一隻全身雪白的的綿羊。",
        },
        {
          jh: "大昭寺",
          loc: "草原",
          name: "白衣少年",
          way: "jh 26;w;w;w",
          desc: "年紀輕輕的少年,武功了得,卻心狠手辣。",
        },
        {
          jh: "大昭寺",
          loc: "草原",
          name: "小羊羔",
          way: "jh 26;w;w;w",
          desc: "一隻全身雪白的的綿羊。",
        },
        {
          jh: "大昭寺",
          loc: "城門",
          name: "城卫",
          name_tw: "城衛",
          way: "jh 26;w;w;w;w;w",
          desc: "一個年青的藏僧。",
        },
        {
          jh: "大昭寺",
          loc: "塔頂",
          name: "紫衣妖僧",
          way: "jh 26;w;w;w;w;w;n",
          desc: "附有邪魔之氣的僧人。",
        },
        {
          jh: "大昭寺",
          loc: "塔頂",
          name: "塔僧",
          way: "jh 26;w;w;w;w;w;n",
          desc: "一個負責看管舍利塔的藏僧。",
        },
        {
          jh: "大昭寺",
          loc: "八角街",
          name: "关外旅客",
          name_tw: "關外旅客",
          way: "jh 26;w;w;w;w;w;w",
          desc: "這是一位來大昭寺遊覽的旅客。",
        },
        {
          jh: "大昭寺",
          loc: "八角街",
          name: "护寺喇嘛",
          name_tw: "護寺喇嘛",
          way: "jh 26;w;w;w;w;w;w",
          desc: "一個大招寺的藏僧。",
        },
        {
          jh: "大昭寺",
          loc: "八角街",
          name: "护寺藏尼",
          name_tw: "護寺藏尼",
          way: "jh 26;w;w;w;w;w;w;n",
          desc: "一個大招寺的藏尼。",
        },
        {
          jh: "大昭寺",
          loc: "鷹記商號",
          name: "卜一刀",
          way: "jh 26;w;w;w;w;w;w;n;n;e",
          desc: "他是個看起來相當英俊的年輕人,不過點神秘莫測的感覺。",
        },
        {
          jh: "大昭寺",
          loc: "八角街",
          name: "疯狗",
          name_tw: "瘋狗",
          way: "jh 26;w;w;w;w;w;w;n;n;w",
          desc: "一隻渾身髒兮兮的野狗,一雙眼睛正惡狠狠地瞪著你。",
        },
        {
          jh: "大昭寺",
          loc: "八角街",
          name: "余洪兴",
          name_tw: "餘洪興",
          way: "jh 26;w;w;w;w;w;w;s",
          desc: "這是位笑眯眯的丐幫八袋弟子,生性多智,外號小吳用。",
        },
        {
          jh: "大昭寺",
          loc: "迎梅客棧",
          name: "店老板",
          name_tw: "店老闆",
          way: "jh 26;w;w;w;w;w;w;s;e",
          desc: "這位店老闆正在招呼客人。",
        },
        {
          jh: "大昭寺",
          loc: "八角街",
          name: "野狗",
          way: "jh 26;w;w;w;w;w;w;s;s;w;w;w;w",
          desc: "一隻渾身髒兮兮的野狗,一雙眼睛正惡狠狠地瞪著你。一隻渾身髒兮兮的野狗。",
        },
        {
          jh: "大昭寺",
          loc: "八角街",
          name: "收破烂的",
          name_tw: "收破爛的",
          way: "jh 26;w;w;w;w;w;w;s;s;w;w;w;w",
          desc: "一個收破爛的。",
        },
        {
          jh: "大昭寺",
          loc: "八角街",
          name: "樵夫",
          way: "jh 26;w;w;w;w;w;w;s;s;w;w;w;w",
          desc: "你看到一個粗壯的大漢,身上穿著普通樵夫的衣服。",
        },
        {
          jh: "大昭寺",
          loc: "八角街",
          name: "乞丐",
          way: "jh 26;w;w;w;w;w;w;s;s;w;w;w;w;n;n",
          desc: "一個滿臉風霜之色的老乞丐。",
        },
        {
          jh: "大昭寺",
          loc: "驛站",
          name: "陶老大",
          way: "jh 26;w;w;w;w;w;w;s;w",
          desc: "這是整天笑咪咪的車老闆,雖然功夫不高,卻也過得自在。",
        },
        {
          jh: "大昭寺",
          loc: "木屋",
          name: "胭松",
          way: "jh 26;w;w;w;w;w;w;w;w;n;e",
          desc: "胭松是葛倫高僧的得意二弟子。",
        },
        {
          jh: "大昭寺",
          loc: "寶塔",
          name: "塔祝",
          way: "jh 26;w;w;w;w;w;w;w;w;w",
          desc: "這個老人看起來七十多歲了,看著他佝僂的身影,你忽然覺得心情沈重了下來。",
        },
        {
          jh: "大昭寺",
          loc: "禪房",
          name: "灵空",
          name_tw: "靈空",
          way: "jh 26;w;w;w;w;w;w;w;w;w;w",
          desc: "靈空高僧是大昭寺現在的主持。",
        },
        {
          jh: "大昭寺",
          loc: "禪房",
          name: "护寺藏尼",
          name_tw: "護寺藏尼",
          way: "jh 26;w;w;w;w;w;w;w;w;w;w",
          desc: "一個大招寺的藏尼。",
        },
        {
          jh: "大昭寺",
          loc: "大昭秘境",
          name: "葛伦",
          name_tw: "葛倫",
          way: "jh 26;w;w;w;w;w;w;w;w;w;w;ask?lama_master;event_1_91837538",
          desc: "葛倫高僧已在大昭寺主持多年。男女弟子遍佈關外。",
        },
        {
          jh: "魔教",
          loc: "風雷堂正殿",
          name: "童长老",
          name_tw: "童長老",
          way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;nw",
          desc: "他使得一手好錘法。",
        },
        {
          jh: "魔教",
          loc: "飲馬灘",
          name: "船夫",
          name_tw: "船夫",
          way: "jh 27;ne;nw;w;nw;w;w",
          desc: "一個船夫。",
        },
        {
          jh: "魔教",
          loc: "黃土小徑",
          name: "冉无望",
          name_tw: "冉無望",
          way: "jh 27;ne;n;ne",
          desc: "一個面容俊朗的少年,卻眉頭深鎖,面帶殺氣。",
        },
        {
          jh: "魔教",
          loc: "飲馬灘",
          name: "外面船夫",
          name_tw: "外面船夫",
          way: "jh 27;ne;nw;w;nw;w;w",
          desc: "一個船夫。",
        },
        {
          jh: "魔教",
          loc: "跪拜坪",
          name: "见钱开",
          name_tw: "見錢開",
          way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;e",
          desc: "此人十分喜好錢財。",
        },
        {
          jh: "魔教",
          loc: "日月神道",
          name: "魔教弟子",
          way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;n",
          desc: "這傢伙滿臉橫肉,一付凶神惡煞的模樣,令人望而生畏。",
        },
        {
          jh: "魔教",
          loc: "神教監牢",
          name: "(紫色)魔教犯人",
          way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;e;n",
          desc: "一個魔教的犯人,他們都是到魔教臥底的各大門派弟子事洩被捕的",
        },
        {
          jh: "魔教",
          loc: "神教監牢",
          name: "(青色)魔教犯人",
          way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;e;e;e;n",
          desc: "一個魔教的犯人,他們都是到魔教臥底的各大門派弟子事洩被捕的",
        },
        {
          jh: "魔教",
          loc: "神教監牢",
          name: "(红色)魔教犯人",
          name_tw: "(紅色)魔教犯人",
          way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;e;e;e;e;n",
          desc: "一個魔教的犯人,他們都是到魔教臥底的各大門派弟子事洩被捕的",
        },
        {
          jh: "魔教",
          loc: "神教監牢",
          name: "(蓝色)魔教犯人",
          name_tw: "(藍色)魔教犯人",
          way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;e;e;e;e;e;n",
          desc: "一個魔教的犯人,他們都是到魔教臥底的各大門派弟子事洩被捕的",
        },
        {
          jh: "魔教",
          loc: "神劍閣",
          name: "独孤风",
          name_tw: "獨孤風",
          name_new: "夏侯京",
          way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;n;n;n;n;n;e",
          desc: "此人是用劍高手。",
        },
        {
          jh: "魔教",
          loc: "魔慶堂",
          name: "杨延庆",
          name_tw: "楊延慶",
          way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;n;n;n;n;n;e;e",
          desc: "他使得一手好槍法。",
        },
        {
          jh: "魔教",
          loc: "魔松閣",
          name: "范松",
          name_tw: "範松",
          way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;n;n;n;n;n;e;e;e",
          desc: "他使得一手好斧法。",
        },
        {
          jh: "魔教",
          loc: "魔靈閣",
          name: "巨灵",
          name_tw: "巨靈",
          way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e",
          desc: "他使得一手好錘法。",
        },
        {
          jh: "魔教",
          loc: "魔楚閣",
          name: "楚笑",
          way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e",
          desc: "雖是女子,但武功絕不輸於須眉。",
        },
        {
          jh: "魔教",
          loc: "成德殿",
          name: "莲亭",
          name_tw: "蓮亭",
          way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;n;n;n;n;n;n",
          desc: "他身形魁梧,滿臉虯髯,形貌極為雄健。",
        },
        {
          jh: "魔教",
          loc: "成德殿",
          name: "(亮蓝色)魔教弟子",
          name_tw: "(亮藍色)魔教弟子",
          way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;n;n;n;n;n;n",
          desc: "",
        },
        {
          jh: "魔教",
          loc: "針線小築",
          name: "东方教主",
          name_tw: "東方教主",
          name_new: "葵花傳人",
          way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;n;n;n;n;n;n;n;event_1_57107759;e;e;n;w",
          desc: "他就是日月神教教主。號稱無人可敵。",
        },
        {
          jh: "魔教",
          loc: "魔容閣",
          name: "花想容",
          way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;n;n;n;n;n;w",
          desc: "她使得一手好刀法。",
        },
        {
          jh: "魔教",
          loc: "魔洋閣",
          name: "曲右使",
          way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;n;n;n;n;n;w;w",
          desc: "他使得一手好鉤法。",
        },
        {
          jh: "魔教",
          loc: "魔風閣",
          name: "张矮子",
          name_tw: "張矮子",
          way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;n;n;n;n;n;w;w;w",
          desc: "他使得一手好武功。",
        },
        {
          jh: "魔教",
          loc: "魔雲閣",
          name: "张白发",
          name_tw: "張白發",
          way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w",
          desc: "他使得一手好掌法。",
        },
        {
          jh: "魔教",
          loc: "魔鶴閣",
          name: "赵长老",
          name_tw: "趙長老",
          way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;w",
          desc: "他使得一手好叉法。",
        },
        {
          jh: "魔教",
          loc: "風雷堂",
          name: "王诚",
          name_tw: "王誠",
          way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;ne",
          desc: "他使得一手好刀法。",
        },
        {
          jh: "魔教",
          loc: "白虎堂正堂",
          name: "上官云",
          name_tw: "上官雲",
          way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;w;n",
          desc: "他使得一手好劍法。",
        },
        {
          jh: "魔教",
          loc: "流雲堂",
          name: "桑三娘",
          way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;w;ne",
          desc: "她使得一手好叉法。",
        },
        {
          jh: "魔教",
          loc: "霸氣堂",
          name: "葛停香",
          way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;w;nw",
          desc: "他天生神力,勇猛無比。",
        },
        {
          jh: "魔教",
          loc: "白虎堂",
          name: "罗烈",
          name_tw: "羅烈",
          way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;w;se",
          desc: "他使得一手好槍法。",
        },
        {
          jh: "魔教",
          loc: "朱雀正堂",
          name: "贾布",
          name_tw: "賈布",
          way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;w;sw",
          desc: "他使得一手好鉤法。",
        },
        {
          jh: "魔教",
          loc: "玄武正堂",
          name: "鲍长老",
          name_tw: "鮑長老",
          way: "jh 27;ne;nw;w;nw;w;w;;kill?船夫;@船夫的屍體;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n;yell;n;n;n;n;n;n;w;w",
          desc: "他一身橫練的功夫,孔武有力。",
        },
        {
          jh: "魔教",
          loc: "飲馬灘",
          name: "里面船夫",
          name_tw: "裡面船夫",
          way: "jh 27;ne;nw;w;nw;w;w;yell",
          desc: "一個船夫。",
        },
        {
          jh: "魔教",
          loc: "步神小道",
          name: "(青色)魔教弟子",
          way: "jh 27;ne;nw;w;nw;w;w;yell;w;nw;n;n;n;n;n",
          desc: "",
        },
        {
          jh: "魔教",
          loc: "步神小道",
          name: "青色魔教弟子",
          way: "jh 27;ne;nw;w;nw;w;w;yell;w;nw;n;n;n;n;n",
          desc: "",
        },
        {
          jh: "魔教",
          loc: "繩索吊橋",
          name: "魔教弟子",
          way: "jh 27;ne;nw;w;nw;w;w;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n",
          desc: "這傢伙滿臉橫肉,一付凶神惡煞的模樣,令人望而生畏。",
        },
        {
          jh: "魔教",
          loc: "鐵門",
          name: "白色魔教弟子",
          way: "jh 27;ne;nw;w;nw;w;w;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n",
          desc: "",
        },
        {
          jh: "魔教",
          loc: "鐵門",
          name: "(白色)魔教弟子",
          way: "jh 27;ne;nw;w;nw;w;w;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n",
          desc: "",
        },
        {
          jh: "魔教",
          loc: "鐵門",
          name: "(蓝色)魔教弟子",
          name_tw: "(藍色)魔教弟子",
          way: "jh 27;ne;nw;w;nw;w;w;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n",
          desc: "",
        },
        {
          jh: "魔教",
          loc: "鐵門",
          name: "蓝色魔教弟子",
          name_tw: "藍色魔教弟子",
          way: "jh 27;ne;nw;w;nw;w;w;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n",
          desc: "",
        },
        {
          jh: "魔教",
          loc: "平地",
          name: "黄色魔教弟子",
          name_tw: "黃色魔教弟子",
          way: "jh 27;ne;nw;w;nw;w;w;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n",
          desc: "",
        },
        {
          jh: "魔教",
          loc: "平地",
          name: "(黄色)魔教弟子",
          name_tw: "(黃色)魔教弟子",
          way: "jh 27;ne;nw;w;nw;w;w;yell;w;nw;n;n;n;n;n;n;n;w;n;n;n;n;n;n;n;n;n;n",
          desc: "",
        },
        {
          jh: "魔教",
          loc: "子午樓",
          name: "店小二",
          way: "jh 27;ne;w",
          desc: "這是一個忙忙碌碌的小二。",
        },
        {
          jh: "魔教",
          loc: "子午樓",
          name: "客店老板",
          name_tw: "客店老闆",
          way: "jh 27;ne;w",
          desc: "一個賊眉鼠眼的商人。",
        },
        {
          jh: "魔教",
          loc: "黑山林",
          name: "黑熊",
          way: "jh 27;se;e",
          desc: "一隻健壯的黑熊。",
        },
        {
          jh: "魔教",
          loc: "林洞",
          name: "怪人",
          way: "jh 27;se;e;e;e",
          desc: "看起來像是隻妖怪一般。",
        },
        {
          jh: "星宿海",
          loc: "山洞",
          name: "玄衣刀妖",
          way: "jh 28;n;w;w;w;se",
          desc: "一個白發老人,身著紫衣,眼神兇狠,太陽穴隆起,顯是有不低的內力修為。",
        },
        {
          jh: "星宿海",
          loc: "小屋",
          name: "波斯老者",
          way: "jh 28;nw;sw",
          desc: "一個老者來自波斯,似乎是一個鐵匠,臉上看起來有點陰險的感覺。",
        },
        {
          jh: "星宿海",
          loc: "天山下",
          name: "波斯商人",
          way: "jh 28",
          desc: "一個高鼻藍眼的波斯商人。他看著你臉上露出狡猾的笑容。",
        },
        {
          jh: "星宿海",
          loc: "天山山路",
          name: "牧羊人",
          way: "jh 28;n",
          desc: "一個老漢,趕著幾十只羊。",
        },
        {
          jh: "星宿海",
          loc: "天山山路",
          name: "星宿派钹手",
          name_tw: "星宿派鈸手",
          way: "jh 28;n;n",
          desc: "他是星宿派的擊鈸手。他手中拿著一對銅鈸,一邊敲一邊扯著嗓子唱些肉麻的話。",
        },
        {
          jh: "星宿海",
          loc: "天山山路",
          name: "星宿派鼓手",
          way: "jh 28;n;n",
          desc: "他是星宿派的吹鼓手。他面前放著一隻銅鼓,一邊敲一邊扯著嗓子唱些肉麻的話。",
        },
        {
          jh: "星宿海",
          loc: "天山山路",
          name: "狮吼师兄",
          name_tw: "獅吼師兄",
          way: "jh 28;n;n",
          desc: "他就是丁老怪的二弟子。他三十多歲,獅鼻闊口,一望而知不是中土人士。",
        },
        {
          jh: "星宿海",
          loc: "天山山路",
          name: "星宿派号手",
          name_tw: "星宿派號手",
          way: "jh 28;n;n",
          desc: "他是星宿派的吹號手。他手中拿著一隻銅號,鼓足力氣一臉沉醉地吹著。",
        },
        {
          jh: "星宿海",
          loc: "星宿海",
          name: "摘星大师兄",
          name_tw: "摘星大師兄",
          way: "jh 28;n;n;n",
          desc: "他就是丁老怪的大弟子、星宿派大師兄。他三十多歲,臉龐瘦削,眼光中透出一絲乖戾之氣。",
        },
        {
          jh: "星宿海",
          loc: "日月洞",
          name: "丁老怪",
          name_new: "天宿老怪",
          way: "jh 28;n;n;n;n;n",
          desc: "他就是天宿派開山祖師、令正派人士深惡痛絕的天宿老怪。可是他看起來形貌清奇,仙風道骨。",
        },
        {
          jh: "星宿海",
          loc: "石道",
          name: "采花子",
          name_tw: "採花子",
          way: "jh 28;n;n;n;n;nw;w",
          desc: "採花子是星宿派的一個小嘍羅,武功雖不好,但生性淫邪,經常姦淫良家婦女,是官府通緝的犯人,故而星宿派名義上也不承認有這個弟子。",
        },
        {
          jh: "星宿海",
          loc: "天山山路",
          name: "紫姑娘",
          way: "jh 28;n;w",
          desc: "她就是丁老怪弟子紫姑娘。她容顏俏麗,可眼神中總是透出一股邪氣。",
        },
        {
          jh: "星宿海",
          loc: "小路",
          name: "天狼师兄",
          name_tw: "天狼師兄",
          way: "jh 28;n;w;n",
          desc: "他就是丁老怪的三弟子。",
        },
        {
          jh: "星宿海",
          loc: "小路",
          name: "出尘师弟",
          name_tw: "出塵師弟",
          way: "jh 28;n;w;n;n",
          desc: "他就是丁老怪的八弟子。他身才矮胖,可手中握的鋼杖又長又重。",
        },
        {
          jh: "星宿海",
          loc: "天山山路",
          name: "采药人",
          name_tw: "採藥人",
          way: "jh 28;n;w;w",
          desc: "一個辛苦工作的採藥人。",
        },
        {
          jh: "星宿海",
          loc: "天山頂峰",
          name: "周女侠",
          name_tw: "週女俠",
          way: "jh 28;n;w;w;w;w",
          desc: "身形修長,青裙曳地。皮膚白嫩,美若天人。恍若仙子下凡,是人世間極少的絕美女子。其武功修為十分了得。",
        },
        {
          jh: "星宿海",
          loc: "天山頂峰",
          name: "毒蛇",
          way: "jh 28;n;w;w;w;w",
          desc: "一隻有著三角形腦袋的蛇,尾巴沙沙做響。",
        },
        {
          jh: "星宿海",
          loc: "百龍山",
          name: "毒蛇",
          way: "jh 28;n;w;w;w;w;n",
          desc: "一隻有著三角形腦袋的蛇,尾巴沙沙做響。",
        },
        {
          jh: "星宿海",
          loc: "野牛溝",
          name: "牦牛",
          name_tw: "犛牛",
          way: "jh 28;n;w;w;w;w;w;w;nw;ne;nw;w",
          desc: "這是一頭常見的崑崙山野犛牛",
        },
        {
          jh: "星宿海",
          loc: "野牛溝",
          name: "雪豹",
          way: "jh 28;n;w;w;w;w;w;w;nw;ne;nw;w",
          desc: "這是一頭通體雪白的崑崙山雪豹,極為罕有。",
        },
        {
          jh: "星宿海",
          loc: "伊犁",
          name: "唐冠",
          way: "jh 28;nw",
          desc: "唐門中的貴公子,父親是唐門中的高層,看起來極自負。",
        },
        { jh: "星宿海", loc: "伊犁", name: "伊犁", way: "jh 28;nw", desc: "" },
        {
          jh: "星宿海",
          loc: "伊犁",
          name: "矮胖妇女",
          name_tw: "矮胖婦女",
          way: "jh 28;nw",
          desc: "一個很胖的中年婦女。",
        },
        {
          jh: "星宿海",
          loc: "巴依家院",
          name: "巴依",
          way: "jh 28;nw;e",
          desc: "一個風塵僕僕的俠客。。",
        },
        {
          jh: "星宿海",
          loc: "巴依家院",
          name: "小孩",
          way: "jh 28;nw;e",
          desc: "這是個小孩子",
        },
        {
          jh: "星宿海",
          loc: "巴依家客廳",
          name: "阿凡提",
          way: "jh 28;nw;e;e",
          desc: "他頭上包著頭巾,長著向上翹的八字鬍,最喜歡捉弄巴依、幫助窮人。他常給別人出謎語。",
        },
        {
          jh: "星宿海",
          loc: "賽馬場",
          name: "伊犁马",
          name_tw: "伊犁馬",
          way: "jh 28;nw;nw",
          desc: "這是一匹雄壯的母馬,四肢發達,毛發油亮。",
        },
        {
          jh: "星宿海",
          loc: "賽馬場",
          name: "阿拉木罕",
          way: "jh 28;nw;nw",
          desc: "她身段不肥也不瘦。她的眉毛像彎月,她的眼睛很多情。",
        },
        {
          jh: "星宿海",
          loc: "雜貨鋪",
          name: "买卖提",
          name_tw: "買賣提",
          way: "jh 28;nw;w",
          desc: "買賣提是個中年商人,去過幾次中原,能講一點兒漢話。",
        },
        {
          jh: "星宿海",
          loc: "戈壁山洞",
          name: "天梵密使",
          way: "jh 28;nw;w;buy /map/xingxiu/npc/obj/fire from xingxiu_maimaiti;e;se;sw;event_1_83637364",
          desc: "天梵宗主密使,遮住了容貌,神秘莫測。",
        },
        {
          jh: "星宿海",
          loc: "南疆沙漠",
          name: "梅师姐",
          name_tw: "梅師姐",
          way: "jh 28;sw",
          desc: "此人一臉幹皺的皮膚,雙眼深陷,猶如一具死屍。",
        },
        {
          jh: "星宿海",
          loc: "南疆沙漠",
          name: "铁尸",
          name_tw: "鐵屍",
          way: "jh 28;sw;nw;sw;sw;nw;nw;se;sw",
          desc: "這人全身乾枯,不像一個人,倒像是一具乾屍。",
        },
        { jh: "茅山", loc: "南疆沙漠", name: "心魔", way: "", desc: "缺" },
        {
          jh: "茅山",
          loc: "山道",
          name: "野猪",
          name_tw: "野豬",
          way: "jh 29;n",
          desc: "一隻笨笨的野豬",
        },
        {
          jh: "茅山",
          loc: "龍城道場",
          name: "阳明居士",
          name_tw: "陽明居士",
          way: "jh 29;n;n;n;n;event_1_60035830;place?平台;e",
          desc: "陽明居士瀟灑俊逸,一代鴻儒,學識淵博且深諳武事,有「軍神」之美譽,他開創的「陽明心學」更是打破了朱派獨霸天下的局面。",
        },
        {
          jh: "茅山",
          loc: "",
          name: "张天师",
          name_tw: "張天師",
          way: "jh 29;n;n;n;n;event_1_60035830;place?平台;event_1_65661209;place?無名山峽谷;n",
          desc: "他是龍虎山太乙一派的嫡系傳人,他法力高強,威名遠播。",
        },
        {
          jh: "茅山",
          loc: "",
          name: "万年火龟",
          name_tw: "萬年火龜",
          way: "jh 29;n;n;n;n;event_1_60035830;place?平台;event_1_65661209;place?無名山峽谷;n",
          desc: "一隻尺許大小,通體火紅的烏龜。",
        },
        {
          jh: "茅山",
          loc: "",
          name: "道士",
          way: "jh 29;n;n;n;n;event_1_60035830;place?平台;event_1_65661209;place?洞口;n;n;n;n;n;e;n",
          desc: "茅山派的道士,著一身黑色的道袍",
        },
        {
          jh: "茅山",
          loc: "",
          name: "孙天灭",
          name_tw: "孫天滅",
          way: "jh 29;n;n;n;n;event_1_60035830;place?平台;event_1_65661209;place?洞口;n;n;n;n;n;n;n",
          desc: "孫天滅外號六指小真人,是林忌最喜愛的徒弟。他盡得林忌真傳!",
        },
        {
          jh: "茅山",
          loc: "",
          name: "道灵",
          name_tw: "道靈",
          way: "jh 29;n;n;n;n;event_1_60035830;place?平台;event_1_65661209;place?洞口;n;n;n;n;n;n;n;event_1_98579273",
          desc: "道靈真人是林忌的師弟,也是上代掌門的關門弟子,雖然比林忌小了幾歲,但道行十分高深,「谷衣心法」已修煉到極高境界了。",
        },
        {
          jh: "茅山",
          loc: "",
          name: "林忌",
          way: "jh 29;n;n;n;n;event_1_60035830;place?平台;event_1_65661209;place?洞口;n;n;n;n;n;n;n;event_1_98579273;n",
          desc: "林忌是一位道行十分高深的修道者,你發現他的眼珠一個是黑色的,一個是金色的,這正是「谷衣心法」修煉到極高境界的徵兆。",
        },
        {
          jh: "茅山",
          loc: "",
          name: "护山使者",
          name_tw: "護山使者",
          way: "jh 29;n;n;n;n;event_1_60035830;place?平台;event_1_65661209;place?洞口;n;n;n;n;n;n;n;event_1_98579273;w",
          desc: "護山使者是茅山派的護法,著一身黑色的道袍",
        },
        {
          jh: "桃花島",
          loc: "后院",
          name: "桃花岛弟子",
          name_tw: "桃花島弟子",
          way: "jh 30;n;n;n;n;n;n;n",
          desc: "一個三十出頭的小夥子,身板結實,雙目有神,似乎練過幾年功夫。",
        },
        {
          jh: "桃花島",
          loc: "",
          name: "陆废人",
          name_tw: "陸廢人",
          way: "jh 30",
          desc: "他是黃島主的三弟子。",
        },
        {
          jh: "桃花島",
          loc: "",
          name: "老渔夫",
          name_tw: "老漁夫",
          way: "jh 30;n;n;n;n;n;n",
          desc: "一個看上去毫不起眼的老漁夫,然而……",
        },
        {
          jh: "桃花島",
          loc: "习武房",
          name: "桃花岛弟子",
          name_tw: "桃花島弟子",
          way: "jh 30;n;n;n;n;n;n;n;n;n;n;w",
          desc: "一個二十出頭的小夥子,身板結實,雙目有神,似乎練過幾年功夫。",
        },
        {
          jh: "桃花島",
          loc: "",
          name: "曲三",
          way: "jh 30;n;n;n;n;n;n;n;n;n;n;e;e;n",
          desc: "他是黃島主的四弟子。",
        },
        {
          jh: "桃花島",
          loc: "",
          name: "丁高阳",
          name_tw: "丁高陽",
          way: "jh 30;n;n;n;n;n;n;n;n;n;n;e;s",
          desc: "曲三的一位好友,神態似乎非常著急。",
        },
        {
          jh: "桃花島",
          loc: "",
          name: "黄岛主",
          name_tw: "黃島主",
          name_new: "李奇門",
          way: "jh 30;n;n;n;n;n;n;n;n;n;n;n;n;n;n",
          desc: "他就是桃花島主,喜怒無常,武功深不可測。",
        },
        {
          jh: "桃花島",
          loc: "",
          name: "蓉儿",
          name_tw: "蓉兒",
          way: "jh 30;n;n;n;n;n;n;n;n;n;n;n;n;n;n;se;s",
          desc: "她是黃島主的愛女,長得極為漂亮。",
        },
        {
          jh: "桃花島",
          loc: "药房",
          name: "桃花岛弟子",
          name_tw: "桃花島弟子",
          way: "jh 30;n;n;n;n;n;n;n;n;n;n;w;w;s",
          desc: "一個二十出頭的小夥子,身板結實,雙目有神,似乎練過幾年功夫。",
        },
        {
          jh: "桃花島",
          loc: "",
          name: "哑仆",
          name_tw: "啞僕",
          way: "jh 30;n;n;n;n;n;n;n;n;n;n;w;w;s",
          desc: "這是一個桃花島的啞僕。他們全是十惡不赦的混蛋,黃藥師刺啞他們,充為下御。",
        },
        {
          jh: "桃花島",
          loc: "",
          name: "哑仆人",
          name_tw: "啞僕人",
          way: "jh 30;n;n;n;n;n;n;n;w;w",
          desc: "又聾又啞,似乎以前曾是一位武林高手。",
        },
        {
          jh: "桃花島",
          loc: "",
          name: "神雕大侠",
          name_tw: "神雕大俠",
          name_new: "過必修",
          way: "jh 30;n;n;ne",
          desc: "他就是神雕大俠,一張清癯俊秀的臉孔,劍眉入鬢。",
        },
        {
          jh: "桃花島",
          loc: "",
          name: "傻姑",
          way: "jh 30;yell;w;n",
          desc: "這位姑娘長相還算端正,就是一副傻頭傻腦的樣子。",
        },
        {
          jh: "桃花島",
          loc: "",
          name: "戚总兵",
          name_tw: "戚總兵",
          way: "jh 30;yell;w;n;e",
          desc: "此乃東南海防駐軍主將,英武之氣凜凜逼人,威信素著,三軍皆畏其令,從不敢擾民。",
        },
        {
          jh: "鐵雪山莊",
          loc: "",
          name: "小贩",
          name_tw: "小販",
          way: "jh 11;e;e;s;n;nw;w;nw;e",
          desc: "這小販左手提著個籃子,右手提著個酒壺。籃上繫著銅鈴,不住叮鐺作響。",
        },
        {
          jh: "鐵雪山莊",
          loc: "",
          name: "酒肉和尚",
          way: "jh 11;e;e;s;n;nw;w;nw;e;e;e;n;w",
          desc: "這是一個僧不僧俗不俗,滿頭亂發的怪人",
        },
        {
          jh: "鐵雪山莊",
          loc: "野猪岭",
          name: "纵横老野猪\x1b\t",
          name_tw: "縱橫老野豬\x1b\t",
          way: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e",
          desc: "兩件普通的黑布衣衫罩在身上,粗獷的眉宇間英華內斂,目光凝實如玉,顯出極高的修行。《參同契》有云:「故鉛外黑,內懷金華,被褐懷玉,外為狂夫」。目睹此人,可窺一斑。",
        },
        {
          jh: "鐵雪山莊",
          loc: "",
          name: "老妖",
          way: "jh 31;n;se;e;se;s;s;sw;se;se",
          desc: "一個金眼赤眉的老人,傳說來自遙遠的黑森之山,有著深不可測的妖道修為。",
        },
        {
          jh: "鐵雪山莊",
          loc: "羊肠小道",
          name: "樵夫",
          way: "jh 31;n;n;n",
          desc: "一個砍柴為生的樵夫。",
        },
        {
          jh: "鐵雪山莊",
          loc: "",
          name: "樵夫",
          way: "jh 31;n;n;n;w",
          desc: "一個砍柴為生的樵夫。",
        },
        {
          jh: "鐵雪山莊",
          loc: "世外桃源",
          name: "欧冶子",
          name_tw: "歐冶子",
          way: "jh 31;n;n;n;w;w;w",
          desc: "華夏鑄劍第一人,許多神劍曾出自他手。",
        },
        {
          jh: "鐵雪山莊",
          loc: "翠竹庄门",
          name: "老张",
          name_tw: "老張",
          way: "jh 31;n;n;n;w;w;w;w;n",
          desc: "鐵血山莊的門衛。",
        },
        {
          jh: "鐵雪山莊",
          loc: "山庄前院",
          name: "雪鸳",
          name_tw: "雪鴛",
          way: "jh 31;n;n;n;w;w;w;w;n;n",
          desc: "神秘的綠衣女子,似乎隱居在鐵雪山莊,無人能知其來歷。",
        },
        {
          jh: "鐵雪山莊",
          loc: "",
          name: "小翠",
          way: "jh 31;n;n;n;w;w;w;w;n;n;n",
          desc: "鐵雪山莊的一個丫鬟。",
        },
        {
          jh: "鐵雪山莊",
          loc: "",
          name: "雪蕊儿",
          name_tw: "雪蕊兒",
          way: "jh 31;n;n;n;w;w;w;w;n;n;n",
          desc: "雪蕊兒膚白如雪,很是漂亮。在這鐵雪山莊中,和鐵少過著神仙一般的日子。",
        },
        {
          jh: "鐵雪山莊",
          loc: "翠竹屋",
          name: "铁少",
          name_tw: "鐵少",
          way: "jh 31;n;n;n;w;w;w;w;n;n;n",
          desc: "鐵山是一個風流倜儻的公子。",
        },
        {
          jh: "鐵雪山莊",
          loc: "山庄后院",
          name: "白袍公",
          way: "jh 31;n;n;n;w;w;w;w;n;n;n;n",
          desc: "一個一襲白衣的老翁。",
        },
        {
          jh: "鐵雪山莊",
          loc: "",
          name: "黑袍公",
          way: "jh 31;n;n;n;w;w;w;w;n;n;n;n",
          desc: "一個一襲黑衣的老翁。",
        },
        {
          jh: "鐵雪山莊",
          loc: "洞后营地",
          name: "黑衣人",
          way: "jh 31;n;e;n;n;se;sw;s;nw;n",
          desc: "全身黑衣的青年,現在似乎沒有沒有帶面罩,相貌很不顯眼",
        },
        {
          jh: "鐵雪山莊",
          loc: "营地大帐",
          name: "黑衣首领",
          name_tw: "黑衣首領",
          way: "jh 31;n;e;n;n;se;sw;s;nw;n;e",
          desc: "看起來像是這裡的首領,身穿黑衣,相貌非常普通",
        },
        {
          jh: "鐵雪山莊",
          loc: "青石溪畔",
          name: "陳小神",
          way: "jh 31;n;se",
          desc: "快活林裡小神仙,一個眉清目秀的江湖新人,據說機緣巧合下得到了不少江湖秘藥,功力非同一般,前途不可限量。",
        },
        {
          jh: "鐵雪山莊",
          loc: "",
          name: "剑荡八荒",
          name_tw: "劍蕩八荒",
          way: "jh 31;n;se;e",
          desc: "虯髯大漢,要憑一把鐵劍戰勝天下高手,八荒無敵。",
        },
        {
          jh: "鐵雪山莊",
          loc: "",
          name: "魏娇",
          name_tw: "魏嬌",
          way: "jh 31;n;se;e;se",
          desc: "女扮男裝的青衣秀士,手持長劍,英姿颯爽,好一個巾幗不讓須眉。",
        },
        {
          jh: "鐵雪山莊",
          loc: "",
          name: "神仙姐姐",
          way: "jh 31;n;se;e;se;s",
          desc: "白裙襲地,仙氣氤氳,武林中冉冉升起的新星,誓要問鼎至尊榜,執天下之牛耳。",
        },
        {
          jh: "鐵雪山莊",
          loc: "半山桃林",
          name: "寒夜·斩",
          name_tw: "寒夜·斬",
          way: "jh 31;n;se;e;se;s;s",
          desc: "一副浪蕩書生打扮的中年劍客,據說他也曾是一代高手。",
        },
        {
          jh: "鐵雪山莊",
          loc: "",
          name: "他",
          way: "jh 31;n;se;e;se;s;s;sw",
          desc: "這人的名字頗為奇怪,只一個字。行為也頗為怪誕,總是藏在花叢裡。不過武功底子看起來卻一點都不弱。",
        },
        {
          jh: "鐵雪山莊",
          loc: "",
          name: "出品人◆风云",
          name_tw: "出品人◆風雲",
          way: "jh 31;n;se;e;se;s;s;sw;se",
          desc: "江湖豪門『21世紀影業』的核心長老之一,與幫主番茄攜手打下一片江山,江湖中威震一方的豪傑。",
        },
        {
          jh: "鐵雪山莊",
          loc: "",
          name: "二虎子",
          way: "jh 31;n;se;e;se;s;s;sw;se;se",
          desc: "一個已過盛年的江湖高手,像是曾有過輝煌,卻早已隨風吹雨打去。他曾有過很多名字,現在卻連一個像樣的都沒有留下,只剩下喝醉後嘴裡呢喃不清的“大師”,“二二二”,“泯恩仇”,你也聽不出個所以然。",
        },
        {
          jh: "鐵雪山莊",
          loc: "",
          name: "欢乐剑客",
          name_tw: "歡樂劍客",
          way: "jh 31;n;se;e;se;s;s;sw;se;se;e",
          desc: "『地府』威震江湖的右護法,手中大斧不知道收留了多少江湖高手的亡魂。",
        },
        {
          jh: "鐵雪山莊",
          loc: "",
          name: "黑市老鬼",
          way: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw",
          desc: "江湖人無人不知,無人不曉的黑市老鬼頭,包裹裡無奇不有,無所不賣,只要你有錢,什麼稀奇的貨品都有,比如黑鬼的凝視,眼淚,咆哮,微笑。。。一應俱全。",
        },
        {
          jh: "鐵雪山莊",
          loc: "踏云小径",
          name: "无头苍蝇",
          name_tw: "無頭蒼蠅",
          way: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e;ne",
          desc: "一個佝僂著身軀的玄衣老頭,從後面看去,似是沒有頭一樣,頗為駭人。",
        },
        {
          jh: "鐵雪山莊",
          loc: "",
          name: "神弑☆铁手",
          name_tw: "神弒☆鐵手",
          way: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e;ne;n",
          desc: "武林中數一數二的後起之秀,和所有崛起的江湖高手一樣,潛心修煉,志氣淩雲。",
        },
        {
          jh: "鐵雪山莊",
          loc: "",
          name: "禅师",
          name_tw: "禪師",
          way: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e;ne;n;ne",
          desc: "一個退隱的禪師,出家人連名字都忘懷了,只剩下眼中隱含的光芒還能看出曾是問鼎武林的高手。",
        },
        {
          jh: "鐵雪山莊",
          loc: "",
          name: "道一",
          way: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e;ne;n;ne;n",
          desc: "後起之秀,面若中秋之月,色如春曉之花,鬢若刀裁,眉如墨畫。",
        },
        {
          jh: "鐵雪山莊",
          loc: "真龙隐武阁",
          name: "采菊隐士",
          name_tw: "採菊隱士",
          way: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e;ne;n;ne;n;n",
          desc: "一個與世無爭的清修高人,無心江湖,潛心修仙。用「美男子」來形容他一點也不為過。身高近七尺,穿著一襲繡綠紋的紫長袍,外罩一件亮綢面的乳白色對襟襖背子。",
        },
        {
          jh: "鐵雪山莊",
          loc: "武神步道",
          name: "【人间】雨修",
          name_tw: "【人間】雨修",
          way: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e;ne;n;ne;n;n;n;n",
          desc: "曾經的江湖第二豪門『天傲閣』的大當家,武勇過人,修為頗深。怎奈何門派日漸式微,江湖聲望一日不如一日,讓人不禁扼腕嘆息,縱使一方霸主也獨木難支。",
        },
        {
          jh: "鐵雪山莊",
          loc: "无双洞",
          name: "汉时叹",
          name_tw: "漢時嘆",
          way: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e;ne;n;ne;n;n;n;n;n;n;e;e;event_1_47175535",
          desc: "身穿水墨色衣、頭戴一片氈巾,生得風流秀氣。『地府』幫的開山祖師,曾是武功橫絕一時的江湖至尊。手中暗器『大巧不工』聞者喪膽,鏢身有字『揮劍訣浮雲』。",
        },
        {
          jh: "鐵雪山莊",
          loc: "破虚石台",
          name: "冷泉心影",
          way: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e;ne;n;ne;n;n;n;n;n;n;e;n",
          desc: "『不落皇朝』當之無愧的君主和領袖,致力破除心中習武障魔,參得無上武道。頭上戴著束發嵌寶紫金冠,齊眉勒著二龍搶珠金抹額,如同天上神佛降臨人世。",
        },
        {
          jh: "鐵雪山莊",
          loc: "绣冬堂",
          name: "烽火戏诸侯",
          name_tw: "烽火戲諸侯",
          way: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e;ne;n;ne;n;n;n;n;n;n;n;n;n;e;e;event_1_94442590",
          desc: "身軀凜凜,相貌堂堂。一雙眼光射寒星,兩彎眉渾如刷漆。胸脯橫闊,有萬夫難敵之威風。武林至尊榜頂尖劍客,一人一劍,手持『春雷』蕩平天劍谷,天下武林無人不曉!神劍劍身一面刻“鳳年”,一面刻著“天狼”。",
        },
        {
          jh: "鐵雪山莊",
          loc: "燕谿阁",
          name: "阿不",
          way: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e;ne;n;ne;n;n;n;n;n;n;n;n;n;w;w;event_1_57281457",
          desc: "器宇軒昂,吐千丈淩雲之志氣。白衣黑發,雙手負於背後,立於巨巖之頂,直似神明降世。這是武林至尊榜第一高手,不世出的天才劍客,率『縱橫天下』幫獨尊江湖。手持一柄『穿林雨』長槍,槍柄上刻著一行小字:『歸去,也無風雨也無晴』。",
        },
        {
          jh: "鐵雪山莊",
          loc: "破虚石台",
          name: "男主角◆番茄",
          way: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e;ne;n;ne;n;n;n;n;n;n;w;n",
          desc: "江湖豪門『21世紀影業』的靈魂,當世絕頂高手之一,正在此潛心修練至上武學心法,立志要在這腥風血雨的江湖立下自己的聲威!",
        },
        {
          jh: "鐵雪山莊",
          loc: "沉剑渊",
          name: "剑仙",
          name_tw: "劍仙",
          way: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e;ne;n;ne;n;n;n;n;n;n;w;w;sw",
          desc: "白須白發,仙風道骨,離世獨居的高人。",
        },
        {
          jh: "鐵雪山莊",
          loc: "球霸酒家",
          name: "小飞",
          name_tw: "小飛",
          way: "jh 31;n;se;e;se;s;w",
          desc: "『不落皇朝』的二當家,為人灑脫風趣,酷愛蹴鞠,酒量超群,以球入道。傳聞只要飲下三杯佳釀,帶醉出戰,那麼不論是踢全場、轉花枝、大小出尖,流星趕月,他都能憑藉出色的技藝獨佔鰲頭。",
        },
        {
          jh: "慕容山莊",
          loc: "",
          name: "家丁",
          way: "jh 32;n;n",
          desc: "一個穿著僕人服裝的家丁。",
        },
        {
          jh: "慕容山莊",
          loc: "",
          name: "邓家臣",
          name_tw: "鄧家臣",
          way: "jh 32;n;n;se",
          desc: "他是慕容家四大家臣之首,功力最為深厚。",
        },
        {
          jh: "慕容山莊",
          loc: "",
          name: "朱姑娘",
          way: "jh 32;n;n;se;e;s;s",
          desc: "這是個身穿紅衣的女郎,大約十七八歲,一臉精靈頑皮的神氣。一張鵝蛋臉,眼珠靈動,別有一番動人風韻。",
        },
        {
          jh: "慕容山莊",
          loc: "",
          name: "船工小厮",
          name_tw: "船工小廝",
          way: "jh 32;n;n;se;e;s;s;event_1_99232080",
          desc: "一位年輕的船工。表情看上去很消沉,不知道發生了什麼。",
        },
        {
          jh: "慕容山莊",
          loc: "",
          name: "芳绫",
          name_tw: "芳綾",
          way: "jh 32;n;n;se;e;s;s;event_1_99232080;e;e;s;e;s;e;e;e",
          desc: "她看起來像個小靈精,頭上梳兩個小包包頭。她坐在地上,看到你看她便向你作了個鬼臉!你想她一定是調皮才會在這受罰!",
        },
        {
          jh: "慕容山莊",
          loc: "",
          name: "无影斥候",
          name_tw: "無影斥候",
          way: "jh 32;n;n;se;e;s;s;event_1_99232080;e;e;s;e;s;e;e;e;n",
          desc: "經常在孔府徘徊的斥候。",
        },
        {
          jh: "慕容山莊",
          loc: "",
          name: "柳掌门",
          name_tw: "柳掌門",
          way: "jh 32;n;n;se;e;s;s;event_1_99232080;e;e;s;e;s;e;e;e;s;s;event_1_92057893;e;s;event_1_8205862",
          desc: "封山劍派掌門,看似中了某種迷香,昏昏沉沉的睡著。",
        },
        {
          jh: "慕容山莊",
          loc: "",
          name: "慕容老夫人",
          way: "jh 32;n;n;se;n",
          desc: "她身穿古銅緞子襖裙,腕帶玉鐲,珠翠滿頭,打扮的雍容華貴,臉上皺紋甚多,眼睛迷迷朦朦,似乎已經看不見東西。",
        },
        {
          jh: "慕容山莊",
          loc: "",
          name: "慕容侍女",
          way: "jh 32;n;n;se;n",
          desc: "一個侍女,年齡不大。",
        },
        {
          jh: "慕容山莊",
          loc: "",
          name: "公冶家臣",
          way: "jh 32;n;n;se;n;n",
          desc: "他是慕容家四大家臣之二,為人穩重。",
        },
        {
          jh: "慕容山莊",
          loc: "",
          name: "包家将",
          name_tw: "包家將",
          way: "jh 32;n;n;se;n;n;n;n",
          desc: "他是慕容家四大家臣之三,生性喜歡饒舌。",
        },
        {
          jh: "慕容山莊",
          loc: "",
          name: "风波恶",
          name_tw: "風波惡",
          way: "jh 32;n;n;se;n;n;n;n;n",
          desc: "他是慕容家四大家臣之四,最喜歡打架,輕易卻不服輸。",
        },
        {
          jh: "慕容山莊",
          loc: "",
          name: "慕容公子",
          way: "jh 32;n;n;se;n;n;n;n;w;w;n",
          desc: "他是姑蘇慕容的傳人,他容貌俊雅,風度過人,的確非尋常人可比。",
        },
        {
          jh: "慕容山莊",
          loc: "",
          name: "慕容家主",
          name_new: "燕浩宇",
          way: "jh 32;n;n;se;n;n;n;n;w;w;w;n;event_1_72278818;event_1_35141481;event_1_35141481;event_1_35141481;event_1_35141481;event_1_35141481;event_1_35141481;w",
          desc: "他是姑蘇慕容的傳人,可以說是自慕容龍城以下武功最為傑出之人。不僅能貫通天下百家之長,更是深為精通慕容家絕技。",
        },
        {
          jh: "慕容山莊",
          loc: "",
          name: "小兰",
          name_tw: "小蘭",
          way: "jh 32;n;n;se;n;n;n;n;w;w;w;n;w",
          desc: "這是一個蔓陀山莊的丫環。",
        },
        {
          jh: "慕容山莊",
          loc: "",
          name: "神仙姐姐",
          way: "jh 32;n;n;se;n;n;n;n;w;w;w;n;w;n;e;n;e;n;e",
          desc: "她秀美的面龐之上,端莊中帶有稚氣,隱隱含著一絲憂色。見你注目看她不覺低頭輕嘆。只聽得這輕輕一聲嘆息。霎時之間,你不由得全身一震,一顆心怦怦跳動。心想:“這一聲嘆息如此好聽,世上怎能有這樣的聲音?”聽得她唇吐玉音,更是全身熱血如沸!",
        },
        {
          jh: "慕容山莊",
          loc: "",
          name: "小茗",
          way: "jh 32;n;n;se;n;n;n;n;w;w;w;n;w;n;e;n;e;n;n",
          desc: "這是一個蔓陀山莊的丫環。",
        },
        {
          jh: "慕容山莊",
          loc: "",
          name: "王夫人",
          way: "jh 32;n;n;se;n;n;n;n;w;w;w;n;w;n;e;n;e;n;n",
          desc: "她身穿鵝黃綢衫,眉目口鼻均美豔無倫,臉上卻頗有風霜歲月的痕跡。",
        },
        {
          jh: "慕容山莊",
          loc: "",
          name: "严妈妈",
          name_tw: "嚴媽媽",
          way: "jh 32;n;n;se;n;n;n;n;w;w;w;n;w;n;e;n;e;n;w",
          desc: "一箇中年婦女,身上的皮膚黝黑,常年不見天日的結果。",
        },
        {
          jh: "大理",
          loc: "",
          name: "侍从",
          name_tw: "侍從",
          way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;n;w;n",
          desc: "這位倒也打扮的利索,一身短打,白布包頭,翹起的褲腿,一雙潔白的布鞋,格外醒目。他正準備出去籌備白尼族一年一度的大會。",
        },
        {
          jh: "大理",
          loc: "",
          name: "摆夷女子",
          name_tw: "擺夷女子",
          way: "jh 33;sw;sw",
          desc: "她是一個身著白衣的擺夷女子,長發飄飄,身態娥娜。",
        },
        {
          jh: "大理",
          loc: "",
          name: "士兵",
          way: "jh 33;sw;sw;s;s",
          desc: "他是一個大理國禁衛軍士兵,身著錦衣,手執鋼刀,雙目精光炯炯,警惕地巡視著四週的情形。",
        },
        {
          jh: "大理",
          loc: "",
          name: "武将",
          name_tw: "武將",
          way: "jh 33;sw;sw;s;s",
          desc: "他站在那裡,的確有說不出的威風。",
        },
        {
          jh: "大理",
          loc: "下关城",
          name: "台夷商贩",
          name_tw: "台夷商販",
          way: "jh 33;sw;sw;s;s;s;nw;n",
          desc: "一位台夷族的商販,正在販賣一竹簍剛打上來的活蹦亂跳的鮮魚。",
        },
        {
          jh: "大理",
          loc: "",
          name: "乌夷商贩",
          name_tw: "烏夷商販",
          way: "jh 33;sw;sw;s;s;s;nw;n",
          desc: "一位烏夷族的商販,挑著一擔皮毛野味在販賣。",
        },
        {
          jh: "大理",
          loc: "",
          name: "土匪",
          way: "jh 33;sw;sw;s;s;s;nw;n;ne;n;n;ne",
          desc: "",
        },
        {
          jh: "大理",
          loc: "",
          name: "猎人",
          name_tw: "獵人",
          way: "jh 33;sw;sw;s;s;s;nw;n;nw;n",
          desc: "一位身強力壯的烏夷族獵手。",
        },
        {
          jh: "大理",
          loc: "",
          name: "皮货商",
          name_tw: "皮貨商",
          way: "jh 33;sw;sw;s;s;s;nw;n;nw;n",
          desc: "一位來遠道而來的漢族商人,來此採購皮貨。",
        },
        {
          jh: "大理",
          loc: "",
          name: "牧羊女",
          way: "jh 33;sw;sw;s;s;s;nw;n;nw;n;n;n;n;e;e",
          desc: "她是一個擺夷牧羊女子。",
        },
        {
          jh: "大理",
          loc: "",
          name: "牧羊人",
          way: "jh 33;sw;sw;s;s;s;nw;n;nw;n;n;n;n;e;e",
          desc: "他一個擺夷牧羊男子。",
        },
        {
          jh: "大理",
          loc: "",
          name: "僧人",
          way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;e;e",
          desc: "一個精壯僧人。",
        },
        {
          jh: "大理",
          loc: "",
          name: "贵公子",
          name_tw: "貴公子",
          way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;e;e;e;e;e",
          desc: "這是一介翩翩貴公子,長得到也算玉樹臨風、一表人才,可偏偏一雙眼睛卻愛斜著瞟人。",
        },
        {
          jh: "大理",
          loc: "",
          name: "恶奴",
          name_tw: "惡奴",
          way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;e;e;e;e;e",
          desc: "他看上去膀大腰粗,橫眉怒目,滿面橫肉。看來手下倒也有點功夫。",
        },
        {
          jh: "大理",
          loc: "",
          name: "枯大师",
          name_tw: "枯大師",
          way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;e;e;e;n",
          desc: "他的面容奇特之極,左邊的一半臉色紅潤,皮光肉滑,有如嬰兒,右邊的一半卻如枯骨,除了一張焦黃的麵皮之外全無肌肉,骨頭突了出來,宛然便是半個骷髏骨頭。這是他修習枯榮禪功所致。",
        },
        {
          jh: "大理",
          loc: "",
          name: "平通镖局镖头",
          name_tw: "平通鏢局鏢頭",
          way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s",
          desc: "",
        },
        {
          jh: "大理",
          loc: "",
          name: "「平通镖局」镖头",
          name_tw: "「平通鏢局」鏢頭",
          way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s",
          desc: "一個風塵僕僕的俠客。。",
        },
        {
          jh: "大理",
          loc: "",
          name: "游客",
          name_tw: "遊客",
          way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;e",
          desc: "一個遠道來的漢族遊客,風塵僕僕,但顯然為眼前美景所動,興高彩烈。",
        },
        {
          jh: "大理",
          loc: "",
          name: "村妇",
          name_tw: "村婦",
          way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;e;e;e",
          desc: "一個年輕的擺夷村婦。",
        },
        {
          jh: "大理",
          loc: "",
          name: "段公子",
          way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;e;e;e;ne",
          desc: "他是一個身穿青衫的年輕男子。臉孔略尖,自有一股書生的呆氣。",
        },
        {
          jh: "大理",
          loc: "罗伽甸",
          name: "农夫",
          name_tw: "農夫",
          way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;e;e;e;ne;e",
          desc: "一位身強體壯的擺夷族農夫。",
        },
        {
          jh: "大理",
          loc: "阳宗镇",
          name: "台夷商贩",
          name_tw: "台夷商販",
          way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;e;e;e;ne;e;e;se;e;e",
          desc: "一個台夷婦女,揹著個竹簍販賣些絲織物品和手工藝品。",
        },
        {
          jh: "大理",
          loc: "",
          name: "老祭祀",
          way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;e;e;e;ne;e;e;se;e;e;ne;e;n",
          desc: "",
        },
        {
          jh: "大理",
          loc: "",
          name: "老祭司",
          way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;e;e;e;ne;e;e;se;e;e;ne;e;n",
          desc: "一個頗老朽的擺夷老人,穿戴齊整,是本村的祭司,權力頗大,相當於族長。",
        },
        {
          jh: "大理",
          loc: "",
          name: "采桑女",
          name_tw: "採桑女",
          way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;e;e;e;ne;e;e;se;e;e;s",
          desc: "一個年輕的擺夷採桑姑娘。",
        },
        {
          jh: "大理",
          loc: "",
          name: "竹叶青蛇",
          name_tw: "竹葉青蛇",
          way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;e;e;e;ne;e;e;se;e;e;sw",
          desc: "一隻讓人看了起雞皮疙瘩的竹葉青蛇。",
        },
        {
          jh: "大理",
          loc: "林中山涧",
          name: "采笋人",
          name_tw: "採筍人",
          way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;e;e;e;ne;e;e;se;e;e;sw;s",
          desc: "一個壯年村民,住在數里外的村莊,背後背了個竹筐,手拿一把砍柴刀,上山來採竹筍。",
        },
        {
          jh: "大理",
          loc: "",
          name: "砍竹人",
          way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;e;e;e;ne;e;e;se;e;e;sw;s;s",
          desc: "一個壯年村民,住在山下的村落裡,是上山來砍伐竹子的。",
        },
        {
          jh: "大理",
          loc: "",
          name: "养蚕女",
          name_tw: "養蠶女",
          way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;e;e;e;ne;e;e;se;e;e;sw;s;s;e;e",
          desc: "一個年輕的擺夷村婦,養蠶紡絲為生。",
        },
        {
          jh: "大理",
          loc: "",
          name: "纺纱女",
          name_tw: "紡紗女",
          way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;e;e;e;ne;e;e;se;e;e;sw;s;s;e;n;e;n",
          desc: "一個年輕的擺夷村婦,心靈手巧,專擅紡紗。",
        },
        {
          jh: "大理",
          loc: "",
          name: "麻雀",
          way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;s",
          desc: "一隻嘰嘰喳喳,飛來飛去的小麻雀。",
        },
        {
          jh: "大理",
          loc: "玉虚观前",
          name: "小道姑",
          way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;s;w;n",
          desc: "玉虛觀的小道姑,她是在這接待香客的。",
        },
        {
          jh: "大理",
          loc: "",
          name: "刀俏尼",
          way: "jh 33;sw;sw;s;s;s;s;e;e;e;e;se;s;s;w;n",
          desc: "這是個容貌秀麗的中年道姑,是個擺夷族女子,頗有雍容氣質。",
        },
        {
          jh: "大理",
          loc: "",
          name: "毒蜂",
          way: "jh 33;sw;sw;s;s;s;s;e;e;n",
          desc: "一隻色彩斑斕大個野蜂,成群結隊的。",
        },
        {
          jh: "大理",
          loc: "",
          name: "傅护卫",
          name_tw: "傅護衛",
          way: "jh 33;sw;sw;s;s;s;s;s;e",
          desc: "他是大理國四大護衛之一。",
        },
        {
          jh: "大理",
          loc: "",
          name: "褚护卫",
          name_tw: "褚護衛",
          way: "jh 33;sw;sw;s;s;s;s;s;e;n",
          desc: "他是大理國四大護衛之一。身穿黃衣,臉上英氣逼人。手持一根鐵桿。",
        },
        {
          jh: "大理",
          loc: "",
          name: "家丁",
          way: "jh 33;sw;sw;s;s;s;s;s;e;n;se",
          desc: "他是大理國鎮南王府的家丁。",
        },
        {
          jh: "大理",
          loc: "",
          name: "丹顶鹤",
          name_tw: "丹頂鶴",
          way: "jh 33;sw;sw;s;s;s;s;s;e;n;se;e",
          desc: "一隻全身潔白的丹頂鶴,看來是修了翅膀,沒法高飛了。",
        },
        {
          jh: "大理",
          loc: "",
          name: "段王妃",
          way: "jh 33;sw;sw;s;s;s;s;s;e;n;se;e;e",
          desc: "大理王妃,徐娘半老,風韻猶存。",
        },
        {
          jh: "大理",
          loc: "",
          name: "养花女",
          name_tw: "養花女",
          way: "jh 33;sw;sw;s;s;s;s;s;e;n;se;e;e;e;e",
          desc: "一位養花少女,她每天就是照顧這數也數不清的茶花。",
        },
        {
          jh: "大理",
          loc: "",
          name: "段无畏",
          name_tw: "段無畏",
          way: "jh 33;sw;sw;s;s;s;s;s;e;n;se;e;e;n",
          desc: "他是大理國鎮南王府管家。",
        },
        {
          jh: "大理",
          loc: "",
          name: "古护卫",
          name_tw: "古護衛",
          way: "jh 33;sw;sw;s;s;s;s;s;e;n;se;e;e;n;n",
          desc: "",
        },
        {
          jh: "大理",
          loc: "",
          name: "王府御医",
          name_tw: "王府御醫",
          way: "jh 33;sw;sw;s;s;s;s;s;e;n;se;e;e;n;n;n",
          desc: "一個風程僕僕的俠客。",
        },
        {
          jh: "大理",
          loc: "",
          name: "婉清姑娘",
          way: "jh 33;sw;sw;s;s;s;s;s;e;n;se;e;e;n;n;n;ne;e;e;n",
          desc: "",
        },
        {
          jh: "大理",
          loc: "",
          name: "段皇爷",
          name_tw: "段皇爺",
          way: "jh 33;sw;sw;s;s;s;s;s;e;n;se;e;e;n;n;n;ne;n",
          desc: "他就是大理國的鎮南王,當今皇太弟,是有名的愛情聖手。",
        },
        {
          jh: "大理",
          loc: "",
          name: "石人",
          way: "jh 33;sw;sw;s;s;s;s;s;e;n;se;e;e;s",
          desc: "一個練功用的比武石人,雕鑿得很精細,如同真人一般。",
        },
        {
          jh: "大理",
          loc: "",
          name: "范司马",
          name_tw: "範司馬",
          way: "jh 33;sw;sw;s;s;s;s;s;e;n;se;n;e",
          desc: "他是大理國三公之一。",
        },
        {
          jh: "大理",
          loc: "",
          name: "巴司空",
          way: "jh 33;sw;sw;s;s;s;s;s;e;n;se;n;n",
          desc: "他是大理國三公之一。一個又瘦又黑的漢子,但他的擅長輕功。",
        },
        {
          jh: "大理",
          loc: "",
          name: "华司徒",
          name_tw: "華司徒",
          way: "jh 33;sw;sw;s;s;s;s;s;e;n;se;n;w",
          desc: "他是大理國三大公之一。華司徒本名阿根,出身貧賤,現今在大理國位列三公,未發跡時,幹部的卻是盜墓掘墳的勾當,最擅長的本領是偷盜王公巨賈的墳墓。這些富貴人物死後,必有珍異寶物殉葬,華阿根從極遠處挖掘地道,通入墳墓,然後盜取寶物。所花的一和雖巨,卻由此而從未為人發覺。有一次他掘入一墳,在棺木中得到了一本殉葬的武功秘訣,依法修習,練成了一身卓絕的外門功夫,便捨棄了這下賤的營生,輔佐保定帝,累立奇功,終於升到司徒之職。",
        },
        {
          jh: "大理",
          loc: "",
          name: "霍先生",
          way: "jh 33;sw;sw;s;s;s;s;s;e;n;se;w",
          desc: "他一身邋遢,形容委瑣,整天迷迷糊糊的睡不醒模樣。可是他的賬務十幾年來無可挑剔。原來他就是伏牛派的崔百泉,為避仇禍隱居於此。",
        },
        {
          jh: "大理",
          loc: "",
          name: "石匠",
          way: "jh 33;sw;sw;s;s;s;s;s;s;e;e",
          desc: "他是一個打磨大理石的石匠,身上只穿了一件坎肩,全身佈滿了厚實的肌肉。",
        },
        {
          jh: "大理",
          loc: "",
          name: "薛老板",
          name_tw: "薛老闆",
          way: "jh 33;sw;sw;s;s;s;s;s;s;e;n",
          desc: "這是一個經驗老到的生意人,一雙精明的眼睛不停的打量著你。",
        },
        {
          jh: "大理",
          loc: "",
          name: "江湖艺人",
          name_tw: "江湖藝人",
          way: "jh 33;sw;sw;s;s;s;s;s;s;s",
          desc: "他是一個外地來的江湖藝人,手裡牽著一隻金絲猴兒,滿臉風塵之色。",
        },
        {
          jh: "大理",
          loc: "太和居",
          name: "店小二",
          way: "jh 33;sw;sw;s;s;s;s;s;s;s;e",
          desc: "這位店小二正笑咪咪地忙著,還不時拿起掛在脖子上的抹布擦臉。",
        },
        {
          jh: "大理",
          loc: "",
          name: "歌女",
          way: "jh 33;sw;sw;s;s;s;s;s;s;s;e;n",
          desc: "她是一個賣唱為生的歌女。",
        },
        {
          jh: "大理",
          loc: "",
          name: "南国姑娘",
          name_tw: "南國姑娘",
          way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;e;s",
          desc: "南國的大姑娘頗帶有當地優美秀麗山水的風韻,甜甜的笑,又有天真的浪漫。她穿著白色上衣,藍色的寬褲,外面套著黑絲絨領褂,頭上纏著彩色的頭巾。",
        },
        {
          jh: "大理",
          loc: "",
          name: "摆夷老叟",
          name_tw: "擺夷老叟",
          way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;e;s",
          desc: "一個擺夷老叟大大咧咧地坐在竹籬板舍門口,甩著三四個巴掌大的棕呂樹葉,瞧著道上來來往往的人們,倒也快活自在。",
        },
        {
          jh: "大理",
          loc: "",
          name: "大土司",
          way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;n;w;n",
          desc: "大土司是擺夷族人氏,是蒼山納蘇系的。他倒是長的肥頭大耳的,每說一句話,每有一點表情,滿臉的肉紋便象是洱海里的波浪一樣。他身著綵綢,頭帶鳳羽,腳踩藤鞋,滿身掛著不同色彩的貝殼。只見他傲氣凜然地高居上座,不把來人看在眼裡。",
        },
        {
          jh: "大理",
          loc: "",
          name: "族头人",
          name_tw: "族頭人",
          way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;n;w;n;se;ne",
          desc: "這位是哈尼的族頭人,哈尼是大理國的第三大族,大多聚在大都附近。此人貌甚精明,身穿對襟衣,亦是白布包頭。他坐在大土司的右下首,對來人細細打量著。",
        },
        {
          jh: "大理",
          loc: "",
          name: "黄衣卫士",
          name_tw: "黃衣衛士",
          way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;n;w;s",
          desc: "這是位黃衣衛士,身著錦衣,手執鋼刀,雙目精光炯炯,警惕地巡視著四週的情形。",
        },
        {
          jh: "大理",
          loc: "",
          name: "盛皮罗客商",
          name_tw: "盛皮羅客商",
          way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;s;s;s",
          desc: "這是一位從印度來的客商,皮膚黝黑,白布包頭,大理把印度人叫作盛皮羅。",
        },
        {
          jh: "大理",
          loc: "客店",
          name: "店小二",
          way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;s;s;s;e",
          desc: "這位店小二正笑咪咪地忙著,還不時拿起掛在脖子上的抹布擦臉。",
        },
        {
          jh: "大理",
          loc: "",
          name: "古灯大师",
          name_tw: "古燈大師",
          name_new: "段氏南僧",
          way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;s;s;s;s",
          desc: "他身穿粗布僧袍,兩道長長的白眉從眼角垂了下來,面目慈祥,長須垂肩,眉間雖隱含愁苦,但一番雍容高華的神色,卻是一望而知。大師一生行善,積德無窮。",
        },
        {
          jh: "大理",
          loc: "",
          name: "族长",
          name_tw: "族長",
          way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;s;s;s;s;e;n;n",
          desc: "一位滿臉皺紋的老年婦女,正是本村的族長。台夷時處母系氏族,族中權貴皆為婦女。",
        },
        {
          jh: "大理",
          loc: "",
          name: "祭司",
          way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;s;s;s;s;e;n;n;n",
          desc: "一位滿臉皺紋的老年婦女,是本村的大祭司,常年司守祭台。台夷時處母系氏族,祭司要職皆為婦女。",
        },
        {
          jh: "大理",
          loc: "",
          name: "祭祀",
          way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;s;s;s;s;s;e;n;n;n",
          desc: "",
        },
        {
          jh: "大理",
          loc: "",
          name: "渔夫",
          name_tw: "漁夫",
          way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;s;s;s;s;se;sw;n",
          desc: "一位台夷族的漁夫,扛這兩條竹槳,提著一個魚簍。",
        },
        {
          jh: "大理",
          loc: "",
          name: "台夷猎人",
          name_tw: "台夷獵人",
          way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;s;s;s;s;se;sw;s",
          desc: "一位台夷族的獵手,擅用短弩,射飛鳥。",
        },
        {
          jh: "大理",
          loc: "",
          name: "台夷妇女",
          name_tw: "台夷婦女",
          way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;s;s;s;s;se;sw;w",
          desc: "一位中年的台夷婦女,上著無領襯花對襟,下穿五色筒裙,正在編織漁網。",
        },
        {
          jh: "大理",
          loc: "",
          name: "台夷姑娘",
          name_tw: "台夷姑娘",
          way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;s;s;s;sw;sw",
          desc: "一位年輕的台夷姑娘,上著無領襯花對襟,下穿五色筒裙。",
        },
        {
          jh: "大理",
          loc: "竹楼下",
          name: "水牛",
          way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;s;s;s;sw;sw;n",
          desc: "一頭南方山區常見的水牛,是耕作的主力,也用來拉車載物。由於水草茂盛,長得十分肥壯。",
        },
        {
          jh: "大理",
          loc: "",
          name: "台夷农妇",
          name_tw: "台夷農婦",
          way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;s;s;s;sw;sw;s",
          desc: "一位年輕的台夷農婦,在田裡辛勤地勞作著。",
        },
        {
          jh: "大理",
          loc: "青竹林",
          name: "采笋人",
          name_tw: "採筍人",
          way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;s;s;s;sw;sw;w",
          desc: "一個盧鹿部的青年台夷婦女,背後背了個竹筐,手拿一把砍柴刀,來採竹筍。",
        },
        {
          jh: "大理",
          loc: "",
          name: "野兔",
          way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;se",
          desc: "一隻好可愛的小野兔。",
        },
        {
          jh: "大理",
          loc: "",
          name: "侍者",
          way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;w;w;se",
          desc: "他看上去長的眉清目秀。",
        },
        {
          jh: "大理",
          loc: "",
          name: "高侯爷",
          name_tw: "高侯爺",
          way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;w;w;se;n",
          desc: "大理國侯爺,這是位寬袍大袖的中年男子,三縷長髯,形貌高雅",
        },
        {
          jh: "大理",
          loc: "",
          name: "素衣卫士",
          name_tw: "素衣衛士",
          way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;w;w;se;n",
          desc: "這是位身懷絕技的武士。",
        },
        {
          jh: "大理",
          loc: "",
          name: "傣族首领",
          name_tw: "傣族首領",
          way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;w;w;se;n;n;e;e;se",
          desc: "",
        },
        {
          jh: "大理",
          loc: "",
          name: "陪从",
          name_tw: "陪從",
          way: "jh 33;sw;sw;s;s;s;s;s;s;s;s;s;s;w;w;se;n;n;w;se",
          desc: "",
        },
        {
          jh: "大理",
          loc: "",
          name: "摆夷小孩",
          name_tw: "擺夷小孩",
          way: "jh 33;sw;sw;s;s;s;s;s;s;w",
          desc: "一個幼小的擺夷兒童。",
        },
        {
          jh: "大理",
          loc: "",
          name: "锦衣卫士",
          name_tw: "錦衣衛士",
          way: "jh 33;sw;sw;s;s;s;s;s;w",
          desc: "這是位錦衣衛士,身著錦衣,手執鋼刀,雙目精光炯炯,警惕地巡視著四週的情形。",
        },
        {
          jh: "大理",
          loc: "",
          name: "朱护卫",
          name_tw: "朱護衛",
          way: "jh 33;sw;sw;s;s;s;s;s;w",
          desc: "他是大理國四大護衛之一。一副書生酸溜溜的打扮行頭。",
        },
        {
          jh: "大理",
          loc: "",
          name: "太监",
          name_tw: "太監",
          way: "jh 33;sw;sw;s;s;s;s;s;w;n;n",
          desc: "一個風塵僕僕的俠客。。",
        },
        {
          jh: "大理",
          loc: "",
          name: "宫女",
          name_tw: "宮女",
          way: "jh 33;sw;sw;s;s;s;s;s;w;n;n;n;n",
          desc: "一位大理皇宮烏夷族宮女,以酥澤發,盤成兩環,一身宮裝,目無表情。",
        },
        {
          jh: "大理",
          loc: "",
          name: "破嗔",
          way: "jh 33;sw;sw;s;s;s;s;w;w;n",
          desc: "他是一個和尚,是黃眉大師的二弟子。",
        },
        {
          jh: "大理",
          loc: "",
          name: "破疑",
          way: "jh 33;sw;sw;s;s;s;s;w;w;n",
          desc: "他是一個和尚,是黃眉大師的大弟子。",
        },
        {
          jh: "大理",
          loc: "",
          name: "段恶人",
          name_tw: "段惡人",
          way: "jh 33;sw;sw;s;s;s;s;w;w;n;se",
          desc: "他身穿一件青布長袍,身高五尺有餘,臉上常年戴一張人皮面具,喜怒哀樂一絲不露。",
        },
        {
          jh: "大理",
          loc: "",
          name: "神农帮弟子",
          name_tw: "神農幫弟子",
          way: "jh 33;sw;sw;s;s;s;s;w;w;s",
          desc: "這是一個神農幫的幫眾,身穿黃衣,肩懸藥囊,手持一柄藥鋤。",
        },
        {
          jh: "大理",
          loc: "",
          name: "无量剑弟子",
          name_tw: "無量劍弟子",
          way: "jh 33;sw;sw;s;s;s;s;w;w;s;nw",
          desc: "這是無量劍派的一名弟子,腰挎一柄長劍,神情有些鬼祟,象是懼怕些什麼。",
        },
        {
          jh: "大理",
          loc: "",
          name: "吴道长",
          name_tw: "吳道長",
          way: "jh 33;sw;sw;s;s;s;s;w;w;w;w",
          desc: "一個看起來道風仙骨的道士。",
        },
        {
          jh: "大理",
          loc: "",
          name: "(镇雄)农夫",
          name_tw: "(鎮雄)農夫",
          way: "jh 33;sw;sw;s;s;s;s;w;w;w;w;w;n;e",
          desc: "一位烏夷族的農夫,束發總於腦後,用布紗包著,上半身裸露,下著獸皮。",
        },
        {
          jh: "大理",
          loc: "",
          name: "农夫",
          name_tw: "農夫",
          way: "jh 33;sw;sw;s;s;s;s;w;w;w;w;w;n;e",
          desc: "",
        },
        {
          jh: "大理",
          loc: "",
          name: "山羊",
          way: "jh 33;sw;sw;s;s;s;s;w;w;w;w;w;n;n",
          desc: "一頭短角山羊,大理地區常見的家畜。",
        },
        {
          jh: "大理",
          loc: "",
          name: "少女",
          way: "jh 33;sw;sw;s;s;s;s;w;w;w;w;w;n;ne",
          desc: "一位烏夷族的少女,以酥澤發,盤成兩環,上披藍紗頭巾,飾以花邊。",
        },
        {
          jh: "大理",
          loc: "",
          name: "乌夷老祭祀",
          name_tw: "烏夷老祭祀",
          way: "jh 33;sw;sw;s;s;s;s;w;w;w;w;w;n;w;se",
          desc: "",
        },
        {
          jh: "大理",
          loc: "",
          name: "乌夷老祭司",
          name_tw: "烏夷老祭司",
          way: "jh 33;sw;sw;s;s;s;s;w;w;w;w;w;n;w;se",
          desc: "一個烏夷族的祭司,身披烏夷大麾,戴著頗多金銀飾物,顯示其地位不凡。",
        },
        {
          jh: "大理",
          loc: "",
          name: "孟加拉虎",
          way: "jh 33;sw;sw;s;s;s;s;w;w;w;w;w;s;s;w;w",
          desc: "一隻斑斕孟加拉虎,雄偉極了。",
        },
        {
          jh: "斷劍山莊",
          loc: "",
          name: "黑袍老人",
          way: "jh 34;ne;e;e;e;e;e;n;e;n",
          desc: "一生黑裝的老人。",
        },
        {
          jh: "斷劍山莊",
          loc: "",
          name: "白袍老人",
          way: "jh 34;ne;e;e;e;e;e;n;e;n",
          desc: "一生白裝的老人。",
        },
        {
          jh: "斷劍山莊",
          loc: "",
          name: "尼姑",
          way: "jh 34;ne;e;e;e;e;e;n;n;n;n;n;n;e",
          desc: "一個正虔誠唸經的尼姑。",
        },
        {
          jh: "斷劍山莊",
          loc: "",
          name: "和尚",
          way: "jh 34;ne;e;e;e;e;e;n;n;n;n;n;w",
          desc: "出了家的人,唯一做的事就是念經了。",
        },
        {
          jh: "斷劍山莊",
          loc: "",
          name: "摆渡老人",
          name_tw: "擺渡老人",
          way: "jh 34;ne;e;e;e;e;e;n;n;n;w;w;w;n;n;yell",
          desc: "一個飽經風霜的擺渡老人。",
        },
        {
          jh: "斷劍山莊",
          loc: "",
          name: "天怒剑客",
          name_tw: "天怒劍客",
          way: "jh 34;ne;e;e;e;e;e;n;n;n;w;w;w;n;n;yell;n;n;e;e",
          desc: "他是獨孤求敗的愛徒,但他和師傅的性格相差極遠。他從不苟言笑,他的臉永遠冰冷,只因他已看透了世界,只因他殺的人已太多。他永遠只在殺人的時候微笑,當劍尖穿過敵人的咽喉,他那燦爛的一笑令人感到溫暖,只因他一向認為——死者無罪!",
        },
        {
          jh: "斷劍山莊",
          loc: "",
          name: "栽花老人",
          way: "jh 34;ne;e;e;e;e;e;n;n;n;w;w;w;n;n;yell;n;n;n",
          desc: "一個飽經風霜的栽花老人。",
        },
        {
          jh: "斷劍山莊",
          loc: "",
          name: "背刀人",
          way: "jh 34;ne;e;e;e;e;e;n;n;n;w;w;w;n;n;yell;n;n;n;e;e",
          desc: "此人揹著一把生鏽的刀,他似乎姓浪,武功深不可測。",
        },
        {
          jh: "斷劍山莊",
          loc: "",
          name: "雁南飞",
          name_tw: "雁南飛",
          way: "jh 34;ne;e;e;e;e;e;n;n;n;w;w;w;n;n;yell;n;n;n;e;n;e",
          desc: "這是一個絕美的女子,正在靜靜地望著天上的圓月。她的臉美麗而憂傷,憂傷得令人心碎。",
        },
        {
          jh: "斷劍山莊",
          loc: "",
          name: "剑癡",
          name_tw: "劍癡",
          way: "jh 34;ne;e;e;e;e;e;n;n;n;w;w;w;n;n;yell;n;n;n;n;n;n",
          desc: "他是劍癡,劍重要過他的生命。",
        },
        {
          jh: "斷劍山莊",
          loc: "",
          name: "独孤不败",
          name_tw: "獨孤不敗",
          name_new: "劍魔求敗",
          way: "jh 34;ne;e;e;e;e;e;n;n;n;w;w;w;n;n;yell;n;n;n;n;n;n;e;e;event_1_10251226",
          desc: "這就是一代劍帝獨孤求敗。獨孤求敗五歲練劍,十歲就已經罕有人能敵。被江湖稱為劍術天才。",
        },
        {
          jh: "斷劍山莊",
          loc: "",
          name: "雾中人",
          name_tw: "霧中人",
          way: "jh 34;ne;e;e;e;e;e;n;n;n;w;w;w;n;n;yell;n;n;n;n;n;n;n",
          desc: "這個人全身都是模糊的,彷彿是一個並不真正存在的影子。只因他一生都生活在霧中,霧朦朧,人亦朦朧。",
        },
        {
          jh: "斷劍山莊",
          loc: "",
          name: "梦如雪",
          name_tw: "夢如雪",
          way: "jh 34;ne;e;e;e;e;e;n;n;n;w;w;w;n;n;yell;n;n;n;n;w;w",
          desc: "這是一個尋夢的人。他已厭倦事實。他只有尋找曾經的夢,不知道這算不算是一種悲哀呢?",
        },
        {
          jh: "斷劍山莊",
          loc: "",
          name: "落魄中年",
          way: "jh 34;ne;e;e;e;e;e;n;n;n;w;w;w;n;n;yell;n;n;w;s",
          desc: "一位落魄的中年人,似乎是一位鐵匠。",
        },
        {
          jh: "斷劍山莊",
          loc: "",
          name: "摘星老人",
          way: "jh 34;ne;e;e;e;e;e;n;n;n;w;w;w;n;n;yell;n;n;w;s;w",
          desc: "他站在這裡已經有幾十年了。每天看天上劃過的流星,已經完全忘記了一切……甚至他自己。",
        },
        {
          jh: "斷劍山莊",
          loc: "",
          name: "任笑天",
          way: "jh 34;ne;e;e;e;e;e;n;n;n;w;w;w;n;n;yell;n;n;w;w",
          desc: "這是一箇中年男子。正靜靜地站著,雙目微閉,正在聽海!",
        },
        {
          jh: "冰火島",
          loc: "",
          name: "蓬面老头",
          name_tw: "蓬面老頭",
          way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e;e;e;se;n;n;w;n;w;event_1_53278632",
          desc: "蓬頭垢面,衣服千絲萬縷,顯然被關在這裡已經很久了。",
        },
        {
          jh: "冰火島",
          loc: "",
          name: "火麒麟王",
          way: "jh 35;nw;nw;nw;n;ne;nw",
          desc: "渾身充滿灼熱的氣息,嘴巴可吐出高溫烈焰,擁有強韌的利爪以及鋒利的尖齒,是主宰冰火島上的獸王。島上酷熱的火山地帶便是他的領地,性格極其兇殘,會將所看到闖入其領地的生物物焚燒殆盡。",
        },
        {
          jh: "冰火島",
          loc: "",
          name: "游方道士",
          name_tw: "遊方道士",
          way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e",
          desc: "一名雲遊四海的道士,頭束白色發帶,身上的道袍頗為殘舊,背馱著一個不大的行囊,臉上的皺紋顯示飽經風霜的遊歷,雙目卻清澈異常,彷彿包容了天地。",
        },
        {
          jh: "冰火島",
          loc: "",
          name: "梅花鹿",
          way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e;e;e",
          desc: "一身赭黃色的皮毛,背上還有許多像梅花白點。頭上岔立著的一雙犄角,看上去頗有攻擊性。行動十分機敏。",
        },
        {
          jh: "冰火島",
          loc: "大冰原",
          name: "赵郡主",
          name_tw: "趙郡主",
          way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e;e;e;se;n;n",
          desc: "天下兵馬大元帥汝陽王之女,大元第一美人。明豔不可方物,豔麗非凡,性格精靈俊秀,直率豪爽,對張大教主一往情深,為愛放棄所有與其共赴冰焰島廝守終身。",
        },
        {
          jh: "冰火島",
          loc: "",
          name: "谢狮王",
          name_tw: "謝獅王",
          way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e;e;e;se;n;n;ne;n",
          desc: "他就是明教的四大護法之一的金毛獅王。他身材魁偉異常,滿頭金發散披肩頭。但雙目已瞎。在你面前一站,威風凜凜,真如天神一般。",
        },
        {
          jh: "冰火島",
          loc: "",
          name: "白熊",
          way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e;e;e;se;n;n;w;n;w;ne",
          desc: "全身長滿白色長毛,雙爪極度鋒利,身材頗為剽悍,十分嗜血狂暴。是冰焰島上最強的獵食者。",
        },
        {
          jh: "冰火島",
          loc: "",
          name: "黑衣杀手",
          name_tw: "黑衣殺手",
          way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e;e;e;se;n;n;w;n;w;nw",
          desc: "穿著極其神秘的黑衣人,黑色的面巾遮住了他的面容。武功十分高強。",
        },
        {
          jh: "冰火島",
          loc: "冰火裂谷",
          name: "杀手头目",
          name_tw: "殺手頭目",
          way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e;e;e;se;n;n;w;n;w;nw;sw;se;s;sw;sw;se",
          desc: "頗為精明能幹。閃爍的雙眼散發毋容置疑的威望。乃是這群不明來歷黑衣人的統領頭目。",
        },
        {
          jh: "冰火島",
          loc: "冰火裂谷",
          name: "黑衣杀手",
          name_tw: "黑衣殺手",
          way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e;e;e;se;n;n;w;n;w;nw;sw;se;s;sw;sw;se",
          desc: "穿著極其神秘的黑衣人,黑色的面巾遮住了他的面容。武功十分高強。",
        },
        {
          jh: "冰火島",
          loc: "冰火裂谷",
          name: "元真和尚",
          way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e;e;e;se;n;n;w;n;w;nw;sw;se;s;sw;sw;se;se",
          desc: "此人武功極高,極富智謀,心狠手辣殺人如麻。因與前明教教主私怨而惱羞成怒,出家剃度意圖挑撥江湖各大派,以達殲滅明教顛覆武林之目的。與謝獅王也有過一段不為人知的恩怨情仇。",
        },
        {
          jh: "冰火島",
          loc: "",
          name: "雪狼",
          way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e;e;e;se;s;se;w;nw",
          desc: "毛色淨白,眼瞳紅如鮮血,牙齒十分銳利,身形巨大強壯,速度極快。天性狡猾,通常都是群體出動。",
        },
        {
          jh: "冰火島",
          loc: "",
          name: "殷夫人",
          way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e;e;e;se;s;se;w;nw;s;s;s;s;s;s;e",
          desc: "此女容貌嬌豔無倫,雖已過中年但風采依稀不減。為人任性長情,智計百出,武功十分了得。立場亦正亦邪。乃張五俠結發妻子,張大教主親生母親。",
        },
        {
          jh: "冰火島",
          loc: "",
          name: "张五侠",
          name_tw: "張五俠",
          way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e;e;e;se;s;se;w;nw;s;s;s;s;s;s;w;w;n;e;n;w;w;s;s",
          desc: "在武當七俠之中排行第五,人稱張五俠。雖人已過中年,但臉上依然俊秀。為人彬彬有禮,謙和中又遮不住激情如火的風發意氣。可謂文武雙全,乃現任張大教主的親生父親。",
        },
        {
          jh: "冰火島",
          loc: "",
          name: "火麒麟",
          way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;n;nw",
          desc: "磷甲刀槍不入,四爪孔武有力速度奇快。渾身能散發極高溫的火焰,喜熱厭冷,嗜好吞噬火山晶元。現居於冰焰島火山一側。",
        },
        {
          jh: "冰火島",
          loc: "",
          name: "麒麟幼崽",
          way: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;n;nw",
          desc: "火麒麟的愛子,生人勿近。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "丁三",
          way: "",
          desc: "一個鶴發童顏的老頭,穿得荒誕不經,但看似武功十分了得。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "侠客岛厮仆",
          name_tw: "俠客島廝僕",
          way: "jh 36;yell",
          desc: "他是島上的一個僕人,手底下似乎很有兩下子。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "黄衣船夫",
          name_tw: "黃衣船夫",
          way: "jh 36;yell",
          desc: "這是個身著黃衣的三十幾歲漢子,手持木槳,面無表情。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "张三",
          name_tw: "張三",
          way: "jh 36;yell;e",
          desc: "乃江湖傳聞中賞善罰惡使者之一,其精明能幹,為人大公無私。但平時大大咧咧表情十分滑稽。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "云游高僧",
          name_tw: "雲遊高僧",
          way: "jh 36;yell;e;ne;ne",
          desc: "一位雲遊四方的行者,風霜滿面,行色匆匆,似乎正在辦一件急事。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "马六",
          name_tw: "馬六",
          way: "jh 36;yell;e;ne;ne;ne;e;e",
          desc: "他身材魁梧,圓臉大耳,笑嘻嘻地和藹可親。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "侠客岛弟子",
          name_tw: "俠客島弟子",
          way: "jh 36;yell;e;ne;ne;ne;e;e",
          desc: "這是身材魁梧的壯漢,膀大腰圓,是島主從中原招募來的。力氣十分之大。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "龙岛主",
          name_tw: "龍島主",
          way: "jh 36;yell;e;ne;ne;ne;e;e;e",
          desc: "就是天下聞之色變的俠客島島主,號稱“不死神龍”。他須眉全白,臉色紅潤,有如孩童。看不出他的實際年紀。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "童子",
          way: "jh 36;yell;e;ne;ne;ne;e;e;e",
          desc: "這是一個十五六歲的少年,眉清目秀,聰明伶俐,深得島主喜愛。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "侍者",
          way: "jh 36;yell;e;ne;ne;ne;e;e;e;e",
          desc: "這是個身著黃衣的三十幾歲漢子,垂手站立,面無表情。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "史婆婆",
          way: "jh 36;yell;e;ne;ne;ne;e;e;e;e;e",
          desc: "她是雪山派白掌門的妻子,雖說現在人已顯得蒼老,但幾十年前提起“江湖一枝花”史小妹來,武林中卻是無人不知。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "谢居士",
          name_tw: "謝居士",
          way: "jh 36;yell;e;ne;ne;ne;e;e;e;e;e;e;n;e;e;ne",
          desc: "他就是摩天崖的主人。是個亦正亦邪的高手,但信守承諾,年輕時好武成興,無比驕傲,自認為天下第一。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "矮老者",
          way: "jh 36;yell;e;ne;ne;ne;e;e;e;e;e;e;n;n;n;e;ne;nw",
          desc: "此老身軀矮小,但氣度非凡,令人不敢小窺。他與其師弟高老者閉關已久,江湖上鮮聞其名。武功之高,卻令人震驚。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "高老者",
          way: "jh 36;yell;e;ne;ne;ne;e;e;e;e;e;e;n;n;n;e;ne;nw;w",
          desc: "他身形高大碩狀,滿面紅光。舉止滑稽,帶點傻氣,武功卻是極高。他因不常在江湖上露面,是以並非太多人知聞其名。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "朱熹",
          way: "jh 36;yell;e;ne;ne;ne;e;e;e;e;e;e;n;n;n;w;w",
          desc: "他是個精通詩理的學者,原本是被逼而來到俠客島,但學了武功後死心塌地的留了下來。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "木岛主",
          name_tw: "木島主",
          way: "jh 36;yell;e;ne;ne;ne;e;e;e;fly;e",
          desc: "他就是天下聞之色變的俠客島島主,號稱“葉上秋露”。只見他長須稀稀落落,兀自黑多白少,但一張臉卻滿是皺紋。看不出他的實際年紀。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "蓝衣弟子",
          name_tw: "藍衣弟子",
          way: "jh 36;yell;e;ne;ne;ne;e;e;n",
          desc: "她是木島主的女弟子,專管傳授島上弟子的基本功夫。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "李四",
          way: "jh 36;yell;e;ne;ne;ne;e;e;n",
          desc: "身形甚高,但十分瘦削,留一撇鼠尾須,臉色陰沉。就是江湖傳聞中賞善罰惡使者之一,其精明能幹,但總是陰沉著臉。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "石公子",
          way: "jh 36;yell;e;ne;ne;ne;e;n",
          desc: "這是一個年輕公子,面若中秋之月,色如春曉之花,鬢若刀裁,眉如墨畫,鼻如懸膽,情若秋波,雖怒而時笑,即視而有情。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "书生",
          name_tw: "書生",
          way: "jh 36;yell;e;ne;ne;ne;e;n",
          desc: "他看過去像個落泊的書生,呆頭呆腦的一付書呆子的樣子。但只要你留心,你就發現他兩眼深沉,而且腰掛一把長劍。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "丁当",
          name_tw: "丁當",
          way: "jh 36;yell;e;ne;ne;ne;e;n;n",
          desc: "一個十七八歲的少女,身穿淡綠衫子,一張瓜子臉,秀麗美豔。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "白掌门",
          name_tw: "白掌門",
          way: "jh 36;yell;e;ne;ne;ne;e;n;w",
          desc: "他就是雪山劍派的掌門人,習武成性,自認為天下武功第一,精明能幹,嫉惡如仇,性如烈火。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "白衣弟子",
          way: "jh 36;yell;e;ne;ne;ne;e;s",
          desc: "乃俠客島龍島主門下的一個弟子。身上穿著洗得發白的錦衣,頭上帶著秀才帽,一臉的書呆子氣,怎麼看也不象是個武林中人。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "王五",
          way: "jh 36;yell;e;ne;ne;ne;e;s",
          desc: "他大約二十多歲,精明能幹,笑嘻嘻的和藹可親。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "店小二",
          way: "jh 36;yell;e;ne;ne;ne;e;s;e",
          desc: "位店小二正笑咪咪地忙著,還不時拿起掛在脖子上的抹布擦臉。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "侠客岛闲人",
          name_tw: "俠客島閒人",
          way: "jh 36;yell;e;ne;ne;ne;e;s;w",
          desc: "他是島上一個遊手好閒的人。不懷好意。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "小猴子",
          way: "jh 36;yell;e;se;e",
          desc: "一隻機靈的猴子,眼巴巴的看著你,大概想討些吃的。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "樵夫",
          way: "jh 36;yell;e;se;e;e",
          desc: "一個一輩子以砍材為生的老樵夫,由於飽受風霜,顯出與年齡不相稱的衰老。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "医者",
          name_tw: "醫者",
          way: "jh 36;yell;e;se;e;e;e;e",
          desc: "一位白發銀須的老者。據說當年曾經是江湖上一位著名的神醫。'但自從來到俠客島上後,隱姓埋名,至今誰也不知道他真名是甚麼了。'他看起來懶洋洋的,你要是想請他療傷的話恐怕不那麼容易。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "石帮主",
          name_tw: "石幫主",
          way: "jh 36;yell;e;se;e;e;n;e;s",
          desc: "為人忠厚老實,性情溫和,天賦極高,記性極好。穿著一身破爛的衣服,卻也擋不住他一身的英氣。似乎身懷絕世武功。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "渔家少女",
          name_tw: "漁家少女",
          way: "jh 36;yell;e;se;e;e;s;s;s;e",
          desc: "這是個漁家少女,雖然只有十二、三歲,但身材已經發育得很好了,眼睛水汪汪很是誘人。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "阅书老者",
          name_tw: "閱書老者",
          way: "jh 36;yell;e;se;e;e;s;s;s;e;ne",
          desc: "一個精神矍爍的老者,他正手持書籍,穩站地上,很有姜太公之風。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "青年海盗",
          name_tw: "青年海盜",
          way: "jh 36;yell;e;se;e;e;s;s;s;e;ne;e;e;n",
          desc: "一個青年海盜,頗為精壯,,眼角中展露出了兇相。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "老海盗",
          name_tw: "老海盜",
          way: "jh 36;yell;e;se;e;e;s;s;s;e;ne;e;e;n;e;n;e;n",
          desc: "一個年老的海盜,雖然鬍子一大把了,但還是兇巴巴的。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "渔夫",
          name_tw: "漁夫",
          way: "jh 36;yell;e;se;e;e;s;s;s;s",
          desc: "看過去像個平平凡凡的漁夫,臉和赤裸的臂膀都曬得黑黑的。但只要你留心,你就發現他兩眼深沉,而且腰掛一把長劍。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "渔家男孩",
          name_tw: "漁家男孩",
          way: "jh 36;yell;e;se;e;e;s;s;s;w",
          desc: "這是個漁家少年,大概由於長期在室外的緣故,皮膚已曬得黝黑,人也長得很粗壯了。",
        },
        {
          jh: "俠客島",
          loc: "",
          name: "野猪",
          name_tw: "野豬",
          way: "jh 36;yell;e;se;e;e;w",
          desc: "這是一隻兇猛的野豬,長得極為粗壯,嘴裡還不斷發出可怕的哄聲。",
        },
        {
          jh: "絕情谷",
          loc: "",
          name: "冰蛇",
          way: "jh 37;n;e;e;nw;nw;w;n;nw;n;n;ne;n;nw;sw;event_1_12492702",
          desc: "身體猶如冰塊透明般的蛇。",
        },
        {
          jh: "絕情谷",
          loc: "",
          name: "千年寒蛇",
          way: "jh 37;n;e;e;nw;nw;w;n;nw;n;n;ne;n;nw;sw;event_1_12492702",
          desc: "一條通體雪白的大蛇。",
        },
        {
          jh: "絕情谷",
          loc: "",
          name: "土匪",
          way: "jh 37;n",
          desc: "在山谷下燒傷搶掠的惡人。",
        },
        {
          jh: "絕情谷",
          loc: "",
          name: "村民",
          way: "jh 37;n;e;e",
          desc: "世代生活於此的人,每日靠著進山打打獵生活。",
        },
        {
          jh: "絕情谷",
          loc: "",
          name: "雪若云",
          name_tw: "雪若雲",
          way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;ne;ne;event_1_16813927",
          desc: "身著黑色紗裙,面容精緻秀美,神色冷若冰雪,嘴角卻隱隱透出一股溫暖的笑意。現在似是在被仇家圍攻,已是身受重傷。",
        },
        {
          jh: "絕情谷",
          loc: "",
          name: "养鳄人",
          name_tw: "養鱷人",
          way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;ne;ne;se",
          desc: "飼養鱷魚的年輕漢子。",
        },
        {
          jh: "絕情谷",
          loc: "",
          name: "鳄鱼",
          name_tw: "鱷魚",
          way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;ne;ne;se",
          desc: "悠閒的在鱷魚潭邊休息,看似人畜無害,但是無人敢靠近它們。",
        },
        {
          jh: "絕情谷",
          loc: "",
          name: "囚犯",
          way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;ne;ne;se;s;s;s",
          desc: "被關押在暗無天日的地牢內,落魄的樣子無法讓你聯想到他們曾是江湖好漢。",
        },
        {
          jh: "絕情谷",
          loc: "",
          name: "地牢看守",
          way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;ne;ne;se;s;s;s;w",
          desc: "看守著地牢的武者,一臉嚴肅,不知道在想些什麼。",
        },
        {
          jh: "絕情谷",
          loc: "",
          name: "天竺大师",
          name_tw: "天竺大師",
          way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;nw;w",
          desc: "在絕情谷中研究怎麼破解情花之毒的醫學聖手。",
        },
        {
          jh: "絕情谷",
          loc: "",
          name: "养花女",
          name_tw: "養花女",
          way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;nw;w;n",
          desc: "照顧著絕情谷的花花草草的少女。",
        },
        {
          jh: "絕情谷",
          loc: "",
          name: "侍女",
          way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;nw;w;n;nw;n",
          desc: "好色的絕情谷谷主從來劫來的少女。",
        },
        {
          jh: "絕情谷",
          loc: "",
          name: "拓跋嗣",
          way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;nw;w;n;nw;n;ne",
          desc: "鮮卑皇族後裔,自幼就表現出過人的軍事天賦,十七歲時就遠赴河套抗擊柔然騎兵,迫使柔然不敢入侵。",
        },
        {
          jh: "絕情谷",
          loc: "",
          name: "没藏羽无",
          name_tw: "沒藏羽無",
          way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;nw;w;n;nw;n;ne;e",
          desc: "多權謀,善用計,所率西夏堂刺客素以神鬼莫測著稱,讓對頭心驚膽戰。",
        },
        {
          jh: "絕情谷",
          loc: "",
          name: "野利仁嵘",
          name_tw: "野利仁嶸",
          way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;nw;w;n;nw;n;ne;e;ne",
          desc: "西夏皇族後裔,黑道威名赫赫的殺手頭領,決策果斷,部署週密,講究戰法,神出鬼沒。",
        },
        {
          jh: "絕情谷",
          loc: "",
          name: "嵬名元昊",
          way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;nw;w;n;nw;n;ne;e;ne;se",
          desc: "一副圓圓的面孔,炯炯的目光下,鷹勾鼻子聳起,剛毅中帶著幾分凜然不可侵犯的神態。中等身材,卻顯得魁梧雄壯,英氣逼人。平素喜穿白色長袖衣,頭戴黑色冠帽,身佩弓矢。此人城府心機深不可測,憑藉一身最驚世駭俗的的錘法位居西夏堂最處尊居顯之位,力圖在天波楊門與燕雲世家三方互相牽制各自鼎立態勢下,為本門謀求最大之利益。",
        },
        {
          jh: "絕情谷",
          loc: "",
          name: "谷主夫人",
          way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;nw;w;n;nw;n;nw",
          desc: "絕情谷上一任谷主的女兒,被現任谷主所傷,終日只得坐在輪椅之上。",
        },
        {
          jh: "絕情谷",
          loc: "",
          name: "采花贼",
          name_tw: "採花賊",
          way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;nw;w;n;nw;n;nw;n;ne;e;ne;e;n",
          desc: "聲名狼藉的採花賊,一路潛逃來到了絕情谷。",
        },
        {
          jh: "絕情谷",
          loc: "",
          name: "门卫",
          name_tw: "門衛",
          way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;nw;w;n;nw;n;nw;n;nw",
          desc: "這是個年富力強的衛兵,樣子十分威嚴。",
        },
        {
          jh: "絕情谷",
          loc: "",
          name: "谷主分身",
          way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;nw;w;n;nw;n;nw;n;nw;n;nw",
          desc: "好色、陰險狡詐的獨眼龍。",
        },
        {
          jh: "絕情谷",
          loc: "",
          name: "绝情谷谷主",
          name_tw: "絕情谷谷主",
          way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;nw;w;n;nw;n;nw;n;nw;n;nw",
          desc: "好色、陰險狡詐的獨眼龍。",
        },
        {
          jh: "絕情谷",
          loc: "",
          name: "白衣女子",
          way: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;nw;w;n;nw;n;nw;ne;n;ne",
          desc: "一個宛如仙女般的白衣女子。",
        },
        {
          jh: "絕情谷",
          loc: "",
          name: "野兔",
          way: "jh 37;n;e;e;nw;nw;w;n;nw;n;n",
          desc: "正在吃草的野兔。",
        },
        {
          jh: "絕情谷",
          loc: "",
          name: "绝情谷弟子",
          name_tw: "絕情谷弟子",
          way: "jh 37;n;e;e;nw;nw;w;n;nw;n;n;ne;n;nw",
          desc: "年紀不大,卻心狠手辣,一直守候在絕情山莊。",
        },
        {
          jh: "碧海山莊",
          loc: "碧海山庄大门",
          name: "护卫",
          name_tw: "護衛",
          way: "jh 38;n;n;n;n;n;n;n",
          desc: "他是一個身材高大的中年男子,看起來凶神惡煞,招惹不得。",
        },
        {
          jh: "碧海山莊",
          loc: "前院",
          name: "家丁",
          way: "jh 38;n;n;n;n;n;n;n;n",
          desc: "碧海山莊的家丁。",
        },
        {
          jh: "碧海山莊",
          loc: "",
          name: "耶律楚歌",
          way: "jh 38;n;n;n;n;n;n;n;n;n",
          desc: "",
        },
        {
          jh: "碧海山莊",
          loc: "碧海山庄大厅、炼丹室",
          name: "护卫总管",
          name_tw: "護衛總管",
          way: "jh 38;n;n;n;n;n;n;n;n;n",
          desc: "身材瘦小,可是一身武藝超群,碧海山莊之內能勝他者不超過五人。",
        },
        {
          jh: "碧海山莊",
          loc: "碧海山庄大厅",
          name: "耶律楚哥",
          way: "jh 38;n;n;n;n;n;n;n;n;n",
          desc: "出身契丹皇族,為人多智謀,善料敵先機,騎術了得,為大遼立下赫赫卓著戰功。故而被奉為燕雲世家之主。與天波楊門纏鬥一生,至死方休。",
        },
        {
          jh: "碧海山莊",
          loc: "厨房",
          name: "易牙传人",
          name_tw: "易牙傳人",
          way: "jh 38;n;n;n;n;n;n;n;n;n;e;se;s",
          desc: "一身廚藝已經傲世天下,煎、熬、燔、炙,無所不精。",
        },
        {
          jh: "碧海山莊",
          loc: "柴房",
          name: "砍柴人",
          way: "jh 38;n;n;n;n;n;n;n;n;n;e;se;s;e",
          desc: "碧海山莊所需木柴都由他來供給。",
        },
        {
          jh: "碧海山莊",
          loc: "客房",
          name: "独孤雄",
          name_tw: "獨孤雄",
          way: "jh 38;n;n;n;n;n;n;n;n;n;n;n;e;e;se;se;e;n",
          desc: "一個風程僕僕的俠客。",
        },
        {
          jh: "碧海山莊",
          loc: "宅院",
          name: "王子轩",
          name_tw: "王子軒",
          way: "jh 38;n;n;n;n;n;n;n;n;n;n;n;e;e;se;se;e;n;n;n",
          desc: "碧海山莊少莊主,整日沉迷於一些稀奇古怪的玩意。",
        },
        {
          jh: "碧海山莊",
          loc: "炼丹室",
          name: "王昕",
          way: "jh 38;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n",
          desc: "年過半百的中年男子,長相平庸,很難讓人把他與碧海山莊莊主這個身份聯想起來。",
        },
        {
          jh: "碧海山莊",
          loc: "碧海亭",
          name: "侍女",
          way: "jh 38;n;n;n;n;n;n;n;w;w;nw",
          desc: "打理碧海山莊上上下下的雜物。",
        },
        {
          jh: "碧海山莊",
          loc: "小桥",
          name: "尹秋水",
          way: "jh 38;n;n;n;n;n;n;n;w;w;nw;w",
          desc: "她肌膚勝雪,雙目猶似一泓清水,顧盼之際,自有一番清雅高華的氣質,讓人為之所攝、自慚形穢、不敢褻瀆。但那冷傲靈動中頗有勾魂攝魄之態,又讓人不能不魂牽蒙繞。",
        },
        {
          jh: "碧海山莊",
          loc: "花园",
          name: "养花女",
          name_tw: "養花女",
          way: "jh 38;n;n;n;n;n;n;n;w;w;nw;w;w;n;n",
          desc: "一位養花少女,她每天就是照顧這數也數不清的花。",
        },
        {
          jh: "碧海山莊",
          loc: "桃花源",
          name: "隐士",
          name_tw: "隱士",
          way: "jh 38;n;n;n;n;w",
          desc: "厭倦了這世間的紛紛擾擾,隱居於此的世外高人。",
        },
        {
          jh: "碧海山莊",
          loc: "溪流",
          name: "野兔",
          way: "jh 38;n;n;n;n;w;w",
          desc: "正在吃草的兔子。",
        },
        {
          jh: "碧海山莊",
          loc: "龙王殿",
          name: "僧人",
          way: "jh 38;n;n;w",
          desc: "龍王殿僧人,負責每年祭祀龍王。",
        },
        {
          jh: "碧海山莊",
          loc: "龙王殿",
          name: "法明大师",
          name_tw: "法明大師",
          way: "jh 38;n;n;w",
          desc: "管理龍王殿的高僧,龍王殿大大小小的事物都是他在負責。",
        },
        {
          jh: "天山",
          loc: "官道",
          name: "周教头",
          name_tw: "週教頭",
          way: "jh 39;ne",
          desc: "大內軍教頭,外表樸實無華,實則鋒芒內斂。有著一腔江湖豪情。",
        },
        {
          jh: "天山",
          loc: "",
          name: "辛怪人",
          way: "jh 39;ne;e;n;ne",
          desc: "性情古怪,不好交往,喜用新招,每每和對方對招之際,學會對方的招式,然後拿來對付對方,令到對方啼笑皆非。。是個狼養大的孩子,他很能打,打起來不要命,一個性情古怪的人,有著一段謎一樣的過去。",
        },
        {
          jh: "天山",
          loc: "",
          name: "穆小哥",
          way: "jh 39;ne;e;n;ne;ne;n",
          desc: "一個只有十八九歲的小夥子,樂觀豁達,無處世經驗,對情感也茫然無措,擅長進攻,變化奇快。",
        },
        {
          jh: "天山",
          loc: "",
          name: "武壮士",
          name_tw: "武壯士",
          way: "jh 39;ne;e;n;ne;ne;n;ne;nw;event_1_58460791;place?失足岩;nw;n",
          desc: "他身穿一件藏藍色古香緞夾袍,腰間綁著一根青色蟒紋帶,一頭暗紅色的發絲,有著一雙深不可測眼睛,體型挺秀,當真是風度翩翩颯爽英姿。",
        },
        {
          jh: "天山",
          loc: "",
          name: "程首领",
          name_tw: "程首領",
          way: "jh 39;ne;e;n;ne;ne;n;ne;nw;event_1_58460791;place?失足岩;nw;n;ne;nw",
          desc: "她是「靈柩宮」九天九部中鈞天部的副首領。",
        },
        {
          jh: "天山",
          loc: "",
          name: "菊剑",
          name_tw: "菊劍",
          way: "jh 39;ne;e;n;ne;ne;n;ne;nw;event_1_58460791;place?失足岩;nw;n;ne;nw;nw;n",
          desc: "這是個容貌姣好的女子,瓜子臉蛋,眼如點漆,清秀絕俗。",
        },
        {
          jh: "天山",
          loc: "",
          name: "兰剑",
          name_tw: "蘭劍",
          way: "jh 39;ne;e;n;ne;ne;n;ne;nw;event_1_58460791;place?失足岩;nw;n;ne;nw;nw;w;s",
          desc: "這是個容貌姣好的女子,瓜子臉蛋。",
        },
        {
          jh: "天山",
          loc: "",
          name: "符针神",
          name_tw: "符針神",
          way: "jh 39;ne;e;n;ne;ne;n;ne;nw;event_1_58460791;place?失足岩;nw;n;ne;nw;nw;w;n;n",
          desc: "她是「靈柩宮」九天九部中陽天部的首領她號稱「針神」",
        },
        {
          jh: "天山",
          loc: "",
          name: "梅剑",
          name_tw: "梅劍",
          way: "jh 39;ne;e;n;ne;ne;n;ne;nw;event_1_58460791;place?失足岩;nw;n;ne;nw;nw;w;n;n;e",
          desc: "她有著白皙的面容,猶如梅花般的親麗脫俗,堆雲砌黑的濃發,整個人顯得妍姿俏麗惠質蘭心。",
        },
        {
          jh: "天山",
          loc: "",
          name: "护关弟子",
          name_tw: "護關弟子",
          way: "jh 39;ne;e;n;ne;ne;n;ne;nw;event_1_58460791;place?失足岩;nw;n;ne;nw;nw;w;n;n;n;e;e;s",
          desc: "這是掌門最忠心的護衛,武功高深莫測。正用警惕的眼光打量著你。",
        },
        {
          jh: "天山",
          loc: "",
          name: "余婆",
          name_tw: "餘婆",
          way: "jh 39;ne;e;n;ne;ne;n;ne;nw;event_1_58460791;place?失足岩;nw;n;ne;nw;nw;w;n;n;n;e;nw",
          desc: "她是「靈柩宮」九天九部中昊天部的首領。她跟隨童姥多年,出生入死,飽經風霜。",
        },
        {
          jh: "天山",
          loc: "",
          name: "九翼",
          way: "jh 39;ne;e;n;ne;ne;n;ne;nw;event_1_58460791;place?失足岩;nw;n;ne;nw;nw;w;n;n;n;e;nw;w;ne",
          desc: "他是西夏一品堂禮聘的高手,身材高瘦,臉上總是陰沉沉的他輕功極高,擅使雷公擋,憑一手雷公擋功夫,成為江湖的一流高手。",
        },
        {
          jh: "天山",
          loc: "",
          name: "天山死士",
          way: "jh 39;ne;e;n;ne;ne;n;ne;nw;event_1_58460791;place?失足岩;nw;n;ne;nw;nw;w;n;n;n;e;nw;w;nw",
          desc: "是掌門從武林擄掠天資聰明的小孩至天山培養的弟子,自小就相互廝殺,脫穎而出者便會成為天山死士,只聽命於掌門一人,倘若有好事者在天山大動干戈,他將毫不猶豫的將對方動武,至死方休。",
        },
        {
          jh: "天山",
          loc: "",
          name: "天山大剑师",
          name_tw: "天山大劍師",
          way: "jh 39;ne;e;n;ne;ne;n;ne;nw;event_1_58460791;place?失足岩;nw;n;ne;nw;nw;w;n;n;n;e;nw;w;nw",
          desc: "棄塵世而深居天山顛峰,數十年成鑄劍宗師,鑄成七把寶劍。此七把劍代表晦明大師在天山上經過的七個不同劍的境界。",
        },
        {
          jh: "天山",
          loc: "",
          name: "竹剑",
          name_tw: "竹劍",
          way: "jh 39;ne;e;n;ne;ne;n;ne;nw;event_1_58460791;place?失足岩;nw;n;ne;nw;nw;w;n;n;w",
          desc: "這是個容貌姣好的女子,瓜子臉蛋,眼如點漆,清秀絕俗。你總覺得在哪見過她。",
        },
        {
          jh: "天山",
          loc: "",
          name: "石嫂",
          way: "jh 39;ne;e;n;ne;ne;n;ne;nw;event_1_58460791;place?失足岩;nw;n;ne;nw;nw;w;w",
          desc: "她是[靈柩宮]的廚師。",
        },
        {
          jh: "天山",
          loc: "",
          name: "楚大师兄",
          name_tw: "楚大師兄",
          way: "jh 39;ne;e;n;ne;ne;n;ne;nw;ne;nw;event_1_17801939;place?星星峽",
          desc: "有“塞外第一劍客”之稱、“游龍一出,萬劍臣服”之勇。性傲、極度自信、重情重義、兒女情長,具有英雄氣蓋,但容易感情用事,做事走極端。乃天山派大師兄。",
        },
        {
          jh: "天山",
          loc: "",
          name: "傅奇士",
          way: "jh 39;ne;e;n;ne;ne;n;ne;nw;ne;nw;event_1_17801939;place?星星峽;ne;ne;nw",
          desc: "一個三綹長須、面色紅潤、儒冠儒服的老人,不但醫術精妙,天下無匹,而且長於武功,在劍法上有精深造詣。除此之外,他還是書畫名家。",
        },
        {
          jh: "天山",
          loc: "",
          name: "杨英雄",
          name_tw: "楊英雄",
          way: "jh 39;ne;e;n;ne;ne;n;ne;nw;ne;nw;event_1_17801939;place?星星峽;ne;ne;nw;nw",
          desc: "一個有情有義的好男兒,他武功高強大義凜然,乃天山派二師兄。",
        },
        {
          jh: "天山",
          loc: "",
          name: "胡大侠",
          name_tw: "胡大俠",
          way: "jh 39;ne;e;n;ne;ne;n;ne;nw;ne;nw;event_1_17801939;place?星星峽;ne;ne;nw;nw;nw;w",
          desc: "因其武功高強神出鬼沒。在江湖上人送外號「雪山飛狐」。他身穿一件白色長衫,腰間別著一把看起來很舊的刀。他滿腮虯髯,根根如鐵,一頭濃發,卻不結辮。",
        },
        {
          jh: "天山",
          loc: "",
          name: "波斯商人",
          way: "jh 39;ne;e;n;ne;ne;se",
          desc: "這是一位來自波斯的商人,經商手段十分高明。",
        },
        {
          jh: "天山",
          loc: "",
          name: "铁好汉",
          name_tw: "鐵好漢",
          way: "jh 39;ne;e;n;ne;ne;se;e",
          desc: "邱莫言重金僱傭的綠林好漢,賀蘭山草寇。缺乏主見,使一柄沒有太多特色的單刀,雖是為財而來,卻也不失為江湖義士。",
        },
        {
          jh: "天山",
          loc: "",
          name: "贺好汉",
          name_tw: "賀好漢",
          way: "jh 39;ne;e;n;ne;ne;se;e",
          desc: "乃行走江湖的綠林好漢,脾氣極為暴躁。",
        },
        {
          jh: "天山",
          loc: "",
          name: "韩马夫",
          name_tw: "韓馬夫",
          way: "jh 39;ne;e;n;ne;ne;se;e;e",
          desc: "一位憨直的漢子,面容普通,但本性古道熱腸,有俠義本色。",
        },
        {
          jh: "天山",
          loc: "",
          name: "刁屠夫",
          way: "jh 39;ne;e;n;ne;ne;se;e;n",
          desc: "乃龍門客棧屠夫,此人憑藉常年累月的剔骨切肉練就一身好刀法。",
        },
        {
          jh: "天山",
          loc: "",
          name: "金老板",
          name_tw: "金老闆",
          way: "jh 39;ne;e;n;ne;ne;se;e;n",
          desc: "龍門客棧老闆娘,為人八面玲瓏。左手使鏢,右手使刀,體態婀娜多姿,嫵媚潑辣。",
        },
        {
          jh: "天山",
          loc: "",
          name: "蒙面女郎",
          way: "jh 39;ne;e;n;ne;ne;se;e;s;e;se",
          desc: "這是個身材嬌好的女郎,輕紗遮面,一雙秀目中透出一絲殺氣。",
        },
        {
          jh: "天山",
          loc: "",
          name: "牧民",
          way: "jh 39;ne;e;n;nw",
          desc: "這是一位邊塞牧民,正在驅趕羊群。",
        },
        {
          jh: "天山",
          loc: "",
          name: "塞外胡兵",
          way: "jh 39;ne;e;n;nw;nw;w;s;s",
          desc: "一副凶神惡煞的長相,來自塞外。以擄掠關外牧民衛生。",
        },
        {
          jh: "天山",
          loc: "",
          name: "胡兵头领",
          name_tw: "胡兵頭領",
          way: "jh 39;ne;e;n;nw;nw;w;s;s;sw;n;nw;e;sw;w",
          desc: "手持一根狼牙棒,揹負一口長弓。身材高大,面目可憎。",
        },
        {
          jh: "天山",
          loc: "",
          name: "乌刀客",
          name_tw: "烏刀客",
          way: "jh 39;ne;e;n;nw;nw;w;s;s;sw;n;nw;e;sw;w;s;w",
          desc: "他就是名動江湖的烏老大,昔日曾謀反童姥未遂而被囚禁於此。",
        },
        {
          jh: "天山",
          loc: "",
          name: "宝箱",
          name_tw: "寶箱",
          way: "jh 39;ne;e;n;nw;nw;w;s;s;sw;n;nw;e;sw;w;s;w;n;w;event_1_69872740",
          desc: "",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "温青",
          name_tw: "溫青",
          way: "jh 40;s;s;s;s",
          desc: "此人俊秀異常,個性溫和有風度,喜好遊歷山水是一位姿態優雅的翩翩君子。",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "田嫂",
          way: "jh 40;s;s;s;s;e;s;se",
          desc: "一個白皙豐滿的中年婦人.",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "金背蜈蚣",
          way: "jh 40;s;s;s;s;e;s;se;sw;s;s",
          desc: "一條三尺多長,張牙舞爪的毒蜈蚣。",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "樵夫",
          way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e",
          desc: "一位面色黑紅,悠然自得的樵夫.",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "三足金蟾",
          way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw",
          desc: "一隻拳頭大小通身金黃的小蟾蜍,據說只有月宮才有。",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "莽牯朱蛤",
          way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s",
          desc: "一隻拳頭大小,叫聲洪亮的毒蛤蟆。",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "食尸蝎",
          name_tw: "食屍蠍",
          way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s",
          desc: "一條三尺來長,全身鐵甲的毒蠍子。",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "蛇",
          way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e",
          desc: "一條七尺多長,手腕般粗細的毒蛇。十分駭人。",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "五毒教徒",
          way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e;e;ne;ne;nw",
          desc: "一個五毒的基層教徒,看來剛入教不久。",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "沙护法",
          name_tw: "沙護法",
          way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e;e;ne;ne;nw;ne;ne;n",
          desc: "他就是五毒教的護法弟子,身材魁梧,方面大耳。在教中轉管招募教眾,教授弟子們的入門功夫。",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "五毒弟子",
          way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e;e;ne;ne;nw;ne;ne;n;n",
          desc: "五毒教一個身體強壯的苗族青年,看來武功已小由所成。",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "毒郎中",
          way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e;e;ne;ne;nw;ne;ne;n;n;e",
          desc: "一位身穿道服,乾癟黑瘦的中年苗人.",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "毒女",
          way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e;e;ne;ne;nw;ne;ne;n;n;n",
          desc: "年紀約20歲,冷豔絕倫,背景離奇,混身是毒,外號毒女曼陀羅,涉嫌下毒命案,其實她是個十分善良的女子。與鐵捕快有一段纏綿悱惻的愛情,花耐寒而豔麗。",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "白髯老者",
          way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e;e;ne;ne;nw;ne;ne;n;n;w;w",
          desc: "一個須發皆白的老者,精神矍鑠,滿面紅光。",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "潘左护法",
          name_tw: "潘左護法",
          way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e;e;ne;ne;nw;ne;ne;n;n;n;n",
          desc: "他就是五毒教的左護法,人稱笑面閻羅。別看他一臉笑眯眯的,但是常常殺人於彈指之間,一手五毒鉤法也已達到登峰造極的境界。",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "大祭司",
          way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e;e;ne;ne;nw;ne;ne;n;n;n;n;e",
          desc: "乃苗疆最為德高望重的祭師。但凡祭祀之事皆是由其一手主持。",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "岑秀士",
          way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e;e;ne;ne;nw;ne;ne;n;n;n;n;nw",
          desc: "他就是五毒教的右護法,人稱五毒秀士。經常裝扮成一個白衣秀士的模樣,沒事總愛附庸風雅。",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "何教主",
          way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e;e;ne;ne;nw;ne;ne;n;n;n;n;nw;ne;ne;nw;ne;e",
          desc: "你對面的是一個一身粉紅紗裙,笑靨如花的少女。她長得肌膚雪白,眉目如畫,赤著一雙白嫩的秀足,手腳上都戴著閃閃的金鐲。誰能想到她就是五毒教的教主,武林人士提起她無不膽顫心驚。",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "五毒护法",
          name_tw: "五毒護法",
          way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e;e;ne;ne;nw;ne;ne;n;n;n;n;nw;ne;ne;nw;ne;e",
          desc: "乃幫主的貼身護法,為人忠心耿耿,武藝深不可測。幫主有難時,會豁盡全力以護佑她人身安全。",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "齐长老",
          name_tw: "齊長老",
          way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e;e;ne;ne;nw;ne;ne;n;n;n;n;nw;ne;ne;se;se",
          desc: "他就是五毒教的長老,人稱錦衣毒丐。乃是教主的同門師兄,在教中一向飛揚跋扈,大權獨攬。他長的身材魁梧,面目猙獰,身穿一件五彩錦衣,太陽穴高高墳起。",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "白鬓老者",
          name_tw: "白鬢老者",
          way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e;e;ne;ne;nw;ne;ne;n;n;w",
          desc: "",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "何长老",
          name_tw: "何長老",
          way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;e;n;n;e;s;e;ne;s;sw;e;e;ne;ne;nw;ne;ne;n;n;w;sw",
          desc: "她就是五毒教的長老,教主的姑姑。隨然是教主的長輩,但功夫卻是一塊跟上代教主學的。據說她曾經被立為教主繼承人,但後來犯下大錯,所以被罰到此處面壁思過,以贖前罪。她穿著一身破舊的衣衫,滿臉疤痕,長得骨瘦如柴,雙目中滿是怨毒之色。",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "阴山天蜈",
          name_tw: "陰山天蜈",
          way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄江南岸;se;s;s;s",
          desc: "一條三寸多長,長有一雙翅膀劇毒蜈蚣。",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "蓝姑娘",
          name_tw: "藍姑娘",
          way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;e;e;sw;se;sw;se;event_1_8004914;place?瀾滄峽;sw",
          desc: "此女千嬌百媚,風韻甚佳,聲音嬌柔宛轉,蕩人心魄。年齡約莫二十三四歲。喜歡養毒蛇,能煉製傳說中苗族人的蠱毒,還善於配置各種劇毒。喜歡吹洞簫,口哨也很好。",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "吸血蜘蛛",
          way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;s;sw",
          desc: "一隻拳頭大小,全身綠毛的毒蜘蛛。",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "人面蜘蛛",
          way: "jh 40;s;s;s;s;e;s;se;sw;s;s;s;s;sw",
          desc: "一隻面盆大小,長著人樣腦袋的大蜘蛛。",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "苗村长",
          name_tw: "苗村長",
          way: "jh 40;s;s;s;s;w;w;w",
          desc: "這是本村的村長,凡是村裡各家各戶,老老少少的事他沒有不知道的。",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "苗家小娃",
          way: "jh 40;s;s;s;s;w;w;w;n",
          desc: "此娃肥肥胖胖,走路一晃一晃,甚是可愛。",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "苗族少女",
          way: "jh 40;s;s;s;s;w;w;w;w",
          desc: "一個身穿苗族服飾的妙齡少女。",
        },
        {
          jh: "苗疆",
          loc: "",
          name: "苗族少年",
          way: "jh 40;s;s;s;s;w;w;w;w",
          desc: "一個身穿苗族服飾的英俊少年。",
        },
        {
          jh: "白帝城",
          loc: "",
          name: "近身侍卫",
          name_tw: "近身侍衛",
          way: "jh 41;se;e;e;nw;nw;n;n;e;ne;e",
          desc: "公孫將軍的近身侍衛,手執長劍。",
        },
        {
          jh: "白帝城",
          loc: "",
          name: "白衣弟子",
          way: "jh 41;se;e;e",
          desc: "身穿白衣的青年弟子,似乎身手不凡,傲氣十足。",
        },
        {
          jh: "白帝城",
          loc: "",
          name: "镇长",
          name_tw: "鎮長",
          way: "jh 41;se;e;e;ne;ne;se;e;e;ne",
          desc: "白發蒼蒼的鎮長,看起來還挺精神的。",
        },
        {
          jh: "白帝城",
          loc: "",
          name: "李巡",
          way: "jh 41;se;e;e;ne;ne;se;e;e;s;w",
          desc: "白發蒼蒼的老頭,貌似是李峰的父親。",
        },
        {
          jh: "白帝城",
          loc: "",
          name: "守门士兵",
          name_tw: "守門士兵",
          way: "jh 41;se;e;e;nw;nw",
          desc: "身穿白帝城軍服的士兵。",
        },
        {
          jh: "白帝城",
          loc: "",
          name: "公孙将军",
          name_tw: "公孫將軍",
          way: "jh 41;se;e;e;nw;nw;n;n;e;ne;e",
          desc: "公孫氏的一位將軍,深受白帝信任,被派到紫陽城擔任守城要務。",
        },
        {
          jh: "白帝城",
          loc: "",
          name: "贴身侍卫",
          name_tw: "貼身侍衛",
          way: "jh 41;se;e;e;nw;nw;n;n;e;ne;e",
          desc: "",
        },
        {
          jh: "白帝城",
          loc: "",
          name: "粮官",
          name_tw: "糧官",
          way: "jh 41;se;e;e;nw;nw;n;n;e;ne;n;nw;n",
          desc: "負責管理紫陽城的糧倉的官員。",
        },
        {
          jh: "白帝城",
          loc: "",
          name: "白衣士兵",
          way: "jh 41;se;e;e;nw;nw;n;n;w;w",
          desc: "身穿白衣的士兵,正在街上巡邏。",
        },
        {
          jh: "白帝城",
          loc: "",
          name: "文将军",
          name_tw: "文將軍",
          way: "jh 41;se;e;e;nw;nw;n;n;w;w;n;n;e",
          desc: "白帝城公孫氏的外戚,主要在紫陽城替白帝城防禦外敵。",
        },
        {
          jh: "白帝城",
          loc: "",
          name: "白衣少年",
          way: "jh 41;se;e;e;se;se;se;se",
          desc: "身穿白帝城統一服飾的少年,長相雖然一般,但神態看起來有點傲氣。",
        },
        {
          jh: "白帝城",
          loc: "",
          name: "李峰",
          way: "jh 41;se;e;e;se;se;se;se;s;s",
          desc: "精神奕奕的中年漢子,看起來非常自信。",
        },
        {
          jh: "白帝城",
          loc: "",
          name: "李白",
          way: "jh 41;se;e;e;se;se;se;se;s;s;s",
          desc: "字太白,號青蓮居士,又號“謫仙人”,他拿著一壺酒,似乎醉醺醺的樣子。",
        },
        {
          jh: "白帝城",
          loc: "",
          name: "“妖怪”",
          way: "jh 41;se;e;e;se;se;se;se;s;s;s;e",
          desc: "一個公孫氏的紈絝弟子,無聊得假扮妖怪到處嚇人。",
        },
        {
          jh: "白帝城",
          loc: "",
          name: "庙祝",
          name_tw: "廟祝",
          way: "jh 41;se;e;e;se;se;se;se;s;s;s;e;e;ne",
          desc: "一個風程僕僕的俠客。",
        },
        {
          jh: "白帝城",
          loc: "",
          name: "鹤发老人",
          name_tw: "鶴發老人",
          way: "jh 41;se;e;e;se;se;se;se;s;s;s;e;e;ne;event_1_7159906;w;nw;n;sw;s;nw;w;w",
          desc: "一頭濃密鶴發,臉上雖然皺紋滿布,但整個人看起來仍然生機勃勃,不知道此人活了多久。",
        },
        {
          jh: "白帝城",
          loc: "",
          name: "练武士兵",
          name_tw: "練武士兵",
          way: "jh 41;se;e;e;se;se;se;se;se;se;event_1_57976870;e;e",
          desc: "正在奮力操練的士兵。",
        },
        {
          jh: "白帝城",
          loc: "",
          name: "白帝",
          way: "jh 41;se;e;e;se;se;se;se;se;se;event_1_57976870;n;n;n",
          desc: "現任白帝,乃公孫氏族長,看起來威嚴無比,在他身旁能感受到不少壓力。",
        },
        {
          jh: "白帝城",
          loc: "",
          name: "狱卒",
          name_tw: "獄卒",
          way: "jh 41;se;e;e;se;se;se;se;se;se;event_1_57976870;w;w;w",
          desc: "一個普通的獄卒,似乎在這發呆。",
        },
        {
          jh: "墨家機關城",
          loc: "",
          name: "索卢参",
          name_tw: "索盧參",
          way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n",
          desc: "此人乃墨子學生,為人特別誠懇,因此被指派負責接待外賓司儀一職。",
        },
        {
          jh: "墨家機關城",
          loc: "",
          name: "墨家弟子",
          way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n",
          desc: "一聲正氣稟然的裝束,乃天下間心存俠義之人仰慕墨家風采而成為其中一員。",
        },
        {
          jh: "墨家機關城",
          loc: "",
          name: "高孙子",
          name_tw: "高孫子",
          way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n",
          desc: "為墨子的學生,口才十分了得。故而負責機關城與外界聯繫。",
        },
        {
          jh: "墨家機關城",
          loc: "",
          name: "黑衣人",
          way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;n;event_1_39026213",
          desc: "一身蒙面黑衣,鬼鬼祟祟,不知是何人。",
        },
        {
          jh: "墨家機關城",
          loc: "",
          name: "随巢子",
          name_tw: "隨巢子",
          way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;n;event_1_39026213;n;ne;se;s;event_1_623818;e;n;e;s;e;n;nw;e;nw;e",
          desc: "此人乃墨子的學生,沉迷於打造大型機關獸,木鳶便是出自其手。",
        },
        {
          jh: "墨家機關城",
          loc: "",
          name: "曹公子",
          way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;n;event_1_39026213;n;ne;se;s;event_1_623818;e;n;e;s;e;n;nw;e;nw;n;e",
          desc: "早年曾質疑墨子之道,後被博大精深的墨家機關術所折服,專職看守天工塢。",
        },
        {
          jh: "墨家機關城",
          loc: "",
          name: "墨子",
          way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;n;event_1_39026213;n;ne;se;s;event_1_623818;e;n;e;s;e;n;nw;e;nw;n;ne",
          desc: "墨家的開山祖師,以一人之力開創出機關流派,須眉皆白,已不知其歲數幾何,但依然滿臉紅光,精神精神煥發。",
        },
        {
          jh: "墨家機關城",
          loc: "",
          name: "耕柱子",
          way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;n;event_1_39026213;n;ne;se;s;event_1_623818;e;n;e;s;e;n;nw;e;nw;n;nw",
          desc: "為墨子的學生,此人天資異稟,但驕傲自滿,因此被墨子懲罰到兼愛祠看管。",
        },
        {
          jh: "墨家機關城",
          loc: "",
          name: "鲁班",
          name_tw: "魯班",
          way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;n;event_1_39026213;n;ne;se;s;event_1_623818;e;n;e;s;e;n;nw;e;nw;n;w",
          desc: "機關術的專家,以善於發明各種機關而聞名。木匠出身,在機關術上有著天人一般的精湛技藝。如今不知為何來到墨家機關城。",
        },
        {
          jh: "墨家機關城",
          loc: "",
          name: "高何",
          way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;n;event_1_39026213;n;ne;se;s;event_1_623818;e;n;e;s;e;n;nw;e;nw;sw",
          desc: "此人乃墨子學生,面相凶神惡煞,因而負責機關城的安全事務。",
        },
        {
          jh: "墨家機關城",
          loc: "",
          name: "随师弟",
          name_tw: "隨師弟",
          way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;n;event_1_39026213;n;ne;se;s;event_1_623818;e;n;e;s;e;n;nw;e;nw;sw;sw",
          desc: "隨巢子的師弟,因犯事被暫時關於此地。",
        },
        {
          jh: "墨家機關城",
          loc: "",
          name: "大匠师",
          name_tw: "大匠師",
          way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;n;event_1_39026213;n;ne;se;s;event_1_623818;e;n;e;s;e;n;nw;e;nw;w;w",
          desc: "鑄藝高超的墨家宗師,主管墨家兵器打造。",
        },
        {
          jh: "墨家機關城",
          loc: "",
          name: "屈将子",
          name_tw: "屈將子",
          way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;n;event_1_39026213;n;ne;se;s;event_1_623818;e;s;e;s;ne;s;sw;nw;s;se;s;e;e",
          desc: "此人乃資深航海師,墨家麾下的殸龍船便是由其掌控。",
        },
        {
          jh: "墨家機關城",
          loc: "",
          name: "偷剑贼",
          name_tw: "偷劍賊",
          way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;n;event_1_39026213;n;ne;se;s;event_1_623818;e;s;e;s;ne;s;sw;nw;s;se;s;e;e;e",
          desc: "身穿黑色夜行衣,舉手投足之間盡顯高手風範,實力不容小覷。",
        },
        {
          jh: "墨家機關城",
          loc: "",
          name: "徐夫子",
          way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;n;event_1_39026213;n;ne;se;s;event_1_623818;e;s;e;s;ne;s;sw;nw;s;se;s;sw;s;s",
          desc: "墨家最優秀的鑄匠,畢生致力精研鑄劍術,很多名震天下的神兵利刃皆是出自他手。",
        },
        {
          jh: "墨家機關城",
          loc: "",
          name: "治徒娱",
          name_tw: "治徒娛",
          way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;n;n;w",
          desc: "為墨子的學生,有過目不忘之才數目分明之能,因此在節用市坐鎮負責機關城資源調配。",
        },
        {
          jh: "墨家機關城",
          loc: "",
          name: "大博士",
          way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;n;w",
          desc: "對天下學術有著極高造詣的宗師,主管墨家學說的傳承。",
        },
        {
          jh: "墨家機關城",
          loc: "",
          name: "高石子",
          way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;e;e;n;w",
          desc: "此人乃墨子的學生,深受墨子欣賞。曾經當過高官,現主管墨家日常政務。",
        },
        {
          jh: "墨家機關城",
          loc: "",
          name: "荆轲",
          name_tw: "荊軻",
          way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;n;n",
          desc: "墨家絕頂刺客,劍法在墨家中出類拔萃,為人慷慨俠義。備受墨家弟子所敬重。",
        },
        {
          jh: "墨家機關城",
          loc: "",
          name: "燕丹",
          way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;n;n",
          desc: "此人乃前朝皇族,滅國之後投身到墨家麾下四處行俠仗義神秘莫測。",
        },
        {
          jh: "墨家機關城",
          loc: "",
          name: "庖丁",
          way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;n;n;n;n;n",
          desc: "一名憨厚開朗的大胖子,其刀法如神,是個燒遍天下美食的名廚。",
        },
        {
          jh: "墨家機關城",
          loc: "",
          name: "县子硕",
          name_tw: "縣子碩",
          way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;w;w;n;e",
          desc: "此人乃墨子學生,與高何一樣無惡不作,後師從墨子,收心斂性,專職培養墨家人才。",
        },
        {
          jh: "墨家機關城",
          loc: "",
          name: "魏越",
          way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;w;w;n;n;e",
          desc: "為墨子的學生,此人天敏而好學,時常不恥下問,因此被墨子欽點在此顧守書籍。",
        },
        {
          jh: "墨家機關城",
          loc: "",
          name: "公尚过",
          name_tw: "公尚過",
          way: "jh 42;nw;ne;n;e;nw;e;nw;w;ne;se;n;nw;e;n;w;n;n;n;n;w;w;n;n;n;e",
          desc: "墨子的弟子,深得墨子器重,為人大公無私,現主管墨家的檢察維持門內秩序。",
        },
        {
          jh: "掩月城",
          loc: "瀑下石屋(六道探视)",
          name: "雪若云",
          name_tw: "雪若雲",
          way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;se;se;s;s;sw;s;sw;sw;sw;sw;event_1_67934650",
          desc: "這是無影樓長老雪若雲,此刻正在榻上打坐靜養。",
        },
        {
          jh: "掩月城",
          loc: "出云厅",
          name: "执法长老",
          name_tw: "執法長老",
          way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se;se;ne;n;n;e;e;e;e;e;e",
          desc: "這是出雲莊四大長老之一的執法長老,負責莊中的法規制度的執行,嚴肅公正,一絲不苟。",
        },
        {
          jh: "掩月城",
          loc: "松柏石道",
          name: "狄啸",
          name_tw: "狄嘯",
          way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se;se;ne;n;n;e;e;e;e;e",
          desc: "這是一個能征戰四方的將軍,出雲莊的得力大將。",
        },
        {
          jh: "掩月城",
          loc: "风花谷",
          name: "小马驹",
          name_tw: "小馬駒",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se",
          desc: "出生不足一年的小馬駒,雖不知其名,但顯是有著極純正優秀的血統,世人皆說風花牧場盡收天下名駒,此言非虛。",
        },
        {
          jh: "掩月城",
          loc: "",
          name: "宋喉",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;event_1_90371900",
          desc: "武林第一通緝犯,可為何被通緝無人所知。如今藏身於隱秘之所,似是在等待何人。",
        },
        {
          jh: "掩月城",
          loc: "越女玉雕",
          name: "野狗",
          way: "jh 43",
          desc: "一條低頭啃著骨頭的野狗。",
        },
        {
          jh: "掩月城",
          loc: "越女玉雕",
          name: "执定长老",
          name_tw: "執定長老",
          way: "jh 43",
          desc: "出雲閣四大長老之一,負責出雲莊在城中的各種日常事務,也帶一些難得下山的年輕小弟子來城中歷練。雖表情嚴肅,卻深受晚輩弟子的喜愛。",
        },
        {
          jh: "掩月城",
          loc: "越女玉雕",
          name: "佩剑少女",
          name_tw: "佩劍少女",
          way: "jh 43",
          desc: "兩個年方豆蔻的小女孩,身上揹著一把短劍,腰間繫著一塊『出雲』玉牌,臉上全是天真爛漫。",
        },
        {
          jh: "掩月城",
          loc: "南岭密道",
          name: "穿山甲",
          way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne",
          desc: "這是一隻穿山甲。",
        },
        {
          jh: "掩月城",
          loc: "南岭密道",
          name: "火狐",
          way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw",
          desc: "這是一隻紅色皮毛的狐狸。",
        },
        {
          jh: "掩月城",
          loc: "南岭密道",
          name: "黄鹂",
          name_tw: "黃鸝",
          way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se",
          desc: "這是一隻黃鸝鳥兒,吱吱呀呀地唱著。",
        },
        {
          jh: "掩月城",
          loc: "花海",
          name: "夜攸裳",
          way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se",
          desc: "一個來自波斯國的女子,看似穿著華裙,內中卻是勁衣。頭上扎著一個側髻,斜插著一支金玉雙鳳釵。",
        },
        {
          jh: "掩月城",
          loc: "出云庄、松柏石道",
          name: "云卫",
          name_tw: "雲衛",
          way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se;se;ne;n;n",
          desc: "這是守衛出雲莊大門的守衛,氣度不凡。",
        },
        {
          jh: "掩月城",
          loc: "松柏石道",
          name: "云将",
          name_tw: "雲將",
          way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se;se;ne;n;n;e;e;e",
          desc: "這是統管出雲莊護衛的將領,龍行虎步,神威凜凜。",
        },
        {
          jh: "掩月城",
          loc: "松柏石道",
          name: "女眷",
          way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se;se;ne;n;n;e;e;e;e",
          desc: "這是出雲莊的女眷,雖為女流,卻精通武藝。",
        },
        {
          jh: "掩月城",
          loc: "松柏石道",
          name: "青云仙子",
          name_tw: "青雲仙子",
          way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se;se;ne;n;n;e;e;e;e;e",
          desc: "這是一個遊歷四方的道姑,姿態飄逸,身負古琴,能成為出雲莊的客人,怕也是來頭不小。",
        },
        {
          jh: "掩月城",
          loc: "",
          name: "狄仁啸",
          name_tw: "狄仁嘯",
          way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se;se;ne;n;n;e;e;e;e;e",
          desc: "",
        },
        {
          jh: "掩月城",
          loc: "出云厅",
          name: "执剑长老",
          name_tw: "執劍長老",
          way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se;se;ne;n;n;e;e;e;e;e;e",
          desc: "這是出雲莊四大長老之一的執劍長老,負責傳授莊中武士的武藝,其一身武功之高自是不在話下。",
        },
        {
          jh: "掩月城",
          loc: "出云厅",
          name: "秦东海",
          name_tw: "秦東海",
          way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se;se;ne;n;n;e;e;e;e;e;e",
          desc: "是出雲莊的主人,也是出雲部軍隊的大統帥。身穿獅頭麒麟鎧,腰佩神劍。",
        },
        {
          jh: "掩月城",
          loc: "出云厅、密室(秦东海推石狮)",
          name: "执典长老",
          name_tw: "執典長老",
          way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se;se;ne;n;n;e;e;e;e;e;e;event_1_89957254;ne;ne;se;s;s;s",
          desc: "這是出雲莊四大長老之一的執典長老,負責維護管理莊中重要的典籍和秘書。",
        },
        {
          jh: "掩月城",
          loc: "冶炼坊",
          name: "莫邪传人",
          name_tw: "莫邪傳人",
          way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se;se;ne;n;n;e;e;e;e;n",
          desc: "這是一個頂尖的鑄煉天匠,據傳曾是莫邪的弟子。",
        },
        {
          jh: "掩月城",
          loc: "九牧溪",
          name: "老仆",
          name_tw: "老僕",
          way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se;se;ne;n;n;e;e;e;e;n;n",
          desc: "一名忠心耿耿的老僕人,一言不發地守在公子身後。",
        },
        {
          jh: "掩月城",
          loc: "甲胄坊",
          name: "制甲师",
          name_tw: "制甲師",
          way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se;se;ne;n;n;e;e;e;e;s",
          desc: "這是一個頂尖的製造甲冑的大師。",
        },
        {
          jh: "掩月城",
          loc: "练武场",
          name: "试剑士",
          name_tw: "試劍士",
          way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;ne;n;nw;ne;e;se;se;se;se;ne;n;n;e;e;e;e;s;s",
          desc: "這是一個試煉各式兵器和器械的武士。",
        },
        {
          jh: "掩月城",
          loc: "锁龙潭",
          name: "黑衣老者",
          way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;se;se;s;s;sw;s",
          desc: "一個表情兇狠的黑衣老者,你最好還是不要招惹他。",
        },
        {
          jh: "掩月城",
          loc: "深山石窟",
          name: "六道禅师",
          name_tw: "六道禪師",
          way: "jh 43;n;ne;ne;n;e;e;se;se;e;ne;se;se;s;s;sw;s;sw;sw;sw;sw",
          desc: "曾經的武林禪宗第一高手,武功修為極高,內力深厚,一身真氣護體的功夫,尋常人難以企及。",
        },
        {
          jh: "掩月城",
          loc: "落霞山径",
          name: "野兔",
          way: "jh 43;n;ne;ne;n;n;n;nw",
          desc: "這是一隻灰耳白尾的野兔",
        },
        {
          jh: "掩月城",
          loc: "落霞山径",
          name: "老烟杆儿",
          name_tw: "老煙桿兒",
          way: "jh 43;n;ne;ne;n;n;n;nw;n",
          desc: "一名白發蒼蒼的老人,手持一柄煙桿兒。",
        },
        {
          jh: "掩月城",
          loc: "落霞山径",
          name: "杂货脚夫",
          name_tw: "雜貨腳夫",
          way: "jh 43;n;ne;ne;n;n;n;nw;n",
          desc: "一個負責運送日常雜貨的腳夫。",
        },
        {
          jh: "掩月城",
          loc: "落霞山径",
          name: "短衫剑客",
          name_tw: "短衫劍客",
          way: "jh 43;n;ne;ne;n;n;n;nw;n;ne",
          desc: "一個身著短衫,利落乾淨的劍客。",
        },
        {
          jh: "掩月城",
          loc: "落霞山径",
          name: "巧儿",
          name_tw: "巧兒",
          way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne",
          desc: "一個聰明伶俐,嬌小可愛的小丫頭。",
        },
        {
          jh: "掩月城",
          loc: "落霞山径",
          name: "青牛",
          way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n",
          desc: "一頭通體泛青,健碩無比的公牛。",
        },
        {
          jh: "掩月城",
          loc: "落霞山径",
          name: "骑牛老汉",
          name_tw: "騎牛老漢",
          way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n",
          desc: "一個黑衫華發的老人,腰佩長劍。",
        },
        {
          jh: "掩月城",
          loc: "孤鹜枫林",
          name: "书童",
          name_tw: "書童",
          way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w",
          desc: "一名年不及二八的小書童,身上揹著書簍。",
        },
        {
          jh: "掩月城",
          loc: "孤鹜枫林",
          name: "樊川居士",
          way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;nw",
          desc: "百年難得一出的天縱英才,詩文當世無二,其詩雄姿英發。而人如其詩,個性張揚,如鶴舞長空,俊朗飄逸。",
        },
        {
          jh: "掩月城",
          loc: "孤鹜枫林",
          name: "青衫女子",
          way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;nw",
          desc: "一名身著青衫,頭戴碧玉簪的年青女子。手裡拿著一支綠色玉簫。",
        },
        {
          jh: "掩月城",
          loc: "无影楼",
          name: "无影暗侍",
          name_tw: "無影暗侍",
          way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;nw;nw",
          desc: "這是一個無影樓守門的侍衛,全身黑衣,面帶黑紗。",
        },
        {
          jh: "掩月城",
          loc: "退思台",
          name: "琴仙子",
          way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;nw;nw;n;n;n;n;ne;ne;nw;ne;ne;n;n",
          desc: "一個身著樸素白裙,滿頭青絲垂下的少女,手指輕動,天籟般的琴音便流淌而出。琴聲之間還包含了極深的內力修為。",
        },
        {
          jh: "掩月城",
          loc: "千叶飞瀑",
          name: "百晓居士",
          name_tw: "百曉居士",
          way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;nw;nw;n;n;n;n;ne;ne;nw;ne;ne;n;n;ne;e",
          desc: "這是一個江湖事無所不曉的老頭,總是一副若有所思的樣子。",
        },
        {
          jh: "掩月城",
          loc: "碎影栈道",
          name: "清风童子",
          name_tw: "清風童子",
          way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;nw;nw;n;n;n;n;ne;ne;nw;ne;ne;n;n;ne;e;se;se",
          desc: "這是無影樓的小侍童。",
        },
        {
          jh: "掩月城",
          loc: "落英小筑",
          name: "刀仆",
          name_tw: "刀僕",
          way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;nw;nw;n;n;n;n;ne;ne;nw;ne;ne;n;n;ne;e;se;se;se;sw;sw",
          desc: "這是天刀宗師的僕人,忠心耿耿。",
        },
        {
          jh: "掩月城",
          loc: "落英小筑",
          name: "天刀宗师",
          name_tw: "天刀宗師",
          way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;nw;nw;n;n;n;n;ne;ne;nw;ne;ne;n;n;ne;e;se;se;se;sw;sw",
          desc: "一個白發老人,身形挺拔,傳說這是二十年前突然消失於武林的天下第一刀客。",
        },
        {
          jh: "掩月城",
          loc: "与谁同坐亭(花间回廊入亭赏月)",
          name: "虬髯长老",
          name_tw: "虯髯長老",
          way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;nw;nw;n;n;n;n;ne;ne;nw;ne;ne;n;n;ne;e;se;se;se;sw;sw;s;e;s;s;s;event_1_69228002",
          desc: "這是無影閣四大長老之一的虯髯公,滿面赤色的虯髯,腰間一把帝王之劍。",
        },
        {
          jh: "掩月城",
          loc: "黑岩溪",
          name: "赤尾雪狐",
          way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;sw",
          desc: "一隻通體雪白,尾稍赤紅如火的狐狸。",
        },
        {
          jh: "掩月城",
          loc: "黑岩溪",
          name: "泥鳅",
          name_tw: "泥鰍",
          way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;sw;sw",
          desc: "一條烏黑油亮的小泥鰍,在溪水中暢快地遊著。",
        },
        {
          jh: "掩月城",
          loc: "黑岩溪",
          name: "灰衣血僧",
          way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;sw;sw;sw;s;s",
          desc: "一個滿面煞氣,身著灰色僧袍,手持大環刀的中年惡僧。",
        },
        {
          jh: "掩月城",
          loc: "白龙天瀑",
          name: "白鹭",
          name_tw: "白鷺",
          way: "jh 43;n;ne;ne;n;n;n;nw;n;ne;ne;n;n;w;sw;sw;sw;s;s;s",
          desc: "一隻羽毛如雪的白鷺,雙翅一展有丈許,直欲振翅上九天而去。",
        },
        {
          jh: "掩月城",
          loc: "清溪石板路",
          name: "行脚贩子",
          name_tw: "行腳販子",
          way: "jh 43;sw",
          desc: "這是一個遠道而來的商人,滿面風塵。",
        },
        {
          jh: "掩月城",
          loc: "马车店、铁匠铺",
          name: "店老板",
          name_tw: "店老闆",
          way: "jh 43;sw;sw;sw;s;se;se;se",
          desc: "馬車店老闆,年近不惑。",
        },
        {
          jh: "掩月城",
          loc: "骡马市",
          name: "白衣弟子",
          way: "jh 43;sw;sw;sw;s;se;se;se;e",
          desc: "出雲莊的年輕弟子,第一次來到市集,看什麼都是新鮮。",
        },
        {
          jh: "掩月城",
          loc: "铁匠铺",
          name: "青衫铁匠",
          name_tw: "青衫鐵匠",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;e",
          desc: "一個深藏不露的鐵匠,據說能打出最上乘的武器。",
        },
        {
          jh: "掩月城",
          loc: "骡马市",
          name: "黑衣骑士",
          name_tw: "黑衣騎士",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;n",
          desc: "穿著馬靴的黑衣少年,似是在維持市場的秩序。",
        },
        {
          jh: "掩月城",
          loc: "天青原",
          name: "青鬃野马",
          name_tw: "青鬃野馬",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw",
          desc: "野外的空闊遼遠,青鬃馬揚起鬃毛,收腰扎背,四蹄翻飛,跨阡度陌,躍丘越壑,盡情地奔馳在自由的風裡。",
        },
        {
          jh: "掩月城",
          loc: "天青原",
          name: "牧民",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw",
          desc: "一個風霜滿面卻面帶微笑的中年男子。",
        },
        {
          jh: "掩月城",
          loc: "风花谷",
          name: "乌骓马",
          name_tw: "烏騅馬",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne",
          desc: "通體黑緞子一樣,油光放亮,唯有四個馬蹄子部位白得賽雪。烏騅背長腰短而平直,四肢關節筋腱發育壯實,這樣的馬有個講頭,名喚“踢雪烏騅”。",
        },
        {
          jh: "掩月城",
          loc: "风花谷",
          name: "的卢幼驹",
          name_tw: "的盧幼駒",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne",
          desc: "額上有白點,通體黝黑的神駿幼駒。",
        },
        {
          jh: "掩月城",
          loc: "风花牧场",
          name: "千小驹",
          name_tw: "千小駒",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s",
          desc: "一個年近弱冠的小孩子,身著皮襖,手拿小鞭,自幼在牧場長大,以馬駒為名,也極善與馬兒相處,據說他能聽懂馬兒說話。",
        },
        {
          jh: "掩月城",
          loc: "风花牧场",
          name: "秦惊烈",
          name_tw: "秦驚烈",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s",
          desc: "一個身高七尺的偉岸男子,腰裡掛著彎刀,明明是滿臉虯髯,臉上卻總是帶著溫和的微笑。",
        },
        {
          jh: "掩月城",
          loc: "风花马道",
          name: "小马驹儿",
          name_tw: "小馬駒兒",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e",
          desc: "一隻剛出生不久的小馬駒,雖步行踉蹌,卻也已能看出純種烈血寶馬的一二分風采。",
        },
        {
          jh: "掩月城",
          loc: "风花马道",
          name: "牧羊犬",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e",
          desc: "牧民們的牧羊犬,威風凜凜,忠心耿耿。",
        },
        {
          jh: "掩月城",
          loc: "风花马道",
          name: "追风马",
          name_tw: "追風馬",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e",
          desc: "中原諸侯夢寐以求的軍中良馬,可日行六百,四蹄翻飛,逐風不休。",
        },
        {
          jh: "掩月城",
          loc: "风花马道",
          name: "诸侯秘使",
          name_tw: "諸侯秘使",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e;ne",
          desc: "一個來求購良馬的使者,不知道哪個諸侯派出,身份隱秘。",
        },
        {
          jh: "掩月城",
          loc: "风花马道",
          name: "赤菟马",
          name_tw: "赤菟馬",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e;ne;ne",
          desc: "人中呂布,馬中赤兔,如龍如神,日行千里,紅影震懾千軍陣!",
        },
        {
          jh: "掩月城",
          loc: "风花马道",
          name: "风如斩",
          name_tw: "風如斬",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e;ne;ne;ne",
          desc: "風花牧場上最好的牧人之一,左耳吊墜是一隻狼王之齒,腰間的馬刀也是功勳赫赫!",
        },
        {
          jh: "掩月城",
          loc: "轻舞丘",
          name: "白狐",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e;ne;ne;ne;nw",
          desc: "一隻通體雪白的小狐狸,在樹洞裡伸出頭來看著你。",
        },
        {
          jh: "掩月城",
          loc: "轻舞丘",
          name: "小鹿",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e;ne;ne;ne;nw;nw",
          desc: "",
        },
        {
          jh: "掩月城",
          loc: "",
          name: "破石寻花",
          name_tw: "破石尋花",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e;ne;ne;ne;nw;nw;w",
          desc: "",
        },
        {
          jh: "掩月城",
          loc: "风花马道",
          name: "爪黄飞电",
          name_tw: "爪黃飛電",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e;ne;se",
          desc: "據說是魏武帝最愛的名駒,體型高大,氣勢磅礴,萬馬之中也可一眼看出。",
        },
        {
          jh: "掩月城",
          loc: "风花马道",
          name: "黑狗",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e;ne;se;s",
          desc: "一條牧場上的黑狗,汪汪地衝你叫著。",
        },
        {
          jh: "掩月城",
          loc: "风花马道",
          name: "照夜玉狮子",
          name_tw: "照夜玉獅子",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e;ne;se;s;s",
          desc: "此馬天下無雙,通體上下,一色雪白,沒有半根雜色,渾身雪白,傳說能日行千里,產於西域,是極品中的極品。",
        },
        {
          jh: "掩月城",
          loc: "风花马道",
          name: "鲁总管",
          name_tw: "魯總管",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e;ne;se;s;s;se",
          desc: "風花牧場的總管,上上下下的諸多事情都歸他打理,內務外交都會經他之手。他卻一副好整以暇的樣子,似是經緯盡在掌握。",
        },
        {
          jh: "掩月城",
          loc: "风花马道",
          name: "风花侍女",
          name_tw: "風花侍女",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e;ne;se;s;s;se",
          desc: "風花牧場的侍女,雖名義上都是僕從,但卻神色輕鬆,喜笑顏開,和主人管事們都親熱非常。",
        },
        {
          jh: "掩月城",
          loc: "天玑台",
          name: "天玑童子",
          name_tw: "天璣童子",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e;ne;se;s;s;se;e",
          desc: "天璣樓裡的小童子,身穿青衫,頭系藍色發帶。",
        },
        {
          jh: "掩月城",
          loc: "百里原",
          name: "灰耳兔",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e;ne;se;s;s;sw;sw",
          desc: "一隻白色的兔子,耳朵卻是灰色。",
        },
        {
          jh: "掩月城",
          loc: "",
          name: "闻香寻芳",
          name_tw: "聞香尋芳",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;e;e;e;ne;se;s;s;sw;sw;sw",
          desc: "",
        },
        {
          jh: "掩月城",
          loc: "九牧溪",
          name: "绛衣剑客",
          name_tw: "絳衣劍客",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;se",
          desc: "一名身著絳色短衫的劍客,太陽穴微微鼓起,顯是有著極強內力修為。",
        },
        {
          jh: "掩月城",
          loc: "九牧溪",
          name: "白衣公子",
          way: "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;se;ne",
          desc: "手持折扇,白衣飄飄的俊美公子,似是女扮男裝。",
        },
        {
          jh: "掩月城",
          loc: "浣衣台",
          name: "农家少妇",
          name_tw: "農家少婦",
          way: "jh 43;sw;sw;sw;w",
          desc: "附近農家的新婚婦人,一邊帶著孩子,一邊浣洗著衣服。",
        },
        {
          jh: "掩月城",
          loc: "浣衣台",
          name: "六婆婆",
          way: "jh 43;sw;sw;sw;w",
          desc: "年長的婦女,總忍不住要善意地指導一下年輕女孩們的家務。",
        },
        {
          jh: "掩月城",
          loc: "甜水井",
          name: "青壮小伙",
          name_tw: "青壯小夥",
          way: "jh 43;sw;sw;sw;w;w",
          desc: "在井邊打水的健壯少年,渾身都是緊實的肌肉,總是在有意無意之間展示著自己的力量。",
        },
        {
          jh: "掩月城",
          loc: "东林集市",
          name: "醉酒男子",
          way: "jh 43;w",
          desc: "一名喝得酩酊大醉的男子,看起來似是個浪蕩的公子哥。",
        },
        {
          jh: "掩月城",
          loc: "东林集市",
          name: "仆人",
          name_tw: "僕人",
          way: "jh 43;w",
          desc: "富家公子的僕人,唯唯諾諾地跟在身後。",
        },
        {
          jh: "掩月城",
          loc: "犹怜楼",
          name: "紫衣仆从",
          name_tw: "紫衣僕從",
          way: "jh 43;w;n",
          desc: "身著紫衣的侍從,不像是青樓守衛,卻更有豪門王府門衛的氣派。",
        },
        {
          jh: "掩月城",
          loc: "妙玉池",
          name: "轻纱女侍",
          name_tw: "輕紗女侍",
          way: "jh 43;w;n;n",
          desc: "一名身著輕紗的女子,黛眉輕掃,紅唇輕啟,嘴角勾起的那抹弧度彷彿還帶著絲絲嘲諷。眼波一轉。流露出的風情讓人忘記一切。",
        },
        {
          jh: "掩月城",
          loc: "妙玉池",
          name: "抚琴女子",
          name_tw: "撫琴女子",
          way: "jh 43;w;n;n",
          desc: "身著紅衣的撫琴少女,紅色的外袍包裹著潔白細膩的肌膚,她偶爾站起走動,都要露出細白水嫩的小腿。腳上的銀鈴也隨著步伐輕輕發出零零碎碎的聲音。纖細的手指劃過古樸的琵琶。令人騷動的琴聲從弦衫流淌下來。",
        },
        {
          jh: "掩月城",
          loc: "曲径",
          name: "小厮",
          name_tw: "小廝",
          way: "jh 43;w;n;n;n",
          desc: "樓裡的小廝,看起來乖巧得很。",
        },
        {
          jh: "掩月城",
          loc: "曲径",
          name: "梅映雪",
          way: "jh 43;w;n;n;n;ne",
          desc: "一名英姿颯爽的女劍客,身手非凡,負責把守通向後院的小路。",
        },
        {
          jh: "掩月城",
          loc: "朝暮阁",
          name: "琴楚儿",
          name_tw: "琴楚兒",
          way: "jh 43;w;n;n;n;ne;nw;nw;ne",
          desc: "女子長長的秀發隨著絕美的臉龐自然垂下,月光下,長發上似乎流動著一條清澈的河流,直直瀉到散開的裙角邊,那翠色慾流的玉簫輕輕挨著薄薄的紅唇,蕭聲悽美蒼涼。她的雙手潔白無瑕,輕柔的流動在樂聲中,白色的衣裙,散落的長發,流離悽美。她眉宇間,憂傷像薄薄的晨霧一樣籠罩著。沒有金冠玉飾,沒有尊貴華杉。她卻比任何人都美。",
        },
        {
          jh: "掩月城",
          loc: "朝暮阁",
          name: "寄雪奴儿",
          name_tw: "寄雪奴兒",
          way: "jh 43;w;n;n;n;ne;nw;nw;ne",
          desc: "一條從西域帶來的波斯貓。",
        },
        {
          jh: "掩月城",
          loc: "荼蘼阁",
          name: "舞眉儿",
          name_tw: "舞眉兒",
          way: "jh 43;w;n;n;n;ne;nw;nw;nw",
          desc: "猶憐樓內最善舞的女子,雲袖輕擺招蝶舞、纖腰慢擰飄絲絛。她似是一隻蝴蝶翩翩飛舞、一片落葉空中搖曳,又似是叢中的一束花、隨著風的節奏扭動腰肢。若有若無的笑容始終盪漾在她臉上,清雅如同夏日荷花。",
        },
        {
          jh: "掩月城",
          loc: "落魂厅",
          name: "黑纱舞女",
          name_tw: "黑紗舞女",
          way: "jh 43;w;n;n;w",
          desc: "一個在大廳中間舞台上表演的舞女,身著黑紗。她玉足輕旋,在地上留下點點畫痕,水袖亂舞,沾染墨汁勾勒眼裡牡丹,裙襬旋舞,朵朵蓮花在她腳底綻放,柳腰輕搖,勾人魂魄,暗送秋波,一時間天地競相為此美色而失色羞愧。可謂是絲竹羅衣舞紛飛!",
        },
        {
          jh: "掩月城",
          loc: "落魂厅",
          name: "女官人",
          way: "jh 43;w;n;n;w",
          desc: "猶憐樓的女主事,半老徐娘,風韻猶存。",
        },
        {
          jh: "掩月城",
          loc: "东林集市",
          name: "老乞丐",
          way: "jh 43;w;w",
          desc: "衣衫破爛卻不汙穢的老乞丐,身上有八個口袋,似是丐幫淨衣八袋弟子。",
        },
        {
          jh: "掩月城",
          loc: "东林集市",
          name: "赤髯刀客",
          way: "jh 43;w;w",
          desc: "一名面向粗曠威武的刀客,鬍髯全是火紅之色,似是鍾馗一般。",
        },
        {
          jh: "掩月城",
          loc: "东林集市",
          name: "华衣女子",
          name_tw: "華衣女子",
          way: "jh 43;w;w",
          desc: "衣著華貴的女子,年紀尚輕,身上似藏有一些秘密。",
        },
        {
          jh: "掩月城",
          loc: "东林集市",
          name: "马帮弟子",
          name_tw: "馬幫弟子",
          way: "jh 43;w;w;w",
          desc: "漠北馬幫的得力弟子。",
        },
        {
          jh: "掩月城",
          loc: "东林集市",
          name: "候君凛",
          name_tw: "候君凜",
          way: "jh 43;w;w;w",
          desc: "一名中年男子,雖是平常俠客打扮,卻頗有幾分朝廷中人的氣度。",
        },
        {
          jh: "掩月城",
          loc: "卧马客栈",
          name: "养马小厮",
          name_tw: "養馬小廝",
          way: "jh 43;w;w;w;n",
          desc: "這是客棧門口負責為客人牽馬餵馬的小廝。",
        },
        {
          jh: "掩月城",
          loc: "客栈大堂",
          name: "客栈掌柜",
          name_tw: "客棧掌櫃",
          way: "jh 43;w;w;w;n;n",
          desc: "臥馬客棧的大掌櫃的。",
        },
        {
          jh: "掩月城",
          loc: "客栈大堂",
          name: "店小二",
          way: "jh 43;w;w;w;n;n",
          desc: "一個跑前跑後的小二,忙得不可開交。",
        },
        {
          jh: "掩月城",
          loc: "西郊小路",
          name: "蝮蛇",
          way: "jh 43;w;w;w;w",
          desc: "當地特有的毒蛇,嘶嘶地發出警告,你最好不要靠近。",
        },
        {
          jh: "掩月城",
          loc: "西郊小路",
          name: "东方秋",
          name_tw: "東方秋",
          way: "jh 43;w;w;w;w;nw;n;n",
          desc: "一名年青劍客,腰插一塊顯是王府內的令牌,讓人對其身份產生了好奇。",
        },
        {
          jh: "掩月城",
          loc: "沧浪河渡口西",
          name: "函谷关武官",
          name_tw: "函谷關武官",
          way: "jh 43;w;w;w;w;nw;n;n;nw",
          desc: "函谷關統兵武官,駐守渡口監視著敵人的動向。",
        },
        {
          jh: "掩月城",
          loc: "沧浪河渡口西",
          name: "函谷关官兵",
          name_tw: "函谷關官兵",
          way: "jh 43;w;w;w;w;nw;n;n;nw",
          desc: "這是鎮守函谷關的官兵,在渡口偵探敵情。",
        },
        {
          jh: "掩月城",
          loc: "沧浪河谷",
          name: "长刀敌将",
          name_tw: "長刀敵將",
          way: "jh 43;w;w;w;w;nw;n;n;nw;nw;nw;nw",
          desc: "這是一名手持長刀的敵將。",
        },
        {
          jh: "掩月城",
          loc: "",
          name: "黑虎敌将",
          name_tw: "黑虎敵將",
          way: "jh 43;w;w;w;w;nw;n;n;nw;nw;nw;nw;w",
          desc: "",
        },
        {
          jh: "掩月城",
          loc: "",
          name: "长鞭敌将",
          name_tw: "長鞭敵將",
          way: "jh 43;w;w;w;w;nw;n;n;nw;nw;nw;nw;w;sw",
          desc: "",
        },
        {
          jh: "掩月城",
          loc: "",
          name: "巨锤敌将",
          name_tw: "巨錘敵將",
          way: "jh 43;w;w;w;w;nw;n;n;nw;nw;nw;nw;w;sw;nw;sw;s",
          desc: "",
        },
        {
          jh: "掩月城",
          loc: "",
          name: "狼牙敌将",
          name_tw: "狼牙敵將",
          way: "jh 43;w;w;w;w;nw;n;n;nw;nw;nw;nw;w;sw;nw;sw;s;sw",
          desc: "",
        },
        {
          jh: "掩月城",
          loc: "",
          name: "金刚敌将",
          name_tw: "金剛敵將",
          way: "jh 43;w;w;w;w;nw;n;n;nw;nw;nw;nw;w;sw;nw;sw;s;sw;sw;sw",
          desc: "",
        },
        {
          jh: "掩月城",
          loc: "",
          name: "蛮斧敌将",
          name_tw: "蠻斧敵將",
          way: "jh 43;w;w;w;w;nw;n;n;nw;nw;nw;nw;w;sw;nw;sw;s;sw;sw;sw;nw;n",
          desc: "",
        },
        {
          jh: "掩月城",
          loc: "",
          name: "血枪敌将",
          name_tw: "血槍敵將",
          way: "jh 43;w;w;w;w;nw;n;n;nw;nw;nw;nw;w;sw;nw;sw;s;sw;sw;sw;nw;n;n;n;nw",
          desc: "",
        },
        {
          jh: "掩月城",
          loc: "",
          name: "夜魔",
          way: "jh 43;w;w;w;w;nw;n;n;nw;nw;nw;nw;w;sw;nw;sw;s;sw;sw;sw;nw;n;n;n;nw;nw",
          desc: "",
        },
        {
          jh: "掩月城",
          loc: "",
          name: "千夜精锐",
          name_tw: "千夜精銳",
          way: "jh 43;w;w;w;w;nw;n;n;nw;nw;nw;nw;w;sw;nw;sw;s;sw;sw;sw;nw;n;n;n;nw;nw;n",
          desc: "",
        },
        {
          jh: "掩月城",
          loc: "",
          name: "胡人王子",
          way: "jh 43;w;w;w;w;nw;n;n;nw;nw;nw;nw;w;sw;nw;sw;s;sw;sw;sw;nw;n;n;n;nw;nw;n;n;ne",
          desc: "",
        },
        {
          jh: "掩月城",
          loc: "",
          name: "夜魔侍从",
          name_tw: "夜魔侍從",
          way: "jh 43;w;w;w;w;nw;n;n;nw;nw;nw;nw;w;sw;nw;sw;s;sw;sw;sw;nw;n;n;n;nw;nw;n;n;ne;ne;ne",
          desc: "",
        },
        {
          jh: "海雲閣",
          loc: "星夜閣4",
          name: "越女",
          way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;w;n;n;n;n;n;w;w;s;s",
          desc: "這是一個隱世劍客,年方十六,眉目之間極為清秀,卻滿懷幽怨,莫不是受了情傷?",
        },
        {
          jh: "海雲閣",
          loc: "海云镇",
          name: "马夫",
          name_tw: "馬夫",
          way: "jh 44",
          desc: "這是一個等候主人的馬夫,耐心地打掃著馬車。",
        },
        {
          jh: "海雲閣",
          loc: "海云镇",
          name: "野狗",
          way: "jh 44;n",
          desc: "一隻渾身髒兮兮的野狗。",
        },
        {
          jh: "海雲閣",
          loc: "海云镇",
          name: "老镇长",
          name_tw: "老鎮長",
          way: "jh 44;n;n",
          desc: "這是海雲鎮的鎮長,平日裡也沒啥事情可管,便拿著個菸袋閒逛。",
        },
        {
          jh: "海雲閣",
          loc: "晒谷场",
          name: "烟袋老头",
          name_tw: "菸袋老頭",
          way: "jh 44;n;n;w",
          desc: "一個顯然有著不低功夫底子的老頭子,手拿一個菸袋。",
        },
        {
          jh: "海雲閣",
          loc: "晒谷场",
          name: "青年女子",
          way: "jh 44;n;n;w",
          desc: "一個青年女劍客,年方二八,身姿矯健。",
        },
        {
          jh: "海雲閣",
          loc: "海云镇",
          name: "背枪客",
          name_tw: "背槍客",
          way: "jh 44;n;n;n",
          desc: "這是一個青年武士,背後揹著一把亮銀長槍。",
        },
        {
          jh: "海雲閣",
          loc: "海云镇",
          name: "小孩",
          way: "jh 44;n;n;n;n",
          desc: "這是海雲鎮的一個小孩子,年方五六歲,天真爛漫。",
        },
        {
          jh: "海雲閣",
          loc: "新月道",
          name: "野兔",
          way: "jh 44;n;n;n;n;w;w",
          desc: "正在吃草的兔子。",
        },
        {
          jh: "海雲閣",
          loc: "满月道",
          name: "游客",
          name_tw: "遊客",
          way: "jh 44;n;n;n;n;e;ne",
          desc: "這是一個遊客,揹著手享受著山海美景。",
        },
        {
          jh: "海雲閣",
          loc: "怒龙栈道",
          name: "青年剑客",
          name_tw: "青年劍客",
          way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w",
          desc: "這是一個青年劍客,眼含劍氣。",
        },
        {
          jh: "海雲閣",
          loc: "怒龙栈道",
          name: "九纹龙",
          name_tw: "九紋龍",
          way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;w",
          desc: "這是海雲閣四大殺手之一的九紋龍,兇狠非常。",
        },
        {
          jh: "海雲閣",
          loc: "怒龙栈道",
          name: "蟒蛇",
          way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;w;n;n;n;n",
          desc: "一隻昂首直立,吐著長舌芯的大蟒蛇。",
        },
        {
          jh: "海雲閣",
          loc: "临海平台",
          name: "暗哨",
          way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;w;n;n;n;n;n",
          desc: "這是海雲閣的暗哨,身穿平常的布衣,卻掩飾不了眼神裡的狡黠和敏銳。",
        },
        {
          jh: "海雲閣",
          loc: "怒龙台",
          name: "石邪王",
          way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;w;n;n;n;n;n;e;e;s;s",
          desc: "據說這曾是武林魔道名門掌門,其武學造詣也是登峰造極。",
        },
        {
          jh: "海雲閣",
          loc: "海云门",
          name: "天杀",
          name_tw: "天殺",
          way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e",
          desc: "這是一名海雲閣高級殺手。",
        },
        {
          jh: "海雲閣",
          loc: "海云道",
          name: "地杀",
          name_tw: "地殺",
          way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;wn;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e;;s;s",
          desc: "這是一名海雲閣高級殺手。",
        },
        {
          jh: "海雲閣",
          loc: "海云道",
          name: "穿山豹",
          way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e;s;s;s;s;s",
          desc: "這事海雲閣四大殺手之一的穿山豹,行動敏捷,狡黠異常。",
        },
        {
          jh: "海雲閣",
          loc: "海云殿",
          name: "海东狮",
          name_tw: "海東獅",
          way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e;n",
          desc: "這是海雲閣四大殺手之首的海東獅,近十年來從未失手,手底已有數十個江湖名門掌門的性命。",
        },
        {
          jh: "海雲閣",
          loc: "海云殿",
          name: "海云长老",
          name_tw: "海雲長老",
          way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e;n",
          desc: "這是海雲閣內的長老級殺手。",
        },
        {
          jh: "海雲閣",
          loc: "海云殿",
          name: "红纱舞女",
          name_tw: "紅紗舞女",
          way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e;n",
          desc: "這是一個身著輕紗的舞女,穿著輕薄,舞姿極盡媚態,眉目輕笑之間卻隱含著淡淡的殺氣。",
        },
        {
          jh: "海雲閣",
          loc: "海云殿",
          name: "青纱舞女",
          name_tw: "青紗舞女",
          way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e;n",
          desc: "這是一個身著輕紗的舞女,穿著輕薄,舞姿極盡媚態,眉目輕笑之間卻隱含著淡淡的殺氣。",
        },
        {
          jh: "海雲閣",
          loc: "海云殿",
          name: "紫纱舞女",
          name_tw: "紫紗舞女",
          way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e;n",
          desc: "這是一個身著輕紗的舞女,穿著輕薄,舞姿極盡媚態,眉目輕笑之間卻隱含著淡淡的殺氣。",
        },
        {
          jh: "海雲閣",
          loc: "海云殿",
          name: "白纱舞女",
          name_tw: "白紗舞女",
          way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e;n",
          desc: "這是一個身著輕紗的舞女,穿著輕薄,舞姿極盡媚態,眉目輕笑之間卻隱含著淡淡的殺氣。",
        },
        {
          jh: "海雲閣",
          loc: "",
          name: "虬髯犯人",
          name_tw: "虯髯犯人",
          way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;e;e;e;n;n;nw;w;w;nw",
          desc: "這人滿臉虯髯,頭發長長的直垂至頸,衣衫破爛不堪,簡直如同荒山中的野人",
        },
        {
          jh: "海雲閣",
          loc: "",
          name: "六如公子",
          way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;n;w;n;n;n;n;w;n;w;w;n;n;n",
          desc: "這是一個隱士,武學修為極高,也似乎並不受海雲閣轄制。",
        },
        {
          jh: "海雲閣",
          loc: "",
          name: "萧秋水",
          name_tw: "蕭秋水",
          way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;n;e;n;n;n;n;n;e;e;n;n",
          desc: "傳聞他出自天下第一名門浣花劍派,卻無人知曉他的名諱。",
        },
        {
          jh: "海雲閣",
          loc: "苍穹栈道",
          name: "啸林虎",
          name_tw: "嘯林虎",
          way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;e;e;e;e;e;e;n;n",
          desc: "這事海雲閣四大殺手之一的嘯林虎,武功極高。",
        },
        {
          jh: "海雲閣",
          loc: "雪山小道",
          name: "陆大刀",
          name_tw: "陸大刀",
          way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;e;e;e;e;e;e;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e",
          desc: "江湖南四奇之首,人稱仁義陸大刀。",
        },
        {
          jh: "海雲閣",
          loc: "雪山小道",
          name: "水剑侠",
          name_tw: "水劍俠",
          way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;e;e;e;e;e;e;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;ne",
          desc: "江湖南四奇之一,外號叫作“冷月劍”",
        },
        {
          jh: "海雲閣",
          loc: "雪山小道",
          name: "乘风客",
          name_tw: "乘風客",
          way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;e;e;e;e;e;e;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;ne;ne",
          desc: "江湖南四奇之一,外號叫作“柔雲劍”。",
        },
        {
          jh: "海雲閣",
          loc: "雪山山脚",
          name: "血刀妖僧",
          way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;e;e;e;e;e;e;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;ne;ne;e;se;se;se",
          desc: "「血刀聖教」掌門人,自稱「武林第一邪派高手」,門下都作和尚打扮,但個個都是十惡不赦的淫僧。",
        },
        {
          jh: "海雲閣",
          loc: "山路",
          name: "花铁枪",
          name_tw: "花鐵槍",
          way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;e;e;e;e;e;e;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;ne;ne;e;se;se;se;ne;ne",
          desc: "江湖南四奇之一,外號叫作“中平槍”。",
        },
        {
          jh: "海雲閣",
          loc: "雪洞",
          name: "狄小侠",
          name_tw: "狄小俠",
          way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;e;e;e;e;e;e;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;ne;ne;e;se;se;se;ne;ne;n;n;n;n;nw",
          desc: "其貌不揚,但卻有情有義,敢愛敢恨,性格鮮明。",
        },
        {
          jh: "海雲閣",
          loc: "雪洞",
          name: "水姑娘",
          way: "jh 44;n;n;n;n;e;ne;ne;ne;n;n;n;n;n;nw;nw;nw;w;n;n;n;e;e;e;e;e;e;n;n;n;n;n;n;n;n;n;n;n;n;n;e;e;ne;ne;e;se;se;se;ne;ne;n;n;n;n;nw",
          desc: "白衫飄飄,樣貌清秀俏麗,人品俊雅,嫉惡如仇。",
        },
        {
          jh: "幽冥山莊",
          loc: "幽暗山路",
          name: "野狗",
          way: "jh 45;ne",
          desc: "一條低頭啃著骨頭的野狗。",
        },
        {
          jh: "幽冥山莊",
          loc: "幽暗山路",
          name: "毒蛇",
          way: "jh 45;ne;ne;n;n",
          desc: "當地特有的毒蛇,嘶嘶地發出警告,你最好不要靠近。",
        },
        {
          jh: "幽冥山莊",
          loc: "五龙堂",
          name: "柳激烟",
          name_tw: "柳激煙",
          way: "jh 45;ne;ne;n;n;ne;ne;nw;nw;nw;n;n;n;",
          desc: "五湖九州、黑白兩道、十二大派都尊稱為“捕神”的六扇門第一把好手。",
        },
        {
          jh: "幽冥山莊",
          loc: "正厅",
          name: "龟敬渊",
          name_tw: "龜敬淵",
          way: "jh 45;ne;ne;n;n;ne;ne;nw;nw;nw;n;n;n;n",
          desc: "一名鶉衣百結、滿臉黑須的老人,眼睛瞪得像銅錢一般大,粗眉大目,雖然比較矮,但十分粗壯,就像鐵罩一般,一雙粗手,也比常人粗大一二倍。這人身上並無兵器,但一身硬功,“鐵布衫”橫練,再加上“十三太保”與“童於功”,據說已有十一成的火候,不但刀劍不入,就算一座山塌下來,也未必把他壓得住!",
        },
        {
          jh: "幽冥山莊",
          loc: "正厅",
          name: "淩玉象",
          way: "jh 45;ne;ne;n;n;ne;ne;nw;nw;nw;n;n;n;n",
          desc: "銀眉白須,容貌十分清灌,身形頎長,常露慈藹之色,背插長劍",
        },
        {
          jh: "幽冥山莊",
          loc: "正厅",
          name: "慕容水云",
          name_tw: "慕容水雲",
          way: "jh 45;ne;ne;n;n;ne;ne;nw;nw;nw;n;n;n;n",
          desc: "一個白發斑斑,但臉色泛紅的老者,腰問一柄薄而利的緬刀,終日不離身,左右太陽穴高高鼓起,顯然內功已入化境。",
        },
        {
          jh: "幽冥山莊",
          loc: "正厅",
          name: "沈错骨",
          name_tw: "沈錯骨",
          way: "jh 45;ne;ne;n;n;ne;ne;nw;nw;nw;n;n;n;n",
          desc: "一個裝扮似道非道的老者,黑發長髯,態度冷傲,手中一把拂塵。",
        },
        {
          jh: "幽冥山莊",
          loc: "书房",
          name: "冷血",
          way: "jh 45;ne;ne;n;n;ne;ne;nw;nw;nw;n;n;n;n;e",
          desc: "善劍法,性堅忍,他的劍法是沒有名堂的,他刺出一劍是一劍,快、準而狠,但都是沒招式名稱的。",
        },
        {
          jh: "幽冥山莊",
          loc: "后花园",
          name: "庄之洞",
          name_tw: "莊之洞",
          way: "jh 45;ne;ne;n;n;ne;ne;nw;nw;nw;n;n;n;n;n",
          desc: "腰間纏著椎鏈子,一副精明能幹的樣子。",
        },
        {
          jh: "幽冥山莊",
          loc: "后花园",
          name: "高山青",
          way: "jh 45;ne;ne;n;n;ne;ne;nw;nw;nw;n;n;n;n;n",
          desc: "高頭大馬,高山青拿著的是一條玉一般的桃木棍,棒身細滑,杖尖若刀,長七尺六寸。",
        },
        {
          jh: "幽冥山莊",
          loc: "二楼",
          name: "金盛煌",
          way: "jh 45;ne;ne;n;n;ne;ne;nw;nw;nw;n;n;n;n;w",
          desc: "富甲一方,武功蓋世的“三十六手蜈蚣鞭”。",
        },
        {
          jh: "幽冥山莊",
          loc: "幽暗山路",
          name: "樵夫",
          way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n",
          desc: "一個砍柴為生的樵夫。",
        },
        {
          jh: "幽冥山莊",
          loc: "火堆",
          name: "鲍龙",
          name_tw: "鮑龍",
          way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;e",
          desc: "虯髯怒目的大漢。",
        },
        {
          jh: "幽冥山莊",
          loc: "火堆",
          name: "鲍蛇",
          name_tw: "鮑蛇",
          way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;e",
          desc: "虯髯怒目的大漢。",
        },
        {
          jh: "幽冥山莊",
          loc: "火堆",
          name: "鲍虎",
          name_tw: "鮑虎",
          way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;e",
          desc: "虯髯怒目的大漢。",
        },
        {
          jh: "幽冥山莊",
          loc: "山庄石道",
          name: "过之梗",
          name_tw: "過之梗",
          way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne",
          desc: "年約四五十歲,長眉黑髯,樣子十分剛正。",
        },
        {
          jh: "幽冥山莊",
          loc: "山庄石道",
          name: "翁四",
          way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n",
          desc: "武功不弱,而且為人正義,素得俠名。",
        },
        {
          jh: "幽冥山莊",
          loc: "小连环坞",
          name: "屈奔雷",
          way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;e",
          desc: "行事於正邪之間,性格剛烈,脾氣古怪,不過從不作傷天害理之事,只是明目張膽的搶劫燒殺,這人可幹得多了;據說他武功很高,內功外功兼備,鐵斧也使得出神入化。",
        },
        {
          jh: "幽冥山莊",
          loc: "小连环坞",
          name: "屈奔雷分身",
          way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;e",
          desc: "屈奔雷分身,實力不容小視!",
        },
        {
          jh: "幽冥山莊",
          loc: "枫林小栈",
          name: "伍湘云",
          name_tw: "伍湘雲",
          way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;e;e",
          desc: "一身綵衣,垂發如瀑,腰上挽了一個小花結,結上兩柄玲瓏的小劍,更顯得人嬌如花,容光照人。",
        },
        {
          jh: "幽冥山莊",
          loc: "枫林小栈",
          name: "殷乘风",
          name_tw: "殷乘風",
          way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;e;e",
          desc: "身段頎長而略瘦,但眉宇之間,十分精明銳利,猶如瓊瑤玉樹,豐神英朗",
        },
        {
          jh: "幽冥山莊",
          loc: "山庄石道",
          name: "辛仇",
          way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;n",
          desc: "自幼殘肢斷臂,受人歧視,故苦練奇技,仇殺江湖,無人不畏之如神鬼也。",
        },
        {
          jh: "幽冥山莊",
          loc: "山庄石道",
          name: "辛杀",
          name_tw: "辛殺",
          way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;n",
          desc: "一個風程僕僕的俠客。",
        },
        {
          jh: "幽冥山莊",
          loc: "山庄石道",
          name: "蔡玉丹",
          way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;n;nw;nw",
          desc: "家財萬貫,是絲綢商人,但仁俠異常,喜助人,義疏財,武功很高。",
        },
        {
          jh: "幽冥山莊",
          loc: "山庄石道",
          name: "暗杀",
          name_tw: "暗殺",
          way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;n;nw;nw;n",
          desc: "這是跟隨辛十三孃的殺手。",
        },
        {
          jh: "幽冥山莊",
          loc: "山庄石道",
          name: "辛十三娘",
          way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;n;nw;nw;n",
          desc: "這女魔頭似具有動物的本能護體色,如貼在樹上動也不動,便像一張葉子一般,如坐在地上動也不動,便像一顆岩石一般;在黑夜裡便像是夜色的一部分,在雪地上就變成了雪花,誰也認不出來。",
        },
        {
          jh: "幽冥山莊",
          loc: "暗风岭",
          name: "巴司空",
          way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;n;nw;nw;n;w",
          desc: "他是大理國三公之一。一個又瘦又黑的漢子,但他的擅長輕功。",
        },
        {
          jh: "幽冥山莊",
          loc: "山庄石道",
          name: "追命",
          way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;n;nw;nw;n;e;e",
          desc: "腳力無雙,所以輕功也奇佳,追蹤術一流,嗜酒如命。",
        },
        {
          jh: "幽冥山莊",
          loc: "山庄石道",
          name: "艳无忧",
          name_tw: "豔無憂",
          way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;n;nw;nw;n;e;e;e",
          desc: "江湖中一大魔頭,年輕貌美,因她擅‘吸血功’,以別人之鮮血,保持她的青春與容貌。",
        },
        {
          jh: "幽冥山莊",
          loc: "山庄石道",
          name: "摄魂鬼杀",
          name_tw: "攝魂鬼殺",
          way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;n;nw;nw;n;e;e;e",
          desc: "這是跟隨豔無憂的殺手,武功頗為高深。",
        },
        {
          jh: "幽冥山莊",
          loc: "幽冥山庄",
          name: "幽冥山庄",
          name_tw: "幽冥山莊",
          way: "jh 45;ne;ne;n;n;ne;ne;e;ne;n;n;n;n;n;ne;ne;n;n;n;nw;nw;n;e;e;e;e;e",
          desc: "",
        },
        {
          jh: "花街",
          loc: "花街",
          name: "尊信门杀手",
          name_tw: "尊信門殺手",
          way: "jh 46;e",
          desc: "尊信門叛將帶領的殺手,個個心狠手辣。",
        },
        {
          jh: "花街",
          loc: "花街",
          name: "花札敖",
          way: "jh 46;e",
          desc: "魔宗長老,紫色瞳孔彰顯他天魔功法已經大成。",
        },
        {
          jh: "花街",
          loc: "花街",
          name: "山赤岳",
          name_tw: "山赤嶽",
          way: "jh 46;e;e",
          desc: "魔宗長老,使一對八角大錘。",
        },
        {
          jh: "花街",
          loc: "花街",
          name: "鹰飞",
          name_tw: "鷹飛",
          way: "jh 46;e;e;e",
          desc: "魔宗後起高手,是魔宗的希望。",
        },
        {
          jh: "花街",
          loc: "花街",
          name: "由蚩敌",
          name_tw: "由蚩敵",
          way: "jh 46;e;e;e;e",
          desc: "蒙古兩大高手之一,擅用連環索。",
        },
        {
          jh: "花街",
          loc: "花街",
          name: "强望生",
          name_tw: "強望生",
          way: "jh 46;e;e;e;e;e",
          desc: "火須紅發,蒙古兩大高手之一。",
        },
        {
          jh: "花街",
          loc: "花街",
          name: "莫意闲",
          name_tw: "莫意閒",
          way: "jh 46;e;e;e;e;e;e",
          desc: "江湖黑道邪派高手之一,列名十大高手榜。",
        },
        {
          jh: "花街",
          loc: "花街",
          name: "甄素善",
          way: "jh 46;e;e;e;e;e;e;e",
          desc: "黑道最富有誘惑力的女人,風情萬種。",
        },
        {
          jh: "花街",
          loc: "醉梦楼",
          name: "谈应手",
          name_tw: "談應手",
          way: "jh 46;e;e;e;e;e;e;e;e",
          desc: "黑道高手,十惡莊莊主,一方霸主。",
        },
        {
          jh: "花街",
          loc: "大厅",
          name: "方夜羽",
          way: "jh 46;e;e;e;e;e;e;e;e;n",
          desc: "「魔師」龐斑的關門弟子,有「小魔師」之稱,文秀之極,肌膚比少女還滑嫩,但身形頗高,肩寬膊闊,秀氣透出霸氣,造成一種予人文武雙全的感覺。",
        },
        {
          jh: "花街",
          loc: "二楼",
          name: "封寒",
          way: "jh 46;e;e;e;e;e;e;e;e;n;n;n;e;e",
          desc: "黑榜天下第二的高手,天下第一刀客。",
        },
        {
          jh: "花街",
          loc: "沁芳阁",
          name: "寒碧翠",
          way: "jh 46;e;e;e;e;e;e;e;e;n;n;n;e;e;e",
          desc: "優雅十分,舞姿傾城,據說觀舞可領悟出長生之道。",
        },
        {
          jh: "花街",
          loc: "凝香阁",
          name: "薄昭如",
          way: "jh 46;e;e;e;e;e;e;e;e;n;n;n;e;e;s",
          desc: "清雅十分,舞姿傾城,據說觀舞可領悟出防禦之道。",
        },
        {
          jh: "花街",
          loc: "藏娇阁",
          name: "盈散花",
          way: "jh 46;e;e;e;e;e;e;e;e;n;n;n;e;e;n",
          desc: "據說來自西域,擅長波斯舞,每日來觀舞之人絡繹不絕,雖耗費頗高,但據說觀舞可以領悟出武學攻擊招式的奧秘。",
        },
        {
          jh: "花街",
          loc: "花街",
          name: "怒蛟高手",
          way: "jh 46;e;e;e;e;e;e;e;e;e",
          desc: "這是黑道第一大幫-怒蛟幫的頂尖高手。",
        },
        {
          jh: "花街",
          loc: "花街",
          name: "戚长征",
          name_tw: "戚長征",
          way: "jh 46;e;e;e;e;e;e;e;e;e",
          desc: "江湖中的後起之秀,新一代高手中最好的刀客,得左手刀封寒親傳。",
        },
        {
          jh: "花街",
          loc: "花街",
          name: "韩柏",
          name_tw: "韓柏",
          way: "jh 46;e;e;e;e;e;e;e;e;e;e",
          desc: "陰差陽錯成為高手的小書童。",
        },
        {
          jh: "花街",
          loc: "花街",
          name: "烈震北",
          way: "jh 46;e;e;e;e;e;e;e;e;e;e;e",
          desc: "黑道最負盛名的神醫,義氣幹雲。",
        },
        {
          jh: "花街",
          loc: "花街",
          name: "赤尊信",
          way: "jh 46;e;e;e;e;e;e;e;e;e;e;e;e",
          desc: "尊信門門主,黑榜十大高手之一。",
        },
        {
          jh: "花街",
          loc: "花街",
          name: "乾罗",
          name_tw: "乾羅",
          way: "jh 46;e;e;e;e;e;e;e;e;e;e;e;e;e",
          desc: "山城門主,黑榜十大高手之一。",
        },
        {
          jh: "花街",
          loc: "花街",
          name: "厉若海",
          name_tw: "厲若海",
          way: "jh 46;e;e;e;e;e;e;e;e;e;e;e;e;e;e",
          desc: "黑道高手排名第三,也有人說他實力與浪翻雲相較也不差半分。",
        },
        {
          jh: "花街",
          loc: "花街",
          name: "浪翻云",
          name_tw: "浪翻雲",
          way: "jh 46;e;e;e;e;e;e;e;e;e;e;e;e;e;e;e",
          desc: "黑榜之首,江湖第一大幫的核心人物。",
        },
        {
          jh: "西涼城",
          loc: "荒漠",
          name: "响尾蛇",
          name_tw: "響尾蛇",
          way: "jh 47;ne",
          desc: "一條帶有劇毒,尾環在禦敵時發出嗡嗡響的響尾蛇。",
        },
        {
          jh: "西涼城",
          loc: "荒丘",
          name: "官差",
          way: "jh 47;ne;n;n;n;nw",
          desc: "這是西涼城衙門的一名官差,呆呆的不言不動,只是渾身顫抖。",
        },
        {
          jh: "西涼城",
          loc: "荒丘",
          name: "官兵",
          way: "jh 47;ne;n;n;n;nw",
          desc: "西涼城的官兵,透著幾分疲憊。",
        },
        {
          jh: "西涼城",
          loc: "城外马道",
          name: "驿卒",
          name_tw: "驛卒",
          way: "jh 47;ne;n;n;n;ne;ne;e",
          desc: "這是別的城市前來此處送信的驛卒,滿面塵土。",
        },
        {
          jh: "西涼城",
          loc: "西凉城门",
          name: "官兵",
          way: "jh 47;ne;n;n;n;ne;ne;e;e;e",
          desc: "西涼城的官兵,透著幾分疲憊。",
        },
        {
          jh: "西涼城",
          loc: "土路",
          name: "苦力",
          way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne",
          desc: "一個苦力打扮的漢子在這裡等人來僱用。",
        },
        {
          jh: "西涼城",
          loc: "土路",
          name: "屠淩心",
          way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;se",
          desc: "身材矮小,一張臉醜陋無比,滿是刀疤傷痕。",
        },
        {
          jh: "西涼城",
          loc: "土路",
          name: "昆仑杀手",
          name_tw: "崑崙殺手",
          way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;se",
          desc: "一個風程僕僕的俠客。",
        },
        {
          jh: "西涼城",
          loc: "土路",
          name: "金淩霜",
          way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;se;s",
          desc: "六十來歲年紀,雙目神光湛然。",
        },
        {
          jh: "西涼城",
          loc: "土路",
          name: "醉汉",
          name_tw: "醉漢",
          way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;se;s",
          desc: "一個喝得醉醺醺的年輕人。。。。。",
        },
        {
          jh: "西涼城",
          loc: "土路",
          name: "钱淩异",
          name_tw: "錢淩異",
          way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;se;s;s",
          desc: "一名高瘦的漢子,眼神陰毒。",
        },
        {
          jh: "西涼城",
          loc: "马王庙",
          name: "齐伯川",
          name_tw: "齊伯川",
          way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;se;s;s;s",
          desc: "燕陵鏢局的少鏢頭,平日裡飛揚跋扈,現在卻是一副落魄樣子。",
        },
        {
          jh: "西涼城",
          loc: "土路",
          name: "樵夫",
          way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n",
          desc: "你看到一個粗壯的大漢,身上穿著普通樵夫的衣服。",
        },
        {
          jh: "西涼城",
          loc: "土路",
          name: "疯狗",
          name_tw: "瘋狗",
          way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne",
          desc: "一隻渾身髒兮兮的野狗,一雙眼睛正惡狠狠地瞪著你。",
        },
        {
          jh: "西涼城",
          loc: "正殿",
          name: "止观大师",
          name_tw: "止觀大師",
          way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;e;e;n;n;n;n;n",
          desc: "一名白衣灰須的老僧,雙眼炯炯有神。",
        },
        {
          jh: "西涼城",
          loc: "正殿",
          name: "止观分身",
          name_tw: "止觀分身",
          way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;e;e;n;n;n;n;n",
          desc: "止觀大師的分身,戰鬥力爆棚!",
        },
        {
          jh: "西涼城",
          loc: "正殿",
          name: "慧清",
          way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;e;e;n;n;n;n;n",
          desc: "止觀大師的親傳弟子,灰色衣袍。",
        },
        {
          jh: "西涼城",
          loc: "殿后小路",
          name: "佛灯",
          name_tw: "佛燈",
          way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;e;e;n;n;n;n;n;n;ne;n",
          desc: "這是一盞佛燈,閃著微弱的青光,照亮著山路。",
        },
        {
          jh: "西涼城",
          loc: "土路",
          name: "野狗",
          way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;n",
          desc: "一隻渾身髒兮兮的野狗。",
        },
        {
          jh: "西涼城",
          loc: "土路",
          name: "农民",
          name_tw: "農民",
          way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;n;n;n",
          desc: "一個戴著斗笠,正在辛勤勞作的農民。",
        },
        {
          jh: "西涼城",
          loc: "土路",
          name: "马夫",
          name_tw: "馬夫",
          way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;n;n;n;n;n",
          desc: "這是一個等候主人的馬夫,耐心地打掃著馬車。",
        },
        {
          jh: "西涼城",
          loc: "铁剑山庄",
          name: "管家",
          way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;n;n;n;n;n;nw;nw;ne;n;ne",
          desc: "鐵劍山莊管家,約莫五十來歲。",
        },
        {
          jh: "西涼城",
          loc: "正堂",
          name: "李铁杉",
          name_tw: "李鐵杉",
          way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;n;n;n;n;n;nw;nw;ne;n;ne;n",
          desc: "一名紅光滿面的高大老者。",
        },
        {
          jh: "西涼城",
          loc: "燕陵镖局",
          name: "齐润翔",
          name_tw: "齊潤翔",
          way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;n;n;n;n;n;nw;nw;nw",
          desc: "一名老者坐在鏢局大廳,須長及胸,生得一張紫膛臉,正是燕陵鏢局的總鏢頭齊潤翔。",
        },
        {
          jh: "西涼城",
          loc: "燕陵镖局",
          name: "黑衣镖师",
          name_tw: "黑衣鏢師",
          way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;n;n;n;n;n;nw;nw;nw",
          desc: "身著黑衣的鏢師,一看就是經驗豐富的老江湖。",
        },
        {
          jh: "西涼城",
          loc: "练武场",
          name: "镖师",
          name_tw: "鏢師",
          way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;n;n;n;n;n;nw;nw;nw;nw",
          desc: "燕陵鏢局的年青鏢師,正在發呆。",
        },
        {
          jh: "西涼城",
          loc: "中堂",
          name: "捕快",
          way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;n;n;w;w",
          desc: "西涼城的捕快,腰佩單刀。",
        },
        {
          jh: "西涼城",
          loc: "中堂",
          name: "伍定远",
          name_tw: "伍定遠",
          way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;n;n;w;w",
          desc: "黝黑的四方臉上一派威嚴,一望便知是這些官差的頭兒,衙門的捕頭。",
        },
        {
          jh: "西涼城",
          loc: "后堂",
          name: "捕快",
          way: "jh 47;ne;n;n;n;ne;ne;e;e;e;e;ne;n;ne;n;n;w;w;w",
          desc: "西涼城的捕快,腰佩單刀。",
        },
        {
          jh: "高昌迷宮",
          loc: "蒙古包",
          name: "苏普",
          name_tw: "蘇普",
          way: "jh 48;e;ne",
          desc: "年輕俊朗的小夥子,虎背熊腰,是大漠第一勇士蘇魯克的兒子。",
        },
        {
          jh: "高昌迷宮",
          loc: "蒙古包",
          name: "糟老头子",
          name_tw: "糟老頭子",
          way: "jh 48;e;ne",
          desc: "他滿頭白發,竟無一根是黑的,身材甚是高大,只是弓腰曲背,衰老已極",
        },
        {
          jh: "高昌迷宮",
          loc: "蒙古包",
          name: "陈达海",
          name_tw: "陳達海",
          way: "jh 48;e;ne",
          desc: "一個身穿羊皮襖的高大漢子,虯髯滿腮,他腰間上左右各插著一柄精光閃亮的短劍。兩柄短劍的劍把一柄金色,一柄銀色。",
        },
        {
          jh: "高昌迷宮",
          loc: "蒙古包",
          name: "阿曼",
          way: "jh 48;e;ne",
          desc: "貌美如花的哈薩克女子,蘇普的妻子。",
        },
        {
          jh: "高昌迷宮",
          loc: "蒙古包",
          name: "太行刀手",
          way: "jh 48;e;ne",
          desc: "當地的刀功絕活大師,隨便放在江湖中都是個了不起的刀霸。",
        },
        {
          jh: "高昌迷宮",
          loc: "蒙古包",
          name: "哈卜拉姆",
          way: "jh 48;e;ne;ne",
          desc: "鐵延部中精通「可蘭經」、最聰明最有學問的老人。",
        },
        {
          jh: "高昌迷宮",
          loc: "蒙古包",
          name: "牧民",
          way: "jh 48;e;ne;ne;se",
          desc: "哈薩克牧民,正在做著晚餐。",
        },
        {
          jh: "高昌迷宮",
          loc: "",
          name: "天铃鸟",
          name_tw: "天鈴鳥",
          way: "jh 48;e;ne;ne;s",
          desc: "這鳥兒的歌聲像是天上的銀鈴。它只在晚上唱歌,白天睡覺。有人說,這是天上的星星掉下來之後變的。又有些哈薩克人說,這是草原上一個最美麗、最會唱歌的少女死了之後變的。她的情郎不愛她了,她傷心死的。",
        },
        {
          jh: "高昌迷宮",
          loc: "大沙漠",
          name: "霍元龙",
          name_tw: "霍元龍",
          way: "jh 48;e;se",
          desc: "虯髯大漢,身挎長刀,一臉凶神惡煞。",
        },
        {
          jh: "高昌迷宮",
          loc: "大沙漠",
          name: "太行刀手",
          way: "jh 48;e;se",
          desc: "當地的刀功絕活大師,隨便放在江湖中都是個了不起的刀霸。",
        },
        {
          jh: "高昌迷宮",
          loc: "戈壁滩",
          name: "恶狼",
          name_tw: "惡狼",
          way: "jh 48;e;se;se;e;ne;se",
          desc: "一頭大灰狼,閃著尖利的牙齒。",
        },
        {
          jh: "高昌迷宮",
          loc: "戈壁滩",
          name: "响尾蛇",
          name_tw: "響尾蛇",
          way: "jh 48;e;se;se;e;ne;se;e",
          desc: "戈壁灘上的響尾蛇,你要小心了!",
        },
        {
          jh: "高昌迷宮",
          loc: "大沙漠",
          name: "骆驼",
          name_tw: "駱駝",
          way: "jh 48;e;se;se;e;ne;se;e;e;e;ne;se;se;s",
          desc: "行走於沙漠的商隊駱駝。",
        },
        {
          jh: "高昌迷宮",
          loc: "山陵",
          name: "男尸",
          name_tw: "男屍",
          way: "jh 48;e;se;se;e;ne;se;e;e;e;ne;se;se;s;s;s;sw",
          desc: "一具男屍,看身上的裝束似是中原武士。",
        },
        {
          jh: "高昌迷宮",
          loc: "山洞",
          name: "老翁",
          way: "jh 48;e;se;se;e;ne;se;e;e;e;ne;se;se;s;s;s;sw;sw;s",
          desc: "身形瘦弱,形容枯槁,愁眉苦臉,身上穿的是漢人裝束,衣帽都已破爛不堪。但他頭發捲曲,卻又不大像漢人。",
        },
        {
          jh: "高昌迷宮",
          loc: "山洞",
          name: "李文秀",
          way: "jh 48;e;se;se;e;ne;se;e;e;e;ne;se;se;s;s;s;sw;sw;s;sw;se",
          desc: "身著哈薩克長袍的漢族少女,眉清目秀,貌美如花。有人說,她唱出的歌聲,便如同那天鈴鳥一般動人。",
        },
        {
          jh: "高昌迷宮",
          loc: "甬道",
          name: "苏鲁克",
          name_tw: "蘇魯克",
          way: "jh 48;e;se;se;e;ne;se;e;e;e;ne;ne;event_1_369927",
          desc: "哈薩克第一勇士,力大無窮。",
        },
        {
          jh: "高昌迷宮",
          loc: "甬道",
          name: "车尔库",
          name_tw: "車爾庫",
          way: "jh 48;e;se;se;e;ne;se;e;e;e;ne;ne;event_1_369927;n",
          desc: "哈薩克第二勇士,蘇魯克的好朋友。",
        },
        {
          jh: "高昌迷宮",
          loc: "高昌宝藏",
          name: "瓦耳拉齐",
          name_tw: "瓦耳拉齊",
          way: "jh 48;e;se;se;e;ne;se;e;e;e;ne;ne;event_1_369927;n;n;n",
          desc: "白衣白袍的哈薩克高手,為李文秀所救。",
        },
        {
          jh: "高昌迷宮",
          loc: "高昌宝藏",
          name: "分身",
          way: "jh 48;e;se;se;e;ne;se;e;e;e;ne;ne;event_1_369927;n;n;n",
          desc: "瓦耳拉齊的分身,十分強悍!",
        },
        {
          jh: "京城",
          loc: "城外山路",
          name: "贵妇",
          name_tw: "貴婦",
          way: "rank go 194;s;se",
          desc: "城裡大戶人家的貴婦,正要上山拜佛還願。",
        },
        {
          jh: "京城",
          loc: "城外山路",
          name: "王一通",
          way: "rank go 194;s;se;se",
          desc: "千萬個小人物中的一個,讀過書算過賬,沒有經世致用之才,沒有平定一方之力,匡扶天下他沒有這個志氣,建功立業怕也沒有這個本事。老婆剛又生了個孩子,家裡卻又有債主上門,正急得如熱鍋上的螞蟻。",
        },
        {
          jh: "京城",
          loc: "西直门",
          name: "城门官兵",
          name_tw: "城門官兵",
          way: "rank go 194;s;se;se;se;e",
          desc: "鎮守京城的官兵,銀盔銀甲,威風凜凜。",
        },
        {
          jh: "京城",
          loc: "阜成门",
          name: "城门官兵",
          name_tw: "城門官兵",
          way: "rank go 194;s;se;se;se;e;s;s;s",
          desc: "鎮守京城的官兵,銀盔銀甲,威風凜凜。",
        },
        {
          jh: "京城",
          loc: "御花园",
          name: "银川公主",
          name_tw: "銀川公主",
          way: "rank go 194;s;se;se;se;e;s;s;s;e;se;e;e;n;n;nw;nw;n",
          desc: "貌美的皇帝長女,奉命西嫁和番,性格仁慈,高貴端麗,讓人不敢輕侮,西疆大戰中,展現出皇家天女的絕代風華,令無數亂臣賊子為之感動敬服。見識卓越,忍人所不能忍,在去西疆途中愛慕盧雲,可為了國家深藏情感。銀川有著極其獨立的人格和無奈得讓人心碎的命運。只因生在帝王家,便要在豆蔻年華永遠放棄自己的愛情和未來,遠嫁異邦,靠自己柔軟無依的肩膀支撐起千萬將士的性命和兩國的和平。都說華夏自古多英豪,為何女子從此不得歸故鄉?",
        },
        {
          jh: "京城",
          loc: "皇极殿",
          name: "柳昂天",
          way: "rank go 194;s;se;se;se;e;s;s;s;e;se;e;e;n;n;n;n;n",
          desc: "膽小的大將軍,赳赳武夫,官拜大都督,統領數十萬兵馬,卻是個怯懦政客。他表面是天下英雄的領袖和希望,然而卻一再屈從於強權,虛偽而懦弱。他不是殘害忠良之輩,但也不會為了公道正義損害自己的功名利祿;與奸臣鬥,並非因為伸張正義,而是因為自己也不好過。弱小者的沉默也許還能借口能力有限自身難保,然而處在這樣位高權重的位置,膽小卻是他千秋萬世的罪惡。",
        },
        {
          jh: "京城",
          loc: "皇极殿",
          name: "柳府铁卫",
          name_tw: "柳府鐵衛",
          way: "rank go 194;s;se;se;se;e;s;s;s;e;se;e;e;n;n;n;n;n",
          desc: "柳府的私人衛隊。",
        },
        {
          jh: "京城",
          loc: "皇极殿",
          name: "江充",
          way: "rank go 194;s;se;se;se;e;s;s;s;e;se;e;e;n;n;n;n;n",
          desc: "大奸臣,年約五十,十八省總按察,官拜太子太師。陰謀詭詐,多疑善變,是景泰王朝的第一權臣,與東廠劉敬、徵北大都督柳昂天鼎足而立。為一宗多年塵封的舊案屢出天山,威勢所逼,終令朝廷要員棄官亡命,也讓許多江湖人物走投無路。一個沒有武功、沒有文才的矮胖小人,憑著三寸不爛之舌和掌控他人的心理,便能夠驅使天下英傑如驅使豬狗。所有禍端皆應他而起,縱你有神佛之能也要被他誣陷、算計。都說只因奸臣當道,所以才有天下英雄皆不得志。然,哪朝沒有奸臣,何曾有過斷絕?當皇帝被矇蔽、直言之人死於橫禍、天下黎民盡皆哀嚎的時候,為何朝堂之上鴉雀無聲;而元兇授首、挫骨揚灰之際,卻又為何如此人聲鼎沸、爭先恐後?其實,膽怯的我們都曾是小人的幫兇,在每個時代裡,扮演著每一個骯髒的龐然大物的吹鼓手。江充,便是所有沉默的天下人心裡開出的惡之花。",
        },
        {
          jh: "京城",
          loc: "御书房",
          name: "刘敬",
          name_tw: "劉敬",
          way: "rank go 194;s;se;se;se;e;s;s;s;e;se;e;e;n;n;ne;ne;n;n;nw",
          desc: "作為朝廷三大派之一的領袖人物,他心機深沉、眼光毒辣、言辭精巧。",
        },
        {
          jh: "京城",
          loc: "御书房",
          name: "小太监",
          name_tw: "小太監",
          way: "rank go 194;s;se;se;se;e;s;s;s;e;se;e;e;n;n;ne;ne;n;n;nw",
          desc: "宮裡的小太監,身著布衣。",
        },
        {
          jh: "京城",
          loc: "正阳门",
          name: "城门官兵",
          name_tw: "城門官兵",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e",
          desc: "鎮守京城的官兵,銀盔銀甲,威風凜凜。",
        },
        {
          jh: "京城",
          loc: "永定大街",
          name: "东厂侍卫",
          name_tw: "東廠侍衛",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s",
          desc: "東廠的鷹犬,怕是又在做什麼壞事。",
        },
        {
          jh: "京城",
          loc: "永定大街",
          name: "九华山女弟子",
          name_tw: "九華山女弟子",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s",
          desc: "九華劍派的女弟子,身姿綽約,腰帶長劍。",
        },
        {
          jh: "京城",
          loc: "永定大街",
          name: "娟儿",
          name_tw: "娟兒",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s",
          desc: "青衣秀士徒弟,豔婷之師妹,對師傅師姐有極強的依賴心,情牽阿傻,然而阿傻恢復記憶後忘記與娟兒的一切經歷,離娟兒而去。",
        },
        {
          jh: "京城",
          loc: "永定大街",
          name: "侯府小姐",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s",
          desc: "這是一個侯府的小姐,身著華麗,談吐優雅。",
        },
        {
          jh: "京城",
          loc: "永定大街",
          name: "小丫鬟",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s",
          desc: "一個笑嘻嘻的小丫頭,侯府的丫鬟,跟小姐顯是關係親密。",
        },
        {
          jh: "京城",
          loc: "王府后街",
          name: "莫淩山",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e",
          desc: "崑崙劍派高手之一,心狠手辣。",
        },
        {
          jh: "京城",
          loc: "王府后街",
          name: "昆仑弟子",
          name_tw: "崑崙弟子",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e",
          desc: "崑崙劍派的弟子,白衣長劍。",
        },
        {
          jh: "京城",
          loc: "王府后街",
          name: "安道京",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e;e",
          desc: "東廠大太監之一,功夫深不可測。",
        },
        {
          jh: "京城",
          loc: "王府后街",
          name: "东厂高手",
          name_tw: "東廠高手",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e;e",
          desc: "東廠高手,面目冷漠。",
        },
        {
          jh: "京城",
          loc: "万福楼",
          name: "伍崇卿",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e;e;s",
          desc: "伍定遠的義子,本為一流浪兒,伍定遠收養了他,並取名伍崇卿。武英帝復辟後為“義勇人”成員。後性情大變,怨伍定遠懦弱退縮。想用自己的方式保護伍定遠。曾在“魁星站五關”後蒙面黑衣獨自一人殺入太醫院,擊敗了包括蘇穎超、哲爾丹在內的眾多高手。",
        },
        {
          jh: "京城",
          loc: "万福楼",
          name: "苏颖超",
          name_tw: "蘇穎超",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e;e;s",
          desc: "武林四大宗師之一華山派掌門寧不凡嫡傳弟子,寧不凡退隱後,接任華山掌門,為武林新一代的俊傑。才貌雙全的蘇穎超,和「紫雲軒」少閣主瓊芳一見鍾情,可謂青梅竹馬。在太醫院中被黑衣人伍崇卿擊敗後,接著練劍遭遇瓶頸,揹負上了沉重的心理包袱。",
        },
        {
          jh: "京城",
          loc: "万福楼",
          name: "店伙计",
          name_tw: "店夥計",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e;e;s",
          desc: "一個酒樓的小夥計,十五六歲上下。",
        },
        {
          jh: "京城",
          loc: "万福楼",
          name: "茶圣-陆羽",
          name_tw: "茶聖-陸羽",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e;e;s",
          desc: "一個酒樓的小夥計,十五六歲上下。",
        },
        {
          jh: "京城",
          loc: "王府后街",
          name: "郝震湘",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e;e;e",
          desc: "本是一方名捕,奈何受人冤枉入獄,為保家人性命不得已委身於錦衣衛旗下,滿面惆悵。",
        },
        {
          jh: "京城",
          loc: "王府后街",
          name: "锦衣卫",
          name_tw: "錦衣衛",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e;e;e",
          desc: "本是朝廷衛士,卻已受東廠所轄。",
        },
        {
          jh: "京城",
          loc: "王府后街",
          name: "韦子壮",
          name_tw: "韋子壯",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e;e;e;e",
          desc: "武當弟子,現為侯府衛士統領,功力深厚。",
        },
        {
          jh: "京城",
          loc: "王府后街",
          name: "王府卫士",
          name_tw: "王府衛士",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e;e;e;e",
          desc: "善穆侯府的衛士,雙目炯炯有神,腰掛長刀。",
        },
        {
          jh: "京城",
          loc: "善穆侯府",
          name: "王府卫士",
          name_tw: "王府衛士",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e;e;e;e;n",
          desc: "善穆侯府的衛士,雙目炯炯有神,腰掛長刀。",
        },
        {
          jh: "京城",
          loc: "善穆侯府",
          name: "风流司郎中",
          name_tw: "風流司郎中",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;e;e;e;e;n",
          desc: "俊俏無比的當朝司郎中,風流倜儻,當朝大學士之子,也是少林天絕神僧關門弟子。",
        },
        {
          jh: "京城",
          loc: "永安大街",
          name: "学士",
          name_tw: "學士",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w",
          desc: "一個在六部任職的學士,雖著便服,但氣度不凡。",
        },
        {
          jh: "京城",
          loc: "永安大街",
          name: "书生",
          name_tw: "書生",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w",
          desc: "一個斯文的書生,穿著有些寒酸。",
        },
        {
          jh: "京城",
          loc: "白虎赌坊",
          name: "荷官",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w;s",
          desc: "白虎賭坊的荷官,身姿曼妙,煙視媚行。",
        },
        {
          jh: "京城",
          loc: "白虎赌坊",
          name: "胡媚儿",
          name_tw: "胡媚兒",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w;s",
          desc: "絕美無比的性感尤物,她雖使毒厲害,但卻是一個極重情義之人。她認死理,為江充辦事,便是一心一意,縱然江充勢敗,也是全力為其尋找玉璽。後來遇見盧雲,兩人日久相處,產生愛意,更是願意為了盧雲犧牲自己的一切。後來在與盧雲返回自己家鄉的途中遭到“鎮國鐵衛”的追殺迫害,不得已成為“鎮國鐵衛”的一員,加入了“客棧”。",
        },
        {
          jh: "京城",
          loc: "白虎赌坊",
          name: "下注血战",
          name_tw: "下注血戰",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w;s",
          desc: "",
        },
        {
          jh: "京城",
          loc: "青龙赌坊",
          name: "打手",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w;n",
          desc: "賭坊打手,滿臉橫肉,手持大錘。",
        },
        {
          jh: "京城",
          loc: "青龙赌坊",
          name: "藏六福",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w;n",
          desc: "青龍賭坊的老闆,五十歲上下,腰間繫著一塊絕世玉璧,眼睛裡閃著狡黠的光芒。",
        },
        {
          jh: "京城",
          loc: "青龙赌坊",
          name: "兽雀游戏",
          name_tw: "獸雀遊戲",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w;n",
          desc: "",
        },
        {
          jh: "京城",
          loc: "地下格斗场",
          name: "琼芳",
          name_tw: "瓊芳",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w;n",
          desc: "她生得明眸皓齒,桃笑李妍,臉頰上帶著兩個深深的酒渦,看來明媚可人,年歲雖小,但已是個十足十的美人胚子。瓊武川的孫女,紫雲軒少閣主,自幼失怙,被瓊國丈當男子養大,倍加寵愛。卻不知為何在這地下格鬥場。",
        },
        {
          jh: "京城",
          loc: "地下格斗场",
          name: "看场打手",
          name_tw: "看場打手",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w;n",
          desc: "地下格鬥場的看場打手,面目冷漠。",
        },
        {
          jh: "京城",
          loc: "永安大街",
          name: "杂货贩子",
          name_tw: "雜貨販子",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w;w",
          desc: "一個賣雜貨的販子,你也許可以看看需要些什麼。",
        },
        {
          jh: "京城",
          loc: "永安大街",
          name: "苦力",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w;w;w",
          desc: "進城找活路的苦力,衣著隨便,滿身灰塵。",
        },
        {
          jh: "京城",
          loc: "京城驿站",
          name: "掌柜",
          name_tw: "掌櫃",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w;w;w;s",
          desc: "驛站的大掌櫃,眼神深邃。",
        },
        {
          jh: "京城",
          loc: "永安大街",
          name: "醉汉",
          name_tw: "醉漢",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w;w;w;w",
          desc: "賭坊裡出來的醉漢,嘴裡嘟嘟囔囔些什麼,也許是一些賭坊的秘密。",
        },
        {
          jh: "京城",
          loc: "永安大街",
          name: "游客",
          name_tw: "遊客",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w;w;w;w;w",
          desc: "來京城遊玩的外地人,對大城市的繁華目不暇接,滿眼都是驚喜的神色。",
        },
        {
          jh: "京城",
          loc: "广和楼",
          name: "顾倩兮",
          name_tw: "顧倩兮",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;w;w;w;w;w;w;n",
          desc: "出生揚州,其父乃景泰朝兵部尚書顧嗣源,未婚夫是景泰朝狀元盧雲,後因為盧雲掉入水瀑音訊全無,一邊撫養盧雲留下的小嬰兒楊神秀,一邊為父親被正統皇帝下獄的事而四處奔波,後因其父在獄中自殺,為繼承父親的志向開辦書林齋,批判朝政,與正統皇帝針鋒相對。後嫁給佛國的創始人楊肅觀。正統十年,再遇盧雲。是典型的學識淵博,見識不凡的奇女子,當之無愧的揚州第一美女。",
        },
        {
          jh: "京城",
          loc: "永定大街",
          name: "武将",
          name_tw: "武將",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;s",
          desc: "京城武將,虎背熊腰,膽大心細。",
        },
        {
          jh: "京城",
          loc: "永定大街",
          name: "捕快",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;s",
          desc: "京城的捕快,自是與外地的不同。",
        },
        {
          jh: "京城",
          loc: "入城大道",
          name: "饥民",
          name_tw: "饑民",
          way: "rank go 194;s;se;se;se;e;s;s;s;s;sw;e;e;e;e;s;s;s;s;s;s",
          desc: "天下災荒四起,流民失所,飢腸轆轆,只能上京城來乞食。",
        },
        {
          jh: "京城",
          loc: "德胜门",
          name: "城门官兵",
          name_tw: "城門官兵",
          way: "rank go 194;s;se;se;se;e;n;n;ne;e",
          desc: "鎮守京城的官兵,銀盔銀甲,威風凜凜。",
        },
        {
          jh: "京城",
          loc: "安定门",
          name: "城门官兵",
          name_tw: "城門官兵",
          way: "rank go 194;s;se;se;se;e;n;n;ne;e;e;e",
          desc: "鎮守京城的官兵,銀盔銀甲,威風凜凜。",
        },
        {
          jh: "京城",
          loc: "玄武门",
          name: "城门官兵",
          name_tw: "城門官兵",
          way: "rank go 194;s;se;se;se;e;n;n;ne;e;e;e;s;s;s",
          desc: "鎮守京城的官兵,銀盔銀甲,威風凜凜。",
        },
        {
          jh: "京城",
          loc: "东直门",
          name: "城门官兵",
          name_tw: "城門官兵",
          way: "rank go 194;s;se;se;se;e;n;n;ne;e;e;e;e;e;e;se;s;s",
          desc: "鎮守京城的官兵,銀盔銀甲,威風凜凜。",
        },
        {
          jh: "京城",
          loc: "通天塔",
          name: "通天塔",
          way: "rank go 194;s;se;se;se;e;n;n;ne;e;e;e;e;e;e;se;s;s;e;e;e;s;s",
          desc: "",
        },
        {
          jh: "越王劍宮",
          loc: "欧余山路",
          name: "樵夫",
          way: "jh 50",
          desc: "一個砍柴為生的樵夫。",
        },
        {
          jh: "越王劍宮",
          loc: "欧余山路",
          name: "毒蛇",
          way: "jh 50;ne",
          desc: "一條外表看起來十分花哨的蛇,毒性巨強。",
        },
        {
          jh: "越王劍宮",
          loc: "欧余山路",
          name: "欧余刀客",
          name_tw: "歐餘刀客",
          way: "jh 50;ne;ne",
          desc: "歐餘山中隱藏的刀客,武功深不可測。",
        },
        {
          jh: "越王劍宮",
          loc: "欧余山路",
          name: "山狼",
          way: "jh 50;ne;ne;n;n",
          desc: "歐餘山中的霸主,山狼,比一般的野狼大一倍有餘。",
        },
        {
          jh: "越王劍宮",
          loc: "欧余山路",
          name: "山狼王",
          way: "jh 50;ne;ne;n;n",
          desc: "歐餘山中的霸主,山狼,比一般的野狼大一倍有餘。",
        },
        {
          jh: "越王劍宮",
          loc: "欧余山路",
          name: "西施",
          way: "jh 50;ne;ne;n;n",
          desc: "施夷光,天下第一美女,世人稱為西施,尊稱其“西子“。越國苧蘿村浣紗女。她天生麗質、秀媚出眾。",
        },
        {
          jh: "越王劍宮",
          loc: "欧余山路",
          name: "范蠡",
          way: "jh 50;ne;ne;n;n;n;ne",
          desc: "越國當朝大夫,越王倚重的重臣。",
        },
        {
          jh: "越王劍宮",
          loc: "欧余山路",
          name: "欧余刀客",
          name_tw: "歐餘刀客",
          way: "jh 50;ne;ne;n;n;n;ne",
          desc: "歐餘山中隱藏的刀客,武功深不可測。",
        },
        {
          jh: "越王劍宮",
          loc: "欧余山路",
          name: "吴国暗探",
          name_tw: "吳國暗探",
          way: "jh 50;ne;ne;n;n;n;ne",
          desc: "來自吳國的暗探,隱藏在山中,負責刺探劍宮內的消息。",
        },
        {
          jh: "越王劍宮",
          loc: "欧余山路",
          name: "老奶奶",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne",
          desc: "一個拄著柺杖的老奶奶,似是在等著孫女回家。",
        },
        {
          jh: "越王劍宮",
          loc: "竹林",
          name: "青竹巨蟒",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;n",
          desc: "青竹林中的巨型蟒蛇,通體翠綠,隱藏在竹林中,等待獵物自投羅網。",
        },
        {
          jh: "越王劍宮",
          loc: "竹林",
          name: "青竹巨蟒",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;n;n",
          desc: "青竹林中的巨型蟒蛇,通體翠綠,隱藏在竹林中,等待獵物自投羅網。",
        },
        {
          jh: "越王劍宮",
          loc: "竹林",
          name: "猎人",
          name_tw: "獵人",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;n;n",
          desc: "山中的獵戶,正在尋覓今天的收穫。",
        },
        {
          jh: "越王劍宮",
          loc: "竹林",
          name: "白猿",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;n;n;n",
          desc: "一頭巨大的白猿,若是見生人來了,一聲長嘯,躍上樹梢,接連幾個縱躍,已竄出數十丈外,但聽得嘯聲淒厲,漸漸遠去,山谷間猿嘯回聲,良久不絕。",
        },
        {
          jh: "越王劍宮",
          loc: "欧余山路",
          name: "白猿",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se",
          desc: "一頭巨大的白猿,若是見生人來了,一聲長嘯,躍上樹梢,接連幾個縱躍,已竄出數十丈外,但聽得嘯聲淒厲,漸漸遠去,山谷間猿嘯回聲,良久不絕。",
        },
        {
          jh: "越王劍宮",
          loc: "欧余山路",
          name: "采药人",
          name_tw: "採藥人",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se",
          desc: "一個山中的採藥人,年紀近五十了。",
        },
        {
          jh: "越王劍宮",
          loc: "欧余山路",
          name: "锦衣剑士",
          name_tw: "錦衣劍士",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se",
          desc: "越王劍宮的精英劍士,身佩長劍。",
        },
        {
          jh: "越王劍宮",
          loc: "欧余山路",
          name: "青衣剑士",
          name_tw: "青衣劍士",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se",
          desc: "來自吳國的精英劍士,極度高傲自負。",
        },
        {
          jh: "越王劍宮",
          loc: "欧余山路",
          name: "青竹巨蟒",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s",
          desc: "青竹林中的巨型蟒蛇,通體翠綠,隱藏在竹林中,等待獵物自投羅網。",
        },
        {
          jh: "越王劍宮",
          loc: "欧余山路",
          name: "牧羊少女",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s",
          desc: "這少女一張瓜子臉,睫長眼大,皮膚白晰,容貌甚是秀麗,身材苗條,弱質纖纖,手持一根長竹竿。",
        },
        {
          jh: "越王劍宮",
          loc: "欧余山路",
          name: "山羊",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s",
          desc: "雪白的羊毛,在少女的馴服下,乖巧在吃草。",
        },
        {
          jh: "越王劍宮",
          loc: "欧余山路",
          name: "采药少女",
          name_tw: "採藥少女",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s",
          desc: "在山中採藥戶的小女孩,只有十二三歲,卻已能熟練地行走山間,採集藥材。",
        },
        {
          jh: "越王劍宮",
          loc: "欧余山路",
          name: "锦衣剑士",
          name_tw: "錦衣劍士",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s",
          desc: "越王劍宮的精英劍士,身佩長劍。",
        },
        {
          jh: "越王劍宮",
          loc: "欧亭台",
          name: "锦衣剑士",
          name_tw: "錦衣劍士",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;sw;sw;sw",
          desc: "越王劍宮的精英劍士,身佩長劍。",
        },
        {
          jh: "越王劍宮",
          loc: "欧亭台",
          name: "青衣剑士",
          name_tw: "青衣劍士",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;sw;sw;sw",
          desc: "來自吳國的精英劍士,極度高傲自負。",
        },
        {
          jh: "越王劍宮",
          loc: "欧亭台",
          name: "风胡子",
          name_tw: "風胡子",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;sw;sw;sw",
          desc: "楚國鑄劍師,身著玄色短衫,歐冶子的二位弟子之一。",
        },
        {
          jh: "越王劍宮",
          loc: "欧亭台",
          name: "采药少女",
          name_tw: "採藥少女",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;sw;sw;sw",
          desc: "在山中採藥戶的小女孩,只有十二三歲,卻已能熟練地行走山間,採集藥材。",
        },
        {
          jh: "越王劍宮",
          loc: "大夫第",
          name: "山狼",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;e",
          desc: "歐餘山中的霸主,山狼,比一般的野狼大一倍有餘",
        },
        {
          jh: "越王劍宮",
          loc: "大夫第",
          name: "锦衣剑士",
          name_tw: "錦衣劍士",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;e",
          desc: "越王劍宮的精英劍士,身佩長劍。",
        },
        {
          jh: "越王劍宮",
          loc: "大夫第",
          name: "范蠡",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;e",
          desc: "越國當朝大夫,越王倚重的重臣。",
        },
        {
          jh: "越王劍宮",
          loc: "大夫第",
          name: "青衣剑士",
          name_tw: "青衣劍士",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;e",
          desc: "來自吳國的精英劍士,極度高傲自負。",
        },
        {
          jh: "越王劍宮",
          loc: "大夫第",
          name: "风胡子",
          name_tw: "風胡子",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;e",
          desc: "楚國鑄劍師,身著玄色短衫,歐冶子的二位弟子之一。",
        },
        {
          jh: "越王劍宮",
          loc: "大夫第",
          name: "西施",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;e",
          desc: "施夷光,天下第一美女,世人稱為西施,尊稱其“西子“。越國苧蘿村浣紗女。她天生麗質、秀媚出眾。",
        },
        {
          jh: "越王劍宮",
          loc: "剑宫大门",
          name: "锦衣剑士",
          name_tw: "錦衣劍士",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;n;n",
          desc: "越王劍宮的精英劍士,身佩長劍。",
        },
        {
          jh: "越王劍宮",
          loc: "论剑石台",
          name: "青衣剑士",
          name_tw: "青衣劍士",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;n;n;n;n",
          desc: "來自吳國的精英劍士,極度高傲自負。",
        },
        {
          jh: "越王劍宮",
          loc: "论剑石台",
          name: "青衣剑士-御",
          name_tw: "青衣劍士-御",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;n;n;n;n;n",
          desc: "來自吳國的精英劍士,極度高傲自負。",
        },
        {
          jh: "越王劍宮",
          loc: "论剑石台",
          name: "青衣剑士-极",
          name_tw: "青衣劍士-極",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;n;n;n;n;n;n",
          desc: "來自吳國的精英劍士,極度高傲自負。",
        },
        {
          jh: "越王劍宮",
          loc: "藏虚殿",
          name: "越王",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;n;n;n;n;n;n;n",
          desc: "越王身披錦袍,形貌拙異,頭頸甚長,嘴尖如鳥,對你微微一笑,你卻覺得毛骨悚然。",
        },
        {
          jh: "越王劍宮",
          loc: "藏虚殿",
          name: "金衣剑士",
          name_tw: "金衣劍士",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;n;n;n;n;n;n;n",
          desc: "越國最頂尖的劍士,身著金衣,手持長劍。",
        },
        {
          jh: "越王劍宮",
          loc: "藏虚殿",
          name: "文种",
          name_tw: "文種",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;n;n;n;n;n;n;n",
          desc: "春秋末期著名的謀略家。越王勾踐的謀臣,和范蠡一起為勾踐最終打敗吳王夫差立下赫赫功勞。",
        },
        {
          jh: "越王劍宮",
          loc: "铸剑台",
          name: "铸剑师",
          name_tw: "鑄劍師",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;n;n;n;n;n;n;n;n",
          desc: "一個風程僕僕的俠客。",
        },
        {
          jh: "越王劍宮",
          loc: "铸剑台",
          name: "薛烛",
          name_tw: "薛燭",
          way: "jh 50;ne;ne;n;n;n;ne;ne;ne;se;se;se;s;s;s;s;se;se;e;n;n;n;n;n;n;n;n;n;n;n",
          desc: "二十多歲的年輕人,是歐冶子的二位親傳弟子之一。",
        },
        {
          jh: "江陵",
          loc: "长平街",
          name: "茶叶贩子",
          name_tw: "茶葉販子",
          way: "jh 51",
          desc: "來自外地的茶葉販子,來此收購也販賣茶葉。",
        },
        {
          jh: "江陵",
          loc: "长平街",
          name: "书生",
          name_tw: "書生",
          way: "jh 51;n",
          desc: "一個年紀輕輕的讀書人,拿著書本,搖頭晃腦。",
        },
        {
          jh: "江陵",
          loc: "长平街",
          name: "乞丐",
          way: "jh 51;n;n",
          desc: "一個衣衫襤褸的乞丐,口中嘟囔著一些模糊的語句。",
        },
        {
          jh: "江陵",
          loc: "江陵米店",
          name: "米三江",
          way: "jh 51;n;n;w",
          desc: "一個青衣小帽的中年商人,是米店的大掌櫃。",
        },
        {
          jh: "江陵",
          loc: "江陵米店",
          name: "米店伙计",
          name_tw: "米店夥計",
          way: "jh 51;n;n;w",
          desc: "米店的小夥計,正忙的不可開交。",
        },
        {
          jh: "江陵",
          loc: "江陵米店",
          name: "妇人",
          name_tw: "婦人",
          way: "jh 51;n;n;w",
          desc: "前來買米的婦人,手裡拿著米袋。",
        },
        {
          jh: "江陵",
          loc: "小倩花店",
          name: "花小倩",
          way: "jh 51;n;n;e",
          desc: "一個二十出頭,笑容動人的少女,有人說她是城中最美麗的少女,每天都會收到不少求愛的信箋呢。",
        },
        {
          jh: "江陵",
          loc: "长平街",
          name: "巡城府兵",
          way: "jh 51;n;n;n;n",
          desc: "江陵總兵府的巡城士兵,手持長矛,腰別鋼刀。",
        },
        {
          jh: "江陵",
          loc: "长平街",
          name: "巡城参将",
          name_tw: "巡城參將",
          way: "jh 51;n;n;n;n",
          desc: "江陵巡城參將,身材高大,腳步沉穩。",
        },
        {
          jh: "江陵",
          loc: "飞鸿客栈",
          name: "客栈小二",
          name_tw: "客棧小二",
          way: "jh 51;n;n;n;n;w",
          desc: "手拿酒壺菜碟,腳步如飛,忙得不亦樂乎,抬頭看你一眼,飛快地給你指了個座位。",
        },
        {
          jh: "江陵",
          loc: "飞鸿客栈",
          name: "酒保",
          way: "jh 51;n;n;n;n;w;w",
          desc: "客棧的小酒保,年紀大約十來歲而已。",
        },
        {
          jh: "江陵",
          loc: "飞鸿客栈",
          name: "江小酒",
          way: "jh 51;n;n;n;n;w;w;n",
          desc: "客棧老闆的女兒,一笑起來臉上就有兩個酒窩。",
        },
        {
          jh: "江陵",
          loc: "后庭",
          name: "江老板",
          name_tw: "江老闆",
          way: "jh 51;n;n;n;n;w;w;n;n",
          desc: "客棧的老闆,身材不高,卻自有一番氣度。",
        },
        {
          jh: "江陵",
          loc: "落日街",
          name: "苦力",
          way: "jh 51;n;n;n;n;e",
          desc: "一個衣衫襤褸的苦力,正在街角坐著等活兒上門。",
        },
        {
          jh: "江陵",
          loc: "落日街",
          name: "驿使",
          name_tw: "驛使",
          way: "jh 51;n;n;n;n;e;e;e",
          desc: "一個遠方驛站來的信使,看起來頗為悠閒,應是沒有公務在身。",
        },
        {
          jh: "江陵",
          loc: "落日街",
          name: "江陵府卫",
          name_tw: "江陵府衛",
          way: "jh 51;n;n;n;n;e;e;e;e",
          desc: "江陵總兵府的衛士,身披軟甲,腰胯長刀。",
        },
        {
          jh: "江陵",
          loc: "江陵府",
          name: "参将",
          name_tw: "參將",
          way: "jh 51;n;n;n;n;e;e;e;e;s",
          desc: "江陵總兵府的參將,都是蕭勁手下最得力的干將。",
        },
        {
          jh: "江陵",
          loc: "江陵府",
          name: "萧劲",
          name_tw: "蕭勁",
          way: "jh 51;n;n;n;n;e;e;e;e;s",
          desc: "江陵府總兵,統管兩湖地界,手握數萬大軍。",
        },
        {
          jh: "江陵",
          loc: "演兵场",
          name: "江陵府兵",
          way: "jh 51;n;n;n;n;e;e;e;e;s;s",
          desc: "江陵府統御下的士兵,一舉一動都有幹練之風,看起來頗為訓練得法。",
        },
        {
          jh: "江陵",
          loc: "霹雳门",
          name: "雷动山",
          name_tw: "雷動山",
          way: "jh 51;n;n;n;n;n;n;w",
          desc: "霹靂門兩湖分舵的舵主,太陽穴高高鼓起,顯然是有極深厚的內功。",
        },
        {
          jh: "江陵",
          loc: "药材店",
          name: "水掌柜",
          name_tw: "水掌櫃",
          way: "jh 51;n;n;n;n;n;n;n;nw;n",
          desc: "江陵府遠近幾百裡最出名的神醫,對藥材和醫理的理解出神入化。",
        },
        {
          jh: "江陵",
          loc: "药材店",
          name: "王铁柱",
          name_tw: "王鐵柱",
          way: "jh 51;n;n;n;n;n;n;n;nw;n",
          desc: "一個前來求藥的莊稼漢,看起來頗為著急。",
        },
        {
          jh: "江陵",
          loc: "北小街",
          name: "趟子手",
          way: "jh 51;n;n;n;n;e;e;e;e;n;n",
          desc: "鏢局的趟子手,是鏢局最低級的打手。",
        },
        {
          jh: "江陵",
          loc: "江陵镖局",
          name: "萧长河",
          name_tw: "蕭長河",
          way: "jh 51;n;n;n;n;e;e;e;e;n;n;w",
          desc: "江陵鏢局總鏢頭,一身長衫,手握一對鋼珠,頗有威不可犯之風。",
        },
        {
          jh: "江陵",
          loc: "江陵镖局",
          name: "分身",
          way: "jh 51;n;n;n;n;e;e;e;e;n;n;w",
          desc: "蕭長河的分身。",
        },
        {
          jh: "江陵",
          loc: "马厩",
          name: "周长老",
          name_tw: "週長老",
          way: "jh 51;n;n;n;n;e;e;e;e;n;n;w;w",
          desc: "蕭長河相交三十多年的生死之交,也是鏢局日常事務最主要的負責人。",
        },
        {
          jh: "江陵",
          loc: "马厩",
          name: "脱不花马",
          name_tw: "脫不花馬",
          way: "jh 51;n;n;n;n;e;e;e;e;n;n;w;w",
          desc: "大月氏遠道而來的最好的寶馬,可日行八百。",
        },
        {
          jh: "江陵",
          loc: "马厩",
          name: "分身",
          way: "jh 51;n;n;n;n;e;e;e;e;n;n;w;w",
          desc: "週長老的分身。",
        },
        {
          jh: "江陵",
          loc: "小鱼小食",
          name: "渔老",
          name_tw: "漁老",
          way: "jh 51;n;n;n;n;e;e;e;e;n;n;e",
          desc: "念過半百的老人,精神很好,手中拿著一張漁網在仔細修復。",
        },
        {
          jh: "江陵",
          loc: "小鱼小食",
          name: "余小鱼",
          name_tw: "餘小魚",
          way: "jh 51;n;n;n;n;e;e;e;e;n;n;e",
          desc: "豆蔻年華的小女孩,長得頗為清秀,正在熟練的整理著小食店,一副有條不紊成竹在胸的樣子。",
        },
        {
          jh: "江陵",
          loc: "北门",
          name: "城门守卫",
          name_tw: "城門守衛",
          way: "jh 51;n;n;n;n;e;e;e;e;n;n;n;n",
          desc: "江陵城的守衛士兵,鐵劍鐵甲。",
        },
        {
          jh: "江陵",
          loc: "江边路",
          name: "截道恶匪",
          name_tw: "截道惡匪",
          way: "jh 51;n;n;n;n;e;e;e;e;n;n;n;n;nw;n",
          desc: "截道的惡匪,正惡狠狠地看著你。",
        },
        {
          jh: "江陵",
          loc: "码头",
          name: "漕帮好手",
          name_tw: "漕幫好手",
          way: "jh 51;n;n;n;n;e;e;e;e;n;n;n;n;nw;n;n;n",
          desc: "漕幫的好手,個個都是浪裡白條。",
        },
        {
          jh: "江陵",
          loc: "江陵水道",
          name: "扬子鳄",
          name_tw: "揚子鱷",
          way: "jh 51;n;n;n;n;e;e;e;e;n;n;n;n;nw;n;n;n;e;e",
          desc: "兇狠的鱷魚,正不懷好意地盯著你。",
        },
        {
          jh: "江陵",
          loc: "水道暗洞",
          name: "金冠巨蟒",
          way: "jh 51;n;n;n;n;e;e;e;e;n;n;n;n;nw;n;n;n;e;e;e;e;e;se;event_1_1065178",
          desc: "一條通體火紅的巨蟒,頭部有金色花紋。",
        },
        {
          jh: "江陵",
          loc: "葬剑谷",
          name: "亡魂分身",
          way: "jh 51;n;n;n;n;e;e;e;e;n;n;n;n;nw;n;n;n;e;e;e;e;e;se;event_1_1065178;se;se",
          desc: "一個風程僕僕的俠客。",
        },
        {
          jh: "江陵",
          loc: "葬剑谷",
          name: "剑之亡魂",
          name_tw: "劍之亡魂",
          way: "jh 51;n;n;n;n;e;e;e;e;n;n;n;n;nw;n;n;n;e;e;e;e;e;se;event_1_1065178;se;se",
          desc: "一柄無主之劍。",
        },
        {
          jh: "江陵",
          loc: "落日街",
          name: "醉汉",
          name_tw: "醉漢",
          way: "jh 51;n;n;n;n;e;e;e;e;e;e",
          desc: "一個醉醺醺的男人,嘴裡不知道嘟囔著什麼。",
        },
        {
          jh: "江陵",
          loc: "南小街",
          name: "黑衣人",
          way: "jh 51;n;n;n;n;e;e;e;e;e;e;s",
          desc: "一個鬼鬼祟祟的黑衣人,腰間似乎藏著兵器。",
        },
        {
          jh: "江陵",
          loc: "南门",
          name: "城门守卫",
          name_tw: "城門守衛",
          way: "jh 51;n;n;n;n;e;e;e;e;e;e;s;s;s",
          desc: "江陵城的守衛士兵,鐵劍鐵甲。",
        },
        {
          jh: "江陵",
          loc: "城外泥路",
          name: "癞蛤蟆",
          name_tw: "癩蛤蟆",
          way: "jh 51;n;n;n;n;e;e;e;e;e;e;s;s;s;se;se",
          desc: "趴在城外泥路兩旁的沼澤地,正呱呱呱地叫著,真讓人心煩。",
        },
        {
          jh: "江陵",
          loc: "无双窑",
          name: "霍无双",
          name_tw: "霍無雙",
          way: "jh 51;n;n;n;n;e;e;e;e;e;e;s;s;s;se;se;e;e;e",
          desc: "兩湖最好的手藝人,從他手裡出品的瓷器,白若瑞雪,清透如浮雲。",
        },
        {
          jh: "江陵",
          loc: "落日街",
          name: "金莲",
          name_tw: "金蓮",
          way: "jh 51;n;n;n;n;e;e;e;e;e;e;e;e",
          desc: "玉泉酒坊老闆的相好,眉目流媚,身姿誘人。",
        },
        {
          jh: "江陵",
          loc: "深巷",
          name: "邋遢男子",
          way: "jh 51;n;n;n;n;e;e;e;e;e;e;e;e;se",
          desc: "一個醉醺醺的邋遢男子,正在對牆小便,你只想趕緊捂著鼻子走開。",
        },
        {
          jh: "江陵",
          loc: "玉泉酒坊",
          name: "酒坊伙计",
          name_tw: "酒坊夥計",
          way: "jh 51;n;n;n;n;e;e;e;e;e;e;e;e;se;e;e",
          desc: "酒坊的小夥計,忙得不可開交,瘦骨嶙峋。",
        },
        {
          jh: "江陵",
          loc: "玉泉酒坊",
          name: "九叔",
          way: "jh 51;n;n;n;n;e;e;e;e;e;e;e;e;se;e;e",
          desc: "酒坊現在的老闆,身上一派珠光寶氣,卻有人說他是盜了哥哥的產業。",
        },
        {
          jh: "天龍寺",
          loc: "苍山山脚",
          name: "小女童",
          way: "jh 52;",
          desc: "一個金釵之年的小女孩。",
        },
        {
          jh: "天龍寺",
          loc: "苍山山脚",
          name: "小男童",
          way: "jh 52;",
          desc: "一個垂髻之年的小男孩。",
        },
        {
          jh: "天龍寺",
          loc: "苍山山路",
          name: "羚牛",
          way: "jh 52;ne;ne;",
          desc: "蒼山特有,體形粗大,雌雄均具短角,分佈在蒼山麓密林地區。",
        },
        {
          jh: "天龍寺",
          loc: "苍山山路",
          name: "点苍派弟子",
          name_tw: "點蒼派弟子",
          way: "jh 52;ne;ne;n;",
          desc: "南詔「七大門派」之一,點蒼山明水秀,四季如春,門下弟子們從小拜師,在這環境中生長,大多數都是溫良如玉的君子,對名利都看得很淡。",
        },
        {
          jh: "天龍寺",
          loc: "苍山山路",
          name: "浮尘子",
          name_tw: "浮塵子",
          way: "jh 52;ne;ne;n;n;",
          desc: "點蒼派三大高手之一,仙風道骨。",
        },
        {
          jh: "天龍寺",
          loc: "苍山山路",
          name: "浮尘子分身",
          name_tw: "浮塵子分身",
          way: "jh 52;ne;ne;n;n;",
          desc: "浮塵子分身,咄咄逼人!",
        },
        {
          jh: "天龍寺",
          loc: "苍山山路",
          name: "云豹",
          name_tw: "雲豹",
          way: "jh 52;ne;ne;n;n;n;nw;",
          desc: "蒼山雲豹有著粗短而矯健的四肢,幾乎與身體一樣長而且很粗的尾巴。頭部略圓,口鼻突出,爪子非常大。體色金黃色,並覆蓋有大塊的深色雲狀斑紋,因此稱作“雲豹”。",
        },
        {
          jh: "天龍寺",
          loc: "苍山山路",
          name: "雯姑",
          way: "jh 52;ne;ne;n;n;n;nw;nw;",
          desc: "容貌國色天香,即使是嬌豔的花朵見了也要自愧不如。",
        },
        {
          jh: "天龍寺",
          loc: "苍山山路",
          name: "霞郎",
          way: "jh 52;ne;ne;n;n;n;nw;nw;",
          desc: "忠實善良,吃苦耐勞,心靈手巧,而且他的歌喉也美妙無比,歌聲像百靈一樣的婉轉,像夜鶯一般的悠揚。每當他唱起歌來的時候,山上的百鳥都會安靜下來,默默地傾聽他那美妙動人的歌聲。",
        },
        {
          jh: "天龍寺",
          loc: "苍山山路",
          name: "游客",
          name_tw: "遊客",
          way: "jh 52;ne;ne;n;n;n;nw;nw;n;n;",
          desc: "外地來蒼山的遊客,一副陶醉於美景之態。",
        },
        {
          jh: "天龍寺",
          loc: "苍山山路",
          name: "南诏公主",
          name_tw: "南詔公主",
          way: "jh 52;ne;ne;n;n;n;ne;ne;",
          desc: "她是身世撲搠的鄭氏南詔公主,從小就被送去水靈山險的苗疆由苗人撫養;她極擅苗人盅毒,並以此為趣。",
        },
        {
          jh: "天龍寺",
          loc: "苍山山路",
          name: "淩霄子",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;",
          desc: "點蒼劍派三大高手之一,揹負古劍,手持拂塵。",
        },
        {
          jh: "天龍寺",
          loc: "苍山山路",
          name: "淩霄子分身",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;",
          desc: "一個風程僕僕的俠客。",
        },
        {
          jh: "天龍寺",
          loc: "苍山山路",
          name: "点苍派弟子",
          name_tw: "點蒼派弟子",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;n;",
          desc: "南詔「七大門派」之一,點蒼山明水秀,四季如春,門下弟子們從小拜師,在這環境中生長,大多數都是溫良如玉的君子,對名利都看得很淡。",
        },
        {
          jh: "天龍寺",
          loc: "青石长阶",
          name: "枯叶蝶",
          name_tw: "枯葉蝶",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;n;n;n;",
          desc: "當它闔起兩張翅膀的時候,像生長在樹枝上的一張乾枯了的樹葉。誰也不注意它,誰也不會瞧它一眼。",
        },
        {
          jh: "天龍寺",
          loc: "青石长阶",
          name: "双尾褐凤蝶",
          name_tw: "雙尾褐鳳蝶",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;n;n;n;n;w;",
          desc: "前翅黑色有光澤,有淡黃色細橫帶自前緣直達中脈,後翅狹長黑色,外緣呈扇形。",
        },
        {
          jh: "天龍寺",
          loc: "青石长阶",
          name: "金斑啄凤蝶",
          name_tw: "金斑啄鳳蝶",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;n;n;n;n;w;nw;nw;n;",
          desc: "南疆八大名貴蝴蝶之首,大理當地人稱之為“夢幻蝴蝶”",
        },
        {
          jh: "天龍寺",
          loc: "青石长阶",
          name: "不孤子",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;n;n;n;n;w;nw;nw;n;n;",
          desc: "一個年近五旬的劍客,身世極為神秘,內力修為看起來極為深厚。",
        },
        {
          jh: "天龍寺",
          loc: "青石长阶",
          name: "不孤子分身",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;n;n;n;n;w;nw;nw;n;n;",
          desc: "哪怕是分身也爆發出強勁的內功氣場。",
        },
        {
          jh: "天龍寺",
          loc: "青石长阶",
          name: "玫瑰眼蝶",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;n;n;n;n;n;",
          desc: "全翅透明,薄若蟬翼,後翅膀為分散的玫瑰色,眼斑瞳仁上會反光。",
        },
        {
          jh: "天龍寺",
          loc: "牟尼楼",
          name: "打坐老僧",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;n;n;n;n;n;event_1_15863945;",
          desc: "一個打坐的老僧人,雙目緊閉,長眉下垂。",
        },
        {
          jh: "天龍寺",
          loc: "青石长阶",
          name: "谢逸紫",
          name_tw: "謝逸紫",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;n;n;n;n;n;n;n;",
          desc: "蒼山七劍之一,是雲南最出眾的女劍客,相貌出眾,身姿動人。",
        },
        {
          jh: "天龍寺",
          loc: "崇圣阁",
          name: "龙纹寺僧",
          name_tw: "龍紋寺僧",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;n;n;n;n;n;n;n;n;",
          desc: "天龍寺的老寺僧,前臂有飛龍紋身,地位較一般寺僧更高。",
        },
        {
          jh: "天龍寺",
          loc: "崇圣阁",
          name: "天龙方丈",
          name_tw: "天龍方丈",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;n;n;n;n;n;n;n;n;",
          desc: "天龍寺的方丈主持,白發白眉,面目慈祥。",
        },
        {
          jh: "天龍寺",
          loc: "险恶山路",
          name: "白开心",
          name_tw: "白開心",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;yell;sw;se;s;s;se;se;event_1_17214243;s;se;",
          desc: "十大惡人之一,一個喜歡搗蛋的聰明人。",
        },
        {
          jh: "天龍寺",
          loc: "险恶山路",
          name: "剧毒蟒蛇",
          name_tw: "劇毒蟒蛇",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;yell;sw;se;s;s;se;se;event_1_17214243;s;se;s;se;",
          desc: "惡人谷內的劇毒蟒蛇,見人就會攻擊。",
        },
        {
          jh: "天龍寺",
          loc: "村口",
          name: "屠娇娇",
          name_tw: "屠嬌嬌",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;yell;sw;se;s;s;se;se;event_1_17214243;s;se;s;se;se;",
          desc: "十大惡人之一,易容之術天下無雙。她的武功並不能算高超,但卻是十大惡人中最為智慧的,她是所有計劃的策動者,可說是算無遺策。",
        },
        {
          jh: "天龍寺",
          loc: "村口",
          name: "李大嘴",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;yell;sw;se;s;s;se;se;event_1_17214243;s;se;s;se;se;",
          desc: "十大惡人之一,卻是一個不折不扣的好人。",
        },
        {
          jh: "天龍寺",
          loc: "土路",
          name: "铁战",
          name_tw: "鐵戰",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;yell;sw;se;s;s;se;se;event_1_17214243;s;se;s;se;se;s;s;",
          desc: "十大惡人之一,對武學的癡迷到了忘我的境界,而且所研究的武功都讓人大跌眼鏡。",
        },
        {
          jh: "天龍寺",
          loc: "猛兽屋",
          name: "杜杀",
          name_tw: "杜殺",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;yell;sw;se;s;s;se;se;event_1_17214243;s;se;s;se;se;s;s;w;",
          desc: "大惡人之一,面白如雪,身材清瘦。性格說一不二,冷酷勝雪。武功位列十大惡人之首,由於殘忍嗜殺,江湖送名曰——「血手」。",
        },
        {
          jh: "天龍寺",
          loc: "大槐树",
          name: "轩辕三光",
          name_tw: "軒轅三光",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;yell;sw;se;s;s;se;se;event_1_17214243;s;se;s;se;se;s;s;s;s;e;",
          desc: "只要有好玩的事情,老賭鬼就會出現。",
        },
        {
          jh: "天龍寺",
          loc: "大槐树",
          name: "哈哈儿",
          name_tw: "哈哈兒",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;yell;sw;se;s;s;se;se;event_1_17214243;s;se;s;se;se;s;s;s;s;e;",
          desc: "最可怕的不是明眼的惡人,而是明裡笑臉相迎暗地裡磨刀霍霍的笑面虎。十大惡人之一的「笑裡藏刀小彌陀」。",
        },
        {
          jh: "天龍寺",
          loc: "土路",
          name: "恶虎",
          name_tw: "惡虎",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;yell;sw;se;s;s;se;se;event_1_17214243;s;se;s;se;se;s;s;s;s;s;s;",
          desc: "惡人谷內的兇獸,赤額金睛。",
        },
        {
          jh: "天龍寺",
          loc: "南山小院",
          name: "萧咪咪",
          name_tw: "蕭咪咪",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;yell;sw;se;s;s;se;se;event_1_17214243;s;se;s;se;se;s;s;s;s;s;s;w;",
          desc: "十大惡人之一,美豔無雙,和他在一起的男人都不會有好下場。",
        },
        {
          jh: "天龍寺",
          loc: "土路",
          name: "欧阳丁",
          name_tw: "歐陽丁",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;yell;sw;se;s;s;se;se;event_1_17214243;s;se;s;se;se;s;s;s;s;s;s;s;",
          desc: "十大惡人中唯一的兩兄弟,擁有著富可敵國的家財卻喜歡偷偷摸摸。",
        },
        {
          jh: "天龍寺",
          loc: "土路",
          name: "欧阳当",
          name_tw: "歐陽當",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;yell;sw;se;s;s;se;se;event_1_17214243;s;se;s;se;se;s;s;s;s;s;s;s;",
          desc: "十大惡人中唯一的兩兄弟,擁有著富可敵國的家財卻喜歡偷偷摸摸。",
        },
        {
          jh: "天龍寺",
          loc: "大鹳淜洲",
          name: "柴绍",
          name_tw: "柴紹",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;",
          desc: "出身於將門,自幼便矯捷有勇力,抑強扶弱,聞名天下。",
        },
        {
          jh: "天龍寺",
          loc: "大鹳淜洲",
          name: "李秀宁",
          name_tw: "李秀寧",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;",
          desc: "高祖李淵之女,太宗之妹,自幼習武,且精通琴棋書畫,有著舉世無雙的外交才能。",
        },
        {
          jh: "天龍寺",
          loc: "天龙塔林",
          name: "小沙弥",
          name_tw: "小沙彌",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;w;sw;s;s;",
          desc: "打掃塔林的小沙彌,身著灰色僧衣。",
        },
        {
          jh: "天龍寺",
          loc: "天龙塔林",
          name: "护塔僧兵",
          name_tw: "護塔僧兵",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;w;sw;s;s;sw;sw;",
          desc: "塔林的護衛僧兵,手持戒棍,一絲不苟。",
        },
        {
          jh: "天龍寺",
          loc: "天龙塔林",
          name: "护塔僧兵",
          name_tw: "護塔僧兵",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;w;sw;s;s;sw;sw;sw;se;",
          desc: "塔林的護衛僧兵,手持戒棍,一絲不苟。",
        },
        {
          jh: "天龍寺",
          loc: "天龙塔林",
          name: "小沙弥",
          name_tw: "小沙彌",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;w;sw;s;s;sw;sw;sw;se;se;se;",
          desc: "打掃塔林的小沙彌,身著灰色僧衣。",
        },
        {
          jh: "天龍寺",
          loc: "桃溪",
          name: "婠婠",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;e;ne;ne;n;n;n;ne;ne;nw;",
          desc: "魔門邪派陰癸派的繼承人,為武功超強的蓋代魔女,雖年紀輕輕,有著美麗的容顏,卻是陰癸派有史以來最強傳人。",
        },
        {
          jh: "天龍寺",
          loc: "慈航静斋",
          name: "周老叹",
          name_tw: "週老嘆",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;e;ne;ne;n;n;n;ne;ne;nw;ne;n;",
          desc: "前任魔門第一高手,邪帝向雨田的四大弟子之一。",
        },
        {
          jh: "天龍寺",
          loc: "慈航静斋",
          name: "尤鸟倦",
          name_tw: "尤鳥倦",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;e;ne;ne;n;n;n;ne;ne;nw;ne;n;",
          desc: "前任魔門第一高手,邪帝向雨田的四大弟子之一。",
        },
        {
          jh: "天龍寺",
          loc: "慈航静斋",
          name: "丁九重",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;e;ne;ne;n;n;n;ne;ne;nw;ne;n;",
          desc: "前任魔門第一高手,邪帝向雨田的四大弟子之一。",
        },
        {
          jh: "天龍寺",
          loc: "慈航静斋",
          name: "金环真",
          name_tw: "金環真",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;e;ne;ne;n;n;n;ne;ne;nw;ne;n;",
          desc: "前任魔門第一高手,邪帝向雨田的四大弟子之一。",
        },
        {
          jh: "天龍寺",
          loc: "静云小径",
          name: "符瑶红",
          name_tw: "符瑤紅",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;e;ne;ne;n;n;n;ne;ne;nw;ne;n;n;n;e;ne;",
          desc: "陰癸派第一高手「血手」厲工的師妹,擅長男女歡合之術。",
        },
        {
          jh: "天龍寺",
          loc: "藏典塔",
          name: "杨虚彦",
          name_tw: "楊虛彥",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;e;ne;ne;n;n;n;ne;ne;nw;ne;n;n;n;n;n;n;",
          desc: "隋文帝楊堅之孫,太子楊勇之子,隋煬帝楊廣即位之後被「邪王」所救,由於資質好被其收為徒,並答應為其報仇復國。他不過是石之軒陰暗面的投影,石之軒對他的重用象徵他邪惡的一面佔上風,對侯希白的疼愛象徵善良面的迴歸。",
        },
        {
          jh: "天龍寺",
          loc: "赏雨亭",
          name: "侯希白",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;e;ne;ne;n;n;n;ne;ne;nw;ne;n;n;n;n;n;n;",
          desc: "侯希白琴棋書畫、文韜武略樣樣精通,愛流連青樓,自詡為護花使者,綽號乃「多情公子」。傾慕慈航靜齋傳人師妃暄,兩人曾共遊三峽。雖然週旋於眾美之間,卻絕非好色風流之徒。",
        },
        {
          jh: "天龍寺",
          loc: "桃溪",
          name: "『闲钓』",
          name_tw: "『閒釣』",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;e;ne;ne;n;n;n;ne;",
          desc: "日常",
        },
        {
          jh: "天龍寺",
          loc: "后山茶园",
          name: "『采茶』",
          name_tw: "『採茶』",
          way: "jh 52;ne;ne;n;n;n;ne;ne;e;e;se;se;s;s;s;event_1_83417762;e;ne;ne;n;n;n;ne;ne;nw;ne;n;n;n;e;ne;e;ne;ne;",
          desc: "日常",
        },
      ];
      PLU.YFD.mapsLib.Npc_New = [
        { jh: "雪亭鎮", loc: "飲風客棧", id: "snow_wuyidashi", way: "jh 1" },
        {
          jh: "雪亭鎮",
          loc: "飲風客棧",
          id: "snow_xiaotangren",
          way: "jh 1",
        },
        { jh: "雪亭鎮", loc: "飲風客棧", id: "snow_guanggun", way: "jh 1" },
        { jh: "雪亭鎮", loc: "飲風客棧", id: "snow_mercenary", way: "jh 1" },
        { jh: "雪亭鎮", loc: "飲風客棧", id: "snow_chentang", way: "jh 1" },
        {
          jh: "雪亭鎮",
          loc: "飲風客棧",
          id: "snow_shuangdanshizhe",
          way: "jh 1",
        },
        {
          jh: "雪亭鎮",
          loc: "飲風客棧",
          id: "snow_zhounianxiaoer",
          way: "jh 1",
        },
        { jh: "雪亭鎮", loc: "飲風客棧", id: "snow_waiter", way: "jh 1" },
        { jh: "雪亭鎮", loc: "飲風客棧", id: "snow_jiandashi", way: "jh 1" },
        { jh: "雪亭鎮", loc: "廣場", id: "snow_worker", way: "jh 1;e" },
        { jh: "雪亭鎮", loc: "城隍廟", id: "snow_keeper", way: "jh 1;e;e" },
        {
          jh: "雪亭鎮",
          loc: "黃土小徑",
          id: "snow_dog",
          way: "jh 1;e;e;s;ne",
        },
        {
          jh: "雪亭鎮",
          loc: "山路",
          id: "snow_mengmianjianke",
          way: "jh 1;e;e;s;ne;ne",
        },
        {
          jh: "雪亭鎮",
          loc: "淳風武館大門",
          id: "snow_guard",
          way: "jh 1;e;n;e",
        },
        {
          jh: "雪亭鎮",
          loc: "淳風武館教練場",
          id: "snow_trainee",
          way: "jh 1;e;n;e;e",
        },
        {
          jh: "雪亭鎮",
          loc: "淳風武館教練場",
          id: "snow_fist_trainer",
          way: "jh 1;e;n;e;e",
        },
        {
          jh: "雪亭鎮",
          loc: "淳風武館大廳",
          id: "swordsman_master",
          way: "jh 1;e;n;e;e;e",
        },
        {
          jh: "雪亭鎮",
          loc: "書房",
          id: "snow_girl",
          way: "jh 1;e;n;e;e;e;e;n",
        },
        {
          jh: "雪亭鎮",
          loc: "雪亭鎮街道",
          id: "snow_drunk",
          way: "jh 1;e;n;n",
        },
        {
          jh: "雪亭鎮",
          loc: "雪亭鎮街道",
          id: "snow_scavenger",
          way: "jh 1;e;n;n",
        },
        {
          jh: "雪亭鎮",
          loc: "木屋",
          id: "snow_chefu",
          way: "jh 1;e;n;n;n;n;e",
        },
        {
          jh: "雪亭鎮",
          loc: "雪亭驛",
          id: "snow_dukuankuan",
          way: "jh 1;e;n;n;n;n;w",
        },
        {
          jh: "雪亭鎮",
          loc: "雪亭驛",
          id: "snow_post_officer",
          way: "jh 1;e;n;n;n;n;w",
        },
        {
          jh: "雪亭鎮",
          loc: "桑鄰藥鋪",
          id: "snow_herbalist",
          way: "jh 1;e;n;n;n;w",
        },
        {
          jh: "雪亭鎮",
          loc: "桑鄰藥鋪",
          id: "snow_woodcutter",
          way: "jh 1;e;n;n;n;w",
        },
        {
          jh: "雪亭鎮",
          loc: "打鐵鋪子",
          id: "snow_smith",
          way: "jh 1;e;n;n;w",
        },
        {
          jh: "雪亭鎮",
          loc: "安記錢莊",
          id: "snow_annihir",
          way: "jh 1;e;n;w",
        },
        {
          jh: "雪亭鎮",
          loc: "雪亭鎮街口",
          id: "gaibang_li-sh",
          way: "jh 1;e;s",
        },
        {
          jh: "雪亭鎮",
          loc: "雪亭鎮街道",
          id: "snow_farmer",
          way: "jh 1;e;s;w",
        },
        {
          jh: "雪亭鎮",
          loc: "雪亭鎮街道",
          id: "snow_old_farmer",
          way: "jh 1;e;s;w",
        },
        {
          jh: "雪亭鎮",
          loc: "書院",
          id: "snow_teacher",
          way: "jh 1;e;s;w;s",
        },
        {
          jh: "雪亭鎮",
          loc: "青石官道",
          id: "snow_crazy_dog",
          way: "jh 1;e;s;w;w",
        },
        {
          jh: "雪亭鎮",
          loc: "飲風客棧二樓",
          id: "snow_xinghedashi",
          way: "jh 1;雪亭鎮:飲風客棧^飲風客棧二樓",
        },
        {
          jh: "洛陽",
          loc: "礦場",
          id: "luoyang_kuangjian",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;w;w",
        },
        {
          jh: "洛陽",
          loc: "冶煉場",
          id: "luoyang_heshiwo",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;w;w;w",
        },
        {
          jh: "洛陽",
          loc: "南郊小路",
          id: "luoyang_luoyang18",
          way: "jh 2;n",
        },
        { jh: "洛陽", loc: "南門", id: "luoyang_luoyang21", way: "jh 2;n;n" },
        {
          jh: "洛陽",
          loc: "南市",
          id: "luoyang_luoyang13",
          way: "jh 2;n;n;e",
        },
        {
          jh: "洛陽",
          loc: "船塢",
          id: "luoyang_luoyang17",
          way: "jh 2;n;n;e;s;洛陽:洛水渡口^船塢",
        },
        { jh: "洛陽", loc: "南大街", id: "luoyang_yhsz", way: "jh 2;n;n;n" },
        {
          jh: "洛陽",
          loc: "南大街",
          id: "luoyang_luoyang24",
          way: "jh 2;n;n;n",
        },
        {
          jh: "洛陽",
          loc: "金刀門",
          id: "luoyang_luoyang27",
          way: "jh 2;n;n;n;e",
        },
        {
          jh: "洛陽",
          loc: "練武場",
          id: "luoyang_luoyang27",
          way: "jh 2;n;n;n;e;s",
        },
        {
          jh: "洛陽",
          loc: "練武場",
          id: "luoyang_luoyang16",
          way: "jh 2;n;n;n;e;s",
        },
        {
          jh: "洛陽",
          loc: "洛川街",
          id: "luoyang_luoyang26",
          way: "jh 2;n;n;n;n",
        },
        {
          jh: "洛陽",
          loc: "集市",
          id: "luoyang_luoyang26",
          way: "jh 2;n;n;n;n;e",
        },
        {
          jh: "洛陽",
          loc: "集市",
          id: "luoyang_luoyang12",
          way: "jh 2;n;n;n;n;e",
        },
        {
          jh: "洛陽",
          loc: "豬肉攤",
          id: "luoyang_luoyang14",
          way: "jh 2;n;n;n;n;e;s",
        },
        {
          jh: "洛陽",
          loc: "草屋",
          id: "luoyang_luoyang_fb8",
          way: "jh 2;n;n;n;n;n;e;e;n;n;e;n",
        },
        {
          jh: "洛陽",
          loc: "林間石階",
          id: "luoyang_luoyang_fb9",
          way: "jh 2;n;n;n;n;n;e;e;n;n;n",
        },
        {
          jh: "洛陽",
          loc: "登山小徑",
          id: "luoyang_luoyang_fb11",
          way: "jh 2;n;n;n;n;n;e;e;n;n;n;n",
        },
        {
          jh: "洛陽",
          loc: "松風亭",
          id: "luoyang_luoyang_fb9",
          way: "jh 2;n;n;n;n;n;e;e;n;n;n;n;e",
        },
        {
          jh: "洛陽",
          loc: "松風亭",
          id: "luoyang_lingyun",
          way: "jh 2;n;n;n;n;n;e;e;n;n;n;n;e",
        },
        {
          jh: "洛陽",
          loc: "松風亭",
          id: "luoyang_lingzhongtian",
          way: "jh 2;n;n;n;n;n;e;e;n;n;n;n;e",
        },
        {
          jh: "洛陽",
          loc: "白公墓",
          id: "luoyang_luoyang_fb12",
          way: "jh 2;n;n;n;n;n;e;e;n;n;n;n;n",
        },
        {
          jh: "洛陽",
          loc: "白公墓",
          id: "luoyang_heiyiwenshi",
          way: "jh 2;n;n;n;n;n;e;e;n;n;n;n;n",
        },
        {
          jh: "洛陽",
          loc: "墓道",
          id: "luoyang_luoyang_fb12",
          way: "jh 2;n;n;n;n;n;e;e;n;n;n;n;n;get_silver",
        },
        {
          jh: "洛陽",
          loc: "墓道",
          id: "luoyang_heiyiwenshi",
          way: "jh 2;n;n;n;n;n;e;e;n;n;n;n;n;get_silver",
        },
        {
          jh: "洛陽",
          loc: "聽伊亭",
          id: "luoyang_luoyang_fb10",
          way: "jh 2;n;n;n;n;n;e;e;n;n;n;w",
        },
        {
          jh: "洛陽",
          loc: "觀景台",
          id: "luoyang_luoyang_fb7",
          way: "jh 2;n;n;n;n;n;e;e;n;n;w",
        },
        {
          jh: "洛陽",
          loc: "富人莊院",
          id: "luoyang_luoyang26",
          way: "jh 2;n;n;n;n;n;e;n",
        },
        {
          jh: "洛陽",
          loc: "富人莊院",
          id: "luoyang_luoyang10",
          way: "jh 2;n;n;n;n;n;e;n",
        },
        {
          jh: "洛陽",
          loc: "儲藏室",
          id: "luoyang_luoyang26",
          way: "jh 2;n;n;n;n;n;e;n;op1",
        },
        {
          jh: "洛陽",
          loc: "儲藏室",
          id: "luoyang_luoyang10",
          way: "jh 2;n;n;n;n;n;e;n;op1",
        },
        {
          jh: "洛陽",
          loc: "青石街",
          id: "gaibang_lu",
          way: "jh 2;n;n;n;n;n;n;e",
        },
        {
          jh: "洛陽",
          loc: "北大街",
          id: "luoyang_luoyang3",
          way: "jh 2;n;n;n;n;n;n;n",
        },
        {
          jh: "洛陽",
          loc: "北大街",
          id: "luoyang_luoyang24",
          way: "jh 2;n;n;n;n;n;n;n",
        },
        {
          jh: "洛陽",
          loc: "錢莊",
          id: "luoyang_luoyang4",
          way: "jh 2;n;n;n;n;n;n;n;e",
        },
        {
          jh: "洛陽",
          loc: "北門",
          id: "luoyang_luoyang21",
          way: "jh 2;n;n;n;n;n;n;n;n",
        },
        {
          jh: "洛陽",
          loc: "北門",
          id: "luoyang_luoyang22",
          way: "jh 2;n;n;n;n;n;n;n;n",
        },
        {
          jh: "洛陽",
          loc: "北郊小路",
          id: "luoyang_luoyang19",
          way: "jh 2;n;n;n;n;n;n;n;n;n",
        },
        {
          jh: "洛陽",
          loc: "綠竹林",
          id: "luoyang_luoyang20",
          way: "jh 2;n;n;n;n;n;n;n;n;n;e",
        },
        {
          jh: "洛陽",
          loc: "綠竹雅舍",
          id: "luoyang_luoyang1",
          way: "jh 2;n;n;n;n;n;n;n;n;n;e;n",
        },
        {
          jh: "洛陽",
          loc: "清響齋",
          id: "luoyang_luoyang2",
          way: "jh 2;n;n;n;n;n;n;n;n;n;e;n;n",
        },
        {
          jh: "洛陽",
          loc: "密室",
          id: "luoyang_canjianloushouling",
          way: "jh 2;n;n;n;n;n;n;n;n;n;e;n;n;n",
        },
        {
          jh: "洛陽",
          loc: "沙石地",
          id: "changan_kanmenren",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;nw;w;sw;s",
        },
        {
          jh: "洛陽",
          loc: "石土場",
          id: "changan_qinguan",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;nw;w;sw;s;s",
        },
        {
          jh: "洛陽",
          loc: "沙石地",
          id: "changan_kanmenren",
          way: "jh 2;n;n;n;n;n;n;n;n;n;n;n;n;n;n;n;w;w;w;w;w;w;n;n;n;n;n;n;nw;w;sw;s;s;event_1_54329477;n",
        },
        {
          jh: "洛陽",
          loc: "城樓密室",
          id: "luoyang_luoyang23",
          way: "jh 2;n;n;n;n;n;n;n;n;w;洛陽:城樓^城樓密室",
        },
        {
          jh: "洛陽",
          loc: "當鋪",
          id: "luoyang_luoyang5",
          way: "jh 2;n;n;n;n;n;n;w",
        },
        {
          jh: "洛陽",
          loc: "馬廄",
          id: "luoyang_luoyang6",
          way: "jh 2;n;n;n;n;n;w;n;n;w",
        },
        {
          jh: "洛陽",
          loc: "牡丹園",
          id: "luoyang_luoyang7",
          way: "jh 2;n;n;n;n;n;w;s",
        },
        {
          jh: "洛陽",
          loc: "牡丹亭",
          id: "luoyang_luoyang8",
          way: "jh 2;n;n;n;n;n;w;s;luoyang111_op1",
        },
        {
          jh: "洛陽",
          loc: "賭坊大門",
          id: "luoyang_luoyang_fb3",
          way: "jh 2;n;n;n;n;n;w;w",
        },
        {
          jh: "洛陽",
          loc: "賭坊大廳",
          id: "luoyang_luoyang_fb4",
          way: "jh 2;n;n;n;n;n;w;w;n",
        },
        {
          jh: "洛陽",
          loc: "雅舍",
          id: "luoyang_luoyang_fb5",
          way: "jh 2;n;n;n;n;n;w;w;n;n;n;e",
        },
        {
          jh: "洛陽",
          loc: "銅駝巷",
          id: "luoyang_luoyang_fb3",
          way: "jh 2;n;n;n;n;w",
        },
        {
          jh: "洛陽",
          loc: "石街",
          id: "luoyang_luoyang_fb1",
          way: "jh 2;n;n;n;n;w;event_1_98995501;n",
        },
        {
          jh: "洛陽",
          loc: "石街",
          id: "luoyang_luoyang26",
          way: "jh 2;n;n;n;n;w;event_1_98995501;n",
        },
        {
          jh: "洛陽",
          loc: "酒肆",
          id: "luoyang_luoyang_fb2",
          way: "jh 2;n;n;n;n;w;event_1_98995501;n;n;e",
        },
        {
          jh: "洛陽",
          loc: "桃花別院",
          id: "luoyang_hongniang",
          way: "jh 2;n;n;n;n;w;s",
        },
        {
          jh: "洛陽",
          loc: "繡樓",
          id: "luoyang_luoyang9",
          way: "jh 2;n;n;n;n;w;s;w",
        },
        {
          jh: "洛陽",
          loc: "洛神廟",
          id: "luoyang_luoyang15",
          way: "jh 2;n;n;n;w",
        },
        {
          jh: "洛陽",
          loc: "地道",
          id: "luoyang_luoyang15",
          way: "jh 2;n;n;n;w;putuan",
        },
        { jh: "俠客島", loc: "", id: "luoyang_luoyang15", way: "" },
        {
          jh: "華山村",
          loc: "華山村村口",
          id: "huashancun_huashancun12",
          way: "jh 3",
        },
        {
          jh: "華山村",
          loc: "華山村村口",
          id: "taofan157799344",
          way: "jh 3",
        },
        {
          jh: "華山村",
          loc: "松林小徑",
          id: "huashancun_huashancun14",
          way: "jh 3;n",
        },
        {
          jh: "華山村",
          loc: "神女塚",
          id: "huashancun_huashancun19",
          way: "jh 3;n;e",
        },
        {
          jh: "華山村",
          loc: "青石街",
          id: "huashancun_huashancun12",
          way: "jh 3;s",
        },
        {
          jh: "華山村",
          loc: "青石街",
          id: "huashancun_popitouzi",
          way: "jh 3;s",
        },
        {
          jh: "華山村",
          loc: "碎石路",
          id: "huashancun_huashancun18",
          way: "jh 3;s;e",
        },
        {
          jh: "華山村",
          loc: "打鐵鋪",
          id: "taohua_fengmof",
          way: "jh 3;s;e;n",
        },
        {
          jh: "華山村",
          loc: "銀杏廣場",
          id: "huashancun_huashancun1",
          way: "jh 3;s;s",
        },
        {
          jh: "華山村",
          loc: "雜貨鋪",
          id: "huashancun_huashancun9",
          way: "jh 3;s;s;e",
        },
        {
          jh: "華山村",
          loc: "後院",
          id: "huashancun_huashancun17",
          way: "jh 3;s;s;e;s",
        },
        {
          jh: "華山村",
          loc: "車廂",
          id: "huashancun_huashancun3",
          way: "jh 3;s;s;e;s;huashancun24_op2",
        },
        {
          jh: "華山村",
          loc: "石闆橋",
          id: "huashancun_huashancun2",
          way: "jh 3;s;s;s",
        },
        {
          jh: "華山村",
          loc: "石闆橋",
          id: "huashancun_heigou",
          way: "jh 3;s;s;s",
        },
        {
          jh: "華山村",
          loc: "田間小路",
          id: "huashancun_huashancun16",
          way: "jh 3;s;s;s;s",
        },
        {
          jh: "華山村",
          loc: "油菜花地",
          id: "huashancun_huashancun20",
          way: "jh 3;s;s;s;s;huashancun15_op1",
        },
        {
          jh: "華山村",
          loc: "油菜花地",
          id: "huashancun_huashancun20",
          way: "jh 3;s;s;s;s;huashancun15_op1;event_1_46902878",
        },
        {
          jh: "華山村",
          loc: "蜿蜒山徑",
          id: "huashancun_huashancun_fb7",
          way: "jh 3;s;s;s;s;s;nw;n",
        },
        {
          jh: "華山村",
          loc: "清風寨大門",
          id: "huashancun_huashancun_fb8",
          way: "jh 3;s;s;s;s;s;nw;n;n",
        },
        {
          jh: "華山村",
          loc: "桃花泉",
          id: "huashancun_huashancun_fb9",
          way: "jh 3;s;s;s;s;s;nw;n;n;e",
        },
        {
          jh: "華山村",
          loc: "花房",
          id: "huashancun_huashancun_fb9",
          way: "jh 3;s;s;s;s;s;nw;n;n;e;get_silver",
        },
        {
          jh: "華山村",
          loc: "議事廳",
          id: "huashancun_huashancun_fb10",
          way: "jh 3;s;s;s;s;s;nw;n;n;n;n",
        },
        {
          jh: "華山村",
          loc: "後院",
          id: "huashancun_huashancun_fb11",
          way: "jh 3;s;s;s;s;s;nw;n;n;n;n;n",
        },
        {
          jh: "華山村",
          loc: "臥房",
          id: "huashancun_huashancun_fb12",
          way: "jh 3;s;s;s;s;s;nw;n;n;n;n;n;n",
        },
        {
          jh: "華山村",
          loc: "廂房",
          id: "huashancun_huashancun5",
          way: "jh 3;s;s;s;s;w;get_silver",
        },
        {
          jh: "華山村",
          loc: "大廳",
          id: "huashancun_huashancun_fb5",
          way: "jh 3;w;event_1_59520311;n;n;n;n;n",
        },
        {
          jh: "華山村",
          loc: "囚室",
          id: "huashancun_huashancun_fb4",
          way: "jh 3;w;event_1_59520311;n;n;w;get_silver",
        },
        {
          jh: "華山村",
          loc: "茶棚",
          id: "huashancun_huashancun13",
          way: "jh 3;w;n",
        },
        {
          jh: "華山",
          loc: "書房",
          id: "huashan_huashan6",
          way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n;e;n;n",
        },
        {
          jh: "華山",
          loc: "老君溝",
          id: "huashan_huashan11",
          way: "jh 4;n;n;n;n;n;n;e;n",
        },
        {
          jh: "華山",
          loc: "狹長通道",
          id: "huashan_huashan_fb5",
          way: "jh 4;n;n;n;n;n;n;n;event_1_91604710;s;s",
        },
        { jh: "華山", loc: "華山山腳", id: "huashan_huashan14", way: "jh 4" },
        { jh: "華山", loc: "莎蘿坪", id: "huashan_huashan1", way: "jh 4;n" },
        { jh: "華山", loc: "雲門", id: "huashan_huashan2", way: "jh 4;n;n" },
        {
          jh: "華山",
          loc: "青柯坪",
          id: "huashan_huashan9",
          way: "jh 4;n;n;n",
        },
        {
          jh: "華山",
          loc: "回心石",
          id: "huashan_huashan4",
          way: "jh 4;n;n;n;e",
        },
        {
          jh: "華山",
          loc: "蜿蜒山路",
          id: "huashan_huashan26",
          way: "jh 4;n;n;n;n;n;n",
        },
        {
          jh: "華山",
          loc: "蜿蜒山路",
          id: "huashan_huashan25",
          way: "jh 4;n;n;n;n;n;n",
        },
        {
          jh: "華山",
          loc: "群仙觀",
          id: "huashan_huashan7",
          way: "jh 4;n;n;n;n;n;n;e",
        },
        {
          jh: "華山",
          loc: "上天梯",
          id: "huashan_huashan27",
          way: "jh 4;n;n;n;n;n;n;n",
        },
        {
          jh: "華山",
          loc: "崎嶇山路",
          id: "huashan_huashan_fb4",
          way: "jh 4;n;n;n;n;n;n;n;event_1_91604710",
        },
        {
          jh: "華山",
          loc: "潭畔草地",
          id: "huashan_chengbuyou",
          way: "jh 4;n;n;n;n;n;n;n;event_1_91604710;s;s;s",
        },
        {
          jh: "華山",
          loc: "懸崖石洞",
          id: "huashan_fengbuping",
          way: "jh 4;n;n;n;n;n;n;n;event_1_91604710;s;s;s;s;e",
        },
        {
          jh: "華山",
          loc: "松林石徑",
          id: "huashan_huashan24",
          way: "jh 4;n;n;n;n;n;n;n;n",
        },
        {
          jh: "華山",
          loc: "朝陽峰山道",
          id: "huashan_huashan8",
          way: "jh 4;n;n;n;n;n;n;n;n;n",
        },
        {
          jh: "華山",
          loc: "長空棧道",
          id: "huashan_huashan_fb8",
          way: "jh 4;n;n;n;n;n;n;n;n;n;e",
        },
        {
          jh: "華山",
          loc: "臨淵石台",
          id: "huashan_huashan_fb9",
          way: "jh 4;n;n;n;n;n;n;n;n;n;e;n",
        },
        {
          jh: "華山",
          loc: "草叢小路",
          id: "huashan_huashan_fb10",
          way: "jh 4;n;n;n;n;n;n;n;n;n;e;n;n",
        },
        {
          jh: "華山",
          loc: "竹林",
          id: "huashan_huashan_fb11",
          way: "jh 4;n;n;n;n;n;n;n;n;n;e;n;n;n",
        },
        {
          jh: "華山",
          loc: "密洞",
          id: "zonshi_fengqingyang",
          way: "jh 4;n;n;n;n;n;n;n;n;n;e;n;n;n;e;s;event_1_11292200",
        },
        {
          jh: "華山",
          loc: "空地",
          id: "huashan_huashan_fb12",
          way: "jh 4;n;n;n;n;n;n;n;n;n;e;n;n;n;n",
        },
        {
          jh: "華山",
          loc: "小木屋",
          id: "huashan_huashan_fb13",
          way: "jh 4;n;n;n;n;n;n;n;n;n;e;n;n;n;n;e",
        },
        {
          jh: "華山",
          loc: "華山之巔",
          id: "huashan_xiaolinzi",
          way: "jh 4;n;n;n;n;n;n;n;n;n;e;n;n;n;n;n",
        },
        {
          jh: "華山",
          loc: "前院",
          id: "huashan_gao",
          way: "jh 4;n;n;n;n;n;n;n;n;n;n",
        },
        {
          jh: "華山",
          loc: "正氣堂",
          id: "huashan_yue",
          way: "jh 4;n;n;n;n;n;n;n;n;n;n;n",
        },
        {
          jh: "華山",
          loc: "後院",
          id: "huashan_huashan5",
          way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n",
        },
        {
          jh: "華山",
          loc: "花園",
          id: "huashan_liangfa",
          way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n;e",
        },
        {
          jh: "華山",
          loc: "長廊",
          id: "huashan_huashan21",
          way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n;e;s",
        },
        {
          jh: "華山",
          loc: "臥房",
          id: "huashan_huashan12",
          way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n;e;s;s",
        },
        {
          jh: "華山",
          loc: "凜然軒",
          id: "huashan_lao",
          way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n;n",
        },
        {
          jh: "華山",
          loc: "寢室",
          id: "huashan_lao",
          way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n;n;get_silver",
        },
        {
          jh: "華山",
          loc: "廚房",
          id: "huashan_huashan22",
          way: "jh 4;n;n;n;n;n;n;n;n;n;n;n;n;w",
        },
        {
          jh: "華山",
          loc: "練武場",
          id: "huashan_shi",
          way: "jh 4;n;n;n;n;n;n;n;n;n;n;w",
        },
        {
          jh: "華山",
          loc: "庫房入口",
          id: "huashan_huashan_fb1",
          way: "jh 4;n;n;n;n;n;n;n;n;n;n;w;event_1_30014247",
        },
        {
          jh: "華山",
          loc: "地道入口",
          id: "huashan_huashan_fb2",
          way: "jh 4;n;n;n;n;n;n;n;n;n;n;w;event_1_30014247;s;s;s;s",
        },
        {
          jh: "華山",
          loc: "密室",
          id: "huashan_huashan_fb3",
          way: "jh 4;n;n;n;n;n;n;n;n;n;n;w;event_1_30014247;s;s;s;s;s;e",
        },
        {
          jh: "華山",
          loc: "玉女祠",
          id: "huashan_yueling",
          way: "jh 4;n;n;n;n;n;n;n;n;w;s",
        },
        {
          jh: "華山",
          loc: "思過崖",
          id: "huashan_dayou",
          way: "jh 4;n;n;n;n;n;n;n;n;w;w",
        },
        {
          jh: "華山",
          loc: "山洞",
          id: "huashan_linghu",
          way: "jh 4;n;n;n;n;n;n;n;n;w;w;n",
        },
        {
          jh: "華山",
          loc: "石壁",
          id: "huashan_linghu",
          way: "jh 4;n;n;n;n;n;n;n;n;w;w;n;get_xiangnang2",
        },
        {
          jh: "華山",
          loc: "觀瀑台",
          id: "huashan_huashan18",
          way: "jh 4;n;n;w",
        },
        {
          jh: "揚州",
          loc: "飛雪堂",
          id: "yangzhou_yangzhou12",
          way: "jh 5;n;n;n;n;n;e;n;e;n;w;n;n",
        },
        {
          jh: "揚州",
          loc: "揚州港",
          id: "yangzhou_chuanyundongzhu",
          way: "jh 5;n;n;n;n;n;n;n;n;n;n;ne",
        },
        {
          jh: "揚州",
          loc: "醉仙樓大廳",
          id: "yangzhou_yangzhou_fb10",
          way: "jh 5;n;n;n;n;n;n;e",
        },
        {
          jh: "揚州",
          loc: "醉仙樓大廳",
          id: "yangzhou_shijiueseng",
          way: "jh 5;n;n;n;n;n;n;e",
        },
        {
          jh: "揚州",
          loc: "太平橋",
          id: "yangzhou_baihuzilaotou",
          way: "jh 5;n;w",
        },
        {
          jh: "揚州",
          loc: "太平橋",
          id: "yangzhou_jiangziya",
          way: "jh 5;n;w",
        },
        {
          jh: "揚州",
          loc: "小東門橋",
          id: "baidicheng_doulilaoren",
          way: "jh 5;n;e",
        },
        { jh: "揚州", loc: "安定門", id: "yangzhou_yangzhou16", way: "jh 5" },
        {
          jh: "揚州",
          loc: "十裡長街3",
          id: "yangzhou_yangzhou20",
          way: "jh 5;n;n",
        },
        {
          jh: "揚州",
          loc: "小寶齋",
          id: "yangzhou_yangzhou9",
          way: "jh 5;n;n;e",
        },
        {
          jh: "揚州",
          loc: "十裡長街2",
          id: "yangzhou_yangzhou19",
          way: "jh 5;n;n;n",
        },
        {
          jh: "揚州",
          loc: "武館大門",
          id: "yangzhou_yangzhou_fb1",
          way: "jh 5;n;n;n;e",
        },
        {
          jh: "揚州",
          loc: "武館大院",
          id: "yangzhou_yangzhou_fb2",
          way: "jh 5;n;n;n;e;n",
        },
        {
          jh: "揚州",
          loc: "武館大廳",
          id: "yangzhou_yangzhou_fb4",
          way: "jh 5;n;n;n;e;n;n",
        },
        {
          jh: "揚州",
          loc: "長廊",
          id: "yangzhou_yangzhou_fb5",
          way: "jh 5;n;n;n;e;n;n;n",
        },
        {
          jh: "揚州",
          loc: "書房",
          id: "yangzhou_yangzhou_fb7",
          way: "jh 5;n;n;n;e;n;n;n;e",
        },
        {
          jh: "揚州",
          loc: "臥室",
          id: "yangzhou_yangzhou_fb6",
          way: "jh 5;n;n;n;e;n;n;n;n",
        },
        {
          jh: "揚州",
          loc: "休息室",
          id: "yangzhou_yangzhou_fb2",
          way: "jh 5;n;n;n;e;n;n;w;n;get_silver",
        },
        {
          jh: "揚州",
          loc: "練武場",
          id: "yangzhou_yangzhou_fb2",
          way: "jh 5;n;n;n;e;n;w",
        },
        {
          jh: "揚州",
          loc: "練武場",
          id: "yangzhou_yangzhou_fb3",
          way: "jh 5;n;n;n;e;n;w",
        },
        {
          jh: "揚州",
          loc: "十裡長街1",
          id: "yangzhou_yangzhou2",
          way: "jh 5;n;n;n;n",
        },
        {
          jh: "揚州",
          loc: "中央廣場",
          id: "yangzhou_yangzhou1",
          way: "jh 5;n;n;n;n;n",
        },
        {
          jh: "揚州",
          loc: "中央廣場",
          id: "gaibang_kongkong",
          way: "jh 5;n;n;n;n;n",
        },
        {
          jh: "揚州",
          loc: "至止堂",
          id: "yangzhou_yangzhou17",
          way: "jh 5;n;n;n;n;n;e;n;n;n",
        },
        {
          jh: "揚州",
          loc: "庭院",
          id: "yangzhou_guanjia",
          way: "jh 5;n;n;n;n;n;e;n;n",
        },
        {
          jh: "揚州",
          loc: "十裡長街4",
          id: "yangzhou_yangzhou30",
          way: "jh 5;n;n;n;n;n;n",
        },
        {
          jh: "揚州",
          loc: "十裡長街4",
          id: "yangzhou_yangzhou5",
          way: "jh 5;n;n;n;n;n;n",
        },
        {
          jh: "揚州",
          loc: "十裡長街4",
          id: "yangzhou_yangzhou28",
          way: "jh 5;n;n;n;n;n;n",
        },
        {
          jh: "揚州",
          loc: "樓梯",
          id: "yangzhou_yangzhou_fb12",
          way: "jh 5;n;n;n;n;n;n;e;n",
        },
        {
          jh: "揚州",
          loc: "二樓大廳",
          id: "yangzhou_yangzhou_fb11",
          way: "jh 5;n;n;n;n;n;n;e;n;n",
        },
        {
          jh: "揚州",
          loc: "芍藥宴廳",
          id: "yangzhou_yangzhou_fb14",
          way: "jh 5;n;n;n;n;n;n;e;n;n;e",
        },
        {
          jh: "揚州",
          loc: "牡丹宴廳",
          id: "yangzhou_yangzhou_fb15",
          way: "jh 5;n;n;n;n;n;n;e;n;n;n",
        },
        {
          jh: "揚州",
          loc: "觀景台",
          id: "yangzhou_yangzhou_fb9",
          way: "jh 5;n;n;n;n;n;n;e;n;n;n;n",
        },
        {
          jh: "揚州",
          loc: "芙蓉宴廳",
          id: "yangzhou_yangzhou_fb13",
          way: "jh 5;n;n;n;n;n;n;e;n;n;w",
        },
        {
          jh: "揚州",
          loc: "十裡長街5",
          id: "yangzhou_yangzhou6",
          way: "jh 5;n;n;n;n;n;n;n",
        },
        {
          jh: "揚州",
          loc: "富春茶社",
          id: "tieflag_yunjiuxiao",
          way: "jh 5;n;n;n;n;n;n;n;e",
        },
        {
          jh: "揚州",
          loc: "富春茶社",
          id: "yangzhou_yangzhou22",
          way: "jh 5;n;n;n;n;n;n;n;e",
        },
        {
          jh: "揚州",
          loc: "雅舍",
          id: "tieflag_yunjiuxiao",
          way: "jh 5;n;n;n;n;n;n;n;e;get_silver",
        },
        {
          jh: "揚州",
          loc: "雅舍",
          id: "yangzhou_yangzhou22",
          way: "jh 5;n;n;n;n;n;n;n;e;get_silver",
        },
        {
          jh: "揚州",
          loc: "十裡長街6",
          id: "yangzhou_yangzhou23",
          way: "jh 5;n;n;n;n;n;n;n;n",
        },
        {
          jh: "揚州",
          loc: "東關街",
          id: "yangzhou_yangzhou24",
          way: "jh 5;n;n;n;n;n;n;n;n;n;e",
        },
        {
          jh: "揚州",
          loc: "鎮淮門 ",
          id: "yangzhou_yangzhou29",
          way: "jh 5;n;n;n;n;n;n;n;n;n;n",
        },
        {
          jh: "揚州",
          loc: "禪智寺山門",
          id: "yangzhou_yangzhou26",
          way: "jh 5;n;n;n;n;n;n;n;n;n;w;w;n",
        },
        {
          jh: "揚州",
          loc: "昆丘台",
          id: "yangzhou_yangzhou11",
          way: "jh 5;n;n;n;n;n;n;n;n;n;w;w;n;e",
        },
        {
          jh: "揚州",
          loc: "呂祖照面池",
          id: "yangzhou_yangzhou27",
          way: "jh 5;n;n;n;n;n;n;n;n;n;w;w;n;n;n;e",
        },
        {
          jh: "揚州",
          loc: "竹西亭",
          id: "yangzhou_yangzhou28",
          way: "jh 5;n;n;n;n;n;n;n;n;n;w;w;n;w",
        },
        {
          jh: "揚州",
          loc: "竹西亭",
          id: "yangzhou_yangzhou10",
          way: "jh 5;n;n;n;n;n;n;n;n;n;w;w;n;w",
        },
        {
          jh: "揚州",
          loc: "虹橋",
          id: "yangzhou_yangzhou31",
          way: "jh 5;n;n;n;n;n;n;n;n;w",
        },
        {
          jh: "揚州",
          loc: "草河北街",
          id: "yangzhou_yangzhou13",
          way: "jh 5;n;n;n;n;n;n;n;n;w;w",
        },
        {
          jh: "揚州",
          loc: "魁星閣",
          id: "yangzhou_yangzhou12",
          way: "jh 5;n;n;n;n;n;n;n;n;w;w;n",
        },
        {
          jh: "揚州",
          loc: "閣樓",
          id: "yangzhou_lilijun",
          way: "jh 5;n;n;n;n;n;n;n;n;w;w;n;get_silver",
        },
        {
          jh: "揚州",
          loc: "淺月樓",
          id: "yangzhou_qingyimenwei",
          way: "jh 5;n;n;n;n;n;n;n;n;w;w;w",
        },
        {
          jh: "揚州",
          loc: "淺月樓大廳",
          id: "yangzhou_qingyimenwei",
          way: "jh 5;n;n;n;n;n;n;n;n;w;w;w;s",
        },
        {
          jh: "揚州",
          loc: "二樓走道",
          id: "yangzhou_qingyimenwei",
          way: "jh 5;n;n;n;n;n;n;n;n;w;w;w;s;e",
        },
        {
          jh: "揚州",
          loc: "淺月樓偏廳",
          id: "yangzhou_qingyimenwei",
          way: "jh 5;n;n;n;n;n;n;n;n;w;w;w;s;w",
        },
        {
          jh: "揚州",
          loc: "廣陵當鋪",
          id: "yangzhou_yangzhou7",
          way: "jh 5;n;n;n;n;n;n;n;w",
        },
        {
          jh: "揚州",
          loc: "武廟",
          id: "yangzhou_yangzhou21",
          way: "jh 5;n;n;n;n;n;n;w",
        },
        {
          jh: "揚州",
          loc: "武廟",
          id: "yangzhou_miaozhu",
          way: "jh 5;n;n;n;n;n;n;w",
        },
        {
          jh: "揚州",
          loc: "武廟",
          id: "snow_gangdu",
          way: "jh 5;n;n;n;n;n;n;w",
        },
        {
          jh: "揚州",
          loc: "通泗橋",
          id: "gumu_limochou",
          way: "jh 5;n;n;n;n;n;w",
        },
        {
          jh: "揚州",
          loc: "衙門大門",
          id: "yangzhou_yangzhou_fb16",
          way: "jh 5;n;n;n;n;n;w;w;n",
        },
        {
          jh: "揚州",
          loc: "正堂",
          id: "yangzhou_yangzhou_fb18",
          way: "jh 5;n;n;n;n;n;w;w;n;n;n",
        },
        {
          jh: "揚州",
          loc: "內室",
          id: "yangzhou_yangzhou_fb18",
          way: "jh 5;n;n;n;n;n;w;w;n;n;n;get_silver",
        },
        {
          jh: "揚州",
          loc: "天井",
          id: "yangzhou_yangzhou_fb17",
          way: "jh 5;n;n;n;n;n;w;w;n;n;w",
        },
        {
          jh: "揚州",
          loc: "玉器店",
          id: "yangzhou_yangzhou14",
          way: "jh 5;n;n;n;n;n;w;w;s;s",
        },
        {
          jh: "揚州",
          loc: "彥明錢莊",
          id: "yangzhou_yangzhou3",
          way: "jh 5;n;n;n;n;w",
        },
        {
          jh: "揚州",
          loc: "彥明錢莊",
          id: "yangzhou_xiaofeizei",
          way: "jh 5;n;n;n;n;w",
        },
        {
          jh: "揚州",
          loc: "銀庫",
          id: "yangzhou_yangzhou18",
          way: "jh 5;n;n;n;n;w;yangzhou16_op1",
        },
        {
          jh: "揚州",
          loc: "黃記雜貨",
          id: "yangzhou_yangzhou4",
          way: "jh 5;n;n;n;w",
        },
        {
          jh: "揚州",
          loc: "鐵匠鋪",
          id: "yangzhou_yangzhou25",
          way: "jh 5;n;n;w",
        },
        {
          jh: "揚州",
          loc: "花店",
          id: "yangzhou_yangzhou15",
          way: "jh 5;n;w;w;n",
        },
        { jh: "丐幫", loc: "樹洞內部", id: "gaibang_qiu-wan", way: "jh 6" },
        { jh: "丐幫", loc: "樹洞內部", id: "gaibang_zuo-qu", way: "jh 6" },
        {
          jh: "丐幫",
          loc: "樹洞下",
          id: "gaibang_liang",
          way: "jh 6;event_1_98623439",
        },
        {
          jh: "丐幫",
          loc: "暗道",
          id: "huashancun_cangjianloushouling",
          way: "jh 6;event_1_98623439;ne;n",
        },
        {
          jh: "丐幫",
          loc: "屋角邊",
          id: "gaibang_he-bj",
          way: "jh 6;event_1_98623439;ne;n;ne;ne",
        },
        {
          jh: "丐幫",
          loc: "谷場槐樹邊",
          id: "gaibang_ma-jw",
          way: "jh 6;event_1_98623439;ne;n;ne;ne;ne",
        },
        {
          jh: "丐幫",
          loc: "沙丘小洞",
          id: "gaibang_yu-hx",
          way: "jh 6;event_1_98623439;ne;n;ne;ne;ne;event_1_97428251",
        },
        {
          jh: "丐幫",
          loc: "暗道",
          id: "gaibang_mo-bu",
          way: "jh 6;event_1_98623439;ne;ne",
        },
        {
          jh: "丐幫",
          loc: "儲藏室",
          id: "gaibang_huo-du",
          way: "jh 6;event_1_98623439;s",
        },
        {
          jh: "丐幫",
          loc: "密室",
          id: "zonshi_jiejiufeng",
          way: "jh 6;event_1_98623439;s;w",
        },
        {
          jh: "喬陰縣",
          loc: "樹王墳",
          id: "choyin_shadow",
          way: "jh 3;s;s;s;;kill?黑狗;@黑狗的屍體;jh 7;event_1_57435070;s;s;s;s;event_1_65599392",
        },
        {
          jh: "喬陰縣",
          loc: "喬陰縣城北門",
          id: "choyin_cityguard",
          way: "jh 3;s;s;s;;kill?黑狗;@黑狗的屍體;jh 7;event_1_57435070",
        },
        {
          jh: "喬陰縣",
          loc: "喬陰縣城北門",
          id: "obj_garrison",
          way: "jh 3;s;s;s;;kill?黑狗;@黑狗的屍體;jh 7;event_1_57435070",
        },
        {
          jh: "喬陰縣",
          loc: "喬陰縣城北門",
          id: "choyin_ghost",
          way: "jh 3;s;s;s;;kill?黑狗;@黑狗的屍體;jh 7;event_1_57435070",
        },
        {
          jh: "喬陰縣",
          loc: "石闆空地",
          id: "choyin_cangjianlouxuezhe",
          way: "jh 7;s;s;s;w",
        },
        {
          jh: "喬陰縣",
          loc: "休息室",
          id: "choyin_cangjianlouzhanglao",
          way: "jh 7;s;s;s;s;s;s;e;n;n;e",
        },
        {
          jh: "喬陰縣",
          loc: "喬陰縣城北門",
          id: "choyin_cityguard",
          way: "jh 7",
        },
        {
          jh: "喬陰縣",
          loc: "喬陰縣城北門",
          id: "choyin_ghost",
          way: "jh 7",
        },
        {
          jh: "喬陰縣",
          loc: "福林大街",
          id: "choyin_cake_vendor",
          way: "jh 7;s",
        },
        { jh: "喬陰縣", loc: "福林大街", id: "obj_garrison", way: "jh 7;s" },
        {
          jh: "喬陰縣",
          loc: "福林大街",
          id: "zonshi_lujiuyou",
          way: "jh 7;s",
        },
        { jh: "喬陰縣", loc: "福林大街", id: "beggar_master", way: "jh 7;s" },
        {
          jh: "喬陰縣",
          loc: "福林大街",
          id: "choyin_dumpling_seller",
          way: "jh 7;s;s;s",
        },
        {
          jh: "喬陰縣",
          loc: "樹王墳內部",
          id: "choyin_guairen",
          way: "jh 7;s;s;s;s;event_1_65599392;w",
        },
        {
          jh: "喬陰縣",
          loc: "福林酒樓",
          id: "choyin_sergeant",
          way: "jh 7;s;s;s;s;s;s;e",
        },
        {
          jh: "喬陰縣",
          loc: "福林酒樓",
          id: "choyin_boss",
          way: "jh 7;s;s;s;s;s;s;e",
        },
        {
          jh: "喬陰縣",
          loc: "福林酒樓",
          id: "choyin_youngman",
          way: "jh 7;s;s;s;s;s;s;e;n",
        },
        {
          jh: "喬陰縣",
          loc: "福林酒樓",
          id: "choyin_servant",
          way: "jh 7;s;s;s;s;s;s;e;n",
        },
        {
          jh: "喬陰縣",
          loc: "福林酒樓",
          id: "choyin_guard",
          way: "jh 7;s;s;s;s;s;s;e;n;n",
        },
        {
          jh: "喬陰縣",
          loc: "曲橋",
          id: "choyin_scholar",
          way: "jh 7;s;s;s;s;s;s;s;s;e",
        },
        {
          jh: "喬陰縣",
          loc: "曲橋",
          id: "choyin_girl",
          way: "jh 7;s;s;s;s;s;s;s;s;e;n;e",
        },
        {
          jh: "喬陰縣",
          loc: "曲橋",
          id: "choyin_maid",
          way: "jh 7;s;s;s;s;s;s;s;s;e;n;e",
        },
        {
          jh: "喬陰縣",
          loc: "曼雲台",
          id: "scholar_master",
          way: "jh 7;s;s;s;s;s;s;s;s;e;n;e;s;e",
        },
        {
          jh: "喬陰縣",
          loc: "火龍將軍廟",
          id: "choyin_crone",
          way: "jh 7;s;s;s;s;s;s;s;sw;w",
        },
      ];

      PLU.YFD.gemPrefix = [
        "碎裂的",
        "裂開的",
        "",
        "無暇的",
        "完美的",
        "君王的",
        "皇帝的",
        "天神的",
      ];
      PLU.YFD.gemType = [
        {
          name: "紅寶石",
          key: "hongbaoshi",
          color: "#F00",
        },
        {
          name: "黃寶石",
          key: "huangbaoshi",
          color: "#FA0",
        },
        {
          name: "綠寶石",
          key: "lvbaoshi",
          color: "#0C0",
        },
        {
          name: "藍寶石",
          key: "lanbaoshi",
          color: "#00F",
        },
        {
          name: "紫寶石",
          key: "zishuijing",
          color: "#F0F",
        },
      ];
      PLU.YFD.qixiaList = [
        "宇文無敵",
        "李玄霸",
        "夏嶽卿",
        "玄月研",
        "穆妙羽",
        "烈九州",
        "厲滄若",
        "八部龍將",
        "妙無心",
        "巫夜姬",
        "狼居胥",
        "風行騅",
        "風無痕",
        "吳縝",
        "狐蒼雁",
        "護竺",
        "李宇飛",
        "龐統",
        "逆風舞",
        "王蓉",
        "浪喚雨",
        "火雲邪神",
        "風南",
        "郭濟",
        "步驚鴻",
      ];
      PLU.YFD.qixiaFriend = [
        { name: "宇文無敵", skillFN: 40000 },
        { name: "李玄霸", skillFN: 40000 },
        { name: "夏嶽卿", skillFN: 40000 },
        { name: "玄月研", skillFN: 40000 },
        { name: "穆妙羽", skillFN: 40000 },
        { name: "烈九州", skillFN: 40000 },
        { name: "厲滄若", skillFN: 40000 },
        { name: "八部龍將", skillFN: 40000 },
        { name: "妙無心", skillFN: 40000 },
        { name: "巫夜姬", skillFN: 40000 },
        { name: "狼居胥", skillFN: 40000 },
        { name: "風行騅", skillFN: 40000 },
        { name: "風無痕", skillFN: 40000 },
        { name: "吳縝", skillFN: 40000 },
        { name: "狐蒼雁", skillFN: 35000 },
        { name: "護竺", skillFN: 35000 },
        { name: "李宇飛", skillFN: 25000 },
        { name: "龐統", skillFN: 25000 },
        { name: "逆風舞", skillFN: 25000 },
        { name: "王蓉", skillFN: 25000 },
        { name: "浪喚雨", skillFN: 25000 },
        { name: "火雲邪神", skillFN: 25000 },
        { name: "風南", skillFN: 25000 },
        { name: "郭濟", skillFN: 25000 },
        { name: "步驚鴻", skillFN: 25000 },
      ];
      PLU.YFD.youxiaList = [
        {
          n: "門客",
          v: [
            "王語嫣",
            "範蠡",
            "程靈素",
            "水靈光",
            "霍青桐",
            "石青璇",
            "李紅袖",
            "宋玉緻",
            "華佗",
            "魯妙子",
            "顧倩兮",
            "水笙",
            "林仙兒",
            "郭襄",
            "程瑛",
            "任盈盈",
            "阿朱",
            "袁紫衣",
            "趙敏",
            "小昭",
            "韋小寶",
          ],
        },
        {
          n: "邪武",
          v: [
            "林遠圖",
            "厲工",
            "金輪法王",
            "鳩摩智",
            "上官金虹",
            "封寒",
            "卓淩昭",
            "厲若海",
            "乾羅",
            "孫恩",
            "婠婠",
            "練霓裳",
            "成昆",
            "侯希白",
            "夜魔",
          ],
        },
        {
          n: "俠客",
          v: [
            "0柯鎮惡",
            "哈瑪雅",
            "喬峰",
            "盧雲",
            "虛竹",
            "徐子陵",
            "虛夜月",
            "雲夢璃",
            "花無缺",
            "風行烈",
            "黃藥師",
            "洪七公",
            "石破天",
            "寧不凡",
            "獨孤求敗",
          ],
        },
        { n: "魔尊", v: ["龐斑", "楊肅觀", "歐陽鋒", "葉孤城", "燕狂徒"] },
        { n: "宗師", v: ["宋缺", "逍遙子", "李尋歡", "令東來", "楚留香"] },
      ];
      PLU.YFD.youxiaSkillMap = [
        {
          skill: "長春不老功",
          name: "逍遙子",
          kind: "宗師",
          type: "內功",
          pre: [
            {
              skill: "龍象般若功",
              name: "金輪法王",
              kind: "邪武",
              type: "內功",
              lvl: 40,
            },
            {
              skill: "紫血大法",
              name: "厲工",
              kind: "邪武",
              type: "內功",
              lvl: 40,
            },
          ],
        },
        {
          skill: "九陰逆",
          name: "歐陽鋒",
          kind: "魔尊",
          type: "內功",
          pre: [
            {
              skill: "白首太玄經",
              name: "石破天",
              kind: "俠客",
              type: "內功",
              lvl: 40,
            },
            {
              skill: "彈指神通",
              name: "黃藥師",
              kind: "俠客",
              type: "掌法",
              lvl: 40,
            },
          ],
        },
        {
          skill: "鳳舞九天",
          name: "宮九",
          kind: "魔尊",
          type: "輕功",
          pre: [
            {
              skill: "天魔妙舞",
              name: "婠婠",
              kind: "邪武",
              type: "輕功",
              lvl: 120,
            },
            {
              skill: "雲夢歸月",
              name: "雲夢璃",
              kind: "俠客",
              type: "輕功",
              lvl: 120,
            },
            {
              skill: "飛鴻鞭法",
              name: "哈瑪雅",
              kind: "俠客",
              type: "鞭法",
              lvl: 120,
            },
            {
              skill: "踏月留香",
              name: "楚留香",
              kind: "宗師",
              type: "輕功",
              lvl: 120,
              pre: [
                {
                  skill: "天魔妙舞",
                  name: "婠婠",
                  kind: "邪武",
                  type: "輕功",
                  lvl: 40,
                },
                {
                  skill: "雲夢歸月",
                  name: "雲夢璃",
                  kind: "俠客",
                  type: "輕功",
                  lvl: 40,
                },
                {
                  skill: "降魔杖法",
                  name: "0柯鎮惡",
                  kind: "俠客",
                  type: "杖法",
                  lvl: 40,
                },
                {
                  skill: "飛鴻鞭法",
                  name: "哈瑪雅",
                  kind: "俠客",
                  type: "鞭法",
                  lvl: 40,
                },
              ],
            },
          ],
        },
        {
          skill: "無劍之劍",
          name: "白雲天",
          kind: "宗師",
          type: "劍法",
          pre: [
            {
              skill: "天魔妙舞",
              name: "婠婠",
              kind: "邪武",
              type: "輕功",
              lvl: 120,
            },
            {
              skill: "神劍慧芒",
              name: "卓淩昭",
              kind: "邪武",
              type: "劍法",
              lvl: 120,
            },
            {
              skill: "不凡三劍",
              name: "寧不凡",
              kind: "俠客",
              type: "劍法",
              lvl: 120,
            },
            {
              skill: "天外飛仙",
              name: "葉孤城",
              kind: "魔尊",
              type: "劍法",
              lvl: 120,
              pre: [
                {
                  skill: "紫虛辟邪劍",
                  name: "林遠圖",
                  kind: "邪武",
                  type: "劍法",
                  lvl: 40,
                },
                {
                  skill: "神劍慧芒",
                  name: "卓淩昭",
                  kind: "邪武",
                  type: "劍法",
                  lvl: 40,
                },
                {
                  skill: "不凡三劍",
                  name: "寧不凡",
                  kind: "俠客",
                  type: "劍法",
                  lvl: 40,
                },
              ],
            },
          ],
        },
        {
          skill: "披羅紫氣",
          name: "伍定遠",
          kind: "宗師",
          type: "掌法",
          pre: [
            {
              skill: "雲夢歸月",
              name: "雲夢璃",
              kind: "俠客",
              type: "輕功",
              lvl: 120,
            },
            {
              skill: "降龍廿八掌",
              name: "喬峰",
              kind: "俠客",
              type: "掌法",
              lvl: 120,
            },
            {
              skill: "彈指神通",
              name: "黃藥師",
              kind: "俠客",
              type: "掌法",
              lvl: 120,
            },
            {
              skill: "天魔策",
              name: "龐斑",
              kind: "魔尊",
              type: "掌法",
              lvl: 120,
              pre: [
                {
                  skill: "降龍廿八掌",
                  name: "喬峰",
                  kind: "俠客",
                  type: "掌法",
                  lvl: 40,
                },
                {
                  skill: "無相六陽掌",
                  name: "虛竹",
                  kind: "俠客",
                  type: "掌法",
                  lvl: 40,
                },
                {
                  skill: "折花百式",
                  name: "侯希白",
                  kind: "邪武",
                  type: "掌法",
                  lvl: 40,
                },
                {
                  skill: "釋迦拈花指",
                  name: "鳩摩智",
                  kind: "邪武",
                  type: "掌法",
                  lvl: 40,
                },
              ],
            },
          ],
        },
        {
          skill: "火貪一刀",
          name: "方子敬",
          kind: "魔尊",
          type: "刀法",
          pre: [
            {
              skill: "天魔妙舞",
              name: "婠婠",
              kind: "邪武",
              type: "輕功",
              lvl: 120,
            },
            {
              skill: "左手刀法",
              name: "封寒",
              kind: "邪武",
              type: "刀法",
              lvl: 120,
            },
            {
              skill: "移花接玉刀",
              name: "花無缺",
              kind: "俠客",
              type: "刀法",
              lvl: 120,
            },
            {
              skill: "天刀八訣",
              name: "宋缺",
              kind: "宗師",
              type: "刀法",
              lvl: 120,
              pre: [
                {
                  skill: "左手刀法",
                  name: "封寒",
                  kind: "邪武",
                  type: "刀法",
                  lvl: 40,
                },
                {
                  skill: "移花接玉刀",
                  name: "花無缺",
                  kind: "俠客",
                  type: "刀法",
                  lvl: 40,
                },
              ],
            },
          ],
        },
        {
          skill: "天雷落",
          name: "石剛",
          kind: "魔尊",
          type: "暗器",
          pre: [
            {
              skill: "雲夢歸月",
              name: "雲夢璃",
              kind: "俠客",
              type: "輕功",
              lvl: 120,
            },
            {
              skill: "九字真言印",
              name: "徐子陵",
              kind: "俠客",
              type: "暗器",
              lvl: 120,
            },
            {
              skill: "九星定形針",
              name: "練霓裳",
              kind: "邪武",
              type: "暗器",
              lvl: 120,
            },
            {
              skill: "小李飛刀",
              name: "李尋歡",
              kind: "宗師",
              type: "暗器",
              lvl: 120,
              pre: [
                {
                  skill: "九字真言印",
                  name: "徐子陵",
                  kind: "俠客",
                  type: "暗器",
                  lvl: 40,
                },
                {
                  skill: "九星定形針",
                  name: "練霓裳",
                  kind: "邪武",
                  type: "暗器",
                  lvl: 40,
                },
                {
                  skill: "子母龍鳳環",
                  name: "上官金虹",
                  kind: "邪武",
                  type: "暗器",
                  lvl: 40,
                },
              ],
            },
          ],
        },
        {
          skill: "孤帆鞭影",
          name: "陸孤瞻",
          kind: "魔尊",
          type: "鞭法",
          pre: [
            {
              skill: "彈指神通",
              name: "黃藥師",
              kind: "俠客",
              type: "掌法",
              lvl: 120,
            },
            {
              skill: "降魔杖法",
              name: "0柯鎮惡",
              kind: "俠客",
              type: "杖法",
              lvl: 120,
            },
            {
              skill: "飛鴻鞭法",
              name: "哈瑪雅",
              kind: "俠客",
              type: "鞭法",
              lvl: 120,
            },
            {
              skill: "冰玄鞭法",
              name: "乾羅",
              kind: "邪武",
              type: "鞭法",
              lvl: 120,
            },
          ],
        },
        {
          skill: "無雙連錘",
          name: "瓦耳拉齊",
          kind: "魔尊",
          type: "錘法",
          pre: [
            {
              skill: "游龍劍",
              name: "孫恩",
              kind: "邪武",
              type: "劍法",
              lvl: 120,
            },
            {
              skill: "幻陰指錘",
              name: "成昆",
              kind: "邪武",
              type: "錘法",
              lvl: 120,
            },
            {
              skill: "正道十七",
              name: "盧雲",
              kind: "俠客",
              type: "錘法",
              lvl: 120,
            },
            {
              skill: "玉石俱焚",
              name: "燕狂徒",
              kind: "魔尊",
              type: "錘法",
              lvl: 120,
              pre: [
                {
                  skill: "幻陰指錘",
                  name: "成昆",
                  kind: "邪武",
                  type: "錘法",
                  lvl: 40,
                },
                {
                  skill: "正道十七",
                  name: "盧雲",
                  kind: "俠客",
                  type: "錘法",
                  lvl: 40,
                },
              ],
            },
          ],
        },
        {
          skill: "暗山神斧",
          name: "0六先生",
          kind: "魔尊",
          type: "斧法",
          pre: [
            {
              skill: "雲夢歸月",
              name: "雲夢璃",
              kind: "俠客",
              type: "輕功",
              lvl: 120,
            },
            {
              skill: "彈指神通",
              name: "黃藥師",
              kind: "俠客",
              type: "掌法",
              lvl: 120,
            },
            {
              skill: "降魔杖法",
              name: "0柯鎮惡",
              kind: "俠客",
              type: "杖法",
              lvl: 120,
            },
            {
              skill: "獨孤斧訣",
              name: "獨孤求敗",
              kind: "俠客",
              type: "斧法",
              lvl: 120,
            },
          ],
        },
        {
          skill: "六道輪迴",
          name: "楊肅觀",
          kind: "魔尊",
          type: "斧法",
          pre: [
            {
              skill: "天魔妙舞",
              name: "婠婠",
              kind: "邪武",
              type: "輕功",
              lvl: 40,
            },
            {
              skill: "青冥血斧",
              name: "夜魔",
              kind: "邪武",
              type: "斧法",
              lvl: 40,
            },
            {
              skill: "獨孤斧訣",
              name: "獨孤求敗",
              kind: "俠客",
              type: "斧法",
              lvl: 40,
            },
          ],
        },
        {
          skill: "溫候戟舞",
          name: "韓毅",
          kind: "魔尊",
          type: "槍法",
          pre: [
            {
              skill: "彈指神通",
              name: "黃藥師",
              kind: "俠客",
              type: "掌法",
              lvl: 120,
            },
            {
              skill: "冰月破魔槍",
              name: "風行烈",
              kind: "俠客",
              type: "槍法",
              lvl: 120,
            },
            {
              skill: "燎原百擊",
              name: "厲若海",
              kind: "邪武",
              type: "槍法",
              lvl: 120,
            },
            {
              skill: "神龍東來",
              name: "令東來",
              kind: "宗師",
              type: "槍法",
              lvl: 120,
              pre: [
                {
                  skill: "冰月破魔槍",
                  name: "風行烈",
                  kind: "俠客",
                  type: "槍法",
                  lvl: 40,
                },
                {
                  skill: "燎原百擊",
                  name: "厲若海",
                  kind: "邪武",
                  type: "槍法",
                  lvl: 40,
                },
                {
                  skill: "月夜鬼蕭",
                  name: "虛夜月",
                  kind: "俠客",
                  type: "棍法",
                  lvl: 40,
                },
              ],
            },
          ],
        },
      ];
      PLU.YFD.QuestAnsLibs["首次通过桥阴县不可以获得那种奖励?"] = "a";
      PLU.YFD.QuestAnsLibs["黯然消魂掌有多少招式?"] = "c";
      PLU.YFD.QuestAnsLibs["论剑一次最多能突破几个技能"] = "c";
      PLU.YFD.QuestAnsLibs["每个玩家最多能有多少个好友"] = "a";
    },
    //================================================================================================
    init() {
      this.accId = UTIL.getAccId();
      // 是否爲開發者
      this.devmode =
        (UTIL.getMem("CACHE") && JSON.parse(UTIL.getMem("CACHE")).developer) ||
        ["8429379(1)", "8432668(1)", "8432667(1)", "8432616(1)"].includes(
          this.accId,
        );
      if (this.devmode) {
        UTIL.addSysListener("developer", (b, type, subtype, msg) => {
          if (type && type == "attrs_changed") return;
          if (type && type == "channel" && subtype == "rumor") return;
          console.log(b);
        });
      }
      this.initMenu();
      this.initTickTime();
      this.initStorage();
      this.initHistory();
      this.initSocketMsgEvent();
      this.initVersion();

      addEventListener("keydown", (key) => {
        if (key.altKey || key.ctrlKey || key.metaKey || key.shiftKey) return; // 不考慮組合鍵
        if (document.activeElement && document.activeElement.tagName == "INPUT")
          return;
        switch (key.keyCode) {
          case 81: // q
            clickButton("nw");
            break;
          case 87: // w
            clickButton("n");
            break;
          case 69: // e
            clickButton("ne");
            break;
          case 65: // a
            clickButton("w");
            break;
          case 83: // s
            clickButton("s");
            break;
          case 68: // d
            clickButton("e");
            break;
          case 90: // z
            clickButton("sw");
            break;
          case 67: // c
            clickButton("se");
            break;
        }
      });
    },

    //================================================================================================
    initVersion() {
      this.nickName = g_obj_map.get("msg_attrs").get("name");
      YFUI.writeToOut(
        `<span style='color:yellow;'>
        +===========================+
        ${_("脚本名称: 无剑Mud辅助", "腳本名稱:無劍Mud輔助")}
        ${_("脚本开发", "腳本開發")}:燕飞,東方鳴
        ${_("脚本版本:", "腳本版本:")}${this.version}
        ${_("当前角色:", "當前角色:")}${this.nickName}${
          this.devmode ? _("(已开启开发者模式)", "(已開啓開發者模式)") : ""
        }
        角 色 ID :${this.accId}
        +===========================+</span>`,
      );
      YFUI.writeToOut(
        "<span style='color:#FFF;'>" + _("监听设定", "監聽設定") + ":</span>",
      );
      let autosets = "";
      if (PLU.getCache("autoDZ") == 1)
        autosets += _("连续打坐,", "連續打坐, ");
      if (PLU.getCache("autoHYC") == 1)
        autosets += _("连续睡床,", "連續睡床, ");
      if (PLU.getCache("auto9H") == 1)
        autosets += _("持续九花,", "持續九花,");
      if (PLU.getCache("autoDY") == 1)
        autosets += _("持续钓鱼,", "持續釣魚,");
      if (PLU.getCache("autoLX") == 1)
        autosets += _("连续练习,", "連續練習, ");
      if (PLU.getCache("autoBF") == 1)
        autosets += _("加入帮四,", "加入幫四, ");
      if (PLU.getCache("autoB6") == 1)
        autosets += _("加入帮六,", "加入幫六, ");
      if (PLU.getCache("autoB5F") == 1)
        autosets += _("帮五跟杀,", "幫五跟殺, ");
      YFUI.writeToOut("<span style='color:#CFF;'>" + autosets + "</span>");
      if (PLU.getCache("autoTP") == 1) {
        YFUI.writeToOut(
          "<span style='color:#CFF;'>" +
            _("自动突破", "自動突破") +
            ": <span style='color:#FF9;'>" +
            PLU.getCache("autoTP_keys") +
            "</span></span>",
        );
      }
      if (PLU.getCache("listenQL") == 1) {
        YFUI.writeToOut(
          "<span style='color:#CFF;'>" +
            _("自动青龙", "自動青龍") +
            ": <span style='color:#FF9;'>" +
            PLU.getCache("listenQL_keys") +
            "</span></span>",
        );
      }
      if (PLU.getCache("listenKFQL") == 1) {
        YFUI.writeToOut(
          "<span style='color:#CFF;'>" +
            _("跨服青龙", "跨服青龍") +
            ": <span style='color:#FF9;'>" +
            PLU.getCache("listenKFQL_keys") +
            "</span></span>",
        );
      }
      if (PLU.getCache("listenTF") == 1) {
        YFUI.writeToOut(
          "<span style='color:#CFF;'>" +
            _("自动逃犯", "自動逃犯") +
            ": <span style='color:#FF9;'>" +
            PLU.getCache("listenTF_keys") +
            "</span></span>",
        );
      }
      if (!g_gmain.is_fighting) {
        PLU.getSkillsList((allSkills, tupoSkills) => {
          if (tupoSkills.length > 0) {
            YFUI.writeToOut("<span style='color:white;'>突破中技能:</span>");
            let topos = "";
            tupoSkills.forEach((sk, i) => {
              topos +=
                "<span style='color:#CCF;min-width:100px;display:inline-block;'>" +
                (i + 1) +
                " : " +
                sk.name +
                "</span>";
            });
            YFUI.writeToOut("<span style='color:#CCF;'> " + topos + "</span>");
            YFUI.writeToOut(
              "<span style='color:yellow;'>+------------------------------+</span>",
            );
          } else {
            YFUI.writeToOut(
              "<span style='color:white;'>突破中技能: " +
                _("无", "無") +
                "</span>",
            );
            YFUI.writeToOut(
              "<span style='color:yellow;'>+------------------------------+</span>",
            );
          }
          let lxSkill = g_obj_map.get("msg_attrs")?.get("practice_skill") || 0;
          if (lxSkill) {
            let sk = allSkills.find((s) => s.key == lxSkill);
            if (sk) {
              YFUI.writeToOut(
                "<span style='color:white;'>" +
                  _("练习中的技能", "練習中技能") +
                  ": <span style='color:#F0F;'>" +
                  sk.name +
                  "</span> (" +
                  sk.level +
                  ")</span>",
              );
              YFUI.writeToOut(
                "<span style='color:yellow;'>+------------------------------+</span>",
              );
            }
          } else {
            YFUI.writeToOut(
              "<span style='color:white;'>" +
                _("练习中的技能:无", "練習中技能:無") +
                "</span>",
            );
            YFUI.writeToOut(
              "<span style='color:yellow;'>+------------------------------+</span>",
            );
          }
        });
      }
    },
    //================================================================================================
    initSocketMsgEvent() {
      if (!gSocketMsg) {
        console.log(
          "%c%s",
          "background:#C33;color:#FFF;",
          " ERROR:Not found gSocketMsg!! ",
        );
        return;
      }
      var YFBackupDispatchMsg = gSocketMsg.dispatchMessage;
      gSocketMsg.YFBackupDispatchMsg = YFBackupDispatchMsg;
      gSocketMsg.dispatchMessage = (b) => {
        gSocketMsg.YFBackupDispatchMsg(b);
        let type = b.get("type");
        let subtype = b.get("subtype");
        let msg = b.get("msg");
        UTIL.sysDispatchMsg(b, type, subtype, msg);
      };

      PLU.initListeners();
      if (unsafeWindow.clickButton) {
        PLU.Base64 = new Base64();
        var proxy_clickButton = unsafeWindow.clickButton;
        unsafeWindow.clickButton = function () {
          let args = arguments;
          if (PLU.devmode) {
            console.log(args);
          }
          // 解除聊天屏蔽,對非腳本玩家可用
          if (PLU.devmode && args[0].indexOf("chat ") == 0) {
            let msg = args[0].substring(5);
            for (var PATTERN of KEYWORD_PATTERNS)
              msg = msg.replace(PATTERN, (s) => Array.from(s).join("\f"));
            proxy_clickButton("chat " + msg);
          }
          // 解除四海商店限制
          else if (
            (args[0].indexOf("reclaim recl ") == 0 ||
              args[0].indexOf("reclaim buy ") == 0) &&
            !args[0].match(" page ")
          ) {
            let cmd = args[0].match(/^reclaim (recl|buy) (\d+) (go )?(.+)$/);
            if (cmd[1]) {
              let n = Number(cmd[2]);
              switch (cmd[1]) {
                case "recl":
                  for (; n > 50000; n -= 50000) {
                    proxy_clickButton(`reclaim recl 50000 go ${cmd[4]}`, 1);
                  }
                  proxy_clickButton(`reclaim recl ${n} go ${cmd[4]}`, 1);
                  break;
                case "buy":
                  for (; n > 50000; n -= 50000) {
                    proxy_clickButton(`reclaim buy 50000 go ${cmd[4]}`, 1);
                  }
                  proxy_clickButton(`reclaim buy ${n} go ${cmd[4]}`, 1);
                  break;
              }
            }
          } else {
            proxy_clickButton(...args);
          }
          if (PLU.TMP.leaderTeamSync) {
            PLU.commandTeam(args);
          }
        };
      }
    },

    //================================================================================================
    initMenu() {
      YFUI.init();
      YFUI.addBtn({
        id: "ro",
        text: _("▲隐", "▲隱"),
        style: {
          width: "30px",
          opacity: ".6",
          background: "#333",
          color: "#FFF",
          border: "1px solid #CCC",
          borderRadius: "8px 0 0 0",
        },
        onclick($btn) {
          $("#pluginMenus").toggle();
          $("#pluginMenus").is(":hidden")
            ? $btn.text(_("▼显", "▼顯"))
            : $btn.text(_("▲隐", "▲隱"));
          $(".menu").hide();
        },
      });
      YFUI.addBtnGroup({ id: "pluginMenus" });
      //Paths
      let PathsArray = [];
      PathsArray.push({
        id: "bt_home",
        groupId: "pluginMenus",
        text: _("首页", "首頁"),
        style: { background: "#FFFF99", padding: "5px 2px", width: "40px" },
        onclick(e) {
          $(".menu").hide();
          PLU.STATUS.isBusy = false;
          clickButton("home", 1);
        },
      });
      let citysArray = PLU.YFD.cityList.map((c, i) => {
        return { id: "bt_jh_" + (i + 1), text: c, extend: "jh " + (i + 1) };
      });
      PathsArray.push({
        id: "bt_citys",
        text: _("地图", "地圖"),
        style: { background: "#FFE", width: "40px", padding: "5px 2px" },
        menuStyle: { width: "240px", "margin-top": "-25px" },
        children: citysArray,
      });

      function qlxl() {}
      let qlArray = PLU.YFD.qlList.map((p, i) => {
        return {
          id: "bt_ql_" + (i + 1),
          text: p.n,
          extend: p.v,
          style: { "background-color": "#CFF" },
        };
      });
      if (PLU.devmode)
        qlArray.push({
          id: "bt_ql_xunluo",
          text: _("巡逻", "巡邏"),
          extend: { func: PLU.qlxl },
          style: { "background-color": "#CFF" },
        });
      PathsArray.push({
        id: "bt_qls",
        text: _("青龙", "青龍"),
        style: { background: "#DFF", width: "40px", padding: "5px 2px" },
        menuStyle: { width: "160px", "margin-top": "-50px" },
        children: qlArray,
      });

      let mjArray = PLU.YFD.mjList.map((p, i) => {
        return {
          id: "bt_mj_" + (i + 1),
          text: p.n,
          extend: p.v,
          style: { "background-color": "#EFD" },
        };
      });
      PathsArray.push({
        id: "bt_mjs",
        text: "秘境",
        style: { background: "#EFD", width: "40px", padding: "5px 2px" },
        menuStyle: { width: "160px", "margin-top": "-75px" },
        children: mjArray,
      });
      PLU.autoChushi = () => {
        let family =
          g_obj_map.get("msg_attrs") &&
          g_obj_map.get("msg_attrs").get("family_name");
        let master = PLU.YFD.masterList
          .slice(0, 32)
          .find((e) => e.in == family);
        if (master == undefined) return;
        let npc = PLU.queryNpc("^" + master.npc.slice(-1)[0] + "$", true);
        if (!npc.length) return;
        let way = npc[0].way;
        //PLU.ONOFF["bt_kg_teamSync"] = 0;
        PLU.execActions(way, () => {
          let npc = UTIL.findRoomNpcReg("^" + master.npc.slice(-1)[0] + "$");
          if (!npc) return;
          let key = npc.key;
          PLU.execActions("apprentice " + key, () => {
            PLU.autoFight({
              targetKey: key,
              fightKind: "fight",
              autoSkill: "multi",
              onEnd() {
                PLU.execActions("chushi " + key, () => {
                  if (family == "鐵雪山莊")
                    PLU.execActions("chushi resort_master");
                });
              },
              onFail() {
                PLU.autoFight({
                  targetKey: key,
                  fightKind: "chushi",
                  autoSkill: "multi",
                  onEnd() {
                    PLU.execActions("chushi " + key);
                  },
                });
              },
            });
          });
        });
      };
      let masterArray = PLU.YFD.masterList.map((p, i) => {
        if (i == 32)
          return {
            id: "bt_master_33",
            text: p.n,
            extend: p.v,
            style: {
              "background-color": "#FBB",
              width: "88px",
              padding: "5px 2px",
            },
          };
        let colr = i < 10 ? "#FCF" : i < 20 ? "#CFF" : "#FFC";
        return {
          id: "bt_master_" + (i + 1),
          text: p.n,
          children: (() => {
            if (!PLU.devmode) return [];
            return [
              {
                id: "bt_master_" + (i + 1) + "_0",
                text: "拜入" + p.n,
                extend: {
                  func: () => {
                    send_prompt(
                      " 是否確定要加入" + p.in + "\n\n\n\n",
                      "home apprentice " + p.in,
                      "確定",
                      0,
                    );
                  },
                },
                style: { "background-color": colr },
              },
            ];
          })().concat(
            p.npc.map((name, j) => {
              return {
                id: "bt_master_" + (i + 1) + "_" + (j + 1),
                text: name.split("@").slice(-1)[0],
                extend: PLU.queryNpc(name + "道", true)[0].way,
                style: { "background-color": colr },
              };
            }),
          ),
          style: {
            "background-color": colr,
            width: "40px",
            padding: "5px 2px",
          },
          menuStyle: (function () {
            if (i & 1) return { right: "101px", width: "160px" };
            return { width: "160px" };
          })(),
        };
      });
      PathsArray.push({
        id: "bt_masters",
        text: _("师门", "師門"),
        style: { background: "#FCF", width: "40px", padding: "5px 2px" },
        menuStyle: { width: "96px", "margin-top": "-125px" },
        children: masterArray,
      });

      let dailyArray = PLU.YFD.dailyList.map((p, i) => {
        let colr = i < 6 ? "#FFC" : i < 20 ? "#FCF" : "#CFF";
        return {
          id: "bt_daily_" + (i + 1),
          text: p.n,
          extend: p.v,
          style: { "background-color": colr },
        };
      });
      PathsArray.push({
        id: "bt_daily",
        text: "日常",
        style: { background: "#FED", width: "40px", padding: "5px 2px" },
        menuStyle: { width: "160px", "margin-top": "-125px" },
        children: dailyArray,
      });

      let usualArray = PLU.YFD.usualList.map((p, i) => {
        let sty = p.style || { "background-color": "#CDF" };
        return {
          id: "bt_usual_" + (i + 1),
          text: p.n,
          extend: p.v,
          style: sty,
        };
      });
      PathsArray.push({
        id: "bt_usual",
        text: "常用",
        style: { background: "#CDF", width: "40px", padding: "5px 2px" },
        menuStyle: { width: "160px", "margin-top": "-150px" },
        children: usualArray,
      });

      let cts = [],
        libCity = PLU.YFD.mapsLib.Npc.filter((e) => {
          if (!cts.includes(e.jh)) {
            cts.push(e.jh);
            return true;
          }
          return false;
        }).map((e) => e.jh);
      let queryJHMenu = libCity.map((c, i) => {
        return {
          id: "bt_queryjh_" + (i + 1),
          text: c,
          style: {
            width: "50px",
            whiteSpace: "nowrap",
            overflow: "hidden",
            fontSize: "12px",
          },
          extend: { func: PLU.queryJHMenu, param: c },
        };
      });
      let queryArray = [
        {
          id: "bt_queryJHList",
          text: _("章节", "章節"),
          children: queryJHMenu,
          style: { width: "40px", "background-color": "#9ED" },
          menuStyle: { width: "180px", "margin-top": "-180px" },
        },
        {
          id: "bt_queryHistory",
          text: _("历史", "歷史"),
          style: { width: "40px", "background-color": "#FDD" },
          extend: { func: PLU.toQueryHistory },
        },
        {
          id: "bt_queryNpc",
          text: _("寻人", "尋人"),
          style: { width: "40px", "background-color": "#FDD" },
          extend: { func: PLU.toQueryNpc },
        },
        {
          id: "bt_pathNpc",
          text: _("扫图", "掃圖"),
          style: { width: "40px", "background-color": "#FE9" },
          extend: { func: PLU.toPathNpc },
        },
      ];
      if (PLU.devmode) {
        queryArray.push({
          id: "bt_pathNpc",
          text: _("谜题", "謎題"),
          style: { width: "40px", "background-color": "#FE9" },
          extend: { func: PLU.toQueryMiTi },
        });
      }
      PathsArray.push({
        id: "bt_query",
        text: "查找",
        style: { background: "#9ED", width: "40px", padding: "5px 2px" },
        menuStyle: { "margin-top": "-30px" },
        children: queryArray,
      });
      YFUI.addMenu({
        id: "m_paths",
        groupId: "pluginMenus",
        text: _("导航", "導航"),
        style: { width: "40px", padding: "5px 2px" },
        multiCol: true,
        menuStyle: { width: "80px", "margin-top": "-25px" },
        children: PathsArray,
        onclick($btn, $box) {
          if ($btn.$extend) {
            $(".menu").hide();
            if ($btn.$extend.func) {
              if ($btn.$extend.param)
                $btn.$extend.func($btn, $btn.$extend.param);
              else $btn.$extend.func($btn);
              return;
            }
            PLU.execActions($btn.$extend, () => {
              if ($btn.text() == "去哈日") PLU.goHaRi();
              if ($btn.text() == "杭界山") PLU.goHJS();
            });
            // clickButton($btn.$extend)
          }
        },
      });
      let somethingArray = [];
      somethingArray.push({
        id: "bt_autoTeach",
        text: _("传授技能", "傳授技能"),
        extend: { func: PLU.toAutoTeach },
        style: { background: "#BFF" },
      });
      somethingArray.push({
        id: "bt_autoUpgrade",
        text: _("升级游侠", "升級遊俠"),
        extend: { func: PLU.toAutoUpgrade },
        style: { background: "#BFF" },
      });
      somethingArray.push({
        id: "hr_null2",
        text: "",
        style: { display: "none" },
        boxStyle: { display: "block", height: "5px" },
      });
      somethingArray.push({
        id: "bt_autoLearn",
        text: _("一键学习", "一鍵學習"),
        extend: { func: PLU.toAutoLearn },
        style: { background: "#FBF" },
      });
      somethingArray.push({
        id: "bt_autoChuaiMo",
        text: _("自动揣摩", "自動揣摩"),
        extend: { func: PLU.toAutoChuaiMo },
        style: { background: "#FBF" },
      });
      somethingArray.push({
        id: "hr_null2",
        text: "",
        style: { display: "none" },
        boxStyle: { display: "block", height: "5px" },
      });
      somethingArray.push({
        id: "bt_loopScript",
        text: _("循环执行", "循環執行"),
        extend: { func: PLU.toLoopScript },
        style: { background: "#FBB" },
      });
      somethingArray.push({
        id: "bt_loopKillByN",
        text: _("计数击杀", "計數擊殺"),
        extend: { func: PLU.toLoopKillByN },
        style: { background: "#FBB" },
      });
      somethingArray.push({
        id: "bt_waitCDKill",
        text: _("倒计时杀", "倒計時殺"),
        extend: { func: PLU.toWaitCDKill },
        style: { background: "#FBB" },
      });

      somethingArray.push({
        id: "bt_loopKillName",
        text: _("名字连杀", "名字連殺"),
        extend: { func: PLU.toLoopKillName },
        style: { background: "#FBB" },
      });
      somethingArray.push({
        id: "bt_loopClick",
        text: _("自动点击", "自動點擊"),
        extend: { func: PLU.toLoopClick },
        style: { background: "#FBB" },
      });
      somethingArray.push({
        id: "bt_loopSlowClick",
        text: _("慢速点击", "慢速點擊"),
        extend: { func: PLU.toLoopSlowClick },
        style: { background: "#FBB" },
      });
      somethingArray.push({
        id: "hr_null2",
        text: "",
        style: { display: "none" },
        boxStyle: { display: "block", height: "5px" },
      });
      somethingArray.push({
        id: "bt_sellLaji",
        text: "批量出售",
        extend: { func: PLU.toSellLaji },
        style: { background: "#DEF" },
      });
      somethingArray.push({
        id: "bt_splitItem",
        text: "批量分解",
        extend: { func: PLU.toSplitItem },
        style: { background: "#DEF" },
      });
      somethingArray.push({
        id: "bt_putStore",
        text: _("批量入库", "批量入庫"),
        extend: { func: PLU.toPutStore },
        style: { background: "#DEF" },
      });
      somethingArray.push({
        id: "bt_autoUse",
        text: "批量使用",
        extend: { func: PLU.toAutoUse },
        style: { background: "#DEF" },
      });
      somethingArray.push({
        id: "bt_combineGem",
        text: _("合成宝石", "合成寶石"),
        extend: { func: PLU.openCombineGem },
        style: { background: "#DEF" },
      });
      somethingArray.push({
        id: "bt_autoMasterGem",
        text: _("一键合天神", "一鍵合天神"),
        extend: { func: PLU.autoMasterGem },
        style: { background: "#DEF" },
      });
      somethingArray.push({
        id: "hr_null2",
        text: "",
        style: { display: "none" },
        boxStyle: { display: "block", height: "5px" },
      });
      somethingArray.push({
        id: "bt_autoXTL1",
        text: "刷琅嬛玉洞",
        extend: { func: PLU.autoXTL1 },
        style: { background: "#FED" },
      });
      somethingArray.push({
        id: "bt_autoXTL2",
        text: "刷山崖",
        extend: { func: PLU.autoXTL2 },
        style: { background: "#FED" },
      });
      somethingArray.push({
        id: "bt_autoERG",
        text: "刷恶人谷",
        extend: { func: PLU.autoERG },
        style: { background: "#FED" },
      });
      if (PLU.devmode)
        somethingArray.push({
          id: "bt_searchBangQS",
          text: _("扫暴击", "掃暴擊"),
          extend: { func: PLU.scanPuzzle },
          style: { background: "#BBF" },
        });
      somethingArray.push({
        id: "hr_null2",
        text: "",
        style: { display: "none" },
        boxStyle: { display: "block", height: "5px" },
      });
      somethingArray.push({
        id: "bt_autoGetKey",
        text: _("自动捡钥匙", "自動撿鑰匙"),
        extend: { func: PLU.toAutoGetKey },
        style: { background: "#EBC" },
      });
      somethingArray.push({
        id: "bt_autoMoke",
        text: _("一键摹刻", "一鍵摹刻"),
        extend: { func: PLU.toAutoMoke },
        style: { background: "#EFD" },
      });
      somethingArray.push({
        id: "bt_autoKillZYY",
        text: "刷祝玉妍",
        extend: { func: PLU.toAutoKillZYY },
        style: { background: "#FBF" },
      });
      somethingArray.push({
        id: "bt_autoJHYL",
        text: "九花原料",
        extend: { func: PLU.buyJHYL },
        style: { background: "#DEF" },
      });
      somethingArray.push({
        id: "bt_checkYouxia",
        text: _("技能检查", "技能檢查"),
        extend: { func: PLU.checkYouxia },
        style: { background: "#DEF" },
      });
      somethingArray.push({
        id: "bt_loopReadBase",
        text: _("读技能书", "讀技能書"),
        extend: { func: PLU.toLoopReadBase },
        style: { background: "#FBB" },
      });
      somethingArray.push({
        id: "bt_searchBangQS",
        text: _("搜帮派任务", "搜幫派任務"),
        extend: { func: PLU.toSearchBangQS },
        style: { background: "#BBF" },
      });
      // somethingArray.push({id:"bt_autoFB11", text:"自動本11", extend:{func:PLU.toAutoFB11}, style:{background:"#FC9"}})
      YFUI.addMenu({
        id: "m_autoDoSomething",
        groupId: "pluginMenus",
        text: _("自动", "自動"),
        style: { width: "40px" },
        multiCol: true,
        menuStyle: { width: "160px", "margin-top": "-61px" },
        children: somethingArray,
        onclick($btn, $box) {
          if ($btn.$extend) {
            $(".menu").hide();
            $btn.$extend.func($btn);
          }
        },
      });
      //listens
      let listensArray = [];
      listensArray.push({
        id: "bt_autoBF",
        text: _("自动帮四", "自動幫四"),
        extend: { key: "autoBF" },
        style: { background: "#EDC" },
      });
      listensArray.push({
        id: "bt_autoB6",
        text: _("自动帮六", "自動幫六"),
        extend: { key: "autoB6" },
        style: { background: "#ECD" },
      });
      listensArray.push({
        id: "bt_autoB5F",
        text: _("帮五跟杀", "幫五跟殺"),
        extend: { key: "autoB5F" },
        style: { background: "#CEF" },
      });
      listensArray.push({
        id: "bt_autoDZ",
        text: _("持续打坐", "持續打坐"),
        extend: { key: "autoDZ" },
        style: { background: "#CEC" },
      });
      listensArray.push({
        id: "bt_autoHYC",
        text: _("持续睡床", "持續睡床"),
        extend: { key: "autoHYC" },
        style: { background: "#CEC" },
      });
      listensArray.push({
        id: "bt_auto9H",
        text: _("持续九花", "持續九花"),
        extend: { key: "auto9H" },
        style: { background: "#CEC" },
      });
      listensArray.push({
        id: "bt_autoLX",
        text: _("持续练习", "持續練習"),
        extend: { key: "autoLX" },
        style: { background: "#CEC" },
      });
      listensArray.push({
        id: "bt_autoTP",
        text: _("持续突破", "持續突破"),
        extend: { key: "autoTP" },
        style: { background: "#BEF" },
      });
      listensArray.push({
        id: "bt_autoDY",
        text: _("持续钓鱼", "持續釣魚"),
        extend: { key: "autoDY" },
        style: { background: "#CEC" },
      });
      listensArray.push({
        id: "bt_autoQuitTeam",
        text: _("进塔离队", "進塔離隊"),
        extend: { key: "autoQuitTeam" },
        style: { background: "#EEF" },
      });
      if (PLU.devmode)
        listensArray.push({
          id: "bt_autoSignIn",
          text: _("定時签到", "定時簽到"),
          extend: { key: "autoSignIn" },
          style: { background: "#BEF" },
        });
      listensArray.push({
        id: "bt_autoConnect",
        text: _("自动重连", "自動重連"),
        extend: { key: "autoConnect" },
        style: { background: "#FED" },
      });
      listensArray.push({
        id: "hr_listen",
        text: "",
        style: { width: "160px", opacity: 0 },
        boxStyle: { "font-size": 0 },
      });
      listensArray.push({
        id: "bt_listenQL",
        text: _("本服青龙", "本服青龍"),
        extend: { key: "listenQL" },
      });
      listensArray.push({
        id: "bt_listenKFQL",
        text: _("跨服青龙", "跨服青龍"),
        extend: { key: "listenKFQL" },
      });
      listensArray.push({
        id: "bt_listenYX",
        text: "遊俠",
        extend: { key: "listenYX" },
      });
      listensArray.push({
        id: "bt_listenTF",
        text: "夜魔逃犯",
        extend: { key: "listenTF" },
      });
      if (PLU.devmode)
        listensArray.push({
          id: "bt_listenPuzzle",
          text: _("谜题", "謎題"),
          extend: { key: "listenPuzzle" },
        });
      else {
        PLU.setCache("listenPuzzle", 0);
        PLU.TMP.autotask = false;
      }
      listensArray.push({
        id: "bt_listenChat",
        text: _("闲聊", "閒聊"),
        extend: { key: "listenChat" },
      });
      YFUI.addMenu({
        id: "m_listens",
        groupId: "pluginMenus",
        text: _("监听", "監聽"),
        style: { background: "#DDFFDD", width: "40px" },
        multiCol: true,
        menuStyle: { width: "160px", "margin-top": "-25px" },
        children: listensArray,
        onclick($btn, $box) {
          if ($btn.$extend) PLU.setListen($btn, $btn.$extend.key);
        },
      });

      //fightset
      let fightSetsArray = [];
      fightSetsArray.push({
        id: "bt_enableSkills",
        text: _("技 能 组", "技 能 組"),
        style: { background: "#FBE" },
        menuStyle: { "margin-top": "-25px" },
        children: [
          {
            id: "bt_enableSkill1",
            text: _("技能组1", "技能組1"),
            extend: { key: "enable1" },
          },
          {
            id: "bt_enableSkill2",
            text: _("技能组2", "技能組2"),
            extend: { key: "enable2" },
          },
          {
            id: "bt_enableSkill3",
            text: _("技能组3", "技能組3"),
            extend: { key: "enable3" },
          },
        ],
      });
      fightSetsArray.push({
        id: "bt_wearEquip",
        text: _("装备切换", "裝備切換"),
        style: { background: "#FEB" },
        children: [
          {
            id: "bt_wearEquip1",
            text: _("装备组1", "裝備組1"),
            extend: { key: "equip1" },
            canSet: true,
          },
          {
            id: "bt_wearEquip2",
            text: _("装备组2", "裝備組2"),
            extend: { key: "equip2" },
            canSet: true,
          },
        ],
      });
      fightSetsArray.push({
        id: "bt_followKill",
        text: _("跟杀设置", "跟殺設置"),
        extend: { key: "followKill" },
        style: { background: "#FCC" },
      });
      fightSetsArray.push({
        id: "bt_autoCure",
        text: _("血蓝设置", "血藍設置"),
        extend: { key: "autoCure" },
        style: { background: "#CCF" },
      });
      fightSetsArray.push({
        id: "bt_autoPerform",
        text: _("技能设置", "技能設置"),
        extend: { key: "autoPerform" },
        style: { background: "#CFC" },
      });
      YFUI.addMenu({
        id: "m_fightsets",
        groupId: "pluginMenus",
        text: _("战斗", "戰鬥"),
        style: { background: "#FFDDDD", width: "40px" },
        //multiCol: true,
        menuStyle: { width: "80px", "margin-top": "-50px" },
        children: fightSetsArray,
        onclick($btn, $box, BtnMode) {
          if ($btn.$extend) {
            if ($btn.$extend.key && PLU.getCache($btn.$extend.key) == 0)
              $(".menu").hide();
            if ($btn.$extend.key.match("enable"))
              return PLU.setSkillGroup($btn.$extend.key.substr(-1));
            if ($btn.$extend.key.match("equip")) {
              let equipKey = "equip_" + $btn.$extend.key.substr(-1) + "_keys";
              let equipsStr = PLU.getCache(equipKey);
              $(".menu").hide();
              if (equipsStr && BtnMode != "setting") {
                return PLU.wearEquip(equipsStr);
              }
              return PLU.setWearEquip($btn.$extend.key.substr(-1));
            }
            if ($btn.$extend.key == "followKill")
              return PLU.setFightSets($btn, $btn.$extend.key);
            if ($btn.$extend.key == "autoCure")
              return PLU.setAutoCure($btn, $btn.$extend.key);
            if ($btn.$extend.key == "autoPerform")
              return PLU.setAutoPerform($btn, $btn.$extend.key);
          }
        },
      });
      // puzzle
      let puzzleArray = [];
      if (PLU.devmode)
        puzzleArray.push({
          id: "bt_puzzle_key",
          text: _("通告设置", "通告設置"),
          extend: { key: "" },
        });
      puzzleArray.push({
        id: "bt_puzzle_Key",
        text: _("密码设置", "密碼設置"),
        extend: { func: PLU.puzzleKey },
      });
      if (PLU.devmode)
        puzzleArray.push({
          id: "bt_puzzle_key",
          text: _("进度设置", "進度設置"),
          extend: { func: PLU.key },
        });
      if (PLU.devmode)
        puzzleArray.push({
          id: "bt_puzzle_key",
          text: _("超时设置", "超時設置"),
          extend: { func: PLU.key },
        });
      YFUI.addMenu({
        id: "m_puzzle",
        groupId: "pluginMenus",
        text: _("谜题", "謎題"),
        style: { background: "#CCC", width: "40px" },
        menuStyle: { "margin-top": "-75px" },
        children: puzzleArray,
        onclick($btn, $box) {
          if ($btn.$extend) {
            $(".menu").hide();
            $btn.$extend.func($btn);
          }
        },
      });
      //Sign
      let signArray = [];
      signArray.push({
        id: "bt_autoAskQixia",
        text: _("自动问奇侠", "自動問奇俠"),
        extend: { func: PLU.toAutoAskQixia },
      });
      signArray.push({
        id: "bt_autoVisitQixia",
        text: _("亲近奇侠", "親近奇俠"),
        style: { background: "#CFC" },
        extend: { func: PLU.toAutoVisitQixia },
      });
      signArray.push({
        id: "hr_dlus",
        text: "",
        style: { width: "240px", opacity: 0 },
      });
      signArray.push({
        id: "bt_sign",
        text: _("一键签到", "一鍵簽到"),
        extend: { key: "signIn" },
        style: { background: "#CCFFFF" },
      });
      YFUI.addMenu({
        id: "m_signs",
        groupId: "pluginMenus",
        text: _("签到", "簽到"),
        style: { background: "#DDFFFF", width: "40px" },
        menuStyle: { "margin-top": "-92px" },
        children: signArray,
        onclick($btn, $box) {
          if ($btn.$extend) {
            if ($btn.$extend.key == "signIn") {
              $(".menu").hide();
              return PLU.toSignIn();
            } else if ($btn.$extend.key == "autoSignIn") {
              return PLU.setListen($btn, $btn.$extend.key);
            } else {
              $(".menu").hide();
              $btn.$extend.func($btn);
            }
          }
        },
      });
      //sys
      let sysArray = [];
      sysArray.push({
        id: "bt_openTeam",
        text: _("开队伍", "開隊伍"),
        extend: "team",
      });
      sysArray.push({
        id: "bt_openFudi",
        text: _("开府邸", "開府邸"),
        extend: "fudi",
      });
      sysArray.push({
        id: "bt_openShop",
        text: _("开商城", "開商城"),
        extend: "shop",
      });
      sysArray.push({
        id: "bt_openJFShop",
        text: _("积分商城", "積分商城"),
        extend: "shop xf_shop",
      });
      sysArray.push({
        id: "bt_open4HShop",
        text: _("四海商店", "四海商店"),
        children: [
          {
            id: "bt_open4HShop1",
            text: "回收",
            extend: "reclaim recl",
          },
          {
            id: "bt_open4HShop2",
            text: "兌換",
            extend: "reclaim buy",
          },
        ],
      });
      sysArray.push({
        id: "bt_clanShop",
        text: _("帮派商店	", "幫會商店"),
        extend: "clan;clan_shop",
      });
      sysArray.push({
        id: "hr_sys",
        text: "",
        style: { width: "160px", opacity: 0 },
        boxStyle: { "font-size": 0 },
      });
      sysArray.push({
        id: "bt_cleartask",
        text: _("清谜题", "清謎題"),
        extend: "auto_tasks cancel",
      });
      sysArray.push({
        id: "bt_task",
        text: _("谜题列表", "謎題列表"),
        extend: "task_quest",
      });
      sysArray.push({
        id: "bt_intervene",
        text: _("杀隐藏怪", "殺隱藏怪"),
        extend: { func: PLU.intervene },
      });
      sysArray.push({
        id: "bt_openQixia",
        text: "奇俠列表",
        extend: "open jhqx",
      });
      sysArray.push({
        id: "hr_sys",
        text: "",
        style: { width: "160px", opacity: 0 },
        boxStyle: { "font-size": 0 },
      });
      sysArray.push({
        id: "bt_showMPFZ",
        text: _("纷争显示", "紛爭顯示"),
        extend: { func: PLU.showMPFZ },
        style: { background: "#EEEEFF" },
      });
      sysArray.push({
        id: "bt_log",
        text: _("消息日志", "消息日誌"),
        extend: { func: PLU.showLog },
        style: { background: "#99CC00" },
      });
      if (PLU.devmode) {
        sysArray.push({
          id: "bt_upset",
          text: _("上传设置", "上傳設置"),
          extend: { func: PLU.saveSetting },
          style: { background: "#FFAAAA" },
        });
        sysArray.push({
          id: "bt_dlset",
          text: _("下载设置", "下載設置"),
          extend: { func: PLU.loadSetting },
          style: { background: "#FFCC00" },
        });
      }
      YFUI.addMenu({
        id: "m_sys",
        groupId: "pluginMenus",
        text: "工具",
        multiCol: true,
        style: { background: "#FFFFDD", width: "40px" },
        menuStyle: { width: "160px", "margin-top": "-117px" },
        children: sysArray,
        onclick($btn, $box) {
          if ($btn.$extend && $btn.$extend.func) {
            $(".menu").hide();
            $btn.$extend.func($btn);
          } else if ($btn.$extend) {
            $(".menu").hide();
            PLU.execActions($btn.$extend);
          }
        },
      });
      //================================================================================
      //  活動
      //================================================================================
      // let activeArray=[]
      // activeArray.push({id:"bt_goShop1", text:"去小二", extend:"jh 1;"})
      // activeArray.push({id:"bt_buyItem1", text:"買四樣", extend:"#21 buy_npc_item go 0;#21 buy_npc_item go 1;#21 buy_npc_item go 2;#21 buy_npc_item go 3;"})
      // activeArray.push({id:"bt_goShop2", text:"去掌櫃", extend:"jh 5;n;n;n;w;", style:{background:"#FDD"}})
      // activeArray.push({id:"bt_buyItem2", text:"買紅粉", extend:"#6 buy_npc_item go 0;", style:{background:"#FDD"}})
      // activeArray.push({id:"bt_goShop3", text:"去小販", extend:"jh 2;n;n;n;n;e;", style:{background:"#DEF"}})
      // activeArray.push({id:"bt_buyItem3", text:"買黃粉", extend:"#6 event_1_17045611 go 0;", style:{background:"#DEF"}})
      // activeArray.push({id:"bt_goShop4", text:"去峨眉", extend:"jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;", style:{background:"#EFE"}})
      // activeArray.push({id:"bt_buyItem4", text:"買藍粉", extend:"#6 event_1_39153184 go 0;", style:{background:"#EFE"}})
      // activeArray.push({id:"bt_goAll", text:"一鍵買材料", extend:"jh 1;#21 buy_npc_item go 0;#21 buy_npc_item go 1;#21 buy_npc_item go 2;#21 buy_npc_item go 3;jh 5;n;n;n;w;#6 buy_npc_item go 0;jh 2;n;n;n;n;e;#6 event_1_17045611 go 0;jh 8;w;nw;n;n;n;n;e;e;n;n;e;;kill?看山弟子;n;n;n;n;w;#6 event_1_39153184 go 0;", style:{background:"#9F9"}})
      // activeArray.push({id:"bt_goShoot", text:"去放煙花", extend:"jh 2;n;n;n;", style:{background:"#FD9"}})
      // // activeArray.push({id:"bt_n", text:"", style:{opacity:0}})
      // // activeArray.push({id:"hr_sys", text:"", style:{width:"160px",opacity:0}, boxStyle:{"font-size":0}})
      // activeArray.push({id:"bt_goShoot1", text:"一鍵璀璨", extend:"#5 event_1_99582507;#15 event_1_48376442;", style:{background:"#F9D"}})
      // activeArray.push({id:"bt_goShoot2", text:"一鍵四款", extend:"#5 event_1_74166959;#5 event_1_10053782;#5 event_1_25918230;#5 event_1_48376442;", style:{background:"#D9F"}})

      // YFUI.addMenu({
      //     id: "m_active",
      //     groupId:"pluginMenus",
      //     text: "元宵",
      //     multiCol: true,
      //     style:{"background":"#FFFF55","width":"40px","margin-top":"25px"},
      //     menuStyle: {width: "160px","margin-top":"-22px"},
      //     children: activeArray,
      //     onclick($btn,$box){
      //         if($btn.$extend && $btn.$extend.func){
      //             //$(".menu").hide()
      //             $btn.$extend.func($btn)
      //         }else if($btn.$extend){
      //             //$(".menu").hide()
      // 			PLU.execActions($btn.$extend,()=>{
      // 				YFUI.writeToOut("<span style='color:#FFF;'>========== OK ==========</span>")
      // 			})
      // 		}
      //     }
      // })

      // 只對開發者開啓實驗功能
      if (PLU.devmode) {
        let flagArray = [];
        flagArray.push({
          id: "bt_npcDataUpdate",
          text: "npc數據更新",
          extend: { func: PLU.npcDataUpdate },
        });
        YFUI.addMenu({
          id: "m_flag",
          groupId: "pluginMenus",
          text: _("实验", "實驗"),
          multiCol: true,
          style: { background: "#FBB", width: "40px" },
          menuStyle: { width: "160px", "margin-top": "-117px" },
          children: flagArray,
          onclick($btn, $box) {
            if ($btn.$extend && $btn.$extend.func) {
              $(".menu").hide();
              $btn.$extend.func($btn);
            } else if ($btn.$extend) {
              $(".menu").hide();
              PLU.execActions($btn.$extend);
            }
          },
        });
      }
      //================================================================================
      //================================================================================

      let gh = parseInt($("#page").height() * $("#page").height() * 0.00025);
      YFUI.addBtn({
        id: "bt_col_null",
        groupId: "pluginMenus",
        text: "",
        style: {
          background: "transparent",
          height: gh + "px",
          width: "0px",
          visibility: "hidden",
        },
        boxStyle: { "pointer-events": "none" },
      });
      //戰鬥按鈕
      YFUI.addBtn({
        id: "bt_kg_autoEscape",
        groupId: "pluginMenus",
        text: "逃跑",
        style: { background: "#DDCCEE", height: "20px", width: "40px" },
        // boxStyle:{"margin-bottom":"15px"},
        onclick($btn) {
          let btnFlag = PLU.setBtnRed($btn);
          if (btnFlag) {
            PLU.autoEscape({
              onEnd() {
                PLU.setBtnRed($btn);
              },
            });
          } else UTIL.delSysListener("onAutoEscape");
        },
      });
      YFUI.addBtn({
        id: "bt_kg_loopKill",
        groupId: "pluginMenus",
        text: _("循环杀", "循環殺"),
        style: { background: "#EECCCC", height: "20px", width: "40px" },
        // boxStyle:{"margin-bottom":"15px"},
        onclick($btn) {
          PLU.toLoopKill($btn);
        },
      });
      YFUI.addBtn({
        id: "bt_kg_teamSync",
        groupId: "pluginMenus",
        text: "同步",
        style: { background: "#DDCCEE", height: "20px", width: "40px" },
        boxStyle: { "margin-bottom": "15px" },
        onclick($btn) {
          PLU.toggleTeamSync($btn);
        },
      });
      YFUI.addBtn({
        id: "bt_kg_followKill",
        groupId: "pluginMenus",
        text: _("跟杀", "跟殺"),
        style: { background: "#FFDDDD", height: "25px", width: "40px" },
        onclick($btn) {
          PLU.toggleFollowKill($btn, "followKill");
        },
      });
      YFUI.addBtn({
        id: "bt_kg_autoCure",
        groupId: "pluginMenus",
        text: _("血蓝", "血藍"),
        style: { background: "#CCCCFF", height: "25px", width: "40px" },
        onclick($btn) {
          PLU.toggleAutoCure($btn, "autoCure");
        },
      });
      YFUI.addBtn({
        id: "bt_kg_autoPerform",
        groupId: "pluginMenus",
        text: _("连招", "連招"),
        style: { background: "#FFCCFF", height: "25px", width: "40px" },
        onclick($btn) {
          PLU.toggleAutoPerform($btn, "autoPerform");
        },
      });
      //monitor
      let momaxW =
        $("#page").width() - $("#out").width() > 4 && $("#out").width() > 634
          ? 475
          : Math.floor($("#out").width() * 0.75);
      let leftSty =
        $("#page").width() - $("#out").width() > 4 && $("#page").width() > 634
          ? "79px"
          : "12%";
      YFUI.addBtnGroup({
        id: "topMonitor",
        style: {
          position: "fixed",
          top: 0,
          left: leftSty,
          width: "75%",
          height: "15px",
          maxWidth: momaxW + "px",
          lineHeight: "1.2",
          fontSize: "11px",
          textAlign: "left",
          color: "#FF9",
          background: "rgba(0,0,0,0)",
          display: "none",
        },
      });
    },
    //================================================================================================
    getCache(key) {
      return PLU.CACHE[key] ?? "";
    },
    //================================================================================================
    setCache(key, val) {
      PLU.CACHE[key] = val;
      UTIL.setMem("CACHE", JSON.stringify(PLU.CACHE));
      return val;
    },
    //================================================================================================
    initStorage() {
      if (!UTIL.getMem("CACHE"))
        UTIL.setMem("CACHE", JSON.stringify(PLU.CACHE));
      let caObj,
        ca = UTIL.getMem("CACHE");
      try {
        caObj = JSON.parse(ca);
      } catch (err) {}
      if (caObj) {
        PLU.CACHE = caObj;
        let listen = [
          "listenPuzzle",
          "listenChat",
          "listenQL",
          "listenTF",
          "listenKFQL",
          "listenYX",
          "autoDZ",
          "autoHYC",
          "auto9H",
          "autoDY",
          "autoTP",
          "autoLX",
          "autoBF",
          "autoB5F",
          "autoB6",
          "autoConnect",
          "autoSignIn",
          "autoQuitTeam",
        ];
        for (var i = 0, len = listen.length; i < len; i++) {
          if (PLU.getCache(listen[i]) == 1)
            PLU.setListen($("#btn_bt_" + listen[i]), listen[i], 1);
        }
        if (PLU.getCache("listenPuzzle") == 0) {
          PLU.TMP.autotask = false;
        }
        if (PLU.getCache("followKill") == 1) {
          PLU.toggleFollowKill($("#btn_bt_kg_followKill"), "followKill", 1);
        }
        if (PLU.getCache("autoCure") == 1) {
          PLU.toggleAutoCure($("#btn_bt_kg_autoCure"), "autoCure", 1);
        }
        if (PLU.getCache("autoPerform") >= 1) {
          PLU.toggleAutoPerform(
            $("#btn_bt_kg_autoPerform"),
            "autoPerform",
            PLU.getCache("autoPerform"),
          );
        }
        if (PLU.getCache("showTopMonitor") == 1) {
          PLU.showMPFZ($("#btn_bt_showMPFZ"));
        }
      }
    },
    //================================================================================================
    initHistory() {
      //---------------------
      document.addEventListener("addLog", PLU.updateShowLog);
      //---------------------
      let hisArr = [],
        hstr = UTIL.getMem("HISTORY");
      if (hstr)
        try {
          hisArr = JSON.parse(hstr);
        } catch (err) {}
      if (hisArr && hisArr.length) {
        let nowTs = new Date().getTime();
        let newArr = hisArr.filter((h) => {
          UTIL.log(Object.assign({}, h, { isHistory: true }));
          if (nowTs - h.time > 43200000) return false;
          return true;
        });
        UTIL.logHistory = newArr;
        UTIL.setMem("HISTORY", JSON.stringify(newArr));
      }
      PLU.MPFZ = UTIL.getMem("MPFZ") ? JSON.parse(UTIL.getMem("MPFZ")) : {};
    },
    //================================================================================================
    initListeners() {
      //監聽戰鬥消息
      UTIL.addSysListener("listenAllFight", (b, type, subtype, msg) => {
        if (type == "vs") {
          switch (subtype) {
            case "vs_info":
              if (b.containsKey("is_watcher")) {
                PLU.STATUS.inBattle = 2;
                break;
              }
              PLU.STATUS.inBattle = 1;
              if (!PLU.battleData)
                PLU.battleData = {
                  skills: {},
                  xdz: 0,
                  myPos: 0,
                  mySide: "",
                  performTime: 0,
                  cureTimes: 0,
                };

              for (let i = b.elements.length - 1; i > -1; i--) {
                let val = b.elements[i].value + "";
                if (!val || val.indexOf(PLU.accId) < 0) continue;
                PLU.battleData.myPos = b.elements[i].key.charAt(7);
                PLU.battleData.mySide = b.elements[i].key.substring(0, 3);
                break;
              }
              PLU.STATUS.isBusy = true;
              break;
            case "ready_skill":
              if (
                b.get("uid").indexOf(PLU.accId) < 0 ||
                b.get("skill") == "fight_item"
              )
                break;
              if (!PLU.battleData)
                PLU.battleData = {
                  skills: {},
                  xdz: 0,
                  myPos: 0,
                  mySide: "",
                  performTime: 0,
                  cureTimes: 0,
                };
              PLU.battleData.skills[b.get("pos") - 1] = {
                name: UTIL.filterMsg(b.get("name")),
                skill: b.get("skill"),
                xdz: b.get("xdz"),
                key: "playskill " + b.get("pos"),
              };
              break;
            case "add_xdz":
              if (b.get("uid").indexOf(PLU.accId) < 0) break;
              if (!PLU.battleData)
                PLU.battleData = {
                  skills: {},
                  xdz: 0,
                  myPos: 0,
                  mySide: "",
                  performTime: 0,
                  cureTimes: 0,
                };
              PLU.battleData.xdz = parseInt(b.get("xdz"));
              break;
            case "playskill":
              if (b.get("uid").indexOf(PLU.accId) < 0) break;
              if (!PLU.battleData)
                PLU.battleData = {
                  skills: {},
                  xdz: 0,
                  myPos: 0,
                  mySide: "",
                  performTime: 0,
                  cureTimes: 0,
                };
              let x = PLU.battleData.xdz - parseInt(b.get("lose_xdz"));
              if (parseInt(b.get("lose_xdz")))
                PLU.battleData.xdz = x > 0 ? x : 0;
              break;
            case "out_watch":
              PLU.STATUS.inBattle = 0;
              PLU.STATUS.isBusy = false;
              break;
            case "combat_result":
              PLU.STATUS.inBattle = 0;
              PLU.battleData = null;

              PLU.STATUS.isBusy = false;
              if (PLU.TMP.loopUseSkill) {
                clearInterval(PLU.TMP.loopUseSkill);
                PLU.TMP.loopUseSkill = null;
              }
              break;
            default:
              break;
          }
          if (PLU.STATUS.inBattle == 1 && !PLU.TMP.loopUseSkill) {
            PLU.TMP.loopUseSkill = setInterval(() => {
              if (
                PLU.STATUS.inBattle == 1 &&
                PLU.battleData &&
                PLU.battleData.xdz > 1
              ) {
                PLU.checkUseSkills();
              }
            }, 300);
          }
        }
        if (g_gmain.is_fighting && PLU.STATUS.inBattle == 1) {
          if (type == "vs" || type == "attrs_changed") {
            //自動療傷及自動技能
            if (
              PLU.battleData &&
              PLU.battleData.xdz > 1 &&
              PLU.STATUS.inBattle == 1
            ) {
              PLU.checkUseSkills();
            }
          }
        }
      });
      //監聽場景消息
      UTIL.addSysListener("listenNotice", (b, type, subtype, msg) => {
        if (type != "notice" && type != "main_msg") return;
        if (msg.match(/閒聊|告訴|隊伍/)) return;
        let msgTxt = UTIL.filterMsg(msg);
        if (msgTxt.match("你打坐完畢") && PLU.getCache("autoDZ") == 1) {
          if (UTIL.inHome()) clickButton("exercise", 0);
          else
            PLU.TODO.push({
              type: "cmds",
              cmds: "exercise",
              timeout: new Date().getTime() + 8 * 60 * 60 * 1000,
            });
        } else if (
          (msgTxt.match("你從寒玉床上爬起") ||
            msgTxt.match("你從地髓石乳中出來")) &&
          PLU.getCache("autoHYC") == 1
        ) {
          if (UTIL.inHome())
            PLU.execActions("golook_room;sleep_hanyuchuang;home");
          else
            PLU.TODO.push({
              type: "cmds",
              cmds: "golook_room;sleep_hanyuchuang;home",
              timeout: new Date().getTime() + 8 * 60 * 60 * 1000,
            });
        } else if (msgTxt.match("你今天使用九花玉露丸次數已經達到上限了")) {
          YFUI.writeToOut(
            "<span style='color:yellow;'>九花玉露丸次數已達到上限!取消監聽九花玉露丸...</span>",
          );
          PLU.setListen($("#btn_bt_auto9H"), "auto9H", 0);
        } else if (
          msgTxt.match("九花玉露丸效果:") &&
          PLU.getCache("auto9H") == 1
        ) {
          PLU.execActions("items use obj_jiuhuayulouwan");
        } else if (
          msgTxt.match(/你的(.*)成功向前突破了/) &&
          PLU.getCache("autoTP") == 1
        ) {
          if (UTIL.inHome()) PLU.toToPo();
          else {
            let checktp = PLU.TODO.find((e) => e.cmds == "toToPo");
            if (!checktp)
              PLU.TODO.push({
                type: "func",
                cmds: "toToPo",
                timeout: new Date().getTime() + 8 * 60 * 60 * 1000,
              });
          }
        } else if (
          (msgTxt.match("你現在正突破") && msgTxt.match("同時突破")) ||
          msgTxt.match("此次突破需要")
        ) {
          //突破失敗
          PLU.TMP.stopToPo = true;
        } else if (msgTxt.match("青龍會組織:")) {
          //本服青龍
          let l = msgTxt.match(
            /青龍會組織:(.*)正在\003href;0;([\w\d\s]+)\003(.*)\0030\003施展力量,本會願出(.*)的戰利品獎勵給本場戰鬥的最終獲勝者。/,
          );
          if (l && l.length > 3) {
            UTIL.log({
              msg:
                "【青龍】" +
                l[3].padStart(5) +
                " - " +
                l[1].padEnd(4) +
                "  獎品:" +
                l[4],
              type: "QL",
              time: new Date().getTime(),
            });
            if (PLU.getCache("listenQL") == 1) {
              let keysStr = PLU.getCache("listenQL_keys")
                .split("|")[1]
                .split(",")
                .map((e) => (e == "*" ? ".*" : e.replace("*", "\\*")))
                .join("|");
              let reg = new RegExp(keysStr);
              if (l[4].match(reg) && UTIL.inHome()) {
                PLU.goQinglong(
                  l[1],
                  l[3],
                  PLU.getCache("listenQL_keys").split("|")[0],
                  false,
                );
              }
            }
          }
        } else if (msgTxt.match("這是你今天完成的第")) {
          //逃犯完成
          let l = msgTxt.match(/這是你今天完成的第(\d)\/\d場逃犯任務/);
          if (l && l.length > 0 && l[1] == 5) {
            YFUI.writeToOut(
              '<span style="color:yellow;">逃犯任務已達到上限!取消逃犯監聽...</span>',
            );
            UTIL.log({
              msg: " 逃犯任務已達到上限!取消逃犯監聽...",
              type: "TIPS",
              time: new Date().getTime(),
            });
            PLU.setListen($("#btn_bt_listenTF"), "listenTF", 0);
          }
        } else if (
          msgTxt.match("對你悄聲道:你現在去") &&
          !PLU.TMP.autoQixiaMijing
        ) {
          //奇俠說秘境
          let l = msgTxt.match(/(.*)對你悄聲道:你現在去(.*),應當會有發現/);
          if (l && l.length > 2) {
            let placeData = PLU.YFD.mjList.find((e) => e.n == l[2]);
            if (placeData) {
              YFUI.writeToOut(
                "<span>奇俠秘境: <a style='text-decoration:underline;color:yellow;cursor:pointer;' onclick='PLU.execActions(\"" +
                  placeData.v +
                  "\")'>" +
                  placeData.n +
                  "</a></span>",
              );
              YFUI.showPop({
                title: "奇俠秘境",
                text: "秘境:" + placeData.n,
                okText: "去秘境",
                onOk() {
                  PLU.execActions(
                    placeData.v + ";find_task_road secret;",
                    () => {
                      YFUI.writeToOut(
                        "<span>:: <a style='text-decoration:underline;color:yellow;cursor:pointer;' onclick='clickButton(\"open jhqx\", 0)'>奇俠列表</a></span>",
                      );
                    },
                  );
                },
                onNo() {},
              });
            }
          }
        } else if (msgTxt.match("你贏了這場寶藏秘圖之戰!")) {
          PLU.execActions("clan bzmt puzz");
        } else if (
          msgTxt.match("開啟了幫派副本") &&
          PLU.getCache("autoBF") == 1
        ) {
          //幫四開啟
          let ll = msg.match(/開啟了幫派副本.*十月圍城.*【(.*)】/);
          if (ll) {
            let n = "一二三".indexOf(ll[1]);
            UTIL.log({
              msg: "【幫四】幫四(" + ll[1] + ")開啟 ",
              type: "BF",
              time: new Date().getTime(),
            });
            if (n >= 0) {
              if (!g_gmain.is_fighting) {
                PLU.toBangFour(n + 1);
              } else {
                let checktodo = PLU.TODO.find((e) => e.cmds == "toBangFour");
                if (!checktodo)
                  PLU.TODO.push({
                    type: "func",
                    cmds: "toBangFour",
                    param: [n + 1],
                    timeout: new Date().getTime() + 5 * 60 * 1000,
                  });
              }
            }
          }
        } else if (
          msgTxt.match("開啟了幫派副本") &&
          PLU.getCache("autoB6") == 1
        ) {
          //幫六開啟
          let ls = msg.match(/開啟了幫派副本.*蠻荒七神寨.*/);
          if (ls) {
            if (!g_gmain.is_fighting) {
              PLU.toBangSix();
            } else {
              let checktodo = PLU.TODO.find((e) => e.cmds == "toBangSix");
              if (!checktodo)
                PLU.TODO.push({
                  type: "func",
                  cmds: "toBangSix",
                  param: [""],
                  timeout: new Date().getTime() + 5 * 60 * 1000,
                });
            }
          }
        } else if (msgTxt.match("十月圍城】幫派副本勝利")) {
          //幫四完成
          PLU.STO.bangFourTo && clearTimeout(PLU.STO.bangFourTo);
          if (!g_gmain.is_fighting) {
            setTimeout(() => {
              PLU.execActions("home;");
            }, 2000);
          }
        } else if (msgTxt.match("蠻荒七神寨】幫派副本勝利")) {
          //幫六完成
          PLU.STO.bangSixTo && clearTimeout(PLU.STO.bangSixTo);
          if (!g_gmain.is_fighting) {
            setTimeout(() => {
              PLU.execActions("home;");
            }, 2000);
          }
        } else if (msgTxt.match("你今天進入此副本的次數已達到上限了")) {
          //幫四六無法進入
          PLU.STO.bangFourTo && clearTimeout(PLU.STO.bangFourTo);
          PLU.STO.bangSixTo && clearTimeout(PLU.STO.bangSixTo);
          UTIL.log({
            msg: " !!副本超量!!",
            type: "TIPS",
            time: new Date().getTime(),
          });
        } else if (
          msgTxt.match(/你已進入幫派副本\*\*可汗金帳\*\*/) &&
          PLU.getCache("autoB5F") == 1
        ) {
          //幫五進入
          PLU.inBangFiveEvent();
        } else if (msgTxt.match("成功消滅了守將府內的所有敵人")) {
          //幫二完成
          let l = msgTxt.match(
            /守城成功】(.*)成功消滅了守將府內的所有敵人,幫派副本完成/,
          );
          if (l && l.length > 1 && !g_gmain.is_fighting) {
            setTimeout(() => {
              PLU.execActions("home;");
            }, 3000);
          }
        } else if (msgTxt.match("你沒有精良魚餌,無法釣魚")) {
          //釣魚完成
          if (!UTIL.inHome() && !g_gmain.is_fighting) {
            if (PLU.getCache("autoDY") == 1) {
              let attr = g_obj_map.get("msg_attrs");
              if (attr.get("yuanbao") >= PLU.getCache("autoDY_key") + 50)
                PLU.execActions("shop buy shop45;diaoyu;");
              else
                setTimeout(() => {
                  PLU.execActions("home;");
                }, 1000);
            }
          } else
            setTimeout(() => {
              PLU.execActions("home;");
            }, 1000);
        }
      });

      //監聽頻道消息
      UTIL.addSysListener("listenChannel", (b, type, subtype, msg) => {
        if (type != "channel" || subtype != "sys") return;
        let msgTxt = UTIL.filterMsg(msg);
        //本服逃犯
        if (msgTxt.match("慌不擇路") && msgTxt.indexOf("跨服") < 0) {
          var l = msgTxt.match(
            /系統】([\u4e00-\u9fa5|\*]+).*慌不擇路,逃往了(.*)-\003href;0;([\w\d\s]+)\003([\u4e00-\u9fa5]+)/,
          );
          if (l && l.length > 4) {
            UTIL.log({
              msg: "【逃犯】" + l[2] + "-" + l[4] + " : " + l[1],
              type: "TF",
              time: new Date().getTime(),
            });
            //111
            if (PLU.getCache("listenTF") == 1 && UTIL.inHome()) {
              if (!PLU.TMP.lis_TF_list) {
                PLU.splitTFParam();
              }
              if (PLU.TMP.lis_TF_list.includes(l[1])) {
                let idx = PLU.TMP.lis_TF_list.findIndex((k) => k == l[1]);
                if (idx >= 0) {
                  let gb =
                    Number(PLU.getCache("listenTF_keys").split("|")[0]) || 0;
                  PLU.goTaofan(l[1], l[2], l[3], gb, PLU.TMP.lis_TF_force[idx]);
                }
              }
            }
          }
        } else if (msgTxt.match("跨服時空")) {
          let l = msgTxt.match(
            /跨服:(.*)逃到了跨服時空(.*)之中,青龍會組織懸賞(.*)懲治惡人,眾位英雄快來誅殺。/,
          );
          if (l && l.length > 3) {
            UTIL.log({
              msg:
                "【跨服青龍】" +
                l[2] +
                " - " +
                l[1].padEnd(8) +
                "  獎品:" +
                l[3],
              type: "KFQL",
              time: new Date().getTime(),
            });
            if (PLU.getCache("listenKFQL") == 1) {
              let keysStr = PLU.getCache("listenKFQL_keys")
                .split("|")[1]
                .split(",")
                .map((e) => (e == "*" ? ".*" : e.replace("*", "\\*")))
                .join("|");
              let reg = new RegExp(keysStr);
              if (PLU.devmode && l[3].match(reg) && UTIL.inHome()) {
                UTIL.addSysListener("KuaFu", (b, type, subtype, msg) => {
                  if (b.get("map_id") == "kuafu") {
                    UTIL.delSysListener("KuaFu");
                    PLU.goQinglong(
                      l[1],
                      l[2],
                      PLU.getCache("listenKFQL_keys").split("|")[0],
                      true,
                    );
                  }
                });
                setTimeout(() => {
                  clickButton("change_server world;");
                }, 500);
              }
            }
          }
        }
        //江湖紛爭
        else if (msgTxt.match("江湖紛爭")) {
          let fz = msgTxt.match(
            /【江湖紛爭】:(.*)(門派|流派)的(.*)劍客傷害同門,欺師滅組,判師而出,卻有(.*)堅持此種另有別情而強行庇護,兩派紛爭在(.*)-(.*)一觸即發,江湖同門速速支援!/,
          );
          if (!fz) return;
          let ro = fz[3];
          let pl = fz[5] + "-" + fz[6];
          let vs = fz[1] + " VS " + fz[4];
          let tp = fz[2];
          let logType = tp == "門派" ? "MPFZ" : "LPFZ";
          UTIL.log({
            msg: "【" + tp + "之爭】 " + ro + "  地點:[" + pl + "]  " + vs,
            type: logType,
            time: new Date().getTime(),
          });
          if (tp == "門派") {
            let nowTime = new Date().getTime();
            for (let k in PLU.MPFZ) {
              if (k < nowTime) delete PLU.MPFZ[k];
            }
            let extime = new Date().getTime() + 1560000;
            PLU.MPFZ[extime] = { n: ro, p: pl, v: vs, t: new Date().getTime() };
            UTIL.setMem("MPFZ", JSON.stringify(PLU.MPFZ));
          }
        }
        //遊俠
        else if (msgTxt.match("出來闖盪江湖了")) {
          let yx = msgTxt.match(
            /【系統】遊俠會:聽說(.*)出來闖盪江湖了,目前正在前往(.*)的路上/,
          );
          if (!yx) return;
          let yn = $.trim(yx[1]);
          let yp = yx[2];
          let yr = "";
          PLU.YFD.youxiaList.forEach((g) => {
            if (g.v.includes(yn)) yr = g.n;
          });
          UTIL.log({
            msg: "【遊俠-" + yr + "】 " + yn + "  地點:[" + yp + "]  ",
            type: "YX",
            time: new Date().getTime(),
          });
          if (PLU.getCache("listenYX") == 1 && UTIL.inHome()) {
            if (!PLU.TMP.listenYX_list) {
              PLU.TMP.listenYX_list = PLU.getCache("listenYX_keys").split(",");
            }
            if (PLU.TMP.listenYX_list && PLU.TMP.listenYX_list.includes(yn)) {
              let jhName = PLU.fixJhName(yp);
              let jhMap = PLU.YFD.mapsLib.Map.find((e) => e.name == jhName);
              if (!jhMap) {
                return;
              } else {
                let ways = jhMap.way.split(";");
                PLU.goFindYouxia({ paths: ways, idx: 0, objectNPC: yn });
              }
            }
          }
        }
      });
      //監聽場景
      UTIL.addSysListener("listenRoomInfo", (b, type, subtype, msg) => {
        if (type != "jh") return;
        //奇俠加按鈕
        $("#out .out>button.cmd_click3").each((i, e) => {
          if (PLU.YFD.qixiaList.includes(e.innerText)) {
            let snpc = e.outerHTML.match(/clickButton\('look_npc (\w+)'/i);
            if (snpc && snpc.length >= 2) {
              $(e).css({ position: "relative" });
              let $btnAsk = $(
                '<span style="position:absolute;display:inline-block;left:0;top:0;padding:3% 5%;text-align:center;background:#39F;color:#fff;border-radius:3px;font-size:1.2em;">問<span>',
              );
              let $btnGold = $(
                '<span style="position:absolute;display:inline-block;right:0;bottom:0;padding:3% 5%;text-align:center;background:#F93;color:#fff;border-radius:3px;font-size:1.2em;">金<span>',
              );
              $(e).append($btnAsk);
              $(e).append($btnGold);
              $btnAsk.click((e) => {
                e.stopPropagation();
                PLU.execActions("ask " + snpc[1] + ";");
              });
              $btnGold.click((e) => {
                e.stopPropagation();
                let ename = snpc[1].split("_")[0];
                PLU.execActions("auto_zsjd20_" + ename + ";golook_room");
              });
            }
          }
        });
        //監聽入隊靈鷲和塔
        if (
          type == "jh" &&
          subtype == "info" &&
          PLU.getCache("autoQuitTeam") == 1
        ) {
          let sn = g_obj_map.get("msg_room").get("short");
          if (
            sn.match(/靈鷲宮(\D+)層/) ||
            sn.match(/拱辰樓(\D+)層/) ||
            sn.match(/陳異叔(\D+)層/) ||
            sn.match(/無為寺(\D+)層/) ||
            sn.match(/一品堂(\D+)層/) ||
            sn.match(/名將堂(\D+)層/) ||
            sn.match(/魔皇殿(\D+)層/) ||
            sn.match(/藏典塔(\D+)層/) ||
            sn.match(/無相樓(\D+)層/) ||
            sn.match(/葬劍谷(\D+)層/) ||
            sn.match(/霹靂堂(\D+)層/) ||
            sn.match(/鑄劍洞(\D+)層/) ||
            sn.match(/劍樓(\D+)層/) ||
            sn.match(/紅螺寺(\D+)層/) ||
            sn.match(/通天塔(\D+)層/)
          ) {
            //退出隊伍
            let quitTeamPrevTimeOut = setTimeout(() => {
              UTIL.delSysListener("quitTeamPrev");
            }, 5000);
            UTIL.addSysListener("quitTeamPrev", (b, type, subtype, msg) => {
              if (type == "team" && subtype == "info") {
                UTIL.delSysListener("quitTeamPrev");
                clearTimeout(quitTeamPrevTimeOut);
                clickButton("prev");
              }
            });
            clickButton("team quit");
          }
        }
        //刷新後恢復監聽幫五
        if (
          type == "jh" &&
          subtype == "info" &&
          PLU.TMP.listenBangFive == undefined
        ) {
          let roomName = UTIL.filterMsg(g_obj_map.get("msg_room").get("short"));
          if (roomName.match(/蒙古高原|成吉思汗的金帳/)) {
            PLU.inBangFiveEvent();
          } else {
            PLU.TMP.listenBangFive = false;
          }
        }
        return;
      });
      UTIL.addSysListener("useCard", (b, type, subtype, msg) => {
        if (
          type == "notice" &&
          subtype == "notify_fail" &&
          msg.indexOf("今日已達到謎題數量限制。") >= 0
        ) {
          PLU.execActions("items use obj_mitiling;#5 items use miticska");
        }
      });
      // 谜题密码
      UTIL.addSysListener("key", (b, type, subtype, msg) => {
        if (type != "channel" || subtype != "tell") return;
        let key = msg.match(/告訴你:謎題密碼:(\d+)/)[1];
        if (key)
          PLU.TODO.push({
            type: "cmds",
            cmds: "jh 1;e;n;n;n;n;w;event_1_65953349 " + key + ";home;",
            timeout: new Date().getTime() + 8 * 60 * 60 * 1000,
          });
      });
      // 監聽閒聊
      UTIL.addSysListener("listenChat", (b, type, subtype, msg) => {
        if (type != "channel" || subtype != "chat") return;
        /** UNICODE 15.0
         * CJK Radicals Supplement 2E80–2EFF
         * CJK Unified Ideographs (Han) 4E00–9FFF
         * CJK Extension A 3400-4DBF
         * CJK Extension B 20000–2A6DF
         * CJK Extension C 2A700–2B739
         * CJK Extension D 2B740–2B81D
         * CJK Extension E 2B820–2CEA1
         * CJK Extension F 2CEB0–2EBE0
         * CJK Extension G 30000–3134A
         * CJK Extension H 31350–323AF
         */
        msg = msg.replace("\f", "");
        let text = msg.match(
          /^[^:]+:.*?([\u2E80-\u2EFF\u3400-\u4DBF\u4E00-\u9FFF\-,”'!!]+道:.+)\x1B\[2;37;0m/,
        );
        if (text) {
          text = text[1];
          if (text.match(/柴紹|李秀寧|大鸛淜洲/)) {
            /**
             * 李秀寧昨天撿到了我幾十輛銀子
             * 李秀寧鬼鬼祟祟的叫人生疑
             * 李秀寧竟對我橫眉瞪眼的
             * 竟然吃了李秀寧的虧
             * 李秀寧竟敢得罪我
             * 被李秀寧搶走了
             * 李秀寧好大膽
             * 想找李秀寧
             * 藏在了(天龍寺-)?大鸛淜洲
             * 想要一件天羅紫芳衣
             */
            UTIL.log({
              msg: "【謎題-天命丹】" + text,
              type: "TIPS",
              time: new Date().getTime(),
            });
          } else if (text.match(/陰九幽|潛龍|谷底石室/)) {
            UTIL.log({
              msg: "【謎題-鬼殺劍】" + text,
              type: "TIPS",
              time: new Date().getTime(),
            });
          } else if (text.match(/打坐老僧|牟尼樓|牟尼洞/)) {
            UTIL.log({
              msg: "【謎題-700級讀書識字】" + text,
              type: "TIPS",
              time: new Date().getTime(),
            });
          } else if (text.match(/本恆禪師|無相堂/)) {
            UTIL.log({
              msg: "【謎題-木棉袈裟】" + text,
              type: "TIPS",
              time: new Date().getTime(),
            });
          } else if (text.match(/天羅紫芳衣/)) {
            UTIL.log({
              msg: "【謎題-天命丹】" + text,
              type: "TIPS",
              time: new Date().getTime(),
            });
          } else if (text.match(/鬼殺劍|金鳳翅盔/)) {
            UTIL.log({
              msg: "【謎題-鬼殺劍】" + text,
              type: "TIPS",
              time: new Date().getTime(),
            });
          } else if (text.match(/麻布僧衣/)) {
            UTIL.log({
              msg: "【謎題-700級讀書識字】" + text,
              type: "TIPS",
              time: new Date().getTime(),
            });
          } else if (text.match(/追風棍|木棉袈裟/)) {
            UTIL.log({
              msg: "【謎題-木棉袈裟】" + text,
              type: "TIPS",
              time: new Date().getTime(),
            });
          }
        }
        let text2 = msg.match(/[^:]+:(.+)\x1B\[2;37;0m/)[1];
        if (
          PLU.getCache("listenChat") == 1 &&
          text2 != "哈哈,我也來闖盪江湖啦!" &&
          text2 != "哈哈,我去也……"
        )
          YFUI.writeToOut(msg);
        let text3 = msg.match(/^[^:]+:(.+道):(.+)\x1B\[2;37;0m/);
        if (text3) {
          var tmp = PLU.queryNpc(text3[1], true);
          console.debug(tmp);
        }

        if (tmp && tmp.length && PLU.getCache("listenPuzzle") == 1) {
          PLU.TMP.autotask = true;
          for (var npc of tmp) {
            PLU.TODO.push({
              type: "func",
              cmds: "execActions",
              param: [
                npc.way,
                (code, name) => {
                  let npcObj = UTIL.findRoomNpc(name, 0, 1);
                  if (npcObj) PLU.execActions("ask " + npcObj.key);
                },
                npc.name_new ?? npc.name_tw ?? npc.name,
              ],
              timeout: new Date().getTime() + 15 * 60 * 1000,
            });
          }
        }
      });
      //監聽練習
      UTIL.addSysListener("listenPractice", (b, type, subtype, msg) => {
        if (
          type == "practice" &&
          subtype == "stop_practice" &&
          PLU.getCache("autoLX") == 1
        ) {
          let skillId = b.get("sid"),
            lxcmds = "enable " + skillId + ";practice " + skillId + ";";
          if (UTIL.inHome()) PLU.execActions(lxcmds);
          else
            PLU.TODO.push({
              type: "cmds",
              cmds: lxcmds,
              timeout: new Date().getTime() + 8 * 60 * 60 * 1000,
            });
        }
      });
      //監聽劍陣
      UTIL.addSysListener("listenJianzhen", (b, type, subtype, msg) => {
        if (type != "notice") return;
        if (msg.indexOf("陣升級完畢!") < 0) return;
        let msgTxt = UTIL.filterMsg(msg);
        if (msgTxt.match(/(.*)陣升級完畢!成功升級到/)) {
          setTimeout(() => {
            let jzcmds = "hhjz xiulian go;;;hhjz speedup go;";
            let room = g_obj_map.get("msg_room")?.get("short");
            if (room == "桃溪" || room == "後山茶園" || UTIL.inHome())
              PLU.execActions(jzcmds);
            else
              PLU.TODO.push({
                type: "cmds",
                cmds: jzcmds,
                timeout: new Date().getTime() + 8 * 60 * 60 * 1000,
              });
          }, 8000);
        }
      });
      //監聽跟殺
      UTIL.addSysListener("listenFightKill", (b, type, subtype, msg) => {
        if (type != "main_msg" || !msg) return;
        if (msg.indexOf("對著") < 0) return;
        if (PLU.getCache("followKill") != 1) return;
        let msgTxt = UTIL.filterMsg(msg);
        var matchKill = msgTxt.match(
          /(.*)對著(.*)喝道:「(.*)!今日不是你死就是我活!」/,
        );
        if (
          matchKill &&
          $.trim(matchKill[1]) != "你" &&
          $.trim(matchKill[2]) != "你" &&
          !g_gmain.is_fighting
        ) {
          PLU.toCheckFollowKill(
            $.trim(matchKill[1]),
            $.trim(matchKill[2]),
            "kill",
            msgTxt,
          );
          return;
        }
        var matchFight = msgTxt.match(
          /(.*)對著(.*)說道:(.*),領教(.*)的高招!/,
        );
        if (
          matchFight &&
          $.trim(matchFight[1]) != "你" &&
          $.trim(matchFight[2]) != "你" &&
          !g_gmain.is_fighting
        ) {
          PLU.toCheckFollowKill(
            $.trim(matchFight[1]),
            $.trim(matchFight[2]),
            "fight",
            msgTxt,
          );
          return;
        }
      });
      UTIL.addSysListener("room", (b, type, subtype, msg) => {
        if (type == "jh") {
          if (subtype == "info") {
            unsafeWindow.hasReachRoom = true;
            if (PLU.TMP.puzzleWating.puzzleid) {
              if (PLU.TMP.puzzleWating.status == "trace") {
                PLU.TMP.puzzleWating.status = "traced";
                PLU.autoPuzzle.doPuzzle(PLU.TMP.puzzleWating.puzzleid);
              } else if (PLU.TMP.puzzleWating.status == "return") {
                PLU.TMP.puzzleWating.status = "returned";
                PLU.autoPuzzle.doPuzzle(PLU.TMP.puzzleWating.puzzleid);
              }
            }
          } else if (subtype == "new_item" || subtype == "new_npc") {
            var name = PLU.autoPuzzle.ansiToHtml(b.get("name")),
              plainName = ansi_up.ansi_to_text(b.get("name")),
              id = b.get("id");
            if (
              PLU.TMP.puzzleWating &&
              PLU.TMP.puzzleWating.puzzleid &&
              PLU.TMP.puzzleWating.status == "wait"
            ) {
              if (subtype == "new_npc") {
                if (
                  [
                    "npc_datan",
                    "answer",
                    "ask",
                    "fight",
                    "kill",
                    "give",
                  ].indexOf(PLU.TMP.puzzleWating.actionCode) > -1 &&
                  (name == PLU.TMP.puzzleWating.target ||
                    (PLU.TMP.puzzleWating.target == "惡人" &&
                      [
                        "段老大",
                        "二娘",
                        "嶽老三",
                        "雲老四",
                        "流寇",
                        "惡棍",
                        "劇盜",
                      ].indexOf(name) > -1) ||
                    (PLU.TMP.puzzleWating.target == "捕快" &&
                      id.indexOf("bukuai") == 0))
                ) {
                  PLU.execActions(PLU.TMP.puzzleWating.actionCode + " " + id);
                } else if (
                  PLU.TMP.puzzleWating.actionCode == "killget" &&
                  plainName == PLU.TMP.puzzleWating.waitTargetName
                ) {
                  PLU.execActions("kill " + id);
                }
              } else if (
                subtype == "new_item" &&
                ["get"].indexOf(PLU.TMP.puzzleWating.actionCode) > -1 &&
                (name == PLU.TMP.puzzleWating.target ||
                  (PLU.TMP.puzzleWating.target == "惡人" &&
                    [
                      "段老大",
                      "二娘",
                      "嶽老三",
                      "雲老四",
                      "流寇",
                      "惡棍",
                      "劇盜",
                    ].indexOf(name) > -1) ||
                  (PLU.TMP.puzzleWating.target == "捕快" &&
                    id.indexOf("bukuai") == 0) ||
                  id.indexOf("corpse") > -1)
              ) {
                PLU.execActions("get " + id);
              }
            }
          }
        }
      });
      //test
      UTIL.addSysListener("testListener", (b, type, subtype, msg) => {
        // if(type != "channel" && type != "attrs_changed") console.log(b,"TYPE:",type," SUBTYPE:",subtype," MSG:",msg);
        //if(type=='g_login') console.log(b,"TYPE:",type," SUBTYPE:",subtype," MSG:",msg)
        if (type == "g_login" && subtype == "login_ret" && msg == "1") {
          //console.log('%c%s','color:#FFF;background:#F00;','[ '+UTIL.getNow()+' ] ======掉線重連了!!!=====')
          YFUI.writeToOut(
            "<span style='color:#FFF;background:#F00;'>[" +
              UTIL.getNow() +
              "] 斷線重連了 </span>",
          );
          PLU.TMP.reConnectTime = 0;
        }
      });
      unsafeWindow.sock.on("disconnect", () => {
        console.log("%c%s", "color:#F00", ">>>>>>>sock disconnected");
        //sock && sock.close(); sock = 0
        if (PLU.getCache("autoConnect") == 1) {
          let recTime = Number(PLU.getCache("autoConnect_keys"));
          if (recTime) PLU.TMP.reConnectTime = recTime;
        }
      });
      unsafeWindow.sock.on("telnet_connected", () => {
        console.log("%c%s", "color:#0F0", ">>>>>>>sock connected");
      });
      UTIL.addSysListener("YXSkillsListener", (b, type, subtype, msg) => {
        if (type != "show_html_page") return;
        if (msg.indexOf("須傳授技能") < 0) return;
        let list = msg.match(
          /\x1B\[1;36m(\d+)\/(\d+)[\s\S]{1,200}(fudi juxian up_skill .* 10)/g,
        );
        let outList = null;
        if (list && list.length) {
          outList = list.map((s) => {
            let r = s.match(
              /\x1B\[1;36m(\d+)\/(\d+)[\s\S]{1,200}(fudi juxian up_skill .* 10)/,
            );
            return { lvl: r[1], max: r[2], cmd: r[3] + "0" };
          });
        }
        PLU.TMP.CUR_YX_SKILLS = outList;
        let matchNameLine = msg.match(
          /<span class="out2">([\s\S]+)<\/span><span class="out2">/,
        );
        let npcNameLine = matchNameLine ? UTIL.filterMsg(matchNameLine[1]) : "";
        let dg = npcNameLine.match(/(\d+)級/)[1];
        PLU.TMP.CUR_YX_LEVEL = Number(dg);
        let nn = msg.match(/fudi juxian upgrade (\S+) 1/)[1];
        PLU.TMP.CUR_YX_ENG = nn;
      });
      UTIL.addSysListener("masterSkillsListener", (b, type, subtype, msg) => {
        if (type != "master_skills" || subtype != "list") return;
        let masterSkills = PLU.parseSkills(b);

        PLU.TMP.MASTER_ID = b.get("id");
        PLU.TMP.MASTER_SKILLS = masterSkills;
      });
    },
    //================================================================================================
    initTickTime() {
      setInterval(() => {
        let nowDate = new Date();
        let nowTime = nowDate.getTime();
        if (PLU.TODO.length > 0 && !PLU.STATUS.isBusy && UTIL.inHome()) {
          //待辦
          let ctd = PLU.TODO.shift();
          if (nowDate.getTime() < ctd.timeout) {
            if (ctd.type == "cmds") {
              PLU.execActions(ctd.cmds);
            } else if (ctd.type == "func") {
              if (ctd.param) PLU[ctd.cmds](...ctd.param);
              else PLU[ctd.cmds]();
            }
          }
        }
        if ($("#topMonitor").text() != "") $("#topMonitor").empty();
        let bi = 0;
        for (let k in PLU.MPFZ) {
          if (k < nowTime) delete PLU.MPFZ[k];
          else {
            let f = PLU.MPFZ[k];
            let dt = Math.floor((k - nowTime) / 1000);
            let flo = bi % 2 == 1 ? "float:right;text-align:right;" : "";
            $("#topMonitor").append(
              `<div title="${
                f.v
              }" style="display:inline-block;width:40%;${flo}">${f.n.substr(
                0,
                1,
              )} <span style="color:#9CF;">[${
                f.p
              }]</span> <span style="color:#DDD;">${dt}</span></div>`,
            );
            bi++;
          }
        }
        if (PLU.ONOFF["btn_bt_waitCDKill"] && PLU.TMP.DATA_MPFZ)
          PLU.toCheckAndWaitCDKill(nowTime);

        if (
          PLU.TMP.reConnectTime &&
          PLU.getCache("autoConnect") == 1 &&
          PLU.TMP.reConnectTime > 0
        ) {
          PLU.TMP.reConnectTime--;
          if (PLU.TMP.reConnectTime <= 0) {
            location.reload();
          }
        }
      }, 1000);
    },
    //================================================================================================
    toSignIn() {
      // this.signIn(0)
      // return;
      if (!this.signInMaps) this.initSignInMaps();
      let ckeds =
        PLU.getCache("signInArray")?.split(",") ||
        this.signInMaps.map((e, i) => i);

      let htm =
        '<div style="display:flex;flex-direction:row;flex-wrap: wrap;justify-content: space-between;width: 100%;align-content: flex-start;line-height:2;">';
      this.signInMaps.forEach((e, i) => {
        if (!e.n) htm += '<span style="width:92px;">&nbsp;</span>';
        else
          htm += `<span><button class="signInBtn" data-sid="${i}" style="font-size:12px;padding:1px 2px;cursor:pointer;">GO</button>
            <label data-id="${i}" style="font-size:13px;margin:0 3px 5px 0;">${
            e.n
          }<input type="checkbox" name="signInId" value="${i}"
             ${ckeds.includes(i + "") || e.f ? "checked" : ""} ${
            e.f ? "disabled" : ""
          } /></label></span>`;
      });
      htm +=
        '</div><button class="signInAll" style="cursor:pointer;position:absolute;left:15px;bottom:10px;">全選</button>';
      YFUI.showPop({
        title: "簽到",
        text: htm,
        width: "360px",
        okText: "一鍵簽到",
        onOk(e) {
          let checkeds = [];
          e.find('input[name="signInId"]:checked').each((i, b) => {
            checkeds.push(b.value);
          });
          PLU.setCache("auto9H", 1);
          PLU.setCache("signInArray", checkeds.join(","));
          PLU.goSign(checkeds);
        },
        onNo() {},
        afterOpen($el) {
          $el.find(".signInBtn").click((e) => {
            let btnSid = $(e.currentTarget).attr("data-sid");
            PLU.goSign(btnSid);
          });
          $el.find(".signInAll").click((e) => {
            $el.find('input[name="signInId"]').each(function () {
              $(this).prop("checked", true);
            });
          });
        },
      });
    },
    //================================================================================================
    autoSwords(callback) {
      UTIL.addSysListener("sword", (b, type, subtype, msg) => {
        if (type != "notice" || msg.indexOf("試劍") == -1) return;
        if (msg.indexOf("5/5") > 0 || !msg.indexOf("你今天試劍次數已達限額")) {
          UTIL.delSysListener("sword");
          callback && callback();
        } else PLU.execActions("swords fight_test go");
      });
      PLU.execActions(
        "swords;" +
          "swords select_member heimuya_dfbb;" +
          "swords select_member qingcheng_mudaoren;" +
          "swords select_member tangmen_madam;" +
          "swords fight_test go",
      );
    },
    //================================================================================================
    autoGetVipReward(callback) {
      let acts = "";
      let vipInfo = g_obj_map.get("msg_vip");
      if (vipInfo.get("get_vip_drops") == 0) acts += "vip drops;";
      if (vipInfo.get("finish_sort") % 1000 < 5) acts += "#5 vip finish_sort;";
      if (vipInfo.get("finish_dig") % 1000 < 10) acts += "#10 vip finish_dig;";
      if (vipInfo.get("finish_diaoyu") % 1000 < 10)
        acts += "#10 vip finish_diaoyu;";
      if (vipInfo.get("do_task_num") % 1000 < 10)
        acts += "#10 vip finish_big_task;";
      if (vipInfo.get("family_quest_count") % 1000 < 25)
        acts += "#25 vip finish_family;";
      if (
        g_obj_map.get("msg_clan_view") &&
        vipInfo.get("clan_quest_count") % 1000 < 20
      )
        acts += "#20 vip finish_clan;";
      if (
        vipInfo.get("saodang_fb_1") &&
        vipInfo.get("saodang_fb_1").split(",")[2] % 1000 < 2
      )
        acts += "#2 vip finish_fb dulongzhai;";
      if (
        vipInfo.get("saodang_fb_2") &&
        vipInfo.get("saodang_fb_2").split(",")[2] % 1000 < 2
      )
        acts += "#2 vip finish_fb junying;";
      if (
        vipInfo.get("saodang_fb_3") &&
        vipInfo.get("saodang_fb_3").split(",")[2] % 1000 < 2
      )
        acts += "#2 vip finish_fb beidou;";
      if (
        vipInfo.get("saodang_fb_4") &&
        vipInfo.get("saodang_fb_4").split(",")[2] % 1000 < 2
      )
        acts += "#2 vip finish_fb youling;";
      if (
        vipInfo.get("saodang_fb_5") &&
        vipInfo.get("saodang_fb_5").split(",")[2] % 1000 < 1
      )
        acts += "vip finish_fb siyu;";
      if (
        vipInfo.get("saodang_fb_6") &&
        vipInfo.get("saodang_fb_6").split(",")[2] % 1000 < 1
      )
        acts += "vip finish_fb changleweiyang;";
      if (
        vipInfo.get("saodang_fb_7") &&
        vipInfo.get("saodang_fb_7").split(",")[2] % 1000 < 1
      )
        acts += "vip finish_fb heishuihuangling;";
      if (
        vipInfo.get("saodang_fb_8") &&
        vipInfo.get("saodang_fb_8").split(",")[2] % 1000 < 1
      )
        acts += "vip finish_fb jiandangfenglingdu;";
      if (
        vipInfo.get("saodang_fb_9") &&
        vipInfo.get("saodang_fb_9").split(",")[2] % 1000 < 1
      )
        acts += "vip finish_fb tianshanlongxue;";
      if (
        vipInfo.get("saodang_fb_10") &&
        vipInfo.get("saodang_fb_10").split(",")[2] % 1000 < 1
      )
        acts += "vip finish_fb sizhanguangmingding;";
      acts += "home;";
      PLU.execActions(acts, () => {
        callback && callback();
      });
    },
    autoShaodan(callback) {
      let acts = "";
      let vipInfo = g_obj_map.get("msg_vip");
      let isVip = vipInfo.get("vip_tm") > 0;
      if (
        vipInfo.get("saodang_fb_1") &&
        vipInfo.get("saodang_fb_1").split(",")[2] % 1000 < 2
      ) {
        if (isVip) acts += "#2 vip finish_fb dulongzhai;";
        else
          acts +=
            "team create;fb 1;;kill?獨龍寨土匪;n;;kill?獨龍寨土匪;n;;kill?獨龍寨土匪;n;;kill?獨龍寨土匪;n;;kill?傅一鏢;" +
            "team create;fb 1;;kill?獨龍寨土匪;n;;kill?獨龍寨土匪;n;;kill?獨龍寨土匪;n;;kill?獨龍寨土匪;n;;kill?傅一鏢;";
      }
      if (
        vipInfo.get("saodang_fb_2") &&
        vipInfo.get("saodang_fb_2").split(",")[2] % 1000 < 2
      )
        if (isVip) acts += "#2 vip finish_fb junying;";
        else
          acts +=
            "team create;fb 2;;kill?護衛;;kill?小兵;;kill?小兵;e;n;event_1_48728674;fb 2;e;s;event_1_41361248;fb 2;e;e;;kill?護衛;event_1_43484736;;kill?護衛;@赫造基的屍體;@嚴廷殷的屍體;" +
            "team create;fb 2;;kill?護衛;;kill?小兵;;kill?小兵;e;n;event_1_48728674;fb 2;e;s;event_1_41361248;fb 2;e;e;;kill?護衛;event_1_43484736;;kill?護衛;";
      if (
        vipInfo.get("saodang_fb_3") &&
        vipInfo.get("saodang_fb_3").split(",")[2] % 1000 < 2
      ) {
        if (isVip) acts += "#2 vip finish_fb beidou;";
        else
          acts +=
            "team create;fb 3;w;;kill?天璇劍客;e;s;;kill?玉衡劍客;n;e;;kill?瑤光劍客;event_1_9777898;;kill?天樞劍客;@天樞劍客的屍體;" +
            "team create;fb 3;w;;kill?天璇劍客;e;s;;kill?玉衡劍客;n;e;;kill?瑤光劍客;event_1_9777898;;kill?天樞劍客;";
      }
      if (
        vipInfo.get("saodang_fb_4") &&
        vipInfo.get("saodang_fb_4").split(",")[2] % 1000 < 2
      ) {
        if (isVip) acts += "#2 vip finish_fb youling;";
        else
          acts +=
            "team create;fb 4;n;;kill?翻雲刀神;n;;kill?織冰女俠;n;;kill?覆雨劍神;n;;kill?排雲狂神;n;;kill?九天老祖;" +
            "team create;fb 4;n;;kill?翻雲刀神;n;;kill?織冰女俠;n;;kill?覆雨劍神;n;;kill?排雲狂神;n;;kill?九天老祖;";
      }
      if (
        vipInfo.get("saodang_fb_5") &&
        vipInfo.get("saodang_fb_5").split(",")[2] % 1000 < 1
      ) {
        if (isVip) acts += "vip finish_fb siyu;";
        else
          acts +=
            "team create;fb 5;event_1_26662342;;kill?勾陳教香主;se;;kill?勾陳教掌教;nw;nw;event_1_15727082;;kill?紫薇教香主;nw;;kill?紫薇教掌教;se;se;event_1_12238479;;kill?長生教香主;sw;;kill?長生教掌教;ne;ne;event_1_889199;;kill?後土教香主;ne;;kill?後土教掌教;sw;sw;;;;;;;event_1_77337496;;kill?後土真人;";
      }
      if (
        vipInfo.get("saodang_fb_6") &&
        vipInfo.get("saodang_fb_6").split(",")[2] % 1000 < 1
      ) {
        if (isVip) acts += "vip finish_fb changleweiyang;";
        else
          acts +=
            "team create;fb 6;event_1_94101353;;kill?黃門丞;event_1_8221898;;kill?少府卿;event_1_18437151;;kill?羽林衛;event_1_74386803;;kill?舞樂令;event_1_39816829;event_1_92691681;event_1_19998221;event_1_62689078;;kill?羽林中郎將;event_1_85127800;;ask changleweiyang_jiangzuodajiang;event_1_39026868;;kill?大司馬;s;;kill?未央公主;";
      }
      if (
        vipInfo.get("saodang_fb_7") &&
        vipInfo.get("saodang_fb_7").split(",")[2] % 1000 < 1
      )
        if (isVip) acts += "vip finish_fb heishuihuangling;";
        else
          acts +=
            "team create;fb 7;event_1_20980858;;kill?斷龍斧衛;fb 7;event_1_81463220;;kill?金錘力士;fb 7;event_1_5770640;;kill?重甲矛士;fb 7;event_1_56340108;;kill?大夏神箭;event_1_21387224;s;;kill?金錘虎將;event_1_94902320;";
      if (
        vipInfo.get("saodang_fb_8") &&
        vipInfo.get("saodang_fb_8").split(",")[2] % 1000 < 1
      )
        if (isVip) acts += "vip finish_fb jiandangfenglingdu;";
        else
          acts +=
            "team create;fb 8;n;;kill?夜傷;n;;kill?百裡傷;fb 8;e;;kill?夜幽女;e;;kill?千夜女使;fb 8;w;kill?夜殺;w;;kill?燭夜長老;fb 8;s;;kill?夜刺;s;;kill?千夜刺將;event_1_28034211;;kill?風陵總管;event_1_17257217;";
      if (
        vipInfo.get("saodang_fb_9") &&
        vipInfo.get("saodang_fb_9").split(",")[2] % 1000 < 1
      )
        if (isVip) acts += "vip finish_fb tianshanlongxue;";
        else
          acts +=
            "team create;fb 9;;kill?劍影;n;;kill?劍浪;n;;kill?劍豹;n;;kill?劍蟒;n;;kill?劍飛;n;;kill?劍神;";
      if (
        vipInfo.get("saodang_fb_10") &&
        vipInfo.get("saodang_fb_10").split(",")[2] % 1000 < 1
      )
        acts += "vip finish_fb sizhanguangmingding;";
      acts += "home;";
      PLU.execActions(acts, () => {
        callback && callback();
      });
    },
    //================================================================================================
    getClanInfo(callback) {
      let openClanTimeout = setTimeout(() => {
        UTIL.delSysListener("listenOpenClan");
        callback && callback(0);
      }, 5000);
      UTIL.addSysListener("listenOpenClan", (b, type, subtype, msg) => {
        if (type == "clan") {
          UTIL.delSysListener("listenOpenClan");
          clearTimeout(openClanTimeout);
          clickButton("prev");
          //console.log(g_obj_map.get("msg_clan_view"))
          callback && callback(1);
        }
      });
      clickButton("clan");
    },
    getVipInfo(callback) {
      let openVipTimeout = setTimeout(() => {
        UTIL.delSysListener("listenOpenVip");
        callback && callback(0);
      }, 5000);
      UTIL.addSysListener("listenOpenVip", (b, type, subtype, msg) => {
        if (type == "vip") {
          UTIL.delSysListener("listenOpenVip");
          clearTimeout(openVipTimeout);
          clickButton("prev");
          //console.log(g_obj_map.get("msg_vip"))
          callback && callback(1);
        }
      });
      clickButton("vip");
    },
    //================================================================================================
    goSign(param) {
      if (!param) {
        return YFUI.writeToOut("<span style='color:#FFF;'>--結束--</span>");
      } else if (param.length == 0) {
        return YFUI.writeToOut("<span style='color:#FFF;'>--簽到結束--</span>");
      }
      let sid = null;
      if (typeof param == "object") {
        sid = param.shift();
      } else {
        sid = param;
        param = null;
      }
      let signD = PLU.signInMaps[sid];
      if (signD.c != undefined) {
        if (signD.c()) {
          if (signD.fn) {
            signD.fn(() => {
              PLU.goSign(param);
            });
          } else if (signD.go) {
            PLU.execActions(signD.go, () => {
              PLU.goSign(param);
            });
          }
        } else {
          PLU.goSign(param);
        }
      } else {
        if (signD.fn) {
          signD.fn(() => {
            PLU.goSign(param);
          });
        } else if (signD.go) {
          PLU.execActions(signD.go, () => {
            PLU.goSign(param);
          });
        }
      }
    },
    //================================================================================================
    initSignInMaps() {
      let _this = this;
      this.getVipInfo((b) => {
        _this.getClanInfo((a) => {});
      });
      this.signInMaps = [
        {
          n: "揚州簽到",
          f: true,
          go: "jh 5;n;n;n;w;look_npc yangzhou_yangzhou4;sign7;home;",
        },
        {
          n: "每日禮包",
          f: true,
          go: "jh 1;event_1_48246976;event_1_85373703;home;",
        },
        { n: "潛龍禮包", go: "jh 1;w;event_1_76648488;event_1_21318613;home;" },
        { n: "續約會員", go: "jh 1;event_1_45018293;home;" },
        {
          n: "分享獎勵",
          go: "share_ok 1;share_ok 2;share_ok 3;share_ok 4;share_ok 5;share_ok 7;home;",
        },
        {
          n: "南詔投資",
          go: "jh 54;#4 nw;#2 w;#4 n;#2 e;n;#2 e;event_1_62143505 go;;;event_1_62143505 get;event_1_63750325 get;home;",
        },
        {
          n: "消費積分",
          go: "jh 1;e;n;e;e;event_1_44731074;event_1_8041045;event_1_8041045;event_1_29721519;home;",
        },
        { n: "吃九花丸", go: "items use obj_jiuhuayulouwan;" },
        {
          n: "打坐睡床",
          go: "home;exercise stop;exercise;golook_room;sleep_hanyuchuang;home;",
        },
        { n: "買引路蜂", go: "shop money_buy mny_shop2_N_10;home;" },
        {
          n: "領取工資",
          go: "home;work click maikuli;work click duancha;work click dalie;work click baobiao;work click maiyi;work click xuncheng;work click datufei;work click dalei;work click kangjijinbin;work click zhidaodiying;work click dantiaoqunmen;work click shenshanxiulian;work click jianmenlipai;work click dubawulin;work click youlijianghu;work click yibangmaoxiang;work click zhengzhanzhongyuan;work click taofamanyi;public_op3;home;",
        },
        {
          n: "爬樓獎勵",
          go: "home;cangjian get_all;xueyin_shenbinggu blade get_all;xueyin_shenbinggu unarmed get_all;xueyin_shenbinggu throwing get_all;xueyin_shenbinggu spear get_all;xueyin_shenbinggu hammer get_all;xueyin_shenbinggu axe get_all;xueyin_shenbinggu whip get_all;xueyin_shenbinggu stick get_all;xueyin_shenbinggu staff get_all;home;",
        },
        {
          n: "VIP 福利",
          c: function () {
            return (
              g_obj_map.get("msg_vip") &&
              g_obj_map.get("msg_vip").get("vip_tm") > 0 &&
              g_obj_map.get("msg_vip").get("get_vip_drops") == 0
            );
          },
          go: "vip drops;",
        },
        {
          n: "VIP 排行",
          c: function () {
            return (
              g_obj_map.get("msg_vip") &&
              g_obj_map.get("msg_vip").get("vip_tm") > 0 &&
              g_obj_map.get("msg_vip").get("finish_sort") % 1000 < 5
            );
          },
          go: "#5 vip finish_sort;",
        },
        {
          n: "VIP 尋寶",
          c: function () {
            return (
              g_obj_map.get("msg_vip") &&
              g_obj_map.get("msg_vip").get("vip_tm") > 0 &&
              g_obj_map.get("msg_vip").get("finish_dig") % 1000 < 10
            );
          },
          go: "#10 vip finish_dig;",
        },
        {
          n: "VIP 釣魚",
          c: function () {
            return (
              g_obj_map.get("msg_vip") &&
              g_obj_map.get("msg_vip").get("vip_tm") > 0 &&
              g_obj_map.get("msg_vip").get("finish_diaoyu") % 1000 < 10
            );
          },
          go: "#10 vip finish_diaoyu;",
        },
        {
          n: "VIP 暴擊",
          c: function () {
            return (
              g_obj_map.get("msg_vip") &&
              g_obj_map.get("msg_vip").get("vip_tm") > 0 &&
              g_obj_map.get("msg_vip").get("do_task_num") % 1000 < 10
            );
          },
          go: "#10 vip finish_big_task;",
        },
        {
          n: "VIP 師門",
          c: function () {
            return (
              g_obj_map.get("msg_vip") &&
              g_obj_map.get("msg_vip").get("vip_tm") > 0 &&
              g_obj_map.get("msg_vip").get("family_quest_count") % 1000 < 25
            );
          },
          go: "#25 vip finish_family;",
        },
        {
          n: "VIP 幫派",
          c: function () {
            return (
              g_obj_map.get("msg_vip") &&
              g_obj_map.get("msg_vip").get("vip_tm") > 0 &&
              g_obj_map.get("msg_clan_view") &&
              g_obj_map.get("msg_vip").get("clan_quest_count") % 1000 < 20
            );
          },
          go: "#20 vip finish_clan;",
        },
        {
          n: "掃盪副本",
          fn: PLU.autoShaodan,
        },
        {
          n: "論劍試劍",
          fn: PLU.autoSwords,
        },
        {
          n: "銀兩上香",
          c: function () {
            return !!g_obj_map.get("msg_clan_view");
          },
          go: "#20 clan incense yx;home;",
        },
        {
          n: "冰火玄鐵",
          go: "jh 35;nw;nw;nw;n;ne;nw;w;nw;e;e;e;e;e;se;n;n;w;n;w;event_1_53278632;sousuo;sousuo;home;",
        },
        {
          n: "俠客看書",
          go: "jh 36;yell;e;ne;ne;ne;e;e;e;event_1_9179222;e;event_1_11720543;home;",
        },
        {
          n: "絕情鱷魚",
          go: "jh 37;n;e;e;nw;nw;w;n;e;n;e;e;e;ne;ne;ne;se;n;event_1_97487911;home;",
        },
        {
          n: "大昭岩畫",
          go: "jh 26;w;w;n;w;w;w;n;n;place?陰山岩畫;event_1_12853448;home;",
        },
        {
          n: "白駝闖陣",
          go: "jh 21;n;n;n;n;w;;kill?青衣盾衛;w;;kill?飛羽神箭;w;;kill?銀狼近衛;w;;fight baituo_junzhongzhushuai;home;",
        },
        {
          n: "青城孽龍",
          go: "jh 15;n;nw;w;nw;n;event_1_14401179;;kill?孽龍之靈;home;",
        },
        {
          n: "峨眉解圍",
          go: "jh 8;ne;e;e;e;n;;kill?赤豹死士;n;n;;kill?黑鷹死士;n;n;;kill?金狼大將;home;",
        },
        {
          n: "破陣採礦",
          go: "jh 26;w;w;n;e;e;event_1_18075497;w;w;n;event_1_14435995;home;",
        },
        { n: "西安採蓮", go: "jh 2;#19 n;e;n;n;n;w;event_1_31320275;home;" },
        { n: "恆山盜賊", go: "jh 9;event_1_20960851;;kill?殺神寨匪首;home;" },
        {
          n: "少林渡劫",
          go: "jh 13;e;s;s;w;w;w;;event_1_38874360;;kill?渡風神識;home;",
        },
        {
          n: "白馱奇襲",
          go: "jh 21;n;n;n;n;e;e;e;e;e;e;e;s;s;event_1_66710076;s;e;ne;e;se;n;event_1_53430818;n;;kill?豹軍主帥;s;s;nw;n;n;;kill?虎軍主帥;s;s;se;e;e;e;;kill?鷹軍主帥;w;w;w;nw;w;nw;event_1_89411813;;kill?頡利;home;",
        },
        { n: "唐門冰月", fn: PLU.autoBingyue },
        {
          n: "明教毒魔",
          go: "jh 18;n;nw;n;n;n;n;n;ne;n;n;n;n;n;n;n;n;n;w;nw;nw;event_1_70957287;;kill?九幽毒魔;home;",
        },
        { n: "天山七侠", fn: PLU.TianShan7Xia },
        {
          n: "十八木人",
          go: "jh 41;se;e;e;se;se;se;se;se;se;event_1_57976870;n;n;n;event_1_91914705;e;e;e;e;#2 vent_1_85950082;home;",
        },
        {
          n: "求教阿不",
          go: "jh 31;n;se;e;se;s;s;sw;se;se;e;nw;e;ne;n;ne;n;n;n;n;n;n;n;n;n;w;w;event_1_57281457;event_1_10395181;home;",
        },

        { n: _("自动答题", "自動答題"), fn: PLU.loopAnswerQues },
        { n: "垂釣一夏", go: "jh 5;n;w;event_1_3144437;home;" },
        {
          n: "慶典禮包",
          go: "jh 7;s;s;s;s;s;s;e;event_1_96371293;home;",
        },
        { n: "", go: "home" },
      ];
    },
    TianShan7Xia(callback) {
      PLU.execActions(
        "jh 39;ne;e;n;ne;ne;n;ne;nw;ne;nw;event_1_17801939;place?星星峽;ne;ne;nw;nw",
        () => {
          PLU.autoFight({
            targetKey: "\nevent_1_37376258", // 懒的改函数了,直接注入(
            fightKind: " ",
            onFail() {
              PLU.execActions("home;", () => {
                callback && callback();
              });
            },
            onEnd() {
              PLU.execActions("home;", () => {
                callback && callback();
              });
            },
          });
        },
      );
    },
    loopAnswerQues(callback) {
      let setAnswerTimeout = function () {
        PLU.STO.ansTo && clearTimeout(PLU.STO.ansTo);
        PLU.STO.ansTo = setTimeout(() => {
          UTIL.delSysListener("onAnswerQuestions");
          YFUI.writeToOut("<span style='color:#FFF;'>--答案超時!--</span>");
        }, 5000);
      };
      UTIL.addSysListener(
        "onAnswerQuestions",
        function (b, type, subtype, msg) {
          if (
            type == "notice" &&
            msg.indexOf("每日武林知識問答次數已經達到限額") > -1
          ) {
            if (callback) callback();
            else clickButton("home");
            UTIL.delSysListener("onAnswerQuestions");
            PLU.STO.ansTo && clearTimeout(PLU.STO.ansTo);
            return;
          }
          if (type != "show_html_page") return;
          var qs = msg.split("\n");
          if (!qs) return;
          if (qs[0].indexOf("知識問答第") < 0) return;
          setAnswerTimeout();
          var qus = "";
          for (var i = 1; i < qs.length; i++) {
            qus = $.trim(UTIL.filterMsg(qs[i]));
            if (qus.length > 0) break;
          }
          if (qus.indexOf("回答正確") >= 0) {
            clickButton("question");
            return;
          }
          var answer = PLU.getAnswer2Question(qus);
          if (answer == null) {
            UTIL.delSysListener("onAnswerQuestions");
            PLU.STO.ansTo && clearTimeout(PLU.STO.ansTo);
            PLU.setBtnRed($btn, 0);
            YFUI.writeToOut(
              "<span style='color:#FFF;'>--未找到答案:" + qus + "--</span>",
            );
            return;
          }
          setTimeout(() => {
            clickButton("question " + answer);
          }, 300);
        },
      );
      setAnswerTimeout();
      clickButton("question");
    },
    //================================================================================================
    getAnswer2Question(localQuestion) {
      var answer = PLU.YFD.QuestAnsLibs[localQuestion];
      if (answer) return answer;
      var halfQuestion = localQuestion.substring(localQuestion.length / 2);
      for (var quest in PLU.YFD.QuestAnsLibs) {
        if (quest.indexOf(halfQuestion) == 0) {
          return PLU.YFD.QuestAnsLibs[quest];
        }
      }
      return null;
    },
    //================================================================================================
    autoBingyue(callback) {
      PLU.execActions("jh 14;w;n;n;n;n;event_1_32682066;;;", () => {
        setTimeout(() => {
          PLU.killBingYue(() => {
            if (callback) callback();
            else clickButton("home");
          });
        });
      });
    },
    //================================================================================================
    killBingYue(endCallback) {
      if (parseInt(PLU.getCache("autoPerform")) < 1) {
        PLU.toggleAutoPerform($("#btn_bt_kg_autoPerform"), "autoPerform", 1);
      }
      let tryKill = function (kname, cb, er) {
        PLU.autoFight({
          targetName: kname,
          fightKind: "kill",
          onFail() {
            er && er();
          },
          onEnd() {
            cb && cb();
          },
        });
      };
      PLU.execActions("event_1_48044005;;;;", () => {
        tryKill(
          "冰麟獸",
          () => {
            PLU.execActions("event_1_95129086;;;;", () => {
              tryKill(
                "玄武機關獸",
                () => {
                  PLU.execActions(
                    "event_1_17623983;event_1_41741346;;;;",
                    () => {
                      tryKill(
                        "九幽魔靈",
                        () => {
                          PLU.execActions("s;;;;", () => {
                            tryKill(
                              "冰月仙人",
                              () => {
                                endCallback && endCallback();
                              },
                              () => {
                                endCallback && endCallback();
                              },
                            );
                          });
                        },
                        () => {
                          endCallback && endCallback();
                        },
                      );
                    },
                  );
                },
                () => {
                  endCallback && endCallback();
                },
              );
            });
          },
          () => {
            endCallback && endCallback();
          },
        );
      });
    },
    //================================================================================================
    autoXTL1() {
      clickButton("team create");
      PLU.killLHYD((err) => {
        return YFUI.writeToOut(
          "<span style='color:#FFF;'>結束--" + err + "</span>",
        );
      });
    },
    autoXTL2() {
      clickButton("team create");
      PLU.killSY((err) => {
        return YFUI.writeToOut(
          "<span style='color:#FFF;'>結束--" + err + "</span>",
        );
      });
    },
    autoERG() {
      PLU.killERG((err) => {
        return YFUI.writeToOut(
          "<span style='color:#FFF;'>結束--" + err + "</span>",
        );
      });
    },
    scanPuzzle() {
      PLU.TMP.autoscan = true;
      PLU.TMP.autotask = true;
      UTIL.addSysListener("reload", (b, type, subtype, msg) => {
        if (
          type == "notice" &&
          subtype == "notify_fail" &&
          msg == "你的背包裡沒有這個物品。\n"
        )
          location.reload();
      });
      if (!PLU.TMP.index) PLU.TMP.index = 0;
      PLU.TMP.func = () => {
        PLU.execActions(PLU.YFD.mapsLib.Npc_New[PLU.TMP.index].way, () => {
          PLU.execActions(
            ";;ask " + PLU.YFD.mapsLib.Npc_New[PLU.TMP.index].id,
            () => {
              PLU.TMP.puzzleTimeOut = setTimeout(() => {
                if (!PLU.TMP.puzzleWating.status) {
                  PLU.TMP.index++;
                  PLU.TMP.func();
                }
              }, 500);
            },
          );
        });
      };
      PLU.TMP.func();
    },
    puzzleKey() {
      YFUI.showInput({
        title: "密碼設置",
        text: "暴擊密碼提交給(輸入角色ID)",
        value: PLU.getCache("masterAcc") || PLU.accId,
        onOk(val) {
          PLU.setCache("masterAcc", String(val));
        },
        onNo() {},
      });
    },
    path4FHMJ(endCallback) {
      PLU.execActions("jh");
      if (
        g_obj_map.get("msg_jh_list") &&
        g_obj_map.get("msg_jh_list").get("finish43") == 0
      ) {
        return "jh 1;e;n;n;n;n;w;event_1_90287255 go 6;e;s;sw;se;ne;se;s;";
      } else {
        return "jh 43;sw;sw;sw;s;se;se;se;e;s;sw;se;ne;se;s;";
      }
    },
    //琅嬛玉洞
    killLHYD(endCallback) {
      PLU.execActions(PLU.path4FHMJ() + "event_1_52732806", (f) => {
        if (!f) return endCallback && endCallback(1);
        PLU.execActions(
          "kill langhuanyudong_qixing;;kill langhuanyudong_benkuangxiao;;sw;;kill murong_tuboguoshi;;;get?吐蕃國師的屍體;;",
          (f2) => {
            if (!f2) return endCallback && endCallback(2);
            PLU.execActions(
              "ne;n;;event_1_96023188;w;event_1_39972900;w;event_1_92817399;w;event_1_91110342;s;event_1_74276536;se;event_1_14726005;se;se;;;",
              () => {
                let sd = g_obj_map
                  .get("msg_room")
                  .elements.find((e) => e.value.indexOf("掃盪") >= 0);
                if (sd) {
                  let cmd_sd = g_obj_map
                    .get("msg_room")
                    .get(sd.key.split("_")[0]);
                  PLU.doSaoDang("langhuanyudong", cmd_sd, () => {
                    PLU.killLHYD(endCallback);
                  });
                } else {
                  endCallback && endCallback(5);
                }
              },
            );
          },
        );
      });
    },
    //山崖
    killSY(endCallback) {
      PLU.execActions(PLU.path4FHMJ() + "event_1_64526228", (f) => {
        if (!f) return endCallback && endCallback(1);
        PLU.execActions(
          "kill shanya_muzhaoxue;;kill shanya_qiongduwu;;kill shanya_yuanzhenheshang;;;",
          (f2) => {
            if (!f2) return endCallback && endCallback(2);
            PLU.execActions(
              "w;event_1_61179401;n;event_1_93134350;n;event_1_60227051;n;event_1_66986009;;kill mingjiao_mengmianrentoumu;;;;get?蒙面人頭目的屍體;;",
              () => {
                PLU.execActions(
                  "n;event_1_53067175;n;event_1_58530809;w;event_1_86449371;event_1_66983665;;",
                  () => {
                    let sd = g_obj_map
                      .get("msg_room")
                      .elements.find((e) => e.value.indexOf("掃盪") >= 0);
                    if (sd) {
                      let cmd_sd = g_obj_map
                        .get("msg_room")
                        .get(sd.key.split("_")[0]);
                      PLU.doSaoDang("shanya", cmd_sd, () => {
                        PLU.killSY(endCallback);
                      });
                    } else {
                      endCallback && endCallback(5);
                    }
                  },
                );
              },
            );
          },
        );
      });
    },
    // 恶人谷
    killERG(endCallback) {
      var flag = false;
      PLU.execActions("rank go 236;", (f) => {
        if (!f) return endCallback && endCallback(1);
        PLU.execActions(
          "nw;n;n;n;n;n;n;;kill tianlongsi_lidazui;get?李大嘴的屍體",
          (f2) => {
            if (!f2) return endCallback && endCallback(2);
            PLU.execActions(
              "nw;nw;n;;kill tianlongsi_baikaixin;get?白開心的屍體",
              (f3) => {
                if (!f3) return endCallback && endCallback(3);
              },
            );
          },
        );
      });
    },
    buyJHYL() {
      UTIL.addSysListener("9HYL", (b, type, subtype, msg) => {
        if (type != "show_html_page") return;
        var sp = msg.match(/你有四海商票\u001b\[1;32mx(\d+)\u001b\[2;37;0m/);
        if (!sp) return;
        sp = sp[1];
        if (sp < 21750)
          return YFUI.writeToOut(
            "<span style='color:#FF0;'>--你的商票不足21750--</span>",
          );
        else
          PLU.execActions(
            "reclaim buy 27 go 45;" + // 矢車菊
              "reclaim buy 46 go 45;" + // 雪英
              "reclaim buy 45 go 45;" + // 忘憂草
              "reclaim buy 29 go 15;" + // 鳳凰木
              "reclaim buy 36 go 5;" + // 洛神花
              "reclaim buy 31 go 45;" + // 君影草
              "reclaim buy 32 go 45;" + // 仙客來
              "reclaim buy 33 go 15;" + // 淩霄花
              "reclaim buy 34 go 15;" + // 夕霧草
              (UTIL.inHome() ? "go_lookroom" : "home"),
          );
        UTIL.delSysListener("9HYL");
      });
      PLU.execActions("reclaim recl");
    },
    //================================================================================================
    execActions(str, endcallback, params) {
      var acs = str
        .split(";")
        .map((e) => {
          let np = e.match(/^#(\d+)\s(.*)/);
          if (np) {
            let r = [];
            for (let i = 0; i < np[1]; i++) r.push(np[2]);
            return r;
          }
          return e;
        })
        .flat()
        .map((e) => {
          if (PLU.YFD.pathCmds[e])
            return PLU.YFD.pathCmds[e] + "." + UTIL.rnd();
          return e;
        });
      PLU.actions({
        paths: acs,
        idx: 0,
        onPathsEnd() {
          PLU.STATUS.isBusy = false;
          endcallback && endcallback(true, params);
        },
        onPathsFail() {
          PLU.STATUS.isBusy = false;
          endcallback && endcallback(false, params);
        },
      });
    },
    //================================================================================================
    actions(params) {
      PLU.STATUS.isBusy = true;
      //params:{paths,idx,onPathsEnd,onPathsFail}
      if (params.idx >= params.paths.length) {
        return params.onPathsEnd && params.onPathsEnd();
      }
      let curAct = params.paths[params.idx];
      //null
      if (!curAct) {
        setTimeout(() => {
          params.idx++;
          PLU.actions(params);
        }, 250);
        return;
      }
      //去比試
      if (curAct.indexOf("fight?") > -1 || curAct.indexOf("fight ") > -1) {
        let kt = parseInt(PLU.getCache("autoPerform")) < 1 ? "multi" : "";
        PLU.autoFight({
          targetName:
            curAct.indexOf("fight?") > -1 ? curAct.substring(6) : null,
          targetKey: curAct.indexOf("fight ") > -1 ? curAct.substring(6) : null,
          fightKind: "fight",
          autoSkill: kt,
          onFail() {
            setTimeout(() => {
              params.idx++;
              PLU.actions(params);
            }, 500);
          },
          onEnd() {
            setTimeout(() => {
              params.idx++;
              PLU.actions(params);
            }, 500);
          },
        });
        return;
      }
      //去殺
      if (curAct.indexOf("kill?") > -1 || curAct.indexOf("kill ") > -1) {
        let kt = parseInt(PLU.getCache("autoPerform")) < 1 ? "multi" : "";
        PLU.autoFight({
          targetName: curAct.indexOf("kill?") > -1 ? curAct.substring(5) : null,
          targetKey: curAct.indexOf("kill ") > -1 ? curAct.substring(5) : null,
          autoSkill: kt,
          onFail() {
            setTimeout(() => {
              params.idx++;
              PLU.actions(params);
            }, 500);
          },
          onEnd() {
            setTimeout(() => {
              params.idx++;
              PLU.actions(params);
            }, 500);
          },
        });
        return;
      }
      // 去摸屍體
      if (curAct.indexOf("get?") > -1) {
        UTIL.getItemFrom(curAct.substring(4));
        setTimeout(() => {
          params.idx++;
          PLU.actions(params);
        }, 500);
        return;
      }
      // 去摸屍體
      if (curAct.indexOf("@") > -1) {
        UTIL.getItemFrom(curAct.substring(1));
        setTimeout(() => {
          params.idx++;
          PLU.actions(params);
        }, 500);
        return;
      }
      // 叫船
      if (curAct.indexOf("yell") > -1) {
        let yellBoatTimeout = setTimeout((e) => {
          clearTimeout(yellBoatTimeout);
          UTIL.delSysListener("goYellBoat");
          params.idx++;
          PLU.actions(params);
        }, 120000);
        UTIL.addSysListener("goYellBoat", function (b, type, subtype, msg) {
          if (type == "main_msg" && msg.indexOf("還沒有達到這") > -1) {
            setTimeout(() => {
              clearTimeout(yellBoatTimeout);
              UTIL.delSysListener("goYellBoat");
              PLU.actions(params);
            }, 2000);
            return;
          }
          if (type == "notice" && msg.indexOf("這兒沒有船可以喊") > -1) {
            setTimeout(() => {
              clearTimeout(yellBoatTimeout);
              UTIL.delSysListener("goYellBoat");
              params.idx++;
              PLU.actions(params);
            }, 500);
            return;
          }
          if (type != "jh" || subtype != "info") return;
          for (var key of b.keys()) {
            var val = b.get(key);
            if (val.indexOf("yell") < 0) continue;
            clearTimeout(yellBoatTimeout);
            UTIL.delSysListener("goYellBoat");
            params.idx++;
            PLU.actions(params);
            break;
          }
        });
        clickButton(curAct);
        return;
      }
      //函式
      if (curAct.indexOf("eval_") > -1) {
        eval(curAct.substring(5));
        setTimeout(() => {
          params.idx++;
          PLU.actions(params);
        }, 500);
        return;
      }
      //檢查地點重走
      if (curAct.indexOf("place?") > -1) {
        var pName = curAct.split(/[?:]/)[1];
        var curName = UTIL.filterMsg(
          g_obj_map.get("msg_room").get("short") || "",
        );
        var backStep = curAct.split(/[?:]/)[2];
        // 未到達指定地,重新走
        if (pName != curName) {
          if (backStep) {
            //退後幾步
            params.idx -= Number(backStep);
            PLU.actions(params);
            return;
          }
          params.idx = 0;
          PLU.actions(params);
          return;
        }
        // 已到達指定地點,繼續下一個
        params.idx++;
        PLU.actions(params);
        return;
      }

      //迷宫
      if (curAct.match(/^(.+):(.+\^.+)$/)) {
        PLU.execActions(PLU.YFD.mapsLib.Labyrinth[curAct[1]][curAct[2]], () => {
          params.idx++;
          PLU.actions(params);
        });
        return;
      }

      //稱號飛修正
      if (curAct.indexOf("rank go") > -1) {
        let m = curAct.match(/rank go (\d+)/);
        if (m && m[1]) {
          curAct = "rank go " + (Number(m[1]) + 1);
        }
      }

      //look,ask,
      if (
        curAct.match(
          /look|ask|get|buy|home|prev|moke|sort|share|sign|sleep|exercise|clan|work|chushi |vip |event_|lq_|wear |wield |remove |unwield/,
        )
      ) {
        if (curAct == "ask?lama_master") {
          UTIL.addSysListener("lama", (b, type, subtype, msg) => {
            if (type == "main_msg")
              if (msg.indexOf("葛倫師傅在幻境之中") == -1)
                clickButton("ask lama_master");
              else {
                params.idx++;
                PLU.actions(params);
                UTIL.delSysListener("lama");
              }
          });
          clickButton("ask lama_master");
        } else {
          clickButton(curAct);
          setTimeout(() => {
            params.idx++;
            PLU.actions(params);
          }, 300);
        }
        return;
      }
      if (
        curAct == "飛雪連天射白鹿,笑書神俠倚碧鴛。" ||
        curAct == "飞雪连天射白鹿,笑书神侠倚碧鸳。"
      ) {
        if (PLU.devmode) {
          PLU.setCache("developer", 0);
          YFUI.writeToOut(
            "<span style='color:white;'>==已關閉開發者模式部分功能,刷新後關閉開發者模式全部功能==</span>",
          );
          setTimeout(() => location.reload(), 300);
        } else {
          YFUI.showPop({
            title: "!!!警告!!!",
            text: _(
              "你将开启本脚本开发者模式<br>" +
                "开发者模式功能清单:<br>" +
                "浏览器控制台(F12)输出按键指令、变量g_obj_map的实时变化<br>" +
                "闲聊允许向非脚本玩家打印屏蔽词(屏蔽词不会转为“*”,单字、特殊字符除外)<br>" +
                "可在非首页、非师傅所在地拜入门派,包括未开图的隐藏门派(掌握空间法则(误))<br>" +
                "显示监听暴击、全自动暴击开关(掌握时间法则(延长寿命(<br>" +
                "<b>实验功能可能会导致封号,是否继续?</b>",
              "你將開啟本腳本開發者模式<br>" +
                "開發者模式功能清單:<br>" +
                "瀏覽器控制檯(F12)輸出按鍵指令、變量g_obj_map的實時變化<br>" +
                "閒聊允許向非腳本玩家打印屏蔽詞(屏蔽詞不會轉為“*”,單字、特殊字符除外)<br>" +
                "可在非首頁、非師傅所在地拜入門派,包括未開圖的隱藏門派(掌握空間法則(誤))<br>" +
                "顯示監聽暴擊、全自動暴擊開關(掌握時間法則(延長壽命(<br>" +
                "<b>實驗功能可能會導致封號,是否繼續?</b>",
            ),
            onOk() {
              PLU.setCache("developer", 1);
              location.reload();
            },
            onNo() {
              params.idx++;
              PLU.actions(params);
            },
          });
        }
        return;
      }
      //行動
      PLU.go({
        action: curAct,
        onEnd() {
          if (params.idx + 1 >= params.paths.length) {
            return params.onPathsEnd && params.onPathsEnd();
          }
          params.idx++;
          PLU.actions(params);
        },
        onFail(flag) {
          if (flag && PLU.STATUS.inBattle) {
            PLU.autoEscape({
              onEnd() {
                setTimeout(() => {
                  PLU.actions(params);
                }, 1000);
              },
            });
            return;
          } else if (flag) {
            if (PLU.STO.REGO) {
              clearTimeout(PLU.STO.REGO);
              PLU.STO.REGO = null;
            }
            PLU.STO.REGO = setTimeout(() => {
              params.idx++;
              PLU.actions(params);
            }, 1000);
          } else {
            params.onPathsFail && params.onPathsFail();
          }
        },
      });
    },
    //================================================================================================
    go({ action, onEnd, onFail }) {
      if (!action) return onEnd && onEnd(false);
      let clearGoTimeout = function (timeoutKey) {
        clearTimeout(timeoutKey);
        timeoutKey = null;
        UTIL.delSysListener("goMove");
      };
      let goTimeout = setTimeout(function () {
        clearGoTimeout(goTimeout);
        onEnd && onEnd(false);
      }, 2000);
      UTIL.addSysListener("goMove", function (b, type, subtype, msg) {
        if (type == "notice" && subtype == "notify_fail") {
          if (msg.indexOf("你正忙著呢") > -1) {
            clearGoTimeout(goTimeout);
            return onFail && onFail(true);
          }
          if (
            msg.indexOf("無法走動") > -1 ||
            msg.indexOf("沒有這個方向") > -1 ||
            msg.indexOf("只有VIP才可以直接去往此地") > -1 ||
            msg.indexOf("你什麼都沒發覺") > -1 ||
            msg.indexOf("就此鑽入恐有辱墓主") > -1 ||
            msg.indexOf("你雖知這松林內有乾坤,但並沒發現任何線索") > -1 ||
            msg.indexOf("此地圖還未解鎖,請先通關前面的地圖。") > -1
          ) {
            clearGoTimeout(goTimeout);
            return onFail && onFail(false, msg);
          }
        }
        if (type == "unknow_command" || (type == "jh" && subtype == "info")) {
          clearGoTimeout(goTimeout);
          setTimeout(function () {
            onEnd && onEnd(true);
          }, 200);
          return;
        }
      });
      clickButton(action);
    },
    //================================================================================================
    fastExec(str, endcallback) {
      var acs = str
        .split(";")
        .map((e) => {
          let np = e.match(/^#(\d+)\s(.*)/);
          if (np) {
            let r = [];
            for (let i = 0; i < np[1]; i++) r.push(np[2]);
            return r;
          }
          return e;
        })
        .flat()
        .map((e) => {
          if (PLU.YFD.pathCmds[e])
            return PLU.YFD.pathCmds[e] + "." + UTIL.rnd();
          return e;
        });
      let fastFunc = (acts, idx) => {
        if (idx >= acts.length) {
          setTimeout(() => {
            endcallback && endcallback(true);
          }, 1000);
          return;
        }
        let curAct = acts[idx];
        if (!curAct) return fastFunc(acts, idx + 1);
        clickButton(curAct);
        setTimeout(() => {
          fastFunc(acts, idx + 1);
        }, 200);
        return;
      };
      fastFunc(acs, 0);
    },
    //================================================================================================
    selectSkills(skillName) {
      if (!PLU.battleData || !PLU.battleData.skills) return null;
      let keys = Object.keys(PLU.battleData.skills);
      if (skillName) {
        for (let i = 0; i < keys.length; i++) {
          let sk = PLU.battleData.skills[keys[i]];
          if (sk && sk.name && sk.name.match(skillName)) return sk;
        }
      } else {
        let n = Math.floor(keys.length * Math.random());
        return PLU.battleData.skills[keys[n]];
      }
      return null;
    },
    //================================================================================================
    autoFight(params) {
      if (PLU.STO.autoF) {
        clearTimeout(PLU.STO.autoF);
        PLU.STO.autoF = null;
      }
      if (!params.targetKey && !params.targetName) {
        params.onFail && params.onFail(0);
        YFUI.writeToOut("<span style='color:#FFF;'>--戰鬥參數缺失--</span>");
        return;
      }
      if (params.targetName && !params.targetKey) {
        let npcObj = UTIL.findRoomNpc(params.targetName, false, true);
        if (npcObj) {
          params.targetKey = npcObj.key;
        } else {
          params.onFail && params.onFail(1);
          YFUI.writeToOut("<span style='color:#FFF;'>--找不到NPC--</span>");
          return;
        }
      }
      let fightAct = params.fightKind ?? "kill";
      let performTime = 0;
      UTIL.addSysListener("onAutoFight", function (b, type, subtype, msg) {
        if (type == "vs" && subtype == "vs_info") {
          setTimeout(() => {
            if (params.autoSkill && PLU.battleData)
              PLU.battleData.autoSkill = params.autoSkill;
          }, 100);
          if (PLU.TMP.loopCheckFight) {
            clearInterval(PLU.TMP.loopCheckFight);
            PLU.TMP.loopCheckFight = null;
          }
          PLU.TMP.loopCheckFight = setInterval(() => {
            if (!g_gmain.is_fighting) {
              UTIL.delSysListener("onAutoFight");
              if (PLU.STO.autoF) {
                clearTimeout(PLU.STO.autoF);
                PLU.STO.autoF = null;
              }
              if (PLU.TMP.loopCheckFight) {
                clearInterval(PLU.TMP.loopCheckFight);
                PLU.TMP.loopCheckFight = null;
              }
              params.onEnd && params.onEnd();
            }
          }, 2000);
          params.onStart && params.onStart();
        } else if (
          type == "vs" &&
          (subtype == "add_xdz" || subtype == "text" || subtype == "attack")
        ) {
          let curTime = new Date().getTime();
          if (curTime - performTime < 500) return;
          performTime = curTime;
          let useSkill = null;
          if (params.autoSkill) {
            if (!PLU.battleData || PLU.battleData.xdz < 2) return;
            if (params.autoSkill == "item") {
              if (PLU.battleData.xdz >= 6) useSkill = { key: "playskill 7" };
              else useSkill = {};
            } else if (params.autoSkill == "dodge") {
              if (PLU.battleData.xdz > 9)
                useSkill = PLU.selectSkills(
                  /乾坤大挪移|淩波微步|無影毒陣|九妙飛天術/,
                );
            } else if (params.autoSkill == "multi") {
              if (PLU.battleData.xdz > 2)
                useSkill = PLU.selectSkills(
                  /破軍棍法|千影百傷棍|八荒功|月夜鬼蕭|打狗棒法/,
                );
            } else if (params.autoSkill == "fast") {
              if (PLU.battleData.xdz >= 2)
                useSkill = PLU.selectSkills(
                  /吸星大法|斗轉星移|無影毒陣|空明拳|乾坤大挪移/,
                );
            }
            if (!useSkill) {
              if (PLU.getCache("autoPerform") >= 1) {
                PLU.battleData.autoSkill = "";
                return;
              }
              if (params.autoSkill) PLU.battleData.autoSkill = "";
              useSkill = PLU.selectSkills();
            }
            if (params.onFighting) {
              let block = params.onFighting(useSkill);
              if (block) return;
            }
            useSkill && clickButton(useSkill.key, 0);
          } else {
            params.onFighting && params.onFighting();
          }
        } else if (type == "vs" && subtype == "combat_result") {
          performTime = 0;
          UTIL.delSysListener("onAutoFight");
          if (PLU.STO.autoF) {
            clearTimeout(PLU.STO.autoF);
            PLU.STO.autoF = null;
          }
          if (PLU.TMP.loopCheckFight) {
            clearInterval(PLU.TMP.loopCheckFight);
            PLU.TMP.loopCheckFight = null;
          }
          clickButton("prev_combat");
          params.onEnd && params.onEnd();
        } else if (type == "notice" && subtype == "notify_fail") {
          let errCode = 0;
          if (msg.indexOf("沒有這個人") > -1) {
            errCode = 1;
          } else if (msg.indexOf("你正忙著呢") > -1) {
            errCode = 2;
          } else if (msg.indexOf("已經超量") > -1) {
            errCode = 3;
          } else if (msg.indexOf("已達到上限") > -1) {
            errCode = 4;
          } else if (msg.indexOf("太多人了") > -1) {
            errCode = 5;
          } else if (msg.indexOf("不能戰鬥") > -1) {
            errCode = 6;
          } else if (msg.indexOf("秒後才能攻擊這個人") > -1) {
            let sat = msg.match(/(\d+)秒後才能攻擊這個人/);
            if (sat) errCode = "delay_" + sat[1];
            else errCode = 77;
          } else if (msg.indexOf("先觀察一下") > -1) {
            errCode = 88;
          } else {
            if (!PLU.STATUS.inBattle) {
              errCode = 99;
            }
          }
          UTIL.delSysListener("onAutoFight");
          if (PLU.STO.autoF) {
            clearTimeout(PLU.STO.autoF);
            PLU.STO.autoF = null;
          }
          if (PLU.TMP.loopCheckFight) {
            clearInterval(PLU.TMP.loopCheckFight);
            PLU.TMP.loopCheckFight = null;
          }
          params.onFail && params.onFail(errCode);
        }
      });
      PLU.STO.autoF = setTimeout(() => {
        PLU.STO.autoF = null;
        if (!g_gmain.is_fighting) {
          UTIL.delSysListener("onAutoFight");
          if (PLU.TMP.loopCheckFight) {
            clearInterval(PLU.TMP.loopCheckFight);
            PLU.TMP.loopCheckFight = null;
          }
          return params.onFail && params.onFail(100);
        }
      }, 300000);
      clickButton(fightAct + " " + params.targetKey, 0);
    },
    //================================================================================================
    autoEscape(params) {
      if (!PLU.STATUS.inBattle) return params.onEnd && params.onEnd();
      let lastEscapeTime = new Date().getTime();
      UTIL.addSysListener("onAutoEscape", function (b, type, subtype, msg) {
        if (type == "vs" && subtype == "combat_result") {
          UTIL.delSysListener("onAutoEscape");
          clickButton("prev_combat");
          return params.onEnd && params.onEnd();
        } else if (
          type == "vs" &&
          (subtype == "add_xdz" || subtype == "text" || subtype == "attack")
        ) {
          let nt = new Date().getTime();
          if (nt - lastEscapeTime > 500) {
            lastEscapeTime = nt;
            clickButton("escape");
          }
        }
      });
    },
    //================================================================================================
    setBtnRed($btn, flag, sColr) {
      if (!PLU.ONOFF[$btn[0].id + "_color"]) {
        PLU.ONOFF[$btn[0].id + "_color"] = $btn.css("background-color");
        let carr = PLU.ONOFF[$btn[0].id + "_color"].split(/[\D\s]+/);
        carr.pop();
        carr.shift();
        if (carr[0] == carr[1] && carr[1] == carr[2]) {
          carr[1] = carr[1] - 32;
          carr[2] = carr[2] - 32;
        }
        let m = carr.reduce((a, b) => (Number(a) + Number(b)) / 2);
        let narr = carr.map((e) => {
          return Math.min(e - 96 + 4 * (e - m), 256);
        });
        PLU.ONOFF[$btn[0].id + "_colorDark"] = "rgb(" + narr.join(",") + ")";
      }
      if (flag == undefined) {
        if (PLU.ONOFF[$btn[0].id]) {
          PLU.ONOFF[$btn[0].id] = 0;
          $btn.css({
            background: PLU.ONOFF[$btn[0].id + "_color"],
            color: "#000",
          });
          return 0;
        } else {
          PLU.ONOFF[$btn[0].id] = 1;
          $btn.css({
            background: PLU.ONOFF[$btn[0].id + "_colorDark"],
            color: "#FFF",
          });
          return 1;
        }
      } else {
        PLU.ONOFF[$btn[0].id] = flag;
        let colr = sColr || PLU.ONOFF[$btn[0].id + "_color"],
          fcolr = "#000";
        if (flag) {
          colr = sColr || PLU.ONOFF[$btn[0].id + "_colorDark"];
          fcolr = "#FFF";
        }
        $btn.css({ background: colr, color: fcolr });
        return flag;
      }
    },
    getBtnRed($btn) {
      if (PLU.ONOFF[$btn[0].id]) return 1;
      return 0;
    },
    //================================================================================================
    toAutoChuaiMo($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        PLU.STATUS.isBusy = false;
        PLU.TMP.CMSkill = null;
        return;
      }
      YFUI.showPop({
        title: "自動揣摩技能",
        text: "一鍵自動揣摩所有能揣摩的技能!(除了六陰追魂劍法)",
        onOk() {
          PLU.autoChuaiMo();
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    toAutoGetKey($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        return UTIL.delSysListener("listenGetKey");
      }
      clickButton("get yin yaoshi");
      UTIL.addSysListener("listenGetKey", function (b, type, subtype, msg) {
        if (
          g_obj_map.get("msg_room") &&
          g_obj_map.get("msg_room").get("short").match(/匾後/)
        ) {
          if (type == "jh") {
            if (subtype == "new_item") {
              if (b.get("id") == "yin yaoshi") clickButton("get yin yaoshi");
            } else if (subtype == "info") {
              clickButton("get yin yaoshi");
            }
          }
        }
      });
    },
    //================================================================================================
    toAutoMoke($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        PLU.STATUS.isBusy = false;
        return;
      }
      PLU.getAllItems((list) => {
        let daoItems = list.find((it) => !!it.name.match("玄鐵刻刀"));
        let daoNum = daoItems?.num || 0;
        let eqItems = list.filter(
          (it) =>
            !!(
              it.key.match(/(equip|weapon)_\S+8/) &&
              !it.key.match("_moke_") &&
              !it.key.match("_xinwu") &&
              !it.key.match("_barcer")
            ),
        );
        let myNum = 0;
        eqItems &&
          eqItems.forEach((eq) => {
            myNum += eq.num;
          });
        console.log(eqItems);
        YFUI.showPop({
          title: "自動摹刻所有明月",
          text:
            "一鍵自動摹刻所有明月裝備!<br><span style='color:#F00;font-weight:bold;'>注意準備足夠的刻刀!!!</span><br>當前玄鐵刻刀數量 <span style='color:#F00;'>" +
            daoNum +
            "</span><br>當前未摹刻明月裝備數量 <span style='color:#F00;'>" +
            myNum +
            "</span>",
          onOk() {
            PLU.autoMoke(eqItems);
          },
          onNo() {
            PLU.setBtnRed($btn, 0);
          },
        });
      });
    },
    autoMoke(eqList) {
      if (!PLU.ONOFF["btn_bt_autoMoke"])
        return YFUI.writeToOut(
          "<span style='color:#F0F;'> ==摹刻暫停!== </span>",
        );
      if (eqList && eqList.length > 0) {
        let eq = eqList.pop(),
          mokeCmds = "";
        mokeCmds;
        for (var i = 0; i < eq.num; i++) {
          mokeCmds += "moke " + eq.key + ";";
        }
        PLU.execActions(mokeCmds, () => {
          PLU.autoMoke(eqList);
        });
      } else {
        PLU.setBtnRed($("#btn_bt_autoMoke"), 0);
        YFUI.writeToOut("<span style='color:yellow;'> ==摹刻完畢!== </span>");
      }
    },
    //================================================================================================
    toAutoKillZYY($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        return UTIL.delSysListener("listenLoopKillZYY");
      }
      YFUI.showPop({
        title: "自動去刷祝玉妍",
        text: "自動去刷祝玉妍!<br><span style='color:#FFF;background:#F00;font-weight:bold;'>----- 注意: -----</span><br><span style='color:#F00;font-weight:bold;'>1、準備足夠的邪帝舍利!!!<br>2、不要有隊伍!!!<br>3、切記要打開自動技能陣!!!<br>4、要上足夠的保險卡!!!</span>",
        onOk() {
          PLU.execActions("rank go 232;s;s;;;", () => {
            PLU.loopKillZYY();
          });
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
          UTIL.delSysListener("listenLoopKillZYY");
        },
      });
    },
    loopKillZYY() {
      UTIL.addSysListener(
        "listenLoopKillZYY",
        function (b, type, subtype, msg) {
          if (type == "vs" && subtype == "combat_result") {
            if (!PLU.ONOFF["btn_bt_autoKillZYY"]) {
              PLU.execActions(";;;n;", () => {
                YFUI.writeToOut(
                  "<span style='color:yellow;'>=====刷祝玉妍結束!!=====</span>",
                );
                UTIL.delSysListener("listenLoopKillZYY");
              });
            } else {
              PLU.execActions(";;;n;s");
            }
          }
        },
      );
      clickButton("s");
    },
    //================================================================================================
    toAutoFB11($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        return UTIL.delSysListener("listenFB11");
      }
      YFUI.showPop({
        title: "自動副本11",
        text: `自動打副本11!<br>
					<span style='color:#F00;font-weight:bold;'>----- 選擇要打的門 -----</span><br>
					<div style="font-size:12px;line-height:2;box">
					<label style="display:inline-block;width: 31%;text-align:center;border:1px solid #333;">8 懶惰<input type="checkbox" name="chkfb11" value="nw" checked/></label>
					<label style="display:inline-block;width: 31%;text-align:center;border:1px solid #333;">1非時食<input type="checkbox" name="chkfb11" value="n" checked/></label>
					<label style="display:inline-block;width: 31%;text-align:center;border:1px solid #333;">2 殺生<input type="checkbox" name="chkfb11" value="ne" checked/></label>
					<br>
					<label style="display:inline-block;width: 31%;text-align:center;border:1px solid #333;">7 奢華<input type="checkbox" name="chkfb11" value="w" checked/></label>
					<span style="display:inline-block;width: 31%;color:#999;text-align:center;border:1px solid transparent;">初心之地</span>
					<label style="display:inline-block;width: 31%;text-align:center;border:1px solid #333;">3 偷盜<input type="checkbox" name="chkfb11" value="e" checked/></label>
					<br>
					<label style="display:inline-block;width: 31%;text-align:center;border:1px solid #333;">6 飲酒<input type="checkbox" name="chkfb11" value="sw" checked/></label>
					<label style="display:inline-block;width: 31%;text-align:center;border:1px solid #333;">5 妄語<input type="checkbox" name="chkfb11" value="s" checked/></label>
					<label style="display:inline-block;width: 31%;text-align:center;border:1px solid #333;">4 淫邪<input type="checkbox" name="chkfb11" value="se" checked/></label><br>
					</div>
					<span style='color:#F00;font-weight:bold;'>1、在副本外開始腳本<br>2、記得要組隊<br></span>`,
        okText: "開始",
        onOk() {
          let chks = $('input[name="chkfb11"]:checked');
          let selects = [];
          $.each(chks, (i, e) => {
            selects.push(e.value);
          });
          if (selects.length == 0) return false;
          console.log(selects);
          //PLU.TMP.chkTmpList=[]
          //PLU.execActions('rank go 232;s;s;;;', ()=>{
          PLU.autoFB11(selects);
          //})
          //UTIL.findRoomNpcReg
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
          UTIL.delSysListener("listenFB11");
        },
      });
    },
    autoFB11() {},
    killAllNpc(callback) {
      let npcObj = UTIL.findRoomNpcReg("");
      if (npcObj) {
        let needAutoSkill = PLU.getCache("autoPerform") >= 1 ? null : "multi";
        PLU.autoFight({
          targetKey: npcObj.key,
          fightKind: "kill",
          autoSkill: needAutoSkill,
          onFail() {
            setTimeout((t) => {
              PLU.killAllNpc(callback);
            }, 1000);
          },
          onEnd() {
            setTimeout((t) => {
              PLU.killAllNpc(callback);
            }, 500);
          },
        });
      } else {
        callback && callback();
      }
    },
    //================================================================================================
    checkYouxia($btn) {
      YFUI.showPop({
        title: "檢查入室遊俠技能",
        text: `選擇需要的對應技能:<br>
				<div style="font-size:15px;">
					<label style="display:inline-block;">內功:<input type="checkbox" name="chkskiyx" value="內功" checked/></label>&nbsp;
					<label style="display:inline-block;">輕功:<input type="checkbox" name="chkskiyx" value="輕功" checked/></label>&nbsp;
					<label style="display:inline-block;">劍法:<input type="checkbox" name="chkskiyx" value="劍法" checked/></label>&nbsp;
					<label style="display:inline-block;">掌法:<input type="checkbox" name="chkskiyx" value="掌法" checked/></label>&nbsp;
					<label style="display:inline-block;">刀法:<input type="checkbox" name="chkskiyx" value="刀法" checked/></label>&nbsp;
					<label style="display:inline-block;">暗器:<input type="checkbox" name="chkskiyx" value="暗器"/></label>&nbsp;
					<label style="display:inline-block;">鞭法:<input type="checkbox" name="chkskiyx" value="鞭法"/></label>&nbsp;
					<label style="display:inline-block;">槍法:<input type="checkbox" name="chkskiyx" value="槍法"/></label>&nbsp;
					<label style="display:inline-block;">錘法:<input type="checkbox" name="chkskiyx" value="錘法"/></label>&nbsp;
					<label style="display:inline-block;">斧法:<input type="checkbox" name="chkskiyx" value="斧法"/></label>
				</div>`,
        onOk() {
          let chks = $('input[name="chkskiyx"]:checked');
          let selects = [];
          PLU.TMP.chkTmpList = [];
          $.each(chks, (i, e) => {
            selects.push(e.value);
          });
          PLU.getSkillsList((allSkills, tupoSkills) => {
            PLU.getYouxiaList((yxs) => {
              PLU.checkMySkills(allSkills, yxs, selects);
            });
          });
        },
        onNo() {},
      });
    },
    checkMySkills(mySkills, myYouxia, checkList) {
      // console.log(mySkills, myYouxia, checkList)
      let clstr = "";
      checkList.forEach((c) => (clstr += "【" + c[0] + "】"));
      YFUI.writeToOut(
        "<span style='color:#FFF;'>--技能檢測 <span style='color:yellow;'>" +
          clstr +
          "</span>--</span>",
      );
      checkList.forEach((cn) => {
        let carr = PLU.YFD.youxiaSkillMap.filter((r) => r.type == cn);
        carr.forEach((n) => {
          PLU.checkPreSKill(n, mySkills, myYouxia);
        });
      });
      if (PLU.TMP.chkTmpList.length == 0) {
        YFUI.writeToOut(
          "<span style='color:yellow;'>檢查的技能都準備好了!</span>",
        );
      }
    },
    checkPreSKill(node, mySkills, myYouxia) {
      let ms = mySkills.find((s) => s.name == node.skill);
      if (!ms && !PLU.TMP.chkTmpList.includes(node.skill)) {
        PLU.TMP.chkTmpList.push(node.skill);
        let clr = node.kind == "宗師" || node.kind == "俠客" ? "#E93" : "#36E";
        let htm =
          '<span style="color:' +
          clr +
          ';">【' +
          node.type[0] +
          "】" +
          node.skill +
          " ";
        // htm+= ms?'<span style="color:#3F3;display:inline-block;">('+ms.level+')</span>':'(缺)';
        htm += '<span style="color:#F00;display:inline-block;">(未學)</span>';
        let myx = myYouxia.find((y) => y.name.match(node.name));
        htm +=
          " - " +
          (myx
            ? '<span style="color:#3F3;display:inline-block;">' +
              myx.name +
              "[" +
              myx.level +
              "]</span>"
            : '<span style="color:#F36;display:inline-block;">需要:<span style="color:#FFF;background:' +
              clr +
              ';"> ' +
              node.kind +
              "-" +
              node.name +
              " </span></span>");
        htm += "</span>";
        YFUI.writeToOut(htm);
      }
      if (node.pre) {
        node.pre.forEach((n) => {
          PLU.checkPreSKill(n, mySkills, myYouxia);
        });
      }
    },
    getYouxiaList(callback) {
      UTIL.addSysListener("getYouxiaList", function (b, type, subtype, msg) {
        if (type != "fudi" && subtype != "juxian") return;
        UTIL.delSysListener("getYouxiaList");
        clickButton("prev");
        let youxias = [];
        for (var i = 0; i < 41; i++) {
          let str = b.get("yx" + i);
          if (str) {
            let attr = str.split(",");
            let ns = UTIL.filterMsg(attr[1]).split("】");
            let nam = ns.length > 1 ? ns[1] : ns[0];
            youxias.push({
              key: attr[0],
              name: nam,
              level: Number(attr[4]),
              kind: attr[3],
            });
          }
        }
        callback(youxias);
      });
      clickButton("fudi juxian");
    },
    //================================================================================================
    toAutoLearn($btn) {
      if (!PLU.TMP.MASTER_SKILLS) {
        return YFUI.showPop({
          title: "缺少數據",
          text: "需要打開師傅技能界面",
          // onOk(){
          // },
        });
      }
      // console.log(PLU.TMP.MASTER_ID, PLU.TMP.MASTER_SKILLS)
      let needSkills = [];
      PLU.getSkillsList((allSkills, tupoSkills) => {
        PLU.TMP.MASTER_SKILLS.forEach((ms) => {
          let sk = allSkills.find((s) => s.key == ms.key) || { level: 0 };
          if (sk.level < ms.level) {
            needSkills.push({
              key: ms.key,
              name: ms.name,
              lvl: ms.level - sk.level,
              cmd: "learn " + ms.key + " from " + PLU.TMP.MASTER_ID + " to 10",
            });
          }
        });
        //console.log(needSkills.map(e=>e.name))
        loopLearn(needSkills);
      });
      let curSkill = null;
      UTIL.addSysListener("loopLearnSkill", function (b, type, subtype, msg) {
        if (type == "notice" && msg.indexOf("不願意教你") >= 0) {
          //UTIL.delSysListener("loopLearnSkill");
          if (curSkill) curSkill.lvl = -1;
        }
        return;
      });
      let loopLearn = function (list) {
        if (list.length > 0) {
          if (list[0].lvl > 0) {
            list[0].lvl -= 10;
            curSkill = list[0];
            clickButton(list[0].cmd);
          } else {
            list.shift();
          }
          setTimeout(() => {
            loopLearn(list);
          }, 200);
        } else {
          UTIL.delSysListener("loopLearnSkill");
          YFUI.writeToOut(
            "<span style='color:#FFF;'>----自動學習結束,記得檢查噢!----</span>",
          );
        }
      };
    },
    //================================================================================================
    autoChuaiMo() {
      if (!PLU.ONOFF["btn_bt_autoChuaiMo"]) return;
      PLU.STATUS.isBusy = true;
      if (!PLU.TMP.CMSkill) {
        PLU.getSkillsList((allSkills, tupoSkills) => {
          if (!PLU.TMP.CANTCMS) PLU.TMP.CANTCMS = [];
          PLU.TMP.CMSkill = allSkills.find(
            (e) =>
              e.level >= 500 &&
              e.level < 600 &&
              e.name != "六陰追魂劍法" &&
              (e.kind == "attack" ||
                e.kind == "recovery" ||
                e.kind == "force") &&
              !PLU.TMP.CANTCMS.includes(e.name),
          );
          if (!PLU.TMP.CMSkill) {
            PLU.STATUS.isBusy = false;
            PLU.TMP.CMSkill = null;
            PLU.setBtnRed($("#btn_bt_autoChuaiMo"), 0);
          } else {
            clickButton("enable " + PLU.TMP.CMSkill.key);
            UTIL.addSysListener(
              "listenChuaiMo",
              function (b, type, subtype, msg) {
                if (
                  type == "notice" &&
                  (msg.indexOf("揣摩最高等級為") >= 0 ||
                    msg.indexOf("這項技能不能揣摩") >= 0)
                ) {
                  UTIL.delSysListener("listenChuaiMo");
                  if (msg.indexOf("這項技能不能揣摩") >= 0) {
                    PLU.TMP.CANTCMS.push(PLU.TMP.CMSkill.name);
                  }
                  YFUI.writeToOut(
                    "<span style='color:#FFF;'>--揣摩結束--</span>",
                  );
                  PLU.TMP.CMSkill = null;
                }
                return;
              },
            );
          }
          PLU.autoChuaiMo();
        });
      } else {
        clickButton("chuaimo go," + PLU.TMP.CMSkill.key, 0);
        setTimeout((e) => {
          PLU.autoChuaiMo();
        }, 250);
      }
    },
    //================================================================================================
    toAutoTeach($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        PLU.STATUS.isBusy = false;
        PLU.TMP.TeachSkill = null;
        return;
      }
      YFUI.showPop({
        title: "自動傳授遊俠技能",
        text: "一鍵自動傳授遊俠技能!<b style='color:#F00;'>需要點開遊俠技能界面,需要傳授的技能不能為0級</b>",
        onOk() {
          PLU.autoTeach();
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    autoTeach() {
      if (!PLU.ONOFF["btn_bt_autoTeach"]) return;
      PLU.STATUS.isBusy = true;
      if (PLU.TMP.CUR_YX_SKILLS) {
        let ac = PLU.TMP.CUR_YX_SKILLS.find(
          (e) => Number(e.lvl) > 0 && Number(e.lvl) < Number(e.max),
        );
        if (ac) {
          clickButton(ac.cmd, 0);
          setTimeout((e) => {
            PLU.autoTeach();
          }, 200);
        } else {
          YFUI.writeToOut("<span style='color:#FFF;'>--傳授結束--</span>");
          PLU.STATUS.isBusy = false;
          PLU.setBtnRed($("#btn_bt_autoTeach"), 0);
        }
      } else {
        PLU.STATUS.isBusy = false;
        PLU.setBtnRed($("#btn_bt_autoTeach"), 0);
      }
    },
    //================================================================================================
    toAutoUpgrade($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        PLU.STATUS.isBusy = false;
        PLU.TMP.TeachSkill = null;
        return;
      }
      YFUI.showPop({
        title: "自動升級遊俠等級",
        text: "一鍵升級遊俠等級!<b style='color:#F00;'>需要點開遊俠技能界面</b>",
        onOk() {
          PLU.autoUpgrade();
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    // 今天提升鳩摩智等級的次數已達到上限了。
    //不能提升阿朱的等級。
    //遊俠等級超過上限了。
    //================================================================================================
    autoUpgrade() {
      if (!PLU.ONOFF["btn_bt_autoUpgrade"]) return;
      PLU.STATUS.isBusy = true;
      if (PLU.TMP.CUR_YX_LEVEL && PLU.TMP.CUR_YX_SKILLS && PLU.TMP.CUR_YX_ENG) {
        if (PLU.TMP.CUR_YX_SKILLS.length > 4 && PLU.TMP.CUR_YX_LEVEL < 2000) {
          var canUpgrade = true;
          UTIL.addSysListener(
            "listenAutoUpgrade",
            function (b, type, subtype, msg) {
              if (
                type == "notice" &&
                (msg.indexOf("等級的次數已達到上限了") >= 0 ||
                  msg.indexOf("不能提升") >= 0 ||
                  msg.indexOf("等級超過上限了") >= 0)
              ) {
                UTIL.delSysListener("listenAutoUpgrade");
                canUpgrade = false;
                PLU.STATUS.isBusy = false;
                YFUI.writeToOut(
                  "<span style='color:#FFF;'>--升級結束--</span>",
                );
                PLU.setBtnRed($("#btn_bt_autoUpgrade"), 0);
              }
              return;
            },
          );
          clickButton("fudi juxian upgrade go " + PLU.TMP.CUR_YX_ENG + " 100");
          setTimeout((e) => {
            if (canUpgrade) PLU.autoUpgrade();
          }, 500);
        } else {
          YFUI.writeToOut("<span style='color:#FFF;'>--升級結束--</span>");
          PLU.STATUS.isBusy = false;
          PLU.setBtnRed($("#btn_bt_autoUpgrade"), 0);
        }
      } else {
        PLU.STATUS.isBusy = false;
        PLU.setBtnRed($("#btn_bt_autoUpgrade"), 0);
      }
    },
    //================================================================================================
    toLoopKillByN($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        $("#btn_bt_loopKillByN").text(_("计数击杀", "計數擊殺"));
        return;
      }
      clickButton("golook_room");
      YFUI.showInput({
        title: "計數擊殺",
        text: "輸入數量,確定後單擊怪!!(數量後帶小數點為比試)",
        value: PLU.getCache("lookKillNum") || 20,
        onOk(val) {
          if (!Number(val)) return;
          setTimeout((o) => {
            $(document).one("click", (o) => {
              let snpc = $(o.target)
                .closest("button")[0]
                .outerHTML.match(/clickButton\('look_npc (\w+)'/i);
              if (snpc && snpc.length >= 2) {
                let kf = String(val).indexOf(".") > 0 ? "fight" : "kill";
                PLU.setCache("lookKillNum", Number(val));
                PLU.loopKillByN(snpc[1], parseInt(val), kf);
              } else {
                PLU.setBtnRed($btn, 0);
              }
            });
          }, 500);
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    loopKillByN(npcId, killN, killorfight) {
      if (killN <= 0 || !PLU.ONOFF["btn_bt_loopKillByN"]) return;
      $("#btn_bt_loopKillByN").text("停(" + killN + ")");
      PLU.autoFight({
        targetKey: npcId,
        fightKind: killorfight,
        autoSkill: "fast",
        onFail() {
          setTimeout((t) => {
            PLU.loopKillByN(npcId, killN, killorfight);
          }, 500);
        },
        onEnd() {
          if (killN <= 1) {
            PLU.setBtnRed($("#btn_bt_loopKillByN"), 0);
            $("#btn_bt_loopKillByN").text(_("计数击杀", "計數擊殺"));
            clickButton("home", 1);
            return;
          } else {
            setTimeout((t) => {
              PLU.loopKillByN(npcId, killN - 1, killorfight);
            }, 500);
          }
        },
      });
    },
    //================================================================================================
    toLoopKillName($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        $("#btn_bt_loopKillName").text(_("名字连杀", "名字連殺"));
        return;
      }
      YFUI.showInput({
        title: "名字連殺",
        text: `格式:次數|人物詞組<br>
						次數:省略則默認1次<br>
						人物詞組:以英文逗號分割多個關鍵詞<br>
						<span style="color:red;">例如:</span><br>
						[例1] <span style="color:blue;">99|鐵狼軍,銀狼軍,金狼軍,金狼將,十夫長,百夫長,千夫長</span><br>
						[例2] <span style="color:blue;">醉漢,收破爛的</span>;
						`,
        value:
          PLU.getCache("lookKillNames") ||
          "299|鐵狼軍,銀狼軍,金狼軍,金狼將,十夫長,百夫長,千夫長",
        onOk(val) {
          if (!$.trim(val)) return;
          let str = $.trim(val),
            times = 1,
            names = "",
            arr = str.split("|");
          if (arr.length > 1) {
            times = Number(arr[0]) || 1;
            names = arr[1];
          } else {
            names = arr[0];
          }
          PLU.setCache("lookKillNames", str);
          PLU.loopKillName(names, Number(times));
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    loopKillName(names, killN) {
      if (killN <= 0 || !PLU.ONOFF["btn_bt_loopKillName"]) return;
      $("#btn_bt_loopKillName").text("停擊殺(" + killN + ")");
      let npcObj = null,
        namesArr = names.split(",");
      for (let i = 0; i < namesArr.length; i++) {
        npcObj = UTIL.findRoomNpc(namesArr[i], false, true);
        if (npcObj) break;
      }
      if (npcObj) {
        let needAutoSkill = PLU.getCache("autoPerform") >= 1 ? null : "multi";
        PLU.autoFight({
          targetKey: npcObj.key,
          fightKind: "kill",
          autoSkill: needAutoSkill,
          onFail() {
            setTimeout((t) => {
              PLU.loopKillName(names, killN);
            }, 1000);
          },
          onEnd() {
            if (killN <= 1) {
              PLU.setBtnRed($("#btn_bt_loopKillName"), 0);
              $("#btn_bt_loopKillName").text("名字連殺");
              return;
            } else {
              setTimeout((t) => {
                PLU.loopKillName(names, killN - 1);
              }, 1000);
            }
          },
        });
      } else {
        setTimeout((t) => {
          PLU.loopKillName(names, killN);
        }, 2000);
      }
    },
    //================================================================================================
    toLoopKill($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        // $("#btn_bt_kg_loopKill").text('循環殺')
        return;
      }
      YFUI.showInput({
        title: "循環殺",
        text: `格式:名字詞組<br>
						名字詞組:以英文逗號分割多個關鍵詞, <b style="color:red;">可模糊匹配!</b><br>
						<span style="color:red;">不需要戰鬥時建議關閉以節省性能!!</span><br>
						[例1] <span style="color:blue;">鐵狼軍,銀狼軍,金狼軍,金狼將,十夫長,百夫長,千夫長,蠻荒鐵,蠻荒銀,蠻荒金,寨近衛,蠻荒近衛</span><br>
						`,
        type: "textarea",
        value:
          PLU.getCache("lookKillKeys") ||
          "怯薛軍,蒙古突騎,草原槍騎,重裝鐵騎,狼軍,狼將,夫長,蠻荒,近衛",
        onOk(val) {
          if (!$.trim(val)) return;
          let str = $.trim(val),
            names = str.split(/[,,#]/);
          PLU.setCache("lookKillKeys", str);
          PLU.loopKills(str);
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    loopKills(names) {
      if (!PLU.ONOFF["btn_bt_kg_loopKill"]) return;
      // $("#btn_bt_kg_loopKill").text('停循環');
      let npcObj = null,
        namesArr = names.split(/[,,#]/);
      for (let i = 0; i < namesArr.length; i++) {
        npcObj = UTIL.findRoomNpcReg(namesArr[i]);
        if (npcObj) break;
      }
      if (npcObj) {
        let needAutoSkill = PLU.getCache("autoPerform") >= 1 ? null : "multi";
        PLU.autoFight({
          targetKey: npcObj.key,
          fightKind: "kill",
          autoSkill: needAutoSkill,
          onFail() {
            setTimeout((t) => {
              PLU.loopKills(names);
            }, 1000);
          },
          onEnd() {
            setTimeout((t) => {
              PLU.loopKills(names);
            }, 500);
          },
        });
      } else {
        setTimeout((t) => {
          PLU.loopKills(names);
        }, 1000);
      }
    },
    //================================================================================================
    toLoopReadBase($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        // $("#btn_bt_loopReadBase").text('讀技能書')
        return;
      }
      YFUI.showInput({
        title: "讀書還神",
        text: `格式:比試NPC名稱|基礎秘籍名稱<br>
						比試NPC名稱:要比試進行回神的NPC名字<br>
						基礎秘籍名稱:基礎秘籍名稱關鍵詞<br>
						<span style="color:red;">戰鬥必刷道具欄必須用還神丹</span><br>
						<span style="color:red;">例如:</span><br>
						[例1] <span style="color:blue;">地痞|基本劍法秘籍</span>
						`,
        value: PLU.getCache("loopReadBase") || "地痞|基本劍法秘籍",
        onOk(val) {
          if (!$.trim(val)) return;
          let str = $.trim(val),
            npcName = "",
            bookName = "",
            arr = str.split("|");
          if (arr.length > 1) {
            npcName = arr[0];
            bookName = arr[1];
            PLU.setCache("loopReadBase", str);
            PLU.getAllItems((list) => {
              let bookItem = list.find((it) => !!it.name.match(bookName));
              let reN =
                Math.floor(
                  g_obj_map.get("msg_attrs").get("max_shen_value") / 55,
                ) || 1;
              console.log(npcName, bookItem.key, reN);
              if (bookItem) {
                PLU.toggleAutoPerform(
                  $("#btn_bt_kg_autoPerform"),
                  "autoPerform",
                  0,
                );
                PLU.loopReadBase(npcName, bookItem.key, reN);
              }
            });
          } else {
            PLU.setBtnRed($btn, 0);
            return;
          }
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    loopReadBase(npcName, bookKey, reN) {
      //你使用了一本

      //你的神值不足:10以上。
      //你目前不能使用
      //使用技能等級為
      if (!PLU.ONOFF["btn_bt_loopReadBase"]) {
        UTIL.delSysListener("listenLoopReadBase");
        YFUI.writeToOut(
          "<span style='color:#FFF;'>--讀基本技能書停止--</span>",
        );
        PLU.setBtnRed($("#btn_bt_loopReadBase"), 0);
        return;
      }
      UTIL.addSysListener(
        "listenLoopReadBase",
        function (b, type, subtype, msg) {
          if (type == "main_msg" && msg.indexOf("你使用了一本") >= 0) {
            UTIL.delSysListener("listenLoopReadBase");
            setTimeout(() => {
              PLU.loopReadBase(npcName, bookKey, reN);
            }, 500);
          } else if (type == "notice" && msg.indexOf("你的神值不足") >= 0) {
            UTIL.delSysListener("listenLoopReadBase");
            setTimeout(() => {
              let refreshNumber = 0;
              PLU.autoFight({
                targetName: npcName,
                fightKind: "fight",
                autoSkill: "item",
                onStart() {
                  console.log("start fight==");
                },
                onFighting(ps) {
                  if (refreshNumber >= reN) return true;
                  if (ps && ps.key == "playskill 7") {
                    refreshNumber++;
                    console.log(ps.key, refreshNumber, reN);
                    if (refreshNumber >= reN) {
                      PLU.autoEscape({});
                    }
                  }
                },
                onFail(err) {
                  console.log(err);
                  setTimeout(() => {
                    PLU.loopReadBase(npcName, bookKey, reN);
                  }, 1000);
                },
                onEnd(e) {
                  setTimeout(() => {
                    PLU.loopReadBase(npcName, bookKey, reN);
                  }, 1000);
                },
              });
            }, 500);
          } else if (type == "notice" && msg.indexOf("使用技能等級為") >= 0) {
            UTIL.delSysListener("listenLoopReadBase");
            YFUI.writeToOut(
              "<span style='color:#FFF;'>--讀基本技能書結束--</span>",
            );
            PLU.setBtnRed($("#btn_bt_loopReadBase"), 0);
          } else if (
            type == "notice" &&
            msg.indexOf("你的背包裡沒有這個物品") >= 0
          ) {
            YFUI.writeToOut(
              "<span style='color:#FFF;'>--讀基本技能書停止--</span>",
            );
            PLU.setBtnRed($("#btn_bt_loopReadBase"), 0);
          }
          return;
        },
      );
      let cmds = "items use " + bookKey;
      PLU.execActions(cmds);
    },
    //================================================================================================
    toSearchBangQS($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) return;
      YFUI.showInput({
        title: "搜索幫派任務",
        text: `格式:任務包含的關鍵字,多個以英文逗號分隔<br>
						<span style="color:red;">例如:</span><br>
						[例1] <span style="color:blue;">硫磺,黝黑山洞</span>
						`,
        value: PLU.getCache("searchBangQS") || "硫磺,黝黑山洞",
        onOk(val) {
          if (!$.trim(val)) return;
          let str = $.trim(val),
            arr = str.split(",");
          if (arr.length > 1) {
            PLU.setCache("searchBangQS", str);
            clickButton("clan scene", 0);
            PLU.loopSearchBangQS(arr);
          } else {
            PLU.setBtnRed($btn, 0);
            return;
          }
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    loopSearchBangQS(keys, cmd) {
      if (!PLU.ONOFF["btn_bt_searchBangQS"]) {
        UTIL.delSysListener("listenLoopSearchBangQS");
        YFUI.writeToOut("<span style='color:#FFF;'>--停止搜索--</span>");
        PLU.setBtnRed($("#btn_bt_searchBangQS"), 0);
        return;
      }
      UTIL.addSysListener(
        "listenLoopSearchBangQS",
        function (b, type, subtype, msg) {
          if (type == "main_msg") {
            if (
              msg.indexOf("幫派使者一拂袖") >= 0 ||
              msg.indexOf("幫派使者:現在沒有任務") >= 0
            ) {
              UTIL.delSysListener("listenLoopSearchBangQS");
              setTimeout(() => {
                PLU.loopSearchBangQS(keys);
              }, 250);
            } else if (
              msg.indexOf("你現在的任務是") >= 0 ||
              msg.indexOf("幫派使者:") >= 0
            ) {
              UTIL.delSysListener("listenLoopSearchBangQS");
              let qsStr = msg.replace(
                /\x03(0)?|href;0;|[\033|\27|\0x1b]\[[0-9|;]+m/gi,
                "",
              );
              for (let i = 0; i < keys.length; i++) {
                let key = $.trim(keys[i]);
                if (key && qsStr.indexOf(key) >= 0) {
                  YFUI.writeToOut(
                    "<span style='color:#FF0;'>========= 結束搜索 =========</span>",
                  );
                  PLU.setBtnRed($("#btn_bt_searchBangQS"), 0);
                  break;
                } else {
                  setTimeout(() => {
                    PLU.loopSearchBangQS(keys, "clan cancel_task go");
                  }, 250);
                }
              }
            }
          }
        },
      );
      if (cmd) clickButton(cmd);
      else clickButton("clan task", 0);
    },
    //================================================================================================
    toLoopClick($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        $("#btn_bt_loopClick").text("自動點擊");
        return;
      }
      YFUI.showInput({
        title: "自動點擊",
        text: "輸入自動點擊的次數,確定後點擊要點按鈕",
        value: PLU.getCache("autoClickNum") || 20,
        onOk(val) {
          if (!Number(val)) return;
          setTimeout((o) => {
            $(document).one("click", (o) => {
              let snpc = $(o.target)
                .closest("button")[0]
                .outerHTML.match(
                  /clickButton\([\'\"](.+)[\'\"](,\s*(\d+))*\)/i,
                );
              if (snpc && snpc.length >= 2) {
                let param = snpc[3] ?? 0;
                PLU.setCache("autoClickNum", Number(val));
                PLU.loopClick(snpc[1], param, Number(val));
              } else {
                PLU.setBtnRed($btn, 0);
              }
            });
          }, 500);
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    loopClick(btnCmd, param, clickNum) {
      if (!clickNum || clickNum < 1 || !PLU.ONOFF["btn_bt_loopClick"]) {
        PLU.setBtnRed($("#btn_bt_loopClick"), 0);
        $("#btn_bt_loopClick").text(_("连续点击", "連續點擊"));
        return;
      }
      $("#btn_bt_loopClick").text(_("停点击(", "停點擊(") + clickNum + ")");
      clickButton(btnCmd, param);
      clickNum--;
      setTimeout(() => {
        PLU.loopClick(btnCmd, param, clickNum);
      }, 250);
    },
    //================================================================================================
    loopSlowClick(btnCmd, param, clickNum, delay) {
      if (!delay) delay = 1000;
      if (!clickNum || clickNum < 1 || !PLU.ONOFF["btn_bt_loopSlowClick"]) {
        PLU.setBtnRed($("#btn_bt_loopSlowClick"), 0);
        $("#btn_bt_loopSlowClick").text(_("慢速点击", "慢速點擊"));
        return;
      }
      $("#btn_bt_loopSlowClick").text("停(" + clickNum + ")");
      clickButton(btnCmd, param);
      clickNum--;
      setTimeout(() => {
        PLU.loopSlowClick(btnCmd, param, clickNum, delay);
      }, delay);
    },
    //================================================================================================
    toLoopSlowClick($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        $("#btn_bt_loopSlowClick").text(_("自動点击", "自動點擊"));
        return;
      }
      YFUI.showPop({
        title: "自動點擊",
        text: `輸入自動點擊的次數,输入點擊速度,確定後點擊遊戲中要點的按鈕<br>
						<div style='margin:10px 0;'>
							<span>速度(幾秒一次): </span>
							<input id="slowClickSec" value="0.5" style="font-size:16px;height:30px;width:15%;"></input>
							<span>次數: </span>
							<input id="slowClickTimes" value="${
                PLU.getCache("autoClickNum") || 20
              }" style="font-size:16px;height:26px;width:40%;"></input>
						</div>`,
        onOk() {
          let times = Number($("#slowClickTimes").val()),
            delay = Number($("#slowClickSec").val());
          if (Number(times) <= 0 || Number(delay) <= 0) return;
          setTimeout((o) => {
            $(document).one("click", (o) => {
              let snpc = $(o.target)
                .closest("button")[0]
                .outerHTML.match(
                  /clickButton\([\'\"](.+)[\'\"](,\s*(\d+))*\)/i,
                );
              if (snpc && snpc.length >= 2) {
                let param = snpc[3] ?? 0;
                PLU.setCache("autoClickNum", times);
                PLU.loopSlowClick(snpc[1], param, times, delay * 1000);
              } else {
                PLU.setBtnRed($btn, 0);
              }
            });
          }, 500);
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    autoMasterGem($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        $("#btn_bt_autoMasterGem").text("一鍵合天神");
        return;
      }
      let arr = [
        "碎裂的",
        "裂開的",
        "無前綴",
        "無暇的",
        "完美的",
        "君王的",
        "皇帝的",
      ];
      let sel1 =
        '<select id="startGemLvl" style="font-size:16px;height:30px;width:25%;">';
      arr.forEach((p, pi) => {
        sel1 +=
          '<option value="' +
          pi +
          '" ' +
          (pi == 0 ? "selected" : "") +
          ">" +
          p +
          "</option>";
      });
      sel1 += "</select>";
      YFUI.showPop({
        title: "一鍵合天神",
        text: `選擇合成起始寶石等級,選擇速度(請根據網速和遊戲速度選擇),確定後自動向上合成所有<br>
						<div style='margin:10px 0;'>
							<span>起始等級: </span>${sel1}
							<span>速度(秒): </span>
							<select id="combineSec" style="font-size:16px;height:30px;width:15%;">
								<option selected>0.5</option>
								<option>1</option>
								<option>2</option>
								<option>3</option>
							</select>
						</div>`,
        width: "382px",
        okText: "開始",
        onOk() {
          let startLvl = Number($("#startGemLvl").val()),
            delay = Number($("#combineSec").val());
          PLU.autoCombineMasterGem(startLvl, delay * 1000);
          //console.log(startLvl,delay)
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    autoCombineMasterGem(startLvl, delay, gemCode, count) {
      if (!PLU.ONOFF["btn_bt_autoMasterGem"]) {
        PLU.setBtnRed($("#btn_bt_autoMasterGem"), 0);
        $("#btn_bt_autoMasterGem").text("一鍵合天神");
        YFUI.writeToOut("<span style='color:white;'>==停止合成寶石!==</span>");
        return;
      }
      if (!UTIL.sysListeners["listenCombineMasterGem"]) {
        UTIL.addSysListener(
          "listenCombineMasterGem",
          function (b, type, subtype, msg) {
            if (type == "notice" && msg.indexOf("合成寶石需要") >= 0) {
              UTIL.delSysListener("listenCombineMasterGem");
              YFUI.writeToOut(
                "<span style='color:#F00;'>--缺少銀兩, 合成結束--</span>",
              );
              PLU.setBtnRed($("#btn_bt_autoMasterGem"), 0);
            }
            return;
          },
        );
      }
      //合成寶石需要5萬銀兩。
      //沒有這麼多的完美的藍寶石
      if (!gemCode || count < 3) {
        PLU.getGemList((gemList) => {
          // console.log(gemList)
          let g = gemList.find(
            (e) => e.key.indexOf("" + (startLvl + 1)) > 0 && e.num >= 3,
          );
          if (g) {
            PLU.autoCombineMasterGem(startLvl, delay, g.key, g.num);
          } else {
            if (startLvl < 6) PLU.autoCombineMasterGem(startLvl + 1, delay);
            else {
              PLU.setBtnRed($("#btn_bt_autoMasterGem"), 0);
              YFUI.writeToOut(
                "<span style='color:white;'>==合成寶石結束!==</span>",
              );
            }
          }
        });
      } else {
        let cd = (delay / 4) | 250,
          n = 1;
        cd = cd > 250 ? cd : 250;
        if (count >= 30000) {
          n = 10000;
          cd = delay;
        } else if (count >= 15000) {
          n = 5000;
          cd = delay;
        } else if (count >= 9000) {
          n = 3000;
          cd = delay;
        } else if (count >= 3000) {
          n = 1000;
          cd = delay;
        } else if (count >= 300) {
          n = 100;
          cd = delay;
        } else if (count >= 150) {
          n = 50;
          cd = delay;
        } else if (count >= 90) {
          n = 30;
          cd = (delay / 2) | 0;
        } else if (count >= 30) {
          n = 10;
          cd = (delay / 3) | 0;
        }
        let cmd = "items hecheng " + gemCode + "_N_" + n + "";
        clickButton(cmd);
        setTimeout(() => {
          PLU.autoCombineMasterGem(startLvl, delay, gemCode, count - n * 3);
        }, cd);
      }
    },
    //================================================================================================
    toSellLaji($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        //$("#btn_bt_sellLaji").text('清理垃圾')
        return;
      }
      let defaultList =
        "破爛衣服,水草,木盾,鐵盾,藤甲盾,青銅盾,鞶革,軍袍,麻帶,破披風,長斗篷,牛皮帶,錦緞腰帶,絲質披風,逆鉤匕,匕首,鐵甲,重甲,精鐵甲,逆鉤匕,銀絲甲,梅花匕,軟甲衣,羊角匕,金剛杖,白蟒鞭,天寒項鍊,天寒手鐲,新月棍,天寒戒,天寒帽,天寒鞋,金彈子,拜月掌套";
      YFUI.showInput({
        title: "清理垃圾",
        text: `格式:物品詞組<br>
						物品詞組:以英文逗號分割多個關鍵詞<br>
						<span style="color:red;">例如:</span><br>
						[例1] <span style="color:blue;">${defaultList}</span><br>
						`,
        value: PLU.getCache("sellItemNames") || defaultList,
        type: "textarea",
        onOk(val) {
          if (!$.trim(val)) return;
          let str = $.trim(val);
          PLU.setCache("sellItemNames", str);
          let keysList = str.split(",");
          let itemsTimeOut = setTimeout(() => {
            UTIL.delSysListener("listItems");
          }, 5000);
          UTIL.addSysListener("listItems", function (b, type, subtype, msg) {
            if (type != "items") return;
            UTIL.delSysListener("listItems");
            clearTimeout(itemsTimeOut);
            clickButton("prev");
            let iId = 1,
              itemList = [];
            while (b.get("items" + iId)) {
              let it = UTIL.filterMsg(b.get("items" + iId)).split(",");
              if (
                it &&
                it.length > 4 &&
                it[3] == "0" &&
                keysList.includes(it[1])
              )
                itemList.push({
                  key: it[0],
                  name: it[1],
                  num: Number(it[2]),
                });
              iId++;
            }
            PLU.loopSellItems(itemList);
          });
          clickButton("items", 0);
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    loopSellItems(itemList) {
      if (itemList.length <= 0) {
        PLU.setBtnRed($("#btn_bt_sellLaji"), 0);
        return YFUI.writeToOut(
          "<span style='color:#F66;'>--無出售物件!--</span>",
        );
      }
      let ac = [];
      itemList.forEach((it) => {
        let ct = it.num;
        while (ct > 0) {
          if (ct >= 10000) {
            ac.push("items sell " + it.key + "_N_10000");
            ct -= 10000;
          } else if (ct >= 1000) {
            ac.push("items sell " + it.key + "_N_1000");
            ct -= 1000;
          } else if (ct >= 100) {
            ac.push("items sell " + it.key + "_N_100");
            ct -= 100;
          } else if (ct >= 50) {
            ac.push("items sell " + it.key + "_N_50");
            ct -= 50;
          } else if (ct >= 10) {
            ac.push("items sell " + it.key + "_N_10");
            ct -= 10;
          } else {
            ac.push("items sell " + it.key + "");
            ct -= 1;
          }
        }
      });
      let acs = ac.join(";");
      PLU.fastExec(acs, () => {
        PLU.setBtnRed($("#btn_bt_sellLaji"), 0);
        YFUI.writeToOut("<span style='color:white;'>==出售完成!==</span>");
      });
    },
    //================================================================================================
    toSplitItem($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        return;
      }
      let defaultList =
        "玄武盾,破軍盾,金絲寶甲衣,夜行披風,羊毛斗篷,殘雪戒,殘雪項鍊,殘雪手鐲,殘雪鞋,金絲甲,寶玉甲,月光寶甲,虎皮腰帶,滄海護腰,紅光匕,毒龍鞭,玉清棍,霹靂掌套";
      YFUI.showInput({
        title: "分解裝備",
        text: `格式:物品詞組<br>
						物品詞組:以英文逗號分割多個關鍵詞<br>
						<span style="color:red;">例如:</span><br>
						[例1] <span style="color:blue;">${defaultList}</span><br>
						`,
        value: PLU.getCache("splitItemNames") || defaultList,
        type: "textarea",
        onOk(val) {
          if (!$.trim(val)) return;
          let str = $.trim(val);
          PLU.setCache("splitItemNames", str);
          let keysList = str.split(",");
          let itemsTimeOut = setTimeout(() => {
            UTIL.delSysListener("listItems_si");
          }, 5000);
          UTIL.addSysListener("listItems_si", function (b, type, subtype, msg) {
            if (type != "items") return;
            UTIL.delSysListener("listItems_si");
            clearTimeout(itemsTimeOut);
            clickButton("prev");
            let iId = 1,
              itemList = [];
            while (b.get("items" + iId)) {
              let it = UTIL.filterMsg(b.get("items" + iId)).split(",");
              if (
                it &&
                it.length > 4 &&
                it[3] == "0" &&
                keysList.includes(it[1])
              )
                itemList.push({
                  key: it[0],
                  name: it[1],
                  num: Number(it[2]),
                });
              iId++;
            }
            PLU.loopSplitItem(itemList);
          });
          clickButton("items", 0);
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    loopSplitItem(itemList) {
      if (itemList.length <= 0) {
        PLU.setBtnRed($("#btn_bt_splitItem"), 0);
        return YFUI.writeToOut(
          "<span style='color:#F66;'>--無分解物件!--</span>",
        );
      }
      let ac = [];
      itemList.forEach((it) => {
        let ct = it.num;
        while (ct > 0) {
          if (ct >= 100) {
            ac.push("items splite " + it.key + "_N_100");
            ct -= 100;
          } else if (ct >= 50) {
            ac.push("items splite " + it.key + "_N_50");
            ct -= 50;
          } else if (ct >= 10) {
            ac.push("items splite " + it.key + "_N_10");
            ct -= 10;
          } else {
            ac.push("items splite " + it.key + "");
            ct -= 1;
          }
        }
      });
      let acs = ac.join(";");
      PLU.fastExec(acs, () => {
        PLU.setBtnRed($("#btn_bt_splitItem"), 0);
        YFUI.writeToOut("<span style='color:white;'>==分解完成!==</span>");
      });
    },
    //================================================================================================
    toPutStore($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        return;
      }
      let defaultList =
        "樹枝,碎片,璞玉,青玉,墨玉,白玉,秘籍木盒,錦袋,瑞雪針釦,武穆遺書,隱武竹箋,空識卷軸,技能書,開元寶票,霹靂彈,舞鳶尾,百宜雪梅";
      YFUI.showInput({
        title: "物品入庫",
        text: `格式:物品詞組<br>
						物品詞組:以英文逗號分割多個關鍵詞<br>
						<span style="color:red;">例如:</span><br>
						[例1] <span style="color:blue;">${defaultList}</span><br>
						`,
        value: PLU.getCache("putStoreNames") || defaultList,
        type: "textarea",
        onOk(val) {
          if (!$.trim(val)) return;
          let str = $.trim(val);
          PLU.setCache("putStoreNames", str);
          let keysList = str.split(",").join("|");
          let itemsTimeOut = setTimeout(() => {
            UTIL.delSysListener("listItems_ps");
          }, 5000);
          UTIL.addSysListener("listItems_ps", function (b, type, subtype, msg) {
            if (type != "items") return;
            UTIL.delSysListener("listItems_ps");
            clearTimeout(itemsTimeOut);
            clickButton("prev");
            let iId = 1,
              itemList = [];
            while (b.get("items" + iId)) {
              let it = UTIL.filterMsg(b.get("items" + iId)).split(",");
              if (
                it &&
                it.length > 4 &&
                it[3] == "0" &&
                it[1].match(keysList) &&
                it[1] != "青龍碎片" &&
                it[1] != "玄鐵碎片"
              )
                itemList.push({
                  key: it[0],
                  name: it[1],
                  num: Number(it[2]),
                });
              iId++;
            }
            PLU.loopPutStore(itemList);
          });
          clickButton("items", 0);
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    loopPutStore(itemList) {
      if (itemList.length <= 0) {
        PLU.setBtnRed($("#btn_bt_putStore"), 0);
        return YFUI.writeToOut(
          "<span style='color:#F66;'>--無物件入庫!--</span>",
        );
      }
      let ac = [];
      itemList.forEach((it) => {
        ac.push("items put_store " + it.key + "");
      });
      PLU.fastExec(ac.join(";"), () => {
        PLU.setBtnRed($("#btn_bt_putStore"), 0);
        YFUI.writeToOut("<span style='color:white;'>==入庫完成!==</span>");
      });
    },
    //================================================================================================
    toAutoUse($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        return;
      }
      let defaultList =
        "*神秘寶箱,靈草,紫芝,狂暴丹,小還丹,大還丹,高級大還丹,高級狂暴丹,高級乾坤再造丹,百年靈草,百年紫芝,特級大還丹,特級狂暴丹,特級乾坤再造丹,千年靈草,千年紫芝,頂級大還丹,頂級狂暴補丸,頂級乾坤補丸,萬年靈草,萬年紫芝";
      YFUI.showInput({
        title: "物品使用",
        text: `格式:物品詞組<br>
						物品詞組:以英文逗號分割多個關鍵詞, 只能單個使用的物品前面加*星號<br>
						<span style="color:red;">例如:</span><br>
						[例1] <span style="color:blue;">${defaultList}</span><br>
						`,
        value: PLU.getCache("autoUseNames") || defaultList,
        type: "textarea",
        onOk(val) {
          if (!$.trim(val)) return;
          let str = $.trim(val);
          PLU.setCache("autoUseNames", str);
          let keysList = str.split(",");
          let itemsTimeOut = setTimeout(() => {
            UTIL.delSysListener("listItems_au");
          }, 5000);
          UTIL.addSysListener("listItems_au", function (b, type, subtype, msg) {
            if (type != "items") return;
            UTIL.delSysListener("listItems_au");
            clearTimeout(itemsTimeOut);
            clickButton("prev");
            let iId = 1,
              itemList = [];
            while (b.get("items" + iId)) {
              let it = UTIL.filterMsg(b.get("items" + iId)).split(",");
              if (!it[1]) continue;
              if (it && it.length > 4 && it[3] == "0") {
                if (keysList.includes(it[1]))
                  itemList.push({
                    key: it[0],
                    name: it[1],
                    num: Number(it[2]),
                    multi: true,
                  });
                else if (keysList.includes("*" + it[1]))
                  itemList.push({
                    key: it[0],
                    name: it[1],
                    num: Number(it[2]),
                    multi: false,
                  });
              }
              iId++;
            }
            PLU.loopAutoUse(itemList);
          });
          clickButton("items", 0);
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    loopAutoUse(itemList) {
      if (itemList.length <= 0) {
        PLU.setBtnRed($("#btn_bt_autoUse"), 0);
        return YFUI.writeToOut(
          "<span style='color:#F66;'>--無物件使用!--</span>",
        );
      }
      let ac = [];
      itemList.forEach((it) => {
        let ct = it.num;
        while (ct > 0) {
          if (it.multi && ct >= 100) {
            ac.push("items use " + it.key + "_N_100");
            ct -= 100;
          } else if (it.multi && ct >= 50) {
            ac.push("items use " + it.key + "_N_50");
            ct -= 50;
          } else if (it.multi && ct >= 10) {
            ac.push("items use " + it.key + "_N_10");
            ct -= 10;
          } else {
            ac.push("items use " + it.key + "");
            ct -= 1;
          }
        }
      });
      PLU.fastExec(ac.join(";"), () => {
        PLU.setBtnRed($("#btn_bt_autoUse"), 0);
        YFUI.writeToOut("<span style='color:white;'>==使用完成!==</span>");
      });
    },
    //================================================================================================
    toLoopScript($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        $("#btn_bt_loopScript").text("循環執行");
        PLU.STO.loopScTo &&
          clearTimeout(PLU.STO.loopScTo) &&
          delete PLU.STO.loopScTo;
        return;
      }
      YFUI.showInput({
        title: "循環執行",
        text: `格式:循環次數@時間間隔|執行指令<br>
						循環次數:省略則默認1次<br>
						時間間隔:省略則默認5(5秒)<br>
						執行指令:以分號分隔的指令<br>
						<span style="color:red;">例如</span><br>
						[例1] 3@5|jh 1;e;n;home;<br>
						[例2] jh 5;n;n;n;w;sign7;
						`,
        value: PLU.getCache("loopScript") || "home;",
        type: "textarea",
        onOk(val) {
          if (!$.trim(val)) return;
          let str = $.trim(val),
            scripts = "",
            times = 1,
            interval = 5,
            arr = str.split("|");
          if (arr.length > 1) {
            scripts = arr[1];
            if (arr[0].indexOf("@") >= 0) {
              times = Number(arr[0].split("@")[0]) || 1;
              interval = Number(arr[0].split("@")[1]) || 5;
            } else {
              times = Number(arr[0]) || 1;
            }
          } else {
            scripts = arr[0];
          }
          PLU.setCache("loopScript", str);
          PLU.loopScript(scripts, times, interval);
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    loopScript(scripts, times, interval) {
      times--;
      $("#btn_bt_loopScript").text("停執行(" + times + ")");
      PLU.execActions(scripts, () => {
        if (times <= 0 || !PLU.ONOFF["btn_bt_loopScript"]) {
          PLU.setBtnRed($("#btn_bt_loopScript"), 0);
          $("#btn_bt_loopScript").text("循環執行");
          PLU.STO.loopScTo &&
            clearTimeout(PLU.STO.loopScTo) &&
            delete PLU.STO.loopScTo;
          return;
        } else {
          PLU.STO.loopScTo = setTimeout(() => {
            PLU.loopScript(scripts, times, interval);
          }, interval * 1000);
        }
      });
    },
    //================================================================================================
    toAutoAskQixia($btn, autoTime) {
      if (g_gmain.is_fighting) return;
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        return;
      }
      $(".menu").hide();
      YFUI.showPop({
        title: "自動訪問奇俠",
        text: "自動對話所有有親密度的奇俠, 請在做完20次贊助金錠後再進行<br><b style='color:#F00;'>是否現在進行?</b>",
        autoOk: autoTime ?? null,
        onOk() {
          let jhqxTimeOut = setTimeout(() => {
            UTIL.delSysListener("listQixia");
            PLU.setBtnRed($btn, 0);
          }, 5000);
          UTIL.addSysListener("listQixia", function (b, type, subtype, msg) {
            if (type != "show_html_page" || msg.indexOf("江湖奇俠成長信息") < 0)
              return;
            UTIL.delSysListener("listQixia");
            clearTimeout(jhqxTimeOut);
            let listHtml = msg;
            clickButton("prev");
            let str =
                "find_task_road qixia (\\d+)\x03(.{2,4})\x030\x03\\((\\d+)\\)(.{15,25}朱果)?.{30,50}已出師",
              rg1 = new RegExp(str, "g"),
              rg2 = new RegExp(str),
              visQxs = [];
            listHtml.match(rg1).forEach((e) => {
              let a = e.match(rg2);
              if (a)
                visQxs.push({
                  key: a[1],
                  name: a[2],
                  num: Number(a[3]),
                  link: "find_task_road qixia " + a[1],
                  fast: a[4] ? "open jhqx " + a[1] : null,
                });
            });
            visQxs = visQxs.sort((a, b) => {
              if (a.fast && b.num >= 25000) return -1;
              else return 2;
            });
            visQxs.reverse();
            PLU.toAskQixia(visQxs, 0);
          });
          clickButton("open jhqx", 0);
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    toAskQixia(qxList, idx) {
      clickButton("home");
      if (idx >= qxList.length || !PLU.ONOFF["btn_bt_autoAskQixia"]) {
        PLU.setBtnRed($("#btn_bt_autoAskQixia"), 0);
        YFUI.writeToOut("<span style='color:#FFF;'>--奇俠訪問結束!--</span>");
        return;
      }
      let qxObj = qxList[idx];
      if (qxObj.fast) {
        clickButton(qxObj.fast, 0);
        setTimeout(() => {
          PLU.toAskQixia(qxList, idx + 1);
        }, 500);
      } else {
        PLU.execActions(qxObj.link + ";golook_room;", () => {
          let objNpc = UTIL.findRoomNpc(qxObj.name, false, true);
          if (objNpc) {
            PLU.execActions(
              "ask " +
                objNpc.key +
                ";ask " +
                objNpc.key +
                ";ask " +
                objNpc.key +
                ";ask " +
                objNpc.key +
                ";ask " +
                objNpc.key +
                ";golook_room;",
              () => {
                setTimeout(() => {
                  PLU.toAskQixia(qxList, idx + 1);
                }, 500);
              },
            );
          } else {
            YFUI.writeToOut(
              "<span style='color:#FFF;'>--找不到奇俠:" +
                qxObj.name +
                "--</span>",
            );
            setTimeout(() => {
              PLU.toAskQixia(qxList, idx + 1);
            }, 500);
          }
        });
      }
    },
    //================================================================================================
    getQixiaList(callback) {
      let jhQixiaTimeOut = setTimeout(() => {
        UTIL.delSysListener("getlistQixia");
      }, 5000);
      UTIL.addSysListener("getlistQixia", function (b, type, subtype, msg) {
        if (type != "show_html_page" || msg.indexOf("江湖奇俠成長信息") < 0)
          return;
        UTIL.delSysListener("getlistQixia");
        clearTimeout(jhQixiaTimeOut);
        window.ttttt = msg;
        let listHtml = msg.replace(
          /\x03(0)?|href;0;|[\033|\27|\0x1b]\[[0-9|;]+m/gi,
          "",
        );
        clickButton("prev");
        let str =
          "find_task_road qixia (\\d+)(.{2,4})(\\((\\d*)\\))?(open jhqx \\d+朱果)?<\\/td><td.{20,35}>(.{1,10})<\\/td><td.{20,35}>(.{1,15})<\\/td><td .{20,40}領悟(.{2,10})<\\/td><\\/tr>";
        let rg1 = new RegExp(str, "g"),
          rg2 = new RegExp(str),
          qxList = [];
        listHtml.match(rg1).forEach((e) => {
          let a = e.match(rg2);
          if (a)
            qxList.push({
              index: a[1],
              name: a[2],
              num: Number(a[4]) || 0,
              link: "find_task_road qixia " + a[1],
              fast: a[5] ? "open jhqx " + a[1] : null,
              inJh: a[6] && a[6].indexOf("未出世") < 0 ? true : false,
            });
        });
        callback && callback(qxList);
      });
      clickButton("open jhqx", 0);
    },
    //================================================================================================
    toAutoVisitQixia($btn) {
      if (g_gmain.is_fighting) return;
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        //$("#btn_bt_autoVisitQixia").text('親近奇俠')
        PLU.TMP.autoQixiaMijing = false;
        return;
      }
      $(".menu").hide();
      clickButton("open jhqx", 0);
      YFUI.showInput({
        title: "奇俠秘境",
        text:
          `請輸入要提升親密度的遊俠的姓名<br>
                        格式:金錠數量|遊俠姓名@目標友好度<br>
						金錠數量:給予1或5或15金錠,可省略則只對話<br>
						遊俠姓名:只能輸入一個遊俠姓名<br>
						目標友好度:省略則以可學技能的友好度為目標<br>
						<span style="color:red;">例如</span><br>
						[例1] 15|風無痕 <span style="color:blue;">訪問風無痕贈與15金錠</span><br>
						[例2] 火雲邪神 <span style="color:blue;">訪問火雲邪神對話</span><br>
						[例2] 15|步驚鴻@30000 <span style="color:blue;">訪問步驚鴻對話贈與15金錠到30000友好度</span><br>
						` +
          '<div style="text-align:right;"><label>自動挖寶:<input type="checkbox" id="if_auto_wb" name="awb" value="1"/></label><label>不要掃盪秘境:<input type="checkbox" id="if_auto_mj" name="noamj" value="1"/></label></div>',
        value: PLU.getCache("visitQixiaName") || "15|風無痕",
        onOk(val) {
          if (!$.trim(val)) return;
          let str = $.trim(val),
            arr = str.split("|"),
            giveNum = 15,
            qxName = "",
            objectFN = 0;
          let ifAutoMj = $("#if_auto_mj").is(":checked");
          let ifAutoWb = $("#if_auto_wb").is(":checked");
          if (arr.length > 1) {
            giveNum = Number(arr[0]) || 15;
            let nn = arr[1].split("@");
            qxName = nn[0].trim();
            if (nn.length > 1) objectFN = Number(nn[1]);
          } else {
            giveNum = 0;
            let nn = arr[0].split("@");
            qxName = nn[0].trim();
            if (nn.length > 1) objectFN = Number(nn[1]);
          }
          PLU.setCache("visitQixiaName", str);
          PLU.TMP.todayGetXT = 0;
          UTIL.delSysListener("listenVisitNotice");
          PLU.STO.listenVisit && clearTimeout(PLU.STO.listenVisit);
          PLU.TMP.goingQixiaMijing = false;
          PLU.tryVisitQixia(
            qxName,
            giveNum,
            objectFN,
            ifAutoMj,
            ifAutoWb,
            (err) => {
              if (err) {
                if (err.code == 1) {
                  PLU.setBtnRed($btn, 0);
                  UTIL.delSysListener("listenVisitNotice");
                  PLU.toAutoAskQixia($("#btn_bt_autoAskQixia"), 10);
                  YFUI.writeToOut(
                    "<span style='color:yellow;'> 今日一共獲得玄鐵令x" +
                      PLU.TMP.todayGetXT +
                      "</span>",
                  );
                  UTIL.log({
                    msg: " 今日一共獲得玄鐵令x " + PLU.TMP.todayGetXT + "  ",
                    type: "TIPS",
                    time: new Date().getTime(),
                  });
                } else {
                  YFUI.showPop({
                    title: "提示",
                    text: "<b style='color:#F00;'>" + err.msg + "</b>",
                    onOk() {
                      PLU.setBtnRed($btn, 0);
                      PLU.toAutoVisitQixia($btn);
                    },
                    onX() {
                      PLU.setBtnRed($btn, 0);
                    },
                  });
                }
              }
            },
          );
        },
        onNo() {
          PLU.setBtnRed($btn, 0);
        },
        onX() {
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    tryVisitQixia(qxName, giveNum, objectFN, ifAutoMj, ifAutoWb, callback) {
      PLU.TMP.autoQixiaMijing = true;
      //發現
      PLU.getQixiaList((qxlist) => {
        let testDone = qxlist.find((e) => !!e.fast);
        if (testDone) {
          PLU.STO.listenVisit && clearTimeout(PLU.STO.listenVisit);
          callback && callback({ code: 1, msg: "今日奇俠友好度操作已經完畢" });
          return;
        }
        let qx = qxlist.find((e) => e.name == qxName);
        if (!qx) {
          callback && callback({ code: 2, msg: "沒有這個奇俠!" });
          return;
        }
        if (!qx.inJh) {
          callback && callback({ code: 3, msg: "這個奇俠還沒出師!" });
          return;
        }
        let objectFriendNum =
          objectFN ?? PLU.YFD.qixiaFriend.find((e) => e.name == qxName).skillFN;
        if (qx.num >= objectFriendNum) {
          callback && callback({ code: 4, msg: "奇俠友好度已足夠" });
          return;
        }
        let listenVisitTimeout = function () {
          if (!PLU.TMP.goingQixiaMijing)
            PLU.tryVisitQixia(
              qxName,
              giveNum,
              objectFN,
              ifAutoMj,
              ifAutoWb,
              callback,
            );
        };
        UTIL.delSysListener("listenVisitNotice");
        //監聽場景消息
        UTIL.addSysListener(
          "listenVisitNotice",
          function (b, type, subtype, msg) {
            if (type != "notice" && type != "main_msg") return;
            let msgTxt = UTIL.filterMsg(msg);
            if (msgTxt.match("對你悄聲道:你現在去")) {
              //奇俠說秘境
              let l = msgTxt.match(
                /(.*)對你悄聲道:你現在去(.*),應當會有發現/,
              );
              if (l && l.length > 2) {
                PLU.TMP.goingQixiaMijing = true;
                let placeData = PLU.YFD.mjList.find((e) => e.n == l[2]);
                if (placeData) {
                  PLU.execActions(
                    placeData.v + ";;find_task_road secret;;",
                    () => {
                      setTimeout(() => {
                        let mapid = g_obj_map.get("msg_room").get("map_id");
                        let shortName = g_obj_map.get("msg_room").get("short");
                        YFUI.writeToOut(
                          "<span style='color:#FFF;'>--地圖ID:" +
                            mapid +
                            "--</span>",
                        );
                        if (mapid == "public") {
                          PLU.execActions("secret_op1;", () => {
                            PLU.TMP.goingQixiaMijing = false;
                            PLU.tryVisitQixia(
                              qxName,
                              giveNum,
                              objectFN,
                              ifAutoMj,
                              ifAutoWb,
                              callback,
                            );
                          });
                        } else if (ifAutoMj) {
                          UTIL.delSysListener("listenVisitNotice");
                          PLU.setBtnRed($("#btn_bt_autoVisitQixia"), 0);
                          YFUI.writeToOut(
                            "<span style='color:yellow;'> ===== 進入了秘境! ===== </span>",
                          );
                        } else {
                          let ss = g_obj_map
                            .get("msg_room")
                            .elements.find((e) => e.value == "仔細搜索");
                          if (ss) {
                            let cmd_ss = g_obj_map
                              .get("msg_room")
                              .get(ss.key.split("_")[0]);
                            PLU.execActions(cmd_ss + ";;", () => {
                              if (ifAutoWb) {
                                let wb = g_obj_map
                                  .get("msg_room")
                                  .elements.find(
                                    (e) => e.value.indexOf("秘境挖寶") >= 0,
                                  );
                                if (wb) {
                                  PLU.execActions("mijing_wb;;");
                                }
                              }

                              let sd = g_obj_map
                                .get("msg_room")
                                .elements.find(
                                  (e) => e.value.indexOf("掃盪") >= 0,
                                );
                              if (sd) {
                                let cmd_sd = g_obj_map
                                  .get("msg_room")
                                  .get(sd.key.split("_")[0]);
                                PLU.doSaoDang(mapid, cmd_sd, () => {
                                  PLU.TMP.goingQixiaMijing = false;
                                  PLU.tryVisitQixia(
                                    qxName,
                                    giveNum,
                                    objectFN,
                                    ifAutoMj,
                                    ifAutoWb,
                                    callback,
                                  );
                                });
                              } else if (shortName == "無盡深淵") {
                                PLU.goWuJinShenYuan(() => {
                                  PLU.TMP.goingQixiaMijing = false;
                                  PLU.tryVisitQixia(
                                    qxName,
                                    giveNum,
                                    objectFN,
                                    ifAutoMj,
                                    ifAutoWb,
                                    callback,
                                  );
                                });
                              } else {
                                UTIL.delSysListener("listenVisitNotice");
                                PLU.setBtnRed($("#btn_bt_autoVisitQixia"), 0);
                                YFUI.writeToOut(
                                  "<span style='color:yellow;'> ===進入了未通關秘境!=== </span>",
                                );
                              }
                            });
                          }
                        }
                      }, 1500);
                    },
                  );
                }
                return;
              }
            }
            let vis = msgTxt.match(/今日親密度操作次數\((\d+)\/20\)/);
            if (vis) {
              PLU.STO.listenVisit && clearTimeout(PLU.STO.listenVisit);
              setTimeout(() => {
                if (!PLU.TMP.goingQixiaMijing) {
                  PLU.STO.listenVisit = setTimeout(listenVisitTimeout, 4000);
                  let objNpc = UTIL.findRoomNpc(qxName, false, true);
                  if (objNpc) {
                    PLU.doVisitAction(objNpc.key, giveNum);
                  } else {
                    YFUI.writeToOut(
                      "<span style='color:#FFF;'>--找不到奇俠!--</span>",
                    );
                    setTimeout(() => {
                      PLU.tryVisitQixia(
                        qxName,
                        giveNum,
                        objectFN,
                        ifAutoMj,
                        ifAutoWb,
                        callback,
                      );
                    }, 500);
                  }
                }
              }, 500);
              return;
            }
            if (msgTxt.match("今日做了太多關於親密度的操作")) {
              PLU.STO.listenVisit && clearTimeout(PLU.STO.listenVisit);
              callback &&
                callback({ code: 1, msg: "今日奇俠友好度操作已經完畢" });
              return;
            }
            if (
              msgTxt.match(
                /今日奇俠贈送次數(\d+)\/(\d+),.*贈送次數(\d+)\/(\d+)/,
              )
            ) {
              PLU.STO.listenVisit && clearTimeout(PLU.STO.listenVisit);
              callback &&
                callback({ code: 1, msg: "今日奇俠友好度操作已經完畢" });
              return;
            }
            if (msgTxt.match("掃盪成功,獲得:")) {
              let xtnum = parseInt(msgTxt.split("、")[0].split("玄鐵令x")[1]);
              if (xtnum) PLU.TMP.todayGetXT += xtnum;
              xtnum && YFUI.writeToOut("<span>--玄鐵令+" + xtnum + "--</span>");
              return;
            }
            if (msgTxt.match("你開始四處搜索……你找到了")) {
              let xtnum = parseInt(msgTxt.split("、")[0].split("玄鐵令x")[1]);
              if (xtnum) PLU.TMP.todayGetXT += xtnum;
              xtnum && YFUI.writeToOut("<span>--玄鐵令+" + xtnum + "--</span>");
              return;
            }
          },
        );
        PLU.execActions(qx.link + ";;", () => {
          let objNpc = UTIL.findRoomNpc(qxName, false, true);
          if (objNpc) {
            PLU.STO.listenVisit = setTimeout(listenVisitTimeout, 3000);
            PLU.doVisitAction(objNpc.key, giveNum);
          } else {
            YFUI.writeToOut(
              "<span style='color:#FFF;'>--找不到奇俠:" + qxName + "--</span>",
            );
            setTimeout(() => {
              PLU.tryVisitQixia(
                qxName,
                giveNum,
                objectFN,
                ifAutoMj,
                ifAutoWb,
                callback,
              );
            }, 500);
          }
        });
      });
    },
    //================================================================================================
    doVisitAction(qxKey, giveNum) {
      if (giveNum == 0) {
        PLU.execActions("ask " + qxKey + ";");
      } else if (giveNum == 1) {
        PLU.execActions("auto_zsjd_" + qxKey.split("_")[0] + ";");
      } else if (giveNum == 5) {
        PLU.execActions("auto_zsjd5_" + qxKey.split("_")[0] + ";");
      } else {
        PLU.execActions("auto_zsjd20_" + qxKey.split("_")[0] + ";");
      }
    },
    //================================================================================================
    doSaoDang(mapid, cmd, callback) {
      UTIL.addSysListener(
        "listenVisitSaodang",
        function (b, type, subtype, msg) {
          if (type != "prompt") return;
          let xtnum = parseInt(msg.split("、")[0].split("玄鐵令x")[1]);
          if (["yaowanggu", "leichishan"].includes(mapid)) {
            if (xtnum < 5)
              return setTimeout(() => {
                clickButton(cmd);
              }, 300);
          } else if (
            [
              "liandanshi",
              "lianhuashanmai",
              "qiaoyinxiaocun",
              "duzhanglin",
              "shanya",
              "langhuanyudong",
              "dixiamigong",
            ].includes(mapid)
          ) {
            if (xtnum < 3)
              return setTimeout(() => {
                clickButton(cmd);
              }, 300);
          }
          UTIL.delSysListener("listenVisitSaodang");
          PLU.execActions(cmd + " go;", () => {
            callback && callback();
          });
        },
      );
      setTimeout(() => {
        clickButton(cmd);
      }, 300);
    },
    //================================================================================================
    goWuJinShenYuan(endcallback) {
      //無盡深淵
      let paths = "e;e;s;w;w;s;s;e;n;e;s;e;e;n;w;n;e;n;w".split(";");
      var sidx = 0;
      let gostep = function (pathArray, stepFunc) {
        let ca = pathArray[sidx];
        PLU.execActions(ca + "", () => {
          stepFunc && stepFunc();
          sidx++;
          if (sidx >= pathArray.length) {
            endcallback && endcallback();
          } else {
            setTimeout(() => {
              gostep(pathArray, stepFunc);
            }, 250);
          }
        });
      };
      gostep(paths, () => {
        let fc = g_obj_map
          .get("msg_room")
          .elements.find((e) => e.value == "翻查");
        if (fc) {
          let cmd_fc = g_obj_map.get("msg_room").get(fc.key.split("_")[0]);
          PLU.execActions(cmd_fc + "");
        }
      });
    },
    //================================================================================================
    toWaitCDKill($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        //$("#btn_bt_waitCDKill").text('')
        return;
      }
      clickButton("golook_room");
      YFUI.showPop({
        title: "倒計時叫殺門派紛爭",
        text: "倒計時最後5秒叫殺最近結束時間的門派紛爭!,確定後單擊NPC<br>",
        onOk() {
          setTimeout((o) => {
            $(document).one("click", (o) => {
              let npcbtn = $(o.target).closest("button");
              let snpc = npcbtn[0].outerHTML.match(
                /clickButton\('look_npc (\w+)'/i,
              );
              if (snpc && snpc.length >= 2) {
                let nowTime = new Date().getTime(),
                  cMPFZ = null;
                for (let k in PLU.MPFZ) {
                  if (!cMPFZ || cMPFZ.t > PLU.MPFZ[k].t) cMPFZ = PLU.MPFZ[k];
                }
                if (cMPFZ) {
                  PLU.TMP.DATA_MPFZ = Object.assign({}, cMPFZ, {
                    killId: snpc[1],
                  });
                  YFUI.showPop({
                    title: "倒計時叫殺門派紛爭",
                    text:
                      '<div style="line-height:2;">人物:' +
                      npcbtn.text() +
                      "<br>地點:" +
                      PLU.TMP.DATA_MPFZ.p +
                      "<br>對決:" +
                      PLU.mp2icon(PLU.TMP.DATA_MPFZ.v) +
                      "</div>",
                    okText: "好的",
                    onOk() {},
                    onNo() {
                      PLU.TMP.DATA_MPFZ = null;
                      PLU.setBtnRed($btn, 0);
                    },
                  });
                }
              } else {
                PLU.TMP.DATA_MPFZ = null;
                PLU.setBtnRed($btn, 0);
              }
            });
          }, 500);
        },
        onNo() {
          PLU.TMP.DATA_MPFZ = null;
          PLU.setBtnRed($btn, 0);
        },
      });
    },
    //================================================================================================
    mp2icon(mplist) {
      let htm = "",
        zfarr = mplist.split(" VS "),
        zarr = zfarr[0].split("、"),
        farr = zfarr[1].split("、");
      zarr.forEach((zm) => {
        htm +=
          '<span style="display:inline-block;background:#F66;border-radius:2px;padding:0 2px;margin:1px;color:#FFF;">' +
          zm +
          "</span>";
      });
      htm +=
        '<span style="color:#FFF;background:#F00;font-weight:bold;border-radius:50%;padding:2px;">VS</span>';
      farr.forEach((fm) => {
        htm +=
          '<span style="display:inline-block;background:#66F;border-radius:2px;padding:0 2px;margin:1px;color:#FFF;">' +
          fm +
          "</span>";
      });
      return htm;
    },
    //================================================================================================
    toCheckAndWaitCDKill(nowTime) {
      let k = PLU.TMP.DATA_MPFZ.t + 1560000;
      let dt = Math.floor((k - nowTime) / 1000);
      if (dt == 5) {
        YFUI.writeToOut(
          "<span style='color:#F99;'>--最後5秒,進入戰鬥!--</span>",
        );
        //PLU.TMP.DATA_MPFZ = null
        //PLU.setBtnRed($btn,0)
        PLU.autoFight({
          targetKey: PLU.TMP.DATA_MPFZ.killId,
          fightKind: "kill",
          onFail() {
            PLU.TMP.DATA_MPFZ = null;
            PLU.setBtnRed($("#btn_bt_waitCDKill"), 0);
            setTimeout((t) => {
              PLU.autoChushi();
            }, 500);
          },
          onEnd() {
            PLU.TMP.DATA_MPFZ = null;
            PLU.setBtnRed($("#btn_bt_waitCDKill"), 0);
            setTimeout((t) => {
              PLU.autoChushi();
            }, 500);
          },
        });
      }
    },
    //================================================================================================
    setListen($btn, listenKey, stat) {
      let btnFlag = 0;
      if (stat != undefined) {
        btnFlag = PLU.setBtnRed($btn, stat);
        PLU.setCache(listenKey, stat);
        return;
      } else {
        btnFlag = PLU.setBtnRed($btn);
      }
      if (!btnFlag) {
        PLU.setCache(listenKey, 0);
        return;
      }
      if (listenKey == "listenQL") {
        //監聽青龍
        YFUI.showInput({
          title: "監聽本服青龍",
          text: `格式:擊殺類型|物品詞組<br>
                            擊殺類型:0殺守方(好人),1殺攻方(壞人)。<br>
                            物品詞組:以英文逗號分割多個關鍵詞<br>
                            <span style="color:red;">例如:</span><br>
                            [例1] <span style="color:blue;">0|斬龍,斬龍寶鐲,碎片</span><br>
                            [例2] <span style="color:blue;">1|*</span>;
                            `,
          value:
            PLU.getCache(listenKey + "_keys") ||
            "0|斬龍,開天寶棍,天罡掌套,龍皮至尊甲衣",
          type: "textarea",
          onOk(val) {
            let str = $.trim(val);
            if (!str || str.indexOf("|") < 0) return PLU.setBtnRed($btn, 0);
            PLU.setCache(listenKey + "_keys", str);
            PLU.setCache(listenKey, 1);
          },
          onNo() {
            PLU.setCache(listenKey, 0);
            PLU.setBtnRed($btn, 0);
          },
        });
      } else if (listenKey == "listenTF") {
        //監聽夜魔
        YFUI.showInput({
          title: "監聽逃犯",
          text: `格式:擊殺類型|逃犯詞組<br>
                            擊殺類型:0殺守方(逃犯),1殺攻方(捕快)。<br>
                            逃犯詞組:以英文逗號分割多個關鍵詞<br>
                            <span style="color:#F00;">【新人】以#開頭則等候他人開殺再進</span><br>
                            <span style="color:#933;">例如:</span><br>
                            [例1] <span style="color:blue;">0|夜魔*段老大,#夜魔*流寇</span>
                            `,
          value:
            PLU.getCache(listenKey + "_keys") ||
            "0|夜魔*段老大,夜魔*二娘,#夜魔*嶽老三,#夜魔*雲老四,#夜魔*流寇,#夜魔*惡棍,#夜魔*劇盜",
          type: "textarea",
          onOk(val) {
            let str = $.trim(val);
            if (!str || str.indexOf("|") < 0) return PLU.setBtnRed($btn, 0);
            PLU.setCache(listenKey + "_keys", str);
            PLU.setCache(listenKey, 1);
            PLU.splitTFParam();
          },
          onNo() {
            PLU.setCache(listenKey, 0);
            PLU.setBtnRed($btn, 0);
          },
        });
      } else if (listenKey == "listenKFQL") {
        //監聽廣場青龍
        YFUI.showInput({
          title: "監聽跨服青龍",
          text: `格式:擊殺類型|物品詞組<br>
                            擊殺類型:0殺守方(好人),1殺攻方(壞人)。<br>
                            物品詞組:以英文逗號分割多個關鍵詞<br>
                            <span style="color:red;">例如:</span><br>
                            [例1] <span style="color:blue;">0|斬龍,斬龍寶鐲,碎片</span><br>
                            [例2] <span style="color:blue;">1|*</span>;
                            `,
          value:
            PLU.getCache(listenKey + "_keys") ||
            "1|斬龍,開天寶棍,天罡掌套,龍皮至尊甲衣",
          type: "textarea",
          onOk(val) {
            let str = $.trim(val);
            if (!str || str.indexOf("|") < 0) return PLU.setBtnRed($btn, 0);
            PLU.setCache(listenKey + "_keys", str);
            PLU.setCache(listenKey, 1);
          },
          onNo() {
            PLU.setCache(listenKey, 0);
            PLU.setBtnRed($btn, 0);
          },
        });
      } else if (listenKey == "listenYX") {
        //監聽遊俠
        YFUI.showInput({
          title: "監聽遊俠",
          text: `格式:遊俠詞組<br>
                            遊俠詞組:以英文逗號分割多個關鍵詞<br>
                            <span style="color:red;">例如:</span><br>
                            [例1] <span style="color:blue;">王語嫣,厲工,金輪法王,虛夜月,雲夢璃,葉孤城</span><br>
                            `,
          value:
            PLU.getCache(listenKey + "_keys") ||
            [].concat(...PLU.YFD.youxiaList.map((e) => e.v)).join(","),
          type: "textarea",
          onOk(val) {
            let str = $.trim(val);
            if (!str) return PLU.setBtnRed($btn, 0);
            PLU.setCache(listenKey + "_keys", str);
            PLU.setCache(listenKey, 1);
          },
          onNo() {
            PLU.setCache(listenKey, 0);
            PLU.setBtnRed($btn, 0);
          },
        });
      } else if (listenKey == "autoTP") {
        //監聽突破
        YFUI.showInput({
          title: "持續突破",
          text: `請輸入需要自動突破的技能,以英文逗號分割,自動突破將在當前全部突破完後才開始。<br>
                            以1|開頭使用金剛舍利加速<br>
                            以2|開頭使用通天丸加速<br>
                            以3|開頭使用突破寶典加速<br>
                            以4|開頭使用三生石加速(未開發)<br>
                            <span style="color:red;">例如:</span><br>
                            [例1] <span style="color:blue;">千影百傷棍,1|排雲掌法,2|無相金剛掌,3|九天龍吟劍法,獨孤九劍</span>
                            `,
          value:
            PLU.getCache(listenKey + "_keys") ||
            "1|千影百傷棍,1|排雲掌法,1|不動明王訣",
          type: "textarea",
          onOk(val) {
            let str = $.trim(val);
            if (!str) return PLU.setBtnRed($btn, 0);
            PLU.setCache(listenKey + "_keys", str);
            PLU.setCache(listenKey, 1);
            PLU.getSkillsList((allSkills, tupoSkills) => {
              if (tupoSkills.length == 0) {
                PLU.toToPo();
              }
            });
          },
          onNo() {
            PLU.setCache(listenKey, 0);
            PLU.setBtnRed($btn, 0);
          },
        });
      } else if (listenKey == "autoDY") {
        //監聽突破
        YFUI.showInput({
          title: _("持续钓鱼", "持續釣魚"),
          text: _("请输入需要保留的元宝数", "請輸入需要保留的元寶數"),
          value: PLU.getCache(listenKey + "_key") || 100000,
          onOk(val) {
            let num = Number($.trim(val));
            PLU.setCache(listenKey + "_key", num);
            PLU.setCache(listenKey, 1);
            let room = g_obj_map.get("msg_room");
            if (room) room = room.get("short");
            if (room != "桃溪" || UTIL.inHome()) {
              let path = ["rank go 233;#6 s", "sw;se", "sw", "se", "s", "s"];
              // 太多人在釣魚了,擠不下了,請稍候再來
              // 人满是啥提示...,不知道...(那就随机选位置吧(
              PLU.execActions(
                path.slice(0, Math.floor(Math.random() * 6) + 1).join(";") +
                  ";diaoyu",
              );
            }
          },
          onNo() {
            PLU.setCache(listenKey, 0);
            PLU.setBtnRed($btn, 0);
          },
        });
      } else if (listenKey == "autoConnect") {
        YFUI.showInput({
          title: "自動重連",
          text: `請輸入斷線後自動重連的時間,重連方式為到時間自動刷新頁面。<br>單位為秒,0代表不自動重連。<br>
                            <span style="color:red;">例如:</span><br>
                            [例1] <span style="color:blue;">60</span> 代表60秒後刷新頁面
                            `,
          value: PLU.getCache(listenKey + "_keys") || "0",
          //type:"textarea",
          onOk(val) {
            let v = Number(val);
            if (val == "") return PLU.setBtnRed($btn, 0);
            PLU.setCache(listenKey + "_keys", v);
            PLU.setCache(listenKey, 1);
          },
          onNo() {
            PLU.setCache(listenKey, 0);
            PLU.setBtnRed($btn, 0);
          },
        });
      } else if (listenKey == "autoSignIn") {
        //YFUI.showPop(
        YFUI.showPop({
          title: "定時一鍵簽到",
          text: `請輸入自動簽到的時間。<br>
						<div><span style="font-size:18px;line-height:2;">每日: </span><input id="autoSignInTime" type="time" style="font-size:20px;border-radius:5px;margin:10px 0"/></div>
						`,
          onOk() {
            let v = $.trim($("#autoSignInTime").val());
            if (v == "") return PLU.setBtnRed($btn, 0);
            PLU.setCache(listenKey, 1);
          },
          onNo() {
            PLU.setCache(listenKey, 0);
            PLU.setBtnRed($btn, 0);
          },
        });
      } else if (listenKey == "autoQuitTeam") {
        //進塔離隊
        YFUI.showPop({
          title: "進塔自動離隊",
          text: `是否進塔自動離隊?<br>`,
          onOk() {
            PLU.setCache(listenKey, 1);
          },
          onNo() {
            PLU.setCache(listenKey, 0);
            PLU.setBtnRed($btn, 0);
          },
        });
      } else {
        PLU.setCache(listenKey, 1);
        return;
      }
    },
    //================================================================================================
    splitTFParam() {
      let ltl = (PLU.getCache("listenTF_keys").split("|")[1] || "").split(",");
      PLU.TMP.lis_TF_list = [];
      PLU.TMP.lis_TF_force = [];
      ltl.map((e, i) => {
        if (e.charAt(0) == "#") {
          PLU.TMP.lis_TF_list.push(e.substring(1));
          PLU.TMP.lis_TF_force.push(0);
        } else {
          PLU.TMP.lis_TF_list.push(e);
          PLU.TMP.lis_TF_force.push(1);
        }
      });
    },
    //================================================================================================
    goQinglong(npcName, place, gb, kf) {
      let placeData = PLU.YFD.qlList.find((e) => e.n == place);
      if (kf || (UTIL.inHome() && placeData)) {
        PLU.execActions(placeData.v + ";golook_room", () => {
          let objNpc = UTIL.findRoomNpc(npcName, !Number(gb));
          if (objNpc) {
            PLU.killQinglong(objNpc.key, 0);
          } else {
            YFUI.writeToOut(
              "<span style='color:#FFF;'>--尋找目標失敗!--</span>",
            );
            PLU.execActions("golook_room;home");
          }
        });
      }
    },
    //================================================================================================
    killQinglong(npcId, tryNum) {
      PLU.autoFight({
        targetKey: npcId,
        fightKind: "kill",
        autoSkill: "random",
        onFail(errCode) {
          if (errCode >= 88 && tryNum < 100) {
            setTimeout(() => {
              PLU.killQinglong(npcId, tryNum + 1);
            }, 250);
            return;
          }
          YFUI.writeToOut("<span style='color:#FFF;'>--搶青龍失敗!--</span>");
          PLU.execActions("home;");
        },
        onEnd() {
          PLU.execActions("prev_combat;home;");
        },
      });
    },
    //================================================================================================
    goTaofan(npcName, npcPlace, flyLink, gb, force) {
      if (UTIL.inHome()) {
        let ctn = 0,
          gocmd = flyLink;
        PLU.YFD.cityList.forEach((e, i) => {
          if (e == npcPlace) ctn = i + 1;
        });
        if (ctn > 0) gocmd = "jh " + ctn;
        PLU.execActions(gocmd + ";golook_room;", (e) => {
          setTimeout((t) => {
            PLU.killTaofan(npcName, -Number(gb), force, 0);
          }, 1000);
        });
      }
    },
    //================================================================================================
    killTaofan(npcName, gb, force, tryCount) {
      console.debug(gb);
      let npcObj = UTIL.findRoomNpc(npcName, gb);
      if (npcObj) {
        if (force) {
          PLU.autoFight({
            targetKey: npcObj.key,
            fightKind: "kill",
            autoSkill: "random",
            onFail(errCode) {
              if (errCode == 4) {
                YFUI.writeToOut(
                  "<span style='color:#FFF;'>--已達到上限!取消逃犯監聽!--</span>",
                );
                PLU.setListen($("#btn_bt_listenTF"), "listenTF", 0);
              } else if (errCode > 1 && tryCount < 36) {
                setTimeout(() => {
                  PLU.killTaofan(npcName, gb, force, tryCount + 1);
                }, 500);
                return;
              }
              PLU.execActions("golook_room;home;");
            },
            onEnd() {
              PLU.execActions("prev_combat;home;");
            },
          });
        } else {
          PLU.waitDaLaoKill({
            targetId: npcObj.key,
            onFail(ec) {},
            onOk() {
              PLU.autoFight({
                targetKey: npcObj.key,
                fightKind: "kill",
                autoSkill: "random",
                onFail(errCode) {
                  if (errCode == 4) {
                    YFUI.writeToOut(
                      "<span style='color:#FFF;'>--已達到上限!取消逃犯監聽--</span>",
                    );
                    PLU.setListen($("#btn_bt_listenTF"), "listenTF", 0);
                  } else
                    YFUI.writeToOut(
                      "<span style='color:#FFF;'>--'ERR=" +
                        errCode +
                        "--</span>",
                    );
                  PLU.execActions("golook_room;home;");
                },
                onEnd() {
                  PLU.execActions("prev_combat;home;");
                },
              });
            },
          });
        }
      } else {
        YFUI.writeToOut("<span style='color:#FFF;'>--找不到NPC!--</span>");
        if (tryCount < 4) {
          return setTimeout(() => {
            PLU.killTaofan(npcName, gb, force, tryCount + 1);
          }, 500);
        }
        PLU.execActions("golook_room;home;");
      }
    },
    //================================================================================================

    waitDaLaoKill({ targetId, onOk, onFail }) {
      let tryTimes = 0;
      UTIL.addSysListener("lookNpcWait", function (b, type, subtype, msg) {
        if (
          type == "notice" &&
          subtype == "notify_fail" &&
          msg.indexOf("沒有這個人") >= 0
        ) {
          YFUI.writeToOut("<span style='color:#FFF;'>--目標已丟失!--</span>");
          UTIL.delSysListener("lookNpcWait");
          return onFail && onFail(1);
        }
        if (type == "look_npc") {
          let desc = UTIL.filterMsg(b.get("long"));
          let lookInfo = desc.match(/[他|她]正與 (\S*)([\S\s]*) 激烈爭鬥中/);
          if (lookInfo && lookInfo.length > 2 && $.trim(lookInfo[2]) != "") {
            YFUI.writeToOut(
              "<span style='color:#9F9;'>--目標已被大佬攻擊,可以跟進--</span>",
            );
            UTIL.delSysListener("lookNpcWait");
            return onOk && onOk();
          }
          tryTimes++;
          if (tryTimes > 30) {
            UTIL.delSysListener("lookNpcWait");
            return onFail && onFail(30);
          } else {
            setTimeout(() => {
              clickButton("look_npc " + targetId);
            }, 500);
          }
        }
        //如提前進入戰鬥可能是因為殺氣, 逃跑後繼續
        if (
          type == "vs" &&
          subtype == "vs_info" &&
          b.get("vs2_pos1") != targetId
        ) {
          PLU.autoEscape({
            onEnd() {
              setTimeout(() => {
                clickButton("look_npc " + targetId);
              }, 500);
            },
          });
        }
      });
      clickButton("look_npc " + targetId);
    },

    //================================================================================================
    fixJhName(name) {
      switch (name) {
        case "白駝山":
          return "白馱山";
        case "黑木崖":
          return "魔教";
        case "光明頂":
          return "明教";
        case "鐵血大旗門":
          return "大旗門";
        case "梅莊":
          return "寒梅莊";
      }
      return name;
    },
    //================================================================================================
    goFindYouxia(params) {
      //{paths,idx,objectNPC}
      if (params.idx >= params.paths.length) {
        setTimeout(() => {
          PLU.execActions("home");
        }, 500);
        YFUI.writeToOut(
          "<span style='color:#FFF;'>--找不到遊俠!...已搜索完地圖--</span>",
        );
        return;
      }
      let acs = [params.paths[params.idx]];
      PLU.actions({
        paths: acs,
        idx: 0,
        onPathsEnd() {
          setTimeout(() => {
            let npcObj = UTIL.findRoomNpc(params.objectNPC, false, true);
            if (npcObj) {
              YFUI.writeToOut(
                "<span style='color:#FFF;'>--遊俠已找到--</span>",
              );
              PLU.killYouXia(npcObj.key, 0);
            } else {
              params.idx++;
              PLU.goFindYouxia(params);
            }
          }, 300);
        },
        onPathsFail() {
          setTimeout(() => {
            PLU.execActions("home");
          }, 500);
          YFUI.writeToOut(
            "<span style='color:#FFF;'>--找不到遊俠!...路徑中斷--</span>",
          );
          return;
        },
      });
    },
    //================================================================================================
    killYouXia(npcId, tryNum) {
      PLU.autoFight({
        targetKey: npcId,
        fightKind: "kill",
        autoSkill: "multi",
        onFail(errCode) {
          if (String(errCode).indexOf("delay_") >= 0) {
            let mc = String(errCode).match(/delay_(\d+)/);
            if (mc) {
              let wtime = 500 + 1000 * Number(mc[1]);
              PLU.execActions("follow_play " + npcId + ";");
              YFUI.writeToOut(
                "<span style='color:#FFF;'>▶開始嘗試做遊俠跟班!!</span>",
              );
              setTimeout(() => {
                PLU.execActions("follow_play none", () => {
                  YFUI.writeToOut(
                    "<span style='color:#FFF;'>◼停止做遊俠跟班!!準備開殺!!</span>",
                  );
                  PLU.killYouXia(npcId, tryNum + 1);
                });
              }, wtime);
              return;
            }
          } else if (errCode >= 88 && tryNum < 44) {
            setTimeout(() => {
              PLU.killYouXia(npcId, tryNum + 1);
            }, 1000);
            return;
          } else if (errCode == 1) {
            YFUI.writeToOut(
              "<span style='color:#F99;'>--現場找不到遊俠了!--</span>",
            );
          } else {
            YFUI.writeToOut(
              "<span style='color:#F99;'>--攻擊遊俠失敗!--</span>",
            );
          }
          PLU.execActions("home;");
        },
        onEnd() {
          PLU.execActions("prev_combat;home;");
        },
      });
    },
    //================================================================================================
    getSkillsList(callback) {
      UTIL.addSysListener("getSkillsList", function (b, type, subtype, msg) {
        if (type != "skills" && subtype != "list") return;
        UTIL.delSysListener("getSkillsList");
        clickButton("prev");
        let all = [],
          tupo = [];
        all = PLU.parseSkills(b);
        all.forEach((skill) => {
          if (skill.state >= 4) {
            tupo.push(skill);
          }
        });
        callback(all, tupo);
      });
      clickButton("skills");
    },
    //================================================================================================
    parseSkills(b) {
      let allSkills = [];
      for (var i = b.elements.length - 1; i > -1; i--) {
        if (b.elements[i].key && b.elements[i].key.match(/skill(\d+)/)) {
          var attr = b.elements[i].value.split(",");
          var skill = {
            key: attr[0],
            name: $.trim(UTIL.filterMsg(attr[1])),
            level: Number(attr[2]),
            kind: attr[4],
            prepare: Number(attr[5]),
            state: Number(attr[6]),
            from: attr[7],
          };
          allSkills.push(skill);
        }
      }
      allSkills = allSkills.sort((a, b) => {
        if (a.kind == "known") return -1;
        else if (b.kind != "known" && a.from == "基礎武功") return -1;
        else if (b.kind != "known" && b.from != "基礎武功" && a.kind == "force")
          return -1;
        else return 1;
      });
      return allSkills;
    },
    //================================================================================================
    toToPo() {
      setTimeout(function () {
        if (UTIL.inHome()) {
          PLU.getSkillsList((allSkills, tupoSkills) => {
            if (tupoSkills.length > 0) {
              if (PLU.STO.outSkillList) clearTimeout(PLU.STO.outSkillList);
              PLU.STO.outSkillList = setTimeout(() => {
                PLU.STO.outSkillList = null;
                if (
                  !!$("#out_top").height() &&
                  $("#out_top .outtitle").text() == "我的技能"
                )
                  clickButton("home");
              }, 200);
              return;
            }
            let tpArr = PLU.getCache("autoTP_keys").split(",");
            let tpList = [];
            tpArr.forEach((s) => {
              let sk = {};
              let cs = s.match(/((\d)\|)?(.*)/);
              if (cs) {
                sk.name = cs[3];
                sk.sp = Number(cs[2]);
              } else {
                sk.name = s;
                sk.sp = 0;
              }
              let skobj = allSkills.find((e) => e.name.match(sk.name));
              if (skobj) tpList.push(Object.assign({}, skobj, sk));
            });
            PLU.TMP.stopToPo = false;
            PLU.toPo(tpList, 0);
          });
        }
      }, 500);
    },
    //================================================================================================
    toPo(tpList, skIdx) {
      if (skIdx < tpList.length && !PLU.TMP.stopToPo) {
        let acts =
          "enable " + tpList[skIdx].key + ";tupo go," + tpList[skIdx].key + ";";
        if (tpList[skIdx].sp == 1)
          acts += "tupo_speedup4_1 " + tpList[skIdx].key + " go;";
        else if (tpList[skIdx].sp == 2)
          acts += "tupo_speedup3_1 " + tpList[skIdx].key + " go;";
        else if (tpList[skIdx].sp == 3)
          acts += "tupo_up " + tpList[skIdx].key + " go;";
        else if (tpList[skIdx].sp == 4)
          acts +=
            "items info obj_sanshengshi;event_1_66830905 " +
            tpList[skIdx].key +
            " go;";

        PLU.execActions(acts, () => {
          setTimeout(() => {
            if (PLU.STO.outSkillList) clearTimeout(PLU.STO.outSkillList);
            PLU.STO.outSkillList = null;
            PLU.toPo(tpList, skIdx + 1);
          }, 300);
        });
      } else {
        YFUI.writeToOut("<span style='color:yellow;'> ==突破完畢!== </span>");
        clickButton("home");
      }
    },
    //================================================================================================
    toBangFour(n) {
      UTIL.log({
        msg: " 進入幫四(" + n + ") ",
        type: "TIPS",
        time: new Date().getTime(),
      });
      PLU.STO.bangFourTo && clearTimeout(PLU.STO.bangFourTo);
      PLU.STO.bangFourTo = setTimeout(function () {
        clickButton("home");
      }, 30 * 60 * 1000);
      clickButton("clan fb enter shiyueweiqiang-" + n, 0);
    },
    toBangSix() {
      UTIL.log({ msg: " 進入幫六 ", type: "TIPS", time: new Date().getTime() });
      PLU.STO.bangSixTo && clearTimeout(PLU.STO.bangSixTo);
      PLU.STO.bangSixTo = setTimeout(function () {
        clickButton("home");
      }, 30 * 60 * 1000);
      clickButton("clan fb enter manhuanqishenzhai", 0);
    },
    //================================================================================================
    inBangFiveEvent() {
      PLU.toggleFollowKill($("#btn_bt_kg_followKill"), "followKill", 1);
      var moving = false;
      PLU.TMP.listenBangFive = true;
      UTIL.addSysListener("listenBangFive", function (b, type, subtype, msg) {
        if (
          !moving &&
          type == "jh" &&
          (subtype == "dest_npc" || subtype == "info")
        ) {
          moving = true;
          let roomName = UTIL.filterMsg(g_obj_map.get("msg_room").get("short"));
          if (roomName.match(/蒙古高原|成吉思汗的金帳/) && !UTIL.roomHasNpc()) {
            PLU.execActions(";;n;", () => {
              moving = false;
            });
          } else {
            moving = false;
          }
        }
        /*
        type:main_msg
        msg:你獲得:\x1B[34m三\x1B[2;37;0m\x1B[35m生\x1B[2;37;0m\x1B[31m石
         */

        if (type == "home" && subtype == "index") {
          UTIL.delSysListener("listenBangFive");
          YFUI.writeToOut("<span style='color:white;'> ==幫五完畢!== </span>");
          PLU.execActions("golook_room;home");
        }
      });
    },
    intervene($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        UTIL.delSysListener("intervene");
        UTIL.delSysListener("score");
        return;
      }
      let Fight = function (b, num) {
        PLU.autoFight({
          targetKey: b.get("vs2_pos" + num),
          fightKind: "fight",
          onEnd() {
            UTIL.delSysListener("intervene");
            UTIL.delSysListener("score");
            PLU.setBtnRed($btn);
          },
          onFail() {
            PLU.autoFight({
              targetKey: b.get("vs2_pos" + num),
              onEnd() {
                UTIL.delSysListener("intervene");
                UTIL.delSysListener("score");
                PLU.setBtnRed($btn);
              },
              onFail() {
                if (num <= 7) {
                  Fight(++num);
                } else {
                  UTIL.delSysListener("intervene");
                  UTIL.delSysListener("score");
                }
              },
            });
          },
        });
      };
      UTIL.addSysListener("intervene", (b, type, subtype, msg) => {
        if (type == "vs" && subtype == "vs_info") {
          UTIL.delSysListener("intervene");
          UTIL.delSysListener("score");
          Fight(b, 1);
        }
      });
      UTIL.addSysListener("score", (b, type, subtype, msg) => {
        if (type == "score" && subtype == "user") {
          if (b.get("long").indexOf("激烈爭鬥中...") == -1) {
            PLU.execActions("score " + b.get("id"));
            return;
          }
          UTIL.delSysListener("score");
          PLU.execActions("watch_vs " + b.get("id"));
        }
      });
      YFUI.showPop({
        title: _("杀隐藏怪", "殺隱藏怪"),
        text: _(
          "自动观战,自动加入战斗<br>确认后,点开要跟的玩家页面",
          "自動觀戰,自動加入戰鬥<br>確認後,點開要跟的玩家頁面",
        ),
        onNo() {
          UTIL.delSysListener("intervene");
          UTIL.delSysListener("score");
          PLU.setBtnRed($btn);
        },
      });
    },
    // 字符串相似度算法
    getSimilarity(str1, str2) {
      let sameNum = 0;
      for (let i = 0; i < str1.length; i++)
        for (let j = 0; j < str2.length; j++)
          if (str1[i] === str2[j]) {
            sameNum++;
            break;
          }
      let length = Math.max(str1.length, str2.length);
      return (sameNum / length) * 100 || 0;
    },
    npcDataUpdate() {
      var wayList = [...new Set(PLU.YFD.mapsLib.Npc.map((e) => e.way))];
      if (PLU.YFD.mapsLib.Npc_New[PLU.YFD.mapsLib.Npc_New.length - 1])
        var i = wayList.indexOf(
          PLU.YFD.mapsLib.Npc_New[PLU.YFD.mapsLib.Npc_New.length - 1].way,
        );
      else var i = 0;
      PLU.UTIL.addSysListener("new_npc", (b, type, subtype, msg) => {
        if (type != "look_npc") return;
        if (b.get("id").indexOf("bad_target_") == 0) return;
        if (b.get("id").indexOf("hero_") == 0) return;
        if (b.get("id").match(/^eren\d+$/)) return;
        if (PLU.YFD.qixiaList.includes(ansi_up.ansi_to_text(b.get("name"))))
          return;
        let roomInfo = g_obj_map.get("msg_room");
        let curName = UTIL.filterMsg(roomInfo.get("short") || "");
        PLU.YFD.mapsLib.Npc_New.push({
          jh: "",
          loc: curName,
          id: b.get("id") || "",
          way: wayList[i],
        });
      });

      func = () => {
        PLU.execActions(wayList[i], () => {
          for (var npc of PLU.UTIL.getRoomAllNpc())
            PLU.execActions("look_npc " + npc.key);
          setTimeout(() => {
            i++;
            func();
          }, 1500);
        });
      };
      func();
    },
    //================================================================================================
    checkUseSkills() {
      let curTime = new Date().getTime();
      if (
        !PLU.battleData.performTime ||
        curTime - PLU.battleData.performTime >= 400
      ) {
        PLU.battleData.performTime = curTime;
        if (!PLU.battleData.mySide) {
          let vsInfo = g_obj_map.get("msg_vs_info");
          for (let i = vsInfo.elements.length - 1; i > -1; i--) {
            let val = vsInfo.elements[i].value + "";
            if (!val || val.indexOf(PLU.accId) < 0) continue;
            PLU.battleData.myPos = vsInfo.elements[i].key.charAt(7);
            PLU.battleData.mySide = vsInfo.elements[i].key.substring(0, 3);
            break;
          }
        }
        if (PLU.battleData.mySide) {
          if (PLU.getCache("autoCure") == 1) {
            PLU.checkAutoCure();
          }
          if (PLU.getCache("autoPerform") >= 1) {
            PLU.checkAutoPerform();
          }
        }
      }
    },
    //================================================================================================
    setAutoCure($btn, listenKey, stat) {
      if (listenKey == "autoCure") {
        //自動加血藍
        YFUI.showInput({
          title: "自動加血加藍",
          text: `格式:血百分比|加血技能,藍百分比|加藍技能,以英文逗號分割,每樣只能設置一個技能。<br>
                            <span style="color:red;">例如:</span><br>
                            [例1] <span style="color:blue;">50|道種心魔經,10|不動明王訣</span><br> 血低於50%自動加血,藍低於10%自動加藍<br>
                            [例2] <span style="color:blue;">30|紫血大法</span><br> 血低於30%自動加血技能,不自動加藍<br>
                            `,
          value:
            PLU.getCache(listenKey + "_keys") || "10|道種心魔經,10|不動明王訣",
          onOk(val) {
            let str = $.trim(val);
            PLU.setCache(listenKey + "_keys", str);
            PLU.splitCureSkills();
          },
          onNo() {},
        });
      }
    },
    toggleAutoCure($btn, listenKey, stat) {
      let btnFlag = 0;
      if (stat != undefined) {
        btnFlag = PLU.setBtnRed($btn, stat);
        PLU.setCache(listenKey, stat);
      } else {
        btnFlag = PLU.setBtnRed($btn);
      }
      if (!btnFlag) {
        return PLU.setCache(listenKey, 0);
      } else {
        PLU.setCache(listenKey, 1);
        setTimeout(() => {
          YFUI.writeToOut(
            "<span style='color:yellow;'>自動血藍: " +
              PLU.getCache(listenKey + "_keys") +
              " </span>",
          );
        }, 100);
      }
    },
    //================================================================================================
    splitCureSkills() {
      let kf = (PLU.getCache("autoCure_keys") || "").split(",");
      PLU.TMP.autoCure_percent = "";
      PLU.TMP.autoCure_skills = "";
      PLU.TMP.autoCure_force_percent = "";
      PLU.TMP.autoCure_force_skills = "";
      if (kf.length > 0) {
        let acp = kf[0].split("|");
        PLU.TMP.autoCure_percent = Number(acp[0]) || 50;
        PLU.TMP.autoCure_skills = acp[1];
        if (kf.length > 1) {
          let acf = kf[1].split("|");
          PLU.TMP.autoCure_force_percent = Number(acf[0]) || 10;
          PLU.TMP.autoCure_force_skills = acf[1];
        }
      }
    },
    //================================================================================================
    checkAutoCure() {
      let vsInfo = g_obj_map.get("msg_vs_info");
      let userInfo = g_obj_map.get("msg_attrs");
      let keePercent = (
        (100 *
          Number(
            vsInfo.get(PLU.battleData.mySide + "_kee" + PLU.battleData.myPos),
          )) /
        Number(userInfo.get("max_kee"))
      ).toFixed(2);
      let forcePercent = (
        (100 *
          Number(
            vsInfo.get(PLU.battleData.mySide + "_force" + PLU.battleData.myPos),
          )) /
        Number(userInfo.get("max_force"))
      ).toFixed(2);
      if (!PLU.TMP.autoCure_percent) {
        PLU.splitCureSkills();
      }
      if (
        PLU.TMP.autoCure_force_skills &&
        Number(forcePercent) < PLU.TMP.autoCure_force_percent
      ) {
        PLU.autoCureByKills(PLU.TMP.autoCure_force_skills, forcePercent);
      } else if (
        PLU.TMP.autoCure_skills &&
        Number(keePercent) < PLU.TMP.autoCure_percent &&
        PLU.battleData.cureTimes < 3
      ) {
        PLU.autoCureByKills(PLU.TMP.autoCure_skills, forcePercent);
      }
    },
    //================================================================================================
    autoCureByKills(skill, forcePercent) {
      if (PLU.battleData && PLU.battleData.xdz > 2) {
        let rg = new RegExp(skill);
        let useSkill = PLU.selectSkills(rg);
        if (useSkill) {
          clickButton(useSkill.key, 0);
          if (Number(forcePercent) > 1) PLU.battleData.cureTimes++;
        }
      }
    },
    //================================================================================================
    setAutoPerform($btn, listenKey, stat) {
      if (listenKey == "autoPerform") {
        //自動技能
        let skillsList = [];
        try {
          skillsList = JSON.parse(PLU.getCache(listenKey + "_keysList"));
        } catch (error) {
          skillsList = [
            "6|千影百傷棍,九天龍吟劍法",
            "",
            "",
            "",
            "3|九天龍吟劍法",
          ];
        }
        YFUI.showInput({
          title: "自動技能",
          text: `格式:觸發氣值|技能詞組,以英文逗號分割多個關鍵詞。<br>
                            <span style="color:red;">例如:</span><br>
                            [例1] <span style="color:blue;">9|千影百傷棍,九天龍吟劍法,排雲掌法</span><br> 氣大於等於9時自動使用技能<br>
                            `,
          value: skillsList,
          inputs: ["技能1", "技能2", "技能3", "技能4"],
          onOk(val) {
            PLU.setCache(listenKey + "_keysList", JSON.stringify(val));
            if (PLU.getCache(listenKey)) {
              PLU.setPerformSkill(PLU.getCache(listenKey));
            }
          },
          onNo() {},
        });
      }
    },
    toggleAutoPerform($btn, listenKey, stat) {
      let curIdx = Number(PLU.getCache(listenKey));
      if (stat != undefined) {
        if (stat > 0) {
          PLU.setBtnRed($btn, 1);
          PLU.setPerformSkill(stat);
        } else PLU.setBtnRed($btn, 0);
        $btn.text([_("连招", "連招"), "技一", "技二", "技三", "技四"][stat]);
        PLU.setCache(listenKey, stat);
        if (stat > 0) PLU.TMP.lastAutoPerformSet = stat;
      } else {
        let nowTime = Date.now();
        if (
          curIdx == 0 &&
          nowTime - (PLU.TMP.lastClickAutoPerform || 0) < 350
        ) {
          curIdx = PLU.TMP.lastAutoPerformSet || 1;
          curIdx++;
          if (curIdx > 4) curIdx = 1;
        } else {
          curIdx = curIdx == 0 ? PLU.TMP.lastAutoPerformSet || 1 : 0;
        }
        PLU.TMP.lastClickAutoPerform = nowTime;
        if (curIdx > 0) PLU.TMP.lastAutoPerformSet = curIdx;
        PLU.setCache(listenKey, curIdx);
        if (curIdx == 0) {
          PLU.setBtnRed($btn, 0);
          $btn.text("連招");
        } else {
          PLU.setBtnRed($btn, 1);
          $btn.text(
            [_("连招", "連招"), "技一", "技二", "技三", "技四"][curIdx],
          );
          PLU.setPerformSkill(curIdx);
        }
      }
    },
    setPerformSkill(idx) {
      let skillsList = [];
      idx = idx - 1;
      try {
        skillsList = JSON.parse(PLU.getCache("autoPerform_keysList"));
      } catch (error) {
        skillsList = [];
      }
      let str = skillsList[idx] || "";
      let aps = str.split("|");
      if (aps && aps.length == 2) {
        PLU.TMP.autoPerform_xdz = Number(aps[0]);
        PLU.TMP.autoPerform_skills = aps[1].split(",");
      } else {
        PLU.TMP.autoPerform_xdz = 0;
        PLU.TMP.autoPerform_skills = [];
      }
      setTimeout(() => {
        let setCh = ["一", "二", "三", "四"][idx];
        YFUI.writeToOut(
          "<span style='color:yellow;'>自動技能[" +
            setCh +
            "] : " +
            str +
            " </span><br><span style='color:white;'>** 雙擊自動技能按鈕切換技能設置 **</span>",
        );
      }, 100);
    },
    //================================================================================================
    checkAutoPerform() {
      // if(PLU.battleData.autoSkill) return;
      if (!PLU.TMP.autoPerform_xdz) return;
      // if(!PLU.TMP.autoPerform_xdz){
      //     let aps = PLU.getCache("autoPerform_keys").split('|')
      //     PLU.TMP.autoPerform_xdz = Number(aps[0])
      //     PLU.TMP.autoPerform_skills = aps[1].split(',')
      // }
      if (PLU.battleData.xdz >= PLU.TMP.autoPerform_xdz) {
        if (
          PLU.TMP.autoPerform_skills &&
          PLU.TMP.autoPerform_skills.length > 0
        ) {
          PLU.TMP.autoPerform_skills.forEach((skn, idx) => {
            let useSkill = PLU.selectSkills(skn);
            if (useSkill) {
              setTimeout((e) => {
                clickButton(useSkill.key, 0);
              }, idx * 100);
            }
          });
        }
      }
    },
    //================================================================================================
    setFightSets($btn, listenKey, stat) {
      if (listenKey == "followKill") {
        //開跟殺
        YFUI.showInput({
          title: "開跟殺",
          text: `格式:跟殺的人名詞組,以英文逗號分割多個關鍵詞,人名前帶*為反跟殺。<br>
                            <span style="color:red;">例如:</span><br>
                            [例1] <span style="color:blue;">步驚鴻,*醉漢</span><br> 步驚鴻攻擊(殺or比試)誰我攻擊誰;誰攻擊醉漢我攻擊誰<br>
                            `,
          value:
            PLU.getCache(listenKey + "_keys") ||
            "風,豹,劍,門,豆,七,星,虎,影,貓", // 顺序怎么随口怎么来 XD
          //type:"textarea",
          onOk(val) {
            let str = $.trim(val);
            PLU.setCache(listenKey + "_keys", str);
            PLU.splitFollowKillKeys();
          },
          onNo() {},
        });
      }
    },
    toggleFollowKill($btn, listenKey, stat) {
      let btnFlag = 0;
      if (stat != undefined) {
        btnFlag = PLU.setBtnRed($btn, stat);
        PLU.setCache(listenKey, stat);
      } else {
        btnFlag = PLU.setBtnRed($btn);
      }
      if (!btnFlag) {
        return PLU.setCache(listenKey, 0);
      } else {
        PLU.splitFollowKillKeys();
        PLU.setCache(listenKey, 1);
        setTimeout(() => {
          YFUI.writeToOut(
            "<span style='color:yellow;'>自動跟殺: " +
              PLU.getCache(listenKey + "_keys") +
              " </span>",
          );
        }, 100);
      }
    },
    //================================================================================================
    splitFollowKillKeys() {
      let keystr = PLU.getCache("followKill_keys") || "";
      let keys = keystr.split(/[,,]/);
      PLU.FLK = {
        followList: [],
        defendList: [],
      };
      keys.forEach((e) => {
        if (!e) return;
        if (e.charAt(0) == "*") {
          PLU.FLK.defendList.push(e.substring(1));
        } else {
          PLU.FLK.followList.push(e);
        }
      });
    },
    //================================================================================================
    toCheckFollowKill(attacker, defender, fightType, msgText) {
      if (!PLU.FLK) PLU.splitFollowKillKeys();
      for (let i = 0; i < PLU.FLK.followList.length; i++) {
        let flname = PLU.FLK.followList[i];
        if (attacker.match(flname)) {
          PLU.autoFight({
            targetName: defender,
            fightKind: fightType,
            onFail() {},
            onEnd() {},
          });
          return;
        }
      }
      for (let i = 0; i < PLU.FLK.defendList.length; i++) {
        let dfname = PLU.FLK.defendList[i];
        if (defender.match(dfname)) {
          PLU.autoFight({
            targetName: attacker,
            fightKind: fightType,
            onFail() {},
            onEnd() {},
          });
          return;
        }
      }
    },
    //================================================================================================
    startSync($btn) {
      PLU.getTeamInfo((t) => {
        if (!t) PLU.setBtnRed($btn);
        else {
          YFUI.writeToOut(
            "<span style='color:yellow;'>===隊伍同步開始" +
              (t.is_leader ? ", <b style='color:#F00;'>我是隊長</b>" : "") +
              " ===</span>",
          );
          PLU.allowedcmds = [
            "go",
            "fb",
            "yell",
            "rank",
            "fight",
            "kill",
            "escape",
            "jh",
            "ask",
            "npc_datan",
            "give",
            "room_sousuo",
            "change_server",
          ];
          if (t.is_leader) {
            PLU.TMP.leaderTeamSync = true;
          } else {
            PLU.listenTeamSync(t.leaderId);
          }
        }
      });
    },
    toggleTeamSync($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (btnFlag) {
        PLU.TMP.teamSync = true;
        if (PLU.TMP.firstSync) PLU.startSync($btn);
        else {
          YFUI.showPop({
            title: "隊伍同步",
            text: "<b style='color:#F00;'>入隊後再打開隊伍同步!!</b><br>隊長發布指令, 隊員監聽同步指令!",
            okText: "同步",
            onOk(e) {
              PLU.TMP.firstSync = 1;
              PLU.startSync($btn);
            },
            onNo() {
              PLU.setBtnRed($btn);
            },
            onX() {
              PLU.setBtnRed($btn);
            },
          });
        }
      } else {
        PLU.TMP.teamSync = false;
        PLU.TMP.leaderTeamSync = false;
        UTIL.delSysListener("syncTeamChannel");
      }
    },
    //================================================================================================
    commandTeam(args) {
      if (!PLU.TMP.leaderTeamSync) return;
      let cmd = args[0];
      if (
        !g_gmain.is_fighting &&
        (PLU.allowedcmds.indexOf(cmd.split(" ")[0]) > -1 ||
          cmd.indexOf("find_") == 0 ||
          cmd.indexOf("event_") == 0 ||
          cmd.indexOf("give_") == 0 ||
          cmd.indexOf("get_") == 0 ||
          cmd.indexOf("op1") >= 0 ||
          cmd.indexOf("_op2") > 0 ||
          ["nw", "n", "ne", "w", "e", "sw", "s", "se"].includes(cmd))
      ) {
        cmd = PLU.Base64.encode(args[0]).split("").join("-");
        clickButton("team chat " + cmd + "\n");
      }
    },
    //================================================================================================
    listenTeamSync(leaderId) {
      UTIL.addSysListener("syncTeamChannel", (b, type, subtype, msg) => {
        if (
          type == "channel" &&
          subtype == "team" &&
          msg.indexOf(leaderId) > 0 &&
          msg.indexOf("【隊伍】") > 0
        ) {
          var cmd = PLU.Base64.decode(
            msg.split(":")[1].replace("\x1B[2;37;0m", "").replace(/-/g, ""),
          ).replace(/\n/g, "");
          if (
            PLU.allowedcmds.indexOf(cmd.split(" ")[0]) > -1 ||
            cmd.indexOf("find_") == 0 ||
            cmd.indexOf("event_") == 0 ||
            cmd.indexOf("give_") == 0 ||
            cmd.indexOf("get_") == 0 ||
            cmd.indexOf("op1") >= 0 ||
            cmd.indexOf("_op2") > 0 ||
            ["nw", "n", "ne", "w", "e", "sw", "s", "se"].includes(cmd)
          ) {
            clickButton(cmd);
          }
          /*if (cmd == "change_server world") {
            clickButton("team join " + leaderId + "-1a1a");
          }*/
        }
      });
    },
    //================================================================================================
    getTeamInfo(callback) {
      UTIL.addSysListener("checkTeam", (b, type, subtype, msg) => {
        if (type != "team" && subtype != "info") return;
        UTIL.delSysListener("checkTeam");
        if (b.get("team_id")) {
          if (b.get("is_member_of") == "1") {
            callback &&
              callback({
                is_leader: parseInt(b.get("is_leader")),
                leaderId: b.get("member1").split(",")[0],
              });
          } else {
            callback && callback(0);
          }
        } else {
          callback && callback(0);
        }
        clickButton("prev");
      });
      clickButton("team");
    },
    //================================================================================================
    setSkillGroup(idx) {
      if (g_gmain.is_fighting) return;
      $(".menu").hide();
      let lsgTimeOut = setTimeout(() => {
        UTIL.delSysListener("loadSkillGroup");
      }, 5000);
      UTIL.addSysListener("loadSkillGroup", (b, type, subtype, msg) => {
        if (type != "enable" && subtype !== "list") return;
        UTIL.delSysListener("loadSkillGroup");
        clearTimeout(lsgTimeOut);
        clickButton("prev");
      });
      clickButton("enable mapped_skills restore go " + idx);
    },
    //================================================================================================
    setWearEquip(idx) {
      if (g_gmain.is_fighting) return;
      $(".menu").hide();
      let equipKey = "equip_" + idx + "_keys";
      YFUI.showInput({
        title: "裝備組-" + idx,
        text: `格式:武器裝備詞組,以英文逗號分割多個關鍵詞,<br>
						<span style="color:#D60;">武器名前必須帶上*,入脈武器名前帶**。<br>
						卸下武器名前帶上#。</span><br>
                        <span style="color:red;">例如:</span><br>
                        [例1] <span style="color:blue;">#風泉之劍,*離別鉤,*傾宇破穹棍,**馭風騰雲,霸天聖袍,紫貪狼戒</span><br>
                        [例2] <span style="color:blue;">*風泉之劍,**雨葉魔槍,木棉袈裟,龍淵扳指,大士無雙帽,天璣九玄冠,博睿扳指,崆峒不老戒,楊柳怨羌笛,*妙韻梨花蕭</span><br>
                        `,
        value: PLU.getCache(equipKey) || "",
        type: "textarea",
        onOk(val) {
          let str = $.trim(val);
          if (!str) return;
          PLU.setCache(equipKey, str);
          PLU.wearEquip(str);
        },
        onNo() {},
      });
    },
    wearEquip(equipsStr) {
      PLU.getAllItems((list) => {
        let equips = equipsStr.split(","),
          equipCmds = "";
        let equipArr = equips.forEach((e) => {
          let eqObj = {};
          if (e.substr(0, 1) == "#") {
            eqObj = { type: -1, name: e.substr(1) };
          } else if (e.substr(0, 2) == "**") {
            eqObj = { type: 2, name: e.substr(2) };
          } else if (e.substr(0, 1) == "*") {
            eqObj = { type: 1, name: e.substr(1) };
          } else {
            eqObj = { type: 0, name: e };
          }
          let bagItem = list.find((it) => !!it.name.match(eqObj.name));
          if (bagItem) {
            if (eqObj.type == -1) equipCmds += "unwield " + bagItem.key + ";";
            else if (eqObj.type == 2)
              equipCmds += "wield " + bagItem.key + " rumai;";
            else if (eqObj.type == 1) equipCmds += "wield " + bagItem.key + ";";
            else equipCmds += "wear " + bagItem.key + ";";
          }
        });
        PLU.execActions(equipCmds, () => {
          YFUI.writeToOut("<span style='color:yellow;'> ==裝備完畢!== </span>");
          if (g_gmain.is_fighting) gSocketMsg.go_combat();
        });
      });
    },
    //================================================================================================
    showLog() {
      if ($("#myTools_InfoPanel").length > 0)
        return $("#myTools_InfoPanel").remove();
      let $logPanel = YFUI.showInfoPanel({
        text: "",
        onOpen() {
          $("#myTools_InfoPanel .infoPanel-wrap").html(PLU.logHtml);
          $("#myTools_InfoPanel .infoPanel-wrap").scrollTop(
            $("#myTools_InfoPanel .infoPanel-wrap")[0].scrollHeight,
          );
        },
        onNo() {
          PLU.logHtml = "";
          UTIL.logHistory = [];
          UTIL.setMem("HISTORY", JSON.stringify(this.logHistory));
          $("#myTools_InfoPanel .infoPanel-wrap").empty();
        },
        onClose() {},
      });
    },
    //================================================================================================
    updateShowLog(e) {
      let html = `<div style="${e.ext.style}">${UTIL.getNow(e.ext.time)} ${
        e.ext.msg
      }</div>`;
      PLU.logHtml += html;
      if ($("#myTools_InfoPanel").length < 1) return;
      $("#myTools_InfoPanel .infoPanel-wrap").append(html);
      $("#myTools_InfoPanel .infoPanel-wrap").scrollTop(
        $("#myTools_InfoPanel .infoPanel-wrap")[0].scrollHeight,
      );
    },
    //================================================================================================
    goHJS(where, npc) {
      let roomInfo = g_obj_map.get("msg_room");
      let curName = UTIL.filterMsg(roomInfo.get("short") || "");
      let act = "";
      if (curName == "青苔石階" && roomInfo.get("northwest") == "青苔石階")
        act = "nw";
      else if (curName == "青苔石階" && roomInfo.get("northeast") == "青苔石階")
        act = "ne";
      else if (curName == "青苔石階" && roomInfo.get("southwest") == "青苔石階")
        act = "sw";
      else if (curName == "榆葉林" && roomInfo.get("north") == "榆葉林")
        act = "n";
      else if (curName == "榆葉林" && roomInfo.get("south") == "榆葉林")
        act = "s";
      else if (curName == "世外桃源" && where == "鏡星府") act = "nw";
      else if (curName == "世外桃源" && where == "榮威鏢局") act = "ne";
      else if (curName == "世外桃源" && where == "碧落城") act = "s";
      if (act)
        PLU.execActions(act, () => {
          let npcObj = roomInfo.get("npc1");
          if (npcObj) {
            var npcName = npcObj.split(",")[1];
          }
          if (npc && ((npcName && npcName != npc) || !npcObj))
            PLU.execActions(
              "jh 2;n;n;e;s;luoyang317_op1;go_hjs go;se;se;ne;w;n;",
              () => {
                PLU.goHJS(where, npc);
              },
            );
          else PLU.goHJS(where, npc);
        });
    },
    //================================================================================================
    goHaRi() {
      let roomInfo = g_obj_map.get("msg_room");
      let curName = UTIL.filterMsg(roomInfo.get("short") || "");
      let act = "";
      if (curName == "沙漠迷宮") {
        if (roomInfo.get("east") == "沙漠迷宮") act = "e";
        else if (roomInfo.get("north") == "沙漠迷宮") act = "n";
        else if (roomInfo.get("west") == "沙漠迷宮") act = "w";
        else if (roomInfo.get("south") == "沙漠迷宮") act = "s";
        if (act)
          PLU.execActions(act, () => {
            PLU.goHaRi();
          });
      } else if (curName == "荒漠") {
        PLU.execActions("n;n;nw;n;ne", () => {
          YFUI.writeToOut("<span style='color:#FFF;'>--到達--</span>");
        });
      } else {
        PLU.execActions(
          "rank go 263;e;s;w;w;s;sw;sw;sw;sw;nw;nw;n;nw;ne;",
          () => {
            PLU.goHaRi();
          },
        );
      }
    },
    //================================================================================================
    queryJHMenu($btn, jhname) {
      let npcList = PLU.YFD.mapsLib.Npc.filter((e) => e.jh == jhname);
      npcList.forEach((e) => {
        let str = [e.jh, e.loc, e.name].filter((s) => !!s).join("-");
        YFUI.writeToOut(
          "<span><a style='text-decoration:underline;color:yellow;cursor:pointer;' onclick='PLU.goNpcWay(\"" +
            str +
            '","' +
            e.way +
            "\")'>" +
            str +
            "</a> &nbsp;&nbsp;<a style='text-decoration:underline;color:yellow;cursor:pointer;' onclick='PLU.showNpcWay(\"" +
            str +
            '","' +
            e.way +
            "\")'>路徑詳情</a></span>",
        );
      });
      YFUI.writeToOut("<span>----------</span>");
    },
    //================================================================================================
    toQueryNpc() {
      YFUI.showInput({
        title: "查找NPC",
        text: _(
          "输入NPC名字,可模糊匹配,支持<a target='_blank' href='https://www.runoob.com/regexp/regexp-syntax.html'>正则表达式</a>,同時支持简体(不包括地址名)和繁体<br>" +
            "正则表达式之外语法例子:<br>" +
            "[例1] 開封@毒蛇<br>" +
            "[例2] 星宿海@百龍山@毒蛇",
          "輸入NPC名字,可模糊匹配,支持<a target='_blank' href='https://zh.wikipedia.org/wiki/正則表達式'>正則表達式</a>,同時支持簡體和繁體<br>" +
            "正則表達式之外語法例子:<br>" +
            "[例1] 開封@毒蛇<br>" +
            "[例2] 星宿海@百龍山@毒蛇",
        ),
        value: PLU.getCache("prevSearchStr") || "^.?(男|女)[孩童]",
        onOk(val) {
          if (!$.trim(val)) return;
          let str = $.trim(val);
          PLU.setCache("prevSearchStr", str);
          PLU.queryNpc(str + "道");
        },
        onNo() {},
      });
    },
    // 链接两个路径终点
    linkPath(pathA, pathB) {
      let arrayA = pathA.split(";");
      let arrayB = pathB.split(";");
      let len = Math.min(arrayA.length, arrayB.length);
      if (!len) return pathB;
      for (var index = 0; index < len; index++) {
        if (arrayA[index] != arrayB[index]) {
          break;
        }
      }
      return arrayA
        .slice(index)
        .reverse()
        .map((e) => {
          let cmd = e.match(/^(#\d+ )?([ns]?[we]?)$/);
          if (cmd) {
            if (!cmd[1]) cmd[1] = "";
            if (cmd[2].indexOf("n") == 0) {
              var way = cmd[2].replace("n", "s");
            } else {
              var way = cmd[2].replace("s", "n");
            }
            if (way.indexOf("w") >= 0) {
              way = way.replace("w", "e");
            } else {
              way = way.replace("e", "w");
            }
            return cmd[1] + way;
          }
          // 迷宫反走
          if (cmd.indexOf("_op1") > 0) {
            let roomInfo = g_obj_map.get("msg_room");
            if (roomInfo.get("east") || roomInfo) return cmd;
          }
          cmd = e.match(/^(.+):(.+)\^(.+)$/);
          if (cmd) return cmd[1] + ":" + cmd[3] + "^" + cmd[2];
          return e;
        })
        .concat(arrayB.slice(index))
        .join(";");
    },
    //================================================================================================
    formatNpcData(text) {
      let npc = text.match(/^(.*)@(.*)@(.*)道$/);
      if (npc) {
        var jh = npc[1];
        var loc = npc[2];
        var name = "^" + npc[3] + "$";
      } else {
        npc = text.match(/^(.*)@(.*)道$/);
        if (npc) {
          var jh = npc[1];
          var name = "^" + npc[2] + "$";
        } else {
          npc = text.match(/^(.*)道$/);
          if (npc) {
            var name = "^" + npc[1] + "$";
          } else {
            var name = text;
          }
        }
      }
      return [jh, loc, name];
    },
    queryNpc(name, quiet) {
      if (!name) return;
      let [jh, loc, tmpName] = PLU.formatNpcData(name);
      name = tmpName;
      let npcLib = PLU.YFD.mapsLib.Npc;
      let findList = npcLib.filter((e) => {
        if (
          ((e.jh == jh && (!e.loc || !loc || e.loc == loc)) || !jh) &&
          (e.name.match(name) ||
            (e.name_tw && e.name_tw.match(name)) ||
            (e.name_new && e.name_new.match(name)))
        )
          return true;
        return false;
      });
      if (findList.length == 0)
        findList = npcLib.filter((e) => {
          if (
            (e.jh == jh || !jh) &&
            (e.name.match(name) ||
              (e.name_tw && e.name_tw.match(name)) ||
              (e.name_new && e.name_new.match(name)))
          )
            return true;
          return false;
        });
      let res = [];
      if (findList && findList.length > 0) {
        findList.forEach((e) => {
          let str = [e.jh, e.loc, _(e.name, e.name_tw)]
            .filter((s) => !!s)
            .join("-");
          if (!quiet)
            YFUI.writeToOut(
              "<span><a style='text-decoration:underline;color:yellow;cursor:pointer;' onclick='PLU.goNpcWay(\"" +
                str +
                '","' +
                e.way +
                "\")'>" +
                str +
                "</a> &nbsp;&nbsp;<a style='text-decoration:underline;color:yellow;cursor:pointer;' onclick='PLU.showNpcWay(\"" +
                str +
                '","' +
                e.way +
                "\")'>路徑詳情</a></span>",
            );
          res.push(e);
        });
        if (!quiet) YFUI.writeToOut("<span>----------</span>");
      } else if (!quiet) {
        YFUI.writeToOut("<span style='color:#F66;'>查詢不到相關數據</span>");
      }
      return res;
    },
    //================================================================================================
    toPathNpc() {
      let defaultMapId = PLU.getCache("pathFindMap") || "1";
      let citys = PLU.YFD.cityList
        .map((c, i) => {
          let issel = i + 1 == defaultMapId ? "selected" : "";
          return (
            '<option value="' + (i + 1) + '" ' + issel + ">" + c + "</option>"
          );
        })
        .join("");
      YFUI.showPop({
        title: "全圖找NPC",
        text: `選擇地圖, 輸入NPC名字,可模糊匹配<br>
				<div style='margin:10px 0;'>
					<span>地圖: </span>
					<select id="pathFindMap" style="font-size:15px;height:32px;width:81%;border:1px solid #444;">
						${citys}
					</select>
				</div>
				<div style='margin:10px 0;'>
					<span>名字: </span>
					<input id="pathFindNpc" value="${
            PLU.getCache("pathFindNpc") || ""
          }" style="font-size:14px;height:26px;width:80%;border:1px solid #444;"></input>
				</div>`,
        onOk() {
          let mapStr = $.trim($("#pathFindMap").val()),
            npcStr = $.trim($("#pathFindNpc").val());
          console.log(mapStr, npcStr);
          if (!npcStr) return;
          PLU.setCache("pathFindMap", mapStr);
          PLU.setCache("pathFindNpc", npcStr);
          let jhMap = PLU.YFD.mapsLib.Map.find((e) => e.jh == mapStr);
          if (!jhMap) {
            return YFUI.writeToOut(
              "<span style='color:#F66;'>---無地圖數據---</span>",
            );
          } else {
            let ways = jhMap.way.split(";");
            console.log({ paths: ways, idx: 0, objectNPC: npcStr });
            PLU.goPathFindNpc({ paths: ways, idx: 0, objectNPC: npcStr });
          }
        },
        onNo() {},
      });
    },
    goPathFindNpc(params) {
      //goFindYouxia
      if (params.idx >= params.paths.length) {
        setTimeout(() => {
          PLU.execActions("home");
        }, 100);
        YFUI.writeToOut(
          "<span style='color:#FFF;'>--找不到目標NPC!...已搜索完地圖--</span>",
        );
        return;
      }
      let acs = [params.paths[params.idx]];
      PLU.actions({
        paths: acs,
        idx: 0,
        onPathsEnd() {
          setTimeout(() => {
            let npcObj = UTIL.findRoomNpcReg(params.objectNPC);
            if (npcObj) {
              YFUI.writeToOut(
                "<span style='color:#FFF;'>--目標NPC已找到--</span>",
              );
            } else {
              params.idx++;
              PLU.goPathFindNpc(params);
            }
          }, 100);
        },
        onPathsFail() {
          setTimeout(() => {
            PLU.execActions("home");
          }, 500);
          YFUI.writeToOut(
            "<span style='color:#FFF;'>--找不到目標NPC!...路徑中斷--</span>",
          );
          return;
        },
      });
    },
    AutoPuzzle() {
      PLU.TMP.puzzleList = {};
      PLU.TMP.puzzleWating = {};
      return {
        //puzzleWating: {},
        analyzePuzzle: function (puzzle) {
          var puzzleid = "";
          var publisherName = "";
          var targetName = "";
          var publisherResult =
            /<a[^>]*find_task_road2 [^>]*>((?!<a[^>]*>).)+<\/a>/.exec(puzzle);
          if (publisherResult && publisherResult.length > 0) {
            publisherName = publisherResult[0].replace(/<\/?a[^>]*>/g, "");
            if (publisherName.indexOf("-") > -1) {
              publisherName = publisherName.split("-")[1];
            }
            publisherName = publisherName
              .replace(/\x1B/g, "")
              .replace(/^<\/span>/, "");
            var result1 = /find_task_road2 [^>^']*/.exec(publisherResult[0]);
            puzzleid = result1[0].replace(/find_task_road2 /g, "");
          }
          var targetResult = puzzle.match(
            /<a[^>]*find_task_road [^>]*>((?!<a[^>]*>).)+<\/a>/g,
          );
          if (targetResult && targetResult.length > 0) {
            var targetInfoIndex = 0;
            if (/搶走了,去替我要回來吧!/.test(puzzle)) {
              targetInfoIndex = targetResult.length - 1;
            }
            targetName = targetResult[targetInfoIndex].replace(
              /<\/?a[^>]*>/g,
              "",
            );
            if (targetName.indexOf("-") > -1) {
              targetName = targetName.split("-")[1];
            }
            targetName = targetName
              .replace(/\x1B/g, "")
              .replace(/^<\/span>/, "");
            if (!puzzleid) {
              var result1 = /find_task_road [^>^']*/.exec(
                targetResult[targetInfoIndex],
              );
              puzzleid = result1[0].replace(/find_task_road /g, "");
            }
          }
          if (!puzzleid) {
            return "";
          }
          if (puzzleid in PLU.TMP.puzzleList) {
            $.extend(PLU.TMP.puzzleList[puzzleid], {
              puzzle: puzzle,
              publisherName: publisherName,
              targetName: targetName,
            });
          } else {
            PLU.TMP.puzzleList[puzzleid] = {
              puzzle: puzzle,
              publisherName: publisherName,
              targetName: targetName,
              firstPublisherName: publisherName,
              firstStep: puzzle.replace(/<[^>]*>/g, ""),
              publisherMap: g_obj_map.get("msg_room").get("map_id"),
              publisherRoom: g_obj_map.get("msg_room").get("short"),
            };
          }
          return puzzleid;
        },
        startpuzzle: function (puzzleid) {
          if (!PLU.TMP.puzzleList[puzzleid]) return;
          var puzzle = PLU.TMP.puzzleList[puzzleid].puzzle;
          if (
            /看上去好生奇怪,/.test(puzzle) ||
            /鬼鬼祟祟的叫人生疑,/.test(puzzle)
          ) {
            PLU.TMP.puzzleWating = {
              puzzleid: puzzleid,
              action: "npc_datan",
              actionCode: "npc_datan",
              target: PLU.TMP.puzzleList[puzzleid].targetName,
              status: "start",
            };
          } else if (
            /你一番打探,果然找到了一些線索,回去告訴/.test(puzzle) ||
            /你一番搜索,果然找到了,回去告訴/.test(puzzle) ||
            /好,我知道了。你回去轉告/.test(puzzle) ||
            /老老實實將東西交了出來,現在可以回去找/.test(puzzle) ||
            /好,好,好,我知錯了……你回去轉告/.test(puzzle) ||
            /腳一蹬,死了。現在可以回去找/.test(puzzle)
          ) {
            PLU.TMP.puzzleWating = {
              puzzleid: puzzleid,
              action: "answer",
              actionCode: "ask",
              target: PLU.TMP.puzzleList[puzzleid].publisherName,
              status: "start",
            };
          } else if (/我想找/.test(puzzle) || /我有個事情想找/.test(puzzle)) {
            PLU.TMP.puzzleWating = {
              puzzleid: puzzleid,
              action: "ask",
              actionCode: "ask",
              target: PLU.TMP.puzzleList[puzzleid].targetName,
              status: "start",
            };
          } else if (
            /我十分討厭那/.test(puzzle) ||
            /好大膽,竟敢拿走了我的/.test(puzzle) ||
            /竟敢得罪我/.test(puzzle) ||
            /搶走了,去替我要回來吧!/.test(puzzle) ||
            /十分囂張,去讓[他她]見識見識厲害!/.test(puzzle)
          ) {
            PLU.TMP.puzzleWating = {
              puzzleid: puzzleid,
              action: "fight",
              actionCode: "fight",
              target: PLU.TMP.puzzleList[puzzleid].targetName,
              status: "start",
            };
          } else if (
            /上次我不小心,竟然吃了/.test(puzzle) ||
            /竟對我橫眉瞪眼的,真想殺掉[他她]!/.test(puzzle) ||
            /昨天撿到了我幾十輛銀子,拒不歸還。錢是小事,但人品可不好。/.test(
              puzzle,
            )
          ) {
            PLU.TMP.puzzleWating = {
              puzzleid: puzzleid,
              action: "kill",
              actionCode: "kill",
              target: PLU.TMP.puzzleList[puzzleid].targetName,
              status: "start",
            };
          } else if (/突然想要一/.test(puzzle) || /唉,好想要一/.test(puzzle)) {
            PLU.TMP.puzzleWating = {
              puzzleid: puzzleid,
              action: "get",
              actionCode: "get",
              target: PLU.TMP.puzzleList[puzzleid].targetName,
              status: "start",
            };
          } else if (/可前去尋找/.test(puzzle)) {
            PLU.TMP.puzzleWating = {
              puzzleid: puzzleid,
              action: "room_sousuo",
              actionCode: "room_sousuo",
              target: "",
              status: "start",
            };
          }
          this.gotoPuzzle(puzzleid);
        },
        gotoPuzzle: function (puzzleid) {
          if (puzzleid != PLU.TMP.puzzleWating.puzzleid) {
            return;
          }
          var that = this;
          switch (PLU.TMP.puzzleWating.action) {
            case "npc_datan":
            case "fight":
            case "kill":
            case "ask":
            case "room_sousuo":
              PLU.TMP.puzzleWating.status = "trace";
              PLU.execActions("find_task_road " + puzzleid);
              break;
            case "get":
              if (
                g_obj_map.get("msg_room").get("map_id") ==
                  PLU.TMP.puzzleList[puzzleid].publisherMap &&
                g_obj_map.get("msg_room").get("short") ==
                  PLU.TMP.puzzleList[puzzleid].publisherRoom
              ) {
                var npc = g_obj_map
                  .get("msg_room")
                  .elements.filter(function (item) {
                    return (
                      item.key.indexOf("npc") == 0 &&
                      that.ansiToHtml(item.value.split(",")[1]) ==
                        PLU.TMP.puzzleList[puzzleid].publisherName
                    );
                  });
                if (npc.length > 0) {
                  PLU.TMP.puzzleWating.waitTimer = setTimeout(function () {
                    PLU.TMP.puzzleWating.status = "trace";
                    PLU.execActions("find_task_road " + puzzleid);
                  }, 2000);
                  PLU.TMP.puzzleWating.status = "give";
                  var npcArr = {};
                  for (var i = 0; i < npc.length; i++) {
                    var npcinfo = npc[i].value.split(",");
                    npcArr[npcinfo[0]] = npc[i];
                  }
                  PLU.TMP.puzzleWating.waitCount = 0;
                  for (var npcid in npcArr) {
                    PLU.execActions("give " + npc[0].value.split(",")[0]);
                    PLU.TMP.puzzleWating.waitCount++;
                  }
                  return;
                }
              }
              PLU.TMP.puzzleWating.status = "trace";
              PLU.execActions("find_task_road " + puzzleid);
              break;
            case "answer":
              PLU.TMP.puzzleWating.status = "trace";
              PLU.execActions("find_task_road2 " + puzzleid);
              break;
          }
        },
        doPuzzle: function (puzzleid) {
          if (puzzleid != PLU.TMP.puzzleWating.puzzleid) {
            return;
          }
          var that = this;
          switch (PLU.TMP.puzzleWating.action) {
            case "npc_datan":
            case "answer":
            case "ask":
            case "fight":
            case "kill":
              PLU.TMP.puzzleWating.status = "wait";
              var npcs = g_obj_map
                .get("msg_room")
                .elements.filter(function (item) {
                  return (
                    item.key.indexOf("npc") == 0 &&
                    (that.ansiToHtml(item.value.split(",")[1]) ==
                      PLU.TMP.puzzleWating.target ||
                      (PLU.TMP.puzzleWating.target == "惡人" &&
                        [
                          "段老大",
                          "二娘",
                          "嶽老三",
                          "雲老四",
                          "流寇",
                          "惡棍",
                          "劇盜",
                        ].indexOf(that.ansiToHtml(item.value.split(",")[1])) >
                          -1) ||
                      (PLU.TMP.puzzleWating.target == "捕快" &&
                        item.value.split(",")[0].indexOf("bukuai") == 0))
                  );
                });
              if (npcs.length > 0) {
                var distinctNpcs = {};
                for (var i = 0; i < npcs.length; i++) {
                  distinctNpcs[npcs[i].value.split(",")[0]] = 1;
                }
                if (PLU.TMP.puzzleWating.action == "fight") {
                  for (var npcid in distinctNpcs) {
                    PLU.autoFight({
                      targetKey: npcid,
                      fightKind: "fight",
                      autoSkill: "multi",
                      onFail() {
                        PLU.autoFight({
                          targetKey: npcid,
                          fightKind: "kill",
                          autoSkill: "multi",
                        });
                      },
                    });
                  }
                } else {
                  for (var npcid in distinctNpcs) {
                    PLU.execActions(
                      PLU.TMP.puzzleWating.actionCode + " " + npcid,
                    );
                  }
                }
              }
              break;
            case "get":
              if (PLU.TMP.puzzleWating.status == "traced") {
                PLU.TMP.puzzleWating.status = "wait";
                var objs = g_obj_map
                  .get("msg_room")
                  .elements.filter(function (item) {
                    return (
                      item.key.indexOf("item") == 0 &&
                      that.ansiToHtml(item.value.split(",")[1]) ==
                        PLU.TMP.puzzleWating.target
                    );
                  });
                if (objs.length > 0) {
                  for (var index in objs) {
                    PLU.execActions("get " + objs[index].value.split(",")[0]);
                  }
                } else {
                  var npcs = g_obj_map
                    .get("msg_room")
                    .elements.filter(function (item) {
                      return (
                        item.key.indexOf("npc") == 0 &&
                        !isNaN(item.key.replace("npc", "")) &&
                        item.value.indexOf("金甲符兵") == -1 &&
                        item.value.indexOf("玄陰符兵") == -1
                      );
                    });
                  that.lookNpcForBuy(
                    npcs,
                    function () {
                      PLU.TMP.puzzleWating.status = "return";
                      PLU.execActions("find_task_road2 " + puzzleid);
                    },
                    function () {
                      npcs = g_obj_map
                        .get("msg_room")
                        .elements.filter(function (item) {
                          return (
                            item.key.indexOf("npc") == 0 &&
                            !isNaN(item.key.replace("npc", "")) &&
                            item.value.indexOf("金甲符兵") == -1 &&
                            item.value.indexOf("玄陰符兵") == -1
                          );
                        });
                      that.lookNpcForKillGet(npcs);
                    },
                  );
                }
              } else {
                if (PLU.TMP.puzzleWating.status == "returned") {
                  var npcs = g_obj_map
                    .get("msg_room")
                    .elements.filter(function (item) {
                      return (
                        item.key.indexOf("npc") == 0 &&
                        that.ansiToHtml(item.value.split(",")[1]) ==
                          PLU.TMP.puzzleWating.target
                      );
                    });
                  if (npcs.length > 0) {
                    for (var index in npcs) {
                      if (npcs[index].value)
                        PLU.execActions(
                          "give " + npcs[index].value.split(",")[0],
                        );
                    }
                  }
                }
              }
              break;
            case "room_sousuo":
              PLU.execActions("room_sousuo");
              break;
          }
        },
        lookNpcForBuy: function (npcs, foundcallback, notfoundcallback) {
          if (PLU.TMP.puzzleWating.actionCode != "get") {
            return;
          }
          if (npcs.length > 0) {
            var that = this;
            var npc = npcs.shift();
            var npcid = npc.value.split(",")[0];
            PLU.execActions("look_npc " + npcid);
            setTimeout(function () {
              that.getNpcInfoForBuy(
                npcid,
                npcs,
                foundcallback,
                notfoundcallback,
              );
            }, 200);
          } else {
            notfoundcallback && notfoundcallback();
          }
        },
        getNpcInfoForBuy: function (
          npcid,
          othernpcs,
          foundcallback,
          notfoundcallback,
        ) {
          if (PLU.TMP.puzzleWating.actionCode != "get") {
            return;
          }
          var that = this;
          if (
            !g_obj_map.get("msg_npc") ||
            g_obj_map.get("msg_npc").get("id") != npcid
          ) {
            setTimeout(function () {
              that.getNpcInfoForBuy(
                npcid,
                othernpcs,
                foundcallback,
                notfoundcallback,
              );
            }, 200);
            return;
          }
          cmds = g_obj_map.get("msg_npc").elements.filter(function (item) {
            return item.value == "購買";
          });
          if (cmds.length > 0) {
            PLU.execActions("buy " + npcid);
            setTimeout(function () {
              that.getNpcBuyInfo(
                npcid,
                othernpcs,
                foundcallback,
                notfoundcallback,
              );
            }, 200);
          } else {
            if (othernpcs.length > 0) {
              var npc = othernpcs.shift();
              var npcid = npc.value.split(",")[0];
              PLU.execActions("look_npc " + npcid);
              setTimeout(function () {
                that.getNpcInfoForBuy(
                  npcid,
                  othernpcs,
                  foundcallback,
                  notfoundcallback,
                );
              }, 200);
            } else {
              notfoundcallback && notfoundcallback();
            }
          }
        },
        getNpcBuyInfo: function (
          npcid,
          othernpcs,
          foundcallback,
          notfoundcallback,
        ) {
          if (PLU.TMP.puzzleWating.actionCode != "get") {
            return;
          }
          var that = this;
          if (
            !g_obj_map.get("msg_buys") ||
            g_obj_map.get("msg_buys").get("npcid") != npcid
          ) {
            setTimeout(function () {
              that.getNpcBuyInfo(
                npcid,
                othernpcs,
                foundcallback,
                notfoundcallback,
              );
            }, 200);
            return;
          }
          var buyitems = g_obj_map
            .get("msg_buys")
            .elements.filter(function (item) {
              return (
                item.key.indexOf("item") == 0 &&
                that.ansiToHtml(item.value.split(",")[1]) ==
                  PLU.TMP.puzzleWating.target
              );
            });
          if (buyitems.length > 0) {
            for (var i = 0; i < buyitems.length; i++) {
              PLU.execActions(
                "buy " + buyitems[i].value.split(",")[0] + " from " + npcid,
              );
            }
            foundcallback && foundcallback();
          } else {
            if (othernpcs.length > 0) {
              var npc = othernpcs.shift();
              var npcid = npc.value.split(",")[0];
              PLU.execActions("look_npc " + npcid);
              setTimeout(function () {
                that.getNpcInfoForBuy(
                  npcid,
                  othernpcs,
                  foundcallback,
                  notfoundcallback,
                );
              }, 200);
            } else {
              notfoundcallback && notfoundcallback();
            }
          }
        },
        lookNpcForKillGet: function (npcs, foundcallback, notfoundcallback) {
          if (PLU.TMP.puzzleWating.actionCode != "get") {
            return;
          }
          if (npcs.length > 0) {
            var that = this;
            var npc = npcs.shift();
            var npcid = npc.value.split(",")[0];
            PLU.execActions("look_npc " + npcid);
            setTimeout(function () {
              that.getNpcInfoForKillGet(
                npcid,
                npcs,
                foundcallback,
                notfoundcallback,
              );
            }, 200);
          } else {
            notfoundcallback && notfoundcallback();
          }
        },
        getNpcInfoForKillGet: function (
          npcid,
          othernpcs,
          foundcallback,
          notfoundcallback,
        ) {
          if (PLU.TMP.puzzleWating.actionCode != "get") {
            return;
          }
          var that = this;
          if (
            !g_obj_map.get("msg_npc") ||
            g_obj_map.get("msg_npc").get("id") != npcid
          ) {
            setTimeout(function () {
              that.getNpcInfoForKillGet(
                npcid,
                othernpcs,
                foundcallback,
                notfoundcallback,
              );
            }, 200);
            return;
          }
          cmds = g_obj_map.get("msg_npc").elements.filter((item) => {
            return item.value == "殺死";
          });
          if (
            cmds.length > 0 &&
            g_obj_map
              .get("msg_npc")
              .get("long")
              .indexOf(PLU.TMP.puzzleWating.target) > -1
          ) {
            PLU.TMP.puzzleWating.waitTarget = npcid;
            PLU.execActions("kill " + npcid);
            foundcallback && foundcallback();
          } else {
            if (othernpcs.length > 0) {
              var npc = othernpcs.shift();
              var npcid = npc.value.split(",")[0];
              PLU.execActions("look_npc " + npcid);
              setTimeout(function () {
                that.getNpcInfoForKillGet(
                  npcid,
                  othernpcs,
                  foundcallback,
                  notfoundcallback,
                );
              }, 200);
            } else {
              notfoundcallback && notfoundcallback();
            }
          }
        },
        puzzlekillget: function () {
          var npcname = prompt("請輸入要殺的npc名稱", "");
          if (npcname) {
            PLU.TMP.puzzleWating.actionCode = "killget";
            PLU.TMP.puzzleWating.waitTargetName = npcname;
          }
        },
        ansiToHtml: function (str) {
          return ansi_up.ansi_to_html(str).replace(/\x1B/g, "");
        },
        puzzlesubmit: function (puzzleid) {
          let mapList = {
            snow: "雪亭鎮",
            luoyang: "洛陽",
            huashancun: "華山村",
            huashan: "華山",
            yangzhou: "揚州",
            gaibang: "丐幫",
            choyin: "喬陰縣",
            emei: "峨眉山",
            henshan: "恆山",
            wudang: "武當山",
            latemoon: "晚月莊",
            waterfog: "水煙閣",
            shaolin: "少林寺",
            tangmen: "唐門",
            qingcheng: "青城山",
            xiaoyao: "逍遙林",
            kaifeng: "開封",
            mingjiao: "光明頂",
            quanzhen: "全真教",
            gumu: "古墓",
            baituo: "白馱山",
            songshan: "嵩山",
            meizhuang: "寒梅莊",
            taishan: "泰山",
            tieflag: "大旗門",
            guanwai: "大昭寺",
            heimuya: "魔教",
            xingxiu: "星宿海",
            taoguan: "茅山",
            taohua: "桃花島",
            resort: "鐵雪山莊",
            murong: "慕容山莊",
            dali: "大理",
            duanjian: "斷劍山莊",
            binghuo: "冰火島",
            xiakedao: "俠客島",
            jueqinggu: "絕情谷",
            bihaishanzhuang: "碧海山莊",
            tianshan: "天山",
            miaojiang: "苗疆",
            baidicheng: "白帝城",
            mojiajiguancheng: "墨家機關城",
            yanyuecheng: "掩月城",
            haiyunge: "海雲閣",
            beiyinxiang: "洛陽",
            yingoudufang: "洛陽",
            baizhong: "洛陽",
            tudimiao: "華山村",
            qingfengzhai: "華山村",
            tianshengxia: "華山",
            luoyanya: "華山",
            wuqiku: "華山",
            wuguan: "揚州",
            yangzhouguanya: "揚州",
            zuixianlou: "揚州",
            zizhiyu: "恆山",
            qinqitai: "恆山",
            luohantang: "少林寺",
            banruotang: "少林寺",
            yezhulin: "開封",
            yuwangtai: "開封",
            moyundong: "嵩山",
            jishanlvgu: "嵩山",
            xinglinxiaoyuan: "寒梅莊",
            hudidinao: "寒梅莊",
            heilongtan: "泰山",
            tianshengzhai: "泰山",
            yuhuangding: "泰山",
            huajie: "花街",
            jingcheng: "京城",
            xiliangcheng: "西涼城",
            gaochangmigong: "高昌迷宮",
            yuewangjiangong: "越王劍宮",
            jiangling: "江陵",
            tianlongsi: "天龍寺",
          };
          let mapname =
            mapList[PLU.TMP.puzzleList[puzzleid].publisherMap] ??
            PLU.TMP.puzzleList[puzzleid].publisherMap;
          let value =
            mapname +
            "@" +
            ansi_up
              .ansi_to_html(PLU.TMP.puzzleList[puzzleid].publisherRoom)
              .replace(/<[^>]*>/g, "") +
            "@" +
            PLU.TMP.puzzleList[puzzleid].firstStep;
          if (!PLU.getCache("listenPuzzle")) clickButton("chat " + value);
        },
      };
    },

    //================================================================================================
    toQueryMiTi() {
      let defaultMapId = PLU.getCache("pathFindMiTi") || "1";
      let citys = PLU.YFD.cityList
        .map((c, i) => {
          let issel = i + 1 == defaultMapId ? "selected" : "";
          return (
            '<option value="' + (i + 1) + '" ' + issel + ">" + c + "</option>"
          );
        })
        .join("");
      YFUI.showPop({
        title: "全圖找謎題",
        text: `選擇地圖, 輸入關鍵詞(人物,地點,物品)列表(英文逗號隔開)<br>可模糊匹配<br>
            <div style='margin:10px 0;'>
              <span>去哪找: </span>
              <select id="pathFindMap" style="font-size:15px;height:32px;width:81%;border:1px solid #444;">
                ${citys}
              </select>
            </div>
            <div style='margin:10px 0;'>
              <span>要找啥: </span>
              <input id="pathFindKeyword" value="${
                PLU.getCache("pathFindKeyword") ||
                "柴紹,李秀寧,大鸛淜洲,天羅紫芳衣"
              }" style="font-size:14px;height:26px;width:80%;border:1px solid #444;"></input>
            </div>`,
        onOk() {
          let mapStr = $.trim($("#pathFindMap").val()),
            KeywordStr = $.trim($("#pathFindKeyword").val());
          if (!KeywordStr) return;
          PLU.setCache("pathFindMap", mapStr);
          PLU.setCache("pathFindKeyword", KeywordStr);
          let jhMap = PLU.YFD.mapsLib.Map.find((e) => e.jh == mapStr);
          if (!jhMap) {
            return YFUI.writeToOut(
              "<span style='color:#F66;'>---無地圖數據---</span>",
            );
          } else {
            let ways = jhMap.way.split(";");
            console.log({ paths: ways, idx: 0, objectKeyword: KeywordStr });
            PLU.MiTiArray = [];
            PLU.goPathFindMiTi({
              paths: ways,
              idx: 0,
              objectKeyword: KeywordStr,
            });
          }
        },
        onNo() {},
      });
    },
    goPathFindMiTi(params) {
      //goFindYouxia
      if (params.idx >= params.paths.length) {
        setTimeout(() => {
          PLU.execActions("home");
        }, 100);
        YFUI.writeToOut(
          "<span style='color:#FFF;'>--找不到目標謎題!...已搜索完地圖--</span>",
        );
        return;
      }
      let acs = [params.paths[params.idx]];
      PLU.actions({
        paths: acs,
        idx: 0,
        onPathsEnd() {
          let npcArray = UTIL.getRoomAllNpc();
          UTIL.addSysListener("MiTi", (b, type, subtype, msg) => {
            if (type != "main_msg") return;
            if (msg.match(params.objectKeyword)) PLU.MiTiArray.push(msg);
          });
          for (var npc of npcArray) {
            PLU.execActions("auto_tasks cancel;ask " + npc.key);
          }
          UTIL.delSysListener("MiTi");
          if (PLU.MiTiArray.length) {
            YFUI.writeToOut(
              "<span style='color:#FFF;'>--目標謎題已找到--</span>",
            );
            return;
          } else {
            setTimeout(() => {
              params.idx++;
              PLU.goPathFindMiTi(params);
            }, 500);
          }
        },
        onPathsFail() {
          setTimeout(() => {
            PLU.execActions("home");
          }, 500);
          YFUI.writeToOut("<span style='color:#FFF;'>--路徑中斷--</span>");
          return;
        },
      });
    },
    //================================================================================================
    goNpcWay(desc, way) {
      let goList = PLU.getCache("prevQueryList") || [];
      let newList = goList.filter((e) => e.desc != desc);
      let len = newList.unshift({ desc: desc, way: way });
      if (len > 10) newList.length = 10;
      PLU.setCache("prevQueryList", newList);
      PLU.execActions(way);
    },

    //================================================================================================
    //================================================================================================
    showNpcWay(desc, way) {
      YFUI.showPop({
        title: "路徑詳情:" + desc,
        text:
          "<span style='color:blue;background:rgba(255,255,244,0.8);padding:1px 10px;display:inline-block;word-break:break-all;'>" +
          way +
          "</span></br>",
        autoOk: 10,
        okText: "關閉",
        noText: "前往",
        onOk() {},
        onNo() {
          PLU.goNpcWay(desc, way);
        },
      });
    },
    //================================================================================================
    toQueryHistory() {
      let prevList = PLU.getCache("prevQueryList") || [];
      if (prevList.length == 0)
        return YFUI.writeToOut(
          "<span style='color:#F66;'>---無歷史數據---</span>",
        );
      for (let i = prevList.length - 1; i >= 0; i--) {
        let e = prevList[i];
        YFUI.writeToOut(
          "<span><a style='text-decoration:underline;color:yellow;cursor:pointer;' onclick='PLU.goNpcWay(\"" +
            e.desc +
            '","' +
            e.way +
            "\")'>" +
            e.desc +
            "</a> &nbsp;&nbsp;<a style='text-decoration:underline;color:yellow;cursor:pointer;' onclick='PLU.showNpcWay(\"" +
            e.desc +
            '","' +
            e.way +
            "\")'>路徑詳情</a></span>",
        );
      }
      YFUI.writeToOut("<span>----------</span>");
    },
    //================================================================================================
    showMPFZ($btn) {
      let btnFlag = PLU.setBtnRed($btn);
      if (!btnFlag) {
        $("#topMonitor").hide();
        $("#btn_bt_showMPFZ").text(_("纷争显示", "紛爭顯示"));
        PLU.setCache("showTopMonitor", 0);
        return;
      }
      $("#topMonitor").show();
      $("#btn_bt_showMPFZ").text(_("纷争隐藏", "紛爭隱藏"));
      PLU.setCache("showTopMonitor", 1);
    },
    //================================================================================================
    openCombineGem() {
      let htm = "<div>";
      PLU.YFD.gemType.forEach((t, ti) => {
        htm += "<div>";
        PLU.YFD.gemPrefix.forEach((p, pi) => {
          if (pi > 2)
            htm +=
              '<button onclick="PLU.combineGem(' +
              ti +
              "," +
              pi +
              ')" style="color:' +
              t.color +
              ';width:18%;margin:2px 1%;padding:3px;">' +
              (p.substr(0, 2) + t.name.substr(0, 1)) +
              "</button>";
        });
        htm += "</div>";
      });
      htm += "</div>";
      htm += `<div style="margin:10px 0 0 3px;position:absolute;left:15px;bottom:10px;">每次連續合成最多 <input id="maxCombine" type="number" value="1" style="width:50px;height:25px;line-height:25px;" maxlength="3" min=1 max=9999 oninput="if(value.length>4)value=value.substr(0,4)"/> 顆寶石。</div>`;
      YFUI.showPop({
        title: "合成寶石",
        text: htm,
        width: "382px",
        okText: "關閉",
        onOk() {},
      });
    },
    //================================================================================================
    combineGem(type, grade) {
      if (PLU.TMP.combineTooFast)
        return YFUI.writeToOut(
          "<span style='color:#F66;'>--點擊不要太快!--</span>",
        );
      PLU.TMP.combineTooFast = setTimeout(() => {
        PLU.TMP.combineTooFast = null;
      }, 600000);
      let targetNum = parseInt($("#maxCombine").val()) || 1;
      let getNum = 0;
      let countString = (combineNum, gemCode) => {
        let combineStr = "";
        if (combineNum % 3 != 0) return "";
            combineStr += "items hecheng " + gemCode + "_N_"+(Math.floor(combineNum/3))+";";
        return combineStr;
      };
      let needGem = (gemGrade, needNum, gemList) => {
        if (gemGrade < 0) return null;
        let gemName = PLU.YFD.gemPrefix[gemGrade] + PLU.YFD.gemType[type].name;
        let gemCode = PLU.YFD.gemType[type].key + "" + (gemGrade + 1);
        let objGem = gemList.find((e) => e.name == gemName);
        let gemNum = objGem?.num ?? 0;
        if (gemNum >= needNum) {
          return countString(needNum, gemCode);
        } else {
          let dtNum = needNum - gemNum;
          let next = needGem(gemGrade - 1, 3 * dtNum, gemList);
          if (next) return next + countString(needNum, gemCode);
          return null;
        }
      };
      let countCombine = function (cb) {
        PLU.getGemList((gemList) => {
          let runStr = needGem(grade - 1, 3, gemList);
          if (runStr) {
            PLU.fastExec(runStr + "items", () => {
              YFUI.writeToOut(
                "<span style='color:white;'>==合成寶石x1==</span>",
              );
              getNum++;
              targetNum--;
              if (targetNum > 0) {
                countCombine(() => {
                  cb && cb(true);
                });
              } else {
                cb && cb(true);
              }
            });
          } else {
            YFUI.writeToOut(
              "<span style='color:#F66;'>--沒有足夠的寶石!--</span>",
            );
            cb && cb(false);
          }
        });
      };
      countCombine((end) => {
        clearTimeout(PLU.TMP.combineTooFast);
        PLU.TMP.combineTooFast = null;
        YFUI.writeToOut(
          "<span style='color:white;'>==合成寶石結束! 得到寶石x" +
            getNum +
            "==</span>",
        );
      });
    },
    //================================================================================================
    getGemList(callback) {
      let getItemsTimeOut = setTimeout(() => {
        UTIL.delSysListener("getListItems");
      }, 5000);
      UTIL.addSysListener("getListItems", (b, type, subtype, msg) => {
        if (type != "items" || subtype != "list") return;
        UTIL.delSysListener("getListItems");
        clearTimeout(getItemsTimeOut);
        //clickButton("prev");
        let iId = 1,
          itemList = [];
        while (b.get("items" + iId)) {
          let it = UTIL.filterMsg(b.get("items" + iId)).split(",");
          if (it && it.length > 4 && it[3] == "0" && it[1].match("寶石"))
            itemList.push({
              key: it[0],
              name: it[1],
              num: Number(it[2]),
            });
          iId++;
        }
        callback && callback(itemList);
      });
      clickButton("items", 0);
    },
    //================================================================================================
    getAllItems(callback) {
      let getItemsTimeOut = setTimeout(() => {
        UTIL.delSysListener("getListItems");
      }, 5000);
      UTIL.addSysListener("getListItems", (b, type, subtype, msg) => {
        if (type != "items" || subtype != "list") return;
        UTIL.delSysListener("getListItems");
        clearTimeout(getItemsTimeOut);
        clickButton("prev");
        let iId = 1,
          itemList = [];
        while (b.get("items" + iId)) {
          let it = UTIL.filterMsg(b.get("items" + iId)).split(",");
          if (it && it.length > 4)
            itemList.push({
              key: it[0],
              name: it[1],
              num: Number(it[2]),
              equipped: it[3] == "0",
            });
          iId++;
        }
        callback && callback(itemList);
      });
      clickButton("items", 0);
    },
    //================================================================================================
    saveSetting() {
      YFUI.showPop({
        title: "設置上傳",
        text: "<b style='color:red;'>確定要上傳當前角色腳本設置嗎?</b>",
        onOk() {
          let cacheData = UTIL.getMem("CACHE");
          $.ajax({
            url: "http://www.jiaozis.work:8765/comm/save",
            type: "POST",
            data: {
              data_key: btoa(escape(PLU.accId)),
              data_type: "CACHE",
              data_value: btoa(escape(cacheData)),
            },
            dataType: "json",
            success: (res) => {
              if (res.code == "00000") {
                YFUI.writeToOut(
                  "<span><span style='color:#AF0;'>本地腳本設置上傳成功!</span></span>",
                );
              } else {
                YFUI.writeToOut(
                  "<span><span style='color:#F80;'>上傳失敗!(" +
                    res.msg +
                    ")</span></span>",
                );
              }
            },
          });
        },
        onNo() {},
      });
    },
    //================================================================================================
    loadSetting() {
      $.ajax({
        url: "http://www.jiaozis.work:8765/comm/load",
        type: "POST",
        data: { data_key: btoa(escape(PLU.accId)) },
        dataType: "json",
        success: (res) => {
          if (res.code == "00000") {
            let cacheData = unescape(atob(res.data[0].data_value));
            YFUI.showPop({
              title: "設置下載",
              text: "<span style='color:#360;'>角色腳本設置下載成功!是否替換本地設置?</span>",
              autoOk: 10,
              onOk() {
                UTIL.setMem("CACHE", cacheData);
                PLU.initStorage();
                YFUI.writeToOut(
                  "<span><span style='color:#AF0;'>本地腳本設置替換成功!</span></span>",
                );
              },
              onNo() {},
            });
          } else {
            YFUI.writeToOut(
              "<span><span style='color:#F80;'>下載失敗!(" +
                res.msg +
                ")</span></span>",
            );
          }
        },
      });
    },
  };
  //=================================================================================
  // UTIL模塊
  //=================================================================================
  window.UTIL = {
    //================
    accId: null,
    sysListeners: {},
    logHistory: [],
    //================
    getUrlParam(key) {
      let res = null,
        au = location.search.split("?"),
        sts = au[au.length - 1].split("&");
      sts.forEach((p) => {
        if (p.split("=").length > 1 && key == p.split("=")[0])
          res = unescape(p.split("=")[1]);
      });
      return res;
    },
    getAccId() {
      this.accId = this.getUrlParam("id");
      return this.accId;
    },
    setMem(key, data) {
      localStorage.setItem("PLU_" + this.accId + "_" + key, data);
    },
    getMem(key) {
      return localStorage.getItem("PLU_" + this.accId + "_" + key);
    },
    rnd() {
      return Math.floor(Math.random() * 1000000);
    },
    getuuid: function () {
      return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
        var r = (Math.random() * 16) | 0,
          v = c == "x" ? r : (r & 0x3) | 0x8;
        return v.toString(16);
      });
    },
    getNow(timestamp) {
      var date = timestamp ? new Date(timestamp) : new Date();
      var Y = date.getFullYear();
      var M = (date.getMonth() + 1 + "").padStart(2, "0");
      var D = (date.getDate() + "").padStart(2, "0");
      var h = (date.getHours() + "").padStart(2, "0");
      var m = (date.getMinutes() + "").padStart(2, "0");
      var s = (date.getSeconds() + "").padStart(2, "0");
      return M + "-" + D + " " + h + ":" + m + ":" + s;
    },
    log({ msg, type, time, isHistory }) {
      let style = "color:#333";
      if (type == "TF") {
        let co = msg.match("夜魔") ? "#F0F" : "#666";
        style = "color:" + co;
      } else if (type == "QL") {
        style = "color:#00F";
      } else if (type == "MPFZ") {
        style = "color:#F60";
      } else if (type == "LPFZ") {
        style = "color:#033";
      } else if (type == "KFQL") {
        style = "color:#F00;background:#FF9;";
      } else if (type == "YX") {
        let co2 = msg.match("宗師】")
          ? "#00F"
          : msg.match("俠客】")
          ? "#08F"
          : msg.match("魔尊】")
          ? "#F00"
          : msg.match("邪武】")
          ? "#F80"
          : "#999";
        style = "color:" + co2 + ";background:#CFC;";
      } else if (type == "BF") {
        style = "color:#FFF;background:#93C;";
      } else if (type == "TIPS") {
        style = "color:#29F";
      }
      //console.log('%c%s',style,this.getNow(time)+msg)
      if (!isHistory) {
        this.logHistory.push({ msg, type, time });
        this.setMem("HISTORY", JSON.stringify(this.logHistory));
      }
      let evt = new Event("addLog");
      evt.ext = { msg, type, time, style };
      document.dispatchEvent(evt);
    },
    filterMsg(s) {
      if (typeof s == "string")
        return s.replace(/[\033|\27|\0x1b]\[[0-9|;]+m/gi, "");
      return "";
    },
    sysDispatchMsg(b, type, subtype, msg) {
      for (var key in this.sysListeners) {
        this.sysListeners[key](b, type, subtype, msg);
      }
    },
    addSysListener(key, fn) {
      this.sysListeners[key] = fn;
    },
    delSysListener(key) {
      delete this.sysListeners[key];
    },
    findRoomNpc(npcName, gb, searchAll) {
      console.debug(npcName);
      let roomInfo = g_obj_map.get("msg_room");
      if (!roomInfo) return null;
      for (let i = roomInfo.elements.length - 1; i >= 0; i--) {
        let bNpc = this.getSpNpcByIdx(roomInfo, i, searchAll);
        if (bNpc && bNpc.name == npcName) {
          if (!gb) return bNpc;
          else {
            let gNpc = this.getSpNpcByIdx(roomInfo, i - gb);
            if (gNpc) return gNpc;
          }
        }
      }
      return null;
    },
    roomHasNpc() {
      let roomInfo = g_obj_map.get("msg_room");
      let res = false;
      if (!roomInfo) return null;
      for (let i = roomInfo.elements.length - 1; i >= 0; i--) {
        if (roomInfo.elements[i].key.match("npc")) {
          res = true;
          break;
        }
      }
      return res;
    },
    getRoomAllNpc() {
      let roomInfo = g_obj_map.get("msg_room");
      let res = [];
      if (!roomInfo) return res;
      for (let i = roomInfo.elements.length - 1; i >= 0; i--) {
        let npc = roomInfo.elements[i].key.match(/npc(\d+)/);
        if (npc) {
          let infoArr = roomInfo.elements[i].value.split(",");
          let name = this.filterMsg(infoArr[1]);
          res.push({ name: name, key: infoArr[0] });
        }
      }
      return res;
    },
    findRoomNpcReg(npcName) {
      let roomInfo = g_obj_map.get("msg_room");
      if (!roomInfo) return null;
      for (let i = roomInfo.elements.length - 1; i >= 0; i--) {
        let npc = roomInfo.elements[i].key.match(/npc(\d+)/);
        if (npc) {
          let infoArr = roomInfo.elements[i].value.split(",");
          let name = this.filterMsg(infoArr[1]);
          if (name.match(npcName)) return { name: name, key: infoArr[0] };
        }
      }
      return null;
    },
    getSpNpcByIdx(roomInfo, idx, searchAll) {
      let npcInfo = roomInfo.get("npc" + idx);
      if (npcInfo) {
        let infoArr = npcInfo.split(",");
        let name = this.filterMsg(infoArr[1]);
        if (searchAll) return { name: name, key: infoArr[0] };
        if (name != infoArr[1]) return { name: name, key: infoArr[0] };
      }
      return null;
    },
    getItemFrom(name) {
      if (g_gmain.is_fighting) return;
      var roomInfo = g_obj_map.get("msg_room");
      if (!roomInfo) return;
      let item = roomInfo.elements.find(
        (it) => it.key.substring(0, 4) == "item" && it.value.indexOf(name) >= 0,
      );
      if (item) {
        clickButton("get " + item.value.split(",")[0]);
      }
    },
    inHome() {
      return gSocketMsg._is_in_home;
    },
  };
  //=================================================================================
  // UI模塊
  //=================================================================================
  window.YFUI = {
    init() {
      let maxW = $("#out").width() > 634 ? 634 : $("#out").width();
      console.log($("#page").width(), $("#out").width());
      let rightStyle =
        $("#page").width() - $("#out").width() > 4
          ? "left:" + (maxW - 76 + 4) + "px;"
          : "right:0;";
      this.$Panel = $(
        '<div id="WJPlug_Panel" style="pointer-events:none;position:absolute;z-index:9999;' +
          rightStyle +
          ';top:5.5%;font-size:12px;line-height:1.2;text-align:right;list-style:none;">',
      );
      $("body").append(this.$Panel);
    },
    addBtnGroup({ id, style }) {
      let $box = $('<div id="' + id + '" style="position:relative;"></div>');
      style && $box.css(style);
      this.$Panel.append($box);
      return $box;
    },
    addBtn({
      id,
      groupId,
      text,
      onclick,
      style,
      boxStyle,
      extend,
      children,
      canSet,
    }) {
      let $box = $(
        '<div id="' +
          id +
          '" class="btn-box" style="position:relative;pointer-events:auto;"></div>',
      );
      let $btn = $(
        '<button id="btn_' +
          id +
          '" style="padding:4px 2px;box-sizing:content-box;margin:1px 1px;border:1px solid #333;border-radius:4px;width:68px;">' +
          text +
          "</button>",
      );
      style && $btn.css(style);
      boxStyle && $box.css(boxStyle);
      $btn.$extend = extend;
      $btn.click((e) => {
        onclick && onclick($btn, $box);
      });
      $box.append($btn);
      if (children)
        $box.append(
          $(
            '<b style="position:absolute;left:1px;top:3px;font-size:12px;">≡</b>',
          ),
        );
      if (canSet) {
        let $setbtn = $(
          '<i style="position:absolute;right:-8px;top:2px;font-size:14px;background:#333;color:#fff;font-style:normal;;line-height:1;border:1px solid #CCC;border-radius:100%;padding:2px 6px;cursor:pointer;">S</i>',
        );
        $box.append($setbtn);
        $setbtn.click((e) => {
          onclick && onclick($btn, $box, "setting");
        });
      }
      groupId ? $("#" + groupId).append($box) : this.$Panel.append($box);
      $box.$button = $btn;
      return $box;
    },
    addMenu({
      id,
      groupId,
      text,
      extend,
      style,
      menuStyle,
      multiCol,
      onclick,
      children,
    }) {
      //{text,id,btnId}
      let $btnBox = this.addBtn({ id, groupId, text, extend, style, children }),
        _this = this;
      function addMenuToBtn({ btnId, $parent, list, menuStyle }) {
        let $listBox = $(
          '<div id="menu_' +
            btnId +
            '" class="menu" style="position:absolute;top:0;right:' +
            $parent.width() +
            'px;display:none;"></div>',
        );
        $parent.append($listBox);
        list &&
          list.forEach((sub) => {
            let btnOpt = Object.assign({}, sub, { groupId: "menu_" + btnId });
            if (!btnOpt.onclick) {
              btnOpt.onclick = onclick;
            }
            if (multiCol)
              btnOpt.boxStyle = Object.assign(
                {},
                { display: "inline-block" },
                btnOpt.boxStyle,
              );
            let $subBtnBox = _this.addBtn(btnOpt);
            if (sub.children)
              $subBtnBox.$list = addMenuToBtn({
                btnId: sub.id,
                $parent: $subBtnBox,
                list: sub.children,
                menuStyle: sub.menuStyle,
              });
          });
        $parent.$button.click((e) => {
          $listBox.toggle().css({ right: $parent.width() + 5 });
          menuStyle && $listBox.css(menuStyle);
          $listBox.is(":visible") &&
            $listBox.parent().siblings(".btn-box").find(".menu").hide();
          onclick && onclick($parent.$button, $parent);
        });
        return $listBox;
      }
      $btnBox.$list = addMenuToBtn({
        btnId: id,
        $parent: $btnBox,
        list: children,
        menuStyle: menuStyle,
      });
      return $btnBox;
    },
    showPop(params) {
      if ($("#myTools_popup").length) $("#myTools_popup").remove();
      params = params || {};
      let okText = params.okText || _("确定", "確定"),
        noText = params.noText || "取消",
        _this = this;
      _this.SI_autoOk && clearInterval(_this.SI_autoOk);
      _this.SI_autoOk = null;
      let ph = `<div style="z-index:9999;position:fixed;top: 40%;left:50%;width:100%;height:0;font-size:14px;" id="myTools_popup">
			<div class="popup-content" style="width:${
        params.width || "70%"
      };max-width:512px;background: rgba(255,255,255,.8);border:1px solid #999999;border-radius: 10px;transform: translate(-50%,-50%) scale(.1,.1);transition:all .1s;">
			<div style="padding: 10px 15px;"><span style="font-weight:700;">${
        params.title || ""
      }</span><span style="float:right;color:#666;cursor:pointer;" class="btncl">✖</span></div>
			<div style="padding: 0 15px;line-height:1.5;max-height:500px;overflow-y:auto;">${
        params.text || ""
      }</div>
			<div style="text-align:right;padding: 10px;">`;
      if (params.onNo)
        ph += `<button style="margin-right: 15px;padding: 5px 20px;border: 1px solid #000;border-radius:5px;" class="btnno">${noText}</button>`;
      ph += `<button style="padding: 5px 20px;background-color: #963;color:#FFF;border: 1px solid #000;border-radius: 5px;" class="btnok">${okText}</button>
			</div></div></div>`;
      let $ph = $(ph);
      $("body").append($ph);
      setTimeout(() => {
        $ph
          .find(".popup-content")
          .css({ transform: "translate(-50%,-50%) scale(1,1)" });
        params.afterOpen && params.afterOpen($ph);
      }, 100);
      if (params.autoOk) {
        let autoCloseN = Number(params.autoOk);
        $("#myTools_popup .btnok").text(okText + "(" + autoCloseN + "s)");
        _this.SI_autoOk = setInterval(() => {
          autoCloseN--;
          $("#myTools_popup .btnok").text(okText + "(" + autoCloseN + "s)");
          if (autoCloseN < 1) {
            $ph.find(".btnok").click();
          }
        }, 1000);
      } else if (params.autoNo) {
        let autoCloseN = Number(params.autoNo);
        $("#myTools_popup .btnno").text(noText + "(" + autoCloseN + "s)");
        _this.SI_autoOk = setInterval(() => {
          autoCloseN--;
          $("#myTools_popup .btnno").text(noText + "(" + autoCloseN + "s)");
          if (autoCloseN < 1) {
            $ph.find(".btnno").click();
          }
        }, 1000);
      }
      $ph.find(".btncl").click((e) => {
        _this.SI_autoOk && clearInterval(_this.SI_autoOk);
        params.onX && params.onX();
        $ph.remove();
      });
      $ph.find(".btnno").click((e) => {
        _this.SI_autoOk && clearInterval(_this.SI_autoOk);
        params.onNo && params.onNo();
        $ph.remove();
      });
      $ph.find(".btnok").click((e) => {
        _this.SI_autoOk && clearInterval(_this.SI_autoOk);
        params.onOk && params.onOk($ph);
        $ph.remove();
      });
    },
    showInput(params) {
      let popParams = Object.assign({}, params);
      let inpstyle =
        "font-size:14px;line-height:1.5;width:100%;padding:5px;border:1px solid #999;border-radius:5px;margin:5px 0;outline:none;box-sizing:border-box;";
      if (params.inputs && params.inputs.length > 1) {
        for (let i = 0; i < params.inputs.length; i++) {
          let val = params.value[i] || "";
          popParams.text = `<div><div style="width:20%;float:left;margin:5px 0;line-height:2;text-align:right;">${params.inputs[i]}: </div><div style="width:73%;margin-left:21%;">`;
          popParams.text +=
            params.type == "textarea"
              ? `<textarea id="myTools_popup_input_${i}" rows="4" style="${inpstyle}">${val}</textarea></div></div>`
              : `<input id="myTools_popup_input_${i}" type="text" value="${val}" style="${inpstyle}"/></div></div>`;
        }
        popParams.onOk = () => {
          let val = [];
          for (let i = 0; i < params.inputs.length; i++) {
            val.push($("#myTools_popup_input_" + i).val());
          }
          params.onOk(val);
        };
      } else {
        popParams.text +=
          params.type == "textarea"
            ? `<div><textarea id="myTools_popup_input" rows="4" style="${inpstyle}">${
                params.value || ""
              }</textarea></div>`
            : `<div><input id="myTools_popup_input" type="text" value="${
                params.value || ""
              }" style="${inpstyle}"/></div>`;
        popParams.onOk = () => {
          let val = $("#myTools_popup_input").val();
          params.onOk(val);
        };
      }
      this.showPop(popParams);
    },
    showInfoPanel(params) {
      if ($("#myTools_InfoPanel").length) $("#myTools_InfoPanel").remove();
      params = params || {};
      let okText = params.okText || _("关闭", "關閉"),
        noText = params.noText || "清空",
        _this = this;
      let $ph =
        $(`<div style="z-index:9900;position:fixed;top:10%;left:0;width:100%;height:0;font-size:12px;" id="myTools_InfoPanel">
			<div class="infoPanel-content" style="width:${
        params.width || "75%"
      };max-width:512px;height:620px;background: rgba(255,255,255,.9);border:1px solid #999;border-radius:0 10px 10px 0;transform: translate(-100%,0);transition:all .1s;">
				<div style="padding: 10px 15px;"><span style="font-weight:700;">${
          params.title || ""
        }</span><span style="float:right;color:#666;cursor:pointer;" class="btncl">✖</span></div>
				<div style="padding: 0 15px;line-height:1.5;height:550px;overflow-y:auto;" class="infoPanel-wrap">${
          params.text || ""
        }</div>
				<div style="text-align:right;padding: 10px;">
				<button style="padding: 5px 20px;background-color: #969;color:#FFF;border: 1px solid #000;border-radius: 5px;margin-right:25px;" class="btnno">${noText}</button>
				<button style="padding: 5px 20px;background-color: #963;color:#FFF;border: 1px solid #000;border-radius: 5px;" class="btnok">${okText}</button>
				</div>
			</div></div>`);
      $("body").append($ph);
      setTimeout(() => {
        $ph.find(".infoPanel-content").css({ transform: "translate(0,0)" });
        params.onOpen && params.onOpen();
      }, 100);
      $ph.find(".btncl").click((e) => {
        params.onClose && params.onClose();
        $ph.remove();
      });
      $ph.find(".btnok").click((e) => {
        params.onOk && params.onOk();
        params.onClose && params.onClose();
        $ph.remove();
      });
      $ph.find(".btnno").click((e) => {
        params.onNo && params.onNo();
      });
      return $ph;
    },
    writeToOut(html) {
      var m = new unsafeWindow.Map();
      m.put("type", "main_msg");
      m.put("subtype", "html");
      m.put("msg", html);
      gSocketMsg.dispatchMessage(m);
    },
  };
  PLU.autoPuzzle = PLU.AutoPuzzle();
  unsafeWindow.oldWriteToScreen || attach();
  init();
});