This commit is contained in:
@@ -338,6 +338,10 @@ export default class LethalFantasyRoll extends Roll {
|
||||
let modifier = "+0"
|
||||
let targetName
|
||||
|
||||
// True for any ranged attack: PC weapon (ranged type) or monster attack (ranged mode)
|
||||
const isRangedAttack = (options.rollType === "weapon-attack" && options.rollTarget?.weapon?.system?.weaponType === "ranged")
|
||||
|| (options.rollType === "monster-attack" && options.rollTarget?.attackMode === "ranged")
|
||||
|
||||
let dialogContext = {
|
||||
rollType: options.rollType,
|
||||
rollTarget: options.rollTarget,
|
||||
@@ -362,7 +366,8 @@ export default class LethalFantasyRoll extends Roll {
|
||||
modifier,
|
||||
saveSpell: false,
|
||||
favor: "none",
|
||||
targetName
|
||||
targetName,
|
||||
isRangedAttack
|
||||
}
|
||||
let rollContext
|
||||
if (options.rollContext) {
|
||||
|
||||
@@ -283,23 +283,6 @@ export default class LethalFantasyCharacter extends foundry.abstract.TypeDataMod
|
||||
*/
|
||||
async roll(rollType, rollTarget, defenderId, defenderTokenId, extraShieldDr = 0) {
|
||||
const hasTarget = false
|
||||
|
||||
// Ranged weapon attacks from PCs use the ranged attack dialog (range, movement, aim modifiers)
|
||||
if (rollType === "weapon-attack" && rollTarget?.isRangedAttack === true) {
|
||||
let roll = await LethalFantasyRoll.promptRangedAttack({
|
||||
rollType: "weapon-attack",
|
||||
actorId: this.parent.id,
|
||||
actorName: this.parent.name,
|
||||
actorImage: this.parent.img,
|
||||
rollTarget,
|
||||
defenderId,
|
||||
defenderTokenId,
|
||||
})
|
||||
if (!roll) return null
|
||||
await roll.toMessage({}, { messageMode: roll.options.rollMode })
|
||||
return
|
||||
}
|
||||
|
||||
let roll = await LethalFantasyRoll.prompt({
|
||||
rollType,
|
||||
rollTarget,
|
||||
|
||||
@@ -167,22 +167,7 @@ export default class LethalFantasyMonster extends foundry.abstract.TypeDataModel
|
||||
async roll(rollType, rollTarget, defenderId = undefined, defenderTokenId = undefined, extraShieldDr = 0) {
|
||||
const hasTarget = false
|
||||
|
||||
// Ranged monster attacks use a specialized dialog with range/movement/size/aim modifiers
|
||||
if (rollType === "monster-attack" && rollTarget?.attackMode === "ranged") {
|
||||
let roll = await LethalFantasyRoll.promptRangedAttack({
|
||||
actorId: this.parent.id,
|
||||
actorName: this.parent.name,
|
||||
actorImage: this.parent.img,
|
||||
rollTarget,
|
||||
defenderId,
|
||||
defenderTokenId,
|
||||
})
|
||||
if (!roll) return null
|
||||
await roll.toMessage({}, { messageMode: roll.options.rollMode })
|
||||
return
|
||||
}
|
||||
|
||||
// Ranged monster defense uses the same ranged defense dialog as PC characters
|
||||
// Ranged monster defense uses the ranged defense dialog (movement, range, size modifiers)
|
||||
if (rollType === "monster-defense" && rollTarget?.isRangedDefense === true) {
|
||||
let roll = await LethalFantasyRoll.promptRangedDefense({
|
||||
actorId: this.parent.id,
|
||||
|
||||
Reference in New Issue
Block a user