Add worstfear/desires

This commit is contained in:
2022-02-10 21:58:19 +01:00
parent d17afaf142
commit ef8e737d1c
11 changed files with 311 additions and 105 deletions

View File

@ -20,7 +20,7 @@ export class PegasusUtility {
Hooks.on("dropCanvasData", (canvas, data) => {
PegasusUtility.dropItemOnToken(canvas, data)
});
this.rollDataStore = {}
this.defenderStore = {}
this.diceList = [];
@ -64,18 +64,18 @@ export class PegasusUtility {
if (data.type != "Item") {
return
}
const position = canvas.grid.getTopLeft(data.x, data.y)
let x = position[0]
let y = position[1]
const tokensList = [...canvas.tokens.placeables]
for(let token of tokensList) {
if ( x >= token.x && x <= (token.x + token.width)
&& y >= token.y && y <= (token.y + token.height) ) {
let item = await this.searchItem(data)
token.actor.preprocessItem("none", item, false )
console.log("Dropped !!!", item, token)
return
for (let token of tokensList) {
if (x >= token.x && x <= (token.x + token.width)
&& y >= token.y && y <= (token.y + token.height)) {
let item = await this.searchItem(data)
token.actor.preprocessItem("none", item, false)
console.log("Dropped !!!", item, token)
return
}
}
}
@ -186,6 +186,22 @@ export class PegasusUtility {
return loadTemplates(templatePaths);
}
/* -------------------------------------------- */
static async getEffectFromCompendium(effectName) {
effectName = effectName.toLowerCase()
let effect = game.items.find(item => item.data.type == 'effect' && item.name.toLowerCase() == effectName)
if (!effect) {
let effects = await this.loadCompendium('fvtt-pegasus.effect', item => item.name.toLowerCase() == effectName)
let objs = effects.map(i => i.toObject())
effect = objs[0]
} else {
effect = duplicate(effect);
}
console.log("Effect", effect)
return effect
}
/* -------------------------------------------- */
static removeChatMessageId(messageId) {
if (messageId) {
@ -404,18 +420,18 @@ export class PegasusUtility {
}
/* -------------------------------------------- */
static removeUsedPerkEffects( rollData) {
static removeUsedPerkEffects(rollData) {
// De-actived used effects from perks
let toRem = []
for(let effect of rollData.effectsList) {
for (let effect of rollData.effectsList) {
if (effect.effect.data.perkId && effect.effect.data.isUsed) {
toRem.push( effect.effect._id)
toRem.push(effect.effect._id)
}
}
if (toRem.length > 0) {
let actor = game.actors.get(rollData.actorId)
actor.deleteEmbeddedDocuments('Item', toRem)
}
}
}
/* -------------------------------------------- */