Rework combat
This commit is contained in:
		@@ -160,7 +160,7 @@ export class HeritiersActor extends Actor {
 | 
				
			|||||||
  /* -------------------------------------------- */
 | 
					  /* -------------------------------------------- */
 | 
				
			||||||
  prepareUtileSkill(item) {
 | 
					  prepareUtileSkill(item) {
 | 
				
			||||||
    let specList = []
 | 
					    let specList = []
 | 
				
			||||||
    if (item.system.categorie == "utile") {
 | 
					    if (item && item.system.categorie && item.system.categorie == "utile") {
 | 
				
			||||||
      for (let spec of item.system.specialites) {
 | 
					      for (let spec of item.system.specialites) {
 | 
				
			||||||
        specList.push(spec.name)
 | 
					        specList.push(spec.name)
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
@@ -480,6 +480,20 @@ export class HeritiersActor extends Actor {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
    return talents
 | 
					    return talents
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					  /* -------------------------------------------- */
 | 
				
			||||||
 | 
					  getCurrentParade() {
 | 
				
			||||||
 | 
					    if ( this.system.statutmasque == "masque") {
 | 
				
			||||||
 | 
					      return this.system.combat.parade.masquee
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    return this.system.combat.parade.demasquee
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  /* -------------------------------------------- */
 | 
				
			||||||
 | 
					  getCurrentEsquive() {
 | 
				
			||||||
 | 
					    if ( this.system.statutmasque == "masque") {
 | 
				
			||||||
 | 
					      return this.system.combat.esquive.masquee
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    return this.system.combat.esquive.demasquee
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /* -------------------------------------------- */
 | 
					  /* -------------------------------------------- */
 | 
				
			||||||
  getTricherie() {
 | 
					  getTricherie() {
 | 
				
			||||||
@@ -522,9 +536,15 @@ export class HeritiersActor extends Actor {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
    if (compName) {
 | 
					    if (compName) {
 | 
				
			||||||
      rollData.competence = duplicate(this.items.find(item => item.name.toLowerCase() == compName.toLowerCase()) || {})
 | 
					      rollData.competence = duplicate(this.items.find(item => item.name.toLowerCase() == compName.toLowerCase()) || {})
 | 
				
			||||||
      this.prepareUtileSkill(rollData.competence)
 | 
					      if (rollData.competence && rollData.competence.name) {
 | 
				
			||||||
      rollData.actionImg = rollData.competence?.img
 | 
					        this.prepareUtileSkill(rollData.competence)
 | 
				
			||||||
 | 
					        rollData.actionImg = rollData.competence?.img  
 | 
				
			||||||
 | 
					      } else {
 | 
				
			||||||
 | 
					        rollData.competence = undefined
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    HeritiersUtility.updateWithTarget(rollData)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    return rollData
 | 
					    return rollData
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  /* -------------------------------------------- */
 | 
					  /* -------------------------------------------- */
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -64,7 +64,7 @@ export const HERITIERS_CONFIG = {
 | 
				
			|||||||
    "demasque": "Démasqué"
 | 
					    "demasque": "Démasqué"
 | 
				
			||||||
  },
 | 
					  },
 | 
				
			||||||
  seuilsDifficulte: {
 | 
					  seuilsDifficulte: {
 | 
				
			||||||
    "0": "Aucun/Non applicable",
 | 
					    "-1": "Aucun/Non applicable",
 | 
				
			||||||
    "5": "Enfantine",
 | 
					    "5": "Enfantine",
 | 
				
			||||||
    "6": "Triviale",
 | 
					    "6": "Triviale",
 | 
				
			||||||
    "7": "Moins Triviale",
 | 
					    "7": "Moins Triviale",
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,32 +13,46 @@ export class HeritiersRollDialog extends Dialog {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  /* -------------------------------------------- */
 | 
					  /* -------------------------------------------- */
 | 
				
			||||||
  constructor(actor, rollData, html, options, close = undefined) {
 | 
					  constructor(actor, rollData, html, options, close = undefined) {
 | 
				
			||||||
 | 
					    let buttons = {
 | 
				
			||||||
 | 
					      rolld8: {
 | 
				
			||||||
 | 
					        icon: '<i class="fas fa-check"></i>',
 | 
				
			||||||
 | 
					        label: "Lancer 1d8",
 | 
				
			||||||
 | 
					        callback: () => { this.roll("d8") }
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      rolld10: {
 | 
				
			||||||
 | 
					        icon: '<i class="fas fa-check"></i>',
 | 
				
			||||||
 | 
					        label: "Lancer 1d10",
 | 
				
			||||||
 | 
					        callback: () => { this.roll("d10") }
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      rolld12: {
 | 
				
			||||||
 | 
					        icon: '<i class="fas fa-check"></i>',
 | 
				
			||||||
 | 
					        label: "Lancer 1d12",
 | 
				
			||||||
 | 
					        callback: () => { this.roll("d12") }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    if (rollData.tricherie) {
 | 
				
			||||||
 | 
					      buttons["rollTricherie"] = {
 | 
				
			||||||
 | 
					        icon: '<i class="fas fa-check"></i>',
 | 
				
			||||||
 | 
					        label: "Lancer avec 1 Point de Tricherie",
 | 
				
			||||||
 | 
					        callback: () => { this.roll("tricherie") }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    if (rollData.heritage) {
 | 
				
			||||||
 | 
					      buttons["rollHeritage"] = {
 | 
				
			||||||
 | 
					        icon: '<i class="fas fa-check"></i>',
 | 
				
			||||||
 | 
					        label: "Lancer avec 1 Point d'Héritage",
 | 
				
			||||||
 | 
					        callback: () => { this.roll("heritage") }
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    buttons["Cancel"] = {
 | 
				
			||||||
 | 
					      icon: '<i class="fas fa-times"></i>',
 | 
				
			||||||
 | 
					      label: "Annuler",
 | 
				
			||||||
 | 
					      callback: () => { this.close() }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    let conf = {
 | 
					    let conf = {
 | 
				
			||||||
      title: "Test de Capacité",
 | 
					      title: "Test de Capacité",
 | 
				
			||||||
      content: html,
 | 
					      content: html,
 | 
				
			||||||
      buttons:
 | 
					      buttons: buttons,
 | 
				
			||||||
      {
 | 
					 | 
				
			||||||
        rolld8: {
 | 
					 | 
				
			||||||
          icon: '<i class="fas fa-check"></i>',
 | 
					 | 
				
			||||||
          label: "Lancer 1d8",
 | 
					 | 
				
			||||||
          callback: () => { this.roll("d8") }
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        rolld10: {
 | 
					 | 
				
			||||||
          icon: '<i class="fas fa-check"></i>',
 | 
					 | 
				
			||||||
          label: "Lancer 1d10",
 | 
					 | 
				
			||||||
          callback: () => { this.roll("d10") }
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        rolld12: {
 | 
					 | 
				
			||||||
          icon: '<i class="fas fa-check"></i>',
 | 
					 | 
				
			||||||
          label: "Lancer 1d12",
 | 
					 | 
				
			||||||
          callback: () => { this.roll("d12") }
 | 
					 | 
				
			||||||
        },
 | 
					 | 
				
			||||||
        cancel: {
 | 
					 | 
				
			||||||
          icon: '<i class="fas fa-times"></i>',
 | 
					 | 
				
			||||||
          label: "Annuler",
 | 
					 | 
				
			||||||
          callback: () => { this.close() }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
      },
 | 
					 | 
				
			||||||
      close: close
 | 
					      close: close
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    // Overwrite in case of carac only -> 1d10
 | 
					    // Overwrite in case of carac only -> 1d10
 | 
				
			||||||
@@ -64,7 +78,16 @@ export class HeritiersRollDialog extends Dialog {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
  /* -------------------------------------------- */
 | 
					  /* -------------------------------------------- */
 | 
				
			||||||
  roll(dice) {
 | 
					  roll(dice) {
 | 
				
			||||||
    this.rollData.mainDice = dice
 | 
					    if (dice == "heritage") {
 | 
				
			||||||
 | 
					      this.rollData.useHeritage = true
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    else {
 | 
				
			||||||
 | 
					      if (dice == "tricherie") {
 | 
				
			||||||
 | 
					        this.rollData.useTricherie = true
 | 
				
			||||||
 | 
					      } else {
 | 
				
			||||||
 | 
					        this.rollData.mainDice = dice
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    HeritiersUtility.rollHeritiers(this.rollData)
 | 
					    HeritiersUtility.rollHeritiers(this.rollData)
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -288,14 +288,14 @@ export class HeritiersUtility {
 | 
				
			|||||||
    rollData.marge = 0
 | 
					    rollData.marge = 0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (isTricherieHeritage) {
 | 
					    if (isTricherieHeritage) {
 | 
				
			||||||
      let resTab = [ rollData.roll.terms[0].results[0].result, rollData.roll.terms[0].results[1].result, rollData.roll.terms[0].results[2].result ]
 | 
					      let resTab = [rollData.roll.terms[0].results[0].result, rollData.roll.terms[0].results[1].result, rollData.roll.terms[0].results[2].result]
 | 
				
			||||||
      rollData.diceResult = resTab[0] + "," + resTab[1] + "," + resTab[2]
 | 
					      rollData.diceResult = resTab[0] + "," + resTab[1] + "," + resTab[2]
 | 
				
			||||||
      let subResult =  Math.max(Math.max(resTab[0], resTab[1]), resTab[2])
 | 
					      let subResult = Math.max(Math.max(resTab[0], resTab[1]), resTab[2])
 | 
				
			||||||
      if (resTab[1] == 1) { resTab[1] -= 4 }
 | 
					      if (resTab[1] == 1) { resTab[1] -= 4 }
 | 
				
			||||||
      if (resTab[2] == 1) { resTab[2] -= 6 }
 | 
					      if (resTab[2] == 1) { resTab[2] -= 6 }
 | 
				
			||||||
      if (resTab[2] == 2) { resTab[2] -= 7 }
 | 
					      if (resTab[2] == 2) { resTab[2] -= 7 }
 | 
				
			||||||
      rollData.finalResult = rollData.roll.total - subResult + Math.max(Math.max(resTab[0], resTab[1]), resTab[2])
 | 
					      rollData.finalResult = rollData.roll.total - subResult + Math.max(Math.max(resTab[0], resTab[1]), resTab[2])
 | 
				
			||||||
      
 | 
					
 | 
				
			||||||
      // Gestion des résultats spéciaux
 | 
					      // Gestion des résultats spéciaux
 | 
				
			||||||
      resTab = resTab.sort()
 | 
					      resTab = resTab.sort()
 | 
				
			||||||
      if ((resTab[0] == resTab[1]) && (resTab[1] == resTab[2])) {
 | 
					      if ((resTab[0] == resTab[1]) && (resTab[1] == resTab[2])) {
 | 
				
			||||||
@@ -316,29 +316,59 @@ export class HeritiersUtility {
 | 
				
			|||||||
      if (rollData.useHeritage) {
 | 
					      if (rollData.useHeritage) {
 | 
				
			||||||
        this.incDecHeritage()
 | 
					        this.incDecHeritage()
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
  
 | 
					
 | 
				
			||||||
    } else {
 | 
					    } else {
 | 
				
			||||||
      rollData.finalResult = rollData.roll.total
 | 
					      rollData.finalResult = rollData.roll.total
 | 
				
			||||||
 | 
					      let rollValue = rollData.roll.terms[0].results[0].result
 | 
				
			||||||
 | 
					      rollData.diceResult = rollData.roll.terms[0].results[0].result
 | 
				
			||||||
      if (rollData.mainDice.includes("d10")) {
 | 
					      if (rollData.mainDice.includes("d10")) {
 | 
				
			||||||
        if (rollData.diceResult == 1) {
 | 
					        if (rollValue == 1) {
 | 
				
			||||||
          rollData.finalResult -= 3 + rollData.diceResult // substract 3 and the 1 value that has been added
 | 
					          rollData.finalResult -= 3 + rollValue // substract 3 and the 1 value that has been added
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
      if (rollData.mainDice.includes("d12")) {
 | 
					      if (rollData.mainDice.includes("d12")) {
 | 
				
			||||||
        if (rollData.diceResult == 1 || rollData.diceResult == 2) {
 | 
					        if (rollValue == 1 || rollValue == 2) {
 | 
				
			||||||
          rollData.finalResult -= 5 + rollData.diceResult // Remove also the dice result has it has been added already
 | 
					          rollData.finalResult -= 5 + rollValue // Remove also the dice result has it has been added already
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    //rollData.finalResult = Math.max(rollData.finalResult, 0)
 | 
					  }
 | 
				
			||||||
    //console.log("Result : ", rollData)
 | 
					  
 | 
				
			||||||
    if (rollData.marge == 0 && rollData.sdValue > 0) {
 | 
					  /* -------------------------------------------- */
 | 
				
			||||||
      rollData.marge = rollData.finalResult - rollData.sdValue
 | 
					  static computeArmeDegats(rollData, actor) {
 | 
				
			||||||
      rollData.isSuccess = (rollData.finalResult >= rollData.sdValue)
 | 
					    rollData.degatsArme = rollData.arme.system.degats + rollData.marge
 | 
				
			||||||
      rollData.isCriticalSuccess = ((rollData.finalResult - rollData.sdValue) >= 7)
 | 
					    if (rollData.arme.system.categorie == "lourde") {
 | 
				
			||||||
      rollData.isCriticalFailure = ((rollData.finalResult - rollData.sdValue) <= -7)
 | 
					      rollData.degatsArme += actor.system.caracteristiques.for.value
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    if (rollData.arme.system.categorie == "blanche" || rollData.arme.system.categorie == "improvise") {
 | 
				
			||||||
 | 
					      rollData.degatsArme += Math.max(0, actor.system.caracteristiques.for.value - 2)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /* -------------------------------------------- */
 | 
				
			||||||
 | 
					  static computeMarge(rollData, seuil) {
 | 
				
			||||||
 | 
					    if (rollData.marge == 0 && seuil >= 0) {
 | 
				
			||||||
 | 
					      rollData.marge = rollData.finalResult - seuil
 | 
				
			||||||
 | 
					      rollData.isSuccess = (rollData.finalResult >= seuil)
 | 
				
			||||||
 | 
					      rollData.isCriticalSuccess = ((rollData.finalResult - seuil) >= 7)
 | 
				
			||||||
 | 
					      rollData.isCriticalFailure = ((rollData.finalResult - seuil) <= -7)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  /* -------------------------------------------- */
 | 
				
			||||||
 | 
					  static async displayUneDefense(rollData, actor, nomDefense, valeurDefense) {
 | 
				
			||||||
 | 
					    rollData.defenderMode = nomDefense
 | 
				
			||||||
 | 
					    rollData.defenderValue = valeurDefense
 | 
				
			||||||
 | 
					    rollData.marge = 0
 | 
				
			||||||
 | 
					    this.computeMarge(rollData, valeurDefense)
 | 
				
			||||||
 | 
					    if (rollData.isSuccess) {
 | 
				
			||||||
 | 
					      this.computeArmeDegats(rollData, actor)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    this.createChatWithRollMode(rollData.alias, {
 | 
				
			||||||
 | 
					      content: await renderTemplate(`systems/fvtt-les-heritiers/templates/chat-cc-result.html`, rollData)
 | 
				
			||||||
 | 
					    }, rollData, "selfroll")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /* -------------------------------------------- */
 | 
					  /* -------------------------------------------- */
 | 
				
			||||||
@@ -380,26 +410,26 @@ export class HeritiersUtility {
 | 
				
			|||||||
    rollData.roll = myRoll
 | 
					    rollData.roll = myRoll
 | 
				
			||||||
    console.log(">>>> ", myRoll)
 | 
					    console.log(">>>> ", myRoll)
 | 
				
			||||||
    this.computeResult(actor, rollData)
 | 
					    this.computeResult(actor, rollData)
 | 
				
			||||||
    
 | 
					    this.computeMarge(rollData, rollData.sdValue) // Calcul de la marge si seuil présent
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (rollData.mode == "init") {
 | 
					    if (rollData.mode == "init") {
 | 
				
			||||||
      actor.setFlag("world", "last-initiative", rollData.finalResult)
 | 
					      actor.setFlag("world", "last-initiative", rollData.finalResult)
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // Compute damages, cf p 187
 | 
					    // Compute damages, cf p 187
 | 
				
			||||||
    if (rollData.arme && rollData.isSuccess) {
 | 
					    if (rollData.arme && rollData.isSuccess) {
 | 
				
			||||||
      rollData.degatsArme = rollData.arme.system.degats + rollData.marge
 | 
					      this.computeArmeDegats(rollData, actor)
 | 
				
			||||||
      if (rollData.arme.system.categorie == "lourde") {
 | 
					 | 
				
			||||||
        rollData.degatsArme += actor.system.caracteristiques.for.value
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
      if (rollData.arme.system.categorie == "blanche" || rollData.arme.system.categorie == "improvise") {
 | 
					 | 
				
			||||||
        rollData.degatsArme += Math.max(0, actor.system.caracteristiques.for.value - 2)
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    this.createChatWithRollMode(rollData.alias, {
 | 
					    this.createChatWithRollMode(rollData.alias, {
 | 
				
			||||||
      content: await renderTemplate(`systems/fvtt-les-heritiers/templates/chat-generic-result.html`, rollData)
 | 
					      content: await renderTemplate(`systems/fvtt-les-heritiers/templates/chat-generic-result.html`, rollData)
 | 
				
			||||||
    }, rollData)
 | 
					    }, rollData)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if (rollData.defenderTokenId && rollData.arme && rollData.arme.system.categorie != "trait") {
 | 
				
			||||||
 | 
					      await this.displayUneDefense(rollData, actor, "Parade", rollData.defenderParade)
 | 
				
			||||||
 | 
					      await this.displayUneDefense(rollData, actor, "Esquive", rollData.defenderEsquive)
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /* -------------------------------------------- */
 | 
					  /* -------------------------------------------- */
 | 
				
			||||||
@@ -509,7 +539,7 @@ export class HeritiersUtility {
 | 
				
			|||||||
      rollId: randomID(16),
 | 
					      rollId: randomID(16),
 | 
				
			||||||
      rollMode: game.settings.get("core", "rollMode"),
 | 
					      rollMode: game.settings.get("core", "rollMode"),
 | 
				
			||||||
      sdList: game.system.lesheritiers.config.seuilsDifficulte,
 | 
					      sdList: game.system.lesheritiers.config.seuilsDifficulte,
 | 
				
			||||||
      sdValue: 0,
 | 
					      sdValue: -1,
 | 
				
			||||||
      bonusMalusContext: 0
 | 
					      bonusMalusContext: 0
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    return rollData
 | 
					    return rollData
 | 
				
			||||||
@@ -521,18 +551,17 @@ export class HeritiersUtility {
 | 
				
			|||||||
    if (target) {
 | 
					    if (target) {
 | 
				
			||||||
      rollData.defenderTokenId = target.id
 | 
					      rollData.defenderTokenId = target.id
 | 
				
			||||||
      let defender = game.canvas.tokens.get(rollData.defenderTokenId).actor
 | 
					      let defender = game.canvas.tokens.get(rollData.defenderTokenId).actor
 | 
				
			||||||
      rollData.armeDefense = defender.getBestDefenseValue()
 | 
					      rollData.defenderName = defender.name
 | 
				
			||||||
      rollData.targetVigueur = defender.getVigueur()
 | 
					      rollData.defenderParade = defender.getCurrentParade()
 | 
				
			||||||
      if (rollData.armeDefense) {
 | 
					      rollData.defenderEsquive = defender.getCurrentEsquive()
 | 
				
			||||||
        rollData.difficulte = rollData.armeDefense.system.totalDefensif
 | 
					 | 
				
			||||||
      } else {
 | 
					 | 
				
			||||||
        ui.notifications.warn("Aucune arme de défense équipée, difficulté manuelle à positionner.")
 | 
					 | 
				
			||||||
      }
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  /* -------------------------------------------- */
 | 
					  /* -------------------------------------------- */
 | 
				
			||||||
  static createChatWithRollMode(name, chatOptions, rollData = undefined) {
 | 
					  static createChatWithRollMode(name, chatOptions, rollData = undefined, rollMode = undefined) {
 | 
				
			||||||
 | 
					    if ( rollMode == undefined) {
 | 
				
			||||||
 | 
					      rollMode = game.settings.get("core", "rollMode")
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    this.createChatMessage(name, game.settings.get("core", "rollMode"), chatOptions, rollData)
 | 
					    this.createChatMessage(name, game.settings.get("core", "rollMode"), chatOptions, rollData)
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -50,6 +50,16 @@
 | 
				
			|||||||
              <label class="item-field-label-short">Malus</label>
 | 
					              <label class="item-field-label-short">Malus</label>
 | 
				
			||||||
              <input type="text" class="item-field-label-short" value="{{pvMalus}}" data-dtype="Number" disabled />
 | 
					              <input type="text" class="item-field-label-short" value="{{pvMalus}}" data-dtype="Number" disabled />
 | 
				
			||||||
              <span>  </span>
 | 
					              <span>  </span>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					              <select class="item-field-label-medium" type="text" name="system.statutmasque" value="{{system.statutmasque}}" data-dtype="string">
 | 
				
			||||||
 | 
					                {{#select system.statutmasque}}
 | 
				
			||||||
 | 
					                  {{#each config.statutMasque as |categ cKey|}}
 | 
				
			||||||
 | 
					                    <option value="{{cKey}}">{{categ}}</option>
 | 
				
			||||||
 | 
					                  {{/each}}
 | 
				
			||||||
 | 
					                {{/select}}
 | 
				
			||||||
 | 
					                </select>
 | 
				
			||||||
 | 
					  
 | 
				
			||||||
 | 
					              <span>  </span>
 | 
				
			||||||
              <label class="item-field-label-short">Tricherie</label>
 | 
					              <label class="item-field-label-short">Tricherie</label>
 | 
				
			||||||
              <input type="text" class="item-field-label-short" name="system.rang.tricherie.value" value="{{system.rang.tricherie.value}}" data-dtype="Number" />
 | 
					              <input type="text" class="item-field-label-short" name="system.rang.tricherie.value" value="{{system.rang.tricherie.value}}" data-dtype="Number" />
 | 
				
			||||||
              <input type="text" class="item-field-label-short" name="system.rang.tricherie.max" value="{{system.rang.tricherie.max}}" data-dtype="Number" />
 | 
					              <input type="text" class="item-field-label-short" name="system.rang.tricherie.max" value="{{system.rang.tricherie.max}}" data-dtype="Number" />
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										34
									
								
								templates/chat-cc-result.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								templates/chat-cc-result.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,34 @@
 | 
				
			|||||||
 | 
					<div class="chat-message-header">
 | 
				
			||||||
 | 
					  {{#if actorImg}}
 | 
				
			||||||
 | 
					  <img class="actor-icon" src="{{actorImg}}" alt="{{alias}}" />
 | 
				
			||||||
 | 
					  {{/if}}
 | 
				
			||||||
 | 
					  <h4 class=chat-actor-name>{{alias}}</h4>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<hr>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					{{#if actionImg}}
 | 
				
			||||||
 | 
					<div>
 | 
				
			||||||
 | 
					  <img class="chat-icon" src="{{actionImg}}" alt="{{name}}" />
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					{{/if}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div class="flexcol">
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					<div>
 | 
				
			||||||
 | 
					  <ul>
 | 
				
			||||||
 | 
					    <li>Défense de {{defenderName}} : {{defenderMode}} ({{defenderValue}})</li>    
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    {{#if isSuccess}}
 | 
				
			||||||
 | 
					      <li>Marge : {{marge}}</li>
 | 
				
			||||||
 | 
					      <li>Degats de l'arme : {{degatsArme}}</li>
 | 
				
			||||||
 | 
					      {{#if isCriticalSuccess}}
 | 
				
			||||||
 | 
					      <Li>Critique : Aubaine ou +2 aux dégats ci-dessus</li>
 | 
				
			||||||
 | 
					      {{/if}}
 | 
				
			||||||
 | 
					    {{else}}
 | 
				
			||||||
 | 
					      <li>Echec face à la {{defenderMode}} !</li>
 | 
				
			||||||
 | 
					    {{/if}}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  </ul>
 | 
				
			||||||
 | 
					</div>
 | 
				
			||||||
@@ -1,28 +0,0 @@
 | 
				
			|||||||
<div class="chat-message-header">
 | 
					 | 
				
			||||||
  {{#if actorImg}}
 | 
					 | 
				
			||||||
  <img class="actor-icon" src="{{actorImg}}" alt="{{alias}}" />
 | 
					 | 
				
			||||||
  {{/if}}
 | 
					 | 
				
			||||||
  <h4 class=chat-actor-name>{{alias}}</h4>
 | 
					 | 
				
			||||||
</div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<hr>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
{{#if actionImg}}
 | 
					 | 
				
			||||||
<div>
 | 
					 | 
				
			||||||
  <img class="chat-icon" src="{{actionImg}}" alt="{{name}}" />
 | 
					 | 
				
			||||||
</div>
 | 
					 | 
				
			||||||
{{/if}}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<div class="flexcol">
 | 
					 | 
				
			||||||
</div>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
<div>
 | 
					 | 
				
			||||||
  <ul>
 | 
					 | 
				
			||||||
    <li>Arme : {{arme.name}} (+{{arme.system.totalDegats}})</li>
 | 
					 | 
				
			||||||
    <li>Dégats : {{finalResult}}</li>    
 | 
					 | 
				
			||||||
    {{#if targetVigueur}}
 | 
					 | 
				
			||||||
      <li>Vigueur de la cible : {{targetVigueur}}</li>    
 | 
					 | 
				
			||||||
      <li>Etats Combativité supplémentaires perdus (manuel): {{nbEtatPerdus}} </li>
 | 
					 | 
				
			||||||
    {{/if}}
 | 
					 | 
				
			||||||
  </ul>
 | 
					 | 
				
			||||||
</div>
 | 
					 | 
				
			||||||
@@ -42,9 +42,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    <li>Formule : {{diceFormula}}</li>
 | 
					    <li>Formule : {{diceFormula}}</li>
 | 
				
			||||||
    <li>Résultat du dé : {{diceResult}} </li>  
 | 
					    <li>Résultat du dé : {{diceResult}} </li>  
 | 
				
			||||||
    <li>Total : {{finalResult}} (Marge : {{marge}})</li>
 | 
					    <li>Total : {{finalResult}} {{#if (gt sdValue "-1")}}(Marge : {{marge}}){{/if}}</li>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    {{#if sdValue}}
 | 
					    {{#if (gt sdValue "-1")}}
 | 
				
			||||||
    {{#if isSuccess}}
 | 
					    {{#if isSuccess}}
 | 
				
			||||||
    <li class="chat-success">Succès...
 | 
					    <li class="chat-success">Succès...
 | 
				
			||||||
      {{#if arme}}
 | 
					      {{#if arme}}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -71,20 +71,6 @@
 | 
				
			|||||||
      <span class="small-label roll-dialog-label">{{pvMalus}}</span>
 | 
					      <span class="small-label roll-dialog-label">{{pvMalus}}</span>
 | 
				
			||||||
    </div>
 | 
					    </div>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    {{#if tricherie}}
 | 
					 | 
				
			||||||
    <div class="flexrow">
 | 
					 | 
				
			||||||
      <span class="roll-dialog-label">Utiliser 1 point de Tricherie ({{tricherie}}) ?</span>
 | 
					 | 
				
			||||||
      <input type="checkbox" class="item-field-label-short" id="useTricherie" {{checked useTricherie}}/>
 | 
					 | 
				
			||||||
    </div>
 | 
					 | 
				
			||||||
    {{/if}}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    {{#if heritage}}
 | 
					 | 
				
			||||||
    <div class="flexrow">
 | 
					 | 
				
			||||||
      <span class="roll-dialog-label">Utiliser 1 point d'Heritage ? ({{heritage}})</span>
 | 
					 | 
				
			||||||
      <input type="checkbox" class="item-field-label-short" id="useHeritage" {{checked useHeritage}}/>
 | 
					 | 
				
			||||||
    </div>
 | 
					 | 
				
			||||||
    {{/if}}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <div class="flexrow">
 | 
					    <div class="flexrow">
 | 
				
			||||||
      <span class="roll-dialog-label">Bonus/Malus </span>
 | 
					      <span class="roll-dialog-label">Bonus/Malus </span>
 | 
				
			||||||
      <select class="roll-dialog-label" id="bonus-malus-context" type="text" value="{{bonusMalusContext}}"
 | 
					      <select class="roll-dialog-label" id="bonus-malus-context" type="text" value="{{bonusMalusContext}}"
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user