Push
This commit is contained in:
@ -111,7 +111,7 @@ export class PegasusActor extends Actor {
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getArmors() {
|
||||
let comp = this.data.items.filter(item => item.type == 'armor');
|
||||
let comp = duplicate(this.data.items.filter(item => item.type == 'armor') || []);
|
||||
return comp;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
@ -127,12 +127,22 @@ export class PegasusActor extends Actor {
|
||||
let role = this.data.items.filter(item => item.type == 'role');
|
||||
return role[0] ?? [];
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
checkAndPrepareArmor(armor) {
|
||||
armor.data.resistanceDice = PegasusUtility.getDiceFromLevel(armor.data.resistance);
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
checkAndPrepareArmors(armors) {
|
||||
for (let item of armors) {
|
||||
this.checkAndPrepareArmor(item);
|
||||
}
|
||||
return armors;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
checkAndPrepareWeapon(weapon) {
|
||||
weapon.data.damageDice = PegasusUtility.getDiceFromLevel(weapon.data.damage);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
checkAndPrepareWeapons(weapons) {
|
||||
for (let item of weapons) {
|
||||
@ -436,37 +446,6 @@ export class PegasusActor extends Actor {
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollMR() {
|
||||
let mr = duplicate(this.data.data.mr);
|
||||
if (mr) {
|
||||
mr.dice = PegasusUtility.getDiceFromLevel(mr.value);
|
||||
let rollData = {
|
||||
rollId: randomID(16),
|
||||
mode: "MR",
|
||||
alias: this.name,
|
||||
actorImg: this.img,
|
||||
actorId: this.id,
|
||||
img: this.img,
|
||||
rollMode: game.settings.get("core", "rollMode"),
|
||||
title: `${mr.label} `,
|
||||
stat: mr,
|
||||
activePerks: duplicate(this.getActivePerks()),
|
||||
optionsDiceList: PegasusUtility.getOptionsDiceList(),
|
||||
bonusDicesLevel: 0,
|
||||
hindranceDicesLevel: 0,
|
||||
otherDicesLevel: 0,
|
||||
}
|
||||
|
||||
this.syncRoll(rollData);
|
||||
let rollDialog = await PegasusRollDialog.create(this, rollData);
|
||||
console.log(rollDialog);
|
||||
rollDialog.render(true);
|
||||
} else {
|
||||
ui.notifications.warn("MR not found !");
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getCommonRollData() {
|
||||
let rollData = {
|
||||
@ -530,6 +509,7 @@ export class PegasusActor extends Actor {
|
||||
let stat = this.getStat(statKey);
|
||||
if (stat) {
|
||||
let rollData = this.getCommonRollData()
|
||||
rollData.specList = this.getRelevantSpec(armor.data.statistic)
|
||||
rollData.mode = "stat"
|
||||
rollData.title = `Stat ${stat.label}`;
|
||||
rollData.stat = stat;
|
||||
@ -556,6 +536,24 @@ export class PegasusActor extends Actor {
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollMR() {
|
||||
let mr = duplicate(this.data.data.mr);
|
||||
if (mr) {
|
||||
mr.dice = PegasusUtility.getDiceFromLevel(mr.value);
|
||||
|
||||
let rollData = this.getCommonRollData()
|
||||
rollData.mode = "MR"
|
||||
rollData.stat = mr
|
||||
rollData.activePerks = duplicate(this.getActivePerks()),
|
||||
rollData.specList = this.getRelevantSpec(armor.data.statistic),
|
||||
|
||||
this.startRoll(rollData);
|
||||
} else {
|
||||
ui.notifications.warn("MR not found !");
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async deleteAllItemsByType(itemType) {
|
||||
let items = this.data.items.filter(item => item.type == itemType);
|
||||
@ -738,7 +736,7 @@ export class PegasusActor extends Actor {
|
||||
ui.notifications.warn("Technique not found !");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
updateWithTarget(rollData) {
|
||||
let objectDefender
|
||||
@ -755,9 +753,35 @@ export class PegasusActor extends Actor {
|
||||
//console.log("ROLLDATA DEFENDER !!!", rollData);
|
||||
}
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
async rollArmor(armorId) {
|
||||
let armor = this.data.items.get(armorId)
|
||||
|
||||
if (armor) {
|
||||
let rollData = this.getCommonRollData()
|
||||
|
||||
armor = duplicate(armor);
|
||||
this.checkAndPrepareArmor(armor);
|
||||
|
||||
rollData.mode = "armor"
|
||||
rollData.img = armor.img
|
||||
rollData.armor = armor
|
||||
rollData.title = `Armor : ${armor.name}`
|
||||
rollData.stat = this.getStat(armor.data.statistic)
|
||||
rollData.specList = this.getRelevantSpec(armor.data.statistic)
|
||||
rollData.activePerks = duplicate(this.getActivePerks())
|
||||
rollData.isResistance = true;
|
||||
rollData.otherDicesLevel = armor.data.resistance
|
||||
|
||||
//this.updateWithTarget(rollData);
|
||||
this.startRoll(rollData);
|
||||
} else {
|
||||
ui.notifications.warn("Armor not found !", weaponId);
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollWeapon(weaponId, damage=false) {
|
||||
async rollWeapon(weaponId, damage = false) {
|
||||
let weapon = this.data.items.get(weaponId)
|
||||
|
||||
if (weapon) {
|
||||
@ -773,7 +797,7 @@ export class PegasusActor extends Actor {
|
||||
rollData.stat = this.getStat(weapon.data.statistic)
|
||||
rollData.specList = this.getRelevantSpec(weapon.data.statistic)
|
||||
rollData.activePerks = duplicate(this.getActivePerks())
|
||||
if (damage) {
|
||||
if (damage) {
|
||||
rollData.isDamage = true;
|
||||
rollData.otherDicesLevel = weapon.data.damage
|
||||
}
|
||||
@ -785,4 +809,25 @@ export class PegasusActor extends Actor {
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollPower(powerId) {
|
||||
let power = this.data.items.get(powerId)
|
||||
|
||||
if (power) {
|
||||
let rollData = this.getCommonRollData()
|
||||
power = duplicate(power);
|
||||
|
||||
rollData.mode = "power"
|
||||
rollData.img = power.img
|
||||
rollData.power = power
|
||||
rollData.title = `Power : ${power.name}`
|
||||
rollData.stat = this.getStat(power.data.statistic)
|
||||
rollData.specList = this.getRelevantSpec(power.data.statistic)
|
||||
rollData.activePerks = duplicate(this.getActivePerks())
|
||||
this.startRoll(rollData);
|
||||
} else {
|
||||
ui.notifications.warn("Power not found !", powerId);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user