Merge branch 'v1.4-fix' into 'v1.4'
Plusieurs fixes See merge request LeRatierBretonnien/foundryvtt-reve-de-dragon!245
This commit is contained in:
@ -1030,6 +1030,7 @@ export class RdDActor extends Actor {
|
||||
}
|
||||
else if (dest?.isEquipementSimilaire(item)) {
|
||||
await this.regrouperEquipementsSimilaires(item, dest);
|
||||
result = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1789,7 +1790,7 @@ export class RdDActor extends Actor {
|
||||
async saouler(forceAlcool, alcool = undefined) {
|
||||
const actorData = Misc.data(this);
|
||||
let ethylisme = duplicate(actorData.data.compteurs.ethylisme);
|
||||
|
||||
|
||||
const etat = this.getEtatGeneral({ ethylisme: true });
|
||||
const nbDoses = Number(actorData.data.compteurs.ethylisme.nb_doses || 0);
|
||||
const ethylismeData = {
|
||||
@ -1800,7 +1801,7 @@ export class RdDActor extends Actor {
|
||||
jetVie: {
|
||||
forceAlcool: forceAlcool,
|
||||
nbDoses: nbDoses,
|
||||
selectedCarac: actorData.data.carac.constitution,
|
||||
selectedCarac: actorData.data.sante.vie,
|
||||
carac: actorData.data.carac,
|
||||
caracValue: actorData.data.sante.vie.max,
|
||||
finalLevel: etat + forceAlcool - nbDoses,
|
||||
@ -1809,29 +1810,30 @@ export class RdDActor extends Actor {
|
||||
}
|
||||
|
||||
await RdDResolutionTable.rollData(ethylismeData.jetVie);
|
||||
this._appliquerExperienceRollData(ethylismeData.jetVie);
|
||||
RollDataAjustements.calcul(ethylismeData.jetVie, this);
|
||||
if (ethylismeData.jetVie.rolled.isSuccess) {
|
||||
ethylisme.nb_doses++;
|
||||
} else {
|
||||
ethylisme.value = Math.max(ethylisme.value - 1, -7);
|
||||
ethylisme.nb_doses = 0;
|
||||
|
||||
let perte = await RdDDice.rollTotal("1d6", {showDice:true});
|
||||
|
||||
let perte = await RdDDice.rollTotal("1d6", { showDice: true });
|
||||
ethylismeData.perteEndurance = await this.santeIncDec("endurance", -perte, { ethylisme: true });
|
||||
|
||||
|
||||
if (!ethylisme.jet_moral) {
|
||||
ethylismeData.jetMoral = await this._jetMoral('heureuse');
|
||||
if (ethylismeData.jetMoral.ajustement == 1) {
|
||||
ethylismeData.moralAlcool ='heureux';
|
||||
ethylismeData.moralAlcool = 'heureux';
|
||||
ethylisme.jet_moral = true;
|
||||
} else if (ethylisme.value == -1) {
|
||||
ethylismeData.jetMoral.ajustement = -1;
|
||||
ethylismeData.moralAlcool ='triste';
|
||||
ethylismeData.moralAlcool = 'triste';
|
||||
ethylisme.jet_moral = true;
|
||||
await this.moralIncDec(-1);
|
||||
}
|
||||
}
|
||||
if (ethylisme.value<0) {
|
||||
if (ethylisme.value < 0) {
|
||||
// Qui a bu boira (p 164)
|
||||
ethylismeData.jetVolonte = {
|
||||
selectedCarac: actorData.data.carac.volonte,
|
||||
@ -1841,13 +1843,14 @@ export class RdDActor extends Actor {
|
||||
showDice: true
|
||||
}
|
||||
await RdDResolutionTable.rollData(ethylismeData.jetVolonte);
|
||||
this._appliquerExperienceRollData(ethylismeData.jetVolonte);
|
||||
RollDataAjustements.calcul(ethylismeData.jetVolonte, this);
|
||||
}
|
||||
}
|
||||
ethylismeData.ajustementEthylique = ethylisme.value;
|
||||
ethylismeData.nomEthylisme = RdDUtility.getNomEthylisme(ethylisme.value);
|
||||
ethylismeData.ajustementEthylique = ethylisme.value;
|
||||
ethylismeData.nomEthylisme = RdDUtility.getNomEthylisme(ethylisme.value);
|
||||
ethylismeData.doses = ethylisme.nb_doses;
|
||||
|
||||
|
||||
await this.update({ 'data.compteurs.ethylisme': ethylisme });
|
||||
await RdDResolutionTable.displayRollData(ethylismeData, this, 'chat-resultat-ethylisme.html');
|
||||
}
|
||||
@ -2315,7 +2318,9 @@ export class RdDActor extends Actor {
|
||||
/* -------------------------------------------- */
|
||||
_appliquerExperienceRollData(rollData) {
|
||||
const callback = this.createCallbackExperience();
|
||||
if (callback.condition(rollData)) { callback.action(rollData); }
|
||||
if (callback.condition(rollData)) {
|
||||
callback.action(rollData);
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -2777,6 +2782,7 @@ export class RdDActor extends Actor {
|
||||
return { result: false, xpcarac: 0, xpCompetence: 0 };
|
||||
}
|
||||
|
||||
if (caracName == 'Vie') caracName = 'constitution';
|
||||
if (caracName == 'derobee') caracName = 'agilite';
|
||||
if (caracName == 'reve-actuel') caracName = 'reve';
|
||||
let xp = Math.abs(rolled.finalLevel);
|
||||
@ -3405,7 +3411,7 @@ export class RdDActor extends Actor {
|
||||
ui.notifications.info("Inutile de se vendre à soi-même");
|
||||
return;
|
||||
}
|
||||
if (!game.user.isGM) {
|
||||
if (!Misc.isElectedUser()) {
|
||||
RdDActor.remoteActorCall({
|
||||
userId: Misc.connectedGMOrUser(),
|
||||
actorId: this.vendeur?.id ?? this.acheteur?.id,
|
||||
@ -3449,10 +3455,14 @@ export class RdDActor extends Actor {
|
||||
|
||||
if (acheteur) {
|
||||
// TODO: achat depuis un compendium
|
||||
const achat = duplicate(Misc.data(vendeur?.getObjet(itemId) ?? game.items.get(itemId)));
|
||||
const itemData = Misc.data(vendeur?.getObjet(itemId) ?? game.items.get(itemId));
|
||||
const achat = {
|
||||
type: itemData.type,
|
||||
img: itemData.img,
|
||||
name: itemData.name,
|
||||
data: itemData.data
|
||||
}
|
||||
achat.data.quantite = venteData.quantiteTotal;
|
||||
achat._id = undefined;
|
||||
// TODO: investigate bug - création marche mal...
|
||||
await acheteur.createEmbeddedDocuments("Item", [achat]);
|
||||
}
|
||||
if (coutDeniers > 0) {
|
||||
@ -3464,18 +3474,19 @@ export class RdDActor extends Actor {
|
||||
content: await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/chat-achat-item.html', venteData)
|
||||
});
|
||||
|
||||
if (venteData.quantiteNbLots <= venteData.nombreLots) {
|
||||
ChatUtility.removeChatMessageId(chatMessageIdVente);
|
||||
if (!venteData.quantiteIllimite) {
|
||||
if (venteData.quantiteNbLots <= venteData.nombreLots) {
|
||||
ChatUtility.removeChatMessageId(chatMessageIdVente);
|
||||
}
|
||||
else {
|
||||
venteData.quantiteNbLots -= venteData.nombreLots;
|
||||
venteData.jsondata = JSON.stringify(venteData.item);
|
||||
let newMessageVente = await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/chat-vente-item.html', venteData);
|
||||
const messageVente = game.messages.get(chatMessageIdVente);
|
||||
messageVente.update({ content: newMessageVente });
|
||||
messageVente.render(true);
|
||||
}
|
||||
}
|
||||
else {
|
||||
venteData.quantiteNbLots -= venteData.nombreLots;
|
||||
venteData.jsondata = JSON.stringify(venteData.item);
|
||||
let newMessageVente = await renderTemplate('systems/foundryvtt-reve-de-dragon/templates/chat-vente-item.html', venteData);
|
||||
const messageVente = game.messages.get(chatMessageIdVente);
|
||||
messageVente.update({ content: newMessageVente });
|
||||
messageVente.render(true);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
Reference in New Issue
Block a user