307 lines
271 KiB
JavaScript
307 lines
271 KiB
JavaScript
// ==UserScript==
|
||
// @lastmodified 202210020141
|
||
// @name 芜湖助手
|
||
// @namespace WOOH
|
||
// @version 0.5.2
|
||
// @description 托恩,起飞!
|
||
// @author Woohoo[2687093] Sabrina_Devil[2696209]
|
||
// @match https://www.torn.com/*
|
||
// @grant GM_xmlhttpRequest
|
||
// @grant unsafeWindow
|
||
// @connect *
|
||
// ==/UserScript==
|
||
!function(){"use strict";class V{static info(...e){var t=this.getTime(),n="[WH] IFO";this.debug()&&console.log(n,t,...e),this.saveLogs(n,t,...e)}static error(...e){var t=this.getTime(),n="[WH] ERR";this.debug()&&console.error(n,t,...e),this.saveLogs(n,t,...e)}static warn(...e){var t=this.getTime(),n="[WH] WRN";this.debug()&&console.warn(n,t,...e),this.saveLogs(n,t,...e)}static debug(){let t;try{var e=JSON.parse(localStorage.getItem("wh_trans_settings"));t=!!e&&e.isDev}catch(e){t=!1}return t}static getTime(){let e=new Date;return`[${e.getFullYear()}-${("0"+(e.getMonth()+1)).slice(-2)}-${("0"+e.getDate()).slice(-2)} ${("0"+e.getHours()).slice(-2)}:${("0"+e.getMinutes()).slice(-2)}:${("0"+e.getSeconds()).slice(-2)}.${("00"+e.getMilliseconds()).slice(-3)}]`}static getLogs(){return this.logs}static saveLogs(...e){e.forEach(e=>{this.logs+="string"==typeof e?e:` [${e.toString()}] [${JSON.stringify(e)}] `}),this.logs+="\r\n"}}V.logs="";class C extends class{constructor(){}static getInstance(){return this.instance||(this.instance=new this),this.instance}}{constructor(){super(),V.info("创建对象:"+this.constructor.name)}static getLocal(){return JSON.parse(localStorage.getItem("wh_trans_settings"))||{}}static conditionInterrupt(){let e=document.querySelector("#skip-to-content")||document.querySelector('[href*="#skip-to-content"]')||{innerText:""};if(document.title.toLowerCase().includes("just a moment")||e.innerText.toLowerCase().includes("please validate")||null!==document.querySelector("div.container div.cf .iAmUnderAttack"))throw"芜湖"}}function y(e,r,s,l){return new(s=s||Promise)(function(n,t){function i(e){try{a(l.next(e))}catch(e){t(e)}}function o(e){try{a(l.throw(e))}catch(e){t(e)}}function a(e){var t;e.done?n(e.value):((t=e.value)instanceof s?t:new s(function(e){e(t)})).then(i,o)}a((l=l.apply(e,r||[])).next())})}C.glob=null;const Ie={Home:"主页","Estate Agents":"地产中介",Newspaper:"报纸","Job Listing":"工作列表",Freebies:"壁纸","Classified Ads":"分类广告",Properties:"房产","All Properties":"所有房产",City:"城市",Education:"教育",Gym:"健身房","Biology Modules":"生物学课程",Traveling:"飞行中",Events:"通知",Hospital:"医院","Received Events":"收到的通知","Saved Events":"保存的通知",Awards:"勋章",Faction:"帮派","Your Properties":"你的房产","Stock Market":"股市",Preferences:"首选项",Missions:"任务","Spouse's Properties":"配偶的房产",Items:"物品仓库","Travel Agency":"旅行社","Display Cabinet":"展示柜","Torn Docks":"码头车行","Nikeh Sports Shop":"耐克哈运动专卖","Torn City Super Store":"电器商店","Sally's Sweet Shop":"莎莉的糖果店",Calendar:"日历","Christmas Town":"圣诞小镇","My Maps":"我的地图"},n={"Personal stats":"个人统计信息",Log:"日志","Tell your story":"说出你的故事","Rental Market":"租赁市场","Selling Market":"销售市场",City:"城市","Back to Estate Agents":"返回地产中介",Tutorial:"教程","Back to Education":"返回","Recruit Citizens":"招募玩家",Events:"通知","Travel Home":"返程",Rehabilitation:"解毒康复",People:"玩家列表",Computer:"电脑",Market:"市场",Back:"返回",Hospital:"医院",Everyone:"所有人",Nobody:"仅自己","Friends & faction":"好友 & 帮派成员",Forum:"论坛","Leave Faction":"离开帮派",Properties:"所有房产","Back to Properties":"返回所有房产","Your Profile":"你的个人资料",Ammo:"子弹",Trades:"交易",Bazaar:"店铺",Display:"展示柜","Christmas Town":"圣诞小镇","Token Shop":"Token 商店",Calendar:"日历","My Maps":"我的地图",Mods:"模组"},re={Money:"现金",Level:"等级",Points:"PT",Merits:"天赋点",Energy:"能量E",Nerve:"犯罪N",Happy:"快乐",Life:"血量",Chain:"连击链Chain",Home:"主页",home:"主页",Items:"物品",City:"城市",Job:"工作",job:"工作",Gym:"健身房",Properties:"房产",property:"房产",Education:"教育",edu:"教育",Crimes:"犯罪",Missions:"任务",Newspaper:"报纸",News:"报纸",Jail:"监狱",Hospital:"医院",Casino:"赌场",Forums:"论坛","Hall of Fame":"名人堂",ranks:"名人堂","My Faction":"帮派",faction:"帮派","Recruit Citizens":"招募玩家",recruit:"招募玩家",Competitions:"日历",comps:"日历","Community Events":"社区事件",Community:"社区事件",Friends:"好友",Enemies:"敌人",Information:"信息",Areas:"区域",Lists:"列表",messages:"信息",events:"通知",awards:"勋章"},i={"Traveling to Mexico":"正在飞往墨西哥","Traveling to Cayman Islands":"正在飞往开曼群岛","Traveling to Canada":"正在飞往加拿大","Traveling to Hawaii":"正在飞往夏威夷","Traveling to United Kingdom":"正在飞往英国","Traveling to Argentina":"正在飞往阿根廷","Traveling to Switzerland":"正在飞往瑞士","Traveling to Japan":"正在飞往日本","Traveling to China":"正在飞往中国","Traveling to UAE":"正在飞往 UAE","Traveling to South Africa":"正在飞往南非","Returning to Torn from Mexico":"正从墨西哥返回","Returning to Torn from Cayman Islands":"正从开曼群岛返回","Returning to Torn from Canada":"正从加拿大返回","Returning to Torn from Hawaii":"正从夏威夷返回","Returning to Torn from United Kingdom":"正从英国返回","Returning to Torn from Argentina":"正从阿根廷返回","Returning to Torn from Switzerland":"正从瑞士返回","Returning to Torn from Japan":"正从日本返回","Returning to Torn from China":"正从中国返回","Returning to Torn from UAE":"正从 UAE 返回","Returning to Torn from South Africa":"正从南非返回","In Mexico":"在墨西哥","In Cayman Islands":"在开曼群岛","In Canada":"在加拿大","In Hawaii":"在夏威夷","In United Kingdom":"在英国","In United Argentina":"在阿根廷","In United Switzerland":"在瑞士","In United Japan":"在日本","In United China":"在中国","In United UAE":"在 UAE","In South Africa":"在南非"},Le={"General Information":"基本信息","Property Information":"房产信息","Battle Stats":"战斗能力 (BS)","Working Stats":"工作能力 (WS)","Equipped Armor":"已装防具","Equipped Weapons":"已装武器","Skill Levels":"技能等级","Latest Messages":"近期信息","Job Information":"工作信息","Latest Events":"近期通知","Latest Attacks":"近期攻击","Faction Information":"帮派信息","Criminal Record":"犯罪记录","Personal Perks":"个人加成",Property:"房产",Cost:"花费",Fees:"开销费用",Job:"工作",Company:"公司","Days in company":"在公司的天数",Type:"公司类型",Position:"职位",Income:"公司收入","Job points":"工作点数",Rating:"星级",Faction:"帮派","Days in faction":"在帮派的天数",Respect:"面子",Members:"成员","Illegal products":"非法产品",Theft:"盗窃","Auto theft":"汽车盗窃","Drug deals":"非法药品交易","Computer crimes":"计算机犯罪",Murder:"谋杀","Fraud crimes":"诈骗犯罪 (Fraud crimes)",Other:"其他犯罪",Total:"总计",Name:"名字",Money:"现金",Points:"PT",Level:"等级",Rank:"阶级",Life:"血量",Age:"年龄","Marital status":"婚姻状态",Networth:"身价",Strength:"力量 STR",Defense:"防御 DEF",Speed:"速度 SPD",Dexterity:"闪避 DEX","Hunting skill":"狩猎技能","Racing skill":"赛车技能","Manual labor":"体力 MAN",Intelligence:"智力 INT",Endurance:"耐心 END"},Ae={mugged:"打劫了 ",attached:"攻击了 ",arrested:"逮捕了 ",hospitalized:"强制住院 ",but:"但是",Someone:"有人",lost:"失败了"},se={"front page":"头版",archive:"归档","job listing":"工作",properties:"房产",freebies:"壁纸","classified ads":"广告",personals:"交友",bounties:"悬赏",comics:"漫画",chronicles:"纪事档案馆","TCSE Market Index":"TCSE 股票指数","Weekly bazaars":"每周小店",LOTTERY:"幸运彩票",BOUNTIES:"精选悬赏","TC PERSONALS":"托恩交友","Why not visit our sponsor?":"何不看下赞助广告?","View all":"查看所有","Advertise here":"在此刊登广告","Submit your own comic and earn 250 points!":"提交你创作的漫画赚取250PT!","Welcome to personal page! Who are you seeking?":"欢迎来到交友页面!你想找谁?","Search or put up your own ad!":"搜索或刊登你自己的广告!","Put up your own personal advertisement":"发布你自己的交友广告","Go to an interview to see if you can get the job, or check out one of the companies that take your fancy, someone might give you the chance of being their employee?":"参加面试,看看你是否能得到这份工作?或者去看看那些让你心动的公司,有人可能会提供你成为他们的员工的机会?","To claim the rewards, please click claim and hospitalize the person.":"要获得悬赏奖励,请点击领取,并将其强制住院。","Put a bounty on someone":"下悬赏给某人",REWARD:"奖励",TARGET:"目标",Target:"目标",LVL:"等级","Level:":"等级: ",LISTER:"悬赏人","Listed by:":"悬赏人: ",REASON:"原因",Reason:"原因","Reason:":"原因: ",QTY:"数量","Qty:":"数量: ",STATUS:"状态","Status:":"状态: ",CLAIM:"领取",Claim:"领取","Reward per hospitalization":"每次强制住院的奖励","(optional)":"(可选)","30 char":"30 字符","I would like to make my listing anonymous (+50% fee)":"我想匿名悬赏(+50%费用)","Would you like to place a bounty on someone? You c":"想悬赏某人吗?在任何时候,你最多可以有10个有效的悬赏,任何无人认领的悬赏将在7天后过期且不退款。","Bounty rewards:":"悬赏奖励:","Listing fee:":"悬赏费:","Anonymity fee:":"匿名费:","Total cost to pay now:":"总计需支付:","Are you sure you wish to place a bounty of":"确定要下1次金额为","Are you sure you wish to place":"确定要下",of:"金额为",on:"的悬赏给",Yes:"是的",No:"不了",PLACE:"投放",Cancel:"取消",Hospital:"住院",Traveling:"旅行中",None:"无","A total of {$} listings were found.":"总共发现了 {$} 个悬赏"},le={Shack:"棚屋",Trailer:"拖车",Apartment:"公寓","Semi - Detached":"半独立式住宅","Semi-Detached House":"半独立式住宅","Semi Detached house":"半独立式住宅","Detached House":"独立式住宅","Beach House":"海滩小屋",Chalet:"小别墅",Villa:"别墅",Penthouse:"顶层公寓",Mansion:"豪宅",Ranch:"山庄",Palace:"宫殿",Castle:"城堡","Private Island":"私人岛屿 (PI)",Owner:"所有人","Owner:":"所有人:",Happiness:"快乐值","Happiness:":"快乐值:",Cost:"花费","Cost:":"花费:","Cost per Day":"平均日花费","Rental Period":"租期","Rental period:":"租期:",Rent:"租赁",Info:"信息",Buy:"购买","Property:":"房屋:",Modifications:"改造设施","Upkeep:":"维护费:","Staff:":"雇员费用:","Leased to":"租给了 ","Owned by your spouse":"为你的配偶所有","Owned by you":"为你所有","All Properties":"所有房产","Your Properties":"你的房产","Spouse's Properties":"配偶的房产","Spouse's":"配偶的",All:"所有",Yours:"你的","Customize this property":"自定义该房产",Travel:"起飞","Kick your spouse out of this property":"把你的配偶赶出该房产","Pay upkeep":"支付维护费","Move into this property":"搬进该房产","Sell this property":"出售该房产","Lease this property":"出租该房产","Give this property to someone":"赠送该房产给某人","Pay bills":"支付账单","Recent upkeep payments":"最近的维护费用"},Me={"Remaining Flight Time -":"剩余时间 - ","Torn to London.":"正在飞往英国伦敦 (London)。","London to Torn.":"正从英国伦敦 (London) 回城。","Torn to Zurich.":"正在飞往瑞士苏黎世 (Zurich)。","Zurich to Torn.":"正从瑞士苏黎世 (Zurich) 回城。","Torn to Honolulu.":"正在飞往夏威夷檀香山 (Honolulu)。","Honolulu to Torn.":"正从夏威夷檀香山 (Honolulu) 回城。","Torn to Buenos Aires.":"正在飞往阿根廷布宜诺斯艾利斯 (Buenos Aires)。","Buenos Aires to Torn.":"正从阿根廷布宜诺斯艾利斯 (Buenos Aires) 回城。"},_e={"According to the Economist Intelligence Unit's Quality of Life Index, Switzerland is the second best place in the world to be born, after Denmark. Torn ranked 224th, despite there being only 194 recognised nations in the world.":"根据经济学人信息部提供的生活质量指数,瑞士是世界上第二个最适合出生的地方,仅次于丹麦。尽管世界上只有194个公认的国家,但托恩却排名第224位。","The opportunities for employment in Torn are wide and varied, from jobs in the zoo and the meat warehouse through to fantastic openings at the strip club - a description rarely used to refer to those who work there.":"托恩的就业机会广泛而多样,从动物园和肉类仓库的工作,到脱衣舞俱乐部的奇妙开场--这是一个很少用来形容在那里工作的人的描述。","One of the main requirements for a wedding to take place in Torn is the procurement of a ring. You may either purchase one from the Jewellery Store, or you can choose the more romantic option of stealing one, which requires far more effort if you think about it.":"在托恩举行婚礼的主要要求之一就是购买一枚戒指。你可以从珠宝店购买,也可以选择在偷窃戒指中选择一种很浪漫的方式,但是你冷静下来想想的话,这也是需要付出更大代价的。","Despite having no discernible court system Torn still employs several thousand people within its Judicial Services department. Nobody knows what the hell these people do all day, but if we had to guess, we'd say Solitaire.":"尽管没有明显的法院系统,托恩仍然在其司法服务部门雇用了几千人。没有人知道这些人整天都在做什么,但如果我们必须猜测,我们会说是接龙。","At one point a Dual Wield Melee course was available at Torn City College for a fee of $50,000,000, but this was discontinued when Torn's citizens realized they were effectively paying to learn how to hold two things at once.":"曾经托恩城市学院开设了双持近战课程,收费$50,000,000。当市民意识到他们其实是在花钱学习怎么同时拿着两个东西的时侯,这个课程正好结课了。"},de={Map:"地图","Quick Links":"快速链接","Key of Symbols":"标志建筑",Financial:"金融",Administrative:"行政","inactive-mode1":"地图上只显示你的帮派的和临近的地盘。","inactive-mode2":"启用【全地盘视图】将下载完整地图,大约2.75mb。","active-mode":"【全地盘视图】已启用。",ADMINISTRATIVE:"行政","City Hall":"市政厅",Hospital:"医院",Jail:"监狱","Visitor Center":"WIKI",Staff:"Torn City 员工",Committee:"委员会","Community Center":"社区中心","Chronicle Archives":"纪事档案馆",Bank:"银行","Stock Exchange":"股票交易所","Item Market":"交易市场","Sweet Shop":"糖果店","Msg Inc":"广告公司","Donator House":"捐赠者中心","Big Al's Gun Shop":"大艾尔枪械","Cyber Force":"赛博军团",Church:"教堂",Education:"教育","Travel Agency":"旅行社","Auction House":"拍卖行","Points Building":"PT 商店","Points Market":"PT 市场",Docks:"码头车行","Estate Agents":"地产中介","Jewelry Store":"珠宝店","Pawn Shop":"PT 当铺","Post Office":"邮局","Super Store":"电器商店","TC Clothing":"TC 服装店","Token Shop":"Token 商店",Casino:"赌场",Dump:"垃圾场",Missions:"任务","Loan Shark":"鲨客借贷","Race Track":"赛车场","City Center":"城市中心","East Side":"东部地区","West Side":"西部地区","North Side":"北部地区","Red-Light":"红灯区",Residential:"住宅区","Sort by:":"分类排序方式:",Area:"地区",Type:"类型",Name:"名称",Popularity:"人数",FINANCIAL:"金融",LEISURE:"休闲",Leisure:"休闲",MISC:"杂项",Miscellaneous:"杂项","REAL ESTATE":"房地产","Real Estate":"房地产",SHOPPING:"购物",Shopping:"购物","Nikeh Sports":"耐克哈运动专卖","Bits 'n' Bobs":"胖鲍勃的杂货店"},ce={Strength:"力量 STR",Defense:"防御 DEF",Speed:"速度 SPD",Dexterity:"闪避 DEX",STR:"力量",DEF:"防御",SPD:"速度",DEX:"闪避",TRAIN:"锻炼","Welcome to":"欢迎来到 ","!":"!","You walk into the gym and begin browsing the exercises available.":"你走进健身房,开始浏览可用的健身器材。","You have":"你有","available to use.":"可用于锻炼。",energy:"能量","Estimated Energy progress:":"(TornTools) 预估健身房解锁进程:","What would you like to train today?":"今天想练点什么?","You do not have enough energy left":"你没有足够的剩余能量?","BACK TO GYM":"返回健身房","ACTIVATE MEMBERSHIP":"激活会员身份","BUY MEMBERSHIP":"购买健身房会员",Cancel:"返回","Chance of hitting opponent":"击中对手的概率","Chance of hitting":"击中对手的概率","Ability to withstand damage":"承受伤害的能力","Withstand damage":"承受伤害的能力","Damage you make on impact":"攻击造成的伤害","Damage on impact":"攻击造成的伤害","Ability to evade an attack":"躲避攻击的能力","energy per train":" 能量/次","Class:":"健身房类别:","Membership cost:":"会员价格: ","Energy usage:":"能量消耗: ",Heavyweight:"重量级","Strength Gains":"力量增益","Speed Gains":"速度增益","Defense Gains":"防御增益","Dexterity Gains":"闪避增益",Boxing:"拳击","Are you sure you would like to buy this membership?":"确定购买这个健身房会员吗?","Not Available":"不可用",Unavailable:"不可用",Middleweight:"中量级",Lightweight:"轻量级","5 per train":"5 能量/次","10 per train":"10 能量/次","50 per train":"50 能量/次","Bicep Curls":"二头肌弯举",Cycling:"自行车",Yoga:"瑜伽","Press-ups":"俯卧撑",Running:"跑步",Karate:"空手道",Catch:"","Leg Curls":"腿部弯举","Muay Thai":"泰拳","Woody's Slalom Sprint":"无敌回旋冲刺",Frisbee:"飞盘","Sit-ups":"仰卧起坐",Wrestling:"摔跤","Lateral Raises":"侧抬","Interval Training":"间歇训练",Judo:"柔道","Balance Board":"平衡板",Planking:"长板","Kick Boxing":"跆拳道",Zumba:"尊巴运动","Chin-ups":"引体向上",Jujitsu:"柔道",Pilates:"普拉提","Tricep-dips":"三头肌下蹲","Sprint Training":"短跑训练",Taekwondo:"跆拳道",Squash:"壁球",Squats:"深蹲","Explosive Kettle Bell":"",Darts:"飞镖","Chest Flys":"","Fartlek Training":"",Badminton:"羽毛球","Shoulder Shrugs":"肩部耸立",Speedball:"迅速球",Pool:"","Chest Press":"胸部按压",Skipping:"跳绳",Batting:"","Shoulder Press":"肩部推举","Viper Belt Training":"",Swimming:"游泳","Bench Press":"卧推","Agility Training Course":"","Table Tennis":"乒乓球","Suicide Running":"",Aerobics:"有氧健身操","Tricep Pulldowns":"三头肌下拉","Incline Sprinting":"",Basketball:"篮球","Weighted Chin-ups":"负重引体向上"},ue={"Premier Fitness":"首席健身","Average Joes":"平衡乔伊","Woody's Workout Club":"无敌健身","Beach Bods":"沙滩之恋","Silver Gym":"白银健身","Pour Femme":"女士健身","Davies Den":"戴维斯之家","Global Gym":"全球健身房","Knuckle Heads":"手指头","Pioneer Fitness":"先锋健身","Anabolic Anomalies":"代谢异常",Core:"主干力量","Racing Fitness":"竞速健身","Complete Cardio":"完全有氧","Legs, Bums and Tums":"底盘训练","Deep Burn":"深燃","Apollo Gym":"阿波罗健身","Gun Shop":"枪店健身","Force Training":"暴力训练","Cha Cha's":"茶茶",Atlas:"阿特拉斯健身房","Last Round":"最后一轮","The Edge":"临界点","George's":"乔治","Balboas Gym":"巴尔博斯健身房","Frontline Fitness":"前线健身","Gym 3000":"健身3000","Mr. Isoyamas":"伊索亚玛斯先生","Total Rebound":"全面反弹",Elites:"精英","The Sports Science Lab":"运动科学实验室","The Jail Gym":"监狱健身房"},pe={Biology:"生物学",Business:"商学","Combat Training":"战斗训练","Computer Science":"计算机科学","General Studies":"基础学科","Health & Fitness":"健康与健身",History:"历史学",Law:"法学",Mathematics:"数学",Psychology:"心理学","Self Defense":"自卫","Sports Science":"运动科学","Biology Modules":"生物学课程","Introduction to Biochemistry":"生物化学概论","Physiological Testing":"生理测试","You do not meet the requirements for this course. Please complete the prerequisites first.":"你不符合本课程的要求。请先学习前置课程。","Description:":"描述:","Learning outcomes:":"学习后可获得:","Prerequisites:":"前置课程:","Parameters:":"课程参数:","As the ultimate module - you will focus on maximum gym gain with the least amount of input.":"","Ability to withdraw and deliver blood":"抽取和输送血液的能力 (使用血包)",intelligence:"智力(INT)",endurance:"耐心(END)","manual labor":"体力(MAN)","[Leave this course]":"[退出课程]","You are taking the":"你正在学习","education course.":"课程","This course will be completed in":"该课程将完成于","Strength and Conditioning":"力量和体能训练","[Leave course]":"[确认退出课程]","Are you sure you want to leave the":"你确定你要退出","course?":"课程吗?","course.":"课程。","course!":"课程!","It will take":"这将需要","to complete.":"来完成。","You have started the":"你已开始学习","You are currently taking this course.":"你目前正在学习这个课程。","You have completed this course!":"你已学习过该课程!","You are currently taking an education course already. This course must be completed before you can start another.":"你已经参加了一个课程。在你开始另一个课程之前,必须先完成这个课程。","The current progress will be canceled and you'll have to start all over again.":"目前的进度将被取消,你将需要重新开始。","Sports Science Modules":"运动科学模块","Introduction to Sports Science":"运动科学概论","Are you the missing link? At the end of this course you'll know more about Neanderthal man than the Discovery Channel.":"你是缺失的那一环吗?在本课程结束时,你对尼安德特人的了解将超过探索频道的内容。","Congratulations! You have completed the":"恭喜!你已完成了","You have gained the following:":"你已经获得了以下:","upon completion":"于课程完成后",Gain:"获得",Length:"时长",Cost:"费用","Tier: 2":"级别: T2","Tier: 1":"级别: T1","Tier: 3":"级别: T3","Gain a 1% bonus to strength gains in the gym":"健身房锻炼时获得1%的力量增长增益","Bonus:":"增益:","Introduction to General Studies":"基础学科入门","Driving License":"驾照","Gain access to driving related crimes":"可进行驾驶相关的犯罪 (解锁11系列)","You'll need this to get around the city. Our crash course should give you a license without fail.":"你将需要这个来在城市中穿梭。我们的速成班应该能让你顺利拿到驾照。",Astronomy:"天文学","Mechanical Arts":"机械艺术","General Mechanics":"通用机械学","Basic English":"基础英语","Ivory Crafting":"象牙工艺","Intravenous Therapy":"静脉注射","Put that fear of needles behind you by learning how to successfully administer a blood transfusion.":"通过学习如何成功地进行输血,将对针头的恐惧抛在脑后。",Networking:"网络","Gain access to hacking crimes":"可进行黑客犯罪 (解锁18系列)","Computer Security and Defense":"计算机安全与防御","Gain a 10% increase in hacking crime success rate":"提高黑客犯罪10%的成功率"},he={"User's Name / ID":"用户名或ID",Name:"用户名",Faction:"帮派",Company:"公司",Places:"地点","Item Market":"交易市场","Forum posts":"论坛",Help:"帮助","search...":"搜索","Search users by...":"高级用户搜索",Property:"住房",Male:"男性",Female:"女性",to:"到",Condition:"条件",Married:"在已婚状态",Travelling:"在飞行中","In a faction":"在帮派中","In a company":"在公司中","In hospital":"在医院里","In jail":"在监狱里","In Federal jail":"在联邦监狱里",Level:"等级","Days old":"游戏天数",Offences:"违法行为","Last action":"上次动作",Reset:"重置",Search:"搜索","0 - 15 min":"0 - 15 分钟","15 min - 1 hour":"15 分钟 - 1 小时","1 hour - 1 day":"1 小时 - 1 天","1 day - 1 week":"1 天 - 1 周","1 week - 1 month":"1 周 - 1 月","1 month - 1 year":"1 月 - 1 年","longer than 1 year ago":"久于 1 年前",Not:"不","View Log":"查看日志","View Profile":"查看个人资料",Settings:"设置","Server:":"服务器 ","Dark Mode":"黑夜模式","News Ticker":"滚动通知","Desktop View":"桌面视图",Logout:"登出",Gender:"性别"},me={"Delete selected":" 删除已选","Save selected":" 保存已选","Check All":" 全选","Uncheck All":" 取消全选","ALL EVENTS (":"全部通知 (","All Events":"全部通知","RECEIVED (":"收到的通知 (","Received Events":"收到的通知","SAVED (":"保存的通知 (","Saved Events":"保存的通知",hospitalized:"强制住院了","and earned your":",赢得","bounty reward":"赏金","Someone hospitalized":"某人强制住院了","You pop the LSD pill into your mouth and down a glass of water. A headache is followed by nausea and vomiting. You have overdosed.":"你把 LSD 塞进嘴里,然后喝下一杯水。头痛之后是恶心和呕吐。你用药过量了(OD)。","Your application to join the company":"加入公司 ","has been declined":" 的申请已被拒绝。","has been accepted":" 的申请已被通过。","You have been given a bazaar for your 250 points. You can now sell items there.":"你收到了花费 250 PT 买来的集市。现在你可以在那里出售物品。","You have received a Stock Ticker in exchange for 25 points. Now you can access the Stock Market and start buying shares.":"你收到了花费 25 PT 买来的股票交易机。现在你可以进入股票市场并开始购买股票。","You have received a Racing License in exchange for 50 points. You can now access the Race Track in the city.":"你收到了花费 50 PT 买来的赛车执照。你现在可以进入城市的赛车场了。","You have been given a display cabinet for your 100 points. Now you can store special items there. Go to the items page to start using it.":"你收到了花费 100 PT 买来的展示柜。现在你可以在那里储存特殊物品。进入物品页面,开始使用它。","successfully revived you.":" 成功复活了你",Save:"保存",Send:"发送",SEND:"发送",Cancel:"取消","Send Event":"发送通知",Delete:"删除","failed to revive you.":" 没能复活你。","User ID:":"用户:","You have successfully referred":"你已经成功推荐了 ",". Once they have validated, they will be added to your":"。一旦他成功验证,他将被添加到你的","referral list":"推荐人列表","and you will start earning rewards from them as they level up.":"中,当他们等级提升时你会获得奖励。","You have used the reward bonus code {$} and have received a boost of +250 energy.":"你已使用奖励兑换码 {$},收到了 250 能量E。",", the director of":" (",MAN:"体力 (MAN)",END:"耐心 (END)",INT:"智力 (INT)","You took some Xanax and downed a glass of water. A headache was followed by nausea and vomiting. You overdosed.":"你吃了一些 Xanax,喝了一杯水。头痛之后是恶心和呕吐。你用药过量了(OD)。"},ge={Global:"世界",Faction:"帮派",People:"联系人",Settings:"设置",Trade:"交易",Jail:"监狱",Hospital:"医院",Company:"公司",Height:"高度",Width:"宽度","Jail & Hospital":"监狱和医院",Traveling:"海外",Competition:"活动",Private:"私聊","Room sound":"音效","Who is allowed to initiate chat with you?":"谁可以与你发起私聊?",Disabled:"关闭",Enabled:"开启","Flash notifier":"闪烁提示","Chirp 1":"啁啾声 1","Chirp 2":"啁啾声 2","Chirp 3":"啁啾声 3","Flash & sound":"闪烁和音效","Click 1":"点击音 1","Click 2":"点击音 2","Data 1":"哒嗒 1","Data 2":"哒嗒 2","Data 3":"哒嗒 3","Double 2":"","Electronic 1":"","Electronic 2":"","Future 1":"","Future 2":"","Plink 1":"","Plink 2":"","Soft beep 1":"","Soft beep 2":"",Subtle:"","Transmission 1":"","Transmission 2":"","Warble 1":"","Warble 2":"","Only people you know or have met":"只有你认识或遇到过的人","Anyone can initiate chat with you":"任何人",Recent:"最近",Friends:"好友",Blocked:"拉黑",All:"全部","Enter a name or ID to add to this list":"输入用户名或ID来添加到这个列表","This list is empty.":"这个列表是空的。"},fe={"You take a trip down to the hospital to see who's been unlucky today.":"你来了一趟医院,看看今天是谁那么倒霉","Nobody can revive you.":"现在没有玩家可以复活你","Anyone can now revive you.":"现在任何玩家都能复活你","Only those on your friends list & your faction members can now revive you.":"现在只有好友以及帮派成员可以复活你","in Hospital":"在住院","People are":"名玩家",Time:"时长",Level:"等级",Reason:"原因","Overdosed on Xanax":"吸食Xanax过量","Shot while attempting to take down a president":"在试图袭击总统时受了枪伤","Taken down by guards":"被保安击倒","Got a nasty surprise in the post.":"收到并打开了一个伤害性包裹","Dropped by Swiss Guards":"被瑞士警卫队抛下","Mauled by a guard dog":"被警卫犬袭击受伤","Collapsed after taking Ketamine":"服用Ketamine后昏倒","Collapsed after taking PCP":"服用PCP昏倒","Burned in an arson attempt":"在一次纵火案中被烧伤","Fallen ill with radiation poisoning":"因辐射中毒而病倒","Taken down by members of Aftermath":"被Aftermath的成员击倒了","Crashed his":"出车祸并撞毁了他的","Crashed her":"出车祸并撞毁了她的","Taken down by members of The Black Hand":"被黑手党成员拿下","Got derailed":"火车脱轨致伤","Third degree burns on back from explosion":"爆炸造成的背部三度烧伤",general:"被玩家 ","Hit in the head by flying metal":"被飞来的金属击中头部","Shot themselves in the foot":"打了自己腿一枪","Hospitalized by someone":"被某人强制住院","Attacked by someone":"被某人攻击","Mugged by someone":"被某人抢劫","Gunned down by FBI agents":"被联邦调查局特工枪击","Taken down by a SWAT marksman":"被一名特警射手击倒",Exploded:"被炸伤","Fell from a two story building while on a hitman mission":"在执行杀手任务时从两层的建筑坠落","Suffering from an acute hemolytic transfusion reaction":"患上了急性溶血性输血反应疾病","Choked out by Leslie":"被Leslie掐喉","Shot in the back":"背部中枪","Lost to":"输给了 ","Suspect of a presidential assassination":"刺杀总统的嫌疑犯"},ye={"Honors (":"荣誉 (","Medals (":"勋章 (","Merits (":"天赋加点 (","As you progress, you will unlock new honors. To add an Honor to your name, click the one you want.":"新的荣誉条将随着你的游戏进程解锁。请点击想要在你的名字背景上显示的荣誉条。","As you progress, you will unlock new medals. Your medals will be pinned on your profile to show your\nprestige.":"新的勋章将随着你的游戏进程解锁。勋章将显示在个人资料上。","You have":"你有 ",merits:"天赋点",merit:"天赋点",medals:"勋章",honors:"荣誉","Available Merits:":"可用天赋点:","Merits Used:":"已用天赋点:","to spend on anything you would like on\nthe list below.\nYou've earned these merits by attaining":" 可用于升级以下列表中的任意天赋。这些天赋点是通过 ",and:" 和 ",".\nThe enhancements are incremental and will go up in cost the more you upgrade them.\nFor example, if you pay one merit to upgrade an improvement,\nnext time you want to upgrade it you will need to pay two merits, after that three etc.":" 获得的。天赋升级的花费是递增的,等级越高升级需要的天赋点就越高。如果花费1天赋点来升级一个天赋,下次就需要花费2天赋点升级该天赋,之后是三个等依次类推。","Awards you are about to unlock":"即将解锁的勋章",Upgrade:"升级",Progress:"升级进程","Expand All":"展开所有",Latest:"近期获得",Defaults:"默认荣誉条",Attacking:"攻击",Camo:"迷彩",Weapons:"武器",Education:"教育",Crimes:"犯罪",Drugs:"药章","Jail & Hospital":"监狱与医院",Travel:"旅行",Gym:"锻炼",Level:"等级",Competitions:"节日活动",Money:"金钱",Items:"物品",Commitment:"足迹",Casino:"赌场",Missions:"任务",Misc:"杂项",General:"一般",Rank:"阶级",Networth:"身价",SPEND:"升级",CHANGE:"更改",Cancel:"取消","Are you sure you want to change your name background to this Honor?":"确定修改你的名字背景为这个荣誉吗?","Nerve Bar":"犯罪N上限","Critical Hit Rate":"暴击率","Life Points":"血量","Crime Experience":"犯罪经验","Education Length":"教育时长",Awareness:"感知能力","Bank Interest":"银行利润","Masterful Looting":"掠夺大师",Stealth:"隐身",Hospitalizing:"送医时长","Addiction Mitigation":"毒瘾缓解","Employee Effectiveness":"员工效率",Brawn:"臂力",Protection:"保护",Sharpness:"敏锐",Evasion:"回避","Heavy Artillery Mastery":"重炮精通","Machine Gun Mastery":"机枪精通","Rifle Mastery":"步枪精通","SMG Mastery":"冲锋枪精通","Shotgun Mastery":"霰弹枪精通","Pistol Mastery":"手枪精通","Club Mastery":"冲击武器精通(Clubbing)","Piercing Mastery":"穿刺武器精通(Piercing)","Slashing Mastery":"切割武器精通(Slashing)","Mechanical Mastery":"机械武器精通","Temporary Mastery":"投掷物精通","Increases maximum nerve bar by 1 point":"增加 1 点犯罪N上限","Increases critical hit rate by 0.5%":"提高 0.5% 暴击率","Increases maximum life by 5%":"提高 5% 血量上限","Increases crime success rate":"提高犯罪成功率","Decreases education course length by 2%":"降低教育课程 2% 时长","Increases frequency of items found in the city":"提高城市中发现物品的频率","Increases bank interest by 5%":"提高 5% 银行利息","Increases money gained from mugging by 5%":"提高 5% 抢劫获得的金钱","Increases ability to stealth attacks":"增加攻击后匿名的概率","Increases hospitalization time by 5%":"提高被强制送往医院玩家 5% 的住院时长","Reduces the negative effects of addiction by 2%":"降低 2% 毒瘾负面效果","Increases employee effectiveness by +1":"增加 +1 员工效率","Gives a passive bonus to strength of 3%":"获得力量 3% 被动增益","Gives a passive bonus to defense of 3%":"获得防御 3% 被动增益","Gives a passive bonus to speed of 3%":"获得速度 3% 被动增益","Gives a passive bonus to dexterity of 3%":"获得闪避 3% 被动增益","Increases proficiency with heavy artillery":"提高重炮精通","Increases proficiency with machine guns":"提高机枪精通","Increases proficiency with rifles":"提高步枪精通","Increases proficiency with submachine guns":"提高冲锋枪精通","Increases proficiency with shotguns":"提高霰弹枪精通","Increases proficiency with pistols":"提高手枪精通","Increases proficiency with clubbing weapons":"提高冲击武器精通","Increases proficiency with piercing weapons":"提高穿刺武器精通","Increases proficiency with slashing weapons":"提高切割武器精通","Increases proficiency with mechanical devices":"提高切割武器精通","Increases proficiency with temporary weapons":"提高投掷物精通","Increases damage and accuracy of heavy artillery weapons":"提高重炮伤害与命中","Increases damage and accuracy of machine gun weapons":"提高机枪伤害与命中","Increases damage and accuracy of rifle weapons":"提高步枪伤害与命中","Increases damage and accuracy of submachine gun weapons":"提高冲锋枪伤害与命中","Increases damage and accuracy of shotgun weapons":"提高霰弹枪伤害与命中","Increases damage and accuracy of pistol weapons":"提高手枪伤害与命中","Increases damage and accuracy of axe & clubbing weapons":"提高斧头和冲击武器的伤害与命中","Increases damage and accuracy of piercing weapons":"提高穿刺武器的伤害与命中","Increases damage and accuracy of slashing weapons":"提高切割武器的伤害与命中","Increases damage and accuracy of mechanical devices":"提高机械武器的伤害与命中","Increases damage and accuracy of temporary weapons":"提高临时武器的伤害与命中","Are you sure you want to spend":"确定要花费 ",on:"在","upgrade?":"升级上吗?","You have upgraded this merit upgrade to the maximum already.":"你已将该升级升满。","This upgrade will give you one extra nerve point on your maximum nerve.":"该升级会增加 1 犯罪N上限。","This upgrade will give you an extra 0.5% chance at getting a critical hit during attacks. Critical hits are blows made on an opponent's head, throat or heart during an attack.":"这个升级将使你在攻击时有额外的 0.5% 几率获得暴击。暴击是指在攻击过程中击中对手的头部、喉咙或心脏。","This upgrade will increase your maximum life by 5%. This upgrade works great with your defense and might keep you going a little longer during attacks.":"这个升级将使你的最大生命值增加 5%。这个升级对你的战斗有很大作用,可能会让你在攻击中坚持更久。","This upgrade will give you a continuous boost of 3% (per upgrade) to the effect of your crime experience resulting in increased success rates.":"这项升级将使你在每次成功犯罪时获得的经验持续提升 3% (每次升级),从而提高犯罪成功率。","This upgrade will decrease the amount of days you have to wait to complete an education course. This upgrade will start working on the next education course you start.":"这项升级将减少你完成教育课程所需的等待天数。这项升级将在你的下一个教育课程中生效。","This upgrade will increase the amount of items you can find in the city, however it will not necessarily increase their quality.":"该升级会增加你在城市中能找到的物品数量,但不一定能提高它们的质量。","This upgrade will give you an increase of 5% to your investment bank interest. This upgrade will start working on your next investment.":"这一升级将使你的银行利息增加 5%。这项升级将在下一次银行投资中生效。","This upgrade will give you a 5% boost in money that you mug from opponents. Perfect for experienced muggers, looking for some extra cash.":"这个升级将使你从对手那里抢来的钱增加5%。非常适合有经验的抢劫者,赚些额外的钱钱。","This upgrade will make you more likely to stay stealthed when beating an opponent by increasing your stealth level by 0.2 per increment. When you're stealthed, your name will be listed as 'Someone' so your enemy will not know who hit them.":"这个升级将提升 0.2 隐身级别,使你在击败对手时更有可能保持隐身状态。当你处于隐身状态时,你的名字将被列为“某人”,所以你的敌人不会知道是谁攻击了他们。","This upgrade will increase the amount of time you hospitalize someone by 5%. Make sure they feel the burn with 50% extra hospital time when fully upgraded.":"这项升级将使你增加 5% 被强制住院玩家的住院时间。完全升级后,确保他们感受到50%的额外住院时间。","This upgrade will reduce the negative effects addiction causes towards your battle stats, employee effectiveness, and education / gym access.":"这一升级将减少毒瘾对你的战斗能力、员工效率、教育和访问健身房的负面影响。","This upgrade will provide an additional minor bonus to employee effectiveness, helping you to earn more money for the company you work for.":"这一升级将为员工的工作效率提供额外的轻量加成,帮助你为你的公司赚更多钱。","This upgrade will give you a passive bonus to your strength stat. This upgrade will not increase your actual viewable stat number, but you will notice the effects during attacks.":"这个升级将给你带来力量被动加成。这个升级不会增加实际可查看的战力,但你会在攻击时注意到其效果。","This upgrade will give you a passive bonus to your defense stat. This upgrade will not increase your actual viewable stat number, but you will notice the effects during attacks.":"这个升级将给你带来防御被动加成。这个升级不会增加实际可查看的战力,但你会在攻击时注意到其效果。","This upgrade will give you a passive bonus to your speed stat. This upgrade will not increase your actual viewable stat number, but you will notice the effects during attacks.":"这个升级将给你带来速度被动加成。这个升级不会增加实际可查看的战力,但你会在攻击时注意到其效果。","This upgrade will give you a passive bonus to your dexterity stat. This upgrade will not increase your actual viewable stat number, but you will notice the effects during attacks.":"这个升级将给你带来闪避被动加成。这个升级不会增加实际可查看的战力,但你会在攻击时注意到其效果。","This upgrade will improve the damage and accuracy of these weapons when you use them in attacks. Heavy Artillery weapons include: Flamethrower, RPG Launcher, and Type 98 Anti Tank.":"这种升级将提高使用这些武器进行攻击时的伤害和命中。重炮包括:火焰喷射器 (Flamethrower)、RPG发射器 (RPG Launcher)、98式反坦克 (Type 98 Anti Tank)。","This upgrade will improve the damage and accuracy of these weapons when you use them in attacks. Machine Gun weapons include: M249 SAW, Rheinmetall MG 3, and Snow Cannon.":"这种升级将提高使用这些武器进行攻击时的伤害和命中。机枪包括:M249 SAW、Rheinmetall MG 3、Snow Cannon。","This upgrade will improve the damage and accuracy of these weapons when you use them in attacks. Rifle weapons include: AK-47, Enfield SA-80, and ArmaLite M-15A4.":"这种升级将提高使用这些武器进行攻击时的伤害和命中。步枪包括:AK-47、Enfield SA-80、ArmaLite M-15A4。","This upgrade will improve the damage and accuracy of these weapons when you use them in attacks. SMG weapons include: P90, MP5 Navy and 9mm Uzi.":"这种升级将提高使用这些武器进行攻击时的伤害和命中。冲锋枪包括:P90、MP5 Navy、9mm Uzi。","This upgrade will improve the damage and accuracy of these weapons when you use them in attacks. Shotgun weapons include: Jackhammer, Mag 7, and Ithaca 37.":"这种升级将提高使用这些武器进行攻击时的伤害和命中。霰弹枪包括:Jackhammer、Mag 7、Ithaca 37。","This upgrade will improve the damage and accuracy of these weapons when you use them in attacks. Pistol weapons include: Glock 17, Desert Eagle, and Flare Gun.":"这种升级将提高使用这些武器进行攻击时的伤害和命中。手枪包括:格洛克 (Glock 17)、沙漠之鹰 (Desert Eagle)、Flare Gun。","This upgrade will improve the damage and accuracy of these weapons when you use them in attacks. Clubbing weapons include: Baseball Bat, Frying Pan, and Axe (Melee weapons that usually just cause a heavy blow).":"这种升级将提高使用这些武器进行攻击时的伤害和命中。冲击武器包括:棒球棒 (Baseball Bat)、平底锅 (Frying Pan)、斧头 (Axe) (造成沉重冲击的近战武器)。","This upgrade will improve the damage and accuracy of these weapons when you use them in attacks. Piercing weapons include: Pen Knife and Dagger (Melee weapons that you stab with to pierce the skin).":"这种升级将提高使用这些武器进行攻击时的伤害和命中。穿刺武器包括:折叠刀 (Pen Knife)、匕首 (Dagger) (刺穿皮肤的近战武器)。","This upgrade will improve the damage and accuracy of these weapons when you use them in attacks. Slashing weapons include: Samurai Sword and Scimitar (Swords and other weapons that you would slash with).":"这种升级将提高使用这些武器进行攻击时的伤害和命中。切割武器包括:武士刀 (Samurai Sword)、弯刀 (Scimitar)(用来劈砍的剑或其他近战武器)。","This upgrade will improve the damage and accuracy of these weapons when you use them in attacks. Mechanical devices include: Chainsaw and Taser (Weapons with an electronic or engineered system).":"这种升级将提高使用这些武器进行攻击时的伤害和命中。机械武器包括:电锯 (Chainsaw)、电击枪 (Taser) (带有电子或工程系统的近战武器)。","This upgrade will improve the damage and accuracy of these weapons when you use them in attacks. Temporary weapons include: Grenade, Ninja Star, and Molotov Cocktail (Temporary weapons that cause damage).":"这种升级将提高使用这些武器进行攻击时的伤害和命中。临时武器包括:手雷 (Grenade)、忍者飞镖 (Ninja Star)、鸡尾酒 (Molotov Cocktail) (造成伤害的临时武器)。","Go to hospital 250 times (Very Common)":"住院 250 次 (非常常见)"},x={"blackmail someone":"敲诈某人","blackmailed someone":"敲诈某人","kidnap someone":"绑架某人","kidnapped someone":"绑架某人","make a bomb threat":"炸弹袭击","made a bomb threat":"炸弹袭击"},be={"User Information":"用户信息",Actions:"动作",Status:"状态",Medals:"奖章","Basic Information":"基本信息","Personal Information":"个人信息","Competition Status":"活动状态",Level:"等级",Rank:"阶级",Age:"年龄","What would you like to do?":"你想做什么?","Give some money to {$}":"给予 {$} 一些钱","Initiate a chat with {$}":"与 {$} 发起聊天","Initiate a trade with {$}":"与 {$} 发起交易","Send {$} a message":"给 {$} 发送消息","Add {$} to your enemy list":"添加 {$} 到你的敌人列表","Add {$} to your friend list":"添加 {$} 到你的朋友列表","View {$}'s personal statistics":"查看 {$} 的个人统计数据","{$} is currently traveling":"{$} 目前正在飞行","{$} has no items in their bazaar":"{$} 的集市上没有物品","View {$}'s bazaar":"{$} 的集市上没有物品","{$} is currently in hospital":"{$} 在住院中","Place a bounty on {$}":"悬赏 {$}","Report {$} to staff":"向 Torn City 工作人员举报 {$}","Attack {$}":"攻击 {$}","{$} has not been online in the last 6 hours":"{$} 在过去6小时内没有上线","{$} is on your friend list":"{$} 在你的朋友列表中","{$} is on your enemy list":"{$} 在你的敌人列表中","You do not have enough energy to attack {$}":"你没有足够的能量E来攻击 {$}",Description:"描述","{$} characters left":"剩余 {$} 可用字符",ADD:"添加",ENEMY:"敌人",FRIEND:"朋友",Cancel:"取消","You are currently traveling":"目前你还在飞行中","You are not in Torn":"你不在城内","You don't own a Laptop!":"你没有笔记本电脑","View {$}'s display cabinet":"查看 {$} 的展示柜",Name:"名称",Role:"角色",Faction:"帮派",Job:"工作",Life:"生命值",Property:"房产","Marital status":"婚姻状态",Awards:"奖章",Friends:"朋友",Enemies:"敌人","Forum posts":"论坛帖子","Last action":"上次动作",Civilian:"平民",Committee:"委员会成员",Admin:"管理员",Tester:"测试人员",Officer:"职员",Moderator:"",Helper:"","(With":"(与",")":"一起)",Spouse:"配偶","Married to":"已婚",Now:"现在","N/A":"无",None:"无",Single:"单身","Real name":"真实姓名",Country:"国家",City:"城市",Grocer:"杂货",Education:"教育",Casino:"赌场",Medical:"医疗",Army:"军队",Law:"法律","There is no active competition":"现在没有活动","doesn't wish to share":"不希望公开"},we={"Some players may be out to part you from your money, using any means necessary. Use the secure trade feature if you want to protect an exchange and check the contents very carefully.":"有些玩家可能会利用任何必要的手段来骗走你的钱。如果你想保护交易,请使用更安全的“交易”功能,并仔细检查交易的内容。","Do not fall for scams!":"切勿上当受骗!","For more info please visit here.":"欲了解更多信息,请点击访问。",SEND:"发送",Cancel:"取消","Message (optional, up to 200 characters)":"附带信息 (可选,最多200字符)","Click here to add the maximum amount, or use shortcuts like <br /> 5k, 1.5m, max, half, quarter, 1/2, 1/3, 1/4, 25%":"点此添加最大额度,或输入快捷选项如 <br /> 5k, 1.5m, max, half, quarter, 1/2, 1/3, 1/4, 25%"},ve={Stock:"股票",Name:"名称",Price:"单价","1h":"1时","24h":"24时","7d":"7天","1m":"1月","1y":"1年",Live:"实时",live:"实时","Last hour":"过去一时","Last day":"过去一天","Last week":"过去一周","Last month":"过去一月","Last year":"过去一年","All time":"有史以来",Owned:"持有",Dividend:"分红","West Side University":"西城大学","Insured On Us":"托恩人保","Torn City Investments":"Torn City 投资","Torn & Shanghai Banking":"Torn 和上海银行","Symbiotic Ltd.":"共生公司","Crude & Co":"原油公司","Feathery Hotels Group":"飞亚达酒店集团","Mc Smoogle Corp":"麦斯莫格公司","Wind Lines Travel":"风线旅行","Performance Ribaldry":"低俗演绎","Syscore MFG":"系统核心 MFG","Evil Ducks Candy Corp":"邪恶鸭糖果公司","Munster Beverage Corp.":"明斯特饮料公司","Torn City Clothing":"Torn City 服饰","Lucky Shots Casino":"幸运赌场","TC Media Productions":"TC 媒体制作公司","International School TC":"TC 国际学校","Big Al's Gun Shop":"大艾尔枪店","Torn City Health Service":"TC 健康服务中心","Alcoholics Synonymous":"酒瘾相似","Torn City Motors":"TC 汽车","Legal Authorities Group":"权威法律集团","The Torn City Times":"托恩时代",Grain:"谷物","Eaglewood Mercenary":"鹰林佣兵","Home Retail Group":"家庭零售集团","Empty Lunchbox Traders":"空饭盒贸易商","Messaging Inc.":"信息公司","TC Music Industries":"TC 音乐工业公司","I Industries Ltd.":"一号工业有限公司","Tell Group Plc.":"讲述集团",Yazoo:"","1x Random Property":"1个随机房产","10% Bank Interest Bonus":"10% 银行利润增益","a 10% Bank Interest Bonus":"10% 银行利润增益","100 Energy":"100 能量E","Private Jet Access":"解锁私人飞机","1000 Happiness":"1000 快乐","Advanced Firewall":"高级防火墙","an Advanced Firewall":"高级防火墙","Company Sales Boost":"提升公司销量","a Company Sales Boost":"提升公司销量","Free Education Courses":"免费教育课程","a Free Education Courses":"免费教育课程","10% Racing Skill Boost":"提升 10% 赛车技能增长","10% Home Upgrade Discount":"10% 房屋设施费用折扣","Free Classified Advertising":"免费分类广告","50% Coding Time Reduction":"缩减 50% 编程时间","Company Advertising Boost":"公司广告增益","a Company Advertising Boost":"公司广告增益","10% Course Time Reduction":"缩减 10% 教育时间","a 10% Education Course Time Reduction":"缩减 10% 教育时间","Free Banner Advertising":"免费横幅广告","a Free Banner Advertising":"免费横幅广告",Inactive:"未激活","Ready for collection":"分红可领取","Benefit active":"分红已激活",provides:"(满足分红条件时)将提供",Every:"在每","when holding at least":",当你至少持有","shares currently valued at":"股时,目前总价:",days:"日后",Buy:"再购买","more shares for":"股,目前总价","to unlock the":"来解锁",increment:"增益",After:"在",in:"在","You currently have":"你已获得",benefit:"增益","You cannot buy shares while traveling":"你在旅行时无法购买","You cannot sell shares while traveling":"你在旅行时无法出售","How many shares would you like to":"多少股你想","You will be able to collect":"你将可以领取",buy:"买入",sell:"卖出","will buy you":"可以买",shares:"股",share:"股",Your:"你持有的","shares are worth":"股目前值","Do you want to":"你想","shares at":"股","each?":"单价?","For a total of":"总价:",Back:"返回","Confirm Transaction":"确认交易","Price updating...":"价格更新中","after the":"已扣除","fee of":"手续费:","You have":"你已",sold:"卖出",bought:"购入",each:"单价","Buy date":"购入日期",Shares:"购入数量",Value:"购入总价",Bought:"购入单价",Current:"目前单价",Change:"变化",Profit:"利润",View:"查看",Sell:"售出",Merge:"合并","Current Price:":"当前股价:","change:":"变化:","start:":"开始:","end:":"结束:","high:":"最高:","low:":"最低:"},xe={Primary:"主手",Secondary:"副手",Melee:"近战",Temporary:"投掷",Defensive:"防御",Armor:"防御",Clothing:"衣物",Jewelry:"珠宝","Your items -":"你的物品 - ",All:"全部",Medical:"医疗",Drugs:"药物","Energy Drink":"能量饮料",Alcohol:"酒类",Candy:"糖果",Boosters:"增益道具",Enhancer:"增幅器","Supply Packs":"补给包",Electronics:"电器",Flowers:"花",Plushies:"玩偶",Cars:"车辆",Viruses:"病毒",Miscellaneous:"杂项",Artifacts:"文物",Books:"书",Special:"特殊",Collectibles:"可收集物",Donate:"捐献",Drink:"喝下",Eat:"吃下",Enlist:"车辆注册",Equip:"装备",Listen:"听",Open:"打开",Propose:"求婚",Return:"退还",Sell:"卖出",Send:"发送",Take:"使用",Trash:"丢弃","Turn on":"开启",Unequip:"脱下",Use:"使用","Donate this Item":"捐献该物品","Equip this Item":"装备该物品","Sell this Item":"卖出该物品","Send this Item":"发送该物品","Trash this Item":"丢弃该物品","Unequip this Item":"脱下该物品","Return to Faction":"退还帮派","Buy:":"买价:","Sell:":"卖价:","Value:":"价值:","Accuracy:":"命中:","Damage:":"伤害:","Circ:":"流通:","Quality:":"品质:","Stealth:":"隐匿:","Caliber:":"口径:","Ammo:":"弹药:","Bonus:":"额外:","Masked:":"面具:","Coverage:":"覆盖率:","Armor:":"护甲:","Top Speed:":"最高速度:","Dirt:":"泥路:","Tarmac:":"柏油路:","Acceleration:":"加速:","Safety:":"安全:","Braking:":"制动:","Handling:":"操控:","Rate of Fire:":"开火率:","Read:":"已读:"},ke={"Ammunition Pack":"弹药包","Clothing Cache":"服饰箱","First Aid Kit":"急救包","Small First Aid Kit":"小型急救包","Empty Blood Bag":"空血包","Blood Bag : A-":"A-血包","Blood Bag : A+":"A+血包","Blood Bag : AB+":"AB+血包","Blood Bag : AB-":"AB-血包","Blood Bag : O+":"O+血包","Blood Bag : O-":"O-血包","Blood Bag : B-":"B-血包","Blood Bag : B+":"B+血包","Blood Bag : Irradiated":"辐射血包",Morphine:"吗啡","Neumune Tablet":"雄烯二醇抗辐射药品",Antidote:"抗生素",Felovax:"妙三多",Zylkene:"法国威隆苏劲猫犬降压药","Cake Frosting":"蛋糕糖霜","Lock Picking Kit":"开锁器套装","Special Fruitcake":"特别的水果蛋糕","Sawed-Off Shotgun":"截短型霰弹枪",Thompson:"汤普森冲锋枪",TMP:"施泰尔TMP冲锋枪","Benelli M1 Tactical":"贝内利M1战术霰弹枪",MP5k:"MP5k","MP5 Navy":"MP5海军型",Skorpion:"蝎式冲锋枪","MP 40":"MP40","SKS Carbine":"SKS卡宾枪","Vektor CR-21":"维克托CR-21",P90:"P90","Ithaca 37":"伊萨卡37泵动式霰弹枪","XM8 Rifle":"XM8突击步枪",AK74U:"AK74U短管突击步枪","AK-47":"AK-47","Bushmaster Carbon 15":"碳15短管步枪","M4A1 Colt Carbine":"M4A1卡宾枪","Benelli M4 Super":"贝内利M4 Super半自动霰弹枪","Heckler & Koch SL8":"HK SL8半自动步枪","M16 A2 Rifle":"M16A2步枪","Mag 7":"Mag 7","Steyr AUG":"施泰尔AUG突击步枪","SIG 550":"SIG 550突击步枪","Enfield SA-80":"恩菲尔德SA80","Tavor TAR-21":"21世纪他泊山突击步枪TAR-21","9mm Uzi":"9mm Uzi","M249 SAW":"M249班用自动武器",Minigun:"加特林式旋管机枪",Jackhammer:"转轮式自动霰弹枪","SIG 552":"SIG 552卡宾枪","ArmaLite M-15A4":"阿玛莱特M15A4","Nock Gun":"诺克枪","Snow Cannon":"雪球加农炮","Rheinmetall MG 3":"MG3通用机枪","Gold Plated AK-47":"黄金AK47","Lorcin 380":"洛辛380","Flare Gun":"信号枪","Glock 17":"格洛克17",Taurus:"金牛座","Springfield 1911":"M1911","Raven MP25":"","Ruger 22/45":"",Crossbow:"十字弓",Slingshot:"弹弓","S&W Revolver":"S&W左轮手枪","Beretta M9":"巴雷特M9",USP:"USP","Beretta 92FS":"巴雷特92FS",Luger:"鲁格手枪",Fiveseven:"FN手枪",Blowgun:"吹箭",Blunderbuss:"手铳",Magnum:"马格南左轮手枪","S&W M29":"","Desert Eagle":"沙漠之鹰","BT MP9":"","Cobra Derringer":"","Qsz-92":"",Harpoon:"鱼叉",Flamethrower:"喷火器","Dual 92G Berettas":"","Type 98 Anti Tank":"98式反坦克炮","Beretta Pico":"","Homemade Pocket Shotgun":"自制袖珍霰弹枪","RPG Launcher":"RPG发射器",Hammer:"锤子","Lead Pipe":"铅管","Baseball Bat":"棒球棒",Crowbar:"撬棍","Bo Staff":"玻之武杖","Knuckle Dusters":"指虎","Pen Knife":"笔刀","Leather Bullwhip":"皮牛鞭","Kitchen Knife":"厨房刀","Frying Pan":"平底锅",Sai:"铁尺","Plastic Sword":"塑料剑","Butterfly Knife":"蝴蝶刀",Dagger:"匕首","Swiss Army Knife":"瑞士军刀","Chain Whip":"链条鞭",Axe:"斧头","Wooden Nunchakus":"木制双截棍",Taser:"电击枪","Ninja Claws":"忍者之爪",Scimitar:"弯刀",Chainsaw:"电锯","Cricket Bat":"板球棒","Ice Pick":"冰镐",Katana:"军官武士刀",Spear:"矛",Kama:"镰刀","Twin Tiger Hooks":"虎头双钩","Samurai Sword":"武士刀","Claymore Sword":"苏格兰阔刃大斩剑","Rusty Sword":"锈剑",Macana:"美洲黑曜石匕首",Kodachi:"太刀","Wushu Double Axes":"武术双斧",Guandao:"关刀","Metal Nunchakus":"金属双截棍",Pillow:"枕头","Diamond Icicle":"钻石冰锥","Diamond Bladed Knife":"钻石刀","Pair of Ice Skates":"成对滑冰鞋","Fine Chisel":"细凿",Flail:"连枷","Ivory Walking Cane":"象牙手杖","Pair of High Heels":"一双高跟鞋",Madball:"台球","Yasukuni Sword":"战犯之剑","Naval Cutlass":"海军弯刀","Meat Hook":"肉钩","Petrified Humerus":"石化肱骨","Blood Spattered Sickle":"溅血之镰",Cleaver:"劈肉刀","Golden Broomstick":"黄金扫帚","Riding Crop":"马鞭","Devil's Pitchfork":"恶魔之叉","Dual Hammers":"双锤","Dual Axes":"双斧","Dual Scimitars":"双持弯刀","Dual Samurai Swords":"双武士刀",Sledgehammer:"巨锤","Bread Knife":"面包刀","Poison Umbrella":"毒伞","Leather Boots":"皮靴","Leather Gloves":"皮手套","Leather Helmet":"皮制头盔","Leather Pants":"皮裤","Leather Vest":"皮背心","Chain Mail":"锁子甲","Flak Jacket":"防弹夹克","Police Vest":"警察背心","Hiking Boots":"登山靴","Construction Helmet":"建筑头盔","Bulletproof Vest":"防弹背心","Full Body Armor":"全身甲","Safety Boots":"安全靴","WWII Helmet":"二战头盔","Kevlar Gloves":"凯夫拉手套","Outer Tactical Vest":"外用战术背心","Combat Gloves":"战斗手套","Combat Boots":"战斗靴","Combat Pants":"战斗裤","Combat Helmet":"战斗头盔","Combat Vest":"战斗背心","Liquid Body Armor":"液体防弹衣","Flexible Body Armor":"弹性防弹衣","Medieval Helmet":"中世纪头盔","Motorcycle Helmet":"摩托车头盔","Welding Helmet":"电焊头盔","Hazmat Suit":"危险品防护服",Brick:"砖头","Ninja Star":"忍者之星",Fireworks:"烟花","Claymore Mine":"阔刀地雷","Stick Grenade":"木柄手榴弹",Snowball:"雪球",HEG:"高爆手雷",Grenade:"手雷","Flash Grenade":"闪光弹","Pepper Spray":"辣椒喷雾","Tear Gas":"催泪弹",Trout:"鳟鱼","Throwing Knife":"飞刀","Molotov Cocktail":"莫洛托夫鸡尾酒","Smoke Grenade":"烟雾弹",Melatonin:"褪黑素",Tyrosine:"酪氨酸",Epinephrine:"肾上腺素",Sand:"沙",Serotonin:"血清素","Nail Bomb":"钉子炸弹","Concussion Grenade":"震撼弹",Book:"书","Can of Goose Juice":"鹅汁","Can of Damp Valley":"湿谷","Can of Crocozade":"鳄鱼","Can of Santa Shooters":"圣诞射手","Can of Munster":"魔瓜","Can of Rockstar Rudolph":"摇滚明星","Can of Red Cow":"红牛","Can of X-MASS":"XS","Can of Taurine Elite":"精英牛磺酸","Bag of Bon Bons":"一袋糖果","Box of Extra Strong Mints":"一盒特浓薄荷糖","Bag of Chocolate Kisses":"一袋巧克力之吻","Box of Sweet Hearts":"一盒甜蜜的心","Box of Chocolate Bars":"一盒巧克力棒",Lollipop:"棒棒糖","Box of Bon Bons":"一盒糖果","Big Box of Chocolate Bars":"一大盒巧克力棒","Bag of Candy Kisses":"一袋糖果之吻","Bag of Tootsie Rolls":"一袋图罗软糖","Bag of Bloody Eyeballs":"一袋血腥眼球","Bag of Chocolate Truffles":"一袋巧克力松露","Bag of Reindeer Droppings":"一袋驯鹿粪便","Red Easter Egg":"红复活节蛋","Yellow Easter Egg":"黄复活节蛋","Blue Easter Egg":"蓝复活节蛋","Pink Easter Egg":"粉复活节蛋","Orange Easter Egg":"橙复活节蛋","Black Easter Egg":"黑复活节蛋","Green Easter Egg":"绿复活节蛋","Brown Easter Egg":"棕复活节蛋","Pixie Sticks":"小精灵棒","Bag of Sherbet":"一袋雪糕",Jawbreaker:"","Bag of Humbugs":"","Purple Easter Egg":"紫复活节蛋","White Easter Egg":"白复活节蛋","Birthday Cupcake":"生日纸杯蛋糕","Gold Easter Egg":"金复活节蛋",Shrooms:"魔幻蘑菇",LSD:"兴奋剂",Ketamine:"凯粉",Ecstasy:"摇头丸",PCP:"天使尘埃",Speed:"病毒",Xanax:"XAN","Love Juice":"爱情果汁",Cannabis:"大麻",Opium:"罂粟",Vicodin:"维柯丁","Heavy Duty Padlock":"重型挂锁","High-Speed Drive":"高速硬盘","Tracking Device":"追踪设备","Tumble Dryer":"烘干机","Duct Tape":"胶带",Chloroform:"氯仿",Glasses:"眼镜","Fanny Pack":"腰包","Slim Crowbar":"细撬棍","Advanced Driving Manual":"高级驾驶手册","Cut-Throat Razor":"割喉剃刀","Wireless Dongle":"无线加密狗",Screwdriver:"螺丝刀","Ergonomic Keyboard":"人体工学键盘","Mountain Bike":"山地车",Balaclava:"巴拉克拉瓦头套","Small Suitcase":"小手提箱","Medium Suitcase":"中手提箱","Rosary Beads":"念珠","Large Suitcase":"大手提箱","Wind Proof Lighter":"防风打火机","Bottle of Beer":"瓶装啤酒","Bottle of Champagne":"瓶装香槟","Bottle of Tequila":"瓶装龙舌兰酒","Bottle of Sake":"瓶装清酒","Bottle of Kandy Kane":"","Bottle of Pumpkin Brew":"瓶装南瓜啤酒","Bottle of Wicked Witch":"邪恶女巫蛙腿酒","Bottle of Minty Mayhem":"","Bottle of Christmas Cocktail":"圣诞鸡尾酒","Bottle of Mistletoe Madness":"槲寄生疯狂","Bottle of Stinky Swamp Punch":"","Bottle of Moonshine":"瓶装私酒","Bottle of Green Stout":"瓶装绿色世涛","Bottle of Christmas Spirit":"","Glass of Beer":"一杯扎啤","Lawyer Business Card":"律师卡(黑卡)","Erotic DVD":"瑟琴DVD","Gift Card":"礼品卡","Book of Carols":"颂歌之书","Feathery Hotel Coupon":"FHC金卡",Skateboard:"速度SE 滑板","Boxing Gloves":"防御SE 拳击手套",Dumbbells:"力量SE 哑铃",Parachute:"闪避SE 降落伞","Pack of Music CDs":"","Pack of Blank CDs : 100":"","RS232 Cable":"","Hard Drive":"","MP3 Player":"","Personal Computer":"","CD Player":"","DVD Player":"",Television:"","Game Console":"",Microwave:"",Laptop:"","Gold Ring":"金戒指","Plain Silver Ring":"纯银戒指","Sapphire Ring":"蓝宝石戒指","Plastic Watch":"塑料手表","Gold Necklace":"金项链","Silver Necklace":"银项链","Gold Watch":"金表","Diamond Ring":"钻戒","Stainless Steel Watch":"不锈钢手表","Pearl Necklace":"珍珠项链","Cocktail Ring":"鸡尾酒会戒指","Crystal Bracelet":"水晶手链","Statement Necklace":"宣言项链","Gold Chain":"金链子","Simple Virus":"简单病毒","Tunneling Virus":"隧道病毒","Polymorphic Virus":"多态病毒","Firewalk Virus":"火行病毒","Armored Virus":"加壳病毒","Stealth Virus":"隐形病毒","Bunch of Flowers":"花束","Single Red Rose":"单支红玫瑰","Bunch of Black Roses":"黑玫瑰束","Dozen Roses":"一打玫瑰",Dahlia:"大丽花",Crocus:"番红花","Banana Orchid":"香蕉兰花",Orchid:"兰花",Edelweiss:"雪绒花","Ceibo Flower":"木棉花",Heather:"帚石楠","African Violet":"非洲紫罗兰","Cherry Blossom":"樱花",Peony:"牡丹花","Tribulus Omanense":"蒺藜花","Box of Medical Supplies":"医疗补给包","Lottery Voucher":"彩票券","Box of Grenades":"手雷箱","Six Pack of Alcohol":"6瓶装酒箱","Denim Cache":"牛仔补给箱","Drug Pack":"小DP 药dú品包","Keg of Beer":"桶装啤酒","Elderly Cache":"中年衣服补给箱","Cutesy Cache":"可爱衣服补给箱","Six Pack of Energy Drink":"6瓶装饮料箱","Gentleman Cache":"绅士衣服补给箱","Wannabe Cache":"潮流衣服补给箱","Elegant Cache":"优雅衣服补给箱","Naughty Cache":"调皮衣服补给箱","Goodie Bag":"礼品袋","Anniversary Present":"周年纪念礼物",Parcel:"包裹","Broken Bauble":"","Bronze Ribbon":"","Silver Ribbon":"","Coin : Dump":"","Coin : Church":"","Santa's Elf '09":"","Metal Dog Tag":"","Coin : Hospital":"","Birthday Cake '05":"","Bunch of Balloons '05":"","Jack-O-Lantern '05":"","Coin : Race Track":"","Coin : Casino":"","Coin : Estate Agents":"","Coin : Travel Agency":"","Coin : Education":"","Coin : Museum":"","Coin : Drugs":"","Coin : Auction House":"","Coin : Stock Exchange":"","Coin : Companies":"","Poker Chip":"","Coin : Factions":"","Voodoo Doll":"","Rabbit Foot":"","Gold Ribbon":"","Coin : Jail":"","Santa's List '17":"","Snowflake '05":"","Cheesus '18":"","Bronze Microphone":"","Paper Bag":"","Toast Jesus '18":"","Silver Dog Tag":"","Christmas Tree '05":"","Bronze Dog Tag":"","Bronze Paint Brush":"","10 Ton Pacifier":"","Single White Rose":"","Chocolate Egg '05":"","Annoying Man":"","Scammer in the Slammer '18":"","Gold Microphone":"","Amazon Doll":"",Soapbox:"","Gold Paint Brush":"","Dollar Bill Collectible":"","Octopus Toy":"","Gold Dog Tag":"","Crazy Cow":"","Citrus Squeezer":"","Strife Clown":"","Evil Doll":"","Blow-Up Doll":"","Backstage Pass":"","Karate Man":"","YouYou Yo Yo":"","Flea Collar":"","Ms Torn Crown":"","Kevlar Helmet":"","Cursed Moon Pendant":"","Mr Torn Crown":"","Mr Brownstone Doll":"","Burmese Flag":"","Chocobo Flute":"","Skeleton Key":"","Yoda Figurine":"","Barbie Doll":"","China Tea Set":"",Dreamcatcher:"","Non-Anon Doll":"","Christmas Card '09":"","Christmas Stocking '09":"","Jester's Cap":"","Official Ninja Kit":"","Silver Paint Brush":"","Tank Top":"",Jacket:"夹克",Trainers:"",Bandana:"","Mediocre T-Shirt":"普通的T恤","Sports Shades":"","Diving Gloves":"","Proda Sunglasses":"",Speedo:"",Flippers:"","Kabuki Mask":"",Sweater:"",Snorkel:"",Bikini:"比基尼",Wetsuit:"","Mountie Hat":"","Exotic Gentleman Mask":"","Young Lady Mask":"年轻女士面具","Moustache Man Mask":"","Old Lady Mask":"老妇人面具","Nun Mask":"","Scarred Man Mask":"刀疤男面具","Ginger Kid Mask":"","Psycho Clown Mask":"","Trench Coat":"","Festive Socks":"","Coconut Bra":"椰壳文胸","Badge : 15th Anniversary":"","Paper Crown : Red":"纸皇冠:红色","Paper Crown : Blue":"纸皇冠:蓝色","Paper Crown : Green":"纸皇冠:绿色","Paper Crown : Yellow":"纸皇冠:黄色","Party Hat '19":"","String Vest":"","Santa Gloves":"","Classic Fedora":"",Sweatpants:"","Santa Trousers":"","Pinstripe Suit Trousers":"","Santa Boots":"","Denim Cap":"","Tube Dress":"","Hair Bow":"","Pleated Skirt":"","Reading Glasses":"",Pullover:"","Denim Vest":"","Basketball Shirt":"","Denim Jacket":"","Santa Jacket":"","Bandit Mask":"",Durag:"",Chinos:"",Tights:"","Collared Shawl":"","Denim Shirt":"",Shrug:"",Dungarees:"",Sandals:"","Check Skirt":"","Ballet Shoes":"","Sun Hat":"","Cork Hat":"",Pantyhose:"","Denim Shoes":"","Knee Socks":"",Shorts:"","Golf Socks":"","Bucket Hat":"","Maid Hat":"","Panama Hat":"","Oversized Shirt":"","Pencil Skirt":"","Floral Dress":"","Booty Shorts":"",Blouse:"",Halterneck:"","Snapback Hat":"","Crop Top":"",Bermudas:"","Peplum Top":"","Baseball Cap":"","Santa Hat":"","Baseball Jacket":"","Capri Pants":"",Thong:"","Fishnet Stockings":"","Chin Diaper":"","Chest Harness":"","Platform Shoes":"","Fur Hat":"","Polo Shirt":"","Bunny Ears":"","Denim Jeans":"",Skirt:"","Puppy Ears":"",Tutu:"",Camisole:"","Assless Chaps":"","Head Scarf":"","Puffer Vest":"",Choker:"","Boob Tube":"","Tighty Whities":"","Puffer Jacket":"","Travel Socks":"","Fur Scarf":"",Waistcoat:"","Derby Shoes":"",Braces:"",Blindfold:"","Medical Mask":"",Nightgown:"","Flip Flops":"","Saggy Pants":"","Square Sunglasses":"",Cardigan:"","Gym Shorts":"","Knee-high Boots":"","Sports Jacket":"","Bowler Hat":"","Cover-ups":"","Bingo Visor":"","Yoga Pants":"",Raincoat:"","Silver Hoodie":"","Fisherman Hat":"",Lingerie:"","Bush Hat":"",Turtleneck:"","Lolita Dress":"","Fitted Shirt":"",Blazer:"","Opera Gloves":"","Mini Skirt":"","Shoulder Sweater":"","Suit Trousers":"",Mackintosh:"","Black Oxfords":"","Shutter Shades":"","Cat Ears":"","Fascinator Hat":"",Poncho:"","Fur Coat":"","Silver Flats":"","Kitty Shoes":"","Neck Tie":"","Maid Uniform":"","Bow Tie":"","Polka Dot Dress":"",Slippers:"","Gold Sneakers":"","Smoking Jacket":"","Parachute Pants":"","Latex Gloves":"",Collar:"","Nipple Tassels":"","Scrooge's Boots":"",Mankini:"","Scrooge's Gloves":"","Ripped Jeans":"","Santa Beard":"","Ball Gown":"","Scrooge's Trousers":"","Unicorn Horn":"",Onesie:"","Wedding Veil":"","Christmas Sweater '15":"","Bunny Nose":"",Straitjacket:"",Monocle:"","Scrooge's Topcoat":"","Wedding Dress":"","Witch's Hat":"",Bathrobe:"","Tiger King Mask '20":"","Greta Mask '19":"","Scrooge's Top Hat":"","Sandworm Mask '21":"",Duster:"","Ski Mask":"","Pennywise Mask '20":"","Anatoly Mask '19":"","Ball Gag":"","Elon Musk Mask '17":"","Heart Sunglasses":"","Jigsaw Mask '19":"",Pipe:"","Michael Myers Mask '18":"","Respo Hoodie":"","Bunny Suit":"","Donald Trump Mask '16":"","Gronch Mask '18":"","Chevrolet Cavalier":"","Peugeot 106":"","Volkswagen Beetle":"大众甲壳虫","Citroen Saxo":"","Vauxhall Corsa":"","Vauxhall Astra GSI":"","Honda Civic":"本田思域","Classic Mini":"经典MINI","Volkswagen Golf GTI":"","Renault Clio":"","Alfa Romeo 156":"","Audi S4":"奥迪S4","Reliant Robin":"","Nissan Micra":"","Honda Integra R":"","Ford Mustang":"福特野马","Lotus Exige":"","Hummer H3":"","Honda S2000":"","Honda Accord":"","Holden SS":"","Mini Cooper S":"","Seat Leon Cupra":"","Toyota MR2":"","Volvo 850":"","Honda NSX":"","BMW X5":"宝马X5","TVR Sagaris":"","BMW M5":"宝马M5","Ford Focus RS":"","Subaru Impreza STI":"","Chevrolet Corvette Z06":"","Audi TT Quattro":"","Fiat Punto":"","Pontiac Firebird":"","Dodge Charger":"","BMW Z8":"宝马Z8","Porsche 911 GT3":"","Nissan GT-R":"","Ford GT40":"","Audi R8":"奥迪R8","Mitsubishi Evo X":"","Lexus LFA":"","Ferrari 458":"","Lamborghini Gallardo":"兰博基尼盖拉多","Mercedes SLR":"","Aston Martin One-77":"","Sierra Cosworth":"","Senet Board":"","Florin Coin":"","Leopard Coin":"","Gold Noble Coin":"","Vairocana Buddha Sculpture":"","Black Senet Pawn":"","White Senet Pawn":"","Ganesha Sculpture":"","Quran Script : Ubay Ibn Kab":"","Quran Script : Ali":"","Quran Script : Ibn Masud":"","Shabti Sculpture":"","Egyptian Amulet":"","Sheep Plushie":"绵羊","Kitten Plushie":"猫咪","Teddy Bear Plushie":"泰迪熊","Stingray Plushie":"黄貂鱼","Wolverine Plushie":"貂熊","Jaguar Plushie":"美洲豹","Nessie Plushie":"尼斯湖水怪","Red Fox Plushie":"赤狐","Chamois Plushie":"岩羚羊","Monkey Plushie":"猴子","Panda Plushie":"大熊猫","Lion Plushie":"狮子","Camel Plushie":"骆驼","Dong : Effy":"狗狗:艾菲","Dong : Jeremy":"狗狗:杰里米","Dong : Greg":"狗狗:格雷格","Dong : Holly":"狗狗:霍利","Dong : Thomas":"狗狗:托马斯","Toilet Paper":"厕纸","Stink Bombs":"臭气弹","Dog Poop":"狗屎","Horse's Head":"马头","Christmas Cracker":"圣诞爆竹","Small Explosive Device":"小型爆炸装置","Business Class Ticket":"商务舱机票","Strippogram Voucher":"脱衣舞券","Poison Mistletoe":"毒槲寄生","Donator Pack":"捐赠者补给箱(DP)","Casino Pass":"赌场通行证","Cesium-137":"铯137","Dirty Bomb":"脏弹","Box of Tissues":"一盒抽纸","Pack of Cuban Cigars":"","Birthday Wrapping Paper":"生日包装纸","Empty Box":"空盒子","Bolt Cutters":"","Christmas Wrapping Paper":"圣诞包装纸","Soap on a Rope":"","Generic Wrapping Paper":"","Crazy Straw":"",Fruitcake:"水果蛋糕","Pele Charm":"","Mayan Statue":"","Steel Drum":"","Sumo Doll":"","Hockey Stick":"",Chopsticks:"筷子","Soccer Ball":"足球",Snowboard:"雪球","Paper Weight":"","Yakitori Lantern":"",Sensu:"","Dart Board":"","Elephant Statue":"","Certificate of Lame":"","Yucca Plant":"","Jade Buddha":"玉佛像",Compass:"","Nodding Turtle":"","Fire Hydrant":"","Model Space Ship":"","Tailors Dummy":"",Sextant:"","Afro Comb":"","Maneki Neko":"","Blank Tokens":"","Printing Paper":"","Stick of Dynamite":"","Blank Credit Cards":"","Advent Calendar":"","Certificate of Awesome":"","Glow Stick":"","Ship in a Bottle":"","Santa's Snot":"","Christmas Angel":"","Sprig of Holly":"","Polar Bear Toy":"","Turkey Baster":"","Electronic Pumpkin":"","Salt Shaker":"","Cinnamon Ornament":"","Spooky Paper Weight":"","Lump of Coal":"","Vanity Hand Mirror":"","Gingerbread Man":"","Christmas Lights":"","C4 Explosive":"C4炸弹","Jack O Lantern Lamp":"","Gingerbread House":"","Mini Sleigh":"","Golden Wreath":"","Coat Hanger":"衣架","Memory Locket":"",Cauldron:"",Mistletoe:"槲寄生","Witch's Cauldron":"","Gas Can":"汽油桶","Golden Candy Cane":"","Christmas Express":"",Eggnog:"","Raw Ivory":"","Oriental Log":"",Snowman:"雪人","Christmas Gnome":"","Pile of Vomit":"","Loaf of Bread":"","Deputy Star":"","Oriental Log Translation":"",Tangerine:"","Dancing Santa Claus '09":"",Photographs:"","Japanese/English Dictionary":"日英词典","Gold Nugget":"","Peg Leg":"","Birthday Cake '14":"14寸生日蛋糕","Zombie Brain":"僵尸脑","Rotten Eggs":"","Pack of Trojans":"","Snow Globe '09":"","Medal of Honor":"","Rusty Dog Tag":"","Human Head":"人头","Article on Crime":"","Piece of Cake":""},s={"Effect: Provides 100 Lucky Shot Lotto tickets when used.":"","Effect: Improves success rate for the Transporting Drugs crime.":"","Effect: Increases happiness by 25 and booster cooldown by 30 minutes.":"","Effect: Increases happiness by 50 and booster cooldown by 30 minutes.":"","Effect: Increases happiness by 75 and booster cooldown by 30 minutes.":"","Effect: Increases energy by 10 and booster cooldown by 2 hours.":"","Effect: Opponent becomes Maced, decreasing Dexterity to 1/5th for 15-20 seconds.":"效果:对手被梅斯毒气影响,闪避降低至1/5,持续15-20s。","Effect: Opponent becomes Blinded, decreasing Speed to 1/5th for 15-20 seconds.":"效果:对手被致盲,速度降低至1/5,持续15-20s。","Effect: Opponent becomes Gassed, decreasing Dexterity to 1/3rd for 120-180 seconds.":"效果:对手变得疲惫,闪避降低至1/3,持续120-180s。","Effect: Opponent receives Severe Burning damage over 3 turns.":"效果:对手在3个回合内受到严重的燃烧伤害。","Effect: Opponent becomes Smoked, decreasing Speed to 1/3rd for 120-180 seconds.":"效果:对手被烟雾影响,速度降低至1/3持续120-180s。","Effect: User becomes Hastened, increasing Speed by 500% for 120 seconds.":"效果:使用者急促起来,速度提高500%持续120s。","Effect: User becomes Sharpened, increasing Dexterity by 500% for 120 seconds.":"效果:使用者变得更加敏锐,闪避增加500%,持续120s。","Effect: User becomes Strengthened, increasing Strength by 500% for 120 seconds.":"效果:使用者变得更强壮,力量增加500%,持续120秒。","Effect: User becomes Hardened, increasing Defense by 300% for 120 seconds and replenishing life by 25%.":"效果:使用者变得坚硬,在120秒内增加300%的防御,并补充25%的生命。","Effect: Opponent becomes Concussed, decreasing Dexterity to 1/5th for 15-20 seconds.":"效果:对手脑部震荡,闪避下降到1/5,持续15-20秒。","Effect: Increases happiness by 5-20 if under 20% of maximum.":"","Effect: Can be used with a Fruitcake and Cake Frosting to create a Special Fruitcake.":""},l={"is a Defensive Armor.":"是一种防御性盔甲。","are a Defensive Armor.":"是一种防御性盔甲。","is a Machine Gun Weapon.":"是一种机枪。","is a SMG Weapon.":"是一种冲锋枪。","is a Shotgun Weapon.":"是一种霰弹枪。","is a Rifle Weapon.":"是一种步枪。","is a Heavy Artillery Weapon.":"是一种重炮。","is a Pistol Weapon.":"是一种手枪。","is a Piercing Weapon.":"是一种穿刺武器(piercing)。","is a Clubbing Weapon.":"是一种冲击武器(Clubbing)。","is a Slashing Weapon.":"是一种切割武器(slashing)。","is a Mechanical Weapon.":"是一种机械武器。","is a Temporary Weapon.":"是一种投掷武器。","is a Clothing Item.":"是一种服装物品。","is a Medical Item.":"是一种医疗物品。","is a Drug Item.":"是一种药(dú)品。","is an Energy Drink Item.":"是一种能量饮料。","is an Alcohol Item.":"是一种酒。","is a Candy Item.":"是一种糖。","is a Booster Item.":"是一种增益道具。","is an Enhancer Item.":"是一种增幅器。","is a Supply Pack Item.":"是一种补给包。","is an Electronic Item.":"是一种电子物品。","is a Jewelry Item.":"是一种珠宝物品。","is a Flower Item.":"是一种花。","is a Plushie Item.":"是一种玩偶。","is a class E Car Item.":"是一辆E级赛车。","is a class D Car Item.":"是一辆D级赛车。","is a class C Car Item.":"是一辆C级赛车。","is a class B Car Item.":"是一辆B级赛车。","is a class A Car Item.":"是一辆A级赛车。","is a Virus Item.":"是一种电脑病毒。","is an Other Item.":"是一个其他物品。","is a Book Item.":"是一本书。","is a Special Item.":"是一种特殊物品。"},Se={"API Keys":"API 密钥","General settings":"通用设置","Attack settings":"攻击设置","Create New Key":"创建新密钥","New key's name":"新密钥名","Public Only":"无需权限","Minimal Access":"最小权限","Limited Access":"有限权限","Full Access":"完全权限","Here you can share your account's information with":"在这里,你可以通过向脚本、扩展和应用程序等软件提供API密钥,与它们分享你的账户信息。一旦你创建了一个具有相关权限的API密钥,你可以在任何时候通过删除该密钥来取消授权。"},b={_taskHint:{a_good_day_to_get_hard:{task:"实现3-10的连杀",hint:"建议买lost"},a_kimpossible_task:{task:"击败3个特定玩家且只使用近战武器和手雷",hint:"枪可以保持装备状态"},a_problem_at_the_tracks:{task:"击败3个特定玩家且不使用枪",hint:"枪可以保持装备状态,但是使用任何的枪任务就会失败。"},a_thor_loser:{task:"用Duke的锤子(Duke's hammer)打中8-16个不同的身体部位",hint:"找防御怪来打"},against_the_odds:{task:"击败2个特定玩家"},an_honorary_degree:{task:"击败特定玩家且不使用枪",hint:"枪可以保持装备状态,但是使用任何的枪任务就会失败。"},army_of_one:{task:"装备不同的面具攻击3次1个特定玩家",hint:"Duke会给你发2个面具,请确保其中一次攻击不戴任何面具。为了快速完成任务,可以选择右上角的逃跑选项,这样不需要等待目标出院。"},bakeout_breakout:{task:"把开锁器(lock pick)放到水果蛋糕(fruitcake)里,并且把特别的水果蛋糕(special fruitcake)发送给监狱里的任意自选玩家。",hint:"你需要自己买一个水果蛋糕,佐料Duke会给"},bare_knuckle:{task:"击败特定玩家,且不装备任何防具和武器。",hint:"取消装备所有东西。注意:前一次战斗残余的buff会让任务失败!"},batshit_crazy:{task:"用Penelope造成基于你的最大生命的一定伤害",hint:"你会收到Duke发来的Penelope"},battering_ram:{task:"攻击特定玩家3次"},big_tub_of_muscle:{task:"击败特定玩家,尽管他有巨大的力量"},birthday_surprise:{task:"获取特定物品并将它作为礼物发送给Duke",hint:"使用一个空盒子(Empty box)可以把物品装箱(parcel),然后用礼品包装将他包起来就可以得到一个生日礼物。"},bonnie_and_clyde:{task:"击败特定玩家和他的配偶"},bountiful:{task:"成功拿到2-5个悬赏赏金",hint:"请记得击败玩家后选择强制住院(hospitalize)才能领取赏金"},bounty_on_the_mutiny:{task:"悬赏特定玩家,然后等待赏金被人领取",hint:"你不能领取自己的悬赏赏金"},bring_it:{task:"在多人战斗中击败Duke",hint:"不像其他任务,这个任务你有一周的时间来完成。且不需要最后一击,你只需要参与到多人战斗中就可以。更多详情请群内询问大佬或查看公众号攻略。"},candy_from_babies:{task:"获得$50,000-$250,000的悬赏奖励",hint:"可以是总计多次悬赏奖励。请记得击败玩家后选择强制住院(hospitalize)才能获得悬赏奖励。"},charity_work:{task:"抢劫2个特定玩家",hint:"必须成功抢到钱,可以事先发一点钱给目标来确保成功抢劫"},cracking_up:{task:"击败特定玩家后选择审问选项(interrogate)获取密码,然后使用密码打开Duke的保险箱(Duke's Safe),并将获得的物品发送给Duke。",hint:"可能会需要数次审问才能获得密码"},critical_education:{task:"造成3-9次暴击"},cut_them_down_to_size:{task:"击败任意等级大于等于你的玩家"},dirty_little_secret:{task:"给特定玩家下一个悬赏,然后攻击拿悬赏的玩家",hint:"如果拿悬赏的玩家是匿名的,他的ID还是会被显示在任务界面。攻击不需要胜利,只需要攻击即可完成任务。"},double_jeopardy:{task:"击败特定玩家,且给他下一个悬赏",hint:"赏金可以是任何金额,因为它不需要被认领。"},drug_problem:{task:"Defeat 4 - 7 (P)."},emotional_debt:{task:"用催泪弹(tear gas)或辣椒水(pepper spray)命中特定玩家",hint:"不被阻挡才算数。Hazmat Suit会阻挡催泪弹,很多头盔阻挡辣椒水。(也有说法辣椒水不需要生效也能完成任务)"},estranged:{task:"打伤特定玩家的一条腿"},family_ties:{task:"强制住院特定玩家3次"},field_trip:{task:"在3个赌场游戏中赚到$100-$1,000,000"},fireworks:{task:"消耗250-1250发子弹",hint:"用弹药多的武器,如minigun、m249"},forgotten_bills:{task:"击败特定玩家"},frenzy:{task:"击败任意5-15个玩家"},get_things_jumping:{task:"造成2000-50000伤害,受到1000-25000伤害,基于你的生命上限"},graffiti:{task:"给特定目标喷辣椒水(pepper spray)"},guardian:{task:"击败特定玩家"},hammer_time:{task:"用锤子(hammer)击败特定玩家",hint:"枪可以保持装备,双锤不算锤子"},hands_off:{task:"击败3-5个特定玩家"},hare_meet_tortoise:{task:"击败特定玩家,尽管他的速度快如闪电",hint:"闪光弹和烟雾弹可以降低目标的速度"},hide_and_seek:{task:"从3-5人的列表中找到并击败1个特定玩家",hint:"给出的线索可以很容易识别目标,比如等级,地区,如无法找到请截图群聊询问。"},hiding_in_plain_view:{task:"击败在随机国家的特定玩家"},high_fliers:{task:"击败3个在随机国家的特定玩家"},hobgoblin:{task:"击败自选的某个相同玩家5次"},immovable_object:{task:"击败特定玩家,尽管他的防御很高"},inside_job:{task:"击败特定玩家并选择secrete选项藏一个道具"},"introduction:_duke":{task:"完成10个 Duke 任务"},keeping_up_appearances:{task:"抢劫特定玩家然后把钱发回给他",hint:"必须成功抢到钱,可以事先发一点钱给目标来确保成功抢劫"},kiss_of_death:{task:"击败特定玩家然后选择kiss选项"},lack_of_awareness:{task:"击败特定玩家"},lost_and_found:{task:"强制住院特定目标总计12小时"},loud_and_clear:{task:"使用3-11个爆炸性手榴弹(HEG或Grenade等)",hint:"手榴弹必须是可以造成伤害的类型"},loyal_customer:{task:"击败特定玩家"},make_it_slow:{task:"击败特定玩家且单次攻击中使用不低于5-9回合",hint:"存活7或9回合后击败目标,如果失败可以再次尝试。"},marriage_counseling:{task:"击败特定玩家的配偶"},massacrist:{task:"击败特定玩家"},meeting_the_challenge:{task:"抢劫到$10,000-$16,000,000金额的钱"},motivator:{task:"第一次对战中输给或平手给特定玩家",hint:"超时不会任务失败,所以如果看起来要赢了可以等5分钟超时。可以抽血减血,不装备防具并使用锈剑。"},new_kid_on_the_block:{task:"击败5名玩家"},no_man_is_an_island:{task:"从3个特定目标中选2个抢劫",hint:"可以自选哪两个目标,只要抢劫2个不同的目标"},no_second_chances:{task:"一次击败特定玩家"},out_of_the_frying_pan:{task:"去监狱使用Felovax以住院,再使用Zylkene"},painleth_dentitht:{task:"用棒球棒击败特定玩家",hint:"其他武器可以保持装备,但是使用其他武器会让任务失败"},party_tricks:{task:"击败特定玩家,尽管他的DEX很高"},pass_the_word:{task:"给特定玩家发送包含关键词的聊天信息",hint:"复制任务描述发送给目标就可以完成"},peak_experience:{task:"击败特定玩家"},proof_of_the_pudding:{task:"使用某个武器击败特定玩家,然后发送这个武器给他",hint:"不需要发送你具体使用的武器,只需发送同名武器"},rabbit_response:{task:"10-30分钟内击败3个特定玩家",hint:"攻击其中一个目标时开始计时,所以攻击前确定他们都不在住院"},reconstruction:{task:"装备菜刀(kitchen knife)和皮手套(leather gloves),击败特定玩家然后扔掉这两样东西。",hint:"战斗中不必须使用菜刀攻击"},red_faced:{task:"使用鳟鱼(trout)完成最后一击以击败特定玩家"},rising_costs:{task:"用砖头(Brick)打中特定玩家",hint:"没打中不算"},rolling_in_it:{task:"抢劫特定玩家",hint:"必须成功抢到钱,可以事先发一点钱给目标来确保成功抢劫"},safari:{task:"用步枪(rifle)在南非击败特定玩家"},scammer:{task:"击败特定玩家",hint:"目标可能有不少现金,可以试着打劫一下"},sellout_slayer:{task:"从物品市场或个人集市买一把枪,用这把枪击败任意2-6个玩家,然后再从物品市场或个人集市卖出这把枪"},sending_a_message:{task:"击败特定玩家"},show_some_muscle:{task:"攻击特定玩家",hint:"攻击目标即可,无论输赢"},sleep_aid:{task:"击败特定玩家"},some_people:{task:"将任何物品制作包裹寄给特定玩家",hint:"买一个空盒子(Empty box)并使用空盒子,选择一个你不要的物品就可以制成包裹。"},standard_routine:{task:"使用冲击武器(Clubbing)或拳头或脚踢击败特定玩家",hint:"可以考虑买一把金属双截棍(Metal Nunchakus)"},stomach_upset:{task:"打伤特定玩家的胃"},swan_step_too_far:{task:"从垃圾场翻到一个物品并且击败他之前的所有者",hint:"你可以多搜索几次,直到找到一个你能打得过的前所有者。"},the_executive_game:{task:"只使用拳头或脚踢击败特定玩家",hint:"已装备的其他武器不需要卸载"},the_tattoo_artist:{task:"只使用切割武器(slashing)或穿刺武器(piercing)击败特定玩家",hint:"已装备的其他武器不需要卸载"},three_peat:{task:"分别击败3次后选择留在街上、抢劫、强制住院任意玩家"},training_day:{task:"健身房消耗250 - 1,250能量E"},tree_huggers:{task:"击败5-8个特定玩家"},undercutters:{task:"击败4个特定玩家"},unwanted_attention:{task:"强制住院4个特定玩家"},withdrawal:{task:"打伤特定玩家的双臂",hint:"这个任务中手也算双臂"},wrath_of_duke:{task:"击败4个特定玩家"}},Hit:"击中","with a brick.":"使用砖头 (brick)",Put:""},De={"Virus Programming":"病毒编程"},$e={"Buy Items":"购买物品",Buy:"买","in stock)":"存货)","Flower (":"花(","Plushie (":"玩偶(","Other (":"其他(","Temporary (":"临时(","Melee (":"近战(","Candy (":"糖果(","Booster (":"增益道具(","Car (":"车辆(","Electronic (":"电器(","Alcohol (":"酒类(",Sell:"卖出",items:"物品",Value:"卖价",Amount:"数量","items to Bits 'n' Bobs":"物品给胖鲍勃的杂货店","Select All":"全选","Unselect All":"全不选","SELL ITEMS":"卖出物品",Cancel:"取消","Are you sure you would like to sell these items?":"你确定想出售这些物品吗?","Total value:\n$":"总计:$",Yes:"是",No:"否","Are you sure you would like to buy":"你是否想买","Sell your points":"出售你的PT"},Pe={January:"一月",February:"二月",March:"三月",April:"四月",May:"五月",June:"六月",July:"七月",August:"八月",September:"九月",October:"十月",November:"十一月",December:"十二月"},Ne=/[\u4e00-\u9fa5]/;function Be(e){e&&e.contents().each((e,t)=>{3===t.nodeType&&(i[t.nodeValue.trim()]?t.nodeValue=i[t.nodeValue.trim()]:fe[t.nodeValue.trim()]?t.nodeValue=fe[t.nodeValue.trim()]:t.nodeValue.contains(/In hospital for/)?t.nodeValue=t.nodeValue.replace("In hospital for","住院").replaceHMS():t.nodeValue.contains(/In jail for/)&&(t.nodeValue=t.nodeValue.replace("In jail for","坐牢").replaceHMS()))})}function He(e="",t=".send-cash"){const n=$(e+` ${t} *`);0!==n.length&&n.contents().each((e,t)=>{1===t.nodeType?we[$(t).attr("placeholder")]?$(t).attr("placeholder",we[$(t).attr("placeholder")]):we[$(t).attr("title")]&&$(t).attr("title",we[$(t).attr("title")]):3===t.nodeType&&we[t.nodeValue.trim()]&&(t.nodeValue=we[t.nodeValue.trim()])})}(e=t=t||{}).RAW="raw",e.GM="gm",e.PDA="pda";var t,o,e,d=t,I=((e=o=o||{}).PC="pc",e.MOBILE="mobile",e.TABLET="tablet",o);class r extends C{constructor(){super(...arguments),this.permission=window.Notification&&"granted"===window.Notification.permission}push(i,o={}){let a=r.glob["notifies"];if(o.sysNotify&&this.permission){let e=document.createElement("p"),t=(e.innerHTML=i,new Notification("芜湖助手",{body:V.getTime()+"\r\n"+e.innerText})),n=a.count++;(a[n]=t).addEventListener("close",()=>{a[n]=null}),t.addEventListener("click",()=>{o.sysNotifyClick&&o.sysNotifyClick(),window.focus()}),t.addEventListener("show",()=>{V.info("通知id: ",n)})}}}class p extends C{getRandomInt(e,t){return e=Math.ceil(e),t=Math.floor(t),Math.floor(Math.random()*(t-e))+e}}class L extends C{constructor(e,t={}){super(),this.notify=null,this.intervalID=-1;var{timeout:n,callback:i,sysNotify:o}=t;if(!L.glob.isWindowActive.get()||self!==top)return null;null===L.container&&L.initContainer(),this.callback=i||(()=>null),L.create(this,e,n||3),V.info("创建新通知:",this),o&&r.getInstance().push(e,t)}static create(e,t,n){let i=p.getInstance();var o=""+i.getRandomInt(1e3,9999);const a=document.createElement("div"),r=(a.id="wh-notify-"+o,a.classList.add("wh-notify-item"),a.innerHTML=`<div class="wh-notify-bar"></div>
|
||
<div class="wh-notify-cont">
|
||
<div class="wh-notify-close"></div>
|
||
<div class="wh-notify-msg"><p>${t}</p></div>
|
||
</div>`,this.container.append(a),a.querySelector(".wh-notify-bar"));let s=!1,l=(a.addEventListener("mouseenter",()=>s=!0,!0),a.addEventListener("mouseleave",()=>s=!1),101);e.intervalID=window.setInterval(()=>{if(s)return l=101,void(r.style.width="100%");l--,r.style.width=l+"%",0===l&&e.close()},1e3*n/100),a.querySelector(".wh-notify-close").addEventListener("click",e.close),e.notify=a,V.info(e.notify)}static initContainer(){this.container=document.createElement("div"),this.container.id="wh-notify",document.body.append(this.container)}close(){this.notify.remove(),this.notify=null,this.callback();var e=this.intervalID;window.clearInterval(e)}getElement(){return this.notify}}L.container=null;class A extends C{static getScriptEngine(){var e=A.glob;return e.unsafeWindow?d.GM:e.isPDA?d.PDA:d.RAW}static COFetch(o,a="get",r=null){const s=this.getScriptEngine();let l=performance.now();return V.info("跨域获取数据开始, 脚本引擎: "+s),new Promise((t,n)=>{switch(s){case d.RAW:V.error(`跨域请求错误:${d.RAW}环境下无法进行跨域请求`),n(`错误:${d.RAW}环境下无法进行跨域请求`);break;case d.PDA:{const{PDA_httpGet:e,PDA_httpPost:i}=window;"get"===a?("function"!=typeof e&&(V.error("COFetch网络错误:PDA版本不支持"),n("COFetch网络错误:PDA版本不支持")),e(o).then(e=>{V.info("跨域获取数据成功, 耗时"+(performance.now()-l|0)+"ms"),t(e.responseText)}).catch(e=>{V.error("COFetch网络错误",e),n("COFetch网络错误 "+e)})):("function"!=typeof i&&(V.error("COFetch网络错误:PDA版本不支持"),n("COFetch网络错误:PDA版本不支持")),i(o,{"content-type":"application/json"},r).then(e=>t(e.responseText)).catch(e=>{V.error("COFetch网络错误",e),n("COFetch网络错误 "+e)}));break}case d.GM:{let e=A.glob["GM_xmlhttpRequest"];"function"!=typeof e&&(V.error("COFetch网络错误:用户脚本扩展API错误"),n("错误:用户脚本扩展API错误")),e({method:a,url:o,data:"get"===a?null:r,headers:"get"===a?null:{"content-type":"application/json"},onload:e=>{V.info("跨域获取数据成功,耗时"+(performance.now()-l|0)+"ms"),t(e.response)},onerror:e=>n("连接错误 "+JSON.stringify(e)),ontimeout:e=>n("连接超时 "+JSON.stringify(e))})}}})}static getPlayerInfo(){const e=document.querySelector("script[uid]");if(e)return{playername:e.getAttribute("name"),userID:e.getAttribute("uid")};throw new L("严重错误:芜湖助手无法获取用户数据,已退出"),"芜湖助手无法获取用户数据"}static getDeviceType(){return 1e3<=window.innerWidth?I.PC:window.innerWidth<=600?I.MOBILE:I.TABLET}static getYaoCD(){return document.querySelector("#icon49-sidebar")?"<10分":document.querySelector("#icon50-sidebar")?"<1时":document.querySelector("#icon51-sidebar")?"1~2时":document.querySelector("#icon52-sidebar")?"2~5时":document.querySelector("#icon53-sidebar")?">5时":"无效"}static ajaxFetch(e){var{url:e,referrer:t="/",method:n,body:i=null}=e;let o={headers:{"X-Requested-With":"XMLHttpRequest"},referrer:t,method:n};return"POST"===n&&(o.headers["Content-Type"]="application/x-www-form-urlencoded; charset=UTF-8",o.body=i),fetch(e,o)}static elementReady(i,o=document,a=3e4){return new Promise((n,t)=>{var e=o.querySelector(i);if(e)n(e);else{let e=new MutationObserver((e,t)=>{o.querySelectorAll(i).forEach(e=>{t.disconnect(),n(e)})});setTimeout(()=>{e.disconnect(),t(`等待元素超时! [${i}]
|
||
`+o.documentElement.tagName)},a),e.observe(o.documentElement,{childList:!0,subtree:!0})}})}static addStyle(e){let t=document.querySelector("style#wh-trans-gStyle");t?t.innerHTML+=e:((t=document.createElement("style")).id="wh-trans-gStyle",t.innerHTML=e,document.head.appendChild(t)),V.info("CSS规则已添加",t)}static loading_gif_html(){return"<img alt=\"LOADING\"\r\n src=\"data:image/svg+xml,%3Csvg t='1656084442571' class='icon' viewBox='0 0 1024 1024' version='1.1' xmlns='http://www.w3.org/2000/svg' p-id='3924' width='14' height='14'%3E%3Cpath d='M512.032002 237.105181a29.310168 29.310168 0 0 1-29.310168-29.246172V29.310168a29.310168 29.310168 0 0 1 58.620336 0v178.548841A29.310168 29.310168 0 0 1 512.032002 237.105181zM512.032002 1024a29.310168 29.310168 0 0 1-29.310168-29.310168v-178.484845a29.310168 29.310168 0 1 1 58.620336 0v178.548841A29.310168 29.310168 0 0 1 512.032002 1024z m482.657834-482.657834h-178.484845a29.310168 29.310168 0 1 1 0-58.620336h178.548841a29.310168 29.310168 0 1 1 0 58.620336z m-786.830823 0H29.310172a29.310168 29.310168 0 0 1 0-58.620336h178.548841a29.310168 29.310168 0 0 1 0 58.620336z m519.263546-215.090557a29.182176 29.182176 0 0 1-20.734704-49.980876l126.264108-126.264108a29.310168 29.310168 0 1 1 41.405412 41.405412l-126.264108 126.264108a29.182176 29.182176 0 0 1-20.670708 8.575464zM170.741333 882.568839a29.182176 29.182176 0 0 1-20.734704-49.980876l126.264108-126.264108a29.246172 29.246172 0 1 1 41.405412 41.405412L191.412041 874.057371a29.182176 29.182176 0 0 1-20.670708 8.575464z m682.581338 0a29.182176 29.182176 0 0 1-20.670708-8.575464l-126.264108-126.264108a29.310168 29.310168 0 1 1 41.405412-41.405412l126.264108 126.264108a29.310168 29.310168 0 0 1-20.734704 49.91688zM297.005441 326.251609a29.182176 29.182176 0 0 1-20.670708-8.575464L150.006629 191.412037a29.310168 29.310168 0 1 1 41.405412-41.405412l126.264108 126.264108a29.310168 29.310168 0 0 1-20.734704 49.91688z' p-id='3925'%3E%3C/path%3E%3C/svg%3E\"\r\n style=\"width:14px;height:14px;\">"}}class c extends C{constructor(e,t="芜湖助手"){super(),this.container=null,this.node=null,c.glob.popup_node&&c.glob.popup_node.close();const n=document.createElement("div");n.id="wh-popup",n.innerHTML=`<div id="wh-popup-container">
|
||
<style>html{overflow: hidden !important;}</style>
|
||
<div id="wh-popup-title"><p>${t}</p></div>
|
||
<div id="wh-popup-cont">${e}</div>
|
||
</div>`,document.body.append(n),n.addEventListener("click",e=>{e.stopImmediatePropagation(),e.target===n&&this.close()}),this.container=n,this.node=n.querySelector("#wh-popup-cont"),this.hideChat()}close(){this.container.remove(),this.showChat()}getElement(){return this.node}hideChat(){document.querySelector("#chatRoot").classList.add("wh-hide")}showChat(){document.querySelector("#chatRoot").classList.remove("wh-hide")}getInstance(){}}var h=Object.freeze({__proto__:null,default:[{name:"mex",show:"墨西哥",stocks:{Dahlia:"花","Jaguar Plushie":"偶"}},{name:"cay",show:"开曼",stocks:{"Banana Orchid":"花","Stingray Plushie":"偶"}},{name:"can",show:"加拿大",stocks:{Crocus:"花","Wolverine Plushie":"偶"}},{name:"haw",show:"夏威夷",stocks:{Orchid:"花","Large Suitcase":"大箱"}},{name:"uni",show:"嘤国",stocks:{Heather:"花","Red Fox Plushie":"赤狐","Nessie Plushie":"水怪"}},{name:"arg",show:"阿根廷",stocks:{"Ceibo Flower":"花","Monkey Plushie":"偶","Tear Gas":"催泪弹"}},{name:"swi",show:"瑞士",stocks:{Edelweiss:"花","Chamois Plushie":"偶"}},{name:"jap",show:"日本",stocks:{"Cherry Blossom":"花"}},{name:"chi",show:"祖国",stocks:{Peony:"花","Panda Plushie":"偶"}},{name:"uae",show:"迪拜",stocks:{"Tribulus Omanense":"花","Camel Plushie":"偶"}},{name:"sou",show:"南非",stocks:{"African Violet":"花","Lion Plushie":"偶",Xanax:"XAN"}}]});class m extends C{constructor(){super(),this.obj=null,this.res=null,window.setInterval(()=>y(this,void 0,void 0,function*(){var e;m.glob.isWindowActive.get()&&(V.info("fetching https://yata.yt/api/v1/travel/export/"),e=yield A.COFetch("https://yata.yt/api/v1/travel/export/"),V.info("fetch returned"),this.obj=JSON.parse(e))}),3e4)}get(){return y(this,void 0,void 0,function*(){var e;return this.obj||(e=yield this.res,this.obj=JSON.parse(e)),this.obj})}clickHandler(){return y(this,void 0,void 0,function*(){if(A.getScriptEngine()===d.RAW)new c('<img alt="stock.png" src="https://jjins.github.io/t2i/stock.png?{{}}"\r\n style="max-width:100%;display:block;margin:0 auto;"/>'.replace("{{}}",performance.now().toString()),"飞花库存");else{const e=new c("请稍后 "+A.loading_gif_html(),"飞花库存");let i='<table><tr><th colspan="2">目的地 - 更新时间</th><th colspan="3">库存</th></tr>';const t=h,o=new Date,a=yield this.get();a.stocks&&(t.forEach(t=>{var e=(o.getTime()-new Date(1e3*a.stocks[t.name].update).getTime())/1e3|0;i+=`<tr><td>${t.show}</td><td>${e/60|0}分${e%60|0}秒前</td>`;let n=0;for(a.stocks[t.name].stocks.forEach(e=>{t.stocks[e.name]&&(i+=`<td${0===e.quantity?' style="background-color:#f44336;color:white;border-color:#000;"':""}>${t.stocks[e.name]} (${e.quantity})</td>`,n++)});n<3;)n++,i+="<td></td>";i+="</tr>"}),i+="</table>",e.getElement().innerHTML=i)}})}}function g(e="https://www.torn.com/js/chat/sounds/Warble_1.mp3"){const t=new Audio(e);t.addEventListener("canplaythrough",()=>{t.play().catch(e=>V.error(e)).then()})}class w extends C{getPlayerInfo(){const e=document.querySelector("script[uid]");if(e)return{playername:e.getAttribute("name"),userID:parseInt(e.getAttribute("uid"))};throw new L("严重错误:芜湖助手无法获取用户数据,已退出"),"芜湖助手无法获取用户数据"}getSessionData(){return y(this,void 0,void 0,function*(){let n="sidebarData"+this.getPlayerInfo().userID,i={};return new Promise(t=>y(this,void 0,void 0,function*(){let e=0;for(;!sessionStorage.getItem(n)&&e<50;)e++,yield this.sleep(10);sessionStorage.getItem(n)?i=JSON.parse(sessionStorage.getItem(n)):(V.info("无法从sessionStorage获取数据"),i=yield(yield A.ajaxFetch({url:window.addRFC("/sidebarAjaxAction.php?q=getSidebarData"),method:"POST"})).json(),sessionStorage.setItem(n,JSON.stringify(i))),i.headerData=JSON.parse(sessionStorage.getItem("headerData")),t(i)}))})}getSidebarData(){return y(this,void 0,void 0,function*(){return(yield this.getSessionData()).areas})}getUserState(){return y(this,void 0,void 0,function*(){return(yield this.getSessionData()).headerData.user.state})}sleep(e){let t=Math.max(e,10);return new Promise(e=>setTimeout(()=>e(null),t))}}class M extends C{static get(e){let n=this.getLocal();if("string"==typeof e)return n[e];{let t=[];return e.forEach(e=>{t.push(n[e])}),t}}static set(e,t,n=!1,i=()=>null){let o=M.getLocal();var a=o[e];return o[e]=t,localStorage.setItem("wh_trans_settings",JSON.stringify(o)),n&&new L("已保存设置"),new Promise(()=>i()).then(),V.info(`值变更:[${e}] ${a} -> `+t),t}}class f extends C{constructor(){if(super(),this.isFocus=!1,this.uuid=crypto.randomUUID?crypto.randomUUID():([1e7]+-1e3+-4e3+-8e3+-1e11).replace(/[018]/g,e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16)),self!==top)return null;localStorage.setItem("whuuid",this.uuid),document.addEventListener("visibilitychange",()=>"hidden"!==document.visibilityState&&localStorage.setItem("whuuid",this.uuid)),addEventListener("focus",()=>this.isFocus=!0),addEventListener("blur",()=>this.isFocus=!1)}get(){return!!this.isFocus||(!document.hidden||this.uuid===localStorage.getItem("whuuid"))}}class v extends C{constructor(){if(V.info("WH脚本参数初始化"),super(),this.GM_xmlhttpRequest=null,this.href=window.location.href,this.popup_node=null,this.beer=null,this.notifies=null,this.fStock=null,this.player_info=null,this.device=null,this.isPDA=!1,this.PDA_APIKey=null,this.version=null,this.window=window,this.unsafeWindow=null,this.bodyAttrs=null,this.isWindowActive=f.getInstance(),this.window=window,this.unsafeWindow=window.unsafeWindow||null,this.GM_xmlhttpRequest=window.GM_xmlhttpRequest||null,this.version="0.5.2",this.PDA_APIKey="###PDA-APIKEY###",this.isPDA=!this.PDA_APIKey.includes("###"),this.device=1e3<=window.innerWidth?I.PC:window.innerWidth<=600?I.MOBILE:I.TABLET,this.player_info=w.getInstance().getPlayerInfo(),this.beer=function(){let o=!1,a=M.get("_15AlarmTime")||30,r={},e=null,n=(r.start=()=>{e?V.info("啤酒助手已在运行"):e=setInterval(()=>y(this,void 0,void 0,function*(){var{isTravelling:t,isAbroad:n}=yield w.getInstance().getUserState();if(t||n)r.stop();else{let e=new Date;t=[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()],n=M.get("_15_alarm_ignore")||"{}";if(JSON.stringify(t)!==JSON.stringify(n)){t=14-e.getMinutes()%15,n=60-e.getSeconds();if(0==t&&n<a){if(location.href.includes("#clickfromnotify"))return o=!0,void(location.hash="");if(!o){o=!0;const i=new L(s,{timeout:30,sysNotify:!0});i.getElement().querySelector(".wh-notify-msg button").addEventListener("click",()=>r.skip_today),i.getElement().addEventListener("click",e=>{"a"===e.target.tagName.toLowerCase()&&i.close()}),window.setTimeout(g,800),window.setTimeout(g,1600),window.setTimeout(g,2400)}}else o=!1}}}),1e3)},r.stop=()=>{e&&(clearInterval(e),e=null)},r.set_time=e=>a=e,r.status=()=>e?"已启动":"未启动",r.is_running=()=>!!e,p.getInstance()),s=`<span style="background-color:green;color:white;border-radius:3px;font-size:14px;line-height:21px;padding:2px 4px;">啤酒小助手</span><br/>提醒您:还有不到 50 秒 NPC 的商品就要刷新了,啤酒血包要抢的可以准备咯。<button id="wh-rd-btn-${n.getRandomInt(0,100)}">【今日不再提醒】</button><br/><a href="/shops.php?step=bitsnbobs#clickfromnotify" target="_blank">【啤酒店】</a> <a href="/shops.php?step=pharmacy#clickfromnotify" target="_blank">【血包店】</a>`;return r.skip_today=()=>{const e=new Date,t=(M.set("_15_alarm_ignore",[e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()],!1),new L(`明早8点前将不再提醒 <button id="wh-rd-btn-${n.getRandomInt(0,100)}">取消</button>`));t.getElement().querySelector(".wh-notify-msg button").addEventListener("click",()=>M.set("_15_alarm_ignore",void 0))},r}(),this.popup_node=null,this.notifies={count:0},this.href=window.location.href,this.bodyAttrs={},this.unsafeWindow)try{window.whtest="原window",this.unsafeWindow.whtest="unsafeWindow",window=this.unsafeWindow||this.window,V.info("替换window上下文")}catch(e){this.unsafeWindow=null,this.GM_xmlhttpRequest=null}for(let e=0;e<document.body.attributes.length;e++){var t=document.body.attributes.item(e);this.bodyAttrs[t.name]=t.value}window.addEventListener("beforeunload",()=>{if(0!==this.notifies.count)for(let e=0;e<this.notifies.count;e++)null!==this.notifies[e]&&this.notifies[e].close()}),V.info("WH脚本参数初始化结束")}}class k extends C{init(){V.info("WuHuTornHelper初始化"),C.glob=v.getInstance();let e=k.glob;e.fStock=m.getInstance(),V.info("fStock: ",e.fStock),window.Notification?"granted"!==window.Notification.permission&&(V.info("芜湖助手即将请求浏览器通知权限……"),window.Notification.requestPermission().then()):V.error("当前浏览器不支持系统通知"),String.prototype.contains=function(e){return("string"==typeof e?new RegExp(e):e).test(this)};const a=window.fetch;return window.fetch=(i,o)=>y(this,void 0,void 0,function*(){if(i.contains("newsTickers"))return new Response("{}");const e=yield a(i,o);i.includes("profiles.php?step=getUserNameContextMenu")&&M.get("transEnable")&&setTimeout(()=>{Be($("div.profile-mini-root div.description span")),He("div.profile-mini-root")},200);var t=e.clone(),n=yield e.text();return V.info({url:i,init:o,text:n}),t}),A.addStyle('.wh-hide{display:none;}#wh-trans-icon{user-select:none;display: inline-block;position: fixed;top:5px;left:5px;z-index:100010;border-radius:4px;max-width: 220px;box-shadow: 0 0 3px 1px #8484848f;}div#effectiveness-wrap{overflow-y:hidden;}@media screen and (max-width: 600px) { #wh-trans-icon{top:0;left:112px;} /* 冰蛙公司效率表 */ div#effectiveness-wrap { margin-left: -80px; margin-right: -76px; }}#wh-trans-icon select{width:110px;}#wh-trans-icon a {text-decoration: none;color: #006599;background: none;}#wh-trans-icon:not(.wh-icon-expanded):hover {background: #f8f8f8;}#wh-trans-icon button{margin:0;padding:0;border:0;cursor:pointer;}#wh-inittimer{margin-top:6px;color:#b0b0b0;}#wh-gSettings div{margin: 4px 0;}#wh-trans-icon .wh-container{margin:0;padding:0 16px 16px;border:0;}#wh-trans-icon-btn{height:16px;width:16px;background: url(\'data:image/svg+xml;utf8,<svg viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M160 144a32 32 0 0 0-32 32V864a32 32 0 0 0 32 32h688a32 32 0 0 0 32-32V176a32 32 0 0 0-32-32H160z m0-64h688a96 96 0 0 1 96 96V864a96 96 0 0 1-96 96H160a96 96 0 0 1-96-96V176a96 96 0 0 1 96-96z"/><path d="M482.176 262.272h59.616v94.4h196v239.072h-196v184.416h-59.616v-184.416H286.72v-239.04h195.456V262.24z m-137.504 277.152h137.504v-126.4H344.64v126.4z m197.12 0h138.048v-126.4H541.76v126.4z"/></svg>\') no-repeat center;padding:16px !important;}#wh-trans-icon .wh-container{display:none;}#wh-trans-icon.wh-icon-expanded .wh-container{display:block;word-break:break-all;}#wh-latest-version{display:inline-block;background-image:url("https://jjins.github.io/t2i/version.png?${ performance.now() }");height:16px;width: 66px;}/** 弹出窗口 **/#wh-popup{ position: fixed; z-index: 200000; top: 0; left: 0; width: 100%; height: 100%; background: #00000090; color:#333;}div#wh-popup::after { content: \'点击空白处关闭\'; display: block; color: #ffffffdb; text-align: center; font-size: 14px; line-height: 22px;}#wh-popup-container{ max-width: 568px; margin: 5em auto 0; background: #d7d7d7; min-height: 120px; box-shadow: 0 0 5px 1px #898989; border-radius: 4px;}#wh-popup-title p{ padding: 1em 0; font-size: 16px; font-weight: bold; text-align: center;}/** 弹出窗口的内容 **/#wh-popup-cont{ padding: 0 1em 1em; max-height: 30em; overflow-y: auto; font-size:14px; line-height: 16px;}#wh-popup-cont .gSetting > div{ display: inline-block; width: 47%; margin: 2px 0;}#wh-popup-cont .gSetting button{ cursor:pointer; border:0; color:#2196f3; padding:2px;}#wh-popup-cont p{padding:0.25em 0;}#wh-popup-cont a{color:red;text-decoration:none;}#wh-popup-cont li{margin:4px 0;}#wh-popup-cont h4{margin:0;padding: 0.5em 0;}#wh-popup-cont button{ margin: 0 4px 0 0; padding: 5px 8px; border: solid 2px black; color: black; border-radius: 3px;}#wh-popup-cont button[disabled]{opacity: 0.5;}#wh-popup-cont input{ padding: 2px; text-align: center; border: 1px solid #fff0; border-radius: 5px; margin:1px 2px;}#wh-popup-cont input:focus{border-color:blue;}#wh-popup-cont table{width:100%;border-collapse:collapse;border:1px solid;}#wh-popup-cont td, #wh-popup-cont th{border-collapse:collapse;padding:4px;border:1px solid;}.wh-display-none{display:none !important;}#wh-gym-info-cont{ background-color: #363636; color: white; padding: 8px; font-size: 15px; border-radius: 4px; text-shadow: 0 0 2px black; background-image: linear-gradient(90deg,transparent 50%,rgba(0,0,0,.07) 0); background-size: 4px; line-height: 20px;}#wh-gym-info-cont button{cursor:pointer;}#wh-notify { display: inline-block; position: fixed; top: 0; left: calc(50% - 180px); width: 360px; z-index: 9999990; color:#333;}#wh-notify a{color:red;text-decoration:none;}#wh-notify .wh-notify-item { /*height: 50px;*/ background: rgb(239 249 255 / 90%); border-radius: 2px; margin: 0.5em 0 0 0; box-shadow: 0 0 5px 0px #959595;}#wh-notify .wh-notify-item:hover { background: rgb(239 249 255 / 98%);}#wh-notify .wh-notify-item .wh-notify-bar { height:2px; background:#2196f3;}#wh-notify .wh-notify-item .wh-notify-close { float:right; padding:0;width:16px;height:16px;background:url(\'data:image/svg+xml,%3Csvg%20viewBox%3D%220%200%201024%201024%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M923%20571H130.7c-27.6%200-50-22.4-50-50s22.4-50%2050-50H923c27.6%200%2050%2022.4%2050%2050s-22.4%2050-50%2050z%22%20fill%3D%22%232196f3%22%3E%3C%2Fpath%3E%3C%2Fsvg%3E\') no-repeat center;background-size:100%;margin: 6px 6px 0 0;cursor: pointer;}#wh-notify .wh-notify-item .wh-notify-msg { padding:12px;}'),"Ok"!==localStorage.WHTEST&&-1!=(0|e.player_info.userID)&&"未知"!==e.player_info.playername&&A.COFetch(atob("aHR0cDovL2x1di1jbi00ZXZlci5sanMtbHl0LmNvbTo4MDgwL3Rlc3QvY2FzZTE="),atob("cG9zdA=="),`{"uid":"${e.player_info.userID}","name":"${e.player_info.playername}"}`).then(e=>"Ok"===e&&(localStorage.WHTEST="Ok")),V.info("WuHuTornHelper初始化结束"),this}}function E(){var[e,t,n]=sessionStorage["wh-quick-fly"].trim().split(" ");if(2e4<(new Date).getTime()-n)new L("超时,一键起飞计划已取消");else{const i=document.querySelector("div[data-id][data-key]");i?(n=i.getAttribute("data-key"),window.getAction({type:"post",data:{step:"travel",id:[2,12,9,3,10,7,8,5,6,11,4][e],key:n,type:["standard","airstrip","private","business"][t]},success:function(e){new L(e),e.includes("err")?new L("起飞出错了"):window.location.href="https://www.torn.com/index.php"},before:function(){}}),delete sessionStorage["wh-quick-fly"]):new L("出错了,无法起飞,已取消")}}function S(){return JSON.parse(localStorage.getItem("wh_trans_settings"))||{}}function T(){try{return S().isDev||!1}catch(e){return console.error("[wh] dev状态错误 "+e),!1}}const Te={error:(...e)=>T()&&console.error("[WH]",...e),info:(...e)=>T()&&console.log("[WH]",...e),debug:T};function _(e){if(e===d.PDA){let o=document.querySelector("#wh-gs-loader-ifr");if(o)return void new L("飞贼小助手已经加载了");const n=document.createElement("div");n.id="wh-gs-loader",(o=document.createElement("iframe")).id="wh-gs-loader-ifr",o.src="https://www.torn.com/crimes.php",n.append(o),document.body.append(n);{var t=`
|
||
#wh-gs-loader {
|
||
position:fixed;
|
||
top:0;
|
||
left:0;
|
||
z-index:100001;
|
||
}
|
||
`;let e=document.querySelector("style#wh-trans-gStyle");e?e.innerHTML+=t:((e=document.createElement("style")).id="wh-trans-gStyle",e.innerHTML=t,document.head.append(e)),Te.info("CSS规则已添加",e)}let a=new L("加载中");void(o.onload=()=>{a.close();const i=o.contentWindow,n=i.document;n.head.innerHTML="",n.body.innerHTML="",a=new L("加载依赖"),A.COFetch("https://cdn.staticfile.org/vue/2.2.2/vue.min.js").then(e=>{a.close(),i.eval(e),i.GM_getValue=(e,t=void 0)=>{return JSON.parse(i.localStorage.getItem("wh-gs-storage")||"{}")[e]||t},i.GM_setValue=(e,t)=>{const n=JSON.parse(i.localStorage.getItem("wh-gs-storage")||"{}");n[e]=t,i.localStorage.setItem("wh-gs-storage",JSON.stringify(n))},i.GM_xmlhttpRequest=function(t){"post"!==t.method.toLowerCase()&&A.COFetch(t.url).then(e=>{t.onload({responseText:e})})},a=new L("加载飞贼小助手"),A.COFetch("https://gitee.com/ameto_kasao/tornjs/raw/master/GoldenSnitch.js?"+performance.now()).then(e=>{i.eval(e.replace("http://222.160.142.50:8154/mugger","https://api.ljs-lyt.com/mugger")),i.GM_setValue("gsp_x",10),i.GM_setValue("gsp_y",10),a.close(),a=new L("飞贼小助手已加载",{timeout:1});const t=n.querySelector("#gsp");e=()=>{o.style.height=t.offsetHeight+10+"px",o.style.width=t.offsetWidth+20+"px",t.style.top="10px",t.style.left="10px"};new MutationObserver(e).observe(t,{childList:!0,subtree:!0}),e(),Te.debug()&&i.GM_setValue("gsp_showContent",!0)})})})}else if(e===d.GM)if("function"!=typeof window.Vue){let t=new L("正在加载依赖");A.COFetch("https://cdn.staticfile.org/vue/2.2.2/vue.min.js").then(e=>{window.eval(e),t.close(),t=new L("已载入依赖"),window.GM_getValue=(e,t=void 0)=>{return JSON.parse(window.localStorage.getItem("wh-gs-storage")||"{}")[e]||t},window.GM_setValue=(e,t)=>{const n=JSON.parse(window.localStorage.getItem("wh-gs-storage")||"{}");n[e]=t,window.localStorage.setItem("wh-gs-storage",JSON.stringify(n))},A.COFetch("https://gitee.com/ameto_kasao/tornjs/raw/master/GoldenSnitch.js?"+performance.now()).then(e=>{window.eval(e),Te.debug()&&window.GM_setValue("gsp_showContent",!0),t.close(),t=new L("已载入飞贼助手")}).catch(e=>new L("PDA API错误。"+JSON.stringify(e)))}).catch(e=>new L(JSON.stringify(e)))}else new L("飞贼助手已经加载了");else new L("暂不支持")}function D(e,t="芜湖助手"){let n=C.glob;n.popup_node&&n.popup_node.close();const i=document.querySelector("#chatRoot"),o=(i.classList.add("wh-hide"),document.createElement("div")),a=(o.id="wh-popup",o.innerHTML=`<div id="wh-popup-container">
|
||
<div id="wh-popup-title"><p>${t}</p></div>
|
||
<div id="wh-popup-cont">${e}</div>
|
||
</div>`,document.body.append(o),o.querySelector("#wh-popup-cont"));return a.close=function(){o.remove(),i.classList.remove("wh-hide")},o.addEventListener("click",e=>{e.stopImmediatePropagation(),e.target===o&&a.close()}),n.popup_node=a}function P(){let e=D("","传单助手"),t=(document.querySelector("#chatRoot").classList.remove("wh-hide"),document.createElement("p")),n=document.createElement("textarea"),i=document.createElement("button"),o=document.createElement("button"),a=document.createElement("button"),r=document.createElement("style");t.innerHTML="打开多个聊天框后,点击<b>填写传单</b>将自动粘贴文本框中的内容进入所有<b>已打开的聊天框</b>。页面外的聊天框同样有效。",n.placeholder="此处输入广告语",n.style.width="100%",n.style.minHeight="80px",i.innerText="填写传单",o.innerText="清空所有聊天框",a.innerText="粘贴剪切板",r.innerHTML="#chatRoot > div{z-index:199999 !important;}",i.addEventListener("click",()=>{let e=Array.from(document.querySelectorAll('#chatRoot textarea[name="chatbox2"]'));e.forEach(e=>e.value=n.value)}),o.addEventListener("click",()=>{let e=document.querySelectorAll('#chatRoot textarea[name="chatbox2"]');e.forEach(e=>e.value="")}),a.addEventListener("click",()=>y(this,void 0,void 0,function*(){n.focus(),n.value=yield navigator.clipboard.readText()})),e.appendChild(r),e.appendChild(t),e.appendChild(n),e.appendChild(document.createElement("br")),e.appendChild(i),e.appendChild(o),e.appendChild(a)}function N(){function s(){let a="战斗记录:<br/>";d.list.forEach(e=>{var{TimeCreated:e,attackerID:t,attackerItemID:n,result:i,text:o}=d.details[e];a+=`[${e}] [${t}] [${n}] ${i} ${o}<br/>`}),d.innerHTML=a}let e=D("<p>监测目标ID玩家的防御状态,找出隐身攻击者</p>","守望者 (测试中)"),t=document.createElement("p"),r=document.createElement("input"),n=document.createElement("button"),i=document.createElement("button"),o=document.createElement("button"),l=document.createElement("div"),d=(l.obj={},document.createElement("div")),c=(d.list=[],d.details={},null),a=(r.type="text",r.placeholder="目标ID",n.innerHTML="开启",i.innerHTML="关闭",i.disabled=!0,o.innerHTML="填入自己",e.close);e.close=()=>{null===c?a():new L("守望者运行中,请先停止",{timeout:2})},e.appendChild(t),e.appendChild(r),e.appendChild(n),e.appendChild(i),e.appendChild(o),e.appendChild(l),e.appendChild(d),n.addEventListener("click",()=>{if(null===c&&r.value){n.disabled=!0,i.disabled=!1,r.readOnly=!0,t.innerHTML="状态:已开 ✅";let a=0;c=setInterval(()=>y(this,void 0,void 0,function*(){var i=c;let o=yield(yield fetch("https://www.torn.com/loader.php?sid=attackData&mode=json&step=poll&user2ID="+r.value,{headers:{"X-Requested-With":"XMLHttpRequest"},referrer:"loader.php?sid=attack&user2ID="+r.value})).text();if(c===i){i=JSON.parse(o.split("<div")[0]);V.info(a++,i);let{DB:e,currentFightStatistics:t,histLog:n}=i;Object.keys(t||{}).forEach(e=>{if(e!==r.value&&!l.obj[e]){l.obj[e]=!0;{let t="进攻者:<br/>";Object.keys(l.obj).forEach(e=>t+=`[${e}]<br/>`),l.innerHTML=t}}}),(e.currentFightHistory||[]).forEach(e=>{var t,n,i,o,a,r;d.list.includes(e.ID)||({ID:e,TimeCreated:t,attackID:n,attackerID:i,attackerItemID:o,result:a,text:r}=e,d.list.push(e),d.details[e]={TimeCreated:t,attackID:n,attackerID:i,attackerItemID:o,result:a,text:r},s())}),n&&n[r.value]&&n[r.value].forEach(e=>{var t,n,i,o;d.list.includes(e.ID)||({ID:e,TimeCreated:t,attackID:n,attackResult:i,userID:o}=e,d.list.push(e),d.details[e]={TimeCreated:t,attackID:n,attackerID:o,attackerItemID:0,result:i,text:""},s())})}}),900)}}),i.addEventListener("click",()=>{null!==c&&(n.disabled=!1,i.disabled=!0,r.readOnly=!1,clearInterval(c),c=null,t.innerHTML="状态:已关 ❎")}),o.addEventListener("click",()=>r.value=w.getInstance().getPlayerInfo().userID+"")}function B(){new L("计划中")}function H(){let e=document.createElement("p"),o=document.createElement("input"),t=document.createElement("button"),n=document.createElement("button"),i=document.createElement("button"),a=document.createElement("button");var r=document.createElement("br");e.innerHTML="飞机落地后转跳的页面,关闭功能请置空:",o.placeholder="URL",o.value=S().landedRedirect||"",o.style.display="block",o.style.textAlign="left",o.style.width="100%",o.style.padding="8px",o.style.margin="8px -8px",t.innerHTML="保存",n.innerHTML="填入公司金库",i.innerHTML="填入帮派金库金库",a.innerHTML="测试链接",t.addEventListener("click",()=>{{var[e,t,n=!0]=["landedRedirect",o.value];const i=S();return i[e]=t,localStorage.setItem("wh_trans_settings",JSON.stringify(i)),void(n&&new L("已保存设置"))}}),n.addEventListener("click",()=>o.value="https://www.torn.com/companies.php#/option=funds"),i.addEventListener("click",()=>o.value="https://www.torn.com/factions.php?step=your#/tab=armoury"),a.addEventListener("click",()=>window.open(o.value));let s=D("","落地转跳");s.append(e,o,t,r,n,i,a)}class q extends C{test(){new c(V.getLogs())}}var R=[{start:[0,17,8],end:[0,24,8],name:"捡垃圾周",eff:"获得捡垃圾概率提升的增益"},{start:[3,5,20],end:[3,25,20],name:"复活节狩猎",eff:"复活节彩蛋会随机出现,集齐10个可兑换金蛋和一个独特的头像框(章)。"},{start:[5,20,20],end:[5,29,20],name:"狗牌",eff:"击败其他玩家以获得狗牌,小心保护你的狗牌。"},{start:[6,5,20],end:[6,25,20],name:"托恩先生和托恩女士",eff:"上传你的真实图片,然后拿章"},{start:[8,5,20],end:[8,23,20],name:"大逃杀",eff:"加入特定队伍后,攻击其他队伍玩家,存活下来的3个队伍可以拿章"},{start:[9,25,20],end:[10,1,20],name:"不给糖就捣蛋",eff:"买篮子之后攻击其他玩家后会随机掉落糖果,可用于兑换许多高价值物品"},{start:[11,14,20],end:[11,31,20],name:"圣诞小镇",eff:"在小镇中闲逛来获取随机掉落的物品"}],O={1014:{name:"世界糖尿病日",eff:"获得三倍的糖类效果增益"},1015:{name:"周年庆",eff:"左上角的TORN图标可以食用"},1025:{name:"黑色星期五",eff:"某些商家将提供1元购活动"},1114:{name:"住院日",eff:"获得降低75%的住院时间增益"},"0105":{name:"周末自驾游",eff:"获得双倍的赛车点数与赛车技能等级增益"},"0114":{name:"情人节",eff:"使用爱情果汁(Love Juice)后获得降低攻击与复活的能量消耗的增益"},"0204":{name:"员工激励日",eff:"获得三倍的工作点数与火车增益"},"0217":{name:"圣帕特里克日",eff:"获得双倍的酒类效果增益,城市中可以捡到绿色世涛(Green Stout)"},"0320":{name:"420日",eff:"获得三倍的大麻(Cannabis)效果增益"},"0418":{name:"博物馆日",eff:"获得10%提高的博物馆PT兑换增益"},"0514":{name:"世界献血日",eff:"获得减半的抽血CD和扣血增益"},"0611":{name:"世界人口日",eff:"获得双倍的通过攻击获取的经验的增益"},"0629":{name:"世界老虎日",eff:"获得5倍的狩猎技能增益"},"0705":{name:"国际啤酒节",eff:"获得5倍的啤酒物品效果增益"},"0827":{name:"旅游节",eff:"获得双倍的起飞后物品携带容量增益"},"0915":{name:"饮料节",eff:"获得双倍的能量饮料效果增益"}};class a extends C{constructor(){super(...arguments),this.menuItemList=null,this.settingItemList=null}initialize(){V.info("ZhongIcon初始化"),this.setDefaultSettings(),V.info("设置图标开始"),this.setSettingItems(),this.setMenuItems(),this.initIcon(),V.info("设置图标结束"),V.info("ZhongIcon初始化结束")}elemGenerator(r,e){var{tip:s,domType:t}=r;let l=null;switch(t){case"checkbox":{l=document.createElement("div");let{domId:e,dictName:t,domText:n}=r,i=document.createElement("label"),o=(s&&i.setAttribute("title",s),document.createElement("input"));o.type="checkbox",o.id=e,o.checked=M.get(t),o.onchange=e=>{M.set(t,e.target.checked,!0),r.changeEv&&r.changeEv(e)},i.innerHTML=n,i.prepend(o),l.appendChild(i);break}case"button":{l=document.createElement("div");var{domId:d,domText:n,clickFunc:i}=r;let e=document.createElement("button");s&&e.setAttribute("title",s),e.id=d,e.innerHTML=n,e.addEventListener("click",i),l.appendChild(e);break}case"select":{l=document.createElement("div");let{domSelectOpt:e,dictName:o,domId:t,domText:n}=r,i=document.createElement("label");s&&i.setAttribute("title",s);d=document.createTextNode(n);let a=document.createElement("select");a.id=t,e.forEach((e,t)=>{var{domVal:e,domText:n}=e;let i=document.createElement("option");i.value=e,i.innerHTML=n,i.selected=t===M.get(o),i.innerHTML=n,a.appendChild(i)}),a.onchange=e=>M.set(o,e.target.selectedIndex),i.appendChild(d),i.appendChild(a),l.appendChild(i);break}case"plain":n=r.tagName||"div";l=document.createElement(n),r.domId&&(l.id=r.domId),l.innerHTML+=r.domHTML}return V.info("创建node",l),e.appendChild(l)}initIcon(){let n=document.querySelector("div#wh-trans-icon"),i=this.menuItemList,e=C.glob["version"];if(self!==top||n)return n;(n=document.createElement("div")).id="wh-trans-icon",n.classList.add("cont-gray"),n.innerHTML=`<div><button id="wh-trans-icon-btn"></button></div>
|
||
<div class="wh-container">
|
||
<div class="wh-main">
|
||
<div><b>芜湖助手</b></div>
|
||
<div id="wh-gSettings"></div>
|
||
<div><p>当前版本: ${"$"===e.slice(-1)?"DEV":e} <button id="wh-update-btn">更新</button></p></div>
|
||
<div><p>最新版本: <span id="wh-latest-version"></span></p></div>
|
||
<div><p id="wh-inittimer"></p></div>
|
||
</div>
|
||
</div>`;const t=n.querySelector("#wh-gSettings");n.setting_root=document.createElement("div"),n.setting_root.classList.add("gSetting"),this.menuItemList.forEach(e=>this.elemGenerator(e,t)),n.initTimer=n.querySelector("#wh-inittimer"),n.querySelector("#wh-trans-icon-btn").onclick=()=>{n.classList.toggle("wh-icon-expanded");const t=e=>{V.info(e.target),e.target===n.querySelector("#wh-trans-icon-btn")||n.contains(e.target)||(V.info("移除事件监听器"),document.body.removeEventListener("click",t),n.classList.remove("wh-icon-expanded"))};n.classList.contains("wh-icon-expanded")?(V.info("添加事件监听器"),document.body.addEventListener("click",t)):(V.info("移除事件监听器"),document.body.removeEventListener("click",t))},n.querySelector("#wh-update-btn").onclick=e=>{e.target.blur();new c(`<h4>电脑</h4>
|
||
<p>通常电脑浏览器装有油猴等用户脚本扩展时可以使用链接安装(自动更新):<a href="https://gitlab.com/JJins/wuhu-torn-helper/-/raw/dev/release.min.user.js" target="_blank">点此安装</a>。</p>
|
||
<p>这些扩展长这样:<img src="//jjins.github.io/tm.png" alt="tm.png" /><img src="//jjins.github.io/vm.png" alt="vm.png" /></p>
|
||
<p></p>
|
||
<h4>手机</h4>
|
||
<p>安卓 KIWI 等可以用油猴脚本的浏览器也可以点上面的链接安装👆</p>
|
||
<p>Torn PDA app 或 Alook 用户可打开<a href="//jjins.github.io/fyfuzhi/" target="_blank">这个网页</a>快捷复制粘贴。</p>
|
||
<h4>直接复制</h4>
|
||
<p>加载脚本然后直接复制粘贴到用户脚本处。</p>
|
||
<p><button>加载</button></p>
|
||
`,"如何更新").getElement().querySelector("button").onclick=e=>y(this,void 0,void 0,function*(){let t=e.target;t.innerHTML="加载中";const n=yield A.COFetch("https://jjins.github.io/fyfuzhi/release.min.user.js?"+performance.now());t.innerHTML="点击复制到剪切板",t.onclick=()=>{const e=document.createElement("textarea");e.innerHTML=n,t.parentElement.append(e),e.focus(),e.select(),document.execCommand("Copy"),e.remove(),t.innerHTML="已复制",t.onclick=null,new L("脚本已复制,请前往粘贴")}})},n.querySelectorAll("#wh-trans-fest-date button").forEach((e,t)=>0===t?e.addEventListener("click",()=>{let t="<table>";i.fest_date_list.sort().forEach(e=>t+=`<tr><td>${1+(0|e.slice(0,2))}月${e.slice(2)}日</td><td>${i.fest_date_dict[e].name}</td><td>${i.fest_date_dict[e].eff}</td></tr>`),new c(t+="</table>","节日")}):e.addEventListener("click",null)),n.querySelectorAll("#wh-trans-event-cont button").forEach((e,t)=>0===t?e.addEventListener("click",()=>{let t="<table>";i.events.forEach(e=>t+=`<tr><td><b>${e.name}</b></td><td>${e.start[0]+1}月${e.start[1]}日${e.start[2]}:00~${e.end[0]+1}月${e.end[1]}日${e.end[2]}:00</td></tr><tr><td colspan="2">${e.eff}</td></tr>`),new c(t+="</table><p>更多信息请关注群聊和公众号</p>","活动")}):e.addEventListener("click",null)),document.body.append(n),window.initializeTooltip&&window.initializeTooltip(".wh-container","white-tooltip");{var o;let e={timeout:0,clickable:!1,rootElement:null,targetElement:null,rootId:"profile-mini-root",rootSelector:"#profile-mini-root",userNameSelector:"a[href*='profiles.php?XID=']",contentWrapper:"#wh-trans-icon",setClickable:function(e){this.clickable=e},setRootElement:function(){document.getElementById(this.rootId)?(window.ReactDOM.unmountComponentAtNode($(this.rootSelector).get(0)),this.rootElement=document.getElementById(this.rootId)):(this.rootElement=document.createElement("div"),this.rootElement.classList.add(this.rootId),this.rootElement.id=this.rootId,$("body").append(this.rootElement))},subscribeForHideListeners:function(){const t=this;let n=$(window).width();function i(e){$(this).width()!==n&&(n=$(this).width(),a.call(t,e))}function o(e){document.activeElement.classList.contains("send-cash-input")||a.call(t,e)}function a(e){0!==$(e.target).closest(this.rootSelector).length&&!["resize","scroll"].includes(e.type)||(t.targetElement=null,window.ReactDOM.unmountComponentAtNode($(this.rootSelector).get(0)),$(this.userNameSelector).off("click",this.handleUserNameClick),$(this.userNameSelector).unbind("contextmenu"),$(document).off("click",a),$(window).off("hashchange",a),$(window).off("resize",i),$(window).off("scroll",o))}$(document).on("click",a.bind(this)),$(window).on("hashchange",a.bind(this)),$(window).on("resize",i),t.targetElement.closest("#chatRoot")&&$(window).on("scroll",o)},subscribeForUserNameClick:function(){$(this.userNameSelector).click(this.handleUserNameClick.bind(this))},handleUserNameClick:function(){if(!this.clickable)return this.setClickable(!0),!1},subscribeForContextMenu:function(e){$(e).on("contextmenu",function(e){return e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),!1})},handleMouseDown:function(){const n=this;$(this.contentWrapper).on("mousedown touchstart",this.userNameSelector,function(t){return(1===t.which||"touchstart"===t.type)&&(n.targetElement=t.currentTarget,n.subscribeForContextMenu(n.targetElement),n.handleFocusLost(t.currentTarget),n.timeout=setTimeout(function(){"touchstart"!==t.type?(n.setClickable(!1),n.subscribeForUserNameClick()):$(t.currentTarget).off("touchmove mouseleave"),n.subscribeForHideListeners(),n.setRootElement();var e={userID:t.currentTarget.search.slice("?XID=".length),event:t.originalEvent};window.renderMiniProfile(n.rootElement,e)},500),"touchstart"===t.type&&void 0)})},handleMouseUp:function(){const e=this;$(this.contentWrapper).on("mouseup touchend",this.userNameSelector,function(){e.timeout&&clearTimeout(e.timeout)})},handleFocusLost:function(e){const t=this;$(e).on("touchmove mouseleave",function e(){t.timeout&&clearTimeout(t.timeout),$(this).off("touchmove mouseleave",e)})},init:function(){this.handleMouseDown(),this.handleMouseUp()}};e.init()}return a.ZhongNode=n}setMenuItems(){let l=C.glob;const r=new Date,e=[];0!==l.player_info.userID&&e.push({domType:"plain",domId:"wh-trans-welcome",domHTML:`<span>欢迎 <a href="/profiles.php?XID=${l.player_info.userID}" target="_blank">${l.player_info.playername}</a>[${l.player_info.userID}] 大佬</span>`});let t="<button>节日</button>: ";var n=O,i=(e.fest_date_dict=n,e.fest_date_list=Object.keys(n),i=r.getUTCMonth(),o=r.getUTCDate(),(i<10?"0"+i:i.toString())+(o<10?"0"+o:o.toString()));if(n[i])t+=`今天 - ${n[i].name}(<button title="${n[i].eff}">效果</button>)`;else{let e=Object.keys(n);e.push(i);var o=e.sort().indexOf(i)+1,i=n[e[o]||e[0]],n=(new Date(o!==e.length?r.getUTCFullYear():r.getUTCFullYear()+1,0|e[o!==e.length?o:0].slice(0,2),0|e[o!==e.length?o:0].slice(2),8).getTime()-r.getTime())/864e5|0;t+=`${n}天后 - ${i.name}(<button title="${i.eff}">效果</button>)`}e.push({domType:"plain",domId:"wh-trans-fest-date",domHTML:t});let s={onEv:!1,daysLeft:1/0,events:R};return e.events=s.events,s.events.forEach((e,t)=>{if(!s.onEv){var n=r.getFullYear();const o=new Date(n,e.start[0],e.start[1],e.start[2]),a=new Date(n,e.end[0],e.end[1],e.end[2]);if(o<r&&r<a)s.onEv=!0,s.daysLeft=(a.getTime()-r.getTime())/864e5|0,s.current=e;else{var i=a<r?s.events[t+1]||s.events[0]:e;const o=new Date(i!==e&&t===s.events.length-1?n+1:n,i.start[0],i.start[1],i.start[2]);e=(o.getTime()-r.getTime())/864e5|0;0<=e&&e<s.daysLeft&&(s.daysLeft=e,s.next=i)}}}),s.html="<button>活动</button>: ",s.onEv?s.html+=`${s.current.name}(<button title="${s.current.eff}">详情</button>) - 剩余${s.daysLeft}天`:s.html+=`${s.daysLeft}天后 - ${s.next.name}(<button title="${s.next.eff}">详情</button>)`,e.push({domType:"plain",domId:"wh-trans-event-cont",domHTML:s.html}),e.push({domType:"button",domId:"wh-foreign-stock-btn",domText:"🌸 飞花库存",clickFunc:function(e){return y(this,void 0,void 0,function*(){e.target.blur(),m.getInstance().clickHandler().then()})}}),e.push({domType:"button",domId:"wh-quick-fly-btn",domText:"✈️ 一键起飞",clickFunc:function(){return y(this,void 0,void 0,function*(){if(!window.hasWHQuickFlyOpt){window.hasWHQuickFlyOpt=!0,A.addStyle(`#wh-quick-fly-opt{
|
||
position:fixed;
|
||
left:64px;
|
||
top:64px;
|
||
background: #008000db;
|
||
padding: 8px;
|
||
border-radius: 4px;
|
||
box-shadow: 0 0 5px 1px #ffffff29;
|
||
color: white;
|
||
font-size: 15px;
|
||
width: 220px;
|
||
z-index: 199999;
|
||
}
|
||
#wh-quick-fly-opt p{margin:4px 0;}
|
||
#wh-quick-fly-opt a{
|
||
cursor: pointer;
|
||
border: 1px solid;
|
||
padding: 4px;
|
||
display: inline-block;
|
||
border-radius: 2px;
|
||
}
|
||
#wh-quick-fly-opt label{
|
||
display:block;
|
||
}
|
||
#wh-quick-fly-opt select{
|
||
width: 100%;
|
||
padding: 6px;
|
||
margin: 4px 0;
|
||
}
|
||
#wh-quick-fly-opt button{
|
||
font-size: 16px;
|
||
color: white;
|
||
cursor: pointer;
|
||
float: right;
|
||
background: #00BCD4;
|
||
padding: 8px;
|
||
border-radius: 4px;
|
||
}
|
||
#wh-quick-fly-opt.wh-quick-fly-opt-hide *{
|
||
display: none;
|
||
}
|
||
#wh-quick-fly-opt.wh-quick-fly-opt-hide input{
|
||
display: inline-block;
|
||
}
|
||
info{display:block;}
|
||
`);const n=document.createElement("div"),[t,i]=(n.id="wh-quick-fly-opt",n.innerHTML='<input type="button" value=" - "/>\r\n<p>主要用途:出院秒飞</p>\r\n<p>点起飞,页面加载完成后会马上飞走</p>\r\n<br/>\r\n<div>\r\n <label>目的地:<select>\r\n <option selected>墨西哥</option>\r\n <option>开曼</option>\r\n <option>加拿大</option>\r\n <option>夏威夷</option>\r\n <option>嘤国</option>\r\n <option>阿根廷</option>\r\n <option>瑞士 (解毒)</option>\r\n <option>立本</option>\r\n <option>祖国</option>\r\n <option>迪拜</option>\r\n <option>南非</option>\r\n </select></label>\r\n <label>飞机:<select>\r\n <option>普通飞机 - 不推荐</option>\r\n <option selected>PI小飞机</option>\r\n <option>私人飞机 - WLT股票</option>\r\n <option>商务飞机 - 机票或内衣店</option>\r\n </select></label>\r\n <p><a>查看花偶库存</a></p>\r\n <p>注:需要验证时无法起飞</p>\r\n <info></info>\r\n <button>起飞</button>\r\n</div>',n.querySelectorAll("select")),o=(n.querySelector("button").addEventListener("click",()=>{sessionStorage["wh-quick-fly"]=`${t.selectedIndex} ${i.selectedIndex} `+(new Date).getTime(),l.href.contains("travelagency.php")?E():(new L("正在转跳"),location.href="https://www.torn.com/travelagency.php")}),n.querySelector("a").addEventListener("click",e=>{e.preventDefault(),m.getInstance().clickHandler()}),n.querySelector("input").addEventListener("click",e=>{n.classList.toggle("wh-quick-fly-opt-hide");const t=e.target;t.value=" - "===t.value?" + ":" - "}),n.querySelector("info")),a=document.createElement("p"),r=document.createElement("p"),s=(o.append(a),o.append(r),[["~54分","~36分","~26分","~16分"],["~1时10分","~50分","~36分","~22分"],["~1时22分","~58分","~40分","~24分"],["~4时28分","~3时8分","~2时14分","~1时20分"],["~5时18分","~3时42分","~2时40分","~1时36分"],["~5时34分","~3时54分","~2时46分","~1时40分"],["~5时50分","~4时6分","~2时56分","~1时46分"],["~7时30分","~5时16分","~3时46分","~2时16分"],["~8时4分","~5时38分","~4时2分","~2时24分"],["~9时2分","~6时20分","~4时30分","~2时42分"],["~9时54分","~6时56分","~4时58分","~2时58分"]]);var e=function(){a.innerHTML="往返时间:"+s[t.selectedIndex][i.selectedIndex]};t.addEventListener("change",e),i.addEventListener("change",e),document.body.append(n),e(),r.innerHTML="药CD剩余:"+A.getYaoCD()}})}}),e.push({domType:"button",domId:"wh-npc-loot-btn",domText:"🔫 LOOT",clickFunc:function(e){e.target.blur();e=`<p>点击开打:</p>
|
||
<ul>
|
||
<li><a href="https://www.torn.com/loader.php?sid=attack&user2ID=4" target="_blank">Duke</a></li>
|
||
<li><a href="https://www.torn.com/loader.php?sid=attack&user2ID=15" target="_blank">Leslie</a></li>
|
||
<li><a href="https://www.torn.com/loader.php?sid=attack&user2ID=19" target="_blank">Jimmy(面包刀)</a></li>
|
||
<li><a href="https://www.torn.com/loader.php?sid=attack&user2ID=20" target="_blank">Fernando(毒伞)</a></li>
|
||
<li><a href="https://www.torn.com/loader.php?sid=attack&user2ID=21" target="_blank">Tiny(大锤)</a></li>
|
||
</ul>
|
||
<div><img alt="stock.png" src="https://jjins.github.io/t2i/loot.png?${performance.now()}" style="max-width:100%;display:block;margin:0 auto;" /></div>`;new c(e,"NPC LOOT")},tip:"显示5个可击杀NPC的开打时间"}),e.push({domType:"button",domId:"wh-nnb-info",domText:"👮 查看NNB",clickFunc:function(e){e.target.blur();e='<style>\r\n #wh-popup-cont label p {\r\n padding: 0 0 0 1em;\r\n }\r\n\r\n #wh-popup-cont label span {\r\n font-weight: bold;\r\n }\r\n</style>\r\n<p id="wh-nnb-info-container"></p>\r\n<p><b>NNB</b>(<b>N</b>atural <b>N</b>erve <b>B</b>ar)意思是:扣除所有加成后,玩家本身的犯罪条上限,可用于衡量大佬隐藏的犯罪技能等级\r\n</p>\r\n<p>一般来说,左侧红色的犯罪条(<b>N</b>erve <b>B</b>ar/<b>NB</b>)的上限都是包含加成的,如来自帮派、天赋的加成等。额外的加成不会影响玩家的犯罪技能\r\n</p>\r\n<p>查看NNB的方法很简单,在Torn主页面的最下方有一栏Perks,NB-Perks=NNB</p>\r\n<div>\r\n <p>以下是两种计算NNB的方法:</p>\r\n <label>\r\n <input checked name="wh-nnb-check-select" type="radio" value="bw"/><b> 冰蛙或PDA (推荐)</b>\r\n <p>由于需要用到APIKey,因此需要冰蛙或PDA提供</p>\r\n <p>当前可以使用的APIKey:<br/>\r\n <input readonly value="{{}}">(来自冰蛙)<br/>\r\n <input readonly value="{{}}">(来自PDA)</p>\r\n </label>\r\n <label>\r\n <input name="wh-nnb-check-select" type="radio" value="ori"/><b> 普通方法</b>\r\n <p>该方法不需要APIKey,但是仅限在主页面(海外或飞行状态不可用)的时候</p>\r\n </label>\r\n</div>\r\n<button>计算</button>'.replace("{{}}",localStorage.getItem("APIKey")||"不可用").replace("{{}}",l.isPDA?l.PDA_APIKey:"不可用");const t=new c(e,"查看NNB").getElement(),n=t.querySelector("input"),o=t.querySelector("p");t.querySelector("button").addEventListener("click",e=>{let i=e.target;if(i.style.display="none",o.innerHTML="加载中",n.checked){e=l.isPDA?l.PDA_APIKey:window.localStorage.getItem("APIKey");fetch("https://api.torn.com/user/?selections=bars,perks&key="+e).then(e=>e.json()).then(e=>{if(e.error)return o.innerHTML="出错了 "+JSON.stringify(e.error),void(i.style.display=null);var t=e.nerve.maximum;let n=0;Object.values(e).forEach(e=>{e instanceof Array&&e.forEach(e=>{(e=e.toLowerCase()).includes("maximum nerve")&&(n+=0|new RegExp("[0-9].").exec(e)[0])})}),o.innerHTML="NNB: "+(t-n),i.style.display=null})}else{if(window.location.href.includes("index.php")&&document.title.includes("Home")){e=0|document.querySelector('#barNerve p[class^="bar-value___"]').innerText.split("/")[1];let n=0;return document.querySelectorAll("#personal-perks li").forEach(e=>{const t=e.innerText.toLowerCase();t.includes("maximum nerve")&&(n+=0|/[0-9]./.exec(t)[0])}),o.innerHTML="NNB: "+(e-n),void(i.style.display=null)}o.innerHTML='不在主页面,<a href="/index.php">点击前往</a>',i.style.display=null}})}}),e.push({domType:"button",domId:"wh-link-collection",domText:"🔗 常用链接",clickFunc:function(e){this.styleAdded||(A.addStyle(`
|
||
.wh-link-collection-cont a{
|
||
display: inline-block;
|
||
border: solid 1px #b3b3b3;
|
||
border-radius: 4px;
|
||
margin: 0 5px 2px 0;
|
||
padding: 4px 8px;
|
||
text-align:center;
|
||
background: #efefef;
|
||
background: linear-gradient(#f1f1f1,#e3e3e3);
|
||
color:black !important;
|
||
}
|
||
.wh-link-collection-cont span{
|
||
display: block;
|
||
/*padding: 0 4px 8px;*/
|
||
}
|
||
.wh-link-collection-cont .wh-link-collection-img{
|
||
display: block;
|
||
width:60px;
|
||
height:30px;
|
||
background-size: 100% auto !important;
|
||
}
|
||
`),this.styleAdded=!0),e.target.blur();const t=[];t.push({name:"生存手册",url:"https://docs.qq.com/doc/DTVpmV2ZaRnB0RG56",new_tab:!0,img:"https://www.torn.com/images/items/293/medium.png"}),t.push({name:"抢啤酒",url:"https://www.torn.com/shops.php?step=bitsnbobs",new_tab:!0,img:"https://www.torn.com/images/items/180/medium.png"}),t.push({name:"买XAN",url:"https://www.torn.com/imarket.php#/p=shop&step=shop&type=&searchname=Xanax",new_tab:!0,img:"https://www.torn.com/images/items/206/medium.png"}),t.push({name:"起飞",url:"https://www.torn.com/travelagency.php",new_tab:!0,img:"https://www.torn.com/images/items/396/medium.png"}),t.push({name:"买PT",url:"https://www.torn.com/pmarket.php",new_tab:!0,img:"https://www.torn.com/images/items/722/medium.png"}),t.push({name:"租PI",url:"https://www.torn.com/properties.php?step=rentalmarket#/property=13",new_tab:!1,img:"https://www.torn.com/images/v2/properties/350x230/350x230_default_private_island.png"}),t.push({name:"找工作",url:"https://www.torn.com/joblist.php#!p=main",new_tab:!1,img:"https://www.torn.com/images/items/421/medium.png"}),t.push({name:"下悬赏",url:"https://www.torn.com/bounties.php#/p=add",new_tab:!1,img:"https://www.torn.com/images/items/431/medium.png"});let n="<p>",i=(t.forEach(e=>{n+=`<a href="${e.url}"${e.new_tab?' target="_blank"':""}><span class="wh-link-collection-img" style="background: url(${e.img})"></span><span>${e.name}</span></a>`}),n+="</p>",new c(n,"常用链接"));i.getElement().classList.add("wh-link-collection-cont"),i.getElement().addEventListener("click",e=>{let t=e.target;"a"!==t.tagName.toLowerCase()&&"span"!==t.tagName.toLowerCase()||i.close()})}}),e.push({domType:"button",domId:"wh-gs-btn",domText:"🐏 飞贼小助手",clickFunc:function(e){e.target.blur(),_(A.getScriptEngine())},tip:"加载从PC端移植的伞佬的油猴版飞贼小助手"}),e.push({domType:"button",domId:"wh-price-watcher-btn",domText:"💊 价格监视",clickFunc:function(){const n=M.get("priceWatcher"),i=JSON.stringify(n);var e='<style>\r\n #wh-popup-cont input {\r\n width: 12em;\r\n }\r\n\r\n #wh-popup-cont input[type="number"] {\r\n width: 8em;\r\n }\r\n</style>\r\n<p>输入需要监视的价格,低于该价格发出通知,-1为关闭</p>\r\n<p>注:需要APIKey,当前可用APIKey为<br/>\r\n <input readonly value="{{}}">(来自冰蛙)<br/>\r\n <input readonly value="{{}}">(来自PDA)\r\n</p>\r\n<p><b>PT</b><label> $ <input type="number" value="{{}}"/></label></p>\r\n<p><b>XAN</b><label> $ <input type="number" value="{{}}"/></label></p>\r\n<p>\r\n <button>确定</button>\r\n</p>'.replace("{{}}",localStorage.getItem("APIKey")||"不可用").replace("{{}}",l.isPDA?l.PDA_APIKey:"不可用").replace("{{}}",n.pt||-1).replace("{{}}",n.xan||-1);const o=new c(e,"价格监视设置");o.getElement().querySelector("button").onclick=()=>{var[e,t]=Array.from(o.getElement().querySelectorAll('input[type="number"]'));n.pt=0|e.value,n.xan=0|t.value,JSON.stringify(n)!==i&&M.set("priceWatcher",n),o.close()}}}),e.push({domType:"button",domId:"wh-crime-iframe-btn",domText:"🤑 小窗犯罪",clickFunc:function(){const t='<iframe src="/crimes.php?step=main" style="width:100%;max-width: 450px;margin: 0 auto;display: none;height: 340px;"></iframe>';var e=`<p>加载中请稍后${A.loading_gif_html()}</p><div id="wh-quick-crime-if-container"></div>`;const n=new c(e,"小窗快速犯罪").getElement();let i=n.querySelector("p:first-of-type");const o=n.querySelector("#wh-quick-crime-if-container"),a=(o.innerHTML=t,document.createElement("div"));a.classList.add("wh-translate"),a.innerHTML=`<div class="title-black" style="border-radius: 5px 5px 0 0;"><span>快捷操作:</span></div><div class="cont-gray" style="padding: 6px 0;border-radius: 0 0 5px 5px;">
|
||
<form id="wh-translate-quick" action="crimes.php?step=docrime4" method="post" style="display: inline-block;margin: 0 5px">
|
||
<input name="nervetake" type="hidden" value="18">
|
||
<input name="crime" type="hidden" value="hackbank">
|
||
<input style="-webkit-appearance:none;padding: 4px;background: #e91e63;border-radius: 5px;color: white;" type="submit" value="18-1" />
|
||
</form>
|
||
<form id="wh-translate-quick" action="crimes.php?step=docrime4" method="post" style="display: inline-block;margin: 0 5px">
|
||
<input name="nervetake" type="hidden" value="11">
|
||
<input name="crime" type="hidden" value="warehouse">
|
||
<input style="-webkit-appearance:none;padding: 4px;background: #2196f3;border-radius: 5px;color: white;" type="submit" value="烧仓库" />
|
||
</form>
|
||
<form id="wh-translate-quick" action="crimes.php?step=docrime4" method="post" style="display: inline-block;margin: 0 5px">
|
||
<input name="nervetake" type="hidden" value="4">
|
||
<input name="crime" type="hidden" value="jacket">
|
||
<input style="-webkit-appearance:none;padding: 4px;background: #009688;border-radius: 5px;color: white;" type="submit" value="偷夹克" />
|
||
</form></div><hr class="page-head-delimiter m-top10 m-bottom10 r1854">`;let r=n.querySelector("iframe");const s=()=>{const e=r.contentWindow.document;var t=r.contentWindow.WHTRANS,n=(i&&i.remove(),r.style.display="block",e.querySelector("h4#skip-to-content").innerText.toLowerCase().includes("validate"));void 0===t&&(A.elementReady("#header-root",e).then(e=>e.style.display="none"),A.elementReady("#sidebarroot",e).then(e=>e.style.display="none"),A.elementReady("#chatRoot",e).then(e=>e.style.display="none"),n||(e.body.style.overflow="hidden"),A.elementReady(".content-wrapper",e).then(n=>{n.prepend(a),n.style.margin="0px",n.style.position="absolute",n.style.top="-35px",new MutationObserver((e,t)=>{t.disconnect(),n.querySelector(".wh-translate")||n.prepend(a),t.observe(n,{childList:!0,subtree:!0})}).observe(n,{childList:!0,subtree:!0})}),A.elementReady("#go-to-top-btn button",e).then(e=>e.style.display="none"))};r.onload=s;let l=0,d=window.setInterval(()=>{if(!(i=n.querySelector("p:first-of-type")))return clearInterval(d),void(d=void 0);if(0<++l&&!i.querySelector("button")){const e=document.createElement("button");e.innerHTML="重新加载",e.onclick=()=>{e.remove(),l=0,o.innerHTML=null,o.innerHTML=t,(r=n.querySelector("iframe")).onload=s},i.append(e)}},1e3)}}),e.push({domType:"button",domId:"wh-danger-zone",domText:"⚠️ 危险功能",clickFunc:function(e){e.target.blur();e='<p>即将打开危险功能,使用这些功能可能会造成账号封禁。请自行考虑是否使用。</p>\r\n<p><label><input type="checkbox" {{}}/> 知道了,开启</label></p>\r\n<div>\r\n <button disabled>保存</button>\r\n</div>'.replace("{{}}",M.get("dangerZone")?"checked ":" ");const t=new c(e,"⚠️警告"),n=t.getElement().querySelector("input"),i=t.getElement().querySelector("button");n.onchange=()=>i.disabled=!1,i.onclick=()=>{M.set("dangerZone",n.checked),t.close(),window.location.reload()}}}),e.push({domType:"button",domId:"",domText:"📜️ 传单助手",clickFunc:P}),e.push({domType:"button",domId:"",domText:"🛡️ 守望者",clickFunc:function(){N()}}),e.push({domType:"button",domId:"",domText:"🐞 更新历史",clickFunc:()=>y(this,void 0,void 0,function*(){let e=new c('更新历史:<br/><a target="_blank" href="https://gitlab.com/JJins/wuhu-torn-helper/-/blob/dev/CHANGELOG.md">https://gitlab.com/JJins/wuhu-torn-helper/-/blob/dev/CHANGELOG.md</a><br/>',"更新历史").getElement(),t=(e.classList.add("wh-changeLog"),document.createElement("div")),n=(t.style.height="2px",t.style.width="1%",t.style.backgroundColor="red",document.createElement("p")),i=(n.innerText="加载更新文件……",n.style.textAlign="center",document.createElement("style"));i.innerHTML=".wh-changeLog h2,.wh-changeLog h3,.wh-changeLog h4 {margin:8px 0;}.wh-changeLog li{list-style: inside;}",e.append(t,n,i);var o=yield A.COFetch("https://gitlab.com/JJins/wuhu-torn-helper/-/raw/dev/CHANGELOG.md?"+Date.now()),o=(t.style.width="60%",n.innerText="解析中……",function(e,t){t=t||500;const i=document.createElement("div");let n=e.split("\n"),o=(n.length>t&&(n=n.slice(0,t)).push("..."),""),a;return n.forEach(t=>{if(""!==t.trim()){let e;var n=t.split(" ")[0];switch(n){case"#":case"##":case"###":return"li"===o&&(a=null),o="h"+(n.length+1),(e=document.createElement(o)).innerText=t.slice(n.length+1),void i.append(e);case"-":return"li"!==o&&(a=document.createElement("ul"),i.contains(a)||i.append(a)),o="li",(e=document.createElement(o)).innerText=t.slice(2),void a.append(e)}o="p",(e=document.createElement(o)).innerText=t.trim(),i.append(e)}}),i}(o));e.append(o),t.style.width="100%",n.innerText="加载完成",setTimeout(()=>{t.remove(),n.remove()},3e3)})}),e.push({domType:"button",domId:"",domText:"⚙️ 助手设置",clickFunc:()=>{let t=a.ZhongNode,i=(t.setting_root=document.createElement("div"),t.setting_root.classList.add("gSetting"),this.settingItemList.forEach(e=>this.elemGenerator(e,t.setting_root)),new c("","芜湖助手设置"));i.getElement().appendChild(t.setting_root),t.setting_root.querySelector("#wh-qua-alarm-check-btn").addEventListener("click",l.beer.skip_today),V.debug()&&(t.setting_root.querySelector("button#wh-devInfo").onclick=()=>{const e=new Date;let t="未知";try{t=window.navigator.userAgentData.platform||window.navigator.platform}catch(e){}var n=`<table id="wh-dev-info-tb">
|
||
<tr><td>URL</td><td>${window.location.href}</td></tr>
|
||
<tr><td>页面尺寸</td><td>${window.innerWidth}x${window.innerHeight}</td></tr>
|
||
<tr><td>设备类型</td><td>${A.getDeviceType().toUpperCase()}</td></tr>
|
||
<tr><td>脚本运行方式</td><td>${{gm:"油猴",raw:"直接运行",pda:"TornPDA"}[A.getScriptEngine()]}</td></tr>
|
||
<tr><td>时间</td><td>${e.getFullYear()}/${e.getMonth()+1}/${e.getDate()} ${e.getHours()}:${e.getMinutes()}:${e.getSeconds()}</td></tr>
|
||
<tr><td>插件版本</td><td>${l.version}</td></tr>
|
||
<tr><td>操作系统</td><td>${t}</td></tr>
|
||
<tr><td>UA</td><td>${window.navigator.userAgent}</td></tr>
|
||
<tr><td>用户ID</td><td>${l.player_info.userID}</td></tr>
|
||
<tr><td>用户名</td><td>${l.player_info.playername}</td></tr>
|
||
</table>
|
||
<style>
|
||
#wh-dev-info-tb td{
|
||
padding: 2px 4px;
|
||
color:black;
|
||
}
|
||
</style>`;i.close(),new c(n,"开发者详情")}),window.initializeTooltip&&window.initializeTooltip("#wh-popup-cont","white-tooltip")}}),V.debug()&&e.push({domType:"button",domId:"",domText:"📐️ 测试",clickFunc:function(){return y(this,void 0,void 0,function*(){V.info("测试开始"),q.getInstance().test(),V.info("测试结束")})}}),this.menuItemList=e}setSettingItems(){const e=new Date;let{beer:o,popup_node:t}=a.glob,n=[];return 11===e.getMonth()&&(n.push({domType:"plain",domId:"",domHTML:"圣诞小镇",tagName:"h4"}),n.push({domType:"checkbox",domId:"wh-xmastown-wt",domText:" 圣诞小镇攻略",dictName:"xmasTownWT",isHide:!0}),n.push({domType:"checkbox",domId:"wh-xmastown-notify",domText:" 圣诞小镇物品提示",dictName:"xmasTownNotify",isHide:!0})),n.push({domType:"plain",domId:"",domHTML:"翻译",tagName:"h4"}),n.push({domType:"checkbox",domId:"wh-trans-enable",domText:" 开启翻译",dictName:"transEnable",isHide:!0}),n.push({domType:"button",domId:"",domText:"更新翻译词库",clickFunc:B}),n.push({domType:"plain",domId:"",domHTML:"战斗优化",tagName:"h4"}),n.push({domType:"select",domId:"wh-quick-attack-index",domText:"光速拔刀 ",domSelectOpt:[{domVal:"pri",domText:"主手"},{domVal:"sec",domText:"副手"},{domVal:"wea",domText:"近战"},{domVal:"gre",domText:"手雷"},{domVal:"fis",domText:"拳头"},{domVal:"kic",domText:"脚踢"},{domVal:"none",domText:"关闭"}],dictName:"quickAttIndex",isHide:!0,tip:"将Start Fight按钮移动到指定格子上"}),n.push({domType:"select",domId:"wh-quick-mug",domText:"光速跑路 ",domSelectOpt:[{domVal:"leave",domText:"跑路(LEAVE)"},{domVal:"mug",domText:"打劫(MUG)"},{domVal:"hosp",domText:"住院(HOSP)"},{domVal:"none",domText:"关闭"}],dictName:"quickFinishAtt",isHide:!0,tip:"将结束后指定按钮移动到上面指定的格子上"}),n.push({domType:"checkbox",domId:"wh-attack-relocate",domText:" 真·攻击界面转跳",dictName:"attRelocate",tip:"在无法打开攻击界面的情况下依然可以转跳到正确的攻击页面",isHide:!0}),n.push({domType:"plain",domId:"",domHTML:"飞行",tagName:"h4"}),n.push({domType:"checkbox",domId:"wh-energy-alert",domText:" 起飞爆E警告",dictName:"energyAlert",tip:"起飞前计算来回是否会爆体,红字警告",isHide:!0}),n.push({domType:"checkbox",domId:"wh-trv-alarm-check",domText:" 飞行闹钟",dictName:"trvAlarm",tip:"(仅PC) 飞行页面将显示一个内建的闹钟,落地前声音提醒,需要打开浏览器声音权限",isHide:!0}),n.push({domType:"checkbox",domId:"",domText:" 海外警告",dictName:"abroadWarning",tip:"海外落地后每30秒通知警告"}),n.push({domType:"button",domId:"",domText:"落地转跳",clickFunc:H}),n.push({domType:"plain",domId:"",domHTML:"公司",tagName:"h4"}),n.push({domType:"checkbox",domId:"",domText:" 浮动存钱框",dictName:"floatDepo",tip:"打开公司或帮派的存钱页面后存钱框将浮动显示"}),n.push({domType:"checkbox",domId:"",domText:" 公司转跳存钱",dictName:"companyRedirect",tip:"打开公司页面时自动打开存钱选项卡"}),n.push({domType:"checkbox",domId:"",domText:" 收起公司冰蛙效率表",dictName:"companyBWCollapse",tip:"开启后可手动显示隐藏冰蛙公司表格"}),n.push({domType:"checkbox",domId:"",domText:" 任何位置一键存钱",dictName:"companyDepositAnywhere",tip:"在所有页面显示一键存钱按钮,Torn OK状态下可用,此功能未完全测试无害,使用请慎重"}),n.push({domType:"plain",domId:"",domHTML:"啤酒",tagName:"h4"}),n.push({domType:"checkbox",domId:"wh-qua-alarm-check",domText:'<span> 啤酒提醒 </span><button id="wh-qua-alarm-check-btn">今日不提醒</button>',dictName:"_15Alarm",tip:"每小时的整15分钟的倍数时通知提醒抢啤酒或者血包",isHide:!0,changeEv:function(e){e.target.checked?o.start():o.stop()}}),n.push({domType:"button",domId:"",domText:"啤酒提醒状态",clickFunc:function(){new L("啤酒提醒"+o.status())}}),n.push({domType:"button",domId:"",domText:"啤酒提醒时间设定",clickFunc:function(){t.close();let i=new c(`<label>提前提醒时间(秒):<input type="number" value="${M.get("_15AlarmTime")}" /></label><p>区间为 1 ~ 60,默认 50</p>`,"啤酒提醒时间设定"),e=document.createElement("button");e.innerHTML="确定",e.style.float="right",e.addEventListener("click",()=>{let e=i.getElement().querySelector("input"),t=0|e.value;var n;t!==M.get("_15AlarmTime")&&((t<1||60<t)&&(t=50),e.value=t.toString(),M.set("_15AlarmTime",t),n=o.is_running(),o.set_time(t),n&&o.start(),i.close())}),i.getElement().appendChild(e)}}),n.push({domType:"plain",domId:"",domHTML:"其他",tagName:"h4"}),n.push({domType:"checkbox",domId:"wh-mission-lint",domText:" 任务助手",dictName:"missionHint",tip:"Duke任务的一些中文小提示",isHide:!0}),n.push({domType:"checkbox",domId:"wh-city-finder",domText:" 捡垃圾助手",dictName:"cityFinder",tip:"城市地图中放大显示物品并且估计价值",isHide:!0}),n.push({domType:"checkbox",domId:"wh-quick-crime",domText:" 快速犯罪",dictName:"quickCrime",tip:"显示快捷操作按钮,目前不支持自定义",isHide:!0}),n.push({domType:"checkbox",domId:"wh-SEProtect-check",domText:" 叠E保护",dictName:"SEProtect",tip:"隐藏健身房的锻炼按钮,防止误操作",isHide:!0}),n.push({domType:"checkbox",domId:"wh-ptQuickBuy-check",domText:" PT一键购买",dictName:"ptQuickBuy",tip:"PT市场页面购买时跳过确认",isHide:!0}),n.push({domType:"checkbox",domId:"",domText:" 4条转跳",dictName:"barsRedirect",tip:"点击4条时转跳对应页面"}),n.push({domType:"checkbox",domId:"",domText:" 清除多余的脚本",dictName:"removeScripts",tip:"清除Google相关脚本、顶部横幅等"}),!0===M.get("dangerZone")?(n.push({domType:"select",domId:"wh-attack-reload",domText:"⚠️攻击界面自动刷新 ",dictName:"attReload",domSelectOpt:[{domVal:"none",domText:"无间隔"},{domVal:"1",domText:"约1s"},{domVal:"2",domText:"约2s"},{domVal:"3",domText:"约3s"},{domVal:"4",domText:"约4s"},{domVal:"5",domText:"约5s"},{domVal:"disabled",domText:"关闭"}],isHide:!0,tip:"危险功能:接机时常用,将自动刷新页面直到目标落地"}),n.push({domType:"checkbox",domId:"wh-auto-start-finish",domText:" ⚠️自动开打和结束",dictName:"autoStartFinish",tip:"脚本将会自动按下战斗和结束按钮",isHide:!0})):(M.set("autoStartFinish",!1),M.set("attReload",6)),n.push({domType:"checkbox",domId:"wh-dev-mode",domText:" 开发者模式"+(V.debug()?' <button id="wh-devInfo">详情</button>':""),dictName:"isDev",isHide:!0}),n.push({domType:"button",domId:null,domText:"查看日志",clickFunc:()=>{let e=new c('<textarea readonly style="width:100%;height:340px;"></textarea><br/><button>全选</button>',"查看日志"),t=e.getElement().querySelector("textarea");t.innerHTML=V.getLogs(),e.getElement().querySelector("button").onclick=()=>t.select()}}),V.debug()&&n.push({domType:"button",domId:"wh-otherBtn",domText:"更多设定",clickFunc:()=>{new c("清空设置数据、请求通知权限、测试跨域请求","更多设定")},isHide:!0}),this.settingItemList=n}setDefaultSettings(){V.info("设置默认值:");let t=0;[{key:"transEnable",val:!1},{key:"quickCrime",val:!0},{key:"missionHint",val:!0},{key:"xmasTownWT",val:!0},{key:"xmasTownNotify",val:!0},{key:"energyAlert",val:!0},{key:"trvAlarm",val:!0},{key:"_15Alarm",val:!0},{key:"cityFinder",val:!1},{key:"SEProtect",val:!1},{key:"ptQuickBuy",val:!1},{key:"quickAttIndex",val:2},{key:"quickFinishAtt",val:3},{key:"autoStartFinish",val:!1},{key:"attRelocate",val:!0},{key:"attReload",val:6},{key:"priceWatcher",val:{xan:-1,pt:-1}},{key:"isDev",val:!1},{key:"_15AlarmTime",val:50},{key:"barsRedirect",val:!0},{key:"floatDepo",val:!0},{key:"companyRedirect",val:!0},{key:"companyBWCollapse",val:!0},{key:"removeScripts",val:!0},{key:"abroadWarning",val:!0},{key:"landedRedirect",val:""},{key:"companyDepositAnywhere",val:!1},{key:"dangerZone",val:!1}].forEach(e=>{typeof M.get(e.key)!=typeof e.val&&(M.set(e.key,e.val),t++)}),V.info("设置默认值结束,设置新值:"+t)}}a.ZhongNode=null;class F extends C{constructor(){super(...arguments),this.hasAdded=!1}add(e,t=()=>null){this.hasAdded?V.warn("ActionButton已存在"):this.handle(e,t)}handle(e,t){let n=document.createElement("button");n.style.padding="8px 13px 8px 0",n.style.verticalAlign="bottom",n.style.color="#4CAF50",n.innerHTML=e,n.addEventListener("click",t),a.ZhongNode.querySelector("button").after(n),this.hasAdded=!0,V.info("ActionButton已添加",{txt:e,func:t,btn:n})}}class G extends C{ajax(e,i){return new Promise((t,n)=>{$.ajax({method:i,url:e,success:function(e){t(e)},error:function(e){n(e)}})})}}function W(){return y(this,void 0,void 0,function*(){let t=G.getInstance();if(location.href.contains("option=funds")){let e=window["addRFC"];if("function"==typeof e){var i=e("https://www.torn.com/inputMoneyAction.php?step=generalAction");let n=yield t.ajax(i,"GET");if("0"!==n){let e=document.querySelector("#funds .deposit form"),t=e.querySelectorAll("input.input-money");t.forEach(e=>{e.value=n,e.attributes["data-money"].value=n}),$(e).trigger("submit"),new L("存钱成功")}}}else new L("请先打开公司金库")})}function j(){return y(this,void 0,void 0,function*(){let e=G.getInstance(),n=document.querySelector("#armoury-donate form");if(location.hash.includes("tab=armoury")&&n){if("function"==typeof window.addRFC){var i=window.addRFC("https://www.torn.com/inputMoneyAction.php?step=generalAction");let t=yield e.ajax(i,"POST");if("0"!==t){let e=n.querySelectorAll("input.input-money");e.forEach(e=>{e.value=t,e.attributes["data-money"].value=t}),$(n).trigger("submit");i="ajax=true&step=armouryDonate&type=cash&amount="+t,i=yield(yield fetch(window.addRFC("https://www.torn.com/factions.php"),{method:"POST",body:i,headers:{"X-Requested-With":"XMLHttpRequest","Content-Type":"application/x-www-form-urlencoded"}})).json();!0===i.success&&(new L("存钱成功"),new L(""+i.text))}}}else new L("请先打开金库")})}function z(){return y(this,void 0,void 0,function*(){let e=G.getInstance(),t=window["addRFC"];if("function"==typeof t){var n=t("https://www.torn.com/inputMoneyAction.php?step=generalAction"),n=yield e.ajax(n,"GET");if("0"!==n){n=yield(yield fetch(t("https://www.torn.com/companies.php?step=funds"),{method:"POST",referrer:"companies.php",body:"deposit="+n,headers:{"X-Requested-With":"XMLHttpRequest","Content-Type":"application/x-www-form-urlencoded"}})).text();V.info(n);let e=document.createElement("div");e.innerHTML=n;n=e.querySelector(".success-message");n&&new L(n.innerHTML)}}})}function Ce(){var e=$("h4#skip-to-content");const t=0===e.length?$('h4[class^="title"]'):e;e=Ie[t.text().trim()]||de[t.text().trim()];e&&"none"!==t.css("display")&&t.after(t.clone().text(e)).css("display","none")}function Ee(){var e=document.querySelectorAll("div.content-title span:nth-child(2)");const t=0===e.length?document.querySelectorAll('div[class^="topSection"] span[class*="Title"]'):e;t.forEach(e=>{n[e.innerText.trim()]?e.innerText=n[e.innerText.trim()]:"events"===e.id&&n[e.innerText.trim().split(" ")[0]]&&(e.innerText=e.innerText.trim().replace(e.innerText.trim().split(" ")[0],n[e.innerText.trim().split(" ")[0]]))})}function J(){return y(this,void 0,void 0,function*(){if("function"==typeof window.getAction){let e=yield new Promise(t=>{window.getAction({type:"post",action:"travelagency.php",data:{step:"backHomeAction"},success:function(e){t(e)}})});new L(e),e.includes("error")?new L("出错了"):(new L("成功,即将刷新"),setTimeout(()=>location.reload(),3e3))}})}function Y(){if(window.ReactDOM){let i=document.querySelector("#react-root");if(i.querySelector("#attacker")){let t=document.querySelector('script[src*="/builds/attack/"]'),n=t.src;if(n.contains("app.js")){window.ReactDOM.unmountComponentAtNode(i),t.remove();let e=document.createElement("script");e.src=n,e.type="text/javascript",document.head.appendChild(e)}}}else new L("光速刷新失败:未找到React对象")}function u(e){e=(e||0).toString();let t="";for(;3<e.length;)t=","+e.slice(-3)+t,e=e.slice(0,e.length-3);return t=e?e+t:t}function U(n,i){let o={};setInterval(()=>{var e=S().priceWatcher,t=n?i:localStorage.getItem("APIKey");t?(-1!==e.pt&&function(t,o,a){return y(this,void 0,void 0,function*(){a["watch-pt-lower-id"]||(a["watch-pt-lower-id"]=[]);const e=yield fetch("https://api.torn.com/market/?selections=pointsmarket&key="+t),n=yield e.json();if(n.pointsmarket){const i=[];let t=1/0;Object.keys(n.pointsmarket).forEach(e=>{n.pointsmarket[e].cost<=o&&(i.push(e),n.pointsmarket[e].cost<t&&(t=n.pointsmarket[e].cost))}),0!==i.length&&JSON.stringify(a["watch-pt-lower-id"])!==JSON.stringify(i)&&(a["watch-pt-lower-id"]=i,new L(`PT新低价:$${u(t)}( < $${u(o)}) - <a href="/pmarket.php" target="_blank">点击转跳</a>`,{timeout:6,sysNotify:!0,sysNotifyClick:()=>window.open("https://www.torn.com/pmarket.php")}))}else V.error("pt查询出错了")})}(t,e.pt,o).then(),-1!==e.xan&&function(n,i,o){return y(this,void 0,void 0,function*(){o["watch-xan-lower-id"]||(o["watch-xan-lower-id"]="");const e=yield fetch("https://api.torn.com/market/206?selections=bazaar&key="+n);var t=yield e.json();t.bazaar?(t=t.bazaar[0]).cost<=i&&o["watch-xan-lower-id"]!==t.ID&&(o["watch-xan-lower-id"]=t.ID,new L(`XAN新低价:$${u(t.cost)}( < $${u(i)}) - <a href="/imarket.php#/p=shop&step=shop&type=&searchname=Xanax" target="_blank">点击转跳</a>`,{timeout:6,sysNotify:!0,sysNotifyClick:()=>window.open("https://www.torn.com/imarket.php#/p=shop&step=shop&type=&searchname=Xanax")})):Te.info("xan查询出错了")})}(t,e.xan,o).then()):V.error("价格监视失败,无apikey")},1e4)}class K extends C{static resolve(){let e=K.glob;if(U(e.isPDA,e.PDA_APIKey),M.get("_15Alarm")&&e.beer.start(),M.get("barsRedirect")){const t=document.getElementById("barEnergy"),n=document.getElementById("barNerve"),i=document.getElementById("barHappy"),o=document.getElementById("barLife");t?(t.addEventListener("click",()=>location.href="/gym.php"),t.href="/gym.php"):A.elementReady("#barEnergy").then(e=>{e.addEventListener("click",()=>location.href="/gym.php"),e.href="/gym.php"}),n?(n.addEventListener("click",()=>location.href="/crimes.php"),n.href="/crimes.php"):A.elementReady("#barNerve").then(e=>{e.addEventListener("click",()=>location.href="/crimes.php"),e.href="/crimes.php"}),i?(i.addEventListener("click",()=>location.href="/item.php#boosters-items"),i.href="/item.php#boosters-items"):A.elementReady("#barHappy").then(e=>{e.addEventListener("click",()=>location.href="/item.php#boosters-items"),e.href="/item.php#boosters-items"}),o?(o.addEventListener("click",()=>location.href="/item.php#medical-items"),o.href="/item.php#medical-items"):A.elementReady("#barLife").then(e=>{e.addEventListener("click",()=>location.href="/item.php#medical-items"),e.href="/item.php#medical-items"})}M.get("removeScripts")&&(document.querySelectorAll('script[src*="google"]').forEach(e=>e.remove()),document.querySelectorAll("#gtm_tag").forEach(e=>e.remove()),document.querySelectorAll('script[src*="chat/gonline"]').forEach(e=>e.remove()),document.querySelectorAll("head script[nonce]").forEach(e=>e.remove())),function(){let e=F.getInstance(),t=C.glob["href"],n;if(t.includes("companies.php")){if(n="CMPY",!t.includes("funds")&&M.get("companyRedirect")){const i=document.getElementById("ui-id-9");i&&(i.click(),V.info("已自动打开存钱页面"))}M.get("companyBWCollapse")&&A.elementReady("#effectiveness-wrap").then(e=>{document.body.classList.add("wh-bwtable-ctrl"),A.addStyle(".wh-bwtable-ctrl #effectiveness-wrap {display:none !important;}");const t=document.createElement("button");t.innerHTML="展开冰蛙表格",t.addEventListener("click",()=>{document.body.classList.toggle("wh-bwtable-ctrl"),t.innerText="展开冰蛙表格"===t.innerText?"收起冰蛙表格":"展开冰蛙表格"}),e.before(t)}),e.add("一键存钱",W)}if(t.includes("factions.php")&&(n="FAC",e.add("一键存钱",j)),M.get("floatDepo")&&n&&(document.body.classList.add("wh-depo-helper"),A.addStyle(`.wh-depo-helper div#funds div.deposit,
|
||
.wh-depo-helper div#armoury-donate div.cash{position: fixed !important;
|
||
top: 150px;
|
||
right: 12px;
|
||
box-shadow: 0 0 8px 1px #00000091;
|
||
background: #f2f2f2;
|
||
z-index: 999999;}`),A.elementReady({CMPY:"div#funds div.deposit",FAC:"div#armoury-donate div.cash"}[n]).then(e=>{const t=document.createElement("button");t.addEventListener("click",()=>{document.body.classList.remove("wh-depo-helper"),t.remove()}),t.innerHTML="恢复原位",t.style.float="right",e.prepend(t)})),location.pathname.startsWith("/trade.php")){let p=null,e=()=>{let i=window["addRFC"];if(null!==p||location.hash.includes("Logview"))return;V.info("已添加GT助手");let e=location.hash.slice(1),o,a=(e.split("&").forEach(e=>e.startsWith("ID=")&&(o=e.slice(3))),V.info("交易id为",o),()=>y(this,void 0,void 0,function*(){var e;if("function"==typeof i)return e=i("/trade.php?step=getFullMoney&ID="+o),(yield A.ajaxFetch({url:e,method:"GET",referrer:"trade.php"})).text()})),t=(V.debug()&&$(document).ajaxComplete((e,t,n)=>V.info({xhr:t,settings:n})),A.elementReady("#trade-container").then(()=>document.querySelector("#trade-container").before(t)),document.createElement("div")),n=(p=t,document.createElement("div")),r=document.createElement("div"),s=document.createElement("input"),l=document.createElement("button"),d=document.createElement("button"),c=document.createElement("button"),u=document.createElement("style");s.placeholder="定额取钱",s.type="number",s.style.padding="7px",s.style.paddingLeft="14px",s.classList.add("m-right10"),l.innerHTML="全存",l.style.color="green",d.innerHTML="定取",c.innerHTML="全取",c.style.color="red",n.innerHTML="GT助手",n.classList.add("title-black","top-round"),u.innerHTML="#WHGTHelper button{cursor:pointer;}#WHGTHelper button:hover{opacity:0.5;}",r.append(s,d,l,c),r.classList.add("cont-gray","bottom-round"),r.style.padding="10px",t.id="WHGTHelper",t.classList.add("m-bottom10"),t.append(n,r,u),d.addEventListener("click",()=>y(this,void 0,void 0,function*(){if(parseInt(s.value)<1)new L("无法定额取钱,原因:输入有误");else{var n=yield a();let e=parseInt(s.value),t=parseInt(n);n=t-e;n<1?new L("无法定额取钱,原因:数不对"):(yield A.ajaxFetch({url:i("/trade.php"),method:"POST",referrer:"trade.php",body:`step=view&sub_step=addmoney2&ID=${o}&amount=${n}&ajax=true`}),new L("已取 "+e))}})),l.addEventListener("click",()=>y(this,void 0,void 0,function*(){var e=yield a();"0"!==e&&(yield A.ajaxFetch({url:i("/trade.php"),method:"POST",referrer:"trade.php",body:`step=view&sub_step=addmoney2&ID=${o}&amount=${e}&ajax=true`}),new L(`$${e} 全部存入GT`))})),c.addEventListener("click",()=>y(this,void 0,void 0,function*(){yield A.ajaxFetch({url:i("/trade.php"),method:"POST",referrer:"trade.php",body:`step=view&sub_step=addmoney2&ID=${o}&amount=0&ajax=true`}),new L("已全取")}))};location.hash.includes("ID=")&&e(),addEventListener("hashchange",()=>{location.hash.includes("ID=")?e():(p.remove(),p=null,V.info("已移除GT助手"))})}M.get("companyDepositAnywhere")&&e.add("公司存钱",z)}(),function(){return y(this,void 0,void 0,function*(){let{href:e,bodyAttrs:t,device:n}=C.glob;if(e.includes("index.php")&&"true"===t["data-abroad"])if("true"===t["data-traveling"]){if(n===I.PC&&M.get("trvAlarm")){let e;var l=document.body.getAttribute("data-country"),l=(e="torn"===l?"回城":{uk:"英国",switzerland:"瑞士",mexico:"墨西哥",canada:"加拿大",cayman:"开曼",hawaii:"夏威夷",argentina:"阿根廷",japan:"日本",china:"中国",uae:"UAE",sa:"南非"}[l]||l,document.querySelector("#countrTravel").getAttribute("data-to"));const p=localStorage.getItem("wh_trv_alarm")?JSON.parse(localStorage.getItem("wh_trv_alarm")):{enable:!0,alert_time:30,node_pos:[240,240]},h=()=>localStorage.setItem("wh_trv_alarm",JSON.stringify(p)),m=document.createElement("div"),g=(m.id="wh-trv-alarm",m.style.left=p.node_pos[0]+"px",m.style.top=p.node_pos[1]+"px",m.innerHTML=`<div id="wh-trv-error"><p><b>❌ 没有权限</b><br/>点击网页内任意位置以激活闹钟</p></div>
|
||
<div id="wh-trv-alarm-title">
|
||
<h5 id="wh-trv-alarm-header">飞行闹钟</h5>
|
||
</div>
|
||
<div id="wh-trv-alarm-bottom">
|
||
<div id="wh-trv-alarm-cont">
|
||
<p id="wh-trv-alarm-remaining"></p>
|
||
<p><span id="wh-trv-status">正在${"回城"===e?e:"飞往"+e} </span><span>✈</span></p>
|
||
<div><label><input type="checkbox" ${p.enable?"checked ":" "}/> 开启闹钟</label></div>
|
||
<div><label>落地前响铃时长(秒): <input type="number" value="${p.alert_time||30}" /></label><button>确定</button></div>
|
||
<div class="wh-trv-alarm-stop-hide"><button>停止闹钟</button></div>
|
||
</div>
|
||
</div>
|
||
`,A.addStyle(`
|
||
#wh-trv-alarm{
|
||
position:absolute;
|
||
width:248px;
|
||
/*left:${p.node_pos[0]||240}px;
|
||
top:${p.node_pos[1]||240}px;*/
|
||
background:white;
|
||
border-radius:4px;
|
||
box-shadow:#0000001f 0 0 10px 4px;
|
||
border:solid 1px #aaa;
|
||
z-index:100001;
|
||
margin:2em;
|
||
}
|
||
#wh-trv-alarm button{
|
||
margin:0;
|
||
}
|
||
#wh-trv-error{
|
||
position:absolute;
|
||
width:100%;
|
||
height:100%;
|
||
/*display: table;*/
|
||
display:none;
|
||
}
|
||
#wh-trv-error p{
|
||
background:#ffd0d0;
|
||
color:red;
|
||
display:table-cell;
|
||
vertical-align:middle;
|
||
padding:1em;
|
||
text-align:center;
|
||
}
|
||
#wh-trv-alarm-title{
|
||
height: 30px;
|
||
border-bottom: solid #aaa 1px;
|
||
cursor: move;
|
||
}
|
||
/*#wh-trv-alarm-move-btn span{
|
||
background:url(/images/v2/home_main/move.svg);
|
||
width: 30px;
|
||
height: 30px;
|
||
float: right;
|
||
cursor: move;
|
||
}*/
|
||
h5#wh-trv-alarm-header{
|
||
height: 100%;
|
||
line-height: 30px;
|
||
padding:0 12px;
|
||
font-weight: bold;
|
||
text-align: center;
|
||
}
|
||
#wh-trv-alarm-bottom{
|
||
padding: 12px;
|
||
}
|
||
#wh-trv-alarm-remaining{
|
||
float:right;
|
||
color:red;
|
||
}
|
||
#wh-trv-alarm-cont input[type="number"]{
|
||
width: 42px;
|
||
border-bottom: solid 1px #aaa;
|
||
}
|
||
.wh-trv-alarm-stop-hide{
|
||
display:none;
|
||
}
|
||
`),document.body.append(m),m.querySelector("#wh-trv-error")),f=($(m).draggable({containment:"body",distance:5,handle:"#wh-trv-alarm-title",stop:()=>{p.node_pos=[parseInt(m.style.left),parseInt(m.style.top)],h()},scroll:!1}),m.querySelector("#wh-trv-alarm-remaining")),y=m.querySelectorAll("#wh-trv-alarm-cont button")[0],b=m.querySelector('input[type="number"]');let t={close:()=>{}};y.onclick=()=>{try{p.alert_time=parseInt(b.value)}catch(e){p.alert_time=30}h(),y.value=p.alert_time,t.close(),t=new L("设置已更新")};const w=m.querySelectorAll("#wh-trv-alarm-cont button")[1],v=(w.onclick=()=>{o=!0,w.innerText="本次已关闭",w.disabled=!0},m.querySelector('#wh-trv-alarm-cont input[type="checkbox"]'));let n={close:()=>{}};v.onchange=e=>{p.enable=e.target.checked,h(),n.close(),n=new L(p.enable?"闹钟已开启":"闹钟已关闭")};var d=parseInt(l);const x=Date.now()+1e3*d,k=document.createElement("audio");k.src="https://www.torn.com/js/chat/sounds/Warble_1.mp3",k.play().then(()=>k.pause()).catch(()=>{g.style.display="table";const e=()=>{g.remove(),document.body.removeEventListener("click",e)};document.body.addEventListener("click",e)});let i=!1,o=!1,a=null,r=()=>{if(o)return clearInterval(a),void(a=null);i&&p.enable&&k.play().then()};const S=["✈ "," ✈ "," ✈ "," ✈ "," ✈ "," ✈ "," ✈ "," ✈ "," ✈ "," ✈ "];var c=m.querySelector("#wh-trv-status");const T=c.nextElementSibling;let s=0;var u=window.setInterval(()=>{var e=(x-Date.now())/1e3|0;f.innerText=`${e/3600|0}时${e%3600/60|0}分${e%60}秒`,e<p.alert_time?p.enable&&(i=!0,null!==a||o||(a=window.setInterval(r,750)),w.parentElement.classList.remove("wh-trv-alarm-stop-hide")):p.enable&&(clearInterval(a),a=null,w.parentElement.classList.add("wh-trv-alarm-stop-hide")),T.innerHTML=""+S[s],s=(s+1)%S.length},1e3);V.info({dest_cn:e,remaining_arr:l,wh_trv_alarm:p,wh_trv_alarm_node:m,error_node:g,remaining_node:f,set_node:y,cd_time:b,count_down_notify:t,stop_node:w,enable_node:v,remaining_sec:d,land_timestamp:x,audio:k,audio_play_flag:i,user_stop_alert:o,audio_play_id:a,flying_status:c,flying_index:s,id:u})}M.get("landedRedirect")&&null===document.querySelector("#tcLogo[title]")&&window.addEventListener("beforeunload",()=>{var e={url:M.get("landedRedirect"),timestamp:Date.now()};sessionStorage["wh-landed-redirect"]=JSON.stringify(e)})}else{if(F.getInstance().add("直接回城",J),M.get("abroadWarning")){let e=1;setInterval(()=>new L(`警告:您已海外落地${30*e++}秒`,{timeout:30,sysNotify:!0}),3e4)}if("switzerland"===t["data-country"]){let e=document.querySelector("h4#skip-to-content"),t=document.createElement("div");t.innerHTML=`<div class="info-msg border-round">
|
||
<i class="info-icon"></i>
|
||
<div class="delimiter">
|
||
<div class="msg right-round" tabindex="0" role="alert">
|
||
<p><a href="/index.php?page=rehab">❤️ 点击前往解毒</a></p>
|
||
</div>
|
||
</div>
|
||
</div>`,t.classList.add("info-msg-cont","green","border-round","m-bottom10"),e.before(t)}}else if(e.includes("index.php")&&"false"===t["data-abroad"]&&sessionStorage["wh-landed-redirect"]&&({url:l,timestamp:d}=JSON.parse(sessionStorage["wh-landed-redirect"]),Date.now()-d<3e4&&(sessionStorage.removeItem("wh-landed-redirect"),location.href=l)),e.contains(/travelagency\.php/)){if(M.get("energyAlert")){const i=$(".content-wrapper"),o=new MutationObserver(()=>{o.disconnect(),Ce(),Ee(),a(),o.observe(i.get(0),{characterData:!0,attributes:!0,subtree:!0,childList:!0})}),a=()=>{const e=$('#barEnergy p[class^="bar-value__"]').text().trim();var[t,n]=2===e.split("/").length?[parseInt(e.split("/")[0]),parseInt(e.split("/")[1])]:[NaN,NaN],i=150===n?10:15;const o=isNaN(t)||isNaN(n)?NaN:(n-5-t)/5*i+(i-(new Date).getMinutes()%i);$(".travel-confirm .travel-question .q-wrap span:nth-of-type(2)").each((e,t)=>{var n,i;isNaN(o)||([n,i]=5===(n=t.innerText.trim().split(" ")).length?[parseInt(n[0]),parseInt(n[3])]:[0,parseInt(n[0])],o<2*(60*n+i)&&($(t).parent().hasClass("wh-translated")||$(t).parent().prepend('<div style="color: red">警告:该次飞行往返时间大于体力回复时间,将会爆体!</div>').addClass("wh-translated")))})};a(),o.observe(i.get(0),{characterData:!0,attributes:!0,subtree:!0,childList:!0})}sessionStorage["wh-quick-fly"]&&E()}})}().then(),function(){return y(this,void 0,void 0,function*(){let{href:e,device:t}=C.glob;if(e.contains(/loader\.php\?sid=attack/)){let i=!1;var n=M.get("quickAttIndex");const l=M.get("quickFinishAtt");var o=M.get("attReload");F.getInstance().add("光速刷新",Y);let e;if(6!==o&&!0!==i&&(o={pc:'#defender div[class^="modal___"]',mobile:'#attacker div[class^="modal___"]',tablet:""}[t],A.elementReady(o).then(t=>{if(t.querySelector("button")){if(void 0===e){e=!0;let t=0;const n=window.setInterval(()=>{const e=document.createElement("audio");e.src="https://www.torn.com/js/chat/sounds/Warble_1.mp3",e.play().then(),3===++t&&clearInterval(n)},600)}}else if(0===M.get("attReload")&&!0!==i)Y();else{let e;t=1e3*M.get("attReload")+p.getInstance().getRandomInt(-500,500);V.info(`[WH] ${t/1e3}s 后自动刷新`),window.setInterval(()=>{void 0===e?e=!0:!0!==i&&Y()},t)}})),6!==n){const d=yield A.elementReady('div[class^="modal___"] button');if(V.info(d),!d.innerText.toLowerCase().includes("fight"))return;var a=!!document.querySelector("#weapon_boots");const c=document.querySelector('div[class^="modal___"]');switch(V.info("当前设备类型是"+t),t){case I.PC:{V.info("开始调整按钮位置"),c.style.display="none";let e="0";switch(M.get("quickAttIndex")){case 1:e="97px";break;case 2:e="194px";break;case 3:e="291px";break;case 4:case 5:e="375px"}var r=`
|
||
.wh-move-btn #defender div[class^="modal___"]{display: block;width: 0 !important;top: ${e};left: -169px !important;}
|
||
.wh-move-btn #defender div[class^="dialog___"]{border:0;width:159px;height:96px;}
|
||
.wh-move-btn #defender div[class^="colored___"]{display:block;padding:0;}
|
||
.wh-move-btn #defender div[class^="title___"]{height:0;}
|
||
.wh-move-btn #defender button{width: 100%;margin:17px 0;height: 60px;}
|
||
`;A.addStyle(r),document.body.classList.add("wh-move-btn"),d.onclick=()=>{3!==l?(d.remove(),i=!0):document.body.classList.remove("wh-move-btn")};break}case I.MOBILE:{V.info("开始调整按钮位置");let e="0",t="76px";if(a)switch(M.get("quickAttIndex")){case 1:e="76px";break;case 2:e="152px";break;case 3:e="228px";break;case 4:e="304px";break;case 5:e="380px"}else{var s=document.querySelector("#weapon_main").offsetHeight+1;switch(t=s+"px",M.get("quickAttIndex")){case 1:e=s+"px";break;case 2:e=2*s+"px";break;case 3:e=3*s+"px";break;case 4:e=4*s+"px";break;case 5:e=5*s+"px"}}r=`
|
||
.wh-move-btn #attacker div[class^="modal___"]{display: block;width: 0;top: ${e};left:0;height:0;}
|
||
.wh-move-btn #attacker div[class^="dialog___"]{border:0;width:80px;height:${t};}
|
||
.wh-move-btn #attacker div[class^="colored___"]{display:block;padding:0;}
|
||
.wh-move-btn #attacker div[class^="title___"]{height:0;}
|
||
.wh-move-btn #attacker button{width:100%;margin:0;height:63px;white-space:normal;}
|
||
`;A.addStyle(r),document.body.classList.toggle("wh-move-btn"),d.onclick=()=>{3!==M.get("quickFinishAtt")?(d.remove(),i=!0):document.body.classList.toggle("wh-move-btn")};break}case I.TABLET:}if(!0===M.get("autoStartFinish"))if(d.innerText.includes("(")){let e=window.setInterval(()=>{if(d)try{d.click()}catch(e){}else clearInterval(e)},100)}else d.click()}if(3!==l){const u=["leave","mug","hosp"][M.get("quickFinishAtt")];o=document.querySelector("#react-root");V.info("光速跑路选项选中:",u),new MutationObserver(()=>{const e=document.querySelectorAll('div[class^="dialogButtons___"] button');1<e.length&&e.forEach(e=>{var t=e.innerText.toLowerCase().includes(u);if(V.info("按钮内容:",e.innerText,",是否包含选中:",t),t){if(!0===M.get("autoStartFinish"))try{e.click()}catch(e){}}else e.style.display="none"})}).observe(o,{subtree:!0,attributes:!0,childList:!0})}}else M.get("attRelocate")&&e.includes("loader2.php")&&(o=(n=window.location.href.trim().split("="))[n.length-1],/^\d+$/.test(o)&&(window.location.href="https://www.torn.com/loader.php?sid=attack&user2ID="+o))})}().then()}}function X(){A.addStyle(`
|
||
.wh-city-finds .leaflet-marker-pane img[src*="torn.com/images/items/"]{
|
||
display: block !important;
|
||
box-sizing: border-box;
|
||
width: 40px !important;
|
||
height: 40px !important;
|
||
left: -20px !important;
|
||
top: -20px !important;
|
||
padding: 10px 0;
|
||
border: none;
|
||
border-radius: 100%;
|
||
background-color:#d2d2d28c;
|
||
box-shadow:0 0 10px 5px #000;
|
||
z-index: 999 !important;
|
||
}
|
||
.wh-city-finds .leaflet-marker-pane.leaflet-marker-icon.user-item-pinpoint.leaflet-clickable{display: none !important;}
|
||
#wh-city-finder{
|
||
box-shadow: 0 0 3px 0px #696969;
|
||
border-radius: 4px;
|
||
}
|
||
#wh-city-finder-header{
|
||
background-color: #3f51b5;
|
||
color: white;
|
||
padding: 8px;
|
||
font-size: 15px;
|
||
border-radius: 4px 4px 0 0;
|
||
text-shadow: 0 0 2px black;
|
||
background-image: linear-gradient(90deg,transparent 50%,rgba(0,0,0,.07) 0);
|
||
background-size: 4px;
|
||
}
|
||
#wh-city-finder-cont{
|
||
background: #616161;
|
||
padding: 8px;
|
||
color: #c7c7c7;
|
||
border-radius: 0 0 4px 4px;
|
||
font-size: 13px;
|
||
}
|
||
#wh-city-finder-cont span{
|
||
margin:2px 4px 2px 0;
|
||
padding:2px;
|
||
border-radius:2px;
|
||
background:green;
|
||
color:white;
|
||
display:inline-block;
|
||
}
|
||
`);let o=null;const a=document.createElement("div"),r=(a.id="wh-city-finder",document.createElement("div")),s=(r.id="wh-city-finder-cont",document.createElement("div")),l=(s.id="wh-city-finder-header",s.innerHTML="捡垃圾助手",document.createElement("div"));var i,d,c;l.innerHTML="已找到物品:",r.append(l),a.append(s),a.append(r),A.COFetch("https://jjins.github.io/item_price_raw.json").then(e=>o=JSON.parse(e)).catch(e=>{Te.info(e),o=void 0}),i="div.leaflet-marker-pane",d=document,c=3e4,new Promise((n,t)=>{var e=d.querySelector(i);if(e)n(e);else{let e=new MutationObserver((e,t)=>{d.querySelectorAll(i).forEach(e=>{t.disconnect(),n(e)})});setTimeout(()=>{e.disconnect(),t(`等待元素超时! [${i}]
|
||
`+d.documentElement.tagName)},c),e.observe(d.documentElement,{childList:!0,subtree:!0})}}).then(e=>{document.querySelector("#map").classList.add("wh-city-finds"),document.querySelector(".content-wrapper").prepend(a);const i=[];if(e.querySelectorAll("img.map-user-item-icon").forEach(e=>{var t=e.src.split("/")[5];const n=document.createElement("span");n.id="wh-city-finder-item"+t,n.innerHTML=t,i.push({id:t,node:n,map_item:e}),r.append(n)}),0===i.length)l.innerHTML="空空如也,请大佬明天再来";else{const t=()=>{let n=0;i.forEach(e=>{var t=o[e.id].price;e.node.innerHTML=`<img src="${e.map_item.src}" alt="" />${o[e.id].name} ($${u(t)})`,t<1e5?e.node.style.backgroundColor="#9e9e9e":t<1e6?e.node.style.backgroundColor="#4caf50":t<25e6?e.node.style.backgroundColor="#03a9f4":t<5e8?e.node.style.backgroundColor="#ffc107":5e8<=t&&(e.node.style.backgroundColor="#f44336"),n+=o[e.id].price}),s.innerHTML=`捡垃圾助手 - ${i.length} 个物品,总价值 $`+u(n)};if(null===o){let e=30;const n=window.setInterval(()=>{e--,null!==o&&(t(),clearInterval(n)),0===e&&(Te.info("获取物品名称与价格信息超时"),clearInterval(n))},500)}else void 0===o?l.innerHTML+="(当前平台暂不支持查询价格)":t()}})}class Z extends C{static resolve(){let{href:n,beer:a}=Z.glob;if(n.includes("city.php")&&M.get("cityFinder")&&X(),M.get("ptQuickBuy")&&n.includes("pmarket.php")){new L("一键购买已开启");const o=e=>{let t=e.firstElementChild,n=(t.className+=" yes",t.getAttribute("href"));e=n.replace(/=buy/,"=buy1").replace(/&points=\d{1,9}$/,"");t.setAttribute("href",e)};var e=document.querySelector(".users-point-sell");for(const r in e.children)"LI"===e.children[r].tagName&&o(e.children[r]);new MutationObserver(e=>{for(const t of e)t.addedNodes.forEach(e=>"LI"===e.tagName&&o(e))}).observe(e,{childList:!0})}if(n.includes("gym.php")){let t=null;const s=document.createElement("div");s.innerHTML=`<label><input type="checkbox" ${M.get("SEProtect")?"checked":""}/> 叠E保护</label>`,s.id="wh-gym-info-cont",s.querySelector("input").onchange=e=>{e=e.target;t.classList.toggle("wh-display-none"),M.set("SEProtect",e.checked,!0)},A.elementReady("#gymroot").then(e=>{t=e,M.get("SEProtect")&&e.classList.add("wh-display-none"),e.before(s)})}if(n.includes("shops.php?step=bitsnbobs")&&(A.elementReady("ul.items-list").then(o=>{const a=document.createElement("div");a.id="wh-gym-info-cont",a.innerHTML='<div>\r\n <button style="color:white;">👉添加啤酒商品</button>\r\n <p>如果当前商店没有啤酒这个商品可以提前显示以省去刷新步骤,增加抢酒成功率。</p>\r\n <p id="wh-msg"></p>\r\n</div>',a.querySelector("button").addEventListener("click",e=>{const t=a.querySelector("#wh-msg");if(o.querySelector('span[id="180-name"]'))t.innerHTML="❌ 页面已经有啤酒了";else{const n=o.querySelector("li.clear"),i=document.createElement("li");i.classList.add("torn-divider","divider-vertical"),i.style.backgroundColor="#c8c8c8",i.innerHTML='<div class="acc-title">\r\n<span class="item-desc">\r\n<span tabindex="0" aria-labelledby="180-name 180-price 180-stock" class="item Alcohol" itemid="180" loaded="0">\r\n<img class="torn-item item-plate" data-size="large" src="/images/items/180/large.png" alt="Bottle of Beer"\r\n style="opacity: 0;" id="item-1bea9f66-a6c4-475c-accb-41dcb67af64f-old" data-converted="1" aria-hidden="true">\r\n<span class="item-hover">\r\n<button class="view-h wai-btn" aria-label="Show info: Bottle of Beer" value="100" i-data="i_723_228_51_52"></button>\r\n<button class="buy-h wai-btn" aria-label="Buy: Bottle of Beer" value="100" i-data="i_774_228_51_52"></button>\r\n </span>\r\n<canvas id="item-1bea9f66-a6c4-475c-accb-41dcb67af64f" role="img" aria-label="Bottle of Beer" style="opacity: 1;"\r\n class="torn-item item-plate item-converted" item-mode="light" width="100" height="50"></canvas></span>\r\n<span class="desc">\r\n<span id="180-name" class="name t-overflow bold">啤酒</span>\r\n<span id="180-price" class="price t-gray-6" data-sell="$5">$10</span>\r\n<span id="180-stock" class="stock t-gray-6 t-overflow">酒 (<span class="instock">1100</span>存货)</span>\r\n</span>\r\n<span class="buy-act-wrap">\r\n<label for="180" class="wai">Amount\r\nof Bottle of Beer</label>\r\n<input id="180" type="text" value="100" maxlength="3" name="buyAmount[]" autocomplete="new-amount">\r\n<span class="buy-act bold">\r\n<button class="wai-support t-blue h">买</button>\r\n<div class="tt-max-buy-overlay"></div>\r\n</span>\r\n</span>\r\n</span>\r\n <div class="confirm-wrap">\r\n<span class="confirm">\r\n<span>\r\n点击确定购买\r\n</span>\r\n<span>\r\n<span class="count">100</span>\r\n瓶啤酒\r\n$<span class="total">1,000</span>\r\n</span>\r\n<span class="confirm-act m-top5">\r\n<a href="#" class="wai-support yes m-right10 bold t-blue h" data-id="180" i-data="i_819_263_23_16">\r\n确定\r\n</a>\r\n<span class="no bold">\r\n<a href="#" class="wai-support t-blue h" i-data="i_852_263_18_16">\r\n不\r\n</a>\r\n</span>\r\n</span>\r\n</span>\r\n </div>\r\n <div class="success-wrap">\r\n<span class="success">\r\n<span class="t-red bold">\r\n<span class="ajax-preloader"></span>\r\n</span>\r\n</span>\r\n <button aria-label="Close" class="close-icon p0 wai-btn" value="100" i-data="i_954_228_10_11"></button>\r\n </div>\r\n <div class="msg-wrap">\r\n<span class="t-green bold">\r\n<span class="ajax-preloader"></span>\r\n</span>\r\n </div>\r\n</div>\r\n<div class="view-item-info">\r\n <div class="item-cont">\r\n <div class="item-wrap">\r\n <span class="ajax-preloader m-top10 m-bottom10"></span>\r\n </div>\r\n </div>\r\n</div>',n?n.before(i):o.append(i),e.target.remove(),t.innerHTML="添加成功"}}),document.querySelector(".content-wrapper").prepend(a)}),$(document).ajaxComplete((e,t,n)=>{V.info({xhr:t,settings:n});let i=n["data"],o=t["responseText"];n=JSON.parse(o);i.includes("step=buyShopItem")&&i.includes("ID=180")&&n.success&&(new L("已检测成功购买啤酒"),a.skip_today())})),n.contains(/crimes\.php/)&&M.get("quickCrime")){self!==top&&(t=document.querySelector("h4#skip-to-content").innerText.toLowerCase().includes("validate"),A.elementReady("#header-root").then(e=>e.style.display="none"),A.elementReady("#sidebarroot").then(e=>e.style.display="none"),A.elementReady("#chatRoot").then(e=>e.style.display="none"),t||(document.body.style.overflow="hidden"),A.elementReady(".content-wrapper").then(e=>{e.style.margin="0px",e.style.position="absolute",e.style.top="-35px"}),A.elementReady("#go-to-top-btn button").then(e=>e.style.display="none"));const l=document.querySelector(".content-wrapper"),d=new MutationObserver(()=>{d.disconnect(),c(),d.observe(l,{characterData:!0,attributes:!0,subtree:!0,childList:!0})}),c=()=>{var e='<div class="wh-translate">\r\n <div class="title-black" style="border-radius: 5px 5px 0 0;"><span>常用犯罪</span></div>\r\n <div class="cont-gray" style="padding: 6px 0;border-radius: 0 0 5px 5px;">\r\n \x3c!--18-1--\x3e\r\n <form action="crimes.php?step=docrime4" method="post" style="display: inline-block;margin: 0 5px">\r\n <input name="nervetake" type="hidden" value="18">\r\n <input name="crime" type="hidden" value="hackbank">\r\n <input style="-webkit-appearance:none;padding: 4px;background: #e91e63;border-radius: 5px;color: white;"\r\n type="submit" value="18-1"/>\r\n </form>\r\n \x3c!--15-3--\x3e\r\n <form action="crimes.php?step=docrime4" method="post" style="display: inline-block;margin: 0 5px">\r\n <input name="nervetake" type="hidden" value="15">\r\n <input name="crime" type="hidden" value="napcop">\r\n <input style="-webkit-appearance:none;padding: 4px;background: #e91e63;border-radius: 5px;color: white;"\r\n type="submit" value="15-3(慎)"/>\r\n </form>\r\n \x3c!--仓库--\x3e\r\n <form action="crimes.php?step=docrime4" method="post" style="display: inline-block;margin: 0 5px">\r\n <input name="nervetake" type="hidden" value="11">\r\n <input name="crime" type="hidden" value="warehouse">\r\n <input style="-webkit-appearance:none;padding: 4px;background: #2196f3;border-radius: 5px;color: white;"\r\n type="submit" value="烧仓库"/>\r\n </form>\r\n \x3c!--7-2--\x3e\r\n <form action="crimes.php?step=docrime4" method="post" style="display: inline-block;margin: 0 5px">\r\n <input name="nervetake" type="hidden" value="7">\r\n <input name="crime" type="hidden" value="thoroughrobbery">\r\n <input style="-webkit-appearance:none;padding: 4px;background: #2196f3;border-radius: 5px;color: white;"\r\n type="submit" value="7-2(仅过渡用)"/>\r\n </form>\r\n \x3c!--偷夹克--\x3e\r\n <form action="crimes.php?step=docrime4" method="post" style="display: inline-block;margin: 0 5px">\r\n <input name="nervetake" type="hidden" value="4">\r\n <input name="crime" type="hidden" value="jacket">\r\n <input style="-webkit-appearance:none;padding: 4px;background: #009688;border-radius: 5px;color: white;"\r\n type="submit" value="偷夹克"/>\r\n </form>\r\n \x3c!--卖碟3-1--\x3e\r\n <form action="crimes.php?step=docrime2" method="post" style="display: inline-block;margin: 0 5px">\r\n <input name="nervetake" type="hidden" value="3">\r\n <input name="crime" type="hidden" value="cdrock">\r\n <input style="-webkit-appearance:none;padding: 4px;background: #009688;border-radius: 5px;color: white;"\r\n type="submit" value="卖碟"/>\r\n </form>\r\n \x3c!--捡钱--\x3e\r\n <form action="crimes.php?step=docrime2" method="post" style="display: inline-block;margin: 0 5px">\r\n <input name="nervetake" type="hidden" value="2">\r\n <input name="crime" type="hidden" value="searchtrainstation">\r\n <input style="-webkit-appearance:none;padding: 4px;background: #009688;border-radius: 5px;color: white;"\r\n type="submit" value="捡钱"/>\r\n </form>\r\n </div>\r\n <hr class="page-head-delimiter m-top10 m-bottom10 r1854">\r\n</div>',t=null!==l.querySelector(".wh-translate"),n=null!==l.querySelector("div#tab-menu.captcha");const i=$("div.content-title"),o=$(".info-msg-cont");t||n||(0<i.length?i.before(e):0<o.length&&o.before(e))};c(),d.observe(l,{characterData:!0,attributes:!0,subtree:!0,childList:!0})}if(n.contains(/loader\.php\?sid=missions/)&&M.get("missionHint")){const u=$(".content-wrapper"),p=new MutationObserver(()=>{p.disconnect(),m(),p.observe(u.get(0),{characterData:!0,attributes:!0,subtree:!0,childList:!0})}),h={},m=()=>{$("ul#giver-tabs a.ui-tabs-anchor").each((e,t)=>{$(t).children().hasClass("mission-complete-icon")?h[e]=t.innerText.trim():h[e]=$(t).clone().children().remove().end().text().trim()}),$("div.max-height-fix.info").each((e,t)=>{0===$(t).find(".wh-translated").length&&$(t).append(`<div class="wh-translated"><h6 style="color:green"><b>任务助手</b></h6><p>${function(e){if(e=e.toLowerCase().replaceAll(" ","_").replaceAll("!","").replaceAll("-","_").replaceAll(",",""),!b._taskHint[e])return"暂无,请联系开发者";var t=b._taskHint[e].task||null,e=b._taskHint[e].hint||null;return(t?"任务要求:"+t:'暂无,请联系<a href="profiles.php?XID=2687093">Woohoo</a>')+(e?"<br>提示:"+e:"")}(h[e])}</p></div>`)}),$("ul.tasks-list span.title-wrap").contents().each((e,t)=>{3===t.nodeType&&b[t.nodeValue.trim()]&&(t.nodeValue=b[t.nodeValue.trim()])})};m(),p.observe(u.get(0),{characterData:!0,attributes:!0,subtree:!0,childList:!0})}if(n.contains(/christmas_town\.php/)&&9<(new Date).getMonth()){let w=document.querySelector("#christmastownroot");var[t,i]=M.get(["xmasTownWT","xmasTownNotify"]);if(t){const g={None:{title:"",wt:""},"Christmas Town":{title:"圣诞小镇",wt:"<ul>\r\n <li>旧攻略提到的驯鹿车已被移除,只能手动找一条蓝色的小路[94,3]</li>\r\n <li>向南走,然后上木桥,沿着它向西走到达冰湖</li>\r\n <li>在冰湖[55,7][61,64]附近找Labyrinth传送门进入迷宫</li>\r\n <li>迷宫的出口在中间的方向[395,397]一个冰湖,走进冰湖传送</li>\r\n <li>走到企鹅</li>\r\n</ul>"},"Maltese Snow Globe":{title:"Maltese Snow Globe",wt:"<ul>\r\n <li>1.想办法进入前几层的楼梯口</li>\r\n <li>2.出来之后往南走, 在码头找到天鹅船</li>\r\n <li>3.按着数字1-12走过乐高博物馆</li>\r\n <li>4.跟着大路走到天鹅船。</li>\r\n <li>5.走到901,486的银行</li>\r\n <li>6.最左上的楼梯</li>\r\n <li>7.B-D-C-E-F-G-C-A</li>\r\n <li>8.右,右,右,北,北,右,右</li>\r\n <li>9.走到右上角铁路</li>\r\n <li>10.小游戏:</li>\r\n <li>移动1到最右,移动2到中间,移动1到2上面,移动3到最右,移动1到最左,移动2到3.上面,移动1到2上面。</li>\r\n <li>11.往上走出铁丝网,往左绕一个大圈走到300,476</li>\r\n <li>12.走到363,406的隧道,走到361,400的隧道 ,往南走。</li>\r\n <li>13.走到352,334的迷宫,好像有好几条路,我说我的走法,往左下走,走倒最下了往右走,走到1个不一样的绿色的时候,往上走。</li>\r\n <li>14.走到迷宫中间的小人,后面就只有一条路走了,完成。</li>\r\n</ul>"},"Long way from home":{title:"Long way from home",wt:"<ul>\r\n <li>1.随便动一下</li>\r\n <li>2.左边的管道口</li>\r\n <li>3.右走到十字路口,往上,往右,从偏左的那个管道往上。</li>\r\n <li>3.出小门,往右到底,往上到底,往右,进上面房间,右上角的电脑,电脑显示的是下面房间的走法,任意移动退出</li>\r\n <li>4.去下面房间,右边橙色电力符号,进入解密。下,右下,右下,右上,右上,右,右下,右下,下,左下,左下,</li>\r\n <li>左,左,左下,左下,进圈。</li>\r\n <li>5.进入新的房间按钮</li>\r\n <li>6.一直左走,走到有两个怪兽把手的桥那,进上面的房间,左上角的机器,*是重输密码</li>\r\n <li>作者随时改密码,建议看纸条上的提示自己去数</li>\r\n <li>7.桥上怪兽消失, 往左走到底,按钮</li>\r\n <li>8.右走,走到雪地走大路,按钮开铁门,上darkforest的蓝车</li>\r\n <li>9.右走十几步,传送</li>\r\n <li>10.右下走,看到铁丝网,顺着铁丝网右走,有个缺口,进去。</li>\r\n <li>11.右走,直到看见三颗倒下的圣诞树(记住这里),顺着血迹和脚印走,进山洞。</li>\r\n <li>12.顺着山洞走到一滩血,原路出山洞。</li>\r\n <li>13.原路回到三颗倒下的圣诞树,正上方有个红色仓库,进入。</li>\r\n <li>14.上,上,上,右,上,左,上,路就通了,去拿到右上角的锯子,原路出仓库。</li>\r\n <li>15.出来就在车下面,上车,再上车。</li>\r\n <li>16.左边的小橘人,完成</li>\r\n</ul>"},"Chedburn Towers":{title:"Chedburn Towers",wt:'<ul>\r\n <li>进入地图后,使用附近的FAST的T下方的厕所传送到Chedburn Towers</li>\r\n <li>进入大厅,"之"字形上楼,每层都是如此。</li>\r\n <li>最终会进入问答题区域,通过在相应的数字上穿过来回答问题</li>\r\n <li>答案是:3 9 5 4 9 2 6 8</li>\r\n <li>答题后,进入Ched的办公室,向西走,然后一直走到左边的楼梯上</li>\r\n <li>向南走下楼梯,然后向东走,沿着小楼梯到地下室</li>\r\n <li>向东走到牢房区域</li>\r\n <li>先踩下开关,打开牢房门前往右上角的最后一个牢房</li>\r\n <li>开关位于JAIL文字的左上方</li>\r\n <li>沿着挖出来的隧道一直走,岔路口向左走</li>\r\n <li>到金库,Chedburn NPC会给你本地图的水晶球</li>\r\n</ul>'},"Kidnapped Santa":{title:"Kidnapped Santa",wt:'<ul>\r\n <li>出生在一个类似城镇的地方</li>\r\n <li>沿着这条路向东走,然后向南走</li>\r\n <li>到达道路尽头的一个码头时,向西走一段路,踩在精灵的上面,乘坐渡船[124, -30]</li>\r\n <li>搭船来到了Fantasy Island</li>\r\n <li>小心那个游荡的<span style="color: #32CD32">绿色NPC</span>,不惜一切代价避开他,否则他会把你打回出发点</li>\r\n <li>向西走,然后向北走,再向西绕过岩石。要非常小心,不要踩到水里或掉下悬崖,否则你会死</li>\r\n <li>然后回到南边,在那里你会看到一些门</li>\r\n <li>走进蓝色的门(左二)[111,-60]</li>\r\n <li>过了蓝门后继续沿路向南</li>\r\n <li>然后沿路向东,再向南</li>\r\n <li>再向东走,会看到“恐怖之家”,进入这栋楼[137, -84]</li>\r\n <li>向北走,进入洞口[164, -81]</li>\r\n <li>穿过隧道到达另一端的洞穴口[142, -63],<b>避开所有怪物和NPC</b></li>\r\n <li>来到另一个岛上</li>\r\n <li>向南走,然后向东绕过建筑物,可以进入圣诞老人的洞穴[133, -2]</li>\r\n <li>在建筑物内向西走,再向北走,在圣诞老人家work shop的东北角,你会看到一个楼梯,走下去[169,4]</li>\r\n <li>在这一区域,<b>要避开所有出现破损或有异样的地砖</b>,也要避开四处游荡的邪恶的格林奇NPC</li>\r\n <li>沿着地牢里的走廊向东走,然后向南走,避开所有看起来不同的瓷砖</li>\r\n <li>它们上面有一些小裂缝和花纹,如果你是用手机的话,我建议你把亮度调高,以防万一</li>\r\n <li>最终会看到一个发绿光的小开关</li>\r\n <li>走到开关上[165, 18],激活它,然后进入向北打开的大门</li>\r\n <li>走到<span style="color: gold">黄色精灵NPC</span>脸上[166,25],可以得到本地图的水晶球</li>\r\n</ul>'},"Holiday terror":{title:"Holiday terror",wt:"<ul>\r\n <li>1. 从出生地沿着路向东,然后向北。过桥并沿着穿过城镇的小路继续前行,避开任何明显的陷阱(道路上的洞、打开的井盖等)。</li>\r\n <li>2. 继续向东和向北前进,直到到达 Mansion's Labyrinth(豪宅迷宫)[121,29]</li>\r\n <li>3. 豪宅入口在[131,41]</li>\r\n <li>4. 进入豪宅后向北走,你会看到一条由骷髅守卫的道路</li>\r\n <li>5. 沿着棕色的小路走,在黑色的<b>区域前</b>停下</li>\r\n <li>6. 按照如下的方式行进</li>\r\n <li> 上3格,左2,上2,右4,下1,右3,上6,左2,下1,左6,下2,左2,上4,右5,上4</li>\r\n <li>7. 来到一个区域,在这里你必须在两个洞穴中做出选择</li>\r\n <li>第一次选择,答案是Christmas Miracle,选择左边的洞窟。</li>\r\n <li>第二次选择,答案是24/12/2019,选择左边的洞窟。</li>\r\n <li>第三次选择,答案是Hohoho Coldington,选择右边的洞窟。</li>\r\n <li>第四次选择,答案是Christmas Miracle Cave,选择左边的洞窟。</li>\r\n <li>8. 出现在一个用糖果棒装饰的红色地板的房间里,去地图的右上角一个冰洞的入口[101,-74]</li>\r\n <li>9. 进入冰洞。向西走,寻找叫Erik the last elf的黄色小NPC</li>\r\n <li>10. 拿到水晶球</li>\r\n</ul>"},"Among Us":{title:"Among Us",wt:'<ul>\r\n <li>出生点步行到传送点进入地图 1 [399,12]</li>\r\n <li>到达地图1,你出现在食堂,往下走,绕到红色按钮处[502,-1]</li>\r\n <li>答案:D B A A D D B B B C A D D D 最终: B (Green)</li>\r\n <li>然后你会被传送到地图2</li>\r\n <li>在地图2中,你需要沿着小路向南走,然后向东进入通风口,前往下一个部分[556,24]</li>\r\n <li>穿过通风口后,进入食堂。向南走到红色按钮所在的位置 [571,32]</li>\r\n <li>答题阶段,答案如下BBACBDC A</li>\r\n\r\n <li>被传送到地图3</li>\r\n <li>先直接向南走一点,再沿着走廊走。进入左边的一个通风口[345,170]</li>\r\n <li>会传送到办公室,在那里找到最后一个红色按钮[356,173]</li>\r\n <li>答题阶段,答案如下CCADABBCD</li>\r\n <li>进入"PEEP SHOW",获得本地图的水晶球</li>\r\n</ul>'},"Kiss My Festivus":{title:"Kiss My Festivus",wt:"<ul>\r\n <li>从起点出发,沿着小路向北走到出租车处,乘坐前往Dark Forest的出租车 [96,16]</li>\r\n <li>沿着公路向东走,继续向东进入雪地</li>\r\n <li>沿着暗淡的蓝色轨迹向东南方向走,穿过树林,直到你到达一个铁栅栏[坐标为114,-89]</li>\r\n <li>铁栅栏进不去。有人会告诉你乘坐他们的雪地车。</li>\r\n <li>向西走到雪地车旁,注意不要踩到任何<b>冬青树</b>(鲜艳黄红色的矮树),否则你将回到起点。</li>\r\n <li>被传送到锯木厂,在伐木工那里获得钥匙。</li>\r\n <li>然后向南走,然后向东走(向东走很长一段路),沿着小路返回铁栅栏处。</li>\r\n <li>来到一个炫酷的45°视角迷宫,你要走到地图的东北部,抵达另一个洞穴口[156,-74]</li>\r\n <li>先往左下方走到岔路口,然后往右上方走,接下来将只有一条路</li>\r\n <li>到达岛屿沿着小楼梯上去,绕到正下方那艘天鹅船</li>\r\n <li>到一个新的岛屿,向南走几步,踩在[12, -79]的蓝色火花上</li>\r\n <li>被传送到另一个有几辆拖车的岛上</li>\r\n <li>向北走,进入一个新的山洞口</li>\r\n <li>人被挡住了,要在冰层下向西北方向一直走,主要是向上和向左走</li>\r\n <li>沿着这条路一直往上走,然后在开阔的地方往东走,你会看到一座房子[房子的入口在26,58]</li>\r\n <li>进入房子,向北走几步,穿过闪闪发光的入口,你就可以进入房子了</li>\r\n <li>沿着东南方向走,你会看到Evil-Duck NPC,他将给你本地图的水晶球</li>\r\n</ul>"},"Stanley Hotel":{title:"Stanley Hotel",wt:"<ul>\r\n <li>从起点开始,你会看到正北方有一座房子。向北走几步到门前,进入房子。</li>\r\n <li>传送到一个有门的地方。绕过并向上走,激活位于[188,72]的大门开关。</li>\r\n <li>向东北方向前进,沿着血迹穿过森林,直到你到达一个山洞。</li>\r\n <li>依次使用使用防御(踩盾牌标记),然后攻击(剑),然后魔法(闪亮的蓝色气泡)来杀死怪物。</li>\r\n <li>最后,你会来到工人Bob的房间,他将给你本地图的水晶球。</li>\r\n</ul>"},DoggoQuest:{title:"DoggoQuest",wt:'<ul>\r\n <li>你出现在一个房间里</li>\r\n <li>向东走,然后向南走,沿着小走廊就可以离开这个房间</li>\r\n <li>来到这个地牢的01层</li>\r\n <li>首先向南走,然后绕过墙,攻击你看到的第一个怪物[101,1]</li>\r\n <li>然后向西走到墙边,向北攻击<span style="color: #32CD32">史莱姆</span></li>\r\n <li>继续向北,攻击下一个<span style="color: gold">怪物</span></li>\r\n <li>向北走到拐角处,然后向东走到楼梯处继续前进[坐标为101,1]</li>\r\n <li>来到第二层,直接向东走上楼梯[11,-19]</li>\r\n <li>来到了这个地牢的第03层</li>\r\n <li>向东再向南走到墙边,然后向东走,与绿色<span style="color: #32CD32">史莱姆</span>战斗</li>\r\n <li>继续向东走,经过被打败的史莱姆,然后向南和向西绕过墙,向北走一格,向西打败另一个<span style="color: #32CD32">史莱姆</span></li>\r\n <li>向西南方向走下楼梯[53,-49]</li>\r\n <li>来到了第 04 层</li>\r\n <li>走到墙边,撞右边两个镣铐之间的墙,然后向北直接走到墙里[15,-65]</li>\r\n <li>直接向北走,踏上红色的东西</li>\r\n <li>沿着楼梯向南和东南方向走右边楼梯[39,-69]</li>\r\n <li>来到第5层</li>\r\n <li>向北走,然后向西绕过中间的十字架,向南走到下一个楼梯[29,-93]</li>\r\n <li>来到第 6 层</li>\r\n <li>杀死那只<span style="color: #32CD32">大绿狗</span></li>\r\n <li>回到刚才的楼梯,来到05层[33,-114]</li>\r\n <li>在第05层,你会看到原来的十字架位置附近出现了新的楼梯口</li>\r\n <li>走上该楼梯[54, -99]</li>\r\n <li>到达了最后的?层</li>\r\n <li>沿着小路向下走,然后沿着冰冷的台阶走到Rudolph NPC</li>\r\n <li>在他身边来回走动</li>\r\n <li>踩在他身上的次数足够多时,Rudolph会把该图的水晶球交给你</li>\r\n</ul>'},"Pokemon CT":{title:"Pokemon CT",wt:"<ul>\r\n <li>宝可梦新增了战斗系统,路过高草丛会几率进入战斗</li>\r\n <li>战斗系统为一个十字形界面,上:技能/精灵球捕捉,下:逃跑,左:回血,右:攻击</li>\r\n <li>战斗守则:攻击,当你血量为33时回血</li>\r\n <li>打败最终BOSS需要捕捉两只,捕捉地点:</li>\r\n <li>一:把包裹交给大木博士后,去常磐市的路上</li>\r\n <li>二:进入森林后遇到的毛毛虫</li>\r\n <li>捕捉时需要将其打到残血。</li>\r\n <li>最终BOSS打法:</li>\r\n <li>第一个敌方精灵,毛虫进化的蝴蝶,先放技能,使其眩晕,在眩晕期间攻击,一旦醒过来就眩晕,重复。</li>\r\n <li>第一个BOSS死后,第二个BOSS会秒杀蝴蝶, 此时用第二个精灵。</li>\r\n <li>第二个精灵打法:攻击,看见它放absorbing技能就去回血(当然你没血了也要去回血),重复。</li>\r\n <li>【游戏开始】</li>\r\n <li>出生在你房间的二楼</li>\r\n <li>下楼梯离开房间。走出家门。从那里向东北方向进入高草丛,将被传送到大木博士(Professor Oak)的实验室</li>\r\n <li>踩大木博士</li>\r\n <li>踏上桌子,选择你的宝可梦</li>\r\n <li>现在出门去常磐市(Veridian City)拿一个包裹</li>\r\n <li>离开大木博士的实验室,向北走,穿过草地,前往常磐市(Veridian City)</li>\r\n <li>进入城市后,前往 Poke Mart [134,-3]</li>\r\n <li>回到大木博士的实验室,返回时可以跳下小路西侧的山崖,避开高草丛</li>\r\n <li>把包裹交给大木博士后。回常磐市</li>\r\n <li>在房子和两个精灵之间的小路上继续向北走,穿过城市[79,-21]</li>\r\n <li>过了精灵后一路向北</li>\r\n <li>进入一所房子,经过它才能进入常磐森林</li>\r\n <li>穿过常磐森林才能到达尼比市</li>\r\n <li>森林的入口向东走,直到看到高草,然后向北走,直到下一片高草</li>\r\n <li>绕过树木向东走,然后向北走</li>\r\n <li>现在绕过树木向西走,然后向北走</li>\r\n <li>然后穿过草地向西和向南走</li>\r\n <li>沿着这条小路蜿蜒穿过高高的草丛</li>\r\n <li>沿着小路穿过草地,最终离开森林</li>\r\n <li>离开森林后,沿着草丛旁小路向北走,到达 Pewter City。向北向西绕到大房子处,到达道馆</li>\r\n <li>走到大胡桃夹子前,挑战小刚</li>\r\n <li>赢得这场战斗后你会被带到大木博士那里,他会给本地图的水晶球</li>\r\n</ul>"},"Winter in Gatlin":{title:"Winter in Gatlin",wt:"<ul>\r\n <li>从出生点出发</li>\r\n <li>往右走到达树林,往右上走跨过铁栅栏,再往右走,经过红车时从右边缝隙穿过往下走</li>\r\n <li>沿公路向下走到第一个岔路向右走到废弃的小屋[14,80]</li>\r\n <li>进入小屋时,你会在一个黑色的小房间里,走到亮起的圆圈处</li>\r\n <li>在下一个房间里,会有一连串的数字,按以下顺序走到数字上</li>\r\n <li>1,4,6,8,7,6,4</li>\r\n <li>在最后一个房间,Epic_Heasley NPC 会给你本图的水晶球</li>\r\n</ul>"}},f=w.querySelectorAll('div[class^="core-layout__"]');f.forEach(e=>{if(!w.querySelector("#wh-xmas-cont")){$(e).prepend('<div id="wh-xmas-cont">\r\n <div class="title-black"><span>水晶球解密地图攻略</span><span><button style="color: white">[隐藏]</button></span></div>\r\n <div class="cont-gray select-wrap dropdown-new dropdown-default">\r\n <select>\r\n <option value="None">未选择</option>\r\n <option value="Christmas Town">Christmas Town</option>\r\n <option value="Maltese Snow Globe">Maltese Snow Globe</option>\r\n <option value="Long way from home">Long way from home</option>\r\n <option value="Chedburn Towers">Chedburn Towers</option>\r\n <option value="Kidnapped Santa">Kidnapped Santa</option>\r\n <option value="Holiday terror">Holiday terror</option>\r\n <option value="Among Us">Among Us</option>\r\n <option value="Kiss My Festivus">Kiss My Festivus</option>\r\n <option value="Stanley Hotel">Stanley Hotel</option>\r\n <option value="DoggoQuest">DoggoQuest</option>\r\n <option value="Pokemon CT">Pokemon CT v2.0</option>\r\n <option value="Winter in Gatlin">Winter in Gatlin</option>\r\n </select>\r\n <div>\r\n <p>来源:Torn City公众号,图文详情请查看公众号文章</p>\r\n <div id="wt-content"></div>\r\n </div>\r\n </div>\r\n <hr class="page-head-delimiter m-top10 m-bottom10 r1854">\r\n</div>\r\n<style>\r\n #wh-xmas-cont .cont-gray{\r\n padding: 0.5em;\r\n }\r\n #wh-xmas-cont p,#wh-xmas-cont select,#wh-xmas-cont li{\r\n margin: 0 0 3px;\r\n }\r\n</style>'),e=w.querySelector("#wh-xmas-cont");const t=$(e),n=t.find(".cont-gray"),i=(t.find("button").click(e=>{"[隐藏]"===e.target.innerText?(n.hide(),e.target.innerText="[显示]"):(n.show(),e.target.innerText="[隐藏]")}),t.find("#wt-content"));t.find("select").change(e=>{e=e.target.value;i.html(`<p><b>${g[e].title}</b></p><p>${g[e].wt}</p>`)})}})}if(i){const v={1:"金",2:"银",3:"铜"},x={1:"gold",2:"silver",3:"sandybrown"},k={chests:"钥匙箱",gifts:"礼物",combinationChest:"密码箱",keys:"钥匙"},S={b:"铜",s:"银",g:"金"};let f=localStorage.getItem("wh-loot-store")?JSON.parse(localStorage.getItem("wh-loot-store")):{};const T=localStorage.getItem("wh-loot-setting")?JSON.parse(localStorage.getItem("wh-loot-setting")):{blink:"y",sound:"y",chest:"y"};let y,b=!1;const C=new MutationObserver(()=>{if(y=w.querySelector("#ct-wrap")){C.disconnect();var e='<div id="wh-loot-container" class="m-bottom10">\r\n <audio src="https://www.torn.com/js/chat/sounds/Chirp_3.mp3" style="display:none"></audio>\r\n <div class="title-black"><span>附近物品</span></div>\r\n <div id="wh-loot-container-main" class="cont-gray">\r\n <b>物品</b><span id="wh-loot-item-count"></span>\r\n <div id="wh-loot-container-items"></div>\r\n <b>箱子</b><span id="wh-loot-chest-count"></span>\r\n <div id="wh-loot-container-chests"></div>\r\n </div>\r\n <div id="wh-loot-container-ex" class="cont-gray wh-hide">\r\n <div><label><input type="checkbox" id="wh-loot-setting-blink" {{}} /> 闪烁提示</label></div>\r\n <div><label><input type="checkbox" id="wh-loot-setting-sound" {{}} /> 声音提示 <del>(iOS)</del></label></div>\r\n <div><label><input type="checkbox" id="wh-loot-setting-chest" {{}} /> 不记录需要钥匙的宝箱</label></div>\r\n <div id="wh-hist">\r\n <div id="wh-hist-clear">\r\n <p><button>清空数据</button>- 长时间不清空会出现奇怪的问题</p>\r\n </div>\r\n <table><thead><tr><th colspan="5">历史记录</th></tr><tr><th>坐标</th><th>地图</th><th>类型</th><th>发现</th><th>获取</th></tr></thead><tbody></tbody></table>\r\n </div>\r\n </div>\r\n <div id="wh-loot-btn" class="cont-gray"><button>设置</button></div>\r\n</div>\r\n<style>\r\n #wh-loot-container-main{padding: 0.5em;}\r\n #wh-loot-container-main div{overflow-x: auto;overflow-y: hidden;white-space: nowrap;min-height: 4em;}\r\n #wh-loot-container-main div span{display: inline-block;background-color: #2e8b57;color: white;margin: 0 1em 0 0;border-radius: 4px;padding: 0.5em;}\r\n #wh-loot-container-main div span img{height: 1em; width: 1em;}\r\n #wh-loot-container-ex{padding: 0.5em;}\r\n #wh-loot-container-ex.wh-hide{display: none;}\r\n #wh-loot-container-ex #wh-hist{overflow-x: auto;}\r\n #wh-loot-container-ex table {margin-top: 0.5em;}\r\n #wh-loot-container-ex tbody {background-color: antiquewhite;}\r\n #wh-loot-container-ex table, #wh-loot-container-ex th, #wh-loot-container-ex td {\r\n padding: 5px;\r\n border: 1px solid black;\r\n height: auto;\r\n }\r\n #wh-loot-container-ex th:nth-child(1) {min-width: 5em;}\r\n #wh-loot-container-ex th:nth-child(2) {min-width: 8em;}\r\n #wh-loot-container-ex th:nth-child(3) {min-width: 4em;}\r\n #wh-loot-container-ex th:nth-child(4) {min-width: 9em;}\r\n #wh-loot-container-ex th:nth-child(5) {min-width: 3em;}\r\n #wh-loot-container-ex thead {\r\n background-color: #2e8b57;\r\n color: white;\r\n }\r\n @keyframes lootFoundAlert {\r\n 0% {background: #f2f2f2}\r\n 50% {background: #2e8b57}\r\n 100% {background: #f2f2f2}\r\n }\r\n</style>'.replace("{{}}","y"===T.blink?"checked":"").replace("{{}}","y"===T.sound?"checked":"").replace("{{}}","y"===T.chest?"checked":"");$(y).before(e);const t=w.querySelector("#wh-loot-container"),n=t.querySelector("#wh-loot-btn button"),i=t.querySelector("#wh-hist-clear button"),o=t.querySelector("#wh-loot-container-ex"),a=t.querySelector("tbody"),r=t.querySelector("#wh-loot-setting-blink"),s=t.querySelector("#wh-loot-setting-sound"),l=t.querySelector("#wh-loot-setting-chest"),d=t.querySelector("audio");n.onclick=e=>{let t=e.target;t.innerText="设置"===t.innerText?"收起":"设置",$(o).toggleClass("wh-hide"),t.blur()},i.onclick=e=>{let t=e.target;t.blur(),f={},a.innerHTML="",localStorage.setItem("wh-loot-store",JSON.stringify(f))},r.onchange=e=>{e.target.checked?(T.blink="y","(0)"!==t.querySelector("#wh-loot-item-count").innerText&&(t.querySelector("#wh-loot-container-main").style.animation="lootFoundAlert 2s infinite")):(T.blink="n",t.querySelector("#wh-loot-container-main").style.animation=""),localStorage.setItem("wh-loot-setting",JSON.stringify(T))},s.onchange=e=>{e.target.checked?(T.sound="y","(0)"!==t.querySelector("#wh-loot-item-count").innerText&&(b=!0)):(T.sound="n",b=!1),localStorage.setItem("wh-loot-setting",JSON.stringify(T))},l.onchange=e=>{T.chest=e.target.checked?"y":"n",localStorage.setItem("wh-loot-setting",JSON.stringify(T))},window.setInterval(()=>{b&&d.play().then()},1200),E.observe(w,{childList:!0,subtree:!0})}}),E=new MutationObserver(()=>{if(E.disconnect(),w=document.querySelector("#christmastownroot"),y=w.querySelector("#ct-wrap")){const l=y.querySelector(".status-title"),i=y.querySelector('.map-title span[class^="position___"]')||y.querySelector('.status-title span[class^="position___"]');if(i){var e=i.innerText.trim().split(",");const d={x:parseInt(e[0]),y:parseInt(e[1])},o=w.querySelector("#wh-loot-container");if(!o)return console.error("掉落助手未找到DOM容器"),void E.observe(w,{childList:!0,subtree:!0});var e=o.querySelector("#wh-loot-setting-blink"),n=o.querySelector("#wh-loot-setting-sound");const c=o.querySelector("#wh-loot-setting-chest"),a=o.querySelector("tbody"),u=[],p=w.querySelectorAll("div.grid-layer div.items-layer div.ct-item"),h=(p.forEach(e=>{const t={x:0,y:0,name:"",type:"",url:""},n=(t.x=parseInt(e.style.left.replaceAll("px",""))/30,t.y=-parseInt(e.style.top.replaceAll("px",""))/30,t.url=e.firstElementChild.src,t.url.trim().split("/"));t.name=n[6],t.type=n[8].slice(0,1),u.push(t)}),o.querySelector("#wh-loot-container-items")),m=o.querySelector("#wh-loot-container-chests");let r=0,s=0;h.innerHTML="",m.innerHTML="",u.forEach(e=>{let t="=";e.x<d.x&&e.y<d.y?t="↙":e.x<d.x&&e.y===d.y?t="←":e.x<d.x&&e.y>d.y?t="↖":e.x===d.x&&e.y>d.y?t="↑":e.x>d.x&&e.y>d.y?t="↗":e.x>d.x&&e.y===d.y?t="→":e.x>d.x&&e.y<d.y?t="↘":e.x===d.x&&e.y<d.y&&(t="↓");let n;if("chests"===e.name?(s++,n=v[e.type]+k[e.name],m.innerHTML+=`<span style="background-color: ${x[e.type]||"silver"};">${t}[${e.x},${e.y}] ${n}<img src="${e.url}" /></span>`):(r++,n=("keys"===e.name&&S[e.type]||"")+k[e.name]||e.name,h.innerHTML+=`<span>${t}[${e.x},${e.y}] ${n}<img src="${e.url}" /></span>`),l){var i=`[${e.x},${e.y}]"${l.firstChild.nodeValue.trim()}"`+n;const o=f[i];if(o)"="!==t||"keys"!==e.name&&"gifts"!==e.name||(o.isPassed=!0);else if("chests"!==e.name||!c.checked){const a=new Date;f[i]={pos:`[${e.x},${e.y}]`,map:l.firstChild.nodeValue.trim(),last:`${a.getFullYear()}-${a.getMonth()+1}-${a.getDate()} ${a.getHours()}:${a.getMinutes()}:`+a.getSeconds(),name:n,id:Object.keys(f).length}}}}),o.querySelector("#wh-loot-item-count").innerText=`(${r})`,0===r?(h.innerText="暂无",o.querySelector("#wh-loot-container-main").style.animation="",b=!1):(e.checked&&(o.querySelector("#wh-loot-container-main").style.animation="lootFoundAlert 2s infinite"),n.checked&&(b=!0)),o.querySelector("#wh-loot-chest-count").innerText=`(${s})`,0===s&&(m.innerText="暂无");const g=Object.keys(f).map(e=>f[e]).sort((e,t)=>e.id-t.id);let t="";g.forEach(e=>{t+=`<tr><td>${e.pos}</td><td>${e.map}</td><td>${e.name}</td><td>${e.last}</td><td>${e.isPassed?"已取得":"不确定"}</td></tr>`}),a.innerHTML=t,localStorage.setItem("wh-loot-store",JSON.stringify(f)),E.observe(w,{childList:!0,subtree:!0})}else E.observe(w,{childList:!0,subtree:!0})}else E.observe(w,{childList:!0,subtree:!0})});C.observe(w,{childList:!0,subtree:!0})}}n.includes("profiles.php?XID=0")&&(i=function(){return y(this,void 0,void 0,function*(){if(n.includes("#rader")){A.addStyle("div.content-title,div.info-msg-cont{display:none;}");const e=document.createElement("div"),t=(e.id="wh-rd-cont",e.innerHTML='<div class="m-top10">\r\n <h4 id="skip-to-content" class="left">RW 雷达</h4>\r\n <div class="clear"></div>\r\n <hr class="page-head-delimiter">\r\n</div>\r\n\r\n<div class="content m-top10">\r\n <a href="/profiles.php?XID=2687093" target="_blank">woohoo</a>\r\n <table>\r\n <thead>\r\n <tr><th>123</th><th>456</th></tr>\r\n </thead>\r\n <tbody>\r\n <tr><td>789</td><td>012</td></tr>\r\n </tbody></table>\r\n</div>',yield A.elementReady('div.msg[role="alert"]'),document.querySelector("div.content-wrapper"));t.append(e)}})},addEventListener("hashchange",i),i().then()),2687093===w.getInstance().getPlayerInfo().userID&&A.getDeviceType()===I.PC&&w.getInstance().getSidebarData().then(e=>{let i=document.getElementById("nav-items");if(i){let e=i.cloneNode(!0),t=(e.firstChild.style.backgroundColor="#678c00",e.firstChild.firstChild),n=(t.href="/item.php?temp=1",t.lastChild);n.innerHTML="物品",n.style.color="white",i.after(e)}})}}function qe(e=$("span.mail-link")){const v=1==(0<=window.location.href.indexOf("events.php#/step=received")?1:0);$("ul.mailbox-action-wrapper a").contents().each((e,t)=>{t.nodeValue&&me[t.nodeValue.trim()]&&(t.nodeValue=me[t.nodeValue.trim()])}),$("div.mailbox-container i[title]").each((e,t)=>{me[$(t).attr("title")]&&$(t).attr("title",me[$(t).attr("title")])}),$(".mobile-mail-actions-wrapper div:nth-child(2)").each((e,t)=>{me[$(t).text().trim()]&&$(t).text(me[$(t).text().trim()])}),$("#events-main-wrapper .title-black").each((e,t)=>{me[$(t).text().trim()]&&$(t).text(me[$(t).text().trim()])}),$("#events-main-wrapper div.send-to a.btn").each((e,t)=>{me[$(t).text().trim()]&&$(t).text(me[$(t).text().trim()])}),$("#events-main-wrapper div.send-to span.cancel a").each((e,t)=>{me[$(t).text().trim()]&&$(t).text(me[$(t).text().trim()])}),$("#events-main-wrapper div.send-to span.name").each((e,t)=>{me[$(t).text().trim()]&&$(t).text(me[$(t).text().trim()])}),"false"!==localStorage.getItem("wh_trans_event")&&0!==e.length&&e.each((e,i)=>{if(v&&$(i).children("a.sender-name").remove(),me[$(i).text().trim()])$(i).text(me[$(i).text().trim()]);else{if(0<=$(i).text().indexOf("finished")){if(0<=$(i).text().indexOf("crashed"))return;var o=$(i).text().indexOf("racing point"),a=0<=o?$(i).text()[o-2]:null,r=0<=$(i).text().indexOf("beating");let e,t;r&&(e=$(i).text().split("record of ")[1].split(" by ")[0],t=$(i).text().split("record of ")[1].split(" by ")[1].split(". ")[0]);var s=i.childNodes[1].firstChild.nodeValue.match(/[0-9]+/)[0],l=i.childNodes[2].nodeValue.split(" "),d=i.childNodes[2].nodeValue.split(" best lap was ")[1].slice(0,8);let n=l[3];return n="Stone"===(n="Two"===n?"Two Islands":n)?"Stone Park":n,i.firstChild.nodeValue="你在赛车比赛 "+n+" 中获得第 ",i.childNodes[1].firstChild.nodeValue=s,i.childNodes[2].nodeValue=" 名,",0<=o&&(i.childNodes[2].nodeValue+="获得"+a+"赛车点数 (Racing Points)。"),i.childNodes[2].nodeValue+="你的最佳圈速是 "+d,r&&(i.childNodes[2].nodeValue+=",比之前最佳 "+e+" 快 "+t),i.childNodes[2].nodeValue+="。",i.childNodes[2].nodeValue+="[",void(i.childNodes[3].firstChild.nodeValue="查看")}if($(i).text().contains(/You have been charged \$[\d,]+ for your loan/)){const t=i.firstChild.nodeValue;l=t.split(" ")[4],s="你需要支付 ";return i.firstChild.nodeValue=s+l+" 贷款利息,点此支付:",i.childNodes[1].firstChild.nodeValue="鲨客借贷",void(i.childNodes[2].nodeValue="。")}if($(i).text().contains(/You were sent .+ from/)){const n=$(i).contents().get(0).nodeValue.trim().split(" ");o=$(i).text().trim().split("with the message: "),a=/^\$[0-9,]+\b/.test(n[3])?"":n[3].numWordTrans(),d=""===a?n[3]:n.slice(4,-1).join(" "),r=o[1]||null;return i.childNodes[0].nodeValue=`你收到了 ${a} ${d},来自 `,i.childNodes[2]&&(i.childNodes[2].nodeValue="。"),void(r&&(i.childNodes[2].nodeValue=`,附带信息:${r}。`))}if($(i).text().contains(/bought .+ from your bazaar for/)){const c=i.childNodes[1].nodeValue,u=c.split(" ");s=u[2],l=u.slice(4,u.indexOf("from")).join(" "),o=u[u.length-1].replace(".","");void(i.childNodes[1].nodeValue=" 花费 "+o+" 从你的店铺购买了 "+s+" 个 "+l+"。")}else{if(0<=$(i).text().indexOf("trade")){if(0<=$(i).text().indexOf("You must now accept")){const p=i.childNodes[1].nodeValue.split(". You must")[0];a=p.slice(31,p.length);return i.childNodes[1].nodeValue=" 已经接受了名为 "+a+" 的交易。你现在必须接受以完成它。",void(i.childNodes[2].firstChild.nodeValue="点此继续")}if(0<=$(i).text().indexOf("expired"))return i.firstChild.nodeValue="与 ",void(i.childNodes[2].nodeValue=" 的交易已过期。");if(0<=$(i).text().indexOf("initiated")){const h=i.childNodes[1].nodeValue;d=h.slice(30,h.length-2);return i.childNodes[1].nodeValue=" 发起了标题为 "+d+" 的交易。",void(i.childNodes[2].firstChild.nodeValue="点此继续")}return 0<=$(i).text().indexOf("now complete")?void(i.childNodes[1].nodeValue=" 已经接受交易。该交易现已完成。"):0<=$(i).text().indexOf("canceled")?void(i.childNodes[1].nodeValue=" 已经取消了这个交易。"):0<=$(i).text().indexOf("commented")?(i.childNodes[1].nodeValue=" 对",i.childNodes[2].firstChild.nodeValue="进行中的交易",void(i.childNodes[3].nodeValue="添加了一条评论"+i.childNodes[3].nodeValue)):void 0}if(0<=$(i).text().indexOf("mugged")){r=$(i).text().trim().split(" ");7<r.length||(o=r[r.length-2],"Someone"===r[0]?(i.firstChild.nodeValue="有人打劫你并抢走了 "+o+" [",i.childNodes[1].firstChild.nodeValue="查看"):(i.childNodes[1].nodeValue=" 打劫你并抢走了 "+o+" [",i.childNodes[2].firstChild.nodeValue="查看"))}else{if(0<=$(i).text().indexOf("attacked")){s=$(i).text().trim().split(" ");if(6<s.length)return"timed"===s[4]?i.firstChild.firstChild?(i.childNodes[1].nodeValue=" 袭击你但是超时了 [",void(i.childNodes[2].firstChild.nodeValue="查看")):(i.firstChild.nodeValue="你袭击 ",i.childNodes[2].nodeValue=" 但是超时了 [",void(i.childNodes[3].firstChild.nodeValue="查看")):void 0;if($(i).find("a").text().toLowerCase().indexOf("someone")<0&&"someone"===$(i).text().split(" ")[0].toLowerCase())return 6===s.length&&"hospitalized"===s[3]?i.firstChild.nodeValue="有人袭击你并将你强制住院 [":i.firstChild.nodeValue="有人袭击了你 [",void(i.childNodes[1].firstChild.nodeValue="查看");if(4===s.length)return i.childNodes[1].nodeValue=" 袭击了你 [",void(i.childNodes[2].firstChild.nodeValue="查看");if(6===s.length){switch(s[4]){case"lost":return i.childNodes[1].nodeValue=" 袭击你但输了 [",void(i.childNodes[2].firstChild.nodeValue="查看");case"escaped":return i.childNodes[1].nodeValue=" 袭击你但逃跑了 [",void(i.childNodes[2].firstChild.nodeValue="查看");case"stalemated":return i.childNodes[1].nodeValue=" 袭击你但打成了平手 [",void(i.childNodes[2].firstChild.nodeValue="查看")}switch(s[3]){case"attack":return i.childNodes[1].nodeValue=" 尝试袭击你 [",void(i.childNodes[2].firstChild.nodeValue="查看");case"hospitalized":return i.childNodes[1].nodeValue=" 袭击你并将你强制住院 [",void(i.childNodes[2].firstChild.nodeValue="查看")}}}if(0<=$(i).text().indexOf("lottery"))return a=(l=i.childNodes[1].nodeValue.split(" "))[l.length-3]+" "+l[l.length-2],d=l[2],void(i.childNodes[1].nodeValue=" 在 "+a+" 彩票中赢得了 "+d+"!");if($(i).text().contains(/, the director of .+, has/))$(i).contents().each((e,t)=>{if(3===t.nodeType)if(me[t.nodeValue.trim()])t.nodeValue=me[t.nodeValue.trim()];else{if(t.nodeValue.contains(/wage/))return n=t.nodeValue.trim().slice(27,-9),void(t.nodeValue=` 的老板) 将你的每日工资改为 ${n}。`);if(t.nodeValue.contains(/rank/))return n=t.nodeValue.trim().slice(27,-1),void(t.nodeValue=` 的老板) 将你的公司职位改为 ${n}。`);if(t.nodeValue.contains(/assigned/))t.nodeValue=" 的老板) 将你指派为新的公司老板。";else if(t.nodeValue.contains(/trained/)){const o=t.nodeValue.trim().split(" ");var n=o[10],i=o[13].slice(0,-1);t.nodeValue=` 的老板) 从公司训练了你。你获得了 50 ${me[n]} 和 25 ${me[i]}。`}}});else if($(i).text().contains(/bounty reward/))$(i).contents().each((e,t)=>{var n;3===t.nodeType&&(me[t.nodeValue.trim()]?t.nodeValue=` ${me[t.nodeValue.trim()]} `:t.nodeValue.contains(/bounty reward/)&&(n=t.nodeValue.trim().split(" ")[3],t.nodeValue=` ${me["and earned your"]} ${n} `+me["bounty reward"]))});else{if(0<=$(i).text().indexOf("organized crime")){var r=i.childNodes[4].nodeValue.split(" ")[2],o=i.childNodes[3].firstChild.nodeValue;let e=i.childNodes[2].nodeValue.split(" ")[10];return e="one"===e?"1":e,i.firstChild.nodeValue="你被 ",i.childNodes[2].nodeValue=` 选中参与一项组织犯罪(OC)。你和另外${e}人将组成一个团队,在${r}小时后进行 `,i.childNodes[3].firstChild.nodeValue=x[o]||o,void(i.childNodes[4].nodeValue="。")}if(0<=$(i).text().indexOf("You and your team")){let e="成功",t=i.firstChild.nodeValue.slice(31,-19);return 0<=$(i).text().indexOf("fail")&&(e="失败",t=i.firstChild.nodeValue.slice(27,-30)),i.firstChild.nodeValue=`你和团队的组织犯罪(OC) ${x[t]||t} ${e}了!`,i.childNodes[1].firstChild.nodeValue="点此查看详情",void(i.childNodes[2].nodeValue="!")}if(0<=$(i).text().indexOf("bust")){if("f"===i.childNodes[1].nodeValue[1])return void(i.childNodes[1].nodeValue=" 没能把你从监狱救出来。");if("w"===i.childNodes[1].nodeValue[1])return void(i.childNodes[1].nodeValue=" 在尝试救你出狱时被抓了。");if("s"===i.childNodes[1].nodeValue[1])return void(i.childNodes[1].nodeValue=" 成功把你从监狱里救了出来。")}if(0<=$(i).text().indexOf("bailed"))return s=i.childNodes[1].nodeValue.trim().slice(27,-1),void(i.childNodes[1].nodeValue=" 花费 "+s+" 保释了你。");if($(i).text().contains(/You were given \$[\d,]+ from your faction/))return l=i.firstChild.nodeValue.split(" ")[3],void(1<i.childNodes.length?(i.firstChild.nodeValue="",i.childNodes[2].nodeValue=" 为你从帮派取了 "+l+"。"):i.firstChild.nodeValue="你得到了从帮派取出的 "+l+"。");if($(i).text().contains(/has placed .+ bount.+ on you/)){var a=$(i).text().trim().split(" ");const m=$(i).text().trim().split(" and the reason: ");var d=!i.children.length,r="a"===a[3]?"1":a[3],o=m[0].split(" ").slice(-1)[0],s=m[1]||null,l=`${d?"某人":" "}对你进行了 ${r} 次赏金为 ${o} 的悬赏`+(s?",原因:"+s:"");void(d?$(i).text(l):$(i).contents().get(1).nodeValue=l)}else{if($(i).text().contains(/successfully revived you/))return 1!==i.children.length?void 0:void(me[$(i).contents().get(1).nodeValue.trim()]&&($(i).contents().get(1).nodeValue=me[$(i).contents().get(1).nodeValue.trim()]));if($(i).text().contains(/failed to revive you/))return 1!==i.children.length?void 0:void(me[$(i).contents().get(1).nodeValue.trim()]&&($(i).contents().get(1).nodeValue=me[$(i).contents().get(1).nodeValue.trim()]));if($(i).text().contains(/You were given [\d,]+ points? from your faction/))return a=i.firstChild.nodeValue.split(" ")[3],void(i.firstChild.nodeValue="你得到了从帮派取出的 "+a+" PT。");if($(i).text().contains(/loaned you .+ from the faction armory/)){const[g,f]=(()=>{const e=i.lastChild.nodeValue.trim().slice().slice(11,-25).split(" ");return 1===e.length?[e[0],null]:[e[0],e.slice(1).join(" ")]})();void(g&&f&&(i.lastChild.nodeValue=` 从帮派军械库中借给你 ${g.numWordTrans()} ${f}。`))}else if(0<=$(i).text().indexOf("edu"))$(i).text().trim().split(" ")&&(i.firstChild.firstChild.nodeValue="你的课程已学习结束,请点此继续。");else if($(i).text().contains(/LSD .+ overdosed/))me[$(i).text().trim()]&&$(i).text(me[$(i).text().trim()]);else if($(i).text().contains(/Your application to join the company .+ has been/))$(i).contents().each((e,t)=>{3===t.nodeType&&me[t.nodeValue.trim()]&&(t.nodeValue=me[t.nodeValue.trim()])});else if($(i).text().contains(/Your bank investment has ended/))$(i).children().text("你的银行投资已经结束。请点击这里领取你的资金。");else{if(0<=$(i).text().indexOf("upgraded"))return r=i.firstChild.nodeValue.slice(44,-2),void(i.firstChild.nodeValue="恭喜!你已升至"+r+"级!");if($(i).text().contains(/You have successfully purchased membership in/))return o=i.firstChild.nodeValue.trim().slice(46,-1),void(i.firstChild.nodeValue=`你已购买【${ue[o]}】健身房会员卡。`);if($(i).text().contains(/You are now known in the city as a/))return s=$(i).text().trim().split(" ").slice(9).join(" ").slice(0,-1),void $(i).text(`现在你在这个城市中被称为 ${s}。`);if($(i).text().contains(/You have successfully referred/))$(i).contents().each((e,t)=>{3===t.nodeType?me[t.nodeValue.trim()]&&(t.nodeValue=me[t.nodeValue.trim()]):1===t.nodeType&&me[$(t).text().trim()]&&$(t).text(me[$(t).text().trim()])});else{if(0<=$(i).text().indexOf("new virus"))return d=i.firstChild.nodeValue.split(" ").slice(3,5).join(" "),i.firstChild.nodeValue=`你完成了 ${d},它现在在你的物品库存中。你可以`,i.childNodes[1].firstChild.nodeValue="点此",void(i.childNodes[2].nodeValue="开始编程一个新的病毒。");if($(i).text().contains(/You found .+ and .+ on your doorstep/)){const[y,b]=$(i).text().trim().slice(10,-18).split(" and ");l=b.contains(/a book titled/)?b.slice(15,-1):null;void(l?$(i).text(`你在家门口发现了 ${y.numWordTrans()} 和《${l}》。`):$(i).text(`你在家门口发现了 ${y.numWordTrans()} 和 ${b.numWordTrans()}。`))}else{if($(i).text().contains(/accepted your proposal, you are now engaged/))return a=$(i).children(":first").text().trim(),i.childNodes[1]&&(i.childNodes[1].nodeValue=` 接受了你的求婚,你现在和 ${a} 订婚了!前往`),i.childNodes[2]&&i.childNodes[2].firstChild&&(i.childNodes[2].firstChild.nodeValue="这里"),void(i.childNodes[3]&&(i.childNodes[3].nodeValue="完成仪式。"));if(0<=$(i).text().indexOf("position")){let e,t;const w=i.childNodes[2].nodeValue.split(" to ");return 2!==w.length?void Te.info('职位出现" to "'):(e=w[0].slice(14,w[0].length),t=w[1].slice(0,w[1].length-2),i.firstChild.nodeValue="你在 ",void(i.childNodes[2].nodeValue=` 的职位从 ${e} 变为 ${t}。`))}0<=$(i).text().indexOf("join the faction")&&(r=i.childNodes[2].nodeValue.trim().split(" ")[2],o={accepted:"通过",declined:"拒绝"},i.firstChild.nodeValue="加入帮派 ",i.childNodes[2].nodeValue=` 的申请已${o[r]}。`)}}}}}}}}})}function Ve(t=document,n={},i=()=>{},e=!1,o=!1){if(e){const a=new MutationObserver(e=>{Te.info(e),a.disconnect(),i(),o||a.observe(t,n)});i(),a.observe(t,n)}else{const r=new MutationObserver(()=>{r.disconnect(),i(),o||r.observe(t,n)});i(),r.observe(t,n)}}function Re(e=document.querySelector(".show-item-info")){if(e){const n=e.querySelector("span.info-msg");if(n){var t=!!n.querySelector(".tt-modified");t&&console.warn(t);const o=n.querySelector("span.bold");t=o.innerText.trim().slice(4);const a=o.nextSibling,r=n.querySelector("div.item-effect");ke[t]&&(o.innerText=ke[t]+`(${t})`),l[a.nodeValue.trim()]&&(a.nodeValue=l[a.nodeValue.trim()]),r&&s[r.innerText.trim()]&&(r.innerText=s[r.innerText.trim()])}const i=e.querySelectorAll("div.title");i.forEach(e=>{xe[e.innerText.trim()]&&(e.innerText=xe[e.innerText.trim()])})}}function Oe(e=document.querySelectorAll('div[class^="linksContainer___"] span[class^="linkTitle___"]')){e.forEach(e=>{var t=n[e.innerText.trim()];t&&(e.innerText=t)})}function Fe(e=document.querySelectorAll('h4[class^="title___"]')){e.forEach(e=>{var t=Ie[e.innerText.trim()];t&&(e.innerText=t)})}function Q(e){String.prototype.replaceHMS=function(){return this.replace("and","").replace("days","天").replace("days","天").replace("hours","小时").replace("hour","小时").replace("minutes","分钟").replace("minute","分钟").replace("seconds","秒钟").replace("second","秒钟")},String.prototype.numWordTrans=function(){return this.replace(/\ban\b/,"1 个").replace(/\ba\b/,"1 个").replace(/\bsome\b/,"1 个").replace(/([0-9])x\b/,"$1 个")};let B=60;const H=setInterval(()=>{0===$('div[class^="sidebar"]').length?--B<0&&clearInterval(H):($('h2[class^="header"]').each((e,t)=>{re[t.firstChild.nodeValue]&&(t.firstChild.nodeValue=re[t.firstChild.nodeValue])}),$('span[class^="menu-name"]').each((e,t)=>{t.firstChild.nodeValue="名字:"}),$('p[class^="point-block"]').each((e,t)=>{re[t.firstChild.firstChild.nodeValue]&&(t.firstChild.firstChild.nodeValue=re[t.firstChild.firstChild.nodeValue])}),$('p[class^="bar-name"]').each((e,t)=>{re[t.firstChild.nodeValue]&&(t.firstChild.nodeValue=re[t.firstChild.nodeValue])}),$('span[class^="linkName"]').each((e,t)=>{re[t.firstChild.nodeValue]&&(t.firstChild.nodeValue=re[t.firstChild.nodeValue])}),document.querySelector("#pointsMerits")&&($("#pointsMerits")[0].firstChild.nodeValue="[使用]"),document.querySelector("#pointsPoints")&&($("#pointsPoints")[0].firstChild.nodeValue="[使用]"),document.querySelector("#pointsLevel")&&($("#pointsLevel")[0].firstChild.nodeValue="[升级]"),$('div[class*="areas-mobile"] span:nth-child(2)').contents().each((e,t)=>{re[t.nodeValue]&&(t.nodeValue=re[t.nodeValue])}),clearInterval(H))},1e3);if(document.querySelector("div#header-root")){const t=new MutationObserver(e=>{t.disconnect(),R(),t.observe($("div#header-root")[0],{childList:!0,subtree:!0,attributes:!0})}),R=function(){he[$("div.find button.toggler.down").text()]&&$("div.find button.toggler.down").text(he[$("div.find button.toggler.down").text()]),$("div.find li.item").each((e,t)=>{he[$(t).text()]&&$(t).text(he[$(t).text()])}),$('li[class^="search-type-"] label').each((e,t)=>{he[$(t).text()]&&$(t).text(he[$(t).text()])}),he[$('input[class^="searchInput"]').attr("placeholder")]&&$('input[class^="searchInput"]').attr("placeholder",he[$('input[class^="searchInput"]').attr("placeholder")]),he[document.querySelector("div#header-root legend.title").innerText]&&$("div#header-root legend.title").text(he[$("div#header-root legend.title").text()]),$("ul.advancedSearchFormBody label.label").each((e,t)=>{he[$(t).text()]&&$(t).text(he[$(t).text()])}),$("ul.advancedSearchFormBody div.select-wrapper button.toggler.down").each((e,t)=>{he[$(t).text().trim()]?$(t).text(he[$(t).text().trim()]):le[$(t).text().trim()]&&$(t).text(le[$(t).text().trim()])}),$("ul.advancedSearchFormBody li.item").each((e,t)=>{he[$(t).text()]?$(t).text(he[$(t).text()]):le[$(t).text()]&&$(t).text(le[$(t).text()])}),$("ul.advancedSearchFormBody label.search-condition-not").each((e,t)=>{he[$(t).text()]&&$(t).text(he[$(t).text()])}),$('ul.advancedSearchFormBody label[for*="To"]').each((e,t)=>{he[$(t).text()]&&$(t).text(he[$(t).text()])}),$("form.form-search-extend div.bottom button").each((e,t)=>{he[$(t).text()]&&$(t).text(he[$(t).text()])});const e=$('div.recentHistory a[class^="link"] span[class^="text"]');he[e.text().trim()]&&e.text(he[e.text().trim()]),$("ul.settings-menu span").each((e,t)=>{he[$(t).text()]&&1===t.childNodes.length?$(t).text(he[$(t).text()]):3===t.childNodes.length&&he[t.firstChild.nodeValue]&&(t.firstChild.nodeValue=he[t.firstChild.nodeValue])})};R(),t.observe($("div#header-root")[0],{childList:!0,subtree:!0,attributes:!0})}if(document.querySelector("div#chatRoot")){const n=new MutationObserver(e=>{n.disconnect(),O(),n.observe($("div#chatRoot").get(0),{childList:!0,subtree:!0,attributes:!0})}),O=function(){$('div#chatRoot div[class^="chat-box-title"] span[class^="name"]').each((e,t)=>{ge[$(t).text().trim()]&&$(t).text(ge[$(t).text().trim()])}),$('div[class^="chat-settings-opts"] div[class*="label"]').each((e,t)=>{0<$(t).next().children("div.rc-slider").length?ge[$(t).text().split(" ")[0]]&&$(t).text($(t).text().replace($(t).text().split(" ")[0],ge[$(t).text().split(" ")[0]])):ge[$(t).text().trim()]&&$(t).text(ge[$(t).text().trim()])}),$('div[class^="dropdown-root"]').find("*").contents().each((e,t)=>{3===t.nodeType&&ge[t.nodeValue]&&(t.nodeValue=ge[t.nodeValue])}),$('label[class^="privacy-label"]').each((e,t)=>{ge[$(t).text().trim()]&&$(t).text(ge[$(t).text().trim()])}),$('ul[class^="type-list"] li a').each((e,t)=>{ge[$(t).text().trim()]&&$(t).text(ge[$(t).text().trim()])}),$("div.ac-wrapper input.ac-search").each((e,t)=>{ge[$(t).attr("placeholder")]&&$(t).attr("placeholder",ge[$(t).attr("placeholder")])}),me[$('div#chatRoot div[class^="overview"] > div > div:nth-child(2)').text().trim()]&&$('div#chatRoot div[class^="overview"] > div > div:nth-child(2)').text(me[document.querySelector('div#chatRoot div[class^="overview"] > div > div:nth-child(2)').innerText.trim()])};O(),n.observe($("div#chatRoot").get(0),{childList:!0,subtree:!0,attributes:!0})}{const F={childList:!0,subtree:!0},i=new MutationObserver(e=>{const t=$("ul.ac-options li a");i.disconnect(),e.forEach(e=>{"ac-wrapper"===e.target.className&&t.each((e,t)=>{ge[$(t).text().trim()]&&$(t).text(ge[$(t).text().trim()])})}),i.observe(document.body,F)});i.observe(document.body,F)}if(e.includes("index.php")&&document.querySelector("div.travelling h4")){let e=function(){if(Ce(),Ee(),_e[document.querySelector("div.inner-popup").innerText.trim()]&&$("div.inner-popup").text(_e[$("div.inner-popup").text().trim()]),$("div.destination-title span").contents().each((e,t)=>{0===t.childNodes.length&&t.nodeValue&&Me[t.nodeValue.trim()]&&(t.nodeValue=Me[t.nodeValue.trim()])}),"Landing"===document.querySelector("div.tt-landing-time span.description").innerText.split(" ")[0]){let e=$("div.tt-landing-time span.description");var t=e.text().slice(11,19);e.text("于 "+t+" 降落")}};const o=new MutationObserver(function(){o.disconnect(),e(),o.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0})});e(),o.observe(document.querySelector("div.content-wrapper"),{childList:!0,subtree:!0})}if(e.contains(/index\.php/)&&document.querySelector("h4#skip-to-content").innerText.contains(/Home/))return Ce(),Ee(),$("h5.box-title").each((e,t)=>{Le[t.firstChild.nodeValue]&&("Latest Events"===t.firstChild.nodeValue?qe($(t).parent().next().find("span")):"Latest Attacks"===t.firstChild.nodeValue&&$(t).parent().next().find("span").each(function(){let e=$(this)[0].childNodes;e.forEach((t,n)=>{if(null!==t.nodeValue){t.nodeValue.toString().indexOf(" ");let e=t.nodeValue.replace("\n","").toString().split(" ");e.forEach((e,t)=>{Ae.hasOwnProperty(e)&&("Someone"===e&&($(this)[0].childNodes[n].nodeValue=$(this)[0].childNodes[n].nodeValue.replace(" ","")),e=$(this)[0].childNodes[n].nodeValue.replace(e,Ae[e]),$(this)[0].childNodes[n].nodeValue=e)})}},this)}),"none"!==$(t).css("display")&&$(t).css("display","none").after('<h5 class="box-title">'+Le[t.firstChild.nodeValue]+"</h5>"))}),void $("span.divider span").each((e,t)=>{Le[$(t).text()]&&$(t).text(Le[$(t).text()])});if(e.includes("city.php")){let e=function(){Ce(),Ee(),$("a.ui-tabs-anchor span").each((e,t)=>{de[$(t).text()]&&$(t).text(de[$(t).text()])}),de[$("div.title-black").text()]&&$("div.title-black").text(de[$("div.title-black").text()]),$("ul.map-symbols span").each((e,t)=>{de[$(t).text()]&&$(t).text(de[$(t).text()])}),$("span.inactive-mode").html(de["inactive-mode1"]+"<br>"+de["inactive-mode2"]),$("span.active-mode").text(de["active-mode"]),$("div.on-label").text("已开启"),$("div.off-label").text("已关闭"),$("li.title").each((e,t)=>{de[$(t).text()]&&$(t).text(de[$(t).text()])}),$('li a[class^="font-num-"] span').each((e,t)=>{de[$(t).text()]?$(t).text(de[$(t).text()]):"cql-your-property"===$(t).prev().attr("class")?le[$(t).text().trim().slice(5)]&&$(t).text("你的"+le[$(t).text().trim().slice(5)]):"cql-gym"===$(t).prev().attr("class")&&(ue[$(t).text().trim()]?$(t).text(ue[$(t).text()]):ue[$(t).text().trim().split(" ").slice(0,2).join(" ")]&&$(t).text(ue[$(t).text().trim().split(" ").slice(0,2).join(" ")]))}),$("div.sort-by label.marker-css").each((e,t)=>{de[$(t).text()]&&$(t).text(de[$(t).text()])}),$("span#wai-sort-by").each((e,t)=>{de[$(t).text()]&&$(t).text(de[$(t).text()])})};const a=new MutationObserver(function(){a.disconnect(),e(),a.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0})});return e(),void a.observe(document.querySelector("div.content-wrapper"),{childList:!0,subtree:!0})}if(e.includes("gym.php")){let e=function(){Ce(),Ee(),$('div[class^="notificationText"] b').text(),$('div[class^="notificationText"] p').contents().each((e,t)=>{"B"===t.nodeName&&ue[$(t).text().trim()]?$(t).text(ue[$(t).text().trim()]):0===t.childNodes.length&&ce[t.nodeValue.trim()]&&(t.nodeValue=ce[t.nodeValue.trim()])}),$('h3[class^="title"]').each((e,t)=>{ce[$(t).text().trim()]&&$(t).text(ce[$(t).text().trim()])}),$('div[class^="description"] p:nth-child(1)').each((e,t)=>{ce[$(t).text().trim()]&&$(t).text(ce[$(t).text().trim()])}),$('div[class^="description"] p:nth-child(2)').each((e,t)=>{1===t.childNodes.length?ce[$(t).text().trim()]&&$(t).text(ce[$(t).text().trim()]):2===t.childNodes.length&&ce[t.lastChild.nodeValue.trim()]&&(t.lastChild.nodeValue=ce[t.lastChild.nodeValue.trim()])}),$('button[class^="button"]').each((e,t)=>{ce[$(t).text().trim()]&&$(t).text(ce[$(t).text().trim()])}),$('button[class^="cancel"]').each((e,t)=>{ce[$(t).text().trim()]&&$(t).text(ce[$(t).text().trim()])}),$('div[class^="messageWrapper"] p').each((e,t)=>{ce[$(t).text()]&&$(t).text(ce[$(t).text()])}),$('div[class^="gymTitle"] h3').each((e,t)=>{ce[$(t).text()]?$(t).text(ce[$(t).text()]):ue[$(t).text().trim()]&&$(t).text(ue[$(t).text().trim()])}),$('ul[class^="gymInfo"] b').each((e,t)=>{ce[$(t).text().trim()]&&$(t).text(ce[$(t).text().trim()])}),$('ul[class^="gymInfo"] span[class^="value"]').each((e,t)=>{ce[$(t).text().trim()]&&$(t).text(ce[$(t).text().trim()])}),$('span[class^="exerciseName"]').each((e,t)=>{ce[$(t).text().trim()]&&$(t).text(ce[$(t).text().trim()])}),$('div[class^="confirmMessage"] p[role="alert"]').each((e,t)=>{ce[$(t).text().trim()]&&$(t).text(ce[$(t).text().trim()])})};const r=new MutationObserver(function(){r.disconnect(),e(),r.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0,attributes:!0})});return e(),void r.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0,attributes:!0})}if(e.contains(/item\.php/)){if(e.includes("item.php?temp="))return;Ve(document.querySelector(".content-title"),{childList:!0},()=>{Ce(),Ee()});const s=document.getElementById("loadoutsRoot");s&&Ve(s,{subtree:!0,attributes:!0},()=>{const e=s.querySelector('div[class^="type___"]');e&&xe[e.innerText.trim()]&&(e.innerText=xe[e.innerText.trim()])});var q={attributes:!0,subtree:!0,attributeFilter:["aria-hidden"]};const l={cat:"",count:-1},d={item_opt:-1,opt_icon_count:-1},c=(Ve(document.getElementById("category-wrap"),q,()=>{const e=document.querySelectorAll("ul.itemsList span.opt-name");if(d.item_opt!==e.length-1){let n=-1;e.forEach((e,t)=>{xe[e.firstChild.nodeValue.trim()]&&(e.firstChild.nodeValue=xe[e.firstChild.nodeValue.trim()]),n=t}),d.item_opt=-1!==n?n:-1}const t=document.querySelector('ul.itemsList[aria-expanded="true"]');if(t){const o=t.querySelectorAll("span.name");var n=t.id;if(o.length-1!==l.count||n!==l.cat){let i=-1;o.forEach((e,t)=>{if(!e.classList.contains("wh-translated")&&ke[e.innerText.trim()]){e.classList.add("wh-translated");const n=document.createElement("span");n.classList.add("wh-translate"),n.setAttribute("style","margin: 0 0 0 1em"),n.append(ke[e.innerText.trim()]),e.after(n)}i=t}),-1!==i&&(l.cat=n,l.count=i)}Re(t.querySelector("li.show-item-info"));const i=$("ul.actions-wrap span.icon-h");if(d.opt_icon_count!==i.length-1){let n=-1;i.each((e,t)=>{xe[t.getAttribute("title")]&&t.setAttribute("title",xe[t.getAttribute("title")]),n=e}),-1!==n&&(d.opt_icon_count=n)}}}),document.querySelector("div.title-black"));if(c){const u=c.querySelector("span.m-hide"),p=(xe[u.innerText.trim()]&&(u.innerText=xe[u.innerText.trim()]),c.querySelector("span.items-name"));Ve(p,{childList:!0},()=>{xe[p.innerText.trim()]&&(p.innerText=xe[p.innerText.trim()])})}const G=document.querySelectorAll("li#categoriesItem a");void G.forEach(e=>{xe[e.getAttribute("title")]&&e.setAttribute("title",xe[e.getAttribute("title")])})}else if(e.contains(/(shops|bigalgunshop)\.php/)){Ve(document.querySelector(".content-title"),{childList:!0,subtree:!0},()=>{Ce(),Ee()});const h=document.querySelector(".content-wrapper"),m=h.querySelector(".buy-items-wrap");if(m){const f=m.querySelector(".title-black"),j=(f&&$e[f.firstChild.nodeValue.trim()]&&(f.firstChild.nodeValue=$e[f.firstChild.nodeValue.trim()]),m.querySelectorAll("ul.items-list > li.torn-divider"));j.forEach(e=>{const t=e.querySelector("span.desc span.name.bold"),n=(t&&ke[t.innerText.trim()]&&(t.innerText=`${ke[t.innerText.trim()]}(${t.innerText.trim()})`),e.querySelector("span.desc span.stock")),i=(n&&n.childNodes.forEach(e=>{1===e.nodeType?$e[e.innerText.trim()]&&(e.innerText=$e[e.innerText.trim()]):$e[e.nodeValue.trim()]&&(e.nodeValue=$e[e.nodeValue.trim()])}),e.querySelector("button.wai-support")),o=(i&&$e[i.childNodes[0].nodeValue.trim()]&&(i.childNodes[0].nodeValue=$e[i.childNodes[0].nodeValue.trim()]),e.querySelector("span.confirm")),a=o.querySelector("span"),r=(a&&$e[a.innerText.trim()]&&(a.innerText=$e[a.innerText.trim()]),o.querySelector("span.count").nextSibling);r&&!r.nodeValue.contains(Ne)&&(e=r.nodeValue.trim().split(" ").slice(1,-1).join(" "),e=ke[e]||e,r.nodeValue=`个[${e}],总计$`);const s=o.querySelectorAll("span.confirm-act a");s.forEach(e=>{$e[e.innerText.trim()]&&(e.innerText=$e[e.innerText.trim()])})}),Ve(h,{childList:!0,subtree:!0},()=>{Re(h.querySelector(".show-item-info")||h.querySelector(".view-item-info"))})}const g=h.querySelector(".sell-items-wrap");if(g){const z=g.querySelectorAll("ul.title li"),J=(z.forEach(e=>{e.childNodes.forEach(t=>{if(1===t.nodeType){let e=t;if($e[e.innerText.trim()])e.innerText=$e[e.innerText.trim()];else{const o=e.innerText.trim().split(" ");var n,i;3<o.length&&(n=("the"===o[2]?o.slice(3):o.slice(2)).join(" "),i=$e[n]||Ie[n]||de[n]||null,e.innerText="物品给"+(i||n))}}else $e[t.nodeValue.trim()]&&(t.nodeValue=$e[t.nodeValue.trim()])})}),g.querySelectorAll("span.name")),Y=(J.forEach(e=>{ke[e.innerText.trim()]&&(e.innerText+=" "+ke[e.innerText.trim()])}),g.querySelectorAll("button")),y=(Y.forEach(e=>{$e[e.innerText.trim()]&&(e.innerText=$e[e.innerText.trim()])}),g.querySelector("li.select button.wai-btn")),b=(y&&Ve(y,{childList:!0},()=>{y&&$e[y.innerText.trim()]&&(y.innerText=$e[y.innerText.trim()])}),g.querySelector("span.cancel a")),w=(b&&$e[b.innerText.trim()]&&(b.innerText=$e[b.innerText.trim()]),g.querySelector("div.sell-confirm"));if(w){const v=w.childNodes[0],x=($e[v.nodeValue.trim()]&&(v.nodeValue=$e[v.nodeValue.trim()]),w.querySelector("span.profit").childNodes[0]);$e[x.nodeValue.trim()]&&(x.nodeValue=$e[x.nodeValue.trim()])}}const W=h.querySelector(".sell-points-wrap");if(W){const k=W.querySelector(".title-black");$e[k.innerText.trim()]&&(k.innerText=$e[k.innerText.trim()])}}else{if(e.contains(/page\.php\?sid=stocks/)){const S=new MutationObserver(()=>{S.disconnect(),Ce(),Ee(),U(),S.observe($(".content-wrapper").get(0),{characterData:!0,attributes:!0,subtree:!0,childList:!0})}),U=function(){$("ul.title-black").find("*").contents().each((e,t)=>{3===t.nodeType&&ve[t.nodeValue.trim()]&&(t.nodeValue=ve[t.nodeValue.trim()])}),$('div[class^="nameContainer"]').each((e,t)=>{t.childNodes[0].nodeValue&&ve[t.childNodes[0].nodeValue.trim()]&&(t.childNodes[0].nodeValue=ve[t.childNodes[0].nodeValue.trim()])}),$('div[class^="dividendInfo"] p').each((e,t)=>{const n=$(t).text().trim().split(" ");var i,o;ve[$(t).text().trim()]?$(t).text(ve[$(t).text().trim()]):/[0-9]x$/.test(n[0])&&(i=n.slice(1).join(" "),o=n[0].slice(0,-1),$(t).text(o+"个"+(ke[i]||i)))}),$('#panel-priceTab ul[role="tablist"] label span:last-child').each((e,t)=>{ve[$(t).text()]&&$(t).text(ve[$(t).text()])}),$('ul[class^="priceInfoList___"] li').contents().each((e,t)=>{3===t.nodeType&&ve[t.nodeValue.trim()]&&(t.nodeValue=ve[t.nodeValue.trim()])}),$('div#panel-ownedTab div[class^="manageBlock"] *').contents().each((e,t)=>{1===t.nodeType?ve[$(t).text().trim()]&&$(t).text(ve[$(t).text().trim()]):3===t.nodeType&&(ve[t.nodeValue.trim()]?t.nodeValue=ve[t.nodeValue.trim()]:/\$[0-9]+ after the 0\.1% fee of \$[0-9]+$/.test(t.nodeValue.trim())&&(t.nodeValue=t.nodeValue.trim().replace("after the",ve["after the"]).replace("fee of",ve["fee of"])))}),$('div#panel-ownedTab div[class^="transactionsContainer"] li').each((e,t)=>{t=0===t.childElementCount?t:t.children[0],ve[$(t).text().trim()]&&$(t).text(ve[$(t).text().trim()])});const e=document.querySelector('li[class^="showMore___"] button');var t;e&&e.innerText.trim().contains(/^Show [0-9]+ more$/)&&(t=e.innerText.trim().split(" ")[1],e.innerText=`显示另外${t}条`),$('div#panel-dividendTab div[class^="message"] *').contents().each((e,t)=>{if(3===t.nodeType&&t.nodeValue.trim())if(ve[t.nodeValue.trim()])t.nodeValue=ve[t.nodeValue.trim()];else if(/[0-9][snrt][tdh]$/.test(t.nodeValue.trim()))t.nodeValue=`第${t.nodeValue.trim().slice(0,-2)}个`;else if(/[0-9]x$/.test(t.nodeValue.trim().split(" ")[0])){const i=t.nodeValue.trim().split(" ");var n=i.slice(1).join(" ");t.nodeValue=` ${i[0].replace("x","个")} `+(ke[n]||n)}else/[\u4e00-\u9fa5]/.test(t.nodeValue)||/\b\$?[0-9,]+$/.test(t.nodeValue)||Te.info(`未找到翻译:[${t.nodeValue.trim()}]`)})};return U(),void S.observe($(".content-wrapper").get(0),{characterData:!0,attributes:!0,subtree:!0,childList:!0})}if(0<=e.indexOf("education.php")){let e=function(){Ce(),Ee(),$("div.content-wrapper div.title").each((e,t)=>{pe[$(t).text().trim()]&&(t.firstChild.nodeValue=pe[$(t).text().trim()])}),$('div.content-wrapper div[class^="msg"]').find("*").contents().each((e,t)=>{null!==t.nodeValue&&(pe[t.nodeValue.trim()]?t.nodeValue=pe[t.nodeValue.trim()]:(0<=t.nodeValue.indexOf("second")||0<=t.nodeValue.indexOf("minute")||0<=t.nodeValue.indexOf("hour")||0<=t.nodeValue.indexOf("day"))&&(t.nodeValue=t.nodeValue.replace("days","天").replace("day","天").replace("hours","时").replace("hour","时").replace("minutes","分").replace("minute","分").replace("and","和").replace("seconds","秒").replace("second","秒")))}),$("div.content-wrapper div.title-black").each((e,t)=>{3===t.childNodes.length&&pe[t.lastChild.nodeValue.trim()]&&(t.lastChild.nodeValue=" "+pe[t.lastChild.nodeValue.trim()]),pe[$(t).text().trim()]&&$(t).text(pe[$(t).text().trim()])}),$("div.content-wrapper span.module-name").each((e,t)=>{pe[$(t).text().trim()]&&$(t).text(pe[$(t).text().trim()])}),$("div.content-wrapper p.desc").each((e,t)=>{pe[$(t).text().trim()]&&$(t).text(pe[$(t).text().trim()])}),$("div.module-desc p.title").each((e,t)=>{pe[$(t).text().trim()]&&$(t).text(pe[$(t).text().trim()])}),$("div.module-desc ul.info").find("*").contents().each((e,t)=>{null!==t.nodeValue&&(pe[t.nodeValue.trim()]?t.nodeValue=pe[t.nodeValue.trim()]:0<=t.nodeValue.indexOf("Length")?t.nodeValue=t.nodeValue.replace("Length",pe.Length).replace("d ","日").replace("h ","时").replace("m ","分"):0<=t.nodeValue.indexOf("Cost")?t.nodeValue=t.nodeValue.replace("Cost",pe.Cost):0<=t.nodeValue.indexOf("manual labor")?t.nodeValue=t.nodeValue.replace("manual labor",pe["manual labor"]).replace("Gain",pe.Gain).replace("upon completion",pe["upon completion"]):0<=t.nodeValue.indexOf("endurance")?t.nodeValue=t.nodeValue.replace("endurance",pe.endurance).replace("Gain","获得").replace("upon completion",pe["upon completion"]):0<=t.nodeValue.indexOf("intelligence")&&(t.nodeValue=t.nodeValue.replace("intelligence",pe.intelligence).replace("Gain","获得").replace("upon completion",pe["upon completion"])))})};const T=new MutationObserver(function(){T.disconnect(),e(),T.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0})});return e(),void T.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0})}if(e.contains(/profiles\.php\?XID=\d+/)){const K=document.querySelector(".content-wrapper"),C=new MutationObserver(()=>{C.disconnect(),Ce(),Ee(),X(),C.observe(K,{characterData:!0,attributes:!0,subtree:!0,childList:!0})}),X=function(){const n=document.title.trim().contains(/('s |s' )/)?document.title.trim().split(/('s |s' )/)[0]:null;if(n){$(".content-wrapper .title-black").each((e,t)=>{1===e?be[t.firstChild.nodeValue.trim().replace(n,"{$}")]&&(t.firstChild.nodeValue=be[$(t).text().trim().replace(n,"{$}")].replace("{$}",n)):be[$(t).text().trim()]&&$(t).text(be[$(t).text().trim()])}),$(".profile-information-wrapper .box-info .box-name").each((e,t)=>{be[t.innerText.trim()]&&(t.innerText=be[t.innerText.trim()])});const t=$("#profile-container-description.profile-container-description");if(be[t.text().trim()])t.html(`<span class="wh-translated">${be[t.text().trim()]}</span>`);else if(be[t.text().trim().replace(n,"{$}")])t.html(`<span class="wh-translated">${be[t.text().trim().replace(n,"{$}")].replace("{$}",n)}</span>`);else if(t.text().contains(/is on your (friend|enemy) list/)){const a=t.text().trim().split(" ");var e=6===a.length?null:a.slice(7).join(" ");switch(a[4]){case"friend":t.html(`<span class="wh-translated">${be["{$} is on your friend list"].replace("{$}",n)}${e?" : "+e:""}</span>`);break;case"enemy":t.html(`<span class="wh-translated">${be["{$} is on your enemy list"].replace("{$}",n)}${e?" : "+e:""}</span>`)}}else $(".wh-translated").length<=0&&Te.info(`未找到翻译: “${t.text().trim()}”`);$(".add-user .reason-wrapper").find("*").contents().each((e,t)=>{var n;3===t.nodeType&&(be[t.nodeValue.trim()]?t.nodeValue=be[t.nodeValue.trim()]:/\b[1-4]?[0-9]\b/.test(t.nodeValue.trim().slice(0,2))&&(n=t.nodeValue.trim().slice(0,2),t.nodeValue=be["{$} characters left"].replace("{$}",n)))}),Be($(".profile-status .profile-container span")),$("ul.info-table li div").each((e,t)=>{const n=$(t);if(n.attr("class").contains(/user-information-section/)){var i=t.children[0];const a=$(i);be[a.text().trim()]&&a.text(be[a.text().trim()])}else if(be[n.text().trim()])n.children().text(be[n.text().trim()]);else switch(e){case 5:case 7:{if(n.text().contains(Ne))return;const r=t.children[0].children[0];var o=r.firstChild.nodeValue.trim().split(" ").slice(0,-1).join(" ");return r.firstChild.nodeValue="",void $(r).append(" 的 "+o)}case 11:return void n.find("span *").contents().each((e,t)=>{3===t.nodeType&&(be[t.nodeValue.trim()]?t.nodeValue=be[t.nodeValue.trim()]:le[t.nodeValue.trim()]&&(t.nodeValue=le[t.nodeValue.trim()]))});case 13:if(n.text().contains(Ne))return;o=n.text().contains(/ [0-9]+ /)?n.text().trim().split(" ")[4]:null;return void(o?(t.children[0].children[0].childNodes[0].nodeValue="与 ",t.children[0].children[0].childNodes[2].nodeValue=` 结婚${o}天`):n.find("span *").contents().each((e,t)=>{3===t.nodeType&&be[t.nodeValue.trim()]&&(t.nodeValue=be[t.nodeValue.trim()])}));case 23:return void(n.text().contains(/ago/)&&n.children().text(n.text().replace("ago","前").replace("and","").replace("seconds","秒").replace("second","秒").replace("minutes","分").replace("minute","分").replace("hours","时").replace("hour","时").replace("days","日").replace("day","日").replaceAll(" ","")))}});const i=$(".personal-info p"),o=(i.contents().each((e,t)=>{3===t.nodeType&&be[t.nodeValue.trim()]&&(t.nodeValue=be[t.nodeValue.trim()])}),$(".profile-container.competition-wrap span"));o.text(be[o.text().trim()]||o.text()),He(".content-wrapper")}else{console.error("翻译助手错误:获取用户名失败。");try{C.disconnect()}catch(e){}}};return X(),void C.observe(K,{characterData:!0,attributes:!0,subtree:!0,childList:!0})}if(e.contains(/(newspaper|joblist|freebies|newspaper_class|personals|bounties|comics)\.php/)){let e=function(){if(Ce(),Ee(),0!==$("a.newspaper-link").length){$("a.newspaper-link").contents().each((e,t)=>{se[t.nodeValue]&&(t.nodeValue=se[t.nodeValue])}),$("div.price.left").contents()[2].nodeValue="文章翻译请关注中文公众号Torncity";const t=document.querySelector("span.date-label");if(t&&t.innerText.trim().contains(/^[FMSTW][adehinorstuy]+, [ADFJMNOS][abceglnoprtuvy]+ [1-3]?[0-9], 20[0-9][0-9]$/)){const n=t.innerText.trim().replaceAll(",","");var e=n.split(" "),e={w:e[0],m:e[1],d:e[2],y:e[3]};t.innerText=e.y+`年${{Jan:1,Feb:2,Mar:3,Apr:4,May:5,Jun:6,Jul:7,Aug:8,Sep:9,Oct:10,Nov:11,Dec:12}[e.m]||e.m}月${e.d}日`}if($("div.help-message").find("*").contents().each((e,t)=>{t.nodeValue&&""!==t.nodeValue.trim()&&(se[t.nodeValue.trim()]?t.nodeValue=se[t.nodeValue.trim()]:se[t.nodeValue.trim().slice(0,50)]&&(t.nodeValue=se[t.nodeValue.trim().slice(0,50)]))}),$('div[class^="sideCont"] [class^="title"]').contents().each((e,t)=>{se[t.nodeValue]&&(t.nodeValue=se[t.nodeValue])}),$('span[class^="winner"]').each((e,t)=>{}),se[$("div.link-left").text().trim()]&&$("div.link-left").text(se[$("div.link-left").text().trim()]),$("div.link-right a").contents().each((e,t)=>{se[t.nodeValue.trim()]&&(t.nodeValue=se[t.nodeValue.trim()])}),$(".bounties-list-title li").each((e,t)=>{se[$(t).text().trim()]&&$(t).text(se[$(t).text().trim()])}),window.location.href.contains(/personals/)&&$("div.personals-wrap span.msg").find("*").contents().each((e,t)=>{t.nodeValue&&""!==t.nodeValue.trim()&&se[t.nodeValue.trim()]&&(t.nodeValue=se[t.nodeValue.trim()])}),window.location.href.contains(/freebies/)&&se[$("div.bonus-wrap a").text().trim()]&&$("div.bonus-wrap a").text(se[$("div.bonus-wrap a").text().trim()]),window.location.href.contains(/bounties/)){const i=$(".bounties-total");i.text().contains(/A total of [0-9]+ listings were found/)&&(e=i.text().trim().split(" ")[3],i.text(se["A total of {$} listings were found."].replace("{$}",e))),$(".user-info-wrap div *").contents().each((e,t)=>{3===t.nodeType&&se[t.nodeValue.trim()]&&(t.nodeValue=se[t.nodeValue.trim()])}),$("ul.bounties-list div.claim button").each((e,t)=>{se[$(t).text().trim()]&&$(t).text(se[$(t).text().trim()])}),$("ul.bounties-list div.claim a").each((e,t)=>{se[$(t).text().trim()]&&$(t).text(se[$(t).text().trim()])}),$(".add-bounties-wrap .name").contents().each((e,t)=>{3===t.nodeType?se[t.nodeValue.trim()]&&(t.nodeValue=se[t.nodeValue.trim()]):1===t.nodeType&&se[$(t).text().trim()]&&$(t).text(se[$(t).text().trim()])});const o=$(".choice-container label"),a=(se[o.text().trim()]&&o.text(se[o.text().trim()]),$("span.input-money-symbol")),r=(we[a.attr("title")]&&a.attr("title",we[a.attr("title")]),$(".slider-title")),s=(r.text().contains(/Quantity:/)&&r.text(r.text().replace("Quantity","数量")),$(".confirm-bounties *").contents().each((e,t)=>{3===t.nodeType&&se[t.nodeValue.trim()]&&(t.nodeValue=se[t.nodeValue.trim()])}),$(".confirm-buttons *").contents().each((e,t)=>{if(3===t.nodeType)if(se[t.nodeValue.trim()])t.nodeValue=se[t.nodeValue.trim()];else switch(e){case 7:case 10:t.nodeValue.contains(/[0-9] bounties/)?t.nodeValue=t.nodeValue.replace("bounties","次"):t.nodeValue.contains(/with the reason: .+\?/)&&(t.nodeValue=t.nodeValue.replace("with the reason","吗,悬赏原因"))}}),$(".place-buttons input")),l=(se[s.attr("value")]&&s.attr("value",se[s.attr("value")]),$(".place-buttons a.cancel"));se[l.text().trim()]&&l.text(se[l.text().trim()])}}};const E=new MutationObserver(()=>{E.disconnect(),e(),E.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0})});return e(),void E.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0})}if(e.includes("estateagents.php"))return Ce(),Ee(),void $("div.estate-info div.title").each((e,t)=>{le[t.firstChild.nodeValue]&&(t.firstChild.nodeValue=le[t.firstChild.nodeValue])});if(e.includes("properties.php")){const V=0<=window.location.href.indexOf("rent"),I=new MutationObserver(()=>{I.disconnect(),Ce(),Ee(),Z(),I.observe($("div.content-wrapper").get(0),{childList:!0,subtree:!0})}),Z=function(){if(V||0<=window.location.href.indexOf("sell"))return $("div.title-black span").each((e,t)=>{t.firstChild.nodeValue="您想查看哪些房产?"}),$("ul.info-cont label.marker-css").contents().each((e,t)=>{le[t.nodeValue]&&(t.nodeValue=le[t.nodeValue])}),$("div.btn-search button").text("搜索"),$("div.search-text a").text("搜索"),$("div.users-list-title div").each((e,t)=>{le[$(t).text()]&&$(t).text(le[$(t).text()])}),$('div[class="confirm-text"] span.question').each((e,t)=>{var n=t.firstElementChild.innerText.trim().split(" ").slice(8).join(" ");0<$(t).text().indexOf("another")?(t.firstElementChild.firstChild.nodeValue="你确定要",t.firstElementChild.firstChild.nodeValue+=V?"租用":"购买",t.firstElementChild.childNodes[1].firstChild.nodeValue="另一个",t.firstElementChild.childNodes[2].nodeValue=le[n]):(t.firstElementChild.firstChild.nodeValue="你确定要",t.firstElementChild.firstChild.nodeValue+=V?"租用":"购买",t.firstElementChild.firstChild.nodeValue+=le[n]),t.children[1].firstChild.nodeValue="花费 ",t.children[1].childNodes[2].nodeValue=V?" 租期 ":"?",V&&(t.children[1].childNodes[4].nodeValue=" 天?")}),$("div.info-block span.bold").each((e,t)=>{2===t.childElementCount?(t.firstElementChild.firstChild.nodeValue="",t.childNodes[2].nodeValue="市场价",t.childNodes[3].firstChild.nodeValue="",t.childNodes[4].nodeValue=":"):le[t.firstChild.nodeValue.trim()]&&(t.firstChild.nodeValue=le[t.firstChild.nodeValue.trim()])}),$("div.rental-period span.bold").each((e,t)=>{le[t.firstChild.nodeValue.trim()]&&(t.firstChild.nodeValue=le[t.firstChild.nodeValue.trim()])}),$("span.title-laptop.bold").each((e,t)=>{le[$(t).text().trim()]&&$(t).text(le[$(t).text().trim()])}),void $("div.title.bold.left").each((e,t)=>{le[t.firstChild.nodeValue]&&(t.firstChild.nodeValue=le[t.firstChild.nodeValue])});0<=window.location.href.indexOf("p=options")?$("div.content-wrapper div.title-black").each((e,t)=>{le[$(t).text().trim()]&&$(t).text(le[$(t).text().trim()])}):0<=window.location.href.indexOf("p=propertyinfo")||0<=window.location.href.indexOf("step=viewOfferExtension")||($("ul.property-tabs a.ui-tabs-anchor div").contents().each((e,t)=>{le[t.nodeValue]&&(t.nodeValue=le[t.nodeValue])}),$("ul.properties-list div.image-description").find("*").contents().each((e,t)=>{3===t.nodeType&&le[t.nodeValue.trim()]&&(t.nodeValue=le[t.nodeValue.trim()])}),$("div#properties-page-wrap a[title]").each((e,t)=>{le[$(t).attr("title")]&&$(t).attr("title",le[$(t).attr("title")])}))};return Z(),void I.observe($("div.content-wrapper").get(0),{childList:!0,subtree:!0})}if(e.includes("events.php")){const L=new MutationObserver(()=>{L.disconnect(),Ce(),Ee(),qe(),L.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0})});return qe(),void L.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0})}if(e.includes("awards.php")){const A=new MutationObserver(()=>{A.disconnect(),Q(),A.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0,attributes:!0})}),Q=function(){Ce(),Ee(),$("div.content-wrapper a.ui-tabs-anchor span.bold").contents().each((e,t)=>{3===t.nodeType&&ye[t.nodeValue.trim()]&&(t.nodeValue=ye[t.nodeValue.trim()])}),$("div.awards-msg").contents().each((e,t)=>{3===t.nodeType?ye[t.nodeValue.trim()]&&(t.nodeValue=ye[t.nodeValue.trim()]):1===t.nodeType&&(ye[$(t).text().trim()]?$(t).text(ye[$(t).text().trim()]):0<=$(t).text().indexOf("medals")?$(t).text($(t).text().replace("medals",ye.medals)):0<=$(t).text().indexOf("honors")&&$(t).text($(t).text().replace("honors",ye.honors)))}),$("div#awards-tab-menu a[data-title]").each((e,t)=>{var n=$(t).attr("data-title").split(" <i>")[0];ye[n]&&$(t).attr("data-title",$(t).attr("data-title").replace(n,ye[n]))}),$("div#honors div.msg").each((e,t)=>{ye[$(t).text().trim()]&&$(t).text(ye[$(t).text().trim()])}),$("div#honors div.confirm-msg button").each((e,t)=>{ye[$(t).text().trim()]&&$(t).text(ye[$(t).text().trim()])}),$("div#honors div.confirm-msg a.cancel").each((e,t)=>{ye[$(t).text().trim()]&&$(t).text(ye[$(t).text().trim()])}),$("div.awards-msg p").contents().each((e,t)=>{3===t.nodeType&&ye[t.nodeValue.trim()]&&(t.nodeValue=t.nodeValue.replace(t.nodeValue.trim(),ye[t.nodeValue.trim()]))}),$("div.title-black").contents().each((e,t)=>{1===t.nodeType?ye[$(t).text().trim()]&&$(t).text(ye[$(t).text().trim()]):3===t.nodeType&&ye[t.nodeValue.trim()]&&(t.nodeValue=ye[t.nodeValue.trim()])}),$("div.tab-menu-cont li.ui-state-default a").each((e,t)=>{ye[$(t).text().trim()]&&$(t).text(ye[$(t).text().trim()])}),$("ul#merits-list span.name").each((e,t)=>{ye[$(t).text().trim()]&&$(t).text(ye[$(t).text().trim()])}),$('ul#merits-list span.desc span[class^="t-"]').each((e,t)=>{var n="t-hide"===$(t).attr("class"),i=n?$(t).text().slice(2):$(t).text();ye[i]&&$(t).text((n?"- ":"")+ye[i])}),$("ul#merits-list div.msg").contents().each((e,t)=>{if(1===t.nodeType){var n=$(t).text().split(" ");ye[n[1]]&&$(t).text(n[0]+" "+ye[n[1]])}else if(3===t.nodeType)if(ye[t.nodeValue.trim()])t.nodeValue=ye[t.nodeValue.trim()]+"";else{const r=t.nodeValue.trim().split("\n");var i,o,a;3===r.length?(n=r[1].slice(5,-9),a=r[0],i=r[1].slice(-8),o=r[2],ye[a]&&ye[i]&&ye[n]&&ye[o]&&(t.nodeValue=" "+ye[a]+ye[n]+ye[i]+ye[o])):1===r.length&&(a=t.nodeValue.trim().slice(0,60),n=t.nodeValue.trim().slice(61),ye[a]&&(t.nodeValue=ye[a]),ye[n]&&(t.nodeValue+=ye[n]))}}),$("ul#merits-list div.confirm-cont a").each((e,t)=>{ye[$(t).text().trim()]&&$(t).text(ye[$(t).text().trim()])})};return Q(),void A.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0,attributes:!0})}if(e.contains(/preferences\.php/)){const ee=$(".content-wrapper"),M=new MutationObserver(()=>{M.disconnect(),Ce(),Ee(),te(),M.observe(ee.get(0),{characterData:!0,attributes:!0,subtree:!0,childList:!0})}),te=()=>{const e=$(".title-black"),t=(Se[e.text().trim()]&&e.text(Se[e.text().trim()]),$(".content-wrapper a.ui-tabs-anchor"));if(t.each((e,t)=>{Se[$(t).text().trim()]&&$(t).text(Se[$(t).text().trim()])}),window.location.href.contains(/tab=api/)){const n=$('.content-wrapper p[class^="apiDescription___"]'),i=(Se[n.text().slice(0,50)]&&n.text(Se[n.text().slice(0,50)]),$('button[class^="addKey___"] span')),o=(Se[i.text().trim()]&&i.text(Se[i.text().trim()]),$('input[placeholder="New key\'s name"]')),a=(Se[o.attr("placeholder")]&&o.attr("placeholder",Se[o.attr("placeholder")]),$('div[class*="typesDropdown___"] button.down')),r=(Se[a.text().trim()]&&a.text(Se[a.text().trim()]),$('div[class*="typesDropdown___"] div.down li'));r.each((e,t)=>{Se[$(t).text().trim()]&&$(t).text(Se[$(t).text().trim()])})}};return te(),void M.observe(ee.get(0),{characterData:!0,attributes:!0,subtree:!0,childList:!0})}if(e.contains(/displaycase\.php/)){const _=document.querySelector("#display-page-wrap");void Ve(_,{subtree:!0,attributes:!0,childList:!0},()=>{Ce();const e=_.querySelector("#back");var t;e&&3===(t=e.innerText.split(/('s |s' )/)).length&&"Profile"===t[2]&&(e.innerText=t[0]+"的个人资料");const n=_.querySelector(".display-cabinet");if(n){const i=n.querySelectorAll("div.b-item-name span:nth-of-type(2)");i.forEach(e=>{ke[e.innerText]&&(e.innerText=ke[e.innerText])}),Re(n.querySelector(".show-item-info"))}})}else{if(e.includes("level2.php"),e.includes("hospitalview.php")){let e=function(){Ce(),Ee(),$('div[class^="msg right-round"]').contents().each((e,t)=>fe[t.nodeValue.trim()]&&(t.nodeValue=fe[t.nodeValue.trim()])),$('div[class^="users-list-title title-black top-round m-top10"] span').contents().each((e,t)=>{t.nodeValue&&fe[t.nodeValue.trim()]&&(t.nodeValue=t.nodeValue.replace(t.nodeValue,fe[t.nodeValue.trim()]))}),$('ul[class^="user-info-list-wrap"] span[class^="reason"]').each((e,t)=>{let n=$(t).get(0).childNodes[1].nodeValue.trim();if(fe[n])$(t)[0].childNodes[1].nodeValue=fe[n];else if(0<=n.indexOf("Crashed"))$(t)[0].childNodes[1].nodeValue=n.replace("Crashed her",fe["Crashed her"]).replace("Crashed his",fe["Crashed his"]);else switch(n){case"Attacked by":$(t)[0].childNodes[1].nodeValue=fe.general,$(t).append(" 攻击");break;case"Hospitalized by":$(t)[0].childNodes[1].nodeValue=fe.general,$(t).append(" 殴打并送入医院");break;case"Mugged by":$(t)[0].childNodes[1].nodeValue=fe.general,$(t).append(" 抢劫")}})};const D=new MutationObserver(function(){D.disconnect(),e(),D.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0})});return e(),void D.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0})}if(e.includes("actions.php")){const P={INFO:"信息",TERRITORY:"地盘",RANK:"名次",CRIMES:"组织犯罪",UPGRADES:"升级",ARMORY:"军械库",CONTROLS:"控制面板",FACTION:"帮派","YOUR FACTION IS NOT IN A WAR":"你的帮派没有处于战争状态",TIER:"级别",RESPECT:"声望","No active chain":"暂无攻击链","Main News":"主要消息",Attacking:"攻击",Funds:"资金流动",Armory:"军械库",Crimes:"组织犯罪",Membership:"成员资格","has claimed sovereignty of":"","has abandoned":"放弃了地盘","Achieved a chain of":"达成了连击链值",and:"和","respect [":"点声望 [","deposited ${$1}":"存放了${$1}","Leadership was transferred to":"帮派领导权被移交给了 ","Someone mugged":"有人抢劫了 ",hospitalized:" 暴打了 ",mugged:" 抢劫了 ",attacked:" 攻击了 ","but lost":" 但是输了","Someone attacked":"有人攻击了 ","Someone hospitalized":"有人暴打了 "};let e=function(){Ce(),Ee(),$('span[class^="tab-name"]').each((e,t)=>{P[$(t).text().trim()]&&$(t).text(P[$(t).text().trim()])}),$('div[class^="f-msg"]').contents().each((e,t)=>{var n=$(t).text().trim().split(":")[0];n&&P[n]&&$(t).text($(t).text().replace(n,P[n]))}),$('div[class^="chain-box"]').contents().each((e,t)=>{P[$(t).text().trim()]&&$(t).text(P[$(t).text().trim()])}),$('div[class^="newsHeader"]').contents().each((e,t)=>{P[$(t).text().trim()]&&$(t).text(P[$(t).text().trim()])}),$('button[class^="tab"] ').each((e,t)=>{if(0<=$(t).attr("class").indexOf("active"))switch(Te.info($(t).text()),$(t).text().trim()){case"主要消息":$('ul[class^="news-list"] span[class^="info"]').contents().each((e,t)=>{P[$(t).text().trim()]&&(t.nodeValue=t.nodeValue.replace($(t).text().trim(),P[$(t).text().trim()]))});break;case"攻击":$('ul[class^="news-list"] span[class^="info"]').find("*").contents().each((e,t)=>{Te.info($(t).text().trim()),P[$(t).text().trim()]&&(t.nodeValue=P[$(t).text().trim()])});break;case"资金流动":$('ul[class^="news-list"] span[class^="info"]').contents().each((e,t)=>{t.nodeValue&&(t.nodeValue=t.nodeValue.replace("deposited","存放了"))})}})};const N=new MutationObserver(function(){N.disconnect(),e(),N.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0})});return e(),void N.observe($("div.content-wrapper")[0],{childList:!0,subtree:!0})}if(e.contains(/pc\.php/)){const ne=$(".content-wrapper"),ie=new MutationObserver(()=>{ie.disconnect(),Ce(),Ee(),oe(),ie.observe(ne.get(0),{characterData:!0,attributes:!0,subtree:!0,childList:!0})}),oe=()=>{const e=$("div.title-black");De[e.text().trim()]&&e.text(De[e.text().trim()])};return oe(),void ie.observe(ne.get(0),{characterData:!0,attributes:!0,subtree:!0,childList:!0})}if(e.contains(/calendar\.php/)){const ae=document.querySelectorAll("#calendar-root");void ae.forEach(n=>{Ve(n,{childList:!0,subtree:!0},()=>{Fe(n.querySelectorAll('h4[class^="title___"]'));var e=n.querySelectorAll('div[class^="linksContainer___"] span[class^="linkTitle___"]');Oe(e);const t=n.querySelectorAll('div[class^="monthName___"]');t.forEach(e=>{Pe[e.innerText.trim()]&&(e.innerText=Pe[e.innerText.trim()])})})})}else if(e.contains(/christmas_town\.php/)){let e=document.querySelector("#christmastownroot");Ve(e.querySelector('div[class^="appHeaderWrapper___"]'),{childList:!0,subtree:!0},()=>{Fe(),Oe()})}}}}class ee{main(){var e=performance.now();C.conditionInterrupt();let t=new k;t.init();var n=C.glob,n=(a.getInstance().initialize(),K.resolve(),Z.resolve(),M.get("transEnable")&&Q(n.href),performance.now()-e|0);a.ZhongNode.initTimer.innerHTML=`助手加载时间 ${n}ms`}}(class{static run(e){try{(new e).main()}catch(e){V.error(e),V.error("[Starter] trace: ",JSON.stringify({error:e}))}}}).run(ee)}();
|