Compare commits
	
		
			2 Commits
		
	
	
		
			fvtt-les-h
			...
			fvtt-les-h
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 11b0f22aa7 | |||
| b0a3cb08cb | 
							
								
								
									
										
											BIN
										
									
								
								assets/icons/equipement.webp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								assets/icons/equipement.webp
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 90 KiB  | 
@@ -141,6 +141,16 @@ export class HeritiersActorSheet extends ActorSheet {
 | 
			
		||||
      let compId  = li.data("item-id")
 | 
			
		||||
      this.actor.rollCompetence(compId)
 | 
			
		||||
    })
 | 
			
		||||
    html.find('.roll-attaque-arme').click((event) => {
 | 
			
		||||
      const li = $(event.currentTarget).parents(".item")
 | 
			
		||||
      let armeId  = li.data("item-id")
 | 
			
		||||
      this.actor.rollAttaqueArme(armeId)
 | 
			
		||||
    })
 | 
			
		||||
    html.find('.roll-pouvoir').click((event) => {
 | 
			
		||||
      const li = $(event.currentTarget).parents(".item")
 | 
			
		||||
      let pouvoirId = li.data("item-id")
 | 
			
		||||
      this.actor.rollPouvoir(pouvoirId)
 | 
			
		||||
    })
 | 
			
		||||
    
 | 
			
		||||
    html.find('.item-add').click((event) => {
 | 
			
		||||
      const itemType = $(event.currentTarget).data("type")
 | 
			
		||||
 
 | 
			
		||||
@@ -42,7 +42,7 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
      data.items = []
 | 
			
		||||
      for (let skill of skills) {
 | 
			
		||||
        if (skill.system.categorie == "utile") {
 | 
			
		||||
          data.items.push( skill.toObject())    
 | 
			
		||||
          data.items.push(skill.toObject())
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
@@ -142,7 +142,7 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
    return this.items.filter(item => item.type == "profil")
 | 
			
		||||
  }
 | 
			
		||||
  getPouvoirs() {
 | 
			
		||||
    let pouvoirs = this.items.filter(item => item.type == "pouvoir")
 | 
			
		||||
    let pouvoirs = this.items.filter(item => item.type == "pouvoir") || []
 | 
			
		||||
    HeritiersUtility.sortArrayObjectsByName(pouvoirs)
 | 
			
		||||
    return pouvoirs
 | 
			
		||||
  }
 | 
			
		||||
@@ -162,7 +162,7 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
  prepareUtileSkill(item) {
 | 
			
		||||
    let specList = []
 | 
			
		||||
    if (item.system.categorie == "utile") {
 | 
			
		||||
      for (let spec of item.system.specialites)  {
 | 
			
		||||
      for (let spec of item.system.specialites) {
 | 
			
		||||
        specList.push(spec.name)
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
@@ -184,16 +184,18 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
    HeritiersUtility.sortArrayObjectsByName(comp)
 | 
			
		||||
    for (let key in comp) {
 | 
			
		||||
      HeritiersUtility.sortArrayObjectsByName(comp[key])
 | 
			
		||||
    }
 | 
			
		||||
    return comp
 | 
			
		||||
  }
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  organizeContacts( ) {
 | 
			
		||||
  organizeContacts() {
 | 
			
		||||
    let contactList = {}
 | 
			
		||||
    for (let item of this.items) {
 | 
			
		||||
      if (item.type == "contact") {
 | 
			
		||||
        let c = contactList[item.system.contacttype] || { label: game.system.lesheritiers.config.contactType[item.system.contacttype], list: [] }
 | 
			
		||||
        c.list.push( item  )
 | 
			
		||||
        c.list.push(item)
 | 
			
		||||
        contactList[item.system.contacttype] = c
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
@@ -551,7 +553,43 @@ export class HeritiersActor extends Actor {
 | 
			
		||||
    let rollDialog = await HeritiersRollDialog.create(this, rollData)
 | 
			
		||||
    rollDialog.render(true)
 | 
			
		||||
  }
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  async rollAttaqueArme(armeId) {
 | 
			
		||||
    let arme = this.items.get(armeId)
 | 
			
		||||
    if (arme) {
 | 
			
		||||
      let competenceName = "Tir"
 | 
			
		||||
      let key = "prec"
 | 
			
		||||
      if (arme.system.categorie == "blanche" || arme.system.categorie == "improvise") {
 | 
			
		||||
        competenceName = "Mêlée"
 | 
			
		||||
        key = "agi"
 | 
			
		||||
      }
 | 
			
		||||
      let rollData = this.getCommonRollData(undefined, competenceName)
 | 
			
		||||
      rollData.carac = this.system.caracteristiques[key]
 | 
			
		||||
      rollData.caracKey = key
 | 
			
		||||
      rollData.arme = duplicate(arme)
 | 
			
		||||
      rollData.mode = "arme"
 | 
			
		||||
      let rollDialog = await HeritiersRollDialog.create(this, rollData)
 | 
			
		||||
      rollDialog.render(true)
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  async rollPouvoir(pouvoirId) {
 | 
			
		||||
    let pouvoir = this.items.get(pouvoirId)
 | 
			
		||||
    if (pouvoir) {
 | 
			
		||||
      let rollData = this.getCommonRollData(undefined, undefined)
 | 
			
		||||
      if ( pouvoir.system.feeriemasque != "autre") {
 | 
			
		||||
        rollData.pouvoirBase = duplicate(this.system.rang[pouvoir.system.feeriemasque.toLowerCase()])
 | 
			
		||||
        rollData.pouvoirBase.label = "Féerie"
 | 
			
		||||
        rollData.carac = duplicate(this.system.caracteristiques[pouvoir.system.carac])
 | 
			
		||||
        rollData.caracKey = pouvoir.system.carac
 | 
			
		||||
      }
 | 
			
		||||
      rollData.pouvoir = duplicate(pouvoir)
 | 
			
		||||
      rollData.mode = "pouvoir"
 | 
			
		||||
      let rollDialog = await HeritiersRollDialog.create(this, rollData)
 | 
			
		||||
      rollDialog.render(true)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  }
 | 
			
		||||
  /* -------------------------------------------- */
 | 
			
		||||
  async rollArmeOffensif(armeId) {
 | 
			
		||||
    let arme = this.items.get(armeId)
 | 
			
		||||
 
 | 
			
		||||
@@ -8,7 +8,7 @@ export const HERITIERS_CONFIG = {
 | 
			
		||||
    "prec": "Précision",
 | 
			
		||||
    "esp": "Esprit",
 | 
			
		||||
    "per": "Perception",
 | 
			
		||||
    "pres": "Préstance",
 | 
			
		||||
    "pres": "Prestance",
 | 
			
		||||
    "san": "Sang-Froid"
 | 
			
		||||
  },
 | 
			
		||||
 | 
			
		||||
@@ -34,7 +34,7 @@ export const HERITIERS_CONFIG = {
 | 
			
		||||
  },
 | 
			
		||||
  baseTestPouvoir: {
 | 
			
		||||
    "feerie": "Féerie",
 | 
			
		||||
    "Masque": "Masque",
 | 
			
		||||
    "masque": "Masque",
 | 
			
		||||
    "autre": "Autre"
 | 
			
		||||
  },
 | 
			
		||||
  resistancePouvoir: {
 | 
			
		||||
 
 | 
			
		||||
@@ -16,7 +16,8 @@ export const defaultItemImg = {
 | 
			
		||||
    accessoire: "systems/fvtt-les-heritiers/assets/icons/item.webp",  
 | 
			
		||||
    protection: "systems/fvtt-les-heritiers/assets/icons/armor.webp",  
 | 
			
		||||
    fee: "systems/fvtt-les-heritiers/assets/icons/faery_type.webp",
 | 
			
		||||
    profil: "systems/fvtt-les-heritiers/assets/icons/profil.webp"
 | 
			
		||||
    profil: "systems/fvtt-les-heritiers/assets/icons/profil.webp",
 | 
			
		||||
    equipement: "systems/fvtt-les-heritiers/assets/icons/equipement.webp",  
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 
 | 
			
		||||
@@ -362,15 +362,13 @@ export class HeritiersUtility {
 | 
			
		||||
      let compmod = (rollData.competence.system.niveau == 0) ? -3 : 0
 | 
			
		||||
      let specBonus = (rollData.useSpecialite) ? 1 : 0
 | 
			
		||||
      rollData.diceFormula += `+${rollData.carac.value}+${rollData.competence.system.niveau}+${specBonus}+${rollData.bonusMalusContext}+${compmod}`
 | 
			
		||||
    } else if (rollData.pouvoirBase) {
 | 
			
		||||
      rollData.diceFormula += `+${rollData.pouvoirBase.value}+${rollData.bonusMalusContext}`
 | 
			
		||||
    } else {
 | 
			
		||||
      rollData.diceFormula += `+${rollData.carac.value}+${rollData.bonusMalusContext}`
 | 
			
		||||
    }
 | 
			
		||||
    rollData.diceFormula += `+${rollData.pvMalus}`
 | 
			
		||||
 | 
			
		||||
    if (rollData.arme && rollData.arme.type == "arme") {
 | 
			
		||||
      rollData.diceFormula += `+${rollData.arme.system.bonusmaniementoff}`
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    let myRoll = new Roll(rollData.diceFormula).roll({ async: false })
 | 
			
		||||
    await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
 | 
			
		||||
    rollData.roll = myRoll
 | 
			
		||||
@@ -382,6 +380,17 @@ export class HeritiersUtility {
 | 
			
		||||
      actor.setFlag("world", "last-initiative", rollData.finalResult)
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    // Compute damages, cf p 187
 | 
			
		||||
    if (rollData.arme && rollData.isSuccess) {
 | 
			
		||||
      rollData.degatsArme = rollData.arme.system.degats + rollData.marge
 | 
			
		||||
      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, {
 | 
			
		||||
      content: await renderTemplate(`systems/fvtt-les-heritiers/templates/chat-generic-result.html`, rollData)
 | 
			
		||||
    }, rollData)
 | 
			
		||||
 
 | 
			
		||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							@@ -647,7 +647,12 @@ ul, li {
 | 
			
		||||
  margin: 4px 0;
 | 
			
		||||
  padding-top: 7px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.roll-style {
 | 
			
		||||
  background-color: rgba(56, 32, 32, 0.4);
 | 
			
		||||
  border-radius: 0.25rem;
 | 
			
		||||
  padding-left: 0.25rem;
 | 
			
		||||
  margin-right: 0.25rem;
 | 
			
		||||
}
 | 
			
		||||
.short-label {
 | 
			
		||||
  flex-grow: 1;
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -1,7 +1,7 @@
 | 
			
		||||
{
 | 
			
		||||
  "id": "fvtt-les-heritiers",
 | 
			
		||||
  "description": "Les Héritiers pour FoundryVTT",
 | 
			
		||||
  "version": "10.0.20",
 | 
			
		||||
  "version": "10.0.22",
 | 
			
		||||
  "authors": [
 | 
			
		||||
    {
 | 
			
		||||
      "name": "Uberwald/LeRatierBretonnien",
 | 
			
		||||
@@ -19,7 +19,7 @@
 | 
			
		||||
  "gridUnits": "m",
 | 
			
		||||
  "license": "LICENSE.txt",
 | 
			
		||||
  "manifest": "https://www.uberwald.me/gitea/public/fvtt-les-heritiers/raw/branch/master/system.json",
 | 
			
		||||
  "download": "https://www.uberwald.me/gitea/public/fvtt-les-heritiers/archive/fvtt-les-heritiers-10.0.20.zip",
 | 
			
		||||
  "download": "https://www.uberwald.me/gitea/public/fvtt-les-heritiers/archive/fvtt-les-heritiers-10.0.22.zip",
 | 
			
		||||
  "languages": [
 | 
			
		||||
    {
 | 
			
		||||
      "lang": "fr",
 | 
			
		||||
 
 | 
			
		||||
@@ -92,7 +92,7 @@
 | 
			
		||||
            </li>
 | 
			
		||||
            {{#each skillList as |skill key|}}
 | 
			
		||||
            <li class="item flexrow " data-item-id="{{skill._id}}" data-item-type="competence">
 | 
			
		||||
              <span class="item-field-label-long"><a class="roll-competence item-field-label-short"
 | 
			
		||||
              <span class="item-field-label-long roll-style"><a class="roll-competence item-field-label-short"
 | 
			
		||||
                  data-attr-key="tochoose">{{skill.name}}</a></span>
 | 
			
		||||
              <select class="item-field-label-short edit-item-data" type="text"
 | 
			
		||||
                data-item-field="niveau" value="{{skill.system.niveau}}" data-dtype="Number">
 | 
			
		||||
@@ -128,7 +128,7 @@
 | 
			
		||||
            </li>
 | 
			
		||||
            {{#each futileSkills as |skill key|}}
 | 
			
		||||
            <li class="item flexrow " data-item-id="{{skill._id}}" data-item-type="competence">
 | 
			
		||||
              <span class="item-field-label-long2"><a class="roll-competence item-field-label-short"
 | 
			
		||||
              <span class="item-field-label-long2 roll-style"><a class="roll-competence item-field-label-short"
 | 
			
		||||
                  data-attr-key="tochoose">{{skill.name}}</a></span>
 | 
			
		||||
 | 
			
		||||
                  <select class="item-field-label-short" type="text"
 | 
			
		||||
@@ -208,9 +208,6 @@
 | 
			
		||||
              <span class="item-field-label-short">
 | 
			
		||||
                <label class="short-label">Attaque</label>
 | 
			
		||||
              </span>
 | 
			
		||||
              <span class="item-field-label-short">
 | 
			
		||||
                <label class="short-label">Défense</label>
 | 
			
		||||
              </span>
 | 
			
		||||
              <span class="item-field-label-short">
 | 
			
		||||
                <label class="short-label">Dégats</label>
 | 
			
		||||
              </span>
 | 
			
		||||
@@ -226,11 +223,11 @@
 | 
			
		||||
              <span class="item-name-label competence-name">{{arme.name}}</span>
 | 
			
		||||
 | 
			
		||||
              <span class="item-field-label-short">
 | 
			
		||||
                <button class="roll-arme-offensif button-sheet-roll">Attaquer</button>
 | 
			
		||||
                <button class="roll-attaque-arme button-sheet-roll">Attaquer</button>
 | 
			
		||||
              </span>
 | 
			
		||||
 | 
			
		||||
              <span class="item-field-label-short">
 | 
			
		||||
                <button class="roll-arme-degats button-sheet-roll">{{arme.system.totalDegats}}</button>
 | 
			
		||||
                {{arme.system.degats}}
 | 
			
		||||
              </span>
 | 
			
		||||
 | 
			
		||||
              <div class="item-filler"> </div>
 | 
			
		||||
@@ -405,7 +402,11 @@
 | 
			
		||||
            {{#each pouvoirs as |pouvoir key|}}
 | 
			
		||||
            <li class="item flexrow " data-item-id="{{pouvoir._id}}" data-item-type="pouvoir">
 | 
			
		||||
              <img class="item-name-img" src="{{pouvoir.img}}" />
 | 
			
		||||
              {{#if pouvoir.system.istest}}
 | 
			
		||||
              <span class="item-field-label-long2 roll-style"><a class="roll-pouvoir">{{pouvoir.name}}</a></span>
 | 
			
		||||
              {{else}}              
 | 
			
		||||
              <span class="item-field-label-long2">{{pouvoir.name}}</span>
 | 
			
		||||
              {{/if}}
 | 
			
		||||
              <span class="item-field-label-medium">{{upperFirst pouvoir.system.masquetype}}</span>
 | 
			
		||||
              <span class="item-field-label-medium">{{upperFirst pouvoir.system.pouvoirtype}}</span>
 | 
			
		||||
              <span class="item-field-label-medium">{{upperFirst pouvoir.system.niveau}}</span>
 | 
			
		||||
@@ -461,6 +462,8 @@
 | 
			
		||||
            </span>
 | 
			
		||||
            <div class="item-filler"> </div>
 | 
			
		||||
            <div class="item-controls item-controls-fixed">
 | 
			
		||||
              <a class="item-control item-add" data-type="equipement" title="Créer un équipement"><i class="fas fa-plus"></i></a>
 | 
			
		||||
            </div>  
 | 
			
		||||
            </div>
 | 
			
		||||
          </li>
 | 
			
		||||
          {{#each equipements as |equip key|}}
 | 
			
		||||
 
 | 
			
		||||
@@ -27,14 +27,26 @@
 | 
			
		||||
      {{/if}}
 | 
			
		||||
    {{/if}}
 | 
			
		||||
 | 
			
		||||
    <li>Formule : {{diceFormula}}</li>
 | 
			
		||||
    <li>Résultat du dé : {{diceResult}}</li>
 | 
			
		||||
    {{#if arme}}
 | 
			
		||||
    <li>Attaque avec : {{arme.name}}</li>
 | 
			
		||||
    {{/if}}
 | 
			
		||||
 | 
			
		||||
    {{#if pouvoir}}
 | 
			
		||||
    <li>Pouvoir : {{pouvoir.name}}</li>
 | 
			
		||||
    <li>Effet : {{pouvoir.system.effet}}</li>
 | 
			
		||||
    {{/if}}
 | 
			
		||||
 | 
			
		||||
    <li>Formule : {{diceFormula}}</li>
 | 
			
		||||
    <li>Résultat du dé : {{diceResult}} </li>  
 | 
			
		||||
    <li>Total : {{finalResult}} (Marge : {{marge}})</li>
 | 
			
		||||
 | 
			
		||||
    <li>Total : {{finalResult}}</li>
 | 
			
		||||
 | 
			
		||||
    {{#if sdValue}}
 | 
			
		||||
    {{#if isSuccess}}
 | 
			
		||||
    <li class="chat-success">Succés...
 | 
			
		||||
      {{#if arme}}
 | 
			
		||||
      <li>Dégats : {{degatsArme}}</li>
 | 
			
		||||
      {{/if}}
 | 
			
		||||
    </li>
 | 
			
		||||
    {{else}}
 | 
			
		||||
    <li class="chat-failure">Echec...</li>
 | 
			
		||||
@@ -43,6 +55,9 @@
 | 
			
		||||
 | 
			
		||||
    {{#if isCriticalSuccess}}
 | 
			
		||||
    <li class="chat-success">Réussite Critique !!!</li>
 | 
			
		||||
      {{#if arme}}
 | 
			
		||||
        <li>Vous pouvez augmenter les dégats de +2 ou bien bénéficier d'une Aubaine.</li>
 | 
			
		||||
      {{/if}}
 | 
			
		||||
    {{/if}}
 | 
			
		||||
    {{#if isCriticalFailure}}
 | 
			
		||||
    <li class="chat-failure">Echec Critique !!!</li>
 | 
			
		||||
 
 | 
			
		||||
@@ -42,6 +42,23 @@
 | 
			
		||||
      {{/if}}
 | 
			
		||||
    {{/if}}
 | 
			
		||||
 | 
			
		||||
    {{#if pouvoir}}
 | 
			
		||||
    <div class="flexrow">
 | 
			
		||||
      <span class="roll-dialog-label">Pouvoir : </span>
 | 
			
		||||
      <span class="small-label roll-dialog-label">{{pouvoir.name}}</span>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div class="flexrow">
 | 
			
		||||
      <span class="roll-dialog-label">Activation : </span>
 | 
			
		||||
      <span class="small-label roll-dialog-label">{{pouvoir.system.activation}}</span>
 | 
			
		||||
    </div>
 | 
			
		||||
      {{#if pouvoirBase}}
 | 
			
		||||
      <div class="flexrow">
 | 
			
		||||
        <span class="roll-dialog-label">{{pouvoirBase.label}} : </span>
 | 
			
		||||
        <span class="small-label roll-dialog-label">{{pouvoirBase.value}}</span>
 | 
			
		||||
      </div>  
 | 
			
		||||
      {{/if}}
 | 
			
		||||
    {{/if}}
 | 
			
		||||
 | 
			
		||||
    <div class="flexrow">
 | 
			
		||||
      <span class="roll-dialog-label">Malus de Santé</span>
 | 
			
		||||
      <span class="small-label roll-dialog-label">{{pvMalus}}</span>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user