Les services sont inquantifiables
Ne pas décrémenter leur quantité, et leur quantite disponible est undefined (ie: infinie)
This commit is contained in:
parent
5bddc548de
commit
2e0abaa284
@ -220,7 +220,7 @@ export class RdDBaseActor extends Actor {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
|
|
||||||
getQuantiteDisponible(item) {
|
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 }) {
|
async decrementerQuantiteItem(item, quantite, options = { supprimerSiZero: true }) {
|
||||||
|
if (itemVendu.isService()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
let resteQuantite = (item.system.quantite ?? 1) - quantite;
|
let resteQuantite = (item.system.quantite ?? 1) - quantite;
|
||||||
if (resteQuantite <= 0) {
|
if (resteQuantite <= 0) {
|
||||||
if (options.supprimerSiZero) {
|
if (options.supprimerSiZero) {
|
||||||
|
@ -2,7 +2,7 @@ import { Misc } from "../misc.js";
|
|||||||
import { RdDBaseActor } from "./base-actor.js";
|
import { RdDBaseActor } from "./base-actor.js";
|
||||||
|
|
||||||
export class RdDCommerce extends RdDBaseActor {
|
export class RdDCommerce extends RdDBaseActor {
|
||||||
|
|
||||||
static get defaultIcon() {
|
static get defaultIcon() {
|
||||||
return "systems/foundryvtt-reve-de-dragon/icons/services/commerce.webp";
|
return "systems/foundryvtt-reve-de-dragon/icons/services/commerce.webp";
|
||||||
}
|
}
|
||||||
@ -15,16 +15,16 @@ export class RdDCommerce extends RdDBaseActor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
canReceive(item) {
|
canReceive(item) {
|
||||||
if (item.isInventaire('all')) {
|
if (item.isInventaire('all')) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return super.canReceive(item);
|
return super.canReceive(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
getQuantiteDisponible(item) {
|
getQuantiteDisponible(item) {
|
||||||
return this.system.illimite ? undefined : item.getQuantite();
|
return this.system.illimite || item.isService() ? undefined : item.getQuantite();
|
||||||
}
|
}
|
||||||
|
|
||||||
verifierFortune(cout) {
|
verifierFortune(cout) {
|
||||||
return this.system.illimite || super.verifierFortune(cout);
|
return this.system.illimite || super.verifierFortune(cout);
|
||||||
}
|
}
|
||||||
@ -43,11 +43,11 @@ export class RdDCommerce extends RdDBaseActor {
|
|||||||
if (this.system.illimite) {
|
if (this.system.illimite) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
await super.decrementerQuantiteItem(itemVendu, quantite, {supprimerSiZero: false});
|
await super.decrementerQuantiteItem(itemVendu, quantite, { supprimerSiZero: false });
|
||||||
}
|
}
|
||||||
|
|
||||||
calculerPrix(item) {
|
calculerPrix(item) {
|
||||||
const pourcentage = this.system.pourcentage ?? 100;
|
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);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -223,15 +223,17 @@ export class RdDItem extends Item {
|
|||||||
}
|
}
|
||||||
|
|
||||||
getQuantite() {
|
getQuantite() {
|
||||||
return Math.round(this.system.quantite ?? 0)
|
return this.isService() ? undefined : Math.round(this.system.quantite ?? 0)
|
||||||
}
|
}
|
||||||
|
|
||||||
getEncTotal() {
|
getEncTotal() {
|
||||||
return this.getEnc() * this.getQuantite();
|
return (this.isService() ? 0 : this.getQuantite()) * this.getEnc();
|
||||||
}
|
}
|
||||||
|
|
||||||
getEnc() {
|
getEnc() {
|
||||||
switch (this.type) {
|
switch (this.type) {
|
||||||
|
case 'service':
|
||||||
|
return 0;
|
||||||
case 'herbe':
|
case 'herbe':
|
||||||
return this.getEncHerbe();
|
return this.getEncHerbe();
|
||||||
case 'gemme':
|
case 'gemme':
|
||||||
@ -250,7 +252,7 @@ export class RdDItem extends Item {
|
|||||||
}
|
}
|
||||||
|
|
||||||
valeurTotale() {
|
valeurTotale() {
|
||||||
return this.getQuantite() * this.valeur()
|
return (this.isService() ? 1 : this.getQuantite()) * this.valeur()
|
||||||
}
|
}
|
||||||
|
|
||||||
valeur() {
|
valeur() {
|
||||||
|
Loading…
Reference in New Issue
Block a user