Big WIP...

This commit is contained in:
2022-06-12 12:14:55 +02:00
parent 0228d5bc56
commit 1f3fd0bb46
38 changed files with 237 additions and 239 deletions

View File

@ -19,9 +19,9 @@ export class RdDPossession {
/* -------------------------------------------- */
static searchPossessionFromEntite( attacker, defender) {
let poss = attacker.data.items.find( poss => poss.type == 'possession' && poss.data.data.possedeid == defender.data._id);
let poss = attacker.items.find( poss => poss.type == 'possession' && poss.system.possedeid == defender.id);
if (!poss) {
poss = defender.data.items.find( poss => poss.type == 'possession' && poss.data.data.possedeid == defender.data._id);
poss = defender.items.find( poss => poss.type == 'possession' && poss.system.possedeid == defender.id);
}
return poss && duplicate(poss) || undefined;
}
@ -31,11 +31,11 @@ export class RdDPossession {
possession.ptsConjuration = 0
possession.ptsPossession = 0
console.log("Possession", possession)
if ( possession.data.compteur > 0) {
possession.ptsPossession = possession.data.compteur
if ( possession.system.compteur > 0) {
possession.ptsPossession = possession.system.compteur
}
if ( possession.data.compteur < 0) {
possession.ptsConjuration = Math.abs(possession.data.compteur)
if ( possession.system.compteur < 0) {
possession.ptsConjuration = Math.abs(possession.system.compteur)
}
possession.isPosseder = false
possession.isConjurer = false
@ -49,14 +49,14 @@ export class RdDPossession {
/* -------------------------------------------- */
static async resultConjuration( rollData) {
let actor = game.actors.get(rollData.possession.data.possedeid)
let actor = game.actors.get(rollData.possession.system.possedeid)
if ( !rollData.rolled.isSuccess ) {
if( rollData.isECNIDefender) {
rollData.possession.data.compteur--
rollData.possession.system.compteur--
} else {
rollData.possession.data.compteur++
rollData.possession.system.compteur++
}
let update = { _id: rollData.possession._id, "data.compteur": rollData.possession.data.compteur }
let update = { _id: rollData.possession._id, "system.compteur": rollData.possession.system.compteur }
await actor.updateEmbeddedDocuments('Item', [update])
}
@ -72,9 +72,9 @@ export class RdDPossession {
let attacker = game.actors.get(attackerId)
let defender = game.actors.get(defenderId)
let possession = attacker.items.find( item => item.type =='possession' && item.data.data.possessionid == possessionId)
let possession = attacker.items.find( item => item.type =='possession' && item.system.possessionid == possessionId)
if ( !possession ) {
possession = defender.items.find( item => item.type =='possession' && item.data.data.possessionid == possessionId)
possession = defender.items.find( item => item.type =='possession' && item.system.possessionid == possessionId)
if ( !possession) {
ui.notifications.warn("Une erreur s'est produite : Aucune possession trouvée !!")
return
@ -89,15 +89,15 @@ export class RdDPossession {
rollData.actor = defender
if ( defender.type == "personnage") {
rollData.competence = duplicate(defender.getDraconicOrZero())
rollData.competence.data.defaut_carac = 'reve-actuel'
rollData.competence.system.defaut_carac = 'reve-actuel'
rollData.forceCarac = { 'reve-actuel': { label: "Rêve Actuel", value: defender.getReveActuel() } }
rollData.selectedCarac = defender.data.data.carac.reve
rollData.selectedCarac = defender.system.carac.reve
rollData.isECNIDefender = false
} else {
rollData.competence = duplicate(defender.getCompetence("Possession"))
rollData.competence.data.defaut_carac = "reve"
rollData.forceCarac = { 'reve': { label: "Rêve", value: defender.data.data.carac.reve.value } }
rollData.selectedCarac = defender.data.data.carac.reve
rollData.competence.system.defaut_carac = "reve"
rollData.forceCarac = { 'reve': { label: "Rêve", value: defender.system.carac.reve.value } }
rollData.selectedCarac = defender.system.carac.reve
rollData.isECNIDefender = true
//RdDItemCompetenceCreature.setRollDataCreature( rollData )
}
@ -154,8 +154,8 @@ export class RdDPossession {
possession: possession,
possede: defender.name,
possesseur: attacker.name,
attackerId: attacker.data._id,
defenderId: defender.data._id,
attackerId: attacker.id,
defenderId: defender.id,
mode: "possession"
};
if ( attacker.isCreature()) {
@ -182,7 +182,7 @@ export class RdDPossession {
let possessionData = {
name: "Possession en cours de " + attacker.name, type: 'possession',
img: "systems/foundryvtt-reve-de-dragon/icons/entites/possession2.webp",
data: { description: "", typepossession: attacker.name, possede: false, possessionid: randomID(16), possesseurid: attacker.data._id, possedeid: defender.data._id, date: 0, compteur: 0 }
data: { description: "", typepossession: attacker.name, possede: false, possessionid: randomID(16), possesseurid: attacker.id, possedeid: defender.id, date: 0, compteur: 0 }
}
// Creates only the possession on the personnage side
let poss = await defender.createEmbeddedDocuments('Item', [possessionData])