Add competence roll

This commit is contained in:
2022-06-04 21:06:01 +02:00
parent eda51dec7f
commit 2ee6c285ea
11 changed files with 189 additions and 62 deletions

View File

@ -54,7 +54,25 @@ export class MournbladeActor extends Actor {
}
/* -------------------------------------------- */
getSkills() {
return this.data.items.filter(item => item.type == "competence" )
let comp = []
for( let item of this.data.items) {
item = duplicate(item)
if ( item.type == "competence") {
item.data.attribut1total = item.data.niveau + (this.data.data.attributs[item.data.attribut1]?.value || 0)
item.data.attribut2total = item.data.niveau + (this.data.data.attributs[item.data.attribut2]?.value || 0)
item.data.attribut3total = item.data.niveau + (this.data.data.attributs[item.data.attribut3]?.value || 0)
if (item.data.niveau == 0) {
item.data.attribut1total -= 3
item.data.attribut2total -= 3
item.data.attribut3total -= 3
}
item.data.attribut1label = this.data.data.attributs[item.data.attribut1]?.label || ""
item.data.attribut2label = this.data.data.attributs[item.data.attribut2]?.label || ""
item.data.attribut3label = this.data.data.attributs[item.data.attribut3]?.label || ""
comp.push( item )
}
}
return comp
}
/* -------------------------------------------- */
@ -99,6 +117,21 @@ export class MournbladeActor extends Actor {
}
}
/* -------------------------------------------- */
editItemField(itemId, itemType, itemField, dataType, value) {
let item= this.data.items.find(item => item.id == itemId)
if (item) {
console.log("Item ", item, itemField, dataType, value)
if (dataType.toLowerCase() == "number") {
value = Number(value)
} else {
value = String(value)
}
let update = { _id: item.id, [`data.${itemField}`]: value };
this.updateEmbeddedDocuments( "Item", [update])
}
}
/* -------------------------------------------- */
compareName(a, b) {
if (a.name < b.name) {
@ -159,7 +192,7 @@ export class MournbladeActor extends Actor {
}
/* -------------------------------------------- */
getCommonRollData(attrKey = undefined, compKey = undefined) {
getCommonRollData(attrKey = undefined, compId = undefined) {
let rollData = MournbladeUtility.getBasicRollData()
rollData.alias = this.name
rollData.actorImg = this.img
@ -170,9 +203,8 @@ export class MournbladeActor extends Actor {
rollData.attrKey = attrKey
rollData.attr = duplicate(this.data.data.attributs[attrKey])
}
if (compKey) {
rollData.compKey = compKey
// TODO!
if (compId) {
rollData.competence = duplicate(this.data.items.get(compId) || {})
}
return rollData
}
@ -183,7 +215,14 @@ export class MournbladeActor extends Actor {
console.log("RollDatra", rollData)
let rollDialog = await MournbladeRollDialog.create(this, rollData)
rollDialog.render(true)
}
/* -------------------------------------------- */
async rollCompetence(attrKey, compId) {
let rollData = this.getCommonRollData(attrKey, compId)
console.log("RollDatra", rollData)
let rollDialog = await MournbladeRollDialog.create(this, rollData)
rollDialog.render(true)
}
}