Latest modifications & changes
All checks were successful
Release Creation / build (release) Successful in 1m47s
All checks were successful
Release Creation / build (release) Successful in 1m47s
This commit is contained in:
@@ -124,6 +124,8 @@ export default class LethalFantasyRoll extends Roll {
|
||||
let hasFavor = false
|
||||
let hasMaxValue = true
|
||||
let hasGrantedDice = false
|
||||
let pointBlank = false
|
||||
let beyondSkill = false
|
||||
let hasStaticModifier = false
|
||||
let hasExplode = true
|
||||
|
||||
@@ -132,13 +134,11 @@ export default class LethalFantasyRoll extends Roll {
|
||||
hasD30 = options.rollType === "save"
|
||||
if (options.rollTarget.rollKey === "dying") {
|
||||
dice = options.rollTarget.value
|
||||
maxValue = Number(options.rollTarget.value.match(/\d+/)[0])
|
||||
hasModifier = false
|
||||
hasChangeDice = true
|
||||
hasFavor = true
|
||||
} else {
|
||||
dice = "1D20"
|
||||
maxValue = 20
|
||||
hasFavor = true
|
||||
}
|
||||
|
||||
@@ -148,7 +148,6 @@ export default class LethalFantasyRoll extends Roll {
|
||||
dice = options.rollTarget.formula
|
||||
baseFormula = options.rollTarget.formula
|
||||
hasModifier = false
|
||||
maxValue = 100
|
||||
hasMaxValue = false
|
||||
hasChangeDice = false
|
||||
hasFavor = false
|
||||
@@ -158,7 +157,6 @@ export default class LethalFantasyRoll extends Roll {
|
||||
options.rollName = options.rollTarget.name
|
||||
dice = "1D20"
|
||||
baseFormula = "D20"
|
||||
maxValue = 20
|
||||
hasModifier = true
|
||||
hasChangeDice = false
|
||||
hasFavor = true
|
||||
@@ -172,29 +170,26 @@ export default class LethalFantasyRoll extends Roll {
|
||||
|
||||
} else if (options.rollType === "monster-skill") {
|
||||
options.rollName = game.i18n.localize(`LETHALFANTASY.Label.${options.rollTarget.rollKey}`)
|
||||
dice = "1D100"
|
||||
baseFormula = "D100"
|
||||
maxValue = 100
|
||||
dice = "1D20"
|
||||
baseFormula = "D20"
|
||||
hasModifier = true
|
||||
hasFavor = true
|
||||
hasChangeDice = false
|
||||
|
||||
} else if (options.rollType === "skill") {
|
||||
options.rollName = options.rollTarget.name
|
||||
dice = "1D100"
|
||||
baseFormula = "D100"
|
||||
maxValue = 100
|
||||
dice = "1D20"
|
||||
baseFormula = "D20"
|
||||
hasModifier = true
|
||||
hasFavor = true
|
||||
hasChangeDice = false
|
||||
options.rollTarget.value = options.rollTarget.system.skillTotal
|
||||
options.rollTarget.value = Math.floor(options.rollTarget.system.skillTotal / 10)
|
||||
|
||||
} else if (options.rollType === "weapon-attack" || options.rollType === "weapon-defense") {
|
||||
hasD30 = true
|
||||
options.rollName = options.rollTarget.name
|
||||
dice = "1D20"
|
||||
baseFormula = "D20"
|
||||
maxValue = 20
|
||||
hasModifier = true
|
||||
hasChangeDice = false
|
||||
hasFavor = true
|
||||
@@ -216,7 +211,6 @@ export default class LethalFantasyRoll extends Roll {
|
||||
options.rollName = options.rollTarget.name
|
||||
dice = "1D20"
|
||||
baseFormula = "D20"
|
||||
maxValue = 20
|
||||
hasModifier = true
|
||||
hasChangeDice = false
|
||||
options.rollTarget.value = options.rollTarget.actorModifiers.levelSpellModifier + options.rollTarget.actorModifiers.intSpellModifier
|
||||
@@ -234,7 +228,6 @@ export default class LethalFantasyRoll extends Roll {
|
||||
options.rollName = options.rollTarget.name
|
||||
dice = "1D20"
|
||||
baseFormula = "D20"
|
||||
maxValue = 20
|
||||
hasChangeDice = false
|
||||
options.rollTarget.value = options.rollTarget.actorModifiers.levelMiracleModifier + options.rollTarget.actorModifiers.chaMiracleModifier
|
||||
options.rollTarget.charModifier = options.rollTarget.actorModifiers.chaMiracleModifier
|
||||
@@ -271,7 +264,6 @@ export default class LethalFantasyRoll extends Roll {
|
||||
}
|
||||
dice = dice.replace("E", "")
|
||||
baseFormula = dice
|
||||
maxValue = 20
|
||||
|
||||
} else if (options.rollType.includes("monster-damage")) {
|
||||
options.rollName = options.rollTarget.name
|
||||
@@ -282,7 +274,6 @@ export default class LethalFantasyRoll extends Roll {
|
||||
dice = options.rollTarget.damageDice
|
||||
dice = dice.replace("E", "")
|
||||
baseFormula = dice
|
||||
maxValue = 20
|
||||
}
|
||||
|
||||
|
||||
@@ -317,6 +308,7 @@ export default class LethalFantasyRoll extends Roll {
|
||||
hasModifier,
|
||||
hasFavor,
|
||||
hasChangeDice,
|
||||
pointBlank,
|
||||
baseValue: options.rollTarget.value,
|
||||
changeDice: `${dice}`,
|
||||
fieldRollMode,
|
||||
@@ -359,7 +351,13 @@ export default class LethalFantasyRoll extends Roll {
|
||||
"selectGranted": (event, button, dialog) => {
|
||||
hasGrantedDice = true
|
||||
},
|
||||
"gotoToken" : (event, button, dialog) => {
|
||||
"selectBeyondSkill": (event, button, dialog) => {
|
||||
beyondSkill = button.checked
|
||||
},
|
||||
"selectPointBlank": (event, button, dialog) => {
|
||||
pointBlank = button.checked
|
||||
},
|
||||
"gotoToken": (event, button, dialog) => {
|
||||
let tokenId = $(button).data("tokenId")
|
||||
let token = canvas.tokens?.get(tokenId)
|
||||
if (token) {
|
||||
@@ -387,12 +385,8 @@ export default class LethalFantasyRoll extends Roll {
|
||||
if (fullModifier === 0) {
|
||||
modifierFormula = "0"
|
||||
} else {
|
||||
if (options.rollType === "skill" || options.rollType === "monster-skill") {
|
||||
modifierFormula = `${fullModifier}`
|
||||
} else {
|
||||
let modAbs = Math.abs(fullModifier)
|
||||
modifierFormula = `D${modAbs + 1} - 1`
|
||||
}
|
||||
let modAbs = Math.abs(fullModifier)
|
||||
modifierFormula = `D${modAbs + 1} - 1`
|
||||
}
|
||||
if (hasStaticModifier) {
|
||||
modifierFormula += ` + ${options.rollTarget.staticModifier}`
|
||||
@@ -415,6 +409,14 @@ export default class LethalFantasyRoll extends Roll {
|
||||
}
|
||||
}
|
||||
|
||||
// Latest addition : favor choice at point blank range
|
||||
if (pointBlank) {
|
||||
rollContext.favor = "favor"
|
||||
}
|
||||
if (beyondSkill) {
|
||||
rollContext.favor = "disfavor"
|
||||
}
|
||||
|
||||
// Specific pain case
|
||||
if (options.rollType === "save" && options.rollTarget.rollKey === "pain" || options.rollTarget.rollKey === "paincourage") {
|
||||
baseFormula = options.rollTarget.rollDice
|
||||
@@ -935,7 +937,24 @@ export default class LethalFantasyRoll extends Roll {
|
||||
rejectClose: false // Click on Close button will not launch an error
|
||||
})
|
||||
|
||||
// If the user cancels the dialog, exit
|
||||
if (rollContext === null) return
|
||||
|
||||
console.log("RollContext", rollContext)
|
||||
// Add disfavor/favor option if point blank range
|
||||
if (rollContext.range === "pointblank") {
|
||||
rollContext.movement = rollContext.movement.replace("kh", "")
|
||||
rollContext.movement = rollContext.movement.replace("kl", "")
|
||||
rollContext.movement += "kl" // Add the kl to the movement (disfavor for point blank range)
|
||||
rollContext.range = "0"
|
||||
}
|
||||
if (rollContext.range === "beyondskill") {
|
||||
rollContext.movement = rollContext.movement.replace("kh", "")
|
||||
rollContext.movement = rollContext.movement.replace("kl", "")
|
||||
rollContext.movement += "kh" // Add the kl to the movement (disfavor for point blank range)
|
||||
rollContext.range = "+11"
|
||||
}
|
||||
|
||||
// Build the final modifier
|
||||
let fullModifier = Number(rollContext.moveDirection) +
|
||||
Number(rollContext.size) +
|
||||
@@ -951,9 +970,6 @@ export default class LethalFantasyRoll extends Roll {
|
||||
modifierFormula = `${modAbs}`
|
||||
}
|
||||
|
||||
// If the user cancels the dialog, exit
|
||||
if (rollContext === null) return
|
||||
|
||||
let rollData = { ...rollContext }
|
||||
let options = { ...rollContext }
|
||||
options.rollName = "Ranged Defense"
|
||||
@@ -965,6 +981,7 @@ export default class LethalFantasyRoll extends Roll {
|
||||
let rollD30 = await new Roll("1D30").evaluate()
|
||||
options.D30result = rollD30.total
|
||||
|
||||
|
||||
let dice = rollContext.movement
|
||||
let maxValue = 20 // As per latest changes (was : Number(dice.match(/\d+$/)[0])
|
||||
let rollTotal = -1
|
||||
|
||||
Reference in New Issue
Block a user