Fix dice values + miracle/spell roll

This commit is contained in:
LeRatierBretonnien 2025-01-30 13:40:01 +01:00
parent 560b2eb5ac
commit b78cdb0c10
36 changed files with 160 additions and 91 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 647 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 76 KiB

After

Width:  |  Height:  |  Size: 133 KiB

View File

@ -281,6 +281,10 @@
}
},
"Label": {
"spell-power": "Spell - Power",
"spell-attack": "Spell - Attack",
"miracle-power": "Miracle - Power",
"miracle-attack": "Miracle - Attack",
"will":"Will",
"dodge":"Dodge",
"toughness":"Toughness",
@ -415,6 +419,12 @@
},
"Miracle": {
"FIELDS": {
"attackRoll": {
"label": "Attack roll"
},
"powerRoll": {
"label": "Power roll"
},
"materialComponent": {
"label": "Material component"
},
@ -636,6 +646,12 @@
},
"Spell": {
"FIELDS": {
"attackRoll": {
"label": "Attack roll"
},
"powerRoll": {
"label": "Power roll"
},
"areaAffected": {
"label": "Area affected"
},

View File

@ -315,6 +315,16 @@ export default class LethalFantasyCharacterSheet extends LethalFantasyActorSheet
return
}
break
case "miracle-attack":
case "miracle-power":
rollTarget = this.actor.items.find((i) => i.type === "miracle" && i.id === rollKey)
rollTarget.rollKey = rollKey
break
case "spell-attack":
case "spell-power":
rollTarget = this.actor.items.find((i) => i.type === "spell" && i.id === rollKey)
rollTarget.rollKey = rollKey
break
case "weapon-damage-small":
case "weapon-damage-medium":
case "weapon-attack":
@ -371,6 +381,7 @@ export default class LethalFantasyCharacterSheet extends LethalFantasyActorSheet
// In all cases
rollTarget.magicUser = this.actor.system.biodata.magicUser
rollTarget.actorModifiers = foundry.utils.duplicate(this.actor.system.modifiers)
rollTarget.actorLevel = this.actor.system.biodata.level
console.log("ROLLTARGET", rollTarget)
await this.document.system.roll(rollType, rollTarget)
}

View File

@ -117,13 +117,14 @@ export default class LethalFantasyRoll extends Roll {
let dice = "1D20"
let maxValue = 20
let baseFormula = "1D20"
let modifierFormula = "1d0"
let modifierFormula = "1D0"
let hasModifier = true
let hasChangeDice = false
let hasD30 = false
let hasFavor = false
let hasMaxValue = true
let hasGrantedDice = false
let hasStaticModifier = false
if (options.rollType === "challenge" || options.rollType === "save") {
options.rollName = game.i18n.localize(`LETHALFANTASY.Label.${options.rollTarget.rollKey}`)
@ -204,7 +205,7 @@ export default class LethalFantasyRoll extends Roll {
options.rollTarget.charModifier = options.rollTarget.combat.defenseModifier
}
} else if (options.rollType === "spell") {
} else if (options.rollType === "spell" || options.rollType === "spell-attack" || options.rollType === "spell-power") {
hasD30 = true
options.rollName = options.rollTarget.name
dice = "1D20"
@ -214,8 +215,10 @@ export default class LethalFantasyRoll extends Roll {
hasChangeDice = false
options.rollTarget.value = options.rollTarget.actorModifiers.levelSpellModifier + options.rollTarget.actorModifiers.intSpellModifier
options.rollTarget.charModifier = options.rollTarget.actorModifiers.intSpellModifier
hasStaticModifier = options.rollType === "spell-power"
options.rollTarget.staticModifier = options.rollTarget.actorLevel
} else if (options.rollType === "miracle") {
} else if (options.rollType === "miracle" || options.rollType === "miracle-attack" || options.rollType === "spell-power") {
hasD30 = true
options.rollName = options.rollTarget.name
dice = "1D20"
@ -225,6 +228,8 @@ export default class LethalFantasyRoll extends Roll {
hasChangeDice = false
options.rollTarget.value = options.rollTarget.actorModifiers.levelMiracleModifier + options.rollTarget.actorModifiers.chaMiracleModifier
options.rollTarget.charModifier = options.rollTarget.actorModifiers.chaMiracleModifier
hasStaticModifier = options.rollType === "spell-power"
options.rollTarget.staticModifier = options.rollTarget.actorLevel
} else if (options.rollType.includes("weapon-damage")) {
options.rollName = options.rollTarget.name
@ -343,9 +348,12 @@ export default class LethalFantasyRoll extends Roll {
modifierFormula = `${fullModifier}`
} else {
let modAbs = Math.abs(fullModifier)
modifierFormula = `d${modAbs + 1} - 1`
modifierFormula = `D${modAbs + 1} - 1`
}
}
if (hasStaticModifier) {
modifierFormula += ` + ${options.rollTarget.staticModifier}`
}
let sign = fullModifier < 0 ? "-" : "+"
titleFormula = `${dice}E ${sign} ${modifierFormula}`
} else {
@ -407,7 +415,7 @@ export default class LethalFantasyRoll extends Roll {
rollFavor = new this(baseFormula, options.data, rollData)
await rollFavor.evaluate()
if (game?.dice3d) {
await game.dice3d.showForRoll(rollFavor, game.user, true)
game.dice3d.showForRoll(rollFavor, game.user, true)
}
if (rollFavor.result > rollBase.result) {
badResult = rollBase.result
@ -421,7 +429,7 @@ export default class LethalFantasyRoll extends Roll {
rollFavor = new this(baseFormula, options.data, rollData)
await rollFavor.evaluate()
if (game?.dice3d) {
await game.dice3d.showForRoll(rollFavor, game.user, true)
game.dice3d.showForRoll(rollFavor, game.user, true)
}
if (rollFavor.result < rollBase.result) {
badResult = rollBase.result
@ -434,7 +442,7 @@ export default class LethalFantasyRoll extends Roll {
if (hasD30) {
let rollD30 = await new Roll("1D30").evaluate()
if (game?.dice3d) {
await game.dice3d.showForRoll(rollD30, game.user, true)
game.dice3d.showForRoll(rollD30, game.user, true)
}
options.D30result = rollD30.total
}
@ -448,7 +456,7 @@ export default class LethalFantasyRoll extends Roll {
for (let i = 0; i < rollBase.dice.length; i++) {
for (let j = 0; j < rollBase.dice[i].results.length; j++) {
let diceResult = rollBase.dice[i].results[j].result
diceResults.push({ dice: `${singleDice}`, value: diceResult })
diceResults.push({ dice: `${singleDice.toUpperCase()}`, value: diceResult })
diceSum += diceResult
if (hasMaxValue) {
while (diceResult === maxValue) {
@ -457,7 +465,7 @@ export default class LethalFantasyRoll extends Roll {
await game.dice3d.showForRoll(r, game.user, true)
}
diceResult = r.dice[0].results[0].result
diceResults.push({ dice: `${singleDice}-1`, value: diceResult - 1 })
diceResults.push({ dice: `${singleDice.toUpperCase()}-1`, value: diceResult - 1 })
diceSum += (diceResult - 1)
}
}
@ -470,12 +478,12 @@ export default class LethalFantasyRoll extends Roll {
if (game?.dice3d) {
await game.dice3d.showForRoll(grantedRoll, game.user, true)
}
diceResults.push({ dice: `${options.rollTarget.grantedDice}`, value: grantedRoll.total })
diceResults.push({ dice: `${options.rollTarget.grantedDice.toUpperCase()}`, value: grantedRoll.total })
rollTotal += grantedRoll.total
}
if (fullModifier !== 0) {
diceResults.push({ dice: `${rollModifier.formula}`, value: rollModifier.total })
diceResults.push({ dice: `${rollModifier.formula.toUpperCase()}`, value: rollModifier.total })
if (fullModifier < 0) {
rollTotal = Math.max(diceSum - rollModifier.total, 0)
} else {
@ -713,7 +721,7 @@ export default class LethalFantasyRoll extends Roll {
modifierFormula = "0"
} else {
let modAbs = Math.abs(fullModifier)
modifierFormula = `d${modAbs + 1} - 1`
modifierFormula = `D${modAbs + 1} - 1`
}
// If the user cancels the dialog, exit
@ -737,16 +745,16 @@ export default class LethalFantasyRoll extends Roll {
let resultType
let diceResult = rollBase.dice[0].results[0].result
diceResults.push({ dice: `${dice}`, value: diceResult })
diceResults.push({ dice: `${dice.toUpperCase()}`, value: diceResult })
let diceSum = diceResult
while (diceResult === maxValue) {
let r = await new Roll(baseFormula).evaluate()
diceResult = r.dice[0].results[0].result
diceResults.push({ dice: `${dice}-1`, value: diceResult - 1 })
diceResults.push({ dice: `${dice.toUpperCase()}-1`, value: diceResult - 1 })
diceSum += (diceResult - 1)
}
if (fullModifier !== 0) {
diceResults.push({ dice: `${rollModifier.formula}`, value: rollModifier.total })
diceResults.push({ dice: `${rollModifier.formula.toUpperCase()}`, value: rollModifier.total })
if (fullModifier < 0) {
rollTotal = Math.max(diceSum - rollModifier.total, 0)
} else {
@ -802,7 +810,13 @@ export default class LethalFantasyRoll extends Roll {
case "weapon-damage-medium":
return `${game.i18n.localize("LETHALFANTASY.Label.weapon-damage-medium")}`
case "spell":
case "spell-attack":
case "spell-power":
return `${game.i18n.localize("LETHALFANTASY.Label.spell")}`
case "miracle":
case "miracle-attack":
case "miracle-power":
return `${game.i18n.localize("LETHALFANTASY.Label.miracle")}`
default:
return game.i18n.localize("LETHALFANTASY.Label.titleStandard")
}

View File

@ -280,7 +280,7 @@ export default class LethalFantasyCharacter extends foundry.abstract.TypeDataMod
// Get all weapons from the actor
let weapons = this.parent.items.filter(i => i.type === "weapon")
let weaponsChoices = weapons.map(w => { return { id: w.id, name: `${w.name} (${w.system.combatProgressionDice})`, combatProgressionDice: w.system.combatProgressionDice } })
let weaponsChoices = weapons.map(w => { return { id: w.id, name: `${w.name} (${w.system.combatProgressionDice.toUpperCase()})`, combatProgressionDice: w.system.combatProgressionDice.toUpperCase() } })
let roll = await LethalFantasyRoll.promptProgressionDice({
actorId: this.parent.id,

View File

@ -32,6 +32,9 @@ export default class LethalFantasyMiracle extends foundry.abstract.TypeDataModel
schema.materialComponent = new fields.StringField({ required: true, initial: "" })
schema.catalyst = new fields.StringField({ required: true, initial: "" })
schema.attackRoll = new fields.StringField({ required: true, initial: "" })
schema.powerRoll = new fields.StringField({ required: true, initial: "" })
return schema
}

View File

@ -15,7 +15,7 @@ export default class LethalFantasySpell extends foundry.abstract.TypeDataModel {
...requiredInteger,
initial: 1,
min: 1,
max: 20,
max: 25,
})
schema.cost = new fields.NumberField({ ...requiredInteger, required: true, initial: 0, min: 0 })
@ -31,6 +31,9 @@ export default class LethalFantasySpell extends foundry.abstract.TypeDataModel {
schema.savingThrow = new fields.StringField({ required: true, initial: "" })
schema.extraAetherPoints = new fields.StringField({ required: true, initial: "" })
schema.materialComponent = new fields.StringField({ required: true, initial: "" })
schema.attackRoll = new fields.StringField({ required: true, initial: "" })
schema.powerRoll = new fields.StringField({ required: true, initial: "" })
return schema
}

View File

@ -1 +1 @@
MANIFEST-000110
MANIFEST-000122

View File

@ -1,8 +1,8 @@
2025/01/22-20:17:58.203511 7f6e75ffb6c0 Recovering log #108
2025/01/22-20:17:58.226399 7f6e75ffb6c0 Delete type=3 #106
2025/01/22-20:17:58.226464 7f6e75ffb6c0 Delete type=0 #108
2025/01/22-20:20:23.551087 7f6e753ff6c0 Level-0 table #113: started
2025/01/22-20:20:23.551124 7f6e753ff6c0 Level-0 table #113: 0 bytes OK
2025/01/22-20:20:23.603743 7f6e753ff6c0 Delete type=0 #111
2025/01/22-20:20:23.663905 7f6e753ff6c0 Manual compaction at level-0 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zFrygJ2TnrxchBai' @ 0 : 0; will stop at (end)
2025/01/22-20:20:23.663958 7f6e753ff6c0 Manual compaction at level-1 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zFrygJ2TnrxchBai' @ 0 : 0; will stop at (end)
2025/01/30-13:15:14.918312 7ff407fff6c0 Recovering log #120
2025/01/30-13:15:14.929657 7ff407fff6c0 Delete type=3 #118
2025/01/30-13:15:14.929719 7ff407fff6c0 Delete type=0 #120
2025/01/30-13:39:44.181843 7ff4077fe6c0 Level-0 table #125: started
2025/01/30-13:39:44.181878 7ff4077fe6c0 Level-0 table #125: 0 bytes OK
2025/01/30-13:39:44.188409 7ff4077fe6c0 Delete type=0 #123
2025/01/30-13:39:44.188600 7ff4077fe6c0 Manual compaction at level-0 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zFrygJ2TnrxchBai' @ 0 : 0; will stop at (end)
2025/01/30-13:39:44.188646 7ff4077fe6c0 Manual compaction at level-1 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zFrygJ2TnrxchBai' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2025/01/22-15:26:10.159662 7f6e75ffb6c0 Recovering log #104
2025/01/22-15:26:10.260006 7f6e75ffb6c0 Delete type=3 #102
2025/01/22-15:26:10.260101 7f6e75ffb6c0 Delete type=0 #104
2025/01/22-15:29:24.725949 7f6e753ff6c0 Level-0 table #109: started
2025/01/22-15:29:24.725997 7f6e753ff6c0 Level-0 table #109: 0 bytes OK
2025/01/22-15:29:24.739763 7f6e753ff6c0 Delete type=0 #107
2025/01/22-15:29:24.770273 7f6e753ff6c0 Manual compaction at level-0 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zFrygJ2TnrxchBai' @ 0 : 0; will stop at (end)
2025/01/22-15:29:24.770310 7f6e753ff6c0 Manual compaction at level-1 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zFrygJ2TnrxchBai' @ 0 : 0; will stop at (end)
2025/01/30-07:59:30.631841 7ff40cdf86c0 Recovering log #116
2025/01/30-07:59:30.841049 7ff40cdf86c0 Delete type=3 #114
2025/01/30-07:59:30.841132 7ff40cdf86c0 Delete type=0 #116
2025/01/30-08:19:17.497882 7ff4077fe6c0 Level-0 table #121: started
2025/01/30-08:19:17.497911 7ff4077fe6c0 Level-0 table #121: 0 bytes OK
2025/01/30-08:19:17.504198 7ff4077fe6c0 Delete type=0 #119
2025/01/30-08:19:17.504366 7ff4077fe6c0 Manual compaction at level-0 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zFrygJ2TnrxchBai' @ 0 : 0; will stop at (end)
2025/01/30-08:19:17.504391 7ff4077fe6c0 Manual compaction at level-1 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zFrygJ2TnrxchBai' @ 0 : 0; will stop at (end)

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000110
MANIFEST-000122

View File

@ -1,8 +1,8 @@
2025/01/22-20:17:58.229999 7f6e767fc6c0 Recovering log #108
2025/01/22-20:17:58.251255 7f6e767fc6c0 Delete type=3 #106
2025/01/22-20:17:58.251323 7f6e767fc6c0 Delete type=0 #108
2025/01/22-20:20:23.603868 7f6e753ff6c0 Level-0 table #113: started
2025/01/22-20:20:23.603893 7f6e753ff6c0 Level-0 table #113: 0 bytes OK
2025/01/22-20:20:23.663694 7f6e753ff6c0 Delete type=0 #111
2025/01/22-20:20:23.663919 7f6e753ff6c0 Manual compaction at level-0 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!zjvGljrLk5SshC9D' @ 0 : 0; will stop at (end)
2025/01/22-20:20:23.663967 7f6e753ff6c0 Manual compaction at level-1 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!zjvGljrLk5SshC9D' @ 0 : 0; will stop at (end)
2025/01/30-13:15:14.932713 7ff40cdf86c0 Recovering log #120
2025/01/30-13:15:14.942469 7ff40cdf86c0 Delete type=3 #118
2025/01/30-13:15:14.942527 7ff40cdf86c0 Delete type=0 #120
2025/01/30-13:39:44.163166 7ff4077fe6c0 Level-0 table #125: started
2025/01/30-13:39:44.163210 7ff4077fe6c0 Level-0 table #125: 0 bytes OK
2025/01/30-13:39:44.169687 7ff4077fe6c0 Delete type=0 #123
2025/01/30-13:39:44.188551 7ff4077fe6c0 Manual compaction at level-0 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!zjvGljrLk5SshC9D' @ 0 : 0; will stop at (end)
2025/01/30-13:39:44.188611 7ff4077fe6c0 Manual compaction at level-1 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!zjvGljrLk5SshC9D' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2025/01/22-15:26:10.272525 7f6e777fe6c0 Recovering log #104
2025/01/22-15:26:10.364666 7f6e777fe6c0 Delete type=3 #102
2025/01/22-15:26:10.364744 7f6e777fe6c0 Delete type=0 #104
2025/01/22-15:29:24.750046 7f6e753ff6c0 Level-0 table #109: started
2025/01/22-15:29:24.750088 7f6e753ff6c0 Level-0 table #109: 0 bytes OK
2025/01/22-15:29:24.760308 7f6e753ff6c0 Delete type=0 #107
2025/01/22-15:29:24.770296 7f6e753ff6c0 Manual compaction at level-0 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!zjvGljrLk5SshC9D' @ 0 : 0; will stop at (end)
2025/01/22-15:29:24.770331 7f6e753ff6c0 Manual compaction at level-1 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!zjvGljrLk5SshC9D' @ 0 : 0; will stop at (end)
2025/01/30-07:59:30.844287 7ff40ddfa6c0 Recovering log #116
2025/01/30-07:59:30.958513 7ff40ddfa6c0 Delete type=3 #114
2025/01/30-07:59:30.958598 7ff40ddfa6c0 Delete type=0 #116
2025/01/30-08:19:17.484154 7ff4077fe6c0 Level-0 table #121: started
2025/01/30-08:19:17.484188 7ff4077fe6c0 Level-0 table #121: 0 bytes OK
2025/01/30-08:19:17.490585 7ff4077fe6c0 Delete type=0 #119
2025/01/30-08:19:17.504345 7ff4077fe6c0 Manual compaction at level-0 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!zjvGljrLk5SshC9D' @ 0 : 0; will stop at (end)
2025/01/30-08:19:17.504400 7ff4077fe6c0 Manual compaction at level-1 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!zjvGljrLk5SshC9D' @ 0 : 0; will stop at (end)

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000110
MANIFEST-000122

View File

@ -1,8 +1,8 @@
2025/01/22-20:17:58.174718 7f6e777fe6c0 Recovering log #108
2025/01/22-20:17:58.198159 7f6e777fe6c0 Delete type=3 #106
2025/01/22-20:17:58.198223 7f6e777fe6c0 Delete type=0 #108
2025/01/22-20:20:23.484866 7f6e753ff6c0 Level-0 table #113: started
2025/01/22-20:20:23.484900 7f6e753ff6c0 Level-0 table #113: 0 bytes OK
2025/01/22-20:20:23.550920 7f6e753ff6c0 Delete type=0 #111
2025/01/22-20:20:23.663891 7f6e753ff6c0 Manual compaction at level-0 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)
2025/01/22-20:20:23.663932 7f6e753ff6c0 Manual compaction at level-1 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)
2025/01/30-13:15:14.903736 7ff40ddfa6c0 Recovering log #120
2025/01/30-13:15:14.914198 7ff40ddfa6c0 Delete type=3 #118
2025/01/30-13:15:14.914248 7ff40ddfa6c0 Delete type=0 #120
2025/01/30-13:39:44.169809 7ff4077fe6c0 Level-0 table #125: started
2025/01/30-13:39:44.169838 7ff4077fe6c0 Level-0 table #125: 0 bytes OK
2025/01/30-13:39:44.175750 7ff4077fe6c0 Delete type=0 #123
2025/01/30-13:39:44.188573 7ff4077fe6c0 Manual compaction at level-0 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)
2025/01/30-13:39:44.188620 7ff4077fe6c0 Manual compaction at level-1 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2025/01/22-15:26:10.036702 7f6e767fc6c0 Recovering log #104
2025/01/22-15:26:10.147392 7f6e767fc6c0 Delete type=3 #102
2025/01/22-15:26:10.147498 7f6e767fc6c0 Delete type=0 #104
2025/01/22-15:29:24.739913 7f6e753ff6c0 Level-0 table #109: started
2025/01/22-15:29:24.739952 7f6e753ff6c0 Level-0 table #109: 0 bytes OK
2025/01/22-15:29:24.749878 7f6e753ff6c0 Delete type=0 #107
2025/01/22-15:29:24.770286 7f6e753ff6c0 Manual compaction at level-0 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)
2025/01/22-15:29:24.770317 7f6e753ff6c0 Manual compaction at level-1 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)
2025/01/30-07:59:30.483984 7ff407fff6c0 Recovering log #116
2025/01/30-07:59:30.627999 7ff407fff6c0 Delete type=3 #114
2025/01/30-07:59:30.628097 7ff407fff6c0 Delete type=0 #116
2025/01/30-08:19:17.477906 7ff4077fe6c0 Level-0 table #121: started
2025/01/30-08:19:17.477957 7ff4077fe6c0 Level-0 table #121: 0 bytes OK
2025/01/30-08:19:17.484025 7ff4077fe6c0 Delete type=0 #119
2025/01/30-08:19:17.504332 7ff4077fe6c0 Manual compaction at level-0 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)
2025/01/30-08:19:17.504375 7ff4077fe6c0 Manual compaction at level-1 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)

Binary file not shown.

View File

@ -1 +1 @@
MANIFEST-000110
MANIFEST-000122

View File

@ -1,8 +1,8 @@
2025/01/22-20:17:58.254488 7f6e76ffd6c0 Recovering log #108
2025/01/22-20:17:58.277962 7f6e76ffd6c0 Delete type=3 #106
2025/01/22-20:17:58.278083 7f6e76ffd6c0 Delete type=0 #108
2025/01/22-20:20:23.910111 7f6e753ff6c0 Level-0 table #113: started
2025/01/22-20:20:23.910147 7f6e753ff6c0 Level-0 table #113: 0 bytes OK
2025/01/22-20:20:24.027490 7f6e753ff6c0 Delete type=0 #111
2025/01/22-20:20:24.027658 7f6e753ff6c0 Manual compaction at level-0 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)
2025/01/22-20:20:24.027694 7f6e753ff6c0 Manual compaction at level-1 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)
2025/01/30-13:15:14.945218 7ff40d5f96c0 Recovering log #120
2025/01/30-13:15:14.955687 7ff40d5f96c0 Delete type=3 #118
2025/01/30-13:15:14.955744 7ff40d5f96c0 Delete type=0 #120
2025/01/30-13:39:44.200949 7ff4077fe6c0 Level-0 table #125: started
2025/01/30-13:39:44.200977 7ff4077fe6c0 Level-0 table #125: 0 bytes OK
2025/01/30-13:39:44.206854 7ff4077fe6c0 Delete type=0 #123
2025/01/30-13:39:44.214246 7ff4077fe6c0 Manual compaction at level-0 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)
2025/01/30-13:39:44.214303 7ff4077fe6c0 Manual compaction at level-1 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)

View File

@ -1,8 +1,8 @@
2025/01/22-15:26:10.370654 7f6e76ffd6c0 Recovering log #104
2025/01/22-15:26:10.468522 7f6e76ffd6c0 Delete type=3 #102
2025/01/22-15:26:10.468644 7f6e76ffd6c0 Delete type=0 #104
2025/01/22-15:29:24.760416 7f6e753ff6c0 Level-0 table #109: started
2025/01/22-15:29:24.760440 7f6e753ff6c0 Level-0 table #109: 0 bytes OK
2025/01/22-15:29:24.770164 7f6e753ff6c0 Delete type=0 #107
2025/01/22-15:29:24.770304 7f6e753ff6c0 Manual compaction at level-0 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)
2025/01/22-15:29:24.770324 7f6e753ff6c0 Manual compaction at level-1 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)
2025/01/30-07:59:30.961782 7ff40d5f96c0 Recovering log #116
2025/01/30-07:59:31.068433 7ff40d5f96c0 Delete type=3 #114
2025/01/30-07:59:31.068492 7ff40d5f96c0 Delete type=0 #116
2025/01/30-08:19:17.490778 7ff4077fe6c0 Level-0 table #121: started
2025/01/30-08:19:17.490810 7ff4077fe6c0 Level-0 table #121: 0 bytes OK
2025/01/30-08:19:17.497744 7ff4077fe6c0 Delete type=0 #119
2025/01/30-08:19:17.504356 7ff4077fe6c0 Manual compaction at level-0 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)
2025/01/30-08:19:17.504383 7ff4077fe6c0 Manual compaction at level-1 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)

View File

@ -25,11 +25,17 @@
<div class="miracle" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-drag="true" >
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
<div class="name" >
<a class="rollable" data-roll-type="miracle" data-roll-key="{{item.id}}">
<i class="lf-roll-small fa-solid fa-dice-d20"></i>
{{item.name}}
</a>
</div>
<a class="rollable" data-roll-type="miracle-attack" data-roll-key="{{item.id}}" data-tooltip="Miracle Attack">
<i class="lf-roll-small fa-solid fa-swords" data-roll-type="miracle-attack" data-roll-key="{{item.id}}"></i>
</a>
<a class="rollable" data-roll-type="miracle-power" data-roll-key="{{item.id}}" data-tooltip="Miracle Power">
<i class="fa-duotone fa-solid fa-stars" data-roll-type="miracle-power" data-roll-key="{{item.id}}"></i>
</a>
<div class="controls">
<a data-tooltip="{{localize 'LETHALFANTASY.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a>

View File

@ -25,11 +25,17 @@
<div class="spell" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-drag="true" >
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
<div class="name" >
<a class="rollable" data-roll-type="spell" data-roll-key="{{item.id}}">
<i class="lf-roll-small fa-solid fa-dice-d20"></i>
{{item.name}}
</a>
</div>
<a class="rollable" data-roll-type="spell-attack" data-roll-key="{{item.id}}" data-tooltip="Spell Attack">
<i class="lf-roll-small fa-solid fa-swords" data-roll-type="spell-attack" data-roll-key="{{item.id}}"></i>
</a>
<a class="rollable" data-roll-type="spell-power" data-roll-key="{{item.id}}" data-tooltip="Spell Power">
<i class="fa-duotone fa-solid fa-stars" data-roll-type="spell-power" data-roll-key="{{item.id}}"></i>
</a>
<div class="controls">
<a data-tooltip="{{localize 'LETHALFANTASY.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a>

View File

@ -15,6 +15,9 @@
{{formField systemFields.components.fields.religious value=system.components.religious}}
</div>
<!-- {{formField systemFields.attackRoll value=system.attackRoll}}
{{formField systemFields.powerRoll value=system.powerRoll}}-->
{{formField systemFields.prayerTime value=system.prayerTime}}
{{formField systemFields.miracleRange value=system.miracleRange}}
{{formField systemFields.areaAffected value=system.areaAffected}}

View File

@ -38,6 +38,10 @@
</div>
{{/if}}
{{#if rollTarget.staticModifier}}
<div class="dialog-save">Static modifier : +{{rollTarget.staticModifier}}</div>
{{/if}}
</fieldSet>

View File

@ -14,6 +14,9 @@
{{formField systemFields.components.fields.material value=system.components.material}}
</div>
<!-- {{formField systemFields.attackRoll value=system.attackRoll}}
{{formField systemFields.powerRoll value=system.powerRoll}} -->
{{formField systemFields.castingTime value=system.castingTime}}
{{formField systemFields.spellRange value=system.spellRange}}
{{formField systemFields.areaAffected value=system.areaAffected}}