report_runeupgrade.php 63 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069
  1. <!DOCTYPE html>
  2. <html lang='en'>
  3. <head>
  4. <meta content='text/html; charset=utf-8' http-equiv='content-type'/>
  5. <meta name='viewport' content='width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1'/>
  6. <title><?=$page->title?></title>
  7. <link rel='shortcut icon' href='<?=$page->favicon?>'/>
  8. <!-- CSS files -->
  9. <link rel='stylesheet' type='text/css' href='<?=$path["css"]?>ui.css'/>
  10. <link rel='stylesheet' type='text/css' href='<?=$path["css"]?>report.css'/>
  11. <!-- Script files -->
  12. <script src="<?=$path["js"]?>ui.js"></script>
  13. <!-- Meta tags -->
  14. <link rel='canonical' href='<?=$page->canonical?>'/>
  15. <link rel='author' href='<?=$page->author?>'/>
  16. <link rel='publisher' href='<?=$page->author?>'/>
  17. <meta name='description' content='<?=$page->description?>'/>
  18. <meta property='og:title' content='<?=$page->title?>'/>
  19. <meta property='og:url' content='<?=$page->canonical?>'/>
  20. <meta property='og:description' content='<?=$page->description?>'/>
  21. <meta property='og:image' content='<?=$page->icon?>'/>
  22. <meta property='og:site_name' content='<?=$page->name?>'/>
  23. <meta property='og:type' content='website'/>
  24. <meta property='og:locale' content='en'/>
  25. <meta name='twitter:card' content='summary'/>
  26. <meta name='twitter:title' content='<?=$page->title?>'/>
  27. <meta name='twitter:description' content='<?=$page->description?>'/>
  28. <meta name='twitter:image' content='<?=$page->icon?>'/>
  29. <meta name='twitter:url' content='<?=$page->canonical?>'/>
  30. <meta name='robots' content='index follow'/>
  31. </head>
  32. <body id='body_report_runeupgrade'>
  33. <?php
  34. include __DIR__ . "/inc/header.php";
  35. ?>
  36. <section class='filters'>
  37. <h2>
  38. <span>
  39. Report filters
  40. </span>
  41. </h2>
  42. <form action='/report/runeupgrade/' method='get'>
  43. <table>
  44. <tr>
  45. <td class='filter filter_title' rowspan='2'>
  46. <span>
  47. Monster
  48. </span>
  49. </td>
  50. <td class='filter' colspan='3'>
  51. <span>Name:</span>
  52. <input type='text' name='monster_name' id='filter_name' value='<?=$page->filters["monster_name"]?>'/>
  53. </td>
  54. <td class='filter'>
  55. <span>Stars:</span>
  56. <input type='number' name='monster_min_stars' id='filter_stars_min' min='1' max='6' value='<?=$page->filters["monster_min_stars"]?>'/>
  57. -
  58. <input type='number' name='monster_max_stars' id='filter_stars_max' min='1' max='6' value='<?=$page->filters["monster_max_stars"]?>'/>
  59. </td>
  60. </tr>
  61. <td class='filter' colspan='4'>
  62. <?php
  63. $checked = "";
  64. if ($page->filters["monster_in_storage"]){
  65. $checked = "checked";
  66. }
  67. ?>
  68. <input type='checkbox' name='monster_in_storage' <?=$checked?>/>
  69. Show monsters in storage
  70. </td>
  71. </tr>
  72. <tr>
  73. <td class='filter filter_title filter_separator' rowspan='5'>
  74. <span>
  75. Runes
  76. </span>
  77. </td>
  78. <td class='filter filter_stars filter_separator' colspan='2'>
  79. <span>Stars:</span>
  80. <input type='number' name='rune_min_stars' id='filter_stars_min' min='1' max='6' value='<?=$page->filters["rune_min_stars"]?>'/>
  81. -
  82. <input type='number' name='rune_max_stars' id='filter_stars_max' min='1' max='6' value='<?=$page->filters["rune_max_stars"]?>'/>
  83. </td>
  84. <td class='filter filter_separator' colspan='2'>
  85. <span>Level:</span>
  86. <input type='number' name='rune_min_level' id='filter_level_min' min='0' max='15' value='<?=$page->filters["rune_min_level"]?>'/>
  87. -
  88. <input type='number' name='rune_max_level' id='filter_level_max' min='0' max='15' value='<?=$page->filters["rune_max_level"]?>'/>
  89. </td>
  90. </tr>
  91. <tr>
  92. <td class='filter' rowspan='4'>
  93. <span>Slot:</span>
  94. <select multiple name='rune_slot[]' id='filter_slot'>
  95. <?php
  96. if (in_array(1, $page->filters["rune_slot"])){
  97. $selected = "selected='selected'";
  98. }
  99. else{
  100. $selected = "";
  101. }
  102. ?>
  103. <option value='1' <?=$selected?>>1</option>
  104. <?php
  105. if (in_array(2, $page->filters["rune_slot"])){
  106. $selected = "selected='selected'";
  107. }
  108. else{
  109. $selected = "";
  110. }
  111. ?>
  112. <option value='2' <?=$selected?>>2</option>
  113. <?php
  114. if (in_array(3, $page->filters["rune_slot"])){
  115. $selected = "selected='selected'";
  116. }
  117. else{
  118. $selected = "";
  119. }
  120. ?>
  121. <option value='3' <?=$selected?>>3</option>
  122. <?php
  123. if (in_array(4, $page->filters["rune_slot"])){
  124. $selected = "selected='selected'";
  125. }
  126. else{
  127. $selected = "";
  128. }
  129. ?>
  130. <option value='4' <?=$selected?>>4</option>
  131. <?php
  132. if (in_array(5, $page->filters["rune_slot"])){
  133. $selected = "selected='selected'";
  134. }
  135. else{
  136. $selected = "";
  137. }
  138. ?>
  139. <option value='5' <?=$selected?>>5</option>
  140. <?php
  141. if (in_array(6, $page->filters["rune_slot"])){
  142. $selected = "selected='selected'";
  143. }
  144. else{
  145. $selected = "";
  146. }
  147. ?>
  148. <option value='6' <?=$selected?>>6</option>
  149. </select>
  150. </td>
  151. <td class='filter' colspan='3'>
  152. <span>Quality:</span>
  153. <?php
  154. $selected_0 = "";
  155. $selected_1 = "";
  156. $selected_2 = "";
  157. $selected_3 = "";
  158. $selected_4 = "";
  159. switch (strtoupper($page->filters["rune_min_quality"])){
  160. case 0:
  161. $selected_0 = "selected";
  162. break;
  163. case 1:
  164. $selected_1 = "selected";
  165. break;
  166. case 2:
  167. $selected_2 = "selected";
  168. break;
  169. case 3:
  170. $selected_3 = "selected";
  171. break;
  172. case 4:
  173. $selected_4 = "selected";
  174. break;
  175. }
  176. ?>
  177. <select name='rune_min_quality' id='filter_quality_min'>
  178. <option value='0' <?=$selected_0?>>Normal</option>
  179. <option value='1' <?=$selected_1?>>Magic</option>
  180. <option value='2' <?=$selected_2?>>Rare</option>
  181. <option value='3' <?=$selected_3?>>Hero</option>
  182. <option value='4' <?=$selected_4?>>Legend</option>
  183. </select>
  184. -
  185. <?php
  186. $selected_0 = "";
  187. $selected_1 = "";
  188. $selected_2 = "";
  189. $selected_3 = "";
  190. $selected_4 = "";
  191. switch (strtoupper($page->filters["rune_max_quality"])){
  192. case 0:
  193. $selected_0 = "selected";
  194. break;
  195. case 1:
  196. $selected_1 = "selected";
  197. break;
  198. case 2:
  199. $selected_2 = "selected";
  200. break;
  201. case 3:
  202. $selected_3 = "selected";
  203. break;
  204. case 4:
  205. $selected_4 = "selected";
  206. break;
  207. }
  208. ?>
  209. <select name='rune_max_quality' id='filter_quality_max'>
  210. <option value='0' <?=$selected_0?>>Normal</option>
  211. <option value='1' <?=$selected_1?>>Magic</option>
  212. <option value='2' <?=$selected_2?>>Rare</option>
  213. <option value='3' <?=$selected_3?>>Hero</option>
  214. <option value='4' <?=$selected_4?>>Legend</option>
  215. </select>
  216. </td>
  217. </tr>
  218. <tr>
  219. <td class='filter' colspan='3'>
  220. <span>Original quality:</span>
  221. <?php
  222. $selected_0 = "";
  223. $selected_1 = "";
  224. $selected_2 = "";
  225. $selected_3 = "";
  226. $selected_4 = "";
  227. switch (strtoupper($page->filters["rune_min_original_quality"])){
  228. case 0:
  229. $selected_0 = "selected";
  230. break;
  231. case 1:
  232. $selected_1 = "selected";
  233. break;
  234. case 2:
  235. $selected_2 = "selected";
  236. break;
  237. case 3:
  238. $selected_3 = "selected";
  239. break;
  240. case 4:
  241. $selected_4 = "selected";
  242. break;
  243. }
  244. ?>
  245. <select name='rune_min_original_quality' id='filter_original_quality_min'>
  246. <option value='0' <?=$selected_0?>>Normal</option>
  247. <option value='1' <?=$selected_1?>>Magic</option>
  248. <option value='2' <?=$selected_2?>>Rare</option>
  249. <option value='3' <?=$selected_3?>>Hero</option>
  250. <option value='4' <?=$selected_4?>>Legend</option>
  251. </select>
  252. -
  253. <?php
  254. $selected_0 = "";
  255. $selected_1 = "";
  256. $selected_2 = "";
  257. $selected_3 = "";
  258. $selected_4 = "";
  259. switch (strtoupper($page->filters["rune_max_quality"])){
  260. case 0:
  261. $selected_0 = "selected";
  262. break;
  263. case 1:
  264. $selected_1 = "selected";
  265. break;
  266. case 2:
  267. $selected_2 = "selected";
  268. break;
  269. case 3:
  270. $selected_3 = "selected";
  271. break;
  272. case 4:
  273. $selected_4 = "selected";
  274. break;
  275. }
  276. ?>
  277. <select name='rune_max_original_quality' id='filter_original_quality_max'>
  278. <option value='0' <?=$selected_0?>>Normal</option>
  279. <option value='1' <?=$selected_1?>>Magic</option>
  280. <option value='2' <?=$selected_2?>>Rare</option>
  281. <option value='3' <?=$selected_3?>>Hero</option>
  282. <option value='4' <?=$selected_4?>>Legend</option>
  283. </select>
  284. </td>
  285. </tr>
  286. <tr>
  287. <td class='filter' colspan='3'>
  288. <span>Efficiency:</span>
  289. <input type='number' name='rune_min_efficiency' id='filter_efficiency_min' min='0' max='100' value='<?=$page->filters["rune_min_efficiency"]?>'/>%
  290. -
  291. <input type='number' name='rune_max_efficiency' id='filter_efficiency_max' min='0' max='100' value='<?=$page->filters["rune_max_efficiency"]?>'/>%
  292. </td>
  293. </tr>
  294. <tr>
  295. <td class='filter' colspan='3'>
  296. <span>Maximum efficiency:</span>
  297. <input type='number' name='rune_min_max_efficiency' id='filter_max_efficiency_min' min='0' max='100' value='<?=$page->filters["rune_min_max_efficiency"]?>'/>%
  298. -
  299. <input type='number' name='rune_max_max_efficiency' id='filter_max_efficiency_max' min='0' max='100' value='<?=$page->filters["rune_max_max_efficiency"]?>'/>%
  300. </td>
  301. </tr>
  302. <tr>
  303. <td class='filter filter_title filter_separator' rowspan='3'>
  304. <span>
  305. Alternatives
  306. </span>
  307. </td>
  308. <td class='filter filter_stars filter_separator'>
  309. <span>Min. stars:</span>
  310. <input type='number' name='alternative_min_stars' id='filter_stars_min' min='1' max='6' value='<?=$page->filters["alternative_min_stars"]?>'/>
  311. </td>
  312. <td class='filter filter_separator' colspan='2'>
  313. <span>Min. O. quality:</span>
  314. <?php
  315. $selected_0 = "";
  316. $selected_1 = "";
  317. $selected_2 = "";
  318. $selected_3 = "";
  319. $selected_4 = "";
  320. switch (strtoupper($page->filters["alternative_min_original_quality"])){
  321. case 0:
  322. $selected_0 = "selected";
  323. break;
  324. case 1:
  325. $selected_1 = "selected";
  326. break;
  327. case 2:
  328. $selected_2 = "selected";
  329. break;
  330. case 3:
  331. $selected_3 = "selected";
  332. break;
  333. case 4:
  334. $selected_4 = "selected";
  335. break;
  336. }
  337. ?>
  338. <select name='alternative_min_original_quality' id='filter_original_quality_min'>
  339. <option value='0' <?=$selected_0?>>Normal</option>
  340. <option value='1' <?=$selected_1?>>Magic</option>
  341. <option value='2' <?=$selected_2?>>Rare</option>
  342. <option value='3' <?=$selected_3?>>Hero</option>
  343. <option value='4' <?=$selected_4?>>Legend</option>
  344. </select>
  345. </td>
  346. <td class='filter filter_separator'>
  347. <span>Min. Level:</span>
  348. <input type='number' name='alternative_min_level' id='filter_level_min' min='0' max='15' value='<?=$page->filters["alternative_min_level"]?>'/>
  349. </td>
  350. </tr>
  351. <tr>
  352. <td class='filter' colspan='4'>
  353. <span>Condition:</span>
  354. <?php
  355. $selected_0 = "";
  356. $selected_1 = "";
  357. $selected_2 = "";
  358. $selected_3 = "";
  359. $selected_4 = "";
  360. $selected_5 = "";
  361. switch (strtoupper($page->filters["alternative_condition"])){
  362. case 0:
  363. $selected_0 = "selected";
  364. break;
  365. case 1:
  366. $selected_1 = "selected";
  367. break;
  368. case 2:
  369. $selected_2 = "selected";
  370. break;
  371. case 3:
  372. $selected_3 = "selected";
  373. break;
  374. case 4:
  375. $selected_4 = "selected";
  376. break;
  377. case 5:
  378. $selected_5 = "selected";
  379. break;
  380. }
  381. ?>
  382. <select name='alternative_condition'>
  383. <option value='0' <?=$selected_0?>>Higher grade, any quality
  384. <option value='1' <?=$selected_1?>>Higher grade or higher quality
  385. <option value='2' <?=$selected_2?>>Equal or higher grade and equal or higher quality</option>
  386. <option value='3' <?=$selected_3?>>Equal or higher grade and higher quality</option>
  387. <option value='4' <?=$selected_4?>>Equal grade and equal or higher quality</option>
  388. <option value='5' <?=$selected_5?>>Higher grade and higher quality</option>
  389. </select>
  390. </td>
  391. </tr>
  392. <tr>
  393. <td class='filter' colspan='4'>
  394. <span>Source:</span>
  395. <?php
  396. $selected_0 = "";
  397. $selected_1 = "";
  398. $selected_2 = "";
  399. $selected_3 = "";
  400. switch (strtoupper($page->filters["alternative_source"])){
  401. case 0:
  402. $selected_0 = "selected";
  403. break;
  404. case 1:
  405. $selected_1 = "selected";
  406. break;
  407. case 2:
  408. $selected_2 = "selected";
  409. break;
  410. case 3:
  411. $selected_3 = "selected";
  412. break;
  413. }
  414. ?>
  415. <select name='alternative_source'>
  416. <option value='0' <?=$selected_0?>>Inventory only</option>
  417. <option value='1' <?=$selected_1?>>Inventory or assigned to a lower grade monster</option>
  418. <option value='2' <?=$selected_2?>>Any</option>
  419. </select>
  420. </td>
  421. </tr>
  422. </table>
  423. <div id='filter_apply'>
  424. <input type='submit' value='Apply'/>
  425. </div>
  426. </form>
  427. </section> <!-- #filters -->
  428. <?php
  429. foreach ($page->upgrades as $upgrade){
  430. if ($upgrade["unit"]->unit->awakens_from == "" && $upgrade["unit"]->unit->awakens_to == ""){
  431. // No to, no from, silver monster.
  432. $star_class ="star_silver";
  433. $mon_title = $upgrade["unit"]->unit->element_name . " " . $upgrade["unit"]->unit->name;
  434. }
  435. elseif ($upgrade["unit"]->unit->awakens_from =! "" && $upgrade["unit"]->unit->awakens_to == ""){
  436. // Already awakened
  437. if ($upgrade["unit"]->unit->base_stars - $upgrade["unit"]->unit->natural_stars == 1){
  438. // Normal awaken.
  439. $star_class ="star_purple";
  440. }
  441. else{
  442. // Second awaken.
  443. $star_class ="star_red";
  444. }
  445. $mon_title = $upgrade["unit"]->unit->name;
  446. }
  447. elseif ($upgrade["unit"]->unit->awakens_to =! ""){
  448. // Awakeable.
  449. $star_class ="star_gold";
  450. $mon_title = $upgrade["unit"]->unit->element . " " . $upgrade["unit"]->unit->name;
  451. }
  452. ?>
  453. <section class='content'>
  454. <h2>
  455. <span>
  456. <?=$mon_title?>
  457. </span>
  458. </h2>
  459. <article>
  460. <div class='monster'>
  461. <div class='profile'>
  462. <div class='monster_panel'>
  463. <span class='stars'>
  464. <?php
  465. for ($i = 0; $i < $upgrade["unit"]->stars; $i ++){
  466. ?>
  467. <img class='star <?=$star_class?>' src='<?=$path["img"]["layout"] . "icon/star.png"?>'/>
  468. <?php
  469. }
  470. ?>
  471. </span>
  472. <img title='<?=$mon_title?>' class='monster border_<?=$upgrade["unit"]->unit->element_name?>' src='<?=$upgrade["unit"]->unit->get_image()?>'/>
  473. <span class='level'>
  474. Lv. <?=$upgrade["unit"]->level?>
  475. </span>
  476. </div>
  477. </div> <!-- .profile -->
  478. </div>
  479. <div class='monster_runes'>
  480. <?php
  481. foreach ($upgrade["upgrade"] as $rupgrade){
  482. ?>
  483. <table class='rune'>
  484. <tr>
  485. <td class='icon'>
  486. <div class='rune_panel rune_slot_<?=$rupgrade["rune"]->slot?> rune_level_<?=$rupgrade["rune"]->level?> rune_quality_<?=strtolower($rupgrade["rune"]->quality_name)?> rune_original_quality_<?=strtolower($rupgrade["rune"]->original_quality_name)?> rune_ancient_<?=$rupgrade["rune"]->ancient?>'>
  487. <img class='rune_base' src='<?=$path["img"]["layout"]?>rune/base.png'/>
  488. <img class='rune_icon' src='<?=$rupgrade["rune"]->type->get_image()?>'/>
  489. <span class='rune_stars'>
  490. <?php
  491. for ($i = 0; $i < $rupgrade["rune"]->stars; $i ++){
  492. ?>
  493. <img class='star' src='<?=$path["img"]["layout"] . "icon/star.png"?>'/>
  494. <?php
  495. }
  496. ?>
  497. </span>
  498. <span class='rune_level'>
  499. <?=$rupgrade["rune"]->level?>
  500. </span>
  501. </div> <!-- .rune_panel -->
  502. </td>
  503. <td class='stats'>
  504. <table>
  505. <tr class='main_stat'>
  506. <td class='stat'>
  507. <?php
  508. if (in_array($rupgrade["rune"]->main_stat_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
  509. $stat_name = str_replace("%", "", $rupgrade["rune"]->main_stat_name);
  510. $stat_value = "+ " . $rupgrade["rune"]->main_stat_value . "%";
  511. }
  512. else{
  513. $stat_name = $rupgrade["rune"]->main_stat_name;
  514. $stat_value = "+ " . $rupgrade["rune"]->main_stat_value;
  515. }
  516. ?>
  517. <?=$stat_name?>
  518. </td>
  519. <td class='value'>
  520. <?=$stat_value?>
  521. </td>
  522. </tr>
  523. <tr class='innate_stat'>
  524. <td class='stat'>
  525. <?php
  526. if (strlen($rupgrade["rune"]->innate_stat_name) == 0){
  527. $stat_name = "&nbsp;";
  528. $stat_value = "";
  529. }
  530. elseif (in_array($rupgrade["rune"]->innate_stat_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
  531. $stat_name = str_replace("%", "", $rupgrade["rune"]->innate_stat_name);
  532. $stat_value = "+ " . $rupgrade["rune"]->innate_stat_value . "%";
  533. }
  534. else{
  535. $stat_name = $rupgrade["rune"]->innate_stat_name;
  536. $stat_value = "+ " . $rupgrade["rune"]->innate_stat_value;
  537. }
  538. ?>
  539. <?=$stat_name?>
  540. </td>
  541. <td class='value'>
  542. <?=$stat_value?>
  543. </td>
  544. </tr>
  545. <tr class=substat>
  546. <td class='stat'>
  547. <?php
  548. if (strlen($rupgrade["rune"]->substat_1_name) == 0){
  549. $stat_name = "&nbsp;";
  550. $stat_value = "";
  551. }
  552. elseif (in_array($rupgrade["rune"]->substat_1_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
  553. $stat_name = str_replace("%", "", $rupgrade["rune"]->substat_1_name);
  554. $stat_value = "+ " . $rupgrade["rune"]->substat_1_value . "%";
  555. }
  556. else{
  557. $stat_name = $rupgrade["rune"]->substat_1_name;
  558. $stat_value = "+ " . $rupgrade["rune"]->substat_1_value;
  559. }
  560. $grind = "";
  561. if ($rupgrade["rune"]->substat_1_grind > 0){
  562. $grind = "+" . $rupgrade["rune"]->substat_1_grind;
  563. if (in_array($rupgrade["rune"]->substat_1_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
  564. $grind = $grind . "%";
  565. }
  566. }
  567. ?>
  568. <?=$stat_name?>
  569. </td>
  570. <td class='value'>
  571. <?=$stat_value?>
  572. <span class='grind grind_<?=$grind?>'>
  573. <?=$grind?>
  574. </span>
  575. <?php
  576. if ($rupgrade["rune"]->substat_1_enchant == 1){
  577. ?>
  578. <img title='Enchanted' src='<?=$path["img"]["layout"]?>rune/enchanted.png'/>
  579. <?php
  580. }
  581. ?>
  582. </td>
  583. </tr>
  584. <tr class=substat>
  585. <td class='stat'>
  586. <?php
  587. if (strlen($rupgrade["rune"]->substat_2_name) == 0){
  588. $stat_name = "&nbsp;";
  589. $stat_value = "";
  590. }
  591. elseif (in_array($rupgrade["rune"]->substat_2_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
  592. $stat_name = str_replace("%", "", $rupgrade["rune"]->substat_2_name);
  593. $stat_value = "+ " . $rupgrade["rune"]->substat_2_value . "%";
  594. }
  595. else{
  596. $stat_name = $rupgrade["rune"]->substat_2_name;
  597. $stat_value = "+ " . $rupgrade["rune"]->substat_2_value;
  598. }
  599. $grind = "";
  600. if ($rupgrade["rune"]->substat_2_grind > 0){
  601. $grind = "+" . $rupgrade["rune"]->substat_2_grind;
  602. if (in_array($rupgrade["rune"]->substat_2_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
  603. $grind = $grind . "%";
  604. }
  605. }
  606. ?>
  607. <?=$stat_name?>
  608. </td>
  609. <td class='value'>
  610. <?=$stat_value?>
  611. <span class='grind grind_<?=$grind?>'>
  612. <?=$grind?>
  613. </span>
  614. <?php
  615. if ($rupgrade["rune"]->substat_2_enchant == 1){
  616. ?>
  617. <img title='Enchanted' src='<?=$path["img"]["layout"]?>rune/enchanted.png'/>
  618. <?php
  619. }
  620. ?>
  621. </td>
  622. </tr>
  623. <tr class=substat>
  624. <td class='stat'>
  625. <?php
  626. if (strlen($rupgrade["rune"]->substat_3_name) == 0){
  627. $stat_name = "&nbsp;";
  628. $stat_value = "";
  629. }
  630. elseif (in_array($rupgrade["rune"]->substat_3_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
  631. $stat_name = str_replace("%", "", $rupgrade["rune"]->substat_3_name);
  632. $stat_value = "+ " . $rupgrade["rune"]->substat_3_value . "%";
  633. }
  634. else{
  635. $stat_name = $rupgrade["rune"]->substat_3_name;
  636. $stat_value = "+ " . $rupgrade["rune"]->substat_3_value;
  637. }
  638. $grind = "";
  639. if ($rupgrade["rune"]->substat_3_grind > 0){
  640. $grind = "+" . $rupgrade["rune"]->substat_3_grind;
  641. if (in_array($rupgrade["rune"]->substat_3_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
  642. $grind = $grind . "%";
  643. }
  644. }
  645. ?>
  646. <?=$stat_name?>
  647. </td>
  648. <td class='value'>
  649. <?=$stat_value?>
  650. <span class='grind grind_<?=$grind?>'>
  651. <?=$grind?>
  652. </span>
  653. <?php
  654. if ($rupgrade["rune"]->substat_3_enchant == 1){
  655. ?>
  656. <img title='Enchanted' src='<?=$path["img"]["layout"]?>rune/enchanted.png'/>
  657. <?php
  658. }
  659. ?>
  660. </td>
  661. </tr>
  662. <tr class=substat>
  663. <td class='stat'>
  664. <?php
  665. if (strlen($rupgrade["rune"]->substat_4_name) == 0){
  666. $stat_name = "&nbsp;";
  667. $stat_value = "";
  668. }
  669. elseif (in_array($rupgrade["rune"]->substat_4_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
  670. $stat_name = str_replace("%", "", $rupgrade["rune"]->substat_4_name);
  671. $stat_value = "+ " . $rupgrade["rune"]->substat_4_value . "%";
  672. }
  673. else{
  674. $stat_name = $rupgrade["rune"]->substat_4_name;
  675. $stat_value = "+ " . $rupgrade["rune"]->substat_4_value;
  676. }
  677. $grind = "";
  678. if ($rupgrade["rune"]->substat_4_grind > 0){
  679. $grind = "+" . $rupgrade["rune"]->substat_4_grind;
  680. if (in_array($rupgrade["rune"]->substat_4_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
  681. $grind = $grind . "%";
  682. }
  683. }
  684. ?>
  685. <?=$stat_name?>
  686. </td>
  687. <td class='value'>
  688. <?=$stat_value?>
  689. <span class='grind grind_<?=$grind?>'>
  690. <?=$grind?>
  691. </span>
  692. <?php
  693. if ($rupgrade["rune"]->substat_4_enchant == 1){
  694. ?>
  695. <img title='Enchanted' src='<?=$path["img"]["layout"]?>rune/enchanted.png'/>
  696. <?php
  697. }
  698. ?>
  699. </td>
  700. </tr>
  701. </table>
  702. </td>
  703. <td class='details'>
  704. <table class='table_details'>
  705. <tr>
  706. <td class='title'>
  707. Quality:
  708. </td>
  709. <td class='value'>
  710. <span class='quality quality_<?=strtolower($rupgrade["rune"]->quality_name)?>'>
  711. <?=$rupgrade["rune"]->quality_name?>
  712. </span>
  713. </td>
  714. </tr>
  715. <tr>
  716. <td class='title'>
  717. Original quality:
  718. </td>
  719. <td class='value'>
  720. <span class='quality quality_<?=strtolower($rupgrade["rune"]->original_quality_name)?>'>
  721. <?=$rupgrade["rune"]->original_quality_name?>
  722. </span>
  723. </td>
  724. </tr>
  725. <tr>
  726. <td class='title'>
  727. Value:
  728. </td>
  729. <td class='value'>
  730. <?=$rupgrade["rune"]->value?>
  731. </td>
  732. </tr>
  733. <tr>
  734. <td class='title'>
  735. Efficiency:
  736. </td>
  737. <td class='value'>
  738. <?=number_format($rupgrade["rune"]->efficiency, 2)?>%
  739. </td>
  740. </tr>
  741. <tr>
  742. <td class='title'>
  743. Max. efficiency:
  744. </td>
  745. <td class='value'>
  746. <?=number_format($rupgrade["rune"]->max_efficiency, 2)?>%
  747. </td>
  748. </tr>
  749. <tr>
  750. <td class='title'>
  751. Reached efficiency:
  752. </td>
  753. <td class='value'>
  754. <?=number_format($rupgrade["rune"]->efficiency * 100 / $rupgrade["rune"]->max_efficiency)?>%
  755. </td>
  756. </tr>
  757. </table>
  758. </td>
  759. </tr>
  760. </table> <!-- .rune -->
  761. <div class='alternatives'>
  762. <?php
  763. foreach ($rupgrade["alternative"] as $alternative){
  764. ?>
  765. <table class='rune alternative'>
  766. <tr>
  767. <td class='icon'>
  768. <div class='rune_panel rune_slot_<?=$alternative->slot?> rune_level_<?=$alternative->level?> rune_quality_<?=strtolower($alternative->quality_name)?> rune_original_quality_<?=strtolower($alternative->original_quality_name)?> rune_ancient_<?=$alternative->ancient?>'>
  769. <img class='rune_base' src='<?=$path["img"]["layout"]?>rune/base.png'/>
  770. <img class='rune_icon' src='<?=$alternative->type->get_image()?>'/>
  771. <span class='rune_stars'>
  772. <?php
  773. for ($i = 0; $i < $alternative->stars; $i ++){
  774. ?>
  775. <img class='star' src='<?=$path["img"]["layout"] . "icon/star.png"?>'/>
  776. <?php
  777. }
  778. ?>
  779. </span>
  780. <span class='rune_level'>
  781. <?=$alternative->level?>
  782. </span>
  783. </div> <!-- .rune_panel -->
  784. <?php
  785. if ($page->filters["alternative_source"] > 0 && null != $alternative->assigned_to){
  786. ?>
  787. <div class='assigned'>
  788. <a target='blank' href='/monsters/<?=$alternative->assigned_to->id?>'>
  789. <img title='<?=$alternative->assigned_to->unit->name?>' class='monster_image border_<?=$alternative->assigned_to->unit->element?>' src='<?=$alternative->assigned_to->unit->get_image()?>'/>
  790. </a>
  791. </div>
  792. <?php
  793. }
  794. ?>
  795. </td>
  796. <td class='stats'>
  797. <table>
  798. <tr class='main_stat'>
  799. <td class='stat'>
  800. <?php
  801. if (in_array($alternative->main_stat_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
  802. $stat_name = str_replace("%", "", $alternative->main_stat_name);
  803. $stat_value = "+ " . $alternative->main_stat_value . "%";
  804. }
  805. else{
  806. $stat_name = $alternative->main_stat_name;
  807. $stat_value = "+ " . $alternative->main_stat_value;
  808. }
  809. ?>
  810. <?=$stat_name?>
  811. </td>
  812. <td class='value'>
  813. <?=$stat_value?>
  814. </td>
  815. </tr>
  816. <tr class='innate_stat'>
  817. <td class='stat'>
  818. <?php
  819. if (strlen($alternative->innate_stat_name) == 0){
  820. $stat_name = "&nbsp;";
  821. $stat_value = "";
  822. }
  823. elseif (in_array($alternative->innate_stat_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
  824. $stat_name = str_replace("%", "", $alternative->innate_stat_name);
  825. $stat_value = "+ " . $alternative->innate_stat_value . "%";
  826. }
  827. else{
  828. $stat_name = $alternative->innate_stat_name;
  829. $stat_value = "+ " . $alternative->innate_stat_value;
  830. }
  831. ?>
  832. <?=$stat_name?>
  833. </td>
  834. <td class='value'>
  835. <?=$stat_value?>
  836. </td>
  837. </tr>
  838. <tr class=substat>
  839. <td class='stat'>
  840. <?php
  841. if (strlen($alternative->substat_1_name) == 0){
  842. $stat_name = "&nbsp;";
  843. $stat_value = "";
  844. }
  845. elseif (in_array($alternative->substat_1_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
  846. $stat_name = str_replace("%", "", $alternative->substat_1_name);
  847. $stat_value = "+ " . $alternative->substat_1_value . "%";
  848. }
  849. else{
  850. $stat_name = $alternative->substat_1_name;
  851. $stat_value = "+ " . $alternative->substat_1_value;
  852. }
  853. $grind = "";
  854. if ($alternative->substat_1_grind > 0){
  855. $grind = "+" . $alternative->substat_1_grind;
  856. if (in_array($alternative->substat_1_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
  857. $grind = $grind . "%";
  858. }
  859. }
  860. ?>
  861. <?=$stat_name?>
  862. </td>
  863. <td class='value'>
  864. <?=$stat_value?>
  865. <span class='grind grind_<?=$grind?>'>
  866. <?=$grind?>
  867. </span>
  868. <?php
  869. if ($alternative->substat_1_enchant == 1){
  870. ?>
  871. <img title='Enchanted' src='<?=$path["img"]["layout"]?>rune/enchanted.png'/>
  872. <?php
  873. }
  874. ?>
  875. </td>
  876. </tr>
  877. <tr class=substat>
  878. <td class='stat'>
  879. <?php
  880. if (strlen($alternative->substat_2_name) == 0){
  881. $stat_name = "&nbsp;";
  882. $stat_value = "";
  883. }
  884. elseif (in_array($alternative->substat_2_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
  885. $stat_name = str_replace("%", "", $alternative->substat_2_name);
  886. $stat_value = "+ " . $alternative->substat_2_value . "%";
  887. }
  888. else{
  889. $stat_name = $alternative->substat_2_name;
  890. $stat_value = "+ " . $alternative->substat_2_value;
  891. }
  892. $grind = "";
  893. if ($alternative->substat_2_grind > 0){
  894. $grind = "+" . $alternative->substat_2_grind;
  895. if (in_array($alternative->substat_2_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
  896. $grind = $grind . "%";
  897. }
  898. }
  899. ?>
  900. <?=$stat_name?>
  901. </td>
  902. <td class='value'>
  903. <?=$stat_value?>
  904. <span class='grind grind_<?=$grind?>'>
  905. <?=$grind?>
  906. </span>
  907. <?php
  908. if ($alternative->substat_2_enchant == 1){
  909. ?>
  910. <img title='Enchanted' src='<?=$path["img"]["layout"]?>rune/enchanted.png'/>
  911. <?php
  912. }
  913. ?>
  914. </td>
  915. </tr>
  916. <tr class=substat>
  917. <td class='stat'>
  918. <?php
  919. if (strlen($alternative->substat_3_name) == 0){
  920. $stat_name = "&nbsp;";
  921. $stat_value = "";
  922. }
  923. elseif (in_array($alternative->substat_3_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
  924. $stat_name = str_replace("%", "", $alternative->substat_3_name);
  925. $stat_value = "+ " . $alternative->substat_3_value . "%";
  926. }
  927. else{
  928. $stat_name = $alternative->substat_3_name;
  929. $stat_value = "+ " . $alternative->substat_3_value;
  930. }
  931. $grind = "";
  932. if ($alternative->substat_3_grind > 0){
  933. $grind = "+" . $alternative->substat_3_grind;
  934. if (in_array($alternative->substat_3_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
  935. $grind = $grind . "%";
  936. }
  937. }
  938. ?>
  939. <?=$stat_name?>
  940. </td>
  941. <td class='value'>
  942. <?=$stat_value?>
  943. <span class='grind grind_<?=$grind?>'>
  944. <?=$grind?>
  945. </span>
  946. <?php
  947. if ($alternative->substat_3_enchant == 1){
  948. ?>
  949. <img title='Enchanted' src='<?=$path["img"]["layout"]?>rune/enchanted.png'/>
  950. <?php
  951. }
  952. ?>
  953. </td>
  954. </tr>
  955. <tr class=substat>
  956. <td class='stat'>
  957. <?php
  958. if (strlen($alternative->substat_4_name) == 0){
  959. $stat_name = "&nbsp;";
  960. $stat_value = "";
  961. }
  962. elseif (in_array($alternative->substat_4_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
  963. $stat_name = str_replace("%", "", $alternative->substat_4_name);
  964. $stat_value = "+ " . $alternative->substat_4_value . "%";
  965. }
  966. else{
  967. $stat_name = $alternative->substat_4_name;
  968. $stat_value = "+ " . $alternative->substat_4_value;
  969. }
  970. $grind = "";
  971. if ($alternative->substat_4_grind > 0){
  972. $grind = "+" . $alternative->substat_4_grind;
  973. if (in_array($alternative->substat_4_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
  974. $grind = $grind . "%";
  975. }
  976. }
  977. ?>
  978. <?=$stat_name?>
  979. </td>
  980. <td class='value'>
  981. <?=$stat_value?>
  982. <span class='grind grind_<?=$grind?>'>
  983. <?=$grind?>
  984. </span>
  985. <?php
  986. if ($alternative->substat_4_enchant == 1){
  987. ?>
  988. <img title='Enchanted' src='<?=$path["img"]["layout"]?>rune/enchanted.png'/>
  989. <?php
  990. }
  991. ?>
  992. </td>
  993. </tr>
  994. </table>
  995. </td>
  996. <td class='details'>
  997. <table class='table_details'>
  998. <tr>
  999. <td class='title'>
  1000. Quality:
  1001. </td>
  1002. <td class='value'>
  1003. <span class='quality quality_<?=strtolower($alternative->quality_name)?>'>
  1004. <?=$alternative->quality_name?>
  1005. </span>
  1006. </td>
  1007. </tr>
  1008. <tr>
  1009. <td class='title'>
  1010. Original quality:
  1011. </td>
  1012. <td class='value'>
  1013. <span class='quality quality_<?=strtolower($alternative->original_quality_name)?>'>
  1014. <?=$alternative->original_quality_name?>
  1015. </span>
  1016. </td>
  1017. </tr>
  1018. <tr>
  1019. <td class='title'>
  1020. Value:
  1021. </td>
  1022. <td class='value'>
  1023. <?=$alternative->value?>
  1024. </td>
  1025. </tr>
  1026. <tr>
  1027. <td class='title'>
  1028. Efficiency:
  1029. </td>
  1030. <td class='value'>
  1031. <?=number_format($alternative->efficiency, 2)?>%
  1032. </td>
  1033. </tr>
  1034. <tr>
  1035. <td class='title'>
  1036. Max. efficiency:
  1037. </td>
  1038. <td class='value'>
  1039. <?=number_format($alternative->max_efficiency, 2)?>%
  1040. </td>
  1041. </tr>
  1042. <tr>
  1043. <td class='title'>
  1044. Reached efficiency:
  1045. </td>
  1046. <td class='value'>
  1047. <?=number_format($alternative->efficiency * 100 / $alternative->max_efficiency)?>%
  1048. </td>
  1049. </tr>
  1050. </table>
  1051. </td>
  1052. </tr>
  1053. </table> <!-- .alternative -->
  1054. <?php
  1055. }
  1056. ?>
  1057. </div>
  1058. <?php
  1059. }
  1060. ?>
  1061. </div> <!-- .monster_runes -->
  1062. </article>
  1063. </section>
  1064. <?php
  1065. }
  1066. include __DIR__ . "/inc/footer.php";
  1067. ?>
  1068. </body>
  1069. </html>