monster.php 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438
  1. <?php
  2. /**
  3. * Monster Page view.
  4. *
  5. * Contains the view layout and ome code to present the data.
  6. *
  7. * @author Iñigo Valentin <i@inigovalentin.com>
  8. * @license https://www.gnu.org/licenses/gpl-3.0.en.html GNU General Public License V3
  9. * @package SWDB
  10. * @category View
  11. * @property Monster_Page $page The page model.
  12. * @var Monster_Page $page The page model.
  13. */
  14. ?>
  15. <!DOCTYPE html>
  16. <html lang='en'>
  17. <head>
  18. <meta content='text/html; charset=utf-8' http-equiv='content-type'/>
  19. <meta name='viewport' content='width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1'/>
  20. <title><?=$page->get_title()?></title>
  21. <link rel='shortcut icon' href='<?=$page->get_favicon()?>'/>
  22. <!-- CSS files -->
  23. <link rel='stylesheet' type='text/css' href='<?=URL::CSS?>ui.css'/>
  24. <?php
  25. if (get_context()->get_game_mode() == GAME_MODE_ID::RTA){
  26. ?>
  27. <link rel='stylesheet' type='text/css' href='<?=URL::CSS?>ui-rta.css'/>
  28. <?php
  29. }
  30. ?>
  31. <link rel='stylesheet' type='text/css' href='<?=URL::CSS?>monster_info.css'/>
  32. <!-- Meta tags -->
  33. <link rel='canonical' href='<?=$page->get_canonical()?>'/>
  34. <link rel='author' href='<?=$page->get_author()?>'/>
  35. <link rel='publisher' href='<?=$page->get_author()?>'/>
  36. <meta name='description' content='<?=$page->get_description()?>'/>
  37. <meta property='og:title' content='<?=$page->get_title()?>'/>
  38. <meta property='og:url' content='<?=$page->get_canonical()?>'/>
  39. <meta property='og:description' content='<?=$page->get_description()?>'/>
  40. <meta property='og:image' content='<?=$page->get_icon()?>'/>
  41. <meta property='og:site_name' content='<?=$page->get_name()?>?>'/>
  42. <meta property='og:type' content='website'/>
  43. <meta property='og:locale' content='en'/>
  44. <meta name='twitter:card' content='summary'/>
  45. <meta name='twitter:title' content='<?=$page->get_title()?>'/>
  46. <meta name='twitter:description' content='<?=$page->get_description()?>'/>
  47. <meta name='twitter:image' content='<?=$page->get_icon()?>'/>
  48. <meta name='twitter:url' content='<?=$page->get_canonical()?>'/>
  49. <meta name='robots' content='index follow'/>
  50. </head>
  51. <body>
  52. <?php
  53. include __DIR__ . "/inc/header.php";
  54. ?>
  55. <aside>
  56. <h2>
  57. <?=str_replace(" - SWDB", "", $page->get_title())?>
  58. </h2>
  59. <p>
  60. Monster info:
  61. </p>
  62. <nav>
  63. <?php
  64. $i = 0;
  65. foreach ($page->get_monsters() as $monster){
  66. ?>
  67. <a href='#section_<?=$i?>'>
  68. <div class='monster_panel'>
  69. <?=HTML::unit_panel($monster)?>
  70. </div>
  71. </a>
  72. <?php
  73. $i ++;
  74. }
  75. ?>
  76. </nav>
  77. <?php
  78. if (sizeof($page->get_family()) > 0){
  79. ?>
  80. <p>
  81. Family members:
  82. </p>
  83. <nav id='family'>
  84. <?php
  85. foreach ($page->get_family() as $family){
  86. ?>
  87. <a href='/<?=get_context()->get_player()->get_id()?>/monsters/<?=$family->get_id()?>'>
  88. <div class='monster_panel'>
  89. <?=HTML::unit_panel($family)?>
  90. </div>
  91. </a>
  92. <?php
  93. }
  94. ?>
  95. </nav>
  96. <?php
  97. }
  98. ?>
  99. </aside>
  100. <main>
  101. <?php
  102. for ($i = 0; $i < 3; $i ++){
  103. $monster = $page->get_monsters()[$i];
  104. if ($monster != null){
  105. $stats = $monster->get_stats();
  106. ?>
  107. <section class='content' id='section_<?=$i?>'>
  108. <h2>
  109. <?=$monster->get_title()?>
  110. </h2>
  111. <article class='stage'>
  112. <div class='profile'>
  113. <div class='monster_panel'>
  114. <?=HTML::unit_panel($monster)?>
  115. </div>
  116. <?=HTML::unit_transformation_panel($monster)?>
  117. </div>
  118. <table class='stats'>
  119. <tr>
  120. <th>
  121. Type
  122. </th>
  123. <td>
  124. <?=$monster->get_archetype_name()?>
  125. </td>
  126. </tr>
  127. <tr>
  128. <th>
  129. ATK
  130. </th>
  131. <td>
  132. <?=$stats["atk"]?>&nbsp;
  133. </td>
  134. </tr>
  135. <tr>
  136. <th>
  137. DEF
  138. </th>
  139. <td>
  140. <?=$stats["def"]?>&nbsp;
  141. </td>
  142. </tr>
  143. <tr>
  144. <th>
  145. HP
  146. </th>
  147. <td>
  148. <?=$stats["hp"]?>&nbsp;
  149. </td>
  150. </tr>
  151. <tr>
  152. <th>
  153. SPD
  154. </th>
  155. <td>
  156. <?=$stats["spd"]?>&nbsp;
  157. </td>
  158. </tr>
  159. <tr>
  160. <th>
  161. CRR
  162. </th>
  163. <td>
  164. <?=$stats["crr"]?>%
  165. </td>
  166. </tr>
  167. <tr>
  168. <th>
  169. CRD
  170. </th>
  171. <td>
  172. <?=$stats["crd"]?>%
  173. </td>
  174. </tr>
  175. <tr>
  176. <th>
  177. ACC
  178. </th>
  179. <td>
  180. <?=$stats["acc"]?>%
  181. </td>
  182. </tr>
  183. <tr>
  184. <th>
  185. RES
  186. </th>
  187. <td>
  188. <?=$stats["res"]?>%
  189. </td>
  190. </tr>
  191. </table>
  192. <div class='extra'>
  193. <?php
  194. if (count($monster->get_sources()) > 0){
  195. ?>
  196. <!-- TODO NOT WORKING<div class='sources'>
  197. <span>
  198. Obtainable from:
  199. </span>
  200. <?php
  201. foreach ($monster->get_sources() as $source){
  202. ?>
  203. <img title='<?=$source->get_name()?>' class='source' src='<?=$source->get_image()?>' />
  204. <?php
  205. }
  206. ?>
  207. </div>-->
  208. <?php
  209. }
  210. if (count($monster->get_essences()) > 0){
  211. ?>
  212. <div class='essences'>
  213. <span>
  214. Awake with:
  215. </span>
  216. <?php
  217. foreach ($monster->get_essences() as $essence){
  218. ?>
  219. <div class='essence border_<?=explode(" ", $essence["item"]->get_name())[2]?>'>
  220. <img alt='<?=$essence["item"]->get_name()?>' title='<?=$essence["amount"]?>x <?=$essence["item"]->get_name()?>' class='essence' src='<?=$essence["item"]->get_image()?>'/>
  221. <span>
  222. <?=$essence["amount"]?>
  223. </span>
  224. </div>
  225. <?php
  226. }
  227. ?>
  228. </div>
  229. <?php
  230. }
  231. if (count($monster->get_sources()) > 0){
  232. ?>
  233. <div class='sources'>
  234. <span>
  235. Obtainable from:
  236. </span>
  237. <?php
  238. foreach ($monster->get_sources() as $source){
  239. ?>
  240. <?=HTML::source_panel($source)?>
  241. <?php
  242. }
  243. ?>
  244. </div>
  245. <?php
  246. }
  247. ?>
  248. </div> <!-- .extra -->
  249. <table class='skills'>
  250. <tr>
  251. <th colspan='4'>
  252. Skills
  253. </th>
  254. <tr/>
  255. <?php
  256. if ($monster->get_leader_skill()){
  257. ?>
  258. <tr>
  259. <td class='skill_img'>
  260. <img src='<?=$monster->get_leader_skill()->get_image()?>'/>
  261. </td>
  262. <td colspan='3' class='skill_text'>
  263. <h4>
  264. Leader Skill
  265. </h4>
  266. <p>
  267. <?=$monster->get_leader_skill()->get_description()?>
  268. </p>
  269. </td>
  270. </tr>
  271. <?php
  272. }
  273. foreach ($monster->get_skills() as $skill){
  274. ?>
  275. <tr>
  276. <td class='skill_img'>
  277. <img src='<?=$skill->get_image()?>'/>
  278. </td>
  279. <td class='skill_text'>
  280. <h4>
  281. <?=$skill->get_name()?>
  282. </h4>
  283. <p>
  284. <?=$skill->get_description()?>
  285. &emsp;
  286. <span class='formula'>
  287. <?=$skill->get_multiplier_formula()?>
  288. </span>
  289. </p>
  290. <div class='effects'>
  291. <?php
  292. foreach ($skill->get_effects() as $effect){
  293. ?>
  294. <img class='effect_img' title='<?=$effect->get_name()?>' src='<?=$effect->get_image()?>'/>
  295. <?php
  296. }
  297. ?>
  298. </div>
  299. </td>
  300. <td class='skill_ups'>
  301. <?php
  302. if ($skill->get_max_level() > 1){
  303. ?>
  304. <table>
  305. <?php
  306. foreach ($skill->get_levels() as $level){
  307. if ($level->get_level() > 1){
  308. ?>
  309. <tr>
  310. <td class='level'>
  311. Lv. <?=$level->get_level()?>
  312. </td>
  313. <td class='upgrade'>
  314. <?=$level->get_description()?>
  315. </td>
  316. </tr>
  317. <?php
  318. }
  319. }
  320. ?>
  321. </table>
  322. <?php
  323. }
  324. ?>
  325. </td>
  326. </tr>
  327. <?php
  328. }
  329. ?>
  330. </table>
  331. <?php
  332. if ($monster->get_transformation() != null){
  333. ?>
  334. <table class='skills'>
  335. <tr>
  336. <th colspan='4'>
  337. Skills (transformed)
  338. </th>
  339. <tr/>
  340. <?php
  341. if ($monster->get_leader_skill() != null){
  342. ?>
  343. <tr>
  344. <td class='skill_img'>
  345. <img src='<?=$monster->get_leader_skill()->get_image()?>'/>
  346. </td>
  347. <td colspan='3' class='skill_text'>
  348. <h4>
  349. Leader Skill
  350. </h4>
  351. <p>
  352. <?=$monster->get_leader_skill()->get_description()?>
  353. </p>
  354. </td>
  355. </tr>
  356. <?php
  357. }
  358. foreach ($monster->get_transformation()->get_skills() as $skill){
  359. ?>
  360. <tr>
  361. <td class='skill_img'>
  362. <img src='<?=$skill->get_image()?>'/>
  363. </td>
  364. <td class='skill_text'>
  365. <h4>
  366. <?=$skill->get_name()?>
  367. </h4>
  368. <p>
  369. <?=$skill->get_description()?>
  370. &emsp;
  371. <span class='formula'>
  372. <?=$skill->get_multiplier_formula()?>
  373. </span>
  374. </p>
  375. <div class='effects'>
  376. <?php
  377. foreach ($skill->get_effects() as $effect){
  378. ?>
  379. <img class='effect_img' title='<?=$effect->get_name()?>' src='<?=$effect->get_image()?>'/>
  380. <?php
  381. }
  382. ?>
  383. </div>
  384. </td>
  385. <td class='skill_ups'>
  386. <?php
  387. if ($skill->get_max_level() > 1){
  388. ?>
  389. <table>
  390. <?php
  391. foreach ($skill->get_levels() as $level){
  392. if ($level->get_level() > 1){
  393. ?>
  394. <tr>
  395. <td class='level'>
  396. Lv. <?=$level->get_level()?>
  397. </td>
  398. <td class='upgrade'>
  399. <?=$level->get_description()?>
  400. </td>
  401. </tr>
  402. <?php
  403. }
  404. }
  405. ?>
  406. </table>
  407. <?php
  408. }
  409. ?>
  410. </td>
  411. </tr>
  412. <?php
  413. }
  414. ?>
  415. </table> <!-- #transformation_skills -->
  416. <?php
  417. }
  418. ?>
  419. </article>
  420. </section>
  421. <?php
  422. } // if ($monster != null)
  423. } // for (int $i = 0; $i < 3; $i ++)
  424. ?>
  425. </main>
  426. <?php
  427. include __DIR__ . "/inc/footer.php";
  428. ?>
  429. </body>
  430. </html>