Roll damages and so on

This commit is contained in:
2025-12-14 21:18:00 +01:00
parent f6b35536de
commit 0cd0e9745b
34 changed files with 285 additions and 100 deletions

View File

@@ -2411,6 +2411,55 @@ i.lethalfantasy {
font-size: calc(var(--font-size-standard) * 1);
text-shadow: 0 0 10px var(--color-shadow-primary);
}
.dice-roll .damage-buttons {
width: 100%;
padding: 8px;
margin-top: 8px;
}
.dice-roll .damage-buttons .damage-buttons-title {
font-weight: bold;
margin-bottom: 8px;
font-size: calc(var(--font-size-standard) * 0.95);
text-align: center;
}
.dice-roll .damage-buttons .damage-buttons-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 6px;
padding: 8px;
background-color: rgba(0, 0, 0, 0.1);
border-radius: 5px;
}
.dice-roll .damage-buttons .damage-buttons-grid .damage-roll-btn {
padding: 6px 10px;
background: linear-gradient(to bottom, #8b4513 0%, #6b3410 100%);
border: 1px solid #4b2408;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
color: #f0f0e0;
cursor: pointer;
border-radius: 4px;
font-size: calc(var(--font-size-standard) * 0.85);
font-weight: 500;
text-align: center;
transition: all 0.2s ease;
display: flex;
align-items: center;
justify-content: center;
gap: 4px;
}
.dice-roll .damage-buttons .damage-buttons-grid .damage-roll-btn i {
font-size: calc(var(--font-size-standard) * 1);
}
.dice-roll .damage-buttons .damage-buttons-grid .damage-roll-btn:hover {
background: linear-gradient(to bottom, #9b5523 0%, #7b4420 100%);
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.4);
transform: translateY(-1px);
border-color: #5b3418;
}
.dice-roll .damage-buttons .damage-buttons-grid .damage-roll-btn:active {
transform: translateY(0);
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.dice-roll .damage-result {
width: 100%;
padding: 8px;

View File

@@ -283,6 +283,7 @@
"Label": {
"agility": "Dexterity",
"applyDamage": "Apply damage to:",
"rollDamage": "Roll Damage",
"gotoToken": "Go to token",
"combatAction": "Combat action",
"currentAction": "Current ongoing action",

View File

@@ -185,6 +185,32 @@ Hooks.on(hookName, (message, html, data) => {
LethalFantasyUtils.applyDamage(message, event)
})
}
// Gestionnaire pour les boutons de jet de dégâts
$(html).find(".damage-roll-btn").click(async (event) => {
const button = $(event.currentTarget)
const weaponId = button.data("weapon-id")
const damageType = button.data("damage-type")
const damageFormula = button.data("damage-formula")
// Récupérer l'acteur qui a fait le jet initial
const actor = game.actors.get(message.rolls[0]?.actorId)
if (!actor) {
ui.notifications.error("Actor not found")
return
}
// Récupérer l'arme
const weapon = actor.items.get(weaponId)
if (!weapon) {
ui.notifications.error("Weapon not found")
return
}
// Lancer les dégâts avec la bonne méthode
const rollType = damageType === "small" ? "weapon-damage-small" : "weapon-damage-medium"
await actor.prepareRoll(rollType, weaponId)
})
})
Hooks.on("getCombatTrackerEntryContext", (html, options) => {

View File

@@ -120,7 +120,7 @@ export default class LethalFantasyActor extends Actor {
}
/* *************************************************/
fuzzyNameSearchWeaponSkills(weaponName, weaponClass=null) {
fuzzyNameSearchWeaponSkills(weaponName, weaponClass = null) {
// Get all weapon skills without the " skill" suffix
let skills = this.items.filter((i) => i.type === "skill" && i.system.weaponClass === weaponClass && i.system.category === "weapon")
// Remove parenthesis in the weapon name for better matching
@@ -227,11 +227,14 @@ export default class LethalFantasyActor extends Actor {
ui.notifications.warn(game.i18n.localize("LETHALFANTASY.Notifications.skillNotFound"))
return
}
rollTarget = skill
rollTarget.weapon = weapon
rollTarget.weaponSkillModifier = skill.weaponSkillModifier
rollTarget.rollKey = rollKey
rollTarget.combat = foundry.utils.duplicate(this.system.combat)
// Créer un objet plain au lieu de modifier directement le skill
rollTarget = {
...skill,
weapon: weapon,
weaponSkillModifier: skill.weaponSkillModifier,
rollKey: rollKey,
combat: foundry.utils.duplicate(this.system.combat)
}
if (rollType === "weapon-damage-small" || rollType === "weapon-damage-medium") {
rollTarget.grantedDice = this.system.granted.damageDice
}

View File

@@ -1139,6 +1139,20 @@ export default class LethalFantasyRoll extends Roll {
}
}
// Récupérer les informations de l'arme pour les attaques réussies
let weaponDamageOptions = null
console.log("Roll type:", this.type, "rollTarget:", this.rollTarget, "Has weapon:", !!this.rollTarget?.weapon)
if (this.type === "weapon-attack" && this.rollTarget?.weapon) {
const weapon = this.rollTarget.weapon
weaponDamageOptions = {
weaponId: weapon._id || weapon.id,
weaponName: weapon.name,
damageS: weapon.system?.damage?.damageS,
damageM: weapon.system?.damage?.damageM
}
console.log("Weapon damage options:", weaponDamageOptions)
}
const cardData = {
css: [SYSTEM.id, "dice-roll"],
data: this.data,
@@ -1163,7 +1177,8 @@ export default class LethalFantasyRoll extends Roll {
badResult: this.badResult,
rollData: this.rollData,
isPrivate: isPrivate,
combatants: combatants
combatants: combatants,
weaponDamageOptions: weaponDamageOptions
}
cardData.cssClass = cardData.css.join(" ")
cardData.tooltip = isPrivate ? "" : await this.getTooltip()

View File

@@ -269,7 +269,7 @@ export default class LethalFantasyUtils {
// Récupérer les données de dégâts du message
let damageTotal = message.rolls[0]?.total || 0
let weaponName = message.rolls[0]?.options?.rollTarget?.weapon?.name || "Unknown Weapon"
let weaponName = message.rolls[0]?.options?.rollName || "Unknown Weapon"
// Calculer les DR
let armorDR = targetActor.computeDamageReduction() || 0

View File

@@ -1 +1 @@
MANIFEST-000460
MANIFEST-000465

View File

@@ -1,15 +1,8 @@
2025/12/14-09:09:25.826835 7f17053ff6c0 Recovering log #458
2025/12/14-09:09:25.838032 7f17053ff6c0 Delete type=3 #456
2025/12/14-09:09:25.838116 7f17053ff6c0 Delete type=0 #458
2025/12/14-20:45:56.707785 7f16eeffd6c0 Level-0 table #463: started
2025/12/14-20:45:56.710879 7f16eeffd6c0 Level-0 table #463: 1677 bytes OK
2025/12/14-20:45:56.716936 7f16eeffd6c0 Delete type=0 #461
2025/12/14-20:45:56.730287 7f16eeffd6c0 Manual compaction at level-0 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zw9RQocTdz3HRjZK' @ 0 : 0; will stop at (end)
2025/12/14-20:45:56.730345 7f16eeffd6c0 Manual compaction at level-1 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zw9RQocTdz3HRjZK' @ 0 : 0; will stop at '!items!VFHTlDVKj2yNJEWi' @ 1129 : 1
2025/12/14-20:45:56.730356 7f16eeffd6c0 Compacting 1@1 + 1@2 files
2025/12/14-20:45:56.736659 7f16eeffd6c0 Generated table #464@1: 485 keys, 217363 bytes
2025/12/14-20:45:56.736680 7f16eeffd6c0 Compacted 1@1 + 1@2 files => 217363 bytes
2025/12/14-20:45:56.742890 7f16eeffd6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/12/14-20:45:56.742996 7f16eeffd6c0 Delete type=2 #323
2025/12/14-20:45:56.743249 7f16eeffd6c0 Delete type=2 #463
2025/12/14-20:45:56.750017 7f16eeffd6c0 Manual compaction at level-1 from '!items!VFHTlDVKj2yNJEWi' @ 1129 : 1 .. '!items!zw9RQocTdz3HRjZK' @ 0 : 0; will stop at (end)
2025/12/14-20:51:28.512263 7f17053ff6c0 Recovering log #462
2025/12/14-20:51:28.522433 7f17053ff6c0 Delete type=3 #460
2025/12/14-20:51:28.522511 7f17053ff6c0 Delete type=0 #462
2025/12/14-21:17:40.691121 7f16eeffd6c0 Level-0 table #468: started
2025/12/14-21:17:40.691177 7f16eeffd6c0 Level-0 table #468: 0 bytes OK
2025/12/14-21:17:40.697563 7f16eeffd6c0 Delete type=0 #466
2025/12/14-21:17:40.718082 7f16eeffd6c0 Manual compaction at level-0 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zw9RQocTdz3HRjZK' @ 0 : 0; will stop at (end)
2025/12/14-21:17:40.718119 7f16eeffd6c0 Manual compaction at level-1 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zw9RQocTdz3HRjZK' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,15 @@
2025/12/06-15:17:13.631288 7f19dd7fa6c0 Recovering log #454
2025/12/06-15:17:13.737044 7f19dd7fa6c0 Delete type=3 #452
2025/12/06-15:17:13.737119 7f19dd7fa6c0 Delete type=0 #454
2025/12/06-16:41:02.244527 7f19dbff76c0 Level-0 table #459: started
2025/12/06-16:41:02.244570 7f19dbff76c0 Level-0 table #459: 0 bytes OK
2025/12/06-16:41:02.281825 7f19dbff76c0 Delete type=0 #457
2025/12/06-16:41:02.281990 7f19dbff76c0 Manual compaction at level-0 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zw9RQocTdz3HRjZK' @ 0 : 0; will stop at (end)
2025/12/06-16:41:02.282024 7f19dbff76c0 Manual compaction at level-1 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zw9RQocTdz3HRjZK' @ 0 : 0; will stop at (end)
2025/12/14-09:09:25.826835 7f17053ff6c0 Recovering log #458
2025/12/14-09:09:25.838032 7f17053ff6c0 Delete type=3 #456
2025/12/14-09:09:25.838116 7f17053ff6c0 Delete type=0 #458
2025/12/14-20:45:56.707785 7f16eeffd6c0 Level-0 table #463: started
2025/12/14-20:45:56.710879 7f16eeffd6c0 Level-0 table #463: 1677 bytes OK
2025/12/14-20:45:56.716936 7f16eeffd6c0 Delete type=0 #461
2025/12/14-20:45:56.730287 7f16eeffd6c0 Manual compaction at level-0 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zw9RQocTdz3HRjZK' @ 0 : 0; will stop at (end)
2025/12/14-20:45:56.730345 7f16eeffd6c0 Manual compaction at level-1 from '!folders!ATr9wZhg5uTVTksM' @ 72057594037927935 : 1 .. '!items!zw9RQocTdz3HRjZK' @ 0 : 0; will stop at '!items!VFHTlDVKj2yNJEWi' @ 1129 : 1
2025/12/14-20:45:56.730356 7f16eeffd6c0 Compacting 1@1 + 1@2 files
2025/12/14-20:45:56.736659 7f16eeffd6c0 Generated table #464@1: 485 keys, 217363 bytes
2025/12/14-20:45:56.736680 7f16eeffd6c0 Compacted 1@1 + 1@2 files => 217363 bytes
2025/12/14-20:45:56.742890 7f16eeffd6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2025/12/14-20:45:56.742996 7f16eeffd6c0 Delete type=2 #323
2025/12/14-20:45:56.743249 7f16eeffd6c0 Delete type=2 #463
2025/12/14-20:45:56.750017 7f16eeffd6c0 Manual compaction at level-1 from '!items!VFHTlDVKj2yNJEWi' @ 1129 : 1 .. '!items!zw9RQocTdz3HRjZK' @ 0 : 0; will stop at (end)

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000460
MANIFEST-000464

View File

@@ -1,8 +1,8 @@
2025/12/14-09:09:25.859023 7f16ef7fe6c0 Recovering log #458
2025/12/14-09:09:25.869163 7f16ef7fe6c0 Delete type=3 #456
2025/12/14-09:09:25.869258 7f16ef7fe6c0 Delete type=0 #458
2025/12/14-20:45:56.717084 7f16eeffd6c0 Level-0 table #463: started
2025/12/14-20:45:56.717117 7f16eeffd6c0 Level-0 table #463: 0 bytes OK
2025/12/14-20:45:56.723011 7f16eeffd6c0 Delete type=0 #461
2025/12/14-20:45:56.730301 7f16eeffd6c0 Manual compaction at level-0 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!x5gLtqlW4sdDmHTd' @ 0 : 0; will stop at (end)
2025/12/14-20:45:56.743359 7f16eeffd6c0 Manual compaction at level-1 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!x5gLtqlW4sdDmHTd' @ 0 : 0; will stop at (end)
2025/12/14-20:51:28.526428 7f16effff6c0 Recovering log #462
2025/12/14-20:51:28.536097 7f16effff6c0 Delete type=3 #460
2025/12/14-20:51:28.536151 7f16effff6c0 Delete type=0 #462
2025/12/14-21:17:40.711547 7f16eeffd6c0 Level-0 table #467: started
2025/12/14-21:17:40.711584 7f16eeffd6c0 Level-0 table #467: 0 bytes OK
2025/12/14-21:17:40.717934 7f16eeffd6c0 Delete type=0 #465
2025/12/14-21:17:40.718128 7f16eeffd6c0 Manual compaction at level-0 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!x5gLtqlW4sdDmHTd' @ 0 : 0; will stop at (end)
2025/12/14-21:17:40.718154 7f16eeffd6c0 Manual compaction at level-1 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!x5gLtqlW4sdDmHTd' @ 0 : 0; will stop at (end)

View File

@@ -1,8 +1,8 @@
2025/12/06-15:17:13.747297 7f19dc7f86c0 Recovering log #454
2025/12/06-15:17:13.857630 7f19dc7f86c0 Delete type=3 #452
2025/12/06-15:17:13.857707 7f19dc7f86c0 Delete type=0 #454
2025/12/06-16:41:02.159042 7f19dbff76c0 Level-0 table #459: started
2025/12/06-16:41:02.159069 7f19dbff76c0 Level-0 table #459: 0 bytes OK
2025/12/06-16:41:02.201619 7f19dbff76c0 Delete type=0 #457
2025/12/06-16:41:02.281970 7f19dbff76c0 Manual compaction at level-0 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!x5gLtqlW4sdDmHTd' @ 0 : 0; will stop at (end)
2025/12/06-16:41:02.282008 7f19dbff76c0 Manual compaction at level-1 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!x5gLtqlW4sdDmHTd' @ 0 : 0; will stop at (end)
2025/12/14-09:09:25.859023 7f16ef7fe6c0 Recovering log #458
2025/12/14-09:09:25.869163 7f16ef7fe6c0 Delete type=3 #456
2025/12/14-09:09:25.869258 7f16ef7fe6c0 Delete type=0 #458
2025/12/14-20:45:56.717084 7f16eeffd6c0 Level-0 table #463: started
2025/12/14-20:45:56.717117 7f16eeffd6c0 Level-0 table #463: 0 bytes OK
2025/12/14-20:45:56.723011 7f16eeffd6c0 Delete type=0 #461
2025/12/14-20:45:56.730301 7f16eeffd6c0 Manual compaction at level-0 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!x5gLtqlW4sdDmHTd' @ 0 : 0; will stop at (end)
2025/12/14-20:45:56.743359 7f16eeffd6c0 Manual compaction at level-1 from '!folders!yPWGvxHJbDNHVSnY' @ 72057594037927935 : 1 .. '!items!x5gLtqlW4sdDmHTd' @ 0 : 0; will stop at (end)

View File

@@ -1 +1 @@
MANIFEST-000462
MANIFEST-000466

View File

@@ -1,8 +1,8 @@
2025/12/14-09:09:25.806646 7f16effff6c0 Recovering log #460
2025/12/14-09:09:25.817606 7f16effff6c0 Delete type=3 #458
2025/12/14-09:09:25.817666 7f16effff6c0 Delete type=0 #460
2025/12/14-20:45:56.701142 7f16eeffd6c0 Level-0 table #465: started
2025/12/14-20:45:56.701194 7f16eeffd6c0 Level-0 table #465: 0 bytes OK
2025/12/14-20:45:56.707652 7f16eeffd6c0 Delete type=0 #463
2025/12/14-20:45:56.730266 7f16eeffd6c0 Manual compaction at level-0 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)
2025/12/14-20:45:56.730327 7f16eeffd6c0 Manual compaction at level-1 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)
2025/12/14-20:51:28.497448 7f1704bfe6c0 Recovering log #464
2025/12/14-20:51:28.507553 7f1704bfe6c0 Delete type=3 #462
2025/12/14-20:51:28.507622 7f1704bfe6c0 Delete type=0 #464
2025/12/14-21:17:40.697721 7f16eeffd6c0 Level-0 table #469: started
2025/12/14-21:17:40.697764 7f16eeffd6c0 Level-0 table #469: 0 bytes OK
2025/12/14-21:17:40.703907 7f16eeffd6c0 Delete type=0 #467
2025/12/14-21:17:40.718096 7f16eeffd6c0 Manual compaction at level-0 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)
2025/12/14-21:17:40.718137 7f16eeffd6c0 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/12/06-15:17:13.504137 7f19ddffb6c0 Recovering log #456
2025/12/06-15:17:13.609897 7f19ddffb6c0 Delete type=3 #454
2025/12/06-15:17:13.609952 7f19ddffb6c0 Delete type=0 #456
2025/12/06-16:41:02.201733 7f19dbff76c0 Level-0 table #461: started
2025/12/06-16:41:02.201761 7f19dbff76c0 Level-0 table #461: 0 bytes OK
2025/12/06-16:41:02.244399 7f19dbff76c0 Delete type=0 #459
2025/12/06-16:41:02.281980 7f19dbff76c0 Manual compaction at level-0 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)
2025/12/06-16:41:02.282016 7f19dbff76c0 Manual compaction at level-1 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)
2025/12/14-09:09:25.806646 7f16effff6c0 Recovering log #460
2025/12/14-09:09:25.817606 7f16effff6c0 Delete type=3 #458
2025/12/14-09:09:25.817666 7f16effff6c0 Delete type=0 #460
2025/12/14-20:45:56.701142 7f16eeffd6c0 Level-0 table #465: started
2025/12/14-20:45:56.701194 7f16eeffd6c0 Level-0 table #465: 0 bytes OK
2025/12/14-20:45:56.707652 7f16eeffd6c0 Delete type=0 #463
2025/12/14-20:45:56.730266 7f16eeffd6c0 Manual compaction at level-0 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)
2025/12/14-20:45:56.730327 7f16eeffd6c0 Manual compaction at level-1 from '!folders!7j8H7DbmBb9Uza2X' @ 72057594037927935 : 1 .. '!items!zt8s7564ep1La4XQ' @ 0 : 0; will stop at (end)

View File

@@ -1 +1 @@
MANIFEST-000160
MANIFEST-000164

View File

@@ -1,8 +1,8 @@
2025/12/14-09:09:25.891410 7f17053ff6c0 Recovering log #158
2025/12/14-09:09:25.901634 7f17053ff6c0 Delete type=3 #156
2025/12/14-09:09:25.901690 7f17053ff6c0 Delete type=0 #158
2025/12/14-20:45:56.743394 7f16eeffd6c0 Level-0 table #163: started
2025/12/14-20:45:56.743431 7f16eeffd6c0 Level-0 table #163: 0 bytes OK
2025/12/14-20:45:56.749813 7f16eeffd6c0 Delete type=0 #161
2025/12/14-20:45:56.767206 7f16eeffd6c0 Manual compaction at level-0 from '!folders!37mu4dxsSuftlnmP' @ 72057594037927935 : 1 .. '!items!zKOpU34oLziGJW6y' @ 0 : 0; will stop at (end)
2025/12/14-20:45:56.791687 7f16eeffd6c0 Manual compaction at level-1 from '!folders!37mu4dxsSuftlnmP' @ 72057594037927935 : 1 .. '!items!zKOpU34oLziGJW6y' @ 0 : 0; will stop at (end)
2025/12/14-20:51:28.551833 7f16ef7fe6c0 Recovering log #162
2025/12/14-20:51:28.562344 7f16ef7fe6c0 Delete type=3 #160
2025/12/14-20:51:28.562406 7f16ef7fe6c0 Delete type=0 #162
2025/12/14-21:17:40.735101 7f16eeffd6c0 Level-0 table #167: started
2025/12/14-21:17:40.735151 7f16eeffd6c0 Level-0 table #167: 0 bytes OK
2025/12/14-21:17:40.741604 7f16eeffd6c0 Delete type=0 #165
2025/12/14-21:17:40.771470 7f16eeffd6c0 Manual compaction at level-0 from '!folders!37mu4dxsSuftlnmP' @ 72057594037927935 : 1 .. '!items!zKOpU34oLziGJW6y' @ 0 : 0; will stop at (end)
2025/12/14-21:17:40.781560 7f16eeffd6c0 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/12/06-15:17:13.990000 7f19dcff96c0 Recovering log #154
2025/12/06-15:17:14.078163 7f19dcff96c0 Delete type=3 #152
2025/12/06-15:17:14.078227 7f19dcff96c0 Delete type=0 #154
2025/12/06-16:41:02.444766 7f19dbff76c0 Level-0 table #159: started
2025/12/06-16:41:02.444810 7f19dbff76c0 Level-0 table #159: 0 bytes OK
2025/12/06-16:41:02.474131 7f19dbff76c0 Delete type=0 #157
2025/12/06-16:41:02.619626 7f19dbff76c0 Manual compaction at level-0 from '!folders!37mu4dxsSuftlnmP' @ 72057594037927935 : 1 .. '!items!zKOpU34oLziGJW6y' @ 0 : 0; will stop at (end)
2025/12/06-16:41:02.668537 7f19dbff76c0 Manual compaction at level-1 from '!folders!37mu4dxsSuftlnmP' @ 72057594037927935 : 1 .. '!items!zKOpU34oLziGJW6y' @ 0 : 0; will stop at (end)
2025/12/14-09:09:25.891410 7f17053ff6c0 Recovering log #158
2025/12/14-09:09:25.901634 7f17053ff6c0 Delete type=3 #156
2025/12/14-09:09:25.901690 7f17053ff6c0 Delete type=0 #158
2025/12/14-20:45:56.743394 7f16eeffd6c0 Level-0 table #163: started
2025/12/14-20:45:56.743431 7f16eeffd6c0 Level-0 table #163: 0 bytes OK
2025/12/14-20:45:56.749813 7f16eeffd6c0 Delete type=0 #161
2025/12/14-20:45:56.767206 7f16eeffd6c0 Manual compaction at level-0 from '!folders!37mu4dxsSuftlnmP' @ 72057594037927935 : 1 .. '!items!zKOpU34oLziGJW6y' @ 0 : 0; will stop at (end)
2025/12/14-20:45:56.791687 7f16eeffd6c0 Manual compaction at level-1 from '!folders!37mu4dxsSuftlnmP' @ 72057594037927935 : 1 .. '!items!zKOpU34oLziGJW6y' @ 0 : 0; will stop at (end)

View File

@@ -1 +1 @@
MANIFEST-000459
MANIFEST-000463

View File

@@ -1,8 +1,8 @@
2025/12/14-09:09:25.874671 7f16effff6c0 Recovering log #457
2025/12/14-09:09:25.886173 7f16effff6c0 Delete type=3 #455
2025/12/14-09:09:25.886272 7f16effff6c0 Delete type=0 #457
2025/12/14-20:45:56.723132 7f16eeffd6c0 Level-0 table #462: started
2025/12/14-20:45:56.723164 7f16eeffd6c0 Level-0 table #462: 0 bytes OK
2025/12/14-20:45:56.730108 7f16eeffd6c0 Delete type=0 #460
2025/12/14-20:45:56.730316 7f16eeffd6c0 Manual compaction at level-0 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)
2025/12/14-20:45:56.743378 7f16eeffd6c0 Manual compaction at level-1 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)
2025/12/14-20:51:28.538266 7f1704bfe6c0 Recovering log #461
2025/12/14-20:51:28.549289 7f1704bfe6c0 Delete type=3 #459
2025/12/14-20:51:28.549364 7f1704bfe6c0 Delete type=0 #461
2025/12/14-21:17:40.704054 7f16eeffd6c0 Level-0 table #466: started
2025/12/14-21:17:40.704085 7f16eeffd6c0 Level-0 table #466: 0 bytes OK
2025/12/14-21:17:40.711382 7f16eeffd6c0 Delete type=0 #464
2025/12/14-21:17:40.718108 7f16eeffd6c0 Manual compaction at level-0 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)
2025/12/14-21:17:40.718145 7f16eeffd6c0 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/12/06-15:17:13.870724 7f19ddffb6c0 Recovering log #453
2025/12/06-15:17:13.958289 7f19ddffb6c0 Delete type=3 #451
2025/12/06-15:17:13.958388 7f19ddffb6c0 Delete type=0 #453
2025/12/06-16:41:02.118716 7f19dbff76c0 Level-0 table #458: started
2025/12/06-16:41:02.121944 7f19dbff76c0 Level-0 table #458: 0 bytes OK
2025/12/06-16:41:02.158936 7f19dbff76c0 Delete type=0 #456
2025/12/06-16:41:02.281954 7f19dbff76c0 Manual compaction at level-0 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)
2025/12/06-16:41:02.282000 7f19dbff76c0 Manual compaction at level-1 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)
2025/12/14-09:09:25.874671 7f16effff6c0 Recovering log #457
2025/12/14-09:09:25.886173 7f16effff6c0 Delete type=3 #455
2025/12/14-09:09:25.886272 7f16effff6c0 Delete type=0 #457
2025/12/14-20:45:56.723132 7f16eeffd6c0 Level-0 table #462: started
2025/12/14-20:45:56.723164 7f16eeffd6c0 Level-0 table #462: 0 bytes OK
2025/12/14-20:45:56.730108 7f16eeffd6c0 Delete type=0 #460
2025/12/14-20:45:56.730316 7f16eeffd6c0 Manual compaction at level-0 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)
2025/12/14-20:45:56.743378 7f16eeffd6c0 Manual compaction at level-1 from '!folders!mnO9OzE7BEE2KDfh' @ 72057594037927935 : 1 .. '!items!zkK6ixtCsCw3RH9X' @ 0 : 0; will stop at (end)

View File

@@ -221,6 +221,62 @@
text-shadow: 0 0 10px var(--color-shadow-primary);
}
.damage-buttons {
width: 100%;
padding: 8px;
margin-top: 8px;
.damage-buttons-title {
font-weight: bold;
margin-bottom: 8px;
font-size: calc(var(--font-size-standard) * 0.95);
text-align: center;
}
.damage-buttons-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 6px;
padding: 8px;
background-color: rgba(0, 0, 0, 0.1);
border-radius: 5px;
.damage-roll-btn {
padding: 6px 10px;
background: linear-gradient(to bottom, #8b4513 0%, #6b3410 100%);
border: 1px solid #4b2408;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
color: #f0f0e0;
cursor: pointer;
border-radius: 4px;
font-size: calc(var(--font-size-standard) * 0.85);
font-weight: 500;
text-align: center;
transition: all 0.2s ease;
display: flex;
align-items: center;
justify-content: center;
gap: 4px;
i {
font-size: calc(var(--font-size-standard) * 1);
}
&:hover {
background: linear-gradient(to bottom, #9b5523 0%, #7b4420 100%);
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.4);
transform: translateY(-1px);
border-color: #5b3418;
}
&:active {
transform: translateY(0);
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
}
}
}
.damage-result {
width: 100%;
padding: 8px;

View File

@@ -1,4 +1,5 @@
{{!log 'chat-message' this}}
{{!log 'weaponDamageOptions' weaponDamageOptions}}
<div class="{{cssClass}}">
<div class="intro-chat">
<div class="intro-img">
@@ -114,6 +115,40 @@
{{/unless}}
{{#if weaponDamageOptions}}
<div class="damage-buttons">
<div class="damage-buttons-title">{{localize
"LETHALFANTASY.Label.rollDamage"
}}</div>
<div class="damage-buttons-grid">
{{#if weaponDamageOptions.damageS}}
<button
class="damage-roll-btn"
data-weapon-id="{{weaponDamageOptions.weaponId}}"
data-damage-type="small"
data-damage-formula="{{weaponDamageOptions.damageS}}"
title="{{localize 'LETHALFANTASY.Label.weapon-damage-small'}}"
>
<i class="fa-solid fa-dice-d6"></i>
{{localize "LETHALFANTASY.Label.weapon-damage-small"}}
</button>
{{/if}}
{{#if weaponDamageOptions.damageM}}
<button
class="damage-roll-btn"
data-weapon-id="{{weaponDamageOptions.weaponId}}"
data-damage-type="medium"
data-damage-formula="{{weaponDamageOptions.damageM}}"
title="{{localize 'LETHALFANTASY.Label.weapon-damage-medium'}}"
>
<i class="fa-solid fa-dice-d20"></i>
{{localize "LETHALFANTASY.Label.weapon-damage-medium"}}
</button>
{{/if}}
</div>
</div>
{{/if}}
{{#if rollData.isDamage}}
<div class="damage-result">
<ul>