Add new compendiums
This commit is contained in:
@@ -41,7 +41,11 @@ export class CrucibleActorSheet extends ActorSheet {
|
||||
skills: this.actor.getSkills( ),
|
||||
weapons: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getWeapons()) ),
|
||||
armors: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getArmors())),
|
||||
shields: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getShields())),
|
||||
spells: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getLore())),
|
||||
equipments: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getEquipmentsOnly()) ),
|
||||
equippedWeapons: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getEquippedWeapons()) ),
|
||||
feats: duplicate(this.actor.getFeats()),
|
||||
subActors: duplicate(this.actor.getSubActors()),
|
||||
race: duplicate(this.actor.getRace()),
|
||||
moneys: duplicate(this.actor.getMoneys()),
|
||||
|
@@ -89,10 +89,38 @@ export class CrucibleActor extends Actor {
|
||||
return comp;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getFeats() {
|
||||
let comp = duplicate(this.data.items.filter(item => item.type == 'feat') || []);
|
||||
return comp;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getFeatsWithDie() {
|
||||
let comp = duplicate(this.data.items.filter(item => item.type == 'feat' && item.data.data.isfeatdie) || []);
|
||||
return comp;
|
||||
}
|
||||
getFeatsWithSL() {
|
||||
let comp = duplicate(this.data.items.filter(item => item.type == 'feat' && item.data.data.issl) || []);
|
||||
return comp;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getLore() {
|
||||
let comp = duplicate(this.data.items.filter(item => item.type == 'spell') || []);
|
||||
return comp;
|
||||
}
|
||||
getEquippedWeapons() {
|
||||
let comp = duplicate(this.data.items.filter(item => item.type == 'weapon' && item.data.data.equipped) || []);
|
||||
return comp;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getArmors() {
|
||||
let comp = duplicate(this.data.items.filter(item => item.type == 'armor') || []);
|
||||
return comp;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getShields() {
|
||||
let comp = duplicate(this.data.items.filter(item => item.type == 'shield') || []);
|
||||
return comp;
|
||||
}
|
||||
getRace() {
|
||||
let race = this.data.items.filter(item => item.type == 'race')
|
||||
return race[0] ?? [];
|
||||
@@ -169,7 +197,7 @@ export class CrucibleActor extends Actor {
|
||||
}
|
||||
|
||||
/* ------------------------------------------- */
|
||||
getSaveRoll(){
|
||||
getSaveRoll() {
|
||||
return {
|
||||
reflex: {
|
||||
"label": "Reflex",
|
||||
@@ -183,7 +211,7 @@ export class CrucibleActor extends Actor {
|
||||
"label": "Willpower",
|
||||
"value": this.data.data.abilities.int.value + this.data.data.abilities.cha.value
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* ------------------------------------------- */
|
||||
@@ -380,7 +408,11 @@ export class CrucibleActor extends Actor {
|
||||
rollData.actorImg = this.img
|
||||
rollData.actorId = this.id
|
||||
rollData.img = this.img
|
||||
|
||||
rollData.featsDie = this.getFeatsWithDie()
|
||||
rollData.featsSL = this.getFeatsWithSL()
|
||||
rollData.featDieName = "none"
|
||||
rollData.featSLName = "none"
|
||||
|
||||
if (abilityKey) {
|
||||
rollData.ability = this.getAbility(abilityKey)
|
||||
//rollData.skillList = this.getRelevantSkill(abilityKey)
|
||||
|
@@ -70,5 +70,12 @@ export class CrucibleRollDialog extends Dialog {
|
||||
this.rollData.advantage = "disadvantage"
|
||||
this.refreshDialog()
|
||||
})
|
||||
html.find('#featDieName').change((event) => {
|
||||
this.rollData.featDieName = event.currentTarget.value
|
||||
})
|
||||
html.find('#featDieSL').change((event) => {
|
||||
this.rollData.featDieSL = event.currentTarget.value
|
||||
})
|
||||
|
||||
}
|
||||
}
|
@@ -265,7 +265,13 @@ export class CrucibleUtility {
|
||||
|
||||
let diceFormula = String(rollData.ability.value) + "d6cs>=5"
|
||||
if (rollData.skill) {
|
||||
diceFormula += "+" + String(rollData.skill.data.level) + "d8cs>=5"
|
||||
let level = rollData.skill.data.level
|
||||
if (rollData.featSLName != "none") {
|
||||
let feat = rollData.featsSL.find(item => item.name == rollData.featSLName )
|
||||
level += feat.data.sl
|
||||
rollData.featSL = feat.data.sl
|
||||
}
|
||||
diceFormula += "+" + String(level) + "d8cs>=5"
|
||||
}
|
||||
if(rollData.advantage == "advantage") {
|
||||
diceFormula += "+ 1d10cs>=5"
|
||||
@@ -273,6 +279,9 @@ export class CrucibleUtility {
|
||||
if(rollData.advantage == "disadvantage") {
|
||||
diceFormula += "- 1d10cs>=5"
|
||||
}
|
||||
if (rollData.featDieName != "none") {
|
||||
diceFormula += "+ 1d10cs>=5"
|
||||
}
|
||||
// Performs roll
|
||||
let myRoll = rollData.roll
|
||||
if (!myRoll) { // New rolls only of no rerolls
|
||||
|
Reference in New Issue
Block a user