Rollable damages + protection

This commit is contained in:
2022-01-16 22:06:49 +01:00
parent 69b6fbca6b
commit 831b192691
8 changed files with 197 additions and 304 deletions

View File

@ -182,6 +182,7 @@ export class BoLActorSheet extends ActorSheet {
const dataset = element.dataset;
const actorData = this.getData();
const rollType = dataset.rollType;
const li = $(event.currentTarget).closest(".item");
switch(rollType) {
case "attribute" :
BoLRoll.attributeCheck(this.actor, actorData, dataset, event);
@ -192,6 +193,12 @@ export class BoLActorSheet extends ActorSheet {
case "weapon":
BoLRoll.weaponCheck(this.actor, actorData, dataset, event);
break;
case "protection":
this.actor.rollProtection(li.data("item-id"))
break;
case "damage":
this.actor.rollWeaponDamage(li.data("item-id"))
break;
default : break;
}
}

View File

@ -1,3 +1,5 @@
import { BoLDefaultRoll } from "../controllers/bol-rolls.js";
/**
* Extend the base Actor entity by defining a custom roll data structure which is ideal for the Simple system.
* @extends {Actor}
@ -270,6 +272,27 @@ export class BoLActor extends Actor {
return (formula == "") ? 0 :formula;
}
/* -------------------------------------------- */
rollProtection( itemId) {
let armor = this.data.items.get( itemId )
if ( armor ) {
let armorFormula = armor.data.data.properties.soak.formula;
let rollArmor = new Roll(armorFormula)
rollArmor.roll( {async: false} ).toMessage();
}
}
/* -------------------------------------------- */
rollWeaponDamage( itemId) {
let weapon = this.data.items.get(itemId )
if ( weapon ) {
console.log("WE", weapon)
let r = new BoLDefaultRoll( { id: randomID(16), isSuccess: true, mode: "weapon", weapon: weapon, actor: this} )
r.setSuccess(true)
r.processResult()
}
}
/* -------------------------------------------- */
toggleEquipItem(item) {
const equipable = item.data.data.properties.equipable;