forked from public/foundryvtt-reve-de-dragon
		
	Bouton ajout de personnage accordé
This commit is contained in:
		| @@ -4,6 +4,7 @@ | |||||||
| - Ajout d'une option pour choisir une carte des TMR alternatives | - Ajout d'une option pour choisir une carte des TMR alternatives | ||||||
| - Le Gardien peut créer des sorts en réserve parmi les sorts d'un personnage | - Le Gardien peut créer des sorts en réserve parmi les sorts d'un personnage | ||||||
| - Bouton pour ajouter des compétences aux créatures/entités | - Bouton pour ajouter des compétences aux créatures/entités | ||||||
|  | - Bouton pour ajouter un personnage accordé aux entités de cauchemar | ||||||
| - Correction du choix d'une cible parmi toutes les cibles pour les combats | - Correction du choix d'une cible parmi toutes les cibles pour les combats | ||||||
| - Correction des ajouts de blessures (prise en compte de l'endurance et des contusions) | - Correction des ajouts de blessures (prise en compte de l'endurance et des contusions) | ||||||
| - Correction des rituels de Détection et Lecture d'Aura des personnages prétirés | - Correction des rituels de Détection et Lecture d'Aura des personnages prétirés | ||||||
|   | |||||||
| @@ -1,6 +1,7 @@ | |||||||
| import { RdDBaseActorReveSheet } from "./base-actor-reve-sheet.js"; | import { RdDBaseActorReveSheet } from "./base-actor-reve-sheet.js"; | ||||||
| import { RdDSheetUtility } from "../rdd-sheet-utility.js"; | import { RdDSheetUtility } from "../rdd-sheet-utility.js"; | ||||||
| import { RdDUtility } from "../rdd-utility.js"; | import { RdDUtility } from "../rdd-utility.js"; | ||||||
|  | import { DialogSelect } from "../dialog-select.js"; | ||||||
|  |  | ||||||
| export class RdDActorEntiteSheet extends RdDBaseActorReveSheet { | export class RdDActorEntiteSheet extends RdDBaseActorReveSheet { | ||||||
|  |  | ||||||
| @@ -35,23 +36,31 @@ export class RdDActorEntiteSheet extends RdDBaseActorReveSheet { | |||||||
|     this.html.find('.creature-niveau').change(async event => { |     this.html.find('.creature-niveau').change(async event => { | ||||||
|       let compName = event.currentTarget.attributes.compname.value; |       let compName = event.currentTarget.attributes.compname.value; | ||||||
|       this.actor.updateCreatureCompetence(compName, "niveau", parseInt(event.target.value)); |       this.actor.updateCreatureCompetence(compName, "niveau", parseInt(event.target.value)); | ||||||
|     }); |     }) | ||||||
|     this.html.find('.creature-dommages').change(async event => { |     this.html.find('.creature-dommages').change(async event => { | ||||||
|       let compName = event.currentTarget.attributes.compname.value; |       let compName = event.currentTarget.attributes.compname.value; | ||||||
|       this.actor.updateCreatureCompetence(compName, "dommages", parseInt(event.target.value)); |       this.actor.updateCreatureCompetence(compName, "dommages", parseInt(event.target.value)); | ||||||
|     }); |     }) | ||||||
|  |  | ||||||
|  |     this.html.find('.resonance-add').click(async event => | ||||||
|  |       DialogSelect.select({ | ||||||
|  |         label: "Choisir un acteur à accorder", | ||||||
|  |         list: game.actors.filter(it => it.isPersonnage() && it.prototypeToken.actorLink) | ||||||
|  |       }, | ||||||
|  |         it => this.resonanceAdd(it.id)) | ||||||
|  |     ) | ||||||
|  |  | ||||||
|     this.html.find('.resonance-delete').click(async event => { |     this.html.find('.resonance-delete').click(async event => { | ||||||
|       const li = RdDSheetUtility.getEventElement(event); |       const li = RdDSheetUtility.getEventElement(event); | ||||||
|       const actorId = li.data("actor-id"); |       const actorId = li.data("actor-id"); | ||||||
|       if (actorId) { |       if (actorId) { | ||||||
|         const actorResonance = game.actors.get(actorId); |         const actorResonance = game.actors.get(actorId); | ||||||
|         RdDUtility.confirmSubActeurDelete(this, actorResonance, li, () => { |         RdDUtility.confirmSubActeurDelete(this, actorResonance, li, () => { | ||||||
|           console.log('Delete : ', actorId); |           this.resonanceDelete(actorId); | ||||||
|           this.deleteSubActeur(actorId); |  | ||||||
|           RdDUtility.slideOnDelete(this, li); |           RdDUtility.slideOnDelete(this, li); | ||||||
|         }); |         }) | ||||||
|       } |       } | ||||||
|     }); |     }) | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   async _onDropActor(event, dragData) { |   async _onDropActor(event, dragData) { | ||||||
| @@ -60,7 +69,13 @@ export class RdDActorEntiteSheet extends RdDBaseActorReveSheet { | |||||||
|     super._onDropActor(event, dragData) |     super._onDropActor(event, dragData) | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   async deleteSubActeur(actorId) { |   async resonanceAdd(actorId) { | ||||||
|  |     let newResonances = [...this.actor.system.sante.resonnance.actors, actorId] | ||||||
|  |     await this.actor.update({ 'system.sante.resonnance.actors': newResonances }); | ||||||
|  |   } | ||||||
|  |  | ||||||
|  |   async resonanceDelete(actorId) { | ||||||
|  |     console.log('Delete : ', actorId); | ||||||
|     let newResonances = this.actor.system.sante.resonnance.actors.filter(id => id != actorId); |     let newResonances = this.actor.system.sante.resonnance.actors.filter(id => id != actorId); | ||||||
|     await this.actor.update({ 'system.sante.resonnance.actors': newResonances }, { renderSheet: false }); |     await this.actor.update({ 'system.sante.resonnance.actors': newResonances }, { renderSheet: false }); | ||||||
|   } |   } | ||||||
|   | |||||||
| @@ -1,12 +1,14 @@ | |||||||
| <span class="item-name"><h4>Personnages accordés</h4></span> | <h4>Personnages accordés <a class="resonance-add" data-tooltip="Ajouter un pesonnage accordé"> | ||||||
| <ul class="item-list alterne-list"> |   <i class="fa-solid fa-person-circle-plus"></i> | ||||||
|  | </a></h4> | ||||||
|  | <ol class="item-list alterne-list"> | ||||||
|   {{#each resonances as |actor|}} |   {{#each resonances as |actor|}} | ||||||
|   <li class="item flexrow list-item" data-actor-id="{{actor.id}}"> |   <li class="item flexrow list-item" data-actor-id="{{actor.id}}"> | ||||||
|     <img class="sheet-competence-img subacteur-open" src="{{actor.img}}" data-tooltip="{{actor.name}}"/> |     <img class="sheet-competence-img subacteur-open" src="{{actor.img}}" data-tooltip="{{actor.name}}"/> | ||||||
|     <span class="subacteur-label subacteur-open"><a>{{actor.name}}</a></span> |     <span class="subacteur-label subacteur-open"><a>{{actor.name}}</a></span> | ||||||
|     <div class="flex-shrink"> |     <div class="flex-shrink"> | ||||||
|       <a class="resonance-delete" data-tooltip="Supprimer"><i class="fas fa-trash"></i></a> |       <a class="resonance-delete" data-tooltip="Supprimer"><i class="fas fa-trash"></i></a> | ||||||
|   </div> |     </div> | ||||||
|   </li> |   </li> | ||||||
|   {{/each}} |   {{/each}} | ||||||
| </ul> | </ol> | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user