diff --git a/less/actor-sheet.less b/less/actor-sheet.less deleted file mode 100644 index 7612d8f..0000000 --- a/less/actor-sheet.less +++ /dev/null @@ -1,8 +0,0 @@ -// Actor sheet styles - -.actor-sheet { - min-width: 720px; - min-height: 680px; -} - -// Placeholder - to be expanded based on actor-sheet.html diff --git a/less/base.less b/less/base.less deleted file mode 100644 index 0ac3004..0000000 --- a/less/base.less +++ /dev/null @@ -1,90 +0,0 @@ -// Base styles - -* { - scrollbar-color: initial; -} - -.hawkmoon { - font-family: @font-family-base; -} - -// Utility classes -.flexrow { - .flex-row(); - gap: @spacing-base; -} - -.flexcol { - .flex-column(); - gap: @spacing-base; -} - -// Item lists -.item-list { - list-style: none; - margin: 0; - padding: 0; - - .item { - padding: @spacing-small @spacing-base; - border-bottom: 1px solid lighten(@color-border, 20%); - - &:hover { - background: lighten(@color-secondary, 65%); - } - } -} - -.alternate-list { - .item:nth-child(even) { - background: lighten(@color-secondary, 70%); - } -} - -// Form elements -input[type="text"], -input[type="number"], -textarea, -select { - .input-base(); -} - -button { - .button-base(); -} - -// Labels -label { - .label-base(); -} - -.generic-label { - .label-base(); - margin: 0 @spacing-base; -} - -// Field sizes -.item-field-label-short { - flex: 0 0 40px; -} - -.item-field-label-medium { - flex: 0 0 80px; -} - -.item-field-label-long { - flex: 0 0 120px; -} - -.item-field-label-very-long { - flex: 0 0 150px; -} - -// Padd classes -.padd-right { - padding-right: @spacing-medium; -} - -.padd-left { - padding-left: @spacing-medium; -} diff --git a/less/cellule-sheet.less b/less/cellule-sheet.less deleted file mode 100644 index 505b5c9..0000000 --- a/less/cellule-sheet.less +++ /dev/null @@ -1,8 +0,0 @@ -// Cellule sheet styles - -.cellule-sheet { - min-width: 720px; - min-height: 680px; -} - -// Placeholder - to be expanded based on cellule-sheet.html diff --git a/less/chat.less b/less/chat.less deleted file mode 100644 index 4731891..0000000 --- a/less/chat.less +++ /dev/null @@ -1,23 +0,0 @@ -// Chat message styles - -.chat-message { - .message-header { - .flex-row(); - gap: @spacing-base; - margin-bottom: @spacing-small; - } - - .dice-roll { - .flex-center(); - padding: @spacing-base; - background: lighten(@color-secondary, 70%); - border-radius: @input-border-radius; - - .dice-total { - font-size: 1.2rem; - font-weight: bold; - } - } -} - -// Placeholder - to be expanded based on chat templates diff --git a/less/combat.less b/less/combat.less deleted file mode 100644 index 0703b5f..0000000 --- a/less/combat.less +++ /dev/null @@ -1,3 +0,0 @@ -// Combat styles - -// Placeholder - combat tracker styles diff --git a/less/creature-sheet.less b/less/creature-sheet.less deleted file mode 100644 index 19a3fda..0000000 --- a/less/creature-sheet.less +++ /dev/null @@ -1,8 +0,0 @@ -// Creature sheet styles - -.creature-sheet { - min-width: 720px; - min-height: 680px; -} - -// Placeholder - to be expanded based on creature-sheet.html diff --git a/less/dialogs.less b/less/dialogs.less deleted file mode 100644 index ac8ce89..0000000 --- a/less/dialogs.less +++ /dev/null @@ -1,17 +0,0 @@ -// Dialog styles - -.dialog { - .dialog-buttons { - .flex-row(); - justify-content: flex-end; - gap: @spacing-base; - padding-top: @spacing-medium; - border-top: 1px solid @color-border; - - button { - min-width: 80px; - } - } -} - -// Placeholder - to be expanded based on roll-dialog-generic.html diff --git a/less/fonts.less b/less/fonts.less deleted file mode 100644 index 3fa4361..0000000 --- a/less/fonts.less +++ /dev/null @@ -1,13 +0,0 @@ -// Font definitions - -@font-face { - font-family: "Pfeffer"; - src: url("../assets/fonts/pfeffer-simpelgotisch.regular2.otf") - format("opentype"); -} - -@font-face { - font-family: "Montserrat"; - src: url("../assets/fonts/Montserrat-Medium.woff") format("woff"); - font-weight: normal; -} diff --git a/less/forms.less b/less/forms.less deleted file mode 100644 index 0327a29..0000000 --- a/less/forms.less +++ /dev/null @@ -1,27 +0,0 @@ -// Form elements specific styles - -form { - input[type="checkbox"] { - width: auto; - margin: 0 @spacing-base; - } - - input[disabled], - select[disabled], - textarea[disabled] { - opacity: 0.6; - cursor: not-allowed; - background: lighten(@color-border, 25%); - } -} - -.editor { - min-height: 100px; - border: @input-border; - border-radius: @input-border-radius; - padding: @spacing-base; - - .editor-content { - min-height: 80px; - } -} diff --git a/less/hud.less b/less/hud.less deleted file mode 100644 index facb364..0000000 --- a/less/hud.less +++ /dev/null @@ -1,3 +0,0 @@ -// HUD styles - -// Placeholder - to be expanded based on hud-adversites.html diff --git a/less/item-sheets.less b/less/item-sheets.less deleted file mode 100644 index 63e45ef..0000000 --- a/less/item-sheets.less +++ /dev/null @@ -1,109 +0,0 @@ -// Item sheets styles - -.item-sheet { - min-width: 500px; - min-height: 400px; - - .sheet-header { - .flex-row(); - gap: @spacing-medium; - padding: @spacing-medium; - background: lighten(@color-secondary, 65%); - border-bottom: 2px solid @color-primary; - - img.item-sheet-img { - flex: 0 0 48px; - width: 48px; - height: 48px; - object-fit: cover; - border: 2px solid @color-border; - border-radius: @input-border-radius; - cursor: pointer; - - &:hover { - border-color: @color-primary; - } - } - - .header-fields { - flex: 1; - - h1 { - margin: 0 0 @spacing-base 0; - font-size: 1.2rem; - font-weight: bold; - border: none; - - input { - font-size: 1.2rem; - font-weight: bold; - border: none; - background: transparent; - - &:focus { - background: white; - border: @input-border; - } - } - } - } - - .header-actions { - .flex-row(); - gap: @spacing-base; - - button { - padding: @spacing-small @spacing-base; - font-size: @font-size-small; - } - } - } - - .sheet-body { - padding: @spacing-medium; - } - - // Predilections section - .predilections-list { - .predilection-item { - padding: @spacing-base; - margin-bottom: @spacing-small; - border: 1px solid lighten(@color-border, 15%); - border-radius: @input-border-radius; - - .predilection-header { - .flex-row(); - margin-bottom: @spacing-small; - - input[type="text"] { - flex: 1; - } - - input[type="checkbox"] { - margin: 0 @spacing-small; - } - } - - .predilection-description { - textarea { - width: 100%; - min-height: 40px; - } - } - } - } - - // Automation section - .automation-item { - padding: @spacing-base; - margin-bottom: @spacing-small; - background: lighten(@color-secondary, 70%); - border-radius: @input-border-radius; - - hr { - margin: @spacing-small 0; - border: none; - border-top: 1px solid @color-border; - } - } -} diff --git a/less/items.less b/less/items.less deleted file mode 100644 index f8d42df..0000000 --- a/less/items.less +++ /dev/null @@ -1,47 +0,0 @@ -// Item-related styles - -.item-control { - flex: 0 0 24px; - height: 24px; - line-height: 24px; - text-align: center; - cursor: pointer; - border: none; - background: transparent; - - i { - font-size: @font-size-base; - } - - &:hover { - color: @color-primary; - } -} - -.item-image { - flex: 0 0 36px; - height: 36px; - cursor: pointer; - - img { - width: 100%; - height: 100%; - object-fit: cover; - border: 1px solid @color-border; - border-radius: @input-border-radius; - } -} - -.item-name { - flex: 1; - cursor: pointer; - - &:hover { - color: @color-primary; - } -} - -.item-value { - flex: 0 0 60px; - text-align: center; -} diff --git a/less/mixins.less b/less/mixins.less deleted file mode 100644 index afa1c17..0000000 --- a/less/mixins.less +++ /dev/null @@ -1,58 +0,0 @@ -// Mixins for Hawkmoon system - -// Flexbox helpers -.flex-row { - display: flex; - flex-direction: row; - align-items: center; -} - -.flex-column { - display: flex; - flex-direction: column; -} - -.flex-center { - display: flex; - justify-content: center; - align-items: center; -} - -// Common input styling -.input-base { - padding: @input-padding; - border: @input-border; - border-radius: @input-border-radius; - font-size: @font-size-base; - - &:focus { - outline: none; - border-color: @color-primary; - } -} - -// Button styling -.button-base { - padding: @button-padding; - border: @input-border; - border-radius: @button-border-radius; - background: @color-background; - cursor: pointer; - font-family: @font-family-base; - - &:hover { - background: lighten(@color-secondary, 60%); - } - - &:active { - background: lighten(@color-secondary, 50%); - } -} - -// Label styling -.label-base { - font-family: @font-family-base; - font-size: @font-size-base; - font-weight: 700; - color: @color-text-dark; -} diff --git a/less/simple-converted.less b/less/simple-converted.less index 7c24092..69236cc 100644 --- a/less/simple-converted.less +++ b/less/simple-converted.less @@ -122,12 +122,28 @@ button, } .fvtt-hawkmoon-cyd .sheet-header select option { - background-color: rgb(68, 25, 25); + background-color: #ffffff; + color: #000000; + padding: 2px 4px; +} + +.fvtt-hawkmoon-cyd .sheet-header input[type="text"], +.fvtt-hawkmoon-cyd .sheet-header input[type="number"] { + color: #000000; + background-color: rgba(255, 255, 255, 0.9); + font-family: "Montserrat"; + font-size: 0.85rem; + padding: 3px 6px; + border: 1px solid #999999; } -.fvtt-hawkmoon-cyd .sheet-header input, .fvtt-hawkmoon-cyd .sheet-header select { - color: lightgray; + color: #000000; + background-color: rgba(255, 255, 255, 0.9); + font-family: "Montserrat"; + font-size: 0.85rem; + padding: 3px 6px; + border: 1px solid #999999; } .window-header { @@ -166,6 +182,21 @@ select:disabled { color: #1c2058; } +/* AppV2 Item Sheets - Disabled inputs readability */ +.fvtt-hawkmoon-cyd.item input:disabled, +.fvtt-hawkmoon-cyd.item select:disabled { + color: #000000; + opacity: 0.8; + background-color: rgba(255, 255, 255, 0.5); +} + +.fvtt-hawkmoon-cyd.item .automation-edit-field:disabled { + color: #000000; + opacity: 1; + background-color: rgba(255, 255, 255, 0.7); + border: 1px solid #999999; +} + table { border: 1px solid #7a7971; } @@ -302,6 +333,27 @@ table { justify-content: flex-start; margin-bottom: 10px; background-image: url("../assets/ui/hawkmoon_background_01.png"); + + // Amélioration de la lisibilité des labels du header + .item-name-label.competence-name, + h4.item-name-label.competence-name, + label.item-name-label.competence-name { + color: #ffffff !important; + text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.9), + -1px -1px 2px rgba(0, 0, 0, 0.7) !important; + font-weight: bold !important; + font-size: 0.65rem !important; + background: none !important; + } + + // Réduction du padding des inputs et selects dans le header + input[type="text"], + input[type="number"], + select { + padding: 2px 4px !important; + height: auto !important; + line-height: 1.2 !important; + } } .sheet.journal-entry .journal-sidebar { @@ -326,6 +378,30 @@ table { object-position: 50% 0; } +.fvtt-hawkmoon-cyd .sheet-mode-toggle { + background: transparent; + border: none; + color: #fff; + padding: 2px 6px; + cursor: pointer; + font-size: 0.75rem; + transition: all 0.2s ease; + margin-left: 8px; + height: auto; + line-height: 1.2; + text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); + + &:hover { + color: #ffd700; + text-shadow: 1px 1px 3px rgba(0, 0, 0, 1); + transform: scale(1.15); + } + + i { + pointer-events: none; + } +} + .button-img { vertical-align: baseline; width: 8%; @@ -383,6 +459,8 @@ table { font-size: 2rem; color: lightgray; text-align: left; + background-color: transparent; + border: none; } .fvtt-hawkmoon-cyd .sheet-tabs { @@ -511,6 +589,12 @@ table { /*color: lightgray;*/ border-width: 1px; margin-bottom: 0.25rem; + color: #000000; + background-color: rgba(255, 255, 255, 0.9); + font-family: "Montserrat"; + font-size: 0.85rem; + padding: 3px 6px; + border: 1px solid #999999; } .window-app .window-content, @@ -991,6 +1075,7 @@ li { .chat-message .message-content { font-size: 0.9rem; font-family: CentaurMT; + color: #2c2c2c; } .chat-actor-name { @@ -1088,12 +1173,17 @@ li { } .chat-message { - background: rgba(220, 220, 210, 0.5); + background: url("../assets/ui/pc_sheet_bg.webp"); + background-repeat: repeat; font-size: 0.9rem; + font-family: CentaurMT, serif; + color: #2c2c2c; + border: 1px solid #d4af37; } .chat-message.whisper { - background: rgba(220, 220, 210, 0.75); + background: url("../assets/ui/pc_sheet_bg.webp"); + background-repeat: repeat; border: 2px solid #545469; } @@ -1319,6 +1409,11 @@ li { top: 1px; } +.chat-card-button.roll-initiative { + min-width: 224px; + white-space: nowrap; +} + .button-sheet-roll { box-shadow: inset 0px 1px 0px 0px #a6827e; background: linear-gradient(to bottom, #41545a 5%, #2e5561 100%); @@ -1339,6 +1434,10 @@ li { min-width: 3.5rem; } +.button-competence { + margin-left: 4px; +} + .button-sheet-roll:hover { background: linear-gradient(to bottom, #800000 5%, #3e0101 100%); background-color: rgb(56, 33, 33); @@ -1432,6 +1531,7 @@ li { flex-grow: 1; min-width: 64px; max-width: 64px; + margin-right: 8px; } /*************************************************************/ @@ -1580,6 +1680,14 @@ li { .argent-total-text { margin-left: 4px; + font-family: "Montserrat"; + font-size: 0.75rem; + font-weight: normal; + color: #000000; + background-color: rgba(255, 255, 255, 0.85); + padding: 4px 8px; + border-radius: 3px; + display: inline-block; } .compendium h4.entry-name.document-name { @@ -1606,10 +1714,98 @@ textarea { font-size: 0.6rem; } +/* AppV2 Item Sheets - Background */ +.fvtt-hawkmoon-cyd.item { + background: url("../assets/ui/pc_sheet_bg.webp"); + background-repeat: repeat; + display: flex; + flex-direction: column; + height: 100%; + padding: 0; +} + +.fvtt-hawkmoon-cyd.item .window-content { + padding: 0; + margin: 0; +} + +.fvtt-hawkmoon-cyd.item section { + background: url("../assets/ui/pc_sheet_bg.webp"); + background-repeat: repeat-y; + color: black; + display: flex; + flex-direction: column; + height: 100%; + overflow: hidden; + padding: 0; + margin: 0; +} + +.fvtt-hawkmoon-cyd.item .window-content, +.fvtt-hawkmoon-cyd.item section { + background: url("../assets/ui/pc_sheet_bg.webp"); + background-repeat: repeat-y; + color: black; +} + +.fvtt-hawkmoon-cyd.item header.sheet-header { + background-image: url("../assets/ui/hawkmoon_background_01.png"); + background-repeat: repeat; + flex: 0 0 auto; +} + /* AppV2 Item Sheets - Tab Management */ +.fvtt-hawkmoon-cyd.item nav.sheet-tabs, +.fvtt-hawkmoon-cyd.item nav.tabs { + font-size: 0.7rem; + font-weight: bold; + height: 2.5rem; + flex: 0 0 2.5rem; + margin: 0; + padding: 0 0 0 0.25rem; + text-align: center; + text-transform: uppercase; + line-height: 1.5rem; + border-top: 1px solid #aaa; + border-bottom: 1px solid #aaa; + background-color: #2e5561; + color: #151c1f; +} + +.fvtt-hawkmoon-cyd.item nav.tabs .item, +.item-sheet nav.tabs .item { + position: relative; + padding: 0 0.25rem; + font-weight: bold; + opacity: 0.6; + color: #dadada; +} + +.fvtt-hawkmoon-cyd.item nav.tabs .item:after, +.item-sheet nav.tabs .item:after { + content: ""; + position: absolute; + top: 0; + right: 0; + height: 2rem; + width: 1px; +} + +.fvtt-hawkmoon-cyd.item nav.tabs .item.active, +.item-sheet nav.tabs .item.active { + opacity: 1; + font-weight: bold; + text-decoration: underline; + text-shadow: none; + color: #ffffff; +} + .fvtt-hawkmoon-cyd.item .tab[data-tab], .item-sheet .tab[data-tab] { display: none; + padding: 4px 8px; + overflow-y: auto; + flex: 1 1 auto; } .fvtt-hawkmoon-cyd.item .tab[data-tab].active, @@ -1617,16 +1813,80 @@ textarea { display: block; } -.fvtt-hawkmoon-cyd.item nav.tabs a.item, -.item-sheet nav.tabs a.item { - opacity: 0.6; +/* Item list optimization */ +.fvtt-hawkmoon-cyd.item ul.item-list { + list-style: none; + margin: 0; + padding: 0; } -.fvtt-hawkmoon-cyd.item nav.tabs a.item.active, -.item-sheet nav.tabs a.item.active { - opacity: 1; +.fvtt-hawkmoon-cyd.item ul.item-list li.item { + display: flex; + align-items: center; + margin-bottom: 2px; + padding: 2px 4px; + min-height: 24px; +} + +.fvtt-hawkmoon-cyd.item ul.item-list li.flexrow { + display: flex; + flex-direction: row; + align-items: center; + gap: 4px; +} + +/* Label alignment and sizing */ +.fvtt-hawkmoon-cyd.item .generic-label { + display: inline-block; + white-space: nowrap; + margin: 0; + padding: 0 4px 0 0; +} + +.fvtt-hawkmoon-cyd.item .item-field-label-short { + flex: 0 0 60px; + min-width: 60px; +} + +.fvtt-hawkmoon-cyd.item .item-field-label-medium { + flex: 0 0 100px; + min-width: 100px; +} + +.fvtt-hawkmoon-cyd.item .item-field-label-long { + flex: 1 1 auto; + min-width: 150px; +} + +.fvtt-hawkmoon-cyd.item .item-field-label-long1 { + flex: 1 1 auto; + min-width: 200px; +} + +/* Input and select alignment */ +.fvtt-hawkmoon-cyd.item input[type="text"], +.fvtt-hawkmoon-cyd.item input[type="number"], +.fvtt-hawkmoon-cyd.item select, +.fvtt-hawkmoon-cyd.item textarea { + margin: 0; + padding: 2px 4px; +} + +.fvtt-hawkmoon-cyd.item input[type="checkbox"] { + margin: 0 4px; + align-self: center; +} + +/* Headers in item sheets */ +.fvtt-hawkmoon-cyd.item h3 { + font-size: 0.9rem; font-weight: bold; - border-bottom: 2px solid; + margin: 4px 0 2px 0; + padding: 2px 4px; + text-transform: uppercase; + color: #333333; + background-color: rgba(200, 200, 200, 0.3); + border-left: 3px solid #2e5561; } /* AppV2 Item Sheets - Specific fixes */ @@ -1663,3 +1923,768 @@ textarea { font-size: 0.8rem; white-space: nowrap; } + +/* AppV2 Actor Sheets - Same styling as items */ +.fvtt-hawkmoon-cyd.actor .window-content { + padding: 0; + margin: 0; +} + +.fvtt-hawkmoon-cyd.actor section { + background: url("../assets/ui/pc_sheet_bg.webp"); + background-repeat: repeat-y; + color: black; + display: flex; + flex-direction: column; + height: 100%; + overflow: hidden; + padding: 0; + margin: 0; +} + +.fvtt-hawkmoon-cyd.actor .window-content, +.fvtt-hawkmoon-cyd.actor section { + background: url("../assets/ui/pc_sheet_bg.webp"); + background-repeat: repeat-y; + color: black; +} + +.fvtt-hawkmoon-cyd.actor header.sheet-header { + background-image: url("../assets/ui/hawkmoon_background_01.png"); + background-repeat: repeat; + flex: 0 0 auto; +} + +.fvtt-hawkmoon-cyd.actor header.sheet-header h4 { + font-family: "Montserrat"; + font-size: 0.8rem; + font-weight: normal; + margin: 0; + padding: 0; +} + +.fvtt-hawkmoon-cyd.actor header.sheet-header label { + font-family: "Montserrat"; + font-size: 0.8rem; + font-weight: normal; +} + +.fvtt-hawkmoon-cyd.actor nav.sheet-tabs, +.fvtt-hawkmoon-cyd.actor nav.tabs { + font-size: 0.7rem; + font-weight: bold; + height: 2.5rem; + flex: 0 0 2.5rem; + margin: 0; + padding: 0 0 0 0.25rem; + text-align: center; + text-transform: uppercase; + line-height: 1.5rem; + border-top: 1px solid #aaa; + border-bottom: 1px solid #aaa; + background-color: #2e5561; + color: #151c1f; +} + +.fvtt-hawkmoon-cyd.actor nav.sheet-tabs a.item, +.fvtt-hawkmoon-cyd.actor nav.tabs a.item { + padding: 0.5rem 0.75rem; + margin: 0; + color: white; + text-decoration: none; +} + +.fvtt-hawkmoon-cyd.actor nav.sheet-tabs a.item:hover, +.fvtt-hawkmoon-cyd.actor nav.tabs a.item:hover { + background-color: rgba(255, 255, 255, 0.1); +} + +.fvtt-hawkmoon-cyd.actor nav.sheet-tabs a.item.active, +.fvtt-hawkmoon-cyd.actor nav.tabs a.item.active { + background-color: rgba(255, 255, 255, 0.2); + font-weight: bold; +} + +.fvtt-hawkmoon-cyd.actor .tab { + display: none; + padding: 4px 8px; + overflow-y: auto; + flex: 1 1 auto; +} + +.fvtt-hawkmoon-cyd.actor .tab.active { + display: block; + overflow-y: auto; +} + +/* Actor sheet - Headers styling (like items) */ +.fvtt-hawkmoon-cyd.actor h3, +.fvtt-hawkmoon-cyd.actor h4.item-name-label { + font-family: "Montserrat"; + font-size: 0.9rem; + font-weight: bold; + margin: 4px 0 2px 0; + padding: 2px 4px; + text-transform: uppercase; + color: #333333; + background-color: rgba(200, 200, 200, 0.3); + border-left: 3px solid #2e5561; + width: 100%; + display: block; +} + +/* Actor sheet - Full width boxes for totals */ +.fvtt-hawkmoon-cyd.actor .sheet-box { + width: 100%; + display: block; +} + +/* Actor sheet - Input and select styling (like items) */ +.fvtt-hawkmoon-cyd.actor input[type="text"], +.fvtt-hawkmoon-cyd.actor input[type="number"], +.fvtt-hawkmoon-cyd.actor textarea { + margin: 0; + padding: 3px 6px; + font-family: "Montserrat"; + font-size: 0.85rem; + color: #000000; + background-color: rgba(255, 255, 255, 0.9); + border: 1px solid #999999; +} + +.fvtt-hawkmoon-cyd.actor select { + margin: 0; + padding: 3px 6px; + font-family: "Montserrat"; + font-size: 0.85rem; + color: #000000; + background-color: rgba(255, 255, 255, 0.9); + border: 1px solid #999999; +} + +.fvtt-hawkmoon-cyd.actor select option { + background-color: #ffffff; + color: #000000; + padding: 2px 4px; +} + +.fvtt-hawkmoon-cyd.actor input[type="checkbox"] { + margin: 0 4px; + align-self: center; +} + +.fvtt-hawkmoon-cyd.actor input:disabled, +.fvtt-hawkmoon-cyd.actor select:disabled { + color: #000000; + opacity: 0.8; + background-color: rgba(255, 255, 255, 0.5); +} + +/* ==================== Roll Dialog Styles ==================== */ +.application.hawkmoon-roll-dialog .window-content { + padding: 0 0.2rem 0.2rem 0.2rem; +} + +.window-app.hawkmoon-roll-dialog .window-content { + margin: 0; + padding: 0 0.2rem 0.2rem 0.2rem; +} + +.hawkmoon-roll-dialog { + background-image: url("../assets/ui/pc_sheet_bg.webp"); + background-repeat: repeat; + + * { + color: #2a2a2a; + } + + .dialog-header { + display: flex; + align-items: center; + gap: 8px; + padding: 6px; + background-image: url("../assets/ui/hawkmoon_background_01.png"); + background-blend-mode: soft-light; + border-bottom: 2px solid #d4af37; + margin-bottom: 0; + + .actor-icon { + width: 40px; + height: 40px; + border-radius: 3px; + border: 1px solid #d4af37; + object-fit: cover; + } + + .dialog-title { + flex: 1; + + h3 { + margin: 0; + font-size: 1rem; + color: #f5f5f5; + text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.9); + } + + .competence-name { + font-size: 0.8rem; + color: #d4af37; + margin-top: 2px; + text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); + + .attribut-info { + color: #a8d8ea; + font-weight: bold; + font-size: 0.85em; + } + } + } + } + + .dialog-content { + padding: 4px 0 0; + max-height: 600px; + overflow-y: auto; + } + + .form-group { + margin-bottom: 6px; + padding: 0 8px; + + label { + display: block; + font-weight: bold; + color: #1a1a1a; + text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.5); + margin-bottom: 2px; + font-size: 0.85rem; + + i { + margin-right: 4px; + color: #d4af37; + } + } + + input, + select { + width: 100%; + padding: 4px 6px; + background: rgba(255, 255, 255, 0.95); + border: 1px solid rgba(100, 100, 100, 0.6); + border-radius: 3px; + color: #1a1a1a; + font-size: 0.9rem; + font-weight: 500; + + &:focus { + outline: none; + border-color: #d4af37; + box-shadow: 0 0 4px rgba(212, 175, 55, 0.7); + background: rgba(255, 255, 255, 1); + } + + &:disabled { + opacity: 0.7; + cursor: not-allowed; + background: rgba(200, 200, 200, 0.9); + color: #555; + } + } + + select option { + background-color: #ffffff; + color: #1a1a1a; + padding: 4px 6px; + } + + .help-text { + display: block; + margin-top: 2px; + font-size: 0.7rem; + color: rgba(255, 255, 255, 0.85); + font-style: italic; + text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); + } + } + + .modifiers-grid { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 6px; + margin-bottom: 8px; + } + + .attributes-section { + background: rgba(212, 175, 55, 0.1); + padding: 6px; + border-radius: 3px; + border: 1px solid rgba(212, 175, 55, 0.3); + } + + .competence-section { + background: rgba(100, 149, 237, 0.1); + padding: 4px; + border-radius: 3px; + border: 1px solid rgba(100, 149, 237, 0.3); + margin-bottom: 6px; + + .competence-info { + display: flex; + justify-content: space-between; + align-items: center; + padding: 3px 5px; + background: rgba(100, 149, 237, 0.15); + border-radius: 3px; + margin-bottom: 4px; + + .competence-label { + font-weight: bold; + font-size: 0.85rem; + color: #1a1a1a; + } + + .competence-niveau { + font-size: 0.8rem; + color: #2a2a2a; + font-weight: 500; + } + } + } + + .talents-group { + select[multiple] { + min-height: 70px; + + option { + padding: 3px; + cursor: pointer; + + &:hover { + background: rgba(212, 175, 55, 0.3); + } + } + } + } + + .combat-modifiers { + background: rgba(220, 20, 60, 0.1); + padding: 6px; + border-radius: 3px; + border: 1px solid rgba(220, 20, 60, 0.3); + margin-bottom: 8px; + + h4, + h5 { + margin: 0 0 6px 0; + color: #2a2a2a; + text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.8); + font-size: 0.9rem; + + i { + margin-right: 6px; + color: #dc143c; + } + } + + h5 { + font-size: 0.85rem; + margin-top: 12px; + } + + .modifiers-columns { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 4px 8px; + } + + .checkbox-label { + display: flex; + align-items: center; + gap: 4px; + padding: 2px; + cursor: pointer; + border-radius: 2px; + transition: background 0.2s ease; + + &:hover { + background: rgba(255, 255, 255, 0.05); + } + + input[type="checkbox"] { + width: auto; + margin: 0; + cursor: pointer; + } + + span { + color: #1a1a1a; + font-size: 0.8rem; + user-select: none; + text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.5); + } + } + + .tir-modifiers { + margin-top: 8px; + padding-top: 6px; + border-top: 1px solid rgba(255, 255, 255, 0.1); + + h5 { + margin: 0 0 4px 0; + } + + .modifiers-grid { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 4px 6px; + } + + .form-group { + margin-bottom: 3px; + + label { + font-size: 0.75rem; + margin-bottom: 1px; + } + + select { + padding: 2px 4px; + font-size: 0.8rem; + } + } + } + } + + .context-group { + background: rgba(255, 255, 255, 0.05); + padding: 6px; + border-radius: 3px; + border: 1px dashed rgba(255, 255, 255, 0.2); + } + + /* Dialog footer buttons */ + .dialog-buttons { + display: flex; + gap: 8px; + padding: 8px; + border-top: 1px solid rgba(255, 255, 255, 0.1); + + button { + flex: 1; + padding: 6px 12px; + border: none; + border-radius: 3px; + font-weight: bold; + cursor: pointer; + transition: all 0.2s ease; + font-size: 0.85rem; + + &[data-action="rolld10"], + &[data-action="rolld20"] { + background: linear-gradient(135deg, #d4af37 0%, #b8941e 100%); + color: #1a1a1a; + + &:hover { + background: linear-gradient(135deg, #e6c14a 0%, #d4af37 100%); + transform: translateY(-1px); + box-shadow: 0 4px 8px rgba(212, 175, 55, 0.4); + } + } + + &[data-action="cancel"] { + background: rgba(255, 255, 255, 0.1); + color: white; + + &:hover { + background: rgba(255, 255, 255, 0.2); + } + } + + i { + margin-right: 4px; + } + } + } +} + +/* ==================== Chat Result Message Styles ==================== */ +.hawkmoon-chat-result { + background: url("../assets/ui/pc_sheet_bg.webp"); + background-repeat: repeat; + border: 2px solid #d4af37; + border-radius: 4px; + overflow: hidden; + font-family: CentaurMT, serif; + + .chat-result-header { + background-image: url("../assets/ui/hawkmoon_background_01.png"); + background-blend-mode: soft-light; + border-bottom: 2px solid #d4af37; + padding: 8px; + display: flex; + align-items: center; + gap: 10px; + + .actor-icon { + width: 48px; + height: 48px; + border-radius: 4px; + border: 1px solid #d4af37; + object-fit: cover; + flex-shrink: 0; + } + + .header-info { + flex: 1; + + .actor-name { + margin: 0; + color: #f5f5f5; + font-size: 1.1rem; + text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.9); + } + + .action-title { + color: #d4af37; + font-size: 0.9rem; + margin-top: 2px; + text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); + + i { + margin-right: 4px; + } + } + } + } + + .result-main { + background: rgba(255, 255, 255, 0.15); + padding: 6px 8px; + border-bottom: 1px solid rgba(212, 175, 55, 0.3); + + .result-display { + display: flex; + justify-content: space-around; + align-items: center; + gap: 10px; + margin-bottom: 5px; + + .dice-result, + .total-result, + .difficulty { + text-align: center; + flex: 1; + + i { + color: #d4af37; + font-size: 1rem; + display: block; + margin-bottom: 3px; + } + + span { + display: block; + font-weight: bold; + } + + .dice-value, + .total-value, + .difficulty-value { + font-size: 1.3rem; + color: #1a1a1a; + text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.8); + } + + .total-label, + .difficulty-label { + font-size: 0.75rem; + color: #2a2a2a; + text-transform: uppercase; + } + } + } + + .result-badge-container { + display: flex; + justify-content: center; + margin-top: 5px; + + .result-badge { + padding: 4px 12px; + border-radius: 3px; + font-weight: bold; + font-size: 0.9rem; + text-transform: uppercase; + text-align: center; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); + + i { + margin-right: 6px; + } + + &.heroique { + background: linear-gradient(135deg, #ffd700 0%, #ff8c00 100%); + color: #1a1a1a; + text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.5); + } + + &.success { + background: linear-gradient(135deg, #4caf50 0%, #2e7d32 100%); + color: white; + text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); + } + + &.failure { + background: linear-gradient(135deg, #f44336 0%, #c62828 100%); + color: white; + text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); + } + + &.dramatique { + background: linear-gradient(135deg, #9c27b0 0%, #4a148c 100%); + color: white; + text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); + } + } + } + } + + .result-details { + padding: 6px 8px; + background: rgba(255, 255, 255, 0.05); + + .details-section { + display: flex; + flex-direction: column; + gap: 2px; + + .detail-row { + display: flex; + justify-content: space-between; + padding: 2px 5px; + background: rgba(255, 255, 255, 0.1); + border-radius: 2px; + font-size: 0.85rem; + + &.bonus { + background: rgba(212, 175, 55, 0.2); + border: 1px solid rgba(212, 175, 55, 0.5); + } + + .detail-label { + color: #2a2a2a; + font-weight: bold; + } + + .detail-value { + color: #1a1a1a; + font-weight: 500; + } + } + } + } + + .result-effects { + padding: 6px 8px; + background: rgba(100, 149, 237, 0.1); + border-top: 1px solid rgba(100, 149, 237, 0.3); + + .effect-item { + padding: 4px 6px; + margin-bottom: 4px; + background: rgba(255, 255, 255, 0.15); + border-left: 3px solid #6495ed; + border-radius: 3px; + color: #1a1a1a; + font-size: 0.85rem; + + &.victory { + background: rgba(255, 215, 0, 0.2); + border-left-color: #ffd700; + } + + i { + margin-right: 6px; + color: #6495ed; + } + + &:last-child { + margin-bottom: 0; + } + } + + .damage-buttons { + display: flex; + flex-direction: column; + gap: 6px; + margin-top: 8px; + + button { + width: 100%; + } + } + } + + .result-warning { + padding: 5px 8px; + background: rgba(255, 152, 0, 0.2); + border-left: 3px solid #ff9800; + margin: 5px 8px; + border-radius: 3px; + color: #1a1a1a; + font-size: 0.85rem; + + i { + margin-right: 6px; + color: #ff9800; + } + } + + .result-info { + padding: 5px 8px; + background: rgba(33, 150, 243, 0.2); + border-left: 3px solid #2196f3; + margin: 5px 8px; + border-radius: 3px; + color: #1a1a1a; + font-size: 0.85rem; + + i { + margin-right: 6px; + color: #2196f3; + } + } + + .predilection-section { + padding: 8px 10px; + background: rgba(156, 39, 176, 0.1); + border-top: 1px solid rgba(156, 39, 176, 0.3); + + button { + width: 100%; + } + } + + .chat-card-button { + padding: 8px 12px; + background: linear-gradient(135deg, #d4af37 0%, #b8941e 100%); + border: none; + border-radius: 4px; + color: #1a1a1a; + font-weight: bold; + font-size: 0.9rem; + cursor: pointer; + transition: all 0.2s ease; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); + + &:hover { + background: linear-gradient(135deg, #e6c14a 0%, #d4af37 100%); + transform: translateY(-1px); + box-shadow: 0 4px 6px rgba(212, 175, 55, 0.4); + } + + i { + margin-right: 6px; + } + } +} diff --git a/less/tabs.less b/less/tabs.less deleted file mode 100644 index d9efa8b..0000000 --- a/less/tabs.less +++ /dev/null @@ -1,39 +0,0 @@ -// Tabs navigation - -.tabs { - .flex-row(); - gap: 0; - border-bottom: 2px solid @color-border; - margin-bottom: @spacing-medium; - - .item { - padding: @spacing-base @spacing-large; - font-family: @font-family-base; - font-size: @font-size-large; - font-weight: 700; - color: @color-secondary; - cursor: pointer; - border: none; - border-bottom: 3px solid transparent; - background: transparent; - transition: all 0.2s; - - &:hover { - color: @color-primary; - background: lighten(@color-secondary, 70%); - } - - &.active { - color: @color-primary; - border-bottom-color: @color-primary; - } - } -} - -.tab { - display: none; - - &.active { - display: block; - } -} diff --git a/less/variables.less b/less/variables.less deleted file mode 100644 index a91673a..0000000 --- a/less/variables.less +++ /dev/null @@ -1,36 +0,0 @@ -// Variables for Hawkmoon system - -// =================== Fonts =================== -@font-family-base: Montserrat; -@font-family-decorative: Pfeffer; - -// =================== Colors =================== -@color-primary: #4a0404; -@color-secondary: #403f3e; -@color-text-light: #f5f5f5; -@color-text-dark: #464331c4; -@color-border: #7a7971; -@color-background: #fff; - -// =================== Sizes =================== -@font-size-small: 0.8rem; -@font-size-base: 0.9rem; -@font-size-medium: 0.95rem; -@font-size-large: 1rem; - -@spacing-small: 2px; -@spacing-base: 4px; -@spacing-medium: 8px; -@spacing-large: 12px; - -// =================== Form Elements =================== -@input-padding: 2px 4px; -@input-border-radius: 3px; -@input-border: 1px solid @color-border; - -// =================== Buttons =================== -@button-padding: 4px 8px; -@button-border-radius: 3px; - -// =================== Windows =================== -@window-header-height: 28px; diff --git a/less/windows.less b/less/windows.less deleted file mode 100644 index 2e1907c..0000000 --- a/less/windows.less +++ /dev/null @@ -1,70 +0,0 @@ -// Window and sheet styles - -.window-app { - .window-header { - font-family: @font-family-base; - - .window-title { - font-size: @font-size-medium; - font-weight: normal; - color: @color-text-light; - } - } - - .window-content { - background: @color-background; - padding: @spacing-medium; - } -} - -// Sheet sections -.sheet-header { - .flex-row(); - padding: @spacing-medium; - border-bottom: 2px solid @color-primary; - margin-bottom: @spacing-medium; - - img.profile-img { - flex: 0 0 100px; - height: 100px; - object-fit: cover; - border: 2px solid @color-border; - border-radius: @input-border-radius; - cursor: pointer; - - &:hover { - border-color: @color-primary; - } - } - - .header-fields { - flex: 1; - padding-left: @spacing-medium; - } -} - -.sheet-body { - overflow-y: auto; - - section { - margin-bottom: @spacing-large; - } -} - -// Edit/Play mode toggle -.sheet-mode-toggle { - position: absolute; - top: @spacing-base; - right: 80px; - z-index: 10; - - button { - padding: @spacing-small @spacing-base; - font-size: @font-size-small; - - &.active { - background: @color-primary; - color: @color-text-light; - } - } -} diff --git a/modules/applications/hawkmoon-roll-dialog.mjs b/modules/applications/hawkmoon-roll-dialog.mjs new file mode 100644 index 0000000..bd3e9b5 --- /dev/null +++ b/modules/applications/hawkmoon-roll-dialog.mjs @@ -0,0 +1,177 @@ +import { HawkmoonUtility } from "../hawkmoon-utility.js" +import { HAWKMOON_CONFIG } from "../hawkmoon-config.js" + +/** + * Dialogue de jet de dé pour Hawkmoon - Version DialogV2 + */ +export class HawkmoonRollDialog { + + /** + * Create and display the roll dialog + * @param {HawkmoonActor} actor - The actor making the roll + * @param {Object} rollData - Data for the roll + * @returns {Promise} + */ + static async create(actor, rollData) { + // Préparer le contexte pour le template + const context = { + ...rollData, + difficulte: String(rollData.difficulte || 0), // Convertir en string pour matcher les options du select + img: actor.img, + name: actor.name, + config: HAWKMOON_CONFIG, + } + + // Si attrKey est "tochoose", préparer la liste des attributs sélectionnables + if (rollData.attrKey === "tochoose") { + context.selectableAttributes = actor.system.attributs + // Ne pas changer attrKey ni attr - l'utilisateur doit choisir + } + + // Rendre le template en HTML + const content = await foundry.applications.handlebars.renderTemplate( + "systems/fvtt-hawkmoon-cyd/templates/roll-dialog-generic.hbs", + context + ) + + // Utiliser DialogV2.wait avec le HTML rendu + return foundry.applications.api.DialogV2.wait({ + window: { title: "Test de Capacité", icon: "fa-solid fa-dice-d20" }, + classes: ["hawkmoon-roll-dialog"], + position: { width: 480 }, + modal: false, // Permettre l'interaction avec le canvas pour garder la cible sélectionnée + content, + buttons: [ + { + action: "rolld10", + label: "Lancer 1d10", + icon: "fa-solid fa-dice-d10", + default: true, + callback: (event, button, dialog) => { + this._updateRollDataFromForm(rollData, button.form.elements, actor) + rollData.mainDice = "d10" + HawkmoonUtility.rollHawkmoon(rollData) + } + }, + { + action: "rolld20", + label: "Lancer 1d20", + icon: "fa-solid fa-dice-d20", + callback: (event, button, dialog) => { + this._updateRollDataFromForm(rollData, button.form.elements, actor) + rollData.mainDice = "d20" + HawkmoonUtility.rollHawkmoon(rollData) + } + }, + ], + rejectClose: false, + }) + } + + /** + * Mettre à jour rollData avec les valeurs du formulaire + * @param {Object} rollData - L'objet rollData à mettre à jour + * @param {HTMLFormControlsCollection} formElements - Les éléments du formulaire + * @param {HawkmoonActor} actor - L'acteur pour récupérer les attributs + * @private + */ + static _updateRollDataFromForm(rollData, formElements, actor) { + // Attributs + if (formElements.attrKey) { + rollData.attrKey = formElements.attrKey.value + // Si l'attribut a changé, mettre à jour rollData.attr + if (rollData.attrKey !== "tochoose" && rollData.attrKey !== "none" && actor) { + rollData.attr = foundry.utils.duplicate(actor.system.attributs[rollData.attrKey]) + rollData.actionImg = "systems/fvtt-hawkmoon-cyd/assets/icons/" + actor.system.attributs[rollData.attrKey].labelnorm + ".webp" + } + } + if (formElements.attrKey2) { + rollData.attrKey2 = formElements.attrKey2.value + } + + // Modificateurs de base + if (formElements.difficulte) { + rollData.difficulte = Number(formElements.difficulte.value) + } + if (formElements.modificateur) { + rollData.modificateur = Number(formElements.modificateur.value) + } + if (formElements.soutiens) { + rollData.soutiens = Number(formElements.soutiens.value) + } + + // Compétence + if (formElements.maitrise) { + rollData.maitriseId = formElements.maitrise.value + } + if (formElements.talents) { + // Récupérer toutes les options sélectionnées (select multiple) + const selectedOptions = Array.from(formElements.talents.selectedOptions) + rollData.selectedTalents = selectedOptions.map(opt => opt.value) + } + + // Modificateurs de tir + if (formElements.tailleCible) { + rollData.tailleCible = formElements.tailleCible.value + } + if (formElements.tireurDeplacement) { + rollData.tireurDeplacement = formElements.tireurDeplacement.value + } + if (formElements.cibleCouvert) { + rollData.cibleCouvert = formElements.cibleCouvert.value + } + if (formElements.distanceTir) { + rollData.distanceTir = formElements.distanceTir.value + } + if (formElements.cibleDeplace) { + rollData.cibleDeplace = formElements.cibleDeplace.checked + } + if (formElements.cibleCaC) { + rollData.cibleCaC = formElements.cibleCaC.checked + } + + // Modificateurs de combat (checkboxes) + if (formElements.defenseurAuSol) { + rollData.defenseurAuSol = formElements.defenseurAuSol.checked + } + if (formElements.ambidextre1) { + rollData.ambidextre1 = formElements.ambidextre1.checked + } + if (formElements.ambidextre2) { + rollData.ambidextre2 = formElements.ambidextre2.checked + } + if (formElements.attaqueMonte) { + rollData.attaqueMonte = formElements.attaqueMonte.checked + } + if (formElements.defenseurAveugle) { + rollData.defenseurAveugle = formElements.defenseurAveugle.checked + } + if (formElements.defenseurDeDos) { + rollData.defenseurDeDos = formElements.defenseurDeDos.checked + } + if (formElements.defenseurRestreint) { + rollData.defenseurRestreint = formElements.defenseurRestreint.checked + } + if (formElements.defenseurImmobilise) { + rollData.defenseurImmobilise = formElements.defenseurImmobilise.checked + } + if (formElements.attaqueCharge) { + rollData.attaqueCharge = formElements.attaqueCharge.checked + } + if (formElements.chargeCavalerie) { + rollData.chargeCavalerie = formElements.chargeCavalerie.checked + } + if (formElements.attaquantsMultiple) { + rollData.attaquantsMultiple = formElements.attaquantsMultiple.checked + } + if (formElements.feinte) { + rollData.feinte = formElements.feinte.checked + } + if (formElements.contenir) { + rollData.contenir = formElements.contenir.checked + } + if (formElements.attaqueDesarme) { + rollData.attaqueDesarme = formElements.attaqueDesarme.checked + } + } +} diff --git a/modules/applications/sheets/_module.mjs b/modules/applications/sheets/_module.mjs index b1bbd87..17a953f 100644 --- a/modules/applications/sheets/_module.mjs +++ b/modules/applications/sheets/_module.mjs @@ -10,3 +10,8 @@ export { default as HawkmoonArtefactSheet } from "./artefact-sheet.mjs" export { default as HawkmoonRessourceSheet } from "./ressource-sheet.mjs" export { default as HawkmoonContactSheet } from "./contact-sheet.mjs" export { default as HawkmoonMutationSheet } from "./mutation-sheet.mjs" + +// Actor sheets +export { default as HawkmoonPersonnageSheet } from "./personnage-sheet.mjs" +export { default as HawkmoonCreatureSheet } from "./creature-sheet.mjs" +export { default as HawkmoonCelluleSheet } from "./cellule-sheet.mjs" diff --git a/modules/applications/sheets/base-actor-sheet.mjs b/modules/applications/sheets/base-actor-sheet.mjs new file mode 100644 index 0000000..a5b00d7 --- /dev/null +++ b/modules/applications/sheets/base-actor-sheet.mjs @@ -0,0 +1,547 @@ +const { HandlebarsApplicationMixin } = foundry.applications.api + +import { HawkmoonUtility } from "../../hawkmoon-utility.js" +import { HawkmoonAutomation } from "../../hawkmoon-automation.js" + +export default class HawkmoonActorSheet extends HandlebarsApplicationMixin(foundry.applications.sheets.ActorSheetV2) { + /** + * Different sheet modes. + * @enum {number} + */ + static SHEET_MODES = { EDIT: 0, PLAY: 1 } + + constructor(options = {}) { + super(options) + this.#dragDrop = this.#createDragDropHandlers() + this._sheetMode = this.constructor.SHEET_MODES.PLAY // Commencer en mode visualisation + } + + #dragDrop + + /** @override */ + static DEFAULT_OPTIONS = { + classes: ["fvtt-hawkmoon-cyd", "sheet", "actor"], + position: { + width: 640, + height: 720, + }, + window: { + resizable: true, + }, + form: { + submitOnChange: true, + closeOnSubmit: false, + }, + dragDrop: [{ dragSelector: ".item-list .item", dropSelector: "form" }], + actions: { + editImage: HawkmoonActorSheet.#onEditImage, + toggleSheet: HawkmoonActorSheet.#onToggleSheet, + editItem: HawkmoonActorSheet.#onEditItem, + deleteItem: HawkmoonActorSheet.#onDeleteItem, + createItem: HawkmoonActorSheet.#onCreateItem, + equipItem: HawkmoonActorSheet.#onEquipItem, + modifyQuantity: HawkmoonActorSheet.#onModifyQuantity, + modifyAdversite: HawkmoonActorSheet.#onModifyAdversite, + rollInitiative: HawkmoonActorSheet.#onRollInitiative, + rollAttribut: HawkmoonActorSheet.#onRollAttribut, + rollCompetence: HawkmoonActorSheet.#onRollCompetence, + rollArmeOffensif: HawkmoonActorSheet.#onRollArmeOffensif, + rollArmeDegats: HawkmoonActorSheet.#onRollArmeDegats, + rollAssommer: HawkmoonActorSheet.#onRollAssommer, + rollCoupBas: HawkmoonActorSheet.#onRollCoupBas, + rollImmobiliser: HawkmoonActorSheet.#onRollImmobiliser, + rollRepousser: HawkmoonActorSheet.#onRollRepousser, + rollDesengager: HawkmoonActorSheet.#onRollDesengager, + }, + } + + /** + * Is the sheet currently in 'Play' mode? + * @type {boolean} + */ + get isPlayMode() { + // Initialize if not set + if (this._sheetMode === undefined) this._sheetMode = this.constructor.SHEET_MODES.PLAY + return this._sheetMode === this.constructor.SHEET_MODES.PLAY + } + + /** + * Is the sheet currently in 'Edit' mode? + * @type {boolean} + */ + get isEditMode() { + // Initialize if not set + if (this._sheetMode === undefined) this._sheetMode = this.constructor.SHEET_MODES.PLAY + return this._sheetMode === this.constructor.SHEET_MODES.EDIT + } + + /** + * Tab groups state + * @type {object} + */ + tabGroups = { primary: "principal" } + + /** @override */ + async _prepareContext() { + const actor = this.document + + const context = { + actor: actor, + system: actor.system, + source: actor.toObject(), + fields: actor.schema.fields, + systemFields: actor.system.schema.fields, + isEditable: this.isEditable, + isEditMode: this.isEditMode, + isPlayMode: this.isPlayMode, + isGM: game.user.isGM, + config: CONFIG.HAWKMOON, + enrichedDescription: await foundry.applications.ux.TextEditor.implementation.enrichHTML(actor.system.biodata?.description || "", { async: true }), + enrichedHabitat: await foundry.applications.ux.TextEditor.implementation.enrichHTML(actor.system.biodata?.habitat || "", { async: true }), + } + + return context + } + + /** @override */ + _onRender(context, options) { + super._onRender(context, options) + + // Activate drag & drop handlers + this.#dragDrop.forEach(d => d.bind(this.element)) + + // Manual tab navigation + const html = this.element + const tabLinks = html.querySelectorAll('a.item[data-tab]') + const tabContents = html.querySelectorAll('.tab[data-tab]') + + // Hide all tabs initially + tabContents.forEach(tab => { + tab.classList.remove('active') + tab.style.display = 'none' + }) + + // Show active tab + const activeTab = this.tabGroups.primary + const activeTabContent = html.querySelector(`.tab[data-tab="${activeTab}"]`) + if (activeTabContent) { + activeTabContent.classList.add('active') + activeTabContent.style.display = 'block' + } + + // Activate the corresponding nav link + tabLinks.forEach(link => { + if (link.dataset.tab === activeTab) { + link.classList.add('active') + } else { + link.classList.remove('active') + } + }) + + // Tab click handler + tabLinks.forEach(link => { + link.addEventListener('click', (event) => { + event.preventDefault() + const tab = link.dataset.tab + + // Update state + this.tabGroups.primary = tab + + // Hide all tabs + tabContents.forEach(t => { + t.classList.remove('active') + t.style.display = 'none' + }) + + // Show selected tab + const selectedTab = html.querySelector(`.tab[data-tab="${tab}"]`) + if (selectedTab) { + selectedTab.classList.add('active') + selectedTab.style.display = 'block' + } + + // Update nav links + tabLinks.forEach(l => { + if (l.dataset.tab === tab) { + l.classList.add('active') + } else { + l.classList.remove('active') + } + }) + }) + }) + + // Inline item editing + html.querySelectorAll('.edit-item-data').forEach(input => { + input.addEventListener('change', (event) => { + const li = event.target.closest('.item') + const itemId = li.dataset.itemId + const itemType = li.dataset.itemType + const itemField = event.target.dataset.itemField + const dataType = event.target.dataset.dtype + const value = event.target.value + this.actor.editItemField(itemId, itemType, itemField, dataType, value) + }) + }) + } + + // #region Drag & Drop + + /** + * Create drag-and-drop workflow handlers for this Application + * @returns {DragDrop[]} An array of DragDrop handlers + * @private + */ + #createDragDropHandlers() { + return this.options.dragDrop.map((d) => { + d.permissions = { + dragstart: this._canDragStart.bind(this), + drop: this._canDragDrop.bind(this), + } + d.callbacks = { + dragstart: this._onDragStart.bind(this), + drop: this._onDrop.bind(this), + } + return new foundry.applications.ux.DragDrop(d) + }) + } + + /** + * Define whether a user is able to begin a dragstart workflow for a given drag selector + * @param {string} selector The candidate HTML selector for dragging + * @returns {boolean} Can the current user drag this selector? + * @protected + */ + _canDragStart(selector) { + return this.isEditable + } + + /** + * Define whether a user is able to conclude a drag-and-drop workflow for a given drop selector + * @param {string} selector The candidate HTML selector for the drop target + * @returns {boolean} Can the current user drop on this selector? + * @protected + */ + _canDragDrop(selector) { + return this.isEditable + } + + /** + * Callback actions which occur at the beginning of a drag start workflow. + * @param {DragEvent} event The originating DragEvent + * @protected + */ + _onDragStart(event) { + const li = event.currentTarget.closest(".item") + if (!li?.dataset.itemId) return + const item = this.actor.items.get(li.dataset.itemId) + if (!item) return + + const dragData = item.toDragData() + event.dataTransfer.setData("text/plain", JSON.stringify(dragData)) + } + + /** + * Callback actions which occur when a dragged element is dropped on a target. + * @param {DragEvent} event The originating DragEvent + * @protected + */ + async _onDrop(event) { + const data = foundry.applications.ux.TextEditor.implementation.getDragEventData(event) + const actor = this.actor + + // Handle different data types + switch (data.type) { + case "Item": + return this._onDropItem(event, data) + case "Actor": + return this._onDropActor(event, data) + case "ActiveEffect": + return this._onDropActiveEffect(event, data) + } + } + + /** + * Handle dropping an Item on the actor sheet + * @param {DragEvent} event + * @param {object} data + * @private + */ + async _onDropItem(event, data) { + if (!this.actor.isOwner) return false + + let item = await fromUuid(data.uuid) + if (item.pack) { + item = await HawkmoonUtility.searchItem(item) + } + + const autoresult = HawkmoonAutomation.processAutomations("on-drop", item, this.actor) + if (autoresult.isValid) { + // In AppV2, we need to get the item data differently + const itemData = item.toObject ? item.toObject() : item + return this.actor.createEmbeddedDocuments("Item", [itemData]) + } else { + ui.notifications.warn(autoresult.warningMessage) + return false + } + } + + /** + * Handle dropping an Actor on the sheet + * @param {DragEvent} event + * @param {object} data + * @private + */ + async _onDropActor(event, data) { + // To be implemented by subclasses if needed + return false + } + + /** + * Handle dropping an ActiveEffect on the sheet + * @param {DragEvent} event + * @param {object} data + * @private + */ + async _onDropActiveEffect(event, data) { + // To be implemented by subclasses if needed + return false + } + + // #endregion + + // #region Action Handlers + + /** + * Toggle between edit and play mode + * @param {Event} event + * @param {HTMLElement} target + * @private + */ + static #onToggleSheet(event, target) { + console.log("Toggle sheet clicked", this) + const wasEditMode = this.isEditMode + console.log("Current mode:", this._sheetMode, "isEditMode:", wasEditMode, "isPlayMode:", this.isPlayMode) + this._sheetMode = wasEditMode ? this.constructor.SHEET_MODES.PLAY : this.constructor.SHEET_MODES.EDIT + console.log("New mode set to:", this._sheetMode, "(", wasEditMode ? "PLAY" : "EDIT", ")") + console.log("After change - isEditMode:", this.isEditMode, "isPlayMode:", this.isPlayMode) + this.render({ force: true }) + } + + /** + * Edit the actor image + * @param {Event} event + * @param {HTMLElement} target + * @private + */ + static async #onEditImage(event, target) { + const fp = new FilePicker({ + type: "image", + current: this.actor.img, + callback: (path) => { + this.actor.update({ img: path }) + }, + }) + return fp.browse() + } + + /** + * Edit an item + * @param {Event} event + * @param {HTMLElement} target + * @private + */ + static async #onEditItem(event, target) { + const li = target.closest(".item") + const itemId = li?.dataset.itemId + if (!itemId) return + const item = this.actor.items.get(itemId) + if (item) item.sheet.render(true) + } + + /** + * Delete an item + * @param {Event} event + * @param {HTMLElement} target + * @private + */ + static async #onDeleteItem(event, target) { + const li = target.closest(".item") + await HawkmoonUtility.confirmDelete(this, li) + } + + /** + * Create a new item + * @param {Event} event + * @param {HTMLElement} target + * @private + */ + static async #onCreateItem(event, target) { + const itemType = target.dataset.type + await this.actor.createEmbeddedDocuments("Item", [{ name: `Nouveau ${itemType}`, type: itemType }], { renderSheet: true }) + } + + /** + * Equip/unequip an item + * @param {Event} event + * @param {HTMLElement} target + * @private + */ + static async #onEquipItem(event, target) { + const li = target.closest(".item") + const itemId = li?.dataset.itemId + if (itemId) { + await this.actor.equipItem(itemId) + this.render() + } + } + + /** + * Modify item quantity + * @param {Event} event + * @param {HTMLElement} target + * @private + */ + static async #onModifyQuantity(event, target) { + const li = target.closest(".item") + const itemId = li?.dataset.itemId + const value = Number(target.dataset.quantiteValue) + if (itemId) { + await this.actor.incDecQuantity(itemId, value) + } + } + + /** + * Modify adversité + * @param {Event} event + * @param {HTMLElement} target + * @private + */ + static async #onModifyAdversite(event, target) { + const li = target.closest(".item") + const adv = li?.dataset.adversite + const value = Number(target.dataset.adversiteValue) + if (adv) { + await this.actor.incDecAdversite(adv, value) + } + } + + /** + * Roll initiative + * @param {Event} event + * @param {HTMLElement} target + * @private + */ + static async #onRollInitiative(event, target) { + await this.actor.rollAttribut("adr", true) + } + + /** + * Roll attribut + * @param {Event} event + * @param {HTMLElement} target + * @private + */ + static async #onRollAttribut(event, target) { + const li = target.closest(".item") + const attrKey = li?.dataset.attrKey + if (attrKey) { + await this.actor.rollAttribut(attrKey, false) + } + } + + /** + * Roll competence + * @param {Event} event + * @param {HTMLElement} target + * @private + */ + static async #onRollCompetence(event, target) { + const li = target.closest(".item") + const attrKey = target.dataset.attrKey + const compId = li?.dataset.itemId + if (attrKey && compId) { + await this.actor.rollCompetence(attrKey, compId) + } + } + + /** + * Roll arme offensif + * @param {Event} event + * @param {HTMLElement} target + * @private + */ + static async #onRollArmeOffensif(event, target) { + const li = target.closest(".item") + const armeId = li?.dataset.itemId + if (armeId) { + await this.actor.rollArmeOffensif(armeId) + } + } + + /** + * Roll arme degats + * @param {Event} event + * @param {HTMLElement} target + * @private + */ + static async #onRollArmeDegats(event, target) { + const li = target.closest(".item") + const armeId = li?.dataset.itemId + if (armeId) { + await this.actor.rollArmeDegats(armeId) + } + } + + /** + * Roll assommer + * @param {Event} event + * @param {HTMLElement} target + * @private + */ + static async #onRollAssommer(event, target) { + await this.actor.rollAssommer() + } + + /** + * Roll coup bas + * @param {Event} event + * @param {HTMLElement} target + * @private + */ + static async #onRollCoupBas(event, target) { + await this.actor.rollCoupBas() + } + + /** + * Roll immobiliser + * @param {Event} event + * @param {HTMLElement} target + * @private + */ + static async #onRollImmobiliser(event, target) { + await this.actor.rollImmobiliser() + } + + /** + * Roll repousser + * @param {Event} event + * @param {HTMLElement} target + * @private + */ + static async #onRollRepousser(event, target) { + await this.actor.rollRepousser() + } + + /** + * Roll désengager + * @param {Event} event + * @param {HTMLElement} target + * @private + */ + static async #onRollDesengager(event, target) { + await this.actor.rollDesengager() + } + + // #endregion +} diff --git a/modules/applications/sheets/base-item-sheet.mjs b/modules/applications/sheets/base-item-sheet.mjs index 2b1d512..6e5076c 100644 --- a/modules/applications/sheets/base-item-sheet.mjs +++ b/modules/applications/sheets/base-item-sheet.mjs @@ -1,12 +1,6 @@ const { HandlebarsApplicationMixin } = foundry.applications.api export default class HawkmoonItemSheet extends HandlebarsApplicationMixin(foundry.applications.sheets.ItemSheetV2) { - /** - * Different sheet modes. - * @enum {number} - */ - static SHEET_MODES = { EDIT: 0, PLAY: 1 } - constructor(options = {}) { super(options) this.#dragDrop = this.#createDragDropHandlers() @@ -19,7 +13,7 @@ export default class HawkmoonItemSheet extends HandlebarsApplicationMixin(foundr classes: ["fvtt-hawkmoon-cyd", "item"], position: { width: 620, - height: "auto", + height: 600, }, form: { submitOnChange: true, @@ -36,7 +30,6 @@ export default class HawkmoonItemSheet extends HandlebarsApplicationMixin(foundr ], dragDrop: [{ dragSelector: "[data-drag]", dropSelector: null }], actions: { - toggleSheet: HawkmoonItemSheet.#onToggleSheet, editImage: HawkmoonItemSheet.#onEditImage, postItem: HawkmoonItemSheet.#onPostItem, addPredilection: HawkmoonItemSheet.#onAddPredilection, @@ -46,12 +39,6 @@ export default class HawkmoonItemSheet extends HandlebarsApplicationMixin(foundr }, } - /** - * The current sheet mode. - * @type {number} - */ - _sheetMode = this.constructor.SHEET_MODES.PLAY - /** * Tab groups state * @type {object} @@ -62,18 +49,6 @@ export default class HawkmoonItemSheet extends HandlebarsApplicationMixin(foundr * Is the sheet currently in 'Play' mode? * @type {boolean} */ - get isPlayMode() { - return this._sheetMode === this.constructor.SHEET_MODES.PLAY - } - - /** - * Is the sheet currently in 'Edit' mode? - * @type {boolean} - */ - get isEditMode() { - return this._sheetMode === this.constructor.SHEET_MODES.EDIT - } - /** @override */ async _prepareContext() { const context = { @@ -83,8 +58,7 @@ export default class HawkmoonItemSheet extends HandlebarsApplicationMixin(foundr system: this.document.system, source: this.document.toObject(), enrichedDescription: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.document.system.description, { async: true }), - isEditMode: this.isEditMode, - isPlayMode: this.isPlayMode, + isEditMode: true, isEditable: this.isEditable, isGM: game.user.isGM, config: CONFIG.HAWKMOON, @@ -198,17 +172,6 @@ export default class HawkmoonItemSheet extends HandlebarsApplicationMixin(foundr // #endregion // #region Action Handlers - /** - * Toggle between Edit and Play mode - * @param {Event} event The triggering event - * @param {HTMLElement} target The target element - * @private - */ - static #onToggleSheet(event, target) { - this._sheetMode = this.isEditMode ? this.constructor.SHEET_MODES.PLAY : this.constructor.SHEET_MODES.EDIT - this.render() - } - /** * Edit the item image * @param {Event} event The triggering event diff --git a/modules/applications/sheets/cellule-sheet.mjs b/modules/applications/sheets/cellule-sheet.mjs new file mode 100644 index 0000000..505e2a9 --- /dev/null +++ b/modules/applications/sheets/cellule-sheet.mjs @@ -0,0 +1,142 @@ +import HawkmoonActorSheet from "./base-actor-sheet.mjs" + +const __ALLOWED_ITEM_CELLULE = { talent: 1, ressource: 1, contact: 1, equipement: 1, protection: 1, artefact: 1, arme: 1, monnaie: 1 } + +export default class HawkmoonCelluleSheet extends HawkmoonActorSheet { + /** @override */ + static DEFAULT_OPTIONS = { + ...super.DEFAULT_OPTIONS, + classes: [...super.DEFAULT_OPTIONS.classes], + window: { + ...super.DEFAULT_OPTIONS.window, + title: "SHEETS.Actor.cellule", + }, + actions: { + ...super.DEFAULT_OPTIONS.actions, + editActor: HawkmoonCelluleSheet.#onEditActor, + deleteActor: HawkmoonCelluleSheet.#onDeleteActor, + }, + } + + /** @override */ + static PARTS = { + sheet: { + template: "systems/fvtt-hawkmoon-cyd/templates/cellule-sheet.hbs", + }, + } + + /** @override */ + tabGroups = { primary: "talents" } + + /** @override */ + async _prepareContext() { + const context = await super._prepareContext() + const actor = this.document + + // Add cellule-specific data + context.talents = foundry.utils.duplicate(actor.getTalents() || {}) + context.ressources = foundry.utils.duplicate(actor.getRessources ? actor.getRessources() : []) + context.contacts = foundry.utils.duplicate(actor.getContacts ? actor.getContacts() : []) + context.members = this.#getMembers() + context.equipements = foundry.utils.duplicate(actor.getEquipments ? actor.getEquipments() : []) + context.artefacts = foundry.utils.duplicate(actor.getArtefacts ? actor.getArtefacts() : []) + context.armes = foundry.utils.duplicate(actor.getWeapons ? actor.getWeapons() : []) + context.monnaies = foundry.utils.duplicate(actor.getMonnaies ? actor.getMonnaies() : []) + context.protections = foundry.utils.duplicate(actor.getArmors ? actor.getArmors() : []) + context.richesse = actor.computeRichesse ? actor.computeRichesse() : 0 + context.valeurEquipement = actor.computeValeurEquipement ? actor.computeValeurEquipement() : 0 + context.enrichedDescription = await foundry.applications.ux.TextEditor.implementation.enrichHTML(actor.system.description || "", { async: true }) + + return context + } + + /** + * Get members of the cellule with full actor data + * @returns {Array} + * @private + */ + #getMembers() { + let membersFull = [] + for (let memberId of this.actor.system.members) { + let actor = game.actors.get(memberId) + if (actor) { + membersFull.push({ name: actor.name, id: actor.id, img: actor.img }) + } + } + return membersFull + } + + /** + * Override _onDropItem to filter allowed item types for cellule + * @override + */ + async _onDropItem(event, data) { + const item = await fromUuid(data.uuid) + + // Check if item type is allowed for cellule + if (!__ALLOWED_ITEM_CELLULE[item.type]) { + ui.notifications.warn(`Le type d'item ${item.type} n'est pas autorisé pour une cellule`) + return false + } + + return super._onDropItem(event, data) + } + + /** + * Override _onDropActor to handle adding members + * @override + */ + async _onDropActor(event, data) { + const droppedActor = await fromUuid(data.uuid) + + if (droppedActor.type !== "personnage") { + ui.notifications.warn("Seuls les personnages peuvent être ajoutés à une cellule") + return false + } + + // Check if already a member + const isMember = this.actor.system.members.includes(droppedActor.id) + if (isMember) { + ui.notifications.warn("Ce personnage est déjà membre de cette cellule") + return false + } + + // Add member ID + const members = [...this.actor.system.members, droppedActor.id] + await this.actor.update({ "system.members": members }) + return true + } + + // #region Cellule-specific Actions + + /** + * Edit an actor (member) + * @param {Event} event + * @param {HTMLElement} target + * @private + */ + static async #onEditActor(event, target) { + const li = target.closest(".item") + const actorId = li?.dataset.actorId + if (!actorId) return + const actor = game.actors.get(actorId) + if (actor) actor.sheet.render(true) + } + + /** + * Delete an actor (remove member) + * @param {Event} event + * @param {HTMLElement} target + * @private + */ + static async #onDeleteActor(event, target) { + const li = target.closest(".item") + const actorId = li?.dataset.actorId + if (actorId) { + const members = this.actor.system.members.filter(id => id !== actorId) + await this.actor.update({ "system.members": members }) + } + } + + // #endregion +} diff --git a/modules/applications/sheets/creature-sheet.mjs b/modules/applications/sheets/creature-sheet.mjs new file mode 100644 index 0000000..f25a24d --- /dev/null +++ b/modules/applications/sheets/creature-sheet.mjs @@ -0,0 +1,60 @@ +import HawkmoonActorSheet from "./base-actor-sheet.mjs" +import { HawkmoonUtility } from "../../hawkmoon-utility.js" + +export default class HawkmoonCreatureSheet extends HawkmoonActorSheet { + /** @override */ + static DEFAULT_OPTIONS = { + ...super.DEFAULT_OPTIONS, + classes: [...super.DEFAULT_OPTIONS.classes], + window: { + ...super.DEFAULT_OPTIONS.window, + title: "SHEETS.Actor.creature", + }, + } + + /** @override */ + static PARTS = { + sheet: { + template: "systems/fvtt-hawkmoon-cyd/templates/creature-sheet.hbs", + }, + } + + /** @override */ + tabGroups = { primary: "principal" } + + /** @override */ + async _prepareContext() { + const context = await super._prepareContext() + const actor = this.document + + // Add creature-specific data + context.skills = actor.getSkills ? actor.getSkills() : [] + context.armes = foundry.utils.duplicate(actor.getWeapons ? actor.getWeapons() : []) + context.protections = foundry.utils.duplicate(actor.getArmors ? actor.getArmors() : []) + context.combat = actor.getCombatValues ? actor.getCombatValues() : {} + context.equipements = foundry.utils.duplicate(actor.getEquipments ? actor.getEquipments() : []) + context.talents = foundry.utils.duplicate(actor.getTalents ? actor.getTalents() : []) + context.talentsCell = this.#getCelluleTalents() + context.nbCombativite = actor.system.sante?.nbcombativite || 0 + context.combativiteList = HawkmoonUtility.getCombativiteList(actor.system.sante?.nbcombativite || 0) + context.initiative = actor.getFlag("world", "last-initiative") || -1 + context.enrichedDescription = await foundry.applications.ux.TextEditor.implementation.enrichHTML(actor.system.biodata?.description || "", { async: true }) + context.enrichedHabitat = await foundry.applications.ux.TextEditor.implementation.enrichHTML(actor.system.biodata?.habitat || "", { async: true }) + + return context + } + + /** + * Get talents from attached cellule + * @private + */ + #getCelluleTalents() { + const celluleId = this.actor.system?.details?.celluleid + if (!celluleId) return [] + + const cellule = game.actors.get(celluleId) + if (!cellule) return [] + + return foundry.utils.duplicate(cellule.getTalents?.() || []) + } +} diff --git a/modules/applications/sheets/personnage-sheet.mjs b/modules/applications/sheets/personnage-sheet.mjs new file mode 100644 index 0000000..dff16e9 --- /dev/null +++ b/modules/applications/sheets/personnage-sheet.mjs @@ -0,0 +1,104 @@ +import HawkmoonActorSheet from "./base-actor-sheet.mjs" +import { HawkmoonUtility } from "../../hawkmoon-utility.js" + +export default class HawkmoonPersonnageSheet extends HawkmoonActorSheet { + /** @override */ + static DEFAULT_OPTIONS = { + ...super.DEFAULT_OPTIONS, + classes: [...super.DEFAULT_OPTIONS.classes], + window: { + ...super.DEFAULT_OPTIONS.window, + title: "SHEETS.Actor.personnage", + }, + actions: { + ...super.DEFAULT_OPTIONS.actions, + openCellule: HawkmoonPersonnageSheet.#onOpenCellule, + }, + } + + /** @override */ + static PARTS = { + sheet: { + template: "systems/fvtt-hawkmoon-cyd/templates/actor-sheet.hbs", + }, + } + + /** @override */ + tabGroups = { primary: "principal" } + + /** @override */ + async _prepareContext() { + const context = await super._prepareContext() + const actor = this.document + + // Add personnage-specific data + context.skills = actor.getSkills() + context.armes = foundry.utils.duplicate(actor.getWeapons()) + context.monnaies = foundry.utils.duplicate(actor.getMonnaies()) + context.protections = foundry.utils.duplicate(actor.getArmors()) + context.historiques = foundry.utils.duplicate(actor.getHistoriques() || []) + context.talents = foundry.utils.duplicate(actor.getTalents() || []) + context.mutations = foundry.utils.duplicate(actor.getMutations() || []) + context.talentsCell = this.#getCelluleTalents() + context.celluleId = this.#getCelluleId() + context.profils = foundry.utils.duplicate(actor.getProfils() || []) + context.combat = actor.getCombatValues() + context.equipements = foundry.utils.duplicate(actor.getEquipments()) + context.artefacts = foundry.utils.duplicate(actor.getArtefacts()) + context.richesse = actor.computeRichesse() + context.coupDevastateur = actor.items.find(it => it.type == "talent" && it.name.toLowerCase() == "coup devastateur" && !it.system.used) + context.valeurEquipement = actor.computeValeurEquipement() + context.nbCombativite = actor.system.sante.nbcombativite + context.combativiteList = HawkmoonUtility.getCombativiteList(actor.system.sante.nbcombativite) + context.initiative = actor.getFlag("world", "last-initiative") || -1 + + return context + } + + /** + * Get talents from cellules this actor is a member of + * @returns {Array} + * @private + */ + #getCelluleTalents() { + let talents = [] + for (let cellule of game.actors) { + if (cellule.type == "cellule") { + let found = cellule.system.members.includes(this.actor.id) + if (found) { + talents = talents.concat(cellule.getTalents()) + } + } + } + return talents + } + + /** + * Get the ID of the cellule this actor is a member of + * @returns {string|null} + * @private + */ + #getCelluleId() { + for (let cellule of game.actors) { + if (cellule.type == "cellule") { + if (cellule.system.members.includes(this.actor.id)) { + return cellule.id + } + } + } + return null + } + + /** + * Open cellule sheet + * @param {Event} event + * @param {HTMLElement} target + * @private + */ + static async #onOpenCellule(event, target) { + const celluleId = target.dataset.celluleId + if (!celluleId) return + const cellule = game.actors.get(celluleId) + if (cellule) cellule.sheet.render(true) + } +} diff --git a/modules/hawkmoon-actor-sheet.js b/modules/hawkmoon-actor-sheet.js index 219f0e3..b734415 100644 --- a/modules/hawkmoon-actor-sheet.js +++ b/modules/hawkmoon-actor-sheet.js @@ -36,6 +36,7 @@ export class HawkmoonActorSheet extends foundry.appv1.sheets.ActorSheet { editable: this.isEditable, cssClass: this.isEditable ? "editable" : "locked", system: objectData.system, + systemFields: this.document.system.schema.fields, effects: this.object.effects.map(e => foundry.utils.deepClone(e.data)), limited: this.object.limited, skills: this.actor.getSkills(), @@ -56,7 +57,7 @@ export class HawkmoonActorSheet extends foundry.appv1.sheets.ActorSheet { nbCombativite: this.actor.system.sante.nbcombativite, combativiteList: HawkmoonUtility.getCombativiteList(this.actor.system.sante.nbcombativite), initiative: this.actor.getFlag("world", "last-initiative") || -1, - description: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.description, {async: true}), + enrichedDescription: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.description, {async: true}), habitat: await foundry.applications.ux.TextEditor.implementation.enrichHTML(this.object.system.biodata.habitat, {async: true}), options: this.options, owner: this.document.isOwner, @@ -66,7 +67,6 @@ export class HawkmoonActorSheet extends foundry.appv1.sheets.ActorSheet { } this.formData = formData; - console.log("PC : ", formData, this.object); return formData; } diff --git a/modules/hawkmoon-actor.js b/modules/hawkmoon-actor.js index 3124a26..b276296 100644 --- a/modules/hawkmoon-actor.js +++ b/modules/hawkmoon-actor.js @@ -1,6 +1,6 @@ /* -------------------------------------------- */ import { HawkmoonUtility } from "./hawkmoon-utility.js"; -import { HawkmoonRollDialog } from "./hawkmoon-roll-dialog.js"; +import { HawkmoonRollDialog } from "./applications/hawkmoon-roll-dialog.mjs"; /* -------------------------------------------- */ const __degatsBonus = [-2, -2, -1, -1, 0, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 8, 8, 9, 9, 10, 10] @@ -655,8 +655,7 @@ export class HawkmoonActor extends Actor { let rollData = this.getCommonRollData(attrKey) rollData.multiplier = (isInit) ? 1 : 2 rollData.isInit = isInit - let rollDialog = await HawkmoonRollDialog.create(this, rollData) - rollDialog.render(true) + await HawkmoonRollDialog.create(this, rollData) } /* -------------------------------------------- */ @@ -664,22 +663,30 @@ export class HawkmoonActor extends Actor { let rollData = this.getCommonRollData(attrKey, compId) rollData.multiplier = 1 // Attr multiplier, always 1 in competence mode console.log("RollDatra", rollData) - let rollDialog = await HawkmoonRollDialog.create(this, rollData) - rollDialog.render(true) + await HawkmoonRollDialog.create(this, rollData) } /* -------------------------------------------- */ async rollArmeOffensif(armeId) { let arme = this.items.get(armeId) + if (!arme.system.equipped) { + ui.notifications.warn("Cette arme doit être équipée pour pouvoir attaquer !") + return + } if (arme.type == "arme") { arme = this.prepareArme(arme) } + if (!arme.system.competence) { + ui.notifications.warn("Aucune compétence trouvée pour cette arme !") + return + } let rollData = this.getCommonRollData(arme.system.attrKey, arme.system.competence._id) rollData.arme = arme + rollData.isCombat = true + rollData.isTir = arme.system.isDistance || false HawkmoonUtility.updateWithTarget(rollData) console.log("ARME!", rollData) - let rollDialog = await HawkmoonRollDialog.create(this, rollData) - rollDialog.render(true) + await HawkmoonRollDialog.create(this, rollData) } /* -------------------------------------------- */ async rollAssommer() { @@ -687,8 +694,7 @@ export class HawkmoonActor extends Actor { rollData.assomer = true rollData.conditionsCommunes = true HawkmoonUtility.updateWithTarget(rollData) - let rollDialog = await HawkmoonRollDialog.create(this, rollData) - rollDialog.render(true) + await HawkmoonRollDialog.create(this, rollData) } /* -------------------------------------------- */ async rollCoupBas() { @@ -696,8 +702,7 @@ export class HawkmoonActor extends Actor { rollData.coupBas = true rollData.conditionsCommunes = true HawkmoonUtility.updateWithTarget(rollData) - let rollDialog = await HawkmoonRollDialog.create(this, rollData) - rollDialog.render(true) + await HawkmoonRollDialog.create(this, rollData) } /* -------------------------------------------- */ async rollImmobiliser() { @@ -706,8 +711,7 @@ export class HawkmoonActor extends Actor { rollData.conditionsCommunes = true rollData.cibleconsciente = true HawkmoonUtility.updateWithTarget(rollData) - let rollDialog = await HawkmoonRollDialog.create(this, rollData) - rollDialog.render(true) + await HawkmoonRollDialog.create(this, rollData) } /* -------------------------------------------- */ async rollRepousser() { @@ -716,8 +720,7 @@ export class HawkmoonActor extends Actor { rollData.conditionsCommunes = true rollData.cibleconsciente = true HawkmoonUtility.updateWithTarget(rollData) - let rollDialog = await HawkmoonRollDialog.create(this, rollData) - rollDialog.render(true) + await HawkmoonRollDialog.create(this, rollData) } /* -------------------------------------------- */ async rollDesengager() { @@ -725,13 +728,16 @@ export class HawkmoonActor extends Actor { rollData.desengager = true rollData.conditionsCommunes = true HawkmoonUtility.updateWithTarget(rollData) - let rollDialog = await HawkmoonRollDialog.create(this, rollData) - rollDialog.render(true) + await HawkmoonRollDialog.create(this, rollData) } /* -------------------------------------------- */ async rollArmeDegats(armeId, targetVigueur = undefined, rollDataInput = undefined) { let arme = this.items.get(armeId) + if (!arme.system.equipped) { + ui.notifications.warn("Cette arme doit être équipée pour pouvoir infliger des dégâts !") + return + } if (arme.type == "arme") { arme = this.prepareArme(arme) } @@ -782,7 +788,7 @@ export class HawkmoonActor extends Actor { nbEtatPerdus: nbEtatPerdus } HawkmoonUtility.createChatWithRollMode(rollData.alias, { - content: await renderTemplate(`systems/fvtt-hawkmoon-cyd/templates/chat-degats-result.html`, rollData) + content: await foundry.applications.handlebars.renderTemplate(`systems/fvtt-hawkmoon-cyd/templates/chat-degats-result.html`, rollData) }) if (rollDataInput?.defenderTokenId && nbEtatPerdus) { diff --git a/modules/hawkmoon-commands.js b/modules/hawkmoon-commands.js index 9caf008..077b42a 100644 --- a/modules/hawkmoon-commands.js +++ b/modules/hawkmoon-commands.js @@ -1,7 +1,7 @@ /* -------------------------------------------- */ import { HawkmoonUtility } from "./hawkmoon-utility.js"; -import { HawkmoonRollDialog } from "./hawkmoon-roll-dialog.js"; +import { HawkmoonRollDialog } from "./applications/hawkmoon-roll-dialog.mjs"; /* -------------------------------------------- */ export class HawkmoonCommands { @@ -106,18 +106,17 @@ export class HawkmoonCommands { static _chatAnswer(msg, content) { msg.whisper = [game.user.id]; msg.content = content; - ChatMessage.create(msg); + ChatMessage.create(msg); } /* -------------------------------------------- */ async poolRoll( msg) { let rollData = HawkmoonUtility.getBasicRollData() - rollData.alias = "Dice Pool Roll", + rollData.alias = "Dice Pool Roll", rollData.mode = "generic" rollData.title = `Dice Pool Roll`; - - let rollDialog = await HawkmoonRollDialog.create( this, rollData); - rollDialog.render( true ); + + await HawkmoonRollDialog.create( this, rollData); } } \ No newline at end of file diff --git a/modules/hawkmoon-main.js b/modules/hawkmoon-main.js index e411d96..b80f6b9 100644 --- a/modules/hawkmoon-main.js +++ b/modules/hawkmoon-main.js @@ -89,9 +89,9 @@ Hooks.once("init", async function () { /* -------------------------------------------- */ // Register sheet application classes foundry.documents.collections.Actors.unregisterSheet("core", foundry.appv1.sheets.ActorSheet); - foundry.documents.collections.Actors.registerSheet("fvtt-hawkmoon-cyd", HawkmoonActorSheet, { types: ["personnage"], makeDefault: true }) - foundry.documents.collections.Actors.registerSheet("fvtt-hawkmoon-cyd", HawkmoonCreatureSheet, { types: ["creature"], makeDefault: true }) - foundry.documents.collections.Actors.registerSheet("fvtt-hawkmoon-cyd", HawkmoonCelluleSheet, { types: ["cellule"], makeDefault: true }); + foundry.documents.collections.Actors.registerSheet("fvtt-hawkmoon-cyd", sheets.HawkmoonPersonnageSheet, { types: ["personnage"], makeDefault: true }) + foundry.documents.collections.Actors.registerSheet("fvtt-hawkmoon-cyd", sheets.HawkmoonCreatureSheet, { types: ["creature"], makeDefault: true }) + foundry.documents.collections.Actors.registerSheet("fvtt-hawkmoon-cyd", sheets.HawkmoonCelluleSheet, { types: ["cellule"], makeDefault: true }); // Register AppV2 Item Sheets foundry.documents.collections.Items.unregisterSheet("core", foundry.appv1.sheets.ItemSheet); @@ -119,12 +119,39 @@ function welcomeMessage() { ChatMessage.create({ user: game.user.id, whisper: [game.user.id], - content: `
- Bienvenue dans Hawkmoon et le troisième Millénaire ! -

Les livres de Hawkmoon sont nécessaires pour jouer : https://www.titam-france.fr

-

Hawkmoon est jeu de rôle publié par Titam France/Sombres projets, tout les droits leur appartiennent.

-

Système développé par LeRatierBretonnien, support sur le Discord FR de Foundry.

- ` }); + content: ` +
+
+ Hawkmoon +
+

Bienvenue dans Hawkmoon !

+
+ + Le Troisième Millénaire +
+
+
+ +
+
+
Informations importantes
+
+

Les livres de Hawkmoon sont nécessaires pour jouer.

+

Hawkmoon est un jeu de rôle publié par Titam France / Sombres projets, tous les droits leur appartiennent.

+
+
+ +
+
Support & Communauté
+
+

Système développé par LeRatierBretonnien

+

Support disponible sur le Discord FR de Foundry VTT

+
+
+
+
+ ` + }); } /* -------------------------------------------- */ diff --git a/modules/hawkmoon-utility.js b/modules/hawkmoon-utility.js index 5c38f03..7d7a87b 100644 --- a/modules/hawkmoon-utility.js +++ b/modules/hawkmoon-utility.js @@ -265,11 +265,14 @@ export class HawkmoonUtility { /* -------------------------------------------- */ static getTarget() { - if (game.user.targets && game.user.targets.size == 1) { + console.log("getTarget - targets size:", game.user.targets?.size) + if (game.user.targets && game.user.targets.size >= 1) { for (let target of game.user.targets) { - return target; + console.log("getTarget - Returning target:", target.id) + return target; // Prendre la première cible si plusieurs } } + console.log("getTarget - No target found") return undefined; } @@ -443,11 +446,10 @@ export class HawkmoonUtility { } } } - rollData.diceFormula += `+${rollData.bonusMalusContext}` } else if (rollData.attr2) { - rollData.diceFormula += `+${rollData.attr.value}+${rollData.attr2.value}+${rollData.modificateur}+${rollData.bonusMalusContext}` + rollData.diceFormula += `+${rollData.attr.value}+${rollData.attr2.value}+${rollData.modificateur}` } else { - rollData.diceFormula += `+${rollData.attr.value}*${rollData.multiplier}+${rollData.modificateur}+${rollData.bonusMalusContext}` + rollData.diceFormula += `+${rollData.attr.value}*${rollData.multiplier}+${rollData.modificateur}` } // Bonus arme naturelle en défense @@ -651,9 +653,13 @@ export class HawkmoonUtility { break; } chatOptions.alias = chatOptions.alias || name + + // Ajouter le flag directement dans les options pour éviter les problèmes de timing + if (rollData) { + chatOptions.flags = { world: { "hawkmoon-roll": rollData } } + } + let msg = await ChatMessage.create(chatOptions) - console.log("=======>", rollData) - msg.setFlag("world", "hawkmoon-roll", rollData) } /* -------------------------------------------- */ @@ -664,8 +670,7 @@ export class HawkmoonUtility { modificateursOptions: this.getModificateurOptions(), pointAmeOptions: this.getPointAmeOptions(), difficulte: 0, - modificateur: 0, - bonusMalusContext: 0, + modificateur: "0", bonusArmeNaturelle: 0, defenseurAveugle: false, defenseurDeDos: false, @@ -676,6 +681,8 @@ export class HawkmoonUtility { tireurDeplacement: "immobile", cibleCouvert: "aucun", distanceTir: "porteemoyenne", + cibleDeplace: false, + cibleCaC: false, attaqueCharge: false, attaqueDesarme: false, attaqueAmbidextre1: false, @@ -690,10 +697,18 @@ export class HawkmoonUtility { /* -------------------------------------------- */ static updateWithTarget(rollData) { let target = HawkmoonUtility.getTarget() + console.log("updateWithTarget - Current target:", target) + console.log("updateWithTarget - Existing defenderTokenId:", rollData.defenderTokenId) if (target) { rollData.defenderTokenId = target.id + console.log("updateWithTarget - Set defenderTokenId to:", rollData.defenderTokenId) + } + // Utiliser la cible déjà enregistrée si aucune cible n'est actuellement sélectionnée + if (rollData.defenderTokenId) { let defender = game.canvas.tokens.get(rollData.defenderTokenId).actor + console.log("updateWithTarget - Defender actor:", defender.name) rollData.armeDefense = defender.getBestDefenseValue() + console.log("updateWithTarget - armeDefense:", rollData.armeDefense) rollData.armeAttaqueDefenseur = defender.getBestAttackValue() rollData.targetVigueur = defender.getVigueur() rollData.protectionDefenseur = defender.getProtection() @@ -709,14 +724,23 @@ export class HawkmoonUtility { rollData.difficulte = rollData.armeAttaqueDefenseur?.system?.totalOffensif || 0; } else if (rollData.armeDefense) { rollData.difficulte = rollData.armeDefense.system.totalDefensif - if (!rollData.desengager && !rollData.arme.system.armenaturelle && !rollData.arme.system.armefortune) { + console.log("updateWithTarget - Calculated difficulte from armeDefense:", rollData.difficulte) + if (rollData.arme && !rollData.desengager && !rollData.arme.system.armenaturelle && !rollData.arme.system.armefortune) { if (rollData.armeDefense.system.armenaturelle || rollData.armeDefense.system.armefortune) { rollData.bonusArmeNaturelle = 3 } } + } else if (rollData.arme?.system.isDistance) { + // Pour les armes à distance, calculer la difficulté de base (protection + distance par défaut) + const distanceValues = { "porteecourte": 5, "porteemoyenne": 9, "porteelongue": 14 } + rollData.difficulte = rollData.protectionDefenseur + distanceValues[rollData.distanceTir || "porteemoyenne"] + console.log("updateWithTarget - Calculated difficulte for ranged:", rollData.difficulte, "= protection", rollData.protectionDefenseur, "+ distance", distanceValues[rollData.distanceTir || "porteemoyenne"]) } else { + console.log("updateWithTarget - No armeDefense found!") ui.notifications.warn("Aucune arme de défense équipée, difficulté manuelle à positionner.") } + } else { + console.log("updateWithTarget - No defenderTokenId, skipping target calculations") } } @@ -807,7 +831,7 @@ export class HawkmoonUtility { /* -------------------------------------------- */ static async confirmDelete(actorSheet, li) { - let itemId = li.data("item-id"); + let itemId = li.dataset.itemId; let msgTxt = "

Etes vous certain de vouloir supprimer cet item ?"; let buttons = { delete: { @@ -815,7 +839,7 @@ export class HawkmoonUtility { label: "Oui !", callback: () => { actorSheet.actor.deleteEmbeddedDocuments("Item", [itemId]); - li.slideUp(200, () => actorSheet.render(false)); + actorSheet.render(false); } }, cancel: { diff --git a/modules/models/creature.mjs b/modules/models/creature.mjs index c696c17..6861874 100644 --- a/modules/models/creature.mjs +++ b/modules/models/creature.mjs @@ -14,11 +14,11 @@ export default class CreatureDataModel extends foundry.abstract.TypeDataModel { cheveux: new fields.StringField({ initial: "" }), sexe: new fields.StringField({ initial: "" }), yeux: new fields.StringField({ initial: "" }), - description: new fields.StringField({ initial: "" }), - habitat: new fields.StringField({ initial: "" }), - notes: new fields.StringField({ initial: "" }), + description: new fields.HTMLField({ initial: "" }), + habitat: new fields.HTMLField({ initial: "" }), + notes: new fields.HTMLField({ initial: "" }), statut: new fields.StringField({ initial: "" }), - gmnotes: new fields.StringField({ initial: "" }), + gmnotes: new fields.HTMLField({ initial: "" }), statutresistant: new fields.StringField({ initial: "commun" }) }), // Template core diff --git a/modules/models/personnage.mjs b/modules/models/personnage.mjs index 1870988..caa0d99 100644 --- a/modules/models/personnage.mjs +++ b/modules/models/personnage.mjs @@ -14,11 +14,11 @@ export default class PersonnageDataModel extends foundry.abstract.TypeDataModel cheveux: new fields.StringField({ initial: "" }), sexe: new fields.StringField({ initial: "" }), yeux: new fields.StringField({ initial: "" }), - description: new fields.StringField({ initial: "" }), - habitat: new fields.StringField({ initial: "" }), - notes: new fields.StringField({ initial: "" }), + description: new fields.HTMLField({ initial: "" }), + habitat: new fields.HTMLField({ initial: "" }), + notes: new fields.HTMLField({ initial: "" }), statut: new fields.StringField({ initial: "" }), - gmnotes: new fields.StringField({ initial: "" }), + gmnotes: new fields.HTMLField({ initial: "" }), statutresistant: new fields.StringField({ initial: "commun" }) }), // Template core diff --git a/packs/aides-de-jeu/000351.log b/packs/aides-de-jeu/000371.log similarity index 100% rename from packs/aides-de-jeu/000351.log rename to packs/aides-de-jeu/000371.log diff --git a/packs/aides-de-jeu/CURRENT b/packs/aides-de-jeu/CURRENT index 4e1f234..f35a2e3 100644 --- a/packs/aides-de-jeu/CURRENT +++ b/packs/aides-de-jeu/CURRENT @@ -1 +1 @@ -MANIFEST-000349 +MANIFEST-000369 diff --git a/packs/aides-de-jeu/LOG b/packs/aides-de-jeu/LOG index 4f51b63..0fadb6c 100644 --- a/packs/aides-de-jeu/LOG +++ b/packs/aides-de-jeu/LOG @@ -1,8 +1,8 @@ -2026/01/06-08:51:42.969110 7f93eaffd6c0 Recovering log #347 -2026/01/06-08:51:42.979018 7f93eaffd6c0 Delete type=3 #345 -2026/01/06-08:51:42.979076 7f93eaffd6c0 Delete type=0 #347 -2026/01/06-16:09:35.226231 7f93e9ffb6c0 Level-0 table #352: started -2026/01/06-16:09:35.226274 7f93e9ffb6c0 Level-0 table #352: 0 bytes OK -2026/01/06-16:09:35.266431 7f93e9ffb6c0 Delete type=0 #350 -2026/01/06-16:09:35.363828 7f93e9ffb6c0 Manual compaction at level-0 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end) -2026/01/06-16:09:35.363849 7f93e9ffb6c0 Manual compaction at level-1 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end) +2026/01/08-07:36:58.887148 7f93eb7fe6c0 Recovering log #367 +2026/01/08-07:36:58.939639 7f93eb7fe6c0 Delete type=3 #365 +2026/01/08-07:36:58.939724 7f93eb7fe6c0 Delete type=0 #367 +2026/01/08-07:52:47.457502 7f93e9ffb6c0 Level-0 table #372: started +2026/01/08-07:52:47.457539 7f93e9ffb6c0 Level-0 table #372: 0 bytes OK +2026/01/08-07:52:47.463768 7f93e9ffb6c0 Delete type=0 #370 +2026/01/08-07:52:47.491927 7f93e9ffb6c0 Manual compaction at level-0 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end) +2026/01/08-07:52:47.491984 7f93e9ffb6c0 Manual compaction at level-1 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end) diff --git a/packs/aides-de-jeu/LOG.old b/packs/aides-de-jeu/LOG.old index 2893bf4..c4d7a8a 100644 --- a/packs/aides-de-jeu/LOG.old +++ b/packs/aides-de-jeu/LOG.old @@ -1,8 +1,8 @@ -2026/01/06-08:47:47.731237 7f93eaffd6c0 Recovering log #343 -2026/01/06-08:47:47.748574 7f93eaffd6c0 Delete type=3 #341 -2026/01/06-08:47:47.748681 7f93eaffd6c0 Delete type=0 #343 -2026/01/06-08:50:51.064497 7f93e9ffb6c0 Level-0 table #348: started -2026/01/06-08:50:51.064533 7f93e9ffb6c0 Level-0 table #348: 0 bytes OK -2026/01/06-08:50:51.071294 7f93e9ffb6c0 Delete type=0 #346 -2026/01/06-08:50:51.077656 7f93e9ffb6c0 Manual compaction at level-0 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end) -2026/01/06-08:50:51.077786 7f93e9ffb6c0 Manual compaction at level-1 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end) +2026/01/08-00:15:43.227596 7f93ea7fc6c0 Recovering log #363 +2026/01/08-00:15:43.238114 7f93ea7fc6c0 Delete type=3 #361 +2026/01/08-00:15:43.238181 7f93ea7fc6c0 Delete type=0 #363 +2026/01/08-00:20:54.710727 7f93e9ffb6c0 Level-0 table #368: started +2026/01/08-00:20:54.710756 7f93e9ffb6c0 Level-0 table #368: 0 bytes OK +2026/01/08-00:20:54.717840 7f93e9ffb6c0 Delete type=0 #366 +2026/01/08-00:20:54.740889 7f93e9ffb6c0 Manual compaction at level-0 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end) +2026/01/08-00:20:54.740935 7f93e9ffb6c0 Manual compaction at level-1 from '!journal!MUbViCE2PkVxlzqe' @ 72057594037927935 : 1 .. '!journal.pages!gVybbv17TFY8o3Y4.fQidyqfF1TbsZKHM' @ 0 : 0; will stop at (end) diff --git a/packs/aides-de-jeu/MANIFEST-000349 b/packs/aides-de-jeu/MANIFEST-000369 similarity index 84% rename from packs/aides-de-jeu/MANIFEST-000349 rename to packs/aides-de-jeu/MANIFEST-000369 index f657d53..b37f1bd 100644 Binary files a/packs/aides-de-jeu/MANIFEST-000349 and b/packs/aides-de-jeu/MANIFEST-000369 differ diff --git a/packs/armes/000350.log b/packs/armes/000370.log similarity index 100% rename from packs/armes/000350.log rename to packs/armes/000370.log diff --git a/packs/armes/CURRENT b/packs/armes/CURRENT index 549acb4..0e10e4f 100644 --- a/packs/armes/CURRENT +++ b/packs/armes/CURRENT @@ -1 +1 @@ -MANIFEST-000348 +MANIFEST-000368 diff --git a/packs/armes/LOG b/packs/armes/LOG index 8efef77..04b9c50 100644 --- a/packs/armes/LOG +++ b/packs/armes/LOG @@ -1,8 +1,8 @@ -2026/01/06-08:51:42.867692 7f93eb7fe6c0 Recovering log #346 -2026/01/06-08:51:42.877316 7f93eb7fe6c0 Delete type=3 #344 -2026/01/06-08:51:42.877391 7f93eb7fe6c0 Delete type=0 #346 -2026/01/06-16:09:34.742312 7f93e9ffb6c0 Level-0 table #351: started -2026/01/06-16:09:34.742344 7f93e9ffb6c0 Level-0 table #351: 0 bytes OK -2026/01/06-16:09:34.776378 7f93e9ffb6c0 Delete type=0 #349 -2026/01/06-16:09:34.843192 7f93e9ffb6c0 Manual compaction at level-0 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end) -2026/01/06-16:09:34.843219 7f93e9ffb6c0 Manual compaction at level-1 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end) +2026/01/08-07:36:58.419332 7f93ea7fc6c0 Recovering log #366 +2026/01/08-07:36:58.495209 7f93ea7fc6c0 Delete type=3 #364 +2026/01/08-07:36:58.495282 7f93ea7fc6c0 Delete type=0 #366 +2026/01/08-07:52:47.416941 7f93e9ffb6c0 Level-0 table #371: started +2026/01/08-07:52:47.416983 7f93e9ffb6c0 Level-0 table #371: 0 bytes OK +2026/01/08-07:52:47.423347 7f93e9ffb6c0 Delete type=0 #369 +2026/01/08-07:52:47.430847 7f93e9ffb6c0 Manual compaction at level-0 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end) +2026/01/08-07:52:47.430914 7f93e9ffb6c0 Manual compaction at level-1 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end) diff --git a/packs/armes/LOG.old b/packs/armes/LOG.old index c4e0af2..6473c42 100644 --- a/packs/armes/LOG.old +++ b/packs/armes/LOG.old @@ -1,8 +1,8 @@ -2026/01/06-08:47:47.583230 7f93ebfff6c0 Recovering log #342 -2026/01/06-08:47:47.597749 7f93ebfff6c0 Delete type=3 #340 -2026/01/06-08:47:47.597804 7f93ebfff6c0 Delete type=0 #342 -2026/01/06-08:50:51.011547 7f93e9ffb6c0 Level-0 table #347: started -2026/01/06-08:50:51.011573 7f93e9ffb6c0 Level-0 table #347: 0 bytes OK -2026/01/06-08:50:51.018121 7f93e9ffb6c0 Delete type=0 #345 -2026/01/06-08:50:51.024541 7f93e9ffb6c0 Manual compaction at level-0 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end) -2026/01/06-08:50:51.024585 7f93e9ffb6c0 Manual compaction at level-1 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end) +2026/01/08-00:15:43.127007 7f93ebfff6c0 Recovering log #362 +2026/01/08-00:15:43.137018 7f93ebfff6c0 Delete type=3 #360 +2026/01/08-00:15:43.137102 7f93ebfff6c0 Delete type=0 #362 +2026/01/08-00:20:54.637728 7f93e9ffb6c0 Level-0 table #367: started +2026/01/08-00:20:54.637769 7f93e9ffb6c0 Level-0 table #367: 0 bytes OK +2026/01/08-00:20:54.644136 7f93e9ffb6c0 Delete type=0 #365 +2026/01/08-00:20:54.657608 7f93e9ffb6c0 Manual compaction at level-0 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end) +2026/01/08-00:20:54.657649 7f93e9ffb6c0 Manual compaction at level-1 from '!items!0fit7HelSjaFtXcW' @ 72057594037927935 : 1 .. '!items!wxrzP3NyiHiYnAMJ' @ 0 : 0; will stop at (end) diff --git a/packs/armes/MANIFEST-000348 b/packs/armes/MANIFEST-000368 similarity index 73% rename from packs/armes/MANIFEST-000348 rename to packs/armes/MANIFEST-000368 index 1d4f889..e12e39c 100644 Binary files a/packs/armes/MANIFEST-000348 and b/packs/armes/MANIFEST-000368 differ diff --git a/packs/competences-creatures/000350.log b/packs/competences-creatures/000370.log similarity index 100% rename from packs/competences-creatures/000350.log rename to packs/competences-creatures/000370.log diff --git a/packs/competences-creatures/CURRENT b/packs/competences-creatures/CURRENT index 549acb4..0e10e4f 100644 --- a/packs/competences-creatures/CURRENT +++ b/packs/competences-creatures/CURRENT @@ -1 +1 @@ -MANIFEST-000348 +MANIFEST-000368 diff --git a/packs/competences-creatures/LOG b/packs/competences-creatures/LOG index 1b44a6c..6e064e0 100644 --- a/packs/competences-creatures/LOG +++ b/packs/competences-creatures/LOG @@ -1,8 +1,8 @@ -2026/01/06-08:51:42.843104 7f93ea7fc6c0 Recovering log #346 -2026/01/06-08:51:42.853684 7f93ea7fc6c0 Delete type=3 #344 -2026/01/06-08:51:42.853733 7f93ea7fc6c0 Delete type=0 #346 -2026/01/06-16:09:34.776538 7f93e9ffb6c0 Level-0 table #351: started -2026/01/06-16:09:34.776572 7f93e9ffb6c0 Level-0 table #351: 0 bytes OK -2026/01/06-16:09:34.805072 7f93e9ffb6c0 Delete type=0 #349 -2026/01/06-16:09:34.843202 7f93e9ffb6c0 Manual compaction at level-0 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end) -2026/01/06-16:09:34.843241 7f93e9ffb6c0 Manual compaction at level-1 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end) +2026/01/08-07:36:58.297781 7f93eb7fe6c0 Recovering log #366 +2026/01/08-07:36:58.339606 7f93eb7fe6c0 Delete type=3 #364 +2026/01/08-07:36:58.339662 7f93eb7fe6c0 Delete type=0 #366 +2026/01/08-07:52:47.389616 7f93e9ffb6c0 Level-0 table #371: started +2026/01/08-07:52:47.389651 7f93e9ffb6c0 Level-0 table #371: 0 bytes OK +2026/01/08-07:52:47.396000 7f93e9ffb6c0 Delete type=0 #369 +2026/01/08-07:52:47.403297 7f93e9ffb6c0 Manual compaction at level-0 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end) +2026/01/08-07:52:47.403348 7f93e9ffb6c0 Manual compaction at level-1 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end) diff --git a/packs/competences-creatures/LOG.old b/packs/competences-creatures/LOG.old index 79eef32..fcf5374 100644 --- a/packs/competences-creatures/LOG.old +++ b/packs/competences-creatures/LOG.old @@ -1,8 +1,8 @@ -2026/01/06-08:47:47.547301 7f93ea7fc6c0 Recovering log #342 -2026/01/06-08:47:47.562777 7f93ea7fc6c0 Delete type=3 #340 -2026/01/06-08:47:47.562845 7f93ea7fc6c0 Delete type=0 #342 -2026/01/06-08:50:50.979616 7f93e9ffb6c0 Level-0 table #347: started -2026/01/06-08:50:50.979656 7f93e9ffb6c0 Level-0 table #347: 0 bytes OK -2026/01/06-08:50:50.986028 7f93e9ffb6c0 Delete type=0 #345 -2026/01/06-08:50:50.999008 7f93e9ffb6c0 Manual compaction at level-0 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end) -2026/01/06-08:50:50.999044 7f93e9ffb6c0 Manual compaction at level-1 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end) +2026/01/08-00:15:43.102456 7f93ea7fc6c0 Recovering log #362 +2026/01/08-00:15:43.111903 7f93ea7fc6c0 Delete type=3 #360 +2026/01/08-00:15:43.111977 7f93ea7fc6c0 Delete type=0 #362 +2026/01/08-00:20:54.630969 7f93e9ffb6c0 Level-0 table #367: started +2026/01/08-00:20:54.631025 7f93e9ffb6c0 Level-0 table #367: 0 bytes OK +2026/01/08-00:20:54.637541 7f93e9ffb6c0 Delete type=0 #365 +2026/01/08-00:20:54.657589 7f93e9ffb6c0 Manual compaction at level-0 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end) +2026/01/08-00:20:54.657642 7f93e9ffb6c0 Manual compaction at level-1 from '!items!0nhTxujlIUB63Aqt' @ 72057594037927935 : 1 .. '!items!tFU5yISK6spdNWco' @ 0 : 0; will stop at (end) diff --git a/packs/competences-creatures/MANIFEST-000348 b/packs/competences-creatures/MANIFEST-000368 similarity index 73% rename from packs/competences-creatures/MANIFEST-000348 rename to packs/competences-creatures/MANIFEST-000368 index 0ce644e..20756ec 100644 Binary files a/packs/competences-creatures/MANIFEST-000348 and b/packs/competences-creatures/MANIFEST-000368 differ diff --git a/packs/competences/000350.log b/packs/competences/000370.log similarity index 100% rename from packs/competences/000350.log rename to packs/competences/000370.log diff --git a/packs/competences/CURRENT b/packs/competences/CURRENT index 549acb4..0e10e4f 100644 --- a/packs/competences/CURRENT +++ b/packs/competences/CURRENT @@ -1 +1 @@ -MANIFEST-000348 +MANIFEST-000368 diff --git a/packs/competences/LOG b/packs/competences/LOG index ffe17b3..f98b558 100644 --- a/packs/competences/LOG +++ b/packs/competences/LOG @@ -1,8 +1,8 @@ -2026/01/06-08:51:42.818447 7f93eb7fe6c0 Recovering log #346 -2026/01/06-08:51:42.829009 7f93eb7fe6c0 Delete type=3 #344 -2026/01/06-08:51:42.829068 7f93eb7fe6c0 Delete type=0 #346 -2026/01/06-16:09:34.705519 7f93e9ffb6c0 Level-0 table #351: started -2026/01/06-16:09:34.705598 7f93e9ffb6c0 Level-0 table #351: 0 bytes OK -2026/01/06-16:09:34.742153 7f93e9ffb6c0 Delete type=0 #349 -2026/01/06-16:09:34.843178 7f93e9ffb6c0 Manual compaction at level-0 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end) -2026/01/06-16:09:34.843227 7f93e9ffb6c0 Manual compaction at level-1 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end) +2026/01/08-07:36:58.185756 7f93ebfff6c0 Recovering log #366 +2026/01/08-07:36:58.236514 7f93ebfff6c0 Delete type=3 #364 +2026/01/08-07:36:58.236596 7f93ebfff6c0 Delete type=0 #366 +2026/01/08-07:52:47.383145 7f93e9ffb6c0 Level-0 table #371: started +2026/01/08-07:52:47.383188 7f93e9ffb6c0 Level-0 table #371: 0 bytes OK +2026/01/08-07:52:47.389423 7f93e9ffb6c0 Delete type=0 #369 +2026/01/08-07:52:47.403275 7f93e9ffb6c0 Manual compaction at level-0 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end) +2026/01/08-07:52:47.403328 7f93e9ffb6c0 Manual compaction at level-1 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end) diff --git a/packs/competences/LOG.old b/packs/competences/LOG.old index 67cf42d..28ccb56 100644 --- a/packs/competences/LOG.old +++ b/packs/competences/LOG.old @@ -1,8 +1,8 @@ -2026/01/06-08:47:47.509458 7f93eb7fe6c0 Recovering log #342 -2026/01/06-08:47:47.527407 7f93eb7fe6c0 Delete type=3 #340 -2026/01/06-08:47:47.527473 7f93eb7fe6c0 Delete type=0 #342 -2026/01/06-08:50:50.973158 7f93e9ffb6c0 Level-0 table #347: started -2026/01/06-08:50:50.973217 7f93e9ffb6c0 Level-0 table #347: 0 bytes OK -2026/01/06-08:50:50.979461 7f93e9ffb6c0 Delete type=0 #345 -2026/01/06-08:50:50.998993 7f93e9ffb6c0 Manual compaction at level-0 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end) -2026/01/06-08:50:50.999032 7f93e9ffb6c0 Manual compaction at level-1 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end) +2026/01/08-00:15:43.076162 7f93ebfff6c0 Recovering log #362 +2026/01/08-00:15:43.086316 7f93ebfff6c0 Delete type=3 #360 +2026/01/08-00:15:43.086363 7f93ebfff6c0 Delete type=0 #362 +2026/01/08-00:20:54.664620 7f93e9ffb6c0 Level-0 table #367: started +2026/01/08-00:20:54.664662 7f93e9ffb6c0 Level-0 table #367: 0 bytes OK +2026/01/08-00:20:54.670908 7f93e9ffb6c0 Delete type=0 #365 +2026/01/08-00:20:54.684304 7f93e9ffb6c0 Manual compaction at level-0 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end) +2026/01/08-00:20:54.684350 7f93e9ffb6c0 Manual compaction at level-1 from '!items!15IDGG6JoZnRCQtY' @ 72057594037927935 : 1 .. '!items!yI1zY5k8mAdx9wHK' @ 0 : 0; will stop at (end) diff --git a/packs/competences/MANIFEST-000348 b/packs/competences/MANIFEST-000368 similarity index 73% rename from packs/competences/MANIFEST-000348 rename to packs/competences/MANIFEST-000368 index 7dadb06..972fb36 100644 Binary files a/packs/competences/MANIFEST-000348 and b/packs/competences/MANIFEST-000368 differ diff --git a/packs/equipement/000350.log b/packs/equipement/000370.log similarity index 100% rename from packs/equipement/000350.log rename to packs/equipement/000370.log diff --git a/packs/equipement/CURRENT b/packs/equipement/CURRENT index 549acb4..0e10e4f 100644 --- a/packs/equipement/CURRENT +++ b/packs/equipement/CURRENT @@ -1 +1 @@ -MANIFEST-000348 +MANIFEST-000368 diff --git a/packs/equipement/LOG b/packs/equipement/LOG index d0cd0f5..3c5604d 100644 --- a/packs/equipement/LOG +++ b/packs/equipement/LOG @@ -1,8 +1,8 @@ -2026/01/06-08:51:42.891971 7f93eaffd6c0 Recovering log #346 -2026/01/06-08:51:42.902249 7f93eaffd6c0 Delete type=3 #344 -2026/01/06-08:51:42.902316 7f93eaffd6c0 Delete type=0 #346 -2026/01/06-16:09:34.843339 7f93e9ffb6c0 Level-0 table #351: started -2026/01/06-16:09:34.843371 7f93e9ffb6c0 Level-0 table #351: 0 bytes OK -2026/01/06-16:09:34.879730 7f93e9ffb6c0 Delete type=0 #349 -2026/01/06-16:09:35.030293 7f93e9ffb6c0 Manual compaction at level-0 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end) -2026/01/06-16:09:35.030334 7f93e9ffb6c0 Manual compaction at level-1 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end) +2026/01/08-07:36:58.549013 7f93eaffd6c0 Recovering log #366 +2026/01/08-07:36:58.605339 7f93eaffd6c0 Delete type=3 #364 +2026/01/08-07:36:58.605416 7f93eaffd6c0 Delete type=0 #366 +2026/01/08-07:52:47.403436 7f93e9ffb6c0 Level-0 table #371: started +2026/01/08-07:52:47.403471 7f93e9ffb6c0 Level-0 table #371: 0 bytes OK +2026/01/08-07:52:47.409670 7f93e9ffb6c0 Delete type=0 #369 +2026/01/08-07:52:47.430786 7f93e9ffb6c0 Manual compaction at level-0 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end) +2026/01/08-07:52:47.430926 7f93e9ffb6c0 Manual compaction at level-1 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end) diff --git a/packs/equipement/LOG.old b/packs/equipement/LOG.old index 04598aa..c48696f 100644 --- a/packs/equipement/LOG.old +++ b/packs/equipement/LOG.old @@ -1,8 +1,8 @@ -2026/01/06-08:47:47.618387 7f93eaffd6c0 Recovering log #342 -2026/01/06-08:47:47.634155 7f93eaffd6c0 Delete type=3 #340 -2026/01/06-08:47:47.634258 7f93eaffd6c0 Delete type=0 #342 -2026/01/06-08:50:51.005416 7f93e9ffb6c0 Level-0 table #347: started -2026/01/06-08:50:51.005447 7f93e9ffb6c0 Level-0 table #347: 0 bytes OK -2026/01/06-08:50:51.011462 7f93e9ffb6c0 Delete type=0 #345 -2026/01/06-08:50:51.024529 7f93e9ffb6c0 Manual compaction at level-0 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end) -2026/01/06-08:50:51.024571 7f93e9ffb6c0 Manual compaction at level-1 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end) +2026/01/08-00:15:43.151338 7f93ea7fc6c0 Recovering log #362 +2026/01/08-00:15:43.161997 7f93ea7fc6c0 Delete type=3 #360 +2026/01/08-00:15:43.162053 7f93ea7fc6c0 Delete type=0 #362 +2026/01/08-00:20:54.657819 7f93e9ffb6c0 Level-0 table #367: started +2026/01/08-00:20:54.657846 7f93e9ffb6c0 Level-0 table #367: 0 bytes OK +2026/01/08-00:20:54.664450 7f93e9ffb6c0 Delete type=0 #365 +2026/01/08-00:20:54.684285 7f93e9ffb6c0 Manual compaction at level-0 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end) +2026/01/08-00:20:54.684340 7f93e9ffb6c0 Manual compaction at level-1 from '!items!0BopmCu8vGK2923j' @ 72057594037927935 : 1 .. '!items!zYx0Ak2y1LNTcKlO' @ 0 : 0; will stop at (end) diff --git a/packs/equipement/MANIFEST-000348 b/packs/equipement/MANIFEST-000368 similarity index 72% rename from packs/equipement/MANIFEST-000348 rename to packs/equipement/MANIFEST-000368 index a87d8d9..d0fe525 100644 Binary files a/packs/equipement/MANIFEST-000348 and b/packs/equipement/MANIFEST-000368 differ diff --git a/packs/historiques/000350.log b/packs/historiques/000370.log similarity index 100% rename from packs/historiques/000350.log rename to packs/historiques/000370.log diff --git a/packs/historiques/CURRENT b/packs/historiques/CURRENT index 549acb4..0e10e4f 100644 --- a/packs/historiques/CURRENT +++ b/packs/historiques/CURRENT @@ -1 +1 @@ -MANIFEST-000348 +MANIFEST-000368 diff --git a/packs/historiques/LOG b/packs/historiques/LOG index 094777f..3b00993 100644 --- a/packs/historiques/LOG +++ b/packs/historiques/LOG @@ -1,8 +1,8 @@ -2026/01/06-08:51:42.855440 7f93eaffd6c0 Recovering log #346 -2026/01/06-08:51:42.865357 7f93eaffd6c0 Delete type=3 #344 -2026/01/06-08:51:42.865405 7f93eaffd6c0 Delete type=0 #346 -2026/01/06-16:09:34.990584 7f93e9ffb6c0 Level-0 table #351: started -2026/01/06-16:09:34.990612 7f93e9ffb6c0 Level-0 table #351: 0 bytes OK -2026/01/06-16:09:35.030140 7f93e9ffb6c0 Delete type=0 #349 -2026/01/06-16:09:35.030326 7f93e9ffb6c0 Manual compaction at level-0 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end) -2026/01/06-16:09:35.030340 7f93e9ffb6c0 Manual compaction at level-1 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end) +2026/01/08-07:36:58.341692 7f93eaffd6c0 Recovering log #366 +2026/01/08-07:36:58.417040 7f93eaffd6c0 Delete type=3 #364 +2026/01/08-07:36:58.417114 7f93eaffd6c0 Delete type=0 #366 +2026/01/08-07:52:47.396242 7f93e9ffb6c0 Level-0 table #371: started +2026/01/08-07:52:47.396291 7f93e9ffb6c0 Level-0 table #371: 0 bytes OK +2026/01/08-07:52:47.403127 7f93e9ffb6c0 Delete type=0 #369 +2026/01/08-07:52:47.403310 7f93e9ffb6c0 Manual compaction at level-0 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end) +2026/01/08-07:52:47.403338 7f93e9ffb6c0 Manual compaction at level-1 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end) diff --git a/packs/historiques/LOG.old b/packs/historiques/LOG.old index 6a2deb5..e11d758 100644 --- a/packs/historiques/LOG.old +++ b/packs/historiques/LOG.old @@ -1,8 +1,8 @@ -2026/01/06-08:47:47.564985 7f93eb7fe6c0 Recovering log #342 -2026/01/06-08:47:47.580878 7f93eb7fe6c0 Delete type=3 #340 -2026/01/06-08:47:47.580952 7f93eb7fe6c0 Delete type=0 #342 -2026/01/06-08:50:50.986188 7f93e9ffb6c0 Level-0 table #347: started -2026/01/06-08:50:50.986224 7f93e9ffb6c0 Level-0 table #347: 0 bytes OK -2026/01/06-08:50:50.992304 7f93e9ffb6c0 Delete type=0 #345 -2026/01/06-08:50:50.999018 7f93e9ffb6c0 Manual compaction at level-0 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end) -2026/01/06-08:50:50.999038 7f93e9ffb6c0 Manual compaction at level-1 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end) +2026/01/08-00:15:43.114666 7f93eaffd6c0 Recovering log #362 +2026/01/08-00:15:43.125226 7f93eaffd6c0 Delete type=3 #360 +2026/01/08-00:15:43.125286 7f93eaffd6c0 Delete type=0 #362 +2026/01/08-00:20:54.644380 7f93e9ffb6c0 Level-0 table #367: started +2026/01/08-00:20:54.644418 7f93e9ffb6c0 Level-0 table #367: 0 bytes OK +2026/01/08-00:20:54.650881 7f93e9ffb6c0 Delete type=0 #365 +2026/01/08-00:20:54.657622 7f93e9ffb6c0 Manual compaction at level-0 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end) +2026/01/08-00:20:54.657712 7f93e9ffb6c0 Manual compaction at level-1 from '!items!15foLG7y3LUXNzkK' @ 72057594037927935 : 1 .. '!items!z1HtkvazCGHut7cz' @ 0 : 0; will stop at (end) diff --git a/packs/historiques/MANIFEST-000348 b/packs/historiques/MANIFEST-000368 similarity index 72% rename from packs/historiques/MANIFEST-000348 rename to packs/historiques/MANIFEST-000368 index c05e08a..e8724e1 100644 Binary files a/packs/historiques/MANIFEST-000348 and b/packs/historiques/MANIFEST-000368 differ diff --git a/packs/mutations/000260.log b/packs/mutations/000280.log similarity index 100% rename from packs/mutations/000260.log rename to packs/mutations/000280.log diff --git a/packs/mutations/CURRENT b/packs/mutations/CURRENT index 15dad27..46160dd 100644 --- a/packs/mutations/CURRENT +++ b/packs/mutations/CURRENT @@ -1 +1 @@ -MANIFEST-000258 +MANIFEST-000278 diff --git a/packs/mutations/LOG b/packs/mutations/LOG index 7862029..456eac9 100644 --- a/packs/mutations/LOG +++ b/packs/mutations/LOG @@ -1,8 +1,8 @@ -2026/01/06-08:51:42.830647 7f93ebfff6c0 Recovering log #256 -2026/01/06-08:51:42.840435 7f93ebfff6c0 Delete type=3 #254 -2026/01/06-08:51:42.840519 7f93ebfff6c0 Delete type=0 #256 -2026/01/06-16:09:34.805232 7f93e9ffb6c0 Level-0 table #261: started -2026/01/06-16:09:34.805271 7f93e9ffb6c0 Level-0 table #261: 0 bytes OK -2026/01/06-16:09:34.843002 7f93e9ffb6c0 Delete type=0 #259 -2026/01/06-16:09:34.843211 7f93e9ffb6c0 Manual compaction at level-0 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end) -2026/01/06-16:09:34.843234 7f93e9ffb6c0 Manual compaction at level-1 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end) +2026/01/08-07:36:58.238796 7f93ea7fc6c0 Recovering log #276 +2026/01/08-07:36:58.294556 7f93ea7fc6c0 Delete type=3 #274 +2026/01/08-07:36:58.294621 7f93ea7fc6c0 Delete type=0 #276 +2026/01/08-07:52:47.375523 7f93e9ffb6c0 Level-0 table #281: started +2026/01/08-07:52:47.375602 7f93e9ffb6c0 Level-0 table #281: 0 bytes OK +2026/01/08-07:52:47.382951 7f93e9ffb6c0 Delete type=0 #279 +2026/01/08-07:52:47.403260 7f93e9ffb6c0 Manual compaction at level-0 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end) +2026/01/08-07:52:47.403319 7f93e9ffb6c0 Manual compaction at level-1 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end) diff --git a/packs/mutations/LOG.old b/packs/mutations/LOG.old index ad0aff7..e9ab452 100644 --- a/packs/mutations/LOG.old +++ b/packs/mutations/LOG.old @@ -1,8 +1,8 @@ -2026/01/06-08:47:47.529585 7f93ebfff6c0 Recovering log #252 -2026/01/06-08:47:47.544280 7f93ebfff6c0 Delete type=3 #250 -2026/01/06-08:47:47.544346 7f93ebfff6c0 Delete type=0 #252 -2026/01/06-08:50:50.992474 7f93e9ffb6c0 Level-0 table #257: started -2026/01/06-08:50:50.992510 7f93e9ffb6c0 Level-0 table #257: 0 bytes OK -2026/01/06-08:50:50.998885 7f93e9ffb6c0 Delete type=0 #255 -2026/01/06-08:50:50.999026 7f93e9ffb6c0 Manual compaction at level-0 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end) -2026/01/06-08:50:50.999050 7f93e9ffb6c0 Manual compaction at level-1 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end) +2026/01/08-00:15:43.088399 7f93eb7fe6c0 Recovering log #272 +2026/01/08-00:15:43.099521 7f93eb7fe6c0 Delete type=3 #270 +2026/01/08-00:15:43.099596 7f93eb7fe6c0 Delete type=0 #272 +2026/01/08-00:20:54.651065 7f93e9ffb6c0 Level-0 table #277: started +2026/01/08-00:20:54.651103 7f93e9ffb6c0 Level-0 table #277: 0 bytes OK +2026/01/08-00:20:54.657432 7f93e9ffb6c0 Delete type=0 #275 +2026/01/08-00:20:54.657633 7f93e9ffb6c0 Manual compaction at level-0 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end) +2026/01/08-00:20:54.657657 7f93e9ffb6c0 Manual compaction at level-1 from '!folders!5d4Zn28TUcPxRyXd' @ 72057594037927935 : 1 .. '!items!zttESycGKltfwCzJ' @ 0 : 0; will stop at (end) diff --git a/packs/mutations/MANIFEST-000258 b/packs/mutations/MANIFEST-000278 similarity index 71% rename from packs/mutations/MANIFEST-000258 rename to packs/mutations/MANIFEST-000278 index fb11730..836fd3a 100644 Binary files a/packs/mutations/MANIFEST-000258 and b/packs/mutations/MANIFEST-000278 differ diff --git a/packs/profils/000350.log b/packs/profils/000370.log similarity index 100% rename from packs/profils/000350.log rename to packs/profils/000370.log diff --git a/packs/profils/CURRENT b/packs/profils/CURRENT index 549acb4..0e10e4f 100644 --- a/packs/profils/CURRENT +++ b/packs/profils/CURRENT @@ -1 +1 @@ -MANIFEST-000348 +MANIFEST-000368 diff --git a/packs/profils/LOG b/packs/profils/LOG index 2e5eea1..cf98e5e 100644 --- a/packs/profils/LOG +++ b/packs/profils/LOG @@ -1,8 +1,8 @@ -2026/01/06-08:51:42.904420 7f93ea7fc6c0 Recovering log #346 -2026/01/06-08:51:42.914401 7f93ea7fc6c0 Delete type=3 #344 -2026/01/06-08:51:42.914460 7f93ea7fc6c0 Delete type=0 #346 -2026/01/06-16:09:34.944982 7f93e9ffb6c0 Level-0 table #351: started -2026/01/06-16:09:34.945015 7f93e9ffb6c0 Level-0 table #351: 0 bytes OK -2026/01/06-16:09:34.990460 7f93e9ffb6c0 Delete type=0 #349 -2026/01/06-16:09:35.030317 7f93e9ffb6c0 Manual compaction at level-0 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end) -2026/01/06-16:09:35.030352 7f93e9ffb6c0 Manual compaction at level-1 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end) +2026/01/08-07:36:58.607815 7f93ebfff6c0 Recovering log #366 +2026/01/08-07:36:58.660478 7f93ebfff6c0 Delete type=3 #364 +2026/01/08-07:36:58.660531 7f93ebfff6c0 Delete type=0 #366 +2026/01/08-07:52:47.423537 7f93e9ffb6c0 Level-0 table #371: started +2026/01/08-07:52:47.423575 7f93e9ffb6c0 Level-0 table #371: 0 bytes OK +2026/01/08-07:52:47.430547 7f93e9ffb6c0 Delete type=0 #369 +2026/01/08-07:52:47.430902 7f93e9ffb6c0 Manual compaction at level-0 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end) +2026/01/08-07:52:47.430939 7f93e9ffb6c0 Manual compaction at level-1 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end) diff --git a/packs/profils/LOG.old b/packs/profils/LOG.old index 16822e7..03f0936 100644 --- a/packs/profils/LOG.old +++ b/packs/profils/LOG.old @@ -1,8 +1,8 @@ -2026/01/06-08:47:47.638458 7f93eb7fe6c0 Recovering log #342 -2026/01/06-08:47:47.653642 7f93eb7fe6c0 Delete type=3 #340 -2026/01/06-08:47:47.653699 7f93eb7fe6c0 Delete type=0 #342 -2026/01/06-08:50:51.044605 7f93e9ffb6c0 Level-0 table #347: started -2026/01/06-08:50:51.044630 7f93e9ffb6c0 Level-0 table #347: 0 bytes OK -2026/01/06-08:50:51.051730 7f93e9ffb6c0 Delete type=0 #345 -2026/01/06-08:50:51.051919 7f93e9ffb6c0 Manual compaction at level-0 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end) -2026/01/06-08:50:51.051949 7f93e9ffb6c0 Manual compaction at level-1 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end) +2026/01/08-00:15:43.164110 7f93eaffd6c0 Recovering log #362 +2026/01/08-00:15:43.174399 7f93eaffd6c0 Delete type=3 #360 +2026/01/08-00:15:43.174504 7f93eaffd6c0 Delete type=0 #362 +2026/01/08-00:20:54.690953 7f93e9ffb6c0 Level-0 table #367: started +2026/01/08-00:20:54.690990 7f93e9ffb6c0 Level-0 table #367: 0 bytes OK +2026/01/08-00:20:54.697638 7f93e9ffb6c0 Delete type=0 #365 +2026/01/08-00:20:54.710594 7f93e9ffb6c0 Manual compaction at level-0 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end) +2026/01/08-00:20:54.710643 7f93e9ffb6c0 Manual compaction at level-1 from '!items!26mRstKhCJoXkhu1' @ 72057594037927935 : 1 .. '!items!tFQqcxmkS3MT6ASE' @ 0 : 0; will stop at (end) diff --git a/packs/profils/MANIFEST-000348 b/packs/profils/MANIFEST-000368 similarity index 73% rename from packs/profils/MANIFEST-000348 rename to packs/profils/MANIFEST-000368 index d831a9c..34a76ee 100644 Binary files a/packs/profils/MANIFEST-000348 and b/packs/profils/MANIFEST-000368 differ diff --git a/packs/protections/000350.log b/packs/protections/000370.log similarity index 100% rename from packs/protections/000350.log rename to packs/protections/000370.log diff --git a/packs/protections/CURRENT b/packs/protections/CURRENT index 549acb4..0e10e4f 100644 --- a/packs/protections/CURRENT +++ b/packs/protections/CURRENT @@ -1 +1 @@ -MANIFEST-000348 +MANIFEST-000368 diff --git a/packs/protections/LOG b/packs/protections/LOG index 7e22660..e3ec355 100644 --- a/packs/protections/LOG +++ b/packs/protections/LOG @@ -1,8 +1,8 @@ -2026/01/06-08:51:42.879502 7f93ebfff6c0 Recovering log #346 -2026/01/06-08:51:42.890237 7f93ebfff6c0 Delete type=3 #344 -2026/01/06-08:51:42.890307 7f93ebfff6c0 Delete type=0 #346 -2026/01/06-16:09:34.879868 7f93e9ffb6c0 Level-0 table #351: started -2026/01/06-16:09:34.879907 7f93e9ffb6c0 Level-0 table #351: 0 bytes OK -2026/01/06-16:09:34.944833 7f93e9ffb6c0 Delete type=0 #349 -2026/01/06-16:09:35.030307 7f93e9ffb6c0 Manual compaction at level-0 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end) -2026/01/06-16:09:35.030345 7f93e9ffb6c0 Manual compaction at level-1 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end) +2026/01/08-07:36:58.497400 7f93eb7fe6c0 Recovering log #366 +2026/01/08-07:36:58.547161 7f93eb7fe6c0 Delete type=3 #364 +2026/01/08-07:36:58.547214 7f93eb7fe6c0 Delete type=0 #366 +2026/01/08-07:52:47.409880 7f93e9ffb6c0 Level-0 table #371: started +2026/01/08-07:52:47.409913 7f93e9ffb6c0 Level-0 table #371: 0 bytes OK +2026/01/08-07:52:47.416763 7f93e9ffb6c0 Delete type=0 #369 +2026/01/08-07:52:47.430823 7f93e9ffb6c0 Manual compaction at level-0 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end) +2026/01/08-07:52:47.430891 7f93e9ffb6c0 Manual compaction at level-1 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end) diff --git a/packs/protections/LOG.old b/packs/protections/LOG.old index 71451a5..7d610cd 100644 --- a/packs/protections/LOG.old +++ b/packs/protections/LOG.old @@ -1,8 +1,8 @@ -2026/01/06-08:47:47.600139 7f93ea7fc6c0 Recovering log #342 -2026/01/06-08:47:47.616201 7f93ea7fc6c0 Delete type=3 #340 -2026/01/06-08:47:47.616278 7f93ea7fc6c0 Delete type=0 #342 -2026/01/06-08:50:50.999146 7f93e9ffb6c0 Level-0 table #347: started -2026/01/06-08:50:50.999191 7f93e9ffb6c0 Level-0 table #347: 0 bytes OK -2026/01/06-08:50:51.005300 7f93e9ffb6c0 Delete type=0 #345 -2026/01/06-08:50:51.024514 7f93e9ffb6c0 Manual compaction at level-0 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end) -2026/01/06-08:50:51.024562 7f93e9ffb6c0 Manual compaction at level-1 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end) +2026/01/08-00:15:43.139435 7f93eb7fe6c0 Recovering log #362 +2026/01/08-00:15:43.149526 7f93eb7fe6c0 Delete type=3 #360 +2026/01/08-00:15:43.149593 7f93eb7fe6c0 Delete type=0 #362 +2026/01/08-00:20:54.671087 7f93e9ffb6c0 Level-0 table #367: started +2026/01/08-00:20:54.671124 7f93e9ffb6c0 Level-0 table #367: 0 bytes OK +2026/01/08-00:20:54.677235 7f93e9ffb6c0 Delete type=0 #365 +2026/01/08-00:20:54.684319 7f93e9ffb6c0 Manual compaction at level-0 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end) +2026/01/08-00:20:54.684358 7f93e9ffb6c0 Manual compaction at level-1 from '!items!16iPa2yIzB0V3pxb' @ 72057594037927935 : 1 .. '!items!yszkersMTE4p9VzP' @ 0 : 0; will stop at (end) diff --git a/packs/protections/MANIFEST-000348 b/packs/protections/MANIFEST-000368 similarity index 73% rename from packs/protections/MANIFEST-000348 rename to packs/protections/MANIFEST-000368 index e3519ac..bc378de 100644 Binary files a/packs/protections/MANIFEST-000348 and b/packs/protections/MANIFEST-000368 differ diff --git a/packs/scenes/000189.log b/packs/scenes/000209.log similarity index 100% rename from packs/scenes/000189.log rename to packs/scenes/000209.log diff --git a/packs/scenes/CURRENT b/packs/scenes/CURRENT index 7832dba..c692fd1 100644 --- a/packs/scenes/CURRENT +++ b/packs/scenes/CURRENT @@ -1 +1 @@ -MANIFEST-000187 +MANIFEST-000207 diff --git a/packs/scenes/LOG b/packs/scenes/LOG index 12f3247..50a8769 100644 --- a/packs/scenes/LOG +++ b/packs/scenes/LOG @@ -1,8 +1,8 @@ -2026/01/06-08:51:42.955411 7f93eb7fe6c0 Recovering log #185 -2026/01/06-08:51:42.966311 7f93eb7fe6c0 Delete type=3 #183 -2026/01/06-08:51:42.966372 7f93eb7fe6c0 Delete type=0 #185 -2026/01/06-16:09:35.146583 7f93e9ffb6c0 Level-0 table #190: started -2026/01/06-16:09:35.146626 7f93e9ffb6c0 Level-0 table #190: 0 bytes OK -2026/01/06-16:09:35.183379 7f93e9ffb6c0 Delete type=0 #188 -2026/01/06-16:09:35.183567 7f93e9ffb6c0 Manual compaction at level-0 from '!scenes!VOzC5ey4qi1C34MY' @ 72057594037927935 : 1 .. '!scenes!mfosNsLsHN5Pf4TO' @ 0 : 0; will stop at (end) -2026/01/06-16:09:35.183590 7f93e9ffb6c0 Manual compaction at level-1 from '!scenes!VOzC5ey4qi1C34MY' @ 72057594037927935 : 1 .. '!scenes!mfosNsLsHN5Pf4TO' @ 0 : 0; will stop at (end) +2026/01/08-07:36:58.830191 7f93eaffd6c0 Recovering log #205 +2026/01/08-07:36:58.883702 7f93eaffd6c0 Delete type=3 #203 +2026/01/08-07:36:58.883764 7f93eaffd6c0 Delete type=0 #205 +2026/01/08-07:52:47.451250 7f93e9ffb6c0 Level-0 table #210: started +2026/01/08-07:52:47.451280 7f93e9ffb6c0 Level-0 table #210: 0 bytes OK +2026/01/08-07:52:47.457272 7f93e9ffb6c0 Delete type=0 #208 +2026/01/08-07:52:47.457390 7f93e9ffb6c0 Manual compaction at level-0 from '!scenes!VOzC5ey4qi1C34MY' @ 72057594037927935 : 1 .. '!scenes!mfosNsLsHN5Pf4TO' @ 0 : 0; will stop at (end) +2026/01/08-07:52:47.457403 7f93e9ffb6c0 Manual compaction at level-1 from '!scenes!VOzC5ey4qi1C34MY' @ 72057594037927935 : 1 .. '!scenes!mfosNsLsHN5Pf4TO' @ 0 : 0; will stop at (end) diff --git a/packs/scenes/LOG.old b/packs/scenes/LOG.old index 556d0e3..6f793b9 100644 --- a/packs/scenes/LOG.old +++ b/packs/scenes/LOG.old @@ -1,8 +1,8 @@ -2026/01/06-08:47:47.712749 7f93eb7fe6c0 Recovering log #181 -2026/01/06-08:47:47.728095 7f93eb7fe6c0 Delete type=3 #179 -2026/01/06-08:47:47.728172 7f93eb7fe6c0 Delete type=0 #181 -2026/01/06-08:50:51.038567 7f93e9ffb6c0 Level-0 table #186: started -2026/01/06-08:50:51.038599 7f93e9ffb6c0 Level-0 table #186: 0 bytes OK -2026/01/06-08:50:51.044519 7f93e9ffb6c0 Delete type=0 #184 -2026/01/06-08:50:51.051910 7f93e9ffb6c0 Manual compaction at level-0 from '!scenes!VOzC5ey4qi1C34MY' @ 72057594037927935 : 1 .. '!scenes!mfosNsLsHN5Pf4TO' @ 0 : 0; will stop at (end) -2026/01/06-08:50:51.051933 7f93e9ffb6c0 Manual compaction at level-1 from '!scenes!VOzC5ey4qi1C34MY' @ 72057594037927935 : 1 .. '!scenes!mfosNsLsHN5Pf4TO' @ 0 : 0; will stop at (end) +2026/01/08-00:15:43.214587 7f93eb7fe6c0 Recovering log #201 +2026/01/08-00:15:43.225132 7f93eb7fe6c0 Delete type=3 #199 +2026/01/08-00:15:43.225182 7f93eb7fe6c0 Delete type=0 #201 +2026/01/08-00:20:54.704423 7f93e9ffb6c0 Level-0 table #206: started +2026/01/08-00:20:54.704452 7f93e9ffb6c0 Level-0 table #206: 0 bytes OK +2026/01/08-00:20:54.710454 7f93e9ffb6c0 Delete type=0 #204 +2026/01/08-00:20:54.710619 7f93e9ffb6c0 Manual compaction at level-0 from '!scenes!VOzC5ey4qi1C34MY' @ 72057594037927935 : 1 .. '!scenes!mfosNsLsHN5Pf4TO' @ 0 : 0; will stop at (end) +2026/01/08-00:20:54.710656 7f93e9ffb6c0 Manual compaction at level-1 from '!scenes!VOzC5ey4qi1C34MY' @ 72057594037927935 : 1 .. '!scenes!mfosNsLsHN5Pf4TO' @ 0 : 0; will stop at (end) diff --git a/packs/scenes/MANIFEST-000187 b/packs/scenes/MANIFEST-000207 similarity index 73% rename from packs/scenes/MANIFEST-000187 rename to packs/scenes/MANIFEST-000207 index 3f26b57..d0b7afa 100644 Binary files a/packs/scenes/MANIFEST-000187 and b/packs/scenes/MANIFEST-000207 differ diff --git a/packs/tables/000346.log b/packs/tables/000366.log similarity index 100% rename from packs/tables/000346.log rename to packs/tables/000366.log diff --git a/packs/tables/CURRENT b/packs/tables/CURRENT index 0f17308..09e4dd5 100644 --- a/packs/tables/CURRENT +++ b/packs/tables/CURRENT @@ -1 +1 @@ -MANIFEST-000344 +MANIFEST-000364 diff --git a/packs/tables/LOG b/packs/tables/LOG index d6961ac..eb9b924 100644 --- a/packs/tables/LOG +++ b/packs/tables/LOG @@ -1,7 +1,7 @@ -2026/01/06-08:51:42.942425 7f93ea7fc6c0 Recovering log #342 -2026/01/06-08:51:42.952983 7f93ea7fc6c0 Delete type=3 #340 -2026/01/06-08:51:42.953043 7f93ea7fc6c0 Delete type=0 #342 -2026/01/06-16:09:35.067151 7f93e9ffb6c0 Level-0 table #347: started -2026/01/06-16:09:35.067186 7f93e9ffb6c0 Level-0 table #347: 0 bytes OK -2026/01/06-16:09:35.104060 7f93e9ffb6c0 Delete type=0 #345 -2026/01/06-16:09:35.183546 7f93e9ffb6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end) +2026/01/08-07:36:58.774502 7f93ebfff6c0 Recovering log #362 +2026/01/08-07:36:58.827829 7f93ebfff6c0 Delete type=3 #360 +2026/01/08-07:36:58.827920 7f93ebfff6c0 Delete type=0 #362 +2026/01/08-07:52:47.437834 7f93e9ffb6c0 Level-0 table #367: started +2026/01/08-07:52:47.437856 7f93e9ffb6c0 Level-0 table #367: 0 bytes OK +2026/01/08-07:52:47.443805 7f93e9ffb6c0 Delete type=0 #365 +2026/01/08-07:52:47.457374 7f93e9ffb6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end) diff --git a/packs/tables/LOG.old b/packs/tables/LOG.old index 4b97a8c..9d77891 100644 --- a/packs/tables/LOG.old +++ b/packs/tables/LOG.old @@ -1,7 +1,7 @@ -2026/01/06-08:47:47.694947 7f93ea7fc6c0 Recovering log #338 -2026/01/06-08:47:47.710886 7f93ea7fc6c0 Delete type=3 #336 -2026/01/06-08:47:47.710964 7f93ea7fc6c0 Delete type=0 #338 -2026/01/06-08:50:51.031305 7f93e9ffb6c0 Level-0 table #343: started -2026/01/06-08:50:51.031341 7f93e9ffb6c0 Level-0 table #343: 0 bytes OK -2026/01/06-08:50:51.038444 7f93e9ffb6c0 Delete type=0 #341 -2026/01/06-08:50:51.051898 7f93e9ffb6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end) +2026/01/08-00:15:43.202222 7f93ea7fc6c0 Recovering log #358 +2026/01/08-00:15:43.212157 7f93ea7fc6c0 Delete type=3 #356 +2026/01/08-00:15:43.212206 7f93ea7fc6c0 Delete type=0 #358 +2026/01/08-00:20:54.697737 7f93e9ffb6c0 Level-0 table #363: started +2026/01/08-00:20:54.697766 7f93e9ffb6c0 Level-0 table #363: 0 bytes OK +2026/01/08-00:20:54.704300 7f93e9ffb6c0 Delete type=0 #361 +2026/01/08-00:20:54.710607 7f93e9ffb6c0 Manual compaction at level-0 from 'undefined' @ 72057594037927935 : 1 .. 'undefined' @ 0 : 0; will stop at (end) diff --git a/packs/tables/MANIFEST-000344 b/packs/tables/MANIFEST-000344 deleted file mode 100644 index fe15b9c..0000000 Binary files a/packs/tables/MANIFEST-000344 and /dev/null differ diff --git a/packs/tables/MANIFEST-000364 b/packs/tables/MANIFEST-000364 new file mode 100644 index 0000000..993c383 Binary files /dev/null and b/packs/tables/MANIFEST-000364 differ diff --git a/packs/talents-cellule/000350.log b/packs/talents-cellule/000370.log similarity index 100% rename from packs/talents-cellule/000350.log rename to packs/talents-cellule/000370.log diff --git a/packs/talents-cellule/CURRENT b/packs/talents-cellule/CURRENT index 549acb4..0e10e4f 100644 --- a/packs/talents-cellule/CURRENT +++ b/packs/talents-cellule/CURRENT @@ -1 +1 @@ -MANIFEST-000348 +MANIFEST-000368 diff --git a/packs/talents-cellule/LOG b/packs/talents-cellule/LOG index 0911e70..f37dfe0 100644 --- a/packs/talents-cellule/LOG +++ b/packs/talents-cellule/LOG @@ -1,8 +1,8 @@ -2026/01/06-08:51:42.930439 7f93eaffd6c0 Recovering log #346 -2026/01/06-08:51:42.940486 7f93eaffd6c0 Delete type=3 #344 -2026/01/06-08:51:42.940554 7f93eaffd6c0 Delete type=0 #346 -2026/01/06-16:09:35.104217 7f93e9ffb6c0 Level-0 table #351: started -2026/01/06-16:09:35.104251 7f93e9ffb6c0 Level-0 table #351: 0 bytes OK -2026/01/06-16:09:35.146416 7f93e9ffb6c0 Delete type=0 #349 -2026/01/06-16:09:35.183557 7f93e9ffb6c0 Manual compaction at level-0 from '!items!0jRgc9a9L8i7j1Uk' @ 72057594037927935 : 1 .. '!items!yRTYaNKyXBX9wHhb' @ 0 : 0; will stop at (end) -2026/01/06-16:09:35.183582 7f93e9ffb6c0 Manual compaction at level-1 from '!items!0jRgc9a9L8i7j1Uk' @ 72057594037927935 : 1 .. '!items!yRTYaNKyXBX9wHhb' @ 0 : 0; will stop at (end) +2026/01/08-07:36:58.717283 7f93eb7fe6c0 Recovering log #366 +2026/01/08-07:36:58.772444 7f93eb7fe6c0 Delete type=3 #364 +2026/01/08-07:36:58.772520 7f93eb7fe6c0 Delete type=0 #366 +2026/01/08-07:52:47.431155 7f93e9ffb6c0 Level-0 table #371: started +2026/01/08-07:52:47.431201 7f93e9ffb6c0 Level-0 table #371: 0 bytes OK +2026/01/08-07:52:47.437721 7f93e9ffb6c0 Delete type=0 #369 +2026/01/08-07:52:47.457361 7f93e9ffb6c0 Manual compaction at level-0 from '!items!0jRgc9a9L8i7j1Uk' @ 72057594037927935 : 1 .. '!items!yRTYaNKyXBX9wHhb' @ 0 : 0; will stop at (end) +2026/01/08-07:52:47.457396 7f93e9ffb6c0 Manual compaction at level-1 from '!items!0jRgc9a9L8i7j1Uk' @ 72057594037927935 : 1 .. '!items!yRTYaNKyXBX9wHhb' @ 0 : 0; will stop at (end) diff --git a/packs/talents-cellule/LOG.old b/packs/talents-cellule/LOG.old index 2b51c43..1c6830a 100644 --- a/packs/talents-cellule/LOG.old +++ b/packs/talents-cellule/LOG.old @@ -1,8 +1,8 @@ -2026/01/06-08:47:47.671595 7f93eaffd6c0 Recovering log #342 -2026/01/06-08:47:47.692464 7f93eaffd6c0 Delete type=3 #340 -2026/01/06-08:47:47.692528 7f93eaffd6c0 Delete type=0 #342 -2026/01/06-08:50:51.024710 7f93e9ffb6c0 Level-0 table #347: started -2026/01/06-08:50:51.024753 7f93e9ffb6c0 Level-0 table #347: 0 bytes OK -2026/01/06-08:50:51.031167 7f93e9ffb6c0 Delete type=0 #345 -2026/01/06-08:50:51.051881 7f93e9ffb6c0 Manual compaction at level-0 from '!items!0jRgc9a9L8i7j1Uk' @ 72057594037927935 : 1 .. '!items!yRTYaNKyXBX9wHhb' @ 0 : 0; will stop at (end) -2026/01/06-08:50:51.051926 7f93e9ffb6c0 Manual compaction at level-1 from '!items!0jRgc9a9L8i7j1Uk' @ 72057594037927935 : 1 .. '!items!yRTYaNKyXBX9wHhb' @ 0 : 0; will stop at (end) +2026/01/08-00:15:43.189361 7f93ebfff6c0 Recovering log #362 +2026/01/08-00:15:43.200185 7f93ebfff6c0 Delete type=3 #360 +2026/01/08-00:15:43.200255 7f93ebfff6c0 Delete type=0 #362 +2026/01/08-00:20:54.684478 7f93e9ffb6c0 Level-0 table #367: started +2026/01/08-00:20:54.684512 7f93e9ffb6c0 Level-0 table #367: 0 bytes OK +2026/01/08-00:20:54.690795 7f93e9ffb6c0 Delete type=0 #365 +2026/01/08-00:20:54.710576 7f93e9ffb6c0 Manual compaction at level-0 from '!items!0jRgc9a9L8i7j1Uk' @ 72057594037927935 : 1 .. '!items!yRTYaNKyXBX9wHhb' @ 0 : 0; will stop at (end) +2026/01/08-00:20:54.710630 7f93e9ffb6c0 Manual compaction at level-1 from '!items!0jRgc9a9L8i7j1Uk' @ 72057594037927935 : 1 .. '!items!yRTYaNKyXBX9wHhb' @ 0 : 0; will stop at (end) diff --git a/packs/talents-cellule/MANIFEST-000348 b/packs/talents-cellule/MANIFEST-000368 similarity index 73% rename from packs/talents-cellule/MANIFEST-000348 rename to packs/talents-cellule/MANIFEST-000368 index 9989596..f74819b 100644 Binary files a/packs/talents-cellule/MANIFEST-000348 and b/packs/talents-cellule/MANIFEST-000368 differ diff --git a/packs/talents/000352.log b/packs/talents/000372.log similarity index 100% rename from packs/talents/000352.log rename to packs/talents/000372.log diff --git a/packs/talents/CURRENT b/packs/talents/CURRENT index 5cedb3b..460ff32 100644 --- a/packs/talents/CURRENT +++ b/packs/talents/CURRENT @@ -1 +1 @@ -MANIFEST-000350 +MANIFEST-000370 diff --git a/packs/talents/LOG b/packs/talents/LOG index 7ea01a2..a6382cc 100644 --- a/packs/talents/LOG +++ b/packs/talents/LOG @@ -1,8 +1,8 @@ -2026/01/06-08:51:42.916450 7f93ebfff6c0 Recovering log #348 -2026/01/06-08:51:42.927518 7f93ebfff6c0 Delete type=3 #346 -2026/01/06-08:51:42.927580 7f93ebfff6c0 Delete type=0 #348 -2026/01/06-16:09:35.030447 7f93e9ffb6c0 Level-0 table #353: started -2026/01/06-16:09:35.030472 7f93e9ffb6c0 Level-0 table #353: 0 bytes OK -2026/01/06-16:09:35.066996 7f93e9ffb6c0 Delete type=0 #351 -2026/01/06-16:09:35.183534 7f93e9ffb6c0 Manual compaction at level-0 from '!items!07bq0fsbn653i81y' @ 72057594037927935 : 1 .. '!items!zKvlDHBalR4UdwUx' @ 0 : 0; will stop at (end) -2026/01/06-16:09:35.183574 7f93e9ffb6c0 Manual compaction at level-1 from '!items!07bq0fsbn653i81y' @ 72057594037927935 : 1 .. '!items!zKvlDHBalR4UdwUx' @ 0 : 0; will stop at (end) +2026/01/08-07:36:58.662555 7f93ea7fc6c0 Recovering log #368 +2026/01/08-07:36:58.713987 7f93ea7fc6c0 Delete type=3 #366 +2026/01/08-07:36:58.714081 7f93ea7fc6c0 Delete type=0 #368 +2026/01/08-07:52:47.443909 7f93e9ffb6c0 Level-0 table #373: started +2026/01/08-07:52:47.443932 7f93e9ffb6c0 Level-0 table #373: 0 bytes OK +2026/01/08-07:52:47.451059 7f93e9ffb6c0 Delete type=0 #371 +2026/01/08-07:52:47.457383 7f93e9ffb6c0 Manual compaction at level-0 from '!items!07bq0fsbn653i81y' @ 72057594037927935 : 1 .. '!items!zKvlDHBalR4UdwUx' @ 0 : 0; will stop at (end) +2026/01/08-07:52:47.457437 7f93e9ffb6c0 Manual compaction at level-1 from '!items!07bq0fsbn653i81y' @ 72057594037927935 : 1 .. '!items!zKvlDHBalR4UdwUx' @ 0 : 0; will stop at (end) diff --git a/packs/talents/LOG.old b/packs/talents/LOG.old index 557f90d..3608a16 100644 --- a/packs/talents/LOG.old +++ b/packs/talents/LOG.old @@ -1,8 +1,8 @@ -2026/01/06-08:47:47.655576 7f93ebfff6c0 Recovering log #344 -2026/01/06-08:47:47.669164 7f93ebfff6c0 Delete type=3 #342 -2026/01/06-08:47:47.669230 7f93ebfff6c0 Delete type=0 #344 -2026/01/06-08:50:51.018281 7f93e9ffb6c0 Level-0 table #349: started -2026/01/06-08:50:51.018314 7f93e9ffb6c0 Level-0 table #349: 0 bytes OK -2026/01/06-08:50:51.024380 7f93e9ffb6c0 Delete type=0 #347 -2026/01/06-08:50:51.024553 7f93e9ffb6c0 Manual compaction at level-0 from '!items!07bq0fsbn653i81y' @ 72057594037927935 : 1 .. '!items!zKvlDHBalR4UdwUx' @ 0 : 0; will stop at (end) -2026/01/06-08:50:51.024577 7f93e9ffb6c0 Manual compaction at level-1 from '!items!07bq0fsbn653i81y' @ 72057594037927935 : 1 .. '!items!zKvlDHBalR4UdwUx' @ 0 : 0; will stop at (end) +2026/01/08-00:15:43.176710 7f93eb7fe6c0 Recovering log #364 +2026/01/08-00:15:43.186491 7f93eb7fe6c0 Delete type=3 #362 +2026/01/08-00:15:43.186547 7f93eb7fe6c0 Delete type=0 #364 +2026/01/08-00:20:54.677442 7f93e9ffb6c0 Level-0 table #369: started +2026/01/08-00:20:54.677488 7f93e9ffb6c0 Level-0 table #369: 0 bytes OK +2026/01/08-00:20:54.684133 7f93e9ffb6c0 Delete type=0 #367 +2026/01/08-00:20:54.684329 7f93e9ffb6c0 Manual compaction at level-0 from '!items!07bq0fsbn653i81y' @ 72057594037927935 : 1 .. '!items!zKvlDHBalR4UdwUx' @ 0 : 0; will stop at (end) +2026/01/08-00:20:54.684366 7f93e9ffb6c0 Manual compaction at level-1 from '!items!07bq0fsbn653i81y' @ 72057594037927935 : 1 .. '!items!zKvlDHBalR4UdwUx' @ 0 : 0; will stop at (end) diff --git a/packs/talents/MANIFEST-000350 b/packs/talents/MANIFEST-000370 similarity index 72% rename from packs/talents/MANIFEST-000350 rename to packs/talents/MANIFEST-000370 index 5f59cf2..3e63162 100644 Binary files a/packs/talents/MANIFEST-000350 and b/packs/talents/MANIFEST-000370 differ diff --git a/styles/hawkmoon.css b/styles/hawkmoon.css index 607b324..a8691ff 100644 --- a/styles/hawkmoon.css +++ b/styles/hawkmoon.css @@ -102,11 +102,26 @@ button, font-size: 0.8rem; } .fvtt-hawkmoon-cyd .sheet-header select option { - background-color: #441919; + background-color: #ffffff; + color: #000000; + padding: 2px 4px; +} +.fvtt-hawkmoon-cyd .sheet-header input[type="text"], +.fvtt-hawkmoon-cyd .sheet-header input[type="number"] { + color: #000000; + background-color: rgba(255, 255, 255, 0.9); + font-family: "Montserrat"; + font-size: 0.85rem; + padding: 3px 6px; + border: 1px solid #999999; } -.fvtt-hawkmoon-cyd .sheet-header input, .fvtt-hawkmoon-cyd .sheet-header select { - color: lightgray; + color: #000000; + background-color: rgba(255, 255, 255, 0.9); + font-family: "Montserrat"; + font-size: 0.85rem; + padding: 3px 6px; + border: 1px solid #999999; } .window-header { background: rgba(0, 0, 0, 0.75); @@ -137,6 +152,19 @@ input:disabled { select:disabled { color: #1c2058; } +/* AppV2 Item Sheets - Disabled inputs readability */ +.fvtt-hawkmoon-cyd.item input:disabled, +.fvtt-hawkmoon-cyd.item select:disabled { + color: #000000; + opacity: 0.8; + background-color: rgba(255, 255, 255, 0.5); +} +.fvtt-hawkmoon-cyd.item .automation-edit-field:disabled { + color: #000000; + opacity: 1; + background-color: rgba(255, 255, 255, 0.7); + border: 1px solid #999999; +} table { border: 1px solid #7a7971; } @@ -254,6 +282,22 @@ table { margin-bottom: 10px; background-image: url("../assets/ui/hawkmoon_background_01.png"); } +.fvtt-hawkmoon-cyd .sheet-header .item-name-label.competence-name, +.fvtt-hawkmoon-cyd .sheet-header h4.item-name-label.competence-name, +.fvtt-hawkmoon-cyd .sheet-header label.item-name-label.competence-name { + color: #ffffff !important; + text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.9), -1px -1px 2px rgba(0, 0, 0, 0.7) !important; + font-weight: bold !important; + font-size: 0.65rem !important; + background: none !important; +} +.fvtt-hawkmoon-cyd .sheet-header input[type="text"], +.fvtt-hawkmoon-cyd .sheet-header input[type="number"], +.fvtt-hawkmoon-cyd .sheet-header select { + padding: 2px 4px !important; + height: auto !important; + line-height: 1.2 !important; +} .sheet.journal-entry .journal-sidebar { color: #000; } @@ -273,6 +317,27 @@ table { object-fit: cover; object-position: 50% 0; } +.fvtt-hawkmoon-cyd .sheet-mode-toggle { + background: transparent; + border: none; + color: #fff; + padding: 2px 6px; + cursor: pointer; + font-size: 0.75rem; + transition: all 0.2s ease; + margin-left: 8px; + height: auto; + line-height: 1.2; + text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); +} +.fvtt-hawkmoon-cyd .sheet-mode-toggle:hover { + color: #ffd700; + text-shadow: 1px 1px 3px #000000; + transform: scale(1.15); +} +.fvtt-hawkmoon-cyd .sheet-mode-toggle i { + pointer-events: none; +} .button-img { vertical-align: baseline; width: 8%; @@ -324,6 +389,8 @@ table { font-size: 2rem; color: lightgray; text-align: left; + background-color: transparent; + border: none; } .fvtt-hawkmoon-cyd .sheet-tabs { -webkit-box-flex: 0; @@ -431,6 +498,12 @@ table { /*color: lightgray;*/ border-width: 1px; margin-bottom: 0.25rem; + color: #000000; + background-color: rgba(255, 255, 255, 0.9); + font-family: "Montserrat"; + font-size: 0.85rem; + padding: 3px 6px; + border: 1px solid #999999; } .window-app .window-content, .window-app.sheet .window-content .sheet-body { @@ -830,6 +903,7 @@ li { .chat-message .message-content { font-size: 0.9rem; font-family: CentaurMT; + color: #2c2c2c; } .chat-actor-name { padding: 4px; @@ -912,11 +986,16 @@ li { align-self: center; } .chat-message { - background: rgba(220, 220, 210, 0.5); + background: url("../assets/ui/pc_sheet_bg.webp"); + background-repeat: repeat; font-size: 0.9rem; + font-family: CentaurMT, serif; + color: #2c2c2c; + border: 1px solid #d4af37; } .chat-message.whisper { - background: rgba(220, 220, 210, 0.75); + background: url("../assets/ui/pc_sheet_bg.webp"); + background-repeat: repeat; border: 2px solid #545469; } .chat-message .chat-icon { @@ -1111,6 +1190,10 @@ li { position: relative; top: 1px; } +.chat-card-button.roll-initiative { + min-width: 224px; + white-space: nowrap; +} .button-sheet-roll { box-shadow: inset 0px 1px 0px 0px #a6827e; background: linear-gradient(to bottom, #41545a 5%, #2e5561 100%); @@ -1130,6 +1213,9 @@ li { max-width: 3.5rem; min-width: 3.5rem; } +.button-competence { + margin-left: 4px; +} .button-sheet-roll:hover { background: linear-gradient(to bottom, #800000 5%, #3e0101 100%); background-color: #382121; @@ -1212,6 +1298,7 @@ li { flex-grow: 1; min-width: 64px; max-width: 64px; + margin-right: 8px; } /*************************************************************/ .arme-defensif { @@ -1335,6 +1422,14 @@ li { } .argent-total-text { margin-left: 4px; + font-family: "Montserrat"; + font-size: 0.75rem; + font-weight: normal; + color: #000000; + background-color: rgba(255, 255, 255, 0.85); + padding: 4px 8px; + border-radius: 3px; + display: inline-block; } .compendium h4.entry-name.document-name { color: black; @@ -1355,24 +1450,158 @@ textarea { font-style: italic; font-size: 0.6rem; } +/* AppV2 Item Sheets - Background */ +.fvtt-hawkmoon-cyd.item { + background: url("../assets/ui/pc_sheet_bg.webp"); + background-repeat: repeat; + display: flex; + flex-direction: column; + height: 100%; + padding: 0; +} +.fvtt-hawkmoon-cyd.item .window-content { + padding: 0; + margin: 0; +} +.fvtt-hawkmoon-cyd.item section { + background: url("../assets/ui/pc_sheet_bg.webp"); + background-repeat: repeat-y; + color: black; + display: flex; + flex-direction: column; + height: 100%; + overflow: hidden; + padding: 0; + margin: 0; +} +.fvtt-hawkmoon-cyd.item .window-content, +.fvtt-hawkmoon-cyd.item section { + background: url("../assets/ui/pc_sheet_bg.webp"); + background-repeat: repeat-y; + color: black; +} +.fvtt-hawkmoon-cyd.item header.sheet-header { + background-image: url("../assets/ui/hawkmoon_background_01.png"); + background-repeat: repeat; + flex: 0 0 auto; +} /* AppV2 Item Sheets - Tab Management */ +.fvtt-hawkmoon-cyd.item nav.sheet-tabs, +.fvtt-hawkmoon-cyd.item nav.tabs { + font-size: 0.7rem; + font-weight: bold; + height: 2.5rem; + flex: 0 0 2.5rem; + margin: 0; + padding: 0 0 0 0.25rem; + text-align: center; + text-transform: uppercase; + line-height: 1.5rem; + border-top: 1px solid #aaa; + border-bottom: 1px solid #aaa; + background-color: #2e5561; + color: #151c1f; +} +.fvtt-hawkmoon-cyd.item nav.tabs .item, +.item-sheet nav.tabs .item { + position: relative; + padding: 0 0.25rem; + font-weight: bold; + opacity: 0.6; + color: #dadada; +} +.fvtt-hawkmoon-cyd.item nav.tabs .item:after, +.item-sheet nav.tabs .item:after { + content: ""; + position: absolute; + top: 0; + right: 0; + height: 2rem; + width: 1px; +} +.fvtt-hawkmoon-cyd.item nav.tabs .item.active, +.item-sheet nav.tabs .item.active { + opacity: 1; + font-weight: bold; + text-decoration: underline; + text-shadow: none; + color: #ffffff; +} .fvtt-hawkmoon-cyd.item .tab[data-tab], .item-sheet .tab[data-tab] { display: none; + padding: 4px 8px; + overflow-y: auto; + flex: 1 1 auto; } .fvtt-hawkmoon-cyd.item .tab[data-tab].active, .item-sheet .tab[data-tab].active { display: block; } -.fvtt-hawkmoon-cyd.item nav.tabs a.item, -.item-sheet nav.tabs a.item { - opacity: 0.6; +/* Item list optimization */ +.fvtt-hawkmoon-cyd.item ul.item-list { + list-style: none; + margin: 0; + padding: 0; } -.fvtt-hawkmoon-cyd.item nav.tabs a.item.active, -.item-sheet nav.tabs a.item.active { - opacity: 1; +.fvtt-hawkmoon-cyd.item ul.item-list li.item { + display: flex; + align-items: center; + margin-bottom: 2px; + padding: 2px 4px; + min-height: 24px; +} +.fvtt-hawkmoon-cyd.item ul.item-list li.flexrow { + display: flex; + flex-direction: row; + align-items: center; + gap: 4px; +} +/* Label alignment and sizing */ +.fvtt-hawkmoon-cyd.item .generic-label { + display: inline-block; + white-space: nowrap; + margin: 0; + padding: 0 4px 0 0; +} +.fvtt-hawkmoon-cyd.item .item-field-label-short { + flex: 0 0 60px; + min-width: 60px; +} +.fvtt-hawkmoon-cyd.item .item-field-label-medium { + flex: 0 0 100px; + min-width: 100px; +} +.fvtt-hawkmoon-cyd.item .item-field-label-long { + flex: 1 1 auto; + min-width: 150px; +} +.fvtt-hawkmoon-cyd.item .item-field-label-long1 { + flex: 1 1 auto; + min-width: 200px; +} +/* Input and select alignment */ +.fvtt-hawkmoon-cyd.item input[type="text"], +.fvtt-hawkmoon-cyd.item input[type="number"], +.fvtt-hawkmoon-cyd.item select, +.fvtt-hawkmoon-cyd.item textarea { + margin: 0; + padding: 2px 4px; +} +.fvtt-hawkmoon-cyd.item input[type="checkbox"] { + margin: 0 4px; + align-self: center; +} +/* Headers in item sheets */ +.fvtt-hawkmoon-cyd.item h3 { + font-size: 0.9rem; font-weight: bold; - border-bottom: 2px solid; + margin: 4px 0 2px 0; + padding: 2px 4px; + text-transform: uppercase; + color: #333333; + background-color: rgba(200, 200, 200, 0.3); + border-left: 3px solid #2e5561; } /* AppV2 Item Sheets - Specific fixes */ .fvtt-hawkmoon-cyd.item header.sheet-header img.item-sheet-img, @@ -1405,5 +1634,673 @@ textarea { font-size: 0.8rem; white-space: nowrap; } +/* AppV2 Actor Sheets - Same styling as items */ +.fvtt-hawkmoon-cyd.actor .window-content { + padding: 0; + margin: 0; +} +.fvtt-hawkmoon-cyd.actor section { + background: url("../assets/ui/pc_sheet_bg.webp"); + background-repeat: repeat-y; + color: black; + display: flex; + flex-direction: column; + height: 100%; + overflow: hidden; + padding: 0; + margin: 0; +} +.fvtt-hawkmoon-cyd.actor .window-content, +.fvtt-hawkmoon-cyd.actor section { + background: url("../assets/ui/pc_sheet_bg.webp"); + background-repeat: repeat-y; + color: black; +} +.fvtt-hawkmoon-cyd.actor header.sheet-header { + background-image: url("../assets/ui/hawkmoon_background_01.png"); + background-repeat: repeat; + flex: 0 0 auto; +} +.fvtt-hawkmoon-cyd.actor header.sheet-header h4 { + font-family: "Montserrat"; + font-size: 0.8rem; + font-weight: normal; + margin: 0; + padding: 0; +} +.fvtt-hawkmoon-cyd.actor header.sheet-header label { + font-family: "Montserrat"; + font-size: 0.8rem; + font-weight: normal; +} +.fvtt-hawkmoon-cyd.actor nav.sheet-tabs, +.fvtt-hawkmoon-cyd.actor nav.tabs { + font-size: 0.7rem; + font-weight: bold; + height: 2.5rem; + flex: 0 0 2.5rem; + margin: 0; + padding: 0 0 0 0.25rem; + text-align: center; + text-transform: uppercase; + line-height: 1.5rem; + border-top: 1px solid #aaa; + border-bottom: 1px solid #aaa; + background-color: #2e5561; + color: #151c1f; +} +.fvtt-hawkmoon-cyd.actor nav.sheet-tabs a.item, +.fvtt-hawkmoon-cyd.actor nav.tabs a.item { + padding: 0.5rem 0.75rem; + margin: 0; + color: white; + text-decoration: none; +} +.fvtt-hawkmoon-cyd.actor nav.sheet-tabs a.item:hover, +.fvtt-hawkmoon-cyd.actor nav.tabs a.item:hover { + background-color: rgba(255, 255, 255, 0.1); +} +.fvtt-hawkmoon-cyd.actor nav.sheet-tabs a.item.active, +.fvtt-hawkmoon-cyd.actor nav.tabs a.item.active { + background-color: rgba(255, 255, 255, 0.2); + font-weight: bold; +} +.fvtt-hawkmoon-cyd.actor .tab { + display: none; + padding: 4px 8px; + overflow-y: auto; + flex: 1 1 auto; +} +.fvtt-hawkmoon-cyd.actor .tab.active { + display: block; + overflow-y: auto; +} +/* Actor sheet - Headers styling (like items) */ +.fvtt-hawkmoon-cyd.actor h3, +.fvtt-hawkmoon-cyd.actor h4.item-name-label { + font-family: "Montserrat"; + font-size: 0.9rem; + font-weight: bold; + margin: 4px 0 2px 0; + padding: 2px 4px; + text-transform: uppercase; + color: #333333; + background-color: rgba(200, 200, 200, 0.3); + border-left: 3px solid #2e5561; + width: 100%; + display: block; +} +/* Actor sheet - Full width boxes for totals */ +.fvtt-hawkmoon-cyd.actor .sheet-box { + width: 100%; + display: block; +} +/* Actor sheet - Input and select styling (like items) */ +.fvtt-hawkmoon-cyd.actor input[type="text"], +.fvtt-hawkmoon-cyd.actor input[type="number"], +.fvtt-hawkmoon-cyd.actor textarea { + margin: 0; + padding: 3px 6px; + font-family: "Montserrat"; + font-size: 0.85rem; + color: #000000; + background-color: rgba(255, 255, 255, 0.9); + border: 1px solid #999999; +} +.fvtt-hawkmoon-cyd.actor select { + margin: 0; + padding: 3px 6px; + font-family: "Montserrat"; + font-size: 0.85rem; + color: #000000; + background-color: rgba(255, 255, 255, 0.9); + border: 1px solid #999999; +} +.fvtt-hawkmoon-cyd.actor select option { + background-color: #ffffff; + color: #000000; + padding: 2px 4px; +} +.fvtt-hawkmoon-cyd.actor input[type="checkbox"] { + margin: 0 4px; + align-self: center; +} +.fvtt-hawkmoon-cyd.actor input:disabled, +.fvtt-hawkmoon-cyd.actor select:disabled { + color: #000000; + opacity: 0.8; + background-color: rgba(255, 255, 255, 0.5); +} +/* ==================== Roll Dialog Styles ==================== */ +.application.hawkmoon-roll-dialog .window-content { + padding: 0 0.2rem 0.2rem 0.2rem; +} +.window-app.hawkmoon-roll-dialog .window-content { + margin: 0; + padding: 0 0.2rem 0.2rem 0.2rem; +} +.hawkmoon-roll-dialog { + background-image: url("../assets/ui/pc_sheet_bg.webp"); + background-repeat: repeat; + /* Dialog footer buttons */ +} +.hawkmoon-roll-dialog * { + color: #2a2a2a; +} +.hawkmoon-roll-dialog .dialog-header { + display: flex; + align-items: center; + gap: 8px; + padding: 6px; + background-image: url("../assets/ui/hawkmoon_background_01.png"); + background-blend-mode: soft-light; + border-bottom: 2px solid #d4af37; + margin-bottom: 0; +} +.hawkmoon-roll-dialog .dialog-header .actor-icon { + width: 40px; + height: 40px; + border-radius: 3px; + border: 1px solid #d4af37; + object-fit: cover; +} +.hawkmoon-roll-dialog .dialog-header .dialog-title { + flex: 1; +} +.hawkmoon-roll-dialog .dialog-header .dialog-title h3 { + margin: 0; + font-size: 1rem; + color: #f5f5f5; + text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.9); +} +.hawkmoon-roll-dialog .dialog-header .dialog-title .competence-name { + font-size: 0.8rem; + color: #d4af37; + margin-top: 2px; + text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); +} +.hawkmoon-roll-dialog .dialog-header .dialog-title .competence-name .attribut-info { + color: #a8d8ea; + font-weight: bold; + font-size: 0.85em; +} +.hawkmoon-roll-dialog .dialog-content { + padding: 4px 0 0; + max-height: 600px; + overflow-y: auto; +} +.hawkmoon-roll-dialog .form-group { + margin-bottom: 6px; + padding: 0 8px; +} +.hawkmoon-roll-dialog .form-group label { + display: block; + font-weight: bold; + color: #1a1a1a; + text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.5); + margin-bottom: 2px; + font-size: 0.85rem; +} +.hawkmoon-roll-dialog .form-group label i { + margin-right: 4px; + color: #d4af37; +} +.hawkmoon-roll-dialog .form-group input, +.hawkmoon-roll-dialog .form-group select { + width: 100%; + padding: 4px 6px; + background: rgba(255, 255, 255, 0.95); + border: 1px solid rgba(100, 100, 100, 0.6); + border-radius: 3px; + color: #1a1a1a; + font-size: 0.9rem; + font-weight: 500; +} +.hawkmoon-roll-dialog .form-group input:focus, +.hawkmoon-roll-dialog .form-group select:focus { + outline: none; + border-color: #d4af37; + box-shadow: 0 0 4px rgba(212, 175, 55, 0.7); + background: #ffffff; +} +.hawkmoon-roll-dialog .form-group input:disabled, +.hawkmoon-roll-dialog .form-group select:disabled { + opacity: 0.7; + cursor: not-allowed; + background: rgba(200, 200, 200, 0.9); + color: #555; +} +.hawkmoon-roll-dialog .form-group select option { + background-color: #ffffff; + color: #1a1a1a; + padding: 4px 6px; +} +.hawkmoon-roll-dialog .form-group .help-text { + display: block; + margin-top: 2px; + font-size: 0.7rem; + color: rgba(255, 255, 255, 0.85); + font-style: italic; + text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); +} +.hawkmoon-roll-dialog .modifiers-grid { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 6px; + margin-bottom: 8px; +} +.hawkmoon-roll-dialog .attributes-section { + background: rgba(212, 175, 55, 0.1); + padding: 6px; + border-radius: 3px; + border: 1px solid rgba(212, 175, 55, 0.3); +} +.hawkmoon-roll-dialog .competence-section { + background: rgba(100, 149, 237, 0.1); + padding: 4px; + border-radius: 3px; + border: 1px solid rgba(100, 149, 237, 0.3); + margin-bottom: 6px; +} +.hawkmoon-roll-dialog .competence-section .competence-info { + display: flex; + justify-content: space-between; + align-items: center; + padding: 3px 5px; + background: rgba(100, 149, 237, 0.15); + border-radius: 3px; + margin-bottom: 4px; +} +.hawkmoon-roll-dialog .competence-section .competence-info .competence-label { + font-weight: bold; + font-size: 0.85rem; + color: #1a1a1a; +} +.hawkmoon-roll-dialog .competence-section .competence-info .competence-niveau { + font-size: 0.8rem; + color: #2a2a2a; + font-weight: 500; +} +.hawkmoon-roll-dialog .talents-group select[multiple] { + min-height: 70px; +} +.hawkmoon-roll-dialog .talents-group select[multiple] option { + padding: 3px; + cursor: pointer; +} +.hawkmoon-roll-dialog .talents-group select[multiple] option:hover { + background: rgba(212, 175, 55, 0.3); +} +.hawkmoon-roll-dialog .combat-modifiers { + background: rgba(220, 20, 60, 0.1); + padding: 6px; + border-radius: 3px; + border: 1px solid rgba(220, 20, 60, 0.3); + margin-bottom: 8px; +} +.hawkmoon-roll-dialog .combat-modifiers h4, +.hawkmoon-roll-dialog .combat-modifiers h5 { + margin: 0 0 6px 0; + color: #2a2a2a; + text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.8); + font-size: 0.9rem; +} +.hawkmoon-roll-dialog .combat-modifiers h4 i, +.hawkmoon-roll-dialog .combat-modifiers h5 i { + margin-right: 6px; + color: #dc143c; +} +.hawkmoon-roll-dialog .combat-modifiers h5 { + font-size: 0.85rem; + margin-top: 12px; +} +.hawkmoon-roll-dialog .combat-modifiers .modifiers-columns { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 4px 8px; +} +.hawkmoon-roll-dialog .combat-modifiers .checkbox-label { + display: flex; + align-items: center; + gap: 4px; + padding: 2px; + cursor: pointer; + border-radius: 2px; + transition: background 0.2s ease; +} +.hawkmoon-roll-dialog .combat-modifiers .checkbox-label:hover { + background: rgba(255, 255, 255, 0.05); +} +.hawkmoon-roll-dialog .combat-modifiers .checkbox-label input[type="checkbox"] { + width: auto; + margin: 0; + cursor: pointer; +} +.hawkmoon-roll-dialog .combat-modifiers .checkbox-label span { + color: #1a1a1a; + font-size: 0.8rem; + user-select: none; + text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.5); +} +.hawkmoon-roll-dialog .combat-modifiers .tir-modifiers { + margin-top: 8px; + padding-top: 6px; + border-top: 1px solid rgba(255, 255, 255, 0.1); +} +.hawkmoon-roll-dialog .combat-modifiers .tir-modifiers h5 { + margin: 0 0 4px 0; +} +.hawkmoon-roll-dialog .combat-modifiers .tir-modifiers .modifiers-grid { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 4px 6px; +} +.hawkmoon-roll-dialog .combat-modifiers .tir-modifiers .form-group { + margin-bottom: 3px; +} +.hawkmoon-roll-dialog .combat-modifiers .tir-modifiers .form-group label { + font-size: 0.75rem; + margin-bottom: 1px; +} +.hawkmoon-roll-dialog .combat-modifiers .tir-modifiers .form-group select { + padding: 2px 4px; + font-size: 0.8rem; +} +.hawkmoon-roll-dialog .context-group { + background: rgba(255, 255, 255, 0.05); + padding: 6px; + border-radius: 3px; + border: 1px dashed rgba(255, 255, 255, 0.2); +} +.hawkmoon-roll-dialog .dialog-buttons { + display: flex; + gap: 8px; + padding: 8px; + border-top: 1px solid rgba(255, 255, 255, 0.1); +} +.hawkmoon-roll-dialog .dialog-buttons button { + flex: 1; + padding: 6px 12px; + border: none; + border-radius: 3px; + font-weight: bold; + cursor: pointer; + transition: all 0.2s ease; + font-size: 0.85rem; +} +.hawkmoon-roll-dialog .dialog-buttons button[data-action="rolld10"], +.hawkmoon-roll-dialog .dialog-buttons button[data-action="rolld20"] { + background: linear-gradient(135deg, #d4af37 0%, #b8941e 100%); + color: #1a1a1a; +} +.hawkmoon-roll-dialog .dialog-buttons button[data-action="rolld10"]:hover, +.hawkmoon-roll-dialog .dialog-buttons button[data-action="rolld20"]:hover { + background: linear-gradient(135deg, #e6c14a 0%, #d4af37 100%); + transform: translateY(-1px); + box-shadow: 0 4px 8px rgba(212, 175, 55, 0.4); +} +.hawkmoon-roll-dialog .dialog-buttons button[data-action="cancel"] { + background: rgba(255, 255, 255, 0.1); + color: white; +} +.hawkmoon-roll-dialog .dialog-buttons button[data-action="cancel"]:hover { + background: rgba(255, 255, 255, 0.2); +} +.hawkmoon-roll-dialog .dialog-buttons button i { + margin-right: 4px; +} +/* ==================== Chat Result Message Styles ==================== */ +.hawkmoon-chat-result { + background: url("../assets/ui/pc_sheet_bg.webp"); + background-repeat: repeat; + border: 2px solid #d4af37; + border-radius: 4px; + overflow: hidden; + font-family: CentaurMT, serif; +} +.hawkmoon-chat-result .chat-result-header { + background-image: url("../assets/ui/hawkmoon_background_01.png"); + background-blend-mode: soft-light; + border-bottom: 2px solid #d4af37; + padding: 8px; + display: flex; + align-items: center; + gap: 10px; +} +.hawkmoon-chat-result .chat-result-header .actor-icon { + width: 48px; + height: 48px; + border-radius: 4px; + border: 1px solid #d4af37; + object-fit: cover; + flex-shrink: 0; +} +.hawkmoon-chat-result .chat-result-header .header-info { + flex: 1; +} +.hawkmoon-chat-result .chat-result-header .header-info .actor-name { + margin: 0; + color: #f5f5f5; + font-size: 1.1rem; + text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.9); +} +.hawkmoon-chat-result .chat-result-header .header-info .action-title { + color: #d4af37; + font-size: 0.9rem; + margin-top: 2px; + text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.8); +} +.hawkmoon-chat-result .chat-result-header .header-info .action-title i { + margin-right: 4px; +} +.hawkmoon-chat-result .result-main { + background: rgba(255, 255, 255, 0.15); + padding: 6px 8px; + border-bottom: 1px solid rgba(212, 175, 55, 0.3); +} +.hawkmoon-chat-result .result-main .result-display { + display: flex; + justify-content: space-around; + align-items: center; + gap: 10px; + margin-bottom: 5px; +} +.hawkmoon-chat-result .result-main .result-display .dice-result, +.hawkmoon-chat-result .result-main .result-display .total-result, +.hawkmoon-chat-result .result-main .result-display .difficulty { + text-align: center; + flex: 1; +} +.hawkmoon-chat-result .result-main .result-display .dice-result i, +.hawkmoon-chat-result .result-main .result-display .total-result i, +.hawkmoon-chat-result .result-main .result-display .difficulty i { + color: #d4af37; + font-size: 1rem; + display: block; + margin-bottom: 3px; +} +.hawkmoon-chat-result .result-main .result-display .dice-result span, +.hawkmoon-chat-result .result-main .result-display .total-result span, +.hawkmoon-chat-result .result-main .result-display .difficulty span { + display: block; + font-weight: bold; +} +.hawkmoon-chat-result .result-main .result-display .dice-result .dice-value, +.hawkmoon-chat-result .result-main .result-display .total-result .dice-value, +.hawkmoon-chat-result .result-main .result-display .difficulty .dice-value, +.hawkmoon-chat-result .result-main .result-display .dice-result .total-value, +.hawkmoon-chat-result .result-main .result-display .total-result .total-value, +.hawkmoon-chat-result .result-main .result-display .difficulty .total-value, +.hawkmoon-chat-result .result-main .result-display .dice-result .difficulty-value, +.hawkmoon-chat-result .result-main .result-display .total-result .difficulty-value, +.hawkmoon-chat-result .result-main .result-display .difficulty .difficulty-value { + font-size: 1.3rem; + color: #1a1a1a; + text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.8); +} +.hawkmoon-chat-result .result-main .result-display .dice-result .total-label, +.hawkmoon-chat-result .result-main .result-display .total-result .total-label, +.hawkmoon-chat-result .result-main .result-display .difficulty .total-label, +.hawkmoon-chat-result .result-main .result-display .dice-result .difficulty-label, +.hawkmoon-chat-result .result-main .result-display .total-result .difficulty-label, +.hawkmoon-chat-result .result-main .result-display .difficulty .difficulty-label { + font-size: 0.75rem; + color: #2a2a2a; + text-transform: uppercase; +} +.hawkmoon-chat-result .result-main .result-badge-container { + display: flex; + justify-content: center; + margin-top: 5px; +} +.hawkmoon-chat-result .result-main .result-badge-container .result-badge { + padding: 4px 12px; + border-radius: 3px; + font-weight: bold; + font-size: 0.9rem; + text-transform: uppercase; + text-align: center; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); +} +.hawkmoon-chat-result .result-main .result-badge-container .result-badge i { + margin-right: 6px; +} +.hawkmoon-chat-result .result-main .result-badge-container .result-badge.heroique { + background: linear-gradient(135deg, #ffd700 0%, #ff8c00 100%); + color: #1a1a1a; + text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.5); +} +.hawkmoon-chat-result .result-main .result-badge-container .result-badge.success { + background: linear-gradient(135deg, #4caf50 0%, #2e7d32 100%); + color: white; + text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); +} +.hawkmoon-chat-result .result-main .result-badge-container .result-badge.failure { + background: linear-gradient(135deg, #f44336 0%, #c62828 100%); + color: white; + text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); +} +.hawkmoon-chat-result .result-main .result-badge-container .result-badge.dramatique { + background: linear-gradient(135deg, #9c27b0 0%, #4a148c 100%); + color: white; + text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5); +} +.hawkmoon-chat-result .result-details { + padding: 6px 8px; + background: rgba(255, 255, 255, 0.05); +} +.hawkmoon-chat-result .result-details .details-section { + display: flex; + flex-direction: column; + gap: 2px; +} +.hawkmoon-chat-result .result-details .details-section .detail-row { + display: flex; + justify-content: space-between; + padding: 2px 5px; + background: rgba(255, 255, 255, 0.1); + border-radius: 2px; + font-size: 0.85rem; +} +.hawkmoon-chat-result .result-details .details-section .detail-row.bonus { + background: rgba(212, 175, 55, 0.2); + border: 1px solid rgba(212, 175, 55, 0.5); +} +.hawkmoon-chat-result .result-details .details-section .detail-row .detail-label { + color: #2a2a2a; + font-weight: bold; +} +.hawkmoon-chat-result .result-details .details-section .detail-row .detail-value { + color: #1a1a1a; + font-weight: 500; +} +.hawkmoon-chat-result .result-effects { + padding: 6px 8px; + background: rgba(100, 149, 237, 0.1); + border-top: 1px solid rgba(100, 149, 237, 0.3); +} +.hawkmoon-chat-result .result-effects .effect-item { + padding: 4px 6px; + margin-bottom: 4px; + background: rgba(255, 255, 255, 0.15); + border-left: 3px solid #6495ed; + border-radius: 3px; + color: #1a1a1a; + font-size: 0.85rem; +} +.hawkmoon-chat-result .result-effects .effect-item.victory { + background: rgba(255, 215, 0, 0.2); + border-left-color: #ffd700; +} +.hawkmoon-chat-result .result-effects .effect-item i { + margin-right: 6px; + color: #6495ed; +} +.hawkmoon-chat-result .result-effects .effect-item:last-child { + margin-bottom: 0; +} +.hawkmoon-chat-result .result-effects .damage-buttons { + display: flex; + flex-direction: column; + gap: 6px; + margin-top: 8px; +} +.hawkmoon-chat-result .result-effects .damage-buttons button { + width: 100%; +} +.hawkmoon-chat-result .result-warning { + padding: 5px 8px; + background: rgba(255, 152, 0, 0.2); + border-left: 3px solid #ff9800; + margin: 5px 8px; + border-radius: 3px; + color: #1a1a1a; + font-size: 0.85rem; +} +.hawkmoon-chat-result .result-warning i { + margin-right: 6px; + color: #ff9800; +} +.hawkmoon-chat-result .result-info { + padding: 5px 8px; + background: rgba(33, 150, 243, 0.2); + border-left: 3px solid #2196f3; + margin: 5px 8px; + border-radius: 3px; + color: #1a1a1a; + font-size: 0.85rem; +} +.hawkmoon-chat-result .result-info i { + margin-right: 6px; + color: #2196f3; +} +.hawkmoon-chat-result .predilection-section { + padding: 8px 10px; + background: rgba(156, 39, 176, 0.1); + border-top: 1px solid rgba(156, 39, 176, 0.3); +} +.hawkmoon-chat-result .predilection-section button { + width: 100%; +} +.hawkmoon-chat-result .chat-card-button { + padding: 8px 12px; + background: linear-gradient(135deg, #d4af37 0%, #b8941e 100%); + border: none; + border-radius: 4px; + color: #1a1a1a; + font-weight: bold; + font-size: 0.9rem; + cursor: pointer; + transition: all 0.2s ease; + box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); +} +.hawkmoon-chat-result .chat-card-button:hover { + background: linear-gradient(135deg, #e6c14a 0%, #d4af37 100%); + transform: translateY(-1px); + box-shadow: 0 4px 6px rgba(212, 175, 55, 0.4); +} +.hawkmoon-chat-result .chat-card-button i { + margin-right: 6px; +} /*# sourceMappingURL=hawkmoon.css.map */ /*# sourceMappingURL=hawkmoon.css.map */ diff --git a/styles/hawkmoon.css.map b/styles/hawkmoon.css.map index 3e11ea0..a6c4196 100644 --- a/styles/hawkmoon.css.map +++ b/styles/hawkmoon.css.map @@ -1 +1 @@ -{"version":3,"sources":["../simple-converted.less"],"names":[],"mappings":"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","file":"hawkmoon.css","sourcesContent":[]} \ No newline at end of file +{"version":3,"sources":["../simple-converted.less"],"names":[],"mappings":"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","file":"hawkmoon.css","sourcesContent":[]} \ No newline at end of file diff --git a/system.json b/system.json index e37e1e6..7511f01 100644 --- a/system.json +++ b/system.json @@ -1,11 +1,12 @@ { "id": "fvtt-hawkmoon-cyd", + "title": "Hawkmoon - CYD System", "description": "Hawkmoon RPG for FoundryVTT (CYD system - French)", + "manifest": "https://www.uberwald.me/gitea/public/fvtt-hawkmoon-cyd/raw/branch/master/system.json", + "download": "https://www.uberwald.me/gitea/public/fvtt-hawkmoon-cyd/archive/fvtt-hawkmoon-cyd-13.0.7.zip", + "url": "https://www.uberwald.me/gitea/public/fvtt-hawkmoon-cyd", + "license": "LICENSE.txt", "version": "13.0.7", - "grid": { - "distance": 2, - "units": "m" - }, "authors": [ { "name": "Uberwald/LeRatierBretonnien", @@ -32,12 +33,16 @@ "flags": {} } ], + "compatibility": { + "minimum": "13", + "verified": "13" + }, "esmodules": [ "modules/hawkmoon-main.js" ], - "license": "LICENSE.txt", - "manifest": "https://www.uberwald.me/gitea/public/fvtt-hawkmoon-cyd/raw/branch/master/system.json", - "download": "https://www.uberwald.me/gitea/public/fvtt-hawkmoon-cyd/archive/fvtt-hawkmoon-cyd-13.0.7.zip", + "styles": [ + "styles/hawkmoon.css" + ], "languages": [ { "lang": "fr", @@ -46,6 +51,93 @@ "flags": {} } ], + "documentTypes": { + "Actor": { + "personnage": { + "htmlFields": [ + "biodata.description", + "biodata.habitat", + "biodata.notes", + "biodata.gmnotes" + ] + }, + "cellule": { + "htmlFields": [ + "description" + ] + }, + "creature": { + "htmlFields": [ + "biodata.description", + "biodata.habitat", + "biodata.notes", + "biodata.gmnotes" + ] + } + }, + "Item": { + "talent": { + "htmlFields": [ + "description" + ] + }, + "historique": { + "htmlFields": [ + "description" + ] + }, + "profil": { + "htmlFields": [ + "description" + ] + }, + "competence": { + "htmlFields": [ + "description" + ] + }, + "arme": { + "htmlFields": [ + "description" + ] + }, + "protection": { + "htmlFields": [ + "description" + ] + }, + "monnaie": { + "htmlFields": [ + "description" + ] + }, + "equipement": { + "htmlFields": [ + "description" + ] + }, + "artefact": { + "htmlFields": [ + "description" + ] + }, + "ressource": { + "htmlFields": [ + "description" + ] + }, + "contact": { + "htmlFields": [ + "description" + ] + }, + "mutation": { + "htmlFields": [ + "description" + ] + } + } + }, "packFolders": [ { "name": "Hawkmoon", @@ -251,17 +343,12 @@ } } ], + "grid": { + "distance": 2, + "units": "m" + }, "primaryTokenAttribute": "sante.vigueur", "secondaryTokenAttribute": "bonneaventure.actuelle", "socket": true, - "styles": [ - "styles/hawkmoon.css" - ], - "title": "Hawkmoon - CYD System", - "url": "https://www.uberwald.me/gitea/public/fvtt-hawkmoon-cyd", - "background": "systems/fvtt-hawkmoon-cyd/assets/ui/fond_hawkmoon.webp", - "compatibility": { - "minimum": "13", - "verified": "13" - } + "background": "systems/fvtt-hawkmoon-cyd/assets/ui/fond_hawkmoon.webp" } \ No newline at end of file diff --git a/templates/actor-sheet.hbs b/templates/actor-sheet.hbs new file mode 100644 index 0000000..b5e680c --- /dev/null +++ b/templates/actor-sheet.hbs @@ -0,0 +1,632 @@ +

+ + {{!-- Sheet Header --}} +
+
+
+ +
+

+
+ +
    + +
  • +

    Bonne Aventure

    + + + + +
  • + +
  • +

    Expérience

    + + +

    Eclat

    + +
  • + +
  • +

    Vigueur

    + +

    Etat

    + + +
  • + +
+
+
+
+
+ + {{!-- Sheet Tab Navigation --}} + +
+ + {{!-- Sheet Body --}} +
+ + {{!-- Main Tab --}} +
+ +
+ +
+ +
+
    + {{#each system.attributs as |attr key|}} +
  • + + {{attr.label}} + +
  • + {{/each}} + +
  • + + Vitesse + +
  • + +
+
+ +
+ +

Adversités

+
    + {{#each system.adversite as |adv key|}} +
  • + - +
    + +
    {{adv}}
    +
    + + +
     
    +
     
    +
     
    +
  • + {{/each}} +
+ {{#if isGM}} +
+ Modificateur de Vigueur + +
+ {{/if}} +
+
+ +
+
    +
  • + +

    +
    + + + +
     
    +
    + +
    +
  • + {{#each talents as |talent key|}} +
  • + + {{talent.name}} + {{talent.system.resumebonus}} + +
     
    +
    + + +
    +
  • + {{/each}} +
+
+ + {{#if (count mutations)}} +
+
    +
  • + +

    +
    + + + +
     
    +
    + +
    +
  • + {{#each mutations as |mutation key|}} +
  • + + {{mutation.name}} + {{mutation.system.mutationcategorie}} + +
     
    +
    + + +
    +
  • + {{/each}} +
+
+ {{/if}} + +
+
+
    +
  • + +

    +
    + + + +
     
    +
    + {{#if celluleId}} + + {{/if}} +
    +
  • + {{#each talentsCell as |talent key|}} +
  • + + {{talent.name}} + {{talent.system.resumebonus}} +
     
    +
    + +
    +
  • + {{/each}} +
+
+ +
+
+ +
+ + {{!-- Competence Tab --}} +
+ +
+ +
+
    +
  • + +

    +
    + + + +
     
    +
  • + {{#each skills as |skill key|}} +
  • + + +
    + + {{skill.name}} + + + {{#each skill.system.predilections as |pred key|}} + {{#if (and pred.acquise (not pred.used))}} + {{pred.name}}, + {{/if}} + {{/each}} + +
    + + + + {{#if (ne skill.system.attribut1 "none")}} + + {{/if}} + {{#if (ne skill.system.attribut2 "none")}} + + {{/if}} + {{#if (ne skill.system.attribut3 "none")}} + + {{/if}} + +
     
    +
    + + +
    +
  • + {{/each}} +
+
+ +
+ +
+ + {{!-- Equipement Tab --}} +
+ +
    +
  • + + + + + + + +
  • +
  • + + + + + +
  • +
+ +
+ +
+
    +
  • + +

    +
    + + + + + + + + + +
     
    +
    + +
    +
  • + {{#each armes as |arme key|}} +
  • + + {{arme.name}} + + + + + + {{#if arme.system.isdefense}} + + {{else}} + + {{/if}} + + + + + +
     
    + +
  • + {{/each}} +
+
+ +
+ +
+
+
+ + + {{!-- Equipement Tab --}} +
+ +
+ +
+

+ +

+
+ +
+
    +
  • + +

    +
    + + + + +
     
    +
    + +
    +
  • + {{#each monnaies as |monnaie key|}} +
  • + + {{monnaie.name}} + {{monnaie.system.quantite}} + - + + + +
     
    +
    + + +
    +
  • + {{/each}} +
+
+ +
+
+

+ +

+
+ +
+
    +
  • + +

    +
    + + + + + +
     
    +
    + +
    +
  • + {{#each equipements as |equipement key|}} +
  • + + {{equipement.name}} + {{equipement.system.quantite}} + - + + + +
     
    +
    + + +
    +
  • + {{/each}} +
+
+ +
+
    +
  • + +

    +
    + + + + + +
     
    +
    + +
    +
  • + {{#each artefacts as |artefact key|}} +
  • + + {{artefact.name}} + {{artefact.system.quantite}} + - + + + +
     
    +
    + + +
    +
  • + {{/each}} +
+
+ +
+ +
+ + + {{!-- Biography Tab --}} +
+ +
+
    + {{#each historiques as |historique key|}} +
  • + + + +
    + + +
    +
  • + {{/each}} + {{#each profils as |profil key|}} +
  • + + + +
    + + +
    +
  • + {{/each}} +
+
+ + +
+
+
    +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
+
+
+
    +
  • + + +
  • +
  • + + +
  • +
+
+ +
+
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
    +
    + + +

    Description

    +
    + {{log this}} + {{formInput systemFields.biodata.fields.description enriched=enrichedDescription value=system.biodata.description name="system.biodata.description" toggled=true}} + +
    + +
    +
    \ No newline at end of file diff --git a/templates/actor-sheet.html b/templates/actor-sheet.html index 7c26922..7884b32 100644 --- a/templates/actor-sheet.html +++ b/templates/actor-sheet.html @@ -628,9 +628,6 @@

    Description

    -
    - {{editor description target="system.biodata.description" button=true owner=owner editable=editable}} -
    diff --git a/templates/cellule-sheet.hbs b/templates/cellule-sheet.hbs new file mode 100644 index 0000000..d7e1e5b --- /dev/null +++ b/templates/cellule-sheet.hbs @@ -0,0 +1,386 @@ +
    + + {{!-- Sheet Header --}} +
    +
    +
    + +
    +

    +
    + +
      + +
    • +

      Notoriété

      + + +

      Résistance

      + +
    • + +
    • +

      Développement

      + + +
    • + +
    +
    + +
    +
    +
    + + {{!-- Sheet Tab Navigation --}} + + + {{!-- Sheet Body --}} +
    + + {{!-- Talents Tab --}} +
    + +
    +
      +
    • + +

      +
      +
       
      +
    • + {{#each members as |membre key|}} +
    • + + {{membre.name}} + +
       
      +
      + + +
      +
    • + {{/each}} +
    +
    + +
    +
      +
    • + +

      +
      + + + +
       
      +
      + +
      +
    • + {{#each talents as |talent key|}} +
    • + + {{talent.name}} + {{talent.system.resumebonus}} + +
       
      +
      + + +
      +
    • + {{/each}} +
    +
    + +
    + + {{!-- Contacts Tab --}} +
    + +
    + +
    +
      +
    • + +

      +
      + + + + + + +
       
      +
    • + {{#each contacts as |contact key|}} +
    • + + {{contact.name}} + {{upperFirst contact.system.contacttype}} + {{contact.system.niveau}} + +
       
      +
      + + +
      +
    • + {{/each}} +
    +
    + +
    + +
    + + {{!-- Ressources Tab --}} +
    + +
    + +
    +
      +
    • + +

      +
      +
       
      +
    • + {{#each ressources as |ressource key|}} +
    • + + {{ressource.name}} + +
       
      +
      + + +
      +
    • + {{/each}} +
    +
    + +
    + +
    + + {{!-- Equipement Tab --}} +
    + +
    + +
    +
    +

    + +

    +
    + +
    +
      +
    • + +

      +
      + + + + +
       
      +
      + +
      +
    • + {{#each monnaies as |monnaie key|}} +
    • + + {{monnaie.name}} + {{monnaie.system.quantite}} + - + + + +
       
      +
      + + +
      +
    • + {{/each}} +
    +
    + +
    +
    +

    + +

    +
    + +
    +
      +
    • + +

      +
      + + + + + +
       
      +
      + +
      +
    • + {{#each equipements as |equipement key|}} +
    • + + {{equipement.name}} + {{equipement.system.quantite}} + - + + + +
       
      +
      + + +
      +
    • + {{/each}} +
    +
    + +
    + +
    +
      +
    • + +

      +
      +
       
      +
      + +
      +
    • + {{#each armes as |arme key|}} +
    • + + {{arme.name}} + +
       
      +
      + + +
      +
    • + {{/each}} +
    +
    + +
    +
      +
    • + +

      +
      + + + +
       
      +
      + +
      +
    • + {{#each protections as |protection key|}} +
    • + + {{protection.name}} + + +
       
      +
      + + +
      +
    • + {{/each}} +
    +
    +
    + +
    +
      +
    • + +

      +
      + + + + + +
       
      +
      + +
      +
    • + {{#each artefacts as |artefact key|}} +
    • + + {{artefact.name}} + {{artefact.system.quantite}} + - + + + +
       
      +
      + + +
      +
    • + {{/each}} +
    +
    + +
    + +
    + + {{!-- Biography Tab --}} +
    + +

    Description

    +
    + {{formInput systemFields.description enriched=enrichedDescription value=system.description name="system.description" toggled=true}} + +
    + +
    +
    \ No newline at end of file diff --git a/templates/chat-degats-result.html b/templates/chat-degats-result.html index c9d146f..1037172 100644 --- a/templates/chat-degats-result.html +++ b/templates/chat-degats-result.html @@ -1,29 +1,57 @@ -
    - {{#if actorImg}} - {{alias}} - {{/if}} -

    {{alias}}

    -
    - -
    - -{{#if actionImg}} -
    - {{name}} -
    -{{/if}} - -
    -
    - -
    - +
    +

    {{alias}}

    +
    + + Dégâts{{#if arme}} - {{arme.name}}{{/if}} +
    +
    +
    + + {{!-- Résultat principal --}} +
    +
    +
    + + Dégâts + {{finalResult}} +
    + {{#if targetVigueur}} +
    + + Vigueur + {{targetVigueur}} +
    + {{/if}} +
    +
    + + {{!-- Détails du jet --}} +
    +
    + {{#if arme}} +
    + Arme: + {{arme.name}} (+{{arme.system.totalDegats}}) +
    + {{/if}} + +
    + Formule: + {{formula}} +
    + + {{#if targetVigueur}} +
    + États perdus: + {{nbEtatPerdus}} +
    + {{/if}} +
    +
    diff --git a/templates/chat-generic-result-v2.html b/templates/chat-generic-result-v2.html new file mode 100644 index 0000000..2246004 --- /dev/null +++ b/templates/chat-generic-result-v2.html @@ -0,0 +1,254 @@ +
    + {{!-- Header avec acteur --}} +
    + {{#if actorImg}} + {{alias}} + {{/if}} +
    +

    {{alias}}

    + {{#if competence}} +
    + + {{competence.name}} + {{#if arme}}• {{arme.name}}{{/if}} +
    + {{else if actionImg}} +
    + + {{attr.label}}{{#if attr2}} + {{attr2.label}}{{/if}} +
    + {{/if}} +
    +
    + + {{!-- Résultat principal --}} +
    +
    +
    + + {{diceResult}} +
    +
    + Total + {{finalResult}} +
    + {{#if difficulte}} +
    + SD + {{difficulte}} +
    + {{/if}} +
    + + {{!-- Badge de résultat --}} + {{#if difficulte}} +
    + {{#if isHeroique}} +
    + HÉROÏQUE ! +
    + {{else if isDramatique}} +
    + DRAMATIQUE ! +
    + {{else if isSuccess}} +
    + Succès +
    + {{else}} +
    + Échec +
    + {{/if}} +
    + {{/if}} +
    + + {{!-- Détails du jet --}} +
    +
    +
    + Formule: + {{diceFormula}} +
    + +
    + {{attr.label}}: + {{attr.value}} +
    + + {{#if attr2}} +
    + {{attr2.label}}: + {{attr2.value}} +
    + {{/if}} + + {{#if competence}} +
    + {{competence.name}}: + {{competence.system.niveau}} +
    + {{/if}} + + {{#if selectedMaitrise}} +
    + Maîtrise: + {{selectedMaitrise.name}} +
    + {{/if}} + + {{#if arme}} +
    + Arme: + {{arme.name}} (+{{arme.system.bonusmaniementoff}}) +
    + {{/if}} + + {{#if bonusRoll}} +
    + {{textBonus}}: + +{{bonusRoll.total}} +
    + {{/if}} +
    +
    + + {{!-- Effets et conséquences --}} + {{#if isSuccess}} +
    + {{#if attaqueDesarme}} +
    + + {{#if isHeroique}} + Vous récupérez l'arme de votre adversaire dans votre main ! + {{else}} + Vous désarmez votre adversaire ! Son arme tombe hors de sa portée. + {{/if}} +
    + {{/if}} + + {{#if immobiliser}} +
    + + {{#if isHeroique}} + Votre cible est immobilisée, et vous pouvez faire une action complexe. + {{else}} + Votre cible est immobilisée. + {{/if}} +
    + {{/if}} + + {{#if desengager}} +
    + + Vous vous désengagez de votre adversaire. +
    + {{/if}} + + {{#if repousser}} +
    + + {{#if isHeroique}} + Votre cible est repoussée de 3 mètres et tombe au sol. + {{else}} + Votre cible tombe au sol. + {{/if}} +
    + {{/if}} + + {{#if assomer}} +
    + + {{#if isHeroique}} + Votre cible est assomée pour [[/r 1d10+10]] minutes. + {{else}} + Votre cible est assomée pour [[/r 1d10]] minutes. + {{/if}} +
    + {{/if}} + + {{#if coupBas}} +
    + + La cible a reçu 2 adversités bleues et a perdu 1 niveau de combativité. + {{#if isHeroique}} +
    Et votre cible perd sa prochaine action complexe. + {{/if}} +
    + {{/if}} + + {{#if arme}} + {{#if contenir}} +
    + + {{#if isHeroique}} + Aucun dégât, mais tous les adversaires dont le SD + 10 est atteint ne peuvent déclarer d'attaque contre vous lors de leur prochaine action complexe. + {{else}} + Aucun dégât, mais la cible ne peut pas déclarer d'attaque contre vous lors de sa prochaine action complexe. + {{/if}} +
    + {{else}} + {{#if (eq nbCombativitePerdu "vaincu")}} +
    + + Votre adversaire est vaincu ! +
    + {{else}} +
    + + Votre adversaire a perdu {{nbCombativitePerdu}} État de Combativité. +
    + {{/if}} + + {{#if (not arme.system.onlevelonly)}} +
    + + {{#if coupDevastateur}} + + {{/if}} +
    + {{/if}} + {{/if}} + {{/if}} +
    + {{/if}} + + {{!-- Avertissements --}} + {{#if attaqueCharge}} +
    + + Vous avez chargé : vos adversaires bénéficient de +3 pour vous attaquer. +
    + {{/if}} + + {{#if desengager}} + {{#if (not isSuccess)}} +
    + + Vous ne parvenez pas à vous désengager, votre adversaire a un bonus de +3 pour vous attaquer. +
    + {{/if}} + {{/if}} + + {{#if isInit}} +
    + Initiative stockée ! +
    + {{/if}} + + {{!-- Prédilections --}} + {{#each predilections as |pred key|}} + {{#if (and (and pred.acquise (not pred.maitrise)) (not pred.used))}} +
    + +
    + {{/if}} + {{/each}} +
    diff --git a/templates/chat-generic-result.html b/templates/chat-generic-result.html index 5d4ae3c..2246004 100644 --- a/templates/chat-generic-result.html +++ b/templates/chat-generic-result.html @@ -1,138 +1,254 @@ -
    - {{#if actorImg}} - {{alias}} - {{/if}} -

    {{alias}}

    -
    - -
    - -{{#if actionImg}} -
    - {{name}} -
    -{{/if}} - -
    - -
    - +
    + + + {{!-- Résultat principal --}} +
    +
    +
    + + {{diceResult}} +
    +
    + Total + {{finalResult}} +
    + {{#if difficulte}} +
    + SD + {{difficulte}} +
    + {{/if}} +
    + + {{!-- Badge de résultat --}} + {{#if difficulte}} +
    + {{#if isHeroique}} +
    + HÉROÏQUE ! +
    + {{else if isDramatique}} +
    + DRAMATIQUE ! +
    + {{else if isSuccess}} +
    + Succès +
    + {{else}} +
    + Échec +
    + {{/if}} +
    + {{/if}} +
    + + {{!-- Détails du jet --}} +
    +
    +
    + Formule: + {{diceFormula}} +
    + +
    + {{attr.label}}: + {{attr.value}} +
    + + {{#if attr2}} +
    + {{attr2.label}}: + {{attr2.value}} +
    + {{/if}} + + {{#if competence}} +
    + {{competence.name}}: + {{competence.system.niveau}} +
    + {{/if}} + + {{#if selectedMaitrise}} +
    + Maîtrise: + {{selectedMaitrise.name}} +
    + {{/if}} + + {{#if arme}} +
    + Arme: + {{arme.name}} (+{{arme.system.bonusmaniementoff}}) +
    + {{/if}} + + {{#if bonusRoll}} +
    + {{textBonus}}: + +{{bonusRoll.total}} +
    + {{/if}} +
    +
    + + {{!-- Effets et conséquences --}} + {{#if isSuccess}} +
    + {{#if attaqueDesarme}} +
    + + {{#if isHeroique}} + Vous récupérez l'arme de votre adversaire dans votre main ! + {{else}} + Vous désarmez votre adversaire ! Son arme tombe hors de sa portée. + {{/if}} +
    + {{/if}} + + {{#if immobiliser}} +
    + + {{#if isHeroique}} + Votre cible est immobilisée, et vous pouvez faire une action complexe. + {{else}} + Votre cible est immobilisée. + {{/if}} +
    + {{/if}} + + {{#if desengager}} +
    + + Vous vous désengagez de votre adversaire. +
    + {{/if}} + + {{#if repousser}} +
    + + {{#if isHeroique}} + Votre cible est repoussée de 3 mètres et tombe au sol. + {{else}} + Votre cible tombe au sol. + {{/if}} +
    + {{/if}} + + {{#if assomer}} +
    + + {{#if isHeroique}} + Votre cible est assomée pour [[/r 1d10+10]] minutes. + {{else}} + Votre cible est assomée pour [[/r 1d10]] minutes. + {{/if}} +
    + {{/if}} + + {{#if coupBas}} +
    + + La cible a reçu 2 adversités bleues et a perdu 1 niveau de combativité. + {{#if isHeroique}} +
    Et votre cible perd sa prochaine action complexe. + {{/if}} +
    + {{/if}} + + {{#if arme}} + {{#if contenir}} +
    + + {{#if isHeroique}} + Aucun dégât, mais tous les adversaires dont le SD + 10 est atteint ne peuvent déclarer d'attaque contre vous lors de leur prochaine action complexe. + {{else}} + Aucun dégât, mais la cible ne peut pas déclarer d'attaque contre vous lors de sa prochaine action complexe. + {{/if}} +
    + {{else}} + {{#if (eq nbCombativitePerdu "vaincu")}} +
    + + Votre adversaire est vaincu ! +
    + {{else}} +
    + + Votre adversaire a perdu {{nbCombativitePerdu}} État de Combativité. +
    + {{/if}} + + {{#if (not arme.system.onlevelonly)}} +
    + + {{#if coupDevastateur}} + + {{/if}} +
    + {{/if}} + {{/if}} + {{/if}} +
    + {{/if}} + + {{!-- Avertissements --}} + {{#if attaqueCharge}} +
    + + Vous avez chargé : vos adversaires bénéficient de +3 pour vous attaquer. +
    + {{/if}} + + {{#if desengager}} + {{#if (not isSuccess)}} +
    + + Vous ne parvenez pas à vous désengager, votre adversaire a un bonus de +3 pour vous attaquer. +
    + {{/if}} + {{/if}} + + {{#if isInit}} +
    + Initiative stockée ! +
    + {{/if}} + + {{!-- Prédilections --}} + {{#each predilections as |pred key|}} + {{#if (and (and pred.acquise (not pred.maitrise)) (not pred.used))}} +
    + +
    + {{/if}} + {{/each}} diff --git a/templates/creature-sheet.hbs b/templates/creature-sheet.hbs new file mode 100644 index 0000000..0658030 --- /dev/null +++ b/templates/creature-sheet.hbs @@ -0,0 +1,394 @@ +
    + + {{!-- Sheet Header --}} +
    +
    +
    + +
    +

    +
    + +
      + +
    • +

      Ressources

      + + +
    • +
    +
    +
    +
    +
    + + {{!-- Sheet Tab Navigation --}} + + + {{!-- Sheet Body --}} +
    + + {{!-- Main Tab --}} +
    + +
    + +
    +
      + {{#each system.attributs as |attr key|}} +
    • + + {{attr.label}} + +
    • + {{/each}} +
    • + + Vitesse + +
    • +
    +

    Santé

    +
      +
    • + + +
    • +
    • + + +
    • + +
    + +

    Combat

    +
      +
    • + +
    • +
    + +
    + +
    +

    Adversité

    +
      + {{#each system.adversite as |adv key|}} +
    • + - +
      + +
      {{adv}}
      +
      + + +
       
      +
       
      +
       
      +
    • + {{/each}} +
    +
      +
    • + + +
    • +
    +
      + +
    • + + + + + +
    • +
    • + + + +
    • +
    • + + +
    • +
    + + + +
    + +
    + +
    + + {{!-- Competence Tab --}} +
    + +
    + +
    +
      +
    • + +

      +
      + + + +
       
      +
    • + {{#each skills as |skill key|}} +
    • + + +
      + + {{skill.name}} + + + {{#each skill.system.predilections as |pred key|}} + {{#if (and pred.acquise (not pred.used))}} + {{pred.name}}, + {{/if}} + {{/each}} + +
      + + + + {{#if (ne skill.system.attribut1 "none")}} + + {{/if}} + {{#if (ne skill.system.attribut2 "none")}} + + {{/if}} + {{#if (ne skill.system.attribut3 "none")}} + + {{/if}} + +
       
      +
      + + +
      +
    • + {{/each}} +
    +
    + +
    + +
    + + {{!-- Talents Tab --}} +
    + +
    + +
    +
      +
    • + +

      +
      + + + +
       
      +
      + +
      +
    • + {{#each talents as |talent key|}} +
    • + + {{talent.name}} + {{talent.system.resumebonus}} + +
       
      +
      + + +
      +
    • + {{/each}} +
    +
    +
    + +
    +
    +
      +
    • + +

      +
      + + + +
       
      +
      + +
      +
    • + {{#each talentsCell as |talent key|}} +
    • + + {{talent.name}} + {{talent.system.resumebonus}} +
       
      +
      + +
      +
    • + {{/each}} +
    +
    + +
    + +
    + + {{!-- Equipement Tab --}} +
    + +
    + +
    +
      +
    • + +

      +
      + + + + + + + + + +
       
      +
      + +
      +
    • + {{#each armes as |arme key|}} +
    • + + {{arme.name}} + + + + + + {{#if arme.system.isdefense}} + + {{else}} + + {{/if}} + + + + + +
       
      + +
    • + {{/each}} +
    +
    + +
    + +
    + +
    + +
    + + + {{!-- Biography Tab --}} +
    + + +

    Description

    +
    + {{formInput systemFields.biodata.fields.description enriched=enrichedDescription value=system.biodata.description name="system.biodata.description" toggled=true}} + + +

    Habitat

    +
    + {{formInput systemFields.biodata.fields.habitat enriched=enrichedHabitat value=system.biodata.habitat name="system.biodata.habitat" toggled=true}} + +
    + +
    +
    \ No newline at end of file diff --git a/templates/item-arme-sheet.hbs b/templates/item-arme-sheet.hbs index d56bc35..1df2247 100644 --- a/templates/item-arme-sheet.hbs +++ b/templates/item-arme-sheet.hbs @@ -1,9 +1,10 @@ -
    - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-header.hbs}} {{> - systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.hbs}} {{!-- Sheet Body - --}} -
    - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-description.hbs}} +
    + + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-header.hbs this}} + + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.hbs this}} + + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-description.hbs this}}
      diff --git a/templates/item-artefact-sheet.hbs b/templates/item-artefact-sheet.hbs index c7e655d..74a2f27 100644 --- a/templates/item-artefact-sheet.hbs +++ b/templates/item-artefact-sheet.hbs @@ -1,12 +1,10 @@ - - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-header.hbs}} +
      - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.hbs}} + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-header.hbs this}} - {{!-- Sheet Body --}} -
      + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.hbs this}} - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-description.hbs}} + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-description.hbs this}}
      diff --git a/templates/item-competence-sheet.hbs b/templates/item-competence-sheet.hbs index 7ecaf2c..54367b0 100644 --- a/templates/item-competence-sheet.hbs +++ b/templates/item-competence-sheet.hbs @@ -1,12 +1,10 @@ - - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-header.hbs}} +
      - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.hbs}} + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-header.hbs this}} - {{!-- Sheet Body --}} -
      + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.hbs this}} - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-description.hbs}} + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-description.hbs this}}
      @@ -54,7 +52,7 @@ -
    • +
    • @@ -63,14 +61,14 @@ -

    • {{/each}}
  • - +
  • diff --git a/templates/item-contact-sheet.hbs b/templates/item-contact-sheet.hbs index 2bba4d3..c2830dd 100644 --- a/templates/item-contact-sheet.hbs +++ b/templates/item-contact-sheet.hbs @@ -1,31 +1,30 @@ - - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-header.hbs}} +
    - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.hbs}} + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-header.hbs this}} - {{!-- Sheet Body --}} -
    + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.hbs this}} - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-description.hbs}} + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-description.hbs this}}
    • - - + +
    • - +
    • +
    • - +
    • diff --git a/templates/item-equipement-sheet.hbs b/templates/item-equipement-sheet.hbs index a1c7fc0..2d56148 100644 --- a/templates/item-equipement-sheet.hbs +++ b/templates/item-equipement-sheet.hbs @@ -1,15 +1,13 @@ - - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-header.hbs}} +
      - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.hbs}} + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-header.hbs this}} - {{!-- Sheet Body --}} -
      + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.hbs this}} - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-description.hbs}} + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-description.hbs this}}
      - +
        {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-prix.hbs}} diff --git a/templates/item-historique-sheet.hbs b/templates/item-historique-sheet.hbs index 6a72cbc..a429a9b 100644 --- a/templates/item-historique-sheet.hbs +++ b/templates/item-historique-sheet.hbs @@ -1,12 +1,10 @@ - - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-header.hbs}} +
        - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.hbs}} + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-header.hbs this}} - {{!-- Sheet Body --}} -
        + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.hbs this}} - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-description.hbs}} + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-description.hbs this}}
          diff --git a/templates/item-monnaie-sheet.hbs b/templates/item-monnaie-sheet.hbs index 66d5093..05ea959 100644 --- a/templates/item-monnaie-sheet.hbs +++ b/templates/item-monnaie-sheet.hbs @@ -1,16 +1,14 @@ - - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-header.hbs}} +
          - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.hbs}} + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-header.hbs this}} + + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.hbs this}} + + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-description.hbs this}} - {{!-- Sheet Body --}} -
          - - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-description.hbs}} -
          - +
          • @@ -25,10 +23,9 @@ data-dtype="Number" />
          • - +
          - +
          - diff --git a/templates/item-mutation-sheet.hbs b/templates/item-mutation-sheet.hbs index 6fee68f..21fa4b2 100644 --- a/templates/item-mutation-sheet.hbs +++ b/templates/item-mutation-sheet.hbs @@ -1,12 +1,10 @@ -
          - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-header.hbs}} +
          - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.hbs}} + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-header.hbs this}} - {{!-- Sheet Body --}} -
          + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.hbs this}} - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-description.hbs}} + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-description.hbs this}}
          diff --git a/templates/item-profil-sheet.hbs b/templates/item-profil-sheet.hbs index a28d93e..2a4ca3c 100644 --- a/templates/item-profil-sheet.hbs +++ b/templates/item-profil-sheet.hbs @@ -1,12 +1,10 @@ - - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-header.hbs}} +
          - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.hbs}} + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-header.hbs this}} - {{!-- Sheet Body --}} -
          + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.hbs this}} - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-description.hbs}} + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-description.hbs this}}
            diff --git a/templates/item-protection-sheet.hbs b/templates/item-protection-sheet.hbs index 95d3944..fcf7f23 100644 --- a/templates/item-protection-sheet.hbs +++ b/templates/item-protection-sheet.hbs @@ -1,12 +1,10 @@ - - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-header.hbs}} +
            - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.hbs}} + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-header.hbs this}} - {{!-- Sheet Body --}} -
            + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.hbs this}} - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-description.hbs}} + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-description.hbs this}}
            diff --git a/templates/item-ressource-sheet.hbs b/templates/item-ressource-sheet.hbs index 3d367a3..73bfba3 100644 --- a/templates/item-ressource-sheet.hbs +++ b/templates/item-ressource-sheet.hbs @@ -1,12 +1,10 @@ - - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-header.hbs}} +
            - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.hbs}} + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-header.hbs this}} - {{!-- Sheet Body --}} -
            + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.hbs this}} - {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-description.hbs}} + {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-description.hbs this}}
            diff --git a/templates/item-talent-sheet.hbs b/templates/item-talent-sheet.hbs index 3a967f6..698c823 100644 --- a/templates/item-talent-sheet.hbs +++ b/templates/item-talent-sheet.hbs @@ -47,7 +47,7 @@ - {{> systems/fvtt-hawkmoon-cyd/templates/partial-automation.hbs}} + {{> systems/fvtt-hawkmoon-cyd/templates/partial-automation.hbs this}}
          diff --git a/templates/partial-automation.hbs b/templates/partial-automation.hbs index ef284d6..cf4b8e0 100644 --- a/templates/partial-automation.hbs +++ b/templates/partial-automation.hbs @@ -93,10 +93,12 @@ {{/each}}
        + {{#if isEditMode}}
      • {{/if}} + {{/if}} \ No newline at end of file diff --git a/templates/partial-item-description.hbs b/templates/partial-item-description.hbs index a81fc69..f05e4ea 100644 --- a/templates/partial-item-description.hbs +++ b/templates/partial-item-description.hbs @@ -1,10 +1,5 @@
        -
        - {{editor - enrichedDescription - target="system.description" - button=true - editable=isEditMode - }} -
        + + {{formInput systemFields.description enriched=enrichedDescription value=system.description name="system.description" toggled=true}} +
        \ No newline at end of file diff --git a/templates/partial-item-header.hbs b/templates/partial-item-header.hbs index 6303a9c..85cd530 100644 --- a/templates/partial-item-header.hbs +++ b/templates/partial-item-header.hbs @@ -17,33 +17,13 @@
        - {{#if isEditMode}} - - {{else}} - - {{/if}}
        diff --git a/templates/post-item.hbs b/templates/post-item.hbs index 8ce0f51..40509f0 100644 --- a/templates/post-item.hbs +++ b/templates/post-item.hbs @@ -1,8 +1,27 @@ -
        -

        {{name}}

        - {{#if img}} - +
        + {{!-- Header avec l'item --}} +
        + {{#if img}} + {{name}} + {{/if}} +
        +

        {{name}}

        +
        + + {{#if system.type}}{{system.type}}{{else}}Item{{/if}} +
        +
        +
        + + {{!-- Contenu --}} + {{#if system.description}} +
        +
        +
        Description
        +
        + {{{system.description}}} +
        +
        +
        {{/if}} -

        Description :

        -

        {{{system.description}}}

        diff --git a/templates/roll-dialog-generic.hbs b/templates/roll-dialog-generic.hbs new file mode 100644 index 0000000..dc56520 --- /dev/null +++ b/templates/roll-dialog-generic.hbs @@ -0,0 +1,262 @@ +{{!-- Header --}} +
        + {{name}} +
        +

        {{name}}

        + {{#if competence}} +
        + {{competence.name}} + {{#if arme}} + - {{arme.name}} + {{/if}} + {{#if (and attr (ne attrKey "tochoose"))}} + ({{attr.label}}: {{attr.value}}) + {{/if}} +
        + {{else}} + {{#if (and attr (ne attrKey "tochoose"))}} +
        + {{attr.label}}: {{attr.value}} +
        + {{/if}} + {{/if}} +
        +
        + + {{!-- Main Content --}} +
        + + {{!-- Attributs Section --}} + {{#if selectableAttributes}} +
        + + +
        + + {{#if hasAttr2}} +
        + + +
        + {{/if}} + {{/if}} + + {{!-- Adversité et Modificateurs --}} +
        +
        + + +
        + + {{#unless isTir}} +
        + + +
        + {{/unless}} + +
        + + +
        + +
        + + +
        +
        + + {{!-- Compétence et Maîtrise --}} + {{#if competence}} +
        +
        + {{competence.name}} + Niveau {{competence.system.niveau}} +
        + + {{#if competence.system.maitrise}} +
        + + +
        + {{/if}} + + {{#if competence.system.talents}} +
        + + + Maintenez Ctrl/Cmd pour sélection multiple +
        + {{/if}} +
        + {{/if}} + + {{!-- Combat Modifiers --}} + {{#if isCombat}} +
        +

        Modificateurs de Combat

        + + {{#unless isTir}} +
        +
        + {{#if bonusArmeNaturelle}} +
        + + {{bonusArmeNaturelle}} +
        + {{/if}} + + + + + {{#if hasAmbidextre}} + + + {{/if}} + + {{#if hasFeinte}} + + {{/if}} + + + +
        + +
        + + + + + + + {{#if isMonte}} + + {{/if}} +
        +
        + {{/unless}} + + {{#if isTir}} +
        +
        + + +
        + +
        + + +
        + +
        + + +
        + +
        + + +
        + +
        + + +
        +
        + {{/if}} +
        + {{/if}} +