Compare commits
14 Commits
Author | SHA1 | Date | |
---|---|---|---|
6b338314c4 | |||
6661805f6f | |||
29931fdcb5 | |||
ec24e4a7e7 | |||
d1adf3f6c4 | |||
8eb1387be4 | |||
85378d74e3 | |||
9471420d38 | |||
6e456ca92c | |||
482256c218 | |||
fa1c4ff221 | |||
b777271657 | |||
d06a55b615 | |||
adfbc11eb8 |
18
changelog.md
18
changelog.md
@ -1,7 +1,23 @@
|
|||||||
# 12.0
|
# 12.0
|
||||||
|
## 12.0.50 - Le sommeil d'Astrobazzarh
|
||||||
|
- Le don de double rêve n'interrompt plus le sommeil toutes les heures
|
||||||
|
- la perte de fatigue à la descente des TMR est visible immédiatement
|
||||||
|
|
||||||
## 120.0.47
|
## 12.0.49 - La deuxième lame d'Astrobazzarh
|
||||||
|
- Corrections
|
||||||
|
- les défenses particulières sont correctement affichées
|
||||||
|
- les vieux boucliers (sans catégorie de parade car créés il y a longtemps) peuvent parer...
|
||||||
|
- Les attaques à distance n'ont pas de difficulté libre
|
||||||
|
|
||||||
|
## 12.0.48 - La chèvre d'Astrobazzarh
|
||||||
|
- le Bandersnatch a une protection de 10
|
||||||
|
- la consistance chèvre est maintenant possible dans les recettes
|
||||||
|
alchimiques (et toutes les consistances avec accents)
|
||||||
|
- un échec au lancement d'un sort pour le mettre en réserve brise
|
||||||
|
la concentration du haut-rêvant
|
||||||
|
- Correction: les réussites particulières fonctionnent avec les caractéristiques dérivées
|
||||||
|
|
||||||
|
## 12.0.47
|
||||||
- Correction sur les mise à jour en cascade -
|
- Correction sur les mise à jour en cascade -
|
||||||
- Correction sur le force rendering après un changement de competence
|
- Correction sur le force rendering après un changement de competence
|
||||||
|
|
||||||
|
@ -484,7 +484,7 @@ export class RdDActor extends RdDBaseActorSang {
|
|||||||
await this.$recupererFatigue(message);
|
await this.$recupererFatigue(message);
|
||||||
await this.$jetRecuperationReve(dormi, message);
|
await this.$jetRecuperationReve(dormi, message);
|
||||||
if (dormi.etat == 'dort' && EffetsDraconiques.isDonDoubleReve(this)) {
|
if (dormi.etat == 'dort' && EffetsDraconiques.isDonDoubleReve(this)) {
|
||||||
dormi.etat = await this.$jetRecuperationReve(dormi, message);
|
await this.$jetRecuperationReve(dormi, message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -1765,7 +1765,7 @@ export class RdDActor extends RdDBaseActorSang {
|
|||||||
if (reveActuel == 0) { // 0 points de reve
|
if (reveActuel == 0) { // 0 points de reve
|
||||||
ChatMessage.create({ content: this.name + " est réduit à 0 Points de Rêve, et tombe endormi !" });
|
ChatMessage.create({ content: this.name + " est réduit à 0 Points de Rêve, et tombe endormi !" });
|
||||||
}
|
}
|
||||||
if (!rollData.isSortReserve) {
|
if (!rollData.isSortReserve || !rolled.isSuccess) {
|
||||||
this.tmrApp?.close();
|
this.tmrApp?.close();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5,7 +5,7 @@ import { RdDUtility } from "../../rdd-utility.js";
|
|||||||
import { RdDAlchimie } from "../../rdd-alchimie.js";
|
import { RdDAlchimie } from "../../rdd-alchimie.js";
|
||||||
import { TextRollManager } from "./text-roll-formatter.js";
|
import { TextRollManager } from "./text-roll-formatter.js";
|
||||||
|
|
||||||
const REGEX_ALCHIMIE_TERMES = "(?<termes>(\\w|-)+)"
|
const REGEX_ALCHIMIE_TERMES = "(?<termes>([-A-Za-zÀ-ÖØ-öø-ÿ ])+)"
|
||||||
const REGEX_ALCHIMIE_MANIP = "(?<manip>(couleur|consistance))"
|
const REGEX_ALCHIMIE_MANIP = "(?<manip>(couleur|consistance))"
|
||||||
const XREGEXP_ROLL_ALCHIMIE = XRegExp("@roll\\[" + REGEX_ALCHIMIE_MANIP + "\\s+" + REGEX_ALCHIMIE_TERMES + "\\]", 'giu')
|
const XREGEXP_ROLL_ALCHIMIE = XRegExp("@roll\\[" + REGEX_ALCHIMIE_MANIP + "\\s+" + REGEX_ALCHIMIE_TERMES + "\\]", 'giu')
|
||||||
const XREGEXP_ROLL_ALCHIMIE_MANIP = XRegExp("@" + REGEX_ALCHIMIE_MANIP + "\\{" + REGEX_ALCHIMIE_TERMES + "\\}", 'giu')
|
const XREGEXP_ROLL_ALCHIMIE_MANIP = XRegExp("@" + REGEX_ALCHIMIE_MANIP + "\\{" + REGEX_ALCHIMIE_TERMES + "\\}", 'giu')
|
||||||
|
@ -120,7 +120,7 @@ export class RdDItemArme extends Item {
|
|||||||
|
|
||||||
static defenseArmeParade(armeAttaque, armeParade) {
|
static defenseArmeParade(armeAttaque, armeParade) {
|
||||||
const defCategory = RdDItemArme.getCategorieParade(armeParade)
|
const defCategory = RdDItemArme.getCategorieParade(armeParade)
|
||||||
if (defCategory == 'bouclier') {
|
if (defCategory == 'boucliers') {
|
||||||
return 'norm'
|
return 'norm'
|
||||||
}
|
}
|
||||||
if (armeAttaque?.system?.competence?.toLowerCase().match(/(fléau)/)) {
|
if (armeAttaque?.system?.competence?.toLowerCase().match(/(fléau)/)) {
|
||||||
|
@ -55,6 +55,10 @@ export class RdDItemRace extends RdDItem {
|
|||||||
|
|
||||||
isMax(actor, code, value = undefined) {
|
isMax(actor, code, value = undefined) {
|
||||||
const path = RdDCarac.carac(code)?.path
|
const path = RdDCarac.carac(code)?.path
|
||||||
|
if (path == undefined) {
|
||||||
|
// cas des caractéristiques dérivées, pas de max
|
||||||
|
return false
|
||||||
|
}
|
||||||
if (value == undefined) {
|
if (value == undefined) {
|
||||||
value = path ? foundry.utils.getProperty(actor, path) : 0
|
value = path ? foundry.utils.getProperty(actor, path) : 0
|
||||||
}
|
}
|
||||||
|
@ -1047,11 +1047,12 @@ export class RdDCombat {
|
|||||||
|
|
||||||
|
|
||||||
async _onParade(defenderRoll) {
|
async _onParade(defenderRoll) {
|
||||||
if (RdDCombat.isParticuliere(defenderRoll)) {
|
|
||||||
return await this._onParadeParticuliere(defenderRoll)
|
|
||||||
}
|
|
||||||
if (RdDCombat.isReussite(defenderRoll)) {
|
if (RdDCombat.isReussite(defenderRoll)) {
|
||||||
return await this._onParadeNormale(defenderRoll)
|
await this._onParadeNormale(defenderRoll)
|
||||||
|
if (RdDCombat.isParticuliere(defenderRoll)) {
|
||||||
|
await this._onParadeParticuliere(defenderRoll)
|
||||||
|
}
|
||||||
|
return
|
||||||
}
|
}
|
||||||
await this._onParadeEchec(defenderRoll)
|
await this._onParadeEchec(defenderRoll)
|
||||||
}
|
}
|
||||||
@ -1135,11 +1136,12 @@ export class RdDCombat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async _onEsquive(defenderRoll) {
|
async _onEsquive(defenderRoll) {
|
||||||
if (RdDCombat.isParticuliere(defenderRoll)) {
|
|
||||||
return await this._onEsquiveParticuliere(defenderRoll)
|
|
||||||
}
|
|
||||||
if (RdDCombat.isReussite(defenderRoll)) {
|
if (RdDCombat.isReussite(defenderRoll)) {
|
||||||
return await this._onEsquiveNormale(defenderRoll)
|
await this._onEsquiveNormale(defenderRoll)
|
||||||
|
if (RdDCombat.isParticuliere(defenderRoll)) {
|
||||||
|
await this._onEsquiveParticuliere(defenderRoll)
|
||||||
|
}
|
||||||
|
return
|
||||||
}
|
}
|
||||||
return await this._onEsquiveEchec(defenderRoll)
|
return await this._onEsquiveEchec(defenderRoll)
|
||||||
}
|
}
|
||||||
|
@ -345,15 +345,16 @@ export class RdDTMRDialog extends Dialog {
|
|||||||
}
|
}
|
||||||
this.descenteTMR = true;
|
this.descenteTMR = true;
|
||||||
if (this.actor.tmrApp) {
|
if (this.actor.tmrApp) {
|
||||||
this.actor.tmrApp = undefined; // Cleanup reference
|
this.actor.tmrApp = undefined // Cleanup reference
|
||||||
if (!this.viewOnly) {
|
const appliquerFatigue = ReglesOptionnelles.isUsing("appliquer-fatigue")
|
||||||
await this.actor.setEffect(STATUSES.StatusDemiReve, false);
|
|
||||||
this.$tellToUserAndGM(message)
|
|
||||||
}
|
|
||||||
const appliquerFatigue = ReglesOptionnelles.isUsing("appliquer-fatigue");
|
|
||||||
await this.actor.santeIncDec(
|
await this.actor.santeIncDec(
|
||||||
appliquerFatigue ? "fatigue" : "endurance",
|
appliquerFatigue ? "fatigue" : "endurance",
|
||||||
(appliquerFatigue ? 1 : -1) * this.cumulFatigue);
|
(appliquerFatigue ? 1 : -1) * this.cumulFatigue)
|
||||||
|
if (!this.viewOnly) {
|
||||||
|
await this.actor.setEffect(STATUSES.StatusDemiReve, false)
|
||||||
|
this.$tellToUserAndGM(message)
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
this.pixiTMR.close();
|
this.pixiTMR.close();
|
||||||
this.pixiTMR = undefined
|
this.pixiTMR = undefined
|
||||||
|
@ -196,7 +196,7 @@ system:
|
|||||||
derivee: false
|
derivee: false
|
||||||
protection:
|
protection:
|
||||||
type: number
|
type: number
|
||||||
value: 2
|
value: 10
|
||||||
label: Protection
|
label: Protection
|
||||||
derivee: false
|
derivee: false
|
||||||
compteurs:
|
compteurs:
|
||||||
|
@ -1,13 +1,11 @@
|
|||||||
<img class="chat-icon" src="{{sortReserve.img}}" data-tooltip="{{sortReserve.name}}"/>
|
<img class="chat-icon" src="{{sortReserve.img}}" data-tooltip="{{sortReserve.name}}"/>
|
||||||
<p> Vous avez déclenché
|
<h4>Déclenchement de sort: {{sortReserve.name}}</h4>
|
||||||
{{#if sortReserve.system.echectotal}}<strong>l'échec total</strong>{{else}}le sort{{/if}}
|
<br> Vous avez déclenché {{#if sortReserve.system.echectotal}}<strong>l'échec total</strong>{{else}}le sort{{/if}}
|
||||||
en réserve
|
en réserve en {{sortReserve.system.coord}} ({{caseTmr-label sortReserve.system.coord}}).
|
||||||
<strong>{{sortReserve.name}}</strong>
|
<br>Ce sort a {{sortReserve.system.ptreve}} points de Rêve
|
||||||
avec {{sortReserve.system.ptreve}} points de Rêve
|
<br>L'heure ciblée est {{#if sortReserve.system.heurecible}}
|
||||||
en {{sortReserve.system.coord}} ({{caseTmr-label sortReserve.system.coord}}).
|
{{timestamp-imgSigneHeure sortReserve.system.heurecible}} {{sortReserve.system.heurecible}}
|
||||||
L'heure ciblée est {{sortReserve.system.heurecible}}
|
{{else}}indéterminée{{/if}}
|
||||||
{{timestamp-imgSigneHeure sortReserve.system.heurecible}}
|
|
||||||
</p>
|
|
||||||
{{#if sort}}
|
{{#if sort}}
|
||||||
<div class="poesie-extrait poesie-overflow">
|
<div class="poesie-extrait poesie-overflow">
|
||||||
{{{sort.system.description}}}
|
{{{sort.system.description}}}
|
||||||
|
@ -70,7 +70,10 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex-group-left">
|
<div class="flex-group-left">
|
||||||
{{#if attackerRoll}}
|
{{#if (or attackerRoll
|
||||||
|
(and sourceToken (eq competence.system.categorie 'tir'))
|
||||||
|
(and sourceToken (eq competence.system.categorie 'lancer'))
|
||||||
|
)}}
|
||||||
{{>"systems/foundryvtt-reve-de-dragon/templates/partial-roll-diffFixe.hbs"}}
|
{{>"systems/foundryvtt-reve-de-dragon/templates/partial-roll-diffFixe.hbs"}}
|
||||||
{{else}}
|
{{else}}
|
||||||
{{>"systems/foundryvtt-reve-de-dragon/templates/partial-roll-diffLibre.hbs"}}
|
{{>"systems/foundryvtt-reve-de-dragon/templates/partial-roll-diffLibre.hbs"}}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user