Gestion des maladies/poisons
This commit is contained in:
parent
7c31b97384
commit
cdbf14b788
@ -246,8 +246,10 @@ export class RdDActorSheet extends ActorSheet {
|
|||||||
let pcomplets = tr.find('.blessure-soins_complets').val();
|
let pcomplets = tr.find('.blessure-soins_complets').val();
|
||||||
let jours = tr.find('.blessure-jours').val();
|
let jours = tr.find('.blessure-jours').val();
|
||||||
let loc = tr.find('.blessure-localisation').val();
|
let loc = tr.find('.blessure-localisation').val();
|
||||||
//console.log(btype, index, psoins, pcomplets, jours, loc);
|
let psdone = tr.find('.blessure-psdone:checked').val();
|
||||||
await this.actor.setDataBlessureFromSheet(btype, index, psoins, pcomplets, jours, loc);
|
let scdone = tr.find('.blessure-scdone:checked').val();
|
||||||
|
console.log(btype, index, psoins, pcomplets, jours, loc, psdone, scdone);
|
||||||
|
await this.actor.setDataBlessureFromSheet(btype, index, psoins, pcomplets, jours, loc, psdone, scdone);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Equip Inventory Item
|
// Equip Inventory Item
|
||||||
|
@ -536,7 +536,7 @@ export class RdDActor extends Actor {
|
|||||||
if (!retrograde) {
|
if (!retrograde) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
mergeObject(retrograde, { "active": true, "premiers_soins": 0, "soins_complets": 0, "jours": 0, "loc": blessure.loc });
|
mergeObject(retrograde, { "active": true, "psdone": blessure.psdone, "scdone": blessure.scdone, "premiers_soins": 0, "soins_complets": 0, "jours": 0, "loc": blessure.loc });
|
||||||
}
|
}
|
||||||
this._supprimerBlessure(blessure);
|
this._supprimerBlessure(blessure);
|
||||||
return true;
|
return true;
|
||||||
@ -544,7 +544,7 @@ export class RdDActor extends Actor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
_supprimerBlessure(blessure) {
|
_supprimerBlessure(blessure) {
|
||||||
mergeObject(blessure, { "active": false, "premiers_soins": 0, "soins_complets": 0, "jours": 0, "loc": "" });
|
mergeObject(blessure, { "active": false, "psdone": false, "scdone": false, "premiers_soins": 0, "soins_complets": 0, "jours": 0, "loc": "" });
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@ -1584,7 +1584,7 @@ export class RdDActor extends Actor {
|
|||||||
|
|
||||||
countBlessuresNonSoigneeByName(name) {
|
countBlessuresNonSoigneeByName(name) {
|
||||||
let blessures = Misc.templateData(this).blessures[name].liste;
|
let blessures = Misc.templateData(this).blessures[name].liste;
|
||||||
return blessures.filter( b => b.active && b.premiers_soins < 0).length;
|
return blessures.filter( b => b.active && !b.psdone).length;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@ -1749,9 +1749,11 @@ export class RdDActor extends Actor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async setDataBlessureFromSheet(gravite, index, psoins, pcomplets, jours, loc) {
|
async setDataBlessureFromSheet(gravite, index, psoins, pcomplets, jours, loc, psdone, scdone) {
|
||||||
let listBlessures = duplicate(Misc.templateData(this).blessures);
|
let listBlessures = duplicate(Misc.templateData(this).blessures);
|
||||||
let blessure = listBlessures[gravite + "s"].liste[index];
|
let blessure = listBlessures[gravite + "s"].liste[index];
|
||||||
|
blessure.psdone = psdone;
|
||||||
|
blessure.scdone = scdone;
|
||||||
blessure.premiers_soins = psoins;
|
blessure.premiers_soins = psoins;
|
||||||
blessure.soins_complets = pcomplets;
|
blessure.soins_complets = pcomplets;
|
||||||
blessure.jours = jours;
|
blessure.jours = jours;
|
||||||
@ -3289,7 +3291,23 @@ export class RdDActor extends Actor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async jetEncaissement(rollData) {
|
async jetEncaissement(rollData) {
|
||||||
const roll = await RdDDice.roll("2d10", { showDice: true });
|
let formula = "2d10";
|
||||||
|
|
||||||
|
// Chaque dé fait au minmum la difficulté libre
|
||||||
|
if (ReglesOptionelles.isUsing('degat-minimum-malus-libre')) {
|
||||||
|
if ( rollData.diffLibre < 0 ) {
|
||||||
|
let valeurMin = Math.abs(rollData.diffLibre);
|
||||||
|
formula += "min"+valeurMin;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// Chaque dé fait au minmum la difficulté libre
|
||||||
|
if (ReglesOptionelles.isUsing('degat-ajout-malus-libre')) {
|
||||||
|
if ( rollData.diffLibre < 0 ) {
|
||||||
|
let valeurMin = Math.abs(rollData.diffLibre);
|
||||||
|
formula += "+"+valeurMin;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let roll = await RdDDice.roll(formula, { showDice: true });
|
||||||
|
|
||||||
const armure = await this.computeArmure(rollData);
|
const armure = await this.computeArmure(rollData);
|
||||||
const jetTotal = roll.total + rollData.dmg.total - armure;
|
const jetTotal = roll.total + rollData.dmg.total - armure;
|
||||||
@ -3382,8 +3400,8 @@ export class RdDActor extends Actor {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
_setBlessure(blessure, encaissement) {
|
_setBlessure(blessure, encaissement) {
|
||||||
blessure.active = true;
|
blessure.active = true;
|
||||||
blessure.premiers_soins = -1;
|
blessure.psdone = false;
|
||||||
blessure.soins_complets = -1;
|
blessure.scdone = false;
|
||||||
blessure.loc = encaissement.locName;
|
blessure.loc = encaissement.locName;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,10 +7,12 @@ const listeReglesOptionelles = [
|
|||||||
{ name: 'defenseurDesarme', group: 'Règles de combat', descr: "Le défenseur peut être désarmé en parant une particulière en force ou une charge avec une arme autre qu'un bouclier" },
|
{ name: 'defenseurDesarme', group: 'Règles de combat', descr: "Le défenseur peut être désarmé en parant une particulière en force ou une charge avec une arme autre qu'un bouclier" },
|
||||||
{ name: 'categorieParade', group: 'Règles de combat', descr: "Le défenseur doit obtenir une significative en cas de parade avec des armes de catégories différentes" },
|
{ name: 'categorieParade', group: 'Règles de combat', descr: "Le défenseur doit obtenir une significative en cas de parade avec des armes de catégories différentes" },
|
||||||
{ name: 'tripleSignificative', group: 'Règles de combat', descr: "En cas de demi-surprise, d'attaque particulière en finesse, et de catégories d'armes différentes, le défenseur doit obtenir 1/8 des chances de succès" },
|
{ name: 'tripleSignificative', group: 'Règles de combat', descr: "En cas de demi-surprise, d'attaque particulière en finesse, et de catégories d'armes différentes, le défenseur doit obtenir 1/8 des chances de succès" },
|
||||||
{ name: 'astrologie', group: 'Règles de générales', descr: "Appliquer les ajustements astrologiques aux jets de chance et aux rituels", default: true },
|
{ name: 'degat-minimum-malus-libre', group: 'Règles de combat', descr: "Le malus libre d'attaque remplace une valeur de dés d'encaissement si elle est plus petite. Exemple : la difficulté libre de l'attaquant est de -4. Sur le jet d'encaissement, tout résultat inférieur à 4 devient 4.", default: false },
|
||||||
{ name: 'afficher-prix-joueurs', group: 'Règles de générales', descr: "Afficher le prix de l'équipement des joueurs", default: true },
|
{ name: 'degat-ajout-malus-libre', group: 'Règles de combat', descr: "Le malus libre d'attaque s'ajoute au jet d'encaissement et aux autres bonus. Exemple : la difficulté libre de l'attaquant est de -4. Le jet d'encaissement est effectué à 2d10+4, plus les bonus de situation et d'armes.", default: false },
|
||||||
{ name: 'appliquer-fatigue', group: 'Règles de générales', descr: "Appliquer les règles de fatigue", default: true },
|
{ name: 'astrologie', group: 'Règles générales', descr: "Appliquer les ajustements astrologiques aux jets de chance et aux rituels", default: true },
|
||||||
{ name: 'afficher-colonnes-reussite', group: 'Règles de générales', descr: "Afficher le nombre de colonnes de réussite ou d'échec", default: false },
|
{ name: 'afficher-prix-joueurs', group: 'Règles générales', descr: "Afficher le prix de l'équipement des joueurs", default: true },
|
||||||
|
{ name: 'appliquer-fatigue', group: 'Règles générales', descr: "Appliquer les règles de fatigue", default: true },
|
||||||
|
{ name: 'afficher-colonnes-reussite', group: 'Règles générales', descr: "Afficher le nombre de colonnes de réussite ou d'échec", default: false },
|
||||||
];
|
];
|
||||||
|
|
||||||
export class ReglesOptionelles extends FormApplication {
|
export class ReglesOptionelles extends FormApplication {
|
||||||
|
@ -2,11 +2,11 @@
|
|||||||
"name": "foundryvtt-reve-de-dragon",
|
"name": "foundryvtt-reve-de-dragon",
|
||||||
"title": "Rêve de Dragon",
|
"title": "Rêve de Dragon",
|
||||||
"description": "Rêve de Dragon RPG for FoundryVTT",
|
"description": "Rêve de Dragon RPG for FoundryVTT",
|
||||||
"version": "1.5.17",
|
"version": "1.5.19",
|
||||||
"manifestPlusVersion": "1.0.0",
|
"manifestPlusVersion": "1.0.0",
|
||||||
"minimumCoreVersion": "0.8.0",
|
"minimumCoreVersion": "0.8.0",
|
||||||
"compatibleCoreVersion": "0.8.9",
|
"compatibleCoreVersion": "0.8.9",
|
||||||
"templateVersion": 123,
|
"templateVersion": 124,
|
||||||
"author": "LeRatierBretonnien",
|
"author": "LeRatierBretonnien",
|
||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
|
@ -169,18 +169,18 @@
|
|||||||
},
|
},
|
||||||
"blessures": {
|
"blessures": {
|
||||||
"legeres": {
|
"legeres": {
|
||||||
"liste": [ { "active": false, "premiers_soins": -1, "soins_complets": -1, "jours": 0, "localisation": "" },
|
"liste": [ { "active": false, "psdone": false, "premiers_soins": -1, "scdone": false, "soins_complets": -1, "jours": 0, "localisation": "" },
|
||||||
{ "active": false, "premiers_soins": -1, "soins_complets": -1, "jours": 0, "localisation": "" },
|
{ "active": false, "psdone": false, "premiers_soins": -1, "scdone": false, "soins_complets": -1, "jours": 0, "localisation": "" },
|
||||||
{ "active": false, "premiers_soins": -1, "soins_complets": -1, "jours": 0, "localisation": "" },
|
{ "active": false, "psdone": false, "premiers_soins": -1, "scdone": false, "soins_complets": -1, "jours": 0, "localisation": "" },
|
||||||
{ "active": false, "premiers_soins": -1, "soins_complets": -1, "jours": 0, "localisation": "" },
|
{ "active": false, "psdone": false, "premiers_soins": -1, "scdone": false, "soins_complets": -1, "jours": 0, "localisation": "" },
|
||||||
{ "active": false, "premiers_soins": -1, "soins_complets": -1, "jours": 0, "localisation": "" } ]
|
{ "active": false, "psdone": false, "premiers_soins": -1, "scdone": false, "soins_complets": -1, "jours": 0, "localisation": "" } ]
|
||||||
},
|
},
|
||||||
"graves": {
|
"graves": {
|
||||||
"liste": [ { "active": false, "premiers_soins": -1, "soins_complets": -1, "jours": 0, "localisation": "" },
|
"liste": [ { "active": false, "psdone": false, "premiers_soins": -1, "scdone": false, "soins_complets": -1, "jours": 0, "localisation": "" },
|
||||||
{ "active": false, "premiers_soins": -1, "soins_complets": -1, "jours": 0, "localisation": "" } ]
|
{ "active": false, "psdone": false, "premiers_soins": -1, "scdone": false, "soins_complets": -1, "jours": 0, "localisation": "" } ]
|
||||||
},
|
},
|
||||||
"critiques": {
|
"critiques": {
|
||||||
"liste": [ { "active": false, "premiers_soins": -1, "soins_complets": -1, "jours": 0, "localisation": "" } ]
|
"liste": [ { "active": false, "psdone": false, "premiers_soins": -1, "scdone": false, "soins_complets": -1, "jours": 0, "localisation": "" } ]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"attributs": {
|
"attributs": {
|
||||||
|
@ -12,9 +12,15 @@
|
|||||||
<td>
|
<td>
|
||||||
<input class="blessures-soins blessure-premiers_soins" type="text" name="blessure-{{gravite}}-{{key}}-premiers_soins" data-dtype="number" value="{{bless.premiers_soins}}"/>
|
<input class="blessures-soins blessure-premiers_soins" type="text" name="blessure-{{gravite}}-{{key}}-premiers_soins" data-dtype="number" value="{{bless.premiers_soins}}"/>
|
||||||
</td>
|
</td>
|
||||||
|
<td>
|
||||||
|
<input class="blessures-soins blessure-psdone" name="blessure-{{gravite}}-{{key}}-psdone" type="checkbox" name="bless.psdone" {{#if bless.psdone}}checked{{/if}}/>
|
||||||
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<input class="blessures-soins blessure-soins_complets" type="text" name="blessure-{{gravite}}-{{key}}-soins_complets" data-dtype="number" value="{{bless.soins_complets}}"/>
|
<input class="blessures-soins blessure-soins_complets" type="text" name="blessure-{{gravite}}-{{key}}-soins_complets" data-dtype="number" value="{{bless.soins_complets}}"/>
|
||||||
</td>
|
</td>
|
||||||
|
<td>
|
||||||
|
<input class="blessures-soins blessure-scdone" name="blessure-{{gravite}}-{{key}}-scdone" type="checkbox" name="bless.scdone" {{#if bless.scdone}}checked{{/if}}/>
|
||||||
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<input class="blessures-soins blessure-jours" type="text" name="blessure-{{gravite}}-{{key}}-jours" name="jours" data-dtype="number" value="{{bless.jours}}"/>
|
<input class="blessures-soins blessure-jours" type="text" name="blessure-{{gravite}}-{{key}}-jours" name="jours" data-dtype="number" value="{{bless.jours}}"/>
|
||||||
</td>
|
</td>
|
||||||
|
@ -3,9 +3,11 @@
|
|||||||
<thead>
|
<thead>
|
||||||
<tr class="competence-header competence-title competence-label" >
|
<tr class="competence-header competence-title competence-label" >
|
||||||
<th></th>
|
<th></th>
|
||||||
<th>Localisation</th>
|
<th>Loc.</th>
|
||||||
<th>Premiers soins</th>
|
<th>Premiers soins</th>
|
||||||
|
<th>P.S. OK?</th>
|
||||||
<th>Soins complets</th>
|
<th>Soins complets</th>
|
||||||
|
<th>S.C. OK?</th>
|
||||||
<th>Age (jours)</th>
|
<th>Age (jours)</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user