Added spellcasting to the stats page, click the icon next to a spell slot to cast
This commit is contained in:
@@ -149,15 +149,18 @@
|
||||
class="spell-slots"
|
||||
>
|
||||
<v-card>
|
||||
<v-list>
|
||||
<v-list
|
||||
two-line
|
||||
subheader
|
||||
>
|
||||
<v-subheader>Spell Slots</v-subheader>
|
||||
<spell-slot-list-tile
|
||||
v-for="spellSlot in spellSlots"
|
||||
:key="spellSlot._id"
|
||||
v-bind="spellSlot"
|
||||
:model="spellSlot"
|
||||
:data-id="spellSlot._id"
|
||||
@click="clickProperty({_id: spellSlot._id})"
|
||||
@change="e => incrementChange(spellSlot._id, e)"
|
||||
@cast="castSpellWithSlot(spellSlot._id)"
|
||||
/>
|
||||
</v-list>
|
||||
</v-card>
|
||||
@@ -320,6 +323,7 @@
|
||||
import ActionCard from '/imports/ui/properties/components/actions/ActionCard.vue';
|
||||
import RestButton from '/imports/ui/creature/RestButton.vue';
|
||||
import getActiveProperties from '/imports/api/creature/getActiveProperties.js';
|
||||
import castSpellWithSlot from '/imports/api/creature/actions/castSpellWithSlot.js';
|
||||
|
||||
const getProperties = function(creature, filter,){
|
||||
if (!creature) return;
|
||||
@@ -448,6 +452,22 @@
|
||||
softRemoveProperty.call({_id}, error => {
|
||||
if (error) console.error(error);
|
||||
});
|
||||
},
|
||||
castSpellWithSlot(slotId){
|
||||
this.$store.commit('pushDialogStack', {
|
||||
component: 'cast-spell-with-slot-dialog',
|
||||
elementId: `spell-slot-cast-btn-${slotId}`,
|
||||
data: {
|
||||
creatureId: this.creatureId,
|
||||
slotId,
|
||||
},
|
||||
callback({spellId, slotId} = {}){
|
||||
if (!spellId) return;
|
||||
castSpellWithSlot.call({spellId, slotId}, error => {
|
||||
if (error) console.error(error);
|
||||
});
|
||||
},
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user