feat: tirage MJ, hotbarDrop, blessures incapacitantes
1. Tirage MJ dans le dialogue de compétence : - Bouton tirer une carte dans la section difficulté - Pioche dans le deck, affiche la carte tirée - Calcule la difficulté sous tension 2. Drag & drop vers barre de raccourcis : - Acteurs → ouvre la feuille - Compétences → lance le jet de compétence - Sorts → ouvre le dialogue de lancement - Armes → lance le jet d'arme 3. Blessures incapacitantes (règle p.159) : - Champs blessureIncapacitante / malusBlessure - Dialogue proposant la blessure quand Épée diminue - Malus -2 appliqué aux jets de compétence - Bannière dans la feuille (mode jeu) - Bouton guérison
This commit is contained in:
@@ -104,6 +104,9 @@ export default class HamalronTirageTarot extends Roll {
|
||||
// Récupérer le modificateur de compétence depuis NIVEAU_COMPETENCES
|
||||
const niveauData = SYSTEM.NIVEAU_COMPETENCES[options.rollItem.system.niveau]
|
||||
options.competenceModifier = niveauData ? niveauData.modificateur : 0
|
||||
if (actor.system.malusBlessure) {
|
||||
options.competenceModifier += actor.system.malusBlessure
|
||||
}
|
||||
|
||||
// Marquer les cartes de succès
|
||||
if (options.tarotCards && actor.system.cartesSucces) {
|
||||
@@ -266,7 +269,6 @@ export default class HamalronTirageTarot extends Roll {
|
||||
const difficultyData = SYSTEM.DIFFICULTY_CHOICES[difficultyKey]
|
||||
|
||||
if (difficultyData.standard === null) {
|
||||
// Sous tension ou opposé - pas de score cible
|
||||
options.targetScore = null
|
||||
$("#target-score").text("-")
|
||||
} else {
|
||||
@@ -275,6 +277,29 @@ export default class HamalronTirageTarot extends Roll {
|
||||
}
|
||||
})
|
||||
|
||||
// Tirage d'une carte pour la difficulté (épreuve sous tension)
|
||||
$("#draw-difficulty-btn").click(async function () {
|
||||
const deckManager = globalThis.HamalronTarotDeckManager?._instance
|
||||
if (!deckManager || deckManager.deck.length === 0) {
|
||||
ui.notifications.warn(game.i18n.localize("HAMALRON.Notifications.deckEmpty"))
|
||||
return
|
||||
}
|
||||
const drawn = deckManager.drawCards(1)
|
||||
if (drawn.length > 0) {
|
||||
const card = drawn[0]
|
||||
const valData = SYSTEM.TAROT_VALEURS[card.valeur]
|
||||
const val = valData?.value ?? 0
|
||||
options.targetScore = val
|
||||
options.selectedDifficulty = "soustension_oppose"
|
||||
$(".difficulty-select").val("soustension_oppose")
|
||||
$("#target-score").text(String(val))
|
||||
$("#drawn-card-name").text(`${card.name} (${val})`)
|
||||
$("#drawn-card-info").show()
|
||||
deckManager.addToDiscard(card)
|
||||
await deckManager.saveDeckState()
|
||||
}
|
||||
})
|
||||
|
||||
$(".tarot-card-select").click(function () {
|
||||
// Désélectionner toutes les cartes
|
||||
$(".tarot-card-select").removeClass("selected")
|
||||
|
||||
Reference in New Issue
Block a user