Empoignade V2
This commit is contained in:
		| @@ -56,6 +56,12 @@ export class RdDCombatManager extends Combat { | ||||
|     } | ||||
|   } | ||||
|  | ||||
|  | ||||
|   static getCombatant(actorId, tokenId) { | ||||
|     return game.combat.combatants.find(it => it.actor.id == actorId && | ||||
|       it.token.id == tokenId | ||||
|     ); | ||||
|   } | ||||
|   /* -------------------------------------------- */ | ||||
|   async nextRound() { | ||||
|     await this.finDeRound(); | ||||
| @@ -402,7 +408,6 @@ export class RdDCombat { | ||||
|   /* -------------------------------------------- */ | ||||
|   static registerChatCallbacks(html) { | ||||
|     for (let button of [ | ||||
|       '.button-defense', | ||||
|       '.button-parade', | ||||
|       '.button-esquive', | ||||
|       '.button-encaisser', | ||||
| @@ -474,8 +479,6 @@ export class RdDCombat { | ||||
|  | ||||
|     switch (button) { | ||||
|       case '.particuliere-attaque': return await this.choixParticuliere(attackerRoll, event.currentTarget.attributes['data-mode'].value); | ||||
|       case '.button-defense': return this.defenseV2(attackerRoll); | ||||
|  | ||||
|       case '.button-parade': return this.parade(attackerRoll, armeParadeId); | ||||
|       case '.button-esquive': return this.esquive(attackerRoll, compId, competence); | ||||
|       case '.button-encaisser': return this.encaisser(attackerRoll, defenderRoll); | ||||
| @@ -725,24 +728,24 @@ export class RdDCombat { | ||||
|   async _chatMessageDefenseV2(paramDemandeDefense) { | ||||
|     const attackerRoll = paramDemandeDefense.attackerRoll; | ||||
|     RollBasicParts.loadSurprises(attackerRoll) | ||||
|     attackerRoll.passeArme = attackerRoll.passeArme ?? foundry.utils.randomID(16) | ||||
|     attackerRoll.dmg = RdDBonus.dmgRollV2(attackerRoll, attackerRoll.current.attaque) | ||||
|     const attaque = RollDialog.saveParts(attackerRoll) | ||||
|     const defense = { | ||||
|       attackerRoll: attaque, | ||||
|       ids: RollBasicParts.reverseIds(attaque), | ||||
|       passeArme: attaque.passeArme ?? foundry.utils.randomID(16) | ||||
|     } | ||||
|  | ||||
|     const defenseData = RollBasicParts.prepareDefense(attackerRoll) | ||||
|  | ||||
|     const choixDefense = await ChatMessage.create({ | ||||
|       // message privé: du défenseur à lui même (et aux GMs) | ||||
|       speaker: ChatMessage.getSpeaker(this.defender, canvas.tokens.get(this.defenderTokenId)), | ||||
|       alias: this.attacker?.getAlias(), | ||||
|       whisper: ChatUtility.getOwners(this.defender), | ||||
|       content: await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/chat-demande-defense.hbs', attackerRoll) | ||||
|       content: await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/chat-demande-defense.hbs', defenseData) | ||||
|     }); | ||||
|     // flag pour garder les jets d'attaque/defense | ||||
|     ChatUtility.setMessageData(choixDefense, 'rollData', defense) | ||||
|     ChatUtility.setMessageData(choixDefense, 'demande-defense', true) | ||||
|     ChatUtility.setMessageData(choixDefense, 'rollData', { | ||||
|       ids: defenseData.ids, | ||||
|       attackerRoll: RollDialog.saveParts(attackerRoll), | ||||
|       passeArme: defenseData.passeArme | ||||
|     }) | ||||
|   } | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
| @@ -1052,7 +1055,7 @@ export class RdDCombat { | ||||
|     dialog.render(true); | ||||
|   } | ||||
|  | ||||
|   async defenseV2(attackerRoll) { | ||||
|   async defenseV2(attackerRoll, callbacks = []) { | ||||
|     // this._prepareParade(attackerRoll, arme, competence); | ||||
|     RollDialog.loadRollData(attackerRoll) | ||||
|     await this.doRollDefense({ | ||||
| @@ -1065,7 +1068,7 @@ export class RdDCombat { | ||||
|       type: { allowed: [ROLL_TYPE_DEFENSE], current: ROLL_TYPE_DEFENSE }, | ||||
|       attackerRoll: attackerRoll, | ||||
|       passeArme: attackerRoll.passeArme, | ||||
|     }) | ||||
|     }, callbacks) | ||||
|   } | ||||
|  | ||||
|   async doRollDefense(rollData, callbacks = []) { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user