Step 4 - Manage perks

This commit is contained in:
2022-02-10 19:03:09 +01:00
parent 0a5e52ec4e
commit d17afaf142
12 changed files with 184 additions and 145 deletions

View File

@ -88,7 +88,6 @@ export class PegasusItemSheet extends ItemSheet {
/* -------------------------------------------- */
postItem() {
console.log(this.item);
let chatData = duplicate(PegasusUtility.data(this.item));
if (this.actor) {
chatData.actor = { id: this.actor.id };
@ -105,7 +104,7 @@ export class PegasusItemSheet extends ItemSheet {
});
renderTemplate('systems/fvtt-pegasus-rpg/templates/post-item.html', chatData).then(html => {
let chatOptions = WotGUtility.chatDataSetup(html);
let chatOptions = PegasusUtility.chatDataSetup(html);
ChatMessage.create(chatOptions)
});
}
@ -324,8 +323,7 @@ export class PegasusItemSheet extends ItemSheet {
await this.object.update( { 'data.armorgained': armorArray} );
}
}
/* -------------------------------------------- */
async addPerkSpecialisation( event, item, dataItem) {
let newItem = duplicate(item.data);
@ -340,6 +338,16 @@ export class PegasusItemSheet extends ItemSheet {
}
}
/* -------------------------------------------- */
async addPerkEffect( event, item, dataItem) {
let newItem = duplicate(item.data)
if ( event.toElement.className == 'drop-perk-effect') {
let effectArray = duplicate(this.object.data.data.effectsgained)
effectArray.push( newItem )
await this.object.update( { 'data.effectsgained': effectArray} )
}
}
/* -------------------------------------------- */
async addEffectSpec( event, item, dataItem) {
let newItem = duplicate(item.data);
@ -384,13 +392,16 @@ export class PegasusItemSheet extends ItemSheet {
}
if (this.object.type == 'perk' ) {
let data = event.dataTransfer.getData('text/plain');
let data = event.dataTransfer.getData('text/plain')
if (data) {
let dataItem = JSON.parse( data );
let item = await PegasusUtility.searchItem( dataItem);
let item = await PegasusUtility.searchItem( dataItem)
if ( item.data.type == 'specialisation') {
return this.addPerkSpecialisation( event, item, dataItem);
return this.addPerkSpecialisation( event, item, dataItem)
}
if ( item.data.type == 'effect') {
return this.addPerkEffect( event, item, dataItem);
}
}
}