simplification/organisation RdDActorSheet.getData
This commit is contained in:
@ -62,9 +62,6 @@ export class RdDActorSheet extends ActorSheet {
|
||||
|
||||
if (this.actor.data.type == 'creature') return formData; // Shortcut
|
||||
|
||||
// toujours avoir une liste d'armes (pour mettre esquive et corps à corps)
|
||||
formData.itemsByType.arme = formData.itemsByType.arme ?? [];
|
||||
|
||||
formData.competenceByCategory = Misc.classify(formData.data.competences, item => item.data.categorie);
|
||||
|
||||
formData.calc = {
|
||||
@ -93,38 +90,15 @@ export class RdDActorSheet extends ActorSheet {
|
||||
});
|
||||
|
||||
|
||||
// Force empty arme, at least for Esquive
|
||||
if (formData.itemsByType.arme == undefined) formData.itemsByType.arme = [];
|
||||
for (const arme of formData.itemsByType.arme) {
|
||||
arme.data.niveau = 0; // Per default, TODO to be fixed
|
||||
for (const melee of formData.competenceByCategory.melee) {
|
||||
if (melee.name == arme.data.competence)
|
||||
arme.data.niveau = melee.data.niveau
|
||||
}
|
||||
for (const tir of formData.competenceByCategory.tir) {
|
||||
if (tir.name == arme.data.competence)
|
||||
arme.data.niveau = tir.data.niveau
|
||||
}
|
||||
for (const lancer of formData.competenceByCategory.lancer) {
|
||||
if (lancer.name == arme.data.competence)
|
||||
arme.data.niveau = lancer.data.niveau
|
||||
}
|
||||
}
|
||||
|
||||
// To avoid armour and so on...
|
||||
formData.data.combat = duplicate(RdDUtility.checkNull(formData.itemsByType['arme']));
|
||||
// toujours avoir une liste d'armes (pour mettre esquive et corps à corps)
|
||||
formData.data.combat = duplicate(formData.itemsByType.arme ?? []);
|
||||
RdDItemArme.computeNiveauArmes(formData.data.combat, formData.data.competences);
|
||||
RdDItemArme.ajoutCorpsACorps(formData.data.combat, formData.data.competences, formData.data.carac );
|
||||
formData.esquive = RdDItemCompetence.getEsquive(formData.data.competences);
|
||||
formData.data.combat = RdDCombatManager.finalizeArmeList(formData.data.combat, formData.itemsByType.competence, formData.data.carac);
|
||||
|
||||
formData.esquive = { name: "Esquive", niveau: formData.competenceByCategory?.melee.find(it => it.name == 'Esquive')?.data.niveau ?? -6 };
|
||||
let corpsACorps = formData.competenceByCategory?.melee.find(it => it.name == 'Corps à corps');
|
||||
if (corpsACorps) {
|
||||
let cc_init = RdDCombatManager.calculInitiative(corpsACorps.data.niveau, formData.data.carac['melee'].value);
|
||||
formData.data.combat.push(RdDItemArme.mainsNues({ niveau: corpsACorps.data.niveau, initiative: cc_init }));
|
||||
}
|
||||
this.armesList = duplicate(formData.data.combat);
|
||||
|
||||
formData.data.carac.taille.isTaille = true; // To avoid button link;
|
||||
formData.data.blessures.resume = this.actor.computeResumeBlessure(formData.data.blessures);
|
||||
this.armesList = formData.data.combat;
|
||||
|
||||
// Mise à jour de l'encombrement total et du prix de l'équipement
|
||||
|
||||
@ -140,14 +114,18 @@ export class RdDActorSheet extends ActorSheet {
|
||||
html: "<table class='table-fatigue'>" + RdDUtility.makeHTMLfatigueMatrix(formData.data.sante.fatigue.value, formData.data.sante.endurance.max).html() + "</table>"
|
||||
}
|
||||
|
||||
RdDUtility.filterItemsPerTypeForSheet(formData);
|
||||
formData.data.sortReserve = formData.data.reve.reserve.list;
|
||||
formData.data.rencontres = duplicate(formData.data.reve.rencontre.list);
|
||||
formData.data.caseSpeciales = formData.itemsByType['casetmr'];
|
||||
formData.hautreve = {
|
||||
sortsReserve: formData.data.reve.reserve.list,
|
||||
rencontres: duplicate(formData.data.reve.rencontre.list),
|
||||
casesTmr: formData.itemsByType.casetmr
|
||||
}
|
||||
|
||||
RdDUtility.buildArbreDeConteneur(this, formData);
|
||||
formData.data.vehiculesList = this.actor.buildVehiculesList();
|
||||
formData.data.monturesList = this.actor.buildMonturesList();
|
||||
formData.data.suivantsList = this.actor.buildSuivantsList();
|
||||
formData.subacteurs = {
|
||||
vehicules: this.actor.listeVehicules(),
|
||||
montures: this.actor.listeMontures(),
|
||||
suivants: this.actor.listeSuivants()
|
||||
}
|
||||
return formData;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user