MWI TaskManager

sort all task in taskboard

  1. // ==UserScript==
  2. // @name MWI TaskManager
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.24
  5. // @description sort all task in taskboard
  6. // @author shykai
  7. // @match https://www.milkywayidle.com/*
  8. // @match https://test.milkywayidle.com/*
  9. // @icon https://www.milkywayidle.com/favicon.svg
  10. // @grant GM_getValue
  11. // @grant GM_setValue
  12. // ==/UserScript==
  13.  
  14. (function () {
  15. 'use strict';
  16.  
  17. //default config
  18. let globalConfig = {
  19. isActionIcon: true,
  20. isBattleIcon: true,
  21. dungeonConfig: {
  22. "/actions/combat/chimerical_den": false,
  23. "/actions/combat/sinister_circus": false,
  24. "/actions/combat/enchanted_fortress": false,
  25. "/actions/combat/pirate_cove": false,
  26. }
  27. };
  28.  
  29. const globalConfigName = "MWITaskManager_globalConfig";
  30. function saveConfig() {
  31. GM_setValue(globalConfigName, JSON.stringify(globalConfig));
  32. }
  33.  
  34. const savedConfig = GM_getValue(globalConfigName, null);
  35. if (savedConfig) {
  36. let readConfig = JSON.parse(savedConfig);
  37. globalConfig.isBattleIcon = readConfig.isBattleIcon;
  38. for (let key in readConfig.dungeonConfig) {
  39. globalConfig.dungeonConfig[key] = readConfig.dungeonConfig[key];
  40. }
  41. if ('isActionIcon' in readConfig) {
  42. globalConfig.isActionIcon = readConfig.isActionIcon;
  43. }
  44. }
  45.  
  46. const itemSVG = "/static/media/items_sprite.6d12eb9d.svg";
  47. const actionSVG = "/static/media/actions_sprite.e6388cbc.svg";
  48. const monsterSVG = "/static/media/combat_monsters_sprite.75d964d1.svg";
  49.  
  50. const taskBattleIndex = 99; //Battle at bottom
  51. const taskOrderIndex = {
  52. Milking: 1,
  53. Foraging: 2,
  54. Woodcutting: 3,
  55. Cheesesmithing: 4,
  56. Crafting: 5,
  57. Tailoring: 6,
  58. Cooking: 7,
  59. Brewing: 8,
  60. Alchemy: 9,
  61. Enhancing: 10,
  62. Defeat: taskBattleIndex, //Battle at bottom
  63. };
  64. const taskOrderIndex_CN = {
  65. 挤奶: 1,
  66. 采摘: 2,
  67. 伐木: 3,
  68. 奶酪锻造: 4,
  69. 制作: 5,
  70. 缝纫: 6,
  71. 烹饪: 7,
  72. 冲泡: 8,
  73. 炼金: 9,
  74. 强化: 10,
  75. 击败: taskBattleIndex, //Battle at bottom
  76. };
  77.  
  78. const allMonster = {
  79. "/monsters/abyssal_imp": {
  80. "en": "Abyssal Imp",
  81. "cn": "深渊小鬼",
  82. "zone": "/actions/combat/infernal_abyss",
  83. "dungeon": [
  84. "/actions/combat/enchanted_fortress",
  85. "/actions/combat/pirate_cove"
  86. ],
  87. "sortIndex": 11
  88. },
  89. "/monsters/acrobat": {
  90. "en": "Acrobat",
  91. "cn": "杂技师",
  92. "zone": "",
  93. "dungeon": [
  94. "/actions/combat/sinister_circus"
  95. ],
  96. "sortIndex": -1
  97. },
  98. "/monsters/alligator": {
  99. "en": "Sherlock",
  100. "cn": "夏洛克",
  101. "zone": "/actions/combat/swamp_planet",
  102. "dungeon": [
  103. "/actions/combat/chimerical_den"
  104. ],
  105. "sortIndex": 2
  106. },
  107. "/monsters/anchor_shark": {
  108. "en": "Anchor Shark",
  109. "cn": "持锚鲨",
  110. "zone": "",
  111. "dungeon": [
  112. "/actions/combat/pirate_cove"
  113. ],
  114. "sortIndex": -1
  115. },
  116. "/monsters/aquahorse": {
  117. "en": "Aquahorse",
  118. "cn": "水马",
  119. "zone": "/actions/combat/aqua_planet",
  120. "dungeon": [
  121. "/actions/combat/chimerical_den"
  122. ],
  123. "sortIndex": 3
  124. },
  125. "/monsters/black_bear": {
  126. "en": "Black Bear",
  127. "cn": "黑熊",
  128. "zone": "/actions/combat/bear_with_it",
  129. "dungeon": [
  130. "/actions/combat/enchanted_fortress",
  131. "/actions/combat/sinister_circus"
  132. ],
  133. "sortIndex": 8
  134. },
  135. "/monsters/brine_marksman": {
  136. "en": "Brine Marksman",
  137. "cn": "海盐射手",
  138. "zone": "",
  139. "dungeon": [
  140. "/actions/combat/pirate_cove"
  141. ],
  142. "sortIndex": -1
  143. },
  144. "/monsters/butterjerry": {
  145. "en": "Butterjerry",
  146. "cn": "蝶鼠",
  147. "zone": "",
  148. "dungeon": [
  149. "/actions/combat/chimerical_den"
  150. ],
  151. "sortIndex": -1
  152. },
  153. "/monsters/captain_fishhook": {
  154. "en": "Captain Fishhook",
  155. "cn": "鱼钩船长",
  156. "zone": "",
  157. "dungeon": [
  158. "/actions/combat/pirate_cove"
  159. ],
  160. "sortIndex": -1
  161. },
  162. "/monsters/centaur_archer": {
  163. "en": "Centaur Archer",
  164. "cn": "半人马弓箭手",
  165. "zone": "/actions/combat/jungle_planet",
  166. "dungeon": [
  167. "/actions/combat/chimerical_den"
  168. ],
  169. "sortIndex": 4
  170. },
  171. "/monsters/chronofrost_sorcerer": {
  172. "en": "Chronofrost Sorcerer",
  173. "cn": "霜时巫师",
  174. "zone": "/actions/combat/sorcerers_tower",
  175. "sortIndex": 7
  176. },
  177. "/monsters/crab": {
  178. "en": "I Pinch",
  179. "cn": "螃蟹",
  180. "zone": "/actions/combat/aqua_planet",
  181. "dungeon": [
  182. "/actions/combat/chimerical_den"
  183. ],
  184. "sortIndex": 3
  185. },
  186. "/monsters/crystal_colossus": {
  187. "en": "Crystal Colossus",
  188. "cn": "水晶巨像",
  189. "zone": "/actions/combat/golem_cave",
  190. "sortIndex": 9
  191. },
  192. "/monsters/demonic_overlord": {
  193. "en": "Demonic Overlord",
  194. "cn": "恶魔霸主",
  195. "zone": "/actions/combat/infernal_abyss",
  196. "sortIndex": 11
  197. },
  198. "/monsters/deranged_jester": {
  199. "en": "Deranged Jester",
  200. "cn": "小丑皇",
  201. "zone": "",
  202. "dungeon": [
  203. "/actions/combat/sinister_circus"
  204. ],
  205. "sortIndex": -1
  206. },
  207. "/monsters/dodocamel": {
  208. "en": "Dodocamel",
  209. "cn": "渡渡驼",
  210. "zone": "",
  211. "dungeon": [
  212. "/actions/combat/chimerical_den"
  213. ],
  214. "sortIndex": -1
  215. },
  216. "/monsters/dusk_revenant": {
  217. "en": "Dusk Revenant",
  218. "cn": "黄昏亡灵",
  219. "zone": "/actions/combat/twilight_zone",
  220. "sortIndex": 10
  221. },
  222. "/monsters/elementalist": {
  223. "en": "Elementalist",
  224. "cn": "元素法师",
  225. "zone": "/actions/combat/sorcerers_tower",
  226. "dungeon": [
  227. "/actions/combat/enchanted_fortress",
  228. "/actions/combat/sinister_circus"
  229. ],
  230. "sortIndex": 7
  231. },
  232. "/monsters/enchanted_bishop": {
  233. "en": "Enchanted Bishop",
  234. "cn": "秘法主教",
  235. "zone": "",
  236. "dungeon": [
  237. "/actions/combat/enchanted_fortress"
  238. ],
  239. "sortIndex": -1
  240. },
  241. "/monsters/enchanted_king": {
  242. "en": "Enchanted King",
  243. "cn": "秘法国王",
  244. "zone": "",
  245. "dungeon": [
  246. "/actions/combat/enchanted_fortress"
  247. ],
  248. "sortIndex": -1
  249. },
  250. "/monsters/enchanted_knight": {
  251. "en": "Enchanted Knight",
  252. "cn": "秘法骑士",
  253. "zone": "",
  254. "dungeon": [
  255. "/actions/combat/enchanted_fortress"
  256. ],
  257. "sortIndex": -1
  258. },
  259. "/monsters/enchanted_pawn": {
  260. "en": "Enchanted Pawn",
  261. "cn": "秘法士兵",
  262. "zone": "",
  263. "dungeon": [
  264. "/actions/combat/enchanted_fortress"
  265. ],
  266. "sortIndex": -1
  267. },
  268. "/monsters/enchanted_queen": {
  269. "en": "Enchanted Queen",
  270. "cn": "秘法王后",
  271. "zone": "",
  272. "dungeon": [
  273. "/actions/combat/enchanted_fortress"
  274. ],
  275. "sortIndex": -1
  276. },
  277. "/monsters/enchanted_rook": {
  278. "en": "Enchanted Rook",
  279. "cn": "秘法堡垒",
  280. "zone": "",
  281. "dungeon": [
  282. "/actions/combat/enchanted_fortress"
  283. ],
  284. "sortIndex": -1
  285. },
  286. "/monsters/eye": {
  287. "en": "Eye",
  288. "cn": "独眼",
  289. "zone": "/actions/combat/planet_of_the_eyes",
  290. "dungeon": [
  291. "/actions/combat/chimerical_den",
  292. "/actions/combat/pirate_cove"
  293. ],
  294. "sortIndex": 6
  295. },
  296. "/monsters/eyes": {
  297. "en": "Eyes",
  298. "cn": "叠眼",
  299. "zone": "/actions/combat/planet_of_the_eyes",
  300. "dungeon": [
  301. "/actions/combat/chimerical_den",
  302. "/actions/combat/pirate_cove"
  303. ],
  304. "sortIndex": 6
  305. },
  306. "/monsters/flame_sorcerer": {
  307. "en": "Flame Sorcerer",
  308. "cn": "火焰巫师",
  309. "zone": "/actions/combat/sorcerers_tower",
  310. "dungeon": [
  311. "/actions/combat/enchanted_fortress",
  312. "/actions/combat/sinister_circus"
  313. ],
  314. "sortIndex": 7
  315. },
  316. "/monsters/fly": {
  317. "en": "Fly",
  318. "cn": "苍蝇",
  319. "zone": "/actions/combat/smelly_planet",
  320. "sortIndex": 1
  321. },
  322. "/monsters/frog": {
  323. "en": "Frogger",
  324. "cn": "青蛙",
  325. "zone": "/actions/combat/swamp_planet",
  326. "dungeon": [
  327. "/actions/combat/chimerical_den"
  328. ],
  329. "sortIndex": 2
  330. },
  331. "/monsters/giant_shoebill": {
  332. "en": "Giant Shoebill",
  333. "cn": "鲸头鹳",
  334. "zone": "/actions/combat/swamp_planet",
  335. "sortIndex": 2
  336. },
  337. "/monsters/gobo_boomy": {
  338. "en": "Boomy",
  339. "cn": "轰轰",
  340. "zone": "/actions/combat/gobo_planet",
  341. "dungeon": [
  342. "/actions/combat/chimerical_den",
  343. "/actions/combat/sinister_circus"
  344. ],
  345. "sortIndex": 5
  346. },
  347. "/monsters/gobo_chieftain": {
  348. "en": "Gobo Chieftain",
  349. "cn": "哥布林酋长",
  350. "zone": "/actions/combat/gobo_planet",
  351. "sortIndex": 5
  352. },
  353. "/monsters/gobo_shooty": {
  354. "en": "Shooty",
  355. "cn": "咻咻",
  356. "zone": "/actions/combat/gobo_planet",
  357. "dungeon": [
  358. "/actions/combat/chimerical_den",
  359. "/actions/combat/sinister_circus"
  360. ],
  361. "sortIndex": 5
  362. },
  363. "/monsters/gobo_slashy": {
  364. "en": "Slashy",
  365. "cn": "砍砍",
  366. "zone": "/actions/combat/gobo_planet",
  367. "dungeon": [
  368. "/actions/combat/chimerical_den",
  369. "/actions/combat/sinister_circus"
  370. ],
  371. "sortIndex": 5
  372. },
  373. "/monsters/gobo_smashy": {
  374. "en": "Smashy",
  375. "cn": "锤锤",
  376. "zone": "/actions/combat/gobo_planet",
  377. "dungeon": [
  378. "/actions/combat/chimerical_den",
  379. "/actions/combat/sinister_circus"
  380. ],
  381. "sortIndex": 5
  382. },
  383. "/monsters/gobo_stabby": {
  384. "en": "Stabby",
  385. "cn": "刺刺",
  386. "zone": "/actions/combat/gobo_planet",
  387. "dungeon": [
  388. "/actions/combat/chimerical_den",
  389. "/actions/combat/sinister_circus"
  390. ],
  391. "sortIndex": 5
  392. },
  393. "/monsters/granite_golem": {
  394. "en": "Granite Golem",
  395. "cn": "花岗魔像",
  396. "zone": "/actions/combat/golem_cave",
  397. "dungeon": [
  398. "/actions/combat/pirate_cove"
  399. ],
  400. "sortIndex": 9
  401. },
  402. "/monsters/griffin": {
  403. "en": "Griffin",
  404. "cn": "狮鹫",
  405. "zone": "",
  406. "dungeon": [
  407. "/actions/combat/chimerical_den"
  408. ],
  409. "sortIndex": -1
  410. },
  411. "/monsters/grizzly_bear": {
  412. "en": "Grizzly Bear",
  413. "cn": "棕熊",
  414. "zone": "/actions/combat/bear_with_it",
  415. "dungeon": [
  416. "/actions/combat/enchanted_fortress",
  417. "/actions/combat/sinister_circus"
  418. ],
  419. "sortIndex": 8
  420. },
  421. "/monsters/gummy_bear": {
  422. "en": "Gummy Bear",
  423. "cn": "软糖熊",
  424. "zone": "/actions/combat/bear_with_it",
  425. "dungeon": [
  426. "/actions/combat/sinister_circus"
  427. ],
  428. "sortIndex": 8
  429. },
  430. "/monsters/ice_sorcerer": {
  431. "en": "Ice Sorcerer",
  432. "cn": "冰霜巫师",
  433. "zone": "/actions/combat/sorcerers_tower",
  434. "dungeon": [
  435. "/actions/combat/enchanted_fortress",
  436. "/actions/combat/sinister_circus"
  437. ],
  438. "sortIndex": 7
  439. },
  440. "/monsters/infernal_warlock": {
  441. "en": "Infernal Warlock",
  442. "cn": "地狱术士",
  443. "zone": "/actions/combat/infernal_abyss",
  444. "dungeon": [
  445. "/actions/combat/pirate_cove"
  446. ],
  447. "sortIndex": 11
  448. },
  449. "/monsters/jackalope": {
  450. "en": "Jackalope",
  451. "cn": "鹿角兔",
  452. "zone": "",
  453. "dungeon": [
  454. "/actions/combat/chimerical_den"
  455. ],
  456. "sortIndex": -1
  457. },
  458. "/monsters/juggler": {
  459. "en": "Juggler",
  460. "cn": "杂耍者",
  461. "zone": "",
  462. "dungeon": [
  463. "/actions/combat/sinister_circus"
  464. ],
  465. "sortIndex": -1
  466. },
  467. "/monsters/jungle_sprite": {
  468. "en": "Jungle Sprite",
  469. "cn": "丛林精灵",
  470. "zone": "/actions/combat/jungle_planet",
  471. "dungeon": [
  472. "/actions/combat/chimerical_den"
  473. ],
  474. "sortIndex": 4
  475. },
  476. "/monsters/luna_empress": {
  477. "en": "Luna Empress",
  478. "cn": "月神之蝶",
  479. "zone": "/actions/combat/jungle_planet",
  480. "sortIndex": 4
  481. },
  482. "/monsters/magician": {
  483. "en": "Magician",
  484. "cn": "魔术师",
  485. "zone": "",
  486. "dungeon": [
  487. "/actions/combat/sinister_circus"
  488. ],
  489. "sortIndex": -1
  490. },
  491. "/monsters/magnetic_golem": {
  492. "en": "Magnetic Golem",
  493. "cn": "磁力魔像",
  494. "zone": "/actions/combat/golem_cave",
  495. "dungeon": [
  496. "/actions/combat/enchanted_fortress",
  497. "/actions/combat/pirate_cove"
  498. ],
  499. "sortIndex": 9
  500. },
  501. "/monsters/manticore": {
  502. "en": "Manticore",
  503. "cn": "狮蝎兽",
  504. "zone": "",
  505. "dungeon": [
  506. "/actions/combat/chimerical_den"
  507. ],
  508. "sortIndex": -1
  509. },
  510. "/monsters/marine_huntress": {
  511. "en": "Marine Huntress",
  512. "cn": "海洋猎手",
  513. "zone": "/actions/combat/aqua_planet",
  514. "sortIndex": 3
  515. },
  516. "/monsters/myconid": {
  517. "en": "Myconid",
  518. "cn": "蘑菇人",
  519. "zone": "/actions/combat/jungle_planet",
  520. "dungeon": [
  521. "/actions/combat/chimerical_den"
  522. ],
  523. "sortIndex": 4
  524. },
  525. "/monsters/nom_nom": {
  526. "en": "Nom Nom",
  527. "cn": "咬咬鱼",
  528. "zone": "/actions/combat/aqua_planet",
  529. "dungeon": [
  530. "/actions/combat/chimerical_den"
  531. ],
  532. "sortIndex": 3
  533. },
  534. "/monsters/novice_sorcerer": {
  535. "en": "Novice Sorcerer",
  536. "cn": "新手巫师",
  537. "zone": "/actions/combat/sorcerers_tower",
  538. "dungeon": [
  539. "/actions/combat/enchanted_fortress",
  540. "/actions/combat/sinister_circus"
  541. ],
  542. "sortIndex": 7
  543. },
  544. "/monsters/panda": {
  545. "en": "Panda",
  546. "cn": "熊猫",
  547. "zone": "/actions/combat/bear_with_it",
  548. "dungeon": [
  549. "/actions/combat/enchanted_fortress",
  550. "/actions/combat/sinister_circus"
  551. ],
  552. "sortIndex": 8
  553. },
  554. "/monsters/polar_bear": {
  555. "en": "Polar Bear",
  556. "cn": "北极熊",
  557. "zone": "/actions/combat/bear_with_it",
  558. "dungeon": [
  559. "/actions/combat/enchanted_fortress",
  560. "/actions/combat/sinister_circus"
  561. ],
  562. "sortIndex": 8
  563. },
  564. "/monsters/porcupine": {
  565. "en": "Porcupine",
  566. "cn": "豪猪",
  567. "zone": "/actions/combat/smelly_planet",
  568. "dungeon": [
  569. "/actions/combat/chimerical_den"
  570. ],
  571. "sortIndex": 1
  572. },
  573. "/monsters/rabid_rabbit": {
  574. "en": "Rabid Rabbit",
  575. "cn": "疯魔兔",
  576. "zone": "",
  577. "dungeon": [
  578. "/actions/combat/sinister_circus"
  579. ],
  580. "sortIndex": -1
  581. },
  582. "/monsters/rat": {
  583. "en": "Jerry",
  584. "cn": "杰瑞",
  585. "zone": "/actions/combat/smelly_planet",
  586. "dungeon": [
  587. "/actions/combat/chimerical_den"
  588. ],
  589. "sortIndex": 1
  590. },
  591. "/monsters/red_panda": {
  592. "en": "Red Panda",
  593. "cn": "小熊猫",
  594. "zone": "/actions/combat/bear_with_it",
  595. "sortIndex": 8
  596. },
  597. "/monsters/sea_snail": {
  598. "en": "Gary",
  599. "cn": "蜗牛",
  600. "zone": "/actions/combat/aqua_planet",
  601. "dungeon": [
  602. "/actions/combat/chimerical_den"
  603. ],
  604. "sortIndex": 3
  605. },
  606. "/monsters/skunk": {
  607. "en": "Skunk",
  608. "cn": "臭鼬",
  609. "zone": "/actions/combat/smelly_planet",
  610. "dungeon": [
  611. "/actions/combat/chimerical_den"
  612. ],
  613. "sortIndex": 1
  614. },
  615. "/monsters/slimy": {
  616. "en": "Slimy",
  617. "cn": "史莱姆",
  618. "zone": "/actions/combat/smelly_planet",
  619. "dungeon": [
  620. "/actions/combat/chimerical_den"
  621. ],
  622. "sortIndex": 1
  623. },
  624. "/monsters/snake": {
  625. "en": "Thnake",
  626. "cn": "蛇",
  627. "zone": "/actions/combat/swamp_planet",
  628. "dungeon": [
  629. "/actions/combat/chimerical_den"
  630. ],
  631. "sortIndex": 2
  632. },
  633. "/monsters/soul_hunter": {
  634. "en": "Soul Hunter",
  635. "cn": "灵魂猎手",
  636. "zone": "/actions/combat/infernal_abyss",
  637. "dungeon": [
  638. "/actions/combat/enchanted_fortress",
  639. "/actions/combat/pirate_cove"
  640. ],
  641. "sortIndex": 11
  642. },
  643. "/monsters/squawker": {
  644. "en": "Squawker",
  645. "cn": "鹦鹉",
  646. "zone": "",
  647. "dungeon": [
  648. "/actions/combat/pirate_cove"
  649. ],
  650. "sortIndex": -1
  651. },
  652. "/monsters/stalactite_golem": {
  653. "en": "Stalactite Golem",
  654. "cn": "钟乳石魔像",
  655. "zone": "/actions/combat/golem_cave",
  656. "dungeon": [
  657. "/actions/combat/enchanted_fortress",
  658. "/actions/combat/pirate_cove"
  659. ],
  660. "sortIndex": 9
  661. },
  662. "/monsters/swampy": {
  663. "en": "Swampy",
  664. "cn": "沼泽虫",
  665. "zone": "/actions/combat/swamp_planet",
  666. "dungeon": [
  667. "/actions/combat/chimerical_den"
  668. ],
  669. "sortIndex": 2
  670. },
  671. "/monsters/the_kraken": {
  672. "en": "The Kraken",
  673. "cn": "克拉肯",
  674. "zone": "",
  675. "dungeon": [
  676. "/actions/combat/pirate_cove"
  677. ],
  678. "sortIndex": -1
  679. },
  680. "/monsters/the_watcher": {
  681. "en": "The Watcher",
  682. "cn": "观察者",
  683. "zone": "/actions/combat/planet_of_the_eyes",
  684. "sortIndex": 6
  685. },
  686. "/monsters/tidal_conjuror": {
  687. "en": "Tidal Conjuror",
  688. "cn": "潮汐召唤师",
  689. "zone": "",
  690. "dungeon": [
  691. "/actions/combat/pirate_cove"
  692. ],
  693. "sortIndex": -1
  694. },
  695. "/monsters/treant": {
  696. "en": "Treant",
  697. "cn": "树人",
  698. "zone": "/actions/combat/jungle_planet",
  699. "sortIndex": 4
  700. },
  701. "/monsters/turtle": {
  702. "en": "Turuto",
  703. "cn": "忍者龟",
  704. "zone": "/actions/combat/aqua_planet",
  705. "dungeon": [
  706. "/actions/combat/chimerical_den"
  707. ],
  708. "sortIndex": 3
  709. },
  710. "/monsters/vampire": {
  711. "en": "Vampire",
  712. "cn": "吸血鬼",
  713. "zone": "/actions/combat/twilight_zone",
  714. "dungeon": [
  715. "/actions/combat/pirate_cove",
  716. "/actions/combat/sinister_circus"
  717. ],
  718. "sortIndex": 10
  719. },
  720. "/monsters/veyes": {
  721. "en": "Veyes",
  722. "cn": "复眼",
  723. "zone": "/actions/combat/planet_of_the_eyes",
  724. "dungeon": [
  725. "/actions/combat/chimerical_den",
  726. "/actions/combat/pirate_cove"
  727. ],
  728. "sortIndex": 6
  729. },
  730. "/monsters/werewolf": {
  731. "en": "Werewolf",
  732. "cn": "狼人",
  733. "zone": "/actions/combat/twilight_zone",
  734. "dungeon": [
  735. "/actions/combat/pirate_cove",
  736. "/actions/combat/sinister_circus"
  737. ],
  738. "sortIndex": 10
  739. },
  740. "/monsters/zombie": {
  741. "en": "Zombie",
  742. "cn": "僵尸",
  743. "zone": "/actions/combat/twilight_zone",
  744. "dungeon": [
  745. "/actions/combat/pirate_cove",
  746. "/actions/combat/sinister_circus"
  747. ],
  748. "sortIndex": 10
  749. },
  750. "/monsters/zombie_bear": {
  751. "en": "Zombie Bear",
  752. "cn": "僵尸熊",
  753. "zone": "",
  754. "dungeon": [
  755. "/actions/combat/sinister_circus"
  756. ],
  757. "sortIndex": -1
  758. }
  759. };
  760.  
  761. const allActions = {
  762. "/actions/milking/cow": {
  763. "en": "Cow",
  764. "cn": "奶牛",
  765. "target": "/items/milk"
  766. },
  767. "/actions/milking/verdant_cow": {
  768. "en": "Verdant Cow",
  769. "cn": "翠绿奶牛",
  770. "target": "/items/verdant_milk"
  771. },
  772. "/actions/milking/azure_cow": {
  773. "en": "Azure Cow",
  774. "cn": "蔚蓝奶牛",
  775. "target": "/items/azure_milk"
  776. },
  777. "/actions/milking/burble_cow": {
  778. "en": "Burble Cow",
  779. "cn": "深紫奶牛",
  780. "target": "/items/burble_milk"
  781. },
  782. "/actions/milking/crimson_cow": {
  783. "en": "Crimson Cow",
  784. "cn": "绛红奶牛",
  785. "target": "/items/crimson_milk"
  786. },
  787. "/actions/milking/unicow": {
  788. "en": "Unicow",
  789. "cn": "彩虹奶牛",
  790. "target": "/items/rainbow_milk"
  791. },
  792. "/actions/milking/holy_cow": {
  793. "en": "Holy Cow",
  794. "cn": "神圣奶牛",
  795. "target": "/items/holy_milk"
  796. },
  797. "/actions/foraging/egg": {
  798. "en": "Egg",
  799. "cn": "鸡蛋"
  800. },
  801. "/actions/foraging/wheat": {
  802. "en": "Wheat",
  803. "cn": "小麦"
  804. },
  805. "/actions/foraging/sugar": {
  806. "en": "Sugar",
  807. "cn": "糖"
  808. },
  809. "/actions/foraging/cotton": {
  810. "en": "Cotton",
  811. "cn": "棉花"
  812. },
  813. "/actions/foraging/farmland": {
  814. "en": "Farmland",
  815. "cn": "翠野农场",
  816. "multiAction": true
  817. },
  818. "/actions/foraging/blueberry": {
  819. "en": "Blueberry",
  820. "cn": "蓝莓"
  821. },
  822. "/actions/foraging/apple": {
  823. "en": "Apple",
  824. "cn": "苹果"
  825. },
  826. "/actions/foraging/arabica_coffee_bean": {
  827. "en": "Arabica Coffee Bean",
  828. "cn": "低级咖啡豆"
  829. },
  830. "/actions/foraging/flax": {
  831. "en": "Flax",
  832. "cn": "亚麻"
  833. },
  834. "/actions/foraging/shimmering_lake": {
  835. "en": "Shimmering Lake",
  836. "cn": "波光湖泊",
  837. "multiAction": true
  838. },
  839. "/actions/foraging/blackberry": {
  840. "en": "Blackberry",
  841. "cn": "黑莓"
  842. },
  843. "/actions/foraging/orange": {
  844. "en": "Orange",
  845. "cn": "橙子"
  846. },
  847. "/actions/foraging/robusta_coffee_bean": {
  848. "en": "Robusta Coffee Bean",
  849. "cn": "中级咖啡豆"
  850. },
  851. "/actions/foraging/misty_forest": {
  852. "en": "Misty Forest",
  853. "cn": "迷雾森林",
  854. "multiAction": true
  855. },
  856. "/actions/foraging/strawberry": {
  857. "en": "Strawberry",
  858. "cn": "草莓"
  859. },
  860. "/actions/foraging/plum": {
  861. "en": "Plum",
  862. "cn": "李子"
  863. },
  864. "/actions/foraging/liberica_coffee_bean": {
  865. "en": "Liberica Coffee Bean",
  866. "cn": "高级咖啡豆"
  867. },
  868. "/actions/foraging/bamboo_branch": {
  869. "en": "Bamboo Branch",
  870. "cn": "竹子"
  871. },
  872. "/actions/foraging/burble_beach": {
  873. "en": "Burble Beach",
  874. "cn": "深紫沙滩",
  875. "multiAction": true
  876. },
  877. "/actions/foraging/mooberry": {
  878. "en": "Mooberry",
  879. "cn": "哞莓"
  880. },
  881. "/actions/foraging/peach": {
  882. "en": "Peach",
  883. "cn": "桃子"
  884. },
  885. "/actions/foraging/excelsa_coffee_bean": {
  886. "en": "Excelsa Coffee Bean",
  887. "cn": "特级咖啡豆"
  888. },
  889. "/actions/foraging/cocoon": {
  890. "en": "Cocoon",
  891. "cn": "蚕茧"
  892. },
  893. "/actions/foraging/silly_cow_valley": {
  894. "en": "Silly Cow Valley",
  895. "cn": "傻牛山谷",
  896. "multiAction": true
  897. },
  898. "/actions/foraging/marsberry": {
  899. "en": "Marsberry",
  900. "cn": "火星莓"
  901. },
  902. "/actions/foraging/dragon_fruit": {
  903. "en": "Dragon Fruit",
  904. "cn": "火龙果"
  905. },
  906. "/actions/foraging/fieriosa_coffee_bean": {
  907. "en": "Fieriosa Coffee Bean",
  908. "cn": "火山咖啡豆"
  909. },
  910. "/actions/foraging/olympus_mons": {
  911. "en": "Olympus Mons",
  912. "cn": "奥林匹斯山",
  913. "multiAction": true
  914. },
  915. "/actions/foraging/spaceberry": {
  916. "en": "Spaceberry",
  917. "cn": "太空莓"
  918. },
  919. "/actions/foraging/star_fruit": {
  920. "en": "Star Fruit",
  921. "cn": "杨桃"
  922. },
  923. "/actions/foraging/spacia_coffee_bean": {
  924. "en": "Spacia Coffee Bean",
  925. "cn": "太空咖啡豆"
  926. },
  927. "/actions/foraging/radiant_fiber": {
  928. "en": "Radiant Fiber",
  929. "cn": "光辉纤维"
  930. },
  931. "/actions/foraging/asteroid_belt": {
  932. "en": "Asteroid Belt",
  933. "cn": "小行星带",
  934. "multiAction": true
  935. },
  936. "/actions/woodcutting/tree": {
  937. "en": "Tree",
  938. "cn": "树",
  939. "target": "/items/log"
  940. },
  941. "/actions/woodcutting/birch_tree": {
  942. "en": "Birch Tree",
  943. "cn": "桦树",
  944. "target": "/items/birch_log"
  945. },
  946. "/actions/woodcutting/cedar_tree": {
  947. "en": "Cedar Tree",
  948. "cn": "雪松树",
  949. "target": "/items/cedar_log"
  950. },
  951. "/actions/woodcutting/purpleheart_tree": {
  952. "en": "Purpleheart Tree",
  953. "cn": "紫心树",
  954. "target": "/items/purpleheart_log"
  955. },
  956. "/actions/woodcutting/ginkgo_tree": {
  957. "en": "Ginkgo Tree",
  958. "cn": "银杏树",
  959. "target": "/items/ginkgo_log"
  960. },
  961. "/actions/woodcutting/redwood_tree": {
  962. "en": "Redwood Tree",
  963. "cn": "红杉树",
  964. "target": "/items/redwood_log"
  965. },
  966. "/actions/woodcutting/arcane_tree": {
  967. "en": "Arcane Tree",
  968. "cn": "奥秘树",
  969. "target": "/items/arcane_log"
  970. },
  971. "/actions/cheesesmithing/cheese": {
  972. "en": "Cheese",
  973. "cn": "奶酪"
  974. },
  975. "/actions/cheesesmithing/cheese_boots": {
  976. "en": "Cheese Boots",
  977. "cn": "奶酪靴"
  978. },
  979. "/actions/cheesesmithing/cheese_gauntlets": {
  980. "en": "Cheese Gauntlets",
  981. "cn": "奶酪护手"
  982. },
  983. "/actions/cheesesmithing/cheese_sword": {
  984. "en": "Cheese Sword",
  985. "cn": "奶酪剑"
  986. },
  987. "/actions/cheesesmithing/cheese_brush": {
  988. "en": "Cheese Brush",
  989. "cn": "奶酪刷子"
  990. },
  991. "/actions/cheesesmithing/cheese_shears": {
  992. "en": "Cheese Shears",
  993. "cn": "奶酪剪刀"
  994. },
  995. "/actions/cheesesmithing/cheese_hatchet": {
  996. "en": "Cheese Hatchet",
  997. "cn": "奶酪斧头"
  998. },
  999. "/actions/cheesesmithing/cheese_spear": {
  1000. "en": "Cheese Spear",
  1001. "cn": "奶酪长枪"
  1002. },
  1003. "/actions/cheesesmithing/cheese_hammer": {
  1004. "en": "Cheese Hammer",
  1005. "cn": "奶酪锤子"
  1006. },
  1007. "/actions/cheesesmithing/cheese_chisel": {
  1008. "en": "Cheese Chisel",
  1009. "cn": "奶酪凿子"
  1010. },
  1011. "/actions/cheesesmithing/cheese_needle": {
  1012. "en": "Cheese Needle",
  1013. "cn": "奶酪针"
  1014. },
  1015. "/actions/cheesesmithing/cheese_spatula": {
  1016. "en": "Cheese Spatula",
  1017. "cn": "奶酪锅铲"
  1018. },
  1019. "/actions/cheesesmithing/cheese_pot": {
  1020. "en": "Cheese Pot",
  1021. "cn": "奶酪壶"
  1022. },
  1023. "/actions/cheesesmithing/cheese_mace": {
  1024. "en": "Cheese Mace",
  1025. "cn": "奶酪钉头锤"
  1026. },
  1027. "/actions/cheesesmithing/cheese_alembic": {
  1028. "en": "Cheese Alembic",
  1029. "cn": "奶酪蒸馏器"
  1030. },
  1031. "/actions/cheesesmithing/cheese_enhancer": {
  1032. "en": "Cheese Enhancer",
  1033. "cn": "奶酪强化器"
  1034. },
  1035. "/actions/cheesesmithing/cheese_helmet": {
  1036. "en": "Cheese Helmet",
  1037. "cn": "奶酪头盔"
  1038. },
  1039. "/actions/cheesesmithing/cheese_buckler": {
  1040. "en": "Cheese Buckler",
  1041. "cn": "奶酪圆盾"
  1042. },
  1043. "/actions/cheesesmithing/cheese_bulwark": {
  1044. "en": "Cheese Bulwark",
  1045. "cn": "奶酪重盾"
  1046. },
  1047. "/actions/cheesesmithing/cheese_plate_legs": {
  1048. "en": "Cheese Plate Legs",
  1049. "cn": "奶酪腿甲"
  1050. },
  1051. "/actions/cheesesmithing/cheese_plate_body": {
  1052. "en": "Cheese Plate Body",
  1053. "cn": "奶酪胸甲"
  1054. },
  1055. "/actions/cheesesmithing/verdant_cheese": {
  1056. "en": "Verdant Cheese",
  1057. "cn": "翠绿奶酪"
  1058. },
  1059. "/actions/cheesesmithing/verdant_boots": {
  1060. "en": "Verdant Boots",
  1061. "cn": "翠绿靴"
  1062. },
  1063. "/actions/cheesesmithing/verdant_gauntlets": {
  1064. "en": "Verdant Gauntlets",
  1065. "cn": "翠绿护手"
  1066. },
  1067. "/actions/cheesesmithing/verdant_sword": {
  1068. "en": "Verdant Sword",
  1069. "cn": "翠绿剑"
  1070. },
  1071. "/actions/cheesesmithing/verdant_brush": {
  1072. "en": "Verdant Brush",
  1073. "cn": "翠绿刷子"
  1074. },
  1075. "/actions/cheesesmithing/verdant_shears": {
  1076. "en": "Verdant Shears",
  1077. "cn": "翠绿剪刀"
  1078. },
  1079. "/actions/cheesesmithing/verdant_hatchet": {
  1080. "en": "Verdant Hatchet",
  1081. "cn": "翠绿斧头"
  1082. },
  1083. "/actions/cheesesmithing/verdant_spear": {
  1084. "en": "Verdant Spear",
  1085. "cn": "翠绿长枪"
  1086. },
  1087. "/actions/cheesesmithing/verdant_hammer": {
  1088. "en": "Verdant Hammer",
  1089. "cn": "翠绿锤子"
  1090. },
  1091. "/actions/cheesesmithing/verdant_chisel": {
  1092. "en": "Verdant Chisel",
  1093. "cn": "翠绿凿子"
  1094. },
  1095. "/actions/cheesesmithing/verdant_needle": {
  1096. "en": "Verdant Needle",
  1097. "cn": "翠绿针"
  1098. },
  1099. "/actions/cheesesmithing/verdant_spatula": {
  1100. "en": "Verdant Spatula",
  1101. "cn": "翠绿锅铲"
  1102. },
  1103. "/actions/cheesesmithing/verdant_pot": {
  1104. "en": "Verdant Pot",
  1105. "cn": "翠绿壶"
  1106. },
  1107. "/actions/cheesesmithing/verdant_mace": {
  1108. "en": "Verdant Mace",
  1109. "cn": "翠绿钉头锤"
  1110. },
  1111. "/actions/cheesesmithing/snake_fang_dirk": {
  1112. "en": "Snake Fang Dirk",
  1113. "cn": "蛇牙短剑"
  1114. },
  1115. "/actions/cheesesmithing/verdant_alembic": {
  1116. "en": "Verdant Alembic",
  1117. "cn": "翠绿蒸馏器"
  1118. },
  1119. "/actions/cheesesmithing/verdant_enhancer": {
  1120. "en": "Verdant Enhancer",
  1121. "cn": "翠绿强化器"
  1122. },
  1123. "/actions/cheesesmithing/verdant_helmet": {
  1124. "en": "Verdant Helmet",
  1125. "cn": "翠绿头盔"
  1126. },
  1127. "/actions/cheesesmithing/verdant_buckler": {
  1128. "en": "Verdant Buckler",
  1129. "cn": "翠绿圆盾"
  1130. },
  1131. "/actions/cheesesmithing/verdant_bulwark": {
  1132. "en": "Verdant Bulwark",
  1133. "cn": "翠绿重盾"
  1134. },
  1135. "/actions/cheesesmithing/verdant_plate_legs": {
  1136. "en": "Verdant Plate Legs",
  1137. "cn": "翠绿腿甲"
  1138. },
  1139. "/actions/cheesesmithing/verdant_plate_body": {
  1140. "en": "Verdant Plate Body",
  1141. "cn": "翠绿胸甲"
  1142. },
  1143. "/actions/cheesesmithing/azure_cheese": {
  1144. "en": "Azure Cheese",
  1145. "cn": "蔚蓝奶酪"
  1146. },
  1147. "/actions/cheesesmithing/azure_boots": {
  1148. "en": "Azure Boots",
  1149. "cn": "蔚蓝靴"
  1150. },
  1151. "/actions/cheesesmithing/azure_gauntlets": {
  1152. "en": "Azure Gauntlets",
  1153. "cn": "蔚蓝护手"
  1154. },
  1155. "/actions/cheesesmithing/azure_sword": {
  1156. "en": "Azure Sword",
  1157. "cn": "蔚蓝剑"
  1158. },
  1159. "/actions/cheesesmithing/azure_brush": {
  1160. "en": "Azure Brush",
  1161. "cn": "蔚蓝刷子"
  1162. },
  1163. "/actions/cheesesmithing/azure_shears": {
  1164. "en": "Azure Shears",
  1165. "cn": "蔚蓝剪刀"
  1166. },
  1167. "/actions/cheesesmithing/azure_hatchet": {
  1168. "en": "Azure Hatchet",
  1169. "cn": "蔚蓝斧头"
  1170. },
  1171. "/actions/cheesesmithing/azure_spear": {
  1172. "en": "Azure Spear",
  1173. "cn": "蔚蓝长枪"
  1174. },
  1175. "/actions/cheesesmithing/azure_hammer": {
  1176. "en": "Azure Hammer",
  1177. "cn": "蔚蓝锤子"
  1178. },
  1179. "/actions/cheesesmithing/azure_chisel": {
  1180. "en": "Azure Chisel",
  1181. "cn": "蔚蓝凿子"
  1182. },
  1183. "/actions/cheesesmithing/azure_needle": {
  1184. "en": "Azure Needle",
  1185. "cn": "蔚蓝针"
  1186. },
  1187. "/actions/cheesesmithing/azure_spatula": {
  1188. "en": "Azure Spatula",
  1189. "cn": "蔚蓝锅铲"
  1190. },
  1191. "/actions/cheesesmithing/azure_pot": {
  1192. "en": "Azure Pot",
  1193. "cn": "蔚蓝壶"
  1194. },
  1195. "/actions/cheesesmithing/azure_mace": {
  1196. "en": "Azure Mace",
  1197. "cn": "蔚蓝钉头锤"
  1198. },
  1199. "/actions/cheesesmithing/pincer_gloves": {
  1200. "en": "Pincer Gloves",
  1201. "cn": "蟹钳手套"
  1202. },
  1203. "/actions/cheesesmithing/azure_alembic": {
  1204. "en": "Azure Alembic",
  1205. "cn": "蔚蓝蒸馏器"
  1206. },
  1207. "/actions/cheesesmithing/azure_enhancer": {
  1208. "en": "Azure Enhancer",
  1209. "cn": "蔚蓝强化器"
  1210. },
  1211. "/actions/cheesesmithing/azure_helmet": {
  1212. "en": "Azure Helmet",
  1213. "cn": "蔚蓝头盔"
  1214. },
  1215. "/actions/cheesesmithing/azure_buckler": {
  1216. "en": "Azure Buckler",
  1217. "cn": "蔚蓝圆盾"
  1218. },
  1219. "/actions/cheesesmithing/azure_bulwark": {
  1220. "en": "Azure Bulwark",
  1221. "cn": "蔚蓝重盾"
  1222. },
  1223. "/actions/cheesesmithing/azure_plate_legs": {
  1224. "en": "Azure Plate Legs",
  1225. "cn": "蔚蓝腿甲"
  1226. },
  1227. "/actions/cheesesmithing/snail_shell_helmet": {
  1228. "en": "Snail Shell Helmet",
  1229. "cn": "蜗牛壳头盔"
  1230. },
  1231. "/actions/cheesesmithing/azure_plate_body": {
  1232. "en": "Azure Plate Body",
  1233. "cn": "蔚蓝胸甲"
  1234. },
  1235. "/actions/cheesesmithing/turtle_shell_legs": {
  1236. "en": "Turtle Shell Legs",
  1237. "cn": "龟壳腿甲"
  1238. },
  1239. "/actions/cheesesmithing/turtle_shell_body": {
  1240. "en": "Turtle Shell Body",
  1241. "cn": "龟壳胸甲"
  1242. },
  1243. "/actions/cheesesmithing/burble_cheese": {
  1244. "en": "Burble Cheese",
  1245. "cn": "深紫奶酪"
  1246. },
  1247. "/actions/cheesesmithing/burble_boots": {
  1248. "en": "Burble Boots",
  1249. "cn": "深紫靴"
  1250. },
  1251. "/actions/cheesesmithing/burble_gauntlets": {
  1252. "en": "Burble Gauntlets",
  1253. "cn": "深紫护手"
  1254. },
  1255. "/actions/cheesesmithing/burble_sword": {
  1256. "en": "Burble Sword",
  1257. "cn": "深紫剑"
  1258. },
  1259. "/actions/cheesesmithing/burble_brush": {
  1260. "en": "Burble Brush",
  1261. "cn": "深紫刷子"
  1262. },
  1263. "/actions/cheesesmithing/burble_shears": {
  1264. "en": "Burble Shears",
  1265. "cn": "深紫剪刀"
  1266. },
  1267. "/actions/cheesesmithing/burble_hatchet": {
  1268. "en": "Burble Hatchet",
  1269. "cn": "深紫斧头"
  1270. },
  1271. "/actions/cheesesmithing/burble_spear": {
  1272. "en": "Burble Spear",
  1273. "cn": "深紫长枪"
  1274. },
  1275. "/actions/cheesesmithing/burble_hammer": {
  1276. "en": "Burble Hammer",
  1277. "cn": "深紫锤子"
  1278. },
  1279. "/actions/cheesesmithing/burble_chisel": {
  1280. "en": "Burble Chisel",
  1281. "cn": "深紫凿子"
  1282. },
  1283. "/actions/cheesesmithing/burble_needle": {
  1284. "en": "Burble Needle",
  1285. "cn": "深紫针"
  1286. },
  1287. "/actions/cheesesmithing/burble_spatula": {
  1288. "en": "Burble Spatula",
  1289. "cn": "深紫锅铲"
  1290. },
  1291. "/actions/cheesesmithing/burble_pot": {
  1292. "en": "Burble Pot",
  1293. "cn": "深紫壶"
  1294. },
  1295. "/actions/cheesesmithing/burble_mace": {
  1296. "en": "Burble Mace",
  1297. "cn": "深紫钉头锤"
  1298. },
  1299. "/actions/cheesesmithing/burble_alembic": {
  1300. "en": "Burble Alembic",
  1301. "cn": "深紫蒸馏器"
  1302. },
  1303. "/actions/cheesesmithing/burble_enhancer": {
  1304. "en": "Burble Enhancer",
  1305. "cn": "深紫强化器"
  1306. },
  1307. "/actions/cheesesmithing/burble_helmet": {
  1308. "en": "Burble Helmet",
  1309. "cn": "深紫头盔"
  1310. },
  1311. "/actions/cheesesmithing/burble_buckler": {
  1312. "en": "Burble Buckler",
  1313. "cn": "深紫圆盾"
  1314. },
  1315. "/actions/cheesesmithing/burble_bulwark": {
  1316. "en": "Burble Bulwark",
  1317. "cn": "深紫重盾"
  1318. },
  1319. "/actions/cheesesmithing/burble_plate_legs": {
  1320. "en": "Burble Plate Legs",
  1321. "cn": "深紫腿甲"
  1322. },
  1323. "/actions/cheesesmithing/burble_plate_body": {
  1324. "en": "Burble Plate Body",
  1325. "cn": "深紫胸甲"
  1326. },
  1327. "/actions/cheesesmithing/crimson_cheese": {
  1328. "en": "Crimson Cheese",
  1329. "cn": "绛红奶酪"
  1330. },
  1331. "/actions/cheesesmithing/crimson_boots": {
  1332. "en": "Crimson Boots",
  1333. "cn": "绛红靴"
  1334. },
  1335. "/actions/cheesesmithing/crimson_gauntlets": {
  1336. "en": "Crimson Gauntlets",
  1337. "cn": "绛红护手"
  1338. },
  1339. "/actions/cheesesmithing/crimson_sword": {
  1340. "en": "Crimson Sword",
  1341. "cn": "绛红剑"
  1342. },
  1343. "/actions/cheesesmithing/crimson_brush": {
  1344. "en": "Crimson Brush",
  1345. "cn": "绛红刷子"
  1346. },
  1347. "/actions/cheesesmithing/crimson_shears": {
  1348. "en": "Crimson Shears",
  1349. "cn": "绛红剪刀"
  1350. },
  1351. "/actions/cheesesmithing/crimson_hatchet": {
  1352. "en": "Crimson Hatchet",
  1353. "cn": "绛红斧头"
  1354. },
  1355. "/actions/cheesesmithing/crimson_spear": {
  1356. "en": "Crimson Spear",
  1357. "cn": "绛红长枪"
  1358. },
  1359. "/actions/cheesesmithing/crimson_hammer": {
  1360. "en": "Crimson Hammer",
  1361. "cn": "绛红锤子"
  1362. },
  1363. "/actions/cheesesmithing/crimson_chisel": {
  1364. "en": "Crimson Chisel",
  1365. "cn": "绛红凿子"
  1366. },
  1367. "/actions/cheesesmithing/crimson_needle": {
  1368. "en": "Crimson Needle",
  1369. "cn": "绛红针"
  1370. },
  1371. "/actions/cheesesmithing/crimson_spatula": {
  1372. "en": "Crimson Spatula",
  1373. "cn": "绛红锅铲"
  1374. },
  1375. "/actions/cheesesmithing/crimson_pot": {
  1376. "en": "Crimson Pot",
  1377. "cn": "绛红壶"
  1378. },
  1379. "/actions/cheesesmithing/crimson_mace": {
  1380. "en": "Crimson Mace",
  1381. "cn": "绛红钉头锤"
  1382. },
  1383. "/actions/cheesesmithing/crimson_alembic": {
  1384. "en": "Crimson Alembic",
  1385. "cn": "绛红蒸馏器"
  1386. },
  1387. "/actions/cheesesmithing/crimson_enhancer": {
  1388. "en": "Crimson Enhancer",
  1389. "cn": "绛红强化器"
  1390. },
  1391. "/actions/cheesesmithing/crimson_helmet": {
  1392. "en": "Crimson Helmet",
  1393. "cn": "绛红头盔"
  1394. },
  1395. "/actions/cheesesmithing/crimson_buckler": {
  1396. "en": "Crimson Buckler",
  1397. "cn": "绛红圆盾"
  1398. },
  1399. "/actions/cheesesmithing/crimson_bulwark": {
  1400. "en": "Crimson Bulwark",
  1401. "cn": "绛红重盾"
  1402. },
  1403. "/actions/cheesesmithing/crimson_plate_legs": {
  1404. "en": "Crimson Plate Legs",
  1405. "cn": "绛红腿甲"
  1406. },
  1407. "/actions/cheesesmithing/vision_helmet": {
  1408. "en": "Vision Helmet",
  1409. "cn": "视觉头盔"
  1410. },
  1411. "/actions/cheesesmithing/vision_shield": {
  1412. "en": "Vision Shield",
  1413. "cn": "视觉盾"
  1414. },
  1415. "/actions/cheesesmithing/crimson_plate_body": {
  1416. "en": "Crimson Plate Body",
  1417. "cn": "绛红胸甲"
  1418. },
  1419. "/actions/cheesesmithing/rainbow_cheese": {
  1420. "en": "Rainbow Cheese",
  1421. "cn": "彩虹奶酪"
  1422. },
  1423. "/actions/cheesesmithing/rainbow_boots": {
  1424. "en": "Rainbow Boots",
  1425. "cn": "彩虹靴"
  1426. },
  1427. "/actions/cheesesmithing/black_bear_shoes": {
  1428. "en": "Black Bear Shoes",
  1429. "cn": "黑熊鞋"
  1430. },
  1431. "/actions/cheesesmithing/grizzly_bear_shoes": {
  1432. "en": "Grizzly Bear Shoes",
  1433. "cn": "棕熊鞋"
  1434. },
  1435. "/actions/cheesesmithing/polar_bear_shoes": {
  1436. "en": "Polar Bear Shoes",
  1437. "cn": "北极熊鞋"
  1438. },
  1439. "/actions/cheesesmithing/rainbow_gauntlets": {
  1440. "en": "Rainbow Gauntlets",
  1441. "cn": "彩虹护手"
  1442. },
  1443. "/actions/cheesesmithing/rainbow_sword": {
  1444. "en": "Rainbow Sword",
  1445. "cn": "彩虹剑"
  1446. },
  1447. "/actions/cheesesmithing/panda_gloves": {
  1448. "en": "Panda Gloves",
  1449. "cn": "熊猫手套"
  1450. },
  1451. "/actions/cheesesmithing/rainbow_brush": {
  1452. "en": "Rainbow Brush",
  1453. "cn": "彩虹刷子"
  1454. },
  1455. "/actions/cheesesmithing/rainbow_shears": {
  1456. "en": "Rainbow Shears",
  1457. "cn": "彩虹剪刀"
  1458. },
  1459. "/actions/cheesesmithing/rainbow_hatchet": {
  1460. "en": "Rainbow Hatchet",
  1461. "cn": "彩虹斧头"
  1462. },
  1463. "/actions/cheesesmithing/rainbow_spear": {
  1464. "en": "Rainbow Spear",
  1465. "cn": "彩虹长枪"
  1466. },
  1467. "/actions/cheesesmithing/rainbow_hammer": {
  1468. "en": "Rainbow Hammer",
  1469. "cn": "彩虹锤子"
  1470. },
  1471. "/actions/cheesesmithing/rainbow_chisel": {
  1472. "en": "Rainbow Chisel",
  1473. "cn": "彩虹凿子"
  1474. },
  1475. "/actions/cheesesmithing/rainbow_needle": {
  1476. "en": "Rainbow Needle",
  1477. "cn": "彩虹针"
  1478. },
  1479. "/actions/cheesesmithing/rainbow_spatula": {
  1480. "en": "Rainbow Spatula",
  1481. "cn": "彩虹锅铲"
  1482. },
  1483. "/actions/cheesesmithing/rainbow_pot": {
  1484. "en": "Rainbow Pot",
  1485. "cn": "彩虹壶"
  1486. },
  1487. "/actions/cheesesmithing/rainbow_mace": {
  1488. "en": "Rainbow Mace",
  1489. "cn": "彩虹钉头锤"
  1490. },
  1491. "/actions/cheesesmithing/rainbow_alembic": {
  1492. "en": "Rainbow Alembic",
  1493. "cn": "彩虹蒸馏器"
  1494. },
  1495. "/actions/cheesesmithing/rainbow_enhancer": {
  1496. "en": "Rainbow Enhancer",
  1497. "cn": "彩虹强化器"
  1498. },
  1499. "/actions/cheesesmithing/rainbow_helmet": {
  1500. "en": "Rainbow Helmet",
  1501. "cn": "彩虹头盔"
  1502. },
  1503. "/actions/cheesesmithing/rainbow_buckler": {
  1504. "en": "Rainbow Buckler",
  1505. "cn": "彩虹圆盾"
  1506. },
  1507. "/actions/cheesesmithing/rainbow_bulwark": {
  1508. "en": "Rainbow Bulwark",
  1509. "cn": "彩虹重盾"
  1510. },
  1511. "/actions/cheesesmithing/rainbow_plate_legs": {
  1512. "en": "Rainbow Plate Legs",
  1513. "cn": "彩虹腿甲"
  1514. },
  1515. "/actions/cheesesmithing/rainbow_plate_body": {
  1516. "en": "Rainbow Plate Body",
  1517. "cn": "彩虹胸甲"
  1518. },
  1519. "/actions/cheesesmithing/holy_cheese": {
  1520. "en": "Holy Cheese",
  1521. "cn": "神圣奶酪"
  1522. },
  1523. "/actions/cheesesmithing/holy_boots": {
  1524. "en": "Holy Boots",
  1525. "cn": "神圣靴"
  1526. },
  1527. "/actions/cheesesmithing/holy_gauntlets": {
  1528. "en": "Holy Gauntlets",
  1529. "cn": "神圣护手"
  1530. },
  1531. "/actions/cheesesmithing/holy_sword": {
  1532. "en": "Holy Sword",
  1533. "cn": "神圣剑"
  1534. },
  1535. "/actions/cheesesmithing/holy_brush": {
  1536. "en": "Holy Brush",
  1537. "cn": "神圣刷子"
  1538. },
  1539. "/actions/cheesesmithing/holy_shears": {
  1540. "en": "Holy Shears",
  1541. "cn": "神圣剪刀"
  1542. },
  1543. "/actions/cheesesmithing/holy_hatchet": {
  1544. "en": "Holy Hatchet",
  1545. "cn": "神圣斧头"
  1546. },
  1547. "/actions/cheesesmithing/holy_spear": {
  1548. "en": "Holy Spear",
  1549. "cn": "神圣长枪"
  1550. },
  1551. "/actions/cheesesmithing/holy_hammer": {
  1552. "en": "Holy Hammer",
  1553. "cn": "神圣锤子"
  1554. },
  1555. "/actions/cheesesmithing/holy_chisel": {
  1556. "en": "Holy Chisel",
  1557. "cn": "神圣凿子"
  1558. },
  1559. "/actions/cheesesmithing/holy_needle": {
  1560. "en": "Holy Needle",
  1561. "cn": "神圣针"
  1562. },
  1563. "/actions/cheesesmithing/holy_spatula": {
  1564. "en": "Holy Spatula",
  1565. "cn": "神圣锅铲"
  1566. },
  1567. "/actions/cheesesmithing/holy_pot": {
  1568. "en": "Holy Pot",
  1569. "cn": "神圣壶"
  1570. },
  1571. "/actions/cheesesmithing/holy_mace": {
  1572. "en": "Holy Mace",
  1573. "cn": "神圣钉头锤"
  1574. },
  1575. "/actions/cheesesmithing/magnetic_gloves": {
  1576. "en": "Magnetic Gloves",
  1577. "cn": "磁力手套"
  1578. },
  1579. "/actions/cheesesmithing/stalactite_spear": {
  1580. "en": "Stalactite Spear",
  1581. "cn": "石钟长枪"
  1582. },
  1583. "/actions/cheesesmithing/granite_bludgeon": {
  1584. "en": "Granite Bludgeon",
  1585. "cn": "花岗岩大棒"
  1586. },
  1587. "/actions/cheesesmithing/vampire_fang_dirk": {
  1588. "en": "Vampire Fang Dirk",
  1589. "cn": "吸血鬼短剑"
  1590. },
  1591. "/actions/cheesesmithing/werewolf_slasher": {
  1592. "en": "Werewolf Slasher",
  1593. "cn": "狼人关刀"
  1594. },
  1595. "/actions/cheesesmithing/holy_alembic": {
  1596. "en": "Holy Alembic",
  1597. "cn": "神圣蒸馏器"
  1598. },
  1599. "/actions/cheesesmithing/holy_enhancer": {
  1600. "en": "Holy Enhancer",
  1601. "cn": "神圣强化器"
  1602. },
  1603. "/actions/cheesesmithing/holy_helmet": {
  1604. "en": "Holy Helmet",
  1605. "cn": "神圣头盔"
  1606. },
  1607. "/actions/cheesesmithing/holy_buckler": {
  1608. "en": "Holy Buckler",
  1609. "cn": "神圣圆盾"
  1610. },
  1611. "/actions/cheesesmithing/holy_bulwark": {
  1612. "en": "Holy Bulwark",
  1613. "cn": "神圣重盾"
  1614. },
  1615. "/actions/cheesesmithing/holy_plate_legs": {
  1616. "en": "Holy Plate Legs",
  1617. "cn": "神圣腿甲"
  1618. },
  1619. "/actions/cheesesmithing/holy_plate_body": {
  1620. "en": "Holy Plate Body",
  1621. "cn": "神圣胸甲"
  1622. },
  1623. "/actions/cheesesmithing/celestial_brush": {
  1624. "en": "Celestial Brush",
  1625. "cn": "星空刷子"
  1626. },
  1627. "/actions/cheesesmithing/celestial_shears": {
  1628. "en": "Celestial Shears",
  1629. "cn": "星空剪刀"
  1630. },
  1631. "/actions/cheesesmithing/celestial_hatchet": {
  1632. "en": "Celestial Hatchet",
  1633. "cn": "星空斧头"
  1634. },
  1635. "/actions/cheesesmithing/celestial_hammer": {
  1636. "en": "Celestial Hammer",
  1637. "cn": "星空锤子"
  1638. },
  1639. "/actions/cheesesmithing/celestial_chisel": {
  1640. "en": "Celestial Chisel",
  1641. "cn": "星空凿子"
  1642. },
  1643. "/actions/cheesesmithing/celestial_needle": {
  1644. "en": "Celestial Needle",
  1645. "cn": "星空针"
  1646. },
  1647. "/actions/cheesesmithing/celestial_spatula": {
  1648. "en": "Celestial Spatula",
  1649. "cn": "星空锅铲"
  1650. },
  1651. "/actions/cheesesmithing/celestial_pot": {
  1652. "en": "Celestial Pot",
  1653. "cn": "星空壶"
  1654. },
  1655. "/actions/cheesesmithing/celestial_alembic": {
  1656. "en": "Celestial Alembic",
  1657. "cn": "星空蒸馏器"
  1658. },
  1659. "/actions/cheesesmithing/celestial_enhancer": {
  1660. "en": "Celestial Enhancer",
  1661. "cn": "星空强化器"
  1662. },
  1663. "/actions/cheesesmithing/colossus_plate_body": {
  1664. "en": "Colossus Plate Body",
  1665. "cn": "巨像胸甲"
  1666. },
  1667. "/actions/cheesesmithing/colossus_plate_legs": {
  1668. "en": "Colossus Plate Legs",
  1669. "cn": "巨像腿甲"
  1670. },
  1671. "/actions/cheesesmithing/demonic_plate_body": {
  1672. "en": "Demonic Plate Body",
  1673. "cn": "恶魔胸甲"
  1674. },
  1675. "/actions/cheesesmithing/demonic_plate_legs": {
  1676. "en": "Demonic Plate Legs",
  1677. "cn": "恶魔腿甲"
  1678. },
  1679. "/actions/cheesesmithing/spiked_bulwark": {
  1680. "en": "Spiked Bulwark",
  1681. "cn": "尖刺重盾"
  1682. },
  1683. "/actions/cheesesmithing/dodocamel_gauntlets": {
  1684. "en": "Dodocamel Gauntlets",
  1685. "cn": "渡渡驼护手"
  1686. },
  1687. "/actions/cheesesmithing/corsair_helmet": {
  1688. "en": "Corsair Helmet",
  1689. "cn": "掠夺者头盔"
  1690. },
  1691. "/actions/cheesesmithing/knights_aegis": {
  1692. "en": "Knights Aegis",
  1693. "cn": "骑士盾"
  1694. },
  1695. "/actions/cheesesmithing/anchorbound_plate_legs": {
  1696. "en": "Anchorbound Plate Legs",
  1697. "cn": "锚定腿甲"
  1698. },
  1699. "/actions/cheesesmithing/maelstrom_plate_legs": {
  1700. "en": "Maelstrom Plate Legs",
  1701. "cn": "怒涛腿甲"
  1702. },
  1703. "/actions/cheesesmithing/griffin_bulwark": {
  1704. "en": "Griffin Bulwark",
  1705. "cn": "狮鹫重盾"
  1706. },
  1707. "/actions/cheesesmithing/furious_spear": {
  1708. "en": "Furious Spear",
  1709. "cn": "狂怒长枪"
  1710. },
  1711. "/actions/cheesesmithing/chaotic_flail": {
  1712. "en": "Chaotic Flail",
  1713. "cn": "混沌连枷"
  1714. },
  1715. "/actions/cheesesmithing/regal_sword": {
  1716. "en": "Regal Sword",
  1717. "cn": "君王之剑"
  1718. },
  1719. "/actions/cheesesmithing/anchorbound_plate_body": {
  1720. "en": "Anchorbound Plate Body",
  1721. "cn": "锚定胸甲"
  1722. },
  1723. "/actions/cheesesmithing/maelstrom_plate_body": {
  1724. "en": "Maelstrom Plate Body",
  1725. "cn": "怒涛胸甲"
  1726. },
  1727. "/actions/crafting/lumber": {
  1728. "en": "Lumber",
  1729. "cn": "木板"
  1730. },
  1731. "/actions/crafting/wooden_crossbow": {
  1732. "en": "Wooden Crossbow",
  1733. "cn": "木弩"
  1734. },
  1735. "/actions/crafting/wooden_water_staff": {
  1736. "en": "Wooden Water Staff",
  1737. "cn": "木制水法杖"
  1738. },
  1739. "/actions/crafting/basic_task_badge": {
  1740. "en": "Basic Task Badge",
  1741. "cn": "基础任务徽章"
  1742. },
  1743. "/actions/crafting/advanced_task_badge": {
  1744. "en": "Advanced Task Badge",
  1745. "cn": "高级任务徽章"
  1746. },
  1747. "/actions/crafting/expert_task_badge": {
  1748. "en": "Expert Task Badge",
  1749. "cn": "专家任务徽章"
  1750. },
  1751. "/actions/crafting/wooden_shield": {
  1752. "en": "Wooden Shield",
  1753. "cn": "木盾"
  1754. },
  1755. "/actions/crafting/wooden_nature_staff": {
  1756. "en": "Wooden Nature Staff",
  1757. "cn": "木制自然法杖"
  1758. },
  1759. "/actions/crafting/wooden_bow": {
  1760. "en": "Wooden Bow",
  1761. "cn": "木弓"
  1762. },
  1763. "/actions/crafting/wooden_fire_staff": {
  1764. "en": "Wooden Fire Staff",
  1765. "cn": "木制火法杖"
  1766. },
  1767. "/actions/crafting/birch_lumber": {
  1768. "en": "Birch Lumber",
  1769. "cn": "白桦木板"
  1770. },
  1771. "/actions/crafting/birch_crossbow": {
  1772. "en": "Birch Crossbow",
  1773. "cn": "桦木弩"
  1774. },
  1775. "/actions/crafting/birch_water_staff": {
  1776. "en": "Birch Water Staff",
  1777. "cn": "桦木水法杖"
  1778. },
  1779. "/actions/crafting/crushed_pearl": {
  1780. "en": "Crushed Pearl",
  1781. "cn": "珍珠碎片"
  1782. },
  1783. "/actions/crafting/birch_shield": {
  1784. "en": "Birch Shield",
  1785. "cn": "桦木盾"
  1786. },
  1787. "/actions/crafting/birch_nature_staff": {
  1788. "en": "Birch Nature Staff",
  1789. "cn": "桦木自然法杖"
  1790. },
  1791. "/actions/crafting/birch_bow": {
  1792. "en": "Birch Bow",
  1793. "cn": "桦木弓"
  1794. },
  1795. "/actions/crafting/ring_of_gathering": {
  1796. "en": "Ring Of Gathering",
  1797. "cn": "采集戒指"
  1798. },
  1799. "/actions/crafting/birch_fire_staff": {
  1800. "en": "Birch Fire Staff",
  1801. "cn": "桦木火法杖"
  1802. },
  1803. "/actions/crafting/earrings_of_gathering": {
  1804. "en": "Earrings Of Gathering",
  1805. "cn": "采集耳环"
  1806. },
  1807. "/actions/crafting/cedar_lumber": {
  1808. "en": "Cedar Lumber",
  1809. "cn": "雪松木板"
  1810. },
  1811. "/actions/crafting/cedar_crossbow": {
  1812. "en": "Cedar Crossbow",
  1813. "cn": "雪松弩"
  1814. },
  1815. "/actions/crafting/cedar_water_staff": {
  1816. "en": "Cedar Water Staff",
  1817. "cn": "雪松水法杖"
  1818. },
  1819. "/actions/crafting/cedar_shield": {
  1820. "en": "Cedar Shield",
  1821. "cn": "雪松盾"
  1822. },
  1823. "/actions/crafting/cedar_nature_staff": {
  1824. "en": "Cedar Nature Staff",
  1825. "cn": "雪松自然法杖"
  1826. },
  1827. "/actions/crafting/cedar_bow": {
  1828. "en": "Cedar Bow",
  1829. "cn": "雪松弓"
  1830. },
  1831. "/actions/crafting/crushed_amber": {
  1832. "en": "Crushed Amber",
  1833. "cn": "琥珀碎片"
  1834. },
  1835. "/actions/crafting/cedar_fire_staff": {
  1836. "en": "Cedar Fire Staff",
  1837. "cn": "雪松火法杖"
  1838. },
  1839. "/actions/crafting/ring_of_essence_find": {
  1840. "en": "Ring Of Essence Find",
  1841. "cn": "精华发现戒指"
  1842. },
  1843. "/actions/crafting/earrings_of_essence_find": {
  1844. "en": "Earrings Of Essence Find",
  1845. "cn": "精华发现耳环"
  1846. },
  1847. "/actions/crafting/necklace_of_efficiency": {
  1848. "en": "Necklace Of Efficiency",
  1849. "cn": "效率项链"
  1850. },
  1851. "/actions/crafting/purpleheart_lumber": {
  1852. "en": "Purpleheart Lumber",
  1853. "cn": "紫心木板"
  1854. },
  1855. "/actions/crafting/purpleheart_crossbow": {
  1856. "en": "Purpleheart Crossbow",
  1857. "cn": "紫心弩"
  1858. },
  1859. "/actions/crafting/purpleheart_water_staff": {
  1860. "en": "Purpleheart Water Staff",
  1861. "cn": "紫心水法杖"
  1862. },
  1863. "/actions/crafting/purpleheart_shield": {
  1864. "en": "Purpleheart Shield",
  1865. "cn": "紫心盾"
  1866. },
  1867. "/actions/crafting/purpleheart_nature_staff": {
  1868. "en": "Purpleheart Nature Staff",
  1869. "cn": "紫心自然法杖"
  1870. },
  1871. "/actions/crafting/purpleheart_bow": {
  1872. "en": "Purpleheart Bow",
  1873. "cn": "紫心弓"
  1874. },
  1875. "/actions/crafting/crushed_garnet": {
  1876. "en": "Crushed Garnet",
  1877. "cn": "石榴石碎片"
  1878. },
  1879. "/actions/crafting/crushed_jade": {
  1880. "en": "Crushed Jade",
  1881. "cn": "翡翠碎片"
  1882. },
  1883. "/actions/crafting/crushed_amethyst": {
  1884. "en": "Crushed Amethyst",
  1885. "cn": "紫水晶碎片"
  1886. },
  1887. "/actions/crafting/catalyst_of_coinification": {
  1888. "en": "Catalyst Of Coinification",
  1889. "cn": "点金催化剂"
  1890. },
  1891. "/actions/crafting/treant_shield": {
  1892. "en": "Treant Shield",
  1893. "cn": "树人盾"
  1894. },
  1895. "/actions/crafting/purpleheart_fire_staff": {
  1896. "en": "Purpleheart Fire Staff",
  1897. "cn": "紫心火法杖"
  1898. },
  1899. "/actions/crafting/ring_of_regeneration": {
  1900. "en": "Ring Of Regeneration",
  1901. "cn": "恢复戒指"
  1902. },
  1903. "/actions/crafting/earrings_of_regeneration": {
  1904. "en": "Earrings Of Regeneration",
  1905. "cn": "恢复耳环"
  1906. },
  1907. "/actions/crafting/fighter_necklace": {
  1908. "en": "Fighter Necklace",
  1909. "cn": "战士项链"
  1910. },
  1911. "/actions/crafting/ginkgo_lumber": {
  1912. "en": "Ginkgo Lumber",
  1913. "cn": "银杏木板"
  1914. },
  1915. "/actions/crafting/ginkgo_crossbow": {
  1916. "en": "Ginkgo Crossbow",
  1917. "cn": "银杏弩"
  1918. },
  1919. "/actions/crafting/ginkgo_water_staff": {
  1920. "en": "Ginkgo Water Staff",
  1921. "cn": "银杏水法杖"
  1922. },
  1923. "/actions/crafting/ring_of_armor": {
  1924. "en": "Ring Of Armor",
  1925. "cn": "护甲戒指"
  1926. },
  1927. "/actions/crafting/catalyst_of_decomposition": {
  1928. "en": "Catalyst Of Decomposition",
  1929. "cn": "分解催化剂"
  1930. },
  1931. "/actions/crafting/ginkgo_shield": {
  1932. "en": "Ginkgo Shield",
  1933. "cn": "银杏盾"
  1934. },
  1935. "/actions/crafting/earrings_of_armor": {
  1936. "en": "Earrings Of Armor",
  1937. "cn": "护甲耳环"
  1938. },
  1939. "/actions/crafting/ginkgo_nature_staff": {
  1940. "en": "Ginkgo Nature Staff",
  1941. "cn": "银杏自然法杖"
  1942. },
  1943. "/actions/crafting/ranger_necklace": {
  1944. "en": "Ranger Necklace",
  1945. "cn": "射手项链"
  1946. },
  1947. "/actions/crafting/ginkgo_bow": {
  1948. "en": "Ginkgo Bow",
  1949. "cn": "银杏弓"
  1950. },
  1951. "/actions/crafting/ring_of_resistance": {
  1952. "en": "Ring Of Resistance",
  1953. "cn": "抗性戒指"
  1954. },
  1955. "/actions/crafting/crushed_moonstone": {
  1956. "en": "Crushed Moonstone",
  1957. "cn": "月亮石碎片"
  1958. },
  1959. "/actions/crafting/ginkgo_fire_staff": {
  1960. "en": "Ginkgo Fire Staff",
  1961. "cn": "银杏火法杖"
  1962. },
  1963. "/actions/crafting/earrings_of_resistance": {
  1964. "en": "Earrings Of Resistance",
  1965. "cn": "抗性耳环"
  1966. },
  1967. "/actions/crafting/wizard_necklace": {
  1968. "en": "Wizard Necklace",
  1969. "cn": "巫师项链"
  1970. },
  1971. "/actions/crafting/ring_of_rare_find": {
  1972. "en": "Ring Of Rare Find",
  1973. "cn": "稀有发现戒指"
  1974. },
  1975. "/actions/crafting/catalyst_of_transmutation": {
  1976. "en": "Catalyst Of Transmutation",
  1977. "cn": "转化催化剂"
  1978. },
  1979. "/actions/crafting/earrings_of_rare_find": {
  1980. "en": "Earrings Of Rare Find",
  1981. "cn": "稀有发现耳环"
  1982. },
  1983. "/actions/crafting/necklace_of_wisdom": {
  1984. "en": "Necklace Of Wisdom",
  1985. "cn": "经验项链"
  1986. },
  1987. "/actions/crafting/redwood_lumber": {
  1988. "en": "Redwood Lumber",
  1989. "cn": "红杉木板"
  1990. },
  1991. "/actions/crafting/redwood_crossbow": {
  1992. "en": "Redwood Crossbow",
  1993. "cn": "红杉弩"
  1994. },
  1995. "/actions/crafting/redwood_water_staff": {
  1996. "en": "Redwood Water Staff",
  1997. "cn": "红杉水法杖"
  1998. },
  1999. "/actions/crafting/redwood_shield": {
  2000. "en": "Redwood Shield",
  2001. "cn": "红杉盾"
  2002. },
  2003. "/actions/crafting/redwood_nature_staff": {
  2004. "en": "Redwood Nature Staff",
  2005. "cn": "红杉自然法杖"
  2006. },
  2007. "/actions/crafting/redwood_bow": {
  2008. "en": "Redwood Bow",
  2009. "cn": "红杉弓"
  2010. },
  2011. "/actions/crafting/crushed_sunstone": {
  2012. "en": "Crushed Sunstone",
  2013. "cn": "太阳石碎片"
  2014. },
  2015. "/actions/crafting/chimerical_entry_key": {
  2016. "en": "Chimerical Entry Key",
  2017. "cn": "奇幻钥匙"
  2018. },
  2019. "/actions/crafting/chimerical_chest_key": {
  2020. "en": "Chimerical Chest Key",
  2021. "cn": "奇幻宝箱钥匙"
  2022. },
  2023. "/actions/crafting/eye_watch": {
  2024. "en": "Eye Watch",
  2025. "cn": "掌上监工"
  2026. },
  2027. "/actions/crafting/watchful_relic": {
  2028. "en": "Watchful Relic",
  2029. "cn": "警戒遗物"
  2030. },
  2031. "/actions/crafting/redwood_fire_staff": {
  2032. "en": "Redwood Fire Staff",
  2033. "cn": "红杉火法杖"
  2034. },
  2035. "/actions/crafting/ring_of_critical_strike": {
  2036. "en": "Ring Of Critical Strike",
  2037. "cn": "暴击戒指"
  2038. },
  2039. "/actions/crafting/mirror_of_protection": {
  2040. "en": "Mirror Of Protection",
  2041. "cn": "保护之镜"
  2042. },
  2043. "/actions/crafting/earrings_of_critical_strike": {
  2044. "en": "Earrings Of Critical Strike",
  2045. "cn": "暴击耳环"
  2046. },
  2047. "/actions/crafting/necklace_of_speed": {
  2048. "en": "Necklace Of Speed",
  2049. "cn": "速度项链"
  2050. },
  2051. "/actions/crafting/arcane_lumber": {
  2052. "en": "Arcane Lumber",
  2053. "cn": "神秘木板"
  2054. },
  2055. "/actions/crafting/arcane_crossbow": {
  2056. "en": "Arcane Crossbow",
  2057. "cn": "神秘弩"
  2058. },
  2059. "/actions/crafting/arcane_water_staff": {
  2060. "en": "Arcane Water Staff",
  2061. "cn": "神秘水法杖"
  2062. },
  2063. "/actions/crafting/sinister_entry_key": {
  2064. "en": "Sinister Entry Key",
  2065. "cn": "阴森钥匙"
  2066. },
  2067. "/actions/crafting/sinister_chest_key": {
  2068. "en": "Sinister Chest Key",
  2069. "cn": "阴森宝箱钥匙"
  2070. },
  2071. "/actions/crafting/arcane_shield": {
  2072. "en": "Arcane Shield",
  2073. "cn": "神秘盾"
  2074. },
  2075. "/actions/crafting/arcane_nature_staff": {
  2076. "en": "Arcane Nature Staff",
  2077. "cn": "神秘自然法杖"
  2078. },
  2079. "/actions/crafting/manticore_shield": {
  2080. "en": "Manticore Shield",
  2081. "cn": "蝎狮盾"
  2082. },
  2083. "/actions/crafting/arcane_bow": {
  2084. "en": "Arcane Bow",
  2085. "cn": "神秘弓"
  2086. },
  2087. "/actions/crafting/enchanted_entry_key": {
  2088. "en": "Enchanted Entry Key",
  2089. "cn": "秘法钥匙"
  2090. },
  2091. "/actions/crafting/enchanted_chest_key": {
  2092. "en": "Enchanted Chest Key",
  2093. "cn": "秘法宝箱钥匙"
  2094. },
  2095. "/actions/crafting/arcane_fire_staff": {
  2096. "en": "Arcane Fire Staff",
  2097. "cn": "神秘火法杖"
  2098. },
  2099. "/actions/crafting/vampiric_bow": {
  2100. "en": "Vampiric Bow",
  2101. "cn": "吸血弓"
  2102. },
  2103. "/actions/crafting/soul_hunter_crossbow": {
  2104. "en": "Soul Hunter Crossbow",
  2105. "cn": "灵魂猎手弩"
  2106. },
  2107. "/actions/crafting/frost_staff": {
  2108. "en": "Frost Staff",
  2109. "cn": "冰霜法杖"
  2110. },
  2111. "/actions/crafting/infernal_battlestaff": {
  2112. "en": "Infernal Battlestaff",
  2113. "cn": "炼狱法杖"
  2114. },
  2115. "/actions/crafting/jackalope_staff": {
  2116. "en": "Jackalope Staff",
  2117. "cn": "鹿角兔之杖"
  2118. },
  2119. "/actions/crafting/philosophers_ring": {
  2120. "en": "Philosopher's Ring",
  2121. "cn": "贤者戒指"
  2122. },
  2123. "/actions/crafting/crushed_philosophers_stone": {
  2124. "en": "Crushed Philosopher's Stone",
  2125. "cn": "贤者之石碎片"
  2126. },
  2127. "/actions/crafting/pirate_entry_key": {
  2128. "en": "Pirate Entry Key",
  2129. "cn": "海盗钥匙"
  2130. },
  2131. "/actions/crafting/pirate_chest_key": {
  2132. "en": "Pirate Chest Key",
  2133. "cn": "海盗宝箱钥匙"
  2134. },
  2135. "/actions/crafting/philosophers_earrings": {
  2136. "en": "Philosopher's Earrings",
  2137. "cn": "贤者耳环"
  2138. },
  2139. "/actions/crafting/philosophers_necklace": {
  2140. "en": "Philosopher's Necklace",
  2141. "cn": "贤者项链"
  2142. },
  2143. "/actions/crafting/bishops_codex": {
  2144. "en": "Bishop's Codex",
  2145. "cn": "主教法典"
  2146. },
  2147. "/actions/crafting/cursed_bow": {
  2148. "en": "Cursed Bow",
  2149. "cn": "咒怨之弓"
  2150. },
  2151. "/actions/crafting/sundering_crossbow": {
  2152. "en": "Sundering Crossbow",
  2153. "cn": "裂空之弩"
  2154. },
  2155. "/actions/crafting/rippling_trident": {
  2156. "en": "Rippling Trident",
  2157. "cn": "涟漪三叉戟"
  2158. },
  2159. "/actions/crafting/blooming_trident": {
  2160. "en": "Blooming Trident",
  2161. "cn": "绽放三叉戟"
  2162. },
  2163. "/actions/crafting/blazing_trident": {
  2164. "en": "Blazing Trident",
  2165. "cn": "炽焰三叉戟"
  2166. },
  2167. "/actions/tailoring/rough_leather": {
  2168. "en": "Rough Leather",
  2169. "cn": "粗糙皮革"
  2170. },
  2171. "/actions/tailoring/cotton_fabric": {
  2172. "en": "Cotton Fabric",
  2173. "cn": "棉花布料"
  2174. },
  2175. "/actions/tailoring/rough_boots": {
  2176. "en": "Rough Boots",
  2177. "cn": "粗糙靴"
  2178. },
  2179. "/actions/tailoring/cotton_boots": {
  2180. "en": "Cotton Boots",
  2181. "cn": "棉靴"
  2182. },
  2183. "/actions/tailoring/rough_bracers": {
  2184. "en": "Rough Bracers",
  2185. "cn": "粗糙护腕"
  2186. },
  2187. "/actions/tailoring/cotton_gloves": {
  2188. "en": "Cotton Gloves",
  2189. "cn": "棉手套"
  2190. },
  2191. "/actions/tailoring/small_pouch": {
  2192. "en": "Small Pouch",
  2193. "cn": "小袋子"
  2194. },
  2195. "/actions/tailoring/rough_hood": {
  2196. "en": "Rough Hood",
  2197. "cn": "粗糙兜帽"
  2198. },
  2199. "/actions/tailoring/cotton_hat": {
  2200. "en": "Cotton Hat",
  2201. "cn": "棉帽"
  2202. },
  2203. "/actions/tailoring/rough_chaps": {
  2204. "en": "Rough Chaps",
  2205. "cn": "粗糙皮裤"
  2206. },
  2207. "/actions/tailoring/cotton_robe_bottoms": {
  2208. "en": "Cotton Robe Bottoms",
  2209. "cn": "棉布袍裙"
  2210. },
  2211. "/actions/tailoring/rough_tunic": {
  2212. "en": "Rough Tunic",
  2213. "cn": "粗糙皮衣"
  2214. },
  2215. "/actions/tailoring/cotton_robe_top": {
  2216. "en": "Cotton Robe Top",
  2217. "cn": "棉布袍服"
  2218. },
  2219. "/actions/tailoring/reptile_leather": {
  2220. "en": "Reptile Leather",
  2221. "cn": "爬行动物皮革"
  2222. },
  2223. "/actions/tailoring/linen_fabric": {
  2224. "en": "Linen Fabric",
  2225. "cn": "亚麻布料"
  2226. },
  2227. "/actions/tailoring/reptile_boots": {
  2228. "en": "Reptile Boots",
  2229. "cn": "爬行动物靴"
  2230. },
  2231. "/actions/tailoring/linen_boots": {
  2232. "en": "Linen Boots",
  2233. "cn": "亚麻靴"
  2234. },
  2235. "/actions/tailoring/reptile_bracers": {
  2236. "en": "Reptile Bracers",
  2237. "cn": "爬行动物护腕"
  2238. },
  2239. "/actions/tailoring/linen_gloves": {
  2240. "en": "Linen Gloves",
  2241. "cn": "亚麻手套"
  2242. },
  2243. "/actions/tailoring/reptile_hood": {
  2244. "en": "Reptile Hood",
  2245. "cn": "爬行动物兜帽"
  2246. },
  2247. "/actions/tailoring/linen_hat": {
  2248. "en": "Linen Hat",
  2249. "cn": "亚麻帽"
  2250. },
  2251. "/actions/tailoring/reptile_chaps": {
  2252. "en": "Reptile Chaps",
  2253. "cn": "爬行动物皮裤"
  2254. },
  2255. "/actions/tailoring/linen_robe_bottoms": {
  2256. "en": "Linen Robe Bottoms",
  2257. "cn": "亚麻袍裙"
  2258. },
  2259. "/actions/tailoring/medium_pouch": {
  2260. "en": "Medium Pouch",
  2261. "cn": "中袋子"
  2262. },
  2263. "/actions/tailoring/reptile_tunic": {
  2264. "en": "Reptile Tunic",
  2265. "cn": "爬行动物皮衣"
  2266. },
  2267. "/actions/tailoring/linen_robe_top": {
  2268. "en": "Linen Robe Top",
  2269. "cn": "亚麻袍服"
  2270. },
  2271. "/actions/tailoring/shoebill_shoes": {
  2272. "en": "Shoebill Shoes",
  2273. "cn": "鲸头鹳鞋"
  2274. },
  2275. "/actions/tailoring/gobo_leather": {
  2276. "en": "Gobo Leather",
  2277. "cn": "哥布林皮革"
  2278. },
  2279. "/actions/tailoring/bamboo_fabric": {
  2280. "en": "Bamboo Fabric",
  2281. "cn": "竹子布料"
  2282. },
  2283. "/actions/tailoring/gobo_boots": {
  2284. "en": "Gobo Boots",
  2285. "cn": "哥布林靴"
  2286. },
  2287. "/actions/tailoring/bamboo_boots": {
  2288. "en": "Bamboo Boots",
  2289. "cn": "竹靴"
  2290. },
  2291. "/actions/tailoring/gobo_bracers": {
  2292. "en": "Gobo Bracers",
  2293. "cn": "哥布林护腕"
  2294. },
  2295. "/actions/tailoring/bamboo_gloves": {
  2296. "en": "Bamboo Gloves",
  2297. "cn": "竹手套"
  2298. },
  2299. "/actions/tailoring/gobo_hood": {
  2300. "en": "Gobo Hood",
  2301. "cn": "哥布林兜帽"
  2302. },
  2303. "/actions/tailoring/bamboo_hat": {
  2304. "en": "Bamboo Hat",
  2305. "cn": "竹帽"
  2306. },
  2307. "/actions/tailoring/gobo_chaps": {
  2308. "en": "Gobo Chaps",
  2309. "cn": "哥布林皮裤"
  2310. },
  2311. "/actions/tailoring/bamboo_robe_bottoms": {
  2312. "en": "Bamboo Robe Bottoms",
  2313. "cn": "竹布袍裙"
  2314. },
  2315. "/actions/tailoring/large_pouch": {
  2316. "en": "Large Pouch",
  2317. "cn": "大袋子"
  2318. },
  2319. "/actions/tailoring/gobo_tunic": {
  2320. "en": "Gobo Tunic",
  2321. "cn": "哥布林皮衣"
  2322. },
  2323. "/actions/tailoring/bamboo_robe_top": {
  2324. "en": "Bamboo Robe Top",
  2325. "cn": "竹袍服"
  2326. },
  2327. "/actions/tailoring/marine_tunic": {
  2328. "en": "Marine Tunic",
  2329. "cn": "海洋皮衣"
  2330. },
  2331. "/actions/tailoring/marine_chaps": {
  2332. "en": "Marine Chaps",
  2333. "cn": "航海皮裤"
  2334. },
  2335. "/actions/tailoring/icy_robe_top": {
  2336. "en": "Icy Robe Top",
  2337. "cn": "冰霜袍服"
  2338. },
  2339. "/actions/tailoring/icy_robe_bottoms": {
  2340. "en": "Icy Robe Bottoms",
  2341. "cn": "冰霜袍裙"
  2342. },
  2343. "/actions/tailoring/flaming_robe_top": {
  2344. "en": "Flaming Robe Top",
  2345. "cn": "烈焰袍服"
  2346. },
  2347. "/actions/tailoring/flaming_robe_bottoms": {
  2348. "en": "Flaming Robe Bottoms",
  2349. "cn": "烈焰袍裙"
  2350. },
  2351. "/actions/tailoring/beast_leather": {
  2352. "en": "Beast Leather",
  2353. "cn": "野兽皮革"
  2354. },
  2355. "/actions/tailoring/silk_fabric": {
  2356. "en": "Silk Fabric",
  2357. "cn": "丝绸"
  2358. },
  2359. "/actions/tailoring/beast_boots": {
  2360. "en": "Beast Boots",
  2361. "cn": "野兽靴"
  2362. },
  2363. "/actions/tailoring/silk_boots": {
  2364. "en": "Silk Boots",
  2365. "cn": "丝靴"
  2366. },
  2367. "/actions/tailoring/beast_bracers": {
  2368. "en": "Beast Bracers",
  2369. "cn": "野兽护腕"
  2370. },
  2371. "/actions/tailoring/silk_gloves": {
  2372. "en": "Silk Gloves",
  2373. "cn": "丝手套"
  2374. },
  2375. "/actions/tailoring/collectors_boots": {
  2376. "en": "Collectors Boots",
  2377. "cn": "收藏家之靴"
  2378. },
  2379. "/actions/tailoring/sighted_bracers": {
  2380. "en": "Sighted Bracers",
  2381. "cn": "瞄准护腕"
  2382. },
  2383. "/actions/tailoring/beast_hood": {
  2384. "en": "Beast Hood",
  2385. "cn": "野兽兜帽"
  2386. },
  2387. "/actions/tailoring/silk_hat": {
  2388. "en": "Silk Hat",
  2389. "cn": "丝帽"
  2390. },
  2391. "/actions/tailoring/beast_chaps": {
  2392. "en": "Beast Chaps",
  2393. "cn": "野兽皮裤"
  2394. },
  2395. "/actions/tailoring/silk_robe_bottoms": {
  2396. "en": "Silk Robe Bottoms",
  2397. "cn": "丝绸袍裙"
  2398. },
  2399. "/actions/tailoring/centaur_boots": {
  2400. "en": "Centaur Boots",
  2401. "cn": "半人马靴"
  2402. },
  2403. "/actions/tailoring/sorcerer_boots": {
  2404. "en": "Sorcerer Boots",
  2405. "cn": "巫师靴"
  2406. },
  2407. "/actions/tailoring/giant_pouch": {
  2408. "en": "Giant Pouch",
  2409. "cn": "巨大袋子"
  2410. },
  2411. "/actions/tailoring/beast_tunic": {
  2412. "en": "Beast Tunic",
  2413. "cn": "野兽皮衣"
  2414. },
  2415. "/actions/tailoring/silk_robe_top": {
  2416. "en": "Silk Robe Top",
  2417. "cn": "丝绸袍服"
  2418. },
  2419. "/actions/tailoring/red_culinary_hat": {
  2420. "en": "Red Culinary Hat",
  2421. "cn": "红色厨师帽"
  2422. },
  2423. "/actions/tailoring/luna_robe_top": {
  2424. "en": "Luna Robe Top",
  2425. "cn": "月神袍服"
  2426. },
  2427. "/actions/tailoring/luna_robe_bottoms": {
  2428. "en": "Luna Robe Bottoms",
  2429. "cn": "月神袍裙"
  2430. },
  2431. "/actions/tailoring/umbral_leather": {
  2432. "en": "Umbral Leather",
  2433. "cn": "暗影皮革"
  2434. },
  2435. "/actions/tailoring/radiant_fabric": {
  2436. "en": "Radiant Fabric",
  2437. "cn": "光辉布料"
  2438. },
  2439. "/actions/tailoring/umbral_boots": {
  2440. "en": "Umbral Boots",
  2441. "cn": "暗影靴"
  2442. },
  2443. "/actions/tailoring/radiant_boots": {
  2444. "en": "Radiant Boots",
  2445. "cn": "光辉靴"
  2446. },
  2447. "/actions/tailoring/umbral_bracers": {
  2448. "en": "Umbral Bracers",
  2449. "cn": "暗影护腕"
  2450. },
  2451. "/actions/tailoring/radiant_gloves": {
  2452. "en": "Radiant Gloves",
  2453. "cn": "光辉手套"
  2454. },
  2455. "/actions/tailoring/enchanted_gloves": {
  2456. "en": "Enchanted Gloves",
  2457. "cn": "附魔手套"
  2458. },
  2459. "/actions/tailoring/fluffy_red_hat": {
  2460. "en": "Fluffy Red Hat",
  2461. "cn": "蓬松红帽子"
  2462. },
  2463. "/actions/tailoring/chrono_gloves": {
  2464. "en": "Chrono Gloves",
  2465. "cn": "时空手套"
  2466. },
  2467. "/actions/tailoring/umbral_hood": {
  2468. "en": "Umbral Hood",
  2469. "cn": "暗影兜帽"
  2470. },
  2471. "/actions/tailoring/radiant_hat": {
  2472. "en": "Radiant Hat",
  2473. "cn": "光辉帽"
  2474. },
  2475. "/actions/tailoring/umbral_chaps": {
  2476. "en": "Umbral Chaps",
  2477. "cn": "暗影皮裤"
  2478. },
  2479. "/actions/tailoring/radiant_robe_bottoms": {
  2480. "en": "Radiant Robe Bottoms",
  2481. "cn": "光辉袍裙"
  2482. },
  2483. "/actions/tailoring/umbral_tunic": {
  2484. "en": "Umbral Tunic",
  2485. "cn": "暗影皮衣"
  2486. },
  2487. "/actions/tailoring/radiant_robe_top": {
  2488. "en": "Radiant Robe Top",
  2489. "cn": "光辉袍服"
  2490. },
  2491. "/actions/tailoring/revenant_chaps": {
  2492. "en": "Revenant Chaps",
  2493. "cn": "亡灵皮裤"
  2494. },
  2495. "/actions/tailoring/griffin_chaps": {
  2496. "en": "Griffin Chaps",
  2497. "cn": "狮鹫皮裤"
  2498. },
  2499. "/actions/tailoring/dairyhands_top": {
  2500. "en": "Dairyhand's Top",
  2501. "cn": "挤奶工上衣"
  2502. },
  2503. "/actions/tailoring/dairyhands_bottoms": {
  2504. "en": "Dairyhand's Bottoms",
  2505. "cn": "挤奶工下装"
  2506. },
  2507. "/actions/tailoring/foragers_top": {
  2508. "en": "Forager's Top",
  2509. "cn": "采摘者上衣"
  2510. },
  2511. "/actions/tailoring/foragers_bottoms": {
  2512. "en": "Forager's Bottoms",
  2513. "cn": "采摘者下装"
  2514. },
  2515. "/actions/tailoring/lumberjacks_top": {
  2516. "en": "Lumberjack's Top",
  2517. "cn": "伐木工上衣"
  2518. },
  2519. "/actions/tailoring/lumberjacks_bottoms": {
  2520. "en": "Lumberjack's Bottoms",
  2521. "cn": "伐木工下装"
  2522. },
  2523. "/actions/tailoring/cheesemakers_top": {
  2524. "en": "Cheesemaker's Top",
  2525. "cn": "奶酪师上衣"
  2526. },
  2527. "/actions/tailoring/cheesemakers_bottoms": {
  2528. "en": "Cheesemaker's Bottoms",
  2529. "cn": "奶酪师下装"
  2530. },
  2531. "/actions/tailoring/crafters_top": {
  2532. "en": "Crafter's Top",
  2533. "cn": "工匠上衣"
  2534. },
  2535. "/actions/tailoring/crafters_bottoms": {
  2536. "en": "Crafter's Bottoms",
  2537. "cn": "工匠下装"
  2538. },
  2539. "/actions/tailoring/tailors_top": {
  2540. "en": "Tailor's Top",
  2541. "cn": "裁缝上衣"
  2542. },
  2543. "/actions/tailoring/tailors_bottoms": {
  2544. "en": "Tailor's Bottoms",
  2545. "cn": "裁缝下装"
  2546. },
  2547. "/actions/tailoring/chefs_top": {
  2548. "en": "Chef's Top",
  2549. "cn": "厨师上衣"
  2550. },
  2551. "/actions/tailoring/chefs_bottoms": {
  2552. "en": "Chef's Bottoms",
  2553. "cn": "厨师下装"
  2554. },
  2555. "/actions/tailoring/brewers_top": {
  2556. "en": "Brewer's Top",
  2557. "cn": "饮品师上衣"
  2558. },
  2559. "/actions/tailoring/brewers_bottoms": {
  2560. "en": "Brewer's Bottoms",
  2561. "cn": "饮品师下装"
  2562. },
  2563. "/actions/tailoring/alchemists_top": {
  2564. "en": "Alchemist's Top",
  2565. "cn": "炼金师上衣"
  2566. },
  2567. "/actions/tailoring/alchemists_bottoms": {
  2568. "en": "Alchemist's Bottoms",
  2569. "cn": "炼金师下装"
  2570. },
  2571. "/actions/tailoring/enhancers_top": {
  2572. "en": "Enhancer's Top",
  2573. "cn": "强化师上衣"
  2574. },
  2575. "/actions/tailoring/enhancers_bottoms": {
  2576. "en": "Enhancer's Bottoms",
  2577. "cn": "强化师下装"
  2578. },
  2579. "/actions/tailoring/revenant_tunic": {
  2580. "en": "Revenant Tunic",
  2581. "cn": "亡灵皮衣"
  2582. },
  2583. "/actions/tailoring/griffin_tunic": {
  2584. "en": "Griffin Tunic",
  2585. "cn": "狮鹫皮衣"
  2586. },
  2587. "/actions/tailoring/gluttonous_pouch": {
  2588. "en": "Gluttonous Pouch",
  2589. "cn": "贪食之袋"
  2590. },
  2591. "/actions/tailoring/guzzling_pouch": {
  2592. "en": "Guzzling Pouch",
  2593. "cn": "暴饮之囊"
  2594. },
  2595. "/actions/tailoring/marksman_bracers": {
  2596. "en": "Marksman Bracers",
  2597. "cn": "神射护腕"
  2598. },
  2599. "/actions/tailoring/acrobatic_hood": {
  2600. "en": "Acrobatic Hood",
  2601. "cn": "杂技师兜帽"
  2602. },
  2603. "/actions/tailoring/magicians_hat": {
  2604. "en": "Magician's Hat",
  2605. "cn": "魔术师之帽"
  2606. },
  2607. "/actions/tailoring/kraken_chaps": {
  2608. "en": "Kraken Chaps",
  2609. "cn": "克拉肯皮裤"
  2610. },
  2611. "/actions/tailoring/royal_water_robe_bottoms": {
  2612. "en": "Royal Water Robe Bottoms",
  2613. "cn": "皇家水系袍裙"
  2614. },
  2615. "/actions/tailoring/royal_nature_robe_bottoms": {
  2616. "en": "Royal Nature Robe Bottoms",
  2617. "cn": "皇家自然系袍裙"
  2618. },
  2619. "/actions/tailoring/royal_fire_robe_bottoms": {
  2620. "en": "Royal Fire Robe Bottoms",
  2621. "cn": "皇家火系袍裙"
  2622. },
  2623. "/actions/tailoring/kraken_tunic": {
  2624. "en": "Kraken Tunic",
  2625. "cn": "克拉肯皮衣"
  2626. },
  2627. "/actions/tailoring/royal_water_robe_top": {
  2628. "en": "Royal Water Robe Top",
  2629. "cn": "皇家水系袍服"
  2630. },
  2631. "/actions/tailoring/royal_nature_robe_top": {
  2632. "en": "Royal Nature Robe Top",
  2633. "cn": "皇家自然系袍服"
  2634. },
  2635. "/actions/tailoring/royal_fire_robe_top": {
  2636. "en": "Royal Fire Robe Top",
  2637. "cn": "皇家火系袍服"
  2638. },
  2639. "/actions/cooking/donut": {
  2640. "en": "Donut",
  2641. "cn": "甜甜圈"
  2642. },
  2643. "/actions/cooking/cupcake": {
  2644. "en": "Cupcake",
  2645. "cn": "纸杯蛋糕"
  2646. },
  2647. "/actions/cooking/gummy": {
  2648. "en": "Gummy",
  2649. "cn": "软糖"
  2650. },
  2651. "/actions/cooking/yogurt": {
  2652. "en": "Yogurt",
  2653. "cn": "酸奶"
  2654. },
  2655. "/actions/cooking/blueberry_donut": {
  2656. "en": "Blueberry Donut",
  2657. "cn": "蓝莓甜甜圈"
  2658. },
  2659. "/actions/cooking/blueberry_cake": {
  2660. "en": "Blueberry Cake",
  2661. "cn": "蓝莓蛋糕"
  2662. },
  2663. "/actions/cooking/apple_gummy": {
  2664. "en": "Apple Gummy",
  2665. "cn": "苹果软糖"
  2666. },
  2667. "/actions/cooking/apple_yogurt": {
  2668. "en": "Apple Yogurt",
  2669. "cn": "苹果酸奶"
  2670. },
  2671. "/actions/cooking/blackberry_donut": {
  2672. "en": "Blackberry Donut",
  2673. "cn": "黑莓甜甜圈"
  2674. },
  2675. "/actions/cooking/blackberry_cake": {
  2676. "en": "Blackberry Cake",
  2677. "cn": "黑莓蛋糕"
  2678. },
  2679. "/actions/cooking/orange_gummy": {
  2680. "en": "Orange Gummy",
  2681. "cn": "橙子软糖"
  2682. },
  2683. "/actions/cooking/orange_yogurt": {
  2684. "en": "Orange Yogurt",
  2685. "cn": "橙子酸奶"
  2686. },
  2687. "/actions/cooking/strawberry_donut": {
  2688. "en": "Strawberry Donut",
  2689. "cn": "草莓甜甜圈"
  2690. },
  2691. "/actions/cooking/strawberry_cake": {
  2692. "en": "Strawberry Cake",
  2693. "cn": "草莓蛋糕"
  2694. },
  2695. "/actions/cooking/plum_gummy": {
  2696. "en": "Plum Gummy",
  2697. "cn": "李子软糖"
  2698. },
  2699. "/actions/cooking/plum_yogurt": {
  2700. "en": "Plum Yogurt",
  2701. "cn": "李子酸奶"
  2702. },
  2703. "/actions/cooking/mooberry_donut": {
  2704. "en": "Mooberry Donut",
  2705. "cn": "哞莓甜甜圈"
  2706. },
  2707. "/actions/cooking/mooberry_cake": {
  2708. "en": "Mooberry Cake",
  2709. "cn": "哞莓蛋糕"
  2710. },
  2711. "/actions/cooking/peach_gummy": {
  2712. "en": "Peach Gummy",
  2713. "cn": "桃子软糖"
  2714. },
  2715. "/actions/cooking/peach_yogurt": {
  2716. "en": "Peach Yogurt",
  2717. "cn": "桃子酸奶"
  2718. },
  2719. "/actions/cooking/marsberry_donut": {
  2720. "en": "Marsberry Donut",
  2721. "cn": "火星莓甜甜圈"
  2722. },
  2723. "/actions/cooking/marsberry_cake": {
  2724. "en": "Marsberry Cake",
  2725. "cn": "火星莓蛋糕"
  2726. },
  2727. "/actions/cooking/dragon_fruit_gummy": {
  2728. "en": "Dragon Fruit Gummy",
  2729. "cn": "火龙果软糖"
  2730. },
  2731. "/actions/cooking/dragon_fruit_yogurt": {
  2732. "en": "Dragon Fruit Yogurt",
  2733. "cn": "火龙果酸奶"
  2734. },
  2735. "/actions/cooking/spaceberry_donut": {
  2736. "en": "Spaceberry Donut",
  2737. "cn": "太空莓甜甜圈"
  2738. },
  2739. "/actions/cooking/spaceberry_cake": {
  2740. "en": "Spaceberry Cake",
  2741. "cn": "太空莓蛋糕"
  2742. },
  2743. "/actions/cooking/star_fruit_gummy": {
  2744. "en": "Star Fruit Gummy",
  2745. "cn": "杨桃软糖"
  2746. },
  2747. "/actions/cooking/star_fruit_yogurt": {
  2748. "en": "Star Fruit Yogurt",
  2749. "cn": "杨桃酸奶"
  2750. },
  2751. "/actions/brewing/milking_tea": {
  2752. "en": "Milking Tea",
  2753. "cn": "挤奶茶"
  2754. },
  2755. "/actions/brewing/stamina_coffee": {
  2756. "en": "Stamina Coffee",
  2757. "cn": "耐力咖啡"
  2758. },
  2759. "/actions/brewing/foraging_tea": {
  2760. "en": "Foraging Tea",
  2761. "cn": "采摘茶"
  2762. },
  2763. "/actions/brewing/intelligence_coffee": {
  2764. "en": "Intelligence Coffee",
  2765. "cn": "智力咖啡"
  2766. },
  2767. "/actions/brewing/gathering_tea": {
  2768. "en": "Gathering Tea",
  2769. "cn": "采集茶"
  2770. },
  2771. "/actions/brewing/woodcutting_tea": {
  2772. "en": "Woodcutting Tea",
  2773. "cn": "伐木茶"
  2774. },
  2775. "/actions/brewing/cooking_tea": {
  2776. "en": "Cooking Tea",
  2777. "cn": "烹饪茶"
  2778. },
  2779. "/actions/brewing/defense_coffee": {
  2780. "en": "Defense Coffee",
  2781. "cn": "防御咖啡"
  2782. },
  2783. "/actions/brewing/brewing_tea": {
  2784. "en": "Brewing Tea",
  2785. "cn": "冲泡茶"
  2786. },
  2787. "/actions/brewing/attack_coffee": {
  2788. "en": "Attack Coffee",
  2789. "cn": "攻击咖啡"
  2790. },
  2791. "/actions/brewing/gourmet_tea": {
  2792. "en": "Gourmet Tea",
  2793. "cn": "美食茶"
  2794. },
  2795. "/actions/brewing/alchemy_tea": {
  2796. "en": "Alchemy Tea",
  2797. "cn": "炼金茶"
  2798. },
  2799. "/actions/brewing/enhancing_tea": {
  2800. "en": "Enhancing Tea",
  2801. "cn": "强化茶"
  2802. },
  2803. "/actions/brewing/cheesesmithing_tea": {
  2804. "en": "Cheesesmithing Tea",
  2805. "cn": "奶酪锻造茶"
  2806. },
  2807. "/actions/brewing/power_coffee": {
  2808. "en": "Power Coffee",
  2809. "cn": "力量咖啡"
  2810. },
  2811. "/actions/brewing/crafting_tea": {
  2812. "en": "Crafting Tea",
  2813. "cn": "制作茶"
  2814. },
  2815. "/actions/brewing/ranged_coffee": {
  2816. "en": "Ranged Coffee",
  2817. "cn": "远程咖啡"
  2818. },
  2819. "/actions/brewing/wisdom_tea": {
  2820. "en": "Wisdom Tea",
  2821. "cn": "经验茶"
  2822. },
  2823. "/actions/brewing/wisdom_coffee": {
  2824. "en": "Wisdom Coffee",
  2825. "cn": "经验咖啡"
  2826. },
  2827. "/actions/brewing/tailoring_tea": {
  2828. "en": "Tailoring Tea",
  2829. "cn": "缝纫茶"
  2830. },
  2831. "/actions/brewing/magic_coffee": {
  2832. "en": "Magic Coffee",
  2833. "cn": "魔法咖啡"
  2834. },
  2835. "/actions/brewing/super_milking_tea": {
  2836. "en": "Super Milking Tea",
  2837. "cn": "超级挤奶茶"
  2838. },
  2839. "/actions/brewing/super_stamina_coffee": {
  2840. "en": "Super Stamina Coffee",
  2841. "cn": "超级耐力咖啡"
  2842. },
  2843. "/actions/brewing/super_foraging_tea": {
  2844. "en": "Super Foraging Tea",
  2845. "cn": "超级采摘茶"
  2846. },
  2847. "/actions/brewing/super_intelligence_coffee": {
  2848. "en": "Super Intelligence Coffee",
  2849. "cn": "超级智力咖啡"
  2850. },
  2851. "/actions/brewing/processing_tea": {
  2852. "en": "Processing Tea",
  2853. "cn": "加工茶"
  2854. },
  2855. "/actions/brewing/lucky_coffee": {
  2856. "en": "Lucky Coffee",
  2857. "cn": "幸运咖啡"
  2858. },
  2859. "/actions/brewing/super_woodcutting_tea": {
  2860. "en": "Super Woodcutting Tea",
  2861. "cn": "超级伐木茶"
  2862. },
  2863. "/actions/brewing/super_cooking_tea": {
  2864. "en": "Super Cooking Tea",
  2865. "cn": "超级烹饪茶"
  2866. },
  2867. "/actions/brewing/super_defense_coffee": {
  2868. "en": "Super Defense Coffee",
  2869. "cn": "超级防御咖啡"
  2870. },
  2871. "/actions/brewing/super_brewing_tea": {
  2872. "en": "Super Brewing Tea",
  2873. "cn": "超级冲泡茶"
  2874. },
  2875. "/actions/brewing/ultra_milking_tea": {
  2876. "en": "Ultra Milking Tea",
  2877. "cn": "究极挤奶茶"
  2878. },
  2879. "/actions/brewing/super_attack_coffee": {
  2880. "en": "Super Attack Coffee",
  2881. "cn": "超级攻击咖啡"
  2882. },
  2883. "/actions/brewing/ultra_stamina_coffee": {
  2884. "en": "Ultra Stamina Coffee",
  2885. "cn": "究极耐力咖啡"
  2886. },
  2887. "/actions/brewing/efficiency_tea": {
  2888. "en": "Efficiency Tea",
  2889. "cn": "效率茶"
  2890. },
  2891. "/actions/brewing/swiftness_coffee": {
  2892. "en": "Swiftness Coffee",
  2893. "cn": "迅捷咖啡"
  2894. },
  2895. "/actions/brewing/super_alchemy_tea": {
  2896. "en": "Super Alchemy Tea",
  2897. "cn": "超级炼金茶"
  2898. },
  2899. "/actions/brewing/super_enhancing_tea": {
  2900. "en": "Super Enhancing Tea",
  2901. "cn": "超级强化茶"
  2902. },
  2903. "/actions/brewing/ultra_foraging_tea": {
  2904. "en": "Ultra Foraging Tea",
  2905. "cn": "究极采摘茶"
  2906. },
  2907. "/actions/brewing/ultra_intelligence_coffee": {
  2908. "en": "Ultra Intelligence Coffee",
  2909. "cn": "究极智力咖啡"
  2910. },
  2911. "/actions/brewing/channeling_coffee": {
  2912. "en": "Channeling Coffee",
  2913. "cn": "吟唱咖啡"
  2914. },
  2915. "/actions/brewing/super_cheesesmithing_tea": {
  2916. "en": "Super Cheesesmithing Tea",
  2917. "cn": "超级奶酪锻造茶"
  2918. },
  2919. "/actions/brewing/ultra_woodcutting_tea": {
  2920. "en": "Ultra Woodcutting Tea",
  2921. "cn": "究极伐木茶"
  2922. },
  2923. "/actions/brewing/super_power_coffee": {
  2924. "en": "Super Power Coffee",
  2925. "cn": "超级力量咖啡"
  2926. },
  2927. "/actions/brewing/artisan_tea": {
  2928. "en": "Artisan Tea",
  2929. "cn": "工匠茶"
  2930. },
  2931. "/actions/brewing/super_crafting_tea": {
  2932. "en": "Super Crafting Tea",
  2933. "cn": "超级制作茶"
  2934. },
  2935. "/actions/brewing/ultra_cooking_tea": {
  2936. "en": "Ultra Cooking Tea",
  2937. "cn": "究极烹饪茶"
  2938. },
  2939. "/actions/brewing/super_ranged_coffee": {
  2940. "en": "Super Ranged Coffee",
  2941. "cn": "超级远程咖啡"
  2942. },
  2943. "/actions/brewing/ultra_defense_coffee": {
  2944. "en": "Ultra Defense Coffee",
  2945. "cn": "究极防御咖啡"
  2946. },
  2947. "/actions/brewing/catalytic_tea": {
  2948. "en": "Catalytic Tea",
  2949. "cn": "催化茶"
  2950. },
  2951. "/actions/brewing/critical_coffee": {
  2952. "en": "Critical Coffee",
  2953. "cn": "暴击咖啡"
  2954. },
  2955. "/actions/brewing/super_tailoring_tea": {
  2956. "en": "Super Tailoring Tea",
  2957. "cn": "超级缝纫茶"
  2958. },
  2959. "/actions/brewing/ultra_brewing_tea": {
  2960. "en": "Ultra Brewing Tea",
  2961. "cn": "究极冲泡茶"
  2962. },
  2963. "/actions/brewing/super_magic_coffee": {
  2964. "en": "Super Magic Coffee",
  2965. "cn": "超级魔法咖啡"
  2966. },
  2967. "/actions/brewing/ultra_attack_coffee": {
  2968. "en": "Ultra Attack Coffee",
  2969. "cn": "究极攻击咖啡"
  2970. },
  2971. "/actions/brewing/blessed_tea": {
  2972. "en": "Blessed Tea",
  2973. "cn": "福气茶"
  2974. },
  2975. "/actions/brewing/ultra_alchemy_tea": {
  2976. "en": "Ultra Alchemy Tea",
  2977. "cn": "究极炼金茶"
  2978. },
  2979. "/actions/brewing/ultra_enhancing_tea": {
  2980. "en": "Ultra Enhancing Tea",
  2981. "cn": "究极强化茶"
  2982. },
  2983. "/actions/brewing/ultra_cheesesmithing_tea": {
  2984. "en": "Ultra Cheesesmithing Tea",
  2985. "cn": "究极奶酪锻造茶"
  2986. },
  2987. "/actions/brewing/ultra_power_coffee": {
  2988. "en": "Ultra Power Coffee",
  2989. "cn": "究极力量咖啡"
  2990. },
  2991. "/actions/brewing/ultra_crafting_tea": {
  2992. "en": "Ultra Crafting Tea",
  2993. "cn": "究极制作茶"
  2994. },
  2995. "/actions/brewing/ultra_ranged_coffee": {
  2996. "en": "Ultra Ranged Coffee",
  2997. "cn": "究极远程咖啡"
  2998. },
  2999. "/actions/brewing/ultra_tailoring_tea": {
  3000. "en": "Ultra Tailoring Tea",
  3001. "cn": "究极缝纫茶"
  3002. },
  3003. "/actions/brewing/ultra_magic_coffee": {
  3004. "en": "Ultra Magic Coffee",
  3005. "cn": "究极魔法咖啡"
  3006. },
  3007. "/actions/alchemy/coinify": {
  3008. "en": "Coinify",
  3009. "cn": "点金"
  3010. },
  3011. "/actions/alchemy/decompose": {
  3012. "en": "Decompose",
  3013. "cn": "分解"
  3014. },
  3015. "/actions/alchemy/transmute": {
  3016. "en": "Transmute",
  3017. "cn": "转化"
  3018. },
  3019. "/actions/enhancing/enhance": {
  3020. "en": "Enhance",
  3021. "cn": "强化"
  3022. }
  3023. };
  3024.  
  3025. function getTaskDetailFromTaskName(fullTaskName) {
  3026. var taskType = -1;
  3027. var taskName = "";
  3028.  
  3029. if (/^(.+) - (.+)$/.test(fullTaskName)) {
  3030. let res = /^(.+) - (.+)$/.exec(fullTaskName);
  3031. if (res[1] in taskOrderIndex) {
  3032. taskType = taskOrderIndex[res[1]];
  3033. }
  3034. else if (res[1] in taskOrderIndex_CN) {
  3035. taskType = taskOrderIndex_CN[res[1]];
  3036. }
  3037. taskName = res[2];
  3038. }
  3039. if (taskType == -1) console.log("Task Parse error", fullTaskName);
  3040.  
  3041. return { taskType, taskName };
  3042. }
  3043.  
  3044. function getHridFromAcionName(name) {
  3045. for (let key in allActions) {
  3046. if (allActions[key].en === name || allActions[key].cn === name) {
  3047. var actionHrid = key;
  3048. if (allActions[key].target != null) {
  3049. actionHrid = allActions[key].target;
  3050. }
  3051. var isAction = false;
  3052. if (allActions[key].multiAction == true) {
  3053. isAction = true;
  3054. }
  3055. return {actionHrid, isAction};
  3056. }
  3057. }
  3058. console.log("Action not found", name);
  3059. return null;
  3060. }
  3061.  
  3062. function getHridFromMonsterName(name) {
  3063. for (let key in allMonster) {
  3064. if (allMonster[key].en === name || allMonster[key].cn === name) {
  3065. return key;
  3066. }
  3067. }
  3068. console.log("Monster not found", name);
  3069. return null;
  3070. }
  3071. function getMapIndexFromMonsterName(name) {
  3072. const key = getHridFromMonsterName(name);
  3073. if (!key) {
  3074. return -1;
  3075. }
  3076. return allMonster[key].sortIndex;
  3077. }
  3078.  
  3079. function getTaskDetailFromElement(ele) {
  3080. const div = ele.querySelector("div.RandomTask_name__1hl1b");
  3081.  
  3082. const translatedfrom = div.getAttribute("script_translatedfrom"); //adapt old zhCN Script
  3083. if (translatedfrom) {
  3084. return getTaskDetailFromTaskName(translatedfrom);
  3085. }
  3086.  
  3087. const fullTaskName = Array.from(div.childNodes).find(node => node.nodeType === Node.TEXT_NODE).textContent.trim();
  3088. return getTaskDetailFromTaskName(fullTaskName);
  3089. }
  3090.  
  3091. function compareFn(a, b) {
  3092. var { taskType: a_TypeIndex, taskName: a_taskName } = getTaskDetailFromElement(a);
  3093.  
  3094. var { taskType: b_TypeIndex, taskName: b_TaskName } = getTaskDetailFromElement(b);
  3095.  
  3096. if (a_TypeIndex === taskBattleIndex && b_TypeIndex === taskBattleIndex) {
  3097. var a_MapIndex = getMapIndexFromMonsterName(a_taskName);
  3098. var b_MapIndex = getMapIndexFromMonsterName(b_TaskName);
  3099.  
  3100. if (a_MapIndex != b_MapIndex) {
  3101. return (a_MapIndex > b_MapIndex ? 1 : -1);
  3102. }
  3103. }
  3104.  
  3105. if (a_TypeIndex == b_TypeIndex) {
  3106. return a_taskName == b_TaskName ? 0
  3107. : (a_taskName > b_TaskName ? 1 : -1);
  3108. }
  3109.  
  3110. return a_TypeIndex > b_TypeIndex ? 1 : -1;
  3111. }
  3112.  
  3113. function adaptSVG(svg, objSVG, target) {
  3114. svg.setAttribute('target', target);
  3115. if (typeof objSVG == 'string' && objSVG.endsWith(".svg")) {
  3116. const use = document.createElementNS("http://www.w3.org/2000/svg", "use");
  3117. use.setAttribute("href", objSVG + '#' + target);
  3118. svg.appendChild(use);
  3119. } else {
  3120. const targetSymbolElement = objSVG.querySelector(`symbol[id="${target}"]`);
  3121. if (targetSymbolElement) {
  3122. const children = targetSymbolElement.childNodes;
  3123. for (let i = 0; i < children.length; i++) {
  3124. svg.appendChild(children[i].cloneNode(true));
  3125. }
  3126. svg.setAttribute('viewBox', targetSymbolElement.getAttribute('viewBox'));
  3127. svg.setAttribute('fill', 'none');
  3128. }
  3129. }
  3130. }
  3131.  
  3132. function addActionIconToTask(div) {
  3133. var { taskType, taskName } = getTaskDetailFromElement(div);
  3134.  
  3135. if (taskType == taskBattleIndex) {
  3136. return;
  3137. }
  3138.  
  3139. var { actionHrid, isAction } = getHridFromAcionName(taskName);
  3140. if (!actionHrid) {
  3141. return;
  3142. }
  3143.  
  3144. var offset = 50; // best
  3145. // const isShowDungeon = Object.values(globalConfig.dungeonConfig).filter(Boolean).length > 0;
  3146. // if (!isShowDungeon) {
  3147. // offset = 50;
  3148. // }else {
  3149. // offset += 30;
  3150. // }
  3151.  
  3152. const backgroundDiv = document.createElement('div');
  3153. backgroundDiv.id = "ActionIcon";
  3154. backgroundDiv.style.position = 'absolute';
  3155. backgroundDiv.style.left = `${offset}%`;
  3156. backgroundDiv.style.width = '30%';
  3157. backgroundDiv.style.height = '100%';
  3158. backgroundDiv.style.opacity = '0.3';
  3159.  
  3160. const actionName = actionHrid.split("/").pop();
  3161.  
  3162. const svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
  3163. svg.setAttribute("width", "100%");
  3164. svg.setAttribute("height", "100%");
  3165.  
  3166. if (!isAction) {
  3167. adaptSVG(svg, itemSVG, actionName);
  3168. } else {
  3169. adaptSVG(svg, actionSVG, actionName);
  3170. }
  3171.  
  3172. backgroundDiv.appendChild(svg);
  3173.  
  3174. div.appendChild(backgroundDiv);
  3175.  
  3176. // fix button style
  3177. div.style.position = 'relative';
  3178. div.querySelector(".RandomTask_content__VVQva").style.zIndex = 1;
  3179. div.querySelectorAll(".Item_item__2De2O").forEach(node => node.style.backgroundColor = "transparent");
  3180. }
  3181.  
  3182. function addBattleIconToTask(div) {
  3183. var { taskType, taskName } = getTaskDetailFromElement(div);
  3184.  
  3185. if (taskType != taskBattleIndex) {
  3186. return;
  3187. }
  3188.  
  3189. const monsterHrid = getHridFromMonsterName(taskName);
  3190. if (!monsterHrid) {
  3191. return;
  3192. }
  3193.  
  3194. var offset = 5; // 5% from left and each 30% width
  3195. const isShowDungeon = Object.values(globalConfig.dungeonConfig).filter(Boolean).length > 0;
  3196. if (!isShowDungeon) {
  3197. offset = 50;
  3198. }
  3199.  
  3200. const backgroundDiv = document.createElement('div');
  3201. backgroundDiv.id = "MonsterIcon";
  3202. backgroundDiv.style.position = 'absolute';
  3203. backgroundDiv.style.left = `${offset}%`; offset += 30;
  3204. backgroundDiv.style.width = '30%';
  3205. backgroundDiv.style.height = '100%';
  3206. backgroundDiv.style.opacity = '0.3';
  3207.  
  3208. const monsterName = monsterHrid.split("/").pop();
  3209.  
  3210. const svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
  3211. svg.setAttribute("width", "100%");
  3212. svg.setAttribute("height", "100%");
  3213.  
  3214. adaptSVG(svg, monsterSVG, monsterName);
  3215.  
  3216. backgroundDiv.appendChild(svg);
  3217.  
  3218. div.appendChild(backgroundDiv);
  3219.  
  3220.  
  3221. const dungeonMap = allMonster[monsterHrid]?.dungeon;
  3222. if (isShowDungeon && dungeonMap) {
  3223. Object.keys(globalConfig.dungeonConfig).filter(dungeon => globalConfig.dungeonConfig[dungeon]).forEach(dungeon => {
  3224. if (dungeonMap.includes(dungeon)) {
  3225. const dungeonDiv = document.createElement('div');
  3226. dungeonDiv.id = "DungeonIcon";
  3227. dungeonDiv.style.position = 'absolute';
  3228. dungeonDiv.style.left = `${offset}%`; offset += 30;
  3229. dungeonDiv.style.width = '30%';
  3230. dungeonDiv.style.height = '100%';
  3231. dungeonDiv.style.opacity = '0.3';
  3232.  
  3233. const dungeonName = dungeon.split("/").pop();
  3234.  
  3235. const svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
  3236. svg.setAttribute("width", "100%");
  3237. svg.setAttribute("height", "100%");
  3238.  
  3239. adaptSVG(svg, actionSVG, dungeonName);
  3240.  
  3241. dungeonDiv.appendChild(svg);
  3242. div.appendChild(dungeonDiv);
  3243. }
  3244. })
  3245. }
  3246.  
  3247. // fix button style
  3248. div.style.position = 'relative';
  3249. div.querySelector(".RandomTask_content__VVQva").style.zIndex = 1;
  3250. div.querySelectorAll(".Item_item__2De2O").forEach(node => node.style.backgroundColor = "transparent");
  3251.  
  3252. }
  3253.  
  3254. function updateIconByConfig() {
  3255. const battleIcon = document.querySelector("#BattleIcon");
  3256. if (battleIcon) {
  3257. if (globalConfig.isBattleIcon) {
  3258. battleIcon.style.opacity = '1';
  3259. battleIcon.querySelector("#taskCount").style.display = 'inline';
  3260. } else {
  3261. battleIcon.style.opacity = '0.3';
  3262. battleIcon.querySelector("#taskCount").style.display = 'none';
  3263. }
  3264. }
  3265.  
  3266. Object.keys(globalConfig.dungeonConfig).forEach(dungeon => {
  3267. const dungeonIcon = document.querySelector(`#${dungeon.split("/").pop()}`);
  3268. if (dungeonIcon) {
  3269. if (globalConfig.isBattleIcon && globalConfig.dungeonConfig[dungeon]) {
  3270. dungeonIcon.style.opacity = '1';
  3271. dungeonIcon.querySelector("#taskCount").style.display = 'inline';
  3272. } else {
  3273. dungeonIcon.style.opacity = '0.3';
  3274. dungeonIcon.querySelector("#taskCount").style.display = 'none';
  3275. }
  3276. }
  3277. });
  3278. }
  3279.  
  3280. function createIcon(id, objSVG, target) {
  3281.  
  3282. // battle icon
  3283. const div = document.createElement("div");
  3284. div.id = id;
  3285. div.style.height = "100%"; // 设置高度
  3286.  
  3287. const svg = document.createElementNS("http://www.w3.org/2000/svg", "svg");
  3288. svg.setAttribute("role", "img");
  3289. svg.setAttribute("aria-label", "Combat");
  3290. svg.setAttribute("class", "Icon_icon__2LtL_ Icon_xtiny__331pI Icon_inline__1Idwv");
  3291. svg.setAttribute("width", "100%");
  3292. svg.setAttribute("height", "100%");
  3293. svg.style.margin = "1px";
  3294.  
  3295. adaptSVG(svg, objSVG, target);
  3296.  
  3297. const divCount = document.createElement("span");
  3298. divCount.id = "taskCount";
  3299. divCount.textContent = "";
  3300.  
  3301. div.appendChild(svg);
  3302. div.appendChild(divCount);
  3303.  
  3304. // div onclick change config
  3305. div.addEventListener("click", function (evt) {
  3306. if (id === "BattleIcon") {
  3307. globalConfig.isBattleIcon = !globalConfig.isBattleIcon;
  3308. } else {
  3309. let configkey = Object.keys(globalConfig.dungeonConfig).find(key => key.split("/").pop() === id);
  3310. globalConfig.dungeonConfig[configkey] = !globalConfig.dungeonConfig[configkey];
  3311. }
  3312. saveConfig(); //auto save when click
  3313.  
  3314. updateIconByConfig();
  3315.  
  3316. //clean all checkers to refresh statics
  3317. document.querySelectorAll("#taskChekerInCoin").forEach(checker => checker.id = null);
  3318. });
  3319.  
  3320. return div;
  3321. }
  3322.  
  3323. function addSortButtonAndStaticsBar(pannel) {
  3324. const sortButton = document.createElement("button");
  3325. sortButton.setAttribute("class", "Button_button__1Fe9z Button_small__3fqC7");
  3326. sortButton.id = "TaskSort";
  3327. sortButton.innerHTML = "TaskSort";
  3328. sortButton.addEventListener("click", function (evt) {
  3329. const list = document.querySelector("div.TasksPanel_taskList__2xh4k");
  3330. [...list.querySelectorAll("div.RandomTask_randomTask__3B9fA")]
  3331. .sort(compareFn)
  3332. .forEach(node => list.appendChild(node));
  3333. });
  3334. pannel.appendChild(sortButton);
  3335.  
  3336. // add statics bar
  3337. const battleIcon = createIcon("BattleIcon", "/static/media/misc_sprite.426c5d78.svg", "combat");
  3338. pannel.appendChild(battleIcon);
  3339.  
  3340. // add all dungeon icon
  3341. Object.keys(globalConfig.dungeonConfig).forEach(dungeon => {
  3342. const dungeonIcon = createIcon(dungeon.split("/").pop(), actionSVG, dungeon.split("/").pop());
  3343. pannel.appendChild(dungeonIcon);
  3344. });
  3345. }
  3346.  
  3347. function optimizeForMobile(pannel) {
  3348. if (/Mobi|Android/i.test(navigator.userAgent)) {
  3349. const upgradeButton = pannel.querySelector("button.Button_button__1Fe9z.Button_small__3fqC7");
  3350. if (upgradeButton) {
  3351. upgradeButton.style.display = "none";
  3352. console.log("hide upgrade button when mobile");
  3353. }
  3354. }
  3355. }
  3356.  
  3357. function refresh() {
  3358. const pannel = document.querySelector("div.TasksPanel_taskSlotCount__nfhgS");
  3359. if (pannel) {
  3360. let sortButton = pannel.querySelector("#TaskSort");
  3361. if (!sortButton) {
  3362. optimizeForMobile(pannel);
  3363. addSortButtonAndStaticsBar(pannel);
  3364. updateIconByConfig();
  3365. }
  3366. }
  3367. else {
  3368. return; //not in task board
  3369. }
  3370.  
  3371. let needRefreshTaskStatics = false;
  3372. const taskNodes = document.querySelectorAll("div.TasksPanel_taskList__2xh4k div.RandomTask_randomTask__3B9fA");
  3373. for (let node of taskNodes) {
  3374. const coinDiv = node.querySelector(".Item_count__1HVvv");
  3375. if (coinDiv && !coinDiv.querySelector("#taskChekerInCoin")) {
  3376. needRefreshTaskStatics = true;
  3377.  
  3378. //remove old and add new icon
  3379. const oldActionIcon = node.querySelector("#ActionIcon");
  3380. if (oldActionIcon) {
  3381. oldActionIcon.remove();
  3382. }
  3383.  
  3384. const oldIcon = node.querySelector("#MonsterIcon");
  3385. if (oldIcon) {
  3386. oldIcon.remove();
  3387. }
  3388. const oldDungeonIcons = node.querySelectorAll("#DungeonIcon");
  3389. oldDungeonIcons.forEach(icon => icon.remove());
  3390.  
  3391. // do refresh
  3392. if (globalConfig.isBattleIcon) {
  3393. addBattleIconToTask(node);
  3394. }
  3395. if (globalConfig.isActionIcon) {
  3396. addActionIconToTask(node);
  3397. }
  3398.  
  3399. //add checker
  3400. const checker = document.createElement("div");
  3401. checker.id = "taskChekerInCoin";
  3402. coinDiv.appendChild(checker);
  3403. }
  3404. }
  3405.  
  3406. if (needRefreshTaskStatics) {
  3407. const battleIcon = document.querySelector("#BattleIcon #taskCount");
  3408. if (battleIcon) {
  3409. const battleCount = [...document.querySelectorAll("div.RandomTask_randomTask__3B9fA")].filter(node => node.querySelector("#MonsterIcon")).length;
  3410. battleIcon.textContent = battleCount > 0 ? `*${battleCount}` : '';
  3411. }
  3412.  
  3413. Object.keys(globalConfig.dungeonConfig).forEach(dungeon => {
  3414. const dungeonIcon = document.querySelector(`#${dungeon.split("/").pop()} #taskCount`);
  3415. if (dungeonIcon) {
  3416. const dungeonCount = [...document.querySelectorAll("div.RandomTask_randomTask__3B9fA")].filter(node => {
  3417. const dungeonIcons = node.querySelectorAll("#DungeonIcon svg");
  3418. return Array.from(dungeonIcons).some(svg => svg.getAttribute("target").includes(dungeon.split("/").pop()));
  3419. }).length;
  3420. dungeonIcon.textContent = dungeonCount > 0 ? `*${dungeonCount}` : '';
  3421. }
  3422. });
  3423. }
  3424. }
  3425.  
  3426. const config = { attributes: true, childList: true, subtree: true };
  3427.  
  3428. const observer = new MutationObserver(function (mutationsList, observer) {
  3429. refresh();
  3430. });
  3431.  
  3432. observer.observe(document, config);
  3433.  
  3434. })();