FIX: attacks, raw attacks
parent
8af8a0f635
commit
6459321493
|
@ -164,7 +164,11 @@ export class OseActorSheet extends ActorSheet {
|
|||
let actorObject = this.actor;
|
||||
let element = event.currentTarget;
|
||||
let attack = element.parentElement.parentElement.dataset.attack;
|
||||
actorObject.rollAttack({roll: {}}, { type: attack, skipDialog: ev.ctrlKey });
|
||||
const rollData = {
|
||||
actor: this.data,
|
||||
roll: {}
|
||||
}
|
||||
actorObject.targetAttack(rollData, attack, {type: attack, skipDialog: ev.ctrlKey});
|
||||
});
|
||||
|
||||
html.find(".spells .item-reset").click((ev) => {
|
||||
|
|
|
@ -105,6 +105,7 @@ export class OseActor extends Actor {
|
|||
let roll = new Roll(this.data.data.hp.hd).roll();
|
||||
return this.update({
|
||||
data: {
|
||||
actor: this.data,
|
||||
hp: {
|
||||
max: roll.total,
|
||||
value: roll.total,
|
||||
|
@ -144,6 +145,7 @@ export class OseActor extends Actor {
|
|||
const rollParts = ["2d6"];
|
||||
|
||||
const data = {
|
||||
actor: this.data,
|
||||
roll: {
|
||||
type: "below",
|
||||
target: this.data.data.details.morale,
|
||||
|
@ -167,6 +169,7 @@ export class OseActor extends Actor {
|
|||
const rollParts = ["2d6"];
|
||||
|
||||
const data = {
|
||||
actor: this.data,
|
||||
roll: {
|
||||
type: "below",
|
||||
target: this.data.data.retainer.loyalty,
|
||||
|
@ -189,6 +192,7 @@ export class OseActor extends Actor {
|
|||
const rollParts = ["2d6"];
|
||||
|
||||
const data = {
|
||||
actor: this.data,
|
||||
roll: {
|
||||
type: "table",
|
||||
table: {
|
||||
|
@ -230,6 +234,7 @@ export class OseActor extends Actor {
|
|||
const rollParts = ["1d20"];
|
||||
|
||||
const data = {
|
||||
actor: this.data,
|
||||
roll: {
|
||||
type: "check",
|
||||
target: this.data.data.scores[score].value,
|
||||
|
@ -262,6 +267,7 @@ export class OseActor extends Actor {
|
|||
}
|
||||
|
||||
const data = {
|
||||
actor: this.data,
|
||||
roll: {
|
||||
type: "hitdice",
|
||||
},
|
||||
|
@ -290,6 +296,7 @@ export class OseActor extends Actor {
|
|||
label = "(1)";
|
||||
}
|
||||
const data = {
|
||||
actor: this.data,
|
||||
roll: {
|
||||
type: {
|
||||
type: "appearing",
|
||||
|
@ -314,6 +321,7 @@ export class OseActor extends Actor {
|
|||
const rollParts = ["1d6"];
|
||||
|
||||
const data = {
|
||||
actor: this.data,
|
||||
roll: {
|
||||
type: "below",
|
||||
target: this.data.data.exploration[expl],
|
||||
|
@ -372,6 +380,17 @@ export class OseActor extends Actor {
|
|||
});
|
||||
}
|
||||
|
||||
async targetAttack(data, type, options) {
|
||||
if (game.user.targets.size > 0) {
|
||||
for (let t of game.user.targets.values()) {
|
||||
data.roll.target = t;
|
||||
await this.rollAttack(data, { type: type, skipDialog: options.skipDialog });
|
||||
}
|
||||
} else {
|
||||
this.rollAttack(data, { type: type, skipDialog: options.skipDialog });
|
||||
}
|
||||
}
|
||||
|
||||
rollAttack(attData, options = {}) {
|
||||
const data = this.data.data;
|
||||
const rollParts = ["1d20"];
|
||||
|
|
|
@ -79,18 +79,6 @@ export class OseItem extends Item {
|
|||
}
|
||||
};
|
||||
|
||||
// rollAttack to target helper
|
||||
const rollAttack = async (type) => {
|
||||
if (game.user.targets.size > 0) {
|
||||
for (let t of game.user.targets.values()) {
|
||||
rollData.roll.target = t;
|
||||
await this.actor.rollAttack(rollData, { type: type, skipDialog: options.skipDialog });
|
||||
}
|
||||
} else {
|
||||
this.actor.rollAttack(rollData, { type: type, skipDialog: options.skipDialog });
|
||||
}
|
||||
};
|
||||
|
||||
if (data.missile && data.melee && !isNPC) {
|
||||
// Dialog
|
||||
new Dialog({
|
||||
|
@ -101,14 +89,14 @@ export class OseItem extends Item {
|
|||
icon: '<i class="fas fa-fist-raised"></i>',
|
||||
label: "Melee",
|
||||
callback: () => {
|
||||
rollAttack("melee");
|
||||
this.targetAttack(rollData, "melee", options);
|
||||
},
|
||||
},
|
||||
missile: {
|
||||
icon: '<i class="fas fa-bullseye"></i>',
|
||||
label: "Missile",
|
||||
callback: () => {
|
||||
rollAttack("missile");
|
||||
this.targetAttack(rollData, "missile", options);
|
||||
},
|
||||
},
|
||||
},
|
||||
|
@ -118,7 +106,7 @@ export class OseItem extends Item {
|
|||
} else if (data.missile && !isNPC) {
|
||||
type = "missile";
|
||||
}
|
||||
rollAttack(type);
|
||||
this.targetAttack(rollData, type, options);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,11 @@
|
|||
<div class="chat-title">
|
||||
<h2>{{title}}</h2>
|
||||
</div>
|
||||
<div class="chat-img" style="background-image:url('{{data.img}}')"></div>
|
||||
{{#if data.item}}
|
||||
<div class="chat-img" style="background-image:url('{{data.item.img}}')"></div>
|
||||
{{else}}
|
||||
<div class="chat-img" style="background-image:url('{{data.actor.img}}')"></div>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{#if result.victim}}
|
||||
<div class="chat-target">
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<div class="ose chat-block">
|
||||
<div class="flexrow chat-header">
|
||||
<div class="chat-title"><h2>{{title}}</h2></div>
|
||||
<div class="chat-img" style="background-image:url('{{data.img}}')"></div>
|
||||
<div class="chat-img" style="background-image:url('{{data.actor.img}}')"></div>
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<ol class="flex2">
|
||||
|
|
|
@ -2,7 +2,11 @@
|
|||
<div class="ose chat-block">
|
||||
<div class="flexrow chat-header">
|
||||
<div class="chat-title"><h2>{{title}}</h2></div>
|
||||
<div class="chat-img" style="background-image:url('{{data.img}}')"></div>
|
||||
{{#if data.item}}
|
||||
<div class="chat-img" style="background-image:url('{{data.item.img}}')"></div>
|
||||
{{else}}
|
||||
<div class="chat-img" style="background-image:url('{{data.actor.img}}')"></div>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{#if result.details}}<div class="chat-details">{{{result.details}}}</div>{{/if}}
|
||||
{{#if result.isFailure}}<div class='roll-result roll-fail'><b>{{localize 'OSE.Failure'}}</b> ({{result.target}})
|
||||
|
|
Loading…
Reference in New Issue