Centralisation du message empoignade
Déplacement dans le module empoignade du message et de la vérification d'empoignade en cours. Le message est donc centralisé (possible de le modifier une fois pour toutes les utilisations)
This commit is contained in:
parent
d2d1891838
commit
f541849306
@ -335,15 +335,10 @@ export class RdDActor extends RdDBaseActor {
|
|||||||
hasArmeeMeleeEquipee() { // Return true si l'acteur possède au moins 1 arme de mêlée équipée
|
hasArmeeMeleeEquipee() { // Return true si l'acteur possède au moins 1 arme de mêlée équipée
|
||||||
return this.itemTypes['arme'].find(it => it.system.equipe && it.system.competence != "")
|
return this.itemTypes['arme'].find(it => it.system.equipe && it.system.competence != "")
|
||||||
}
|
}
|
||||||
isEmpoignadeEnCours() {
|
|
||||||
return this.items.find(it => it.type == "empoignade" && it.system.pointsemp > 0)
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async roll() {
|
async roll() {
|
||||||
if (this.isEmpoignadeEnCours()) {
|
RdDEmpoignade.checkEmpoignadeEnCours(this)
|
||||||
ui.notifications.warn("Une empoignade est en cours ! Normalement, vous ne pouvez rien faire d'autre que continuer l'empoignade ou la rompre.")
|
|
||||||
}
|
|
||||||
|
|
||||||
const carac = mergeObject(duplicate(this.system.carac),
|
const carac = mergeObject(duplicate(this.system.carac),
|
||||||
{
|
{
|
||||||
@ -2071,10 +2066,7 @@ export class RdDActor extends RdDBaseActor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async rollUnSort(coord) {
|
async rollUnSort(coord) {
|
||||||
if (this.isEmpoignadeEnCours()) {
|
RdDEmpoignade.checkEmpoignadeEnCours(this)
|
||||||
ui.notifications.warn("Une empoignade est en cours ! Normalement, vous ne pouvez rien faire d'autre que continuer l'empoignade ou la rompre.")
|
|
||||||
}
|
|
||||||
|
|
||||||
if (EffetsDraconiques.isSortImpossible(this)) {
|
if (EffetsDraconiques.isSortImpossible(this)) {
|
||||||
ui.notifications.error("Une queue ou un souffle vous empèche de lancer de sort!");
|
ui.notifications.error("Une queue ou un souffle vous empèche de lancer de sort!");
|
||||||
return;
|
return;
|
||||||
@ -2214,10 +2206,7 @@ export class RdDActor extends RdDBaseActor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async rollCarac(caracName, jetResistance = undefined) {
|
async rollCarac(caracName, jetResistance = undefined) {
|
||||||
if (this.isEmpoignadeEnCours()) {
|
RdDEmpoignade.checkEmpoignadeEnCours(this)
|
||||||
ui.notifications.warn("Une empoignade est en cours ! Normalement, vous ne pouvez rien faire d'autre que continuer l'empoignade ou la rompre.")
|
|
||||||
}
|
|
||||||
|
|
||||||
let selectedCarac = this.getCaracByName(caracName)
|
let selectedCarac = this.getCaracByName(caracName)
|
||||||
await this._openRollDialog({
|
await this._openRollDialog({
|
||||||
name: 'jet-' + caracName,
|
name: 'jet-' + caracName,
|
||||||
@ -2285,10 +2274,7 @@ export class RdDActor extends RdDBaseActor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async rollCompetence(idOrName, options = { tryTarget: true }) {
|
async rollCompetence(idOrName, options = { tryTarget: true }) {
|
||||||
if (this.isEmpoignadeEnCours()) {
|
RdDEmpoignade.checkEmpoignadeEnCours(this)
|
||||||
ui.notifications.warn("Une empoignade est en cours ! Normalement, vous ne pouvez rien faire d'autre que continuer l'empoignade ou la rompre.")
|
|
||||||
}
|
|
||||||
|
|
||||||
let rollData = {
|
let rollData = {
|
||||||
carac: this.system.carac,
|
carac: this.system.carac,
|
||||||
competence: this.getCompetence(idOrName)
|
competence: this.getCompetence(idOrName)
|
||||||
@ -2369,10 +2355,7 @@ export class RdDActor extends RdDBaseActor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
async rollCaracCompetence(caracName, compName, diff, options = { title: "" }) {
|
async rollCaracCompetence(caracName, compName, diff, options = { title: "" }) {
|
||||||
if (this.isEmpoignadeEnCours()) {
|
RdDEmpoignade.checkEmpoignadeEnCours(this)
|
||||||
ui.notifications.warn("Une empoignade est en cours ! Normalement, vous ne pouvez rien faire d'autre que continuer l'empoignade ou la rompre.")
|
|
||||||
}
|
|
||||||
|
|
||||||
const competence = this.getCompetence(compName);
|
const competence = this.getCompetence(compName);
|
||||||
await this._openRollDialog({
|
await this._openRollDialog({
|
||||||
name: 'jet-competence',
|
name: 'jet-competence',
|
||||||
@ -2393,10 +2376,7 @@ export class RdDActor extends RdDBaseActor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async rollTache(id, options = {}) {
|
async rollTache(id, options = {}) {
|
||||||
if (this.isEmpoignadeEnCours()) {
|
RdDEmpoignade.checkEmpoignadeEnCours(this)
|
||||||
ui.notifications.warn("Une empoignade est en cours ! Normalement, vous ne pouvez rien faire d'autre que continuer l'empoignade ou la rompre.")
|
|
||||||
}
|
|
||||||
|
|
||||||
const tacheData = this.getTache(id)
|
const tacheData = this.getTache(id)
|
||||||
const compData = this.getCompetence(tacheData.system.competence)
|
const compData = this.getCompetence(tacheData.system.competence)
|
||||||
compData.system.defaut_carac = tacheData.system.carac; // Patch !
|
compData.system.defaut_carac = tacheData.system.carac; // Patch !
|
||||||
|
@ -756,9 +756,7 @@ export class RdDCombat {
|
|||||||
RdDEmpoignade.onAttaqueEmpoignade(this.attacker, this.defender)
|
RdDEmpoignade.onAttaqueEmpoignade(this.attacker, this.defender)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ( this.attacker.isEmpoignadeEnCours() ) {
|
RdDEmpoignade.checkEmpoignadeEnCours(this.attacker)
|
||||||
ui.notifications.warn("Une empoignade est en cours ! Normalement, vous ne pouvez rien faire d'autre que continuer l'empoignade ou la rompre.")
|
|
||||||
}
|
|
||||||
|
|
||||||
let rollData = this._prepareAttaque(competence, arme);
|
let rollData = this._prepareAttaque(competence, arme);
|
||||||
console.log("RdDCombat.attaque >>>", rollData);
|
console.log("RdDCombat.attaque >>>", rollData);
|
||||||
|
@ -15,6 +15,21 @@ export class RdDEmpoignade {
|
|||||||
static init() {
|
static init() {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
static checkEmpoignadeEnCours(actor) {
|
||||||
|
// TODO: autoriser la perception? la comédie/séduction?
|
||||||
|
if (RdDEmpoignade.isEmpoignadeEnCours(actor)) {
|
||||||
|
ui.notifications.warn("Une empoignade est en cours ! Normalement, vous ne pouvez rien faire d'autre que continuer l'empoignade ou la rompre.")
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
static isEmpoignadeEnCours(actor) {
|
||||||
|
return actor.itemTypes['empoignade'].find(it => it.system.pointsemp > 0)
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static getEmpoignadeById(actor, id) {
|
static getEmpoignadeById(actor, id) {
|
||||||
let emp = actor.itemTypes['empoignade'].find(it => it.system.empoignadeid == id)
|
let emp = actor.itemTypes['empoignade'].find(it => it.system.empoignadeid == id)
|
||||||
|
Loading…
Reference in New Issue
Block a user