#42 Tchat message fin
parade, esquive inclus deterioration arme de parade inclus recul sous le choc
This commit is contained in:
@ -1,4 +1,19 @@
|
||||
|
||||
|
||||
const nomCcategorieParade = {
|
||||
"sans-armes": "Sans arme / armes naturelles",
|
||||
"hast": "Armes d'hast",
|
||||
"batons": "Bâtons",
|
||||
"boucliers": "Boucliers",
|
||||
"dagues": "Dagues",
|
||||
"epees-courtes": "Epées courtes",
|
||||
"epees-longues": "Epées longues",
|
||||
"epees-lourdes": "Epées lourdes",
|
||||
"haches": "Haches",
|
||||
"lances": "Lances",
|
||||
}
|
||||
|
||||
|
||||
export class RdDItemArme extends Item {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -20,6 +35,12 @@ export class RdDItemArme extends Item {
|
||||
return armeData;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static getNomCategorieParade(it) {
|
||||
const categorie = it.data? RdDItemArme.getCategorieParade(it) : it;
|
||||
return nomCcategorieParade[categorie];
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static getCategorieParade(arme) {
|
||||
if (arme.data.categorie_parade) {
|
||||
@ -56,33 +77,34 @@ export class RdDItemArme extends Item {
|
||||
return 'sans-armes';
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static isArmeParade(arme) {
|
||||
return RdDItemArme.getCategorieParade(arme);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static needParadeSignificative(armeAttaque, armeParade) {
|
||||
// categories d'armes à la parade (cf. page 115 )
|
||||
let attCategory = RdDItemArme.getCategorieParade(armeAttaque);
|
||||
let defCategory = RdDItemArme.getCategorieParade(armeParade);
|
||||
// bouclier et mêmes catégorie: peuvent se parer sans difficulté
|
||||
if (defCategory == 'bouclier') {
|
||||
if (defCategory == 'boucliers') {
|
||||
return false;
|
||||
}
|
||||
if (attCategory == defCategory) {
|
||||
// Parer avec une hache ou une arme d’hast exige toujours une signi$cative
|
||||
if (defCategory.match(/(hast|haches)/)) {
|
||||
return true;
|
||||
}
|
||||
if (defCategory == attCategory) {
|
||||
return false;
|
||||
}
|
||||
// les épées se parent entre elles
|
||||
if (attCategory.match(/epees-/) && defCategory.match(/epees-/)) {
|
||||
if (defCategory.match(/epees-/) && attCategory.match(/epees-/)) {
|
||||
return false;
|
||||
}
|
||||
if (attCategory == 'dagues' && defCategory == 'epees-courtes') {
|
||||
// l'épée gnome pare la dague
|
||||
if (defCategory == 'epees-courtes' && attCategory == 'dagues') {
|
||||
return false;
|
||||
}
|
||||
if (attCategory.match(/epees-(courtes|legeres)/) && defCategory == 'dagues') {
|
||||
// la dague pare les épées courtes et légères
|
||||
if (defCategory == 'dagues' && attCategory.match(/epees-(courtes|legeres)/)) {
|
||||
return false;
|
||||
}
|
||||
// Manage weapon categories when parrying (cf. page 115 )
|
||||
return true;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user