PageRenderTime 60ms CodeModel.GetById 31ms RepoModel.GetById 0ms app.codeStats 1ms

/themes/default/monster/view.php

https://github.com/chokoleytdesignoper/fluxcp_choko
PHP | 212 lines | 210 code | 1 blank | 1 comment | 17 complexity | f5628050121ae83cdcf48b0731c1981b MD5 | raw file
Possible License(s): LGPL-2.1, LGPL-3.0, BSD-3-Clause
  1. <?php if (!defined('FLUX_ROOT')) exit; ?>
  2. <h2>Viewing Monster</h2>
  3. <?php if ($monster): ?>
  4. <h3>
  5. #<?php echo $monster->monster_id ?>: <?php echo htmlspecialchars($monster->iro_name) ?>
  6. <?php if ($monster->mvp_exp): ?>
  7. <span class="mvp">(MVP)</span>
  8. <?php endif ?>
  9. </h3>
  10. <table class="vertical-table">
  11. <tr>
  12. <th>Monster ID</th>
  13. <td><?php echo $monster->monster_id ?></td>
  14. <th>Sprite</th>
  15. <td><?php echo htmlspecialchars($monster->sprite) ?></td>
  16. <?php if ($itemDrops): ?>
  17. <td rowspan="13" style="vertical-align: top">
  18. <h3><?php echo htmlspecialchars($monster->iro_name) ?> Item Drops</h3>
  19. <table class="vertical-table">
  20. <tr>
  21. <th>Item ID</th>
  22. <th colspan="2">Item Name</th>
  23. <th>Drop Chance</th>
  24. </tr>
  25. <?php $mvpDrops = 0; ?>
  26. <?php foreach ($itemDrops as $itemDrop): ?>
  27. <tr class="item-drop-<?php echo $itemDrop['type'] ?>"
  28. title="<strong><?php echo htmlspecialchars($itemDrop['name']) ?></strong> (<?php echo (float)$itemDrop['chance'] ?>%)">
  29. <td align="right">
  30. <?php if ($auth->actionAllowed('item', 'view')): ?>
  31. <?php echo $this->linkToItem($itemDrop['id'], $itemDrop['id']) ?>
  32. <?php else: ?>
  33. <?php echo htmlspecialchars($itemDrop['id']) ?>
  34. <?php endif ?>
  35. </td>
  36. <?php if ($image=$this->iconImage($itemDrop['id'])): ?>
  37. <td><img src="<?php echo $image ?>" /></td>
  38. <td>
  39. <?php if ($itemDrop['type'] == 'mvp'): ?>
  40. <?php ++$mvpDrops; ?>
  41. <span class="mvp">MVP!</span>
  42. <?php endif ?>
  43. <?php echo htmlspecialchars($itemDrop['name']) ?>
  44. </td>
  45. <?php else: ?>
  46. <td colspan="2">
  47. <?php if ($itemDrop['type'] == 'mvp'): ?>
  48. <?php ++$mvpDrops; ?>
  49. <span class="mvp">MVP!</span>
  50. <?php endif ?>
  51. <?php echo htmlspecialchars($itemDrop['name']) ?>
  52. </td>
  53. <?php endif ?>
  54. <td><?php echo (float)$itemDrop['chance'] ?>%</td>
  55. </tr>
  56. <?php endforeach ?>
  57. <?php if ($mvpDrops > 1): ?>
  58. <tr>
  59. <td colspan="4" align="center">
  60. <p><em>Note: Only <strong>one</strong> MVP drop will be rewarded.</em></p>
  61. </td>
  62. </tr>
  63. <?php endif ?>
  64. </table>
  65. </td>
  66. <?php endif ?>
  67. </tr>
  68. <tr>
  69. <th>kRO Name</th>
  70. <td><?php echo htmlspecialchars($monster->kro_name) ?></td>
  71. <th>HP</th>
  72. <td><?php echo number_format($monster->hp) ?></td>
  73. </tr>
  74. <tr>
  75. <th>iRO Name</th>
  76. <td><?php echo htmlspecialchars($monster->iro_name) ?></td>
  77. <th>SP</th>
  78. <td><?php echo number_format($monster->sp) ?></td>
  79. </tr>
  80. <tr>
  81. <th>Race</th>
  82. <td>
  83. <?php if ($race=Flux::monsterRaceName($monster->race)): ?>
  84. <?php echo htmlspecialchars($race) ?>
  85. <?php else: ?>
  86. <span class="not-applicable">Unknown</span>
  87. <?php endif ?>
  88. </td>
  89. <th>Level</th>
  90. <td><?php echo number_format($monster->level) ?></td>
  91. </tr>
  92. <tr>
  93. <th>Element</th>
  94. <td><?php echo Flux::elementName($monster->element_type) ?> (Level <?php echo floor($monster->element_level) ?>)</td>
  95. <th>Speed</th>
  96. <td><?php echo number_format($monster->speed) ?></td>
  97. </tr>
  98. <tr>
  99. <th>Experience</th>
  100. <td><?php echo number_format($monster->base_exp*$server->baseExpRates) ?></td>
  101. <th>Attack</th>
  102. <td><?php echo number_format($monster->attack1) ?>~<?php echo number_format($monster->attack2) ?></td>
  103. </tr>
  104. <tr>
  105. <th>Job Experience</th>
  106. <td><?php echo number_format($monster->job_exp*$server->jobExpRates) ?></td>
  107. <th>Defense</th>
  108. <td><?php echo number_format($monster->defense) ?></td>
  109. </tr>
  110. <tr>
  111. <th>MVP Experience</th>
  112. <td><?php echo number_format($monster->mvp_exp*$server->mvpExpRates) ?></td>
  113. <th>Magic Defense</th>
  114. <td><?php echo number_format($monster->magic_defense) ?></td>
  115. </tr>
  116. <tr>
  117. <th>Attack Delay</th>
  118. <td><?php echo number_format($monster->attack_delay) ?> ms</td>
  119. <th>Attack Range</th>
  120. <td><?php echo number_format($monster->range1) ?></td>
  121. </tr>
  122. <tr>
  123. <th>Attack Motion</th>
  124. <td><?php echo number_format($monster->attack_motion) ?> ms</td>
  125. <th>Spell Range</th>
  126. <td><?php echo number_format($monster->range2) ?></td>
  127. </tr>
  128. <tr>
  129. <th>Delay Motion</th>
  130. <td><?php echo number_format($monster->defense_motion) ?> ms</td>
  131. <th>Vision Range</th>
  132. <td><?php echo number_format($monster->range3) ?></td>
  133. </tr>
  134. <tr>
  135. <th>Monster Mode</th>
  136. <td colspan="3">
  137. <ul class="monster-mode">
  138. <?php foreach ($this->monsterMode($monster->mode) as $mode): ?>
  139. <li><?php echo htmlspecialchars($mode) ?></li>
  140. <?php endforeach ?>
  141. </ul>
  142. </td>
  143. </tr>
  144. <tr>
  145. <th>Monster Stats</th>
  146. <td colspan="3">
  147. <table class="character-stats">
  148. <tr>
  149. <td><span class="stat-name">STR</span></td>
  150. <td><span class="stat-value"><?php echo number_format((int)$monster->strength) ?></span></td>
  151. <td><span class="stat-name">AGI</span></td>
  152. <td><span class="stat-value"><?php echo number_format((int)$monster->agility) ?></span></td>
  153. <td><span class="stat-name">VIT</span></td>
  154. <td><span class="stat-value"><?php echo number_format((int)$monster->vitality) ?></span></td>
  155. </tr>
  156. <tr>
  157. <td><span class="stat-name">INT</span></td>
  158. <td><span class="stat-value"><?php echo number_format((int)$monster->intelligence) ?></span></td>
  159. <td><span class="stat-name">DEX</span></td>
  160. <td><span class="stat-value"><?php echo number_format((int)$monster->dexterity) ?></span></td>
  161. <td><span class="stat-name">LUK</span></td>
  162. <td><span class="stat-value"><?php echo number_format((int)$monster->luck) ?></span></td>
  163. </tr>
  164. </table>
  165. </td>
  166. </tr>
  167. </table>
  168. <h3>Monster Skills for “<?php echo htmlspecialchars($monster->iro_name) ?>”</h3>
  169. <?php if (!filesize($skillDB)): ?>
  170. <p><strong>Mob skill database needs to be reloaded!</strong></p>
  171. <?php elseif (empty($skillDB)): ?>
  172. <p>No skills found for <?php echo htmlspecialchars($monster->iro_name) ?>.</p>
  173. <?php else: ?>
  174. <table class="vertical-table">
  175. <tr>
  176. <th>Name</th>
  177. <th>Level</th>
  178. <th>State</th>
  179. <th>Rate</th>
  180. <th>Cast Time</th>
  181. <th>Delay</th>
  182. <th>Cancelable</th>
  183. <th>Target</th>
  184. <th>Condition</th>
  185. <th>Value</th>
  186. </tr>
  187. <?php foreach ($mobSkills as $skill): ?>
  188. <tr>
  189. <td><?php echo htmlspecialchars($skill['name']) ?></td>
  190. <td><?php echo htmlspecialchars($skill['level']) ?></td>
  191. <td><?php echo htmlspecialchars(ucfirst($skill['state'])) ?></td>
  192. <td><?php echo $skill['rate'] ?>%</td>
  193. <td><?php echo $skill['cast_time'] ?>s</td>
  194. <td><?php echo $skill['delay'] ?>s</td>
  195. <td><?php echo htmlspecialchars(ucfirst($skill['cancelable'])) ?></td>
  196. <td><?php echo htmlspecialchars(ucfirst($skill['target'])) ?></td>
  197. <td><em><?php echo htmlspecialchars($skill['condition']) ?></em></td>
  198. <td>
  199. <?php if (!is_null($skill['value']) && trim($skill['value']) !== ''): ?>
  200. <?php echo htmlspecialchars($skill['value']) ?>
  201. <?php else: ?>
  202. <span class="not-applicable">None</span>
  203. <?php endif ?>
  204. </td>
  205. </tr>
  206. <?php endforeach ?>
  207. </table>
  208. <?php endif ?>
  209. <?php else: ?>
  210. <p>No such monster was found. <a href="javascript:history.go(-1)">Go back</a>.</p>
  211. <?php endif ?>