Ajout multiples pour le combat et ameliorations des items
This commit is contained in:
@ -13,17 +13,16 @@ export const TEDEUM_CONFIG = {
|
||||
{ value: 10 }, { value: 30 }, { value: 50 }],
|
||||
|
||||
LOCALISATION: {
|
||||
"pieddroit": { label: "Pied Droit", value: 1, id: "pieddroit", nbArmure: 1 },
|
||||
"jambedroite": { label: "Jambe Droite", value: 1, id: "jambedroite", nbArmure: 1 },
|
||||
"jambegauche": { label: "Jambe Gauche", value: 1, id: "jambegauche", nbArmure: 1 },
|
||||
"piedgauche": { label: "Pied Gauche", value: 1, id: "piedgauche", nbArmure: 1 },
|
||||
"piedgauche": { label: "Pied Gauche", value: 1, id: "piedgauche", nbArmure: 1 },
|
||||
"maindroite": { label: "Main Droite", value: 1, id: "maindroite", nbArmure: 1 },
|
||||
"maingauche": { label: "Main Gauche", value: 1, id: "maingauche", nbArmure: 1 },
|
||||
"brasdroit": { label: "Bras Droit", value: 1, id: "brasdroit", nbArmure: 2 },
|
||||
"brasgauche": { label: "Bras Gauche", value: 1, id: "brasgauche", nbArmure: 2 },
|
||||
"corps": { label: "Corps", value: 1, id: "corps", nbArmure: 2 },
|
||||
"tete": { label: "Tête", value: 1, id: "tete", nbArmure: 2 },
|
||||
"pieddroit": { label: "Pied Droit", value: 1, locMod:0, id: "pieddroit", nbArmure: 1, score: {min: 1, max:1}, coord: { top: 500, left: 0 } },
|
||||
"jambedroite": { label: "Jambe Droite", value: 1, locMod:-1,id: "jambedroite", nbArmure: 1, score: {min: 3, max:4},coord: { top: 400, left: 100 } },
|
||||
"jambegauche": { label: "Jambe Gauche", value: 1, locMod:-1,id: "jambegauche", nbArmure: 1, score: {min: 5, max:6},coord: { top: 400, left: 300 } },
|
||||
"piedgauche": { label: "Pied Gauche", value: 1, locMod:0,id: "piedgauche", nbArmure: 1, score: {min: 2, max:2},coord: { top: 500, left: 400 } },
|
||||
"maindroite": { label: "Main Droite", value: 1, locMod:0,id: "maindroite", nbArmure: 1, score: {min: 7, max:7},coord: { top: 0, left: 0 } },
|
||||
"maingauche": { label: "Main Gauche", value: 1, locMod:0,id: "maingauche", nbArmure: 1, score: {min: 8, max:8},coord: { top: 0, left: 400 } },
|
||||
"brasdroit": { label: "Bras Droit", value: 1, locMod:-1,id: "brasdroit", nbArmure: 2, score: {min: 9, max:10},coord: { top: 200, left: 0 } },
|
||||
"brasgauche": { label: "Bras Gauche", value: 1, locMod:-1,id: "brasgauche", nbArmure: 2, score: {min: 11, max:12},coord: { top: 200, left: 400 } },
|
||||
"corps": { label: "Corps", value: 1, id: "corps", locMod:-2,nbArmure: 2, score: {min: 13, max:17},coord: { top: 200, left: 200 } },
|
||||
"tete": { label: "Tête", value: 1, id: "tete", locMod:-2,nbArmure: 2 , score: {min: 18, max:20},coord: { top: 0, left: 200 }},
|
||||
},
|
||||
|
||||
ARME_SPECIFICITE: {
|
||||
@ -157,13 +156,32 @@ export const TEDEUM_CONFIG = {
|
||||
{ value: "1", label: "+1 niveau" },
|
||||
{ value: "2", label: "+2 niveaux" }
|
||||
],
|
||||
blessures: [
|
||||
{ value: 0, label: "Indemne", degatsMax: -1, count: 0, modifier: 0 },
|
||||
{ value: 1, label: "Estafilade/Contusion", degatsMax: 2, count: 1, modifier: 0 },
|
||||
{ value: 2, label: "Plaie", degatsMax: 4, count: 1, modifier: -1 },
|
||||
{ value: 3, label: "Plaie béante", degatsMax: 6, count: 1, modifier: -2 },
|
||||
{ value: 4, label: "Plaie atroce", degatsMax: 6, count: 1, horsCombat: true, modifier: -12 },
|
||||
{ value: 5, label: "Tué net", degatsMax: 100, count: 1, horsCombat: true, mort: true, modifier: -12 }
|
||||
]
|
||||
|
||||
blessures: {
|
||||
indemne: { value: 0, label: "Indemne", key: "indemne", degatsMax: -1, count: 0, modifier: 0 },
|
||||
estafilade: { value: 1, label: "Estafilade", key: "estafilade", degatsMax: 2, count: 1, modifier: 0 },
|
||||
plaie: { value: 2, label: "Plaie", key: "plaie", degatsMax: 4, count: 1, modifier: -1 },
|
||||
plaiebeante: { value: 3, label: "Plaie béante", key: "plaiebeante", degatsMax: 6, count: 1, modifier: -2 },
|
||||
plaieatroce: { value: 4, label: "Plaie atroce", key: "plaieatroce", degatsMax: 6, count: 1, horsCombat: true, modifier: -12 },
|
||||
tunenet: { value: 5, label: "Tué net", key: "tuenet", degatsMax: 100, count: 1, horsCombat: true, mort: true, modifier: -12 }
|
||||
},
|
||||
virulence: {
|
||||
fatigue: { label: "Fatigue", value: "fatigue", modifier: 0 },
|
||||
epuisement: { label: "Epuisement", value: "epuisement",modifier: -1 },
|
||||
souffrance: { label: "Souffrance", value: "souffrance", modifier: -2 },
|
||||
agonie: { label: "Agonie", value: "agonie", modifier: -3 }
|
||||
},
|
||||
fievre: {
|
||||
aucune: { label: "Aucune", value: "aucune" },
|
||||
legere: { label: "Légère", value: "legere" },
|
||||
forte: { label: "Forte", value: "forte" },
|
||||
grave: { label: "Grave", value: "grave" }
|
||||
},
|
||||
virulencePoison: {
|
||||
aucune: { label: "Aucune", value: "nausee", modifier: 0 },
|
||||
nausee: { label: "Nausées & Vertiges", value: "nausee", modifier:0 },
|
||||
inflammation: { label: "Inflammations & Vomissements", value: "inflammation", modifier: -1 },
|
||||
elancement: { label: "Elancements & Hémorragies", value: "elancement" , modifier: -2 },
|
||||
convulsion: { label: "Convulsions & Délire hallucinatoire", value: "convulsion", modifier: -3 },
|
||||
mort: { label: "Inconscience & Mort", value: "mort", modifier: -12 }
|
||||
}
|
||||
}
|
@ -50,6 +50,10 @@ export class TeDeumUtility {
|
||||
//console.log("getConfigLabel", configName, key)
|
||||
return game.system.tedeum.config[configName][key].label
|
||||
})
|
||||
Handlebars.registerHelper('getConfigLabelArray', function (configName, key) {
|
||||
//console.log("getConfigLabel", configName, key)
|
||||
return game.system.tedeum.config[configName][key].label
|
||||
})
|
||||
Handlebars.registerHelper('isSpecArmeType', function (key, armeType) {
|
||||
return game.system.tedeum.config.ARME_SPECIFICITE[key][armeType]
|
||||
})
|
||||
@ -360,6 +364,10 @@ export class TeDeumUtility {
|
||||
/* -------------------------------------------- */
|
||||
static modifyDice(dice, bonusMalus) {
|
||||
let newIndex = game.system.tedeum.config.diceValeur.indexOf(dice) + Number(bonusMalus)
|
||||
if (newIndex < 0) {
|
||||
ui.notifications.error("Vos blessures ou maladies vous empêchent de réaliser cette action, vous êtes trop faibles")
|
||||
return undefined
|
||||
}
|
||||
newIndex = Math.min(Math.max(newIndex, 0), game.system.tedeum.config.diceValeur.length - 1)
|
||||
return game.system.tedeum.config.diceValeur[newIndex]
|
||||
}
|
||||
@ -368,7 +376,8 @@ export class TeDeumUtility {
|
||||
static computeRollFormula(rollData, actor, isConfrontation = false) {
|
||||
let diceFormula = ""
|
||||
if (rollData.competence) {
|
||||
let diceBase = this.modifyDice(rollData.carac.dice, rollData.bonusMalus+rollData.malusBlessures)
|
||||
let diceBase = this.modifyDice(rollData.carac.dice, Number(rollData.bonusMalus)+rollData.santeModifier)
|
||||
if (!diceBase) return;
|
||||
diceFormula = diceBase + "x + " + rollData.competence.system.score
|
||||
}
|
||||
if (rollData.enableProvidence) {
|
||||
@ -386,8 +395,9 @@ export class TeDeumUtility {
|
||||
rollData.difficulty = 7
|
||||
}
|
||||
rollData.difficulty = game.system.tedeum.config.difficulte[rollData.difficulty].value
|
||||
|
||||
let diceFormula = this.computeRollFormula(rollData, actor)
|
||||
if (!diceFormula) return;
|
||||
console.log("RollData", rollData, diceFormula )
|
||||
|
||||
// Performs roll
|
||||
let myRoll = await new Roll(diceFormula).roll()
|
||||
@ -501,7 +511,7 @@ export class TeDeumUtility {
|
||||
/* -------------------------------------------- */
|
||||
static getBasicRollData() {
|
||||
let rollData = {
|
||||
rollId: randomID(16),
|
||||
rollId: foundry.utils.randomID(16),
|
||||
type: "roll-data",
|
||||
rollMode: game.settings.get("core", "rollMode"),
|
||||
difficulty: "pardefaut",
|
||||
@ -509,7 +519,7 @@ export class TeDeumUtility {
|
||||
isReroll : false,
|
||||
enableProvidence : false,
|
||||
malusBlessures: 0,
|
||||
config: duplicate(game.system.tedeum.config)
|
||||
config: foundry.utils.duplicate(game.system.tedeum.config)
|
||||
}
|
||||
TeDeumUtility.updateWithTarget(rollData)
|
||||
return rollData
|
||||
|
Reference in New Issue
Block a user