Merge branch 'master' of gitlab.com:LeRatierBretonnien/foundryvtt-reve-de-dragon
This commit is contained in:
		| @@ -130,12 +130,12 @@ export class RdDItemCompetence extends Item { | ||||
|   static computeEconomieXPTronc(competences) { | ||||
|     return competenceTroncs.map( | ||||
|       list => list.map(name => RdDItemCompetence.findCompetence(competences, name)) | ||||
|         // calcul du coût xp jusqu'au niveau 0 maximum | ||||
|         .map(it => RdDItemCompetence.computeDeltaXP(it?.data.base ?? -11, Math.min(it?.data.niveau ?? -11, 0))) | ||||
|         .sort((a, b) => b - a) // tri descendant | ||||
|         .splice(0, 1) // ignorer le coût xp le plus élevé | ||||
|         .reduce((a, b) => a + b, 0) | ||||
|     ).reduce((a, b) => a + b, 0); | ||||
|           // calcul du coût xp jusqu'au niveau 0 maximum | ||||
|           .map(it => RdDItemCompetence.computeDeltaXP(it?.data.base ?? -11, Math.min(it?.data.niveau ?? -11, 0))) | ||||
|           .sort(Misc.ascending())  | ||||
|           .splice(0, list.length-1) // prendre toutes les valeurs sauf l'une des plus élevées | ||||
|           .reduce(Misc.sum(), 0) | ||||
|     ).reduce(Misc.sum(), 0); | ||||
|   } | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
|   | ||||
| @@ -18,6 +18,24 @@ export class Misc { | ||||
|     return isPositiveNumber ? "+" + number : number | ||||
|   } | ||||
|  | ||||
|   static sum() { | ||||
|     return (a, b) => a + b; | ||||
|   } | ||||
|  | ||||
|   static ascending(orderFunction = x=>x) { | ||||
|     return (a, b) => Misc.sortingBy(orderFunction(a), orderFunction(b)); | ||||
|   }   | ||||
|  | ||||
|   static descending(orderFunction = x=>x) { | ||||
|     return (a, b) => Misc.sortingBy(orderFunction(b), orderFunction(a)); | ||||
|   }   | ||||
|  | ||||
|   static sortingBy(a, b) { | ||||
|     if (a > b) return 1; | ||||
|     if (a < b) return -1; | ||||
|     return 0; | ||||
|   } | ||||
|  | ||||
|   /** | ||||
|    * Converts the value to an integer, or to 0 if undefined/null/not representing integer | ||||
|    * @param {*} value value to convert to an integer using parseInt | ||||
|   | ||||
		Reference in New Issue
	
	Block a user