forked from public/foundryvtt-reve-de-dragon
Compare commits
12 Commits
foundryvtt
...
foundryvtt
| Author | SHA1 | Date | |
|---|---|---|---|
| 000c89b11a | |||
| 5d4a18aac5 | |||
| 34b5df637f | |||
| 22572ca98c | |||
| a6a1c1009e | |||
| 288cf9162c | |||
| 4b1381e535 | |||
| 78336a3f45 | |||
| 3001ae44de | |||
| a43ceb3188 | |||
| 9e95a44efd | |||
| 179ea0c85b |
14
changelog.md
14
changelog.md
@@ -1,5 +1,19 @@
|
|||||||
# v11.0
|
# v11.0
|
||||||
|
|
||||||
|
## v11.0.11 - Les bleus de Khrachtchoum le Problémeux
|
||||||
|
- si le gardien configure le sommeil, les joueurs sont notifiés que chateau dormant vient de passer
|
||||||
|
- possibilité de créer des armes et des compétences de créatures non-mortelles.
|
||||||
|
|
||||||
|
## v11.0.10 - Les Songes de Khrachtchoum le Problémeux
|
||||||
|
- on peut de nouveau se déplacer dans les TMRs d'un clic sur la case à atteindre
|
||||||
|
- Lire un livre depuis l'inventaire permet de nouveau de faire un jet de la tâche
|
||||||
|
créée au lieu de créer toujours une nouvelle tâche
|
||||||
|
- La sélection des TMR pour la création de signes draconiques ne cause plus d'erreurs
|
||||||
|
- la récupération d'endurance en cas d'insomnie est limitée à la moitié
|
||||||
|
- le résultat du sommeil lors d'un rêve de dragon à la première heure s'affiche normalement
|
||||||
|
- lorsque le gardien gère la durée des nuits, en cas de rêve de dragon,
|
||||||
|
les heures dormies sont déduites des heures restant à dormir
|
||||||
|
|
||||||
## v11.0.9 - Les Souvenirs de Khrachtchoum le Problémeux
|
## v11.0.9 - Les Souvenirs de Khrachtchoum le Problémeux
|
||||||
- mode de saisie de l'archétype en vue détaillée
|
- mode de saisie de l'archétype en vue détaillée
|
||||||
- création une nouvelle incarnation depuis l'archétype
|
- création une nouvelle incarnation depuis l'archétype
|
||||||
|
|||||||
@@ -387,6 +387,14 @@ export class RdDActor extends RdDBaseActor {
|
|||||||
await this.distribuerStress('stress', consigne.stress.valeur, consigne.stress.motif);
|
await this.distribuerStress('stress', consigne.stress.valeur, consigne.stress.motif);
|
||||||
}
|
}
|
||||||
await this.update({ 'system.sommeil': consigne.sommeil })
|
await this.update({ 'system.sommeil': consigne.sommeil })
|
||||||
|
const player = this.findPlayer();
|
||||||
|
if (player) {
|
||||||
|
ChatUtility.notifyUser(player.id, 'info', `Vous pouvez gérer la nuit de ${this.name}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
findPlayer() {
|
||||||
|
return game.users.players.find(player => player.active && player.character?.id == this.id);
|
||||||
}
|
}
|
||||||
|
|
||||||
async onTimeChanging(oldTimestamp, newTimestamp) {
|
async onTimeChanging(oldTimestamp, newTimestamp) {
|
||||||
@@ -621,21 +629,22 @@ export class RdDActor extends RdDBaseActor {
|
|||||||
whisper: ChatUtility.getWhisperRecipientsAndGMs(this.name),
|
whisper: ChatUtility.getWhisperRecipientsAndGMs(this.name),
|
||||||
content: this.name + ': '
|
content: this.name + ': '
|
||||||
};
|
};
|
||||||
await this.recupereEndurance(message);
|
const insomnie = this.system.sommeil?.insomnie || heures == 0;
|
||||||
if (this.system.sommeil?.insomnie || heures == 0) {
|
await this.recupereEndurance({ message: message, demi: insomnie });
|
||||||
|
if (insomnie) {
|
||||||
message.content += 'Vous ne trouvez pas le sommeil';
|
message.content += 'Vous ne trouvez pas le sommeil';
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
let jetsReve = [];
|
let jetsReve = [];
|
||||||
let dormi = await this.dormirDesHeures(jetsReve, message, heures, options);
|
let dormi = await this.dormirDesHeures(jetsReve, message, heures, options);
|
||||||
message.content += `Vous dormez ${dormi.heures <= 1 ? 'une heure' : (dormi.heures + ' heures')}. `;
|
|
||||||
if (jetsReve.length > 0) {
|
if (jetsReve.length > 0) {
|
||||||
message.content += `Vous récupérez ${jetsReve.filter(it => it >= 0).reduce(Misc.joining("+"))} Points de rêve. `;
|
message.content += `Vous récupérez ${jetsReve.map(it => it < 0 ? '(dragon)' : it).reduce(Misc.joining("+"))} Points de rêve. `;
|
||||||
}
|
}
|
||||||
if (dormi.etat == 'eveil') {
|
if (dormi.etat == 'eveil') {
|
||||||
message.content += 'Vous êtes réveillé par un Rêve de Dragon.'
|
await this.reveilReveDeDragon(message, dormi.heures);
|
||||||
}
|
}
|
||||||
options.chateauDormant = options.chateauDormant && dormi.heures >= heures;
|
options.chateauDormant = options.chateauDormant && dormi.heures >= heures;
|
||||||
|
message.content += `Vous avez dormi ${dormi.heures <= 1 ? 'une heure' : (dormi.heures + ' heures')}. `;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!options.grisReve) {
|
if (!options.grisReve) {
|
||||||
@@ -649,6 +658,14 @@ export class RdDActor extends RdDBaseActor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async reveilReveDeDragon(message, heures) {
|
||||||
|
message.content += 'Vous êtes réveillé par un Rêve de Dragon.';
|
||||||
|
const restant = Math.max(this.system.sommeil?.heures - heures, 0)
|
||||||
|
if (restant > 0) {
|
||||||
|
await this.update({ 'system.sommeil': { heures: restant } });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
async dormirDesHeures(jetsReve, message, heures, options) {
|
async dormirDesHeures(jetsReve, message, heures, options) {
|
||||||
const dormi = { heures: 0, etat: 'dort' };
|
const dormi = { heures: 0, etat: 'dort' };
|
||||||
for (; dormi.heures < heures && dormi.etat == 'dort'; dormi.heures++) {
|
for (; dormi.heures < heures && dormi.etat == 'dort'; dormi.heures++) {
|
||||||
@@ -702,8 +719,13 @@ export class RdDActor extends RdDBaseActor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async recupereEndurance(message) {
|
async recupereEndurance({ message, demi }) {
|
||||||
const manquant = this._computeEnduranceMax() - this.system.sante.endurance.value;
|
let max = this._computeEnduranceMax();
|
||||||
|
if (demi) {
|
||||||
|
max = Math.floor(max / 2);
|
||||||
|
}
|
||||||
|
const manquant = max - this.system.sante.endurance.value;
|
||||||
|
|
||||||
if (manquant > 0) {
|
if (manquant > 0) {
|
||||||
await this.santeIncDec("endurance", manquant);
|
await this.santeIncDec("endurance", manquant);
|
||||||
message.content += `Vous récuperez ${manquant} points d'endurance. `;
|
message.content += `Vous récuperez ${manquant} points d'endurance. `;
|
||||||
@@ -1706,6 +1728,7 @@ export class RdDActor extends RdDBaseActor {
|
|||||||
await this.rollTache(tache.id);
|
await this.rollTache(tache.id);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async actionHerbe(item, onActionItem = async () => { }) {
|
async actionHerbe(item, onActionItem = async () => { }) {
|
||||||
if (item.isHerbeAPotion()) {
|
if (item.isHerbeAPotion()) {
|
||||||
return DialogFabriquerPotion.create(this, item, onActionItem);
|
return DialogFabriquerPotion.create(this, item, onActionItem);
|
||||||
|
|||||||
@@ -119,7 +119,7 @@ export class RdDBaseActor extends Actor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
listItems(type = undefined) { return (type ? this.itemTypes[type] : this.items); }
|
listItems(type = undefined) { return (type ? this.itemTypes[type] : this.items); }
|
||||||
filterItems(filter, type = undefined) { return type ? this.itemTypes[type]?.filter(filter) ?? [] : []; }
|
filterItems(filter, type = undefined) { return (type ? this.itemTypes[type] : this.items)?.filter(filter) ?? []; }
|
||||||
findItemLike(idOrName, type) {
|
findItemLike(idOrName, type) {
|
||||||
return this.getItem(idOrName, type)
|
return this.getItem(idOrName, type)
|
||||||
?? Misc.findFirstLike(idOrName, this.listItems(type), { description: Misc.typeName('Item', type) });
|
?? Misc.findFirstLike(idOrName, this.listItems(type), { description: Misc.typeName('Item', type) });
|
||||||
|
|||||||
@@ -111,7 +111,7 @@ export class DialogCreateSigneDraconique extends Dialog {
|
|||||||
|
|
||||||
onSelectTmr(event) {
|
onSelectTmr(event) {
|
||||||
const tmrName = this.html.find(event.currentTarget)?.data("tmr-name");
|
const tmrName = this.html.find(event.currentTarget)?.data("tmr-name");
|
||||||
const onTmr = this.tmrs.find(it => it.name == tmrName);
|
const onTmr = this.dialogData.tmrs.find(it => it.name == tmrName);
|
||||||
if (onTmr){
|
if (onTmr){
|
||||||
onTmr.selected = event.currentTarget.checked;
|
onTmr.selected = event.currentTarget.checked;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -675,7 +675,7 @@ export class RdDItem extends Item {
|
|||||||
_armeChatData() {
|
_armeChatData() {
|
||||||
return [
|
return [
|
||||||
`<b>Compétence</b>: ${this.system.competence}`,
|
`<b>Compétence</b>: ${this.system.competence}`,
|
||||||
`<b>Dommages</b>: ${this.system.dommages}`,
|
`<b>Dommages</b>: ${this.system.dommages} ${this.system.mortalite=='non-mortel'? '(Non mortel)':''}`,
|
||||||
`<b>Force minimum</b>: ${this.system.force}`,
|
`<b>Force minimum</b>: ${this.system.force}`,
|
||||||
`<b>Resistance</b>: ${this.system.resistance}`,
|
`<b>Resistance</b>: ${this.system.resistance}`,
|
||||||
...this._inventaireTemplateChatData()
|
...this._inventaireTemplateChatData()
|
||||||
|
|||||||
@@ -789,7 +789,6 @@ export class RdDCombat {
|
|||||||
let rollData = {
|
let rollData = {
|
||||||
passeArme: randomID(16),
|
passeArme: randomID(16),
|
||||||
mortalite: arme?.system.mortalite,
|
mortalite: arme?.system.mortalite,
|
||||||
coupsNonMortels: false,
|
|
||||||
competence: competence.clone(),
|
competence: competence.clone(),
|
||||||
surprise: this.attacker.getSurprise(true),
|
surprise: this.attacker.getSurprise(true),
|
||||||
surpriseDefenseur: this.defender.getSurprise(true),
|
surpriseDefenseur: this.defender.getSurprise(true),
|
||||||
|
|||||||
@@ -187,7 +187,7 @@ export class RdDRoll extends Dialog {
|
|||||||
console.log("RdDRollSelectDialog - Cout reve", ptreve);
|
console.log("RdDRollSelectDialog - Cout reve", ptreve);
|
||||||
this.updateRollResult(html);
|
this.updateRollResult(html);
|
||||||
});
|
});
|
||||||
this.html.find("[name='coupsNonMortels']").change((event) => {
|
this.html.find("[name='mortalite']").change((event) => {
|
||||||
this.rollData.dmg.mortalite = event.currentTarget.checked ? "non-mortel" : "mortel";
|
this.rollData.dmg.mortalite = event.currentTarget.checked ? "non-mortel" : "mortel";
|
||||||
this.updateRollResult(html);
|
this.updateRollResult(html);
|
||||||
});
|
});
|
||||||
@@ -295,8 +295,7 @@ export class RdDRoll extends Dialog {
|
|||||||
|
|
||||||
rollData.dmg = rollData.attackerRoll?.dmg ?? RdDBonus.dmg(rollData, this.actor.getBonusDegat())
|
rollData.dmg = rollData.attackerRoll?.dmg ?? RdDBonus.dmg(rollData, this.actor.getBonusDegat())
|
||||||
rollData.caracValue = parseInt(rollData.selectedCarac.value)
|
rollData.caracValue = parseInt(rollData.selectedCarac.value)
|
||||||
rollData.mortalite = rollData.attackerRoll?.dmg.mortalite ?? rollData.dmg.mortalite ?? 'mortel';
|
rollData.mortalite = rollData.attackerRoll?.dmg.mortalite ?? rollData.dmg.mortalite ?? rollData.mortalite ?? 'mortel';
|
||||||
rollData.coupsNonMortels = (rollData.attackerRoll?.dmg.mortalite ?? rollData.dmg.mortalite) == 'non-mortel';
|
|
||||||
rollData.use.appelAuMoral = this.actor.isPersonnage() && RdDCarac.isActionPhysique(rollData.selectedCarac);
|
rollData.use.appelAuMoral = this.actor.isPersonnage() && RdDCarac.isActionPhysique(rollData.selectedCarac);
|
||||||
let dmgText = Misc.toSignedString(rollData.dmg.total);
|
let dmgText = Misc.toSignedString(rollData.dmg.total);
|
||||||
|
|
||||||
@@ -319,7 +318,7 @@ export class RdDRoll extends Dialog {
|
|||||||
|
|
||||||
// Mise à jour valeurs
|
// Mise à jour valeurs
|
||||||
this.html.find(".dialog-roll-title").text(this._getTitle(rollData));
|
this.html.find(".dialog-roll-title").text(this._getTitle(rollData));
|
||||||
this.html.find("[name='coupsNonMortels']").prop('checked', rollData.mortalite == 'non-mortel');
|
this.html.find("[name='mortalite']").prop('checked', rollData.mortalite == 'non-mortel');
|
||||||
this.html.find(".dmg-arme-actor").text(dmgText);
|
this.html.find(".dmg-arme-actor").text(dmgText);
|
||||||
this.html.find("div.placeholder-ajustements").empty().append(adjustements);
|
this.html.find("div.placeholder-ajustements").empty().append(adjustements);
|
||||||
this.html.find("div.placeholder-resolution").empty().append(resolutionTable)
|
this.html.find("div.placeholder-resolution").empty().append(resolutionTable)
|
||||||
|
|||||||
@@ -906,7 +906,7 @@ export class RdDTMRDialog extends Dialog {
|
|||||||
if (this.viewOnly) {
|
if (this.viewOnly) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let clickOddq = RdDTMRDialog._computeEventOddq(event.data.originalEvent);
|
let clickOddq = RdDTMRDialog._computeEventOddq(event.nativeEvent);
|
||||||
await this._onClickTMRPos(clickOddq); // Vérifier l'état des compteurs reve/fatigue/vie
|
await this._onClickTMRPos(clickOddq); // Vérifier l'état des compteurs reve/fatigue/vie
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -180,24 +180,25 @@ export class RdDUtility {
|
|||||||
'systems/foundryvtt-reve-de-dragon/templates/item-queue-sheet.html',
|
'systems/foundryvtt-reve-de-dragon/templates/item-queue-sheet.html',
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/header-item.html',
|
'systems/foundryvtt-reve-de-dragon/templates/header-item.html',
|
||||||
// partial enums
|
// partial enums
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/enum-caracteristiques.html',
|
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/enum-base-competence.html',
|
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/enum-aspect-tarot.html',
|
'systems/foundryvtt-reve-de-dragon/templates/enum-aspect-tarot.html',
|
||||||
|
'systems/foundryvtt-reve-de-dragon/templates/enum-base-competence.html',
|
||||||
|
'systems/foundryvtt-reve-de-dragon/templates/enum-caracteristiques.html',
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/enum-categories.html',
|
'systems/foundryvtt-reve-de-dragon/templates/enum-categories.html',
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/enum-categorie-ingredient.html',
|
'systems/foundryvtt-reve-de-dragon/templates/enum-categorie-ingredient.html',
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/enum-categorie-parade.html',
|
'systems/foundryvtt-reve-de-dragon/templates/enum-categorie-parade.html',
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/enum-categorie-potion.html',
|
'systems/foundryvtt-reve-de-dragon/templates/enum-categorie-potion.html',
|
||||||
|
'systems/foundryvtt-reve-de-dragon/templates/enum-categorie-queue.html',
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/enum-categorie-vehicule.html',
|
'systems/foundryvtt-reve-de-dragon/templates/enum-categorie-vehicule.html',
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/enum-competence.html',
|
'systems/foundryvtt-reve-de-dragon/templates/enum-competence.html',
|
||||||
|
'systems/foundryvtt-reve-de-dragon/templates/enum-draconic.html',
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/enum-heures.html',
|
'systems/foundryvtt-reve-de-dragon/templates/enum-heures.html',
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/enum-initpremierround.html',
|
'systems/foundryvtt-reve-de-dragon/templates/enum-initpremierround.html',
|
||||||
|
'systems/foundryvtt-reve-de-dragon/templates/enum-mortalite.html',
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/enum-niveau-ethylisme.html',
|
'systems/foundryvtt-reve-de-dragon/templates/enum-niveau-ethylisme.html',
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/enum-rarete.html',
|
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/enum-categorie-queue.html',
|
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/enum-draconic.html',
|
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/enum-tmr-type.html',
|
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/enum-periode.html',
|
'systems/foundryvtt-reve-de-dragon/templates/enum-periode.html',
|
||||||
|
'systems/foundryvtt-reve-de-dragon/templates/enum-rarete.html',
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/enum-tmr-effet.html',
|
'systems/foundryvtt-reve-de-dragon/templates/enum-tmr-effet.html',
|
||||||
|
'systems/foundryvtt-reve-de-dragon/templates/enum-tmr-type.html',
|
||||||
// Partials
|
// Partials
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/tirage/liste-resultats-recherche.hbs',
|
'systems/foundryvtt-reve-de-dragon/templates/tirage/liste-resultats-recherche.hbs',
|
||||||
'systems/foundryvtt-reve-de-dragon/templates/time/horloge.hbs',
|
'systems/foundryvtt-reve-de-dragon/templates/time/horloge.hbs',
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
{
|
{
|
||||||
"id": "foundryvtt-reve-de-dragon",
|
"id": "foundryvtt-reve-de-dragon",
|
||||||
"title": "Rêve de Dragon",
|
"title": "Rêve de Dragon",
|
||||||
"version": "11.0.9",
|
"version": "11.0.11",
|
||||||
"download": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/archive/foundryvtt-reve-de-dragon-11.0.9.zip",
|
"download": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/archive/foundryvtt-reve-de-dragon-11.0.11.zip",
|
||||||
"manifest": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/raw/v11/system.json",
|
"manifest": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/raw/v11/system.json",
|
||||||
"changelog": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/raw/branch/v11/changelog.md",
|
"changelog": "https://www.uberwald.me/gitea/public/foundryvtt-reve-de-dragon/raw/branch/v11/changelog.md",
|
||||||
"compatibility": {
|
"compatibility": {
|
||||||
|
|||||||
@@ -594,7 +594,8 @@
|
|||||||
"iscombat": false,
|
"iscombat": false,
|
||||||
"isnaturelle": true,
|
"isnaturelle": true,
|
||||||
"ispossession": false,
|
"ispossession": false,
|
||||||
"dommages": 0
|
"dommages": 0,
|
||||||
|
"mortalite": "mortel"
|
||||||
},
|
},
|
||||||
"empoignade": {
|
"empoignade": {
|
||||||
"templates": ["description"],
|
"templates": ["description"],
|
||||||
@@ -671,6 +672,7 @@
|
|||||||
"resistance": 0,
|
"resistance": 0,
|
||||||
"categorie_parade": "",
|
"categorie_parade": "",
|
||||||
"dommages": "0",
|
"dommages": "0",
|
||||||
|
"mortalite": "mortel",
|
||||||
"penetration": 0,
|
"penetration": 0,
|
||||||
"force": "0",
|
"force": "0",
|
||||||
"competence": "",
|
"competence": "",
|
||||||
|
|||||||
@@ -54,7 +54,7 @@
|
|||||||
<label>Empoignade</label>
|
<label>Empoignade</label>
|
||||||
{{else}}
|
{{else}}
|
||||||
<span>
|
<span>
|
||||||
<input class="attribute-value" type="checkbox" name="coupsNonMortels" {{#unless (eq mortalite 'mortel')}}checked{{/unless}} />
|
<input class="attribute-value" type="checkbox" name="motalite" {{#unless (eq mortalite 'mortel')}}checked{{/unless}} />
|
||||||
<label class="dmg-arme-actor"></label>
|
<label class="dmg-arme-actor"></label>
|
||||||
</span>
|
</span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|||||||
3
templates/enum-mortalite.html
Normal file
3
templates/enum-mortalite.html
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<option value="mortel">Mortel</option>
|
||||||
|
<option value="non-mortel">Non mortel</option>
|
||||||
|
<option value="empoignade">Empoignade</option>
|
||||||
@@ -37,6 +37,14 @@
|
|||||||
<label for="system.dommages">Dommages </label>
|
<label for="system.dommages">Dommages </label>
|
||||||
<input class="attribute-value" type="text" name="system.dommages" value="{{system.dommages}}" data-dtype="String"/>
|
<input class="attribute-value" type="text" name="system.dommages" value="{{system.dommages}}" data-dtype="String"/>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="system.mortalite">Mortalité</label>
|
||||||
|
<select name="system.mortalite" data-dtype="String">
|
||||||
|
{{#select system.mortalite}}
|
||||||
|
{{>"systems/foundryvtt-reve-de-dragon/templates/enum-mortalite.html"}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="system.resistance">Résistance </label>
|
<label for="system.resistance">Résistance </label>
|
||||||
<input class="attribute-value" type="text" name="system.resistance" value="{{system.resistance}}" data-dtype="Number"/>
|
<input class="attribute-value" type="text" name="system.resistance" value="{{system.resistance}}" data-dtype="Number"/>
|
||||||
|
|||||||
@@ -27,6 +27,14 @@
|
|||||||
<label for="niveau">Dommages (+dom)</label>
|
<label for="niveau">Dommages (+dom)</label>
|
||||||
<input class="attribute-value" type="text" name="system.dommages" value="{{system.dommages}}" data-dtype="Number"/>
|
<input class="attribute-value" type="text" name="system.dommages" value="{{system.dommages}}" data-dtype="Number"/>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="system.mortalite">Mortalité</label>
|
||||||
|
<select name="system.mortalite" data-dtype="String">
|
||||||
|
{{#select system.mortalite}}
|
||||||
|
{{>"systems/foundryvtt-reve-de-dragon/templates/enum-mortalite.html"}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{#if isparade}}
|
{{#if isparade}}
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
|
|||||||
Reference in New Issue
Block a user