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.

script.js 6.3 kB

7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192
  1. var ms = null;
  2. window.onload = function()
  3. {
  4. GM_xmlhttpRequest({
  5. method: "GET",
  6. url:"monsters-info/mon.json",
  7. onload: function(response) {
  8. ms = JSON.parse(response.response);
  9. initialize();//初始化
  10. },
  11. onerror: function(response) {
  12. console.error("怪物数据获取错误",response);
  13. }
  14. });
  15. }
  16. //初始化
  17. function initialize()
  18. {
  19. var monstersList = document.querySelector("#monsters-list");
  20. ms.forEach(function(m){
  21. var opt = monstersList.appendChild(document.createElement("option"));
  22. opt.value = m.id;
  23. opt.label = m.id + " | " + m.name + " | " + m.ename;
  24. });
  25. //编辑框
  26. var editBox = document.querySelector(".edit-box");
  27. var settingBox = editBox.querySelector(".setting-box")
  28. var monstersSearch = editBox.querySelector(".edit-box .m-id");
  29. monstersSearch.onchange = function(){
  30. if (/^\d+$/.test(this.value))
  31. {
  32. editChangeMonId(parseInt(this.value));
  33. }
  34. }
  35. monstersSearch.oninput = monstersSearch.onchange;
  36. var monEditAwokens = Array.prototype.slice.call(settingBox.querySelectorAll(".m-awoken-ul>.awoken-icon"));
  37. monEditAwokens.forEach(function(akDom,idx,domArr){
  38. akDom.onclick = function(){
  39. if (idx >= domArr.filter(function(d){return !d.classList.contains("display-none")}).length-1)
  40. domArr[0].innerHTML = "★";
  41. else
  42. domArr[0].innerHTML = idx;
  43. for(var ai=1;ai<domArr.length;ai++)
  44. {
  45. if(ai<=idx)
  46. domArr[ai].classList.remove("unselected-awoken");
  47. else
  48. domArr[ai].classList.add("unselected-awoken");
  49. }
  50. }
  51. })
  52. var monEditLv = settingBox.querySelector(".m-level");
  53. var monEditLv99 = settingBox.querySelector(".m-level-btn-99");
  54. var monEditLv110 = settingBox.querySelector(".m-level-btn-110");
  55. monEditLv99.onclick = function(){
  56. monEditLv.value = this.value;
  57. }
  58. monEditLv110.onclick = monEditLv99.onclick;
  59. var monEditAddHp = settingBox.querySelector(".m-add-hp");
  60. var monEditAddAtk = settingBox.querySelector(".m-add-atk");
  61. var monEditAddDef = settingBox.querySelector(".m-add-def");
  62. var monEditAddHp99 = settingBox.querySelector(".m-add-hp-btn-99");
  63. monEditAddHp99.onclick = function(){monEditAddHp.value = this.value}
  64. var monEditAddAtk99 = settingBox.querySelector(".m-add-atk-btn-99");
  65. monEditAddAtk99.onclick = function(){monEditAddAtk.value = this.value}
  66. var monEditAddDef99 = settingBox.querySelector(".m-add-def-btn-99");
  67. monEditAddDef99.onclick = function(){monEditAddDef.value = this.value}
  68. var monEditAdd297 = settingBox.querySelector(".m-add-btn-297");
  69. monEditAdd297.onclick = function(){monEditAddHp.value = monEditAddAtk.value = monEditAddDef.value = 99}
  70. test();
  71. }
  72. function changeid(mon,monDom,awokenDom)
  73. {
  74. var md = ms[mon.id]; //怪物固定数据
  75. /*
  76. mon.id
  77. mon.level
  78. mon.awoken
  79. mon.addition
  80. mon.acquisitusAwoken
  81. */
  82. if (mon.id>-1) //如果提供了id
  83. {
  84. monDom.className = "monster";
  85. monDom.classList.add("pet-cards-" + Math.ceil(mon.id/100)); //添加图片编号
  86. var idxInPage = (mon.id-1) % 100; //获取当前页面的总序号
  87. monDom.classList.add("pet-cards-index-x-" + idxInPage % 10); //添加X方向序号
  88. monDom.classList.add("pet-cards-index-y-" + parseInt(idxInPage / 10)); //添加Y方向序号
  89. monDom.querySelector(".property").className = "property property-" + md.ppt[0]; //主属性
  90. monDom.querySelector(".subproperty").className = "subproperty subproperty-" + md.ppt[1]; //副属性
  91. monDom.title = "No." + mon.id + " " + md.name;
  92. monDom.href = "http://pad.skyozora.com/pets/" + mon.id;
  93. }
  94. if (mon.level>0) //如果提供了等级
  95. {
  96. monDom.querySelector(".level").innerHTML = mon.level || 99;
  97. }
  98. if (mon.awoken>-1) //如果提供了觉醒
  99. {
  100. var awokenIcon = monDom.querySelector(".awoken-count");
  101. if (mon.awoken == 0 || md.awoken.length < 1) //没觉醒
  102. {
  103. awokenIcon.classList.add("display-none");
  104. awokenIcon.innerHTML = "";
  105. }else
  106. {
  107. awokenIcon.classList.remove("display-none");
  108. if (mon.awoken < md.awoken.length) //觉醒没满直接写数字
  109. awokenIcon.innerHTML = mon.awoken;
  110. else //满觉醒打星星
  111. awokenIcon.innerHTML = "★";
  112. }
  113. }
  114. if (mon.addition) //如果提供了加值
  115. {
  116. monDom.querySelector(".addition .hp").innerHTML = mon.addition[0];
  117. monDom.querySelector(".addition .atk").innerHTML = mon.addition[1];
  118. monDom.querySelector(".addition .def").innerHTML = mon.addition[2];
  119. if (mon.addition[0]+mon.addition[1]+mon.addition[2] >= 297)
  120. {
  121. monDom.querySelector(".addition").classList.add("has297");
  122. }else
  123. {
  124. monDom.querySelector(".addition").classList.remove("has297");
  125. }
  126. }
  127. if (awokenDom && mon.acquisitusAwoken) //如果提供了潜觉
  128. {
  129. }
  130. }
  131. function test()
  132. {
  133. var m1 = document.querySelector(".formation-A-box .formation-team .team-1 .monster");
  134. var a1 = document.querySelector(".formation-A-box .formation-team .team-1 .acquisitus-awoken-ul");
  135. changeid({
  136. id:5209,
  137. level:98,
  138. awoken:8,
  139. addition:[99,99,99],
  140. acquisitusAwoken:[],
  141. },m1,a1)
  142. editChangeMonId(3264);
  143. }
  144. function editChangeMonId(id)
  145. {
  146. var md = ms[id]; //怪物固定数据
  147. if (!md){
  148. id = 0;
  149. md = ms[0]
  150. }
  151. var monInfoBox = document.querySelector(".edit-box .monsterinfo-box");
  152. var me = monInfoBox.querySelector(".monster");
  153. changeid({id:id,},me); //改变图像
  154. var mId = monInfoBox.querySelector(".monster-id");
  155. mId.innerHTML = id;
  156. var mRare = monInfoBox.querySelector(".monster-rare");
  157. mRare.className = "monster-rare rare-" + md.rare;
  158. var mName = monInfoBox.querySelector(".monster-name");
  159. mName.innerHTML = md.name;
  160. var mType = monInfoBox.querySelector(".monster-type").children;
  161. for (var ti=0;ti<mType.length;ti++)
  162. {
  163. if (md.type[ti])
  164. {
  165. mType[ti].className = "type-name type-name-" + md.type[ti];
  166. mType[ti].firstChild.className = "type-icon type-icon-" + md.type[ti];
  167. }else
  168. {
  169. mType[ti].className = "display-none";
  170. }
  171. }
  172. var monSettingBox = document.querySelector(".edit-box .setting-box");
  173. var mAwoken = monSettingBox.querySelector(".m-awoken-ul").children;
  174. mAwoken[0].innerHTML = md.awoken.length?"★":"0";
  175. for (var ai=1;ai<mAwoken.length;ai++)
  176. {
  177. if (md.awoken[ai-1])
  178. {
  179. mAwoken[ai].className = "awoken-icon awoken-" + md.awoken[ai-1];
  180. }else
  181. {
  182. mAwoken[ai].className = "display-none";
  183. }
  184. }
  185. }

智龙迷城队伍图制作工具

Contributors (1)