Fix race
This commit is contained in:
@@ -477,10 +477,24 @@ export class PegasusActor extends Actor {
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async deleteAllItemsByType( itemType) {
|
||||
let items = this.data.items.filter( item => item.type == itemType);
|
||||
await this.deleteEmbeddedDocuments( 'Item', items);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async modStat( key, inc=1) {
|
||||
let stat = duplicate(this.data.data.statistics[key])
|
||||
stat.mod += parseInt(inc)
|
||||
await this.update( { [`data.statistics.${key}`] : stat } )
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async applyRace( race ) {
|
||||
let updates = { 'data.racename':race.name }
|
||||
let newItems = []
|
||||
await this.deleteAllItemsByType( 'race')
|
||||
newItems.push(race);
|
||||
|
||||
for (let ability of race.data.abilities) {
|
||||
@@ -501,8 +515,26 @@ export class PegasusActor extends Actor {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
applyRole( role ) {
|
||||
getIncreaseStatValue( updates, statKey) {
|
||||
let stat = duplicate(this.data.data.statistics[statKey])
|
||||
stat.value += 1;
|
||||
updates[`data.statistics.${statKey}`] = stat
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async applyRole( role ) {
|
||||
console.log("ROLE", role)
|
||||
|
||||
let updates = { 'data.rolename': role.name }
|
||||
let newItems = []
|
||||
await this.deleteAllItemsByType( 'role')
|
||||
newItems.push(role);
|
||||
|
||||
this.getIncreaseStatValue( updates, role.data.statincrease1)
|
||||
this.getIncreaseStatValue( updates, role.data.statincrease2)
|
||||
|
||||
await this.update( updates )
|
||||
await this.createEmbeddedDocuments('Item', newItems)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
||||
Reference in New Issue
Block a user