v10: pinaillages mineurs #642
@ -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