Divers ajouts

This commit is contained in:
2023-03-08 16:58:11 +01:00
parent d554656925
commit fac6618b74
21 changed files with 293 additions and 41 deletions

View File

@@ -40,6 +40,7 @@ export class HeritiersActorSheet extends ActorSheet {
skills: this.actor.getSkills(),
utileSkills :this.actor.organizeUtileSkills(),
futileSkills :this.actor.organizeFutileSkills(),
contacts: this.actor.organizeContacts(),
armes: duplicate(this.actor.getWeapons()),
monnaies: duplicate(this.actor.getMonnaies()),
fee: duplicate(this.actor.getFee() || {} ),
@@ -50,9 +51,13 @@ export class HeritiersActorSheet extends ActorSheet {
atouts: duplicate(this.actor.getAtouts()),
capacites: duplicate(this.actor.getCapacites()),
desavantages: duplicate(this.actor.getDesavantages()),
profils: duplicate(this.actor.getProfils()),
pvMalus: this.actor.getPvMalus(),
initiative: this.actor.getFlag("world", "last-initiative") || -1,
description: await TextEditor.enrichHTML(this.object.system.biodata.description, {async: true}),
revesetranges: await TextEditor.enrichHTML(this.object.system.biodata.revesetranges, {async: true}),
secretsdecouverts: await TextEditor.enrichHTML(this.object.system.biodata.secretsdecouverts, {async: true}),
questions: await TextEditor.enrichHTML(this.object.system.biodata.questions, {async: true}),
habitat: await TextEditor.enrichHTML(this.object.system.biodata.habitat, {async: true}),
options: this.options,
owner: this.document.isOwner,

View File

@@ -104,7 +104,7 @@ export class HeritiersActor extends Actor {
/* ----------------------- --------------------- */
getEquipments() {
return this.items.filter(item => item.type == "equipement")
return this.items.filter(item => item.type == "equipement" || item.type == "accessoire")
}
getAvantages() {
return this.items.filter(item => item.type == "avantage")
@@ -133,6 +133,9 @@ export class HeritiersActor extends Actor {
getFee() {
return this.items.find(item => item.type == "fee")
}
getProfils() {
return this.items.filter(item => item.type == "profil")
}
/* -------------------------------------------- */
getSkills() {
let comp = []
@@ -145,6 +148,18 @@ export class HeritiersActor extends Actor {
return HeritiersUtility.sortByName(comp)
}
/* -------------------------------------------- */
prepareUtileSkill(item) {
let specList = []
if (item.system.categorie == "utile") {
for (let spec of item.system.specialites) {
specList.push(spec.name)
}
}
item.nbSpec = specList.length
item.specList = specList.toString()
}
/* -------------------------------------------- */
organizeUtileSkills() {
let comp = {}
@@ -154,12 +169,25 @@ export class HeritiersActor extends Actor {
for (let item of this.items) {
if (item.type == "competence") {
if (item.system.categorie == "utile") {
this.prepareUtileSkill(item)
comp[item.system.profil].push(item)
}
}
}
return comp
}
/* -------------------------------------------- */
organizeContacts( ) {
let contactList = {}
for (let item of this.items) {
if (item.type == "contact") {
let c = contactList[item.system.contacttype] || { label: game.system.lesheritiers.config.contactType[item.system.contacttype], list: [] }
c.list.push( item )
contactList[item.system.contacttype] = c
}
}
return contactList
}
/* -------------------------------------------- */
organizeFutileSkills() {
@@ -463,15 +491,18 @@ export class HeritiersActor extends Actor {
rollData.tricherie = this.getTricherie()
rollData.heritage = this.getHeritages()
rollData.useTricherie = false
rollData.useSpecialite = false
rollData.useHeritage = false
rollData.pvMalus = this.getPvMalus()
if (compId) {
rollData.competence = duplicate(this.items.get(compId) || {})
this.prepareUtileSkill(rollData.competence)
rollData.actionImg = rollData.competence?.img
}
if (compName) {
rollData.competence = duplicate(this.items.find(item => item.name.toLowerCase() == compName.toLowerCase()) || {})
this.prepareUtileSkill(rollData.competence)
rollData.actionImg = rollData.competence?.img
}
return rollData

View File

@@ -16,6 +16,13 @@ export const HERITIERS_CONFIG = {
"utile": "Utile",
"futile": "Futile"
},
contactType: {
contact: "Contact",
allie: "Allié",
ennemi: "Ennemi",
interet: "Personne d'interêt"
},
competenceProfil : {
"aventurier": "Aventurier",

View File

@@ -15,8 +15,8 @@ export const defaultItemImg = {
arme: "systems/fvtt-les-heritiers/assets/icons/weapon.webp",
accessoire: "systems/fvtt-les-heritiers/assets/icons/item.webp",
protection: "systems/fvtt-les-heritiers/assets/icons/armor.webp",
fee: "systems/fvtt-les-heritiers/assets/icons/faery_type.webp"
fee: "systems/fvtt-les-heritiers/assets/icons/faery_type.webp",
profil: "systems/fvtt-les-heritiers/assets/icons/profil.webp"
}
/**

View File

@@ -90,6 +90,9 @@ export class HeritiersRollDialog extends Dialog {
html.find('#useTricherie').change((event) => {
this.rollData.useTricherie = event.currentTarget.checked
})
html.find('#useSpecialite').change((event) => {
this.rollData.useSpecialite = event.currentTarget.checked
})
html.find('#useHeritage').change((event) => {
this.rollData.useHeritage = event.currentTarget.checked
})

View File

@@ -345,7 +345,8 @@ export class HeritiersUtility {
//console.log("BEFORE COMP", rollData)
if (rollData.competence) {
let compmod = (rollData.competence.system.niveau == 0) ? -3 : 0
rollData.diceFormula += `+${rollData.carac.value}+${rollData.competence.system.niveau}+${rollData.bonusMalusContext}+${compmod}`
let specBonus = (rollData.useSpecialite) ? 1 : 0
rollData.diceFormula += `+${rollData.carac.value}+${rollData.competence.system.niveau}+${specBonus}+${rollData.bonusMalusContext}+${compmod}`
} else {
rollData.diceFormula += `+${rollData.carac.value}+${rollData.bonusMalusContext}`
}