monster.php 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719
  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_name?>' 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->attack * $page->building_stats["atk"] / 100) + ($page->unit->attack * $page->building_stats["elm"][$page->unit->unit->element] / 100));
  109. $building_defense = floor($page->building_stats["def"] * $page->unit->defense / 100);
  110. $building_hp = floor($page->building_stats["hp"] * $page->unit->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. $ponderated_max_level += ($skill->max_level - 1) * (1 + ($skill_num / 2));
  304. }
  305. $max_lvl = $skill->max_level;
  306. if ($max_lvl == $cur_lvl){
  307. $maxed = "maxed";
  308. }
  309. else{
  310. $maxed = "";
  311. }
  312. ?>
  313. <div class='skill'>
  314. <img class='skill_img' src='<?=$skill->get_image()?>'/>
  315. <span class='skill_level <?=$maxed?>'>
  316. <?=$cur_lvl?>/<?=$max_lvl?>
  317. </span>
  318. <span class='skill_name'>
  319. <?=$skill->name?>
  320. </span>
  321. <span class='skill_description'>
  322. <?=$skill->description?>
  323. </span>
  324. <?php
  325. if (count($skill->effect) > 0){
  326. ?>
  327. <span class='skill_effects'>
  328. <?php
  329. foreach ($skill->effect as $effect){
  330. ?>
  331. <img class='effect_img' title='<?=$effect->name?>' src='<?=$effect->get_image()?>'/>
  332. <?php
  333. }
  334. ?>
  335. </span>
  336. <?php
  337. }
  338. if ($skill->max_level > 1){
  339. ?>
  340. <table class='skill_up'>
  341. <?php
  342. foreach ($skill->level as $level){
  343. if ($level->level > 1){
  344. $aquired = "";
  345. if ($level->level <= $cur_lvl){
  346. $aquired = "aquired";
  347. }
  348. ?>
  349. <tr>
  350. <td class='level <?=$aquired?>'>
  351. Lv. <?=$level->level?>
  352. </td>
  353. <td class='description <?=$aquired?>'>
  354. <?=$level->description?>
  355. </td>
  356. </tr>
  357. <?php
  358. }
  359. }
  360. ?>
  361. </table>
  362. <?php
  363. }
  364. ?>
  365. </div>
  366. <?php
  367. $skill_num ++;
  368. }
  369. ?>
  370. </div> <!-- #skills -->
  371. <table id='skill_averages'>
  372. <tr>
  373. <td class='title'>
  374. Absolute skill-ups:
  375. </td>
  376. <td class='value'>
  377. <?=number_format($absolute_level * 100 / $absolute_max_level, 2)?>%
  378. </td>
  379. </tr>
  380. <tr>
  381. <td class='title'>
  382. Ponderated skill-ups:
  383. </td>
  384. <td class='value'>
  385. <?=number_format($ponderated_level * 100 / $ponderated_max_level, 2)?>%
  386. </td>
  387. </tr>
  388. </table>
  389. </article> <!-- #profile -->
  390. </section>
  391. <section id='runes' class='list'>
  392. <h2>
  393. <span>
  394. Runes
  395. </span>
  396. </h2>
  397. <?php
  398. $total_efficiency = 0;
  399. $total_max_efficiency = 0;
  400. $total_reached_efficiency = 0;
  401. $total_level = 0;
  402. $total_stars = 0;
  403. $total_value = 0;
  404. $total_runes = 0;
  405. foreach ($page->unit->rune as $rune){
  406. $total_efficiency += $rune->efficiency;
  407. $total_max_efficiency += $rune->max_efficiency;
  408. $total_reached_efficiency += ($rune->efficiency * 100 / $rune->max_efficiency);
  409. $total_level += $rune->level;
  410. $total_stars += $rune->stars;
  411. $total_value += $rune->value;
  412. $total_runes ++;
  413. ?>
  414. <article>
  415. <table class='rune'>
  416. <tr>
  417. <td class='icon'>
  418. <div class='rune_panel rune_slot_<?=$rune->slot?> rune_level_<?=$rune->level?> rune_quality_<?=strtolower($rune->quality_name)?> rune_original_quality_<?=strtolower($rune->original_quality_name)?> rune_ancient_<?=$rune->ancient?>'>
  419. <img class='rune_base' src=<?=$path["img"]["layout"]?>rune/base.png/>
  420. <img class='rune_icon' src='<?=$rune->type->get_image()?>'/>
  421. <span class='rune_stars'>
  422. <?php
  423. for ($i = 0; $i < $rune->stars; $i ++){
  424. ?>
  425. <img class='star' src='<?=$path["img"]["layout"] . "icon/star.png"?>'/>
  426. <?php
  427. }
  428. ?>
  429. </span>
  430. <span class='rune_level'>
  431. <?=$rune->level?>
  432. </span>
  433. </div>
  434. </td>
  435. <td class='stats'>
  436. <table>
  437. <tr class='main_stat'>
  438. <td class='stat'>
  439. <?php
  440. if (in_array($rune->main_stat_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
  441. $stat_name = str_replace("%", "", $rune->main_stat_name);
  442. $stat_value = "+ " . $rune->main_stat_value . "%";
  443. }
  444. else{
  445. $stat_name = $rune->main_stat_name;
  446. $stat_value = "+ " . $rune->main_stat_value;
  447. }
  448. ?>
  449. <?=$stat_name?>
  450. </td>
  451. <td class='value'>
  452. <?=$stat_value?>
  453. <td>
  454. </tr>
  455. <tr class='innate_stat'>
  456. <td class='stat'>
  457. <?php
  458. if (strlen($rune->innate_stat) == 0){
  459. $stat_name = "&nbsp;";
  460. $stat_value = "";
  461. }
  462. elseif (in_array($rune->innate_stat_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
  463. $stat_name = str_replace("%", "", $rune->innate_stat_name);
  464. $stat_value = "+ " . $rune->innate_stat_value . "%";
  465. }
  466. else{
  467. $stat_name = $rune->innate_stat_name;
  468. $stat_value = "+ " . $rune->innate_stat_value;
  469. }
  470. ?>
  471. <?=$stat_name?>
  472. </td>
  473. <td class='value'>
  474. <?=$stat_value?>
  475. <td>
  476. </tr>
  477. <tr class=substat>
  478. <td class='stat'>
  479. <?php
  480. if (strlen($rune->substat_1) == 0){
  481. $stat_name = "&nbsp;";
  482. $stat_value = "";
  483. }
  484. elseif (in_array($rune->substat_1_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
  485. $stat_name = str_replace("%", "", $rune->substat_1_name);
  486. $stat_value = "+ " . $rune->substat_1_value . "%";
  487. }
  488. else{
  489. $stat_name = $rune->substat_1;
  490. $stat_value = "+ " . $rune->substat_1_value;
  491. }
  492. if ($rune->substat_1_craft == 1){
  493. $craft = "craft";
  494. }
  495. else{
  496. $craft = "";
  497. }
  498. ?>
  499. <?=$stat_name?>
  500. </td>
  501. <td class='value <?=$craft?>'>
  502. <?=$stat_value?>
  503. <td>
  504. </tr>
  505. <tr class=substat>
  506. <td class='stat'>
  507. <?php
  508. if (strlen($rune->substat_2) == 0){
  509. $stat_name = "&nbsp;";
  510. $stat_value = "";
  511. }
  512. elseif (in_array($rune->substat_2_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
  513. $stat_name = str_replace("%", "", $rune->substat_2_name);
  514. $stat_value = "+ " . $rune->substat_2_value . "%";
  515. }
  516. else{
  517. $stat_name = $rune->substat_2_name;
  518. $stat_value = "+ " . $rune->substat_2_value;
  519. }
  520. if ($rune->substat_2_craft == 1){
  521. $craft = "craft";
  522. }
  523. else{
  524. $craft = "";
  525. }
  526. ?>
  527. <?=$stat_name?>
  528. </td>
  529. <td class='value <?=$craft?>'>
  530. <?=$stat_value?>
  531. <td>
  532. </tr>
  533. <tr class=substat>
  534. <td class='stat'>
  535. <?php
  536. if (strlen($rune->substat_3) == 0){
  537. $stat_name = "&nbsp;";
  538. $stat_value = "";
  539. }
  540. elseif (in_array($rune->substat_3_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
  541. $stat_name = str_replace("%", "", $rune->substat_3_name);
  542. $stat_value = "+ " . $rune->substat_3_value . "%";
  543. }
  544. else{
  545. $stat_name = $rune->substat_3_name;
  546. $stat_value = "+ " . $rune->substat_3_value;
  547. }
  548. if ($rune->substat_3_craft == 1){
  549. $craft = "craft";
  550. }
  551. else{
  552. $craft = "";
  553. }
  554. ?>
  555. <?=$stat_name?>
  556. </td>
  557. <td class='value <?=$craft?>'>
  558. <?=$stat_value?>
  559. <td>
  560. </tr>
  561. <tr class=substat>
  562. <td class='stat'>
  563. <?php
  564. if (strlen($rune->substat_4) == 0){
  565. $stat_name = "&nbsp;";
  566. $stat_value = "";
  567. }
  568. elseif (in_array($rune->substat_4_name, array("CRR", "CRD", "RES", "ACC", "HP%", "ATK%", "DEF%"))){
  569. $stat_name = str_replace("%", "", $rune->substat_4_name);
  570. $stat_value = "+ " . $rune->substat_4_value . "%";
  571. }
  572. else{
  573. $stat_name = $rune->substat_4_name;
  574. $stat_value = "+ " . $rune->substat_4_value;
  575. }
  576. if ($rune->substat_4_craft == 1){
  577. $craft = "craft";
  578. }
  579. else{
  580. $craft = "";
  581. }
  582. ?>
  583. <?=$stat_name?>
  584. </td>
  585. <td class='value <?=$craft?>'>
  586. <?=$stat_value?>
  587. <td>
  588. </tr>
  589. </table>
  590. </td>
  591. <td class='details'>
  592. <table class='table_details'>
  593. <tr>
  594. <td class='title'>
  595. Quality:
  596. </td>
  597. <td class='value'>
  598. <span class='quality quality_<?=strtolower($rune->quality_name)?>'>
  599. <?=$rune->quality_name?>
  600. </span>
  601. </td>
  602. </tr>
  603. <tr>
  604. <td class='title'>
  605. Original quality:
  606. </td>
  607. <td class='value'>
  608. <span class='quality quality_<?=strtolower($rune->original_quality_name)?>'>
  609. <?=$rune->original_quality_name?>
  610. </span>
  611. </td>
  612. </tr>
  613. <tr>
  614. <td class='title'>
  615. Value:
  616. </td>
  617. <td class='value'>
  618. <?=$rune->value?>
  619. </td>
  620. </tr>
  621. <tr>
  622. <td class='title'>
  623. Efficiency:
  624. </td>
  625. <td class='value'>
  626. <?=number_format($rune->efficiency, 2)?>%
  627. </td>
  628. </tr>
  629. <tr>
  630. <td class='title'>
  631. Max. efficiency:
  632. </td>
  633. <td class='value'>
  634. <?=number_format($rune->max_efficiency, 2)?>%
  635. </td>
  636. </tr>
  637. <tr>
  638. <td class='title'>
  639. Reached efficiency:
  640. </td>
  641. <td class='value'>
  642. <?=number_format($rune->efficiency * 100 / $rune->max_efficiency)?>%
  643. </td>
  644. </tr>
  645. </table>
  646. </td>
  647. </tr>
  648. </table>
  649. </article>
  650. <?php
  651. }
  652. ?>
  653. <article id='rune_averages'>
  654. <table id='table_averages'>
  655. <tr>
  656. <td class='title'>
  657. Avg. level:
  658. </td>
  659. <td class='value'>
  660. <?=number_format($total_level / $total_runes, 2)?>
  661. </td>
  662. </tr>
  663. <tr>
  664. <td class='title'>
  665. Avg. stars:
  666. </td>
  667. <td class='value'>
  668. <?=number_format($total_stars / $total_runes, 2)?>
  669. </td>
  670. </tr>
  671. <tr>
  672. <td class='title'>
  673. Avg. value:
  674. </td>
  675. <td class='value'>
  676. <?=number_format($total_value / $total_runes, 2, '.', '')?>
  677. </td>
  678. </tr>
  679. <tr>
  680. <td class='title'>
  681. Total value:
  682. </td>
  683. <td class='value'>
  684. <?=$total_value?>
  685. </td>
  686. </tr>
  687. <tr>
  688. <td class='title'>
  689. Avg. efficiency:
  690. </td>
  691. <td class='value'>
  692. <?=number_format($total_efficiency / $total_runes, 2)?>%
  693. </td>
  694. </tr>
  695. <tr>
  696. <td class='title'>
  697. Avg. max. efficiency:
  698. </td>
  699. <td class='value'>
  700. <?=number_format($total_max_efficiency / $total_runes, 2)?>%
  701. </td>
  702. </tr>
  703. <tr>
  704. <td class='title'>
  705. Avg. reached efficiency:
  706. </td>
  707. <td class='value'>
  708. <?=number_format($total_reached_efficiency / $total_runes, 2)?>%
  709. </td>
  710. </tr>
  711. </table>
  712. </article>
  713. </section> <!-- runes -->
  714. <?php
  715. include __DIR__ . "/inc/footer.php";
  716. ?>
  717. </body>
  718. </html>