Add consequenes to actor sheet
This commit is contained in:
@@ -32,7 +32,10 @@ export class SoSActorSheet extends ActorSheet {
|
||||
});
|
||||
data.data.skill1 = data.data.skills.slice(0, Math.ceil(data.data.skills.length/2) )
|
||||
data.data.skill2 = data.data.skills.slice(Math.ceil(data.data.skills.length/2), data.data.skills.length )
|
||||
|
||||
data.data.consequences = this.actor.data.items.filter( item => item.type == 'consequence').sort( (a, b) => {
|
||||
if ( a.name > b.name ) return 1;
|
||||
return -1;
|
||||
});
|
||||
data.data.subculture = this.actor.data.items.find( item => item.type == 'subculture');
|
||||
data.data.geneline = this.actor.data.items.find( item => item.type == 'geneline');
|
||||
data.data.editStatSkill = this.options.editStatSkill;
|
||||
|
@@ -34,6 +34,18 @@ export class SoSActor extends Actor {
|
||||
return actor;
|
||||
}
|
||||
|
||||
data.items = [];
|
||||
let compendiumName = "foundryvtt-shadows-over-sol.skills";
|
||||
if ( compendiumName ) {
|
||||
let skills = await SoSUtility.loadCompendium(compendiumName);
|
||||
data.items = data.items.concat( skills );
|
||||
}
|
||||
compendiumName = "foundryvtt-shadows-over-sol.consequences";
|
||||
if ( compendiumName ) {
|
||||
let consequences = await SoSUtility.loadCompendium(compendiumName)
|
||||
data.items = data.items.concat(consequences);
|
||||
}
|
||||
|
||||
return super.create(data, options);
|
||||
}
|
||||
|
||||
|
@@ -16,12 +16,15 @@ export class SoSCardDeck {
|
||||
this.data.cardState = [];
|
||||
this.data.cardEdge = [];
|
||||
|
||||
if ( savedDeck.deck && savedDeck.deck.length > 0 ) {}
|
||||
if ( savedDeck.deck && savedDeck.deck.length > 0 ) {
|
||||
this.data.deck = duplicate(savedDeck.deck);
|
||||
if ( savedDeck.discard && savedDeck.discard.length > 0 ) {}
|
||||
}
|
||||
if ( savedDeck.discard && savedDeck.discard.length > 0 ) {
|
||||
this.data.discard = duplicate(savedDeck.discard);
|
||||
if ( savedDeck.cardEdge && savedDeck.cardEdge.length > 0 ) {}
|
||||
}
|
||||
if ( savedDeck.cardEdge && savedDeck.cardEdge.length > 0 ) {
|
||||
this.data.cardEdge = duplicate(savedDeck.cardEdge);
|
||||
}
|
||||
|
||||
this.data.actor = actor;
|
||||
if ( this.data.deck.length == 0 && this.data.discard.length == 0) {
|
||||
|
@@ -19,7 +19,34 @@ export class SoSUtility {
|
||||
return loadTemplates(templatePaths);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static fillRange (start, end) {
|
||||
return Array(end - start + 1).fill().map((item, index) => start + index);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async loadCompendiumNames(compendium) {
|
||||
const pack = game.packs.get(compendium);
|
||||
let competences;
|
||||
await pack.getIndex().then(index => competences = index);
|
||||
return competences;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async loadCompendium(compendium, filter = item => true) {
|
||||
let compendiumItems = await SoSUtility.loadCompendiumNames(compendium);
|
||||
|
||||
const pack = game.packs.get(compendium);
|
||||
let list = [];
|
||||
for (let compendiumItem of compendiumItems) {
|
||||
await pack.getEntity(compendiumItem._id).then(it => {
|
||||
const item = it.data;
|
||||
if (filter(item)) {
|
||||
list.push(item);
|
||||
}
|
||||
});
|
||||
};
|
||||
return list;
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user