Le GR a toujours le droit de voir les acteurs #601

Merged
uberwald merged 2 commits from VincentVk/foundryvtt-reve-de-dragon:v10 into v10 2023-01-03 16:11:35 +01:00
4 changed files with 16 additions and 11 deletions

View File

@ -31,7 +31,7 @@ export class RdDBaseActorSheet extends ActorSheet {
Monnaie.validerMonnaies(this.actor.itemTypes['monnaie']);
this.actor.recompute();
const userRightLevel = this.actor.getUserLevel(game.user)
const userRightLevel = game.user.isGM ? CONST.DOCUMENT_OWNERSHIP_LEVELS.OWNER : this.actor.getUserLevel(game.user)
const options = duplicate(this.options);
mergeObject(options, {
isGM: game.user.isGM,

View File

@ -220,7 +220,7 @@ export class RdDBaseActor extends Actor {
/* -------------------------------------------- */
getQuantiteDisponible(item) {
return item?.getQuantite();
return item?.isService() ? undefined : item?.getQuantite();
}
/* -------------------------------------------- */
@ -310,6 +310,9 @@ export class RdDBaseActor extends Actor {
async decrementerQuantiteItem(item, quantite, options = { supprimerSiZero: true }) {
if (itemVendu.isService()) {
return;
}
let resteQuantite = (item.system.quantite ?? 1) - quantite;
if (resteQuantite <= 0) {
if (options.supprimerSiZero) {

View File

@ -2,7 +2,7 @@ import { Misc } from "../misc.js";
import { RdDBaseActor } from "./base-actor.js";
export class RdDCommerce extends RdDBaseActor {
static get defaultIcon() {
return "systems/foundryvtt-reve-de-dragon/icons/services/commerce.webp";
}
@ -15,16 +15,16 @@ export class RdDCommerce extends RdDBaseActor {
}
canReceive(item) {
if (item.isInventaire('all')) {
if (item.isInventaire('all')) {
return true;
}
return super.canReceive(item);
}
getQuantiteDisponible(item) {
return this.system.illimite ? undefined : item.getQuantite();
return this.system.illimite || item.isService() ? undefined : item.getQuantite();
}
verifierFortune(cout) {
return this.system.illimite || super.verifierFortune(cout);
}
@ -43,11 +43,11 @@ export class RdDCommerce extends RdDBaseActor {
if (this.system.illimite) {
return;
}
await super.decrementerQuantiteItem(itemVendu, quantite, {supprimerSiZero: false});
await super.decrementerQuantiteItem(itemVendu, quantite, { supprimerSiZero: false });
}
calculerPrix(item) {
const pourcentage = this.system.pourcentage ?? 100;
return Misc.keepDecimals(Math.ceil(item.system.cout * pourcentage)/100, 2);
return Misc.keepDecimals(Math.ceil(item.system.cout * pourcentage) / 100, 2);
}
}

View File

@ -223,15 +223,17 @@ export class RdDItem extends Item {
}
getQuantite() {
return Math.round(this.system.quantite ?? 0)
return this.isService() ? undefined : Math.round(this.system.quantite ?? 0)
}
getEncTotal() {
return this.getEnc() * this.getQuantite();
return (this.isService() ? 0 : this.getQuantite()) * this.getEnc();
}
getEnc() {
switch (this.type) {
case 'service':
return 0;
case 'herbe':
return this.getEncHerbe();
case 'gemme':
@ -250,7 +252,7 @@ export class RdDItem extends Item {
}
valeurTotale() {
return this.getQuantite() * this.valeur()
return (this.isService() ? 1 : this.getQuantite()) * this.valeur()
}
valeur() {