Gestion preliminaire de l'XP
This commit is contained in:
@ -12,6 +12,16 @@ const level_category = {
|
||||
"tir": "-8",
|
||||
"lancer": "-8"
|
||||
}
|
||||
const competenceTroncs = [ ["Esquive", "Dague", "Corps à corps"],
|
||||
["Epée à 1 main", "Epée à 2 mains", "Hache à 1 main", "Hache à 2 mains", "Lance", "Masse à 1 main", "Masse à 2 mains"] ];
|
||||
const competence_xp = {
|
||||
"-11" : [ 5, 10, 15, 25, 35, 45, 55, 70, 85, 100, 115, 135, 155, 175 ],
|
||||
"-8" : [ 10, 20, 30, 40, 55, 70, 85, 100, 120, 140,160],
|
||||
"-6" : [ 10, 20, 35, 50, 65, 80, 100, 120, 140],
|
||||
"-4" : [ 15, 30, 45, 60, 80, 100, 120]
|
||||
}
|
||||
// This table starts at 0 -> niveau -10
|
||||
const competence_xp_par_niveau = [ 5, 5, 5, 10, 10, 10, 10, 15, 15, 15, 15, 20, 20, 20, 20, 30, 30, 40, 40, 60, 60, 100, 100, 100, 100, 100, 100, 100, 100, 100];
|
||||
const carac_array = [ "taille", "apparence", "constitution", "force", "agilite", "dexterite", "vue", "ouie", "odoratgout", "volonte", "intellect", "empathie", "reve", "chance", "melee", "tir", "lancer", "derobee"];
|
||||
const bonusmalus = [-10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, +1, +2, +3, +4, +5, +6, +7, +8, +9, +10];
|
||||
const specialResults = [ { "part": 0, "epart": 0, "etotal": 0 }, // 0
|
||||
@ -204,6 +214,18 @@ export class RdDUtility {
|
||||
return container.append(table);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static isTronc( compName )
|
||||
{
|
||||
for (let troncList of competenceTroncs) {
|
||||
for (let troncName of troncList) {
|
||||
if ( troncName == compName)
|
||||
return troncList;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static getResolutionField(caracValue, levelValue )
|
||||
{
|
||||
@ -215,6 +237,21 @@ export class RdDUtility {
|
||||
return CONFIG.RDD.resolutionTable[caracValue][levelValue+10];
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static computeCompetenceXPCost( competence )
|
||||
{
|
||||
let minLevel = competence.data.base;
|
||||
if ( minLevel == competence.data.niveau) return 0;
|
||||
if ( competence.data.niveau < -10) return 0;
|
||||
|
||||
let xp = 0;
|
||||
for (let i=minLevel+1; i<=competence.data.niveau; i++) {
|
||||
xp += competence_xp_par_niveau[i+10];
|
||||
//console.log(i, i+10, competence_xp_par_niveau[i+10]);
|
||||
}
|
||||
return xp;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static computeCarac( data)
|
||||
{
|
||||
@ -481,6 +518,7 @@ export class RdDUtility {
|
||||
} else if (sockmsg.msg == "msg_defense" ) {
|
||||
let defenderActor = game.actors.get( sockmsg.data.defenderid );
|
||||
if ( (game.user.isGM && !defenderActor.isPC) || (defenderActor.isPC && game.user.character.id == defenderActor.id ) ) {
|
||||
console.log("User is pushing message...", game.user.name);
|
||||
sockmsg.data.whisper = [ game.user ];
|
||||
sockmsg.data.blind = true;
|
||||
sockmsg.data.rollMode = "blindroll";
|
||||
|
Reference in New Issue
Block a user