Compare commits
1 Commits
2cbee42180
...
02cea84ebb
| Author | SHA1 | Date | |
|---|---|---|---|
| 02cea84ebb |
@@ -14,8 +14,9 @@
|
||||
- empoignade
|
||||
- l'empoignade est possible avec une initiative d'empoignade, ou en cours d'empoignade
|
||||
- seule la dague, le pugilat et la dague sont possibles en cours d'empoignade
|
||||
- jet de Dextérité/Dague pour utiliser la dague en cours d'empoignade
|
||||
- attaquer avec une arme un empoigneur donne un +4 si pas d'empoignade
|
||||
- jet de Dextérité/Dague pour utiliser la dague en cours d'empoignade (p136)
|
||||
- attaquer avec une arme un empoigneur donne un +4 si pas d'empoignade (p134)
|
||||
- la différence de taille donne un bonus/malus en cours d'empoignade (p135)
|
||||
- les dommages de l'empoignade ajoutent/enlèvent un point d'empoignade
|
||||
- le statut d'empoignade est affiché sur les tokens
|
||||
- les défenses contre une empoignade sont corrigées
|
||||
|
||||
@@ -648,8 +648,7 @@ select,
|
||||
.system-foundryvtt-reve-de-dragon .roll-dialog roll-conditions roll-section[name="coeur"] select[name="coeur"] {
|
||||
max-width: 4rem;
|
||||
}
|
||||
.system-foundryvtt-reve-de-dragon .roll-dialog roll-conditions roll-section[name="empoignade"] img {
|
||||
/* image de d100 */
|
||||
.system-foundryvtt-reve-de-dragon .roll-dialog roll-conditions roll-section img {
|
||||
max-width: 1rem;
|
||||
max-height: 1rem;
|
||||
gap: 0;
|
||||
@@ -661,10 +660,6 @@ select,
|
||||
/* image de d100 */
|
||||
max-width: 2.5rem;
|
||||
max-height: 2.5rem;
|
||||
gap: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
filter: invert(0.8);
|
||||
}
|
||||
.system-foundryvtt-reve-de-dragon .roll-dialog roll-buttons {
|
||||
display: flex;
|
||||
|
||||
@@ -224,8 +224,7 @@
|
||||
max-width: 4rem;
|
||||
}
|
||||
|
||||
roll-conditions roll-section[name="empoignade"] img {
|
||||
/* image de d100 */
|
||||
roll-conditions roll-section img {
|
||||
max-width: 1rem;
|
||||
max-height: 1rem;
|
||||
gap: 0;
|
||||
@@ -237,10 +236,6 @@
|
||||
/* image de d100 */
|
||||
max-width: 2.5rem;
|
||||
max-height: 2.5rem;
|
||||
gap: 0;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
filter: invert(0.8);
|
||||
}
|
||||
|
||||
roll-buttons {
|
||||
|
||||
@@ -45,6 +45,7 @@ import { RollPartCuisine } from "./roll-part-cuisine.mjs";
|
||||
import { OptionsAvancees, ROLL_DIALOG_V2_TEST } from "../settings/options-avancees.js";
|
||||
import { ActorImpacts } from "../technical/actor-impacts.mjs";
|
||||
import { RollPartEmpoignade } from "./roll-part-empoignade.mjs";
|
||||
import { RollPartEmpoignadeTaille } from "./roll-part-empoignade-taille.mjs";
|
||||
|
||||
|
||||
const { HandlebarsApplicationMixin, ApplicationV2 } = foundry.applications.api
|
||||
@@ -86,6 +87,7 @@ const ROLL_PARTS = [
|
||||
new RollPartConditions(),
|
||||
new RollPartEthylisme(),
|
||||
new RollPartMalusArmure(),
|
||||
new RollPartEmpoignadeTaille(),
|
||||
new RollPartEmpoignade(),
|
||||
new RollPartEncTotal(),
|
||||
new RollPartSurEnc(),
|
||||
|
||||
40
module/roll/roll-part-empoignade-taille.mjs
Normal file
40
module/roll/roll-part-empoignade-taille.mjs
Normal file
@@ -0,0 +1,40 @@
|
||||
import { RDD_CONFIG } from "../constants.js"
|
||||
import { ATTAQUE_TYPE_MELEE } from "../item/arme.js"
|
||||
import { RdDEmpoignade } from "../rdd-empoignade.js"
|
||||
import { COMBAT_ROLL_TYPES } from "./roll-constants.mjs"
|
||||
import { PART_ATTAQUE } from "./roll-part-attaque.mjs"
|
||||
import { RollPartCheckbox } from "./roll-part-checkbox.mjs"
|
||||
|
||||
const EMPOIGNADE_TAILLE = "empoignade-taille"
|
||||
|
||||
export class RollPartEmpoignadeTaille extends RollPartCheckbox {
|
||||
|
||||
get code() { return EMPOIGNADE_TAILLE }
|
||||
|
||||
isValid(rollData) {
|
||||
return RdDEmpoignade.isCombatantEmpoignade(rollData.ids.actorId, rollData.ids.actorTokenId)
|
||||
}
|
||||
|
||||
visible(rollData) {
|
||||
return COMBAT_ROLL_TYPES.includes(rollData.type.current) &&
|
||||
RdDEmpoignade.isEmpoignadeEnCours(rollData.active.actor) &&
|
||||
this.getTailleDiff(rollData) != 0
|
||||
}
|
||||
|
||||
getTailleDiff(rollData) {
|
||||
const taille = rollData.active.actor.getTaille()
|
||||
const tailleOpponent = rollData.opponent.actor.getTaille()
|
||||
const diff = taille - tailleOpponent
|
||||
const diffTailleAbs = Math.max(0, Math.abs(diff) - 1)
|
||||
const signDiff = Math.sign(diff)
|
||||
return signDiff * diffTailleAbs
|
||||
}
|
||||
|
||||
getCheckboxIcon(rollData) { return `<img src="${RDD_CONFIG.icons.empoignade}">` }
|
||||
getCheckboxLabel(rollData) {
|
||||
return `Taille ${rollData.active.actor.getTaille()} vs ${rollData.opponent.actor.getTaille()} `
|
||||
}
|
||||
getCheckboxValue(rollData) {
|
||||
return this.getTailleDiff(rollData)
|
||||
}
|
||||
}
|
||||
@@ -23,7 +23,6 @@ export class RollPartEmpoignade extends RollPartCheckbox {
|
||||
!RdDEmpoignade.isCombatantEmpoignade(rollData.ids.actorId, rollData.ids.actorTokenId) &&
|
||||
!RdDEmpoignade.isEmpoignadeEnCours(rollData.active.actor)
|
||||
}
|
||||
|
||||
|
||||
getCheckboxIcon(rollData) { return `<img src="${RDD_CONFIG.icons.empoignade}">` }
|
||||
getCheckboxLabel(rollData) { return "vs. empoigneur" }
|
||||
|
||||
Reference in New Issue
Block a user