|
|
|
@ -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
|
|
|
|
|
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() {
|
|
|
|
|
if (this.isEmpoignadeEnCours()) {
|
|
|
|
|
ui.notifications.warn("Une empoignade est en cours ! Normalement, vous ne pouvez rien faire d'autre que continuer l'empoignade ou la rompre.")
|
|
|
|
|
}
|
|
|
|
|
RdDEmpoignade.checkEmpoignadeEnCours(this)
|
|
|
|
|
|
|
|
|
|
const carac = mergeObject(duplicate(this.system.carac),
|
|
|
|
|
{
|
|
|
|
@ -2071,10 +2066,7 @@ export class RdDActor extends RdDBaseActor {
|
|
|
|
|
|
|
|
|
|
/* -------------------------------------------- */
|
|
|
|
|
async rollUnSort(coord) {
|
|
|
|
|
if (this.isEmpoignadeEnCours()) {
|
|
|
|
|
ui.notifications.warn("Une empoignade est en cours ! Normalement, vous ne pouvez rien faire d'autre que continuer l'empoignade ou la rompre.")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
RdDEmpoignade.checkEmpoignadeEnCours(this)
|
|
|
|
|
if (EffetsDraconiques.isSortImpossible(this)) {
|
|
|
|
|
ui.notifications.error("Une queue ou un souffle vous empèche de lancer de sort!");
|
|
|
|
|
return;
|
|
|
|
@ -2214,10 +2206,7 @@ export class RdDActor extends RdDBaseActor {
|
|
|
|
|
|
|
|
|
|
/* -------------------------------------------- */
|
|
|
|
|
async rollCarac(caracName, jetResistance = undefined) {
|
|
|
|
|
if (this.isEmpoignadeEnCours()) {
|
|
|
|
|
ui.notifications.warn("Une empoignade est en cours ! Normalement, vous ne pouvez rien faire d'autre que continuer l'empoignade ou la rompre.")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
RdDEmpoignade.checkEmpoignadeEnCours(this)
|
|
|
|
|
let selectedCarac = this.getCaracByName(caracName)
|
|
|
|
|
await this._openRollDialog({
|
|
|
|
|
name: 'jet-' + caracName,
|
|
|
|
@ -2285,10 +2274,7 @@ export class RdDActor extends RdDBaseActor {
|
|
|
|
|
|
|
|
|
|
/* -------------------------------------------- */
|
|
|
|
|
async rollCompetence(idOrName, options = { tryTarget: true }) {
|
|
|
|
|
if (this.isEmpoignadeEnCours()) {
|
|
|
|
|
ui.notifications.warn("Une empoignade est en cours ! Normalement, vous ne pouvez rien faire d'autre que continuer l'empoignade ou la rompre.")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
RdDEmpoignade.checkEmpoignadeEnCours(this)
|
|
|
|
|
let rollData = {
|
|
|
|
|
carac: this.system.carac,
|
|
|
|
|
competence: this.getCompetence(idOrName)
|
|
|
|
@ -2369,10 +2355,7 @@ export class RdDActor extends RdDBaseActor {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
async rollCaracCompetence(caracName, compName, diff, options = { title: "" }) {
|
|
|
|
|
if (this.isEmpoignadeEnCours()) {
|
|
|
|
|
ui.notifications.warn("Une empoignade est en cours ! Normalement, vous ne pouvez rien faire d'autre que continuer l'empoignade ou la rompre.")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
RdDEmpoignade.checkEmpoignadeEnCours(this)
|
|
|
|
|
const competence = this.getCompetence(compName);
|
|
|
|
|
await this._openRollDialog({
|
|
|
|
|
name: 'jet-competence',
|
|
|
|
@ -2393,10 +2376,7 @@ export class RdDActor extends RdDBaseActor {
|
|
|
|
|
|
|
|
|
|
/* -------------------------------------------- */
|
|
|
|
|
async rollTache(id, options = {}) {
|
|
|
|
|
if (this.isEmpoignadeEnCours()) {
|
|
|
|
|
ui.notifications.warn("Une empoignade est en cours ! Normalement, vous ne pouvez rien faire d'autre que continuer l'empoignade ou la rompre.")
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
RdDEmpoignade.checkEmpoignadeEnCours(this)
|
|
|
|
|
const tacheData = this.getTache(id)
|
|
|
|
|
const compData = this.getCompetence(tacheData.system.competence)
|
|
|
|
|
compData.system.defaut_carac = tacheData.system.carac; // Patch !
|
|
|
|
|