Ajout des mutations

This commit is contained in:
LeRatierBretonnien 2024-02-24 15:54:47 +01:00
parent 9e023d3f01
commit 2ebd1bd1fd
25 changed files with 1599 additions and 1307 deletions

BIN
assets/icons/mutation.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

View File

@ -16,8 +16,8 @@
"monnaie": "Monnaie", "monnaie": "Monnaie",
"equipement": "Equipement", "equipement": "Equipement",
"ressource": "Ressource", "ressource": "Ressource",
"contact": "Contact" "contact": "Contact",
"mutation": "Mutation"
} }
}, },
"HAWKMOON": { "HAWKMOON": {

View File

@ -44,6 +44,7 @@ export class HawkmoonActorSheet extends ActorSheet {
protections: duplicate(this.actor.getArmors()), protections: duplicate(this.actor.getArmors()),
historiques: duplicate(this.actor.getHistoriques() || []), historiques: duplicate(this.actor.getHistoriques() || []),
talents: duplicate(this.actor.getTalents() || []), talents: duplicate(this.actor.getTalents() || []),
mutations: duplicate(this.actor.getMutations() || []),
talentsCell: this.getCelluleTalents(), talentsCell: this.getCelluleTalents(),
profils: duplicate(this.actor.getProfils() || []), profils: duplicate(this.actor.getProfils() || []),
combat: this.actor.getCombatValues(), combat: this.actor.getCombatValues(),

View File

@ -138,6 +138,9 @@ export class HawkmoonActor extends Actor {
getContacts() { getContacts() {
return this.getItemSorted(["contact"]) return this.getItemSorted(["contact"])
} }
getMutations() {
return this.getItemSorted(["mutation"])
}
/* -------------------------------------------- */ /* -------------------------------------------- */
getSkills() { getSkills() {

View File

@ -6,7 +6,7 @@ export class HawkmoonCombat extends Combat {
/* -------------------------------------------- */ /* -------------------------------------------- */
async rollInitiative(ids, formula = undefined, messageOptions = {} ) { async rollInitiative(ids, formula = undefined, messageOptions = {} ) {
ids = typeof ids === "string" ? [ids] : ids; ids = typeof ids === "string" ? [ids] : ids;
for (let cId = 0; cId < ids.length; cId++) { for (let cId of ids) {
const c = this.combatants.get(ids[cId]); const c = this.combatants.get(ids[cId]);
//console.log("Init for combattant", c ) //console.log("Init for combattant", c )
let id = c._id || c.id let id = c._id || c.id
@ -21,5 +21,4 @@ export class HawkmoonCombat extends Combat {
_onUpdate(changed, options, userId) { _onUpdate(changed, options, userId) {
} }
} }

View File

@ -13,6 +13,7 @@ export const defaultItemImg = {
artefact: "systems/fvtt-hawkmoon-cyd/assets/icons/artefact.webp", artefact: "systems/fvtt-hawkmoon-cyd/assets/icons/artefact.webp",
contact: "systems/fvtt-hawkmoon-cyd/assets/icons/contacts.webp", contact: "systems/fvtt-hawkmoon-cyd/assets/icons/contacts.webp",
ressource: "systems/fvtt-hawkmoon-cyd/assets/icons/ressources.webp", ressource: "systems/fvtt-hawkmoon-cyd/assets/icons/ressources.webp",
mutation: "systems/fvtt-hawkmoon-cyd/assets/icons/mutation.webp",
} }
/** /**

View File

@ -18,7 +18,6 @@ import { HawkmoonCombat } from "./hawkmoon-combat.js";
import { HawkmoonItem } from "./hawkmoon-item.js"; import { HawkmoonItem } from "./hawkmoon-item.js";
import { HawkmoonAutomation } from "./hawkmoon-automation.js"; import { HawkmoonAutomation } from "./hawkmoon-automation.js";
import { HawkmoonTokenHud } from "./hawkmoon-hud.js"; import { HawkmoonTokenHud } from "./hawkmoon-hud.js";
import { ClassCounter} from "https://www.uberwald.me/fvtt_appcount/count-class-ready.js"
/* -------------------------------------------- */ /* -------------------------------------------- */
/* Foundry VTT Initialization */ /* Foundry VTT Initialization */
@ -99,7 +98,13 @@ Hooks.once("ready", function () {
}); });
} }
ClassCounter.registerUsageCount(); import("https://www.uberwald.me/fvtt_appcount/count-class-ready.js").then(moduleCounter=>{
console.log("ClassCounter loaded", moduleCounter)
moduleCounter.ClassCounter.registerUsageCount()
}).catch(err=>
console.log("No stats available, giving up.")
)
welcomeMessage() welcomeMessage()
}); });

View File

@ -40,6 +40,22 @@
--debug-box-shadow-blue: inset 0 0 2px blue; --debug-box-shadow-blue: inset 0 0 2px blue;
--debug-box-shadow-green: inset 0 0 2px green; --debug-box-shadow-green: inset 0 0 2px green;
} }
* {
scrollbar-color: initial;
}
::-webkit-scrollbar-thumb {
border-color: #ff6400;
}
@-moz-document url-prefix() {
* {
scrollbar-color: #782e22 transparent;
scrollbar-width: thin;
}
}
/*@import url("https://fonts.googleapis.com/css2?family=Martel:wght@400;800&family=Roboto:wght@300;400;500&display=swap");*/ /*@import url("https://fonts.googleapis.com/css2?family=Martel:wght@400;800&family=Roboto:wght@300;400;500&display=swap");*/
/* Global styles & Font */ /* Global styles & Font */
.window-app { .window-app {
@ -50,30 +66,51 @@
background-image: url("../assets/ui/pc_sheet_bg.webp"); background-image: url("../assets/ui/pc_sheet_bg.webp");
background-repeat: repeat; background-repeat: repeat;
} }
/* Fonts */ /* Fonts */
.window-app .window-header, #actors .directory-list, #navigation #scene-list .scene.nav-item { .window-app .window-header,
#actors .directory-list,
#navigation #scene-list .scene.nav-item {
font-family: "Charlemagne"; font-family: "Charlemagne";
font-size: 0.8rem; font-size: 0.8rem;
} /* For title, sidebar character and scene */ }
/* For title, sidebar character and scene */
.sheet header.sheet-header h1 input { .sheet header.sheet-header h1 input {
font-family: "Charlemagne"; font-family: "Charlemagne";
font-size: 0.8rem; font-size: 0.8rem;
color: lightgray; color: lightgray;
} }
.sheet nav.sheet-tabs { .sheet nav.sheet-tabs {
font-family: "Charlemagne"; font-family: "Charlemagne";
font-size: 0.8rem; font-size: 0.8rem;
color: #151c1f; color: #151c1f;
} /* For nav and title */ }
.window-app input, .fvtt-hawkmoon-cyd .item-form, .sheet header.sheet-header .flex-group-center.flex-compteurs, .sheet header.sheet-header .flex-group-center.flex-fatigue, select, button, .item-checkbox, #sidebar, #players, #navigation #nav-toggle {
/* For nav and title */
.window-app input,
.fvtt-hawkmoon-cyd .item-form,
.sheet header.sheet-header .flex-group-center.flex-compteurs,
.sheet header.sheet-header .flex-group-center.flex-fatigue,
select,
button,
.item-checkbox,
#sidebar,
#players,
#navigation #nav-toggle {
font-size: 0.8rem; font-size: 0.8rem;
} }
.fvtt-hawkmoon-cyd .sheet-header select option { .fvtt-hawkmoon-cyd .sheet-header select option {
background-color: rgb(68, 25, 25); background-color: rgb(68, 25, 25);
} }
.fvtt-hawkmoon-cyd .sheet-header input, .fvtt-hawkmoon-cyd .sheet-header select {
.fvtt-hawkmoon-cyd .sheet-header input,
.fvtt-hawkmoon-cyd .sheet-header select {
color: lightgray; color: lightgray;
} }
.window-header { .window-header {
background: rgba(0, 0, 0, 0.75); background: rgba(0, 0, 0, 0.75);
} }
@ -84,28 +121,38 @@
background-image: url("../assets/ui/pc_sheet_bg.webp"); background-image: url("../assets/ui/pc_sheet_bg.webp");
background-repeat: repeat; background-repeat: repeat;
} }
.strong-text { .strong-text {
font-weight: bold; font-weight: bold;
} }
.tabs .item.active, .blessures-list li ul li:first-child:hover, a:hover { .tabs .item.active,
.blessures-list li ul li:first-child:hover,
a:hover {
text-shadow: 1px 0px 0px #ff6600; text-shadow: 1px 0px 0px #ff6600;
} }
.rollable:hover, .rollable:focus { .rollable:hover,
.rollable:focus {
color: #000; color: #000;
text-shadow: 0 0 10px red; text-shadow: 0 0 10px red;
cursor: pointer; cursor: pointer;
} }
input:disabled { input:disabled {
color: #1c2058; color: #1c2058;
} }
select:disabled { select:disabled {
color: #1c2058; color: #1c2058;
} }
table {border: 1px solid #7a7971;}
.grid, .grid-2col { table {
border: 1px solid #7a7971;
}
.grid,
.grid-2col {
display: grid; display: grid;
grid-column: span 2 / span 2; grid-column: span 2 / span 2;
grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-columns: repeat(2, minmax(0, 1fr));
@ -263,6 +310,7 @@ table {border: 1px solid #7a7971;}
border-width: 0; border-width: 0;
border: 1px solid rgba(0, 0, 0, 0); border: 1px solid rgba(0, 0, 0, 0);
} }
.button-img:hover { .button-img:hover {
color: rgba(255, 255, 128, 0.7); color: rgba(255, 255, 128, 0.7);
border: 1px solid rgba(255, 128, 0, 0.8); border: 1px solid rgba(255, 128, 0, 0.8);
@ -325,7 +373,8 @@ table {border: 1px solid #7a7971;}
color: rgba(0, 0, 0, 0.9) color: rgba(0, 0, 0, 0.9)
} }
.fvtt-hawkmoon-cyd .sheet-body input, .fvtt-hawkmoon-cyd .sheet-body select { .fvtt-hawkmoon-cyd .sheet-body input,
.fvtt-hawkmoon-cyd .sheet-body select {
color: rgba(0, 0, 0, 0.9) color: rgba(0, 0, 0, 0.9)
} }
@ -426,7 +475,11 @@ table {border: 1px solid #7a7971;}
background-repeat: repeat; background-repeat: repeat;
} }
.window-app.sheet .window-content .sheet-header input[type="text"], .window-app.sheet .window-content .sheet-header input[type="number"], .window-app.sheet .window-content .sheet-header input[type="password"], .window-app.sheet .window-content .sheet-header input[type="date"], .window-app.sheet .window-content .sheet-header input[type="time"] { .window-app.sheet .window-content .sheet-header input[type="text"],
.window-app.sheet .window-content .sheet-header input[type="number"],
.window-app.sheet .window-content .sheet-header input[type="password"],
.window-app.sheet .window-content .sheet-header input[type="date"],
.window-app.sheet .window-content .sheet-header input[type="time"] {
/*color: rgba(36, 37, 37, 0.75);*/ /*color: rgba(36, 37, 37, 0.75);*/
/*background: rgba(255, 255, 255, 0.05);*/ /*background: rgba(255, 255, 255, 0.05);*/
/*border: 2px saddlebrown;*/ /*border: 2px saddlebrown;*/
@ -435,7 +488,8 @@ table {border: 1px solid #7a7971;}
margin-bottom: 0.25rem; margin-bottom: 0.25rem;
} }
.window-app .window-content, .window-app.sheet .window-content .sheet-body{ .window-app .window-content,
.window-app.sheet .window-content .sheet-body {
font-size: 0.8rem; font-size: 0.8rem;
background: url("../assets/ui/pc_sheet_bg.webp"); background: url("../assets/ui/pc_sheet_bg.webp");
background-repeat: repeat-y; background-repeat: repeat-y;
@ -496,8 +550,13 @@ section.sheet-body:after {
clear: both; clear: both;
} }
.sheet header.sheet-header .flex-compteurs {text-align: right;} .sheet header.sheet-header .flex-compteurs {
.sheet header.sheet-header .resource-content {width: 2rem;} text-align: right;
}
.sheet header.sheet-header .resource-content {
width: 2rem;
}
.select-diff { .select-diff {
display: inline-block; display: inline-block;
@ -512,7 +571,8 @@ section.sheet-body:after {
padding: 0.25rem; padding: 0.25rem;
} }
.window-app.sheet .window-content .carac-value, .window-app.sheet .window-content .competence-xp { .window-app.sheet .window-content .carac-value,
.window-app.sheet .window-content .competence-xp {
margin: 0.05rem; margin: 0.05rem;
flex-basis: 3rem; flex-basis: 3rem;
text-align: center; text-align: center;
@ -523,14 +583,21 @@ section.sheet-body:after {
/* ======================================== */ /* ======================================== */
h1, h2, h3, h4 { h1,
h2,
h3,
h4 {
font-weight: bold; font-weight: bold;
} }
ul, ol {
ul,
ol {
margin: 0; margin: 0;
padding: 0; padding: 0;
} }
ul, li {
ul,
li {
list-style-type: none; list-style-type: none;
} }
@ -538,6 +605,7 @@ ul, li {
margin: 0.010rem; margin: 0.010rem;
padding: 0.25rem; padding: 0.25rem;
} }
.header-fields li { .header-fields li {
margin: 0; margin: 0;
padding: 0; padding: 0;
@ -546,9 +614,11 @@ ul, li {
.alterne-list>.list-item:hover { .alterne-list>.list-item:hover {
background: rgba(100, 100, 50, 0.25); background: rgba(100, 100, 50, 0.25);
} }
.alterne-list>.list-item:nth-child(even) { .alterne-list>.list-item:nth-child(even) {
background: rgba(80, 60, 0, 0.10); background: rgba(80, 60, 0, 0.10);
} }
.alterne-list>.list-item:nth-child(odd) { .alterne-list>.list-item:nth-child(odd) {
background: rgb(160, 130, 100, 0.05); background: rgb(160, 130, 100, 0.05);
} }
@ -569,12 +639,15 @@ ul, li {
padding: 0.125rem; padding: 0.125rem;
flex: 1 1 5rem; flex: 1 1 5rem;
} }
.item-display-show { .item-display-show {
display: block; display: block;
} }
.item-display-hide { .item-display-hide {
display: none; display: none;
} }
.conteneur-type { .conteneur-type {
background: rgb(200, 10, 100, 0.25); background: rgb(200, 10, 100, 0.25);
} }
@ -586,12 +659,15 @@ ul, li {
.list-item-margin1 { .list-item-margin1 {
margin-left: 1rem; margin-left: 1rem;
} }
.list-item-margin2 { .list-item-margin2 {
margin-left: 2rem; margin-left: 2rem;
} }
.list-item-margin3 { .list-item-margin3 {
margin-left: 3rem; margin-left: 3rem;
} }
.list-item-margin4 { .list-item-margin4 {
margin-left: 4rem; margin-left: 4rem;
} }
@ -602,6 +678,7 @@ ul, li {
flex-grow: 0; flex-grow: 0;
margin-right: 0.25rem; margin-right: 0.25rem;
} }
.competence-column { .competence-column {
flex-direction: column; flex-direction: column;
align-content: flex-start; align-content: flex-start;
@ -609,12 +686,14 @@ ul, li {
flex-grow: 0; flex-grow: 0;
flex-basis: 1; flex-basis: 1;
} }
.competence-header { .competence-header {
align-content: flex-start; align-content: flex-start;
justify-content: flex-start; justify-content: flex-start;
font-weight: bold; font-weight: bold;
flex-grow: 0; flex-grow: 0;
} }
.secondaire-label, .secondaire-label,
.arme-label, .arme-label,
.generic-label, .generic-label,
@ -630,6 +709,7 @@ ul, li {
flex-grow: 2; flex-grow: 2;
margin-left: 4px; margin-left: 4px;
} }
.roll-dialog-label { .roll-dialog-label {
margin: 4px 0; margin: 4px 0;
padding-top: 7px; padding-top: 7px;
@ -638,6 +718,7 @@ ul, li {
.short-label { .short-label {
flex-grow: 1; flex-grow: 1;
} }
.keyword-label { .keyword-label {
font-size: 0.85rem; font-size: 0.85rem;
} }
@ -662,6 +743,7 @@ ul, li {
margin-right: 4px; margin-right: 4px;
margin-left: 4px; margin-left: 4px;
} }
.sante-value, .sante-value,
.competence-value { .competence-value {
flex-grow: 0; flex-grow: 0;
@ -669,41 +751,49 @@ ul, li {
margin-right: 0.25rem; margin-right: 0.25rem;
margin-left: 0.25rem; margin-left: 0.25rem;
} }
.description-value { .description-value {
flex-grow: 0; flex-grow: 0;
flex-basis: 4rem; flex-basis: 4rem;
margin-right: 0.25rem; margin-right: 0.25rem;
margin-left: 0.25rem; margin-left: 0.25rem;
} }
.competence-xp { .competence-xp {
flex-grow: 0; flex-grow: 0;
flex-basis: 2rem; flex-basis: 2rem;
margin-right: 0.25rem; margin-right: 0.25rem;
margin-left: 0.25rem; margin-left: 0.25rem;
} }
.blessures-title { .blessures-title {
font-weight: bold; font-weight: bold;
} }
.alchimie-title { .alchimie-title {
font-weight: bold; font-weight: bold;
} }
.blessure-data { .blessure-data {
flex-direction: row; flex-direction: row;
align-content: flex-start; align-content: flex-start;
justify-content: flex-start; justify-content: flex-start;
} }
.blessures-soins { .blessures-soins {
flex-grow: 0; flex-grow: 0;
flex-basis: 32px; flex-basis: 32px;
margin-right: 4px; margin-right: 4px;
margin-left: 4px; margin-left: 4px;
} }
.blessures-loc { .blessures-loc {
flex-grow: 0; flex-grow: 0;
flex-basis: 96px; flex-basis: 96px;
margin-right: 4px; margin-right: 4px;
margin-left: 4px; margin-left: 4px;
} }
.pointsreve-value { .pointsreve-value {
flex-grow: 0; flex-grow: 0;
flex-basis: 64px; flex-basis: 64px;
@ -726,6 +816,7 @@ ul, li {
.padd-right { .padd-right {
margin-right: 8px; margin-right: 8px;
} }
.padd-left { .padd-left {
margin-left: 8px; margin-left: 8px;
} }
@ -735,6 +826,7 @@ ul, li {
flex-shrink: 1; flex-shrink: 1;
flex-grow: 0; flex-grow: 0;
} }
.npc-stat-label { .npc-stat-label {
flex-grow: 2; flex-grow: 2;
} }
@ -770,6 +862,7 @@ ul, li {
flex: 0 !important; flex: 0 !important;
font-weight: 600; font-weight: 600;
} }
.tokenhudext.left { .tokenhudext.left {
justify-content: flex-start; justify-content: flex-start;
flex-direction: column; flex-direction: column;
@ -777,6 +870,7 @@ ul, li {
top: 2.75rem; top: 2.75rem;
right: 4rem; right: 4rem;
} }
.tokenhudext.right { .tokenhudext.right {
justify-content: flex-start; justify-content: flex-start;
flex-direction: column; flex-direction: column;
@ -784,6 +878,7 @@ ul, li {
top: 2.75rem; top: 2.75rem;
left: 4rem; left: 4rem;
} }
.control-icon.tokenhudicon { .control-icon.tokenhudicon {
width: fit-content; width: fit-content;
height: fit-content; height: fit-content;
@ -794,12 +889,15 @@ ul, li {
line-height: 1rem; line-height: 1rem;
margin: 0.25rem; margin: 0.25rem;
} }
.control-icon.tokenhudicon.right { .control-icon.tokenhudicon.right {
margin-left: 8px; margin-left: 8px;
} }
#token-hud .status-effects.active { #token-hud .status-effects.active {
z-index: 2; z-index: 2;
} }
/* ======================================== */ /* ======================================== */
.item-checkbox { .item-checkbox {
height: 25px; height: 25px;
@ -834,7 +932,8 @@ ul, li {
height: 470px !important; height: 470px !important;
} }
#sidebar-tabs > .collapsed, #chat-controls .chat-control-icon { #sidebar-tabs>.collapsed,
#chat-controls .chat-control-icon {
color: rgba(220, 220, 220, 0.75); color: rgba(220, 220, 220, 0.75);
text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.75); text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.75);
} }
@ -849,6 +948,7 @@ ul, li {
background: rgba(0, 0, 0, 0.05); background: rgba(0, 0, 0, 0.05);
cursor: pointer; cursor: pointer;
} }
.chat-message-header { .chat-message-header {
background: rgba(220, 220, 210, 0.5); background: rgba(220, 220, 210, 0.5);
font-size: 1.1rem; font-size: 1.1rem;
@ -859,9 +959,11 @@ ul, li {
align-items: center; align-items: center;
} }
.chat-message .message-header .flavor-text, .chat-message .message-header .whisper-to { .chat-message .message-header .flavor-text,
.chat-message .message-header .whisper-to {
font-size: 0.9rem; font-size: 0.9rem;
} }
.chat-actor-name { .chat-actor-name {
padding: 4px; padding: 4px;
} }
@ -882,6 +984,7 @@ ul, li {
left: 50%; left: 50%;
transform: translate(-50%, -50%); transform: translate(-50%, -50%);
} }
.icon-adversite-container { .icon-adversite-container {
position: relative; position: relative;
text-align: center; text-align: center;
@ -889,6 +992,7 @@ ul, li {
width: 64px; width: 64px;
min-height: 48px; min-height: 48px;
} }
.icon-adversite { .icon-adversite {
width: 48px; width: 48px;
border: 0px; border: 0px;
@ -901,6 +1005,7 @@ ul, li {
width: 64px; width: 64px;
min-height: 64px; min-height: 64px;
} }
.hud-adversite-text { .hud-adversite-text {
font-weight: bold; font-weight: bold;
font-size: 0.9rem; font-size: 0.9rem;
@ -962,6 +1067,7 @@ ul, li {
background: rgba(220, 220, 210, 0.75); background: rgba(220, 220, 210, 0.75);
border: 2px solid #545469; border: 2px solid #545469;
} }
.chat-message .chat-icon { .chat-message .chat-icon {
border: 0; border: 0;
padding: 2px 6px 2px 2px; padding: 2px 6px 2px 2px;
@ -1011,7 +1117,8 @@ ul, li {
/*--------------------------------------------------------------------------*/ /*--------------------------------------------------------------------------*/
/* Control, Tool, hotbar & navigation */ /* Control, Tool, hotbar & navigation */
#controls .scene-control, #controls .control-tool { #controls .scene-control,
#controls .control-tool {
box-shadow: 0 0 3px #000; box-shadow: 0 0 3px #000;
margin: 0 0 8px; margin: 0 0 8px;
border-radius: 0; border-radius: 0;
@ -1022,7 +1129,10 @@ ul, li {
border-image-outset: 0px; border-image-outset: 0px;
} }
#controls .scene-control.active, #controls .control-tool.active, #controls .scene-control:hover, #controls .control-tool:hover { #controls .scene-control.active,
#controls .control-tool.active,
#controls .scene-control:hover,
#controls .control-tool:hover {
background: rgba(72, 46, 28, 1); background: rgba(72, 46, 28, 1);
background-origin: padding-box; background-origin: padding-box;
border-image: url(img/ui/footer-button.png) 10 repeat; border-image: url(img/ui/footer-button.png) 10 repeat;
@ -1068,7 +1178,8 @@ ul, li {
border-image-outset: 0px; border-image-outset: 0px;
} }
#navigation #scene-list .scene.view, #navigation #scene-list .scene.context { #navigation #scene-list .scene.view,
#navigation #scene-list .scene.context {
background: rgba(72, 46, 28, 1); background: rgba(72, 46, 28, 1);
background-origin: padding-box; background-origin: padding-box;
border-image: url(img/ui/footer-button.png) 10 repeat; border-image: url(img/ui/footer-button.png) 10 repeat;
@ -1134,8 +1245,10 @@ ul, li {
} }
.tooltip-nobottom { .tooltip-nobottom {
border-bottom: unset; /* If you want dots under the hoverable text */ border-bottom: unset;
/* If you want dots under the hoverable text */
} }
.tooltip .ttt-xp { .tooltip .ttt-xp {
width: 250px; width: 250px;
background: rgba(220, 220, 210, 0.95); background: rgba(220, 220, 210, 0.95);
@ -1171,6 +1284,7 @@ ul, li {
background: linear-gradient(to bottom, #800000 5%, #3e0101 100%); background: linear-gradient(to bottom, #800000 5%, #3e0101 100%);
background-color: rgb(56, 33, 33); background-color: rgb(56, 33, 33);
} }
.chat-card-button:active { .chat-card-button:active {
position: relative; position: relative;
top: 1px; top: 1px;
@ -1196,10 +1310,12 @@ ul, li {
max-width: 3.5rem; max-width: 3.5rem;
min-width: 3.5rem; min-width: 3.5rem;
} }
.button-sheet-roll:hover { .button-sheet-roll:hover {
background: linear-gradient(to bottom, #800000 5%, #3e0101 100%); background: linear-gradient(to bottom, #800000 5%, #3e0101 100%);
background-color: rgb(56, 33, 33); background-color: rgb(56, 33, 33);
} }
.button-sheet-roll:active { .button-sheet-roll:active {
position: relative; position: relative;
top: 1px; top: 1px;
@ -1306,14 +1422,14 @@ ul, li {
} }
/*************************************************************/ /*************************************************************/
#pause #pause {
{
font-size: 2rem; font-size: 2rem;
} }
#pause > h3
{ #pause>h3 {
color: #CCC color: #CCC
} }
#pause>img { #pause>img {
content: url(../assets/logos/hawkmoon_logo.webp); content: url(../assets/logos/hawkmoon_logo.webp);
height: 256px; height: 256px;
@ -1346,78 +1462,94 @@ ul, li {
max-width: 12rem; max-width: 12rem;
min-width: 12rem; min-width: 12rem;
} }
.item-name-label { .item-name-label {
flex-grow: 2; flex-grow: 2;
max-width: 10rem; max-width: 10rem;
min-width: 10rem; min-width: 10rem;
} }
.item-name-label-level2 { .item-name-label-level2 {
flex-grow: 2; flex-grow: 2;
max-width: 9rem; max-width: 9rem;
min-width: 9rem; min-width: 9rem;
} }
.item-field-label-short { .item-field-label-short {
padding-top: 6px; padding-top: 6px;
flex-grow: 1; flex-grow: 1;
max-width: 4rem; max-width: 4rem;
min-width: 4rem; min-width: 4rem;
} }
.item-field-label-medium { .item-field-label-medium {
padding-top: 6px; padding-top: 6px;
flex-grow: 1; flex-grow: 1;
max-width: 6rem; max-width: 6rem;
min-width: 6rem; min-width: 6rem;
} }
.item-field-label-long { .item-field-label-long {
padding-top: 6px; padding-top: 6px;
flex-grow: 1; flex-grow: 1;
max-width: 8rem; max-width: 8rem;
min-width: 8rem; min-width: 8rem;
} }
.item-field-label-long1 { .item-field-label-long1 {
padding-top: 6px; padding-top: 6px;
flex-grow: 1; flex-grow: 1;
max-width: 12rem; max-width: 12rem;
min-width: 12rem; min-width: 12rem;
} }
.item-field-label-long2 { .item-field-label-long2 {
padding-top: 6px; padding-top: 6px;
flex-grow: 1; flex-grow: 1;
max-width: 20rem; max-width: 20rem;
min-width: 20rem; min-width: 20rem;
} }
.item-control-end { .item-control-end {
align-self: flex-end; align-self: flex-end;
} }
.alternate-list { .alternate-list {
margin-top: 2px; margin-top: 2px;
flex-wrap: nowrap; flex-wrap: nowrap;
} }
.item-filler { .item-filler {
flex-grow: 6; flex-grow: 6;
flex-shrink: 7; flex-shrink: 7;
} }
.item-controls-fixed { .item-controls-fixed {
min-width: 3.2rem; min-width: 3.2rem;
max-width: 3.2rem; max-width: 3.2rem;
} }
.item-field { .item-field {
justify-content: flex-start; justify-content: flex-start;
flex-grow: 1; flex-grow: 1;
} }
.chat-success { .chat-success {
font-size: 1.2rem; font-size: 1.2rem;
font-weight: bold; font-weight: bold;
color: darkgreen; color: darkgreen;
} }
.chat-failure { .chat-failure {
font-size: 1.2rem; font-size: 1.2rem;
font-weight: bold; font-weight: bold;
color: darkred; color: darkred;
} }
.adversite-modify { .adversite-modify {
margin-top: 12px; margin-top: 12px;
} }
.argent-total-text { .argent-total-text {
margin-left: 4px; margin-left: 4px;
} }
@ -1425,17 +1557,21 @@ ul, li {
.compendium h4.entry-name.document-name { .compendium h4.entry-name.document-name {
color: black; color: black;
} }
.page-title { .page-title {
color: black; color: black;
} }
textarea { textarea {
font-family: "Charlemagne"; font-family: "Charlemagne";
font-size: 0.8rem; font-size: 0.8rem;
} }
.fxmaster { .fxmaster {
background: #443e37E0; background: #443e37E0;
background-color: #443e37E0; background-color: #443e37E0;
} }
.predilection-text { .predilection-text {
padding-left: 8px; padding-left: 8px;
font-style: italic; font-style: italic;

View File

@ -44,6 +44,51 @@
"flags": {} "flags": {}
} }
], ],
"packFolders": [
{
"name": "Hawkmoon",
"sorting": "m",
"color": "#00435c",
"folders": [
{
"name": "Création de Personnage",
"sorting": "a",
"color": "#00435c",
"packs": [
"skills",
"historiques",
"profils",
"talents",
"talents-cellule",
"mutations"
],
"folders": []
},
{
"name": "Equipement",
"sorting": "a",
"color": "#00435c",
"packs": [
"armes",
"protections",
"equipement"
],
"folders": []
},
{
"name": "Autre",
"sorting": "a",
"color": "#00435c",
"packs": [
"skills-creatures",
"tables",
"aides-de-jeu"
],
"folders": []
}
]
}
],
"packs": [ "packs": [
{ {
"type": "Item", "type": "Item",
@ -57,6 +102,18 @@
"ASSISTANT": "OWNER" "ASSISTANT": "OWNER"
} }
}, },
{
"type": "Item",
"label": "Mutations",
"name": "mutations",
"path": "packs/mutations",
"system": "fvtt-hawkmoon-cyd",
"flags": {},
"ownership": {
"PLAYER": "OBSERVER",
"ASSISTANT": "OWNER"
}
},
{ {
"type": "Item", "type": "Item",
"label": "Compétences de Créatures", "label": "Compétences de Créatures",

View File

@ -146,7 +146,8 @@
"equipement", "equipement",
"artefact", "artefact",
"ressource", "ressource",
"contact" "contact",
"mutation"
], ],
"ressource": { "ressource": {
"pointdev": 0, "pointdev": 0,
@ -259,7 +260,14 @@
"base", "base",
"basequip" "basequip"
] ]
},
"mutation": {
"templates": [
"base"
],
"mutationcategorie": "tares_communes",
"hascomplexite": false,
"complexite": 0
} }
} }
} }

View File

@ -75,7 +75,7 @@
{{#each system.attributs as |attr key|}} {{#each system.attributs as |attr key|}}
<li class="item flexrow " data-attr-key="{{key}}"> <li class="item flexrow " data-attr-key="{{key}}">
<img class="item-name-img" src="systems/fvtt-hawkmoon-cyd/assets/icons/{{attr.labelnorm}}.webp"> <img class="item-name-img" src="systems/fvtt-hawkmoon-cyd/assets/icons/{{attr.labelnorm}}.webp">
<span class="item-name-label competence-name item-field-label-medium"><a <span data-tooltip="Cliquez pour faire un jet" class="item-name-label competence-name item-field-label-medium"><a
class="roll-attribut">{{attr.label}}</a></span> class="roll-attribut">{{attr.label}}</a></span>
<select class="status-small-label color-class-common edit-item-data competence-niveau" type="text" <select class="status-small-label color-class-common edit-item-data competence-niveau" type="text"
name="system.attributs.{{key}}.value" value="{{attr.value}}" data-dtype="Number"> name="system.attributs.{{key}}.value" value="{{attr.value}}" data-dtype="Number">
@ -140,7 +140,7 @@
</div> </div>
</li> </li>
{{#each talents as |talent key|}} {{#each talents as |talent key|}}
<li class="item flexrow " data-item-id="{{talent._id}}" data-item-type="competence"> <li class="item flexrow " data-item-id="{{talent._id}}" data-item-type="talent">
<img class="item-name-img" src="{{talent.img}}" /> <img class="item-name-img" src="{{talent.img}}" />
<span class="item-name-label competence-name">{{talent.name}}</span> <span class="item-name-label competence-name">{{talent.name}}</span>
<span class="item-name-label item-field-label-long2">{{talent.system.resumebonus}}</span> <span class="item-name-label item-field-label-long2">{{talent.system.resumebonus}}</span>
@ -155,6 +155,39 @@
</ul> </ul>
</div> </div>
{{#if (count mutations)}}
<div class="sheet-box color-bg-archetype">
<ul class="item-list alternate-list">
<li class="item flexrow">
<span class="item-name-label-header">
<h3><label class="items-title-text">Mutations</label></h3>
</span>
<span class="item-field-label-long">
<label class="short-label">Catégorie</label>
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="mutation" title="Ajouter une Mutation"><i
class="fas fa-plus"></i></a>
</div>
</li>
{{#each mutations as |mutation key|}}
<li class="item flexrow " data-item-id="{{mutation._id}}" data-item-type="mutation">
<img class="item-name-img" src="{{mutation.img}}" />
<span class="item-name-label competence-name">{{mutation.name}}</span>
<span class="item-name-label item-field-label-long2">{{mutation.system.mutationcategorie}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
</div>
{{/if}}
<div class="flexrow"> <div class="flexrow">
<div class="sheet-box color-bg-archetype"> <div class="sheet-box color-bg-archetype">
<ul class="item-list alternate-list"> <ul class="item-list alternate-list">

View File

@ -90,6 +90,7 @@
</li> </li>
{{> systems/fvtt-hawkmoon-cyd/templates/partial-item-prix.html}} {{> systems/fvtt-hawkmoon-cyd/templates/partial-item-prix.html}}
</ul>
</div> </div>

View File

@ -0,0 +1,48 @@
<form class="{{cssClass}}" autocomplete="off">
{{> systems/fvtt-hawkmoon-cyd/templates/partial-item-header.html}}
{{> systems/fvtt-hawkmoon-cyd/templates/partial-item-nav.html}}
{{!-- Sheet Body --}}
<section class="sheet-body">
{{> systems/fvtt-hawkmoon-cyd/templates/partial-item-description.html}}
<div class="tab details" data-group="primary" data-tab="details">
<ul class="item-list alternate-list">
<li class="flexrow item">
<label class="generic-label item-field-label-long">Catégorie : </label>
<select class="item-field-label-long2" type="text" name="system.mutationcategorie"
value="{{system.mutationcategorie}}" data-dtype="string">
{{#select system.mutationcategorie}}
<option value="tares_communes">Tares et Malformations communes</option>
<option value="evolutions_communes">Evolutions communes</option>
<option value="tares_rares">Tares et Malformations rares</option>
<option value="evolutions_rares">Evolutions rares</option>
<option value="tares_majeures">Tares et Maformations majeures</option>
<option value="evolutions_majeures">Evolutions majeures</option>
<option value="tares_except">Tares et Malformations exceptionnelles</option>
<option value="evolutions_except">Evolutions exceptionnelles</option>
{{/select}}
</select>
</li>
<li class="flexrow item">
<label class="generic-label item-field-label-long2">Complexité ? </label>
<input type="checkbox" name="system.hascomplexite" {{checked system.hascomplexite}} />
</li>
{{#if system.hascomplexite}}
<li class="flexrow item">
<label class="generic-label item-field-label-long2">Valeur de complexité : </label>
<input type="text" class="padd-right numeric-input item-field-label-short" name="system.complexite"
value="{{system.complexite}}" data-dtype="Number" />
</li>
{{/if}}
</ul>
</div>
</section>
</form>