Test rencontres

This commit is contained in:
2020-11-17 16:30:03 +01:00
parent 3d34921072
commit bdc8103f6b
5 changed files with 85 additions and 38 deletions

View File

@ -328,6 +328,7 @@ export class RdDActor extends Actor {
return explications
}
/* -------------------------------------------- */
async dormir(heures=1) {
let message = { title : "Récupération", content :"Vous dormez " + heures + " heure" + (heures > 1 ? "s": "") };
this.recupereEndurance(message);
@ -338,6 +339,7 @@ export class RdDActor extends Actor {
ChatMessage.create( message );
}
/* -------------------------------------------- */
recupereEndurance(message) {
const avant = this.data.data.sante.endurance.value;
this.santeIncDec("endurance", this.data.data.sante.endurance.max - avant);
@ -347,6 +349,7 @@ export class RdDActor extends Actor {
}
}
/* -------------------------------------------- */
async recupererFatigueUneHeure(message) {
let fatigue = duplicate(this.data.data.sante.fatigue)
if (fatigue.value == 0) {
@ -379,6 +382,7 @@ export class RdDActor extends Actor {
}
}
/* -------------------------------------------- */
recuperationReve(message) {
const seuil = this.data.data.reve.seuil.value;
const reve = this.getReveActuel();
@ -401,6 +405,7 @@ export class RdDActor extends Actor {
}
}
/* -------------------------------------------- */
combattreReveDeDragon(force){
let draconic = this.getBestDraconic();
let niveau = Math.max(0, draconic.data.niveau);
@ -413,6 +418,7 @@ export class RdDActor extends Actor {
return this.appliquerReveDeDragon(rolled, force);
}
/* -------------------------------------------- */
appliquerReveDeDragon(roll, force) {
let message = "";
if (roll.isSuccess) {
@ -629,6 +635,7 @@ export class RdDActor extends Actor {
return ret;
}
/* -------------------------------------------- */
ajouterSouffle() {
let souffle = RdDRollTables.getSouffle();
// ChatMessage.create({
@ -638,6 +645,7 @@ export class RdDActor extends Actor {
// this.actor.createOwnedItem(souffle);
}
/* -------------------------------------------- */
async ajouterQueue() {
// TODO: Déterminer si Thanatos a été utilisé? => laisser le joueur ne pas choisir Thanatos => choisir sa voie?
let utiliseThanatos = false;
@ -696,6 +704,13 @@ export class RdDActor extends Actor {
await this.update( {"data.reve.rencontre": rencontres } );
}
}
/* -------------------------------------------- */
async updateCoordTMR( coord ) {
let tmrPos = duplicate(this.data.data.reve.tmrpos );
tmrPos.coord = coord;
await this.update( {"data.reve.tmrpos": tmrPos } );
}
/* -------------------------------------------- */
async updatePointsDeReve( value ) {
@ -703,7 +718,8 @@ export class RdDActor extends Actor {
reve.value = Math.max(reve.value + value, 0);
await this.update( {"data.reve.reve": reve } );
}
/* -------------------------------------------- */
async updatePointDeSeuil(value=1) {
const seuil = Misc.toInt(this.data.data.reve.seuil.value);
const reve = Misc.toInt(this.data.data.carac.reve.value);
@ -712,6 +728,7 @@ export class RdDActor extends Actor {
}
}
/* -------------------------------------------- */
async setPointsDeSeuil( value ) {
let seuil = duplicate(this.data.data.reve.seuil);
seuil.value = value;
@ -882,28 +899,28 @@ export class RdDActor extends Actor {
}
/* -------------------------------------------- */
_stressRoll() {
let result = RdDResolutionTable.roll(this.data.data.carac.reve.value, 0);
console.log("_stressRoll", result);
switch (result.code) {
case "sign": return { factor: 0.75, comment: " (75%): " + result.quality + " - " + result.roll + " sur " + result.score + "%" }
case "norm": return { factor: 0.5, comment: " (50%): " + result.quality + " - " + result.roll + " sur " + result.score + "%" }
case "echec": return { factor: 0.2, comment: " (20%): " + result.quality + " - " + result.roll + " sur " + result.score + "%" }
case "epart": return { factor: 0.1, comment: " (10%): " + result.quality + " - " + result.roll + " sur " + result.score + "%" }
case "etotal": return { factor: 0, comment: " (0%): " + result.quality + " - " + result.roll + " sur " + result.score + "%" }
case "part":
{
let second = RdDResolutionTable.roll(this.data.data.carac.reve.value, 0);
console.log("_stressRoll", second);
switch (second.code) {
case "part": case "sign":
return { factor: 1.5, comment: " (150%): Double Particulière - " + result.roll + " puis " + second.roll + " sur " + result.score + "%" }
default:
return { factor: 1, comment: " (150%): " + result.quality + " - " + result.roll + " puis " + second.roll + " sur " + result.score + "%" }
_stressRoll() {
let result = RdDResolutionTable.roll(this.data.data.carac.reve.value, 0);
console.log("_stressRoll", result);
switch (result.code) {
case "sign": return { factor: 0.75, comment: " (75%): " + result.quality + " - " + result.roll + " sur " + result.score + "%" }
case "norm": return { factor: 0.5, comment: " (50%): " + result.quality + " - " + result.roll + " sur " + result.score + "%" }
case "echec": return { factor: 0.2, comment: " (20%): " + result.quality + " - " + result.roll + " sur " + result.score + "%" }
case "epart": return { factor: 0.1, comment: " (10%): " + result.quality + " - " + result.roll + " sur " + result.score + "%" }
case "etotal": return { factor: 0, comment: " (0%): " + result.quality + " - " + result.roll + " sur " + result.score + "%" }
case "part":
{
let second = RdDResolutionTable.roll(this.data.data.carac.reve.value, 0);
console.log("_stressRoll", second);
switch (second.code) {
case "part": case "sign":
return { factor: 1.5, comment: " (150%): Double Particulière - " + result.roll + " puis " + second.roll + " sur " + result.score + "%" }
default:
return { factor: 1, comment: " (150%): " + result.quality + " - " + result.roll + " puis " + second.roll + " sur " + result.score + "%" }
}
}
}
}
}
}
/* -------------------------------------------- */
async rollUnSort(coord) {