forked from public/foundryvtt-reve-de-dragon
#105 Affichage résumé a chaque tour de combat
This commit is contained in:
@ -58,7 +58,7 @@ export class RdDCombat {
|
||||
return RdDCombat.createUsingTarget(attacker)
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static _sendRollMessage(sender, recipient, defenderTokenId, topic, message, rollData) {
|
||||
let chatMessage = {
|
||||
content: message,
|
||||
@ -85,6 +85,13 @@ export class RdDCombat {
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static _callJetDeVie( event ) {
|
||||
let actorId = event.currentTarget.attributes['data-actorId'].value;
|
||||
let actor = game.actors.get(actorId);
|
||||
actor.jetVie();
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static registerChatCallbacks(html) {
|
||||
for (let button of ['#parer-button', '#esquiver-button', '#particuliere-attaque', '#encaisser-button']) {
|
||||
@ -93,6 +100,11 @@ export class RdDCombat {
|
||||
RdDCombat.createForEvent(event).onEvent(button, event);
|
||||
});
|
||||
}
|
||||
html.on("click", '#chat-jet-vie', event => {
|
||||
event.preventDefault();
|
||||
RdDCombat._callJetDeVie(event);
|
||||
} );
|
||||
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -668,4 +680,35 @@ export class RdDCombat {
|
||||
return rolled.isSuccess;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async displayActorCombatStatus( actor ) {
|
||||
let rollMode = game.settings.get("core", "rollMode");
|
||||
let rollData = {
|
||||
alias: actor.name,
|
||||
etatGeneral: actor.getEtatGeneral(),
|
||||
isSonne: actor.getSonne(),
|
||||
blessuresStatus: actor.computeResumeBlessure(),
|
||||
SConst: actor.getSConst(),
|
||||
actorId: actor.data._id,
|
||||
isGrave: false,
|
||||
isCritique: false
|
||||
}
|
||||
if ( actor.countBlessuresByName("critiques") > 0 ) { // Pour éviter le cumul grave + critique
|
||||
rollData.isCritique = true;
|
||||
} else if ( actor.countBlessuresByName("graves") > 0) {
|
||||
rollData.isGrave = true;
|
||||
}
|
||||
let content = await renderTemplate(`systems/foundryvtt-reve-de-dragon/templates/chat-actor-turn-summary.html`, rollData);
|
||||
ChatUtility.createChatMessage({ content: content }, rollMode, actor.name);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static updateCombatRound( combat, data) {
|
||||
if (combat.data.round != 0 && combat.turns && combat.data.active) {
|
||||
let turn = combat.turns.find(t => t.tokenId == combat.current.tokenId);
|
||||
this.displayActorCombatStatus( turn.actor );
|
||||
// TODO Playaudio ??
|
||||
}
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user