You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

test-mon.html 4.0 kB

7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>怪物代码测试</title>
  6. <script type="text/javascript" src="parseCard.js" ></script>
  7. <script type="text/javascript">
  8. var cards;
  9. var pcards;
  10. var mid;
  11. var GM_xmlhttpRequest = function(GM_param) {
  12. var xhr = new XMLHttpRequest(); //创建XMLHttpRequest对象
  13. xhr.open(GM_param.method, GM_param.url, true);
  14. if (GM_param.responseType) xhr.responseType = GM_param.responseType;
  15. if (GM_param.overrideMimeType) xhr.overrideMimeType(GM_param.overrideMimeType);
  16. xhr.onreadystatechange = function() //设置回调函数
  17. {
  18. if (xhr.readyState === xhr.DONE) {
  19. if (xhr.status === 200 && GM_param.onload)
  20. GM_param.onload(xhr);
  21. if (xhr.status !== 200 && GM_param.onerror)
  22. GM_param.onerror(xhr);
  23. }
  24. }
  25. for (var header in GM_param.headers) {
  26. xhr.setRequestHeader(header, GM_param.headers[header]);
  27. }
  28. xhr.send(GM_param.data ? GM_param.data : null);
  29. }
  30. function g(id)
  31. {
  32. let m = cards[id];
  33. console.log("原始数组",m);
  34. console.log("已解析对象",pcards[id]); //输出人家大佬的格式
  35. var pn = ["火","水","木","光","暗"];
  36. var p = [pn[m[2]]||"无", pn[m[3]]||"无"];
  37. var tn = ["0进化","1平衡","2体力","3回复","4龙","5神","6攻击","7恶魔","8机械","9","10","11","12觉醒","13","14强化","15卖钱"];
  38. //因为觉醒数量的不一样,所以需要制定序号
  39. var awokenCIdx = 58+m[57]*3; //awoken Count Index,觉醒数量的序号
  40. var superAwokenIdx = awokenCIdx+1+m[awokenCIdx]; //super awoken Index,超觉醒的序号
  41. //类型
  42. var type = [];
  43. type.push(tn[m[5]]);
  44. if (m[6]!=-1) //第二个type
  45. type.push(tn[m[6]]);
  46. if (m[superAwokenIdx+3]!=-1) //第三个type要倒着来
  47. type.push(tn[m[superAwokenIdx+3]]);
  48. console.log("No.%d %s [%s/%s],Lv%d,类型:%s,%d星,COST%d,%s个觉醒,三维%s,110级增长%d%%,%s当二技,1级吃经验%d,1级卖¥%d,%dMP,成长类型%d,升2级经验%d,技能编号%d,队长%d,进化链根%d,%s究极退化为%d,进化素材ID[%d,%d,%d,%d,%d]",
  49. m[0], //ID
  50. m[1], //名字
  51. p[0],p[1], //属性
  52. m[10], //最大等级
  53. type.join("|"), //类型
  54. m[7], //星级
  55. m[8], //cost
  56. m[58+m[57]*3], //觉醒数
  57. m[14]+"-"+m[15]+"/"+m[17]+"-"+m[18]+"/"+m[20]+"-"+m[21], //三维
  58. m[superAwokenIdx+9], //110级增长
  59. m[superAwokenIdx+7] & 1?"能":"不能", //二技
  60. Math.round(m[11]/4), //1级经验,每级,直接乘
  61. Math.round(m[13]/10), //1级卖钱
  62. m[superAwokenIdx+4], //MP
  63. m[23], //成长类型
  64. Math.round(m[23] * Math.pow((2 - 1) / 98,m[24])), //1级升2级经验
  65. m[25], //技能编号
  66. m[26], //队长技能编号
  67. m[superAwokenIdx+1], //进化根编号
  68. m[4]?"可":"不可", //可退化?
  69. m[40], //可退化?
  70. m[41],m[42],m[43],m[44],m[45], //进化素材ID 1-5
  71. );
  72. }
  73. GM_xmlhttpRequest({
  74. method: "GET",
  75. url:"ja-card.json",
  76. onload: function(response) {
  77. const originalJSON = JSON.parse(response.response);
  78. console.log(originalJSON)
  79. cards = originalJSON.card.filter((c,idx)=>{return c[0]==idx;});
  80. pcards = cards.map(c=>{
  81. let card = new Card(c);
  82. //将可能的flag显示为二进制
  83. card.unk01bin = card.unk01.toString(2);
  84. card.unk02bin = card.unk02.toString(2);
  85. card.unk03bin = card.unk03.toString(2);
  86. card.unk04bin = card.unk04.toString(2);
  87. card.unk05bin = card.unk05.toString(2);
  88. card.unk06bin = card.unk06.toString(2);
  89. card.unk07bin = card.unk07.toString(2);
  90. card.unk08bin = card.unk08.toString(2); //已知一些flag
  91. return card;
  92. });
  93. },
  94. onerror: function(response) {
  95. console.error("怪物数据获取错误",response);
  96. }
  97. });
  98. </script>
  99. </head>
  100. <body>
  101. <script type="text/javascript">
  102. window.onload = function()
  103. {
  104. mid = document.querySelector("#mid");
  105. }
  106. </script>
  107. <input type="number" id="mid"><input type="button" value="获取怪物" onclick="g(parseInt(mid.value,10));">
  108. </body>
  109. </html>

智龙迷城队伍图制作工具