forked from public/foundryvtt-reve-de-dragon
		
	#65 Gestion parade entités/creatures
This commit is contained in:
		| @@ -1547,18 +1547,27 @@ export class RdDActor extends Actor { | ||||
|       difficultesLibres: CONFIG.RDD.difficultesLibres, | ||||
|       etat: this.data.data.compteurs.etat.value,  | ||||
|       diffConditions: 0, | ||||
|       forceValue :this.data.data.carac.force.value, // Utilisé pour le jet de recul | ||||
|       forceValue : (this.data.data.carac.force) ? this.data.data.carac.force.value : 0, // Utilisé pour le jet de recul | ||||
|       diffLibre: (attackerRoll) ? attackerRoll.diffLibre : 0, | ||||
|       attackerRoll: attackerRoll, | ||||
|       finalLevel: 0, | ||||
|       coupsNonMortels: false, | ||||
|       malusArmureValue: (this.data.data.attributs) ? this.data.data.attributs.malusarmure.value : 0, | ||||
|       surencMalusFlag: (this.data.data.compteurs.surenc.value < 0), | ||||
|       surencMalusValue: this.data.data.compteurs.surenc.value, | ||||
|       malusArmureValue: 0, | ||||
|       surencMalusFlag: false, | ||||
|       surencMalusValue: 0, | ||||
|       surencMalusApply: false, | ||||
|       isNatation: name.toLowerCase().includes("natation"), | ||||
|       isNatation: false, | ||||
|       useEncForNatation: false, | ||||
|       encValueForNatation: (this.encombrementTotal) ? Math.round(this.encombrementTotal) : 0 | ||||
|       encValueForNatation: 0 | ||||
|     } | ||||
|     if ( this.type == 'personnage ') { | ||||
|       rollData.malusArmureValue =  (this.data.data.attributs) ? this.data.data.attributs.malusarmure.value : 0; | ||||
|       rollData.surencMalusFlag  =  (this.data.data.compteurs.surenc.value < 0); | ||||
|       rollData.surencMalusValue = this.data.data.compteurs.surenc.value; | ||||
|       rollData.surencMalusApply = false; | ||||
|       rollData.isNatation       =  name.toLowerCase().includes("natation"); | ||||
|       rollData.useEncForNatation   = false; | ||||
|       rollData.encValueForNatation = (this.encombrementTotal) ? Math.round(this.encombrementTotal) : 0; | ||||
|     } | ||||
|        | ||||
|     if ( competence.type == 'competencecreature') { // Specific case for Creatures | ||||
| @@ -1696,7 +1705,11 @@ export class RdDActor extends Actor { | ||||
|   { | ||||
|     let armeItem = this.getOwnedItem(armeId); // Item.data.data ! | ||||
|     console.log("Going to PARY !!!!!!!!!", armeItem, attackerRoll.diffLibre);     | ||||
|     this.rollCompetence(  armeItem.data.data.competence, armeItem.data, attackerRoll, attacker); | ||||
|     if (armeItem.type == 'competencecreature') { | ||||
|       this.rollCompetence(  armeItem.name, armeItem.data, attackerRoll, attacker); | ||||
|     }  else { | ||||
|       this.rollCompetence(  armeItem.data.data.competence, armeItem.data, attackerRoll, attacker); | ||||
|     } | ||||
|   } | ||||
|    | ||||
|   /* -------------------------------------------- */   | ||||
|   | ||||
| @@ -631,6 +631,8 @@ export class RdDUtility  { | ||||
|   /* -------------------------------------------- */ | ||||
|   static getArmeCategory( arme ) | ||||
|   { | ||||
|     if ( arme.data.competence == undefined) return 'competencecreature'; | ||||
|  | ||||
|     let compname = arme.data.competence.toLowerCase();  | ||||
|     if ( compname.match("hache") ) return "hache"; | ||||
|     if ( compname.match("hast") ) return "hast"; | ||||
| @@ -669,13 +671,17 @@ export class RdDUtility  { | ||||
|                        rollMode: true | ||||
|                       }; | ||||
|      | ||||
|     if ( rollData.competence.data.categorie == 'melee' || rollData.competence.data.categorie == 'creature') { // Melee attack or creature | ||||
|     if ( rollData.competence.data.categorie == 'melee' || rollData.competence.data.categorie == 'competencecreature') { // Melee attack or creature | ||||
|       let defenderArmes = []; | ||||
|       for (const arme of myTarget.data.items) { | ||||
|         if (arme.type == "arme" && this.isArmeMelee(arme.data.competence)) { | ||||
|           defenderArmes.push( arme ); | ||||
|           defenseMsg.content +=  "<br><a class='chat-card-button' id='parer-button' data-attackerid='"+attacker.data._id + "' data-defendertokenid='" + target.data._id + "' data-armeid='"+arme._id+"'>Parer avec " + arme.name + "</a></span>"; | ||||
|         } | ||||
|         if (arme.type == "competencecreature" && arme.data.isparade) { | ||||
|           defenderArmes.push( arme ); | ||||
|           defenseMsg.content +=  "<br><a class='chat-card-button' id='parer-button' data-attackerid='"+attacker.data._id + "' data-defendertokenid='" + target.data._id + "' data-armeid='"+arme._id+"'>Parer avec " + arme.name + "</a></span>"; | ||||
|         } | ||||
|       } | ||||
|       defenseMsg.content +=  "<br><a class='chat-card-button' id='esquiver-button' data-attackerid='"+attacker.data._id + "' data-defendertokenid='" + target.data._id + "'>Esquiver</a></span>"; | ||||
|     } | ||||
|   | ||||
| @@ -599,6 +599,7 @@ | ||||
|     "niveau": 0, | ||||
|     "carac_value": 0, | ||||
|     "iscombat": false, | ||||
|     "isparade": false, | ||||
|     "dommages": 0, | ||||
|     "description": "Compétence : ..." | ||||
|   }, | ||||
|   | ||||
| @@ -20,6 +20,10 @@ | ||||
|         <label for="xp">Arme ? </label> | ||||
|         <input class="attribute-value" type="checkbox" name="data.iscombat"  {{#if data.iscombat}}checked{{/if}}/> | ||||
|       </div> | ||||
|       <div class="form-group"> | ||||
|         <label for="xp">Parade ? </label> | ||||
|         <input class="attribute-value" type="checkbox" name="data.isparade"  {{#if data.isparade}}checked{{/if}}/> | ||||
|       </div> | ||||
|       <div class="form-group"> | ||||
|         <label for="niveau">Dommages (+dom), si applicable </label> | ||||
|         <input class="attribute-value" type="text" name="data.dommages" value="{{data.dommages}}" data-dtype="Number"/> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user