forked from public/fvtt-yggdrasill
		
	Compare commits
	
		
			2 Commits
		
	
	
		
			fvtt-yggdr
			...
			fix/v10-fu
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 8d56fed614 | |||
| 63d1c5847b | 
| @@ -14,8 +14,8 @@ export class YggdrasillActorSheet extends ActorSheet { | ||||
|     return mergeObject(super.defaultOptions, { | ||||
|       classes: ["yggdrasill", "sheet", "actor"], | ||||
|       template: "systems/fvtt-yggdrasill/templates/actor-sheet.html", | ||||
|       width: 640, | ||||
|       height: 720, | ||||
|       width: 680, | ||||
|       height: 740, | ||||
|       tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "stats" }], | ||||
|       dragDrop: [{ dragSelector: ".item-list .item", dropSelector: null }], | ||||
|       editScore: false | ||||
|   | ||||
| @@ -193,18 +193,18 @@ export class YggdrasillActor extends Actor { | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
|   _preUpdate(changed, options, user) { | ||||
|     if ( changed.data?.caracsecondaire?.pv?.value ) { | ||||
|       if ( changed.data.caracsecondaire.pv.value < 0 )  | ||||
|         changed.data.caracsecondaire.pv.value = 0; | ||||
|       if ( changed.data.caracsecondaire.pv.value > this.system.caracsecondaire.pv.max )  | ||||
|         changed.data.caracsecondaire.pv.value = this.system.caracsecondaire.pv.max;             | ||||
|     if ( changed.system?.caracsecondaire?.pv?.value ) { | ||||
|       if ( changed.system.caracsecondaire.pv.value < 0 )  | ||||
|         changed.system.caracsecondaire.pv.value = 0; | ||||
|       if ( changed.system.caracsecondaire.pv.value > this.system.caracsecondaire.pv.max )  | ||||
|         changed.system.caracsecondaire.pv.value = this.system.caracsecondaire.pv.max;             | ||||
|     } | ||||
|      | ||||
|     if ( changed.data?.furor?.value ) { | ||||
|       if ( changed.data.furor.value < 0 )  | ||||
|         changed.data.furor.value = 0; | ||||
|       if ( changed.data.furor.value > this.system.furor.max )  | ||||
|         changed.data.furor.value = this.system.furor.max; | ||||
|     if ( changed.system?.furor?.value ) { | ||||
|       if ( changed.system.furor.value < 0 )  | ||||
|         changed.system.furor.value = 0; | ||||
|       if ( changed.system.furor.value > this.system.furor.max )  | ||||
|         changed.system.furor.value = this.system.furor.max; | ||||
|     } | ||||
|     super._preUpdate(changed, options, user); | ||||
|   } | ||||
| @@ -448,19 +448,41 @@ export class YggdrasillActor extends Actor { | ||||
|       } | ||||
|  | ||||
|       this.system.caracsecondaire.reaction.value = baseesprit.intellect.value + baseesprit.perception.value + baseame.instinct.value; | ||||
|       this.system.caracsecondaire.reaction.max = baseesprit.intellect.value + baseesprit.perception.value + baseame.instinct.value; | ||||
|       let newReac = baseesprit.intellect.value + baseesprit.perception.value + baseame.instinct.value; | ||||
|       if ( newReac != this.system.caracsecondaire.reaction.max) {     | ||||
|         this.system.caracsecondaire.reaction.max = newReac | ||||
|         this.update( { 'system.caracsecondaire.reaction.max': newReac }); | ||||
|       } | ||||
|  | ||||
|       this.system.caracsecondaire.defensephy.value = basecorps.agilite.value + basecorps.vigueur.value + baseame.instinct.value; | ||||
|       this.system.caracsecondaire.defensephy.max = basecorps.agilite.value + basecorps.vigueur.value + baseame.instinct.value; | ||||
|       let newDef = basecorps.agilite.value + basecorps.vigueur.value + baseame.instinct.value; | ||||
|       if ( newDef != this.system.caracsecondaire.defensephy.max) { | ||||
|         this.system.caracsecondaire.defensephy.max = newDef | ||||
|         this.update( { 'system.caracsecondaire.defensephy.max': newDef }); | ||||
|       } | ||||
|  | ||||
|       this.system.caracsecondaire.defensemen.value = baseesprit.tenacite.value + baseame.instinct.value + baseesprit.intellect.value; | ||||
|       this.system.caracsecondaire.defensemen.max = baseesprit.tenacite.value + baseame.instinct.value + baseesprit.intellect.value; | ||||
|       newDef = baseesprit.tenacite.value + baseame.instinct.value + baseesprit.intellect.value; | ||||
|       if ( newDef != this.system.caracsecondaire.defensemen.max) { | ||||
|         this.system.caracsecondaire.defensemen.max = newDef | ||||
|         this.update( { 'system.caracsecondaire.defensemen.max': newDef }); | ||||
|       } | ||||
|  | ||||
|       this.system.caracsecondaire.deplacement.value = basecorps.agilite.value + basecorps.vigueur.value; | ||||
|       this.system.caracsecondaire.deplacement.max = basecorps.agilite.value + basecorps.vigueur.value; | ||||
|       let depl = basecorps.agilite.value + basecorps.vigueur.value; | ||||
|       if ( depl !=  this.system.caracsecondaire.deplacement.max) { | ||||
|         this.system.caracsecondaire.deplacement.max = depl | ||||
|         this.update( { 'system.caracsecondaire.deplacement.max': depl }); | ||||
|       } | ||||
|  | ||||
|       this.system.caracsecondaire.capaenc.value = (basecorps.puissance.value * 2) + basecorps.vigueur.value; | ||||
|       this.system.caracsecondaire.capaenc.max = (basecorps.puissance.value * 2) + basecorps.vigueur.value; | ||||
|       let enc = (basecorps.puissance.value * 2) + basecorps.vigueur.value; | ||||
|       if ( enc != this.system.caracsecondaire.capaenc.max ) { | ||||
|         this.system.caracsecondaire.capaenc.max = enc | ||||
|         this.update( { 'system.caracsecondaire.capaenc.max': enc }); | ||||
|       } | ||||
|  | ||||
|       //console.log("CARAC SEC", this.system.caracsecondaire) | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   | ||||
| @@ -87,12 +87,14 @@ export class YggdrasillUtility  { | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
|   static async specificYggRoll( nbDice ) { | ||||
|     return specificYggRoll(nbDice, false); | ||||
|   } | ||||
|  | ||||
|   static async specificYggRoll( nbDice, isFurorUsage ) { | ||||
|     let rawDices = [] | ||||
|     let rolls = []   | ||||
|     let maxTab = [] | ||||
|  | ||||
|     maxTab[0] = {idx: 0, value: 0} | ||||
|     maxTab[1] = {idx: 0, value: 0} | ||||
|     let maxTabMaxIndex = isFurorUsage ? nbDice : 2; | ||||
|  | ||||
|     for (let i=0; i<nbDice; i++) { | ||||
|       rolls[i] = new Roll("1d10x10").roll( {async: false}) //+sumDice+"+"+rollData.furorUsage+"d10+"+niveauCompetence+"+"+rollData.finalBM).roll( { async: false} ); | ||||
| @@ -102,19 +104,17 @@ export class YggdrasillUtility  { | ||||
|         this.showDiceSoNice(rolls[i], game.settings.get("core", "rollMode") ); | ||||
|       } | ||||
|       rawDices.push({ 'result': rolls[i].total}); | ||||
|  | ||||
|       if ( rolls[i].total > maxTab[0].value) { | ||||
|         if ( nbDice > 1 && maxTab[0].value > maxTab[1].value) { | ||||
|           maxTab[1].value = maxTab[0].value | ||||
|         } | ||||
|         maxTab[0].value = rolls[i].total | ||||
|       } else { | ||||
|         if ( nbDice > 1 && rolls[i].total > maxTab[1].value) { | ||||
|           maxTab[1].value = rolls[i].total | ||||
|         } | ||||
|       } | ||||
|     } | ||||
|     return { rawDices: rawDices, maxTab: maxTab, rolls: rolls} | ||||
|  | ||||
|     rolls.sort((a,b) => a.total-b.total); | ||||
|     rolls.reverse(); | ||||
|      | ||||
|     for (let i=0; i<maxTabMaxIndex; i++) { | ||||
|       maxTab[i] = {idx: 0, value: 0}; | ||||
|       if (rolls[i].total != undefined) maxTab[i].value = rolls[i].total; | ||||
|     } | ||||
|  | ||||
|     return { rawDices: rawDices, maxTab: maxTab, rolls: rolls } | ||||
|   } | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
| @@ -218,7 +218,7 @@ export class YggdrasillUtility  { | ||||
|     console.log("RES", results, nbDice, sumDice) | ||||
|  | ||||
|     if ( rollData.furorUsage > 0 ) {  | ||||
|       results = await this.specificYggRoll( rollData.furorUsage )  | ||||
|       results = await this.specificYggRoll( rollData.furorUsage, true )  | ||||
|       rollData.furorRawDices = results.rawDices | ||||
|       rollData.furorMaxTab = results.maxTab | ||||
|       rollData.furorRolls = results.rolls | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| { | ||||
|   "title": "Yggdrasill", | ||||
|   "description": "Système non-officiel Yggdrasill (7ième Cercle) pour FoundryVTT", | ||||
|   "version": "10.0.2", | ||||
|   "version": "10.0.3", | ||||
|   "esmodules": [ | ||||
|     "modules/yggdrasill-main.js" | ||||
|   ], | ||||
| @@ -196,7 +196,7 @@ | ||||
|   "socket": true, | ||||
|   "url": "https://www.uberwald.me/gitea/public/fvtt-yggdrasill/", | ||||
|   "manifest": "https://www.uberwald.me/gitea/public/fvtt-yggdrasill/raw/branch/v10/system.json", | ||||
|   "download": "https://www.uberwald.me/gitea/public/fvtt-yggdrasill/archive/fvtt-yggdrasill-10.0.2.zip", | ||||
|   "download": "https://www.uberwald.me/gitea/public/fvtt-yggdrasill/archive/fvtt-yggdrasill-10.0.3.zip", | ||||
|   "license": "LICENSE.txt", | ||||
|   "id": "fvtt-yggdrasill", | ||||
|   "authors": [ | ||||
|   | ||||
		Reference in New Issue
	
	Block a user