58 lines
1.3 KiB
Vue
58 lines
1.3 KiB
Vue
<template lang="html">
|
|
<div class="buff-viewer">
|
|
<property-name :value="model.name" />
|
|
<property-field
|
|
name="Duration"
|
|
:value="model.duration"
|
|
/>
|
|
<property-description
|
|
:string="model.description"
|
|
:calculations="model.descriptionCalculations"
|
|
:inactive="model.inactive"
|
|
/>
|
|
</div>
|
|
</template>
|
|
|
|
<script lang="js">
|
|
import propertyViewerMixin from '/imports/ui/properties/viewers/shared/propertyViewerMixin.js'
|
|
import numberToSignedString from '/imports/ui/utility/numberToSignedString.js';
|
|
|
|
export default {
|
|
mixins: [propertyViewerMixin],
|
|
computed: {
|
|
reset(){
|
|
let reset = this.model.reset
|
|
if (reset === 'shortRest'){
|
|
return `Reset${
|
|
this.model.resetMultiplier && ' x' + this.model.resetMultiplier
|
|
} on a short rest`;
|
|
} else if (reset === 'longRest'){
|
|
return `Reset${
|
|
this.model.resetMultiplier && ' x' + this.model.resetMultiplier
|
|
} on a long rest`;
|
|
} else {
|
|
return undefined;
|
|
}
|
|
}
|
|
},
|
|
methods: {
|
|
numberToSignedString,
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="css" scoped>
|
|
.ability-value {
|
|
font-weight: 600;
|
|
font-size: 24px !important;
|
|
color: rgba(0, 0, 0, 0.54);
|
|
}
|
|
.mod, .ability-value {
|
|
text-align: center;
|
|
width: 100%;
|
|
}
|
|
.attribute-value {
|
|
text-align: center;
|
|
}
|
|
</style>
|