4 Commits

Author SHA1 Message Date
uberwald 2fb6bfe444 FIx map
Release Creation / build (release) Successful in 40s
2026-06-02 19:44:57 +02:00
uberwald 53b7e8cc9d Enhance text style 2026-05-29 23:03:37 +02:00
uberwald 7f758afa56 Fix CSS issues and add omen re-roll function
Release Creation / build (release) Successful in 42s
2026-05-23 09:19:32 +02:00
uberwald 7beda6c331 Fix CSS issues and add omen re-roll function 2026-05-23 08:48:29 +02:00
69 changed files with 721 additions and 338 deletions
+10
View File
@@ -0,0 +1,10 @@
This is the official Foundry module for Machine Gods of the Noxian Expanse
Core Rules https://blackoathgames.com/machine-gods-of-the-noxian-expanse
In this release, you will find:
- All the necessary tools to create your Reclaimer and get them ready to explore the Expanse
- Tools to set up a game of Machine Gods, with everything in place to add your own gear, creatures, and more
- Automated rolls for all the core functionality of the game (Ability checks, Resonance Cores, Weapons, etc.)
- Full support for the game's mechanics, based on Mörk Borg
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

+188 -115
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,15 +110,17 @@
.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;
padding-right: 1.3rem; padding-right: 1.3rem;
background-image: linear-gradient(45deg, transparent 50%, rgba(196, 154, 69, 0.78) 50%), linear-gradient(135deg, rgba(196, 154, 69, 0.78) 50%, transparent 50%), linear-gradient(180deg, rgba(171, 139, 104, 0.04), transparent 60%); background-image: linear-gradient(45deg, transparent 50%, rgba(196, 154, 69, 0.78) 50%), linear-gradient(135deg, rgba(196, 154, 69, 0.78) 50%, transparent 50%), linear-gradient(180deg, rgba(171, 139, 104, 0.04), transparent 60%);
background-position: calc(100% - 11px) calc(50% - 2px), calc(100% - 7px) calc(50% - 2px), 0 0; background-position: calc(100% - 11px) calc(50% - 2px), calc(100% - 7px) calc(50% - 2px), 0 0;
background-size: 4px 4px, 4px 4px, auto; background-size: 4px 4px,
4px 4px,
auto;
background-repeat: no-repeat; background-repeat: no-repeat;
} }
.application.mgne textarea { .application.mgne textarea {
@@ -131,7 +133,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 +141,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 +173,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 +230,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,18 +251,33 @@
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 {
opacity: 0.5; opacity: 0.5;
} }
#pause > img {
content: url("../assets/ui/machine_god_skull.png");
animation: none;
width: 260px;
height: auto;
filter: drop-shadow(0 0 18px rgba(0, 0, 0, 0.8));
}
#pause figcaption {
font-family: "CastorTwoMGNE", "Palatino Linotype", serif;
font-size: 2rem;
font-weight: bold;
color: #a67054;
text-shadow: 0 0 10px rgba(0, 0, 0, 0.9), 1px 1px 2px #000;
letter-spacing: 2px;
}
.application.mgne .mgne-sheet { .application.mgne .mgne-sheet {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@@ -291,7 +315,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 +415,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 +458,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 +507,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 +601,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 +614,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 +654,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 +692,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 +709,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 +787,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 +824,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 +835,19 @@
.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);
}
.application.mgne.companion .inventory-header h3 {
color: #1b1512;
}
.application.mgne.companion .resource-box > label:not(.resource-label-accent) {
color: #1b1512;
}
.application.mgne.companion fieldset label {
color: #1b1512;
}
.application.mgne.companion .grid > div > label {
color: #1b1512;
} }
@media (max-width: 960px) { @media (max-width: 960px) {
.application.mgne .sheet-header, .application.mgne .sheet-header,
@@ -845,9 +889,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 +899,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 +935,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 +960,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 +971,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 +1023,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 +1037,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 +1048,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 +1071,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 +1099,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 +1141,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 +1150,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 +1164,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 +1198,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 +1219,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,26 +1227,29 @@
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: #ccb292;
font-style: italic; font-style: italic;
justify-content: center; justify-content: center;
cursor: default; cursor: default;
transition: background 0.15s, border-color 0.15s; transition: background 0.15s, border-color 0.15s;
} }
.application.mgne.companion .creature-action-table-section .action-table-drop-zone.drop-hint {
color: #1b1512;
}
.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 +1259,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 +1270,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 +1343,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 +1376,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 +1402,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 +1427,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: #ccb292;
font-size: 0.75rem; font-size: 0.75rem;
font-style: italic; font-style: italic;
text-align: center; text-align: center;
@@ -1393,13 +1443,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 +1494,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 +1503,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 +1535,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 +1545,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 +1613,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 +1627,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 +1638,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 +1657,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 +1681,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 +1703,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 +1720,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 +1737,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 +1781,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;
} }
+87 -1
View File
@@ -75,8 +75,33 @@ Hooks.once("setup", () => {
localizeSystemConfig() localizeSystemConfig()
}) })
Hooks.once("ready", () => { Hooks.once("ready", async () => {
console.info(`${SYSTEM_ID} | Ready`) console.info(`${SYSTEM_ID} | Ready`)
if (!game.user.isGM) return
if (game.scenes.getName("Map")) return
const pack = game.packs.get("fvtt-machine-gods-noxian-expanse.scenes")
if (!pack) {
console.warn(`${SYSTEM_ID} | Scenes compendium not found`)
return
}
const index = await pack.getIndex()
const entry = index.find(s => s.name === "Map")
if (!entry) {
console.warn(`${SYSTEM_ID} | Map scene not found in compendium`)
return
}
const doc = await pack.getDocument(entry._id)
if (doc) {
const scene = await Scene.create(doc.toObject(), { keepId: false })
if (scene) {
await scene.activate()
}
}
}) })
Hooks.on("deleteCombat", (combat) => { Hooks.on("deleteCombat", (combat) => {
@@ -146,6 +171,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}",
+71 -14
View File
@@ -19,7 +19,12 @@
.window-header { .window-header {
background: background:
linear-gradient(90deg, fade(@blood, 40%), fade(@ember, 18%) 25%, transparent 70%), linear-gradient(
90deg,
fade(@blood, 40%),
fade(@ember, 18%) 25%,
transparent 70%
),
linear-gradient(180deg, color-mix(in srgb, @bg-char 80%, black), @bg-void); linear-gradient(180deg, color-mix(in srgb, @bg-char 80%, black), @bg-void);
border-bottom: 1px solid fade(@gold-acid, 35%); border-bottom: 1px solid fade(@gold-acid, 35%);
color: @bone; color: @bone;
@@ -64,7 +69,11 @@
.window-content { .window-content {
background: background:
radial-gradient(circle at top left, fade(@ember, 12%), transparent 28%), radial-gradient(circle at top left, fade(@ember, 12%), transparent 28%),
radial-gradient(circle at top right, fade(@verdigris, 10%), transparent 24%), radial-gradient(
circle at top right,
fade(@verdigris, 10%),
transparent 24%
),
linear-gradient(180deg, fade(@bg-char, 30%), fade(@bg-void, 28%)), linear-gradient(180deg, fade(@bg-char, 30%), fade(@bg-void, 28%)),
url("@{page-bg-url}") center top / cover no-repeat, url("@{page-bg-url}") center top / cover no-repeat,
linear-gradient(180deg, @bg-char, @bg-void 120%); linear-gradient(180deg, @bg-char, @bg-void 120%);
@@ -107,8 +116,7 @@
border: 1px solid fade(@bone, 22%); border: 1px solid fade(@bone, 22%);
border-radius: @radius-sm; border-radius: @radius-sm;
background: background:
linear-gradient(180deg, fade(@bone, 4%), transparent 60%), linear-gradient(180deg, fade(@bone, 4%), transparent 60%), @bg-input;
@bg-input;
color: @parchment; color: @parchment;
padding: 0.4rem 0.52rem; padding: 0.4rem 0.52rem;
box-shadow: inset 0 1px 0 fade(white, 4%); box-shadow: inset 0 1px 0 fade(white, 4%);
@@ -116,7 +124,9 @@
&:focus { &:focus {
outline: none; outline: none;
border-color: fade(@ember-bright, 70%); border-color: fade(@ember-bright, 70%);
box-shadow: 0 0 0 1px fade(@ember-bright, 25%), inset 0 1px 0 fade(white, 6%); box-shadow:
0 0 0 1px fade(@ember-bright, 25%),
inset 0 1px 0 fade(white, 6%);
} }
} }
@@ -131,7 +141,10 @@
calc(100% - 11px) calc(50% - 2px), calc(100% - 11px) calc(50% - 2px),
calc(100% - 7px) calc(50% - 2px), calc(100% - 7px) calc(50% - 2px),
0 0; 0 0;
background-size: 4px 4px, 4px 4px, auto; background-size:
4px 4px,
4px 4px,
auto;
background-repeat: no-repeat; background-repeat: no-repeat;
} }
@@ -147,16 +160,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,
@@ -168,9 +192,18 @@
} }
.editor-content, .editor-content,
.ProseMirror { .ProseMirror {
p, li { color: lighten(@parchment, 8%); } p,
h1, h2, h3 { color: @gold-acid; } li {
.is-empty::before { color: fade(@gold-acid, 40%); } color: lighten(@parchment, 8%);
}
h1,
h2,
h3 {
color: @gold-acid;
}
.is-empty::before {
color: fade(@gold-acid, 40%);
}
} }
.editor-menu button { .editor-menu button {
color: @bone; color: @bone;
@@ -203,17 +236,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%);
} }
} }
@@ -243,3 +276,27 @@
opacity: 0.5; opacity: 0.5;
} }
} }
// ============================================================
// PAUSE OVERLAY — replace default Foundry spinner with system logo
// ============================================================
#pause {
& > img {
content: url("../assets/ui/machine_god_skull.png");
animation: none;
width: 260px;
height: auto;
filter: drop-shadow(0 0 18px rgba(0, 0, 0, 0.8));
}
figcaption {
font-family: @font-display;
font-size: 2rem;
font-weight: bold;
color: @label-ink;
text-shadow:
0 0 10px rgba(0, 0, 0, 0.9),
1px 1px 2px #000;
letter-spacing: 2px;
}
}
+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;
} }
+81 -34
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 {
@@ -647,6 +659,32 @@
@bg-panel-soft; @bg-panel-soft;
} }
// ─── Companion sheet label contrast ──────────────────────────────────────────
// Panel-shell backgrounds expose the parchment page texture; @bone caps labels
// blend into the warm background. Use dark ink — matching the character sheet's
// condition-label treatment.
.application.mgne.companion {
// Section headers (Attack, Adventuring/Combat Behavior, Description, Notes)
.inventory-header h3 {
color: @bg-char;
}
// Compact resource labels (Morale, Armor Die) — HP uses resource-label-accent and stays light
.resource-box > label:not(.resource-label-accent) {
color: @bg-char;
}
// Labels inside fieldsets (Label, Damage in the Attack section)
fieldset label {
color: @bg-char;
}
// Floating grid labels (They Value, Trait, Specialty)
.grid > div > label {
color: @bg-char;
}
}
@media (max-width: 960px) { @media (max-width: 960px) {
.application.mgne .sheet-header, .application.mgne .sheet-header,
.application.mgne .resource-bar, .application.mgne .resource-bar,
@@ -693,9 +731,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 +745,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 +786,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 +813,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 +826,7 @@
.item-name { .item-name {
text-decoration: line-through; text-decoration: line-through;
color: fade(@parchment, 55%); color: lighten(@parchment, 6%);
} }
} }
@@ -874,7 +912,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 +920,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 +1030,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 +1046,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;
@@ -1075,12 +1117,17 @@
&.drop-hint { &.drop-hint {
border: 2px dashed fade(@ember, 35%); border: 2px dashed fade(@ember, 35%);
background: fade(@ember, 4%); background: fade(@ember, 4%);
color: fade(@parchment, 50%); color: @parchment;
font-style: italic; font-style: italic;
justify-content: center; justify-content: center;
cursor: default; cursor: default;
transition: background 0.15s, border-color 0.15s; transition: background 0.15s, border-color 0.15s;
// Companion sheet: darker text for better contrast
.application.mgne.companion & {
color: @bg-char;
}
i { color: fade(@ember, 50%); } i { color: fade(@ember, 50%); }
&:hover, &.drag-over { &:hover, &.drag-over {
@@ -1100,9 +1147,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 +1158,8 @@
gap: 0.3em; gap: 0.3em;
&:hover { &:hover {
background: fade(@ember, 22%); background: fade(@ash, 22%);
color: @ember; color: @bone;
} }
} }
} }
@@ -1241,7 +1288,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 +1296,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;
} }
@@ -1308,7 +1355,7 @@
// ── Party drop hint ──────────────────────────────────────────── // ── Party drop hint ────────────────────────────────────────────
.application.mgne.party .party-drop-hint { .application.mgne.party .party-drop-hint {
color: fade(@dust, 70%); color: @parchment;
font-size: 0.75rem; font-size: 0.75rem;
font-style: italic; font-style: italic;
text-align: center; text-align: center;
+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-000073
+15 -8
View File
@@ -1,8 +1,15 @@
2026/05/19-11:43:58.491683 7f5a477fe6c0 Recovering log #32 2026/06/02-19:43:31.530779 7f2215bfe6c0 Recovering log #70
2026/05/19-11:43:58.503266 7f5a477fe6c0 Delete type=3 #30 2026/06/02-19:43:31.541230 7f2215bfe6c0 Delete type=3 #68
2026/05/19-11:43:58.503328 7f5a477fe6c0 Delete type=0 #32 2026/06/02-19:43:31.541267 7f2215bfe6c0 Delete type=0 #70
2026/05/19-13:29:47.340536 7f5a467fc6c0 Level-0 table #38: started 2026/06/02-19:44:40.424603 7f1ff7fff6c0 Level-0 table #76: started
2026/05/19-13:29:47.344381 7f5a467fc6c0 Level-0 table #38: 1354 bytes OK 2026/06/02-19:44:40.428039 7f1ff7fff6c0 Level-0 table #76: 1354 bytes OK
2026/05/19-13:29:47.350519 7f5a467fc6c0 Delete type=0 #36 2026/06/02-19:44:40.435632 7f1ff7fff6c0 Delete type=0 #74
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/06/02-19:44:40.446442 7f1ff7fff6c0 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/06/02-19:44:40.446598 7f1ff7fff6c0 Manual compaction at level-1 from '!items!mgne-arm-chainshirt' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 122 : 1
2026/06/02-19:44:40.446608 7f1ff7fff6c0 Compacting 1@1 + 1@2 files
2026/06/02-19:44:40.449973 7f1ff7fff6c0 Generated table #77@1: 1 keys, 685 bytes
2026/06/02-19:44:40.450003 7f1ff7fff6c0 Compacted 1@1 + 1@2 files => 685 bytes
2026/06/02-19:44:40.456735 7f1ff7fff6c0 compacted to: files[ 0 0 2 0 0 0 0 ]
2026/06/02-19:44:40.457031 7f1ff7fff6c0 Delete type=2 #72
2026/06/02-19:44:40.457165 7f1ff7fff6c0 Delete type=2 #76
2026/06/02-19:44:40.489581 7f1ff7fff6c0 Manual compaction at level-1 from '!items!null' @ 122 : 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/06/02-19:38:41.359950 7f22153fd6c0 Recovering log #65
2026/05/19-11:02:18.779483 7f8fcb7fe6c0 Delete type=3 #25 2026/06/02-19:38:41.370323 7f22153fd6c0 Delete type=3 #63
2026/05/19-11:02:18.779537 7f8fcb7fe6c0 Delete type=0 #27 2026/06/02-19:38:41.370382 7f22153fd6c0 Delete type=0 #65
2026/05/19-11:02:18.787924 7f8fcaffd6c0 Level-0 table #33: started 2026/06/02-19:38:52.219787 7f1ff7fff6c0 Level-0 table #71: started
2026/05/19-11:02:18.791070 7f8fcaffd6c0 Level-0 table #33: 1193 bytes OK 2026/06/02-19:38:52.223074 7f1ff7fff6c0 Level-0 table #71: 1354 bytes OK
2026/05/19-11:02:18.797355 7f8fcaffd6c0 Delete type=0 #31 2026/06/02-19:38:52.230583 7f1ff7fff6c0 Delete type=0 #69
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/06/02-19:38:52.237087 7f1ff7fff6c0 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/06/02-19:38:52.249096 7f1ff7fff6c0 Manual compaction at level-1 from '!items!mgne-arm-chainshirt' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 114 : 1
2026/05/19-11:02:18.797659 7f8fcaffd6c0 Compacting 1@1 + 2@2 files 2026/06/02-19:38:52.249106 7f1ff7fff6c0 Compacting 1@1 + 1@2 files
2026/05/19-11:02:18.800889 7f8fcaffd6c0 Generated table #34@1: 8 keys, 1176 bytes 2026/06/02-19:38:52.252924 7f1ff7fff6c0 Generated table #72@1: 1 keys, 685 bytes
2026/05/19-11:02:18.800920 7f8fcaffd6c0 Compacted 1@1 + 2@2 files => 1176 bytes 2026/06/02-19:38:52.252947 7f1ff7fff6c0 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/06/02-19:38:52.259084 7f1ff7fff6c0 compacted to: files[ 0 0 2 0 0 0 0 ]
2026/05/19-11:02:18.808063 7f8fcaffd6c0 Delete type=2 #5 2026/06/02-19:38:52.259162 7f1ff7fff6c0 Delete type=2 #67
2026/05/19-11:02:18.808159 7f8fcaffd6c0 Delete type=2 #29 2026/06/02-19:38:52.259309 7f1ff7fff6c0 Delete type=2 #71
2026/05/19-11:02:18.808228 7f8fcaffd6c0 Delete type=2 #33 2026/06/02-19:38:52.273606 7f1ff7fff6c0 Manual compaction at level-1 from '!items!null' @ 114 : 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-000073
+15 -8
View File
@@ -1,8 +1,15 @@
2026/05/19-11:43:58.466515 7f5a47fff6c0 Recovering log #32 2026/06/02-19:43:31.502187 7f22153fd6c0 Recovering log #70
2026/05/19-11:43:58.477301 7f5a47fff6c0 Delete type=3 #30 2026/06/02-19:43:31.512581 7f22153fd6c0 Delete type=3 #68
2026/05/19-11:43:58.477387 7f5a47fff6c0 Delete type=0 #32 2026/06/02-19:43:31.512620 7f22153fd6c0 Delete type=0 #70
2026/05/19-13:29:47.310841 7f5a467fc6c0 Level-0 table #38: started 2026/06/02-19:44:40.413927 7f1ff7fff6c0 Level-0 table #76: started
2026/05/19-13:29:47.314286 7f5a467fc6c0 Level-0 table #38: 4899 bytes OK 2026/06/02-19:44:40.417618 7f1ff7fff6c0 Level-0 table #76: 4899 bytes OK
2026/05/19-13:29:47.320795 7f5a467fc6c0 Delete type=0 #36 2026/06/02-19:44:40.424469 7f1ff7fff6c0 Delete type=0 #74
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/06/02-19:44:40.446430 7f1ff7fff6c0 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/06/02-19:44:40.468275 7f1ff7fff6c0 Manual compaction at level-1 from '!actors!mgne-comp-beguiled-noble' @ 72057594037927935 : 1 .. '!actors!null' @ 0 : 0; will stop at '!actors!null' @ 62 : 1
2026/06/02-19:44:40.468288 7f1ff7fff6c0 Compacting 1@1 + 1@2 files
2026/06/02-19:44:40.471670 7f1ff7fff6c0 Generated table #77@1: 1 keys, 1984 bytes
2026/06/02-19:44:40.471701 7f1ff7fff6c0 Compacted 1@1 + 1@2 files => 1984 bytes
2026/06/02-19:44:40.477948 7f1ff7fff6c0 compacted to: files[ 0 0 2 0 0 0 0 ]
2026/06/02-19:44:40.478072 7f1ff7fff6c0 Delete type=2 #72
2026/06/02-19:44:40.478253 7f1ff7fff6c0 Delete type=2 #76
2026/06/02-19:44:40.489611 7f1ff7fff6c0 Manual compaction at level-1 from '!actors!null' @ 62 : 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/06/02-19:38:41.329254 7f2214bfc6c0 Recovering log #65
2026/05/19-11:02:18.819291 7f8fcb7fe6c0 Delete type=3 #25 2026/06/02-19:38:41.339373 7f2214bfc6c0 Delete type=3 #63
2026/05/19-11:02:18.819384 7f8fcb7fe6c0 Delete type=0 #27 2026/06/02-19:38:41.339444 7f2214bfc6c0 Delete type=0 #65
2026/05/19-11:02:18.822817 7f8fcaffd6c0 Level-0 table #33: started 2026/06/02-19:38:52.118810 7f1ff7fff6c0 Level-0 table #71: started
2026/05/19-11:02:18.826056 7f8fcaffd6c0 Level-0 table #33: 2612 bytes OK 2026/06/02-19:38:52.123075 7f1ff7fff6c0 Level-0 table #71: 4899 bytes OK
2026/05/19-11:02:18.832282 7f8fcaffd6c0 Delete type=0 #31 2026/06/02-19:38:52.130714 7f1ff7fff6c0 Delete type=0 #69
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/06/02-19:38:52.153910 7f1ff7fff6c0 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/06/02-19:38:52.189284 7f1ff7fff6c0 Manual compaction at level-1 from '!actors!mgne-comp-beguiled-noble' @ 72057594037927935 : 1 .. '!actors!null' @ 0 : 0; will stop at '!actors!null' @ 58 : 1
2026/05/19-11:02:18.832498 7f8fcaffd6c0 Compacting 1@1 + 2@2 files 2026/06/02-19:38:52.189297 7f1ff7fff6c0 Compacting 1@1 + 1@2 files
2026/05/19-11:02:18.836012 7f8fcaffd6c0 Generated table #34@1: 4 keys, 2597 bytes 2026/06/02-19:38:52.193815 7f1ff7fff6c0 Generated table #72@1: 1 keys, 1984 bytes
2026/05/19-11:02:18.836038 7f8fcaffd6c0 Compacted 1@1 + 2@2 files => 2597 bytes 2026/06/02-19:38:52.193845 7f1ff7fff6c0 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/06/02-19:38:52.200660 7f1ff7fff6c0 compacted to: files[ 0 0 2 0 0 0 0 ]
2026/05/19-11:02:18.842559 7f8fcaffd6c0 Delete type=2 #5 2026/06/02-19:38:52.200784 7f1ff7fff6c0 Delete type=2 #67
2026/05/19-11:02:18.842644 7f8fcaffd6c0 Delete type=2 #29 2026/06/02-19:38:52.200926 7f1ff7fff6c0 Delete type=2 #71
2026/05/19-11:02:18.842691 7f8fcaffd6c0 Delete type=2 #33 2026/06/02-19:38:52.201085 7f1ff7fff6c0 Manual compaction at level-1 from '!actors!null' @ 58 : 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-000073
+15 -8
View File
@@ -1,8 +1,15 @@
2026/05/19-11:43:58.453269 7f5a94bff6c0 Recovering log #32 2026/06/02-19:43:31.488540 7f2215bfe6c0 Recovering log #70
2026/05/19-11:43:58.463527 7f5a94bff6c0 Delete type=3 #30 2026/06/02-19:43:31.498827 7f2215bfe6c0 Delete type=3 #68
2026/05/19-11:43:58.463573 7f5a94bff6c0 Delete type=0 #32 2026/06/02-19:43:31.498873 7f2215bfe6c0 Delete type=0 #70
2026/05/19-13:29:47.301133 7f5a467fc6c0 Level-0 table #38: started 2026/06/02-19:44:40.435761 7f1ff7fff6c0 Level-0 table #76: started
2026/05/19-13:29:47.304584 7f5a467fc6c0 Level-0 table #38: 10414 bytes OK 2026/06/02-19:44:40.439546 7f1ff7fff6c0 Level-0 table #76: 10405 bytes OK
2026/05/19-13:29:47.310712 7f5a467fc6c0 Delete type=0 #36 2026/06/02-19:44:40.446253 7f1ff7fff6c0 Delete type=0 #74
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/06/02-19:44:40.446564 7f1ff7fff6c0 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/06/02-19:44:40.478358 7f1ff7fff6c0 Manual compaction at level-1 from '!items!mgne-feat-11' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 542 : 1
2026/06/02-19:44:40.478373 7f1ff7fff6c0 Compacting 1@1 + 1@2 files
2026/06/02-19:44:40.482365 7f1ff7fff6c0 Generated table #77@1: 1 keys, 728 bytes
2026/06/02-19:44:40.482397 7f1ff7fff6c0 Compacted 1@1 + 1@2 files => 728 bytes
2026/06/02-19:44:40.489232 7f1ff7fff6c0 compacted to: files[ 0 0 2 0 0 0 0 ]
2026/06/02-19:44:40.489356 7f1ff7fff6c0 Delete type=2 #72
2026/06/02-19:44:40.489491 7f1ff7fff6c0 Delete type=2 #76
2026/06/02-19:44:40.489825 7f1ff7fff6c0 Manual compaction at level-1 from '!items!null' @ 542 : 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/06/02-19:38:41.313392 7f22163ff6c0 Recovering log #65
2026/05/19-11:02:18.853625 7f8fcb7fe6c0 Delete type=3 #25 2026/06/02-19:38:41.325409 7f22163ff6c0 Delete type=3 #63
2026/05/19-11:02:18.853672 7f8fcb7fe6c0 Delete type=0 #27 2026/06/02-19:38:41.325473 7f22163ff6c0 Delete type=0 #65
2026/05/19-11:02:18.858431 7f8fcaffd6c0 Level-0 table #33: started 2026/06/02-19:38:52.130850 7f1ff7fff6c0 Level-0 table #71: started
2026/05/19-11:02:18.861570 7f8fcaffd6c0 Level-0 table #33: 8690 bytes OK 2026/06/02-19:38:52.134936 7f1ff7fff6c0 Level-0 table #71: 10410 bytes OK
2026/05/19-11:02:18.868803 7f8fcaffd6c0 Delete type=0 #31 2026/06/02-19:38:52.141805 7f1ff7fff6c0 Delete type=0 #69
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/06/02-19:38:52.153922 7f1ff7fff6c0 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/06/02-19:38:52.177911 7f1ff7fff6c0 Manual compaction at level-1 from '!items!mgne-feat-11' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 506 : 1
2026/05/19-11:02:18.869112 7f8fcaffd6c0 Compacting 1@1 + 2@2 files 2026/06/02-19:38:52.177922 7f1ff7fff6c0 Compacting 1@1 + 1@2 files
2026/05/19-11:02:18.872810 7f8fcaffd6c0 Generated table #34@1: 36 keys, 8674 bytes 2026/06/02-19:38:52.181665 7f1ff7fff6c0 Generated table #72@1: 1 keys, 728 bytes
2026/05/19-11:02:18.872822 7f8fcaffd6c0 Compacted 1@1 + 2@2 files => 8674 bytes 2026/06/02-19:38:52.181698 7f1ff7fff6c0 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/06/02-19:38:52.188934 7f1ff7fff6c0 compacted to: files[ 0 0 2 0 0 0 0 ]
2026/05/19-11:02:18.878610 7f8fcaffd6c0 Delete type=2 #5 2026/06/02-19:38:52.189052 7f1ff7fff6c0 Delete type=2 #67
2026/05/19-11:02:18.878700 7f8fcaffd6c0 Delete type=2 #29 2026/06/02-19:38:52.189189 7f1ff7fff6c0 Delete type=2 #71
2026/05/19-11:02:18.878747 7f8fcaffd6c0 Delete type=2 #33 2026/06/02-19:38:52.201050 7f1ff7fff6c0 Manual compaction at level-1 from '!items!null' @ 506 : 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-000075
+15 -15
View File
@@ -1,15 +1,15 @@
2026/05/19-11:43:58.505418 7f5a46ffd6c0 Recovering log #33 2026/06/02-19:43:31.544375 7f22153fd6c0 Recovering log #72
2026/05/19-11:43:58.516284 7f5a46ffd6c0 Delete type=3 #31 2026/06/02-19:43:31.554816 7f22153fd6c0 Delete type=3 #70
2026/05/19-11:43:58.516350 7f5a46ffd6c0 Delete type=0 #33 2026/06/02-19:43:31.554878 7f22153fd6c0 Delete type=0 #72
2026/05/19-13:29:47.350654 7f5a467fc6c0 Level-0 table #39: started 2026/06/02-19:44:40.500606 7f1ff7fff6c0 Level-0 table #78: started
2026/05/19-13:29:47.354446 7f5a467fc6c0 Level-0 table #39: 31043 bytes OK 2026/06/02-19:44:40.505562 7f1ff7fff6c0 Level-0 table #78: 36499 bytes OK
2026/05/19-13:29:47.361835 7f5a467fc6c0 Delete type=0 #37 2026/06/02-19:44:40.512075 7f1ff7fff6c0 Delete type=0 #76
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/06/02-19:44:40.526628 7f1ff7fff6c0 Manual compaction at level-0 from '!tables!mgne-tbl-armor' @ 72057594037927935 : 1 .. '!tables.results!zjAZ7bctIvTyKfff' @ 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/06/02-19:44:40.526936 7f1ff7fff6c0 Manual compaction at level-1 from '!tables!mgne-tbl-armor' @ 72057594037927935 : 1 .. '!tables.results!zjAZ7bctIvTyKfff' @ 0 : 0; will stop at '!tables.results!zjAZ7bctIvTyKfff' @ 6129 : 1
2026/05/19-13:29:47.378921 7f5a467fc6c0 Compacting 1@1 + 1@2 files 2026/06/02-19:44:40.526943 7f1ff7fff6c0 Compacting 1@1 + 1@2 files
2026/05/19-13:29:47.383027 7f5a467fc6c0 Generated table #40@1: 436 keys, 40533 bytes 2026/06/02-19:44:40.531590 7f1ff7fff6c0 Generated table #79@1: 436 keys, 40570 bytes
2026/05/19-13:29:47.383047 7f5a467fc6c0 Compacted 1@1 + 1@2 files => 40533 bytes 2026/06/02-19:44:40.531624 7f1ff7fff6c0 Compacted 1@1 + 1@2 files => 40570 bytes
2026/05/19-13:29:47.389114 7f5a467fc6c0 compacted to: files[ 0 0 1 0 0 0 0 ] 2026/06/02-19:44:40.538399 7f1ff7fff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2026/05/19-13:29:47.389270 7f5a467fc6c0 Delete type=2 #35 2026/06/02-19:44:40.538517 7f1ff7fff6c0 Delete type=2 #74
2026/05/19-13:29:47.389435 7f5a467fc6c0 Delete type=2 #39 2026/06/02-19:44:40.538677 7f1ff7fff6c0 Delete type=2 #78
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/06/02-19:44:40.564184 7f1ff7fff6c0 Manual compaction at level-1 from '!tables.results!zjAZ7bctIvTyKfff' @ 6129 : 1 .. '!tables.results!zjAZ7bctIvTyKfff' @ 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/06/02-19:38:41.373993 7f2214bfc6c0 Recovering log #67
2026/05/19-11:02:18.890669 7f8fcb7fe6c0 Delete type=3 #26 2026/06/02-19:38:41.384841 7f2214bfc6c0 Delete type=3 #65
2026/05/19-11:02:18.890721 7f8fcb7fe6c0 Delete type=0 #28 2026/06/02-19:38:41.384906 7f2214bfc6c0 Delete type=0 #67
2026/05/19-11:02:18.903169 7f8fcaffd6c0 Level-0 table #34: started 2026/06/02-19:38:52.207992 7f1ff7fff6c0 Level-0 table #73: started
2026/05/19-11:02:18.906993 7f8fcaffd6c0 Level-0 table #34: 20747 bytes OK 2026/06/02-19:38:52.212811 7f1ff7fff6c0 Level-0 table #73: 36337 bytes OK
2026/05/19-11:02:18.913179 7f8fcaffd6c0 Delete type=0 #32 2026/06/02-19:38:52.219611 7f1ff7fff6c0 Delete type=0 #71
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/06/02-19:38:52.237075 7f1ff7fff6c0 Manual compaction at level-0 from '!tables!mgne-tbl-armor' @ 72057594037927935 : 1 .. '!tables.results!zDBA2MM7O4aGPzvj' @ 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/06/02-19:38:52.237220 7f1ff7fff6c0 Manual compaction at level-1 from '!tables!mgne-tbl-armor' @ 72057594037927935 : 1 .. '!tables.results!zDBA2MM7O4aGPzvj' @ 0 : 0; will stop at '!tables.results!zujdTVEcOrMemrQK' @ 5671 : 0
2026/05/19-11:02:18.913369 7f8fcaffd6c0 Compacting 1@1 + 1@2 files 2026/06/02-19:38:52.237225 7f1ff7fff6c0 Compacting 1@1 + 1@2 files
2026/05/19-11:02:18.916838 7f8fcaffd6c0 Generated table #35@1: 225 keys, 15451 bytes 2026/06/02-19:38:52.241483 7f1ff7fff6c0 Generated table #74@1: 436 keys, 40329 bytes
2026/05/19-11:02:18.916863 7f8fcaffd6c0 Compacted 1@1 + 1@2 files => 15451 bytes 2026/06/02-19:38:52.241507 7f1ff7fff6c0 Compacted 1@1 + 1@2 files => 40329 bytes
2026/05/19-11:02:18.924177 7f8fcaffd6c0 compacted to: files[ 0 0 1 0 0 0 0 ] 2026/06/02-19:38:52.248771 7f1ff7fff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
2026/05/19-11:02:18.924301 7f8fcaffd6c0 Delete type=2 #30 2026/06/02-19:38:52.248884 7f1ff7fff6c0 Delete type=2 #69
2026/05/19-11:02:18.924433 7f8fcaffd6c0 Delete type=2 #34 2026/06/02-19:38:52.249011 7f1ff7fff6c0 Delete type=2 #73
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/06/02-19:38:52.273586 7f1ff7fff6c0 Manual compaction at level-1 from '!tables.results!zujdTVEcOrMemrQK' @ 5671 : 0 .. '!tables.results!zDBA2MM7O4aGPzvj' @ 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-000073
+15 -8
View File
@@ -1,8 +1,15 @@
2026/05/19-11:43:58.439933 7f5a47fff6c0 Recovering log #32 2026/06/02-19:43:31.473126 7f22163ff6c0 Recovering log #70
2026/05/19-11:43:58.449841 7f5a47fff6c0 Delete type=3 #30 2026/06/02-19:43:31.484666 7f22163ff6c0 Delete type=3 #68
2026/05/19-11:43:58.449917 7f5a47fff6c0 Delete type=0 #32 2026/06/02-19:43:31.484705 7f22163ff6c0 Delete type=0 #70
2026/05/19-13:29:47.320927 7f5a467fc6c0 Level-0 table #38: started 2026/06/02-19:44:40.402774 7f1ff7fff6c0 Level-0 table #76: started
2026/05/19-13:29:47.324319 7f5a467fc6c0 Level-0 table #38: 7117 bytes OK 2026/06/02-19:44:40.407015 7f1ff7fff6c0 Level-0 table #76: 7108 bytes OK
2026/05/19-13:29:47.330350 7f5a467fc6c0 Delete type=0 #36 2026/06/02-19:44:40.413760 7f1ff7fff6c0 Delete type=0 #74
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/06/02-19:44:40.446409 7f1ff7fff6c0 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/06/02-19:44:40.457226 7f1ff7fff6c0 Manual compaction at level-1 from '!items!mgne-res-accelerate' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 302 : 1
2026/06/02-19:44:40.457235 7f1ff7fff6c0 Compacting 1@1 + 1@2 files
2026/06/02-19:44:40.461196 7f1ff7fff6c0 Generated table #77@1: 1 keys, 911 bytes
2026/06/02-19:44:40.461226 7f1ff7fff6c0 Compacted 1@1 + 1@2 files => 911 bytes
2026/06/02-19:44:40.467956 7f1ff7fff6c0 compacted to: files[ 0 0 2 0 0 0 0 ]
2026/06/02-19:44:40.468078 7f1ff7fff6c0 Delete type=2 #72
2026/06/02-19:44:40.468198 7f1ff7fff6c0 Delete type=2 #76
2026/06/02-19:44:40.489599 7f1ff7fff6c0 Manual compaction at level-1 from '!items!null' @ 302 : 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/06/02-19:38:41.298101 7f2214bfc6c0 Recovering log #65
2026/05/19-11:02:18.934880 7f9018bfe6c0 Delete type=3 #25 2026/06/02-19:38:41.309083 7f2214bfc6c0 Delete type=3 #63
2026/05/19-11:02:18.934945 7f9018bfe6c0 Delete type=0 #27 2026/06/02-19:38:41.309147 7f2214bfc6c0 Delete type=0 #65
2026/05/19-11:02:18.938495 7f8fcaffd6c0 Level-0 table #33: started 2026/06/02-19:38:52.107907 7f1ff7fff6c0 Level-0 table #71: started
2026/05/19-11:02:18.941974 7f8fcaffd6c0 Level-0 table #33: 6054 bytes OK 2026/06/02-19:38:52.112019 7f1ff7fff6c0 Level-0 table #71: 7108 bytes OK
2026/05/19-11:02:18.949380 7f8fcaffd6c0 Delete type=0 #31 2026/06/02-19:38:52.118652 7f1ff7fff6c0 Delete type=0 #69
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/06/02-19:38:52.153887 7f1ff7fff6c0 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/06/02-19:38:52.153996 7f1ff7fff6c0 Manual compaction at level-1 from '!items!mgne-res-accelerate' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 282 : 1
2026/05/19-11:02:18.949641 7f8fcaffd6c0 Compacting 1@1 + 2@2 files 2026/06/02-19:38:52.154006 7f1ff7fff6c0 Compacting 1@1 + 1@2 files
2026/05/19-11:02:18.953049 7f8fcaffd6c0 Generated table #34@1: 20 keys, 6039 bytes 2026/06/02-19:38:52.157685 7f1ff7fff6c0 Generated table #72@1: 1 keys, 911 bytes
2026/05/19-11:02:18.953070 7f8fcaffd6c0 Compacted 1@1 + 2@2 files => 6039 bytes 2026/06/02-19:38:52.157721 7f1ff7fff6c0 Compacted 1@1 + 1@2 files => 911 bytes
2026/05/19-11:02:18.958965 7f8fcaffd6c0 compacted to: files[ 0 0 1 0 0 0 0 ] 2026/06/02-19:38:52.164744 7f1ff7fff6c0 compacted to: files[ 0 0 2 0 0 0 0 ]
2026/05/19-11:02:18.959068 7f8fcaffd6c0 Delete type=2 #5 2026/06/02-19:38:52.165117 7f1ff7fff6c0 Delete type=2 #67
2026/05/19-11:02:18.959179 7f8fcaffd6c0 Delete type=2 #29 2026/06/02-19:38:52.165250 7f1ff7fff6c0 Delete type=2 #71
2026/05/19-11:02:18.959228 7f8fcaffd6c0 Delete type=2 #33 2026/06/02-19:38:52.201019 7f1ff7fff6c0 Manual compaction at level-1 from '!items!null' @ 282 : 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.
+1
View File
@@ -0,0 +1 @@
MANIFEST-000010
View File
+8
View File
@@ -0,0 +1,8 @@
2026/06/02-19:43:31.609465 7f22153fd6c0 Recovering log #8
2026/06/02-19:43:31.620427 7f22153fd6c0 Delete type=3 #6
2026/06/02-19:43:31.620485 7f22153fd6c0 Delete type=0 #8
2026/06/02-19:44:40.512258 7f1ff7fff6c0 Level-0 table #13: started
2026/06/02-19:44:40.512300 7f1ff7fff6c0 Level-0 table #13: 0 bytes OK
2026/06/02-19:44:40.519094 7f1ff7fff6c0 Delete type=0 #11
2026/06/02-19:44:40.526642 7f1ff7fff6c0 Manual compaction at level-0 from '!scenes!D6yaY8sk0WN8mCr5' @ 72057594037927935 : 1 .. '!scenes.levels!D6yaY8sk0WN8mCr5.defaultLevel0000' @ 0 : 0; will stop at (end)
2026/06/02-19:44:40.526909 7f1ff7fff6c0 Manual compaction at level-1 from '!scenes!D6yaY8sk0WN8mCr5' @ 72057594037927935 : 1 .. '!scenes.levels!D6yaY8sk0WN8mCr5.defaultLevel0000' @ 0 : 0; will stop at (end)
+8
View File
@@ -0,0 +1,8 @@
2026/06/02-19:38:41.450683 7f2214bfc6c0 Recovering log #4
2026/06/02-19:38:41.462030 7f2214bfc6c0 Delete type=3 #2
2026/06/02-19:38:41.462080 7f2214bfc6c0 Delete type=0 #4
2026/06/02-19:38:52.230748 7f1ff7fff6c0 Level-0 table #9: started
2026/06/02-19:38:52.230780 7f1ff7fff6c0 Level-0 table #9: 0 bytes OK
2026/06/02-19:38:52.236951 7f1ff7fff6c0 Delete type=0 #7
2026/06/02-19:38:52.237131 7f1ff7fff6c0 Manual compaction at level-0 from '!scenes!D6yaY8sk0WN8mCr5' @ 72057594037927935 : 1 .. '!scenes.levels!D6yaY8sk0WN8mCr5.defaultLevel0000' @ 0 : 0; will stop at (end)
2026/06/02-19:38:52.237146 7f1ff7fff6c0 Manual compaction at level-1 from '!scenes!D6yaY8sk0WN8mCr5' @ 72057594037927935 : 1 .. '!scenes.levels!D6yaY8sk0WN8mCr5.defaultLevel0000' @ 0 : 0; will stop at (end)
Binary file not shown.
Binary file not shown.
View File
Binary file not shown.
+1 -1
View File
@@ -1 +1 @@
MANIFEST-000035 MANIFEST-000073
+15 -8
View File
@@ -1,8 +1,15 @@
2026/05/19-11:43:58.479956 7f5a47fff6c0 Recovering log #32 2026/06/02-19:43:31.516359 7f22153fd6c0 Recovering log #70
2026/05/19-11:43:58.489548 7f5a47fff6c0 Delete type=3 #30 2026/06/02-19:43:31.527478 7f22153fd6c0 Delete type=3 #68
2026/05/19-11:43:58.489595 7f5a47fff6c0 Delete type=0 #32 2026/06/02-19:43:31.527540 7f22153fd6c0 Delete type=0 #70
2026/05/19-13:29:47.330472 7f5a467fc6c0 Level-0 table #38: started 2026/06/02-19:44:40.489853 7f1ff7fff6c0 Level-0 table #76: started
2026/05/19-13:29:47.333528 7f5a467fc6c0 Level-0 table #38: 1965 bytes OK 2026/06/02-19:44:40.493463 7f1ff7fff6c0 Level-0 table #76: 1965 bytes OK
2026/05/19-13:29:47.340237 7f5a467fc6c0 Delete type=0 #36 2026/06/02-19:44:40.500444 7f1ff7fff6c0 Delete type=0 #74
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/06/02-19:44:40.526600 7f1ff7fff6c0 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/06/02-19:44:40.538777 7f1ff7fff6c0 Manual compaction at level-1 from '!items!mgne-wpn-club' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 182 : 1
2026/06/02-19:44:40.538789 7f1ff7fff6c0 Compacting 1@1 + 1@2 files
2026/06/02-19:44:40.542122 7f1ff7fff6c0 Generated table #77@1: 1 keys, 626 bytes
2026/06/02-19:44:40.542154 7f1ff7fff6c0 Compacted 1@1 + 1@2 files => 626 bytes
2026/06/02-19:44:40.549101 7f1ff7fff6c0 compacted to: files[ 0 0 2 0 0 0 0 ]
2026/06/02-19:44:40.549243 7f1ff7fff6c0 Delete type=2 #72
2026/06/02-19:44:40.549396 7f1ff7fff6c0 Delete type=2 #76
2026/06/02-19:44:40.564205 7f1ff7fff6c0 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.960160 7f9018bfe6c0 Recovering log #27 2026/06/02-19:38:41.343792 7f2214bfc6c0 Recovering log #65
2026/05/19-11:02:18.971164 7f9018bfe6c0 Delete type=3 #25 2026/06/02-19:38:41.356079 7f2214bfc6c0 Delete type=3 #63
2026/05/19-11:02:18.971219 7f9018bfe6c0 Delete type=0 #27 2026/06/02-19:38:41.356142 7f2214bfc6c0 Delete type=0 #65
2026/05/19-11:02:18.972967 7f8fcaffd6c0 Level-0 table #33: started 2026/06/02-19:38:52.141944 7f1ff7fff6c0 Level-0 table #71: started
2026/05/19-11:02:18.976102 7f8fcaffd6c0 Level-0 table #33: 1312 bytes OK 2026/06/02-19:38:52.145396 7f1ff7fff6c0 Level-0 table #71: 1965 bytes OK
2026/05/19-11:02:18.983166 7f8fcaffd6c0 Delete type=0 #31 2026/06/02-19:38:52.153716 7f1ff7fff6c0 Delete type=0 #69
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/06/02-19:38:52.153970 7f1ff7fff6c0 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/06/02-19:38:52.165354 7f1ff7fff6c0 Manual compaction at level-1 from '!items!mgne-wpn-club' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 170 : 1
2026/05/19-11:02:18.983398 7f8fcaffd6c0 Compacting 1@1 + 2@2 files 2026/06/02-19:38:52.165366 7f1ff7fff6c0 Compacting 1@1 + 1@2 files
2026/05/19-11:02:18.987181 7f8fcaffd6c0 Generated table #34@1: 12 keys, 1295 bytes 2026/06/02-19:38:52.169864 7f1ff7fff6c0 Generated table #72@1: 1 keys, 626 bytes
2026/05/19-11:02:18.987209 7f8fcaffd6c0 Compacted 1@1 + 2@2 files => 1295 bytes 2026/06/02-19:38:52.169895 7f1ff7fff6c0 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/06/02-19:38:52.177600 7f1ff7fff6c0 compacted to: files[ 0 0 2 0 0 0 0 ]
2026/05/19-11:02:18.993426 7f8fcaffd6c0 Delete type=2 #5 2026/06/02-19:38:52.177705 7f1ff7fff6c0 Delete type=2 #67
2026/05/19-11:02:18.993528 7f8fcaffd6c0 Delete type=2 #29 2026/06/02-19:38:52.177829 7f1ff7fff6c0 Delete type=2 #71
2026/05/19-11:02:18.993593 7f8fcaffd6c0 Delete type=2 #33 2026/06/02-19:38:52.201037 7f1ff7fff6c0 Manual compaction at level-1 from '!items!null' @ 170 : 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.
+8
View File
@@ -135,6 +135,13 @@
"path": "packs-system/names", "path": "packs-system/names",
"type": "RollTable", "type": "RollTable",
"system": "fvtt-machine-gods-noxian-expanse" "system": "fvtt-machine-gods-noxian-expanse"
},
{
"name": "scenes",
"label": "Scenes",
"path": "packs-system/scenes",
"type": "Scene",
"system": "fvtt-machine-gods-noxian-expanse"
} }
], ],
"grid": { "grid": {
@@ -144,6 +151,7 @@
"url": "https://www.uberwald.me/gitea/uberwald/fvtt-machine-gods-noxian-expanse", "url": "https://www.uberwald.me/gitea/uberwald/fvtt-machine-gods-noxian-expanse",
"manifest": "https://www.uberwald.me/gitea/uberwald/fvtt-machine-gods-noxian-expanse/raw/branch/main/system.json", "manifest": "https://www.uberwald.me/gitea/uberwald/fvtt-machine-gods-noxian-expanse/raw/branch/main/system.json",
"download": "https://www.uberwald.me/gitea/uberwald/fvtt-machine-gods-noxian-expanse/releases/download/latest/fvtt-machine-gods-noxian-expanse.zip", "download": "https://www.uberwald.me/gitea/uberwald/fvtt-machine-gods-noxian-expanse/releases/download/latest/fvtt-machine-gods-noxian-expanse.zip",
"background": "systems/fvtt-machine-gods-noxian-expanse/assets/scenes/The Noxian Expanse NO GRID r1.webp",
"primaryTokenAttribute": "hp", "primaryTokenAttribute": "hp",
"socket": false "socket": false
} }
+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>