Gestion des points de coeur
- Les suivants/compagnons/amoureux sont dans l'onglet description - si acteurs "liés", ils peuvent avoir des points de coeur - les jets de volonté peuvent être ajustés s'ils concernent un compagnon pour lequel on a du coeur - on peut ajouter des points de coeur (entre la gestion de Chateau dormant par le gardien et le jet de repos si ce mode est utilisé) - on peut retirer des points de coeur en perdant du moral (mêmes conditions) - on peut passer de tendres moments si les deux acteurs acceptent - les tendre moments font jouer un jet de moral adapté - on peut perdre un point de coeur suite à un tendre moment qui ne fait pas gagner de moral
This commit is contained in:
@ -16,13 +16,14 @@ import { RdDItem } from "./item.js";
|
||||
import { RdDItemBlessure } from "./item/blessure.js";
|
||||
import { RdDEmpoignade } from "./rdd-empoignade.js";
|
||||
import { RdDBaseActorSangSheet } from "./actor/base-actor-sang-sheet.js";
|
||||
import { ChatUtility } from "./chat-utility.js";
|
||||
import { RdDCoeur } from "./coeur/rdd-coeur.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/**
|
||||
* Extend the basic ActorSheet with some very simple modifications
|
||||
* @extends {ActorSheet}
|
||||
*/
|
||||
export class RdDActorSheet extends RdDBaseActorSangSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
@ -127,9 +128,13 @@ export class RdDActorSheet extends RdDBaseActorSangSheet {
|
||||
})
|
||||
|
||||
this.html.find('.subacteur-coeur-toggle a').click(async event => {
|
||||
const actorId = RdDSheetUtility.getEventItemData(event, 'actor-id')
|
||||
const clickCoeurNombre = $(event.currentTarget).data("coeur-nombre")
|
||||
this.toggleSubActeurCoeur(actorId, clickCoeurNombre)
|
||||
const subActorIdactorId = RdDSheetUtility.getEventItemData(event, 'subactor-id')
|
||||
const coeurNombre = $(event.currentTarget).data('coeur-nombre')
|
||||
RdDCoeur.toggleSubActeurCoeur(this.actor.id, subActorIdactorId, coeurNombre)
|
||||
})
|
||||
this.html.find('.subacteur-tendre-moment').click(async event => {
|
||||
const subActorId = RdDSheetUtility.getEventItemData(event, 'subactor-id')
|
||||
RdDCoeur.startSubActeurTendreMoment(this.actor.id, subActorId)
|
||||
})
|
||||
this.html.find('.subacteur-open').click(async event => {
|
||||
const subActorId = RdDSheetUtility.getEventItemData(event, 'subactor-id');
|
||||
@ -297,10 +302,7 @@ export class RdDActorSheet extends RdDBaseActorSangSheet {
|
||||
}
|
||||
|
||||
openSubActeur(actorId) {
|
||||
let actor = game.actors.get(actorId);
|
||||
if (actor) {
|
||||
actor.sheet.render(true);
|
||||
}
|
||||
game.actors.get(actorId)?.sheet.render(true)
|
||||
}
|
||||
|
||||
deleteSubActeur(actorId, li) {
|
||||
@ -308,24 +310,12 @@ export class RdDActorSheet extends RdDBaseActorSangSheet {
|
||||
const subActor = game.actors.get(actorId);
|
||||
RdDUtility.confirmSubActeurDelete(this, subActor, li, () => {
|
||||
console.log('Delete : ', subActor.id);
|
||||
this.actor.removeSubActeur(subActor.id);
|
||||
this.actor.deleteSubActeur(subActor.id);
|
||||
RdDUtility.slideOnDelete(this, li);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
toggleSubActeurCoeur(actorId, toggleCoeur) {
|
||||
console.log(this.actor, 'toggleSubActeurCoeur', actorId, toggleCoeur)
|
||||
const coeur = this.actor.getPointsCoeur(actorId)
|
||||
if (toggleCoeur <= coeur) {
|
||||
this.actor.jetDeMoral('malheureuse');
|
||||
this.actor.setPointsCoeur(actorId, Math.max(0, coeur - 1))
|
||||
}
|
||||
else {
|
||||
this.actor.setPointsCoeur(actorId, Math.min(4, toggleCoeur))
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async selectTypeOeuvreToCreate() {
|
||||
let types = RdDItem.getTypesOeuvres();
|
||||
|
Reference in New Issue
Block a user