Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6a0f43d45a | |||
| 19f8e6484d | |||
| 1286ca663e | |||
| 3fe5df7390 | |||
| 9ee6545a3c | |||
| 3851a38c9f | |||
| 7623123bb5 |
@@ -50,13 +50,13 @@ jobs:
|
|||||||
system.json
|
system.json
|
||||||
api_key: "${{secrets.ALLOW_PUSH_RELEASE}}"
|
api_key: "${{secrets.ALLOW_PUSH_RELEASE}}"
|
||||||
|
|
||||||
#- name: Publish to Foundry server
|
- name: Publish to Foundry server
|
||||||
# uses: djlechuck/foundryvtt-publish-package-action@v1
|
uses: djlechuck/foundryvtt-publish-package-action@v1
|
||||||
# with:
|
with:
|
||||||
# token: ${{ secrets.FOUNDRYVTT_RELEASE_TOKEN }}
|
token: ${{ secrets.FOUNDRYVTT_RELEASE_TOKEN }}
|
||||||
# id: fvtt-machine-gods-noxian-expanse
|
id: fvtt-machine-gods-noxian-expanse
|
||||||
# version: ${{github.event.release.tag_name}}
|
version: ${{github.event.release.tag_name}}
|
||||||
# manifest: 'https://www.uberwald.me/gitea/public/uberwald/fvtt-machine-gods-noxian-expanse/releases/download/latest/system.json'
|
manifest: 'https://www.uberwald.me/gitea/uberwald/fvtt-machine-gods-noxian-expanse/releases/download/${{github.event.release.tag_name}}/system.json'
|
||||||
# notes: 'https://www.uberwald.me/gitea/uberwald/fvtt-machine-gods-noxian-expanse/releases/download/${{github.event.release.tag_name}}/fvtt-machine-gods-noxian-expanse.zip'
|
notes: 'https://www.uberwald.me/gitea/uberwald/fvtt-machine-gods-noxian-expanse/releases/download/${{github.event.release.tag_name}}/fvtt-machine-gods-noxian-expanse.zip'
|
||||||
# compatibility-minimum: '13'
|
compatibility-minimum: '14'
|
||||||
# compatibility-verified: '13'
|
compatibility-verified: '14'
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
.github/
|
.github/
|
||||||
rules/
|
rules/
|
||||||
node_modules/
|
node_modules/
|
||||||
|
.history/
|
||||||
|
|||||||
@@ -1,94 +0,0 @@
|
|||||||
{
|
|
||||||
"id": "fvtt-machine-gods-noxian-expanse",
|
|
||||||
"title": "Machine Gods of the Noxian Expanse",
|
|
||||||
"description": "Foundry VTT system for Machine Gods of the Noxian Expanse.",
|
|
||||||
"version": "14..0",
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Uberwald"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"compatibility": {
|
|
||||||
"minimum": "13",
|
|
||||||
"verified": "14"
|
|
||||||
},
|
|
||||||
"esmodules": [
|
|
||||||
"fvtt-machine-gods-noxian-expanse.mjs"
|
|
||||||
],
|
|
||||||
"styles": [
|
|
||||||
"css/mgne.css"
|
|
||||||
],
|
|
||||||
"languages": [
|
|
||||||
{
|
|
||||||
"lang": "en",
|
|
||||||
"name": "English",
|
|
||||||
"path": "lang/en.json"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"documentTypes": {
|
|
||||||
"Actor": {
|
|
||||||
"character": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description",
|
|
||||||
"notes"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"creature": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description",
|
|
||||||
"special",
|
|
||||||
"notes"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"companion": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description",
|
|
||||||
"notes"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Item": {
|
|
||||||
"weapon": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"armor": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"shield": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"equipment": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"resonance-core": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"artifact": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"feature": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"grid": {
|
|
||||||
"distance": 10,
|
|
||||||
"units": "ft"
|
|
||||||
},
|
|
||||||
"primaryTokenAttribute": "hp",
|
|
||||||
"socket": false
|
|
||||||
}
|
|
||||||
@@ -1,94 +0,0 @@
|
|||||||
{
|
|
||||||
"id": "fvtt-machine-gods-noxian-expanse",
|
|
||||||
"title": "Machine Gods of the Noxian Expanse",
|
|
||||||
"description": "Foundry VTT system for Machine Gods of the Noxian Expanse.",
|
|
||||||
"version": "14..0",
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Uberwald"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"compatibility": {
|
|
||||||
"minimum": "13",
|
|
||||||
"verified": "14"
|
|
||||||
},
|
|
||||||
"esmodules": [
|
|
||||||
"fvtt-machine-gods-noxian-expanse.mjs"
|
|
||||||
],
|
|
||||||
"styles": [
|
|
||||||
"css/mgne.css"
|
|
||||||
],
|
|
||||||
"languages": [
|
|
||||||
{
|
|
||||||
"lang": "en",
|
|
||||||
"name": "English",
|
|
||||||
"path": "lang/en.json"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"documentTypes": {
|
|
||||||
"Actor": {
|
|
||||||
"character": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description",
|
|
||||||
"notes"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"creature": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description",
|
|
||||||
"special",
|
|
||||||
"notes"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"companion": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description",
|
|
||||||
"notes"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Item": {
|
|
||||||
"weapon": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"armor": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"shield": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"equipment": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"resonance-core": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"artifact": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"feature": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"grid": {
|
|
||||||
"distance": 10,
|
|
||||||
"units": "ft"
|
|
||||||
},
|
|
||||||
"primaryTokenAttribute": "hp",
|
|
||||||
"socket": false
|
|
||||||
}
|
|
||||||
@@ -1,94 +0,0 @@
|
|||||||
{
|
|
||||||
"id": "fvtt-machine-gods-noxian-expanse",
|
|
||||||
"title": "Machine Gods of the Noxian Expanse",
|
|
||||||
"description": "Foundry VTT system for Machine Gods of the Noxian Expanse.",
|
|
||||||
"version": "14.0.0",
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Uberwald"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"compatibility": {
|
|
||||||
"minimum": "13",
|
|
||||||
"verified": "14"
|
|
||||||
},
|
|
||||||
"esmodules": [
|
|
||||||
"fvtt-machine-gods-noxian-expanse.mjs"
|
|
||||||
],
|
|
||||||
"styles": [
|
|
||||||
"css/mgne.css"
|
|
||||||
],
|
|
||||||
"languages": [
|
|
||||||
{
|
|
||||||
"lang": "en",
|
|
||||||
"name": "English",
|
|
||||||
"path": "lang/en.json"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"documentTypes": {
|
|
||||||
"Actor": {
|
|
||||||
"character": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description",
|
|
||||||
"notes"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"creature": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description",
|
|
||||||
"special",
|
|
||||||
"notes"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"companion": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description",
|
|
||||||
"notes"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Item": {
|
|
||||||
"weapon": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"armor": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"shield": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"equipment": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"resonance-core": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"artifact": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"feature": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"grid": {
|
|
||||||
"distance": 10,
|
|
||||||
"units": "ft"
|
|
||||||
},
|
|
||||||
"primaryTokenAttribute": "hp",
|
|
||||||
"socket": false
|
|
||||||
}
|
|
||||||
@@ -1,94 +0,0 @@
|
|||||||
{
|
|
||||||
"id": "fvtt-machine-gods-noxian-expanse",
|
|
||||||
"title": "Machine Gods of the Noxian Expanse",
|
|
||||||
"description": "Foundry VTT system for Machine Gods of the Noxian Expanse.",
|
|
||||||
"version": "14.0.0",
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Uberwald"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"compatibility": {
|
|
||||||
"minimum": "14",
|
|
||||||
"verified": "14"
|
|
||||||
},
|
|
||||||
"esmodules": [
|
|
||||||
"fvtt-machine-gods-noxian-expanse.mjs"
|
|
||||||
],
|
|
||||||
"styles": [
|
|
||||||
"css/mgne.css"
|
|
||||||
],
|
|
||||||
"languages": [
|
|
||||||
{
|
|
||||||
"lang": "en",
|
|
||||||
"name": "English",
|
|
||||||
"path": "lang/en.json"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"documentTypes": {
|
|
||||||
"Actor": {
|
|
||||||
"character": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description",
|
|
||||||
"notes"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"creature": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description",
|
|
||||||
"special",
|
|
||||||
"notes"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"companion": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description",
|
|
||||||
"notes"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Item": {
|
|
||||||
"weapon": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"armor": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"shield": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"equipment": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"resonance-core": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"artifact": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"feature": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"grid": {
|
|
||||||
"distance": 10,
|
|
||||||
"units": "ft"
|
|
||||||
},
|
|
||||||
"primaryTokenAttribute": "hp",
|
|
||||||
"socket": false
|
|
||||||
}
|
|
||||||
@@ -1,94 +0,0 @@
|
|||||||
{
|
|
||||||
"id": "fvtt-machine-gods-noxian-expanse",
|
|
||||||
"title": "Machine Gods of the Noxian Expanse",
|
|
||||||
"description": "Foundry VTT system for Machine Gods of the Noxian Expanse.",
|
|
||||||
"version": "14.0.0",
|
|
||||||
"authors": [
|
|
||||||
{
|
|
||||||
"name": "Uberwald"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"compatibility": {
|
|
||||||
"minimum": "14",
|
|
||||||
"verified": "14"
|
|
||||||
},
|
|
||||||
"esmodules": [
|
|
||||||
"fvtt-machine-gods-noxian-expanse.mjs"
|
|
||||||
],
|
|
||||||
"styles": [
|
|
||||||
"css/mgne.css"
|
|
||||||
],
|
|
||||||
"languages": [
|
|
||||||
{
|
|
||||||
"lang": "en",
|
|
||||||
"name": "English",
|
|
||||||
"path": "lang/en.json"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"documentTypes": {
|
|
||||||
"Actor": {
|
|
||||||
"character": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description",
|
|
||||||
"notes"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"creature": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description",
|
|
||||||
"special",
|
|
||||||
"notes"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"companion": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description",
|
|
||||||
"notes"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"Item": {
|
|
||||||
"weapon": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"armor": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"shield": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"equipment": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"resonance-core": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"artifact": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"feature": {
|
|
||||||
"htmlFields": [
|
|
||||||
"description"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"grid": {
|
|
||||||
"distance": 10,
|
|
||||||
"units": "ft"
|
|
||||||
},
|
|
||||||
"primaryTokenAttribute": "hp",
|
|
||||||
"socket": false
|
|
||||||
}
|
|
||||||
@@ -8,3 +8,6 @@ In this release, you will find:
|
|||||||
- Tools to set up a game of Machine Gods, with everything in place to add your own gear, creatures, and more
|
- 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.)
|
- 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
|
- Full support for the game's mechanics, based on Mörk Borg
|
||||||
|
|
||||||
|
|
||||||
|
A game by Blackoath Entertainment https://blackoathgames.com/
|
||||||
|
After Width: | Height: | Size: 2.0 MiB |
|
After Width: | Height: | Size: 2.0 MiB |
|
After Width: | Height: | Size: 2.0 MiB |
|
After Width: | Height: | Size: 2.0 MiB |
|
After Width: | Height: | Size: 2.4 MiB |
|
After Width: | Height: | Size: 2.6 MiB |
|
After Width: | Height: | Size: 2.1 MiB |
|
After Width: | Height: | Size: 1.2 MiB |
|
After Width: | Height: | Size: 2.4 MiB |
|
After Width: | Height: | Size: 2.2 MiB |
|
After Width: | Height: | Size: 2.4 MiB |
@@ -1501,8 +1501,8 @@
|
|||||||
position: relative;
|
position: relative;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: 0.6rem;
|
gap: 0.5rem;
|
||||||
padding: 0.68rem;
|
padding: 0.62rem 0.68rem;
|
||||||
color: #a08878;
|
color: #a08878;
|
||||||
background: radial-gradient(circle at top right, rgba(79, 125, 115, 0.1), transparent 22%), linear-gradient(135deg, rgba(216, 122, 79, 0.1), transparent 38%), linear-gradient(180deg, rgba(171, 139, 104, 0.04), transparent 24%), linear-gradient(180deg, rgba(27, 21, 18, 0.22), rgba(19, 16, 15, 0.18)), url("../assets/ui/page_background.webp") right bottom / cover no-repeat, rgba(41, 30, 24, 0.88);
|
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);
|
||||||
}
|
}
|
||||||
@@ -1516,119 +1516,265 @@
|
|||||||
}
|
}
|
||||||
.mgne-chat-card .chat-card-header {
|
.mgne-chat-card .chat-card-header {
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 0.6rem;
|
gap: 0.55rem;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
padding-bottom: 0.4rem;
|
||||||
|
border-bottom: 1px solid rgba(196, 154, 69, 0.14);
|
||||||
}
|
}
|
||||||
.mgne-chat-card .chat-card-header img {
|
.mgne-chat-card .chat-card-header img {
|
||||||
width: 36px;
|
width: 34px;
|
||||||
height: 36px;
|
height: 34px;
|
||||||
object-fit: cover;
|
object-fit: cover;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
border: 1px solid rgba(196, 154, 69, 0.38);
|
border: 1px solid rgba(196, 154, 69, 0.32);
|
||||||
box-shadow: 0 0 0 2px rgba(204, 178, 146, 0.06);
|
box-shadow: 0 0 0 2px rgba(204, 178, 146, 0.05);
|
||||||
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
.mgne-chat-card .chat-eyebrow {
|
.mgne-chat-card .chat-header-text {
|
||||||
display: none;
|
flex: 1;
|
||||||
|
min-width: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 0.05rem;
|
||||||
}
|
}
|
||||||
.mgne-chat-card h3 {
|
.mgne-chat-card h3 {
|
||||||
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;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
color: #ab8b68;
|
color: #5b3e2e;
|
||||||
font-size: 0.82rem;
|
font-size: 0.78rem;
|
||||||
}
|
line-height: 1.2;
|
||||||
.mgne-chat-card .chat-actor,
|
white-space: nowrap;
|
||||||
.mgne-chat-card .chat-subtitle,
|
overflow: hidden;
|
||||||
.mgne-chat-card .chat-formula,
|
text-overflow: ellipsis;
|
||||||
.mgne-chat-card .chat-special {
|
|
||||||
margin: 0;
|
|
||||||
}
|
}
|
||||||
.mgne-chat-card .chat-actor {
|
.mgne-chat-card .chat-actor {
|
||||||
color: #a08878;
|
margin: 0;
|
||||||
|
color: #7d553f;
|
||||||
|
font-size: 0.68rem;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
.mgne-chat-card .chat-formula {
|
.mgne-chat-card .chat-mode-badge {
|
||||||
color: #a08878;
|
|
||||||
}
|
|
||||||
.mgne-chat-card .chat-formula code {
|
|
||||||
color: #ccb292;
|
|
||||||
background: rgba(19, 16, 15, 0.75);
|
|
||||||
padding: 0.1em 0.42em;
|
|
||||||
border-radius: 3px;
|
|
||||||
}
|
|
||||||
.mgne-chat-card .chat-result-line {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: end;
|
|
||||||
padding: 0.38rem 0.55rem;
|
|
||||||
border: 1px solid rgba(196, 154, 69, 0.28);
|
|
||||||
border-radius: 6px;
|
|
||||||
background: rgba(19, 16, 15, 0.78);
|
|
||||||
}
|
|
||||||
.mgne-chat-card .chat-result-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;
|
||||||
font-size: 0.62rem;
|
font-size: 0.6rem;
|
||||||
color: #ccb292;
|
letter-spacing: 0.1em;
|
||||||
|
padding: 0.15rem 0.45rem;
|
||||||
|
border-radius: 999px;
|
||||||
|
background: rgba(19, 16, 15, 0.7);
|
||||||
|
border: 1px solid rgba(171, 139, 104, 0.22);
|
||||||
|
color: #958068;
|
||||||
|
flex-shrink: 0;
|
||||||
|
line-height: 1.3;
|
||||||
}
|
}
|
||||||
.mgne-chat-card .chat-result-total {
|
.mgne-chat-card .chat-card-body {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 0.4rem;
|
||||||
|
}
|
||||||
|
.mgne-chat-card .chat-subtitle {
|
||||||
|
margin: 0;
|
||||||
|
color: #996b51;
|
||||||
|
font-size: 0.72rem;
|
||||||
|
letter-spacing: 0.03em;
|
||||||
|
}
|
||||||
|
.mgne-chat-card .chat-formula-wrap {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 0.5rem;
|
||||||
|
padding: 0.25rem 0.5rem;
|
||||||
|
background: rgba(19, 16, 15, 0.6);
|
||||||
|
border-radius: 6px;
|
||||||
|
border: 1px solid rgba(171, 139, 104, 0.1);
|
||||||
|
}
|
||||||
|
.mgne-chat-card .chat-formula-label {
|
||||||
font-family: "CastorTwoMGNE", "Palatino Linotype", serif;
|
font-family: "CastorTwoMGNE", "Palatino Linotype", serif;
|
||||||
font-size: 1.08rem;
|
text-transform: uppercase;
|
||||||
color: #ccb292;
|
font-size: 0.6rem;
|
||||||
|
color: #c49a45;
|
||||||
|
letter-spacing: 0.08em;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
.mgne-chat-card .chat-formula-code {
|
||||||
|
font-family: "Courier New", monospace;
|
||||||
|
font-size: 0.76rem;
|
||||||
|
color: #ccb292;
|
||||||
|
background: rgba(19, 16, 15, 0.5);
|
||||||
|
padding: 0.08rem 0.45rem;
|
||||||
|
border-radius: 3px;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
.mgne-chat-card .chat-outcome {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 0.5rem;
|
||||||
|
padding: 0.4rem 0.55rem;
|
||||||
|
border-radius: 6px;
|
||||||
|
background: rgba(19, 16, 15, 0.68);
|
||||||
|
border-left: 3px solid rgba(232, 154, 95, 0.6);
|
||||||
|
}
|
||||||
|
.mgne-chat-card .chat-outcome.has-tooltip {
|
||||||
|
cursor: pointer;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
.mgne-chat-card .chat-outcome.has-tooltip:hover {
|
||||||
|
filter: brightness(1.1);
|
||||||
|
}
|
||||||
|
.mgne-chat-card .chat-outcome .chat-outcome-icon {
|
||||||
|
flex-shrink: 0;
|
||||||
|
font-size: 0.85rem;
|
||||||
|
width: 1.2rem;
|
||||||
|
text-align: center;
|
||||||
|
opacity: 0.8;
|
||||||
|
}
|
||||||
|
.mgne-chat-card .chat-outcome .chat-outcome-label {
|
||||||
|
font-family: "CastorTwoMGNE", "Palatino Linotype", serif;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.08em;
|
||||||
|
flex: 1;
|
||||||
|
font-size: 0.72rem;
|
||||||
|
letter-spacing: 0.06em;
|
||||||
|
color: #f0bc95;
|
||||||
|
}
|
||||||
|
.mgne-chat-card .chat-outcome .chat-outcome-total {
|
||||||
|
font-family: "CastorTwoMGNE", "Palatino Linotype", serif;
|
||||||
|
font-size: 1.18rem;
|
||||||
|
font-weight: 700;
|
||||||
|
color: #ccb292;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
.mgne-chat-card .chat-outcome .chat-tooltip-icon {
|
||||||
|
opacity: 0.5;
|
||||||
|
font-size: 0.7rem;
|
||||||
|
margin-left: 0.15rem;
|
||||||
|
flex-shrink: 0;
|
||||||
|
transition: opacity 0.15s;
|
||||||
|
}
|
||||||
|
.mgne-chat-card .chat-outcome.tooltip-open .chat-tooltip-icon {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
.mgne-chat-card .chat-damage-total {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 0.5rem;
|
||||||
|
padding: 0.45rem 0.6rem;
|
||||||
|
border-radius: 6px;
|
||||||
|
background: rgba(19, 16, 15, 0.68);
|
||||||
|
border-left: 3px solid rgba(232, 154, 95, 0.6);
|
||||||
}
|
}
|
||||||
.mgne-chat-card .chat-outcome.has-tooltip,
|
|
||||||
.mgne-chat-card .chat-damage-total.has-tooltip {
|
.mgne-chat-card .chat-damage-total.has-tooltip {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
user-select: none;
|
user-select: none;
|
||||||
}
|
}
|
||||||
.mgne-chat-card .chat-outcome.has-tooltip:hover,
|
|
||||||
.mgne-chat-card .chat-damage-total.has-tooltip:hover {
|
.mgne-chat-card .chat-damage-total.has-tooltip:hover {
|
||||||
filter: brightness(1.12);
|
filter: brightness(1.1);
|
||||||
|
}
|
||||||
|
.mgne-chat-card .chat-damage-total .chat-damage-label {
|
||||||
|
font-family: "CastorTwoMGNE", "Palatino Linotype", serif;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.08em;
|
||||||
|
font-size: 0.65rem;
|
||||||
|
letter-spacing: 0.06em;
|
||||||
|
color: #958068;
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
.mgne-chat-card .chat-damage-total .chat-damage-number {
|
||||||
|
font-family: "CastorTwoMGNE", "Palatino Linotype", serif;
|
||||||
|
font-size: 1.3rem;
|
||||||
|
font-weight: 700;
|
||||||
|
color: #edb183;
|
||||||
|
line-height: 1;
|
||||||
}
|
}
|
||||||
.mgne-chat-card .chat-outcome .chat-tooltip-icon,
|
|
||||||
.mgne-chat-card .chat-damage-total .chat-tooltip-icon {
|
.mgne-chat-card .chat-damage-total .chat-tooltip-icon {
|
||||||
opacity: 0.55;
|
opacity: 0.5;
|
||||||
font-size: 0.75em;
|
font-size: 0.7rem;
|
||||||
margin-left: 0.3rem;
|
flex-shrink: 0;
|
||||||
vertical-align: middle;
|
|
||||||
transition: opacity 0.15s;
|
transition: opacity 0.15s;
|
||||||
}
|
}
|
||||||
.mgne-chat-card .chat-outcome.tooltip-open .chat-tooltip-icon,
|
|
||||||
.mgne-chat-card .chat-damage-total.tooltip-open .chat-tooltip-icon {
|
.mgne-chat-card .chat-damage-total.tooltip-open .chat-tooltip-icon {
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
}
|
}
|
||||||
|
.mgne-chat-card.outcome-critical-success .chat-outcome,
|
||||||
|
.mgne-chat-card.outcome-success .chat-outcome,
|
||||||
|
.mgne-chat-card.outcome-steady .chat-outcome {
|
||||||
|
border-left-color: rgba(79, 125, 115, 0.75);
|
||||||
|
}
|
||||||
|
.mgne-chat-card.outcome-critical-success .chat-outcome .chat-outcome-label,
|
||||||
|
.mgne-chat-card.outcome-success .chat-outcome .chat-outcome-label,
|
||||||
|
.mgne-chat-card.outcome-steady .chat-outcome .chat-outcome-label {
|
||||||
|
color: #9bc0b8;
|
||||||
|
}
|
||||||
|
.mgne-chat-card.outcome-critical-success .chat-outcome .chat-outcome-icon,
|
||||||
|
.mgne-chat-card.outcome-success .chat-outcome .chat-outcome-icon,
|
||||||
|
.mgne-chat-card.outcome-steady .chat-outcome .chat-outcome-icon {
|
||||||
|
color: #a1c4bc;
|
||||||
|
}
|
||||||
|
.mgne-chat-card.outcome-critical-success .chat-damage-total,
|
||||||
|
.mgne-chat-card.outcome-success .chat-damage-total,
|
||||||
|
.mgne-chat-card.outcome-steady .chat-damage-total {
|
||||||
|
border-left-color: rgba(79, 125, 115, 0.6);
|
||||||
|
}
|
||||||
|
.mgne-chat-card.outcome-critical-success .chat-damage-total .chat-damage-number,
|
||||||
|
.mgne-chat-card.outcome-success .chat-damage-total .chat-damage-number,
|
||||||
|
.mgne-chat-card.outcome-steady .chat-damage-total .chat-damage-number {
|
||||||
|
color: #92bab1;
|
||||||
|
}
|
||||||
|
.mgne-chat-card.outcome-failure .chat-outcome,
|
||||||
|
.mgne-chat-card.outcome-broken .chat-outcome,
|
||||||
|
.mgne-chat-card.outcome-fumble .chat-outcome {
|
||||||
|
border-left-color: rgba(232, 154, 95, 0.75);
|
||||||
|
}
|
||||||
|
.mgne-chat-card.outcome-failure .chat-outcome .chat-outcome-label,
|
||||||
|
.mgne-chat-card.outcome-broken .chat-outcome .chat-outcome-label,
|
||||||
|
.mgne-chat-card.outcome-fumble .chat-outcome .chat-outcome-label {
|
||||||
|
color: #f4cdaf;
|
||||||
|
}
|
||||||
|
.mgne-chat-card.outcome-failure .chat-outcome .chat-outcome-icon,
|
||||||
|
.mgne-chat-card.outcome-broken .chat-outcome .chat-outcome-icon,
|
||||||
|
.mgne-chat-card.outcome-fumble .chat-outcome .chat-outcome-icon {
|
||||||
|
color: #ee857d;
|
||||||
|
}
|
||||||
|
.mgne-chat-card.outcome-failure .chat-damage-total,
|
||||||
|
.mgne-chat-card.outcome-broken .chat-damage-total,
|
||||||
|
.mgne-chat-card.outcome-fumble .chat-damage-total {
|
||||||
|
border-left-color: rgba(232, 154, 95, 0.6);
|
||||||
|
}
|
||||||
.mgne-chat-card .chat-dice-tooltip {
|
.mgne-chat-card .chat-dice-tooltip {
|
||||||
margin-top: 0.4rem;
|
padding: 0.35rem 0.5rem;
|
||||||
padding: 0.4rem 0.55rem;
|
|
||||||
background: rgba(19, 16, 15, 0.85);
|
background: rgba(19, 16, 15, 0.85);
|
||||||
border: 1px solid rgba(171, 139, 104, 0.22);
|
border: 1px solid rgba(171, 139, 104, 0.18);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
}
|
}
|
||||||
.mgne-chat-card .chat-dice-tooltip .dice-roll {
|
.mgne-chat-card .chat-dice-tooltip .dice-roll {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: 0.2rem;
|
gap: 0.15rem;
|
||||||
}
|
}
|
||||||
.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.7rem;
|
||||||
color: rgba(204, 178, 146, 0.78);
|
color: rgba(204, 178, 146, 0.72);
|
||||||
}
|
}
|
||||||
.mgne-chat-card .chat-dice-tooltip .dice-tooltip {
|
.mgne-chat-card .chat-dice-tooltip .dice-tooltip {
|
||||||
font-size: 0.78rem;
|
font-size: 0.75rem;
|
||||||
}
|
}
|
||||||
.mgne-chat-card .chat-dice-tooltip .dice {
|
.mgne-chat-card .chat-dice-tooltip .dice {
|
||||||
margin: 0.15rem 0;
|
margin: 0.1rem 0;
|
||||||
}
|
}
|
||||||
.mgne-chat-card .chat-dice-tooltip .die-icon,
|
.mgne-chat-card .chat-dice-tooltip .die-icon,
|
||||||
.mgne-chat-card .chat-dice-tooltip .die-face {
|
.mgne-chat-card .chat-dice-tooltip .die-face {
|
||||||
color: #c49a45;
|
color: #c49a45;
|
||||||
font-size: 0.8rem;
|
font-size: 0.78rem;
|
||||||
}
|
}
|
||||||
.mgne-chat-card .chat-dice-tooltip .part-formula {
|
.mgne-chat-card .chat-dice-tooltip .part-formula {
|
||||||
color: rgba(204, 178, 146, 0.82);
|
color: rgba(204, 178, 146, 0.78);
|
||||||
font-size: 0.72rem;
|
font-size: 0.7rem;
|
||||||
}
|
}
|
||||||
.mgne-chat-card .chat-dice-tooltip .part-total {
|
.mgne-chat-card .chat-dice-tooltip .part-total {
|
||||||
color: #ccb292;
|
color: #ccb292;
|
||||||
@@ -1641,66 +1787,78 @@
|
|||||||
color: #eeb68c;
|
color: #eeb68c;
|
||||||
}
|
}
|
||||||
.mgne-chat-card .chat-dice-tooltip .dice-total {
|
.mgne-chat-card .chat-dice-tooltip .dice-total {
|
||||||
font-family: "CastorTwoMGNE", serif;
|
|
||||||
font-size: 1.05rem;
|
|
||||||
color: #c49a45;
|
|
||||||
text-align: right;
|
|
||||||
border-top: 1px solid rgba(171, 139, 104, 0.2);
|
|
||||||
padding-top: 0.2rem;
|
|
||||||
margin-top: 0.15rem;
|
|
||||||
}
|
|
||||||
.mgne-chat-card .chat-outcome {
|
|
||||||
font-family: "CastorTwoMGNE", "Palatino Linotype", serif;
|
font-family: "CastorTwoMGNE", "Palatino Linotype", serif;
|
||||||
text-transform: uppercase;
|
font-size: 1rem;
|
||||||
letter-spacing: 0.08em;
|
color: #c49a45;
|
||||||
margin: 0;
|
text-align: center;
|
||||||
padding: 0.3rem 0.55rem;
|
border-top: 1px solid rgba(171, 139, 104, 0.16);
|
||||||
|
padding-top: 0.2rem;
|
||||||
|
margin-top: 0.1rem;
|
||||||
|
}
|
||||||
|
.mgne-chat-card .chat-special-wrap {
|
||||||
|
display: flex;
|
||||||
|
align-items: flex-start;
|
||||||
|
gap: 0.4rem;
|
||||||
|
padding: 0.35rem 0.5rem;
|
||||||
|
border-left: 2px solid rgba(232, 154, 95, 0.4);
|
||||||
|
background: rgba(17, 12, 10, 0.8);
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
background: rgba(19, 16, 15, 0.72);
|
|
||||||
border-left: 3px solid rgba(232, 154, 95, 0.7);
|
|
||||||
color: #f0bc95;
|
|
||||||
font-size: 0.8rem;
|
|
||||||
}
|
}
|
||||||
.mgne-chat-card .chat-special {
|
.mgne-chat-card .chat-special-icon {
|
||||||
padding: 0.42rem 0.55rem;
|
flex-shrink: 0;
|
||||||
border-left: 3px solid rgba(232, 154, 95, 0.55);
|
font-size: 0.7rem;
|
||||||
background: rgba(17, 12, 10, 0.85);
|
color: #e89a5f;
|
||||||
|
margin-top: 0.08rem;
|
||||||
|
}
|
||||||
|
.mgne-chat-card .chat-special-text {
|
||||||
color: #ccb292;
|
color: #ccb292;
|
||||||
|
font-size: 0.72rem;
|
||||||
|
line-height: 1.4;
|
||||||
}
|
}
|
||||||
.mgne-chat-card.outcome-critical-success,
|
.mgne-chat-card .chat-omen-remind,
|
||||||
.mgne-chat-card.outcome-success,
|
.mgne-chat-card .chat-omen-used {
|
||||||
.mgne-chat-card.outcome-steady {
|
margin: 0;
|
||||||
border-color: rgba(79, 125, 115, 0.42);
|
padding: 0.35rem 0.5rem;
|
||||||
|
border-radius: 6px;
|
||||||
|
font-size: 0.7rem;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 0.35rem;
|
||||||
}
|
}
|
||||||
.mgne-chat-card.outcome-critical-success .chat-outcome,
|
.mgne-chat-card .chat-omen-remind {
|
||||||
.mgne-chat-card.outcome-success .chat-outcome,
|
background: rgba(196, 154, 69, 0.18);
|
||||||
.mgne-chat-card.outcome-steady .chat-outcome {
|
border: 1px solid rgba(196, 154, 69, 0.35);
|
||||||
color: #9bc0b8;
|
color: #dac08b;
|
||||||
border-left-color: rgba(79, 125, 115, 0.8);
|
|
||||||
}
|
}
|
||||||
.mgne-chat-card.outcome-failure,
|
.mgne-chat-card .chat-omen-remind i {
|
||||||
.mgne-chat-card.outcome-broken,
|
color: #c49a45;
|
||||||
.mgne-chat-card.outcome-fumble {
|
font-size: 0.7rem;
|
||||||
border-color: rgba(232, 90, 80, 0.48);
|
|
||||||
}
|
}
|
||||||
.mgne-chat-card.outcome-failure .chat-outcome,
|
.mgne-chat-card .chat-omen-neutralize {
|
||||||
.mgne-chat-card.outcome-broken .chat-outcome,
|
background: rgba(232, 154, 95, 0.18);
|
||||||
.mgne-chat-card.outcome-fumble .chat-outcome {
|
border-color: rgba(232, 154, 95, 0.35);
|
||||||
color: #f4cdaf;
|
color: #f2c4a2;
|
||||||
border-left-color: rgba(232, 154, 95, 0.8);
|
|
||||||
}
|
}
|
||||||
.mgne-chat-card.mode-apply-damage .chat-result-total,
|
.mgne-chat-card .chat-omen-neutralize i {
|
||||||
.mgne-chat-card.mode-damage .chat-result-total {
|
color: #e89a5f;
|
||||||
color: #edb183;
|
}
|
||||||
|
.mgne-chat-card .chat-omen-used {
|
||||||
|
background: rgba(79, 125, 115, 0.18);
|
||||||
|
border: 1px solid rgba(79, 125, 115, 0.32);
|
||||||
|
color: #a7c8c1;
|
||||||
|
}
|
||||||
|
.mgne-chat-card .chat-omen-used i {
|
||||||
|
color: #b1cec7;
|
||||||
|
font-size: 0.7rem;
|
||||||
}
|
}
|
||||||
.mgne-chat-card .chat-card-actions {
|
.mgne-chat-card .chat-card-actions {
|
||||||
margin-top: 0.2rem;
|
margin-top: 0.1rem;
|
||||||
}
|
}
|
||||||
.mgne-roll-damage-btn {
|
.mgne-roll-damage-btn {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
gap: 0.45rem;
|
gap: 0.4rem;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 0.38rem 0.7rem;
|
padding: 0.38rem 0.7rem;
|
||||||
border: 1px solid #e89a5f;
|
border: 1px solid #e89a5f;
|
||||||
@@ -1708,7 +1866,7 @@
|
|||||||
background: #d87a4f;
|
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.76rem;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
letter-spacing: 0.06em;
|
letter-spacing: 0.06em;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
@@ -1716,7 +1874,7 @@
|
|||||||
}
|
}
|
||||||
.mgne-roll-damage-btn .dmg-formula {
|
.mgne-roll-damage-btn .dmg-formula {
|
||||||
color: #fff5e8;
|
color: #fff5e8;
|
||||||
font-size: 0.75rem;
|
font-size: 0.73rem;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
}
|
}
|
||||||
.mgne-roll-damage-btn:hover {
|
.mgne-roll-damage-btn:hover {
|
||||||
@@ -1741,7 +1899,7 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
gap: 0.45rem;
|
gap: 0.4rem;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 0.38rem 0.7rem;
|
padding: 0.38rem 0.7rem;
|
||||||
border: 1px solid #c49a45;
|
border: 1px solid #c49a45;
|
||||||
@@ -1749,7 +1907,7 @@
|
|||||||
background: #8f6f2d;
|
background: #8f6f2d;
|
||||||
color: #fff5d0;
|
color: #fff5d0;
|
||||||
font-family: "CastorTwoMGNE", "Palatino Linotype", serif;
|
font-family: "CastorTwoMGNE", "Palatino Linotype", serif;
|
||||||
font-size: 0.78rem;
|
font-size: 0.76rem;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
letter-spacing: 0.06em;
|
letter-spacing: 0.06em;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
@@ -1761,7 +1919,7 @@
|
|||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
.chat-apply-actions {
|
.chat-apply-actions {
|
||||||
margin-top: 0.35rem;
|
margin-top: 0.25rem;
|
||||||
}
|
}
|
||||||
.mgne-apply-damage-select {
|
.mgne-apply-damage-select {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -1771,7 +1929,7 @@
|
|||||||
background: #1b1512;
|
background: #1b1512;
|
||||||
color: #ab8b68;
|
color: #ab8b68;
|
||||||
font-family: "LoraMGNE", "Book Antiqua", serif;
|
font-family: "LoraMGNE", "Book Antiqua", serif;
|
||||||
font-size: 0.8rem;
|
font-size: 0.78rem;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: border-color 0.15s, background 0.15s;
|
transition: border-color 0.15s, background 0.15s;
|
||||||
|
|||||||
@@ -73,14 +73,29 @@ Hooks.once("init", () => {
|
|||||||
|
|
||||||
Hooks.once("setup", () => {
|
Hooks.once("setup", () => {
|
||||||
localizeSystemConfig()
|
localizeSystemConfig()
|
||||||
})
|
|
||||||
|
// Strip phantom null-_id entries from all compendium indices.
|
||||||
|
// Foundry V14 LevelDatabase creates !items!null entries on open under Node24.
|
||||||
|
if (typeof CompendiumCollection !== "undefined") {
|
||||||
|
const orig = CompendiumCollection.prototype.getIndex;
|
||||||
|
CompendiumCollection.prototype.getIndex = async function(opts) {
|
||||||
|
const r = await orig.call(this, opts);
|
||||||
|
for (const k of [...this.index.keys()]) { if (!k) this.index.delete(k); }
|
||||||
|
return r;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
Hooks.once("ready", async () => {
|
Hooks.once("ready", async () => {
|
||||||
console.info(`${SYSTEM_ID} | Ready`)
|
console.info(`${SYSTEM_ID} | Ready`)
|
||||||
|
// Clean anything already in the index before we patched
|
||||||
|
for (const pack of game.packs) {
|
||||||
|
for (const k of [...pack.index.keys()]) { if (!k) pack.index.delete(k); }
|
||||||
|
}
|
||||||
|
|
||||||
if (!game.user.isGM) return
|
if (!game.user.isGM) return
|
||||||
|
|
||||||
if (game.scenes.getName("Map")) return
|
if (game.scenes.getName("Noxian Expanse")) return
|
||||||
|
|
||||||
const pack = game.packs.get("fvtt-machine-gods-noxian-expanse.scenes")
|
const pack = game.packs.get("fvtt-machine-gods-noxian-expanse.scenes")
|
||||||
if (!pack) {
|
if (!pack) {
|
||||||
@@ -89,9 +104,9 @@ Hooks.once("ready", async () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const index = await pack.getIndex()
|
const index = await pack.getIndex()
|
||||||
const entry = index.find(s => s.name === "Map")
|
const entry = index.find(s => s.name === "Noxian Expanse")
|
||||||
if (!entry) {
|
if (!entry) {
|
||||||
console.warn(`${SYSTEM_ID} | Map scene not found in compendium`)
|
console.warn(`${SYSTEM_ID} | Noxian Expanse scene not found in compendium`)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -117,7 +132,7 @@ Hooks.on("deleteCombat", (combat) => {
|
|||||||
if (!cores.length) return
|
if (!cores.length) return
|
||||||
const lines = cores.map(c => `<li><strong>${c.parent.name}</strong> — ${c.name} (${c.system.usageDie})</li>`).join("")
|
const lines = cores.map(c => `<li><strong>${c.parent.name}</strong> — ${c.name} (${c.system.usageDie})</li>`).join("")
|
||||||
ChatMessage.create({
|
ChatMessage.create({
|
||||||
content: `<article class="mgne-chat-card mode-check"><div class="chat-card-body"><p class="chat-special">⚙️ ${game.i18n.localize("MGNE.Notification.RollUsageDiceReminder")}</p><ul style="margin:.3rem 0 0 1rem;padding:0">${lines}</ul></div></article>`,
|
content: `<article class="mgne-chat-card"><div class="chat-card-body" style="color:#ccb292;font-size:0.72rem;line-height:1.4"><p style="margin:0">⚙️ ${game.i18n.localize("MGNE.Notification.RollUsageDiceReminder")}</p><ul style="margin:.3rem 0 0 1rem;padding:0;color:#ccb292;font-size:0.72rem">${lines}</ul></div></article>`,
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -242,6 +257,7 @@ Hooks.on("renderChatMessageHTML", (message, element) => {
|
|||||||
const card = select.closest(".mgne-chat-card")
|
const card = select.closest(".mgne-chat-card")
|
||||||
const damageTotal = parseInt(card?.dataset.damageTotal ?? "0", 10) || 0
|
const damageTotal = parseInt(card?.dataset.damageTotal ?? "0", 10) || 0
|
||||||
const damageCritical = card?.dataset.damageCritical === "true"
|
const damageCritical = card?.dataset.damageCritical === "true"
|
||||||
|
const targetActorId = card?.dataset.targetActorId ?? null
|
||||||
|
|
||||||
const tokens = canvas.scene?.tokens.contents ?? []
|
const tokens = canvas.scene?.tokens.contents ?? []
|
||||||
for (const token of tokens) {
|
for (const token of tokens) {
|
||||||
@@ -249,6 +265,9 @@ Hooks.on("renderChatMessageHTML", (message, element) => {
|
|||||||
const opt = document.createElement("option")
|
const opt = document.createElement("option")
|
||||||
opt.value = token.id
|
opt.value = token.id
|
||||||
opt.textContent = token.name
|
opt.textContent = token.name
|
||||||
|
if (targetActorId && token.actor.id === targetActorId) {
|
||||||
|
opt.selected = true
|
||||||
|
}
|
||||||
select.appendChild(opt)
|
select.appendChild(opt)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -292,7 +311,7 @@ Hooks.on("renderChatMessageHTML", (message, element) => {
|
|||||||
await ChatMessage.create({
|
await ChatMessage.create({
|
||||||
speaker: ChatMessage.getSpeaker({ actor: targetActor }),
|
speaker: ChatMessage.getSpeaker({ actor: targetActor }),
|
||||||
rolls: [reduceRoll],
|
rolls: [reduceRoll],
|
||||||
content: `<article class="mgne-chat-card mode-check"><div class="chat-card-body"><p class="chat-special">${reduceMsg}</p></div></article>`,
|
content: `<article class="mgne-chat-card"><div class="chat-card-body"><p style="margin:0;color:#ccb292;font-size:0.72rem;line-height:1.4">${reduceMsg}</p></div></article>`,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -115,6 +115,7 @@
|
|||||||
"ArtifactSync": "Artifact Sync",
|
"ArtifactSync": "Artifact Sync",
|
||||||
"CarryingCapacity": "Carrying Capacity",
|
"CarryingCapacity": "Carrying Capacity",
|
||||||
"Load": "Load",
|
"Load": "Load",
|
||||||
|
"CapacityModifier": "Carrying Capacity",
|
||||||
"Rations": "Rations",
|
"Rations": "Rations",
|
||||||
"Kiffol": "Kiffol",
|
"Kiffol": "Kiffol",
|
||||||
"Weapons": "Weapons",
|
"Weapons": "Weapons",
|
||||||
@@ -223,6 +224,9 @@
|
|||||||
"carryCapacity": {
|
"carryCapacity": {
|
||||||
"label": "Carrying Capacity"
|
"label": "Carrying Capacity"
|
||||||
},
|
},
|
||||||
|
"carryCapacityModifier": {
|
||||||
|
"label": "Capacity Modifier"
|
||||||
|
},
|
||||||
"rations": {
|
"rations": {
|
||||||
"label": "Rations"
|
"label": "Rations"
|
||||||
},
|
},
|
||||||
@@ -794,6 +798,9 @@
|
|||||||
},
|
},
|
||||||
"featureId": {
|
"featureId": {
|
||||||
"label": "Feature Id"
|
"label": "Feature Id"
|
||||||
|
},
|
||||||
|
"capacity": {
|
||||||
|
"label": "Capacity"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
.ornate-frame();
|
.ornate-frame();
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: 0.6rem;
|
gap: 0.5rem;
|
||||||
padding: 0.68rem;
|
padding: 0.62rem 0.68rem;
|
||||||
color: @iron;
|
color: @iron;
|
||||||
background:
|
background:
|
||||||
radial-gradient(circle at top right, fade(@verdigris, 10%), transparent 22%),
|
radial-gradient(circle at top right, fade(@verdigris, 10%), transparent 22%),
|
||||||
@@ -17,189 +17,351 @@
|
|||||||
|
|
||||||
.mgne-chat-card .chat-card-header {
|
.mgne-chat-card .chat-card-header {
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 0.6rem;
|
gap: 0.55rem;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
padding-bottom: 0.4rem;
|
||||||
|
border-bottom: 1px solid fade(@gold-acid, 14%);
|
||||||
}
|
}
|
||||||
|
|
||||||
.mgne-chat-card .chat-card-header img {
|
.mgne-chat-card .chat-card-header img {
|
||||||
width: 36px;
|
width: 34px;
|
||||||
height: 36px;
|
height: 34px;
|
||||||
object-fit: cover;
|
object-fit: cover;
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
border: 1px solid fade(@gold-acid, 38%);
|
border: 1px solid fade(@gold-acid, 32%);
|
||||||
box-shadow: 0 0 0 2px fade(@parchment, 6%);
|
box-shadow: 0 0 0 2px fade(@parchment, 5%);
|
||||||
|
flex-shrink: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mgne-chat-card .chat-eyebrow {
|
.mgne-chat-card .chat-header-text {
|
||||||
display: none;
|
flex: 1;
|
||||||
|
min-width: 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 0.05rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mgne-chat-card h3 {
|
.mgne-chat-card h3 {
|
||||||
.caps-heading();
|
.caps-heading();
|
||||||
margin: 0;
|
margin: 0;
|
||||||
color: @bone;
|
color: darken(@label-ink, 22%);
|
||||||
font-size: 0.82rem;
|
font-size: 0.78rem;
|
||||||
}
|
line-height: 1.2;
|
||||||
|
white-space: nowrap;
|
||||||
.mgne-chat-card .chat-actor,
|
overflow: hidden;
|
||||||
.mgne-chat-card .chat-subtitle,
|
text-overflow: ellipsis;
|
||||||
.mgne-chat-card .chat-formula,
|
|
||||||
.mgne-chat-card .chat-special {
|
|
||||||
margin: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.mgne-chat-card .chat-actor {
|
.mgne-chat-card .chat-actor {
|
||||||
color: @iron;
|
margin: 0;
|
||||||
|
color: darken(@label-ink, 12%);
|
||||||
|
font-size: 0.68rem;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mgne-chat-card .chat-formula {
|
.mgne-chat-card .chat-mode-badge {
|
||||||
color: @iron;
|
|
||||||
|
|
||||||
code {
|
|
||||||
color: @parchment;
|
|
||||||
background: fade(@bg-void, 75%);
|
|
||||||
padding: 0.1em 0.42em;
|
|
||||||
border-radius: 3px;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.mgne-chat-card .chat-result-line {
|
|
||||||
display: flex;
|
|
||||||
justify-content: space-between;
|
|
||||||
align-items: end;
|
|
||||||
padding: 0.38rem 0.55rem;
|
|
||||||
border: 1px solid fade(@gold-acid, 28%);
|
|
||||||
border-radius: @radius-sm;
|
|
||||||
background: fade(@bg-void, 78%);
|
|
||||||
}
|
|
||||||
|
|
||||||
.mgne-chat-card .chat-result-label {
|
|
||||||
.caps-heading();
|
.caps-heading();
|
||||||
font-size: 0.62rem;
|
font-size: 0.6rem;
|
||||||
color: @parchment;
|
letter-spacing: 0.1em;
|
||||||
|
padding: 0.15rem 0.45rem;
|
||||||
|
border-radius: 999px;
|
||||||
|
background: fade(@bg-void, 70%);
|
||||||
|
border: 1px solid fade(@bone, 22%);
|
||||||
|
color: @ash;
|
||||||
|
flex-shrink: 0;
|
||||||
|
line-height: 1.3;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mgne-chat-card .chat-result-total {
|
.mgne-chat-card .chat-card-body {
|
||||||
font-family: @font-display;
|
display: flex;
|
||||||
font-size: 1.08rem;
|
flex-direction: column;
|
||||||
color: @parchment;
|
gap: 0.4rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mgne-chat-card .chat-outcome,
|
// Subtitle line
|
||||||
.mgne-chat-card .chat-damage-total {
|
.mgne-chat-card .chat-subtitle {
|
||||||
|
margin: 0;
|
||||||
|
color: darken(@label-soft, 10%);
|
||||||
|
font-size: 0.72rem;
|
||||||
|
letter-spacing: 0.03em;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Formula display
|
||||||
|
.mgne-chat-card .chat-formula-wrap {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 0.5rem;
|
||||||
|
padding: 0.25rem 0.5rem;
|
||||||
|
background: fade(@bg-void, 60%);
|
||||||
|
border-radius: @radius-sm;
|
||||||
|
border: 1px solid fade(@bone, 10%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.mgne-chat-card .chat-formula-label {
|
||||||
|
.caps-heading();
|
||||||
|
font-size: 0.6rem;
|
||||||
|
color: @gold-acid;
|
||||||
|
letter-spacing: 0.08em;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mgne-chat-card .chat-formula-code {
|
||||||
|
font-family: "Courier New", monospace;
|
||||||
|
font-size: 0.76rem;
|
||||||
|
color: @parchment;
|
||||||
|
background: fade(@bg-void, 50%);
|
||||||
|
padding: 0.08rem 0.45rem;
|
||||||
|
border-radius: 3px;
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Outcome display (check results, morale)
|
||||||
|
.mgne-chat-card .chat-outcome {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 0.5rem;
|
||||||
|
padding: 0.4rem 0.55rem;
|
||||||
|
border-radius: @radius-sm;
|
||||||
|
background: fade(@bg-void, 68%);
|
||||||
|
border-left: 3px solid fade(@ember-bright, 60%);
|
||||||
|
|
||||||
&.has-tooltip {
|
&.has-tooltip {
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
user-select: none;
|
user-select: none;
|
||||||
&:hover { filter: brightness(1.12); }
|
&:hover { filter: brightness(1.1); }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.chat-outcome-icon {
|
||||||
|
flex-shrink: 0;
|
||||||
|
font-size: 0.85rem;
|
||||||
|
width: 1.2rem;
|
||||||
|
text-align: center;
|
||||||
|
opacity: 0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chat-outcome-label {
|
||||||
|
.caps-heading();
|
||||||
|
flex: 1;
|
||||||
|
font-size: 0.72rem;
|
||||||
|
letter-spacing: 0.06em;
|
||||||
|
color: lighten(@ember-bright, 12%);
|
||||||
|
}
|
||||||
|
|
||||||
|
.chat-outcome-total {
|
||||||
|
font-family: @font-display;
|
||||||
|
font-size: 1.18rem;
|
||||||
|
font-weight: 700;
|
||||||
|
color: @parchment;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
|
||||||
.chat-tooltip-icon {
|
.chat-tooltip-icon {
|
||||||
opacity: 0.55;
|
opacity: 0.5;
|
||||||
font-size: 0.75em;
|
font-size: 0.7rem;
|
||||||
margin-left: 0.3rem;
|
margin-left: 0.15rem;
|
||||||
vertical-align: middle;
|
flex-shrink: 0;
|
||||||
transition: opacity 0.15s;
|
transition: opacity 0.15s;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.tooltip-open .chat-tooltip-icon { opacity: 1; }
|
&.tooltip-open .chat-tooltip-icon { opacity: 1; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Damage total display
|
||||||
|
.mgne-chat-card .chat-damage-total {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 0.5rem;
|
||||||
|
padding: 0.45rem 0.6rem;
|
||||||
|
border-radius: @radius-sm;
|
||||||
|
background: fade(@bg-void, 68%);
|
||||||
|
border-left: 3px solid fade(@ember-bright, 60%);
|
||||||
|
|
||||||
|
&.has-tooltip {
|
||||||
|
cursor: pointer;
|
||||||
|
user-select: none;
|
||||||
|
&:hover { filter: brightness(1.1); }
|
||||||
|
}
|
||||||
|
|
||||||
|
.chat-damage-label {
|
||||||
|
.caps-heading();
|
||||||
|
font-size: 0.65rem;
|
||||||
|
letter-spacing: 0.06em;
|
||||||
|
color: @ash;
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chat-damage-number {
|
||||||
|
font-family: @font-display;
|
||||||
|
font-size: 1.3rem;
|
||||||
|
font-weight: 700;
|
||||||
|
color: lighten(@ember-bright, 8%);
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chat-tooltip-icon {
|
||||||
|
opacity: 0.5;
|
||||||
|
font-size: 0.7rem;
|
||||||
|
flex-shrink: 0;
|
||||||
|
transition: opacity 0.15s;
|
||||||
|
}
|
||||||
|
|
||||||
|
&.tooltip-open .chat-tooltip-icon { opacity: 1; }
|
||||||
|
}
|
||||||
|
|
||||||
|
// Outcome classes — success/crit/steady color
|
||||||
|
.mgne-chat-card.outcome-critical-success,
|
||||||
|
.mgne-chat-card.outcome-success,
|
||||||
|
.mgne-chat-card.outcome-steady {
|
||||||
|
.chat-outcome {
|
||||||
|
border-left-color: fade(@verdigris, 75%);
|
||||||
|
.chat-outcome-label { color: lighten(@verdigris, 28%); }
|
||||||
|
.chat-outcome-icon { color: lighten(@verdigris, 30%); }
|
||||||
|
}
|
||||||
|
.chat-damage-total {
|
||||||
|
border-left-color: fade(@verdigris, 60%);
|
||||||
|
.chat-damage-number { color: lighten(@verdigris, 25%); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Outcome classes — failure/broken/fumble color
|
||||||
|
.mgne-chat-card.outcome-failure,
|
||||||
|
.mgne-chat-card.outcome-broken,
|
||||||
|
.mgne-chat-card.outcome-fumble {
|
||||||
|
.chat-outcome {
|
||||||
|
border-left-color: fade(@ember-bright, 75%);
|
||||||
|
.chat-outcome-label { color: lighten(@ember-bright, 18%); }
|
||||||
|
.chat-outcome-icon { color: lighten(@blood, 10%); }
|
||||||
|
}
|
||||||
|
.chat-damage-total {
|
||||||
|
border-left-color: fade(@ember-bright, 60%);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Dice tooltip reveal panel
|
// Dice tooltip reveal panel
|
||||||
.mgne-chat-card .chat-dice-tooltip {
|
.mgne-chat-card .chat-dice-tooltip {
|
||||||
margin-top: 0.4rem;
|
padding: 0.35rem 0.5rem;
|
||||||
padding: 0.4rem 0.55rem;
|
|
||||||
background: fade(@bg-void, 85%);
|
background: fade(@bg-void, 85%);
|
||||||
border: 1px solid fade(@bone, 22%);
|
border: 1px solid fade(@bone, 18%);
|
||||||
border-radius: @radius-sm;
|
border-radius: @radius-sm;
|
||||||
|
|
||||||
// Foundry's standard dice-roll markup
|
|
||||||
.dice-roll {
|
.dice-roll {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
gap: 0.2rem;
|
gap: 0.15rem;
|
||||||
}
|
}
|
||||||
.dice-formula {
|
.dice-formula {
|
||||||
font-family: "Courier New", monospace;
|
font-family: "Courier New", monospace;
|
||||||
font-size: 0.72rem;
|
font-size: 0.7rem;
|
||||||
color: fade(@parchment, 78%);
|
color: fade(@parchment, 72%);
|
||||||
}
|
}
|
||||||
.dice-tooltip {
|
.dice-tooltip {
|
||||||
font-size: 0.78rem;
|
font-size: 0.75rem;
|
||||||
}
|
}
|
||||||
.dice {
|
.dice {
|
||||||
margin: 0.15rem 0;
|
margin: 0.1rem 0;
|
||||||
}
|
}
|
||||||
.die-icon, .die-face {
|
.die-icon, .die-face {
|
||||||
color: @gold-acid;
|
color: @gold-acid;
|
||||||
font-size: 0.8rem;
|
font-size: 0.78rem;
|
||||||
}
|
}
|
||||||
.part-formula { color: fade(@parchment, 82%); font-size: 0.72rem; }
|
.part-formula { color: fade(@parchment, 78%); font-size: 0.7rem; }
|
||||||
.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%); }
|
||||||
.dice-total {
|
.dice-total {
|
||||||
font-family: "CastorTwoMGNE", serif;
|
font-family: @font-display;
|
||||||
font-size: 1.05rem;
|
font-size: 1rem;
|
||||||
color: @gold-acid;
|
color: @gold-acid;
|
||||||
text-align: right;
|
text-align: center;
|
||||||
border-top: 1px solid fade(@bone, 20%);
|
border-top: 1px solid fade(@bone, 16%);
|
||||||
padding-top: 0.2rem;
|
padding-top: 0.2rem;
|
||||||
margin-top: 0.15rem;
|
margin-top: 0.1rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.mgne-chat-card .chat-outcome {
|
// Special text
|
||||||
.caps-heading();
|
.mgne-chat-card .chat-special-wrap {
|
||||||
margin: 0;
|
display: flex;
|
||||||
padding: 0.3rem 0.55rem;
|
align-items: flex-start;
|
||||||
|
gap: 0.4rem;
|
||||||
|
padding: 0.35rem 0.5rem;
|
||||||
|
border-left: 2px solid fade(@ember-bright, 40%);
|
||||||
|
background: fade(@bg-input, 80%);
|
||||||
border-radius: @radius-sm;
|
border-radius: @radius-sm;
|
||||||
background: fade(@bg-void, 72%);
|
|
||||||
border-left: 3px solid fade(@ember-bright, 70%);
|
|
||||||
color: lighten(@ember-bright, 12%);
|
|
||||||
font-size: 0.8rem;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.mgne-chat-card .chat-special {
|
.mgne-chat-card .chat-special-icon {
|
||||||
padding: 0.42rem 0.55rem;
|
flex-shrink: 0;
|
||||||
border-left: 3px solid fade(@ember-bright, 55%);
|
font-size: 0.7rem;
|
||||||
background: fade(@bg-input, 85%);
|
color: @ember-bright;
|
||||||
|
margin-top: 0.08rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mgne-chat-card .chat-special-text {
|
||||||
color: @parchment;
|
color: @parchment;
|
||||||
|
font-size: 0.72rem;
|
||||||
|
line-height: 1.4;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mgne-chat-card.outcome-critical-success,
|
// Omen reminders
|
||||||
.mgne-chat-card.outcome-success,
|
.mgne-chat-card .chat-omen-remind,
|
||||||
.mgne-chat-card.outcome-steady {
|
.mgne-chat-card .chat-omen-used {
|
||||||
border-color: fade(@verdigris, 42%);
|
margin: 0;
|
||||||
|
padding: 0.35rem 0.5rem;
|
||||||
|
border-radius: @radius-sm;
|
||||||
|
font-size: 0.7rem;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 0.35rem;
|
||||||
|
}
|
||||||
|
|
||||||
.chat-outcome {
|
.mgne-chat-card .chat-omen-remind {
|
||||||
color: lighten(@verdigris, 28%);
|
background: fade(@gold-acid, 18%);
|
||||||
border-left-color: fade(@verdigris, 80%);
|
border: 1px solid fade(@gold-acid, 35%);
|
||||||
|
color: lighten(@gold-acid, 18%);
|
||||||
|
|
||||||
|
i {
|
||||||
|
color: @gold-acid;
|
||||||
|
font-size: 0.7rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.mgne-chat-card.outcome-failure,
|
.mgne-chat-card .chat-omen-neutralize {
|
||||||
.mgne-chat-card.outcome-broken,
|
background: fade(@ember-bright, 18%);
|
||||||
.mgne-chat-card.outcome-fumble {
|
border-color: fade(@ember-bright, 35%);
|
||||||
border-color: fade(@blood, 48%);
|
color: lighten(@ember-bright, 15%);
|
||||||
|
|
||||||
.chat-outcome {
|
i {
|
||||||
color: lighten(@ember-bright, 18%);
|
color: @ember-bright;
|
||||||
border-left-color: fade(@ember-bright, 80%);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.mgne-chat-card.mode-apply-damage .chat-result-total,
|
.mgne-chat-card .chat-omen-used {
|
||||||
.mgne-chat-card.mode-damage .chat-result-total {
|
background: fade(@verdigris, 18%);
|
||||||
color: lighten(@ember-bright, 8%);
|
border: 1px solid fade(@verdigris, 32%);
|
||||||
|
color: lighten(@verdigris, 32%);
|
||||||
|
|
||||||
|
i {
|
||||||
|
color: lighten(@verdigris, 35%);
|
||||||
|
font-size: 0.7rem;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Card action buttons container
|
||||||
.mgne-chat-card .chat-card-actions {
|
.mgne-chat-card .chat-card-actions {
|
||||||
margin-top: 0.2rem;
|
margin-top: 0.1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Roll damage button
|
||||||
.mgne-roll-damage-btn {
|
.mgne-roll-damage-btn {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
gap: 0.45rem;
|
gap: 0.4rem;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 0.38rem 0.7rem;
|
padding: 0.38rem 0.7rem;
|
||||||
border: 1px solid @ember-bright;
|
border: 1px solid @ember-bright;
|
||||||
@@ -207,7 +369,7 @@
|
|||||||
background: @ember;
|
background: @ember;
|
||||||
color: #f8ede0;
|
color: #f8ede0;
|
||||||
font-family: @font-display;
|
font-family: @font-display;
|
||||||
font-size: 0.78rem;
|
font-size: 0.76rem;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
letter-spacing: 0.06em;
|
letter-spacing: 0.06em;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
@@ -215,7 +377,7 @@
|
|||||||
|
|
||||||
.dmg-formula {
|
.dmg-formula {
|
||||||
color: #fff5e8;
|
color: #fff5e8;
|
||||||
font-size: 0.75rem;
|
font-size: 0.73rem;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -242,11 +404,12 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Omen reroll button
|
||||||
.mgne-omen-reroll-btn {
|
.mgne-omen-reroll-btn {
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
gap: 0.45rem;
|
gap: 0.4rem;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 0.38rem 0.7rem;
|
padding: 0.38rem 0.7rem;
|
||||||
border: 1px solid @gold-acid;
|
border: 1px solid @gold-acid;
|
||||||
@@ -254,7 +417,7 @@
|
|||||||
background: darken(@gold-acid, 15%);
|
background: darken(@gold-acid, 15%);
|
||||||
color: #fff5d0;
|
color: #fff5d0;
|
||||||
font-family: @font-display;
|
font-family: @font-display;
|
||||||
font-size: 0.78rem;
|
font-size: 0.76rem;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
letter-spacing: 0.06em;
|
letter-spacing: 0.06em;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
@@ -267,8 +430,9 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Apply damage select
|
||||||
.chat-apply-actions {
|
.chat-apply-actions {
|
||||||
margin-top: 0.35rem;
|
margin-top: 0.25rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mgne-apply-damage-select {
|
.mgne-apply-damage-select {
|
||||||
@@ -279,7 +443,7 @@
|
|||||||
background: @bg-char;
|
background: @bg-char;
|
||||||
color: @bone;
|
color: @bone;
|
||||||
font-family: @font-body;
|
font-family: @font-body;
|
||||||
font-size: 0.8rem;
|
font-size: 0.78rem;
|
||||||
font-weight: 600;
|
font-weight: 600;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
transition: border-color 0.15s, background 0.15s;
|
transition: border-color 0.15s, background 0.15s;
|
||||||
|
|||||||
@@ -139,7 +139,7 @@ export const SYSTEM = {
|
|||||||
{ name: "Clothing (Average)", type: "armor", armorDie: "d2", penalty: 0 },
|
{ name: "Clothing (Average)", type: "armor", armorDie: "d2", penalty: 0 },
|
||||||
{ name: "Helm", type: "armor", armorDie: "d2", penalty: 0 },
|
{ name: "Helm", type: "armor", armorDie: "d2", penalty: 0 },
|
||||||
{ name: "Medium Shield", type: "shield", armorDie: "d4", penalty: 0 },
|
{ name: "Medium Shield", type: "shield", armorDie: "d4", penalty: 0 },
|
||||||
{ name: "Gambeson", type: "armor", armorDie: "d4", penalty: 0 },
|
{ name: "Gambeson", type: "armor", armorDie: "d2", penalty: 0 },
|
||||||
{ name: "Padded Leather", type: "armor", armorDie: "d4", penalty: 1 },
|
{ name: "Padded Leather", type: "armor", armorDie: "d4", penalty: 1 },
|
||||||
{ name: "Chain Shirt", type: "armor", armorDie: "d6", penalty: 1 },
|
{ name: "Chain Shirt", type: "armor", armorDie: "d6", penalty: 1 },
|
||||||
{ name: "Half Plate", type: "armor", armorDie: "d8", penalty: 2 },
|
{ name: "Half Plate", type: "armor", armorDie: "d8", penalty: 2 },
|
||||||
|
|||||||
@@ -48,14 +48,28 @@ function numericOptions(min, max, current = null) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const OUTCOME_ICONS = {
|
||||||
|
"critical-success": '<i class="fa-solid fa-star"></i>',
|
||||||
|
"success": '<i class="fa-solid fa-check"></i>',
|
||||||
|
"steady": '<i class="fa-solid fa-minus"></i>',
|
||||||
|
"failure": '<i class="fa-solid fa-xmark"></i>',
|
||||||
|
"broken": '<i class="fa-solid fa-skull"></i>',
|
||||||
|
"fumble": '<i class="fa-solid fa-skull"></i>',
|
||||||
|
"rolled": '<i class="fa-solid fa-bolt"></i>',
|
||||||
|
}
|
||||||
|
|
||||||
|
const SPECIAL_ICONS = {
|
||||||
|
default: '<i class="fa-solid fa-circle-info"></i>',
|
||||||
|
}
|
||||||
|
|
||||||
async function renderCard(context) {
|
async function renderCard(context) {
|
||||||
const outcomeClass = `${context.outcome ?? ""}`
|
const outcomeClass = `${context.outcome ?? ""}`
|
||||||
.toLowerCase()
|
.toLowerCase()
|
||||||
.replace(/[^a-z0-9]+/g, "-")
|
.replace(/[^a-z0-9]+/g, "-")
|
||||||
.replace(/^-|-$/g, "")
|
.replace(/^-|-$/g, "")
|
||||||
const eyebrow = context.eyebrow ?? getChatModeLabel(context.mode ?? "generic")
|
const modeLabel = getChatModeLabel(context.mode ?? "generic")
|
||||||
const normalizedEyebrow = `${eyebrow}`.trim().toLowerCase()
|
const outcomeIcon = OUTCOME_ICONS[outcomeClass] || ""
|
||||||
const normalizedLabel = `${context.label ?? ""}`.trim().toLowerCase()
|
const specialIcon = SPECIAL_ICONS.default
|
||||||
|
|
||||||
// Render dice tooltip HTML if a roll was provided
|
// Render dice tooltip HTML if a roll was provided
|
||||||
const diceTooltip = context._roll ? await context._roll.render() : null
|
const diceTooltip = context._roll ? await context._roll.render() : null
|
||||||
@@ -63,8 +77,10 @@ async function renderCard(context) {
|
|||||||
return foundry.applications.handlebars.renderTemplate(`systems/${SYSTEM_ID}/templates/chat-message.hbs`, {
|
return foundry.applications.handlebars.renderTemplate(`systems/${SYSTEM_ID}/templates/chat-message.hbs`, {
|
||||||
...context,
|
...context,
|
||||||
modeClass: context.mode ?? "generic",
|
modeClass: context.mode ?? "generic",
|
||||||
eyebrow: "",
|
modeLabel,
|
||||||
outcomeClass,
|
outcomeClass,
|
||||||
|
outcomeIcon,
|
||||||
|
specialIcon,
|
||||||
diceTooltip,
|
diceTooltip,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@@ -208,7 +224,7 @@ export default class MGNERoll {
|
|||||||
return { roll, broken }
|
return { roll, broken }
|
||||||
}
|
}
|
||||||
|
|
||||||
static async rollDamage({ actor, item }) {
|
static async rollDamage({ actor, item, targetActor = null }) {
|
||||||
const damageBonus = await actor.consumePendingDamageBonus(item.id)
|
const damageBonus = await actor.consumePendingDamageBonus(item.id)
|
||||||
const multiplier = damageBonus?.multiplier ?? 1
|
const multiplier = damageBonus?.multiplier ?? 1
|
||||||
const baseFormula = item.system.damage || "1"
|
const baseFormula = item.system.damage || "1"
|
||||||
@@ -242,7 +258,7 @@ export default class MGNERoll {
|
|||||||
mode: "damage",
|
mode: "damage",
|
||||||
actorName: actor.name,
|
actorName: actor.name,
|
||||||
actorImg: actor.img,
|
actorImg: actor.img,
|
||||||
label: `${item.name} Damage`,
|
label: f("MGNE.Roll.ItemDamageLabel", { item: item.name }),
|
||||||
subtitle: null,
|
subtitle: null,
|
||||||
formula: roll.formula,
|
formula: roll.formula,
|
||||||
total: roll.total,
|
total: roll.total,
|
||||||
@@ -252,6 +268,7 @@ export default class MGNERoll {
|
|||||||
showApplyButton: true,
|
showApplyButton: true,
|
||||||
damageTotal: roll.total,
|
damageTotal: roll.total,
|
||||||
damageCritical: isCritical,
|
damageCritical: isCritical,
|
||||||
|
damageTargetActorId: targetActor?.id ?? null,
|
||||||
_roll: roll,
|
_roll: roll,
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -264,7 +281,7 @@ export default class MGNERoll {
|
|||||||
return { roll }
|
return { roll }
|
||||||
}
|
}
|
||||||
|
|
||||||
static async rollFlatDamage({ actor, label, formula }) {
|
static async rollFlatDamage({ actor, label, formula, targetActor = null }) {
|
||||||
const damageBonus = await actor.consumePendingDamageBonus("profile-attack")
|
const damageBonus = await actor.consumePendingDamageBonus("profile-attack")
|
||||||
const multiplier = damageBonus?.multiplier ?? 1
|
const multiplier = damageBonus?.multiplier ?? 1
|
||||||
const baseFormula = formula || "1"
|
const baseFormula = formula || "1"
|
||||||
@@ -284,6 +301,7 @@ export default class MGNERoll {
|
|||||||
showApplyButton: true,
|
showApplyButton: true,
|
||||||
damageTotal: roll.total,
|
damageTotal: roll.total,
|
||||||
damageCritical: isCritical,
|
damageCritical: isCritical,
|
||||||
|
damageTargetActorId: targetActor?.id ?? null,
|
||||||
_roll: roll,
|
_roll: roll,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ export default class MGNECharacter extends foundry.abstract.TypeDataModel {
|
|||||||
}),
|
}),
|
||||||
conditions: conditionSchema(),
|
conditions: conditionSchema(),
|
||||||
carryCapacity: numberField(8, 0),
|
carryCapacity: numberField(8, 0),
|
||||||
|
carryCapacityModifier: numberField(0, 0),
|
||||||
rations: numberField(0, 0),
|
rations: numberField(0, 0),
|
||||||
kiffol: numberField(0, 0),
|
kiffol: numberField(0, 0),
|
||||||
background: stringField(""),
|
background: stringField(""),
|
||||||
@@ -40,18 +41,25 @@ export default class MGNECharacter extends foundry.abstract.TypeDataModel {
|
|||||||
prepareDerivedData() {
|
prepareDerivedData() {
|
||||||
super.prepareDerivedData()
|
super.prepareDerivedData()
|
||||||
|
|
||||||
this.carryCapacity = (this.abilities.strength?.value ?? 0) + 8
|
|
||||||
this.resonance.remaining = Math.max(0, (this.resonance.max ?? 0) - (this.resonance.used ?? 0))
|
this.resonance.remaining = Math.max(0, (this.resonance.max ?? 0) - (this.resonance.used ?? 0))
|
||||||
this.syncLimit = Math.max(0, this.abilities.toughness?.value ?? 0)
|
this.syncLimit = Math.max(0, this.abilities.toughness?.value ?? 0)
|
||||||
this.syncRemaining = Math.max(0, this.syncLimit - (this.artifactSync.used ?? 0))
|
this.syncRemaining = Math.max(0, this.syncLimit - (this.artifactSync.used ?? 0))
|
||||||
this.armorFormula = this.parent?.getArmorRollFormula?.() ?? "0"
|
this.armorFormula = this.parent?.getArmorRollFormula?.() ?? "0"
|
||||||
|
|
||||||
|
// Compute carry capacity: base STR + 8 + feature capacities + direct modifier
|
||||||
|
const featureCapacity = (this.parent?.items ?? [])
|
||||||
|
.filter(i => i.type === "feature")
|
||||||
|
.reduce((sum, f) => sum + (f.system?.capacity ?? 0), 0)
|
||||||
|
this.carryCapacity = (this.abilities.strength?.value ?? 0) + 8 + featureCapacity + (this.carryCapacityModifier ?? 0)
|
||||||
|
|
||||||
// Compute current load per RAW:
|
// Compute current load per RAW:
|
||||||
// trivial = 0, light = 10 per slot, normal = 1, heavy = fills remaining capacity (max 1)
|
// Only items with a weight field count — features and creature-traits are excluded
|
||||||
|
// trivial = 0, light = 10 per slot, normal = 1, heavy = 2
|
||||||
let normalLoad = 0
|
let normalLoad = 0
|
||||||
let lightCount = 0
|
let lightCount = 0
|
||||||
let heavyCount = 0
|
let heavyCount = 0
|
||||||
for (const item of (this.parent?.items ?? [])) {
|
for (const item of (this.parent?.items ?? [])) {
|
||||||
|
if (!("weight" in (item.system ?? {}))) continue // no weight field (features, traits)
|
||||||
if (item.system?.carried === false) continue // not being carried
|
if (item.system?.carried === false) continue // not being carried
|
||||||
const w = item.system?.weight ?? "normal"
|
const w = item.system?.weight ?? "normal"
|
||||||
if (w === "trivial") continue
|
if (w === "trivial") continue
|
||||||
@@ -63,15 +71,7 @@ export default class MGNECharacter extends foundry.abstract.TypeDataModel {
|
|||||||
this.lightItemCount = lightCount
|
this.lightItemCount = lightCount
|
||||||
this.heavyItemCount = heavyCount
|
this.heavyItemCount = heavyCount
|
||||||
|
|
||||||
if (heavyCount >= 2) {
|
this.currentLoad = normalLoad + heavyCount * 2
|
||||||
// Can't carry two heavy items — automatically overloaded
|
|
||||||
this.currentLoad = this.carryCapacity + (heavyCount - 1)
|
|
||||||
} else if (heavyCount === 1) {
|
|
||||||
// Heavy fills remaining capacity; other items fit alongside it
|
|
||||||
this.currentLoad = Math.max(normalLoad, this.carryCapacity)
|
|
||||||
} else {
|
|
||||||
this.currentLoad = normalLoad
|
|
||||||
}
|
|
||||||
this.overloaded = this.currentLoad > this.carryCapacity
|
this.overloaded = this.currentLoad > this.carryCapacity
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import { SYSTEM } from "../config/system.mjs"
|
import { SYSTEM } from "../config/system.mjs"
|
||||||
import { htmlField } from "./shared.mjs"
|
import { htmlField, numberField } from "./shared.mjs"
|
||||||
|
|
||||||
export default class MGNEFeature extends foundry.abstract.TypeDataModel {
|
export default class MGNEFeature extends foundry.abstract.TypeDataModel {
|
||||||
static defineSchema() {
|
static defineSchema() {
|
||||||
@@ -10,6 +10,7 @@ export default class MGNEFeature extends foundry.abstract.TypeDataModel {
|
|||||||
blank: true,
|
blank: true,
|
||||||
initial: "",
|
initial: "",
|
||||||
}),
|
}),
|
||||||
|
capacity: numberField(0, 0),
|
||||||
description: htmlField(""),
|
description: htmlField(""),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -7,9 +7,11 @@
|
|||||||
"": {
|
"": {
|
||||||
"name": "fvtt-machine-gods-noxian-expanse",
|
"name": "fvtt-machine-gods-noxian-expanse",
|
||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
|
"hasInstallScript": true,
|
||||||
"license": "UNLICENSED",
|
"license": "UNLICENSED",
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@foundryvtt/foundryvtt-cli": "^3.0.3",
|
"@foundryvtt/foundryvtt-cli": "^3.0.3",
|
||||||
|
"classic-level": "^3.0.0",
|
||||||
"less": "^4.6.4",
|
"less": "^4.6.4",
|
||||||
"patch-package": "^8.0.1"
|
"patch-package": "^8.0.1"
|
||||||
}
|
}
|
||||||
@@ -36,6 +38,53 @@
|
|||||||
"node": ">17.0.0"
|
"node": ">17.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@foundryvtt/foundryvtt-cli/node_modules/abstract-level": {
|
||||||
|
"version": "1.0.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/abstract-level/-/abstract-level-1.0.4.tgz",
|
||||||
|
"integrity": "sha512-eUP/6pbXBkMbXFdx4IH2fVgvB7M0JvR7/lIL33zcs0IBcwjdzSSl31TOJsaCzmKSSDF9h8QYSOJux4Nd4YJqFg==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"buffer": "^6.0.3",
|
||||||
|
"catering": "^2.1.0",
|
||||||
|
"is-buffer": "^2.0.5",
|
||||||
|
"level-supports": "^4.0.0",
|
||||||
|
"level-transcoder": "^1.0.1",
|
||||||
|
"module-error": "^1.0.1",
|
||||||
|
"queue-microtask": "^1.2.3"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@foundryvtt/foundryvtt-cli/node_modules/classic-level": {
|
||||||
|
"version": "1.4.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/classic-level/-/classic-level-1.4.1.tgz",
|
||||||
|
"integrity": "sha512-qGx/KJl3bvtOHrGau2WklEZuXhS3zme+jf+fsu6Ej7W7IP/C49v7KNlWIsT1jZu0YnfzSIYDGcEWpCa1wKGWXQ==",
|
||||||
|
"dev": true,
|
||||||
|
"hasInstallScript": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"abstract-level": "^1.0.2",
|
||||||
|
"catering": "^2.1.0",
|
||||||
|
"module-error": "^1.0.1",
|
||||||
|
"napi-macros": "^2.2.2",
|
||||||
|
"node-gyp-build": "^4.3.0"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@foundryvtt/foundryvtt-cli/node_modules/level-supports": {
|
||||||
|
"version": "4.0.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/level-supports/-/level-supports-4.0.1.tgz",
|
||||||
|
"integrity": "sha512-PbXpve8rKeNcZ9C1mUicC9auIYFyGpkV9/i6g76tLgANwWhtG2v7I4xNBUlkn3lE2/dZF3Pi0ygYGtLc4RXXdA==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=12"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/@seald-io/binary-search-tree": {
|
"node_modules/@seald-io/binary-search-tree": {
|
||||||
"version": "1.0.3",
|
"version": "1.0.3",
|
||||||
"resolved": "https://registry.npmjs.org/@seald-io/binary-search-tree/-/binary-search-tree-1.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/@seald-io/binary-search-tree/-/binary-search-tree-1.0.3.tgz",
|
||||||
@@ -62,22 +111,21 @@
|
|||||||
"license": "BSD-2-Clause"
|
"license": "BSD-2-Clause"
|
||||||
},
|
},
|
||||||
"node_modules/abstract-level": {
|
"node_modules/abstract-level": {
|
||||||
"version": "1.0.4",
|
"version": "3.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/abstract-level/-/abstract-level-1.0.4.tgz",
|
"resolved": "https://registry.npmjs.org/abstract-level/-/abstract-level-3.1.1.tgz",
|
||||||
"integrity": "sha512-eUP/6pbXBkMbXFdx4IH2fVgvB7M0JvR7/lIL33zcs0IBcwjdzSSl31TOJsaCzmKSSDF9h8QYSOJux4Nd4YJqFg==",
|
"integrity": "sha512-CW2gKbJFTuX1feMvOrvsVMmijAOgI9kg2Ie9Dq3gOcMt/dVVoVmqNlLcEUCT13NxHFMEajcUcVBIplbyDroDiw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"buffer": "^6.0.3",
|
"buffer": "^6.0.3",
|
||||||
"catering": "^2.1.0",
|
|
||||||
"is-buffer": "^2.0.5",
|
"is-buffer": "^2.0.5",
|
||||||
"level-supports": "^4.0.0",
|
"level-supports": "^6.2.0",
|
||||||
"level-transcoder": "^1.0.1",
|
"level-transcoder": "^1.0.1",
|
||||||
"module-error": "^1.0.1",
|
"maybe-combine-errors": "^1.0.0",
|
||||||
"queue-microtask": "^1.2.3"
|
"module-error": "^1.0.1"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=12"
|
"node": ">=18"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/ansi-regex": {
|
"node_modules/ansi-regex": {
|
||||||
@@ -278,21 +326,20 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/classic-level": {
|
"node_modules/classic-level": {
|
||||||
"version": "1.4.1",
|
"version": "3.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/classic-level/-/classic-level-1.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/classic-level/-/classic-level-3.0.0.tgz",
|
||||||
"integrity": "sha512-qGx/KJl3bvtOHrGau2WklEZuXhS3zme+jf+fsu6Ej7W7IP/C49v7KNlWIsT1jZu0YnfzSIYDGcEWpCa1wKGWXQ==",
|
"integrity": "sha512-yGy8j8LjPbN0Bh3+ygmyYvrmskVita92pD/zCoalfcC9XxZj6iDtZTAnz+ot7GG8p9KLTG+MZ84tSA4AhkgVZQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"hasInstallScript": true,
|
"hasInstallScript": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"abstract-level": "^1.0.2",
|
"abstract-level": "^3.1.0",
|
||||||
"catering": "^2.1.0",
|
|
||||||
"module-error": "^1.0.1",
|
"module-error": "^1.0.1",
|
||||||
"napi-macros": "^2.2.2",
|
"napi-macros": "^2.2.2",
|
||||||
"node-gyp-build": "^4.3.0"
|
"node-gyp-build": "^4.3.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=12"
|
"node": ">=18"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/cliui": {
|
"node_modules/cliui": {
|
||||||
@@ -1017,13 +1064,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/level-supports": {
|
"node_modules/level-supports": {
|
||||||
"version": "4.0.1",
|
"version": "6.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/level-supports/-/level-supports-4.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/level-supports/-/level-supports-6.2.0.tgz",
|
||||||
"integrity": "sha512-PbXpve8rKeNcZ9C1mUicC9auIYFyGpkV9/i6g76tLgANwWhtG2v7I4xNBUlkn3lE2/dZF3Pi0ygYGtLc4RXXdA==",
|
"integrity": "sha512-QNxVXP0IRnBmMsJIh+sb2kwNCYcKciQZJEt+L1hPCHrKNELllXhvrlClVHXBYZVT+a7aTSM6StgNXdAldoab3w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=12"
|
"node": ">=16"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/level-transcoder": {
|
"node_modules/level-transcoder": {
|
||||||
@@ -1085,6 +1132,16 @@
|
|||||||
"node": ">= 0.4"
|
"node": ">= 0.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/maybe-combine-errors": {
|
||||||
|
"version": "1.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/maybe-combine-errors/-/maybe-combine-errors-1.0.0.tgz",
|
||||||
|
"integrity": "sha512-eefp6IduNPT6fVdwPp+1NgD0PML1NU5P6j1Mj5nz1nidX8/sWY7119WL8vTAHgqfsY74TzW0w1XPgdYEKkGZ5A==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/micromatch": {
|
"node_modules/micromatch": {
|
||||||
"version": "4.0.8",
|
"version": "4.0.8",
|
||||||
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
|
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
|
||||||
|
|||||||
@@ -15,6 +15,7 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@foundryvtt/foundryvtt-cli": "^3.0.3",
|
"@foundryvtt/foundryvtt-cli": "^3.0.3",
|
||||||
|
"classic-level": "^3.0.0",
|
||||||
"less": "^4.6.4",
|
"less": "^4.6.4",
|
||||||
"patch-package": "^8.0.1"
|
"patch-package": "^8.0.1"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
MANIFEST-000073
|
MANIFEST-000032
|
||||||
|
|||||||
@@ -1,15 +1,14 @@
|
|||||||
2026/06/02-19:43:31.530779 7f2215bfe6c0 Recovering log #70
|
2026/06/08-22:30:14.302066 7f5208bff6c0 Recovering log #29
|
||||||
2026/06/02-19:43:31.541230 7f2215bfe6c0 Delete type=3 #68
|
2026/06/08-22:30:14.311260 7f5208bff6c0 Delete type=3 #27
|
||||||
2026/06/02-19:43:31.541267 7f2215bfe6c0 Delete type=0 #70
|
2026/06/08-22:30:14.311276 7f5208bff6c0 Delete type=0 #29
|
||||||
2026/06/02-19:44:40.424603 7f1ff7fff6c0 Level-0 table #76: started
|
2026/06/08-22:30:22.508073 7f51ba7fc6c0 Level-0 table #35: started
|
||||||
2026/06/02-19:44:40.428039 7f1ff7fff6c0 Level-0 table #76: 1354 bytes OK
|
2026/06/08-22:30:22.511267 7f51ba7fc6c0 Level-0 table #35: 1820 bytes OK
|
||||||
2026/06/02-19:44:40.435632 7f1ff7fff6c0 Delete type=0 #74
|
2026/06/08-22:30:22.517613 7f51ba7fc6c0 Delete type=0 #33
|
||||||
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/06/08-22:30:22.543986 7f51ba7fc6c0 Manual compaction at level-0 from '!items!mgne-arm-chainshirt' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 41 : 1
|
||||||
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/08-22:30:22.543992 7f51ba7fc6c0 Compacting 1@0 + 1@1 files
|
||||||
2026/06/02-19:44:40.446608 7f1ff7fff6c0 Compacting 1@1 + 1@2 files
|
2026/06/08-22:30:22.546985 7f51ba7fc6c0 Generated table #36@0: 9 keys, 1445 bytes
|
||||||
2026/06/02-19:44:40.449973 7f1ff7fff6c0 Generated table #77@1: 1 keys, 685 bytes
|
2026/06/08-22:30:22.546989 7f51ba7fc6c0 Compacted 1@0 + 1@1 files => 1445 bytes
|
||||||
2026/06/02-19:44:40.450003 7f1ff7fff6c0 Compacted 1@1 + 1@2 files => 685 bytes
|
2026/06/08-22:30:22.553011 7f51ba7fc6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
|
||||||
2026/06/02-19:44:40.456735 7f1ff7fff6c0 compacted to: files[ 0 0 2 0 0 0 0 ]
|
2026/06/08-22:30:22.553091 7f51ba7fc6c0 Delete type=2 #31
|
||||||
2026/06/02-19:44:40.457031 7f1ff7fff6c0 Delete type=2 #72
|
2026/06/08-22:30:22.553161 7f51ba7fc6c0 Delete type=2 #35
|
||||||
2026/06/02-19:44:40.457165 7f1ff7fff6c0 Delete type=2 #76
|
2026/06/08-22:30:22.563914 7f51ba7fc6c0 Manual compaction at level-0 from '!items!null' @ 41 : 1 .. '!items!null' @ 0 : 0; will stop at (end)
|
||||||
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)
|
|
||||||
|
|||||||
@@ -1,15 +1,14 @@
|
|||||||
2026/06/02-19:38:41.359950 7f22153fd6c0 Recovering log #65
|
2026/06/08-22:28:49.244498 7f51baffd6c0 Recovering log #24
|
||||||
2026/06/02-19:38:41.370323 7f22153fd6c0 Delete type=3 #63
|
2026/06/08-22:28:49.253761 7f51baffd6c0 Delete type=3 #22
|
||||||
2026/06/02-19:38:41.370382 7f22153fd6c0 Delete type=0 #65
|
2026/06/08-22:28:49.253785 7f51baffd6c0 Delete type=0 #24
|
||||||
2026/06/02-19:38:52.219787 7f1ff7fff6c0 Level-0 table #71: started
|
2026/06/08-22:29:08.699377 7f51ba7fc6c0 Level-0 table #30: started
|
||||||
2026/06/02-19:38:52.223074 7f1ff7fff6c0 Level-0 table #71: 1354 bytes OK
|
2026/06/08-22:29:08.702874 7f51ba7fc6c0 Level-0 table #30: 1820 bytes OK
|
||||||
2026/06/02-19:38:52.230583 7f1ff7fff6c0 Delete type=0 #69
|
2026/06/08-22:29:08.709319 7f51ba7fc6c0 Delete type=0 #28
|
||||||
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/06/08-22:29:08.715547 7f51ba7fc6c0 Manual compaction at level-0 from '!items!mgne-arm-chainshirt' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 33 : 1
|
||||||
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/06/08-22:29:08.715551 7f51ba7fc6c0 Compacting 1@0 + 1@1 files
|
||||||
2026/06/02-19:38:52.249106 7f1ff7fff6c0 Compacting 1@1 + 1@2 files
|
2026/06/08-22:29:08.718787 7f51ba7fc6c0 Generated table #31@0: 9 keys, 1445 bytes
|
||||||
2026/06/02-19:38:52.252924 7f1ff7fff6c0 Generated table #72@1: 1 keys, 685 bytes
|
2026/06/08-22:29:08.718802 7f51ba7fc6c0 Compacted 1@0 + 1@1 files => 1445 bytes
|
||||||
2026/06/02-19:38:52.252947 7f1ff7fff6c0 Compacted 1@1 + 1@2 files => 685 bytes
|
2026/06/08-22:29:08.724761 7f51ba7fc6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
|
||||||
2026/06/02-19:38:52.259084 7f1ff7fff6c0 compacted to: files[ 0 0 2 0 0 0 0 ]
|
2026/06/08-22:29:08.724834 7f51ba7fc6c0 Delete type=2 #26
|
||||||
2026/06/02-19:38:52.259162 7f1ff7fff6c0 Delete type=2 #67
|
2026/06/08-22:29:08.724899 7f51ba7fc6c0 Delete type=2 #30
|
||||||
2026/06/02-19:38:52.259309 7f1ff7fff6c0 Delete type=2 #71
|
2026/06/08-22:29:08.737992 7f51ba7fc6c0 Manual compaction at level-0 from '!items!null' @ 33 : 1 .. '!items!null' @ 0 : 0; will stop at (end)
|
||||||
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)
|
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
MANIFEST-000073
|
MANIFEST-000030
|
||||||
|
|||||||
@@ -1,15 +1,14 @@
|
|||||||
2026/06/02-19:43:31.502187 7f22153fd6c0 Recovering log #70
|
2026/06/08-22:30:14.280655 7f51bb7fe6c0 Recovering log #27
|
||||||
2026/06/02-19:43:31.512581 7f22153fd6c0 Delete type=3 #68
|
2026/06/08-22:30:14.289768 7f51bb7fe6c0 Delete type=3 #25
|
||||||
2026/06/02-19:43:31.512620 7f22153fd6c0 Delete type=0 #70
|
2026/06/08-22:30:14.289787 7f51bb7fe6c0 Delete type=0 #27
|
||||||
2026/06/02-19:44:40.413927 7f1ff7fff6c0 Level-0 table #76: started
|
2026/06/08-22:30:22.461106 7f51ba7fc6c0 Level-0 table #33: started
|
||||||
2026/06/02-19:44:40.417618 7f1ff7fff6c0 Level-0 table #76: 4899 bytes OK
|
2026/06/08-22:30:22.464602 7f51ba7fc6c0 Level-0 table #33: 4899 bytes OK
|
||||||
2026/06/02-19:44:40.424469 7f1ff7fff6c0 Delete type=0 #74
|
2026/06/08-22:30:22.471064 7f51ba7fc6c0 Delete type=0 #31
|
||||||
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/06/08-22:30:22.489630 7f51ba7fc6c0 Manual compaction at level-0 from '!actors!mgne-comp-beguiled-noble' @ 72057594037927935 : 1 .. '!actors!null' @ 0 : 0; will stop at '!actors!null' @ 21 : 1
|
||||||
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/08-22:30:22.489634 7f51ba7fc6c0 Compacting 1@0 + 1@1 files
|
||||||
2026/06/02-19:44:40.468288 7f1ff7fff6c0 Compacting 1@1 + 1@2 files
|
2026/06/08-22:30:22.492585 7f51ba7fc6c0 Generated table #34@0: 5 keys, 3562 bytes
|
||||||
2026/06/02-19:44:40.471670 7f1ff7fff6c0 Generated table #77@1: 1 keys, 1984 bytes
|
2026/06/08-22:30:22.492593 7f51ba7fc6c0 Compacted 1@0 + 1@1 files => 3562 bytes
|
||||||
2026/06/02-19:44:40.471701 7f1ff7fff6c0 Compacted 1@1 + 1@2 files => 1984 bytes
|
2026/06/08-22:30:22.499213 7f51ba7fc6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
|
||||||
2026/06/02-19:44:40.477948 7f1ff7fff6c0 compacted to: files[ 0 0 2 0 0 0 0 ]
|
2026/06/08-22:30:22.499275 7f51ba7fc6c0 Delete type=2 #29
|
||||||
2026/06/02-19:44:40.478072 7f1ff7fff6c0 Delete type=2 #72
|
2026/06/08-22:30:22.499325 7f51ba7fc6c0 Delete type=2 #33
|
||||||
2026/06/02-19:44:40.478253 7f1ff7fff6c0 Delete type=2 #76
|
2026/06/08-22:30:22.507968 7f51ba7fc6c0 Manual compaction at level-0 from '!actors!null' @ 21 : 1 .. '!actors!null' @ 0 : 0; will stop at (end)
|
||||||
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)
|
|
||||||
|
|||||||
@@ -1,15 +1,14 @@
|
|||||||
2026/06/02-19:38:41.329254 7f2214bfc6c0 Recovering log #65
|
2026/06/08-22:28:49.222288 7f51bb7fe6c0 Recovering log #22
|
||||||
2026/06/02-19:38:41.339373 7f2214bfc6c0 Delete type=3 #63
|
2026/06/08-22:28:49.232786 7f51bb7fe6c0 Delete type=3 #20
|
||||||
2026/06/02-19:38:41.339444 7f2214bfc6c0 Delete type=0 #65
|
2026/06/08-22:28:49.232806 7f51bb7fe6c0 Delete type=0 #22
|
||||||
2026/06/02-19:38:52.118810 7f1ff7fff6c0 Level-0 table #71: started
|
2026/06/08-22:29:08.601469 7f51ba7fc6c0 Level-0 table #28: started
|
||||||
2026/06/02-19:38:52.123075 7f1ff7fff6c0 Level-0 table #71: 4899 bytes OK
|
2026/06/08-22:29:08.604604 7f51ba7fc6c0 Level-0 table #28: 4899 bytes OK
|
||||||
2026/06/02-19:38:52.130714 7f1ff7fff6c0 Delete type=0 #69
|
2026/06/08-22:29:08.610544 7f51ba7fc6c0 Delete type=0 #26
|
||||||
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/06/08-22:29:08.630909 7f51ba7fc6c0 Manual compaction at level-0 from '!actors!mgne-comp-beguiled-noble' @ 72057594037927935 : 1 .. '!actors!null' @ 0 : 0; will stop at '!actors!null' @ 17 : 1
|
||||||
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/06/08-22:29:08.630913 7f51ba7fc6c0 Compacting 1@0 + 1@1 files
|
||||||
2026/06/02-19:38:52.189297 7f1ff7fff6c0 Compacting 1@1 + 1@2 files
|
2026/06/08-22:29:08.633954 7f51ba7fc6c0 Generated table #29@0: 5 keys, 3562 bytes
|
||||||
2026/06/02-19:38:52.193815 7f1ff7fff6c0 Generated table #72@1: 1 keys, 1984 bytes
|
2026/06/08-22:29:08.633965 7f51ba7fc6c0 Compacted 1@0 + 1@1 files => 3562 bytes
|
||||||
2026/06/02-19:38:52.193845 7f1ff7fff6c0 Compacted 1@1 + 1@2 files => 1984 bytes
|
2026/06/08-22:29:08.639624 7f51ba7fc6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
|
||||||
2026/06/02-19:38:52.200660 7f1ff7fff6c0 compacted to: files[ 0 0 2 0 0 0 0 ]
|
2026/06/08-22:29:08.639660 7f51ba7fc6c0 Delete type=2 #24
|
||||||
2026/06/02-19:38:52.200784 7f1ff7fff6c0 Delete type=2 #67
|
2026/06/08-22:29:08.639710 7f51ba7fc6c0 Delete type=2 #28
|
||||||
2026/06/02-19:38:52.200926 7f1ff7fff6c0 Delete type=2 #71
|
2026/06/08-22:29:08.649354 7f51ba7fc6c0 Manual compaction at level-0 from '!actors!null' @ 17 : 1 .. '!actors!null' @ 0 : 0; will stop at (end)
|
||||||
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)
|
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
MANIFEST-000073
|
MANIFEST-000030
|
||||||
|
|||||||
@@ -1,15 +1,14 @@
|
|||||||
2026/06/02-19:43:31.488540 7f2215bfe6c0 Recovering log #70
|
2026/06/08-22:30:14.270038 7f5208bff6c0 Recovering log #27
|
||||||
2026/06/02-19:43:31.498827 7f2215bfe6c0 Delete type=3 #68
|
2026/06/08-22:30:14.279434 7f5208bff6c0 Delete type=3 #25
|
||||||
2026/06/02-19:43:31.498873 7f2215bfe6c0 Delete type=0 #70
|
2026/06/08-22:30:14.279458 7f5208bff6c0 Delete type=0 #27
|
||||||
2026/06/02-19:44:40.435761 7f1ff7fff6c0 Level-0 table #76: started
|
2026/06/08-22:30:22.441981 7f51ba7fc6c0 Level-0 table #33: started
|
||||||
2026/06/02-19:44:40.439546 7f1ff7fff6c0 Level-0 table #76: 10405 bytes OK
|
2026/06/08-22:30:22.445390 7f51ba7fc6c0 Level-0 table #33: 10411 bytes OK
|
||||||
2026/06/02-19:44:40.446253 7f1ff7fff6c0 Delete type=0 #74
|
2026/06/08-22:30:22.452159 7f51ba7fc6c0 Delete type=0 #31
|
||||||
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/06/08-22:30:22.471146 7f51ba7fc6c0 Manual compaction at level-0 from '!items!mgne-feat-11' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 181 : 1
|
||||||
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/08-22:30:22.471150 7f51ba7fc6c0 Compacting 1@0 + 1@1 files
|
||||||
2026/06/02-19:44:40.478373 7f1ff7fff6c0 Compacting 1@1 + 1@2 files
|
2026/06/08-22:30:22.474171 7f51ba7fc6c0 Generated table #34@0: 37 keys, 8891 bytes
|
||||||
2026/06/02-19:44:40.482365 7f1ff7fff6c0 Generated table #77@1: 1 keys, 728 bytes
|
2026/06/08-22:30:22.474190 7f51ba7fc6c0 Compacted 1@0 + 1@1 files => 8891 bytes
|
||||||
2026/06/02-19:44:40.482397 7f1ff7fff6c0 Compacted 1@1 + 1@2 files => 728 bytes
|
2026/06/08-22:30:22.480499 7f51ba7fc6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
|
||||||
2026/06/02-19:44:40.489232 7f1ff7fff6c0 compacted to: files[ 0 0 2 0 0 0 0 ]
|
2026/06/08-22:30:22.480746 7f51ba7fc6c0 Delete type=2 #29
|
||||||
2026/06/02-19:44:40.489356 7f1ff7fff6c0 Delete type=2 #72
|
2026/06/08-22:30:22.480804 7f51ba7fc6c0 Delete type=2 #33
|
||||||
2026/06/02-19:44:40.489491 7f1ff7fff6c0 Delete type=2 #76
|
2026/06/08-22:30:22.507958 7f51ba7fc6c0 Manual compaction at level-0 from '!items!null' @ 181 : 1 .. '!items!null' @ 0 : 0; will stop at (end)
|
||||||
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)
|
|
||||||
|
|||||||
@@ -1,15 +1,14 @@
|
|||||||
2026/06/02-19:38:41.313392 7f22163ff6c0 Recovering log #65
|
2026/06/08-22:28:49.211463 7f51bbfff6c0 Recovering log #22
|
||||||
2026/06/02-19:38:41.325409 7f22163ff6c0 Delete type=3 #63
|
2026/06/08-22:28:49.220803 7f51bbfff6c0 Delete type=3 #20
|
||||||
2026/06/02-19:38:41.325473 7f22163ff6c0 Delete type=0 #65
|
2026/06/08-22:28:49.220825 7f51bbfff6c0 Delete type=0 #22
|
||||||
2026/06/02-19:38:52.130850 7f1ff7fff6c0 Level-0 table #71: started
|
2026/06/08-22:29:08.581725 7f51ba7fc6c0 Level-0 table #28: started
|
||||||
2026/06/02-19:38:52.134936 7f1ff7fff6c0 Level-0 table #71: 10410 bytes OK
|
2026/06/08-22:29:08.585305 7f51ba7fc6c0 Level-0 table #28: 10414 bytes OK
|
||||||
2026/06/02-19:38:52.141805 7f1ff7fff6c0 Delete type=0 #69
|
2026/06/08-22:29:08.591259 7f51ba7fc6c0 Delete type=0 #26
|
||||||
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/06/08-22:29:08.610605 7f51ba7fc6c0 Manual compaction at level-0 from '!items!mgne-feat-11' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 145 : 1
|
||||||
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/06/08-22:29:08.610609 7f51ba7fc6c0 Compacting 1@0 + 1@1 files
|
||||||
2026/06/02-19:38:52.177922 7f1ff7fff6c0 Compacting 1@1 + 1@2 files
|
2026/06/08-22:29:08.614617 7f51ba7fc6c0 Generated table #29@0: 37 keys, 8891 bytes
|
||||||
2026/06/02-19:38:52.181665 7f1ff7fff6c0 Generated table #72@1: 1 keys, 728 bytes
|
2026/06/08-22:29:08.614629 7f51ba7fc6c0 Compacted 1@0 + 1@1 files => 8891 bytes
|
||||||
2026/06/02-19:38:52.181698 7f1ff7fff6c0 Compacted 1@1 + 1@2 files => 728 bytes
|
2026/06/08-22:29:08.620444 7f51ba7fc6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
|
||||||
2026/06/02-19:38:52.188934 7f1ff7fff6c0 compacted to: files[ 0 0 2 0 0 0 0 ]
|
2026/06/08-22:29:08.620779 7f51ba7fc6c0 Delete type=2 #24
|
||||||
2026/06/02-19:38:52.189052 7f1ff7fff6c0 Delete type=2 #67
|
2026/06/08-22:29:08.620832 7f51ba7fc6c0 Delete type=2 #28
|
||||||
2026/06/02-19:38:52.189189 7f1ff7fff6c0 Delete type=2 #71
|
2026/06/08-22:29:08.649344 7f51ba7fc6c0 Manual compaction at level-0 from '!items!null' @ 145 : 1 .. '!items!null' @ 0 : 0; will stop at (end)
|
||||||
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)
|
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
MANIFEST-000010
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
2026/06/08-22:30:14.247791 7f5208bff6c0 Recovering log #8
|
||||||
|
2026/06/08-22:30:14.256936 7f5208bff6c0 Delete type=3 #6
|
||||||
|
2026/06/08-22:30:14.256960 7f5208bff6c0 Delete type=0 #8
|
||||||
|
2026/06/08-22:30:22.435551 7f51ba7fc6c0 Level-0 table #13: started
|
||||||
|
2026/06/08-22:30:22.435653 7f51ba7fc6c0 Level-0 table #13: 0 bytes OK
|
||||||
|
2026/06/08-22:30:22.441906 7f51ba7fc6c0 Delete type=0 #11
|
||||||
|
2026/06/08-22:30:22.471135 7f51ba7fc6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
2026/06/08-22:28:49.189521 7f51bb7fe6c0 Recovering log #4
|
||||||
|
2026/06/08-22:28:49.198820 7f51bb7fe6c0 Delete type=3 #2
|
||||||
|
2026/06/08-22:28:49.198836 7f51bb7fe6c0 Delete type=0 #4
|
||||||
|
2026/06/08-22:29:08.575568 7f51ba7fc6c0 Level-0 table #9: started
|
||||||
|
2026/06/08-22:29:08.575599 7f51ba7fc6c0 Level-0 table #9: 0 bytes OK
|
||||||
|
2026/06/08-22:29:08.581655 7f51ba7fc6c0 Delete type=0 #7
|
||||||
|
2026/06/08-22:29:08.610595 7f51ba7fc6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end)
|
||||||
@@ -1 +1 @@
|
|||||||
MANIFEST-000075
|
MANIFEST-000031
|
||||||
|
|||||||
@@ -1,15 +1,14 @@
|
|||||||
2026/06/02-19:43:31.544375 7f22153fd6c0 Recovering log #72
|
2026/06/08-22:30:14.312612 7f51bb7fe6c0 Recovering log #28
|
||||||
2026/06/02-19:43:31.554816 7f22153fd6c0 Delete type=3 #70
|
2026/06/08-22:30:14.321802 7f51bb7fe6c0 Delete type=3 #26
|
||||||
2026/06/02-19:43:31.554878 7f22153fd6c0 Delete type=0 #72
|
2026/06/08-22:30:14.321819 7f51bb7fe6c0 Delete type=0 #28
|
||||||
2026/06/02-19:44:40.500606 7f1ff7fff6c0 Level-0 table #78: started
|
2026/06/08-22:30:22.527571 7f51ba7fc6c0 Level-0 table #34: started
|
||||||
2026/06/02-19:44:40.505562 7f1ff7fff6c0 Level-0 table #78: 36499 bytes OK
|
2026/06/08-22:30:22.531034 7f51ba7fc6c0 Level-0 table #34: 36447 bytes OK
|
||||||
2026/06/02-19:44:40.512075 7f1ff7fff6c0 Delete type=0 #76
|
2026/06/08-22:30:22.536962 7f51ba7fc6c0 Delete type=0 #32
|
||||||
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/06/08-22:30:22.553199 7f51ba7fc6c0 Manual compaction at level-0 from '!tables!mgne-tbl-armor' @ 72057594037927935 : 1 .. '!tables.results!zZwxMwSXnTigTfwv' @ 0 : 0; will stop at '!tables.results!zZwxMwSXnTigTfwv' @ 2187 : 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/06/08-22:30:22.553204 7f51ba7fc6c0 Compacting 1@0 + 1@1 files
|
||||||
2026/06/02-19:44:40.526943 7f1ff7fff6c0 Compacting 1@1 + 1@2 files
|
2026/06/08-22:30:22.557404 7f51ba7fc6c0 Generated table #35@0: 436 keys, 40321 bytes
|
||||||
2026/06/02-19:44:40.531590 7f1ff7fff6c0 Generated table #79@1: 436 keys, 40570 bytes
|
2026/06/08-22:30:22.557428 7f51ba7fc6c0 Compacted 1@0 + 1@1 files => 40321 bytes
|
||||||
2026/06/02-19:44:40.531624 7f1ff7fff6c0 Compacted 1@1 + 1@2 files => 40570 bytes
|
2026/06/08-22:30:22.563722 7f51ba7fc6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
|
||||||
2026/06/02-19:44:40.538399 7f1ff7fff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
2026/06/08-22:30:22.563803 7f51ba7fc6c0 Delete type=2 #30
|
||||||
2026/06/02-19:44:40.538517 7f1ff7fff6c0 Delete type=2 #74
|
2026/06/08-22:30:22.563872 7f51ba7fc6c0 Delete type=2 #34
|
||||||
2026/06/02-19:44:40.538677 7f1ff7fff6c0 Delete type=2 #78
|
2026/06/08-22:30:22.569911 7f51ba7fc6c0 Manual compaction at level-0 from '!tables.results!zZwxMwSXnTigTfwv' @ 2187 : 1 .. '!tables.results!zZwxMwSXnTigTfwv' @ 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)
|
|
||||||
|
|||||||
@@ -1,15 +1,14 @@
|
|||||||
2026/06/02-19:38:41.373993 7f2214bfc6c0 Recovering log #67
|
2026/06/08-22:28:49.254855 7f5208bff6c0 Recovering log #23
|
||||||
2026/06/02-19:38:41.384841 7f2214bfc6c0 Delete type=3 #65
|
2026/06/08-22:28:49.264171 7f5208bff6c0 Delete type=3 #21
|
||||||
2026/06/02-19:38:41.384906 7f2214bfc6c0 Delete type=0 #67
|
2026/06/08-22:28:49.264195 7f5208bff6c0 Delete type=0 #23
|
||||||
2026/06/02-19:38:52.207992 7f1ff7fff6c0 Level-0 table #73: started
|
2026/06/08-22:29:08.671838 7f51ba7fc6c0 Level-0 table #29: started
|
||||||
2026/06/02-19:38:52.212811 7f1ff7fff6c0 Level-0 table #73: 36337 bytes OK
|
2026/06/08-22:29:08.675902 7f51ba7fc6c0 Level-0 table #29: 36492 bytes OK
|
||||||
2026/06/02-19:38:52.219611 7f1ff7fff6c0 Delete type=0 #71
|
2026/06/08-22:29:08.681972 7f51ba7fc6c0 Delete type=0 #27
|
||||||
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/06/08-22:29:08.682176 7f51ba7fc6c0 Manual compaction at level-0 from '!tables!mgne-tbl-armor' @ 72057594037927935 : 1 .. '!tables.results!zXqNG5BZhujFQKgC' @ 0 : 0; will stop at '!tables.results!zmWoeAL1ttcplGwL' @ 1530 : 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/06/08-22:29:08.682179 7f51ba7fc6c0 Compacting 1@0 + 1@1 files
|
||||||
2026/06/02-19:38:52.237225 7f1ff7fff6c0 Compacting 1@1 + 1@2 files
|
2026/06/08-22:29:08.686025 7f51ba7fc6c0 Generated table #30@0: 436 keys, 40541 bytes
|
||||||
2026/06/02-19:38:52.241483 7f1ff7fff6c0 Generated table #74@1: 436 keys, 40329 bytes
|
2026/06/08-22:29:08.686040 7f51ba7fc6c0 Compacted 1@0 + 1@1 files => 40541 bytes
|
||||||
2026/06/02-19:38:52.241507 7f1ff7fff6c0 Compacted 1@1 + 1@2 files => 40329 bytes
|
2026/06/08-22:29:08.692738 7f51ba7fc6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
|
||||||
2026/06/02-19:38:52.248771 7f1ff7fff6c0 compacted to: files[ 0 0 1 0 0 0 0 ]
|
2026/06/08-22:29:08.692811 7f51ba7fc6c0 Delete type=2 #25
|
||||||
2026/06/02-19:38:52.248884 7f1ff7fff6c0 Delete type=2 #69
|
2026/06/08-22:29:08.692886 7f51ba7fc6c0 Delete type=2 #29
|
||||||
2026/06/02-19:38:52.249011 7f1ff7fff6c0 Delete type=2 #73
|
2026/06/08-22:29:08.709397 7f51ba7fc6c0 Manual compaction at level-0 from '!tables.results!zmWoeAL1ttcplGwL' @ 1530 : 0 .. '!tables.results!zXqNG5BZhujFQKgC' @ 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)
|
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
MANIFEST-000073
|
MANIFEST-000030
|
||||||
|
|||||||
@@ -1,15 +1,14 @@
|
|||||||
2026/06/02-19:43:31.473126 7f22163ff6c0 Recovering log #70
|
2026/06/08-22:30:14.258238 7f51baffd6c0 Recovering log #27
|
||||||
2026/06/02-19:43:31.484666 7f22163ff6c0 Delete type=3 #68
|
2026/06/08-22:30:14.268354 7f51baffd6c0 Delete type=3 #25
|
||||||
2026/06/02-19:43:31.484705 7f22163ff6c0 Delete type=0 #70
|
2026/06/08-22:30:14.268384 7f51baffd6c0 Delete type=0 #27
|
||||||
2026/06/02-19:44:40.402774 7f1ff7fff6c0 Level-0 table #76: started
|
2026/06/08-22:30:22.452241 7f51ba7fc6c0 Level-0 table #33: started
|
||||||
2026/06/02-19:44:40.407015 7f1ff7fff6c0 Level-0 table #76: 7108 bytes OK
|
2026/06/08-22:30:22.455121 7f51ba7fc6c0 Level-0 table #33: 7117 bytes OK
|
||||||
2026/06/02-19:44:40.413760 7f1ff7fff6c0 Delete type=0 #74
|
2026/06/08-22:30:22.461042 7f51ba7fc6c0 Delete type=0 #31
|
||||||
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/06/08-22:30:22.480832 7f51ba7fc6c0 Manual compaction at level-0 from '!items!mgne-res-accelerate' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 101 : 1
|
||||||
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/08-22:30:22.480835 7f51ba7fc6c0 Compacting 1@0 + 1@1 files
|
||||||
2026/06/02-19:44:40.457235 7f1ff7fff6c0 Compacting 1@1 + 1@2 files
|
2026/06/08-22:30:22.483906 7f51ba7fc6c0 Generated table #34@0: 21 keys, 6260 bytes
|
||||||
2026/06/02-19:44:40.461196 7f1ff7fff6c0 Generated table #77@1: 1 keys, 911 bytes
|
2026/06/08-22:30:22.483914 7f51ba7fc6c0 Compacted 1@0 + 1@1 files => 6260 bytes
|
||||||
2026/06/02-19:44:40.461226 7f1ff7fff6c0 Compacted 1@1 + 1@2 files => 911 bytes
|
2026/06/08-22:30:22.489545 7f51ba7fc6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
|
||||||
2026/06/02-19:44:40.467956 7f1ff7fff6c0 compacted to: files[ 0 0 2 0 0 0 0 ]
|
2026/06/08-22:30:22.489564 7f51ba7fc6c0 Delete type=2 #29
|
||||||
2026/06/02-19:44:40.468078 7f1ff7fff6c0 Delete type=2 #72
|
2026/06/08-22:30:22.489603 7f51ba7fc6c0 Delete type=2 #33
|
||||||
2026/06/02-19:44:40.468198 7f1ff7fff6c0 Delete type=2 #76
|
2026/06/08-22:30:22.507963 7f51ba7fc6c0 Manual compaction at level-0 from '!items!null' @ 101 : 1 .. '!items!null' @ 0 : 0; will stop at (end)
|
||||||
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)
|
|
||||||
|
|||||||
@@ -1,15 +1,14 @@
|
|||||||
2026/06/02-19:38:41.298101 7f2214bfc6c0 Recovering log #65
|
2026/06/08-22:28:49.200176 7f5208bff6c0 Recovering log #22
|
||||||
2026/06/02-19:38:41.309083 7f2214bfc6c0 Delete type=3 #63
|
2026/06/08-22:28:49.209944 7f5208bff6c0 Delete type=3 #20
|
||||||
2026/06/02-19:38:41.309147 7f2214bfc6c0 Delete type=0 #65
|
2026/06/08-22:28:49.209966 7f5208bff6c0 Delete type=0 #22
|
||||||
2026/06/02-19:38:52.107907 7f1ff7fff6c0 Level-0 table #71: started
|
2026/06/08-22:29:08.591310 7f51ba7fc6c0 Level-0 table #28: started
|
||||||
2026/06/02-19:38:52.112019 7f1ff7fff6c0 Level-0 table #71: 7108 bytes OK
|
2026/06/08-22:29:08.594536 7f51ba7fc6c0 Level-0 table #28: 7117 bytes OK
|
||||||
2026/06/02-19:38:52.118652 7f1ff7fff6c0 Delete type=0 #69
|
2026/06/08-22:29:08.601407 7f51ba7fc6c0 Delete type=0 #26
|
||||||
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/06/08-22:29:08.620865 7f51ba7fc6c0 Manual compaction at level-0 from '!items!mgne-res-accelerate' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 81 : 1
|
||||||
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/06/08-22:29:08.620870 7f51ba7fc6c0 Compacting 1@0 + 1@1 files
|
||||||
2026/06/02-19:38:52.154006 7f1ff7fff6c0 Compacting 1@1 + 1@2 files
|
2026/06/08-22:29:08.624059 7f51ba7fc6c0 Generated table #29@0: 21 keys, 6260 bytes
|
||||||
2026/06/02-19:38:52.157685 7f1ff7fff6c0 Generated table #72@1: 1 keys, 911 bytes
|
2026/06/08-22:29:08.624070 7f51ba7fc6c0 Compacted 1@0 + 1@1 files => 6260 bytes
|
||||||
2026/06/02-19:38:52.157721 7f1ff7fff6c0 Compacted 1@1 + 1@2 files => 911 bytes
|
2026/06/08-22:29:08.630785 7f51ba7fc6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
|
||||||
2026/06/02-19:38:52.164744 7f1ff7fff6c0 compacted to: files[ 0 0 2 0 0 0 0 ]
|
2026/06/08-22:29:08.630825 7f51ba7fc6c0 Delete type=2 #24
|
||||||
2026/06/02-19:38:52.165117 7f1ff7fff6c0 Delete type=2 #67
|
2026/06/08-22:29:08.630879 7f51ba7fc6c0 Delete type=2 #28
|
||||||
2026/06/02-19:38:52.165250 7f1ff7fff6c0 Delete type=2 #71
|
2026/06/08-22:29:08.649350 7f51ba7fc6c0 Manual compaction at level-0 from '!items!null' @ 81 : 1 .. '!items!null' @ 0 : 0; will stop at (end)
|
||||||
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)
|
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
MANIFEST-000010
|
MANIFEST-000078
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
2026/06/02-19:43:31.609465 7f22153fd6c0 Recovering log #8
|
2026/06/08-22:30:14.327510 7f51bb7fe6c0 Recovering log #76
|
||||||
2026/06/02-19:43:31.620427 7f22153fd6c0 Delete type=3 #6
|
2026/06/08-22:30:14.337488 7f51bb7fe6c0 Delete type=3 #74
|
||||||
2026/06/02-19:43:31.620485 7f22153fd6c0 Delete type=0 #8
|
2026/06/08-22:30:14.337504 7f51bb7fe6c0 Delete type=0 #76
|
||||||
2026/06/02-19:44:40.512258 7f1ff7fff6c0 Level-0 table #13: started
|
2026/06/08-22:30:22.537044 7f51ba7fc6c0 Level-0 table #81: started
|
||||||
2026/06/02-19:44:40.512300 7f1ff7fff6c0 Level-0 table #13: 0 bytes OK
|
2026/06/08-22:30:22.537057 7f51ba7fc6c0 Level-0 table #81: 0 bytes OK
|
||||||
2026/06/02-19:44:40.519094 7f1ff7fff6c0 Delete type=0 #11
|
2026/06/08-22:30:22.543904 7f51ba7fc6c0 Delete type=0 #79
|
||||||
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/08-22:30:22.563905 7f51ba7fc6c0 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)
|
2026/06/08-22:30:22.569921 7f51ba7fc6c0 Manual compaction at level-1 from '!scenes!D6yaY8sk0WN8mCr5' @ 72057594037927935 : 1 .. '!scenes.levels!D6yaY8sk0WN8mCr5.defaultLevel0000' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
2026/06/02-19:38:41.450683 7f2214bfc6c0 Recovering log #4
|
2026/06/08-22:28:49.269367 7f51bbfff6c0 Recovering log #72
|
||||||
2026/06/02-19:38:41.462030 7f2214bfc6c0 Delete type=3 #2
|
2026/06/08-22:28:49.278531 7f51bbfff6c0 Delete type=3 #70
|
||||||
2026/06/02-19:38:41.462080 7f2214bfc6c0 Delete type=0 #4
|
2026/06/08-22:28:49.278550 7f51bbfff6c0 Delete type=0 #72
|
||||||
2026/06/02-19:38:52.230748 7f1ff7fff6c0 Level-0 table #9: started
|
2026/06/08-22:29:08.665780 7f51ba7fc6c0 Level-0 table #77: started
|
||||||
2026/06/02-19:38:52.230780 7f1ff7fff6c0 Level-0 table #9: 0 bytes OK
|
2026/06/08-22:29:08.665796 7f51ba7fc6c0 Level-0 table #77: 0 bytes OK
|
||||||
2026/06/02-19:38:52.236951 7f1ff7fff6c0 Delete type=0 #7
|
2026/06/08-22:29:08.671775 7f51ba7fc6c0 Delete type=0 #75
|
||||||
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/08-22:29:08.682100 7f51ba7fc6c0 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)
|
2026/06/08-22:29:08.692925 7f51ba7fc6c0 Manual compaction at level-1 from '!scenes!D6yaY8sk0WN8mCr5' @ 72057594037927935 : 1 .. '!scenes.levels!D6yaY8sk0WN8mCr5.defaultLevel0000' @ 0 : 0; will stop at (end)
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
MANIFEST-000073
|
MANIFEST-000032
|
||||||
|
|||||||
@@ -1,15 +1,14 @@
|
|||||||
2026/06/02-19:43:31.516359 7f22153fd6c0 Recovering log #70
|
2026/06/08-22:30:14.290763 7f51bb7fe6c0 Recovering log #29
|
||||||
2026/06/02-19:43:31.527478 7f22153fd6c0 Delete type=3 #68
|
2026/06/08-22:30:14.300902 7f51bb7fe6c0 Delete type=3 #27
|
||||||
2026/06/02-19:43:31.527540 7f22153fd6c0 Delete type=0 #70
|
2026/06/08-22:30:14.300923 7f51bb7fe6c0 Delete type=0 #29
|
||||||
2026/06/02-19:44:40.489853 7f1ff7fff6c0 Level-0 table #76: started
|
2026/06/08-22:30:22.499353 7f51ba7fc6c0 Level-0 table #35: started
|
||||||
2026/06/02-19:44:40.493463 7f1ff7fff6c0 Level-0 table #76: 1965 bytes OK
|
2026/06/08-22:30:22.502224 7f51ba7fc6c0 Level-0 table #35: 2478 bytes OK
|
||||||
2026/06/02-19:44:40.500444 7f1ff7fff6c0 Delete type=0 #74
|
2026/06/08-22:30:22.507920 7f51ba7fc6c0 Delete type=0 #33
|
||||||
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/06/08-22:30:22.517660 7f51ba7fc6c0 Manual compaction at level-0 from '!items!mgne-wpn-club' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 61 : 1
|
||||||
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/08-22:30:22.517662 7f51ba7fc6c0 Compacting 1@0 + 1@1 files
|
||||||
2026/06/02-19:44:40.538789 7f1ff7fff6c0 Compacting 1@1 + 1@2 files
|
2026/06/08-22:30:22.520579 7f51ba7fc6c0 Generated table #36@0: 13 keys, 2314 bytes
|
||||||
2026/06/02-19:44:40.542122 7f1ff7fff6c0 Generated table #77@1: 1 keys, 626 bytes
|
2026/06/08-22:30:22.520585 7f51ba7fc6c0 Compacted 1@0 + 1@1 files => 2314 bytes
|
||||||
2026/06/02-19:44:40.542154 7f1ff7fff6c0 Compacted 1@1 + 1@2 files => 626 bytes
|
2026/06/08-22:30:22.527392 7f51ba7fc6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
|
||||||
2026/06/02-19:44:40.549101 7f1ff7fff6c0 compacted to: files[ 0 0 2 0 0 0 0 ]
|
2026/06/08-22:30:22.527479 7f51ba7fc6c0 Delete type=2 #31
|
||||||
2026/06/02-19:44:40.549243 7f1ff7fff6c0 Delete type=2 #72
|
2026/06/08-22:30:22.527541 7f51ba7fc6c0 Delete type=2 #35
|
||||||
2026/06/02-19:44:40.549396 7f1ff7fff6c0 Delete type=2 #76
|
2026/06/08-22:30:22.553189 7f51ba7fc6c0 Manual compaction at level-0 from '!items!null' @ 61 : 1 .. '!items!null' @ 0 : 0; will stop at (end)
|
||||||
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)
|
|
||||||
|
|||||||
@@ -1,15 +1,14 @@
|
|||||||
2026/06/02-19:38:41.343792 7f2214bfc6c0 Recovering log #65
|
2026/06/08-22:28:49.233935 7f51bb7fe6c0 Recovering log #24
|
||||||
2026/06/02-19:38:41.356079 7f2214bfc6c0 Delete type=3 #63
|
2026/06/08-22:28:49.243575 7f51bb7fe6c0 Delete type=3 #22
|
||||||
2026/06/02-19:38:41.356142 7f2214bfc6c0 Delete type=0 #65
|
2026/06/08-22:28:49.243596 7f51bb7fe6c0 Delete type=0 #24
|
||||||
2026/06/02-19:38:52.141944 7f1ff7fff6c0 Level-0 table #71: started
|
2026/06/08-22:29:08.639738 7f51ba7fc6c0 Level-0 table #30: started
|
||||||
2026/06/02-19:38:52.145396 7f1ff7fff6c0 Level-0 table #71: 1965 bytes OK
|
2026/06/08-22:29:08.643104 7f51ba7fc6c0 Level-0 table #30: 2480 bytes OK
|
||||||
2026/06/02-19:38:52.153716 7f1ff7fff6c0 Delete type=0 #69
|
2026/06/08-22:29:08.649284 7f51ba7fc6c0 Delete type=0 #28
|
||||||
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/06/08-22:29:08.649619 7f51ba7fc6c0 Manual compaction at level-0 from '!items!mgne-wpn-club' @ 72057594037927935 : 1 .. '!items!null' @ 0 : 0; will stop at '!items!null' @ 49 : 1
|
||||||
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/06/08-22:29:08.649630 7f51ba7fc6c0 Compacting 1@0 + 1@1 files
|
||||||
2026/06/02-19:38:52.165366 7f1ff7fff6c0 Compacting 1@1 + 1@2 files
|
2026/06/08-22:29:08.652741 7f51ba7fc6c0 Generated table #31@0: 13 keys, 2314 bytes
|
||||||
2026/06/02-19:38:52.169864 7f1ff7fff6c0 Generated table #72@1: 1 keys, 626 bytes
|
2026/06/08-22:29:08.652748 7f51ba7fc6c0 Compacted 1@0 + 1@1 files => 2314 bytes
|
||||||
2026/06/02-19:38:52.169895 7f1ff7fff6c0 Compacted 1@1 + 1@2 files => 626 bytes
|
2026/06/08-22:29:08.659340 7f51ba7fc6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
|
||||||
2026/06/02-19:38:52.177600 7f1ff7fff6c0 compacted to: files[ 0 0 2 0 0 0 0 ]
|
2026/06/08-22:29:08.659411 7f51ba7fc6c0 Delete type=2 #26
|
||||||
2026/06/02-19:38:52.177705 7f1ff7fff6c0 Delete type=2 #67
|
2026/06/08-22:29:08.659486 7f51ba7fc6c0 Delete type=2 #30
|
||||||
2026/06/02-19:38:52.177829 7f1ff7fff6c0 Delete type=2 #71
|
2026/06/08-22:29:08.682082 7f51ba7fc6c0 Manual compaction at level-0 from '!items!null' @ 49 : 1 .. '!items!null' @ 0 : 0; will stop at (end)
|
||||||
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)
|
|
||||||
|
|||||||
@@ -5,7 +5,9 @@ type: armor
|
|||||||
img: systems/fvtt-machine-gods-noxian-expanse/assets/icons/chain-shirt.svg
|
img: systems/fvtt-machine-gods-noxian-expanse/assets/icons/chain-shirt.svg
|
||||||
system:
|
system:
|
||||||
armorDie: "d6"
|
armorDie: "d6"
|
||||||
currentDie: "d6"
|
penalty: 1
|
||||||
penalty: -1
|
weight: "normal"
|
||||||
description: "Interlocked metal rings. Good protection but heavy. Agility -1 DR."
|
description: "Interlocked metal rings. Good protection."
|
||||||
equipped: false
|
equipped: false
|
||||||
|
durabilityDie: "d6"
|
||||||
|
broken: false
|
||||||
|
|||||||