v0.5 fixes
This commit is contained in:
@ -110,6 +110,16 @@ export class PegasusActor extends Actor {
|
||||
return comp;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getVirtues() {
|
||||
let comp = this.data.items.filter(item => item.type == 'virtue');
|
||||
return comp;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getVices() {
|
||||
let comp = this.data.items.filter(item => item.type == 'vice');
|
||||
return comp;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getArmors() {
|
||||
let comp = duplicate(this.data.items.filter(item => item.type == 'armor') || []);
|
||||
return comp;
|
||||
@ -222,6 +232,37 @@ export class PegasusActor extends Actor {
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async activateViceOrVirtue(itemId) {
|
||||
let item = this.data.items.find(item => item.id == itemId)
|
||||
if (item && item.data.data) {
|
||||
let nrg = duplicate(this.data.data.nrg)
|
||||
if (!item.data.data.activated) { // Current value
|
||||
|
||||
let effects = []
|
||||
for (let effect of item.data.data.effectsgained) {
|
||||
effect.data.powerId = itemId // Link to the perk, in order to dynamically remove them
|
||||
effects.push(effect)
|
||||
}
|
||||
if (effects.length) {
|
||||
await this.createEmbeddedDocuments('Item', effects)
|
||||
}
|
||||
} else {
|
||||
let toRem = []
|
||||
for (let item of this.data.items) {
|
||||
if (item.type == 'effect' && item.data.data.powerId == itemId) {
|
||||
toRem.push(item.id)
|
||||
}
|
||||
}
|
||||
if (toRem.length) {
|
||||
await this.deleteEmbeddedDocuments('Item', toRem)
|
||||
}
|
||||
}
|
||||
let update = { _id: item.id, "data.activated": !item.data.data.activated }
|
||||
await this.updateEmbeddedDocuments('Item', [update]) // Updates one EmbeddedEntity
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async activatePower(itemId) {
|
||||
let item = this.data.items.find(item => item.id == itemId)
|
||||
@ -444,6 +485,9 @@ export class PegasusActor extends Actor {
|
||||
chatData.content = `<div>${this.name} has used a Momentum</div`
|
||||
}
|
||||
ChatMessage.create(chatData)
|
||||
if (incDec < 0) {
|
||||
PegasusUtility.showMomentumDialog(this.id)
|
||||
}
|
||||
} else {
|
||||
ui.notifications.warn("Momentum cannot go below 0")
|
||||
}
|
||||
@ -862,10 +906,10 @@ export class PegasusActor extends Actor {
|
||||
return this.data.data.biodata.currentlevelremaining
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
modifyHeroLevelRemaining( incDec) {
|
||||
modifyHeroLevelRemaining(incDec) {
|
||||
let biodata = duplicate(this.data.data.biodata)
|
||||
biodata.currentlevelremaining = Math.max(biodata.currentlevelremaining+incDec, 0)
|
||||
this.update( {"data.biodata": biodata} )
|
||||
biodata.currentlevelremaining = Math.max(biodata.currentlevelremaining + incDec, 0)
|
||||
this.update({ "data.biodata": biodata })
|
||||
return biodata.currentlevelremaining
|
||||
}
|
||||
|
||||
@ -1236,7 +1280,7 @@ export class PegasusActor extends Actor {
|
||||
}
|
||||
let diceKey = PegasusUtility.getDiceFromLevel(rollData.stat.value)
|
||||
rollData.dicePool.push({
|
||||
name: "stat", key: diceKey, mod: rollData.stat.mod,
|
||||
name: "stat", key: diceKey, level: rollData.stat.value, mod: rollData.stat.mod,
|
||||
img: `systems/fvtt-pegasus-rpg/images/dice/${diceKey}.webp`
|
||||
})
|
||||
}
|
||||
@ -1245,15 +1289,16 @@ export class PegasusActor extends Actor {
|
||||
this.addArmorsShields(rollData, statKey, useShield)
|
||||
this.addWeapons(rollData, statKey, useShield)
|
||||
this.addEquipments(rollData, statKey)
|
||||
console.log("ROLLDATA", rollData)
|
||||
|
||||
return rollData
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getLevelRemainingList( ) {
|
||||
getLevelRemainingList() {
|
||||
let options = []
|
||||
for (let i=0; i<=this.data.data.biodata.maxlevelremaining; i++) {
|
||||
options.push( `<option value="${i}">${i}</option>`)
|
||||
for (let i = 0; i <= this.data.data.biodata.maxlevelremaining; i++) {
|
||||
options.push(`<option value="${i}">${i}</option>`)
|
||||
}
|
||||
return options.join("\n")
|
||||
}
|
||||
@ -1262,10 +1307,9 @@ export class PegasusActor extends Actor {
|
||||
async startRoll(rollData) {
|
||||
this.syncRoll(rollData);
|
||||
//console.log("ROLL DATA", rollData)
|
||||
let rollDialog = await PegasusRollDialog.create(this, rollData);
|
||||
console.log(rollDialog);
|
||||
let rollDialog = await PegasusRollDialog.create(this, rollData)
|
||||
console.log(rollDialog)
|
||||
rollDialog.render(true);
|
||||
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
Reference in New Issue
Block a user