forked from public/foundryvtt-reve-de-dragon
Prise en compte des milieux
Les filtrages par milieux prennent en compte la rareté/fréquence du milieu
This commit is contained in:
@ -178,28 +178,35 @@ export class RdDItem extends Item {
|
||||
isHerbeAPotion() { return this.type == 'herbe' && (this.system.categorie == 'Soin' || this.system.categorie == 'Repos'); }
|
||||
|
||||
isPresentDansMilieux(milieux) {
|
||||
return this.getEnvironnement(milieux).length > 0
|
||||
return this.getEnvironnements(milieux).length > 0
|
||||
}
|
||||
|
||||
getEnvironnement(milieux = undefined) {
|
||||
const environnements = this.isInventaire() ? this.system?.environnement ?? [] : [];
|
||||
return environnements.filter(env => !milieux || milieux.includes(env.milieu))
|
||||
getEnvironnements(milieux = undefined) {
|
||||
const environnements = this.isInventaire() ? this.system.environnement : undefined;
|
||||
if (milieux == undefined || !environnements) {
|
||||
return environnements ?? [];
|
||||
}
|
||||
return environnements.filter(env => milieux.includes(env.milieu))
|
||||
}
|
||||
|
||||
getMilieux() {
|
||||
return this.getEnvironnement().map(env => env.milieu);
|
||||
return this.getEnvironnements().map(env => env.milieu);
|
||||
}
|
||||
|
||||
|
||||
getRarete(milieux = undefined) {
|
||||
getRaretes(milieux = undefined) {
|
||||
if (this.isInventaire()) {
|
||||
return RdDRaretes.selonEnvironnement(this, milieux)
|
||||
const raretes = this.getEnvironnements(milieux).map(env => RdDRaretes.byCode(env.rarete));
|
||||
if (milieux == undefined && raretes.length == 0) {
|
||||
return [RdDRaretes.rareteFrequente()];
|
||||
}
|
||||
return raretes;
|
||||
}
|
||||
return RdDRaretes.rareteFrequente();
|
||||
return [RdDRaretes.rareteEgale()];
|
||||
}
|
||||
|
||||
getFrequence(milieux = undefined) {
|
||||
return this.getRarete(milieux)?.frequence ?? 0;
|
||||
const frequences = this.getEnvironnements(milieux).map(it => it.frequence);
|
||||
return frequences.length == 0 ? 0 : Math.max(...frequences);
|
||||
}
|
||||
|
||||
getItemGroup() {
|
||||
|
Reference in New Issue
Block a user