diff --git a/css/mgne.css b/css/mgne.css index 6b4d552..94e3420 100644 --- a/css/mgne.css +++ b/css/mgne.css @@ -17,10 +17,10 @@ --mgne-panel-soft: rgba(64, 47, 37, 0.66); --mgne-border: rgba(171, 139, 104, 0.35); --mgne-border-strong: rgba(196, 154, 69, 0.42); - --mgne-accent: #dd6b2d; + --mgne-accent: #e89a5f; --mgne-accent-alt: #4f7d73; --mgne-text: #ccb292; - --mgne-text-soft: #7e664f; + --mgne-text-soft: #a68e78; --mgne-title: #ab8b68; --mgne-shadow: 0 14px 30px rgba(0, 0, 0, 0.36); } @@ -30,7 +30,7 @@ color: #ccb292; } .application.mgne .window-header { - background: linear-gradient(90deg, rgba(127, 29, 23, 0.4), rgba(183, 70, 31, 0.18) 25%, transparent 70%), linear-gradient(180deg, color-mix(in srgb, #1b1512 80%, black), #13100f); + background: linear-gradient(90deg, rgba(232, 90, 80, 0.4), rgba(216, 122, 79, 0.18) 25%, transparent 70%), linear-gradient(180deg, color-mix(in srgb, #1b1512 80%, black), #13100f); border-bottom: 1px solid rgba(196, 154, 69, 0.35); color: #ab8b68; } @@ -39,7 +39,7 @@ text-transform: uppercase; letter-spacing: 0.08em; font-size: 1rem; - text-shadow: 0 0 16px rgba(221, 107, 45, 0.25); + text-shadow: 0 0 16px rgba(232, 154, 95, 0.25); } .application.mgne .window-header .header-control { font-family: var(--font-awesome, "Font Awesome 6 Pro"); @@ -68,7 +68,7 @@ font-weight: 400; } .application.mgne .window-content { - background: radial-gradient(circle at top left, rgba(183, 70, 31, 0.12), transparent 28%), radial-gradient(circle at top right, rgba(79, 125, 115, 0.1), transparent 24%), linear-gradient(180deg, rgba(27, 21, 18, 0.3), rgba(19, 16, 15, 0.28)), url("../assets/ui/page_background.webp") center top / cover no-repeat, linear-gradient(180deg, #1b1512, #13100f 120%); + background: radial-gradient(circle at top left, rgba(216, 122, 79, 0.12), transparent 28%), radial-gradient(circle at top right, rgba(79, 125, 115, 0.1), transparent 24%), linear-gradient(180deg, rgba(27, 21, 18, 0.3), rgba(19, 16, 15, 0.28)), url("../assets/ui/page_background.webp") center top / cover no-repeat, linear-gradient(180deg, #1b1512, #13100f 120%); color: #ccb292; min-height: 0; overflow-y: auto; @@ -110,8 +110,8 @@ .application.mgne select:focus, .application.mgne textarea:focus { outline: none; - border-color: rgba(221, 107, 45, 0.7); - box-shadow: 0 0 0 1px rgba(221, 107, 45, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.06); + border-color: rgba(232, 154, 95, 0.7); + box-shadow: 0 0 0 1px rgba(232, 154, 95, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.06); } .application.mgne select { appearance: none; @@ -131,7 +131,7 @@ letter-spacing: 0.08em; border: 1px solid rgba(196, 154, 69, 0.44); border-radius: 999px; - background: linear-gradient(180deg, rgba(221, 107, 45, 0.2), rgba(127, 29, 23, 0.1)), linear-gradient(135deg, rgba(171, 139, 104, 0.1), transparent 40%), rgba(17, 12, 10, 0.72); + background: linear-gradient(180deg, rgba(232, 154, 95, 0.2), rgba(232, 90, 80, 0.1)), linear-gradient(135deg, rgba(171, 139, 104, 0.1), transparent 40%), rgba(17, 12, 10, 0.72); color: #ccb292; box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 6px 14px rgba(0, 0, 0, 0.2); transition: transform 120ms ease, box-shadow 120ms ease, border-color 120ms ease, color 120ms ease; @@ -139,20 +139,24 @@ } .application.mgne button:hover, .application.mgne button:focus { - border-color: rgba(221, 107, 45, 0.7); + border-color: rgba(232, 154, 95, 0.7); color: #d9c6ae; transform: translateY(-1px); - box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), 0 8px 18px rgba(127, 29, 23, 0.26); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), 0 8px 18px rgba(232, 90, 80, 0.26); } .application.mgne label { font-family: "CastorTwoMGNE", "Palatino Linotype", serif; text-transform: uppercase; letter-spacing: 0.08em; - color: #6e3d2a; + color: #ab8b68; font-size: 0.74rem; } +.application.mgne.item-sheet label, +.application.mgne.item-sheet .item-form-row > label { + color: #1b1512; +} .application.mgne fieldset { - background: linear-gradient(180deg, rgba(171, 139, 104, 0.04), transparent 24%), linear-gradient(135deg, rgba(183, 70, 31, 0.08), transparent 40%), linear-gradient(180deg, rgba(27, 21, 18, 0.52), rgba(19, 16, 15, 0.34)), url("../assets/ui/page_background.webp") center center / cover no-repeat, linear-gradient(180deg, rgba(41, 30, 24, 0.88) 0%, color-mix(in srgb, rgba(41, 30, 24, 0.88) 88%, black) 100%); + background: linear-gradient(180deg, rgba(171, 139, 104, 0.04), transparent 24%), linear-gradient(135deg, rgba(216, 122, 79, 0.08), transparent 40%), linear-gradient(180deg, rgba(27, 21, 18, 0.52), rgba(19, 16, 15, 0.34)), url("../assets/ui/page_background.webp") center center / cover no-repeat, linear-gradient(180deg, rgba(41, 30, 24, 0.88) 0%, color-mix(in srgb, rgba(41, 30, 24, 0.88) 88%, black) 100%); border: 1px solid rgba(171, 139, 104, 0.34); border-radius: 8px; box-shadow: 0 14px 30px rgba(0, 0, 0, 0.36), inset 0 1px 0 rgba(255, 236, 203, 0.08), inset 0 0 0 1px rgba(255, 236, 203, 0.03); @@ -167,6 +171,9 @@ border: 1px solid rgba(196, 154, 69, 0.16); border-radius: calc(8px - 4px); } +.application.mgne.character fieldset p { + color: #1b1512; +} .application.mgne fieldset .editor, .application.mgne fieldset .editor-content, .application.mgne fieldset .ProseMirror, @@ -221,16 +228,16 @@ border-radius: 4px; } .application.mgne .empty-state { - color: rgba(95, 77, 64, 0.94); + color: #1b1512; font-style: italic; letter-spacing: 0.03em; } .application.mgne .rollable { - color: #dd6b2d; - text-shadow: 0 0 12px rgba(183, 70, 31, 0.18); + color: #d9c6ae; + text-shadow: 0 0 12px rgba(196, 154, 69, 0.18); } .application.mgne .rollable:hover { - color: #e48a59; + color: #e0cfbc; } #combat .combat-controls .mgne-flee-control { display: flex; @@ -242,13 +249,13 @@ margin-top: 0.35rem; border: 1px solid rgba(196, 154, 69, 0.28); border-radius: 6px; - background: linear-gradient(180deg, rgba(127, 29, 23, 0.26), rgba(183, 70, 31, 0.14)), rgba(17, 12, 10, 0.92); + background: linear-gradient(180deg, rgba(232, 90, 80, 0.26), rgba(216, 122, 79, 0.14)), rgba(17, 12, 10, 0.92); color: #ab8b68; font-family: "LoraMGNE", "Book Antiqua", serif; font-weight: 700; } #combat .combat-controls .mgne-flee-control:hover:not(:disabled) { - border-color: rgba(221, 107, 45, 0.52); + border-color: rgba(232, 154, 95, 0.52); color: #b69a7c; } #combat .combat-controls .mgne-flee-control:disabled { @@ -291,7 +298,7 @@ .application.mgne .inventory-section, .application.mgne .daily-resources-panel, .application.mgne .tab-panel { - background: linear-gradient(180deg, rgba(171, 139, 104, 0.04), transparent 24%), linear-gradient(135deg, rgba(183, 70, 31, 0.08), transparent 40%), linear-gradient(180deg, rgba(27, 21, 18, 0.52), rgba(19, 16, 15, 0.34)), url("../assets/ui/page_background.webp") center center / cover no-repeat, linear-gradient(180deg, rgba(41, 30, 24, 0.88) 0%, color-mix(in srgb, rgba(41, 30, 24, 0.88) 88%, black) 100%); + background: linear-gradient(180deg, rgba(171, 139, 104, 0.04), transparent 24%), linear-gradient(135deg, rgba(216, 122, 79, 0.08), transparent 40%), linear-gradient(180deg, rgba(27, 21, 18, 0.52), rgba(19, 16, 15, 0.34)), url("../assets/ui/page_background.webp") center center / cover no-repeat, linear-gradient(180deg, rgba(41, 30, 24, 0.88) 0%, color-mix(in srgb, rgba(41, 30, 24, 0.88) 88%, black) 100%); border: 1px solid rgba(171, 139, 104, 0.34); border-radius: 8px; box-shadow: 0 14px 30px rgba(0, 0, 0, 0.36), inset 0 1px 0 rgba(255, 236, 203, 0.08), inset 0 0 0 1px rgba(255, 236, 203, 0.03); @@ -391,8 +398,8 @@ gap: 0.28rem; padding: 0.52rem; border-radius: 8px; - border: 1px solid rgba(82, 69, 60, 0.3); - background: linear-gradient(180deg, rgba(171, 139, 104, 0.04), transparent 30%), linear-gradient(180deg, rgba(183, 70, 31, 0.07), transparent 80%), rgba(64, 47, 37, 0.66); + border: 1px solid rgba(160, 136, 120, 0.3); + background: linear-gradient(180deg, rgba(171, 139, 104, 0.04), transparent 30%), linear-gradient(180deg, rgba(216, 122, 79, 0.07), transparent 80%), rgba(64, 47, 37, 0.66); } .application.mgne .ability-card { min-height: 0; @@ -434,14 +441,14 @@ padding-top: 1rem; } .application.mgne .resource-box-inline-track .numeric-caption { - color: #6e3d2a; + color: #ab8b68; } .application.mgne .resource-box-inline-track .numeric-caption-strong { padding: 0.08rem 0.34rem; border-radius: 999px; background: rgba(196, 154, 69, 0.18); - border: 1px solid rgba(110, 61, 42, 0.28); - color: #5f3524; + border: 1px solid rgba(171, 139, 104, 0.28); + color: #ab8b68; font-size: 0.6rem; letter-spacing: 0.11em; } @@ -483,7 +490,7 @@ font-family: "CastorTwoMGNE", "Palatino Linotype", serif; text-transform: uppercase; letter-spacing: 0.08em; - color: rgba(129, 83, 59, 0.94); + color: #b58b73; font-size: 0.58rem; letter-spacing: 0.12em; } @@ -577,7 +584,7 @@ align-items: center; } .application.mgne .resource-inline span { - color: #7e664f; + color: #a68e78; } .application.mgne .sheet-tabs { display: flex; @@ -590,8 +597,8 @@ min-width: 110px; } .application.mgne .tab-button.active { - border-color: rgba(221, 107, 45, 0.7); - background: linear-gradient(180deg, rgba(221, 107, 45, 0.26), rgba(127, 29, 23, 0.12)), linear-gradient(135deg, rgba(204, 178, 146, 0.12), transparent 45%), rgba(17, 12, 10, 0.72); + border-color: rgba(232, 154, 95, 0.7); + background: linear-gradient(180deg, rgba(232, 154, 95, 0.26), rgba(232, 90, 80, 0.12)), linear-gradient(135deg, rgba(204, 178, 146, 0.12), transparent 45%), rgba(17, 12, 10, 0.72); color: #d6c1a7; } .application.mgne .tab-panel:not(.active) { @@ -630,7 +637,7 @@ .application.mgne .section-heading small { display: inline-block; margin-top: 0.12rem; - color: #7e664f; + color: #a68e78; font-size: 0.72rem; } .application.mgne .inventory-header, @@ -668,6 +675,14 @@ color: #ab8b68; font-size: 0.82rem; } +.application.mgne.item-sheet h3, +.application.mgne.item-sheet .inventory-header h3 { + color: #1b1512; +} +.application.mgne.character .condition-value-grid label, +.application.mgne.character .condition-flag-grid label { + color: #1b1512; +} .application.mgne .item-row { position: relative; display: grid; @@ -677,11 +692,11 @@ padding: 0.48rem 0.2rem 0.48rem 0.55rem; border-radius: 6px; border: 1px solid transparent; - background: linear-gradient(90deg, rgba(183, 70, 31, 0.09), transparent 35%), linear-gradient(180deg, rgba(204, 178, 146, 0.02), rgba(19, 16, 15, 0.12)), rgba(17, 12, 10, 0.8); + background: linear-gradient(90deg, rgba(216, 122, 79, 0.09), transparent 35%), linear-gradient(180deg, rgba(204, 178, 146, 0.02), rgba(19, 16, 15, 0.12)), rgba(17, 12, 10, 0.8); } .application.mgne .item-row:hover { border-color: rgba(196, 154, 69, 0.28); - background: linear-gradient(90deg, rgba(183, 70, 31, 0.12), transparent 35%), linear-gradient(180deg, rgba(204, 178, 146, 0.04), rgba(19, 16, 15, 0.12)), rgba(17, 12, 10, 0.88); + background: linear-gradient(90deg, rgba(216, 122, 79, 0.12), transparent 35%), linear-gradient(180deg, rgba(204, 178, 146, 0.04), rgba(19, 16, 15, 0.12)), rgba(17, 12, 10, 0.88); } .application.mgne .item-name { color: #ccb292; @@ -755,8 +770,8 @@ min-width: 0; } .application.mgne .resource-label-accent { - color: #dd6b2d; - text-shadow: 0 0 12px rgba(183, 70, 31, 0.18); + color: #d9c6ae; + text-shadow: 0 0 12px rgba(196, 154, 69, 0.18); } .application.mgne .ability-score { display: flex; @@ -792,7 +807,7 @@ font-size: 0.8rem; } .application.mgne .ability-defense-sub { - color: #7e664f; + color: #a68e78; font-size: 0.62rem; } .application.mgne .character .ability-card:nth-child(odd), @@ -803,7 +818,7 @@ .application.mgne .companion .resource-box, .application.mgne .creature .ability-card, .application.mgne .companion .ability-card { - background: linear-gradient(180deg, rgba(127, 29, 23, 0.11), transparent 60%), linear-gradient(180deg, rgba(204, 178, 146, 0.04), transparent 35%), rgba(64, 47, 37, 0.66); + background: linear-gradient(180deg, rgba(232, 90, 80, 0.11), transparent 60%), linear-gradient(180deg, rgba(204, 178, 146, 0.04), transparent 35%), rgba(64, 47, 37, 0.66); } @media (max-width: 960px) { .application.mgne .sheet-header, @@ -845,9 +860,9 @@ background: rgba(196, 154, 69, 0.1); } .item-weight-badge.weight-heavy { - color: #7f1d17; - border-color: rgba(127, 29, 23, 0.45); - background: rgba(127, 29, 23, 0.12); + color: #ab8b68; + border-color: rgba(196, 154, 69, 0.45); + background: rgba(149, 128, 104, 0.12); } .load-display { font-weight: 700; @@ -855,15 +870,15 @@ cursor: default; } .load-overloaded { - color: #7f1d17 !important; - text-shadow: 0 0 6px rgba(127, 29, 23, 0.5); + color: #d9c6ae !important; + text-shadow: 0 0 6px rgba(196, 154, 69, 0.5); } .resource-box-overloaded { - border-color: rgba(127, 29, 23, 0.6) !important; - background: rgba(127, 29, 23, 0.1) !important; + border-color: rgba(196, 154, 69, 0.6) !important; + background: rgba(149, 128, 104, 0.1) !important; } .resource-box-overloaded .resource-label-accent { - color: #7f1d17 !important; + color: #d9c6ae !important; } .item-name[data-tooltip] { cursor: help; @@ -891,9 +906,9 @@ font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; - color: #7f1d17; - background: rgba(127, 29, 23, 0.14); - border: 1px solid rgba(127, 29, 23, 0.45); + color: #d9c6ae; + background: rgba(149, 128, 104, 0.14); + border: 1px solid rgba(171, 139, 104, 0.45); border-radius: 3px; vertical-align: middle; } @@ -916,9 +931,9 @@ letter-spacing: 0.03em; } .item-durability-badge.durability-broken { - color: #7f1d17; - border-color: rgba(127, 29, 23, 0.4); - background: rgba(127, 29, 23, 0.1); + color: #d9c6ae; + border-color: rgba(171, 139, 104, 0.4); + background: rgba(149, 128, 104, 0.1); text-decoration: line-through; } .item-row-broken { @@ -927,7 +942,7 @@ } .item-row-broken .item-name { text-decoration: line-through; - color: rgba(204, 178, 146, 0.55); + color: #d6c1a7; } .weapon-properties-grid { display: flex; @@ -979,10 +994,10 @@ margin-left: 0.2em; } .creature-traits-container { - border: 1px solid rgba(127, 29, 23, 0.35); - border-left: 3px solid rgba(127, 29, 23, 0.65); + border: 1px solid rgba(232, 90, 80, 0.35); + border-left: 3px solid rgba(232, 90, 80, 0.65); border-radius: 4px; - background: linear-gradient(135deg, rgba(127, 29, 23, 0.05), transparent 60%), rgba(64, 47, 37, 0.85); + background: linear-gradient(135deg, rgba(232, 90, 80, 0.05), transparent 60%), rgba(64, 47, 37, 0.85); padding: 0.6rem 0.75rem; display: flex; flex-direction: column; @@ -993,7 +1008,7 @@ align-items: center; justify-content: space-between; gap: 0.5rem; - border-bottom: 1px solid rgba(127, 29, 23, 0.25); + border-bottom: 1px solid rgba(232, 90, 80, 0.25); padding-bottom: 0.4rem; margin-bottom: 0.1rem; } @@ -1004,21 +1019,21 @@ font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; - color: rgba(127, 29, 23, 0.9); + color: #ed7c74; } .creature-traits-header button { font-size: 0.72rem; padding: 0.15em 0.6em; - background: rgba(127, 29, 23, 0.12); - border: 1px solid rgba(127, 29, 23, 0.35); - color: rgba(127, 29, 23, 0.8); + background: rgba(232, 90, 80, 0.12); + border: 1px solid rgba(232, 90, 80, 0.35); + color: #ea6b62; border-radius: 3px; cursor: pointer; transition: background 0.15s, color 0.15s; } .creature-traits-header button:hover { - background: rgba(127, 29, 23, 0.22); - color: #aa271f; + background: rgba(232, 90, 80, 0.22); + color: #ee857d; } .creature-traits-list { display: flex; @@ -1027,14 +1042,14 @@ } .creature-trait-card { background: rgba(19, 16, 15, 0.3); - border: 1px solid rgba(127, 29, 23, 0.2); + border: 1px solid rgba(232, 90, 80, 0.2); border-radius: 3px; padding: 0.35rem 0.5rem; transition: background 0.15s, border-color 0.15s; } .creature-trait-card:hover { - background: rgba(127, 29, 23, 0.08); - border-color: rgba(127, 29, 23, 0.35); + background: rgba(232, 90, 80, 0.08); + border-color: rgba(232, 90, 80, 0.35); } .creature-trait-card-header { display: flex; @@ -1055,7 +1070,7 @@ cursor: default; } .creature-trait-name i { - color: rgba(127, 29, 23, 0.7); + color: rgba(232, 90, 80, 0.7); font-size: 0.75em; } .creature-trait-trigger { @@ -1097,7 +1112,7 @@ flex-wrap: wrap; padding: 0.45rem 0.6rem; background: rgba(64, 47, 37, 0.5); - border: 1px solid rgba(183, 70, 31, 0.2); + border: 1px solid rgba(216, 122, 79, 0.2); border-radius: 4px; } .creature-meta-label { @@ -1106,7 +1121,7 @@ font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; - color: rgba(183, 70, 31, 0.8); + color: #ccb292; white-space: nowrap; } .creature-type-group { @@ -1120,14 +1135,17 @@ align-items: center; gap: 0.3em; font-size: 0.83rem; - color: #ccb292; + color: #ccb292 !important; cursor: pointer; user-select: none; } +.creature-type-checkbox > span { + color: #ccb292 !important; +} .creature-type-checkbox input[type="checkbox"] { appearance: checkbox; -webkit-appearance: checkbox; - accent-color: #b7461f; + accent-color: #d87a4f; width: 0.9rem; height: 0.9rem; cursor: pointer; @@ -1151,13 +1169,13 @@ font-size: 0.9rem; color: #ccb292; background: rgba(17, 12, 10, 0.72); - border: 1px solid rgba(183, 70, 31, 0.3); + border: 1px solid rgba(216, 122, 79, 0.3); border-radius: 3px; padding: 0.15em 0.3em; } .creature-number-input:focus { outline: none; - border-color: rgba(183, 70, 31, 0.6); + border-color: rgba(216, 122, 79, 0.6); background: rgba(17, 12, 10, 0.9); } .creature-action-table-section .action-table-drop-zone { @@ -1172,7 +1190,7 @@ } .creature-action-table-section .action-table-drop-zone i { font-size: 1em; - color: #b7461f; + color: #d87a4f; } .creature-action-table-section .action-table-drop-zone .action-table-name { font-weight: 600; @@ -1180,8 +1198,8 @@ color: #ccb292; } .creature-action-table-section .action-table-drop-zone.drop-hint { - border: 2px dashed rgba(183, 70, 31, 0.35); - background: rgba(183, 70, 31, 0.04); + border: 2px dashed rgba(216, 122, 79, 0.35); + background: rgba(216, 122, 79, 0.04); color: rgba(204, 178, 146, 0.5); font-style: italic; justify-content: center; @@ -1189,17 +1207,17 @@ transition: background 0.15s, border-color 0.15s; } .creature-action-table-section .action-table-drop-zone.drop-hint i { - color: rgba(183, 70, 31, 0.5); + color: rgba(216, 122, 79, 0.5); } .creature-action-table-section .action-table-drop-zone.drop-hint:hover, .creature-action-table-section .action-table-drop-zone.drop-hint.drag-over { - background: rgba(183, 70, 31, 0.09); - border-color: rgba(183, 70, 31, 0.6); + background: rgba(216, 122, 79, 0.09); + border-color: rgba(216, 122, 79, 0.6); color: rgba(204, 178, 146, 0.7); } .creature-action-table-section .action-table-drop-zone.drop-hint:hover i, .creature-action-table-section .action-table-drop-zone.drop-hint.drag-over i { - color: #b7461f; + color: #d87a4f; } .creature-action-table-section .action-table-buttons { display: flex; @@ -1209,9 +1227,9 @@ .creature-action-table-section .action-table-buttons button { font-size: 0.75rem; padding: 0.15em 0.55em; - background: rgba(183, 70, 31, 0.1); - border: 1px solid rgba(183, 70, 31, 0.3); - color: rgba(183, 70, 31, 0.8); + background: rgba(149, 128, 104, 0.1); + border: 1px solid rgba(196, 154, 69, 0.3); + color: #d6c1a7; border-radius: 3px; cursor: pointer; transition: background 0.15s, color 0.15s; @@ -1220,8 +1238,8 @@ gap: 0.3em; } .creature-action-table-section .action-table-buttons button:hover { - background: rgba(183, 70, 31, 0.22); - color: #b7461f; + background: rgba(149, 128, 104, 0.22); + color: #ab8b68; } .application.mgne.party .party-credits-row { display: flex; @@ -1293,7 +1311,7 @@ border-radius: 6px; } .application.mgne.party .party-member-row.party-member-header { - color: #7e664f; + color: #a68e78; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; @@ -1326,14 +1344,14 @@ color: #c49a45; } .application.mgne.party .party-member-hp { - color: #dd6b2d; + color: #ab8b68; font-family: "CastorTwoMGNE", "Palatino Linotype", serif; font-size: 0.82rem; font-weight: 700; text-align: center; } .application.mgne.party .party-member-type { - color: #7e664f; + color: #bead9d; font-size: 0.78rem; font-style: italic; } @@ -1352,7 +1370,7 @@ border-radius: 6px; } .application.mgne.party .party-loot-row.party-loot-header { - color: #7e664f; + color: #a68e78; font-size: 0.72rem; font-weight: 700; text-transform: uppercase; @@ -1377,12 +1395,12 @@ border: 1px solid rgba(171, 139, 104, 0.25); } .application.mgne.party .item-type-label { - color: #7e664f; + color: #a68e78; font-size: 0.78rem; font-style: italic; } .application.mgne.party .party-drop-hint { - color: rgba(126, 102, 79, 0.7); + color: rgba(166, 142, 120, 0.7); font-size: 0.75rem; font-style: italic; text-align: center; @@ -1393,13 +1411,13 @@ } .application.mgne.roll-dialog .window-content { padding: 0.55rem; - background: radial-gradient(circle at top left, rgba(221, 107, 45, 0.14), transparent 26%), linear-gradient(180deg, rgba(27, 21, 18, 0.26), rgba(19, 16, 15, 0.22)), url("../assets/ui/page_background.webp") center center / cover no-repeat, linear-gradient(180deg, #1b1512, #13100f 120%); + background: radial-gradient(circle at top left, rgba(232, 154, 95, 0.14), transparent 26%), linear-gradient(180deg, rgba(27, 21, 18, 0.26), rgba(19, 16, 15, 0.22)), url("../assets/ui/page_background.webp") center center / cover no-repeat, linear-gradient(180deg, #1b1512, #13100f 120%); } .application.mgne.roll-dialog .dialog-content { padding: 0; } .application.mgne.roll-dialog .mgne-roll-dialog { - background: linear-gradient(135deg, rgba(183, 70, 31, 0.1), transparent 32%), linear-gradient(180deg, rgba(27, 21, 18, 0.94), rgba(19, 16, 15, 0.98)), #13100f; + background: linear-gradient(135deg, rgba(216, 122, 79, 0.1), transparent 32%), linear-gradient(180deg, rgba(27, 21, 18, 0.94), rgba(19, 16, 15, 0.98)), #13100f; border: 1px solid rgba(196, 154, 69, 0.28); border-radius: 6px; box-shadow: 0 14px 30px rgba(0, 0, 0, 0.36), inset 0 1px 0 rgba(255, 236, 203, 0.08), inset 0 0 0 1px rgba(255, 236, 203, 0.03); @@ -1444,7 +1462,7 @@ min-width: 132px; } .mgne-chat-card { - background: linear-gradient(180deg, rgba(171, 139, 104, 0.04), transparent 24%), linear-gradient(135deg, rgba(183, 70, 31, 0.08), transparent 40%), linear-gradient(180deg, rgba(27, 21, 18, 0.52), rgba(19, 16, 15, 0.34)), url("../assets/ui/page_background.webp") center center / cover no-repeat, linear-gradient(180deg, rgba(41, 30, 24, 0.88) 0%, color-mix(in srgb, rgba(41, 30, 24, 0.88) 88%, black) 100%); + background: linear-gradient(180deg, rgba(171, 139, 104, 0.04), transparent 24%), linear-gradient(135deg, rgba(216, 122, 79, 0.08), transparent 40%), linear-gradient(180deg, rgba(27, 21, 18, 0.52), rgba(19, 16, 15, 0.34)), url("../assets/ui/page_background.webp") center center / cover no-repeat, linear-gradient(180deg, rgba(41, 30, 24, 0.88) 0%, color-mix(in srgb, rgba(41, 30, 24, 0.88) 88%, black) 100%); border: 1px solid rgba(171, 139, 104, 0.34); border-radius: 8px; box-shadow: 0 14px 30px rgba(0, 0, 0, 0.36), inset 0 1px 0 rgba(255, 236, 203, 0.08), inset 0 0 0 1px rgba(255, 236, 203, 0.03); @@ -1453,8 +1471,8 @@ flex-direction: column; gap: 0.6rem; padding: 0.68rem; - color: #52453c; - background: radial-gradient(circle at top right, rgba(79, 125, 115, 0.1), transparent 22%), linear-gradient(135deg, rgba(183, 70, 31, 0.1), transparent 38%), linear-gradient(180deg, rgba(171, 139, 104, 0.04), transparent 24%), linear-gradient(180deg, rgba(27, 21, 18, 0.22), rgba(19, 16, 15, 0.18)), url("../assets/ui/page_background.webp") right bottom / cover no-repeat, rgba(41, 30, 24, 0.88); + color: #a08878; + background: radial-gradient(circle at top right, rgba(79, 125, 115, 0.1), transparent 22%), linear-gradient(135deg, rgba(216, 122, 79, 0.1), transparent 38%), linear-gradient(180deg, rgba(171, 139, 104, 0.04), transparent 24%), linear-gradient(180deg, rgba(27, 21, 18, 0.22), rgba(19, 16, 15, 0.18)), url("../assets/ui/page_background.webp") right bottom / cover no-repeat, rgba(41, 30, 24, 0.88); } .mgne-chat-card::before { content: ""; @@ -1485,7 +1503,7 @@ text-transform: uppercase; letter-spacing: 0.08em; margin: 0; - color: #6e3d2a; + color: #ab8b68; font-size: 0.82rem; } .mgne-chat-card .chat-actor, @@ -1495,10 +1513,10 @@ margin: 0; } .mgne-chat-card .chat-actor { - color: #52453c; + color: #a08878; } .mgne-chat-card .chat-formula { - color: #52453c; + color: #a08878; } .mgne-chat-card .chat-formula code { color: #ccb292; @@ -1563,7 +1581,7 @@ .mgne-chat-card .chat-dice-tooltip .dice-formula { font-family: "Courier New", monospace; font-size: 0.72rem; - color: rgba(204, 178, 146, 0.65); + color: rgba(204, 178, 146, 0.78); } .mgne-chat-card .chat-dice-tooltip .dice-tooltip { font-size: 0.78rem; @@ -1577,7 +1595,7 @@ font-size: 0.8rem; } .mgne-chat-card .chat-dice-tooltip .part-formula { - color: rgba(204, 178, 146, 0.7); + color: rgba(204, 178, 146, 0.82); font-size: 0.72rem; } .mgne-chat-card .chat-dice-tooltip .part-total { @@ -1588,7 +1606,7 @@ color: #82b0a6; } .mgne-chat-card .chat-dice-tooltip .min { - color: #e48a59; + color: #eeb68c; } .mgne-chat-card .chat-dice-tooltip .dice-total { font-family: "CastorTwoMGNE", serif; @@ -1607,13 +1625,13 @@ padding: 0.3rem 0.55rem; border-radius: 6px; background: rgba(19, 16, 15, 0.72); - border-left: 3px solid rgba(221, 107, 45, 0.7); - color: #e69062; + border-left: 3px solid rgba(232, 154, 95, 0.7); + color: #f0bc95; font-size: 0.8rem; } .mgne-chat-card .chat-special { padding: 0.42rem 0.55rem; - border-left: 3px solid rgba(221, 107, 45, 0.55); + border-left: 3px solid rgba(232, 154, 95, 0.55); background: rgba(17, 12, 10, 0.85); color: #ccb292; } @@ -1631,17 +1649,17 @@ .mgne-chat-card.outcome-failure, .mgne-chat-card.outcome-broken, .mgne-chat-card.outcome-fumble { - border-color: rgba(127, 29, 23, 0.48); + border-color: rgba(232, 90, 80, 0.48); } .mgne-chat-card.outcome-failure .chat-outcome, .mgne-chat-card.outcome-broken .chat-outcome, .mgne-chat-card.outcome-fumble .chat-outcome { - color: #eaa37c; - border-left-color: rgba(221, 107, 45, 0.8); + color: #f4cdaf; + border-left-color: rgba(232, 154, 95, 0.8); } .mgne-chat-card.mode-apply-damage .chat-result-total, .mgne-chat-card.mode-damage .chat-result-total { - color: #e38450; + color: #edb183; } .mgne-chat-card .chat-card-actions { margin-top: 0.2rem; @@ -1653,9 +1671,9 @@ gap: 0.45rem; width: 100%; padding: 0.38rem 0.7rem; - border: 1px solid #dd6b2d; + border: 1px solid #e89a5f; border-radius: 6px; - background: #b7461f; + background: #d87a4f; color: #f8ede0; font-family: "CastorTwoMGNE", "Palatino Linotype", serif; font-size: 0.78rem; @@ -1670,8 +1688,8 @@ font-weight: 700; } .mgne-roll-damage-btn:hover { - background: #da5325; - border-color: #e69062; + background: #df9370; + border-color: #f0bc95; color: #fff; } .mgne-roll-damage-btn.is-critical { @@ -1687,13 +1705,36 @@ background: #c49a45; color: #fff; } +.mgne-omen-reroll-btn { + display: flex; + align-items: center; + justify-content: center; + gap: 0.45rem; + width: 100%; + padding: 0.38rem 0.7rem; + border: 1px solid #c49a45; + border-radius: 6px; + background: #8f6f2d; + color: #fff5d0; + font-family: "CastorTwoMGNE", "Palatino Linotype", serif; + font-size: 0.78rem; + font-weight: 600; + letter-spacing: 0.06em; + cursor: pointer; + transition: background 0.15s, border-color 0.15s; +} +.mgne-omen-reroll-btn:hover { + background: #ae8737; + border-color: #d3b373; + color: #fff; +} .chat-apply-actions { margin-top: 0.35rem; } .mgne-apply-damage-select { width: 100%; padding: 0.35rem 0.6rem; - border: 1px solid #dd6b2d; + border: 1px solid #e89a5f; border-radius: 6px; background: #1b1512; color: #ab8b68; @@ -1708,10 +1749,10 @@ color: #ab8b68; } .mgne-apply-damage-select:hover { - border-color: #e69062; + border-color: #f0bc95; background: rgba(183, 70, 31, 0.18); } .mgne-apply-damage-select:focus { outline: none; - border-color: #dd6b2d; + border-color: #e89a5f; } diff --git a/fvtt-machine-gods-noxian-expanse.mjs b/fvtt-machine-gods-noxian-expanse.mjs index efe755d..17d1578 100644 --- a/fvtt-machine-gods-noxian-expanse.mjs +++ b/fvtt-machine-gods-noxian-expanse.mjs @@ -146,6 +146,67 @@ Hooks.on("renderChatMessageHTML", (message, element) => { }) }) + root.querySelectorAll(".mgne-omen-reroll-btn").forEach(btn => { + btn.addEventListener("click", async () => { + const actorId = btn.dataset.actorId + const actor = game.actors.get(actorId) + if (!actor) { + ui.notifications.warn(game.i18n.localize("MGNE.Notification.ActorNotFound")) + return + } + + const currentOmens = actor.system.omens?.current ?? 0 + if (currentOmens === 0) { + ui.notifications.warn(game.i18n.localize("MGNE.Notification.NoOmensLeft")) + return + } + + // Save original state for rollback + const originalOmens = currentOmens + + // Disable button and show loading state + const originalInnerHTML = btn.innerHTML + btn.disabled = true + btn.innerHTML = ' ' + game.i18n.localize("MGNE.Common.Processing") + + try { + // Spend the omen + await actor.update({ "system.omens.current": Math.max(0, currentOmens - 1) }) + + // Re-roll with the same parameters + const abilityId = btn.dataset.abilityId + const label = btn.dataset.label + const baseDR = parseInt(btn.dataset.baseDr ?? "12", 10) + const modifier = parseInt(btn.dataset.modifier ?? "0", 10) + const rollType = btn.dataset.rollType ?? "check" + const itemId = btn.dataset.itemId + const item = itemId ? actor.items.get(itemId) : null + + await MGNERoll.promptCheck({ + actor, + abilityId, + label, + baseDR, + modifier, + rollType, + item, + }) + } catch (error) { + // Rollback omen spend on error + const currentOmensAfterError = actor.system.omens?.current ?? 0 + if (currentOmensAfterError < originalOmens) { + await actor.update({ "system.omens.current": originalOmens }) + } + ui.notifications.error(game.i18n.localize("MGNE.Notification.RollError")) + console.error("Omen re-roll failed:", error) + } finally { + // Restore button state + btn.disabled = false + btn.innerHTML = originalInnerHTML + } + }) + }) + root.querySelectorAll(".mgne-apply-damage-select").forEach(select => { const isAllowed = game.user.isGM || message.isAuthor if (!isAllowed) { diff --git a/lang/en.json b/lang/en.json index 48355ee..e8a9ab3 100644 --- a/lang/en.json +++ b/lang/en.json @@ -452,6 +452,7 @@ "QuantityShort": "Qty", "Range": "Range", "Resonation": "Resonation", + "Processing": "Processing...", "Roll": "Roll", "No": "No", "Subtype": "Subtype", @@ -512,8 +513,11 @@ "StudyHelp": "Each action lowers the target number by 1, to a minimum of 2+." }, "Notification": { + "ActorNotFound": "Actor not found.", "ActorOrItemNotFound": "Actor or item not found for damage roll.", "CannotSyncMore": "{actor} cannot synchronize any more artifacts today.", + "NoOmensLeft": "No omens left to spend!", + "RollError": "Failed to re-roll. Omen refunded.", "ItemBroken": "{item} is broken.", "ItemBurnedOut": "{item} is burned out.", "ItemDepleted": "{item} is already depleted.", @@ -585,6 +589,7 @@ "OutcomeSuccess": "Success", "QuickRestLabel": "{actor} Takes a Quick Rest", "RestoredHP": "Restored {amount} HP", + "RerollWithOmen": "Reroll with Omen", "RollDamage": "Roll Damage", "TakesDamageLabel": "{actor} Takes Damage", "TargetName": "Target: {target}", diff --git a/less/base.less b/less/base.less index 13fa953..fb73007 100644 --- a/less/base.less +++ b/less/base.less @@ -147,16 +147,27 @@ .application.mgne label { .caps-heading(); - color: @label-ink; + color: @bone; font-size: 0.74rem; } +// Item sheets: dark labels for parchment backgrounds +.application.mgne.item-sheet label, +.application.mgne.item-sheet .item-form-row > label { + color: @bg-char; +} + .application.mgne fieldset { .panel-shell(); .ornate-frame(); margin: 0; } +// Character sheet: Rules Snapshot fieldset text - dark color for parchment bg +.application.mgne.character fieldset p { + color: @bg-char; +} + // ProseMirror / toggled editor inside fieldset — enforce contrast on dark bg .application.mgne fieldset { .editor, @@ -203,17 +214,17 @@ } .application.mgne .empty-state { - color: fade(@ash, 94%); + color: @bg-char; font-style: italic; letter-spacing: 0.03em; } .application.mgne .rollable { - color: @ember-bright; - text-shadow: 0 0 12px fade(@ember, 18%); + color: lighten(@parchment, 8%); + text-shadow: 0 0 12px fade(@gold-acid, 18%); &:hover { - color: lighten(@ember-bright, 10%); + color: lighten(@parchment, 12%); } } diff --git a/less/chat.less b/less/chat.less index ce7c19e..7b2e663 100644 --- a/less/chat.less +++ b/less/chat.less @@ -37,7 +37,7 @@ .mgne-chat-card h3 { .caps-heading(); margin: 0; - color: @label-ink; + color: @bone; font-size: 0.82rem; } @@ -119,7 +119,7 @@ .dice-formula { font-family: "Courier New", monospace; font-size: 0.72rem; - color: fade(@parchment, 65%); + color: fade(@parchment, 78%); } .dice-tooltip { font-size: 0.78rem; @@ -131,7 +131,7 @@ color: @gold-acid; font-size: 0.8rem; } - .part-formula { color: fade(@parchment, 70%); font-size: 0.72rem; } + .part-formula { color: fade(@parchment, 82%); font-size: 0.72rem; } .part-total { color: @parchment; font-weight: 600; } .max { color: lighten(@verdigris, 20%); } .min { color: lighten(@ember-bright, 10%); } @@ -242,6 +242,31 @@ } } +.mgne-omen-reroll-btn { + display: flex; + align-items: center; + justify-content: center; + gap: 0.45rem; + width: 100%; + padding: 0.38rem 0.7rem; + border: 1px solid @gold-acid; + border-radius: @radius-sm; + background: darken(@gold-acid, 15%); + color: #fff5d0; + font-family: @font-display; + font-size: 0.78rem; + font-weight: 600; + letter-spacing: 0.06em; + cursor: pointer; + transition: background 0.15s, border-color 0.15s; + + &:hover { + background: lighten(darken(@gold-acid, 15%), 8%); + border-color: lighten(@gold-acid, 12%); + color: #fff; + } +} + .chat-apply-actions { margin-top: 0.35rem; } diff --git a/less/sheets.less b/less/sheets.less index c436680..57ad1e4 100644 --- a/less/sheets.less +++ b/less/sheets.less @@ -203,15 +203,15 @@ } .application.mgne .resource-box-inline-track .numeric-caption { - color: @label-ink; + color: @bone; } .application.mgne .resource-box-inline-track .numeric-caption-strong { padding: 0.08rem 0.34rem; border-radius: 999px; background: fade(@gold-acid, 18%); - border: 1px solid fade(@label-ink, 28%); - color: darken(@label-ink, 4%); + border: 1px solid fade(@bone, 28%); + color: @bone; font-size: 0.6rem; letter-spacing: 0.11em; } @@ -261,7 +261,7 @@ .application.mgne .numeric-caption { .caps-heading(); - color: fade(@label-soft, 94%); + color: lighten(@label-soft, 2%); font-size: 0.58rem; letter-spacing: 0.12em; } @@ -479,6 +479,18 @@ font-size: 0.82rem; } +// Item sheets: dark h3 for parchment backgrounds +.application.mgne.item-sheet h3, +.application.mgne.item-sheet .inventory-header h3 { + color: @bg-char; +} + +// Character sheet: Conditions block - use dark color like item sheets +.application.mgne.character .condition-value-grid label, +.application.mgne.character .condition-flag-grid label { + color: @bg-char; +} + .application.mgne .item-row { position: relative; display: grid; @@ -584,8 +596,8 @@ } .application.mgne .resource-label-accent { - color: @ember-bright; - text-shadow: 0 0 12px fade(@ember, 18%); + color: lighten(@parchment, 8%); + text-shadow: 0 0 12px fade(@gold-acid, 18%); } .application.mgne .ability-score { @@ -693,9 +705,9 @@ } &.weight-heavy { - color: @blood; - border-color: fade(@blood, 45%); - background: fade(@blood, 12%); + color: @bone; + border-color: fade(@gold-acid, 45%); + background: fade(@ash, 12%); } } @@ -707,16 +719,16 @@ } .load-overloaded { - color: @blood !important; - text-shadow: 0 0 6px fade(@blood, 50%); + color: lighten(@parchment, 8%) !important; + text-shadow: 0 0 6px fade(@gold-acid, 50%); } .resource-box-overloaded { - border-color: fade(@blood, 60%) !important; - background: fade(@blood, 10%) !important; + border-color: fade(@gold-acid, 60%) !important; + background: fade(@ash, 10%) !important; .resource-label-accent { - color: @blood !important; + color: lighten(@parchment, 8%) !important; } } @@ -748,9 +760,9 @@ font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; - color: @blood; - background: fade(@blood, 14%); - border: 1px solid fade(@blood, 45%); + color: lighten(@parchment, 8%); + background: fade(@ash, 14%); + border: 1px solid fade(@bone, 45%); border-radius: 3px; vertical-align: middle; } @@ -775,9 +787,9 @@ letter-spacing: 0.03em; &.durability-broken { - color: @blood; - border-color: fade(@blood, 40%); - background: fade(@blood, 10%); + color: lighten(@parchment, 8%); + border-color: fade(@bone, 40%); + background: fade(@ash, 10%); text-decoration: line-through; } } @@ -788,7 +800,7 @@ .item-name { text-decoration: line-through; - color: fade(@parchment, 55%); + color: lighten(@parchment, 6%); } } @@ -874,7 +886,7 @@ font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; - color: fade(@blood, 90%); + color: lighten(@blood, 8%); } button { @@ -882,7 +894,7 @@ padding: 0.15em 0.6em; background: fade(@blood, 12%); border: 1px solid fade(@blood, 35%); - color: fade(@blood, 80%); + color: lighten(@blood, 4%); border-radius: 3px; cursor: pointer; transition: background 0.15s, color 0.15s; @@ -992,7 +1004,7 @@ font-weight: 700; text-transform: uppercase; letter-spacing: 0.07em; - color: fade(@ember, 80%); + color: @parchment; white-space: nowrap; } @@ -1008,10 +1020,14 @@ align-items: center; gap: 0.3em; font-size: 0.83rem; - color: @parchment; + color: @parchment !important; cursor: pointer; user-select: none; + > span { + color: @parchment !important; + } + input[type="checkbox"] { appearance: checkbox; -webkit-appearance: checkbox; @@ -1100,9 +1116,9 @@ button { font-size: 0.75rem; padding: 0.15em 0.55em; - background: fade(@ember, 10%); - border: 1px solid fade(@ember, 30%); - color: fade(@ember, 80%); + background: fade(@ash, 10%); + border: 1px solid fade(@gold-acid, 30%); + color: lighten(@parchment, 6%); border-radius: 3px; cursor: pointer; transition: background 0.15s, color 0.15s; @@ -1111,8 +1127,8 @@ gap: 0.3em; &:hover { - background: fade(@ember, 22%); - color: @ember; + background: fade(@ash, 22%); + color: @bone; } } } @@ -1241,7 +1257,7 @@ } .application.mgne.party .party-member-hp { - color: @ember-bright; + color: @bone; font-family: @font-display; font-size: 0.82rem; font-weight: 700; @@ -1249,7 +1265,7 @@ } .application.mgne.party .party-member-type { - color: @dust; + color: lighten(@dust, 12%); font-size: 0.78rem; font-style: italic; } diff --git a/less/variables.less b/less/variables.less index ed31934..f8cc19a 100644 --- a/less/variables.less +++ b/less/variables.less @@ -9,16 +9,16 @@ @bg-input: rgba(17, 12, 10, 0.72); @parchment: #ccb292; @bone: #ab8b68; -@dust: #7e664f; -@ash: #5f4d40; -@label-ink: #6e3d2a; -@label-soft: #81533b; -@iron: #52453c; -@copper: #8d5f3f; +@dust: #a68e78; +@ash: #958068; +@label-ink: #a67054; +@label-soft: #b1856c; +@iron: #a08878; +@copper: #b49c73; @verdigris: #4f7d73; -@ember: #b7461f; -@ember-bright: #dd6b2d; -@blood: #7f1d17; +@ember: #d87a4f; +@ember-bright: #e89a5f; +@blood: #e85a50; @gold-acid: #c49a45; @shadow-heavy: 0 14px 30px rgba(0, 0, 0, 0.36); @shadow-inset: inset 0 1px 0 rgba(255, 236, 203, 0.08), inset 0 0 0 1px rgba(255, 236, 203, 0.03); diff --git a/module/documents/roll.mjs b/module/documents/roll.mjs index e92f8ff..b752b82 100644 --- a/module/documents/roll.mjs +++ b/module/documents/roll.mjs @@ -70,15 +70,16 @@ async function renderCard(context) { } export default class MGNERoll { - static async promptCheck({ actor, abilityId, label, baseDR = 12, rollType = "check", item = null }) { + static async promptCheck({ actor, abilityId, label, baseDR = 12, modifier = 0, rollType = "check", item = null }) { const abilityLabel = SYSTEM.abilities[abilityId]?.label ?? abilityId const content = await foundry.applications.handlebars.renderTemplate(`systems/${SYSTEM_ID}/templates/roll-dialog.hbs`, { actorName: actor.name, label, abilityLabel, baseDR, + modifier, drOptions: numericOptions(6, 20, baseDR), - modifierOptions: numericOptions(-6, 6, 0), + modifierOptions: numericOptions(-6, 6, modifier), omens: actor.system.omens?.current ?? 0, rollType, }) @@ -99,15 +100,15 @@ export default class MGNERoll { if (!dialogData) return null - const modifier = Number.parseInt(dialogData.modifier ?? 0, 10) || 0 + const dialogModifier = Number.parseInt(dialogData.modifier ?? 0, 10) || 0 const spendOmen = Boolean(dialogData.spendOmen) // Re-read omens after dialog close to avoid race condition (omen could have changed) const currentOmensAfterDialog = actor.system.omens?.current ?? 0 const canSpendOmen = spendOmen && currentOmensAfterDialog > 0 const dr = (Number.parseInt(dialogData.dr ?? baseDR, 10) || baseDR) - (canSpendOmen ? 4 : 0) const abilityValue = actor.system.abilities?.[abilityId]?.value ?? 0 - const sign = modifier >= 0 ? "+" : "-" - const formula = modifier === 0 ? `1d20 + ${abilityValue}` : `1d20 + ${abilityValue} ${sign} ${Math.abs(modifier)}` + const sign = dialogModifier >= 0 ? "+" : "-" + const formula = dialogModifier === 0 ? `1d20 + ${abilityValue}` : `1d20 + ${abilityValue} ${sign} ${Math.abs(dialogModifier)}` const roll = await (new Roll(formula)).evaluate() const natural = roll.dice?.[0]?.results?.[0]?.result ?? roll.total @@ -143,6 +144,7 @@ export default class MGNERoll { } const showDamageButton = rollType === "attack" && (success || critical) && !!item + const showOmenRerollButton = Boolean(omenRerollReminder) const contentHtml = await renderCard({ mode: "check", actorName: actor.name, @@ -160,6 +162,14 @@ export default class MGNERoll { damageItemId: showDamageButton ? item.id : null, damageFormula: showDamageButton ? (item.system.damage || "1") : null, damageCritical: showDamageButton && critical, + showOmenRerollButton, + omenRerollActorId: showOmenRerollButton ? actor.id : null, + omenRerollAbilityId: showOmenRerollButton ? abilityId : null, + omenRerollLabel: showOmenRerollButton ? label : null, + omenRerollBaseDR: showOmenRerollButton ? baseDR : null, + omenRerollModifier: showOmenRerollButton ? dialogModifier : 0, + omenRerollRollType: showOmenRerollButton ? rollType : null, + omenRerollItemId: showOmenRerollButton ? item?.id : null, _roll: roll, }) diff --git a/packs-system/armor/000038.ldb b/packs-system/armor/000038.ldb deleted file mode 100644 index 1ef167b..0000000 Binary files a/packs-system/armor/000038.ldb and /dev/null differ diff --git a/packs-system/armor/000037.log b/packs-system/armor/000046.log similarity index 100% rename from packs-system/armor/000037.log rename to packs-system/armor/000046.log diff --git a/packs-system/armor/000048.ldb b/packs-system/armor/000048.ldb new file mode 100644 index 0000000..e63e8b6 Binary files /dev/null and b/packs-system/armor/000048.ldb differ diff --git a/packs-system/armor/CURRENT b/packs-system/armor/CURRENT index 29a53d8..e146ef6 100644 --- a/packs-system/armor/CURRENT +++ b/packs-system/armor/CURRENT @@ -1 +1 @@ -MANIFEST-000035 +MANIFEST-000044 diff --git a/packs-system/armor/LOG b/packs-system/armor/LOG index 449a751..8dc86c1 100644 --- a/packs-system/armor/LOG +++ b/packs-system/armor/LOG @@ -1,8 +1,15 @@ -2026/05/19-11:43:58.491683 7f5a477fe6c0 Recovering log #32 -2026/05/19-11:43:58.503266 7f5a477fe6c0 Delete type=3 #30 -2026/05/19-11:43:58.503328 7f5a477fe6c0 Delete type=0 #32 -2026/05/19-13:29:47.340536 7f5a467fc6c0 Level-0 table #38: started -2026/05/19-13:29:47.344381 7f5a467fc6c0 Level-0 table #38: 1354 bytes OK -2026/05/19-13:29:47.350519 7f5a467fc6c0 Delete type=0 #36 -2026/05/19-13:29:47.378833 7f5a467fc6c0 Manual compaction at level-0 from '!items!mgne-arm-chainshirt' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at (end) -2026/05/19-13:29:47.401042 7f5a467fc6c0 Manual compaction at level-1 from '!items!mgne-arm-chainshirt' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at (end) +2026/05/23-08:39:02.071552 7fb059fef6c0 Recovering log #41 +2026/05/23-08:39:02.085152 7fb059fef6c0 Delete type=3 #39 +2026/05/23-08:39:02.085618 7fb059fef6c0 Delete type=0 #41 +2026/05/23-08:42:47.974188 7fb04b7fe6c0 Level-0 table #47: started +2026/05/23-08:42:47.978821 7fb04b7fe6c0 Level-0 table #47: 1354 bytes OK +2026/05/23-08:42:47.988393 7fb04b7fe6c0 Delete type=0 #45 +2026/05/23-08:42:47.997317 7fb04b7fe6c0 Manual compaction at level-0 from '!items!mgne-arm-chainshirt' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at (end) +2026/05/23-08:42:48.016276 7fb04b7fe6c0 Manual compaction at level-1 from '!items!mgne-arm-chainshirt' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 74 : 1 +2026/05/23-08:42:48.016311 7fb04b7fe6c0 Compacting 1@1 + 1@2 files +2026/05/23-08:42:48.020556 7fb04b7fe6c0 Generated table #48@1: 1 keys, 685 bytes +2026/05/23-08:42:48.020648 7fb04b7fe6c0 Compacted 1@1 + 1@2 files => 685 bytes +2026/05/23-08:42:48.028266 7fb04b7fe6c0 compacted to: files[ 0 0 2 0 0 0 0 ] +2026/05/23-08:42:48.028596 7fb04b7fe6c0 Delete type=2 #43 +2026/05/23-08:42:48.028998 7fb04b7fe6c0 Delete type=2 #47 +2026/05/23-08:42:48.059146 7fb04b7fe6c0 Manual compaction at level-1 from '!items!null' @ 74 : 1 .. '!items!null' @ 0 : 0; will stop at (end) diff --git a/packs-system/armor/LOG.old b/packs-system/armor/LOG.old index 53dd396..540e1e4 100644 --- a/packs-system/armor/LOG.old +++ b/packs-system/armor/LOG.old @@ -1,16 +1,15 @@ -2026/05/19-11:02:18.769006 7f8fcb7fe6c0 Recovering log #27 -2026/05/19-11:02:18.779483 7f8fcb7fe6c0 Delete type=3 #25 -2026/05/19-11:02:18.779537 7f8fcb7fe6c0 Delete type=0 #27 -2026/05/19-11:02:18.787924 7f8fcaffd6c0 Level-0 table #33: started -2026/05/19-11:02:18.791070 7f8fcaffd6c0 Level-0 table #33: 1193 bytes OK -2026/05/19-11:02:18.797355 7f8fcaffd6c0 Delete type=0 #31 -2026/05/19-11:02:18.797604 7f8fcaffd6c0 Manual compaction at level-0 from '!items!mgne-arm-chainshirt' @ 72057594037927935 : 1 .. '!items!mgne-shd-medshield' @ 0 : 0; will stop at (end) -2026/05/19-11:02:18.797649 7f8fcaffd6c0 Manual compaction at level-1 from '!items!mgne-arm-chainshirt' @ 72057594037927935 : 1 .. '!items!mgne-shd-medshield' @ 0 : 0; will stop at '!items!null' @ 57 : 0 -2026/05/19-11:02:18.797659 7f8fcaffd6c0 Compacting 1@1 + 2@2 files -2026/05/19-11:02:18.800889 7f8fcaffd6c0 Generated table #34@1: 8 keys, 1176 bytes -2026/05/19-11:02:18.800920 7f8fcaffd6c0 Compacted 1@1 + 2@2 files => 1176 bytes -2026/05/19-11:02:18.807939 7f8fcaffd6c0 compacted to: files[ 0 0 1 0 0 0 0 ] -2026/05/19-11:02:18.808063 7f8fcaffd6c0 Delete type=2 #5 -2026/05/19-11:02:18.808159 7f8fcaffd6c0 Delete type=2 #29 -2026/05/19-11:02:18.808228 7f8fcaffd6c0 Delete type=2 #33 -2026/05/19-11:02:18.808291 7f8fcaffd6c0 Manual compaction at level-1 from '!items!null' @ 57 : 0 .. '!items!mgne-shd-medshield' @ 0 : 0; will stop at (end) +2026/05/22-23:16:00.130878 7fb04bfff6c0 Recovering log #37 +2026/05/22-23:16:00.140612 7fb04bfff6c0 Delete type=3 #35 +2026/05/22-23:16:00.140678 7fb04bfff6c0 Delete type=0 #37 +2026/05/23-00:40:56.642804 7fb04b7fe6c0 Level-0 table #42: started +2026/05/23-00:40:56.647145 7fb04b7fe6c0 Level-0 table #42: 1354 bytes OK +2026/05/23-00:40:56.653866 7fb04b7fe6c0 Delete type=0 #40 +2026/05/23-00:40:56.663878 7fb04b7fe6c0 Manual compaction at level-0 from '!items!mgne-arm-chainshirt' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at (end) +2026/05/23-00:40:56.674602 7fb04b7fe6c0 Manual compaction at level-1 from '!items!mgne-arm-chainshirt' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 66 : 1 +2026/05/23-00:40:56.674608 7fb04b7fe6c0 Compacting 1@1 + 1@2 files +2026/05/23-00:40:56.678236 7fb04b7fe6c0 Generated table #43@1: 1 keys, 685 bytes +2026/05/23-00:40:56.678254 7fb04b7fe6c0 Compacted 1@1 + 1@2 files => 685 bytes +2026/05/23-00:40:56.686903 7fb04b7fe6c0 compacted to: files[ 0 0 2 0 0 0 0 ] +2026/05/23-00:40:56.686979 7fb04b7fe6c0 Delete type=2 #38 +2026/05/23-00:40:56.687121 7fb04b7fe6c0 Delete type=2 #42 +2026/05/23-00:40:56.707355 7fb04b7fe6c0 Manual compaction at level-1 from '!items!null' @ 66 : 1 .. '!items!null' @ 0 : 0; will stop at (end) diff --git a/packs-system/armor/MANIFEST-000035 b/packs-system/armor/MANIFEST-000035 deleted file mode 100644 index 02183f6..0000000 Binary files a/packs-system/armor/MANIFEST-000035 and /dev/null differ diff --git a/packs-system/armor/MANIFEST-000044 b/packs-system/armor/MANIFEST-000044 new file mode 100644 index 0000000..566e6ab Binary files /dev/null and b/packs-system/armor/MANIFEST-000044 differ diff --git a/packs-system/companions/000038.ldb b/packs-system/companions/000038.ldb deleted file mode 100644 index dcc24fd..0000000 Binary files a/packs-system/companions/000038.ldb and /dev/null differ diff --git a/packs-system/companions/000037.log b/packs-system/companions/000046.log similarity index 100% rename from packs-system/companions/000037.log rename to packs-system/companions/000046.log diff --git a/packs-system/companions/000048.ldb b/packs-system/companions/000048.ldb new file mode 100644 index 0000000..65c2273 Binary files /dev/null and b/packs-system/companions/000048.ldb differ diff --git a/packs-system/companions/CURRENT b/packs-system/companions/CURRENT index 29a53d8..e146ef6 100644 --- a/packs-system/companions/CURRENT +++ b/packs-system/companions/CURRENT @@ -1 +1 @@ -MANIFEST-000035 +MANIFEST-000044 diff --git a/packs-system/companions/LOG b/packs-system/companions/LOG index 7717c4b..0719b42 100644 --- a/packs-system/companions/LOG +++ b/packs-system/companions/LOG @@ -1,8 +1,15 @@ -2026/05/19-11:43:58.466515 7f5a47fff6c0 Recovering log #32 -2026/05/19-11:43:58.477301 7f5a47fff6c0 Delete type=3 #30 -2026/05/19-11:43:58.477387 7f5a47fff6c0 Delete type=0 #32 -2026/05/19-13:29:47.310841 7f5a467fc6c0 Level-0 table #38: started -2026/05/19-13:29:47.314286 7f5a467fc6c0 Level-0 table #38: 4899 bytes OK -2026/05/19-13:29:47.320795 7f5a467fc6c0 Delete type=0 #36 -2026/05/19-13:29:47.340397 7f5a467fc6c0 Manual compaction at level-0 from '!actors!mgne-comp-beguiled-noble' @ 72057594037927935 : 1 .. '!actors!null' @ 0 : 0; will stop at (end) -2026/05/19-13:29:47.340431 7f5a467fc6c0 Manual compaction at level-1 from '!actors!mgne-comp-beguiled-noble' @ 72057594037927935 : 1 .. '!actors!null' @ 0 : 0; will stop at (end) +2026/05/23-08:39:02.020811 7fb058fed6c0 Recovering log #41 +2026/05/23-08:39:02.034588 7fb058fed6c0 Delete type=3 #39 +2026/05/23-08:39:02.034799 7fb058fed6c0 Delete type=0 #41 +2026/05/23-08:42:47.861136 7fb04b7fe6c0 Level-0 table #47: started +2026/05/23-08:42:47.866967 7fb04b7fe6c0 Level-0 table #47: 4899 bytes OK +2026/05/23-08:42:47.875441 7fb04b7fe6c0 Delete type=0 #45 +2026/05/23-08:42:47.890448 7fb04b7fe6c0 Manual compaction at level-0 from '!actors!mgne-comp-beguiled-noble' @ 72057594037927935 : 1 .. '!actors!null' @ 0 : 0; will stop at (end) +2026/05/23-08:42:47.890591 7fb04b7fe6c0 Manual compaction at level-1 from '!actors!mgne-comp-beguiled-noble' @ 72057594037927935 : 1 .. '!actors!null' @ 0 : 0; will stop at '!actors!null' @ 38 : 1 +2026/05/23-08:42:47.890614 7fb04b7fe6c0 Compacting 1@1 + 1@2 files +2026/05/23-08:42:47.895073 7fb04b7fe6c0 Generated table #48@1: 1 keys, 1984 bytes +2026/05/23-08:42:47.895150 7fb04b7fe6c0 Compacted 1@1 + 1@2 files => 1984 bytes +2026/05/23-08:42:47.902755 7fb04b7fe6c0 compacted to: files[ 0 0 2 0 0 0 0 ] +2026/05/23-08:42:47.903327 7fb04b7fe6c0 Delete type=2 #43 +2026/05/23-08:42:47.903735 7fb04b7fe6c0 Delete type=2 #47 +2026/05/23-08:42:47.946588 7fb04b7fe6c0 Manual compaction at level-1 from '!actors!null' @ 38 : 1 .. '!actors!null' @ 0 : 0; will stop at (end) diff --git a/packs-system/companions/LOG.old b/packs-system/companions/LOG.old index 7dffee5..8de5ee4 100644 --- a/packs-system/companions/LOG.old +++ b/packs-system/companions/LOG.old @@ -1,16 +1,15 @@ -2026/05/19-11:02:18.809449 7f8fcb7fe6c0 Recovering log #27 -2026/05/19-11:02:18.819291 7f8fcb7fe6c0 Delete type=3 #25 -2026/05/19-11:02:18.819384 7f8fcb7fe6c0 Delete type=0 #27 -2026/05/19-11:02:18.822817 7f8fcaffd6c0 Level-0 table #33: started -2026/05/19-11:02:18.826056 7f8fcaffd6c0 Level-0 table #33: 2612 bytes OK -2026/05/19-11:02:18.832282 7f8fcaffd6c0 Delete type=0 #31 -2026/05/19-11:02:18.832460 7f8fcaffd6c0 Manual compaction at level-0 from '!actors!mgne-comp-beguiled-noble' @ 72057594037927935 : 1 .. '!actors!mgne-comp-silicon-cantor' @ 0 : 0; will stop at (end) -2026/05/19-11:02:18.832489 7f8fcaffd6c0 Manual compaction at level-1 from '!actors!mgne-comp-beguiled-noble' @ 72057594037927935 : 1 .. '!actors!mgne-comp-silicon-cantor' @ 0 : 0; will stop at '!actors!null' @ 29 : 0 -2026/05/19-11:02:18.832498 7f8fcaffd6c0 Compacting 1@1 + 2@2 files -2026/05/19-11:02:18.836012 7f8fcaffd6c0 Generated table #34@1: 4 keys, 2597 bytes -2026/05/19-11:02:18.836038 7f8fcaffd6c0 Compacted 1@1 + 2@2 files => 2597 bytes -2026/05/19-11:02:18.842468 7f8fcaffd6c0 compacted to: files[ 0 0 1 0 0 0 0 ] -2026/05/19-11:02:18.842559 7f8fcaffd6c0 Delete type=2 #5 -2026/05/19-11:02:18.842644 7f8fcaffd6c0 Delete type=2 #29 -2026/05/19-11:02:18.842691 7f8fcaffd6c0 Delete type=2 #33 -2026/05/19-11:02:18.842740 7f8fcaffd6c0 Manual compaction at level-1 from '!actors!null' @ 29 : 0 .. '!actors!mgne-comp-silicon-cantor' @ 0 : 0; will stop at (end) +2026/05/22-23:16:00.102725 7fb0597ee6c0 Recovering log #37 +2026/05/22-23:16:00.113026 7fb0597ee6c0 Delete type=3 #35 +2026/05/22-23:16:00.113082 7fb0597ee6c0 Delete type=0 #37 +2026/05/23-00:40:56.621116 7fb04b7fe6c0 Level-0 table #42: started +2026/05/23-00:40:56.626059 7fb04b7fe6c0 Level-0 table #42: 4899 bytes OK +2026/05/23-00:40:56.632556 7fb04b7fe6c0 Delete type=0 #40 +2026/05/23-00:40:56.663861 7fb04b7fe6c0 Manual compaction at level-0 from '!actors!mgne-comp-beguiled-noble' @ 72057594037927935 : 1 .. '!actors!null' @ 0 : 0; will stop at (end) +2026/05/23-00:40:56.663903 7fb04b7fe6c0 Manual compaction at level-1 from '!actors!mgne-comp-beguiled-noble' @ 72057594037927935 : 1 .. '!actors!null' @ 0 : 0; will stop at '!actors!null' @ 34 : 1 +2026/05/23-00:40:56.663907 7fb04b7fe6c0 Compacting 1@1 + 1@2 files +2026/05/23-00:40:56.667251 7fb04b7fe6c0 Generated table #43@1: 1 keys, 1984 bytes +2026/05/23-00:40:56.667275 7fb04b7fe6c0 Compacted 1@1 + 1@2 files => 1984 bytes +2026/05/23-00:40:56.674103 7fb04b7fe6c0 compacted to: files[ 0 0 2 0 0 0 0 ] +2026/05/23-00:40:56.674353 7fb04b7fe6c0 Delete type=2 #38 +2026/05/23-00:40:56.674510 7fb04b7fe6c0 Delete type=2 #42 +2026/05/23-00:40:56.697306 7fb04b7fe6c0 Manual compaction at level-1 from '!actors!null' @ 34 : 1 .. '!actors!null' @ 0 : 0; will stop at (end) diff --git a/packs-system/companions/MANIFEST-000035 b/packs-system/companions/MANIFEST-000035 deleted file mode 100644 index f0103b7..0000000 Binary files a/packs-system/companions/MANIFEST-000035 and /dev/null differ diff --git a/packs-system/companions/MANIFEST-000044 b/packs-system/companions/MANIFEST-000044 new file mode 100644 index 0000000..51e0377 Binary files /dev/null and b/packs-system/companions/MANIFEST-000044 differ diff --git a/packs-system/features/000038.ldb b/packs-system/features/000038.ldb deleted file mode 100644 index 3ed946c..0000000 Binary files a/packs-system/features/000038.ldb and /dev/null differ diff --git a/packs-system/features/000037.log b/packs-system/features/000046.log similarity index 100% rename from packs-system/features/000037.log rename to packs-system/features/000046.log diff --git a/packs-system/features/000048.ldb b/packs-system/features/000048.ldb new file mode 100644 index 0000000..4bcf1ed Binary files /dev/null and b/packs-system/features/000048.ldb differ diff --git a/packs-system/features/CURRENT b/packs-system/features/CURRENT index 29a53d8..e146ef6 100644 --- a/packs-system/features/CURRENT +++ b/packs-system/features/CURRENT @@ -1 +1 @@ -MANIFEST-000035 +MANIFEST-000044 diff --git a/packs-system/features/LOG b/packs-system/features/LOG index 65133e0..7282c82 100644 --- a/packs-system/features/LOG +++ b/packs-system/features/LOG @@ -1,8 +1,15 @@ -2026/05/19-11:43:58.453269 7f5a94bff6c0 Recovering log #32 -2026/05/19-11:43:58.463527 7f5a94bff6c0 Delete type=3 #30 -2026/05/19-11:43:58.463573 7f5a94bff6c0 Delete type=0 #32 -2026/05/19-13:29:47.301133 7f5a467fc6c0 Level-0 table #38: started -2026/05/19-13:29:47.304584 7f5a467fc6c0 Level-0 table #38: 10414 bytes OK -2026/05/19-13:29:47.310712 7f5a467fc6c0 Delete type=0 #36 -2026/05/19-13:29:47.340382 7f5a467fc6c0 Manual compaction at level-0 from '!items!mgne-feat-11' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at (end) -2026/05/19-13:29:47.340424 7f5a467fc6c0 Manual compaction at level-1 from '!items!mgne-feat-11' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at (end) +2026/05/23-08:39:01.993483 7fb0597ee6c0 Recovering log #41 +2026/05/23-08:39:02.008888 7fb0597ee6c0 Delete type=3 #39 +2026/05/23-08:39:02.009121 7fb0597ee6c0 Delete type=0 #41 +2026/05/23-08:42:47.845110 7fb04b7fe6c0 Level-0 table #47: started +2026/05/23-08:42:47.852176 7fb04b7fe6c0 Level-0 table #47: 10404 bytes OK +2026/05/23-08:42:47.860739 7fb04b7fe6c0 Delete type=0 #45 +2026/05/23-08:42:47.890409 7fb04b7fe6c0 Manual compaction at level-0 from '!items!mgne-feat-11' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at (end) +2026/05/23-08:42:47.932141 7fb04b7fe6c0 Manual compaction at level-1 from '!items!mgne-feat-11' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 326 : 1 +2026/05/23-08:42:47.932174 7fb04b7fe6c0 Compacting 1@1 + 1@2 files +2026/05/23-08:42:47.936922 7fb04b7fe6c0 Generated table #48@1: 1 keys, 728 bytes +2026/05/23-08:42:47.937033 7fb04b7fe6c0 Compacted 1@1 + 1@2 files => 728 bytes +2026/05/23-08:42:47.945460 7fb04b7fe6c0 compacted to: files[ 0 0 2 0 0 0 0 ] +2026/05/23-08:42:47.945901 7fb04b7fe6c0 Delete type=2 #43 +2026/05/23-08:42:47.946350 7fb04b7fe6c0 Delete type=2 #47 +2026/05/23-08:42:47.947124 7fb04b7fe6c0 Manual compaction at level-1 from '!items!null' @ 326 : 1 .. '!items!null' @ 0 : 0; will stop at (end) diff --git a/packs-system/features/LOG.old b/packs-system/features/LOG.old index a568a2b..383995d 100644 --- a/packs-system/features/LOG.old +++ b/packs-system/features/LOG.old @@ -1,16 +1,15 @@ -2026/05/19-11:02:18.844260 7f8fcb7fe6c0 Recovering log #27 -2026/05/19-11:02:18.853625 7f8fcb7fe6c0 Delete type=3 #25 -2026/05/19-11:02:18.853672 7f8fcb7fe6c0 Delete type=0 #27 -2026/05/19-11:02:18.858431 7f8fcaffd6c0 Level-0 table #33: started -2026/05/19-11:02:18.861570 7f8fcaffd6c0 Level-0 table #33: 8690 bytes OK -2026/05/19-11:02:18.868803 7f8fcaffd6c0 Delete type=0 #31 -2026/05/19-11:02:18.869044 7f8fcaffd6c0 Manual compaction at level-0 from '!items!mgne-feat-11' @ 72057594037927935 : 1 .. '!items!mgne-feat-66' @ 0 : 0; will stop at (end) -2026/05/19-11:02:18.869099 7f8fcaffd6c0 Manual compaction at level-1 from '!items!mgne-feat-11' @ 72057594037927935 : 1 .. '!items!mgne-feat-66' @ 0 : 0; will stop at '!items!null' @ 253 : 0 -2026/05/19-11:02:18.869112 7f8fcaffd6c0 Compacting 1@1 + 2@2 files -2026/05/19-11:02:18.872810 7f8fcaffd6c0 Generated table #34@1: 36 keys, 8674 bytes -2026/05/19-11:02:18.872822 7f8fcaffd6c0 Compacted 1@1 + 2@2 files => 8674 bytes -2026/05/19-11:02:18.878554 7f8fcaffd6c0 compacted to: files[ 0 0 1 0 0 0 0 ] -2026/05/19-11:02:18.878610 7f8fcaffd6c0 Delete type=2 #5 -2026/05/19-11:02:18.878700 7f8fcaffd6c0 Delete type=2 #29 -2026/05/19-11:02:18.878747 7f8fcaffd6c0 Delete type=2 #33 -2026/05/19-11:02:18.878825 7f8fcaffd6c0 Manual compaction at level-1 from '!items!null' @ 253 : 0 .. '!items!mgne-feat-66' @ 0 : 0; will stop at (end) +2026/05/22-23:16:00.088732 7fb058fed6c0 Recovering log #37 +2026/05/22-23:16:00.097993 7fb058fed6c0 Delete type=3 #35 +2026/05/22-23:16:00.098029 7fb058fed6c0 Delete type=0 #37 +2026/05/23-00:40:56.654001 7fb04b7fe6c0 Level-0 table #42: started +2026/05/23-00:40:56.657365 7fb04b7fe6c0 Level-0 table #42: 10404 bytes OK +2026/05/23-00:40:56.663780 7fb04b7fe6c0 Delete type=0 #40 +2026/05/23-00:40:56.674587 7fb04b7fe6c0 Manual compaction at level-0 from '!items!mgne-feat-11' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at (end) +2026/05/23-00:40:56.697319 7fb04b7fe6c0 Manual compaction at level-1 from '!items!mgne-feat-11' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 290 : 1 +2026/05/23-00:40:56.697323 7fb04b7fe6c0 Compacting 1@1 + 1@2 files +2026/05/23-00:40:56.700728 7fb04b7fe6c0 Generated table #43@1: 1 keys, 728 bytes +2026/05/23-00:40:56.700761 7fb04b7fe6c0 Compacted 1@1 + 1@2 files => 728 bytes +2026/05/23-00:40:56.707096 7fb04b7fe6c0 compacted to: files[ 0 0 2 0 0 0 0 ] +2026/05/23-00:40:56.707214 7fb04b7fe6c0 Delete type=2 #38 +2026/05/23-00:40:56.707310 7fb04b7fe6c0 Delete type=2 #42 +2026/05/23-00:40:56.717606 7fb04b7fe6c0 Manual compaction at level-1 from '!items!null' @ 290 : 1 .. '!items!null' @ 0 : 0; will stop at (end) diff --git a/packs-system/features/MANIFEST-000035 b/packs-system/features/MANIFEST-000035 deleted file mode 100644 index 2fc93c0..0000000 Binary files a/packs-system/features/MANIFEST-000035 and /dev/null differ diff --git a/packs-system/features/MANIFEST-000044 b/packs-system/features/MANIFEST-000044 new file mode 100644 index 0000000..385221d Binary files /dev/null and b/packs-system/features/MANIFEST-000044 differ diff --git a/packs-system/names/000040.ldb b/packs-system/names/000040.ldb deleted file mode 100644 index 4d54b61..0000000 Binary files a/packs-system/names/000040.ldb and /dev/null differ diff --git a/packs-system/names/000038.log b/packs-system/names/000048.log similarity index 100% rename from packs-system/names/000038.log rename to packs-system/names/000048.log diff --git a/packs-system/names/000050.ldb b/packs-system/names/000050.ldb new file mode 100644 index 0000000..ba9b021 Binary files /dev/null and b/packs-system/names/000050.ldb differ diff --git a/packs-system/names/CURRENT b/packs-system/names/CURRENT index ecb0b4b..a6d5883 100644 --- a/packs-system/names/CURRENT +++ b/packs-system/names/CURRENT @@ -1 +1 @@ -MANIFEST-000036 +MANIFEST-000046 diff --git a/packs-system/names/LOG b/packs-system/names/LOG index d48f853..c35490d 100644 --- a/packs-system/names/LOG +++ b/packs-system/names/LOG @@ -1,15 +1,15 @@ -2026/05/19-11:43:58.505418 7f5a46ffd6c0 Recovering log #33 -2026/05/19-11:43:58.516284 7f5a46ffd6c0 Delete type=3 #31 -2026/05/19-11:43:58.516350 7f5a46ffd6c0 Delete type=0 #33 -2026/05/19-13:29:47.350654 7f5a467fc6c0 Level-0 table #39: started -2026/05/19-13:29:47.354446 7f5a467fc6c0 Level-0 table #39: 31043 bytes OK -2026/05/19-13:29:47.361835 7f5a467fc6c0 Delete type=0 #37 -2026/05/19-13:29:47.378848 7f5a467fc6c0 Manual compaction at level-0 from '!tables!mgne-tbl-armor' @ 72057594037927935 : 1 .. '!tables.results!zjIS1gXpPC2gCY8t' @ 0 : 0; will stop at (end) -2026/05/19-13:29:47.378915 7f5a467fc6c0 Manual compaction at level-1 from '!tables!mgne-tbl-armor' @ 72057594037927935 : 1 .. '!tables.results!zjIS1gXpPC2gCY8t' @ 0 : 0; will stop at '!tables.results!zjIS1gXpPC2gCY8t' @ 2661 : 1 -2026/05/19-13:29:47.378921 7f5a467fc6c0 Compacting 1@1 + 1@2 files -2026/05/19-13:29:47.383027 7f5a467fc6c0 Generated table #40@1: 436 keys, 40533 bytes -2026/05/19-13:29:47.383047 7f5a467fc6c0 Compacted 1@1 + 1@2 files => 40533 bytes -2026/05/19-13:29:47.389114 7f5a467fc6c0 compacted to: files[ 0 0 1 0 0 0 0 ] -2026/05/19-13:29:47.389270 7f5a467fc6c0 Delete type=2 #35 -2026/05/19-13:29:47.389435 7f5a467fc6c0 Delete type=2 #39 -2026/05/19-13:29:47.407497 7f5a467fc6c0 Manual compaction at level-1 from '!tables.results!zjIS1gXpPC2gCY8t' @ 2661 : 1 .. '!tables.results!zjIS1gXpPC2gCY8t' @ 0 : 0; will stop at (end) +2026/05/23-08:39:02.096363 7fb058fed6c0 Recovering log #43 +2026/05/23-08:39:02.110780 7fb058fed6c0 Delete type=3 #41 +2026/05/23-08:39:02.110962 7fb058fed6c0 Delete type=0 #43 +2026/05/23-08:42:47.957308 7fb04b7fe6c0 Level-0 table #49: started +2026/05/23-08:42:47.965185 7fb04b7fe6c0 Level-0 table #49: 36427 bytes OK +2026/05/23-08:42:47.973709 7fb04b7fe6c0 Delete type=0 #47 +2026/05/23-08:42:47.997266 7fb04b7fe6c0 Manual compaction at level-0 from '!tables!mgne-tbl-armor' @ 72057594037927935 : 1 .. '!tables.results!zJoz3QSaL4FJ8W0g' @ 0 : 0; will stop at (end) +2026/05/23-08:42:47.997540 7fb04b7fe6c0 Manual compaction at level-1 from '!tables!mgne-tbl-armor' @ 72057594037927935 : 1 .. '!tables.results!zJoz3QSaL4FJ8W0g' @ 0 : 0; will stop at '!tables.results!zxz8aOYe1rfUsXfG' @ 3496 : 0 +2026/05/23-08:42:47.997565 7fb04b7fe6c0 Compacting 1@1 + 1@2 files +2026/05/23-08:42:48.006520 7fb04b7fe6c0 Generated table #50@1: 436 keys, 40644 bytes +2026/05/23-08:42:48.006615 7fb04b7fe6c0 Compacted 1@1 + 1@2 files => 40644 bytes +2026/05/23-08:42:48.015030 7fb04b7fe6c0 compacted to: files[ 0 0 1 0 0 0 0 ] +2026/05/23-08:42:48.015433 7fb04b7fe6c0 Delete type=2 #45 +2026/05/23-08:42:48.015956 7fb04b7fe6c0 Delete type=2 #49 +2026/05/23-08:42:48.059083 7fb04b7fe6c0 Manual compaction at level-1 from '!tables.results!zxz8aOYe1rfUsXfG' @ 3496 : 0 .. '!tables.results!zJoz3QSaL4FJ8W0g' @ 0 : 0; will stop at (end) diff --git a/packs-system/names/LOG.old b/packs-system/names/LOG.old index 684f78f..24624cf 100644 --- a/packs-system/names/LOG.old +++ b/packs-system/names/LOG.old @@ -1,15 +1,15 @@ -2026/05/19-11:02:18.880496 7f8fcb7fe6c0 Recovering log #28 -2026/05/19-11:02:18.890669 7f8fcb7fe6c0 Delete type=3 #26 -2026/05/19-11:02:18.890721 7f8fcb7fe6c0 Delete type=0 #28 -2026/05/19-11:02:18.903169 7f8fcaffd6c0 Level-0 table #34: started -2026/05/19-11:02:18.906993 7f8fcaffd6c0 Level-0 table #34: 20747 bytes OK -2026/05/19-11:02:18.913179 7f8fcaffd6c0 Delete type=0 #32 -2026/05/19-11:02:18.913340 7f8fcaffd6c0 Manual compaction at level-0 from '!tables!mgne-tbl-armor' @ 72057594037927935 : 1 .. '!tables.results!mgne-tbl-weapons.mgne-tbl-wpn-12' @ 0 : 0; will stop at (end) -2026/05/19-11:02:18.913365 7f8fcaffd6c0 Manual compaction at level-1 from '!tables!mgne-tbl-armor' @ 72057594037927935 : 1 .. '!tables.results!mgne-tbl-weapons.mgne-tbl-wpn-12' @ 0 : 0; will stop at '!tables.results!zvHZSivLEOLcr48A' @ 2626 : 0 -2026/05/19-11:02:18.913369 7f8fcaffd6c0 Compacting 1@1 + 1@2 files -2026/05/19-11:02:18.916838 7f8fcaffd6c0 Generated table #35@1: 225 keys, 15451 bytes -2026/05/19-11:02:18.916863 7f8fcaffd6c0 Compacted 1@1 + 1@2 files => 15451 bytes -2026/05/19-11:02:18.924177 7f8fcaffd6c0 compacted to: files[ 0 0 1 0 0 0 0 ] -2026/05/19-11:02:18.924301 7f8fcaffd6c0 Delete type=2 #30 -2026/05/19-11:02:18.924433 7f8fcaffd6c0 Delete type=2 #34 -2026/05/19-11:02:18.924527 7f8fcaffd6c0 Manual compaction at level-1 from '!tables.results!zvHZSivLEOLcr48A' @ 2626 : 0 .. '!tables.results!mgne-tbl-weapons.mgne-tbl-wpn-12' @ 0 : 0; will stop at (end) +2026/05/22-23:16:00.142864 7fb059fef6c0 Recovering log #38 +2026/05/22-23:16:00.152440 7fb059fef6c0 Delete type=3 #36 +2026/05/22-23:16:00.152474 7fb059fef6c0 Delete type=0 #38 +2026/05/23-00:40:56.707364 7fb04b7fe6c0 Level-0 table #44: started +2026/05/23-00:40:56.710586 7fb04b7fe6c0 Level-0 table #44: 36225 bytes OK +2026/05/23-00:40:56.717497 7fb04b7fe6c0 Delete type=0 #42 +2026/05/23-00:40:56.724196 7fb04b7fe6c0 Manual compaction at level-0 from '!tables!mgne-tbl-armor' @ 72057594037927935 : 1 .. '!tables.results!zxz8aOYe1rfUsXfG' @ 0 : 0; will stop at (end) +2026/05/23-00:40:56.743395 7fb04b7fe6c0 Manual compaction at level-1 from '!tables!mgne-tbl-armor' @ 72057594037927935 : 1 .. '!tables.results!zxz8aOYe1rfUsXfG' @ 0 : 0; will stop at '!tables.results!zxz8aOYe1rfUsXfG' @ 3136 : 1 +2026/05/23-00:40:56.743406 7fb04b7fe6c0 Compacting 1@1 + 1@2 files +2026/05/23-00:40:56.747706 7fb04b7fe6c0 Generated table #45@1: 436 keys, 40336 bytes +2026/05/23-00:40:56.747718 7fb04b7fe6c0 Compacted 1@1 + 1@2 files => 40336 bytes +2026/05/23-00:40:56.754998 7fb04b7fe6c0 compacted to: files[ 0 0 1 0 0 0 0 ] +2026/05/23-00:40:56.755053 7fb04b7fe6c0 Delete type=2 #40 +2026/05/23-00:40:56.755135 7fb04b7fe6c0 Delete type=2 #44 +2026/05/23-00:40:56.755198 7fb04b7fe6c0 Manual compaction at level-1 from '!tables.results!zxz8aOYe1rfUsXfG' @ 3136 : 1 .. '!tables.results!zxz8aOYe1rfUsXfG' @ 0 : 0; will stop at (end) diff --git a/packs-system/names/MANIFEST-000036 b/packs-system/names/MANIFEST-000036 deleted file mode 100644 index 2463b0b..0000000 Binary files a/packs-system/names/MANIFEST-000036 and /dev/null differ diff --git a/packs-system/names/MANIFEST-000046 b/packs-system/names/MANIFEST-000046 new file mode 100644 index 0000000..7c511de Binary files /dev/null and b/packs-system/names/MANIFEST-000046 differ diff --git a/packs-system/resonations/000038.ldb b/packs-system/resonations/000038.ldb deleted file mode 100644 index ad72d7f..0000000 Binary files a/packs-system/resonations/000038.ldb and /dev/null differ diff --git a/packs-system/resonations/000037.log b/packs-system/resonations/000046.log similarity index 100% rename from packs-system/resonations/000037.log rename to packs-system/resonations/000046.log diff --git a/packs-system/resonations/000048.ldb b/packs-system/resonations/000048.ldb new file mode 100644 index 0000000..5c4d62d Binary files /dev/null and b/packs-system/resonations/000048.ldb differ diff --git a/packs-system/resonations/CURRENT b/packs-system/resonations/CURRENT index 29a53d8..e146ef6 100644 --- a/packs-system/resonations/CURRENT +++ b/packs-system/resonations/CURRENT @@ -1 +1 @@ -MANIFEST-000035 +MANIFEST-000044 diff --git a/packs-system/resonations/LOG b/packs-system/resonations/LOG index ef1207f..2c7cbab 100644 --- a/packs-system/resonations/LOG +++ b/packs-system/resonations/LOG @@ -1,8 +1,15 @@ -2026/05/19-11:43:58.439933 7f5a47fff6c0 Recovering log #32 -2026/05/19-11:43:58.449841 7f5a47fff6c0 Delete type=3 #30 -2026/05/19-11:43:58.449917 7f5a47fff6c0 Delete type=0 #32 -2026/05/19-13:29:47.320927 7f5a467fc6c0 Level-0 table #38: started -2026/05/19-13:29:47.324319 7f5a467fc6c0 Level-0 table #38: 7117 bytes OK -2026/05/19-13:29:47.330350 7f5a467fc6c0 Delete type=0 #36 -2026/05/19-13:29:47.340407 7f5a467fc6c0 Manual compaction at level-0 from '!items!mgne-res-accelerate' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at (end) -2026/05/19-13:29:47.340437 7f5a467fc6c0 Manual compaction at level-1 from '!items!mgne-res-accelerate' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at (end) +2026/05/23-08:39:01.965876 7fb058fed6c0 Recovering log #41 +2026/05/23-08:39:01.980863 7fb058fed6c0 Delete type=3 #39 +2026/05/23-08:39:01.981110 7fb058fed6c0 Delete type=0 #41 +2026/05/23-08:42:47.824361 7fb04b7fe6c0 Level-0 table #47: started +2026/05/23-08:42:47.833284 7fb04b7fe6c0 Level-0 table #47: 7117 bytes OK +2026/05/23-08:42:47.844689 7fb04b7fe6c0 Delete type=0 #45 +2026/05/23-08:42:47.890347 7fb04b7fe6c0 Manual compaction at level-0 from '!items!mgne-res-accelerate' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at (end) +2026/05/23-08:42:47.903963 7fb04b7fe6c0 Manual compaction at level-1 from '!items!mgne-res-accelerate' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 182 : 1 +2026/05/23-08:42:47.903996 7fb04b7fe6c0 Compacting 1@1 + 1@2 files +2026/05/23-08:42:47.908345 7fb04b7fe6c0 Generated table #48@1: 1 keys, 910 bytes +2026/05/23-08:42:47.908426 7fb04b7fe6c0 Compacted 1@1 + 1@2 files => 910 bytes +2026/05/23-08:42:47.917015 7fb04b7fe6c0 compacted to: files[ 0 0 2 0 0 0 0 ] +2026/05/23-08:42:47.917368 7fb04b7fe6c0 Delete type=2 #43 +2026/05/23-08:42:47.917768 7fb04b7fe6c0 Delete type=2 #47 +2026/05/23-08:42:47.946653 7fb04b7fe6c0 Manual compaction at level-1 from '!items!null' @ 182 : 1 .. '!items!null' @ 0 : 0; will stop at (end) diff --git a/packs-system/resonations/LOG.old b/packs-system/resonations/LOG.old index a7a9fda..e0cdd07 100644 --- a/packs-system/resonations/LOG.old +++ b/packs-system/resonations/LOG.old @@ -1,16 +1,15 @@ -2026/05/19-11:02:18.925517 7f9018bfe6c0 Recovering log #27 -2026/05/19-11:02:18.934880 7f9018bfe6c0 Delete type=3 #25 -2026/05/19-11:02:18.934945 7f9018bfe6c0 Delete type=0 #27 -2026/05/19-11:02:18.938495 7f8fcaffd6c0 Level-0 table #33: started -2026/05/19-11:02:18.941974 7f8fcaffd6c0 Level-0 table #33: 6054 bytes OK -2026/05/19-11:02:18.949380 7f8fcaffd6c0 Delete type=0 #31 -2026/05/19-11:02:18.949596 7f8fcaffd6c0 Manual compaction at level-0 from '!items!mgne-res-accelerate' @ 72057594037927935 : 1 .. '!items!mgne-res-summonmist' @ 0 : 0; will stop at (end) -2026/05/19-11:02:18.949632 7f8fcaffd6c0 Manual compaction at level-1 from '!items!mgne-res-accelerate' @ 72057594037927935 : 1 .. '!items!mgne-res-summonmist' @ 0 : 0; will stop at '!items!null' @ 141 : 0 -2026/05/19-11:02:18.949641 7f8fcaffd6c0 Compacting 1@1 + 2@2 files -2026/05/19-11:02:18.953049 7f8fcaffd6c0 Generated table #34@1: 20 keys, 6039 bytes -2026/05/19-11:02:18.953070 7f8fcaffd6c0 Compacted 1@1 + 2@2 files => 6039 bytes -2026/05/19-11:02:18.958965 7f8fcaffd6c0 compacted to: files[ 0 0 1 0 0 0 0 ] -2026/05/19-11:02:18.959068 7f8fcaffd6c0 Delete type=2 #5 -2026/05/19-11:02:18.959179 7f8fcaffd6c0 Delete type=2 #29 -2026/05/19-11:02:18.959228 7f8fcaffd6c0 Delete type=2 #33 -2026/05/19-11:02:18.959314 7f8fcaffd6c0 Manual compaction at level-1 from '!items!null' @ 141 : 0 .. '!items!mgne-res-summonmist' @ 0 : 0; will stop at (end) +2026/05/22-23:16:00.073959 7fb04bfff6c0 Recovering log #37 +2026/05/22-23:16:00.084734 7fb04bfff6c0 Delete type=3 #35 +2026/05/22-23:16:00.084795 7fb04bfff6c0 Delete type=0 #37 +2026/05/23-00:40:56.632712 7fb04b7fe6c0 Level-0 table #42: started +2026/05/23-00:40:56.636231 7fb04b7fe6c0 Level-0 table #42: 7117 bytes OK +2026/05/23-00:40:56.642660 7fb04b7fe6c0 Delete type=0 #40 +2026/05/23-00:40:56.663871 7fb04b7fe6c0 Manual compaction at level-0 from '!items!mgne-res-accelerate' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at (end) +2026/05/23-00:40:56.687211 7fb04b7fe6c0 Manual compaction at level-1 from '!items!mgne-res-accelerate' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 162 : 1 +2026/05/23-00:40:56.687221 7fb04b7fe6c0 Compacting 1@1 + 1@2 files +2026/05/23-00:40:56.690620 7fb04b7fe6c0 Generated table #43@1: 1 keys, 910 bytes +2026/05/23-00:40:56.690650 7fb04b7fe6c0 Compacted 1@1 + 1@2 files => 910 bytes +2026/05/23-00:40:56.697098 7fb04b7fe6c0 compacted to: files[ 0 0 2 0 0 0 0 ] +2026/05/23-00:40:56.697173 7fb04b7fe6c0 Delete type=2 #38 +2026/05/23-00:40:56.697261 7fb04b7fe6c0 Delete type=2 #42 +2026/05/23-00:40:56.717596 7fb04b7fe6c0 Manual compaction at level-1 from '!items!null' @ 162 : 1 .. '!items!null' @ 0 : 0; will stop at (end) diff --git a/packs-system/resonations/MANIFEST-000035 b/packs-system/resonations/MANIFEST-000035 deleted file mode 100644 index fc797e0..0000000 Binary files a/packs-system/resonations/MANIFEST-000035 and /dev/null differ diff --git a/packs-system/resonations/MANIFEST-000044 b/packs-system/resonations/MANIFEST-000044 new file mode 100644 index 0000000..615d3cb Binary files /dev/null and b/packs-system/resonations/MANIFEST-000044 differ diff --git a/packs-system/weapons/000038.ldb b/packs-system/weapons/000038.ldb deleted file mode 100644 index 2ae7858..0000000 Binary files a/packs-system/weapons/000038.ldb and /dev/null differ diff --git a/packs-system/weapons/000037.log b/packs-system/weapons/000046.log similarity index 100% rename from packs-system/weapons/000037.log rename to packs-system/weapons/000046.log diff --git a/packs-system/weapons/000048.ldb b/packs-system/weapons/000048.ldb new file mode 100644 index 0000000..3b7eb1e Binary files /dev/null and b/packs-system/weapons/000048.ldb differ diff --git a/packs-system/weapons/CURRENT b/packs-system/weapons/CURRENT index 29a53d8..e146ef6 100644 --- a/packs-system/weapons/CURRENT +++ b/packs-system/weapons/CURRENT @@ -1 +1 @@ -MANIFEST-000035 +MANIFEST-000044 diff --git a/packs-system/weapons/LOG b/packs-system/weapons/LOG index a663ece..85d21c1 100644 --- a/packs-system/weapons/LOG +++ b/packs-system/weapons/LOG @@ -1,8 +1,15 @@ -2026/05/19-11:43:58.479956 7f5a47fff6c0 Recovering log #32 -2026/05/19-11:43:58.489548 7f5a47fff6c0 Delete type=3 #30 -2026/05/19-11:43:58.489595 7f5a47fff6c0 Delete type=0 #32 -2026/05/19-13:29:47.330472 7f5a467fc6c0 Level-0 table #38: started -2026/05/19-13:29:47.333528 7f5a467fc6c0 Level-0 table #38: 1965 bytes OK -2026/05/19-13:29:47.340237 7f5a467fc6c0 Delete type=0 #36 -2026/05/19-13:29:47.340417 7f5a467fc6c0 Manual compaction at level-0 from '!items!mgne-wpn-club' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at (end) -2026/05/19-13:29:47.340444 7f5a467fc6c0 Manual compaction at level-1 from '!items!mgne-wpn-club' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at (end) +2026/05/23-08:39:02.046509 7fb058fed6c0 Recovering log #41 +2026/05/23-08:39:02.061764 7fb058fed6c0 Delete type=3 #39 +2026/05/23-08:39:02.061947 7fb058fed6c0 Delete type=0 #41 +2026/05/23-08:42:47.875902 7fb04b7fe6c0 Level-0 table #47: started +2026/05/23-08:42:47.880995 7fb04b7fe6c0 Level-0 table #47: 1965 bytes OK +2026/05/23-08:42:47.889814 7fb04b7fe6c0 Delete type=0 #45 +2026/05/23-08:42:47.890538 7fb04b7fe6c0 Manual compaction at level-0 from '!items!mgne-wpn-club' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at (end) +2026/05/23-08:42:47.918010 7fb04b7fe6c0 Manual compaction at level-1 from '!items!mgne-wpn-club' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 110 : 1 +2026/05/23-08:42:47.918042 7fb04b7fe6c0 Compacting 1@1 + 1@2 files +2026/05/23-08:42:47.923207 7fb04b7fe6c0 Generated table #48@1: 1 keys, 626 bytes +2026/05/23-08:42:47.923291 7fb04b7fe6c0 Compacted 1@1 + 1@2 files => 626 bytes +2026/05/23-08:42:47.931259 7fb04b7fe6c0 compacted to: files[ 0 0 2 0 0 0 0 ] +2026/05/23-08:42:47.931577 7fb04b7fe6c0 Delete type=2 #43 +2026/05/23-08:42:47.931935 7fb04b7fe6c0 Delete type=2 #47 +2026/05/23-08:42:47.946721 7fb04b7fe6c0 Manual compaction at level-1 from '!items!null' @ 110 : 1 .. '!items!null' @ 0 : 0; will stop at (end) diff --git a/packs-system/weapons/LOG.old b/packs-system/weapons/LOG.old index 5fb189f..4304794 100644 --- a/packs-system/weapons/LOG.old +++ b/packs-system/weapons/LOG.old @@ -1,16 +1,15 @@ -2026/05/19-11:02:18.960160 7f9018bfe6c0 Recovering log #27 -2026/05/19-11:02:18.971164 7f9018bfe6c0 Delete type=3 #25 -2026/05/19-11:02:18.971219 7f9018bfe6c0 Delete type=0 #27 -2026/05/19-11:02:18.972967 7f8fcaffd6c0 Level-0 table #33: started -2026/05/19-11:02:18.976102 7f8fcaffd6c0 Level-0 table #33: 1312 bytes OK -2026/05/19-11:02:18.983166 7f8fcaffd6c0 Delete type=0 #31 -2026/05/19-11:02:18.983370 7f8fcaffd6c0 Manual compaction at level-0 from '!items!mgne-wpn-club' @ 72057594037927935 : 1 .. '!items!mgne-wpn-whip' @ 0 : 0; will stop at (end) -2026/05/19-11:02:18.983394 7f8fcaffd6c0 Manual compaction at level-1 from '!items!mgne-wpn-club' @ 72057594037927935 : 1 .. '!items!mgne-wpn-whip' @ 0 : 0; will stop at '!items!null' @ 85 : 0 -2026/05/19-11:02:18.983398 7f8fcaffd6c0 Compacting 1@1 + 2@2 files -2026/05/19-11:02:18.987181 7f8fcaffd6c0 Generated table #34@1: 12 keys, 1295 bytes -2026/05/19-11:02:18.987209 7f8fcaffd6c0 Compacted 1@1 + 2@2 files => 1295 bytes -2026/05/19-11:02:18.993337 7f8fcaffd6c0 compacted to: files[ 0 0 1 0 0 0 0 ] -2026/05/19-11:02:18.993426 7f8fcaffd6c0 Delete type=2 #5 -2026/05/19-11:02:18.993528 7f8fcaffd6c0 Delete type=2 #29 -2026/05/19-11:02:18.993593 7f8fcaffd6c0 Delete type=2 #33 -2026/05/19-11:02:18.993658 7f8fcaffd6c0 Manual compaction at level-1 from '!items!null' @ 85 : 0 .. '!items!mgne-wpn-whip' @ 0 : 0; will stop at (end) +2026/05/22-23:16:00.118275 7fb058fed6c0 Recovering log #37 +2026/05/22-23:16:00.128502 7fb058fed6c0 Delete type=3 #35 +2026/05/22-23:16:00.128547 7fb058fed6c0 Delete type=0 #37 +2026/05/23-00:40:56.724203 7fb04b7fe6c0 Level-0 table #42: started +2026/05/23-00:40:56.727216 7fb04b7fe6c0 Level-0 table #42: 1965 bytes OK +2026/05/23-00:40:56.733795 7fb04b7fe6c0 Delete type=0 #40 +2026/05/23-00:40:56.755185 7fb04b7fe6c0 Manual compaction at level-0 from '!items!mgne-wpn-club' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at (end) +2026/05/23-00:40:56.771176 7fb04b7fe6c0 Manual compaction at level-1 from '!items!mgne-wpn-club' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 98 : 1 +2026/05/23-00:40:56.771180 7fb04b7fe6c0 Compacting 1@1 + 1@2 files +2026/05/23-00:40:56.774447 7fb04b7fe6c0 Generated table #43@1: 1 keys, 626 bytes +2026/05/23-00:40:56.774457 7fb04b7fe6c0 Compacted 1@1 + 1@2 files => 626 bytes +2026/05/23-00:40:56.780345 7fb04b7fe6c0 compacted to: files[ 0 0 2 0 0 0 0 ] +2026/05/23-00:40:56.780395 7fb04b7fe6c0 Delete type=2 #38 +2026/05/23-00:40:56.780500 7fb04b7fe6c0 Delete type=2 #42 +2026/05/23-00:40:56.787369 7fb04b7fe6c0 Manual compaction at level-1 from '!items!null' @ 98 : 1 .. '!items!null' @ 0 : 0; will stop at (end) diff --git a/packs-system/weapons/MANIFEST-000035 b/packs-system/weapons/MANIFEST-000035 deleted file mode 100644 index 308c50f..0000000 Binary files a/packs-system/weapons/MANIFEST-000035 and /dev/null differ diff --git a/packs-system/weapons/MANIFEST-000044 b/packs-system/weapons/MANIFEST-000044 new file mode 100644 index 0000000..97a3d58 Binary files /dev/null and b/packs-system/weapons/MANIFEST-000044 differ diff --git a/templates/chat-message.hbs b/templates/chat-message.hbs index a6ee7dd..a65d97d 100644 --- a/templates/chat-message.hbs +++ b/templates/chat-message.hbs @@ -29,6 +29,21 @@ {{#if omenNeutralizeReminder}}
💡 {{omenNeutralizeReminder}}
{{/if}} {{#if omenRerollReminder}}💡 {{omenRerollReminder}}
{{/if}} {{#if omenMaximized}}★ {{localize "MGNE.Roll.OmenMaximizedDamage"}}
{{/if}} + {{#if showOmenRerollButton}} +