Hourglass Quest (#11325)

* feat(content): Hourglass Quest

* fix(hourglasses): NaN from undefined

* fix(quests): sanity check for negative scrolls

* fix(hourglasses): don't show quantity selection for binary items

* fix(route): validate number, use body not params

* test(timetrav): add quest tests
This commit is contained in:
Sabe Jones
2019-08-29 15:22:12 -04:00
committed by GitHub
parent 9077290ea3
commit fc841d0ad4
61 changed files with 209 additions and 42 deletions
@@ -23,7 +23,7 @@
strong {{ $t('howManyToBuy') }}
.box
input(type='number', min='0', step='1', v-model.number='selectedAmountToBuy')
span.svg-icon.inline.icon-32(aria-hidden="true", v-html="(priceType === 'gems') ? icons.gem : icons.gold")
span.svg-icon.inline.icon-32(aria-hidden="true", v-html="currencyIcon")
span.value(:class="priceType") {{ item.value }}
button.btn.btn-primary(
@@ -44,6 +44,7 @@
div.clearfix(slot="modal-footer")
span.balance.float-left {{ $t('yourBalance') }}
balanceInfo(
:withHourglass="priceType === 'hourglasses'",
:currencyNeeded="priceType",
:amountNeeded="item.value"
).float-right
@@ -202,6 +203,7 @@
import svgGem from 'assets/svg/gem.svg';
import svgPin from 'assets/svg/pin.svg';
import svgExperience from 'assets/svg/experience.svg';
import svgHourglasses from 'assets/svg/hourglass.svg';
import BalanceInfo from '../balanceInfo.vue';
import currencyMixin from '../_currencyMixin';
@@ -229,6 +231,7 @@
gem: svgGem,
pin: svgPin,
experience: svgExperience,
hourglass: svgHourglasses,
}),
isPinned: false,
@@ -258,6 +261,11 @@
return this.item.notes;
}
},
currencyIcon () {
if (this.priceType === 'gold') return this.icons.gold;
if (this.priceType === 'hourglasses') return this.icons.hourglass;
return this.icons.gem;
},
},
methods: {
onChange ($event) {