226 lines
11 KiB
Plaintext
226 lines
11 KiB
Plaintext
extends master.pug
|
|
|
|
block tab-content
|
|
table#main-table.table.table-sm.table-borderless.table-striped.table-hover.sticky-header.row-clickable
|
|
tr.header-above
|
|
th(colspan="2")
|
|
th(colspan="2").text-center.bg-info.text-light Reward
|
|
th(colspan="6").text-center.bg-secondary.text-light Stats
|
|
th(colspan="5").text-center.bg-dark.text-light Resistance
|
|
th(colspan="2")
|
|
tr.header
|
|
th.align-middle Img
|
|
+sortHeader('Name', 'name')
|
|
+sortHeader('Gold', 'gold')
|
|
+sortHeader('Exp', 'exp')
|
|
+sortHeader('HP', 'hp')
|
|
+sortHeader('MP', 'mp')
|
|
+sortHeader('Power', 'power')
|
|
+sortHeader('Guard', 'guard')
|
|
+sortHeader('Magic', 'magic')
|
|
+sortHeader('Speed', 'speed')
|
|
+sortHeader('Fire', 'res-fire')
|
|
+sortHeader('Ice', 'res-ice')
|
|
+sortHeader('Thunder', 'res-thunder')
|
|
+sortHeader('Vacuum', 'res-vacuum')
|
|
+sortHeader('Debuff', 'res-debuff')
|
|
th.align-middle Spells
|
|
th.align-middle Drops
|
|
tbody.data: each enemy in enemies
|
|
tr(
|
|
data-name=enemy.name
|
|
data-gold=enemy.gold
|
|
data-exp=enemy.exp
|
|
data-hp=enemy.hp
|
|
data-mp=enemy.mp
|
|
data-power=enemy.power
|
|
data-guard=enemy.guard
|
|
data-magic=enemy.magic
|
|
data-speed=enemy.speed
|
|
data-res-fire=enemy.resistance.fire
|
|
data-res-ice=enemy.resistance.ice
|
|
data-res-thunder=enemy.resistance.thunder
|
|
data-res-vacuum=(enemy.resistance.vacuum === null ? 100 : enemy.resistance.vacuum)
|
|
data-res-debuff=(enemy.resistance.debuff === null ? 100 : enemy.resistance.debuff)
|
|
data-spells=((enemy.spells || []).join(','))
|
|
data-cls=enemy.cls
|
|
)
|
|
td
|
|
td: strong= enemy.name
|
|
td.text-right: code= enemy.gold
|
|
td.text-right: code= enemy.exp
|
|
td.text-right: code= enemy.hp
|
|
td.text-right: code= enemy.mp
|
|
td.text-right: code= enemy.power
|
|
td.text-right: code= enemy.guard
|
|
td.text-right: code= enemy.magic
|
|
td.text-right: code= enemy.speed
|
|
td.text-right: code= enemy.resistance.fire
|
|
td.text-right: code= enemy.resistance.ice
|
|
td.text-right: code= enemy.resistance.thunder
|
|
td.text-right: code= enemy.resistance.vacuum === null ? 100 : enemy.resistance.vacuum
|
|
td.text-right: code= enemy.resistance.debuff === null ? 100 : enemy.resistance.debuff
|
|
td
|
|
+na(enemy.spells.length)
|
|
ul.list-horizontal: each spell in enemy.spells
|
|
li= spell
|
|
td
|
|
+na(Object.keys(enemy.drops).length)
|
|
ul.list-horizontal: each rate, item in enemy.drops
|
|
li
|
|
= item + ' (' + (rate * 100).toFixed(2) + '%)'
|
|
|
|
div#enemy-info-modal.modal(tabindex="-1")
|
|
div.modal-dialog.modal-xl
|
|
div.modal-content
|
|
div.modal-header
|
|
h5.modal-title
|
|
span.name
|
|
div.form-check-inline.ml-4.apply-runes-form(style="font-size: 75%")
|
|
input.form-check-input#apply-runes(type="checkbox" autocomplete="off")
|
|
label.form-check-label(for="apply-runes") Apply runes
|
|
div
|
|
| #[span.gold]/#[span.exp]
|
|
div.modal-body(style="font-size: 85%")
|
|
div.row
|
|
div.col-4
|
|
table.table.table-horizontal.table-sm
|
|
tr
|
|
th(colspan="2") Stats
|
|
th(colspan="2") Resistances
|
|
tr
|
|
th HP/MP
|
|
td
|
|
span.hp
|
|
| /
|
|
span.mp
|
|
th Fire
|
|
td.res-fire
|
|
tr
|
|
th Power
|
|
td.power
|
|
th Ice
|
|
td.res-ice
|
|
tr
|
|
th Guard
|
|
td.guard
|
|
th Thunder
|
|
td.res-thunder
|
|
tr
|
|
th Magic
|
|
td.magic
|
|
th Vacuum
|
|
td.res-vacuum
|
|
tr
|
|
th Speed
|
|
td.speed
|
|
th Debuff
|
|
td.res-debuff
|
|
|
|
div.card.bg-light
|
|
div.card-header Enemy attack
|
|
div.card-body
|
|
table.table.table-horizontal.table-sm
|
|
tr
|
|
th Default
|
|
th Guard up
|
|
th Defend
|
|
th Defend+Guard
|
|
tr
|
|
td: code.physical-enemy-dmg
|
|
td: code.physical-enemy-dmg-defend
|
|
td: code.physical-enemy-dmg-guard-up
|
|
td: code.physical-enemy-dmg-defend-guard-up
|
|
|
|
h6 Hit rate
|
|
table.table.table-horizontal.table-sm.mt-2
|
|
thead: tr
|
|
th
|
|
th Default
|
|
th Speed up
|
|
tr
|
|
th Normal
|
|
td: code.hit-rate-enemy
|
|
td: code.hit-rate-enemy-speed-up
|
|
tr
|
|
th Char. speed up
|
|
td: code.hit-rate-enemy-char-speed-up
|
|
td: code.hit-rate-enemy-char-speed-up-speed-up
|
|
|
|
div.card.bg-light.mt-2
|
|
div.card-header Enemy magic
|
|
div.card-body: table.table.table-horizontal.table-sm.enemy-spells
|
|
thead: tr
|
|
th
|
|
th Default
|
|
th Magic up
|
|
tbody
|
|
each spell in charSpells.filter(x => (!!x.power || x.name === 'HPCatcher' || x.name === 'MPCatcher'))
|
|
tr(data-name=spell.name class=("enemy-spell-" + spell.name))
|
|
th= spell.name
|
|
td: code(class=("magic-enemy-dmg-" + spell.name))
|
|
td: code(class=("magic-enemy-dmg-" + spell.name + '-magic-up'))
|
|
|
|
div.col-4
|
|
div.card.bg-light
|
|
div.card-header Character attack
|
|
div.card-body: table.table.table-horizontal.table-sm
|
|
tr
|
|
th
|
|
th Default
|
|
th Guard up
|
|
tr
|
|
th Normal
|
|
td: code.physical-dmg
|
|
td: code.physical-dmg-guard-up
|
|
tr
|
|
th Defend
|
|
td: code.physical-dmg-defend
|
|
td: code.physical-dmg-defend-guard-up
|
|
tr
|
|
th Power up
|
|
td: code.physical-dmg-power-up
|
|
td: code.physical-dmg-power-up-guard-up
|
|
tr
|
|
th Defend+Power
|
|
td: code.physical-dmg-defend-power-up
|
|
td: code.physical-dmg-defend-power-up-guard-up
|
|
|
|
div.card.bg-light.mt-2
|
|
div.card-header Character rates
|
|
div.card-body
|
|
table.table.table-sm.table-horizontal
|
|
tr
|
|
th Run rate
|
|
td: code.run-rate
|
|
th w/ speed up
|
|
td: code.run-rate-speed-up
|
|
tr
|
|
th Hit rate
|
|
td: code.hit-rate
|
|
th w/ speed up
|
|
td: code.hit-rate-speed-up
|
|
tr
|
|
th Debuff rate
|
|
td: code.debuff-rate
|
|
th
|
|
td
|
|
tr
|
|
th Vacuum rate
|
|
td: code.vacuum-rate
|
|
th
|
|
td
|
|
|
|
div.col-4: div.card.bg-light
|
|
div.card-header Character magic
|
|
div.card-body: table.table.table-horizontal.table-sm
|
|
tr
|
|
th
|
|
th Default
|
|
th Magic up
|
|
each spell in charSpells.filter(x => !!x.power || x.name === 'HPCatcher' || x.name === 'MPCatcher')
|
|
tr
|
|
th= spell.name
|
|
td: code(class=("magic-dmg-" + spell.name))
|
|
td: code(class=("magic-dmg-" + spell.name + '-magic-up'))
|