Fix CSS issues and add omen re-roll function

This commit is contained in:
2026-05-23 08:48:29 +02:00
parent 12bf771e9d
commit 7beda6c331
58 changed files with 538 additions and 324 deletions
+154 -113
View File
@@ -17,10 +17,10 @@
--mgne-panel-soft: rgba(64, 47, 37, 0.66); --mgne-panel-soft: rgba(64, 47, 37, 0.66);
--mgne-border: rgba(171, 139, 104, 0.35); --mgne-border: rgba(171, 139, 104, 0.35);
--mgne-border-strong: rgba(196, 154, 69, 0.42); --mgne-border-strong: rgba(196, 154, 69, 0.42);
--mgne-accent: #dd6b2d; --mgne-accent: #e89a5f;
--mgne-accent-alt: #4f7d73; --mgne-accent-alt: #4f7d73;
--mgne-text: #ccb292; --mgne-text: #ccb292;
--mgne-text-soft: #7e664f; --mgne-text-soft: #a68e78;
--mgne-title: #ab8b68; --mgne-title: #ab8b68;
--mgne-shadow: 0 14px 30px rgba(0, 0, 0, 0.36); --mgne-shadow: 0 14px 30px rgba(0, 0, 0, 0.36);
} }
@@ -30,7 +30,7 @@
color: #ccb292; color: #ccb292;
} }
.application.mgne .window-header { .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); border-bottom: 1px solid rgba(196, 154, 69, 0.35);
color: #ab8b68; color: #ab8b68;
} }
@@ -39,7 +39,7 @@
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 0.08em; letter-spacing: 0.08em;
font-size: 1rem; 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 { .application.mgne .window-header .header-control {
font-family: var(--font-awesome, "Font Awesome 6 Pro"); font-family: var(--font-awesome, "Font Awesome 6 Pro");
@@ -68,7 +68,7 @@
font-weight: 400; font-weight: 400;
} }
.application.mgne .window-content { .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; color: #ccb292;
min-height: 0; min-height: 0;
overflow-y: auto; overflow-y: auto;
@@ -110,8 +110,8 @@
.application.mgne select:focus, .application.mgne select:focus,
.application.mgne textarea:focus { .application.mgne textarea:focus {
outline: none; outline: none;
border-color: rgba(221, 107, 45, 0.7); border-color: rgba(232, 154, 95, 0.7);
box-shadow: 0 0 0 1px rgba(221, 107, 45, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.06); 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 { .application.mgne select {
appearance: none; appearance: none;
@@ -131,7 +131,7 @@
letter-spacing: 0.08em; letter-spacing: 0.08em;
border: 1px solid rgba(196, 154, 69, 0.44); border: 1px solid rgba(196, 154, 69, 0.44);
border-radius: 999px; 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; color: #ccb292;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 6px 14px rgba(0, 0, 0, 0.2); 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; 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:hover,
.application.mgne button:focus { .application.mgne button:focus {
border-color: rgba(221, 107, 45, 0.7); border-color: rgba(232, 154, 95, 0.7);
color: #d9c6ae; color: #d9c6ae;
transform: translateY(-1px); 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 { .application.mgne label {
font-family: "CastorTwoMGNE", "Palatino Linotype", serif; font-family: "CastorTwoMGNE", "Palatino Linotype", serif;
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 0.08em; letter-spacing: 0.08em;
color: #6e3d2a; color: #ab8b68;
font-size: 0.74rem; font-size: 0.74rem;
} }
.application.mgne.item-sheet label,
.application.mgne.item-sheet .item-form-row > label {
color: #1b1512;
}
.application.mgne fieldset { .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: 1px solid rgba(171, 139, 104, 0.34);
border-radius: 8px; 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); 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: 1px solid rgba(196, 154, 69, 0.16);
border-radius: calc(8px - 4px); border-radius: calc(8px - 4px);
} }
.application.mgne.character fieldset p {
color: #1b1512;
}
.application.mgne fieldset .editor, .application.mgne fieldset .editor,
.application.mgne fieldset .editor-content, .application.mgne fieldset .editor-content,
.application.mgne fieldset .ProseMirror, .application.mgne fieldset .ProseMirror,
@@ -221,16 +228,16 @@
border-radius: 4px; border-radius: 4px;
} }
.application.mgne .empty-state { .application.mgne .empty-state {
color: rgba(95, 77, 64, 0.94); color: #1b1512;
font-style: italic; font-style: italic;
letter-spacing: 0.03em; letter-spacing: 0.03em;
} }
.application.mgne .rollable { .application.mgne .rollable {
color: #dd6b2d; color: #d9c6ae;
text-shadow: 0 0 12px rgba(183, 70, 31, 0.18); text-shadow: 0 0 12px rgba(196, 154, 69, 0.18);
} }
.application.mgne .rollable:hover { .application.mgne .rollable:hover {
color: #e48a59; color: #e0cfbc;
} }
#combat .combat-controls .mgne-flee-control { #combat .combat-controls .mgne-flee-control {
display: flex; display: flex;
@@ -242,13 +249,13 @@
margin-top: 0.35rem; margin-top: 0.35rem;
border: 1px solid rgba(196, 154, 69, 0.28); border: 1px solid rgba(196, 154, 69, 0.28);
border-radius: 6px; 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; color: #ab8b68;
font-family: "LoraMGNE", "Book Antiqua", serif; font-family: "LoraMGNE", "Book Antiqua", serif;
font-weight: 700; font-weight: 700;
} }
#combat .combat-controls .mgne-flee-control:hover:not(:disabled) { #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; color: #b69a7c;
} }
#combat .combat-controls .mgne-flee-control:disabled { #combat .combat-controls .mgne-flee-control:disabled {
@@ -291,7 +298,7 @@
.application.mgne .inventory-section, .application.mgne .inventory-section,
.application.mgne .daily-resources-panel, .application.mgne .daily-resources-panel,
.application.mgne .tab-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: 1px solid rgba(171, 139, 104, 0.34);
border-radius: 8px; 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); 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; gap: 0.28rem;
padding: 0.52rem; padding: 0.52rem;
border-radius: 8px; border-radius: 8px;
border: 1px solid rgba(82, 69, 60, 0.3); 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(183, 70, 31, 0.07), transparent 80%), rgba(64, 47, 37, 0.66); 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 { .application.mgne .ability-card {
min-height: 0; min-height: 0;
@@ -434,14 +441,14 @@
padding-top: 1rem; padding-top: 1rem;
} }
.application.mgne .resource-box-inline-track .numeric-caption { .application.mgne .resource-box-inline-track .numeric-caption {
color: #6e3d2a; color: #ab8b68;
} }
.application.mgne .resource-box-inline-track .numeric-caption-strong { .application.mgne .resource-box-inline-track .numeric-caption-strong {
padding: 0.08rem 0.34rem; padding: 0.08rem 0.34rem;
border-radius: 999px; border-radius: 999px;
background: rgba(196, 154, 69, 0.18); background: rgba(196, 154, 69, 0.18);
border: 1px solid rgba(110, 61, 42, 0.28); border: 1px solid rgba(171, 139, 104, 0.28);
color: #5f3524; color: #ab8b68;
font-size: 0.6rem; font-size: 0.6rem;
letter-spacing: 0.11em; letter-spacing: 0.11em;
} }
@@ -483,7 +490,7 @@
font-family: "CastorTwoMGNE", "Palatino Linotype", serif; font-family: "CastorTwoMGNE", "Palatino Linotype", serif;
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 0.08em; letter-spacing: 0.08em;
color: rgba(129, 83, 59, 0.94); color: #b58b73;
font-size: 0.58rem; font-size: 0.58rem;
letter-spacing: 0.12em; letter-spacing: 0.12em;
} }
@@ -577,7 +584,7 @@
align-items: center; align-items: center;
} }
.application.mgne .resource-inline span { .application.mgne .resource-inline span {
color: #7e664f; color: #a68e78;
} }
.application.mgne .sheet-tabs { .application.mgne .sheet-tabs {
display: flex; display: flex;
@@ -590,8 +597,8 @@
min-width: 110px; min-width: 110px;
} }
.application.mgne .tab-button.active { .application.mgne .tab-button.active {
border-color: rgba(221, 107, 45, 0.7); border-color: rgba(232, 154, 95, 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); 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; color: #d6c1a7;
} }
.application.mgne .tab-panel:not(.active) { .application.mgne .tab-panel:not(.active) {
@@ -630,7 +637,7 @@
.application.mgne .section-heading small { .application.mgne .section-heading small {
display: inline-block; display: inline-block;
margin-top: 0.12rem; margin-top: 0.12rem;
color: #7e664f; color: #a68e78;
font-size: 0.72rem; font-size: 0.72rem;
} }
.application.mgne .inventory-header, .application.mgne .inventory-header,
@@ -668,6 +675,14 @@
color: #ab8b68; color: #ab8b68;
font-size: 0.82rem; 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 { .application.mgne .item-row {
position: relative; position: relative;
display: grid; display: grid;
@@ -677,11 +692,11 @@
padding: 0.48rem 0.2rem 0.48rem 0.55rem; padding: 0.48rem 0.2rem 0.48rem 0.55rem;
border-radius: 6px; border-radius: 6px;
border: 1px solid transparent; 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 { .application.mgne .item-row:hover {
border-color: rgba(196, 154, 69, 0.28); 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 { .application.mgne .item-name {
color: #ccb292; color: #ccb292;
@@ -755,8 +770,8 @@
min-width: 0; min-width: 0;
} }
.application.mgne .resource-label-accent { .application.mgne .resource-label-accent {
color: #dd6b2d; color: #d9c6ae;
text-shadow: 0 0 12px rgba(183, 70, 31, 0.18); text-shadow: 0 0 12px rgba(196, 154, 69, 0.18);
} }
.application.mgne .ability-score { .application.mgne .ability-score {
display: flex; display: flex;
@@ -792,7 +807,7 @@
font-size: 0.8rem; font-size: 0.8rem;
} }
.application.mgne .ability-defense-sub { .application.mgne .ability-defense-sub {
color: #7e664f; color: #a68e78;
font-size: 0.62rem; font-size: 0.62rem;
} }
.application.mgne .character .ability-card:nth-child(odd), .application.mgne .character .ability-card:nth-child(odd),
@@ -803,7 +818,7 @@
.application.mgne .companion .resource-box, .application.mgne .companion .resource-box,
.application.mgne .creature .ability-card, .application.mgne .creature .ability-card,
.application.mgne .companion .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) { @media (max-width: 960px) {
.application.mgne .sheet-header, .application.mgne .sheet-header,
@@ -845,9 +860,9 @@
background: rgba(196, 154, 69, 0.1); background: rgba(196, 154, 69, 0.1);
} }
.item-weight-badge.weight-heavy { .item-weight-badge.weight-heavy {
color: #7f1d17; color: #ab8b68;
border-color: rgba(127, 29, 23, 0.45); border-color: rgba(196, 154, 69, 0.45);
background: rgba(127, 29, 23, 0.12); background: rgba(149, 128, 104, 0.12);
} }
.load-display { .load-display {
font-weight: 700; font-weight: 700;
@@ -855,15 +870,15 @@
cursor: default; cursor: default;
} }
.load-overloaded { .load-overloaded {
color: #7f1d17 !important; color: #d9c6ae !important;
text-shadow: 0 0 6px rgba(127, 29, 23, 0.5); text-shadow: 0 0 6px rgba(196, 154, 69, 0.5);
} }
.resource-box-overloaded { .resource-box-overloaded {
border-color: rgba(127, 29, 23, 0.6) !important; border-color: rgba(196, 154, 69, 0.6) !important;
background: rgba(127, 29, 23, 0.1) !important; background: rgba(149, 128, 104, 0.1) !important;
} }
.resource-box-overloaded .resource-label-accent { .resource-box-overloaded .resource-label-accent {
color: #7f1d17 !important; color: #d9c6ae !important;
} }
.item-name[data-tooltip] { .item-name[data-tooltip] {
cursor: help; cursor: help;
@@ -891,9 +906,9 @@
font-weight: 700; font-weight: 700;
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 0.06em; letter-spacing: 0.06em;
color: #7f1d17; color: #d9c6ae;
background: rgba(127, 29, 23, 0.14); background: rgba(149, 128, 104, 0.14);
border: 1px solid rgba(127, 29, 23, 0.45); border: 1px solid rgba(171, 139, 104, 0.45);
border-radius: 3px; border-radius: 3px;
vertical-align: middle; vertical-align: middle;
} }
@@ -916,9 +931,9 @@
letter-spacing: 0.03em; letter-spacing: 0.03em;
} }
.item-durability-badge.durability-broken { .item-durability-badge.durability-broken {
color: #7f1d17; color: #d9c6ae;
border-color: rgba(127, 29, 23, 0.4); border-color: rgba(171, 139, 104, 0.4);
background: rgba(127, 29, 23, 0.1); background: rgba(149, 128, 104, 0.1);
text-decoration: line-through; text-decoration: line-through;
} }
.item-row-broken { .item-row-broken {
@@ -927,7 +942,7 @@
} }
.item-row-broken .item-name { .item-row-broken .item-name {
text-decoration: line-through; text-decoration: line-through;
color: rgba(204, 178, 146, 0.55); color: #d6c1a7;
} }
.weapon-properties-grid { .weapon-properties-grid {
display: flex; display: flex;
@@ -979,10 +994,10 @@
margin-left: 0.2em; margin-left: 0.2em;
} }
.creature-traits-container { .creature-traits-container {
border: 1px solid rgba(127, 29, 23, 0.35); border: 1px solid rgba(232, 90, 80, 0.35);
border-left: 3px solid rgba(127, 29, 23, 0.65); border-left: 3px solid rgba(232, 90, 80, 0.65);
border-radius: 4px; 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; padding: 0.6rem 0.75rem;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@@ -993,7 +1008,7 @@
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
gap: 0.5rem; 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; padding-bottom: 0.4rem;
margin-bottom: 0.1rem; margin-bottom: 0.1rem;
} }
@@ -1004,21 +1019,21 @@
font-weight: 700; font-weight: 700;
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 0.08em; letter-spacing: 0.08em;
color: rgba(127, 29, 23, 0.9); color: #ed7c74;
} }
.creature-traits-header button { .creature-traits-header button {
font-size: 0.72rem; font-size: 0.72rem;
padding: 0.15em 0.6em; padding: 0.15em 0.6em;
background: rgba(127, 29, 23, 0.12); background: rgba(232, 90, 80, 0.12);
border: 1px solid rgba(127, 29, 23, 0.35); border: 1px solid rgba(232, 90, 80, 0.35);
color: rgba(127, 29, 23, 0.8); color: #ea6b62;
border-radius: 3px; border-radius: 3px;
cursor: pointer; cursor: pointer;
transition: background 0.15s, color 0.15s; transition: background 0.15s, color 0.15s;
} }
.creature-traits-header button:hover { .creature-traits-header button:hover {
background: rgba(127, 29, 23, 0.22); background: rgba(232, 90, 80, 0.22);
color: #aa271f; color: #ee857d;
} }
.creature-traits-list { .creature-traits-list {
display: flex; display: flex;
@@ -1027,14 +1042,14 @@
} }
.creature-trait-card { .creature-trait-card {
background: rgba(19, 16, 15, 0.3); 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; border-radius: 3px;
padding: 0.35rem 0.5rem; padding: 0.35rem 0.5rem;
transition: background 0.15s, border-color 0.15s; transition: background 0.15s, border-color 0.15s;
} }
.creature-trait-card:hover { .creature-trait-card:hover {
background: rgba(127, 29, 23, 0.08); background: rgba(232, 90, 80, 0.08);
border-color: rgba(127, 29, 23, 0.35); border-color: rgba(232, 90, 80, 0.35);
} }
.creature-trait-card-header { .creature-trait-card-header {
display: flex; display: flex;
@@ -1055,7 +1070,7 @@
cursor: default; cursor: default;
} }
.creature-trait-name i { .creature-trait-name i {
color: rgba(127, 29, 23, 0.7); color: rgba(232, 90, 80, 0.7);
font-size: 0.75em; font-size: 0.75em;
} }
.creature-trait-trigger { .creature-trait-trigger {
@@ -1097,7 +1112,7 @@
flex-wrap: wrap; flex-wrap: wrap;
padding: 0.45rem 0.6rem; padding: 0.45rem 0.6rem;
background: rgba(64, 47, 37, 0.5); 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; border-radius: 4px;
} }
.creature-meta-label { .creature-meta-label {
@@ -1106,7 +1121,7 @@
font-weight: 700; font-weight: 700;
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 0.07em; letter-spacing: 0.07em;
color: rgba(183, 70, 31, 0.8); color: #ccb292;
white-space: nowrap; white-space: nowrap;
} }
.creature-type-group { .creature-type-group {
@@ -1120,14 +1135,17 @@
align-items: center; align-items: center;
gap: 0.3em; gap: 0.3em;
font-size: 0.83rem; font-size: 0.83rem;
color: #ccb292; color: #ccb292 !important;
cursor: pointer; cursor: pointer;
user-select: none; user-select: none;
} }
.creature-type-checkbox > span {
color: #ccb292 !important;
}
.creature-type-checkbox input[type="checkbox"] { .creature-type-checkbox input[type="checkbox"] {
appearance: checkbox; appearance: checkbox;
-webkit-appearance: checkbox; -webkit-appearance: checkbox;
accent-color: #b7461f; accent-color: #d87a4f;
width: 0.9rem; width: 0.9rem;
height: 0.9rem; height: 0.9rem;
cursor: pointer; cursor: pointer;
@@ -1151,13 +1169,13 @@
font-size: 0.9rem; font-size: 0.9rem;
color: #ccb292; color: #ccb292;
background: rgba(17, 12, 10, 0.72); 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; border-radius: 3px;
padding: 0.15em 0.3em; padding: 0.15em 0.3em;
} }
.creature-number-input:focus { .creature-number-input:focus {
outline: none; 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); background: rgba(17, 12, 10, 0.9);
} }
.creature-action-table-section .action-table-drop-zone { .creature-action-table-section .action-table-drop-zone {
@@ -1172,7 +1190,7 @@
} }
.creature-action-table-section .action-table-drop-zone i { .creature-action-table-section .action-table-drop-zone i {
font-size: 1em; font-size: 1em;
color: #b7461f; color: #d87a4f;
} }
.creature-action-table-section .action-table-drop-zone .action-table-name { .creature-action-table-section .action-table-drop-zone .action-table-name {
font-weight: 600; font-weight: 600;
@@ -1180,8 +1198,8 @@
color: #ccb292; color: #ccb292;
} }
.creature-action-table-section .action-table-drop-zone.drop-hint { .creature-action-table-section .action-table-drop-zone.drop-hint {
border: 2px dashed rgba(183, 70, 31, 0.35); border: 2px dashed rgba(216, 122, 79, 0.35);
background: rgba(183, 70, 31, 0.04); background: rgba(216, 122, 79, 0.04);
color: rgba(204, 178, 146, 0.5); color: rgba(204, 178, 146, 0.5);
font-style: italic; font-style: italic;
justify-content: center; justify-content: center;
@@ -1189,17 +1207,17 @@
transition: background 0.15s, border-color 0.15s; transition: background 0.15s, border-color 0.15s;
} }
.creature-action-table-section .action-table-drop-zone.drop-hint i { .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:hover,
.creature-action-table-section .action-table-drop-zone.drop-hint.drag-over { .creature-action-table-section .action-table-drop-zone.drop-hint.drag-over {
background: rgba(183, 70, 31, 0.09); background: rgba(216, 122, 79, 0.09);
border-color: rgba(183, 70, 31, 0.6); border-color: rgba(216, 122, 79, 0.6);
color: rgba(204, 178, 146, 0.7); 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:hover i,
.creature-action-table-section .action-table-drop-zone.drop-hint.drag-over 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 { .creature-action-table-section .action-table-buttons {
display: flex; display: flex;
@@ -1209,9 +1227,9 @@
.creature-action-table-section .action-table-buttons button { .creature-action-table-section .action-table-buttons button {
font-size: 0.75rem; font-size: 0.75rem;
padding: 0.15em 0.55em; padding: 0.15em 0.55em;
background: rgba(183, 70, 31, 0.1); background: rgba(149, 128, 104, 0.1);
border: 1px solid rgba(183, 70, 31, 0.3); border: 1px solid rgba(196, 154, 69, 0.3);
color: rgba(183, 70, 31, 0.8); color: #d6c1a7;
border-radius: 3px; border-radius: 3px;
cursor: pointer; cursor: pointer;
transition: background 0.15s, color 0.15s; transition: background 0.15s, color 0.15s;
@@ -1220,8 +1238,8 @@
gap: 0.3em; gap: 0.3em;
} }
.creature-action-table-section .action-table-buttons button:hover { .creature-action-table-section .action-table-buttons button:hover {
background: rgba(183, 70, 31, 0.22); background: rgba(149, 128, 104, 0.22);
color: #b7461f; color: #ab8b68;
} }
.application.mgne.party .party-credits-row { .application.mgne.party .party-credits-row {
display: flex; display: flex;
@@ -1293,7 +1311,7 @@
border-radius: 6px; border-radius: 6px;
} }
.application.mgne.party .party-member-row.party-member-header { .application.mgne.party .party-member-row.party-member-header {
color: #7e664f; color: #a68e78;
font-size: 0.72rem; font-size: 0.72rem;
font-weight: 700; font-weight: 700;
text-transform: uppercase; text-transform: uppercase;
@@ -1326,14 +1344,14 @@
color: #c49a45; color: #c49a45;
} }
.application.mgne.party .party-member-hp { .application.mgne.party .party-member-hp {
color: #dd6b2d; color: #ab8b68;
font-family: "CastorTwoMGNE", "Palatino Linotype", serif; font-family: "CastorTwoMGNE", "Palatino Linotype", serif;
font-size: 0.82rem; font-size: 0.82rem;
font-weight: 700; font-weight: 700;
text-align: center; text-align: center;
} }
.application.mgne.party .party-member-type { .application.mgne.party .party-member-type {
color: #7e664f; color: #bead9d;
font-size: 0.78rem; font-size: 0.78rem;
font-style: italic; font-style: italic;
} }
@@ -1352,7 +1370,7 @@
border-radius: 6px; border-radius: 6px;
} }
.application.mgne.party .party-loot-row.party-loot-header { .application.mgne.party .party-loot-row.party-loot-header {
color: #7e664f; color: #a68e78;
font-size: 0.72rem; font-size: 0.72rem;
font-weight: 700; font-weight: 700;
text-transform: uppercase; text-transform: uppercase;
@@ -1377,12 +1395,12 @@
border: 1px solid rgba(171, 139, 104, 0.25); border: 1px solid rgba(171, 139, 104, 0.25);
} }
.application.mgne.party .item-type-label { .application.mgne.party .item-type-label {
color: #7e664f; color: #a68e78;
font-size: 0.78rem; font-size: 0.78rem;
font-style: italic; font-style: italic;
} }
.application.mgne.party .party-drop-hint { .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-size: 0.75rem;
font-style: italic; font-style: italic;
text-align: center; text-align: center;
@@ -1393,13 +1411,13 @@
} }
.application.mgne.roll-dialog .window-content { .application.mgne.roll-dialog .window-content {
padding: 0.55rem; 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 { .application.mgne.roll-dialog .dialog-content {
padding: 0; padding: 0;
} }
.application.mgne.roll-dialog .mgne-roll-dialog { .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: 1px solid rgba(196, 154, 69, 0.28);
border-radius: 6px; 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); 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; min-width: 132px;
} }
.mgne-chat-card { .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: 1px solid rgba(171, 139, 104, 0.34);
border-radius: 8px; 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); 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; flex-direction: column;
gap: 0.6rem; gap: 0.6rem;
padding: 0.68rem; padding: 0.68rem;
color: #52453c; color: #a08878;
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); 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 { .mgne-chat-card::before {
content: ""; content: "";
@@ -1485,7 +1503,7 @@
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 0.08em; letter-spacing: 0.08em;
margin: 0; margin: 0;
color: #6e3d2a; color: #ab8b68;
font-size: 0.82rem; font-size: 0.82rem;
} }
.mgne-chat-card .chat-actor, .mgne-chat-card .chat-actor,
@@ -1495,10 +1513,10 @@
margin: 0; margin: 0;
} }
.mgne-chat-card .chat-actor { .mgne-chat-card .chat-actor {
color: #52453c; color: #a08878;
} }
.mgne-chat-card .chat-formula { .mgne-chat-card .chat-formula {
color: #52453c; color: #a08878;
} }
.mgne-chat-card .chat-formula code { .mgne-chat-card .chat-formula code {
color: #ccb292; color: #ccb292;
@@ -1563,7 +1581,7 @@
.mgne-chat-card .chat-dice-tooltip .dice-formula { .mgne-chat-card .chat-dice-tooltip .dice-formula {
font-family: "Courier New", monospace; font-family: "Courier New", monospace;
font-size: 0.72rem; 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 { .mgne-chat-card .chat-dice-tooltip .dice-tooltip {
font-size: 0.78rem; font-size: 0.78rem;
@@ -1577,7 +1595,7 @@
font-size: 0.8rem; font-size: 0.8rem;
} }
.mgne-chat-card .chat-dice-tooltip .part-formula { .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; font-size: 0.72rem;
} }
.mgne-chat-card .chat-dice-tooltip .part-total { .mgne-chat-card .chat-dice-tooltip .part-total {
@@ -1588,7 +1606,7 @@
color: #82b0a6; color: #82b0a6;
} }
.mgne-chat-card .chat-dice-tooltip .min { .mgne-chat-card .chat-dice-tooltip .min {
color: #e48a59; color: #eeb68c;
} }
.mgne-chat-card .chat-dice-tooltip .dice-total { .mgne-chat-card .chat-dice-tooltip .dice-total {
font-family: "CastorTwoMGNE", serif; font-family: "CastorTwoMGNE", serif;
@@ -1607,13 +1625,13 @@
padding: 0.3rem 0.55rem; padding: 0.3rem 0.55rem;
border-radius: 6px; border-radius: 6px;
background: rgba(19, 16, 15, 0.72); background: rgba(19, 16, 15, 0.72);
border-left: 3px solid rgba(221, 107, 45, 0.7); border-left: 3px solid rgba(232, 154, 95, 0.7);
color: #e69062; color: #f0bc95;
font-size: 0.8rem; font-size: 0.8rem;
} }
.mgne-chat-card .chat-special { .mgne-chat-card .chat-special {
padding: 0.42rem 0.55rem; 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); background: rgba(17, 12, 10, 0.85);
color: #ccb292; color: #ccb292;
} }
@@ -1631,17 +1649,17 @@
.mgne-chat-card.outcome-failure, .mgne-chat-card.outcome-failure,
.mgne-chat-card.outcome-broken, .mgne-chat-card.outcome-broken,
.mgne-chat-card.outcome-fumble { .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-failure .chat-outcome,
.mgne-chat-card.outcome-broken .chat-outcome, .mgne-chat-card.outcome-broken .chat-outcome,
.mgne-chat-card.outcome-fumble .chat-outcome { .mgne-chat-card.outcome-fumble .chat-outcome {
color: #eaa37c; color: #f4cdaf;
border-left-color: rgba(221, 107, 45, 0.8); border-left-color: rgba(232, 154, 95, 0.8);
} }
.mgne-chat-card.mode-apply-damage .chat-result-total, .mgne-chat-card.mode-apply-damage .chat-result-total,
.mgne-chat-card.mode-damage .chat-result-total { .mgne-chat-card.mode-damage .chat-result-total {
color: #e38450; color: #edb183;
} }
.mgne-chat-card .chat-card-actions { .mgne-chat-card .chat-card-actions {
margin-top: 0.2rem; margin-top: 0.2rem;
@@ -1653,9 +1671,9 @@
gap: 0.45rem; gap: 0.45rem;
width: 100%; width: 100%;
padding: 0.38rem 0.7rem; padding: 0.38rem 0.7rem;
border: 1px solid #dd6b2d; border: 1px solid #e89a5f;
border-radius: 6px; border-radius: 6px;
background: #b7461f; background: #d87a4f;
color: #f8ede0; color: #f8ede0;
font-family: "CastorTwoMGNE", "Palatino Linotype", serif; font-family: "CastorTwoMGNE", "Palatino Linotype", serif;
font-size: 0.78rem; font-size: 0.78rem;
@@ -1670,8 +1688,8 @@
font-weight: 700; font-weight: 700;
} }
.mgne-roll-damage-btn:hover { .mgne-roll-damage-btn:hover {
background: #da5325; background: #df9370;
border-color: #e69062; border-color: #f0bc95;
color: #fff; color: #fff;
} }
.mgne-roll-damage-btn.is-critical { .mgne-roll-damage-btn.is-critical {
@@ -1687,13 +1705,36 @@
background: #c49a45; background: #c49a45;
color: #fff; 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 { .chat-apply-actions {
margin-top: 0.35rem; margin-top: 0.35rem;
} }
.mgne-apply-damage-select { .mgne-apply-damage-select {
width: 100%; width: 100%;
padding: 0.35rem 0.6rem; padding: 0.35rem 0.6rem;
border: 1px solid #dd6b2d; border: 1px solid #e89a5f;
border-radius: 6px; border-radius: 6px;
background: #1b1512; background: #1b1512;
color: #ab8b68; color: #ab8b68;
@@ -1708,10 +1749,10 @@
color: #ab8b68; color: #ab8b68;
} }
.mgne-apply-damage-select:hover { .mgne-apply-damage-select:hover {
border-color: #e69062; border-color: #f0bc95;
background: rgba(183, 70, 31, 0.18); background: rgba(183, 70, 31, 0.18);
} }
.mgne-apply-damage-select:focus { .mgne-apply-damage-select:focus {
outline: none; outline: none;
border-color: #dd6b2d; border-color: #e89a5f;
} }
+61
View File
@@ -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 = '<i class="fa-solid fa-star"></i> ' + 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 => { root.querySelectorAll(".mgne-apply-damage-select").forEach(select => {
const isAllowed = game.user.isGM || message.isAuthor const isAllowed = game.user.isGM || message.isAuthor
if (!isAllowed) { if (!isAllowed) {
+5
View File
@@ -452,6 +452,7 @@
"QuantityShort": "Qty", "QuantityShort": "Qty",
"Range": "Range", "Range": "Range",
"Resonation": "Resonation", "Resonation": "Resonation",
"Processing": "Processing...",
"Roll": "Roll", "Roll": "Roll",
"No": "No", "No": "No",
"Subtype": "Subtype", "Subtype": "Subtype",
@@ -512,8 +513,11 @@
"StudyHelp": "Each action lowers the target number by 1, to a minimum of 2+." "StudyHelp": "Each action lowers the target number by 1, to a minimum of 2+."
}, },
"Notification": { "Notification": {
"ActorNotFound": "Actor not found.",
"ActorOrItemNotFound": "Actor or item not found for damage roll.", "ActorOrItemNotFound": "Actor or item not found for damage roll.",
"CannotSyncMore": "{actor} cannot synchronize any more artifacts today.", "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.", "ItemBroken": "{item} is broken.",
"ItemBurnedOut": "{item} is burned out.", "ItemBurnedOut": "{item} is burned out.",
"ItemDepleted": "{item} is already depleted.", "ItemDepleted": "{item} is already depleted.",
@@ -585,6 +589,7 @@
"OutcomeSuccess": "Success", "OutcomeSuccess": "Success",
"QuickRestLabel": "{actor} Takes a Quick Rest", "QuickRestLabel": "{actor} Takes a Quick Rest",
"RestoredHP": "Restored {amount} HP", "RestoredHP": "Restored {amount} HP",
"RerollWithOmen": "Reroll with Omen",
"RollDamage": "Roll Damage", "RollDamage": "Roll Damage",
"TakesDamageLabel": "{actor} Takes Damage", "TakesDamageLabel": "{actor} Takes Damage",
"TargetName": "Target: {target}", "TargetName": "Target: {target}",
+16 -5
View File
@@ -147,16 +147,27 @@
.application.mgne label { .application.mgne label {
.caps-heading(); .caps-heading();
color: @label-ink; color: @bone;
font-size: 0.74rem; 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 { .application.mgne fieldset {
.panel-shell(); .panel-shell();
.ornate-frame(); .ornate-frame();
margin: 0; 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 // ProseMirror / toggled editor inside fieldset — enforce contrast on dark bg
.application.mgne fieldset { .application.mgne fieldset {
.editor, .editor,
@@ -203,17 +214,17 @@
} }
.application.mgne .empty-state { .application.mgne .empty-state {
color: fade(@ash, 94%); color: @bg-char;
font-style: italic; font-style: italic;
letter-spacing: 0.03em; letter-spacing: 0.03em;
} }
.application.mgne .rollable { .application.mgne .rollable {
color: @ember-bright; color: lighten(@parchment, 8%);
text-shadow: 0 0 12px fade(@ember, 18%); text-shadow: 0 0 12px fade(@gold-acid, 18%);
&:hover { &:hover {
color: lighten(@ember-bright, 10%); color: lighten(@parchment, 12%);
} }
} }
+28 -3
View File
@@ -37,7 +37,7 @@
.mgne-chat-card h3 { .mgne-chat-card h3 {
.caps-heading(); .caps-heading();
margin: 0; margin: 0;
color: @label-ink; color: @bone;
font-size: 0.82rem; font-size: 0.82rem;
} }
@@ -119,7 +119,7 @@
.dice-formula { .dice-formula {
font-family: "Courier New", monospace; font-family: "Courier New", monospace;
font-size: 0.72rem; font-size: 0.72rem;
color: fade(@parchment, 65%); color: fade(@parchment, 78%);
} }
.dice-tooltip { .dice-tooltip {
font-size: 0.78rem; font-size: 0.78rem;
@@ -131,7 +131,7 @@
color: @gold-acid; color: @gold-acid;
font-size: 0.8rem; 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; } .part-total { color: @parchment; font-weight: 600; }
.max { color: lighten(@verdigris, 20%); } .max { color: lighten(@verdigris, 20%); }
.min { color: lighten(@ember-bright, 10%); } .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 { .chat-apply-actions {
margin-top: 0.35rem; margin-top: 0.35rem;
} }
+48 -32
View File
@@ -203,15 +203,15 @@
} }
.application.mgne .resource-box-inline-track .numeric-caption { .application.mgne .resource-box-inline-track .numeric-caption {
color: @label-ink; color: @bone;
} }
.application.mgne .resource-box-inline-track .numeric-caption-strong { .application.mgne .resource-box-inline-track .numeric-caption-strong {
padding: 0.08rem 0.34rem; padding: 0.08rem 0.34rem;
border-radius: 999px; border-radius: 999px;
background: fade(@gold-acid, 18%); background: fade(@gold-acid, 18%);
border: 1px solid fade(@label-ink, 28%); border: 1px solid fade(@bone, 28%);
color: darken(@label-ink, 4%); color: @bone;
font-size: 0.6rem; font-size: 0.6rem;
letter-spacing: 0.11em; letter-spacing: 0.11em;
} }
@@ -261,7 +261,7 @@
.application.mgne .numeric-caption { .application.mgne .numeric-caption {
.caps-heading(); .caps-heading();
color: fade(@label-soft, 94%); color: lighten(@label-soft, 2%);
font-size: 0.58rem; font-size: 0.58rem;
letter-spacing: 0.12em; letter-spacing: 0.12em;
} }
@@ -479,6 +479,18 @@
font-size: 0.82rem; 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 { .application.mgne .item-row {
position: relative; position: relative;
display: grid; display: grid;
@@ -584,8 +596,8 @@
} }
.application.mgne .resource-label-accent { .application.mgne .resource-label-accent {
color: @ember-bright; color: lighten(@parchment, 8%);
text-shadow: 0 0 12px fade(@ember, 18%); text-shadow: 0 0 12px fade(@gold-acid, 18%);
} }
.application.mgne .ability-score { .application.mgne .ability-score {
@@ -693,9 +705,9 @@
} }
&.weight-heavy { &.weight-heavy {
color: @blood; color: @bone;
border-color: fade(@blood, 45%); border-color: fade(@gold-acid, 45%);
background: fade(@blood, 12%); background: fade(@ash, 12%);
} }
} }
@@ -707,16 +719,16 @@
} }
.load-overloaded { .load-overloaded {
color: @blood !important; color: lighten(@parchment, 8%) !important;
text-shadow: 0 0 6px fade(@blood, 50%); text-shadow: 0 0 6px fade(@gold-acid, 50%);
} }
.resource-box-overloaded { .resource-box-overloaded {
border-color: fade(@blood, 60%) !important; border-color: fade(@gold-acid, 60%) !important;
background: fade(@blood, 10%) !important; background: fade(@ash, 10%) !important;
.resource-label-accent { .resource-label-accent {
color: @blood !important; color: lighten(@parchment, 8%) !important;
} }
} }
@@ -748,9 +760,9 @@
font-weight: 700; font-weight: 700;
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 0.06em; letter-spacing: 0.06em;
color: @blood; color: lighten(@parchment, 8%);
background: fade(@blood, 14%); background: fade(@ash, 14%);
border: 1px solid fade(@blood, 45%); border: 1px solid fade(@bone, 45%);
border-radius: 3px; border-radius: 3px;
vertical-align: middle; vertical-align: middle;
} }
@@ -775,9 +787,9 @@
letter-spacing: 0.03em; letter-spacing: 0.03em;
&.durability-broken { &.durability-broken {
color: @blood; color: lighten(@parchment, 8%);
border-color: fade(@blood, 40%); border-color: fade(@bone, 40%);
background: fade(@blood, 10%); background: fade(@ash, 10%);
text-decoration: line-through; text-decoration: line-through;
} }
} }
@@ -788,7 +800,7 @@
.item-name { .item-name {
text-decoration: line-through; text-decoration: line-through;
color: fade(@parchment, 55%); color: lighten(@parchment, 6%);
} }
} }
@@ -874,7 +886,7 @@
font-weight: 700; font-weight: 700;
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 0.08em; letter-spacing: 0.08em;
color: fade(@blood, 90%); color: lighten(@blood, 8%);
} }
button { button {
@@ -882,7 +894,7 @@
padding: 0.15em 0.6em; padding: 0.15em 0.6em;
background: fade(@blood, 12%); background: fade(@blood, 12%);
border: 1px solid fade(@blood, 35%); border: 1px solid fade(@blood, 35%);
color: fade(@blood, 80%); color: lighten(@blood, 4%);
border-radius: 3px; border-radius: 3px;
cursor: pointer; cursor: pointer;
transition: background 0.15s, color 0.15s; transition: background 0.15s, color 0.15s;
@@ -992,7 +1004,7 @@
font-weight: 700; font-weight: 700;
text-transform: uppercase; text-transform: uppercase;
letter-spacing: 0.07em; letter-spacing: 0.07em;
color: fade(@ember, 80%); color: @parchment;
white-space: nowrap; white-space: nowrap;
} }
@@ -1008,10 +1020,14 @@
align-items: center; align-items: center;
gap: 0.3em; gap: 0.3em;
font-size: 0.83rem; font-size: 0.83rem;
color: @parchment; color: @parchment !important;
cursor: pointer; cursor: pointer;
user-select: none; user-select: none;
> span {
color: @parchment !important;
}
input[type="checkbox"] { input[type="checkbox"] {
appearance: checkbox; appearance: checkbox;
-webkit-appearance: checkbox; -webkit-appearance: checkbox;
@@ -1100,9 +1116,9 @@
button { button {
font-size: 0.75rem; font-size: 0.75rem;
padding: 0.15em 0.55em; padding: 0.15em 0.55em;
background: fade(@ember, 10%); background: fade(@ash, 10%);
border: 1px solid fade(@ember, 30%); border: 1px solid fade(@gold-acid, 30%);
color: fade(@ember, 80%); color: lighten(@parchment, 6%);
border-radius: 3px; border-radius: 3px;
cursor: pointer; cursor: pointer;
transition: background 0.15s, color 0.15s; transition: background 0.15s, color 0.15s;
@@ -1111,8 +1127,8 @@
gap: 0.3em; gap: 0.3em;
&:hover { &:hover {
background: fade(@ember, 22%); background: fade(@ash, 22%);
color: @ember; color: @bone;
} }
} }
} }
@@ -1241,7 +1257,7 @@
} }
.application.mgne.party .party-member-hp { .application.mgne.party .party-member-hp {
color: @ember-bright; color: @bone;
font-family: @font-display; font-family: @font-display;
font-size: 0.82rem; font-size: 0.82rem;
font-weight: 700; font-weight: 700;
@@ -1249,7 +1265,7 @@
} }
.application.mgne.party .party-member-type { .application.mgne.party .party-member-type {
color: @dust; color: lighten(@dust, 12%);
font-size: 0.78rem; font-size: 0.78rem;
font-style: italic; font-style: italic;
} }
+9 -9
View File
@@ -9,16 +9,16 @@
@bg-input: rgba(17, 12, 10, 0.72); @bg-input: rgba(17, 12, 10, 0.72);
@parchment: #ccb292; @parchment: #ccb292;
@bone: #ab8b68; @bone: #ab8b68;
@dust: #7e664f; @dust: #a68e78;
@ash: #5f4d40; @ash: #958068;
@label-ink: #6e3d2a; @label-ink: #a67054;
@label-soft: #81533b; @label-soft: #b1856c;
@iron: #52453c; @iron: #a08878;
@copper: #8d5f3f; @copper: #b49c73;
@verdigris: #4f7d73; @verdigris: #4f7d73;
@ember: #b7461f; @ember: #d87a4f;
@ember-bright: #dd6b2d; @ember-bright: #e89a5f;
@blood: #7f1d17; @blood: #e85a50;
@gold-acid: #c49a45; @gold-acid: #c49a45;
@shadow-heavy: 0 14px 30px rgba(0, 0, 0, 0.36); @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); @shadow-inset: inset 0 1px 0 rgba(255, 236, 203, 0.08), inset 0 0 0 1px rgba(255, 236, 203, 0.03);
+15 -5
View File
@@ -70,15 +70,16 @@ async function renderCard(context) {
} }
export default class MGNERoll { 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 abilityLabel = SYSTEM.abilities[abilityId]?.label ?? abilityId
const content = await foundry.applications.handlebars.renderTemplate(`systems/${SYSTEM_ID}/templates/roll-dialog.hbs`, { const content = await foundry.applications.handlebars.renderTemplate(`systems/${SYSTEM_ID}/templates/roll-dialog.hbs`, {
actorName: actor.name, actorName: actor.name,
label, label,
abilityLabel, abilityLabel,
baseDR, baseDR,
modifier,
drOptions: numericOptions(6, 20, baseDR), drOptions: numericOptions(6, 20, baseDR),
modifierOptions: numericOptions(-6, 6, 0), modifierOptions: numericOptions(-6, 6, modifier),
omens: actor.system.omens?.current ?? 0, omens: actor.system.omens?.current ?? 0,
rollType, rollType,
}) })
@@ -99,15 +100,15 @@ export default class MGNERoll {
if (!dialogData) return null 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) const spendOmen = Boolean(dialogData.spendOmen)
// Re-read omens after dialog close to avoid race condition (omen could have changed) // Re-read omens after dialog close to avoid race condition (omen could have changed)
const currentOmensAfterDialog = actor.system.omens?.current ?? 0 const currentOmensAfterDialog = actor.system.omens?.current ?? 0
const canSpendOmen = spendOmen && currentOmensAfterDialog > 0 const canSpendOmen = spendOmen && currentOmensAfterDialog > 0
const dr = (Number.parseInt(dialogData.dr ?? baseDR, 10) || baseDR) - (canSpendOmen ? 4 : 0) const dr = (Number.parseInt(dialogData.dr ?? baseDR, 10) || baseDR) - (canSpendOmen ? 4 : 0)
const abilityValue = actor.system.abilities?.[abilityId]?.value ?? 0 const abilityValue = actor.system.abilities?.[abilityId]?.value ?? 0
const sign = modifier >= 0 ? "+" : "-" const sign = dialogModifier >= 0 ? "+" : "-"
const formula = modifier === 0 ? `1d20 + ${abilityValue}` : `1d20 + ${abilityValue} ${sign} ${Math.abs(modifier)}` const formula = dialogModifier === 0 ? `1d20 + ${abilityValue}` : `1d20 + ${abilityValue} ${sign} ${Math.abs(dialogModifier)}`
const roll = await (new Roll(formula)).evaluate() const roll = await (new Roll(formula)).evaluate()
const natural = roll.dice?.[0]?.results?.[0]?.result ?? roll.total 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 showDamageButton = rollType === "attack" && (success || critical) && !!item
const showOmenRerollButton = Boolean(omenRerollReminder)
const contentHtml = await renderCard({ const contentHtml = await renderCard({
mode: "check", mode: "check",
actorName: actor.name, actorName: actor.name,
@@ -160,6 +162,14 @@ export default class MGNERoll {
damageItemId: showDamageButton ? item.id : null, damageItemId: showDamageButton ? item.id : null,
damageFormula: showDamageButton ? (item.system.damage || "1") : null, damageFormula: showDamageButton ? (item.system.damage || "1") : null,
damageCritical: showDamageButton && critical, 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, _roll: roll,
}) })
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000035 MANIFEST-000044
+15 -8
View File
@@ -1,8 +1,15 @@
2026/05/19-11:43:58.491683 7f5a477fe6c0 Recovering log #32 2026/05/23-08:39:02.071552 7fb059fef6c0 Recovering log #41
2026/05/19-11:43:58.503266 7f5a477fe6c0 Delete type=3 #30 2026/05/23-08:39:02.085152 7fb059fef6c0 Delete type=3 #39
2026/05/19-11:43:58.503328 7f5a477fe6c0 Delete type=0 #32 2026/05/23-08:39:02.085618 7fb059fef6c0 Delete type=0 #41
2026/05/19-13:29:47.340536 7f5a467fc6c0 Level-0 table #38: started 2026/05/23-08:42:47.974188 7fb04b7fe6c0 Level-0 table #47: started
2026/05/19-13:29:47.344381 7f5a467fc6c0 Level-0 table #38: 1354 bytes OK 2026/05/23-08:42:47.978821 7fb04b7fe6c0 Level-0 table #47: 1354 bytes OK
2026/05/19-13:29:47.350519 7f5a467fc6c0 Delete type=0 #36 2026/05/23-08:42:47.988393 7fb04b7fe6c0 Delete type=0 #45
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/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/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: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)
+15 -16
View File
@@ -1,16 +1,15 @@
2026/05/19-11:02:18.769006 7f8fcb7fe6c0 Recovering log #27 2026/05/22-23:16:00.130878 7fb04bfff6c0 Recovering log #37
2026/05/19-11:02:18.779483 7f8fcb7fe6c0 Delete type=3 #25 2026/05/22-23:16:00.140612 7fb04bfff6c0 Delete type=3 #35
2026/05/19-11:02:18.779537 7f8fcb7fe6c0 Delete type=0 #27 2026/05/22-23:16:00.140678 7fb04bfff6c0 Delete type=0 #37
2026/05/19-11:02:18.787924 7f8fcaffd6c0 Level-0 table #33: started 2026/05/23-00:40:56.642804 7fb04b7fe6c0 Level-0 table #42: started
2026/05/19-11:02:18.791070 7f8fcaffd6c0 Level-0 table #33: 1193 bytes OK 2026/05/23-00:40:56.647145 7fb04b7fe6c0 Level-0 table #42: 1354 bytes OK
2026/05/19-11:02:18.797355 7f8fcaffd6c0 Delete type=0 #31 2026/05/23-00:40:56.653866 7fb04b7fe6c0 Delete type=0 #40
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/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/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/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/19-11:02:18.797659 7f8fcaffd6c0 Compacting 1@1 + 2@2 files 2026/05/23-00:40:56.674608 7fb04b7fe6c0 Compacting 1@1 + 1@2 files
2026/05/19-11:02:18.800889 7f8fcaffd6c0 Generated table #34@1: 8 keys, 1176 bytes 2026/05/23-00:40:56.678236 7fb04b7fe6c0 Generated table #43@1: 1 keys, 685 bytes
2026/05/19-11:02:18.800920 7f8fcaffd6c0 Compacted 1@1 + 2@2 files => 1176 bytes 2026/05/23-00:40:56.678254 7fb04b7fe6c0 Compacted 1@1 + 1@2 files => 685 bytes
2026/05/19-11:02:18.807939 7f8fcaffd6c0 compacted to: files[ 0 0 1 0 0 0 0 ] 2026/05/23-00:40:56.686903 7fb04b7fe6c0 compacted to: files[ 0 0 2 0 0 0 0 ]
2026/05/19-11:02:18.808063 7f8fcaffd6c0 Delete type=2 #5 2026/05/23-00:40:56.686979 7fb04b7fe6c0 Delete type=2 #38
2026/05/19-11:02:18.808159 7f8fcaffd6c0 Delete type=2 #29 2026/05/23-00:40:56.687121 7fb04b7fe6c0 Delete type=2 #42
2026/05/19-11:02:18.808228 7f8fcaffd6c0 Delete type=2 #33 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)
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)
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000035 MANIFEST-000044
+15 -8
View File
@@ -1,8 +1,15 @@
2026/05/19-11:43:58.466515 7f5a47fff6c0 Recovering log #32 2026/05/23-08:39:02.020811 7fb058fed6c0 Recovering log #41
2026/05/19-11:43:58.477301 7f5a47fff6c0 Delete type=3 #30 2026/05/23-08:39:02.034588 7fb058fed6c0 Delete type=3 #39
2026/05/19-11:43:58.477387 7f5a47fff6c0 Delete type=0 #32 2026/05/23-08:39:02.034799 7fb058fed6c0 Delete type=0 #41
2026/05/19-13:29:47.310841 7f5a467fc6c0 Level-0 table #38: started 2026/05/23-08:42:47.861136 7fb04b7fe6c0 Level-0 table #47: started
2026/05/19-13:29:47.314286 7f5a467fc6c0 Level-0 table #38: 4899 bytes OK 2026/05/23-08:42:47.866967 7fb04b7fe6c0 Level-0 table #47: 4899 bytes OK
2026/05/19-13:29:47.320795 7f5a467fc6c0 Delete type=0 #36 2026/05/23-08:42:47.875441 7fb04b7fe6c0 Delete type=0 #45
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/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/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: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)
+15 -16
View File
@@ -1,16 +1,15 @@
2026/05/19-11:02:18.809449 7f8fcb7fe6c0 Recovering log #27 2026/05/22-23:16:00.102725 7fb0597ee6c0 Recovering log #37
2026/05/19-11:02:18.819291 7f8fcb7fe6c0 Delete type=3 #25 2026/05/22-23:16:00.113026 7fb0597ee6c0 Delete type=3 #35
2026/05/19-11:02:18.819384 7f8fcb7fe6c0 Delete type=0 #27 2026/05/22-23:16:00.113082 7fb0597ee6c0 Delete type=0 #37
2026/05/19-11:02:18.822817 7f8fcaffd6c0 Level-0 table #33: started 2026/05/23-00:40:56.621116 7fb04b7fe6c0 Level-0 table #42: started
2026/05/19-11:02:18.826056 7f8fcaffd6c0 Level-0 table #33: 2612 bytes OK 2026/05/23-00:40:56.626059 7fb04b7fe6c0 Level-0 table #42: 4899 bytes OK
2026/05/19-11:02:18.832282 7f8fcaffd6c0 Delete type=0 #31 2026/05/23-00:40:56.632556 7fb04b7fe6c0 Delete type=0 #40
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/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/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/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/19-11:02:18.832498 7f8fcaffd6c0 Compacting 1@1 + 2@2 files 2026/05/23-00:40:56.663907 7fb04b7fe6c0 Compacting 1@1 + 1@2 files
2026/05/19-11:02:18.836012 7f8fcaffd6c0 Generated table #34@1: 4 keys, 2597 bytes 2026/05/23-00:40:56.667251 7fb04b7fe6c0 Generated table #43@1: 1 keys, 1984 bytes
2026/05/19-11:02:18.836038 7f8fcaffd6c0 Compacted 1@1 + 2@2 files => 2597 bytes 2026/05/23-00:40:56.667275 7fb04b7fe6c0 Compacted 1@1 + 1@2 files => 1984 bytes
2026/05/19-11:02:18.842468 7f8fcaffd6c0 compacted to: files[ 0 0 1 0 0 0 0 ] 2026/05/23-00:40:56.674103 7fb04b7fe6c0 compacted to: files[ 0 0 2 0 0 0 0 ]
2026/05/19-11:02:18.842559 7f8fcaffd6c0 Delete type=2 #5 2026/05/23-00:40:56.674353 7fb04b7fe6c0 Delete type=2 #38
2026/05/19-11:02:18.842644 7f8fcaffd6c0 Delete type=2 #29 2026/05/23-00:40:56.674510 7fb04b7fe6c0 Delete type=2 #42
2026/05/19-11:02:18.842691 7f8fcaffd6c0 Delete type=2 #33 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)
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)
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000035 MANIFEST-000044
+15 -8
View File
@@ -1,8 +1,15 @@
2026/05/19-11:43:58.453269 7f5a94bff6c0 Recovering log #32 2026/05/23-08:39:01.993483 7fb0597ee6c0 Recovering log #41
2026/05/19-11:43:58.463527 7f5a94bff6c0 Delete type=3 #30 2026/05/23-08:39:02.008888 7fb0597ee6c0 Delete type=3 #39
2026/05/19-11:43:58.463573 7f5a94bff6c0 Delete type=0 #32 2026/05/23-08:39:02.009121 7fb0597ee6c0 Delete type=0 #41
2026/05/19-13:29:47.301133 7f5a467fc6c0 Level-0 table #38: started 2026/05/23-08:42:47.845110 7fb04b7fe6c0 Level-0 table #47: started
2026/05/19-13:29:47.304584 7f5a467fc6c0 Level-0 table #38: 10414 bytes OK 2026/05/23-08:42:47.852176 7fb04b7fe6c0 Level-0 table #47: 10404 bytes OK
2026/05/19-13:29:47.310712 7f5a467fc6c0 Delete type=0 #36 2026/05/23-08:42:47.860739 7fb04b7fe6c0 Delete type=0 #45
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/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/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: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)
+15 -16
View File
@@ -1,16 +1,15 @@
2026/05/19-11:02:18.844260 7f8fcb7fe6c0 Recovering log #27 2026/05/22-23:16:00.088732 7fb058fed6c0 Recovering log #37
2026/05/19-11:02:18.853625 7f8fcb7fe6c0 Delete type=3 #25 2026/05/22-23:16:00.097993 7fb058fed6c0 Delete type=3 #35
2026/05/19-11:02:18.853672 7f8fcb7fe6c0 Delete type=0 #27 2026/05/22-23:16:00.098029 7fb058fed6c0 Delete type=0 #37
2026/05/19-11:02:18.858431 7f8fcaffd6c0 Level-0 table #33: started 2026/05/23-00:40:56.654001 7fb04b7fe6c0 Level-0 table #42: started
2026/05/19-11:02:18.861570 7f8fcaffd6c0 Level-0 table #33: 8690 bytes OK 2026/05/23-00:40:56.657365 7fb04b7fe6c0 Level-0 table #42: 10404 bytes OK
2026/05/19-11:02:18.868803 7f8fcaffd6c0 Delete type=0 #31 2026/05/23-00:40:56.663780 7fb04b7fe6c0 Delete type=0 #40
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/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/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/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/19-11:02:18.869112 7f8fcaffd6c0 Compacting 1@1 + 2@2 files 2026/05/23-00:40:56.697323 7fb04b7fe6c0 Compacting 1@1 + 1@2 files
2026/05/19-11:02:18.872810 7f8fcaffd6c0 Generated table #34@1: 36 keys, 8674 bytes 2026/05/23-00:40:56.700728 7fb04b7fe6c0 Generated table #43@1: 1 keys, 728 bytes
2026/05/19-11:02:18.872822 7f8fcaffd6c0 Compacted 1@1 + 2@2 files => 8674 bytes 2026/05/23-00:40:56.700761 7fb04b7fe6c0 Compacted 1@1 + 1@2 files => 728 bytes
2026/05/19-11:02:18.878554 7f8fcaffd6c0 compacted to: files[ 0 0 1 0 0 0 0 ] 2026/05/23-00:40:56.707096 7fb04b7fe6c0 compacted to: files[ 0 0 2 0 0 0 0 ]
2026/05/19-11:02:18.878610 7f8fcaffd6c0 Delete type=2 #5 2026/05/23-00:40:56.707214 7fb04b7fe6c0 Delete type=2 #38
2026/05/19-11:02:18.878700 7f8fcaffd6c0 Delete type=2 #29 2026/05/23-00:40:56.707310 7fb04b7fe6c0 Delete type=2 #42
2026/05/19-11:02:18.878747 7f8fcaffd6c0 Delete type=2 #33 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)
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)
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000036 MANIFEST-000046
+15 -15
View File
@@ -1,15 +1,15 @@
2026/05/19-11:43:58.505418 7f5a46ffd6c0 Recovering log #33 2026/05/23-08:39:02.096363 7fb058fed6c0 Recovering log #43
2026/05/19-11:43:58.516284 7f5a46ffd6c0 Delete type=3 #31 2026/05/23-08:39:02.110780 7fb058fed6c0 Delete type=3 #41
2026/05/19-11:43:58.516350 7f5a46ffd6c0 Delete type=0 #33 2026/05/23-08:39:02.110962 7fb058fed6c0 Delete type=0 #43
2026/05/19-13:29:47.350654 7f5a467fc6c0 Level-0 table #39: started 2026/05/23-08:42:47.957308 7fb04b7fe6c0 Level-0 table #49: started
2026/05/19-13:29:47.354446 7f5a467fc6c0 Level-0 table #39: 31043 bytes OK 2026/05/23-08:42:47.965185 7fb04b7fe6c0 Level-0 table #49: 36427 bytes OK
2026/05/19-13:29:47.361835 7f5a467fc6c0 Delete type=0 #37 2026/05/23-08:42:47.973709 7fb04b7fe6c0 Delete type=0 #47
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/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/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/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/19-13:29:47.378921 7f5a467fc6c0 Compacting 1@1 + 1@2 files 2026/05/23-08:42:47.997565 7fb04b7fe6c0 Compacting 1@1 + 1@2 files
2026/05/19-13:29:47.383027 7f5a467fc6c0 Generated table #40@1: 436 keys, 40533 bytes 2026/05/23-08:42:48.006520 7fb04b7fe6c0 Generated table #50@1: 436 keys, 40644 bytes
2026/05/19-13:29:47.383047 7f5a467fc6c0 Compacted 1@1 + 1@2 files => 40533 bytes 2026/05/23-08:42:48.006615 7fb04b7fe6c0 Compacted 1@1 + 1@2 files => 40644 bytes
2026/05/19-13:29:47.389114 7f5a467fc6c0 compacted to: files[ 0 0 1 0 0 0 0 ] 2026/05/23-08:42:48.015030 7fb04b7fe6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2026/05/19-13:29:47.389270 7f5a467fc6c0 Delete type=2 #35 2026/05/23-08:42:48.015433 7fb04b7fe6c0 Delete type=2 #45
2026/05/19-13:29:47.389435 7f5a467fc6c0 Delete type=2 #39 2026/05/23-08:42:48.015956 7fb04b7fe6c0 Delete type=2 #49
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:42:48.059083 7fb04b7fe6c0 Manual compaction at level-1 from '!tables.results!zxz8aOYe1rfUsXfG' @ 3496 : 0 .. '!tables.results!zJoz3QSaL4FJ8W0g' @ 0 : 0; will stop at (end)
+15 -15
View File
@@ -1,15 +1,15 @@
2026/05/19-11:02:18.880496 7f8fcb7fe6c0 Recovering log #28 2026/05/22-23:16:00.142864 7fb059fef6c0 Recovering log #38
2026/05/19-11:02:18.890669 7f8fcb7fe6c0 Delete type=3 #26 2026/05/22-23:16:00.152440 7fb059fef6c0 Delete type=3 #36
2026/05/19-11:02:18.890721 7f8fcb7fe6c0 Delete type=0 #28 2026/05/22-23:16:00.152474 7fb059fef6c0 Delete type=0 #38
2026/05/19-11:02:18.903169 7f8fcaffd6c0 Level-0 table #34: started 2026/05/23-00:40:56.707364 7fb04b7fe6c0 Level-0 table #44: started
2026/05/19-11:02:18.906993 7f8fcaffd6c0 Level-0 table #34: 20747 bytes OK 2026/05/23-00:40:56.710586 7fb04b7fe6c0 Level-0 table #44: 36225 bytes OK
2026/05/19-11:02:18.913179 7f8fcaffd6c0 Delete type=0 #32 2026/05/23-00:40:56.717497 7fb04b7fe6c0 Delete type=0 #42
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/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/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/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/19-11:02:18.913369 7f8fcaffd6c0 Compacting 1@1 + 1@2 files 2026/05/23-00:40:56.743406 7fb04b7fe6c0 Compacting 1@1 + 1@2 files
2026/05/19-11:02:18.916838 7f8fcaffd6c0 Generated table #35@1: 225 keys, 15451 bytes 2026/05/23-00:40:56.747706 7fb04b7fe6c0 Generated table #45@1: 436 keys, 40336 bytes
2026/05/19-11:02:18.916863 7f8fcaffd6c0 Compacted 1@1 + 1@2 files => 15451 bytes 2026/05/23-00:40:56.747718 7fb04b7fe6c0 Compacted 1@1 + 1@2 files => 40336 bytes
2026/05/19-11:02:18.924177 7f8fcaffd6c0 compacted to: files[ 0 0 1 0 0 0 0 ] 2026/05/23-00:40:56.754998 7fb04b7fe6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2026/05/19-11:02:18.924301 7f8fcaffd6c0 Delete type=2 #30 2026/05/23-00:40:56.755053 7fb04b7fe6c0 Delete type=2 #40
2026/05/19-11:02:18.924433 7f8fcaffd6c0 Delete type=2 #34 2026/05/23-00:40:56.755135 7fb04b7fe6c0 Delete type=2 #44
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/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)
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000035 MANIFEST-000044
+15 -8
View File
@@ -1,8 +1,15 @@
2026/05/19-11:43:58.439933 7f5a47fff6c0 Recovering log #32 2026/05/23-08:39:01.965876 7fb058fed6c0 Recovering log #41
2026/05/19-11:43:58.449841 7f5a47fff6c0 Delete type=3 #30 2026/05/23-08:39:01.980863 7fb058fed6c0 Delete type=3 #39
2026/05/19-11:43:58.449917 7f5a47fff6c0 Delete type=0 #32 2026/05/23-08:39:01.981110 7fb058fed6c0 Delete type=0 #41
2026/05/19-13:29:47.320927 7f5a467fc6c0 Level-0 table #38: started 2026/05/23-08:42:47.824361 7fb04b7fe6c0 Level-0 table #47: started
2026/05/19-13:29:47.324319 7f5a467fc6c0 Level-0 table #38: 7117 bytes OK 2026/05/23-08:42:47.833284 7fb04b7fe6c0 Level-0 table #47: 7117 bytes OK
2026/05/19-13:29:47.330350 7f5a467fc6c0 Delete type=0 #36 2026/05/23-08:42:47.844689 7fb04b7fe6c0 Delete type=0 #45
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/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/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: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)
+15 -16
View File
@@ -1,16 +1,15 @@
2026/05/19-11:02:18.925517 7f9018bfe6c0 Recovering log #27 2026/05/22-23:16:00.073959 7fb04bfff6c0 Recovering log #37
2026/05/19-11:02:18.934880 7f9018bfe6c0 Delete type=3 #25 2026/05/22-23:16:00.084734 7fb04bfff6c0 Delete type=3 #35
2026/05/19-11:02:18.934945 7f9018bfe6c0 Delete type=0 #27 2026/05/22-23:16:00.084795 7fb04bfff6c0 Delete type=0 #37
2026/05/19-11:02:18.938495 7f8fcaffd6c0 Level-0 table #33: started 2026/05/23-00:40:56.632712 7fb04b7fe6c0 Level-0 table #42: started
2026/05/19-11:02:18.941974 7f8fcaffd6c0 Level-0 table #33: 6054 bytes OK 2026/05/23-00:40:56.636231 7fb04b7fe6c0 Level-0 table #42: 7117 bytes OK
2026/05/19-11:02:18.949380 7f8fcaffd6c0 Delete type=0 #31 2026/05/23-00:40:56.642660 7fb04b7fe6c0 Delete type=0 #40
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/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/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/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/19-11:02:18.949641 7f8fcaffd6c0 Compacting 1@1 + 2@2 files 2026/05/23-00:40:56.687221 7fb04b7fe6c0 Compacting 1@1 + 1@2 files
2026/05/19-11:02:18.953049 7f8fcaffd6c0 Generated table #34@1: 20 keys, 6039 bytes 2026/05/23-00:40:56.690620 7fb04b7fe6c0 Generated table #43@1: 1 keys, 910 bytes
2026/05/19-11:02:18.953070 7f8fcaffd6c0 Compacted 1@1 + 2@2 files => 6039 bytes 2026/05/23-00:40:56.690650 7fb04b7fe6c0 Compacted 1@1 + 1@2 files => 910 bytes
2026/05/19-11:02:18.958965 7f8fcaffd6c0 compacted to: files[ 0 0 1 0 0 0 0 ] 2026/05/23-00:40:56.697098 7fb04b7fe6c0 compacted to: files[ 0 0 2 0 0 0 0 ]
2026/05/19-11:02:18.959068 7f8fcaffd6c0 Delete type=2 #5 2026/05/23-00:40:56.697173 7fb04b7fe6c0 Delete type=2 #38
2026/05/19-11:02:18.959179 7f8fcaffd6c0 Delete type=2 #29 2026/05/23-00:40:56.697261 7fb04b7fe6c0 Delete type=2 #42
2026/05/19-11:02:18.959228 7f8fcaffd6c0 Delete type=2 #33 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)
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)
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000035 MANIFEST-000044
+15 -8
View File
@@ -1,8 +1,15 @@
2026/05/19-11:43:58.479956 7f5a47fff6c0 Recovering log #32 2026/05/23-08:39:02.046509 7fb058fed6c0 Recovering log #41
2026/05/19-11:43:58.489548 7f5a47fff6c0 Delete type=3 #30 2026/05/23-08:39:02.061764 7fb058fed6c0 Delete type=3 #39
2026/05/19-11:43:58.489595 7f5a47fff6c0 Delete type=0 #32 2026/05/23-08:39:02.061947 7fb058fed6c0 Delete type=0 #41
2026/05/19-13:29:47.330472 7f5a467fc6c0 Level-0 table #38: started 2026/05/23-08:42:47.875902 7fb04b7fe6c0 Level-0 table #47: started
2026/05/19-13:29:47.333528 7f5a467fc6c0 Level-0 table #38: 1965 bytes OK 2026/05/23-08:42:47.880995 7fb04b7fe6c0 Level-0 table #47: 1965 bytes OK
2026/05/19-13:29:47.340237 7f5a467fc6c0 Delete type=0 #36 2026/05/23-08:42:47.889814 7fb04b7fe6c0 Delete type=0 #45
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/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/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: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)
+15 -16
View File
@@ -1,16 +1,15 @@
2026/05/19-11:02:18.960160 7f9018bfe6c0 Recovering log #27 2026/05/22-23:16:00.118275 7fb058fed6c0 Recovering log #37
2026/05/19-11:02:18.971164 7f9018bfe6c0 Delete type=3 #25 2026/05/22-23:16:00.128502 7fb058fed6c0 Delete type=3 #35
2026/05/19-11:02:18.971219 7f9018bfe6c0 Delete type=0 #27 2026/05/22-23:16:00.128547 7fb058fed6c0 Delete type=0 #37
2026/05/19-11:02:18.972967 7f8fcaffd6c0 Level-0 table #33: started 2026/05/23-00:40:56.724203 7fb04b7fe6c0 Level-0 table #42: started
2026/05/19-11:02:18.976102 7f8fcaffd6c0 Level-0 table #33: 1312 bytes OK 2026/05/23-00:40:56.727216 7fb04b7fe6c0 Level-0 table #42: 1965 bytes OK
2026/05/19-11:02:18.983166 7f8fcaffd6c0 Delete type=0 #31 2026/05/23-00:40:56.733795 7fb04b7fe6c0 Delete type=0 #40
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/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/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/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/19-11:02:18.983398 7f8fcaffd6c0 Compacting 1@1 + 2@2 files 2026/05/23-00:40:56.771180 7fb04b7fe6c0 Compacting 1@1 + 1@2 files
2026/05/19-11:02:18.987181 7f8fcaffd6c0 Generated table #34@1: 12 keys, 1295 bytes 2026/05/23-00:40:56.774447 7fb04b7fe6c0 Generated table #43@1: 1 keys, 626 bytes
2026/05/19-11:02:18.987209 7f8fcaffd6c0 Compacted 1@1 + 2@2 files => 1295 bytes 2026/05/23-00:40:56.774457 7fb04b7fe6c0 Compacted 1@1 + 1@2 files => 626 bytes
2026/05/19-11:02:18.993337 7f8fcaffd6c0 compacted to: files[ 0 0 1 0 0 0 0 ] 2026/05/23-00:40:56.780345 7fb04b7fe6c0 compacted to: files[ 0 0 2 0 0 0 0 ]
2026/05/19-11:02:18.993426 7f8fcaffd6c0 Delete type=2 #5 2026/05/23-00:40:56.780395 7fb04b7fe6c0 Delete type=2 #38
2026/05/19-11:02:18.993528 7f8fcaffd6c0 Delete type=2 #29 2026/05/23-00:40:56.780500 7fb04b7fe6c0 Delete type=2 #42
2026/05/19-11:02:18.993593 7f8fcaffd6c0 Delete type=2 #33 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)
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)
Binary file not shown.
Binary file not shown.
+15
View File
@@ -29,6 +29,21 @@
{{#if omenNeutralizeReminder}}<p class="chat-omen-remind chat-omen-neutralize">💡 {{omenNeutralizeReminder}}</p>{{/if}} {{#if omenNeutralizeReminder}}<p class="chat-omen-remind chat-omen-neutralize">💡 {{omenNeutralizeReminder}}</p>{{/if}}
{{#if omenRerollReminder}}<p class="chat-omen-remind">💡 {{omenRerollReminder}}</p>{{/if}} {{#if omenRerollReminder}}<p class="chat-omen-remind">💡 {{omenRerollReminder}}</p>{{/if}}
{{#if omenMaximized}}<p class="chat-omen-used">★ {{localize "MGNE.Roll.OmenMaximizedDamage"}}</p>{{/if}} {{#if omenMaximized}}<p class="chat-omen-used">★ {{localize "MGNE.Roll.OmenMaximizedDamage"}}</p>{{/if}}
{{#if showOmenRerollButton}}
<div class="chat-card-actions">
<button type="button" class="mgne-omen-reroll-btn"
data-actor-id="{{omenRerollActorId}}"
data-ability-id="{{omenRerollAbilityId}}"
data-label="{{omenRerollLabel}}"
data-base-dr="{{omenRerollBaseDR}}"
data-modifier="{{omenRerollModifier}}"
data-roll-type="{{omenRerollRollType}}"
{{#if omenRerollItemId}}data-item-id="{{omenRerollItemId}}"{{/if}}>
<i class="fa-solid fa-star"></i>
{{localize "MGNE.Roll.RerollWithOmen"}}
</button>
</div>
{{/if}}
{{#if showDamageButton}} {{#if showDamageButton}}
<div class="chat-card-actions"> <div class="chat-card-actions">
<button type="button" class="mgne-roll-damage-btn {{#if damageCritical}}is-critical{{/if}}" <button type="button" class="mgne-roll-damage-btn {{#if damageCritical}}is-critical{{/if}}"
+1 -1
View File
@@ -14,7 +14,7 @@
<label>{{localize "MGNE.RollDialog.Modifier"}}</label> <label>{{localize "MGNE.RollDialog.Modifier"}}</label>
<select name="modifier"> <select name="modifier">
{{#each modifierOptions}} {{#each modifierOptions}}
<option value="{{value}}" {{#if (isEqual value 0)}}selected{{/if}}>{{label}}</option> <option value="{{value}}" {{#if (isEqual value ../modifier)}}selected{{/if}}>{{label}}</option>
{{/each}} {{/each}}
</select> </select>
</div> </div>