Allow items
This commit is contained in:
@ -435,6 +435,36 @@ export class PegasusActor extends Actor {
|
||||
this.updateEmbeddedDocuments('Item', [{ _id: specId, 'data.powersactivated': false }])
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
equipActivate(itemId) {
|
||||
let item = this.items.get(itemId)
|
||||
if (item) {
|
||||
let effects = []
|
||||
for (let effect of item.data.data.effects) {
|
||||
effect.data.itemId = itemId // Keep link
|
||||
effects.push(effect)
|
||||
}
|
||||
if (effects.length > 0) {
|
||||
this.createEmbeddedDocuments('Item', effects )
|
||||
}
|
||||
this.updateEmbeddedDocuments('Item', [{ _id: itemId, 'data.activated': true }])
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
equipDeactivate(itemId) {
|
||||
let toRem = []
|
||||
for (let item of this.data.items) {
|
||||
if (item.data.data.itemId && item.data.data.itemId == itemId) {
|
||||
toRem.push(item.id)
|
||||
}
|
||||
}
|
||||
if (toRem.length > 0) {
|
||||
this.deleteEmbeddedDocuments('Item', toRem)
|
||||
}
|
||||
this.updateEmbeddedDocuments('Item', [{ _id: itemId, 'data.activated': false }])
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async perkEffectUsed(itemId) {
|
||||
let effect = this.items.get(itemId)
|
||||
@ -547,6 +577,10 @@ export class PegasusActor extends Actor {
|
||||
await this.update({ 'data.nrg': nrg })
|
||||
}
|
||||
this.disableWeaverPerk(item)
|
||||
PegasusUtility.createChatWithRollMode(item.name, {
|
||||
content: await renderTemplate(`systems/fvtt-pegasus-rpg/templates/chat-perk-ready.html`, { name: this.name, perk: item })
|
||||
});
|
||||
|
||||
}
|
||||
if (status == "activated") {
|
||||
// Add effects linked to the perk
|
||||
@ -875,10 +909,10 @@ export class PegasusActor extends Actor {
|
||||
&& (effect.data.stataffected != "notapplicable" || effect.data.specaffected.length > 0)
|
||||
&& effect.data.stataffected != "special") {
|
||||
if (effect.data.effectstatlevel) {
|
||||
if ( effect.data.effectstat == rollData.statKey ) {
|
||||
if (effect.data.effectstat == rollData.statKey) {
|
||||
effect.data.effectlevel = rollData.statDicesLevel
|
||||
}
|
||||
if ( effect.data.stataffected == "all") { // Real nightmare
|
||||
if (effect.data.stataffected == "all") { // Real nightmare
|
||||
effect.data.effectlevel = this.data.data.statistics[effect.data.effectstat].value
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user