monster.php 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756
  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"]?>monster.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>
  33. <?php
  34. include __DIR__ . "/inc/header.php";
  35. ?>
  36. <section id='monster' class='content'>
  37. <?php
  38. if ($page->unit->unit->awakens_from == "" && $page->unit->unit->awakens_to == ""){
  39. // No to, no from, silver monster.
  40. $star_class ="star_silver";
  41. $mon_title = $page->unit->unit->element . " " . $page->unit->unit->name;
  42. }
  43. elseif ($page->unit->unit->awakens_from =! "" && $page->unit->unit->awakens_to == ""){
  44. // Already awakened
  45. if ($page->unit->unit->base_stars - $page->unit->unit->natural_stars == 1){
  46. // Normal awaken.
  47. $star_class ="star_purple";
  48. }
  49. else{
  50. // Second awaken.
  51. $star_class ="star_red";
  52. }
  53. $mon_title = $page->unit->unit->name;
  54. }
  55. elseif ($page->unit->unit->awakens_to =! ""){
  56. // Awakeable.
  57. $star_class ="star_gold";
  58. $mon_title = $page->unit->unit->element . " " . $page->unit->unit->name;
  59. }
  60. ?>
  61. <h2>
  62. <span>
  63. <?=$mon_title?>
  64. </span>
  65. </h2>
  66. <article id='profile'>
  67. <div id='monster_info'>
  68. <div class='monster_panel'>
  69. <span class='stars'>
  70. <?php
  71. for ($i = 0; $i < $page->unit->stars; $i ++){
  72. ?>
  73. <img class='star <?=$star_class?>' src='<?=$path["img"]["layout"] . "icon/star.png"?>'/>
  74. <?php
  75. }
  76. ?>
  77. </span>
  78. <img title='<?=$mon_title?>' class='monster border_<?=$page->unit->unit->element?>' src='<?=$page->unit->unit->get_image()?>'/>
  79. <span class='level'>
  80. <?=$page->unit->level?>
  81. </span>
  82. </div>
  83. <?php
  84. if ($page->unit->experience_level != 0){
  85. $exp_pct = ceil($page->unit->exp_gained * 100 / $page->unit->experience_level);
  86. $exp_txt = $page->unit->exp_gained . " / " . $page->unit->experience_level;
  87. }
  88. else{
  89. $exp_pct = 100;
  90. $exp_txt = "MAX";
  91. }
  92. $now = time();
  93. $datediff = $now - $page->unit->create_time;
  94. $datediff = floor($datediff / (60 * 60 * 24 * 1000));
  95. ?>
  96. <div id='monster_details'>
  97. <div id='exp'>
  98. <span id='exp_bar' style='width:<?=$exp_pct?>%;'>
  99. </span>
  100. <span id='exp_text'>
  101. <?=$exp_txt?>
  102. </span>
  103. </div>
  104. Obtained on <?=$page->unit->create_time->format('Y-m-d')?> (<?=$datediff?> days ago) from <?=$page->unit->source->name?> <!-- TODO SOurce name, days ago -->
  105. </div>
  106. </div>
  107. <?php
  108. $building_attack = floor(($page->unit->base_attack * $page->building_stats["atk"] / 100) + ($page->unit->base_attack * $page->building_stats["elm"][$page->unit->unit->element] / 100));
  109. $building_defense = floor($page->building_stats["def"] * $page->unit->base_defense / 100);
  110. $building_hp = floor($page->building_stats["hp"] * $page->unit->base_hp / 100);
  111. $building_speed = $page->building_stats["spd"];
  112. $building_crit_rate = 0;
  113. $building_crit_damage = $page->building_stats["crd"];
  114. $building_accuracy = 0;
  115. $building_resistance = 0;
  116. ?>
  117. <table id='stats'>
  118. <tr>
  119. <th>
  120. Stats
  121. </th>
  122. <th>
  123. Base
  124. </th>
  125. <th>
  126. Runes
  127. </th>
  128. <th>
  129. Buildings
  130. </th>
  131. <th>
  132. Total
  133. </th>
  134. </tr>
  135. <tr>
  136. <th>
  137. ATK
  138. </th>
  139. <td class='base'>
  140. <?=$page->unit->attack?>
  141. </td>
  142. <td class='extra'>
  143. +<?=$page->unit->rune_attack?>
  144. </td>
  145. <td class='extra'>
  146. +<?=$building_attack?>
  147. </td>
  148. <td class='total'>
  149. <?=$page->unit->attack + $page->unit->rune_attack + $building_attack?>
  150. </td>
  151. </tr>
  152. <tr>
  153. <th>
  154. DEF
  155. </th>
  156. <td class='base'>
  157. <?=$page->unit->defense?>
  158. </td>
  159. <td class='extra'>
  160. +<?=$page->unit->rune_defense?>
  161. </td>
  162. <td class='extra'>
  163. +<?=$building_defense?>
  164. </td>
  165. <td class='total'>
  166. <?=$page->unit->defense + $page->unit->rune_defense + $building_defense?>
  167. </td>
  168. </tr>
  169. <tr>
  170. <th>
  171. HP
  172. </th>
  173. <td class='base'>
  174. <?=$page->unit->hp?>
  175. </td>
  176. <td class='extra'>
  177. +<?=$page->unit->rune_hp?>
  178. </td>
  179. <td class='extra'>
  180. +<?=$building_hp?>
  181. </td>
  182. <td class='total'>
  183. <?=$page->unit->hp + $page->unit->rune_hp + $building_hp?>
  184. </td>
  185. </tr>
  186. <tr>
  187. <th>
  188. SPD
  189. </th>
  190. <td class='base'>
  191. <?=$page->unit->speed?>
  192. </td>
  193. <td class='extra'>
  194. +<?=$page->unit->rune_speed?>
  195. </td>
  196. <td class='extra'>
  197. +<?=$building_speed?>
  198. </td>
  199. <td class='total'>
  200. <?=$page->unit->speed + $page->unit->rune_speed + $building_speed?>
  201. </td>
  202. </tr>
  203. <tr>
  204. <th>
  205. CRR
  206. </th>
  207. <td class='base'>
  208. <?=$page->unit->crit_rate?>%
  209. </td>
  210. <td class='extra'>
  211. +<?=$page->unit->rune_crit_rate?>%
  212. </td>
  213. <td class='extra'>
  214. +<?=$building_crit_rate?>%
  215. </td>
  216. <td class='total'>
  217. <?=$page->unit->crit_rate + $page->unit->rune_crit_rate + $building_crit_rate?>%
  218. </td>
  219. </tr>
  220. <tr>
  221. <th>
  222. CRD
  223. </th>
  224. <td class='base'>
  225. <?=$page->unit->crit_damage?>%
  226. </td>
  227. <td class='extra'>
  228. +<?=$page->unit->rune_crit_damage?>%
  229. </td>
  230. <td class='extra'>
  231. +<?=$building_crit_damage?>%
  232. </td>
  233. <td class='total'>
  234. <?=$page->unit->crit_damage + $page->unit->rune_crit_damage + $building_crit_damage?>%
  235. </td>
  236. </tr>
  237. <tr>
  238. <th>
  239. ACC
  240. </th>
  241. <td class='base'>
  242. <?=$page->unit->accuracy?>%
  243. </td>
  244. <td class='extra'>
  245. +<?=$page->unit->rune_accuracy?>%
  246. </td>
  247. <td class='extra'>
  248. +<?=$building_accuracy?>%
  249. </td>
  250. <td class='total'>
  251. <?=$page->unit->accuracy + $page->unit->rune_accuracy + $building_accuracy?>%
  252. </td>
  253. </tr>
  254. <tr>
  255. <th>
  256. RES
  257. </th>
  258. <td class='base'>
  259. <?=$page->unit->resistance?>%
  260. </td>
  261. <td class='extra'>
  262. +<?=$page->unit->rune_resistance?>%
  263. </td>
  264. <td class='extra'>
  265. +<?=$building_resistance?>%
  266. </td>
  267. <td class='total'>
  268. <?=$page->unit->resistance + $page->unit->rune_resistance + $building_resistance?>%
  269. </td>
  270. </tr>
  271. </table>
  272. <div id='skills'>
  273. <?php
  274. if ($page->unit->unit->leader_skill){
  275. ?>
  276. <div class='skill'>
  277. <img class='skill_img' src='<?=$page->unit->unit->leader_skill->get_image()?>'/>
  278. <span class='skill_level'>
  279. &nbsp;
  280. </span>
  281. <span class='skill_name'>
  282. Leader skill
  283. </span>
  284. <span class='skill_description'>
  285. <?=$page->unit->unit->leader_skill->create_description()?>
  286. </span>
  287. </div>
  288. <?php
  289. }
  290. $skill_num = 0;
  291. $absolute_level = 0;
  292. $absolute_max_level = 0;
  293. $ponderated_level = 0;
  294. $ponderated_max_level = 0;
  295. foreach ($page->unit->unit->skill as $skill){
  296. if ($skill->max_level > 1){
  297. $absolute_max_level += $skill->max_level - 1;
  298. }
  299. $cur_lvl = $page->unit->skill_levels[$skill_num];
  300. if ($skill->max_level > 1){
  301. $absolute_level += $cur_lvl - 1;
  302. $ponderated_level += ($cur_lvl - 1) * (1 + ($skill_num / 2));
  303. error_log("MULTIPLIER: " . (1 + ($skill_num / 2)));
  304. $ponderated_max_level += ($skill->max_level - 1) * (1 + ($skill_num / 2));
  305. }
  306. $max_lvl = $skill->max_level;
  307. if ($max_lvl == $cur_lvl){
  308. $maxed = "maxed";
  309. }
  310. else{
  311. $maxed = "";
  312. }
  313. ?>
  314. <div class='skill'>
  315. <img class='skill_img' src='<?=$skill->get_image()?>'/>
  316. <span class='skill_level <?=$maxed?>'>
  317. <?=$cur_lvl?>/<?=$max_lvl?>
  318. </span>
  319. <span class='skill_name'>
  320. <?=$skill->name?>
  321. </span>
  322. <span class='skill_description'>
  323. <?=$skill->description?>
  324. </span>
  325. <?php
  326. if (count($skill->effect) > 0){
  327. ?>
  328. <span class='skill_effects'>
  329. <?php
  330. foreach ($skill->effect as $effect){
  331. ?>
  332. <img class='effect_img' title='<?=$effect->name?>' src='<?=$effect->get_image()?>'/>
  333. <?php
  334. }
  335. ?>
  336. </span>
  337. <?php
  338. }
  339. if ($skill->max_level > 1){
  340. ?>
  341. <table class='skill_up'>
  342. <?php
  343. foreach ($skill->level as $level){
  344. if ($level->level > 1){
  345. $aquired = "";
  346. if ($level->level <= $cur_lvl){
  347. $aquired = "aquired";
  348. }
  349. ?>
  350. <tr>
  351. <td class='level <?=$aquired?>'>
  352. Lv. <?=$level->level?>
  353. </td>
  354. <td class='description <?=$aquired?>'>
  355. <?=$level->description?>
  356. </td>
  357. </tr>
  358. <?php
  359. }
  360. }
  361. ?>
  362. </table>
  363. <?php
  364. }
  365. ?>
  366. </div>
  367. <?php
  368. $skill_num ++;
  369. }
  370. ?>
  371. </div> <!-- #skills -->
  372. <table id='skill_averages'>
  373. <tr>
  374. <td class='title'>
  375. Absolute skill-ups:
  376. </td>
  377. <td class='value'>
  378. <?=number_format($absolute_level * 100 / $absolute_max_level, 2)?>%
  379. </td>
  380. </tr>
  381. <tr>
  382. <td class='title'>
  383. Ponderated skill-ups:
  384. </td>
  385. <td class='value'>
  386. <?=number_format($ponderated_level * 100 / $ponderated_max_level, 2)?>%
  387. </td>
  388. </tr>
  389. </table>
  390. </article> <!-- #profile -->
  391. </section>
  392. <section id='runes' class='list'>
  393. <h2>
  394. <span>
  395. Runes
  396. </span>
  397. </h2>
  398. <?php
  399. $total_efficiency = 0;
  400. $total_max_efficiency = 0;
  401. $total_reached_efficiency = 0;
  402. $total_level = 0;
  403. $total_stars = 0;
  404. $total_value = 0;
  405. $total_runes = 0;
  406. foreach ($page->unit->rune as $rune){
  407. $total_efficiency += $rune->efficiency;
  408. $total_max_efficiency += $rune->max_efficiency;
  409. $total_reached_efficiency += ($rune->efficiency * 100 / $rune->max_efficiency);
  410. $total_level += $rune->level;
  411. $total_stars += $rune->stars;
  412. $total_value += $rune->value;
  413. $total_runes ++;
  414. ?>
  415. <article>
  416. <table class='rune'>
  417. <tr>
  418. <td class='icon'>
  419. <div class='rune_panel rune_slot_<?=$rune->slot?> rune_level_<?=$rune->level?> rune_quality_<?=$rune->quality?> rune_original_quality_<?=$rune->original_quality?>'>
  420. <img class='rune_base' src=<?=$path["img"]["layout"]?>rune/base.png/>
  421. <img class='rune_icon' src='<?=$path["img"]["layout"]?>rune/<?=$rune->type?>.png'/>
  422. <span class='rune_stars'>
  423. <?php
  424. for ($i = 0; $i < $rune->stars; $i ++){
  425. ?>
  426. <img class='star' src='<?=$path["img"]["layout"] . "icon/star.png"?>'/>
  427. <?php
  428. }
  429. ?>
  430. </span>
  431. <span class='rune_level'>
  432. <?=$rune->level?>
  433. </span>
  434. </div>
  435. </td>
  436. <td class='stats'>
  437. <table>
  438. <tr class='main_stat'>
  439. <td class='stat'>
  440. <?php
  441. if (in_array($rune->main_stat, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
  442. $stat_name = str_replace("%", "", $rune->main_stat);
  443. $stat_value = "+ " . $rune->main_stat_value . "%";
  444. }
  445. else{
  446. $stat_name = $rune->main_stat;
  447. $stat_value = "+ " . $rune->main_stat_value;
  448. }
  449. ?>
  450. <?=$stat_name?>
  451. </td>
  452. <td class='value'>
  453. <?=$stat_value?>
  454. <td>
  455. </tr>
  456. <tr class='innate_stat'>
  457. <td class='stat'>
  458. <?php
  459. if (strlen($rune->innate_stat) == 0){
  460. $stat_name = "&nbsp;";
  461. $stat_value = "";
  462. }
  463. elseif (strpos($rune->innate_stat, "%") !== false){
  464. $stat_name = str_replace("%", "", $rune->innate_stat);
  465. $stat_value = "+ " . $rune->innate_stat_value . "%";
  466. }
  467. else{
  468. $stat_name = $rune->innate_stat;
  469. $stat_value = "+ " . $rune->innate_stat_value;
  470. }
  471. ?>
  472. <?=$stat_name?>
  473. </td>
  474. <td class='value'>
  475. <?=$stat_value?>
  476. <td>
  477. </tr>
  478. <tr class=substat>
  479. <td class='stat'>
  480. <?php
  481. if (strlen($rune->substat_1) == 0){
  482. $stat_name = "&nbsp;";
  483. $stat_value = "";
  484. }
  485. elseif (strpos($rune->substat_1, "%") !== false){
  486. $stat_name = str_replace("%", "", $rune->substat_1);
  487. $stat_value = "+ " . $rune->substat_1_value . "%";
  488. }
  489. else{
  490. $stat_name = $rune->substat_1;
  491. $stat_value = "+ " . $rune->substat_1_value;
  492. }
  493. if ($rune->substat_1_craft == 1){
  494. $craft = "craft";
  495. }
  496. else{
  497. $craft = "";
  498. }
  499. ?>
  500. <?=$stat_name?>
  501. </td>
  502. <td class='value <?=$craft?>'>
  503. <?=$stat_value?>
  504. <td>
  505. </tr>
  506. <tr class=substat>
  507. <td class='stat'>
  508. <?php
  509. if (strlen($rune->substat_2) == 0){
  510. $stat_name = "&nbsp;";
  511. $stat_value = "";
  512. }
  513. elseif (strpos($rune->substat_2, "%") !== false){
  514. $stat_name = str_replace("%", "", $rune->substat_2);
  515. $stat_value = "+ " . $rune->substat_2_value . "%";
  516. }
  517. else{
  518. $stat_name = $rune->substat_2;
  519. $stat_value = "+ " . $rune->substat_2_value;
  520. }
  521. if ($rune->substat_2_craft == 1){
  522. $craft = "craft";
  523. }
  524. else{
  525. $craft = "";
  526. }
  527. ?>
  528. <?=$stat_name?>
  529. </td>
  530. <td class='value <?=$craft?>'>
  531. <?=$stat_value?>
  532. <td>
  533. </tr>
  534. <tr class=substat>
  535. <td class='stat'>
  536. <?php
  537. if (strlen($rune->substat_3) == 0){
  538. $stat_name = "&nbsp;";
  539. $stat_value = "";
  540. }
  541. elseif (strpos($rune->substat_3, "%") !== false){
  542. $stat_name = str_replace("%", "", $rune->substat_3);
  543. $stat_value = "+ " . $rune->substat_3_value . "%";
  544. }
  545. else{
  546. $stat_name = $rune->substat_3;
  547. $stat_value = "+ " . $rune->substat_3_value;
  548. }
  549. if ($rune->substat_3_craft == 1){
  550. $craft = "craft";
  551. }
  552. else{
  553. $craft = "";
  554. }
  555. ?>
  556. <?=$stat_name?>
  557. </td>
  558. <td class='value <?=$craft?>'>
  559. <?=$stat_value?>
  560. <td>
  561. </tr>
  562. <tr class=substat>
  563. <td class='stat'>
  564. <?php
  565. if (strlen($rune->substat_4) == 0){
  566. $stat_name = "&nbsp;";
  567. $stat_value = "";
  568. }
  569. elseif (strpos($rune->substat_4, "%") !== false){
  570. $stat_name = str_replace("%", "", $rune->substat_4);
  571. $stat_value = "+ " . $rune->substat_4_value . "%";
  572. }
  573. else{
  574. $stat_name = $rune->substat_4;
  575. $stat_value = "+ " . $rune->substat_4_value;
  576. }
  577. if ($rune->substat_4_craft == 1){
  578. $craft = "craft";
  579. }
  580. else{
  581. $craft = "";
  582. }
  583. ?>
  584. <?=$stat_name?>
  585. </td>
  586. <td class='value <?=$craft?>'>
  587. <?=$stat_value?>
  588. <td>
  589. </tr>
  590. </table>
  591. </td>
  592. <td class='details'>
  593. <?php
  594. switch ($rune->quality){
  595. case 0:
  596. $q = "Normal";
  597. break;
  598. case 1:
  599. $q = "Magic";
  600. break;
  601. case 2:
  602. $q = "Rare";
  603. break;
  604. case 3:
  605. $q = "Hero";
  606. break;
  607. case 4:
  608. $q = "Legend";
  609. break;
  610. }
  611. switch ($rune->original_quality){
  612. case 0:
  613. $oq = "Normal";
  614. break;
  615. case 1:
  616. $oq = "Magic";
  617. break;
  618. case 2:
  619. $oq = "Rare";
  620. break;
  621. case 3:
  622. $oq = "Hero";
  623. break;
  624. case 4:
  625. $oq = "Legend";
  626. break;
  627. }
  628. ?>
  629. <table class='table_details'>
  630. <tr>
  631. <td class='title'>
  632. Quality:
  633. </td>
  634. <td class='value'>
  635. <span class='quality quality_<?=strtolower($q)?>'>
  636. <?=$q?>
  637. </span>
  638. </td>
  639. </tr>
  640. <tr>
  641. <td class='title'>
  642. Original quality:
  643. </td>
  644. <td class='value'>
  645. <span class='quality quality_<?=strtolower($oq)?>'>
  646. <?=$oq?>
  647. </span>
  648. </td>
  649. </tr>
  650. <tr>
  651. <td class='title'>
  652. Value:
  653. </td>
  654. <td class='value'>
  655. <?=$rune->value?>
  656. </td>
  657. </tr>
  658. <tr>
  659. <td class='title'>
  660. Efficiency:
  661. </td>
  662. <td class='value'>
  663. <?=number_format($rune->efficiency, 2)?>%
  664. </td>
  665. </tr>
  666. <tr>
  667. <td class='title'>
  668. Max. efficiency:
  669. </td>
  670. <td class='value'>
  671. <?=number_format($rune->max_efficiency, 2)?>%
  672. </td>
  673. </tr>
  674. <tr>
  675. <td class='title'>
  676. Reached efficiency:
  677. </td>
  678. <td class='value'>
  679. <?=number_format($rune->efficiency * 100 / $rune->max_efficiency)?>%
  680. </td>
  681. </tr>
  682. </table>
  683. </td>
  684. </tr>
  685. </table>
  686. </article>
  687. <?php
  688. }
  689. ?>
  690. <article id='rune_averages'>
  691. <table id='table_averages'>
  692. <tr>
  693. <td class='title'>
  694. Avg. level:
  695. </td>
  696. <td class='value'>
  697. <?=number_format($total_level / $total_runes, 2)?>
  698. </td>
  699. </tr>
  700. <tr>
  701. <td class='title'>
  702. Avg. stars:
  703. </td>
  704. <td class='value'>
  705. <?=number_format($total_stars / $total_runes, 2)?>
  706. </td>
  707. </tr>
  708. <tr>
  709. <td class='title'>
  710. Avg. value:
  711. </td>
  712. <td class='value'>
  713. <?=number_format($total_value / $total_runes, 2, '.', '')?>
  714. </td>
  715. </tr>
  716. <tr>
  717. <td class='title'>
  718. Total value:
  719. </td>
  720. <td class='value'>
  721. <?=$total_value?>
  722. </td>
  723. </tr>
  724. <tr>
  725. <td class='title'>
  726. Avg. efficiency:
  727. </td>
  728. <td class='value'>
  729. <?=number_format($total_efficiency / $total_runes, 2)?>%
  730. </td>
  731. </tr>
  732. <tr>
  733. <td class='title'>
  734. Avg. max. efficiency:
  735. </td>
  736. <td class='value'>
  737. <?=number_format($total_max_efficiency / $total_runes, 2)?>%
  738. </td>
  739. </tr>
  740. <tr>
  741. <td class='title'>
  742. Avg. reached efficiency:
  743. </td>
  744. <td class='value'>
  745. <?=number_format($total_reached_efficiency / $total_runes, 2)?>%
  746. </td>
  747. </tr>
  748. </table>
  749. </article>
  750. </section> <!-- runes -->
  751. <?php
  752. include __DIR__ . "/inc/footer.php";
  753. ?>
  754. </body>
  755. </html>