diff --git a/.prettierignore b/.prettierignore index d1c3410..149976f 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,4 +1,5 @@ vite.config.ts public/project/data.js story.md -public/project/floors/*.js \ No newline at end of file +public/project/floors/*.js +public/project/enemys.js \ No newline at end of file diff --git a/public/libs/control.js b/public/libs/control.js index 22fa4b9..dbda5e0 100644 --- a/public/libs/control.js +++ b/public/libs/control.js @@ -1697,7 +1697,7 @@ control.prototype._drawDamage_draw = function (ctx, onMap) { if (!core.hasItem('book')) return; core.plugin.halo.drawHalo(ctx, onMap); - core.setFont(ctx, "14px 'normal'"); + core.setFont(ctx, "11px 'normal'"); core.setTextAlign(ctx, 'left'); core.status.damage.data.forEach(function (one) { var px = one.px, diff --git a/public/project/enemys.js b/public/project/enemys.js index 056609f..ced161a 100644 --- a/public/project/enemys.js +++ b/public/project/enemys.js @@ -1,171 +1,171 @@ var enemys_fcae963b_31c9_42b4_b48c_bb48d09f3f80 = { - "greenSlime": {"name":"绿头怪","hp":100,"atk":11,"def":3,"money":0,"exp":1,"point":0,"special":[],"description":"别小看这些家伙,虽然他们只是一种极其低级的怪物,低级到普通人用手都可以打死,但数量是他们的优势。"}, - "redSlime": {"name":"红头怪","hp":120,"atk":16,"def":6,"money":0,"exp":2,"point":0,"special":[],"value":10,"description":"即使是最弱的怪物,也有进化的时候,对吧?据说,红头怪便是绿头怪进化形成的。"}, - "blackSlime": {"name":"青头怪","hp":170,"atk":20,"def":8,"money":0,"exp":3,"point":0,"special":[],"description":"看,这就是最弱的怪物进化出的最强的怪物之一了。他们弱吗?"}, - "slimelord": {"name":"粘液王","hp":200,"atk":58,"def":24,"money":0,"exp":8,"point":0,"special":[],"description":"看上去黏糊糊的,实际也确实黏糊糊的,据说是史莱姆族的长老级人物,拥有不俗的实力。"}, - "bat": {"name":"小蝙蝠","hp":60,"atk":15,"def":0,"money":0,"exp":2,"point":0,"special":[4],"description":"经常出现在山洞中,再平常不过了。但是这次它却有了攻击性。"}, - "bigBat": {"name":"大蝙蝠","hp":150,"atk":17,"def":5,"money":0,"exp":4,"point":0,"special":[4],"crit":0,"charge":0,"courage":0,"together":0,"hungry":0,"value":100,"n":1000,"description":"或许是小蝙蝠的父亲?一种极其强悍的蝙蝠,实力不够千万不要靠近他。"}, - "redBat": {"name":"恐怖蝙蝠","hp":1200,"atk":260,"def":110,"money":1,"exp":32,"point":0,"special":[5],"description":"恐惧?或许他们并不知道恐惧是什么,他们不会害怕任何东西,即使这个东西能够威胁到自己的生命。"}, + "greenSlime": {"name":"绿头怪","hp":1,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"description":"别小看这些家伙,虽然他们只是一种极其低级的怪物,低级到普通人用手都可以打死,但数量是他们的优势。"}, + "redSlime": {"name":"红头怪","hp":1,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"value":10,"description":"即使是最弱的怪物,也有进化的时候,对吧?据说,红头怪便是绿头怪进化形成的。"}, + "blackSlime": {"name":"青头怪","hp":170,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"description":"看,这就是最弱的怪物进化出的最强的怪物之一了。他们弱吗?"}, + "slimelord": {"name":"粘液王","hp":200,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"description":"看上去黏糊糊的,实际也确实黏糊糊的,据说是史莱姆族的长老级人物,拥有不俗的实力。"}, + "bat": {"name":"小蝙蝠","hp":60,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"description":"经常出现在山洞中,再平常不过了。但是这次它却有了攻击性。"}, + "bigBat": {"name":"大蝙蝠","hp":150,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"crit":0,"charge":0,"courage":0,"together":0,"hungry":0,"value":100,"n":1000,"description":"或许是小蝙蝠的父亲?一种极其强悍的蝙蝠,实力不够千万不要靠近他。"}, + "redBat": {"name":"恐怖蝙蝠","hp":1200,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"description":"恐惧?或许他们并不知道恐惧是什么,他们不会害怕任何东西,即使这个东西能够威胁到自己的生命。"}, "vampire": {"name":"冥灵魔王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "skeleton": {"name":"骷髅人","hp":300,"atk":80,"def":10,"money":0,"exp":9,"point":0,"special":[1],"crit":300,"description":"骷髅?看起来是被人动了手脚,或许是未来的高科技机器人呢?"}, - "skeletonCaptain": {"name":"骷髅队长","hp":750,"atk":200,"def":50,"money":0,"exp":21,"point":0,"special":[1],"crit":1000,"description":"机器人也会有领袖吗?这还真是第一次听说。"}, - "zombie": {"name":"兽人","hp":150,"atk":43,"def":14,"money":0,"exp":6,"point":0,"special":[],"description":"野兽嘛,在远古时期,再正常不过了。"}, - "zombieKnight": {"name":"兽人武士","hp":480,"atk":62,"def":30,"money":0,"exp":15,"point":0,"special":[],"description":"他们总是认为,要变得强大,杀掉其他野兽,自己才能存活下来。"}, - "rock": {"name":"洞穴巨石","hp":31,"atk":25,"def":0,"money":0,"exp":4,"point":0,"special":[3],"description":"一些具有攻击性的巨石?或许就是兽人穿上了一层石头外衣吧。"}, - "bluePriest": {"name":"初级法师","hp":100,"atk":120,"def":0,"money":3,"exp":0,"point":1,"special":[2]}, + "skeleton": {"name":"骷髅人","hp":300,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"crit":300,"description":"骷髅?看起来是被人动了手脚,或许是未来的高科技机器人呢?"}, + "skeletonCaptain": {"name":"骷髅队长","hp":750,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"crit":1000,"description":"机器人也会有领袖吗?这还真是第一次听说。"}, + "zombie": {"name":"兽人","hp":150,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"description":"野兽嘛,在远古时期,再正常不过了。"}, + "zombieKnight": {"name":"兽人武士","hp":480,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"description":"他们总是认为,要变得强大,杀掉其他野兽,自己才能存活下来。"}, + "rock": {"name":"洞穴巨石","hp":31,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"description":"一些具有攻击性的巨石?或许就是兽人穿上了一层石头外衣吧。"}, + "bluePriest": {"name":"初级法师","hp":100,"atk":0,"def":0,"money":3,"exp":0,"point":1,"special":[]}, "redPriest": {"name":"高级法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "brownWizard": {"name":"初级巫师","hp":100,"atk":120,"def":0,"money":16,"exp":0,"point":0,"special":[15],"value":100,"range":2}, - "redWizard": {"name":"高级巫师","hp":1000,"atk":1200,"def":0,"money":160,"exp":0,"point":0,"special":[15],"value":200,"zoneSquare":true}, - "swordsman": {"name":"野蛮剑士","hp":250,"atk":55,"def":27,"money":0,"exp":9,"point":0,"special":[15],"value":75,"description":"剑?这是什么东西?他们拿的只是比较锋利的骨头吧。"}, + "brownWizard": {"name":"初级巫师","hp":100,"atk":0,"def":0,"money":16,"exp":0,"point":0,"special":[],"value":100,"range":2}, + "redWizard": {"name":"高级巫师","hp":1000,"atk":0,"def":0,"money":160,"exp":0,"point":0,"special":[],"value":200,"zoneSquare":true}, + "swordsman": {"name":"野蛮剑士","hp":250,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"value":75,"description":"剑?这是什么东西?他们拿的只是比较锋利的骨头吧。"}, "soldier": {"name":"冥战士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "yellowKnight": {"name":"勇气骑士","hp":2000,"atk":500,"def":250,"money":1,"exp":30,"point":0,"special":[11],"charge":500,"description":"人们总是说,战斗,需要的就是勇气。而骑士,或许就站在了这勇气之巅了吧。有什么用呢?战场上,该死的时候就是得死,哪怕是在这远古时期,即使不是战场,一场战斗也足以决定生死。"}, + "yellowKnight": {"name":"勇气骑士","hp":2000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"charge":500,"description":"人们总是说,战斗,需要的就是勇气。而骑士,或许就站在了这勇气之巅了吧。有什么用呢?战场上,该死的时候就是得死,哪怕是在这远古时期,即使不是战场,一场战斗也足以决定生死。"}, "redKnight": {"name":"红骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "darkKnight": {"name":"黑骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "blueKnight": {"name":"蓝骑士","hp":100,"atk":120,"def":0,"money":9,"exp":0,"point":0,"special":[8]}, - "goldSlime": {"name":"黄头怪","hp":1000,"atk":50,"def":50,"money":0,"exp":18,"point":0,"special":[2]}, + "blueKnight": {"name":"蓝骑士","hp":100,"atk":0,"def":0,"money":9,"exp":0,"point":0,"special":[]}, + "goldSlime": {"name":"黄头怪","hp":1000,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "poisonSkeleton": {"name":"紫骷髅","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "poisonBat": {"name":"山间蝙蝠","hp":800,"atk":170,"def":50,"money":1,"exp":24,"point":0,"special":[5],"description":"山的高出,总会有一些恐怖的东西,就比如这只蝙蝠。"}, - "skeletonPriest": {"name":"智慧骷髅","hp":4000,"atk":1200,"def":900,"money":1,"exp":75,"point":0,"special":[1,13],"value":20,"crit":500,"description":"人们说智慧可以做到任何事情,而这只骷髅却将可以变为了很容易。“我挥一挥法杖,智慧便会如泉般涌来。”,他说。"}, + "poisonBat": {"name":"山间蝙蝠","hp":800,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"description":"山的高出,总会有一些恐怖的东西,就比如这只蝙蝠。"}, + "skeletonPriest": {"name":"智慧骷髅","hp":4000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"value":20,"crit":500,"description":"人们说智慧可以做到任何事情,而这只骷髅却将可以变为了很容易。“我挥一挥法杖,智慧便会如泉般涌来。”,他说。"}, "skeletonKing": {"name":"骷髅王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "evilHero": {"name":"迷失勇者","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "demonPriest": {"name":"魔神法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "goldHornSlime": {"name":"尖角怪","hp":1500,"atk":366,"def":166,"money":1,"exp":35,"point":0,"special":[],"description":"一个奇怪的物种,长着两只角就了不起了吗?或许还真是!"}, - "silverSlime": {"name":"银头怪","hp":250,"atk":50,"def":20,"money":0,"exp":11,"point":0,"special":[2]}, + "goldHornSlime": {"name":"尖角怪","hp":1500,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"description":"一个奇怪的物种,长着两只角就了不起了吗?或许还真是!"}, + "silverSlime": {"name":"银头怪","hp":250,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "whiteHornSlime": {"name":"恐怖尖角怪","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "redSwordsman": {"name":"山间盗贼","hp":1000,"atk":175,"def":40,"money":1,"exp":24,"point":0,"special":[4],"n":8,"description":"即使是现代法治社会,也总会有人去抢夺别人的东西,更何况远古时期呢?"}, - "poisonZombie": {"name":"绿兽人","hp":100,"atk":120,"def":0,"money":13,"exp":0,"point":0,"special":[12]}, + "redSwordsman": {"name":"山间盗贼","hp":1000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"n":8,"description":"即使是现代法治社会,也总会有人去抢夺别人的东西,更何况远古时期呢?"}, + "poisonZombie": {"name":"绿兽人","hp":100,"atk":0,"def":0,"money":13,"exp":0,"point":0,"special":[]}, "octopus": {"name":"血影","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "princessEnemy": {"name":"假公主","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "angel": {"name":"天使","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "elemental": {"name":"元素生物","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "steelGuard": {"name":"铁守卫","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[18],"value":20}, - "evilBat": {"name":"邪恶蝙蝠","hp":1000,"atk":800,"def":350,"money":1,"exp":40,"point":0,"special":[2]}, - "frozenSkeleton": {"name":"冻死骨","hp":7500,"atk":2500,"def":1000,"money":2,"exp":90,"point":0,"special":[1,20],"crit":500,"ice":10,"description":"弱小,无助,哀嚎,这就是残酷的现实。哪怕你身处极寒之中,也难有人对你伸出援手。人类总会帮助他人,但在这绝望的环境下,人类的本性便暴露无遗。这一个个精致却又无情的骷髅,便是那些在极寒之中死去的冤魂。"}, + "steelGuard": {"name":"铁守卫","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"value":20}, + "evilBat": {"name":"邪恶蝙蝠","hp":1000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[]}, + "frozenSkeleton": {"name":"冻死骨","hp":7500,"atk":0,"def":0,"money":2,"exp":0,"point":0,"special":[],"crit":500,"ice":10,"description":"弱小,无助,哀嚎,这就是残酷的现实。哪怕你身处极寒之中,也难有人对你伸出援手。人类总会帮助他人,但在这绝望的环境下,人类的本性便暴露无遗。这一个个精致却又无情的骷髅,便是那些在极寒之中死去的冤魂。"}, "silverSlimelord": {"name":"银怪王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "goldSlimelord": {"name":"金怪王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "skeletonWarrior": {"name":"骷髅士兵","hp":500,"atk":100,"def":20,"money":0,"exp":12,"point":0,"special":[1],"crit":500,"description":"看来未来的机器人并不满足与赤手空拳,他们也拿上了武器。"}, - "whiteSlimeman": {"name":"水银史莱姆人","hp":750,"atk":100,"def":45,"money":0,"exp":20,"point":0,"special":[4],"description":"汞?这听起来不像是一个远古时期应该存在的名字,但是把它拆分开,叫做水银,是不是可爱了一些?"}, - "slimeman": {"name":"莱姆人","hp":125,"atk":30,"def":10,"money":0,"exp":4,"point":0,"special":[4],"atkValue":2,"defValue":3,"description":"又有谁不能保证史莱姆也能进化成人型生物呢?"}, - "yellowGateKeeper": {"name":"神秘卫兵","hp":375,"atk":200,"def":15,"money":1,"exp":25,"point":0,"special":[1],"crit":5000,"description":"神秘卫兵。确实很神秘,他们从不说话,只知道看着你,当你攻击他们的时候,他们会给你致命的反击。"}, - "blueGateKeeper": {"name":"神秘雕像","hp":1000,"atk":275,"def":120,"money":1,"exp":38,"point":0,"special":[1],"crit":1000,"description":"大概,或许,跟神秘卫兵是同一类东西?"}, - "redGateKeeper": {"name":"勇气卫兵","hp":1000,"atk":450,"def":250,"money":1,"exp":30,"point":0,"special":[1],"crit":2000,"description":"没有人知道这些卫兵是什么。他们有红通通的外表,一颗怀揣着勇气的心。但是,勇气这东西,并不是越多越好,为什么?跟他打一架,他的下场便是勇气过多的下场。"}, - "magicMaster": {"name":"黑暗大法师","hp":100,"atk":120,"def":0,"money":12,"exp":0,"point":0,"special":[11],"value":0.3333333333333333,"add":true,"notBomb":true}, + "skeletonWarrior": {"name":"骷髅士兵","hp":500,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"crit":500,"description":"看来未来的机器人并不满足与赤手空拳,他们也拿上了武器。"}, + "whiteSlimeman": {"name":"水银史莱姆人","hp":750,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"description":"汞?这听起来不像是一个远古时期应该存在的名字,但是把它拆分开,叫做水银,是不是可爱了一些?"}, + "slimeman": {"name":"莱姆人","hp":125,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"atkValue":2,"defValue":3,"description":"又有谁不能保证史莱姆也能进化成人型生物呢?"}, + "yellowGateKeeper": {"name":"神秘卫兵","hp":375,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"crit":5000,"description":"神秘卫兵。确实很神秘,他们从不说话,只知道看着你,当你攻击他们的时候,他们会给你致命的反击。"}, + "blueGateKeeper": {"name":"神秘雕像","hp":1000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"crit":1000,"description":"大概,或许,跟神秘卫兵是同一类东西?"}, + "redGateKeeper": {"name":"勇气卫兵","hp":1000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"crit":2000,"description":"没有人知道这些卫兵是什么。他们有红通通的外表,一颗怀揣着勇气的心。但是,勇气这东西,并不是越多越好,为什么?跟他打一架,他的下场便是勇气过多的下场。"}, + "magicMaster": {"name":"黑暗大法师","hp":100,"atk":0,"def":0,"money":12,"exp":0,"point":0,"special":[],"value":0.3333333333333333,"add":true,"notBomb":true}, "devilWarrior": {"name":"魔神武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "fairyEnemy": {"name":"仙子","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "dragon": {"name":"魔龙","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "skeletonKnight": {"name":"骷髅武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "skeletonPresbyter": {"name":"骷髅巫师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"description":"法杖,人们总觉得这种东西只应该出现在虚拟的世界中。可是,智慧却成功将这件事变为了现实,而产物便是这只骷髅巫师。"}, - "ironRock": {"name":"山间巨石","hp":750,"atk":150,"def":0,"money":0,"exp":20,"point":0,"special":[3],"description":"恐怖的东西,除了那只蝙蝠,还有...这个巨石。"}, - "grayRock": {"name":"林间巨石","hp":100,"atk":60,"def":0,"money":0,"exp":12,"point":0,"special":[3],"description":"貌似比山洞里面的那些家伙硬了一些?哼,那又能有什么用呢?"}, + "ironRock": {"name":"山间巨石","hp":750,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"description":"恐怖的东西,除了那只蝙蝠,还有...这个巨石。"}, + "grayRock": {"name":"林间巨石","hp":100,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"description":"貌似比山洞里面的那些家伙硬了一些?哼,那又能有什么用呢?"}, "yellowPriest": {"name":"中级法师","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "evilPrincess": {"name":"痛苦魔女","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "blademaster": {"name":"剑圣","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "evilFairy": {"name":"黑暗仙子","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "blueRock": {"name":"勇气之石","hp":2000,"atk":450,"def":230,"money":1,"exp":30,"point":0,"special":[],"description":"巨石,这本身是一种不可怕的怪物。而可怕的是,当这些巨石拥有了勇气,或许就很少有人敢于直面他们了。"}, - "skeletonLite": {"name":"骷髅精英","hp":2000,"atk":275,"def":240,"money":1,"exp":35,"point":0,"special":[9],"description":"骷髅们总是说,没有防御力,让我怎么去攻击别人?呵,这防御力不就来了吗?可是,这又有何用呢?"}, + "blueRock": {"name":"勇气之石","hp":2000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"description":"巨石,这本身是一种不可怕的怪物。而可怕的是,当这些巨石拥有了勇气,或许就很少有人敢于直面他们了。"}, + "skeletonLite": {"name":"骷髅精英","hp":2000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"description":"骷髅们总是说,没有防御力,让我怎么去攻击别人?呵,这防御力不就来了吗?可是,这又有何用呢?"}, "greenKnight": {"name":"强盾骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "bowman": {"name":"猎人","hp":500,"atk":100,"def":50,"money":0,"exp":16,"point":0,"special":[24],"value":75,"description":"没人知道这些人怎么做出的弓,也没人知道他们怎么收集的这么多剑。而其他人唯一能做的事,便是远离他们。"}, - "liteBowman": {"name":"山间猎手","hp":1200,"atk":200,"def":60,"money":1,"exp":27,"point":0,"special":[24],"description":"这箭,或许就是那些败于他弓下的那些不知好歹的莽夫的骨头吧。或许,绕开他的视野才是躲避他的攻击的最好办法。"}, - "crimsonZombie": {"name":"勇气之兽","hp":1800,"atk":2000,"def":-100,"money":1,"exp":35,"point":0,"special":[],"description":"没人会愿意跟这些野兽一起吧?至少我是不想。上天赋予的勇气,却让他们更加渴望鲜血,这不是很可悲吗?"}, - "watcherSlime": {"name":"邪眼史莱姆","hp":5000,"atk":1200,"def":600,"money":1,"exp":50,"point":0,"special":[17],"description":"成群结队地出现在森林中,看遍百花齐放,经历万物凋零。他们守在这森林中,将那些企图突破这里的人置于死地。"}, - "mutantSlimeman": {"name":"变异史莱姆人","hp":350,"atk":70,"def":27,"money":0,"exp":13,"point":0,"special":[],"description":"据说,史莱姆人也会基因突变,这样就产生了这种变异史莱姆人。"}, + "bowman": {"name":"猎人","hp":500,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"value":75,"description":"没人知道这些人怎么做出的弓,也没人知道他们怎么收集的这么多剑。而其他人唯一能做的事,便是远离他们。"}, + "liteBowman": {"name":"山间猎手","hp":1200,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"description":"这箭,或许就是那些败于他弓下的那些不知好歹的莽夫的骨头吧。或许,绕开他的视野才是躲避他的攻击的最好办法。"}, + "crimsonZombie": {"name":"勇气之兽","hp":1800,"atk":0,"def":-100,"money":1,"exp":0,"point":0,"special":[],"description":"没人会愿意跟这些野兽一起吧?至少我是不想。上天赋予的勇气,却让他们更加渴望鲜血,这不是很可悲吗?"}, + "watcherSlime": {"name":"邪眼史莱姆","hp":5000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"description":"成群结队地出现在森林中,看遍百花齐放,经历万物凋零。他们守在这森林中,将那些企图突破这里的人置于死地。"}, + "mutantSlimeman": {"name":"变异史莱姆人","hp":350,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"description":"据说,史莱姆人也会基因突变,这样就产生了这种变异史莱姆人。"}, "devilKnight": {"name":"恶灵骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "grayPriest": {"name":"智慧法王","hp":3000,"atk":600,"def":250,"money":1,"exp":40,"point":0,"special":[13],"description":"法杖?他已经不需要了。没有人知道他长什么样,只知道他的智慧已非常人能及,只知道他的法术能让一个人在瞬间化为灰烬。"}, - "greenGateKeeper": {"name":"睿智雕像","hp":5000,"atk":1250,"def":900,"money":1,"exp":65,"point":0,"special":[1],"crit":1000}, - "ghostSoldier": {"name":"山间骷髅","hp":750,"atk":180,"def":40,"money":0,"exp":18,"point":0,"special":[],"description":"这次,他们穿上了盔甲。"}, - "frostBat": {"name":"寒霜蝙蝠","hp":20000,"atk":3200,"def":2000,"money":2,"exp":2000,"point":0,"special":[4,20],"ice":90,"description":"“穿梭于寒风里,行走在锋芒中”,寒霜蝙蝠将这句话运用到了极致。别看那小小的身体,它足以将你拆的七零八落。在它面前,任何小把戏都会被它看得一清二楚。它那凶恶的眼神,是否在哪里见过呢?"}, - "blackKing": {"name":"黑衣魔王","hp":1000,"atk":500,"def":0,"money":1000,"exp":1000,"point":0,"special":[],"notBomb":true}, + "grayPriest": {"name":"智慧法王","hp":3000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"description":"法杖?他已经不需要了。没有人知道他长什么样,只知道他的智慧已非常人能及,只知道他的法术能让一个人在瞬间化为灰烬。"}, + "greenGateKeeper": {"name":"睿智雕像","hp":5000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"crit":1000}, + "ghostSoldier": {"name":"山间骷髅","hp":750,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"description":"这次,他们穿上了盔甲。"}, + "frostBat": {"name":"寒霜蝙蝠","hp":20000,"atk":0,"def":0,"money":2,"exp":0,"point":0,"special":[],"ice":90,"description":"“穿梭于寒风里,行走在锋芒中”,寒霜蝙蝠将这句话运用到了极致。别看那小小的身体,它足以将你拆的七零八落。在它面前,任何小把戏都会被它看得一清二楚。它那凶恶的眼神,是否在哪里见过呢?"}, + "blackKing": {"name":"黑衣魔王","hp":1000,"atk":0,"def":0,"money":1000,"exp":0,"point":0,"special":[],"notBomb":true}, "yellowKing": {"name":"黄衣魔王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "greenKing": {"name":"青衣武士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "redKing": {"name":"红衣魔王","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "blueKing": {"name":"白衣武士","hp":100,"atk":120,"def":0,"money":17,"exp":0,"point":0,"special":[16]}, - "E368": {"name":"绿头武装怪","hp":400,"atk":75,"def":30,"money":0,"exp":14,"point":0,"special":[]}, - "E369": {"name":"红头武装怪","hp":450,"atk":85,"def":35,"money":0,"exp":17,"point":0,"special":[]}, - "E370": {"name":"青头武装怪","hp":600,"atk":100,"def":50,"money":0,"exp":20,"point":0,"special":[1],"crit":400}, - "E371": {"name":"武装怪王","hp":1500,"atk":230,"def":80,"money":1,"exp":30,"point":0,"special":[1],"crit":750}, - "E372": {"name":"高级绿头怪","hp":280,"atk":66,"def":33,"money":0,"exp":12,"point":0,"special":[]}, - "E373": {"name":"高级红头怪","hp":333,"atk":77,"def":33,"money":0,"exp":15,"point":0,"special":[1],"crit":200}, - "E374": {"name":"高级青头怪","hp":666,"atk":111,"def":44,"money":0,"exp":19,"point":0,"special":[]}, - "E375": {"name":"怪圣","hp":2000,"atk":270,"def":100,"money":1,"exp":33,"point":0,"special":[]}, - "E498": {"name":"山间野兽","hp":1200,"atk":175,"def":60,"money":1,"exp":30,"point":0,"special":[7],"hungry":20}, - "E499": {"name":"武装野兽","hp":1500,"atk":240,"def":100,"money":1,"exp":32,"point":0,"special":[7],"hungry":30}, - "E500": {"name":"智慧兽人","hp":4500,"atk":1200,"def":700,"money":1,"exp":55,"point":0,"special":[7],"hungry":30}, + "blueKing": {"name":"白衣武士","hp":100,"atk":0,"def":0,"money":17,"exp":0,"point":0,"special":[]}, + "E368": {"name":"绿头武装怪","hp":400,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "E369": {"name":"红头武装怪","hp":450,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "E370": {"name":"青头武装怪","hp":600,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"crit":400}, + "E371": {"name":"武装怪王","hp":1500,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"crit":750}, + "E372": {"name":"高级绿头怪","hp":280,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "E373": {"name":"高级红头怪","hp":333,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"crit":200}, + "E374": {"name":"高级青头怪","hp":666,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "E375": {"name":"怪圣","hp":2000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[]}, + "E498": {"name":"山间野兽","hp":1200,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"hungry":20}, + "E499": {"name":"武装野兽","hp":1500,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"hungry":30}, + "E500": {"name":"智慧兽人","hp":4500,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"hungry":30}, "E501": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "E502": {"name":"普通史塔茹","hp":900,"atk":160,"def":55,"money":1,"exp":25,"point":0,"special":[8],"together":20}, - "E503": {"name":"武装史塔茹","hp":1300,"atk":240,"def":110,"money":1,"exp":31,"point":0,"special":[8],"value":null,"crit":null,"together":25}, - "E504": {"name":"精英史塔茹","hp":2000,"atk":450,"def":150,"money":1,"exp":40,"point":0,"special":[8],"together":30}, - "E505": {"name":"勇气史塔茹","hp":3000,"atk":500,"def":250,"money":1,"exp":35,"point":0,"special":[8],"together":10}, - "E511": {"name":"山野蝙蝠","hp":1500,"atk":300,"def":120,"money":1,"exp":37,"point":0,"special":[5]}, - "E512": {"name":"专业盗贼","hp":1800,"atk":400,"def":170,"money":1,"exp":40,"point":0,"special":[5]}, + "E502": {"name":"普通史塔茹","hp":900,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"together":20}, + "E503": {"name":"武装史塔茹","hp":1300,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"value":null,"crit":null,"together":25}, + "E504": {"name":"精英史塔茹","hp":2000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"together":30}, + "E505": {"name":"勇气史塔茹","hp":3000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"together":10}, + "E511": {"name":"山野蝙蝠","hp":1500,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[]}, + "E512": {"name":"专业盗贼","hp":1800,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[]}, "E513": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "E514": {"name":"雪原剑客","hp":10000,"atk":3000,"def":500,"money":2,"exp":110,"point":0,"special":[5,19]}, - "E515": {"name":"勇气之剑","hp":2500,"atk":550,"def":270,"money":2,"exp":40,"point":0,"special":[5,10],"courage":500}, - "E517": {"name":"勇气之盾","hp":4000,"atk":400,"def":350,"money":1,"exp":30,"point":0,"special":[9]}, - "E518": {"name":"勇气圣骑","hp":4000,"atk":1000,"def":400,"money":1,"exp":45,"point":0,"special":[11],"charge":600}, - "E519": {"name":"勇气之魄","hp":3000,"atk":1000,"def":150,"money":1,"exp":45,"point":0,"special":[11],"charge":300}, - "E520": {"name":"勇气之魂","hp":4000,"atk":1200,"def":200,"money":1,"exp":45,"point":0,"special":[1],"crit":500}, - "E521": {"name":"勇气之箭","hp":2500,"atk":425,"def":250,"money":1,"exp":30,"point":0,"special":[1,12],"value":400,"crit":500}, - "E522": {"name":"勇气骷髅","hp":2000,"atk":600,"def":200,"money":1,"exp":30,"point":0,"special":[]}, - "E523": {"name":"红色骷髅士兵","hp":3000,"atk":1000,"def":600,"money":1,"exp":50,"point":0,"special":[]}, + "E514": {"name":"雪原剑客","hp":10000,"atk":0,"def":0,"money":2,"exp":0,"point":0,"special":[]}, + "E515": {"name":"勇气之剑","hp":2500,"atk":0,"def":0,"money":2,"exp":0,"point":0,"special":[],"courage":500}, + "E517": {"name":"勇气之盾","hp":4000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[]}, + "E518": {"name":"勇气圣骑","hp":4000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"charge":600}, + "E519": {"name":"勇气之魄","hp":3000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"charge":300}, + "E520": {"name":"勇气之魂","hp":4000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"crit":500}, + "E521": {"name":"勇气之箭","hp":2500,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"value":400,"crit":500}, + "E522": {"name":"勇气骷髅","hp":2000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[]}, + "E523": {"name":"红色骷髅士兵","hp":3000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[]}, "E524": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "E525": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "E536": {"name":"智慧法师","hp":2000,"atk":400,"def":200,"money":1,"exp":35,"point":0,"special":[13]}, - "E537": {"name":"智慧蝴蝶","hp":1500,"atk":450,"def":200,"money":1,"exp":35,"point":0,"special":[5,14]}, + "E536": {"name":"智慧法师","hp":2000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[]}, + "E537": {"name":"智慧蝴蝶","hp":1500,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[]}, "E538": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "E539": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "E544": {"name":"智慧具形","hp":2500,"atk":550,"def":225,"money":1,"exp":35,"point":0,"special":[]}, - "E545": {"name":"勇气圣法","hp":3000,"atk":800,"def":350,"money":1,"exp":40,"point":0,"special":[13]}, - "E546": {"name":"智慧信仰者","hp":2000,"atk":600,"def":250,"money":1,"exp":35,"point":0,"special":[]}, - "E547": {"name":"智慧主教","hp":3000,"atk":700,"def":300,"money":1,"exp":40,"point":0,"special":[1],"crit":500}, - "E548": {"name":"智慧之灵","hp":1000,"atk":550,"def":250,"money":1,"exp":35,"point":0,"special":[]}, - "E549": {"name":"智慧之史","hp":1000,"atk":1000,"def":100,"money":1,"exp":35,"point":0,"special":[1],"crit":10000}, - "E550": {"name":"智慧之兔","hp":1500,"atk":600,"def":200,"money":1,"exp":35,"point":0,"special":[8],"together":20}, - "E556": {"name":"智慧之姆","hp":3000,"atk":800,"def":200,"money":1,"exp":45,"point":0,"special":[8],"together":20}, - "E557": {"name":"智慧之神","hp":10000,"atk":2000,"def":800,"money":10,"exp":500,"point":0,"special":[]}, + "E544": {"name":"智慧具形","hp":2500,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[]}, + "E545": {"name":"勇气圣法","hp":3000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[]}, + "E546": {"name":"智慧信仰者","hp":2000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[]}, + "E547": {"name":"智慧主教","hp":3000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"crit":500}, + "E548": {"name":"智慧之灵","hp":1000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[]}, + "E549": {"name":"智慧之史","hp":1000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"crit":10000}, + "E550": {"name":"智慧之兔","hp":1500,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"together":20}, + "E556": {"name":"智慧之姆","hp":3000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"together":20}, + "E557": {"name":"智慧之神","hp":10000,"atk":0,"def":0,"money":10,"exp":0,"point":0,"special":[]}, "E561": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "E562": {"name":"嘲讽剑客","hp":5000,"atk":1600,"def":500,"money":1,"exp":60,"point":0,"special":[19]}, + "E562": {"name":"嘲讽剑客","hp":5000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[]}, "E563": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "E564": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "E566": {"name":"智慧史莱姆","hp":6000,"atk":1200,"def":600,"money":1,"exp":50,"point":0,"special":[8],"together":25}, - "E567": {"name":"精明史莱姆","hp":5000,"atk":1200,"def":550,"money":0,"exp":0,"point":0,"special":[8],"together":30}, - "E568": {"name":"精明史莱姆","hp":5000,"atk":1500,"def":600,"money":1,"exp":60,"point":0,"special":[8],"together":30,"displayIdInBook":null}, + "E566": {"name":"智慧史莱姆","hp":6000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"together":25}, + "E567": {"name":"精明史莱姆","hp":5000,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"together":30}, + "E568": {"name":"精明史莱姆","hp":5000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"together":30,"displayIdInBook":null}, "E569": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "E570": {"name":"粘液史莱姆","hp":3000,"atk":1000,"def":400,"money":1,"exp":45,"point":0,"special":[4,17]}, + "E570": {"name":"粘液史莱姆","hp":3000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[]}, "E571": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "E572": {"name":"石化史莱姆","hp":4000,"atk":1200,"def":0,"money":1,"exp":60,"point":0,"special":[3]}, + "E572": {"name":"石化史莱姆","hp":4000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[]}, "E573": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "E576": {"name":"智慧守卫","hp":7500,"atk":2500,"def":1250,"money":10,"exp":500,"point":0,"special":[1],"crit":250}, - "E577": {"name":"智慧守护者","hp":15000,"atk":2500,"def":1200,"money":50,"exp":2500,"point":0,"special":[1],"crit":1000}, + "E576": {"name":"智慧守卫","hp":7500,"atk":0,"def":0,"money":10,"exp":0,"point":0,"special":[],"crit":250}, + "E577": {"name":"智慧守护者","hp":15000,"atk":0,"def":0,"money":50,"exp":0,"point":0,"special":[],"crit":1000}, "E578": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "E579": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "E590": {"name":"冰封史莱姆","hp":7500,"atk":1750,"def":1000,"money":2,"exp":75,"point":0,"special":[20],"ice":25}, - "E591": {"name":"新敌人","hp":10000,"atk":2000,"def":1000,"money":0,"exp":0,"point":0,"special":[]}, - "E592": {"name":"冰封巨兽","hp":10000,"atk":2000,"def":1000,"money":2,"exp":85,"point":0,"special":[20,21],"iceHalo":20,"ice":50}, + "E590": {"name":"冰封史莱姆","hp":7500,"atk":0,"def":0,"money":2,"exp":0,"point":0,"special":[],"ice":25}, + "E591": {"name":"新敌人","hp":10000,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, + "E592": {"name":"冰封巨兽","hp":10000,"atk":0,"def":0,"money":2,"exp":0,"point":0,"special":[],"iceHalo":20,"ice":50}, "E593": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "E594": {"name":"苍蓝骑士","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "E595": {"name":"寒冰兽人","hp":12500,"atk":1800,"def":800,"money":2,"exp":100,"point":0,"special":[7],"hungry":25}, + "E595": {"name":"寒冰兽人","hp":12500,"atk":0,"def":0,"money":2,"exp":0,"point":0,"special":[],"hungry":25}, "E596": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "E597": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "E598": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "E599": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "E600": {"name":"寒冰巨石","hp":3000,"atk":2250,"def":0,"money":2,"exp":100,"point":0,"special":[3]}, + "E600": {"name":"寒冰巨石","hp":3000,"atk":0,"def":0,"money":2,"exp":0,"point":0,"special":[]}, "E601": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "E602": {"name":"永夜蝙","hp":6000,"atk":2000,"def":800,"money":1,"exp":65,"point":0,"special":[22],"night":100}, - "E603": {"name":"极昼蝠","hp":8000,"atk":1750,"def":1000,"money":1,"exp":65,"point":0,"special":[23],"day":100}, + "E602": {"name":"永夜蝙","hp":6000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"night":100}, + "E603": {"name":"极昼蝠","hp":8000,"atk":0,"def":0,"money":1,"exp":0,"point":0,"special":[],"day":100}, "E605": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "E606": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "E607": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "E608": {"name":"寒冰护卫","hp":25000,"atk":3500,"def":2250,"money":3,"exp":225,"point":0,"special":[]}, - "E609": {"name":"具形雪人","hp":7500,"atk":2250,"def":1000,"money":2,"exp":90,"point":0,"special":[25],"melt":15}, - "E610": {"name":"高冷雪人","hp":10000,"atk":2750,"def":1500,"money":0,"exp":0,"point":0,"special":[25],"melt":25}, - "E611": {"name":"具形雪人法师","hp":12500,"atk":2750,"def":1750,"money":2,"exp":175,"point":0,"special":[13,25],"melt":30}, + "E608": {"name":"寒冰护卫","hp":25000,"atk":0,"def":0,"money":3,"exp":0,"point":0,"special":[]}, + "E609": {"name":"具形雪人","hp":7500,"atk":0,"def":0,"money":2,"exp":0,"point":0,"special":[],"melt":15}, + "E610": {"name":"高冷雪人","hp":10000,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[],"melt":25}, + "E611": {"name":"具形雪人法师","hp":12500,"atk":0,"def":0,"money":2,"exp":0,"point":0,"special":[],"melt":30}, "E612": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "E613": {"name":"寒冰核心","hp":20000,"atk":3000,"def":1500,"money":3,"exp":150,"point":0,"special":[26],"iceCore":20}, - "E614": {"name":"火焰核心","hp":15000,"atk":2750,"def":1750,"money":3,"exp":140,"point":0,"special":[27],"fireCore":20}, + "E613": {"name":"寒冰核心","hp":20000,"atk":0,"def":0,"money":3,"exp":0,"point":0,"special":[],"iceCore":20}, + "E614": {"name":"火焰核心","hp":15000,"atk":0,"def":0,"money":3,"exp":0,"point":0,"special":[],"fireCore":20}, "E615": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, "E616": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "E617": {"name":"冰封雕像","hp":12500,"atk":2500,"def":2000,"money":2,"exp":150,"point":0,"special":[]}, + "E617": {"name":"冰封雕像","hp":12500,"atk":0,"def":0,"money":2,"exp":0,"point":0,"special":[]}, "E618": {"name":"新敌人","hp":0,"atk":0,"def":0,"money":0,"exp":0,"point":0,"special":[]}, - "E643": {"name":"苍蓝史莱姆","hp":17500,"atk":2800,"def":2000,"money":3,"exp":175,"point":0,"special":[28],"paleShield":30} + "E643": {"name":"苍蓝史莱姆","hp":17500,"atk":0,"def":0,"money":3,"exp":0,"point":0,"special":[],"paleShield":30} } \ No newline at end of file diff --git a/public/project/floors/MT6.js b/public/project/floors/MT6.js index 37012bc..168160d 100644 --- a/public/project/floors/MT6.js +++ b/public/project/floors/MT6.js @@ -1,45 +1,227 @@ main.floors.MT6= { -"floorId": "MT6", -"title": "主塔 6 层", -"name": "6", -"width": 15, -"height": 15, -"canFlyTo": true, -"canFlyFrom": true, -"canUseQuickShop": true, -"cannotViewMap": false, -"images": [], -"ratio": 1, -"defaultGround": "ground", -"bgm": "cave.mp3", -"firstArrive": [], -"eachArrive": [], -"parallelDo": "", -"events": {}, -"changeFloor": {}, -"beforeBattle": {}, -"afterBattle": {}, -"afterGetItem": {}, -"afterOpenDoor": {}, -"autoEvent": {}, -"cannotMove": {}, -"cannotMoveIn": {}, -"map": [ - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + "floorId": "MT6", + "title": "主塔 6 层", + "name": "6", + "width": 15, + "height": 15, + "canFlyTo": true, + "canFlyFrom": true, + "canUseQuickShop": true, + "cannotViewMap": false, + "images": [], + "ratio": 1, + "defaultGround": "ground", + "bgm": "cave.mp3", + "firstArrive": [], + "eachArrive": [], + "parallelDo": "", + "events": { + "10,13": [ + "接下来的几层将展示特效插件——碎裂特效的效果与使用。", + "这里不再说明插件的安装,安装请到插件库中查看。这里我只展示它在不同参数下的使用效果", + "首先就是本层,初始为插件默认效果,你可以打这些怪来查看效果,也可以在左边的那个牌子处修改一些参数" + ], + "4,13": [ + { + "type": "while", + "condition": "1", + "data": [ + { + "type": "choices", + "text": "修改参数", + "choices": [ + { + "text": "碎片移动距离:${core.getFragProperty('mml')}", + "action": [ + { + "type": "while", + "condition": "1", + "data": [ + { + "type": "choices", + "text": "当前值:${core.getFragProperty('mml')}", + "choices": [ + { + "text": "+0.1", + "action": [ + { + "type": "function", + "function": "function(){\ncore.setFragProperty('mml', core.getFragProperty('mml') + 0.1)\n}" + } + ] + }, + { + "text": "-0.1", + "action": [ + { + "type": "function", + "function": "function(){\ncore.setFragProperty('mml', core.getFragProperty('mml') - 0.1)\n}" + } + ] + }, + { + "text": "返回", + "action": [ + { + "type": "break", + "n": 1 + } + ] + } + ] + } + ] + } + ] + }, + { + "text": "碎片随机距离:${core.getFragProperty('mf')}", + "action": [ + { + "type": "while", + "condition": "1", + "data": [ + { + "type": "choices", + "text": "当前值:${core.getFragProperty('mf')}", + "choices": [ + { + "text": "+0.1", + "action": [ + { + "type": "function", + "function": "function(){\ncore.setFragProperty('mf', core.getFragProperty('mf') + 0.1)\n}" + } + ] + }, + { + "text": "-0.1", + "action": [ + { + "type": "function", + "function": "function(){\ncore.setFragProperty('mf', core.getFragProperty('mf') - 0.1)\n}" + } + ] + }, + { + "text": "返回", + "action": [ + { + "type": "break", + "n": 1 + } + ] + } + ] + } + ] + } + ] + }, + { + "text": "碎片旋转程度:${core.getFragProperty('mr')}", + "action": [ + { + "type": "while", + "condition": "1", + "data": [ + { + "type": "choices", + "text": "当前值:${core.getFragProperty('mr')}", + "choices": [ + { + "text": "+0.1", + "action": [ + { + "type": "function", + "function": "function(){\ncore.setFragProperty('mr', core.getFragProperty('mr') + 0.1)\n}" + } + ] + }, + { + "text": "-0.1", + "action": [ + { + "type": "function", + "function": "function(){\ncore.setFragProperty('mr', core.getFragProperty('mr') - 0.1)\n}" + } + ] + }, + { + "text": "返回", + "action": [ + { + "type": "break", + "n": 1 + } + ] + } + ] + } + ] + } + ] + }, + { + "text": "返回", + "action": [ + { + "type": "break", + "n": 1 + } + ] + } + ] + } + ] + } + ] + }, + "changeFloor": { + "7,13": { + "floorId": ":before", + "stair": "upFloor" + }, + "7,1": { + "floorId": ":next", + "stair": "downFloor" + } + }, + "beforeBattle": {}, + "afterBattle": {}, + "afterGetItem": {}, + "afterOpenDoor": {}, + "autoEvent": {}, + "cannotMove": {}, + "cannotMoveIn": {}, + "map": [ + [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [ 1, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 1], + [ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], + [ 1,201,202,203,204,205,206,207,208,209,210,211,212,213, 1], + [ 1,214,215,216,217,218,219,220,221,222,223,224,225,226, 1], + [ 1,227,228,229,230,231,232,233,234,235,236,237,238,239, 1], + [ 1,240,241,242,243,244,245,246,247,248,249,250,251,252, 1], + [ 1,253,254,255,256,259,260,265,266,267,268,269,270,271, 1], + [ 1,272,273,274,275,276,277,278,279,280,368,369,370,371, 1], + [ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], + [ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], + [ 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], + [ 1, 0, 0, 0, 0, 0, 0, 45, 0, 0, 0, 0, 0, 0, 1], + [ 1, 0, 0, 0,129, 0, 0, 88, 0, 94,129, 0, 0, 0, 1], + [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] ], + "bgmap": [ + +], + "fgmap": [ + +], + "bg2map": [ + +], + "fg2map": [ + +] } \ No newline at end of file diff --git a/public/project/floors/MT7.js b/public/project/floors/MT7.js index 4c5dd1d..3a95138 100644 --- a/public/project/floors/MT7.js +++ b/public/project/floors/MT7.js @@ -1,45 +1,82 @@ main.floors.MT7= { -"floorId": "MT7", -"title": "主塔 7 层", -"name": "7", -"width": 15, -"height": 15, -"canFlyTo": true, -"canFlyFrom": true, -"canUseQuickShop": true, -"cannotViewMap": false, -"images": [], -"ratio": 1, -"defaultGround": "ground", -"bgm": "cave.mp3", -"firstArrive": [], -"eachArrive": [], -"parallelDo": "", -"events": {}, -"changeFloor": {}, -"beforeBattle": {}, -"afterBattle": {}, -"afterGetItem": {}, -"afterOpenDoor": {}, -"autoEvent": {}, -"cannotMove": {}, -"cannotMoveIn": {}, -"map": [ - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], - [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + "floorId": "MT7", + "title": "主塔 7 层", + "name": "7", + "width": 15, + "height": 15, + "canFlyTo": true, + "canFlyFrom": true, + "canUseQuickShop": true, + "cannotViewMap": false, + "images": [], + "ratio": 1, + "defaultGround": "ground", + "bgm": "cave.mp3", + "firstArrive": [], + "eachArrive": [], + "parallelDo": "", + "events": { + "10,1": [ + "除此之外,这个插件还允许你去对一个画布进行碎裂特效的操作。", + "例如我可以让整张地图进行一次碎裂操作,下面请先看效果。", + { + "type": "function", + "function": "function(){\n// 先把地图上的所有内容单独绘制到一张画布上\nconst ctx = core.createCanvas('frag', 0, 0, 480, 480, 0);\nObject.values(core.canvas).forEach(v => {\n\tctx.drawImage(v.canvas, 0, 0, 480, 480);\n});\n// 然后创建碎裂特效控制器\nconst ratio = core.domStyle.scale;\nconst manager = core.applyFragWith(ctx.canvas, 32 * ratio, 10000, { moveFlush: 0.2 });\n// 然后设置特效画布的css属性\nconst frag = manager.canvas;\nfrag.style.position = 'absolute';\nfrag.style.zIndex = '160';\nfrag.style.width = `${frag.width / devicePixelRatio}px`;\nfrag.style.height = `${frag.height / devicePixelRatio}px`;\nfrag.style.left = `${240 * ratio - frag.width / devicePixelRatio / 2}px`;\nfrag.style.top = `${240 * ratio - frag.height / devicePixelRatio / 2}px`;\n// 然后部署到样板上,并把样板原先的画布先暂时不显示\ncore.dom.gameDraw.appendChild(frag);\ncore.deleteCanvas('frag');\nObject.values(core.canvas).forEach(v => {\n\tv.canvas.style.display = 'none';\n});\n// 特效执行完毕后得把画布删了,同时让画布显示出来\nmanager.onEnd.then(() => {\n\tfrag.remove();\n\tObject.values(core.canvas).forEach(v => {\n\t\tv.canvas.style.display = 'block';\n\t});\n});\n}" + }, + { + "type": "sleep", + "time": 10000 + }, + "它的代码如下,比较长,可以自己琢磨一下,不懂的可以在造塔群问", + "// 先把地图上的所有内容单独绘制到一张画布上\nconst ctx = core.createCanvas('frag', 0, 0, 480, 480, 0);\nObject.values(core.canvas).forEach(v => {\n\tctx.drawImage(v.canvas, 0, 0, 480, 480);\n});\n// 然后创建碎裂特效控制器\nconst ratio = core.domStyle.scale;\nconst manager = core.applyFragWith(ctx.canvas, 32 * ratio, 10000, { moveFlush: 0.2 });\n// 然后设置特效画布的css属性\nconst frag = manager.canvas;\nfrag.style.position = 'absolute';\nfrag.style.zIndex = '160';\nfrag.style.width = frag.width / devicePixelRatio + 'px';\nfrag.style.height = frag.height / devicePixelRatio + 'px';\n// 后面还有一页", + "frag.style.left = 240 * ratio - frag.width / devicePixelRatio / 2 + 'px';\nfrag.style.top = 240 * ratio - frag.height / devicePixelRatio / 2 + 'px';\n// 然后部署到样板上,并把样板原先的画布先暂时不显示\ncore.dom.gameDraw.appendChild(frag);\ncore.deleteCanvas('frag');\nObject.values(core.canvas).forEach(v => {\n\tv.canvas.style.display = 'none';\n});\n// 特效执行完毕后得把画布删了,同时让画布显示出来\nmanager.onEnd.then(() => {\n\tfrag.remove();\n\tObject.values(core.canvas).forEach(v => {\n\t\tv.canvas.style.display = 'block';\n\t});\n});" + ] + }, + "changeFloor": { + "7,1": { + "floorId": ":before", + "stair": "upFloor" + }, + "7,13": { + "floorId": ":next", + "stair": "downFloor" + } + }, + "beforeBattle": {}, + "afterBattle": {}, + "afterGetItem": {}, + "afterOpenDoor": {}, + "autoEvent": {}, + "cannotMove": {}, + "cannotMoveIn": {}, + "map": [ + [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], + [ 1, 0, 0, 0, 0, 0, 0, 88, 0, 0,129, 0, 0, 0, 1], + [ 1, 0,201, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1], + [ 1, 0,201, 0, 0,203,203, 45, 45, 45, 0, 0, 0, 0, 1], + [ 1, 0,201,492,492,492,203, 0, 0, 0, 0,276, 0, 0, 1], + [ 1, 0,201, 0,467,467,203,467,467, 0,276,276, 0, 0, 1], + [ 1, 0, 0, 0, 0, 0, 0,376, 0, 0,276, 0, 0, 0, 1], + [ 1, 0, 0, 0,420,420,420, 0, 0, 0, 0,482,482,482, 1], + [ 1, 93, 93, 93, 0, 29, 0, 0,482,271, 0,381,381, 0, 1], + [ 1, 0, 0, 0, 0, 0,206,206,482,271, 0,381, 0, 0, 1], + [ 1, 0,218,218, 0, 0,206,203, 0,271,271, 0, 0, 0, 1], + [ 1, 0, 0,218,218, 0,206, 0,471,471, 0,494,494, 0, 1], + [ 1, 0, 0, 0,218,218, 0, 0, 0,471, 0, 0,494, 0, 1], + [ 1, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, 0, 1], + [ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] ], + "bgmap": [ + +], + "fgmap": [ + +], + "bg2map": [ + +], + "fg2map": [ + +] } \ No newline at end of file diff --git a/public/project/functions.js b/public/project/functions.js index 41ac5f0..f3f2a5e 100644 --- a/public/project/functions.js +++ b/public/project/functions.js @@ -427,12 +427,19 @@ var functions_d6ad677b_427a_4623_b50f_a445a3b0ef8a = { // 打怪特效 if (core.has(x) && core.has(y)) { + const mml = core.getFragProperty('mml'); + const mr = core.getFragProperty('mr'); + const mf = core.getFragProperty('mf'); const frame = core.status.globalAnimateStatus % 2; const canvas = document.createElement('canvas'); canvas.width = 32; canvas.height = 32; core.drawIcon(canvas, enemy.id, 0, 0, 32, 32, frame); - const manager = core.applyFragWith(canvas); + const manager = core.applyFragWith(canvas, void 0, void 0, { + maxMoveLength: mml, + moveFlush: mf, + moveRotate: mr + }); const frag = manager.canvas; frag.style.imageRendering = 'pixelated'; frag.style.width = `${frag.width * core.domStyle.scale}px`; diff --git a/src/panel/enemyCritical.vue b/src/panel/enemyCritical.vue index 34445b1..febed2b 100644 --- a/src/panel/enemyCritical.vue +++ b/src/panel/enemyCritical.vue @@ -89,7 +89,7 @@ import { computed, onMounted, ref, watch } from 'vue'; import { getCriticalDamage, getDefDamage } from '../plugin/ui/book'; import Chart, { ChartConfiguration } from 'chart.js/auto'; import { has, setCanvasSize } from '../plugin/utils'; -import { debounce } from 'lodash'; +import { debounce } from 'lodash-es'; import { isMobile } from '../plugin/use'; const props = defineProps<{ diff --git a/src/plugin/fx/frag.ts b/src/plugin/fx/frag.ts index 0582ef8..aa9159e 100644 --- a/src/plugin/fx/frag.ts +++ b/src/plugin/fx/frag.ts @@ -23,14 +23,30 @@ const MAX_ROTATE = 0.5; /** 碎裂动画的速率曲线函数 */ const FRAG_TIMING = linear(); +let battleMML = 1.15; +let battleMF = 0.7; +let battleMR = 0.5; + +function getFragProperty(key: string) { + if (key === 'mml') return battleMML; + if (key === 'mf') return battleMF; + if (key === 'mr') return battleMR; +} +function setFragProperty(key: string, num: number) { + if (key === 'mml') battleMML = Number(num.toFixed(2)); + if (key === 'mf') battleMF = Number(num.toFixed(2)); + if (key === 'mr') battleMR = Number(num.toFixed(2)); +} + export default function init() { - return { applyFragWith }; + return { applyFragWith, getFragProperty, setFragProperty }; } export function applyFragWith( canvas: HTMLCanvasElement, length: number = 4, - time: number = 1000 + time: number = 1000, + config: any = {} ) { // 先切分图片 const imgs = splitCanvas(canvas, length); @@ -44,14 +60,17 @@ export function applyFragWith( const centerY = v.y + v.canvas.height / 2; const onX = centerX === cx; const onY = centerY === cy; - const rate = MAX_MOVE_LENGTH - 1 + Math.random() ** 3 * MOVE_FLUSH; + const mml = config.maxMoveLength ?? MAX_MOVE_LENGTH; + const mf = config.moveFlush ?? MOVE_FLUSH; + const rate = mml - 1 + Math.random() ** 3 * mf; let endX = onY ? 0 : (centerX - cx) * rate; let endY = onX ? 0 : (centerY - cy) * rate; const mx = Math.abs(endX + centerX) + Math.abs(v.canvas.width); const my = Math.abs(endY + centerY) + Math.abs(v.canvas.height); if (mx > maxX) maxX = mx; if (my > maxY) maxY = my; - const endRad = Math.random() * MAX_ROTATE * 2 - MAX_ROTATE; + const r = config.maxRotate ?? MAX_ROTATE; + const endRad = Math.random() * r * 2 - r; return { deltaX: endX, @@ -68,7 +87,8 @@ export function applyFragWith( const ctx = frag.getContext('2d')!; const ani = new Animation(); ani.register('rate', 0); - ani.absolute().time(time).mode(FRAG_TIMING).apply('rate', 1); + const ft = config.fragTiming ?? FRAG_TIMING; + ani.absolute().time(time).mode(ft).apply('rate', 1); frag.width = maxX * 2; frag.height = maxY * 2; ctx.save(); @@ -145,8 +165,8 @@ function splitCanvas(canvas: HTMLCanvasElement, l: number): SplittedImage[] { console.warn('切分画布要求切分边长大于等于画布长宽的一半!'); return []; } - const w = canvas.width % l === 0 ? canvas.width : canvas.width - l; - const h = canvas.height % l === 0 ? canvas.height : canvas.height - l; + const w = canvas.width; + const h = canvas.height; const numX = Math.floor(w / l); const numY = Math.floor(h / l); const rw = (w - numX * l) / 2; diff --git a/src/plugin/ui/fixed.ts b/src/plugin/ui/fixed.ts index 2ff0a38..1c2aa00 100644 --- a/src/plugin/ui/fixed.ts +++ b/src/plugin/ui/fixed.ts @@ -1,4 +1,4 @@ -import { cloneDeep, debounce } from 'lodash'; +import { cloneDeep, debounce } from 'lodash-es'; import { ref } from 'vue'; import { getDamageColor } from '../utils'; diff --git a/src/plugin/utils.ts b/src/plugin/utils.ts index b19ef2f..bc35136 100644 --- a/src/plugin/utils.ts +++ b/src/plugin/utils.ts @@ -1,7 +1,7 @@ /// import { message } from 'ant-design-vue'; import { MessageApi } from 'ant-design-vue/lib/message'; -import { isNil } from 'lodash'; +import { isNil } from 'lodash-es'; import { Animation, sleep, TimingFn } from 'mutate-animate'; import { ComputedRef, ref } from 'vue'; import { EVENT_KEY_CODE_MAP } from './keyCodes'; diff --git a/src/ui/book.vue b/src/ui/book.vue index 155f6e4..90e03ec 100644 --- a/src/ui/book.vue +++ b/src/ui/book.vue @@ -38,7 +38,7 @@