Fix: liste des actions disponibles
- ajout du haut-rêve - possibilité de ne lister que les armes équipées
This commit is contained in:
@@ -1,5 +1,10 @@
|
|||||||
# 13.0
|
# 13.0
|
||||||
|
|
||||||
|
## 13.0.37 - L'urgence d'Illisys
|
||||||
|
|
||||||
|
- Le Haut-rêve est de nouveau proposé dans les options d'initiative
|
||||||
|
- Nouvelle règle optionnelle: choisir si seules les armes équipées sont proposées en combat
|
||||||
|
|
||||||
## 13.0.37 - Le bonheur des zyglutes d'Illisys
|
## 13.0.37 - Le bonheur des zyglutes d'Illisys
|
||||||
|
|
||||||
- Corrections v14
|
- Corrections v14
|
||||||
|
|||||||
+9
-8
@@ -140,13 +140,14 @@ export class RdDActor extends RdDBaseActorSang {
|
|||||||
.reduce(Misc.sum(), 0);
|
.reduce(Misc.sum(), 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
listActions({ isAttaque = false, isEquipe = false }) {
|
listActions() {
|
||||||
// Recupération des attaques
|
// Recupération des attaques
|
||||||
const actions = this.listActionsAttaque()
|
const actions = ReglesOptionnelles.isUsing('armes-equipees')
|
||||||
.filter(it => !isEquipe || it.arme.system.equipe)
|
? this.listActionsAttaque().filter(action => action.equipe)
|
||||||
|
: this.listActionsAttaque()
|
||||||
|
|
||||||
if (!isAttaque && this.system.attributs.hautrevant.value) {
|
if (this.system.attributs.hautrevant.value) {
|
||||||
actions.push({ label: "Draconic", action: 'haut-reve', initOnly: true })
|
actions.push({ label: "Draconic", action: 'haut-reve', initOnly: true, equipe: true })
|
||||||
}
|
}
|
||||||
return actions
|
return actions
|
||||||
}
|
}
|
||||||
@@ -2474,10 +2475,10 @@ export class RdDActor extends RdDBaseActorSang {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async equiperObjet(item) {
|
async equiperObjet(item) {
|
||||||
if (item?.isEquipable()) {
|
if (item?.isEquipable()) {
|
||||||
const isEquipe = !item.system.equipe;
|
const newEquipe = !item.system.equipe;
|
||||||
await item.update({ "system.equipe": isEquipe })
|
await item.update({ "system.equipe": newEquipe })
|
||||||
this.computeEncTotal()
|
this.computeEncTotal()
|
||||||
if (isEquipe)
|
if (newEquipe)
|
||||||
await this.verifierForceMin(item)
|
await this.verifierForceMin(item)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -145,7 +145,7 @@ export class RdDBaseActorReve extends RdDBaseActor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
listActions({ isAttaque = false, isEquipe = false }) {
|
listActions() {
|
||||||
return this.itemTypes[ITEM_TYPES.competencecreature]
|
return this.itemTypes[ITEM_TYPES.competencecreature]
|
||||||
.filter(it => it.isAttaque())
|
.filter(it => it.isAttaque())
|
||||||
.map(it => it.attaqueCreature())
|
.map(it => it.attaqueCreature())
|
||||||
|
|||||||
@@ -914,11 +914,7 @@ export class RdDBaseActor extends Actor {
|
|||||||
isActorCombat() { return false }
|
isActorCombat() { return false }
|
||||||
getCaracInit(competence) { return 0 }
|
getCaracInit(competence) { return 0 }
|
||||||
|
|
||||||
listAttaques() {
|
listActions() { return [] }
|
||||||
return this.listActions({ isAttaque: true, isEquipe: false })
|
|
||||||
}
|
|
||||||
|
|
||||||
listActions({ isAttaque = false, isEquipe = false }) { return [] }
|
|
||||||
|
|
||||||
listActionsPossessions() {
|
listActionsPossessions() {
|
||||||
return this.itemTypes[ITEM_TYPES.possession]
|
return this.itemTypes[ITEM_TYPES.possession]
|
||||||
|
|||||||
@@ -170,7 +170,7 @@ export class RdDCombatManager extends Combat {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static getFirstInitRollFormula(actor) {
|
static getFirstInitRollFormula(actor) {
|
||||||
const actions = actor.listActions({ isEquipe: true })
|
const actions = actor.listActions()
|
||||||
if (actions.length > 0) {
|
if (actions.length > 0) {
|
||||||
const action = actions[0]
|
const action = actions[0]
|
||||||
const init = RdDCombatManager.getInitData(actor, action)
|
const init = RdDCombatManager.getInitData(actor, action)
|
||||||
@@ -307,7 +307,7 @@ export class RdDCombatManager extends Combat {
|
|||||||
const possessions = actor.listActionsPossessions()
|
const possessions = actor.listActionsPossessions()
|
||||||
const actions = possessions.length > 0
|
const actions = possessions.length > 0
|
||||||
? possessions
|
? possessions
|
||||||
: actor.listActions({ isEquipe: true })
|
: actor.listActions()
|
||||||
|
|
||||||
return Misc.indexed(actions)
|
return Misc.indexed(actions)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -49,7 +49,7 @@ export class RdDTokenHud {
|
|||||||
|
|
||||||
static async addExtensionHudCombatV2(html, combatant, actor, token) {
|
static async addExtensionHudCombatV2(html, combatant, actor, token) {
|
||||||
const isPossession = actor.listActionsPossessions().length > 0;
|
const isPossession = actor.listActionsPossessions().length > 0;
|
||||||
const actionsCombat = isPossession ? [] : actor.listAttaques()
|
const actionsCombat = isPossession ? [] : actor.listActions()
|
||||||
const ajustements = combatant?.initiative ?
|
const ajustements = combatant?.initiative ?
|
||||||
[
|
[
|
||||||
{ label: 'Initiative +1', action: 'delta', value: 1 },
|
{ label: 'Initiative +1', action: 'delta', value: 1 },
|
||||||
|
|||||||
@@ -35,7 +35,8 @@ export class RollPartAttaque extends RollPartSelect {
|
|||||||
|
|
||||||
loadRefs(rollData) {
|
loadRefs(rollData) {
|
||||||
const refs = this.getRefs(rollData)
|
const refs = this.getRefs(rollData)
|
||||||
const attaques = rollData.active.actor.listAttaques()
|
const attaques = rollData.active.actor.listActions()
|
||||||
|
.filter(it => !it.initOnly)
|
||||||
.sort(Misc.descending(it => it.comp?.system.niveau ?? -8))
|
.sort(Misc.descending(it => it.comp?.system.niveau ?? -8))
|
||||||
refs.all = attaques.map(it => RollPartAttaque.$extractAttaque(it, rollData))
|
refs.all = attaques.map(it => RollPartAttaque.$extractAttaque(it, rollData))
|
||||||
this.filterAttaquesInitiative(rollData)
|
this.filterAttaquesInitiative(rollData)
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ const listeReglesOptionnelles = [
|
|||||||
{ group: 'Récupération', name: 'recuperation-reve', descr: "Récupérer le rêve pendant la nuit (les jets sont toujours faits pour les Rêves de Dragons)"},
|
{ group: 'Récupération', name: 'recuperation-reve', descr: "Récupérer le rêve pendant la nuit (les jets sont toujours faits pour les Rêves de Dragons)"},
|
||||||
{ group: 'Récupération', name: 'recuperation-moral', descr: "Le moral revient vers 0 durant Château Dormant"},
|
{ group: 'Récupération', name: 'recuperation-moral', descr: "Le moral revient vers 0 durant Château Dormant"},
|
||||||
|
|
||||||
|
{ group: 'Règles de combat', name: 'armes-equipees', descr: "Proposer uniquement les armes équipées au combat", default: false},
|
||||||
{ group: 'Règles de combat', name: 'localisation-aleatoire', descr: "Proposer une localisation aléatoire des blessures" },
|
{ group: 'Règles de combat', name: 'localisation-aleatoire', descr: "Proposer une localisation aléatoire des blessures" },
|
||||||
{ group: 'Règles de combat', name: 'recul', descr: "Appliquer le recul en cas de particulière en force ou de charge" },
|
{ group: 'Règles de combat', name: 'recul', descr: "Appliquer le recul en cas de particulière en force ou de charge" },
|
||||||
{ group: 'Règles de combat', name: 'acrobatie-pour-recul', descr: "L'acrobatie aide à ne pas chuter en cas de recul" , default: false },
|
{ group: 'Règles de combat', name: 'acrobatie-pour-recul', descr: "L'acrobatie aide à ne pas chuter en cas de recul" , default: false },
|
||||||
|
|||||||
Reference in New Issue
Block a user