window.subRoleHackTimer = setInterval(() => {
  try {
    var SubRole = window.__require('SubRole').SubRole
    var oldSetupNetWorkEnv = SubRole.prototype.setupNetWorkEnv
    SubRole.prototype.setupNetWorkEnv = function (...args) {
      window.subRoles.add(this)
      return oldSetupNetWorkEnv.call(this, ...args)
    }
    var oldClean = SubRole.prototype.clean
    SubRole.prototype.clean = function (...args) {
      window.subRoles.delete(this)
      return oldClean.call(this, ...args)
    }
    window.subRoles = new Set()
    clearInterval(window.subRoleHackTimer)
    console.log('----------------注入完成-----------------')

    setTimeout(window.startWork, 10 * 1000)
  } catch (err) {
    console.log(err)
    return
  }
}, 100)

window.startWork = async function () {
  const tiku = {
    '《三国演义》中，「大意失街亭」的是马谩？': 1,
    '《三国演义》中，「挥泪斩马谩」的是孙权？': 2,
    '《三国演义》中，「火烧博望坡」的是庞统？': 2,
    '《三国演义》中，「火烧藤甲兵」的是徐庶？': 2,
    '《三国演义》中，「千里走单骑」的是赵云？': 2,
    '《三国演义》中，「温酒斩华雄」的是张飞？': 2,
    '《三国演义》中，关羽在长坂坡「七进七出」？': 2,
    '《三国演义》中，刘备三顾茅庐请诸葛亮出山？': 1,
    '《三国演义》中，孙权与曹操「煮酒论英雄」？': 2,
    '《三国演义》中，提出「隆中对」的是诸葛亮？': 1,
    '《三国演义》中，夏侯杰在当阳桥被张飞吓死？': 1,
    '《三国演义》中，张飞在当阳桥厉吼吓退曹军？': 1,
    '《三国演义》中，赵云参与了「三英战吕布」？': 2,
    '《三国演义》中，赵云参与了「桃园三结义」？': 2,
    '《三国演义》中唯一正式上过战场的女子是祝融夫人？': 1,
    '《三国志》中，华雄被孙坚枭首？': 1,
    '《三国志》中记载，「草船借箭」的是诸葛亮？': 2,
    '「闭月」是貂蝉的代称？': 1,
    '「常胜将军」指代赵云？': 1,
    '「赤壁之战」中是黄盖建策火攻？': 1,
    '「官渡之战」中袁绍获胜？': 2,
    '「郭嘉不死卧龙不出」出自三国典故？': 1,
    '「曲有误，周郎顾」表达了周瑜不懂音律？': 2,
    '「三姓家奴」是指飞将吕布？': 1,
    '「士别三日」形容吕蒙笃志力学？': 1,
    '「吴下阿蒙」即指吕蒙？': 1,
    '「小菜一碟」指的是张飞吃豆芽？': 1,
    '「羞花」是貂蝉的代称？': 2,
    '「荀令留香」是指荀或厨艺高超？': 2,
    '「与曹操交手而不死，能败诸葛亮而自活」是指司马懿？': 1,
    '「张辽止啼」指张辽和善，善于哄孩子？': 2,
    '「总角之好」用于形容周瑜与孙策的交情？': 1,
    '拜将封侯的董卓为东汉忠臣？': 2,
    '宝马良驹赤兔的主人不包括吕布？': 2,
    '蔡文姬擅长音律？': 1,
    '曹仁被称为「天人将军」？': 1,
    '曹仁是曹操的儿子？': 2,
    '成语「水淹七军」与庞统有关？': 2,
    '大乔为孙策之妻？': 1,
    '典故「胆大如斗」与姜维有关？': 1,
    '典故「舌战群儒」与周瑜有关？': 2,
    '典故「杏林圣手」出自华佗？': 2,
    '典故「英雄难过美人关」出自「吕布与貂蝉」？': 1,
    '典韦力大过人，被称为「古之恶来」？': 1,
    '典韦善用的武器包括「大双戟」？': 1,
    '典韦是腹隐机谋的知名谋士？': 2,
    '貂蝉的「美人计」用于离间董卓和吕布？': 1,
    '东汉末年国色美女小乔为周瑜之妻？': 1,
    '董卓曾收吕布为义子？': 1,
    '董卓为曹操帐下大将？': 2,
    '甘宁被称为江表之虎臣？': 1,
    '甘宁为魏国名将？': 2,
    '甘宁因「少有气力，好游侠」，被称为「锦帆贼」？': 1,
    '公孙瓒别名「白马将军」？': 1,
    '公孙瓒击败袁绍，致袁绍引火自焚？': 2,
    '公孙瓒因数次「大破黄巾」而威名大震？': 1,
    '郭嘉被史籍称为「才策谋略，世之奇士」？': 1,
    '郭嘉为孙策帐下谋士？': 2,
    '合肥之战中，张辽以少胜多，威震江东？': 1,
    '华佗被称为「外科鼻祖」？': 1,
    '华佗因遭曹操怀疑，下狱被铂问致死？': 1,
    '华佗与董奉、张仲景并称为「建安三神医」？': 1,
    '华雄是奇谋百出的军事战略家？': 2,
    '华雄效力于诸葛亮？': 2,
    '贾诩曾任魏国最高军事长官「太尉」？': 1,
    '贾诩为曹操帐下的主要谋士之一？': 1,
    '贾诩献离间计成功瓦解马超、韩遂？': 1,
    '刘备是三国时期蜀汉「五虎上将」之一？': 2,
    '鲁肃为谋士，效力于蜀国？': 2,
    '民间，张飞被尊为「屠宰业祖师」？': 1,
    '民间游戏「华容道」是以三国为背景的游戏？': 1,
    '明教以张角为教祖？': 1,
    '三国时期，五虎上将之首是黄忠？': 2,
    '三国时期曹操一生未称帝？': 1,
    '三国时期的吴国由曹操建立？': 2,
    '司马懿曾称帝？': 2,
    '司马懿为曹操谋臣？': 1,
    '算无遗策的贾诩为吴国谋士？': 2,
    '孙策曾「一统江东」？': 1,
    '孙策死于「赤壁之战」？': 2,
    '太史慈曾为救孔融单骑突围向刘备求援？': 1,
    '太史慈弦不虚发，被称为「神射手」？': 1,
    '太史慈终效力于刘备？': 2,
    '威振天下的董卓被吕布诛杀？': 1,
    '夏侯渊天生独眼？': 2,
    '夏侯渊与夏侯惇是父子？': 2,
    '徐晃曾「击破关羽，解樊城之围」？': 1,
    '荀或被称为「王佐之才」？': 1,
    '颜良被关羽斩杀？': 1,
    '颜良被孔融评价「勇冠三军」？': 1,
    '颜良在官渡之战中战胜曹操大军？': 2,
    '以胆气著称的吕蒙效力于刘备？': 2,
    '袁绍战胜公孙瓒，统一河北？': 1,
    '张飞与关羽被并称为「万人敌」？': 1,
    '张角为黄巾起义首领之一？': 1,
    '张角因战胜黄巾军而声名大噪？': 2,
    '赵云与关羽、张飞「桃园结义」？': 2,
    '赵云与关羽、张飞并称「燕南三士」？': 1,
    '著名的「官渡之战」由袁绍发起？': 1,
    '甄宓曾为袁绍之妻？': 2,
    '甄宓为魏文帝曹丕妻子？': 1,
    '周瑜逝世后，鲁肃代周瑜职务？': 1,
    '《三国演义》中，「过五关斩六将」的武将是关羽？': 1,
    '《三国演义》中，「火烧藤甲兵」的是诸葛亮？': 1,
    '《三国演义》中，「三气周瑜」的是司马懿？': 2,
    '《三国演义》中，「三英战吕布」发生在虎牢关？': 1,
    '《三国演义》中，「身在曹营心在汉」的是刘备？': 2,
    '《三国演义》中，「桃园三结义」中的桃园是张飞的住所？': 1,
    '《三国演义》中，「万事俱备，只欠东风」说的是赤壁之战？': 1,
    '《三国演义》中，败走麦城的是张飞？': 2,
    '《三国演义》中，被称为「大耳贼」的是曹操？': 2,
    '《三国演义》中，被称为「奸雄」的是司马懿？': 2,
    '《三国演义》中，被称为「诸葛村夫」的是诸葛亮？': 1,
    '《三国演义》中，被追杀时「割须断袍」的是马超？': 2,
    '《三国演义》中，曹操赤壁兵败后是曹仁率军接应的？': 1,
    '《三国演义》中，称号「卧龙」的是诸葛亮？': 1,
    '《三国演义》中，持方天画戟的武将是吕布？': 1,
    '《三国演义》中，持青龙偃月刀的武将是关羽？': 1,
    '《三国演义》中，单刀赴会的是赵云？': 2,
    '《三国演义》中，发明「木牛流马」的是诸葛亮？': 1,
    '《三国演义》中，关羽曾一边「刮骨疗毒」一边与将领饮酒？': 2,
    '《三国演义》中，火烧连营大败蜀军的将领是诸葛亮？': 2,
    '《三国演义》中，吕布称号「关内侯」？': 2,
    '《三国演义》中，庞统的称号是「幼麟」？': 2,
    '《三国演义》中，七擒孟获的是司马懿？': 2,
    '《三国演义》中，为关羽「刮骨疗毒」的医生是张仲景？': 2,
    '《三国演义》中，要为曹操做开颅手术的是华佗？': 1,
    '《三国演义》中，赵云的妻子是马超的姝妹马云禄？': 2,
    '《三国演义》中，赵云在「赤壁之战」中救出阿斗？': 2,
    '《三国演义》中，甄姬曾为袁绍之子袁熙的夫人？': 1,
    '《三国演义》中，中诸葛亮「空城计」的是曹操？': 2,
    '《三国演义》中，诸葛亮的「空城计」是为了阻挡曹操大军？': 2,
    '《三国演义》中，祝融夫人被马超活捉？': 2,
    '《三国演义》中，祝融夫人的丈夫为诸葛亮？': 2,
    '《三国演义》中，祝融夫人擅长的暗器是飞针？': 2,
    '「铜雀春深锁二乔」指的是火乔和小乔吗？': 1,
    '「文姬归汉」指的是蔡文姬从匈奴回到中原吗？': 1,
    '白马义从是赵云的部下？': 2,
    '蔡文姬是被曹操赎回中原的吗？': 1,
    '黄月英是诸葛亮的妻子？': 1,
    '庞统和周瑜并称为「卧龙凤雏」？': 2,
    '庞统是刘备的谋士吗？': 1,
    '三国时期，董卓曾想和孙坚结成亲家？': 1,
    '三国时期，公孙瓒和刘备是师兄弟关系？': 1,
    '三国时期，姜维始终都是蜀国的将领？': 2,
    '三国时期，姜维在诸葛亮病逝后成为蜀国丞相？': 2,
    '三国时期，十八路诸侯讨董后，孙坚率军攻入洛阳？': 1,
    '三国时期，司马懿经常练习「五禽戏」？': 1,
    '三国时期，孙策建立了吴国？': 1,
    '三国时期，孙坚中箭而亡？': 1,
    '三国时期，赵云无一败绩？': 2,
    '《出师表》是诸葛亮写给刘禅的吗？': 1,
    '《三国演义》中，「阿斗」是赵云的儿子？': 2,
    '《三国演义》中，「宁教我负天下人，休教天下人负我」出自刘备之口？': 2,
    '《三国演义》中，「虽未谱金兰，情谊比桃园」说的是赵云？': 1,
    '《三国演义》中，「五虎上将」里没有魏延？': 1,
    '《三国演义》中，「一个愿打一个愿挨」形容的是周瑜与黄忠？': 2,
    '《三国演义》中，被称为「智绝」的是刘备？': 2,
    '《三国演义》中，曹操让士兵们想象柠檬来止渴？': 2,
    '《三国演义》中，关羽，字「云长」？': 1,
    '《三国演义》中，关羽的坐骑是「绝影」？': 2,
    '《三国演义》中，关羽为了离开曹操的麾下，达成了「过五关，斩六将」的壮举。': 1,
    '《三国演义》中，郭嘉遗计定辽东。': 1,
    '《三国演义》中，黄忠在定军山击杀了曹魏将领夏侯渊。': 1,
    '《三国演义》中，刘备，字「孟德」？': 2,
    '《三国演义》中，刘备的专属武器名为「青龙偃月刀」？': 2,
    '《三国演义》中，马超有「花马超」的称呼。': 2,
    '《三国演义》中，呢称为「阿斗」的是刘备？': 2,
    '《三国演义》中，司马昭是司马懿的父亲？': 2,
    '《三国演义》中，死于「落凤坡」的名将是庞统？': 1,
    '《三国演义》中，宣称自己会「梦中杀人」的是曹操？': 1,
    '《三国演义》中，张飞的专属武器名为「丈八蛇矛」？': 1,
    '《三国演义》中，赵云曾孤胆救黄忠。': 1,
    '《三国演义》中，诸葛亮，字「孔明」？': 1,
    '《三国演义》中，诸葛亮发明了「诸葛连弩」？': 1,
    '《三国演义》中，诸葛亮挥泪斩了马超？': 2,
    '「白帝城托孤」指的是刘备将自己的儿子托付给赵云？': 2,
    '「单刀赴会」是诸葛亮邀请关羽前往的。': 2,
    '「扶不起的阿斗」指的是刘禅？': 1,
    '「割须弃袍」发生于曹操和马超交战时。': 2,
    '「黄巾起义」被看做三国时代的开端吗？': 1,
    '「孔明灯」在古代曾用于传递军情？': 1,
    '「乐不思蜀」指的是刘禅？': 1,
    '「衣带诏」事发后曹操派军讨伐刘备？': 1,
    '曹操被评价为「治世之能臣，乱世之奸雄」。': 1,
    '典故妄自菲薄出自诸葛亮的《前出师表》？': 1,
    '郭嘉被曹操称为「吾之子房」。': 2,
    '郭嘉是由贾诩推荐给曹操，并加入了曹操麾下。': 2,
    '汉献帝自愿禅让帝位给丞相曹丕？': 2,
    '华佗使用「麻沸散」是世界医学史上应用全身麻醉进行手术治疗的最早记载？': 1,
    '华佗有自身编撰的医书流传下来。': 2,
    '刘备曾自称「汉中王」？': 1,
    '刘备称帝后不久就亲自率军伐吴？': 1,
    '刘备少年时以织席贩履为生？': 1,
    '挟天子以令诸侯的是曹操？': 1,
    '荀或与同为曹操麾下的荀攸是叔侄关系。': 1,
    '袁术曾经称帝但最后被刘备、朱灵军截道，呕血而死？': 1,
    '在魏蜀吴三国中，吴国是最晚建立的吗？': 1,
    '周泰是受到孙权的招揽加入了吴国。': 2,
    '周泰在归顺孙策之前在江中劫掠为生。': 1,
    '诸葛亮共北伐五次，第五次时病逝于五丈原？': 1,
    '《咸鱼之王》里咸将蔡文姬只能通过开宝箱获取？': 1,
    '《咸鱼之王》里「咸神火把」的持续时间为30分钟？': 1,
    '《咸鱼之王》里「木质宝箱」每开一个可以获取1宝箱积分？': 1,
    '《咸鱼之王》里每位玩家每日可以进行三次「免费点金」？': 1,
    '《咸鱼之王》里鱼缸位于玩家的「客厅」界面内？': 1,
    '《咸鱼之王》里「咸神门票」可以用于参加竞技场战斗？': 1,
    '《咸鱼之王》里「梦魇水晶」无法重生，只能通过无损换将置换到其他咸将身上？': 1,
    '《咸鱼之王》里「龙鱼·八卦」是咸将黄月英的专属鱼灵？': 2,
    '《咸鱼之王》里「万能红将碎片」可以开出蔡文姬的碎片吗？': 2,
    '《咸鱼之王》里好友的「客厅」内会随机刷出钻石、白银、普通三种盐罐？': 2,
    '《咸鱼之王》里「招募令」可以招募到咸将关银屏？': 2,
    '《咸鱼之王》里有「万能紫将碎片」？': 2,
    '《咸鱼之王》里咸将的专属鱼都有「龙鱼」前缀。': 1,
    '《咸鱼之王》里「青铜宝箱」每次开启可以获取到10宝箱积分？': 1,
    '《咸鱼之王》里咸将分为四个阵营？': 1,
    '《咸鱼之王》里咸将貂蝉是「群雄」阵营的。': 1,
    '《咸鱼之王》里咸将貂蝉的主动技能可以减少敌人怒气值。': 1,
    '《咸鱼之王》里「灯神挑战」每天可以免费获取3个「扫荡魔毯」。': 1,
    '《咸鱼之王》里同种类盐罐同时只能占据一个。': 1,
    '《咸鱼之王》里有「白银宝箱」。': 2,
    '《咸鱼之王》中升级俱乐部「高级科技」时需要先点满对应职业的「基础科技」。': 1,
    '《咸鱼之王》里咸将诸葛亮的主动技能「星落」有控制效果。': 2,
    '《咸鱼之王》里咸将黄月英的职业是法师。': 2,
    '《咸鱼之王》里开启「木质宝箱」有概率获取金砖。': 2,
    '《咸鱼之王》里咸将姜维可以同时攻击全部敌人。': 2,
    '《咸鱼之王》里只要咸将貂蝉在场，吕布就不会阵亡。': 2,
    '《咸鱼之王》里鱼灵「惊涛」无法将受到的持续伤害效果分5回合扣除。': 1,
    '《咸鱼之王》里开启「钻石宝箱」时，不会获得宝箱积分。': 1,
    '《咸鱼之王》「捕获」玩法中，每进行十次高级捕获必出稀有鱼灵。': 1,
    '《咸鱼之王》「盐场争霸」中，可以通过消耗20金砖来加速行军。': 1,
    '《咸鱼之王》里咸将星级在达到21星时，即可获得「机甲皮肤」。': 1,
    '《咸鱼之王》里宝箱积分达1000分时，可一键领取累计积分奖励宝箱。': 1,
    '《咸鱼之王》里俱乐部团长连续7天未登录，团长职位将自动转让其他成员。': 1,
    '《咸鱼之王》里「玩具」每周有一次免费无损转换的机会。': 1,
    '《咸鱼之王》「灯神挑战」内，每个阵营中有15层可挑战的关卡。': 1,
    '《咸鱼之王》「咸神竞技场」中，每日可以免费进行3次挑战。': 1,
    '《咸鱼之王》重复攻打击杀过的「俱乐部BOSS」，无法再次获得排名奖励。': 1,
    '《咸鱼之王》已附身的鱼灵仍会在「鱼缸」中显示。': 2,
    '《咸鱼之王》「普通鱼竿」免费捕获的刷新时间为6个小时。': 2,
    '《咸鱼之王》「每日咸王考验」中，共有4个不同BOSS。': 2,
    '「孔融让梨」的故事讲的是孔融小小年纪便有谦让的美德？': 1,
    '成语「初出茅庐」出自《三国演义》？': 1,
    '「三家归晋」结束了汉末三国时期以来的割据混战的局面？': 1,
    '《三国演义》中，「虎女焉能配犬子」一句中，虎女指的是关羽之女。': 1,
    '「莫作孔明择妇，正得阿承丑女」说的是诸葛亮的择偶标准。': 1,
    '《三国演义》中，许褚跟许攸是兄弟。': 2,
    '俗语「赔了夫人又折兵」中的夫人是小乔。': 2,
    '「赔了夫人又折兵」的上半句为「孔明妙计安天下」。': 2,
    '四大美女中「落雁」说的是被匈奴所掳的蔡文姬。': 2,
    '「大丈夫何患无妻」一典故出自《三国演义》中的赵云之口？': 1,
    '《咸鱼之王》中，招募界面的NPC名字是「猫婆婆」？': 1,
    '《咸鱼之王》中，「每日任务」重置时间为每日0点？': 1,
    '《咸鱼之王》中，「每日任务」重置时间为每日8点？': 2,
    '《咸鱼之王》中，每位玩家每日有一次免费刷新「黑市」的机会？': 1,
    '《咸鱼之王》中，每位玩家每日有三次免费刷新「黑市」的机会？': 2,
    '《咸鱼之王》中，每消耗20个「普通鱼竿」可以免费获取1个「黄金鱼竿」？': 1,
    '《咸鱼之王》中，每消耗10个「普通鱼竿」可以免费获取1个「黄金鱼竿」？': 2,
    '《咸鱼之王》中，副本「每日咸王考验」累计伤害奖励上限为1亿？': 2,
    '《咸鱼之王》中，副本「每日咸王考验」累计伤害奖励上限为5亿？': 1,
    '《咸鱼之王》中，副本「每日咸王考验」累计伤害奖励上限为10亿？': 2,
    '《咸鱼之王》中，道具「珍珠」可以在「神秘商店」使用？': 1,
    '《咸鱼之王》中，鱼灵「黄金锦鲤」可在「神秘商店」中消耗珍珠兑换？': 1,
    '《咸鱼之王》中，玩家每次占领「盐罐」会消耗10点「能量」': 1,
    '《咸鱼之王》中，玩家每次占领「盐罐」会消耗1点「能量」': 2,
    '《咸鱼之王》中，一个「俱乐部」最多容纳30位成员？': 1,
    '《咸鱼之王》中，1个「俱乐部」最多有2位副团长？': 1,
    '《咸鱼之王》中，玩家可在「图鉴」内可查看满级咸将信息？': 1,
    '《咸鱼之王》中，「月度活动」每月刷新1次？': 1,
    '《咸鱼之王》中，「每日任务」中日活跃积分达到80的奖励为钻石宝箱？': 2,
    '《咸鱼之王》中，「每日任务」中日活跃积分达到100的奖励为招募令？': 1,
    '《咸鱼之王》中，游戏内有金色鱼灵「黄金鲸鱼」？': 2,
    '《咸鱼之王》中，玩家可通过「咸将塔」玩法获取「珍珠」道具？': 2,
    '《咸鱼之王》中，月度「捕获达标」活动达成相应目标后可以获得珍珠。': 1,
    '《咸鱼之王》中，月度「捕获达标」活动达成相应目标后可以获得万能红将碎片。': 2,
    '《咸鱼之王》中，咸将的四个阵营分别为魏、蜀、吴、群雄。': 1,
    '《咸鱼之王》中，除了咸将外，其余的怪物都没有职业。': 1,
    '《咸鱼之王》中，「灯神挑战」不同的阵营挑战内，只能上阵对应阵营的咸将。': 1,
    '《咸鱼之王》中，精铁可以直接用金砖购买。': 1,
    '《咸鱼之王》中，进阶石可以直接使用金砖购买。': 1,
    '《咸鱼之王》中，「招募」可以有概率获得红色武将。': 1,
    '《咸鱼之王》中，贾诩为吴国阵营咸将？': 2,
    '《咸鱼之王》中，每日可以免费招募一次。': 1,
    '《咸鱼之王》中，「每日咸王考验」可以挑战多次。': 1,
    '《咸鱼之王》中，蔡文姬是红色武将。': 2,
    '《咸鱼之王》中，「咸王梦境」为每日开放。': 2,
    '《咸鱼之王》中，「咸王梦境」周二会开放。': 2,
    '《咸鱼之王》中，姜维攻击后可以获得护盾。': 2,
    '《咸鱼之王》中，俱乐部人数没有上限。': 2,
    '《三国演义》中，「怒打督邮」的是张飞。': 1,
    '祝融夫人是《三国演义》虚构人物。': 1,
    '《三国演义》中，「拔矢啖睛」的是夏侯惇。': 1,
    '《三国演义》中，「拔矢啖睛」的是夏侯渊。': 2,
    '《三国演义》中，「曹操献刀」本是要刺杀董卓。': 1,
    '《三国演义》中，许攸被许褚所杀。': 1,
    '《咸鱼之王》中，捕获一次最多可以使用10个鱼竿。': 1,
    '《咸鱼之王》中，捕获一次最多可以使用10个鱼竿': 1,
    '《咸鱼之王》中，「咸鱼大冲关」每周任务是周一0点重置。': 1,
    '《咸鱼之王》中，「咸鱼大冲关」每周任务是周一8点重置。': 2,
    '《咸鱼之王》中，挂机奖励加钟，最多可以有5名好友助力。': 2,
    '《咸鱼之王》中，挂机奖励加钟，最多可以有4名好友助力。': 1,
    '《咸鱼之王》中，每日6点重置点金次数。': 2,
    '《咸鱼之王》中，「俱乐部」每日签到可以获得「军团币」？': 1,
    '《咸鱼之王》中，「黑市」每日0点自动刷新商品？': 1,
    '《咸鱼之王》中，「黑市」每日8点自动刷新商品？': 2,
    '《咸鱼之王》中，可以使用「珍珠」兑换「万能红将碎片」？': 1,
    '《咸鱼之王》中，「咸神门票」可以通过「金砖」进行购买？': 1,
    '《咸鱼之王》中，「灯神挑战」内分为四个阵营？': 1,
    '《咸鱼之王》中，玩家的「勋章墙」内最多展示4个「徽章」？': 1,
    '《咸鱼之王》中，「主公」达到4001级开启「玩具」玩法？': 1,
    '《咸鱼之王》中，「玩具」需要花费「扳手」进行激活？': 1,
    '《咸鱼之王》中，「咸王梦境」每成功通过十层可以遇到一次梦境商人？': 1,
    '《咸鱼之王》中，挑战「咸将塔」需要花费「小鱼干」？': 1,
    '《咸鱼之王》中，「小鱼干」可以通过「金砖」进行购买？': 1,
    '《咸鱼之王》中，「招募」无法获得咸将吕玲绮。': 1,
    '《咸鱼之王》中，「灯神挑战」的奖励包括「珍珠」？': 2,
    '《咸鱼之王》中，「咸王梦境」中的梦境调料「普通盐瓶」可以恢复咸将怒气？': 2,
    '《咸鱼之王》中，进阶石可以通过参与「咸将塔」玩法获取。': 1,
    '《咸鱼之王》中，「扳手」在通关主线7001关后可以通过挂机奖励获得。': 1,
    '《咸鱼之王》中，「军团币」可以用于升级「俱乐部科技」？': 1,
    '《咸鱼之王》中，装备最多可以开到5个淬炼孔位？': 1,
    '《咸鱼之王》中，「青铜火把」会为主线战斗中上阵的咸将增加5%攻击？': 1,
    '《咸鱼之王》中，「木材火把」会使主线战斗以1.5倍速进行？': 1,
    '《咸鱼之王》中，道具「金砖」可以用于在「黑市」中购买物品？': 1,
    '《咸鱼之王》中，装备中的坐骑会为咸将提供防御加成？': 2,
    '《咸鱼之王》中，攻打「俱乐部BOSS」后可以获得皮肤币奖励？': 2,
    '《咸鱼之王》中，咸将皮肤可以使用「军团币」来进行兑换？': 2,
    '《咸鱼之王》中，咸将的等级上限为2000级？': 2,
    '《咸鱼之王》中，咸将「张星彩」属于群雄阵营？': 2,
    '《咸鱼之王》中，咸将「颜良」属于魏国阵营？': 2,
    '《咸鱼之王》中，「招募」无法获得咸将关银屏。': 1,
    '《咸鱼之王》俱乐部中，每日最多可以攻打4次「俱乐部BOSS」。': 1,
    '《咸鱼之王》中，俱乐部团长无法退出俱乐部。': 1,
    '《咸鱼之王》中，主动退出俱乐部12小时后才可以加入新的俱乐部。': 1,
    '《咸鱼之王》中，装备中的铠甲会为咸将提供血量加成？': 1,
    '《咸鱼之王》中，红色咸将的觉醒技能需要咸将达到一定星级才能解锁。': 1,
    '《咸鱼之王》中，布阵时，前排可上阵2名咸将，后排可上阵3名咸将。': 1,
    '《咸鱼之王》竞技场中，未对防守阵容进行设置时，将默认使用主线阵容。': 1,
    '《咸鱼之王》中，「邮件」最长保存30天。': 1,
    '《咸鱼之王》中，「邮件」最长保存10天。': 2,
    '《咸鱼之王》中，「淬炼」可能出现的属性共21种。': 1,
    '《咸鱼之王》中，「俱乐部BOSS」被击败后会按照玩家造成的总伤害排名发放排名奖励。': 1,
    '《咸鱼之王》中，晚上23时仍可以进行竞技场战斗。': 2,
    '《咸鱼之王》中，开启「省电模式」将停止主线关卡战斗。': 2,
    '鲁肃，字「子敬」。': 1,
    '蔡文姬，本名蔡琰？': 1,
    '「池中之物」一词出自《三国志》中周瑜之口？': 1,
    '《咸鱼之王》中，装备中的头冠会为咸将提供防御加成？': 1,
    '《咸鱼之王》中，「咸神火把」会为主线战斗中上阵的咸将增加15%攻击？': 1,
    '《咸鱼之王》中，「咸神火把」与「青铜火把」均会使主线战斗以2倍速进行？': 1,
    '刘表是刘备的次子？': 2,
    '「望梅止渴」是周瑜带队行军时发生的故事？': 2,
    '《咸鱼之王》中，「扳手」可以在「黑市」中花费「金砖」获取？': 1,
    '《咸鱼之王》中，在「盐锭商店」中可以花费「盐锭」兑换到「皮肤币」？': 1,
    '《咸鱼之王》中，月赛助威截止后，未使用的「拍手器」会被回收？': 1,
    '《咸鱼之王》中，「咸鱼大冲关」单局累计答对10题可获取10个「招募令」？': 1,
    '《咸鱼之王》中，通行证「竞技经验」不需要邮件领取，直接发放给玩家？': 1,
    '《咸鱼之王》中，「俱乐部排位赛」的段位一共有7种？': 1,
    '《咸鱼之王》中，「阵营光环」上阵任意3个同阵营的武将就能生效。': 2,
    '《咸鱼之王》中，月度活动「捕获达标」达标奖励包含道具「金砖」？': 1,
    '《咸鱼之王》中，俱乐部的「团长」和「副团长」可以选择「排位赛」出战成员？': 1,
    '《咸鱼之王》中，玩家每日可在「灯神挑战」中挑战10次？': 1,
    '《咸鱼之王》中，咸将「曹仁」的职业是「肉盾」？': 1,
    '《咸鱼之王》中，「彩玉」可以花费「金币」进行兑换？': 2,
    '《咸鱼之王》中，在「助威商店」中可以花费「助威币」兑换到「万能红将碎片」？': 2,
    '《咸鱼之王》中，月度活动「咸神争霸」达标奖励包含道具「珍珠」？': 2,
    '《咸鱼之王》中，在「黑市」可以通过「金砖」兑换「钻石宝箱」？': 2,
    '《咸鱼之王》中，咸将「蔡文姬」属于魏国阵营？': 1,
    '《咸鱼之王》中，可以通过「万能红将碎片」开出「贾诩碎片」？': 1,
    '《咸鱼之王》中，「咸王梦境」玩法在通关1000关后开放？': 1,
    '《咸鱼之王》中，「灯神挑战」中，每阵营前五层的首通奖励均为精铁和进阶石？': 1,
    '《咸鱼之王》中，「咸鱼大冲关」内累计答对30道题目可获得「金鱼公主」皮肤？': 1,
    '《咸鱼之王》中，「咸鱼大冲关」内完成20次大冲关任务可获得「马头咸鱼」皮肤？': 1,
    '《咸鱼之王》中，「金币礼包」可以通过「捕获」玩法获取？': 1,
    '《咸鱼之王》中，可以通过「图鉴」查看咸将满级后的技能效果？': 1,
    '《咸鱼之王》中，攻打「每日咸王考验」内的「癫癫蛙」BOSS可获得招募令。': 1,
    '《咸鱼之王》中，可以通过「万能橙将碎片」开出「蔡文姬碎片」？': 2,
    '《咸鱼之王》中，通过「高级捕获」可以获得黄金鱼灵「利刃」？': 2,
    '《咸鱼之王》中，咸将星级达到30级，可以觉醒第二技能？': 2,
    '《咸鱼之王》中，咸将「黄月英」的职业为「法师」？': 2,
    '《咸鱼之王》中，咸将「孙策」的职业为「战士」？': 2,
    '《咸鱼之王》中，开启「晶石福袋」可以获得「进阶石」？': 2,
    '《三国演义》中，「大丈夫生于乱世，当带三尺剑立不世之功」，是太史慈所说。': 1,
    '《咸鱼之王》中，「咸将塔」每通关第10层，会给10个「小鱼干」。': 1,
    '《咸鱼之王》中，「每日咸王考验」有10层伤害达标奖励。': 1,
    '《咸鱼之王》中，「巅峰竞技场」前100名，可登上「巅峰王者榜」。': 1,
    '《咸鱼之王》中，激活「终身卡」，可以使挂机时间增加2小时。': 1,
    '《咸鱼之王》中，激活「月卡」，可以使挂机时间增加2小时。': 1,
    '《咸鱼之王》中，「咸神竞技场」内共分为六个段位。': 1,
    '《咸鱼之王》中，「灯神挑战」每日0点刷新挑战次数。': 1,
    '《咸鱼之王》中，若「签到」当日登录未领取，后续登录时可以一并领取。': 1,
    '《咸鱼之王》中，激活「终身卡」，挂机金币收益增加10%。': 1,
    '《咸鱼之王》中，激活「周卡」，挂机金币收益增加10%。': 1,
    '《咸鱼之王》中，「签到」领取30次奖励内容后，奖励内容会进行刷新。': 1,
    '《咸鱼之王》中，激活「月卡」，挂机金币收益增加10%。': 2,
    '《咸鱼之王》中，「竞技场」每周结算时，巅峰场玩家均可获得「巅峰王者徽章」。': 2,
    '《咸鱼之王》中，「周卡」激活，可以使挂机时间增加2小时。': 2,
    '《咸鱼之王》中，咸将装备的等级无法超「主公阿咸」的等级。': 1,
    '《咸鱼之王》中，开启「金币礼包」获取的金币与挂机奖励有关。': 1,
    '《咸鱼之王》中，挑战「咸将塔」消耗的小鱼干在通过当前塔后会获得10个。': 1,
    '《咸鱼之王》中，「梦魇水晶」的属性需要佩戴咸将达到701级才会生效。': 1,
    '《咸鱼之王》中，咸将达到700级并进阶后可以激活自身全部基础技能。': 1
  }
  const getFormatDate = function (ts) {
    const date = new Date(ts)
    // 北京时间比iso时间快8个小时
    date.setHours(date.getHours() + 8)
    return date
  }
  const isToday = function (ts) {
    if (!ts) {
      return false
    }
    const date1 = getFormatDate(ts)
    const date2 = getFormatDate(Date.now())
    return (
      date1.getUTCFullYear() == date2.getUTCFullYear() &&
      date1.getUTCMonth() == date2.getUTCMonth() &&
      date1.getUTCDate() == date2.getUTCDate()
    )
  }
  var dataIndex = window.__require('data-index')
  var ServerData = window.__require('ServerData')
  var TipsManager = window.__require('TipsManager')
  var delay = function (timeout) {
    return new Promise(function (resolve) {
      setTimeout(resolve, timeout * 1000)
    })
  }
  var forEachIso = async function (opName, callback) {
    try {
      await callback(dataIndex, ServerData.ROLE, true, '主号')
      TipsManager.SHOW_TIP(`主号执行[${opName}]完成!`)
    } catch (err) {
      TipsManager.SHOW_TIP(`主号执行[${opName}]出错, ${err}`)
      console.error(`主号执行[${opName}]出错, ${err}`)
    }
    var index = 0
    for (const subRole of window.subRoles) {
      index++
      try {
        await callback(subRole.iso, subRole.role, false, `多开${index}号`)
        TipsManager.SHOW_TIP(`多开${index}号执行[${opName}]完成!`)
      } catch (err) {
        TipsManager.SHOW_TIP(`多开${index}号执行出错, ${err}`)
        console.error(`多开${index}号执行出错, ${err}`)
      }
    }
  }
  var setIntervalEx = function (callback, timeout) {
    setInterval(callback, timeout)
    callback()
  }
  setIntervalEx(
    async () => {
      await forEachIso('自动续罐子', async function (iso) {
        await iso.BottleHelperService.stop({ bottleType: -1 })
        await iso.BottleHelperService.start({ bottleType: -1 })
      })
      await delay(3)
      await forEachIso('自动收罐子', async function (iso) {
        await iso.BottleHelperService.claim({})
      })
      await delay(2)

      await forEachIso('自动收菜加钟', async function (iso) {
        await iso.SystemService.claimHangUpReward({})
        await iso.SystemService.myShareCallback({
          isSkipShareCard: true,
          type: 2
        })
        await iso.SystemService.myShareCallback({
          isSkipShareCard: true,
          type: 2
        })
        await iso.SystemService.myShareCallback({
          isSkipShareCard: true,
          type: 2
        })
        await iso.SystemService.myShareCallback({
          isSkipShareCard: true,
          type: 2
        })
      })
    },
    6 * 60 * 60 * 1000
  )

  await delay(5)

  setIntervalEx(
    async () => {
      await forEachIso('自动爬塔', async function (iso, role, main, account) {
        if (!main) {
          // const data = await iso.RoleService.getRoleInfo({
          //   platform: "h5web",
          //   platformExt: "h5web",
          //   inviteUid: 0,
          //   clientVersion: GAME_VERSION,
          //   scene: "",
          // });
          // role = data.getData().role;
          return
        }
        // TipsManager.SHOW_TIP(`${account}咸将塔:${role.tower.id}`);
        if (role.levelId <= 50) {
          return
        }
        await iso.TowerService.getInfo({})
        for (let counter = 0; counter <= 30; counter++) {
          if (role.tower.energy <= 0) {
            break
          }
          if (role.tower.id % 10 == 0) {
            const rewardId = role.tower.id / 10
            if (!role.tower.reward[rewardId]) {
              // 还没领
              TipsManager.SHOW_TIP(`${account}领取咸将塔第${rewardId}-10层通关奖励`)
              await iso.TowerService.claimReward({ rewardId: rewardId })
            }
          }
          if (role.tower.id >= 4500) {
            return
          }
          const towerIdx = Math.floor(role.tower.id / 10) + 1
          const layerIdx = (role.tower.id + 1) % 10 || 10
          TipsManager.SHOW_TIP(
            `${account}挑战咸将塔第${towerIdx}-${layerIdx}层, 体力: ${
              role.tower.energy
            } => ${role.tower.energy - 1}`
          )
          await iso.FightService.startTower({})
        }
      })
    },
    4 * 60 * 60 * 1000
  )

  await delay(5)

  setIntervalEx(
    async () => {
      await forEachIso('领取和赠送好友金币', async function (iso) {
        await iso.FriendService.batch({ friendId: 0 })
        await delay(1)
      })
      const lastWorkAt = Number(localStorage.getItem('LAST_WORK_AT') || 0)
      if (!isToday(lastWorkAt)) {
        await forEachIso('分享领取木材火把', async function (iso) {
          await iso.SystemService.myShareCallback({
            isSkipShareCard: false,
            type: 1
          })
          await delay(1)
        })
        await forEachIso('领取邮件奖励', async function (iso) {
          await iso.MailService.claimAllAttachment({
            category: 0
          })
          await delay(1)
        })

        await forEachIso('挑战每日咸王boss', async function (iso) {
          const weekDay = getFormatDate(Date.now()).getUTCDay()
          const bossId = [9904, 9905, 9901, 9902, 9903, 9904, 9905][weekDay]
          await iso.FightService.startBoss({
            bossId: bossId
          })
          await delay(1)
        })

        await forEachIso('开启10个木质宝箱', async function (iso) {
          await iso.ItemService.openBox({ itemId: 2001, number: 10 })
          await delay(1)
        })

        await forEachIso('进行两次招募', async function (iso) {
          await iso.HeroService.recruit({
            byClub: false,
            recruitNumber: 1,
            recruitType: 3
          })
          await delay(1)
          await iso.HeroService.recruit({
            byClub: false,
            recruitNumber: 1,
            recruitType: 1
          })
          await delay(1)
        })

        await forEachIso('点金三次', async function (iso) {
          await iso.SystemService.buyGold({ buyNum: 1 })
          await delay(1)
          await iso.SystemService.buyGold({ buyNum: 1 })
          await delay(1)
          await iso.SystemService.buyGold({ buyNum: 1 })
          await delay(1)
        })

        await forEachIso('普通钓鱼三次', async function (iso) {
          await iso.ArtifactService.lottery({
            lotteryNumber: 1,
            newFree: true,
            type: 1
          })
          await delay(1)
          await iso.ArtifactService.lottery({
            lotteryNumber: 1,
            newFree: true,
            type: 1
          })
          await delay(1)
          await iso.ArtifactService.lottery({
            lotteryNumber: 1,
            newFree: true,
            type: 1
          })
          await delay(1)
        })

        await forEachIso('领取每日登录奖励', async function (iso) {
          await iso.SystemService.signInReward({})
          await delay(1)
        })

        await forEachIso('领取每日特惠礼包', async function (iso) {
          await iso.DiscountService.claimReward({ discountId: 1 })
          await delay(1)
        })

        await forEachIso('领取[福利卡]每日奖励', async function (iso) {
          await iso.CardService.claimReward({ cardId: 1 })
          await delay(1)
        })

        await forEachIso('俱乐部签到', async function (iso) {
          await iso.LegionService.signIn({})
          await delay(1)
        })

        await forEachIso('攻打四次boss', async function (iso) {
          await iso.FightService.startLegionBoss({})
          await delay(1)
          await iso.FightService.startLegionBoss({})
          await delay(1)
          await iso.FightService.startLegionBoss({})
          await delay(1)
          await iso.FightService.startLegionBoss({})
          await delay(1)
        })

        await forEachIso('答题领奖', async function (iso) {
          const data = await iso.StudyService.startGame({})
          const gameData = data.getData()
          const questionList = gameData.questionList
          for (let idx = 0; idx < questionList.length; idx++) {
            const question = questionList[idx]
            let answer = tiku[question.question]
            if (!answer) {
              answer = Math.floor(2 * Math.random()) + 1
            }
            await iso.StudyService.answer({
              id: gameData.role.study.id,
              option: [answer],
              questionId: [question.id]
            })
            await delay(1)
          }
          for (let rewardId = 1; rewardId <= 10; rewardId++) {
            await iso.StudyService.claimReward({
              rewardId: rewardId
            })
            await delay(1)
          }
        })

        await forEachIso('咸将升星', async function (iso) {
          for (const [rangeStart, rangeEnd] of [
            [101, 120],
            [201, 228],
            [301, 314]
          ]) {
            for (let heroId = rangeStart; heroId <= rangeEnd; heroId++) {
              for (let counter = 0; counter < 5; counter++) {
                await iso.HeroService.heroUpgradeStar({ heroId: heroId })
                await delay(1)
              }
            }
          }
        })

        await forEachIso('图鉴升级', async function (iso) {
          for (const [rangeStart, rangeEnd] of [
            [101, 120],
            [201, 228],
            [301, 314]
          ]) {
            for (let heroId = rangeStart; heroId <= rangeEnd; heroId++) {
              for (let counter = 0; counter < 5; counter++) {
                await iso.BookService.upgrade({ heroId: heroId })
                await delay(1)
              }
            }
          }

          await iso.BookService.claimPointReward({})
          await delay(1)
        })

        localStorage.setItem('LAST_WORK_AT', Date.now().toString())
      }

      await forEachIso('领任务奖励', async function (iso) {
        for (const taskId of [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]) {
          await iso.TaskService.claimDailyPoint({ taskId: taskId })
          await delay(1)
        }
        await iso.TaskService.claimDailyReward({ rewardId: 0 })
        await delay(1)
        await iso.TaskService.claimWeekReward({ rewardId: 0 })
        await delay(1)
      })
    },
    5 * 60 * 60 * 1000
  )
}
