4 Commits

Author SHA1 Message Date
eedce1a498 Latest fixes
All checks were successful
Release Creation / build (release) Successful in 46s
2025-09-17 07:47:40 +02:00
76a99fe33f Various fixes 2025-09-16 23:49:02 +02:00
59a39850ce Fix miracle/spell rolls + upadte compendiums
All checks were successful
Release Creation / build (release) Successful in 56s
2025-09-09 20:14:25 +02:00
6eeb391d1a Move aiming to attacker
All checks were successful
Release Creation / build (release) Successful in 1m9s
2025-09-05 23:26:11 +02:00
43 changed files with 187 additions and 128 deletions

View File

@@ -2293,6 +2293,15 @@ i.lethalfantasy {
font-size: calc(var(--font-size-standard) * 1);
color: var(--color-dark-1);
}
.main select,
.dialog-damage select,
.dialog-resource select,
.dialog-challenge select,
.dialog-save select {
min-width: 8rem;
max-width: 8rem;
margin-left: 1rem;
}
.dice-roll {
flex-direction: column;
}

View File

@@ -140,7 +140,7 @@ export default class LethalFantasyActorSheet extends HandlebarsApplicationMixin(
if ("link" in event.target.dataset) return
const el = event.currentTarget.closest('[data-drag="true"]')
const dragType = el.dataset.dragType
const dragType = el?.dataset?.dragType
let dragData = {}

View File

@@ -92,8 +92,8 @@ export const RANGE_CHOICES = {
export const ATTACKER_AIM_CHOICES = {
"simple": { label: "Simple (+0)", value: "0" },
"careful": { label: "Careful (Red -5)", value: "-4" },
"focused": { label: "Focused (Grey -9)", value: "-9" }
"careful": { label: "Careful (Red +5)", value: "+4" },
"focused": { label: "Focused (Grey +9)", value: "+9" }
}
export const SPELL_LETHARGY_DICE = [
@@ -136,7 +136,7 @@ export const INITIATIVE_DICE_CHOICES_PER_CLASS = {
"cleric": [
{ "name": "Asleep or totally distracted (1D12)", "value": "1D12" },
{ "name": "Awake but unsuspecting (1D10)", "value": "1D10" },
{ "name": "Declared Ready on Alert (1D)", "value": "1D" },
{ "name": "Declared Ready on Alert (1)", "value": "1" },
/*{ "name": "Aware of the enemy, can hear them but not see (1D6)", "value": "1D6" },
{ "name": "Aware and know exactly where the enemy is (1D4)", "value": "1D4" }*/
],

View File

@@ -96,6 +96,10 @@ export default class LethalFantasyRoll extends Roll {
return this.options.badResult
}
get rollData() {
return this.options.rollData
}
/**
* Prompt the user with a dialog to configure and execute a roll.
*
@@ -312,6 +316,8 @@ export default class LethalFantasyRoll extends Roll {
hasChangeDice,
pointBlank,
baseValue: options.rollTarget.value,
attackerAimChoices: SYSTEM.ATTACKER_AIM_CHOICES,
attackerAim: "0",
changeDice: `${dice}`,
fieldRollMode,
choiceModifier,
@@ -386,6 +392,9 @@ export default class LethalFantasyRoll extends Roll {
let bonus = Number(options.rollTarget.value)
fullModifier = rollContext.modifier === "" ? 0 : parseInt(rollContext.modifier, 10) + bonus
fullModifier += (rollContext.saveSpell) ? options.rollTarget.actorModifiers.saveModifier : 0
if (Number(rollContext.attackerAim) > 0) {
fullModifier += Number(rollContext.attackerAim)
}
if (fullModifier === 0) {
modifierFormula = "0"
@@ -433,6 +442,8 @@ export default class LethalFantasyRoll extends Roll {
// Specific pain/poison/contagion case
if (options.rollType === "save" && (options.rollTarget.rollKey === "pain" || options.rollTarget.rollKey === "paincourage" || options.rollTarget.rollKey === "poison" || options.rollTarget.rollKey === "contagion")) {
hasD30 = false
hasStaticModifier = true
modifierFormula = ` + ${Math.abs(fullModifier)}`
}
if (letItFly) {
@@ -457,6 +468,9 @@ export default class LethalFantasyRoll extends Roll {
actorImage: options.actorImage,
rollMode: rollContext.visibility,
hasTarget: options.hasTarget,
pointBlank,
beyondSkill,
letItFly,
hasGrantedDice,
titleFormula,
targetName,
@@ -569,6 +583,7 @@ export default class LethalFantasyRoll extends Roll {
rollBase.options.titleFormula = titleFormula
rollBase.options.D30result = options.D30result
rollBase.options.badResult = badResult
rollBase.options.rollData = foundry.utils.duplicate(rollData)
/**
* A hook event that fires after the roll has been made.
@@ -966,7 +981,7 @@ export default class LethalFantasyRoll extends Roll {
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.movement += "kh" // Add the kl to the movement (favor for point blank range)
rollContext.range = "+11"
}
@@ -974,15 +989,15 @@ export default class LethalFantasyRoll extends Roll {
let fullModifier = Number(rollContext.moveDirection) +
Number(rollContext.size) +
Number(rollContext.range) +
Number(rollContext.attackerAim)
console.log("Modifier", fullModifier)
Number(rollContext?.attackerAim || 0)
console.log("Modifier", fullModifier, rollContext)
let modifierFormula
if (fullModifier === 0) {
modifierFormula = "0"
} else {
let modAbs = Math.abs(fullModifier)
modifierFormula = `${modAbs}`
modifierFormula = `D${modAbs+1} -1`
}
let rollData = { ...rollContext }
@@ -996,6 +1011,12 @@ export default class LethalFantasyRoll extends Roll {
let rollD30 = await new Roll("1D30").evaluate()
options.D30result = rollD30.total
if (rollContext.movement.includes("kh")) {
rollData.favor = "favor"
}
if (rollContext.movement.includes("kl")) {
rollData.favor = "disfavor"
}
let dice = rollContext.movement
let maxValue = 20 // As per latest changes (was : Number(dice.match(/\d+$/)[0])
@@ -1030,7 +1051,7 @@ export default class LethalFantasyRoll extends Roll {
rollBase.options.titleFormula = `${dice}E + ${modifierFormula}`
rollBase.options.D30result = options.D30result
rollBase.options.rollName = "Ranged Defense"
rollBase.options.rollData = foundry.utils.duplicate(rollData)
/**
* A hook event that fires after the roll has been made.
* @function
@@ -1114,6 +1135,7 @@ export default class LethalFantasyRoll extends Roll {
targetArmor: this.targetArmor,
D30result: this.D30result,
badResult: this.badResult,
rollData: this.rollData,
isPrivate: isPrivate
}
cardData.cssClass = cardData.css.join(" ")
@@ -1145,6 +1167,7 @@ export default class LethalFantasyRoll extends Roll {
targetArmor: this.targetArmor,
targetMalus: this.targetMalus,
realDamage: this.realDamage,
rollData: this.rollData,
...messageData,
},
{ rollMode: rollMode },

View File

@@ -1 +1 @@
MANIFEST-000388
MANIFEST-000416

View File

@@ -1,8 +1,8 @@
2025/09/02-20:50:59.720888 7ff574df96c0 Recovering log #386
2025/09/02-20:50:59.731821 7ff574df96c0 Delete type=3 #384
2025/09/02-20:50:59.731882 7ff574df96c0 Delete type=0 #386
2025/09/02-21:05:27.811892 7ff56e3ff6c0 Level-0 table #391: started
2025/09/02-21:05:27.811921 7ff56e3ff6c0 Level-0 table #391: 0 bytes OK
2025/09/02-21:05:27.818375 7ff56e3ff6c0 Delete type=0 #389
2025/09/02-21:05:27.831362 7ff56e3ff6c0 Manual compaction at level-0 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zw9RQocTdz3HRjZK' @ 0 : 0; will stop at (end)
2025/09/02-21:05:27.831417 7ff56e3ff6c0 Manual compaction at level-1 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zw9RQocTdz3HRjZK' @ 0 : 0; will stop at (end)
2025/09/17-07:46:03.118742 7f3080dfa6c0 Recovering log #414
2025/09/17-07:46:03.213578 7f3080dfa6c0 Delete type=3 #412
2025/09/17-07:46:03.213653 7f3080dfa6c0 Delete type=0 #414
2025/09/17-07:46:49.420076 7f307a7fc6c0 Level-0 table #419: started
2025/09/17-07:46:49.420100 7f307a7fc6c0 Level-0 table #419: 0 bytes OK
2025/09/17-07:46:49.429915 7f307a7fc6c0 Delete type=0 #417
2025/09/17-07:46:49.430201 7f307a7fc6c0 Manual compaction at level-0 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zw9RQocTdz3HRjZK' @ 0 : 0; will stop at (end)
2025/09/17-07:46:49.430227 7f307a7fc6c0 Manual compaction at level-1 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zw9RQocTdz3HRjZK' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2025/09/02-17:50:28.149562 7ff56f7fe6c0 Recovering log #382
2025/09/02-17:50:28.159074 7ff56f7fe6c0 Delete type=3 #380
2025/09/02-17:50:28.159158 7ff56f7fe6c0 Delete type=0 #382
2025/09/02-18:10:48.127187 7ff56e3ff6c0 Level-0 table #387: started
2025/09/02-18:10:48.127226 7ff56e3ff6c0 Level-0 table #387: 0 bytes OK
2025/09/02-18:10:48.133926 7ff56e3ff6c0 Delete type=0 #385
2025/09/02-18:10:48.134163 7ff56e3ff6c0 Manual compaction at level-0 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zw9RQocTdz3HRjZK' @ 0 : 0; will stop at (end)
2025/09/02-18:10:48.134189 7ff56e3ff6c0 Manual compaction at level-1 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zw9RQocTdz3HRjZK' @ 0 : 0; will stop at (end)
2025/09/16-23:16:29.221312 7f307affd6c0 Recovering log #410
2025/09/16-23:16:29.232289 7f307affd6c0 Delete type=3 #408
2025/09/16-23:16:29.232343 7f307affd6c0 Delete type=0 #410
2025/09/16-23:47:50.382735 7f307a7fc6c0 Level-0 table #415: started
2025/09/16-23:47:50.383046 7f307a7fc6c0 Level-0 table #415: 0 bytes OK
2025/09/16-23:47:50.390243 7f307a7fc6c0 Delete type=0 #413
2025/09/16-23:47:50.410779 7f307a7fc6c0 Manual compaction at level-0 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zw9RQocTdz3HRjZK' @ 0 : 0; will stop at (end)
2025/09/16-23:47:50.410810 7f307a7fc6c0 Manual compaction at level-1 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zw9RQocTdz3HRjZK' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000387
MANIFEST-000416

View File

@@ -1,8 +1,8 @@
2025/09/02-20:50:59.736702 7ff56ffff6c0 Recovering log #385
2025/09/02-20:50:59.746286 7ff56ffff6c0 Delete type=3 #383
2025/09/02-20:50:59.746360 7ff56ffff6c0 Delete type=0 #385
2025/09/02-21:05:27.804767 7ff56e3ff6c0 Level-0 table #390: started
2025/09/02-21:05:27.804810 7ff56e3ff6c0 Level-0 table #390: 0 bytes OK
2025/09/02-21:05:27.811774 7ff56e3ff6c0 Delete type=0 #388
2025/09/02-21:05:27.831354 7ff56e3ff6c0 Manual compaction at level-0 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!zjvGljrLk5SshC9D' @ 0 : 0; will stop at (end)
2025/09/02-21:05:27.831403 7ff56e3ff6c0 Manual compaction at level-1 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!zjvGljrLk5SshC9D' @ 0 : 0; will stop at (end)
2025/09/17-07:46:03.218339 7f307bfff6c0 Recovering log #414
2025/09/17-07:46:03.309130 7f307bfff6c0 Delete type=3 #412
2025/09/17-07:46:03.309200 7f307bfff6c0 Delete type=0 #414
2025/09/17-07:46:49.410790 7f307a7fc6c0 Level-0 table #419: started
2025/09/17-07:46:49.410814 7f307a7fc6c0 Level-0 table #419: 0 bytes OK
2025/09/17-07:46:49.419958 7f307a7fc6c0 Delete type=0 #417
2025/09/17-07:46:49.430187 7f307a7fc6c0 Manual compaction at level-0 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!zjvGljrLk5SshC9D' @ 0 : 0; will stop at (end)
2025/09/17-07:46:49.430218 7f307a7fc6c0 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/09/02-17:50:28.163914 7ff574df96c0 Recovering log #381
2025/09/02-17:50:28.174205 7ff574df96c0 Delete type=3 #379
2025/09/02-17:50:28.174262 7ff574df96c0 Delete type=0 #381
2025/09/02-18:10:48.106359 7ff56e3ff6c0 Level-0 table #386: started
2025/09/02-18:10:48.106436 7ff56e3ff6c0 Level-0 table #386: 0 bytes OK
2025/09/02-18:10:48.112780 7ff56e3ff6c0 Delete type=0 #384
2025/09/02-18:10:48.134105 7ff56e3ff6c0 Manual compaction at level-0 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!zjvGljrLk5SshC9D' @ 0 : 0; will stop at (end)
2025/09/02-18:10:48.134170 7ff56e3ff6c0 Manual compaction at level-1 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!zjvGljrLk5SshC9D' @ 0 : 0; will stop at (end)
2025/09/16-23:16:29.238114 7f3080dfa6c0 Recovering log #409
2025/09/16-23:16:29.248900 7f3080dfa6c0 Delete type=3 #407
2025/09/16-23:16:29.248979 7f3080dfa6c0 Delete type=0 #409
2025/09/16-23:47:50.397435 7f307a7fc6c0 Level-0 table #415: started
2025/09/16-23:47:50.397478 7f307a7fc6c0 Level-0 table #415: 0 bytes OK
2025/09/16-23:47:50.404058 7f307a7fc6c0 Delete type=0 #413
2025/09/16-23:47:50.410801 7f307a7fc6c0 Manual compaction at level-0 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!zjvGljrLk5SshC9D' @ 0 : 0; will stop at (end)
2025/09/16-23:47:50.410854 7f307a7fc6c0 Manual compaction at level-1 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!zjvGljrLk5SshC9D' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000387
MANIFEST-000416

View File

@@ -1,8 +1,8 @@
2025/09/02-20:50:59.705310 7ff5755fa6c0 Recovering log #385
2025/09/02-20:50:59.715661 7ff5755fa6c0 Delete type=3 #383
2025/09/02-20:50:59.715730 7ff5755fa6c0 Delete type=0 #385
2025/09/02-21:05:27.824904 7ff56e3ff6c0 Level-0 table #390: started
2025/09/02-21:05:27.824936 7ff56e3ff6c0 Level-0 table #390: 0 bytes OK
2025/09/02-21:05:27.831287 7ff56e3ff6c0 Delete type=0 #388
2025/09/02-21:05:27.831394 7ff56e3ff6c0 Manual compaction at level-0 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)
2025/09/02-21:05:27.831425 7ff56e3ff6c0 Manual compaction at level-1 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)
2025/09/17-07:46:03.016134 7f307affd6c0 Recovering log #414
2025/09/17-07:46:03.115017 7f307affd6c0 Delete type=3 #412
2025/09/17-07:46:03.115113 7f307affd6c0 Delete type=0 #414
2025/09/17-07:46:49.400823 7f307a7fc6c0 Level-0 table #419: started
2025/09/17-07:46:49.400858 7f307a7fc6c0 Level-0 table #419: 0 bytes OK
2025/09/17-07:46:49.410679 7f307a7fc6c0 Delete type=0 #417
2025/09/17-07:46:49.430172 7f307a7fc6c0 Manual compaction at level-0 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)
2025/09/17-07:46:49.430210 7f307a7fc6c0 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/09/02-17:50:28.134841 7ff5755fa6c0 Recovering log #381
2025/09/02-17:50:28.144832 7ff5755fa6c0 Delete type=3 #379
2025/09/02-17:50:28.144888 7ff5755fa6c0 Delete type=0 #381
2025/09/02-18:10:48.112960 7ff56e3ff6c0 Level-0 table #386: started
2025/09/02-18:10:48.113011 7ff56e3ff6c0 Level-0 table #386: 0 bytes OK
2025/09/02-18:10:48.119926 7ff56e3ff6c0 Delete type=0 #384
2025/09/02-18:10:48.134120 7ff56e3ff6c0 Manual compaction at level-0 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)
2025/09/02-18:10:48.134176 7ff56e3ff6c0 Manual compaction at level-1 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)
2025/09/16-23:16:29.207343 7f307bfff6c0 Recovering log #409
2025/09/16-23:16:29.216984 7f307bfff6c0 Delete type=3 #407
2025/09/16-23:16:29.217040 7f307bfff6c0 Delete type=0 #409
2025/09/16-23:47:50.390364 7f307a7fc6c0 Level-0 table #415: started
2025/09/16-23:47:50.390390 7f307a7fc6c0 Level-0 table #415: 0 bytes OK
2025/09/16-23:47:50.397293 7f307a7fc6c0 Delete type=0 #413
2025/09/16-23:47:50.410791 7f307a7fc6c0 Manual compaction at level-0 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)
2025/09/16-23:47:50.410840 7f307a7fc6c0 Manual compaction at level-1 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000087
MANIFEST-000116

View File

@@ -1,8 +1,8 @@
2025/09/02-20:50:59.760810 7ff56f7fe6c0 Recovering log #85
2025/09/02-20:50:59.771723 7ff56f7fe6c0 Delete type=3 #83
2025/09/02-20:50:59.771778 7ff56f7fe6c0 Delete type=0 #85
2025/09/02-21:05:27.831562 7ff56e3ff6c0 Level-0 table #90: started
2025/09/02-21:05:27.831585 7ff56e3ff6c0 Level-0 table #90: 0 bytes OK
2025/09/02-21:05:27.838459 7ff56e3ff6c0 Delete type=0 #88
2025/09/02-21:05:27.861348 7ff56e3ff6c0 Manual compaction at level-0 from '!folders!37mu4dxsSuftlnmP' @ 72057594037927935 : 1 .. '!items!zKOpU34oLziGJW6y' @ 0 : 0; will stop at (end)
2025/09/02-21:05:27.861400 7ff56e3ff6c0 Manual compaction at level-1 from '!folders!37mu4dxsSuftlnmP' @ 72057594037927935 : 1 .. '!items!zKOpU34oLziGJW6y' @ 0 : 0; will stop at (end)
2025/09/17-07:46:03.403212 7f307affd6c0 Recovering log #114
2025/09/17-07:46:03.504394 7f307affd6c0 Delete type=3 #112
2025/09/17-07:46:03.504449 7f307affd6c0 Delete type=0 #114
2025/09/17-07:46:49.470775 7f307a7fc6c0 Level-0 table #119: started
2025/09/17-07:46:49.470837 7f307a7fc6c0 Level-0 table #119: 0 bytes OK
2025/09/17-07:46:49.482316 7f307a7fc6c0 Delete type=0 #117
2025/09/17-07:46:49.503080 7f307a7fc6c0 Manual compaction at level-0 from '!folders!37mu4dxsSuftlnmP' @ 72057594037927935 : 1 .. '!items!zKOpU34oLziGJW6y' @ 0 : 0; will stop at (end)
2025/09/17-07:46:49.523511 7f307a7fc6c0 Manual compaction at level-1 from '!folders!37mu4dxsSuftlnmP' @ 72057594037927935 : 1 .. '!items!zKOpU34oLziGJW6y' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2025/09/02-17:50:28.191160 7ff56f7fe6c0 Recovering log #81
2025/09/02-17:50:28.200755 7ff56f7fe6c0 Delete type=3 #79
2025/09/02-17:50:28.200807 7ff56f7fe6c0 Delete type=0 #81
2025/09/02-18:10:48.162879 7ff56e3ff6c0 Level-0 table #86: started
2025/09/02-18:10:48.162935 7ff56e3ff6c0 Level-0 table #86: 0 bytes OK
2025/09/02-18:10:48.169774 7ff56e3ff6c0 Delete type=0 #84
2025/09/02-18:10:48.169974 7ff56e3ff6c0 Manual compaction at level-0 from '!folders!37mu4dxsSuftlnmP' @ 72057594037927935 : 1 .. '!items!zKOpU34oLziGJW6y' @ 0 : 0; will stop at (end)
2025/09/02-18:10:48.194063 7ff56e3ff6c0 Manual compaction at level-1 from '!folders!37mu4dxsSuftlnmP' @ 72057594037927935 : 1 .. '!items!zKOpU34oLziGJW6y' @ 0 : 0; will stop at (end)
2025/09/16-23:16:29.263902 7f307affd6c0 Recovering log #109
2025/09/16-23:16:29.274398 7f307affd6c0 Delete type=3 #107
2025/09/16-23:16:29.274490 7f307affd6c0 Delete type=0 #109
2025/09/16-23:47:50.437467 7f307a7fc6c0 Level-0 table #115: started
2025/09/16-23:47:50.437529 7f307a7fc6c0 Level-0 table #115: 0 bytes OK
2025/09/16-23:47:50.443898 7f307a7fc6c0 Delete type=0 #113
2025/09/16-23:47:50.474392 7f307a7fc6c0 Manual compaction at level-0 from '!folders!37mu4dxsSuftlnmP' @ 72057594037927935 : 1 .. '!items!zKOpU34oLziGJW6y' @ 0 : 0; will stop at (end)
2025/09/16-23:47:50.474456 7f307a7fc6c0 Manual compaction at level-1 from '!folders!37mu4dxsSuftlnmP' @ 72057594037927935 : 1 .. '!items!zKOpU34oLziGJW6y' @ 0 : 0; will stop at (end)

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000387
MANIFEST-000415

View File

@@ -1,8 +1,8 @@
2025/09/02-20:50:59.748635 7ff5755fa6c0 Recovering log #385
2025/09/02-20:50:59.758609 7ff5755fa6c0 Delete type=3 #383
2025/09/02-20:50:59.758674 7ff5755fa6c0 Delete type=0 #385
2025/09/02-21:05:27.818496 7ff56e3ff6c0 Level-0 table #390: started
2025/09/02-21:05:27.818520 7ff56e3ff6c0 Level-0 table #390: 0 bytes OK
2025/09/02-21:05:27.824803 7ff56e3ff6c0 Delete type=0 #388
2025/09/02-21:05:27.831371 7ff56e3ff6c0 Manual compaction at level-0 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)
2025/09/02-21:05:27.831411 7ff56e3ff6c0 Manual compaction at level-1 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)
2025/09/17-07:46:03.312040 7f307b7fe6c0 Recovering log #413
2025/09/17-07:46:03.400421 7f307b7fe6c0 Delete type=3 #411
2025/09/17-07:46:03.400487 7f307b7fe6c0 Delete type=0 #413
2025/09/17-07:46:49.390955 7f307a7fc6c0 Level-0 table #418: started
2025/09/17-07:46:49.391029 7f307a7fc6c0 Level-0 table #418: 0 bytes OK
2025/09/17-07:46:49.400683 7f307a7fc6c0 Delete type=0 #416
2025/09/17-07:46:49.430144 7f307a7fc6c0 Manual compaction at level-0 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)
2025/09/17-07:46:49.430391 7f307a7fc6c0 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/09/02-17:50:28.177587 7ff5755fa6c0 Recovering log #381
2025/09/02-17:50:28.187400 7ff5755fa6c0 Delete type=3 #379
2025/09/02-17:50:28.187471 7ff5755fa6c0 Delete type=0 #381
2025/09/02-18:10:48.120046 7ff56e3ff6c0 Level-0 table #386: started
2025/09/02-18:10:48.120069 7ff56e3ff6c0 Level-0 table #386: 0 bytes OK
2025/09/02-18:10:48.127045 7ff56e3ff6c0 Delete type=0 #384
2025/09/02-18:10:48.134134 7ff56e3ff6c0 Manual compaction at level-0 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)
2025/09/02-18:10:48.134182 7ff56e3ff6c0 Manual compaction at level-1 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)
2025/09/16-23:16:29.250993 7f307bfff6c0 Recovering log #409
2025/09/16-23:16:29.261540 7f307bfff6c0 Delete type=3 #407
2025/09/16-23:16:29.261614 7f307bfff6c0 Delete type=0 #409
2025/09/16-23:47:50.404206 7f307a7fc6c0 Level-0 table #414: started
2025/09/16-23:47:50.404257 7f307a7fc6c0 Level-0 table #414: 0 bytes OK
2025/09/16-23:47:50.410667 7f307a7fc6c0 Delete type=0 #412
2025/09/16-23:47:50.410817 7f307a7fc6c0 Manual compaction at level-0 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)
2025/09/16-23:47:50.410847 7f307a7fc6c0 Manual compaction at level-1 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)

View File

@@ -25,7 +25,6 @@
border-radius: 4px;
padding: 0.5rem;
}
}
.lethalfantasy-range-defense-dialog {
@@ -45,13 +44,12 @@
justify-content: left;
}
.field-name {
width:4rem;
width: 4rem;
min-width: 4rem;
max-width: 4rem;
}
}
.dialog-form {
.form-footer {
button {
@@ -87,7 +85,6 @@
}
}
.main,
.dialog-damage,
.dialog-resource,
@@ -99,8 +96,13 @@
justify-content: center;
align-items: center;
font-family: var(--font-secondary);
font-size: calc(var(--font-size-standard) * 1.0);
font-size: calc(var(--font-size-standard) * 1);
color: var(--color-dark-1);
select {
min-width: 8rem;
max-width: 8rem;
margin-left: 1rem;
}
}
&.dice-roll {
@@ -133,7 +135,7 @@
flex-direction: column;
.introText {
font-family: var(--font-secondary);
font-size: calc(var(--font-size-standard) * 1.0);
font-size: calc(var(--font-size-standard) * 1);
width: 210px;
margin-left: 20px;
}
@@ -144,7 +146,7 @@
flex-direction: column;
justify-content: center;
align-items: center;
font-size: calc(var(--font-size-standard) * 1.0);
font-size: calc(var(--font-size-standard) * 1);
text-shadow: 0 0 10px var(--color-shadow-primary);
}
}

View File

@@ -23,6 +23,22 @@
<span>{{rollTarget.weapon.name}}</span>
{{/if}}
{{#if rollData.letItFly}}
<span>Let It Fly attack ! </span>
{{/if}}
{{#if rollData.pointBlank}}
<span>Point Blank Range Attack !</span>
{{/if}}
{{#if rollData.beyondSkill}}
<span>Beyond Skill Range Attack !</span>
{{/if}}
{{#if (eq rollData.favor "favor")}}
<span>Favor roll</span>
{{/if}}
{{#if (eq rollData.favor "disfavor")}}
<span>Disfavor roll</span>
{{/if}}
<span>Formula : {{titleFormula}}</span>
{{#each diceResults as |result|}}

View File

@@ -13,13 +13,15 @@
<fieldset class="monster-characteristics monster-characteristics-{{ifThen isPlayMode 'play' 'edit'}}">
<div class="flexrow monster-hp">
<span class="name">{{localize "LETHALFANTASY.Label.HP"}}</span>
{{formInput systemFields.hp.fields.value value=system.hp.value disabled=isPlayMode classes="monster-hp-value"}}
{{formInput systemFields.hp.fields.value value=system.hp.value disabled=isPlayMode
classes="monster-hp-value"}}
&nbsp;/&nbsp;
{{formInput systemFields.hp.fields.max value=system.hp.max disabled=isPlayMode classes="monster-hp-value"}}
</div>
<div class="flexrow monster-hp">
<span class="damage-resistance">{{localize "LETHALFANTASY.Label.damageResistance"}}</span>
{{formInput systemFields.hp.fields.damageResistance value=system.hp.damageResistance disabled=isPlayMode classes="monster-hp-value"}}
{{formInput systemFields.hp.fields.damageResistance value=system.hp.damageResistance disabled=isPlayMode
classes="monster-hp-value"}}
</div>
</fieldset>
@@ -41,7 +43,8 @@
class="lf-roll-small fa-solid fa-dice-d20"></i>
{{localize "LETHALFANTASY.Label.saves.will"}}
</a></span>
{{formField systemFields.saves.fields.will.fields.value value=system.saves.will.value disabled=isPlayMode }}
{{formField systemFields.saves.fields.will.fields.value value=system.saves.will.value disabled=isPlayMode
}}
<span class="name">
<a class="rollable" data-roll-type="save" data-roll-key="dodge"><i
class="lf-roll-small fa-solid fa-dice-d20"></i>
@@ -65,20 +68,20 @@
class="lf-roll-small fa-solid fa-dice-d20"></i>
{{localize "LETHALFANTASY.Label.saves.contagion"}}
</a>
</span>
</span>
{{formField systemFields.saves.fields.contagion.fields.value value=system.saves.contagion.value
disabled=isPlayMode}}
<span class="name">
<a class="rollable" data-roll-type="save" data-roll-key="poison"><i
class="lf-roll-small fa-solid fa-dice-d20"></i>
{{localize "LETHALFANTASY.Label.saves.poison"}}
{{localize "LETHALFANTASY.Label.saves.poison"}}
</a>
</span>
{{formField systemFields.saves.fields.poison.fields.value value=system.saves.poison.value
</span>
{{formField systemFields.saves.fields.poison.fields.value value=system.saves.poison.value
disabled=isPlayMode }}
<span class="name">
<!-- <span class="name">
<a class="rollable" data-roll-type="save" data-roll-key="paincourage" data-roll-dice="D20" data-tooltip="Pain/Courage check on wound of..."><i
class="lf-roll-small fa-solid fa-dice-d20"></i>
{{localize "LETHALFANTASY.Label.saves.paincourage"}}
@@ -88,7 +91,7 @@
<span data-tooltip="Pain save if wound exceeds">
{{formField systemFields.hp.fields.painDamage value=system.hp.painDamage disabled=isPlayMode tooltip="Pain Damage"}}
</span>
</span>-->
</div>
@@ -102,19 +105,22 @@
<span class="name"><a class="rollable" data-roll-type="monster-skill" data-roll-key="resistTorture"><i
class="lf-roll-small fa-solid fa-dice-d20"></i>{{localize
"LETHALFANTASY.Label.resistTorture"}}</a></span>
{{formField systemFields.resists.fields.resistTorture.fields.value value=system.resists.resistTorture.value
{{formField systemFields.resists.fields.resistTorture.fields.value
value=system.resists.resistTorture.value
disabled=isPlayMode
}}
<span class="name"><a class="rollable" data-roll-type="monster-skill" data-roll-key="resistPerformance"><i
class="lf-roll-small fa-solid fa-dice-d20"></i>{{localize
"LETHALFANTASY.Label.resistPerformance"}}</a></span>
{{formField systemFields.resists.fields.resistPerformance.fields.value value=system.resists.resistPerformance.value
disabled=isPlayMode
{{formField systemFields.resists.fields.resistPerformance.fields.value
value=system.resists.resistPerformance.value
disabled=isPlayMode
}}
<span class="name"><a class="rollable" data-roll-type="monster-skill" data-roll-key="resistIntimidation"><i
class="lf-roll-small fa-solid fa-dice-d20"></i>{{localize
<span class="name"><a class="rollable" data-roll-type="monster-skill"
data-roll-key="resistIntimidation"><i class="lf-roll-small fa-solid fa-dice-d20"></i>{{localize
"LETHALFANTASY.Label.resistIntimidation"}}</a></span>
{{formField systemFields.resists.fields.resistIntimidation.fields.value value=system.resists.resistIntimidation.value
{{formField systemFields.resists.fields.resistIntimidation.fields.value
value=system.resists.resistIntimidation.value
disabled=isPlayMode }}
<span class="name"><a class="rollable" data-roll-type="monster-skill" data-roll-key="perception"><i
@@ -157,7 +163,7 @@
<fieldset class="monster-characteristics monster-characteristics-{{ifThen isPlayMode 'play' 'edit'}}">
<legend>{{localize "LETHALFANTASY.Label.characteristics"}}</legend>
<div class="monster-characteristic">
<span>x{{localize "LETHALFANTASY.Label.int"}}</span>
<span>{{localize "LETHALFANTASY.Label.int"}}</span>
{{formField systemFields.characteristics.fields.int.fields.value value=system.characteristics.int.value
disabled=isPlayMode data-char-id="int" }}

View File

@@ -32,14 +32,6 @@
</select>
</div>
<div class="field-section">
<span class="field-name">Aim :</span>
<select name="attackerAim" data-tooltip-direction="UP">
{{selectOptions attackerAimChoices selected=attackerAim}}
</select>
</div>
</fieldSet>
<fieldSet>

View File

@@ -33,15 +33,26 @@
<div class="dialog-save">Add Granted Attack Dice
<input type="checkbox" data-action="selectGranted" name="granted">
</div>
{{#if rollTarget.weapon}}
{{#if (eq rollTarget.weapon.system.weaponType "melee")}}
{{else}}
<div class="dialog-save">Point Blank Range Attack
<input type="checkbox" data-action="selectPointBlank" name="pointBlank">
<input type="checkbox" data-action="selectPointBlank" name="pointBlankV">
</div>
<div class="dialog-save">Beyond Skill Range Attack
<input type="checkbox" data-action="selectBeyondSkill" name="beyondSkill">
<input type="checkbox" data-action="selectBeyondSkill" name="beyondSkillV">
</div>
<div class="dialog-save">Let it Fly (Pure D20E)
<input type="checkbox" data-action="selectLetItFly" name="letItFly">
<input type="checkbox" data-action="selectLetItFly" name="letItFlyV">
</div>
<div class="dialog-save">Aiming
<select name="attackerAim" data-tooltip-direction="UP">
{{selectOptions attackerAimChoices selected=attackerAim}}
</select>
</div>
{{/if}}
{{/if}}
{{/if}}
{{#if (match rollType "defense")}}
<div class="dialog-save">Add Granted Defense Dice