diff --git a/css/fvtt-ftl-nomad.css b/css/fvtt-ftl-nomad.css index eb1016c..1512576 100644 --- a/css/fvtt-ftl-nomad.css +++ b/css/fvtt-ftl-nomad.css @@ -893,6 +893,15 @@ i.fvtt-ftl-nomad { font-size: calc(var(--font-size-standard) * 1.4); width: 400px; } +.fvtt-ftl-nomad .vehicle-main .vehicle-pc .vehicle-right .cargo label, +.fvtt-ftl-nomad .vehicle-main .vehicle-pc .vehicle-right .capacity label { + max-width: 5rem; +} +.fvtt-ftl-nomad .vehicle-main .vehicle-pc .vehicle-right .cargo input, +.fvtt-ftl-nomad .vehicle-main .vehicle-pc .vehicle-right .capacity input { + max-width: 3.5rem; + margin-right: 0.5rem; +} .fvtt-ftl-nomad .vehicle-main .vehicle-pc .vehicle-right .vehicle-infos { display: flex; flex-direction: column; @@ -937,27 +946,27 @@ i.fvtt-ftl-nomad { .fvtt-ftl-nomad .vehicle-main .vehicle-pc-edit { min-width: 650px; } -.fvtt-ftl-nomad .vehicle-biography { +.fvtt-ftl-nomad .vehicle-description { background-color: var(--color-light-1); } -.fvtt-ftl-nomad .vehicle-biography prose-mirror.inactive { +.fvtt-ftl-nomad .vehicle-description prose-mirror.inactive { min-height: 40px; } -.fvtt-ftl-nomad .vehicle-biography prose-mirror.active { +.fvtt-ftl-nomad .vehicle-description prose-mirror.active { min-height: 150px; } -.fvtt-ftl-nomad .vehicle-biography .field-label { +.fvtt-ftl-nomad .vehicle-description .field-label { margin-left: 8px; } -.fvtt-ftl-nomad .vehicle-biography .biodata { +.fvtt-ftl-nomad .vehicle-description .biodata { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; } -.fvtt-ftl-nomad .vehicle-biography .biodata label { +.fvtt-ftl-nomad .vehicle-description .biodata label { min-width: 3rem; } -.fvtt-ftl-nomad .vehicle-biography .biodata .feature { +.fvtt-ftl-nomad .vehicle-description .biodata .feature { display: flex; align-items: center; gap: 4px; @@ -1007,36 +1016,36 @@ i.fvtt-ftl-nomad { height: 32px; margin: 4px 0 0 0; } -.fvtt-ftl-nomad .tab.vehicle-equipment .gears { +.fvtt-ftl-nomad .tab.vehicle-equipment .equipments { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; } -.fvtt-ftl-nomad .tab.vehicle-equipment .gears .gear { +.fvtt-ftl-nomad .tab.vehicle-equipment .equipments .equipment { display: flex; align-items: center; gap: 4px; min-width: 13rem; max-width: 13srem; } -.fvtt-ftl-nomad .tab.vehicle-equipment .gears .gear .rollable:hover, -.fvtt-ftl-nomad .tab.vehicle-equipment .gears .gear .rollable:focus { +.fvtt-ftl-nomad .tab.vehicle-equipment .equipments .equipment .rollable:hover, +.fvtt-ftl-nomad .tab.vehicle-equipment .equipments .equipment .rollable:focus { text-shadow: 0 0 8px var(--color-shadow-primary); cursor: pointer; } -.fvtt-ftl-nomad .tab.vehicle-equipment .gears .gear .controls { +.fvtt-ftl-nomad .tab.vehicle-equipment .equipments .equipment .controls { min-width: 2rem; max-width: 2rem; } -.fvtt-ftl-nomad .tab.vehicle-equipment .gears .gear .damage { +.fvtt-ftl-nomad .tab.vehicle-equipment .equipments .equipment .damage { min-width: 5rem; max-width: 5rem; } -.fvtt-ftl-nomad .tab.vehicle-equipment .gears .gear .name { +.fvtt-ftl-nomad .tab.vehicle-equipment .equipments .equipment .name { min-width: 8rem; max-width: 8rem; } -.fvtt-ftl-nomad .tab.vehicle-equipment .gears .gear .item-img { +.fvtt-ftl-nomad .tab.vehicle-equipment .equipments .equipment .item-img { width: 32px; height: 32px; margin: 4px 0 0 0; @@ -1128,6 +1137,12 @@ i.fvtt-ftl-nomad { width: auto; border: none; } +.fvtt-ftl-nomad .starship-main .starship-pc .starship-left .spec label { + max-width: 5rem; +} +.fvtt-ftl-nomad .starship-main .starship-pc .starship-left .spec input { + max-width: 3rem; +} .fvtt-ftl-nomad .starship-main .starship-pc .starship-right { display: flex; flex-direction: column; @@ -1141,6 +1156,35 @@ i.fvtt-ftl-nomad { font-size: calc(var(--font-size-standard) * 1.4); width: 400px; } +.fvtt-ftl-nomad .starship-main .starship-pc .starship-right .capacity .dice-2d6 { + max-width: 1.5rem; + margin-left: 0.2rem; +} +.fvtt-ftl-nomad .starship-main .starship-pc .starship-right .capacity .rollable:hover, +.fvtt-ftl-nomad .starship-main .starship-pc .starship-right .capacity .rollable:focus { + text-shadow: 0 0 8px var(--color-shadow-primary); + cursor: pointer; +} +.fvtt-ftl-nomad .starship-main .starship-pc .starship-right .capacity label { + margin-left: 0.2rem; + max-width: 10rem; +} +.fvtt-ftl-nomad .starship-main .starship-pc .starship-right .capacity input { + max-width: 4rem; +} +.fvtt-ftl-nomad .starship-main .starship-pc .starship-right .capacity select { + max-width: 5rem; +} +.fvtt-ftl-nomad .starship-main .starship-pc .starship-right .cargo label { + margin-left: 0.2rem; + max-width: 10rem; +} +.fvtt-ftl-nomad .starship-main .starship-pc .starship-right .cargo input { + max-width: 4rem; +} +.fvtt-ftl-nomad .starship-main .starship-pc .starship-right .cargo select { + max-width: 5rem; +} .fvtt-ftl-nomad .starship-main .starship-pc .starship-right .starship-infos { display: flex; flex-direction: column; @@ -1185,27 +1229,27 @@ i.fvtt-ftl-nomad { .fvtt-ftl-nomad .starship-main .starship-pc-edit { min-width: 650px; } -.fvtt-ftl-nomad .starship-biography { +.fvtt-ftl-nomad .starship-description { background-color: var(--color-light-1); } -.fvtt-ftl-nomad .starship-biography prose-mirror.inactive { +.fvtt-ftl-nomad .starship-description prose-mirror.inactive { min-height: 40px; } -.fvtt-ftl-nomad .starship-biography prose-mirror.active { +.fvtt-ftl-nomad .starship-description prose-mirror.active { min-height: 150px; } -.fvtt-ftl-nomad .starship-biography .field-label { +.fvtt-ftl-nomad .starship-description .field-label { margin-left: 8px; } -.fvtt-ftl-nomad .starship-biography .biodata { +.fvtt-ftl-nomad .starship-description .biodata { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; } -.fvtt-ftl-nomad .starship-biography .biodata label { +.fvtt-ftl-nomad .starship-description .biodata label { min-width: 3rem; } -.fvtt-ftl-nomad .starship-biography .biodata .feature { +.fvtt-ftl-nomad .starship-description .biodata .feature { display: flex; align-items: center; gap: 4px; @@ -1382,11 +1426,9 @@ i.fvtt-ftl-nomad { } .fvtt-ftl-nomad .creature-main .creature-pc .creature-left .creature-hp input { flex: none; - width: 2rem; - margin-left: 4px; -} -.fvtt-ftl-nomad .creature-main .creature-pc .creature-left .creature-hp .damage-bonus { - font-size: calc(var(--font-size-standard) * 0.8); + width: 2.5rem; + margin-left: 2px; + margin-right: 4px; } .fvtt-ftl-nomad .creature-main .creature-pc .creature-left .creature-hp .hp-separator { font-size: calc(var(--font-size-standard) * 1.2); @@ -1412,6 +1454,23 @@ i.fvtt-ftl-nomad { flex-direction: column; gap: 5px; } +.fvtt-ftl-nomad .creature-main .creature-pc .creature-right .creature-spec label { + max-width: 8rem; +} +.fvtt-ftl-nomad .creature-main .creature-pc .creature-right .creature-spec select { + max-width: 10rem; +} +.fvtt-ftl-nomad .creature-main .creature-pc .creature-right .creature-spec input { + max-width: 6rem; +} +.fvtt-ftl-nomad .creature-main .creature-pc .creature-right .creature-spec .dice-2d6 { + max-width: 1.5rem; +} +.fvtt-ftl-nomad .creature-main .creature-pc .creature-right .creature-spec .rollable:hover, +.fvtt-ftl-nomad .creature-main .creature-pc .creature-right .creature-spec .rollable:focus { + text-shadow: 0 0 8px var(--color-shadow-primary); + cursor: pointer; +} .fvtt-ftl-nomad .creature-main .creature-pc .creature-right .creature-name { display: flex; } @@ -1420,85 +1479,6 @@ i.fvtt-ftl-nomad { font-size: var(--font-size-title); width: 400px; } -.fvtt-ftl-nomad .creature-main .creature-pc .creature-right .san { - align-content: flex-start; -} -.fvtt-ftl-nomad .creature-main .creature-pc .creature-right .san input { - min-width: 2.2rem; - max-width: 2.2rem; - margin-bottom: 4px; -} -.fvtt-ftl-nomad .creature-main .creature-pc .creature-right .san select { - min-width: 6rem; - max-width: 6rem; -} -.fvtt-ftl-nomad .creature-main .creature-pc .creature-right .san .rollable:hover, -.fvtt-ftl-nomad .creature-main .creature-pc .creature-right .san .rollable:focus { - text-shadow: 0 0 8px var(--color-shadow-primary); - cursor: pointer; - font-size: 0.9rem; -} -.fvtt-ftl-nomad .creature-main .creature-pc .creature-right .san .button { - min-width: 4rem; - max-width: 4rem; -} -.fvtt-ftl-nomad .creature-main .creature-pc .creature-right .san .san-checkbox { - min-width: 1rem; - max-width: 1rem; -} -.fvtt-ftl-nomad .creature-main .creature-pc .creature-right .san .label-short-field { - font-size: 0.9rem; - max-width: 3rem; - min-width: 3rem; - flex-grow: 1; -} -.fvtt-ftl-nomad .creature-main .creature-pc .creature-right .san .label-recovery { - margin-left: 4px; -} -.fvtt-ftl-nomad .creature-main .creature-pc .creature-right .san .label-field { - font-size: 0.9rem; - max-width: 6rem; - min-width: 6rem; - flex-grow: 1; -} -.fvtt-ftl-nomad .creature-main .creature-pc .creature-right .san .label-bp { - flex-grow: 1; - max-width: 3rem; - min-width: 3rem; - margin-left: 4px; -} -.fvtt-ftl-nomad .creature-main .creature-pc .creature-right .san .label-insanity { - flex-grow: 1; - margin-left: 4px; - max-width: 8rem; - min-width: 8rem; -} -.fvtt-ftl-nomad .creature-main .creature-pc .creature-right .san .spacing { - margin-left: 4px; -} -.fvtt-ftl-nomad .creature-main .creature-pc .creature-right .san .d100 { - flex: 0; -} -.fvtt-ftl-nomad .creature-main .creature-pc .creature-right .willpower input { - min-width: 2.4rem; - max-width: 2.4rem; -} -.fvtt-ftl-nomad .creature-main .creature-pc .creature-right .willpower input[type="checkbox"] { - min-width: 1rem; - max-width: 1rem; -} -.fvtt-ftl-nomad .creature-main .creature-pc .creature-right .willpower .label-field { - flex-grow: 1; - margin-left: 4px; - max-width: 5rem; - min-width: 5rem; - font-size: 0.9rem; -} -.fvtt-ftl-nomad .creature-main .creature-pc .creature-right .willpower .checkbox { - flex-grow: 0; - min-width: 1rem; - max-width: 1rem; -} .fvtt-ftl-nomad .creature-main .creature-pc .creature-right label { min-width: 120px; } @@ -1508,46 +1488,51 @@ i.fvtt-ftl-nomad { .fvtt-ftl-nomad .creature-main .creature-pc-edit { min-width: 650px; } -.fvtt-ftl-nomad .creature-main .creature-characteristics { +.fvtt-ftl-nomad .creature-main .creature-skills { background-color: var(--color-light-1); display: flex; flex-direction: column; gap: 5px; flex: 1; } -.fvtt-ftl-nomad .creature-main .creature-characteristics .creature-characteristic { +.fvtt-ftl-nomad .creature-main .creature-skills .creature-skill { display: flex; align-items: center; } -.fvtt-ftl-nomad .creature-main .creature-characteristics .creature-characteristic .rollable:hover, -.fvtt-ftl-nomad .creature-main .creature-characteristics .creature-characteristic .rollable:focus { +.fvtt-ftl-nomad .creature-main .creature-skills .creature-skill .icon-skill { + width: 24px; + height: 24px; + margin-right: 4px; +} +.fvtt-ftl-nomad .creature-main .creature-skills .creature-skill .rollable:hover, +.fvtt-ftl-nomad .creature-main .creature-skills .creature-skill .rollable:focus { text-shadow: 0 0 8px var(--color-shadow-primary); cursor: pointer; } -.fvtt-ftl-nomad .creature-main .creature-characteristics .creature-characteristic .rollable { - min-width: 3rem; - max-width: 3rem; +.fvtt-ftl-nomad .creature-main .creature-skills .creature-skill .rollable { + min-width: 4.5rem; + max-width: 4.5rem; } -.fvtt-ftl-nomad .creature-main .creature-characteristics .creature-characteristic .char-text { +.fvtt-ftl-nomad .creature-main .creature-skills .creature-skill .char-text { margin-left: 0.5rem; } -.fvtt-ftl-nomad .creature-main .creature-characteristics .creature-characteristic .d100 { +.fvtt-ftl-nomad .creature-main .creature-skills .creature-skill .d100 { flex: 0; max-width: 0.6rem; } -.fvtt-ftl-nomad .creature-main .creature-characteristics .creature-characteristic .form-group { +.fvtt-ftl-nomad .creature-main .creature-skills .creature-skill .form-group { flex: 0; padding-left: 5px; } -.fvtt-ftl-nomad .creature-main .creature-characteristics .creature-characteristic .form-group .form-fields { +.fvtt-ftl-nomad .creature-main .creature-skills .creature-skill .form-group .form-fields { font-size: 1.1rem; flex: none; width: 40px; } -.fvtt-ftl-nomad .creature-main .creature-characteristic-play { +.fvtt-ftl-nomad .creature-main .creature-skill-play { min-width: 225px; } -.fvtt-ftl-nomad .creature-main .creature-characteristic-edit { +.fvtt-ftl-nomad .creature-main .creature-skill-edit { min-width: 400px; } .fvtt-ftl-nomad .creature-biography { @@ -1562,13 +1547,24 @@ i.fvtt-ftl-nomad { .fvtt-ftl-nomad .creature-biography .field-label { margin-left: 8px; } -.fvtt-ftl-nomad .creature-biography .adapted { +.fvtt-ftl-nomad .creature-biography .rank { + display: grid; + grid-template-columns: repeat(5, 1fr); + gap: 8px; +} +.fvtt-ftl-nomad .creature-biography .rank label { + min-width: 6rem; +} +.fvtt-ftl-nomad .creature-biography .rank input { + max-width: 4rem; +} +.fvtt-ftl-nomad .creature-biography .biodata { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; } -.fvtt-ftl-nomad .creature-biography .adapted label { - min-width: 20rem; +.fvtt-ftl-nomad .creature-biography .biodata label { + min-width: 12rem; } .fvtt-ftl-nomad .creature-biography .resources { display: grid; @@ -1605,76 +1601,6 @@ i.fvtt-ftl-nomad { font-size: calc(var(--font-size-standard) * 1.4); padding-left: 5px; } -.fvtt-ftl-nomad .tab.creature-skills .armors { - display: grid; - grid-template-columns: repeat(3, 1fr); - gap: 4px; -} -.fvtt-ftl-nomad .tab.creature-skills .armors .armor { - display: flex; - align-items: center; - gap: 4px; - min-width: 13rem; - max-width: 13rem; -} -.fvtt-ftl-nomad .tab.creature-skills .armors .armor .rollable:hover, -.fvtt-ftl-nomad .tab.creature-skills .armors .armor .rollable:focus { - text-shadow: 0 0 8px var(--color-shadow-primary); - cursor: pointer; -} -.fvtt-ftl-nomad .tab.creature-skills .armors .armor .controls { - font-size: 0.7rem; - min-width: 1.8rem; - max-width: 1.8rem; -} -.fvtt-ftl-nomad .tab.creature-skills .armors .armor .protection { - min-width: 5rem; - max-width: 5rem; -} -.fvtt-ftl-nomad .tab.creature-skills .armors .armor .name { - min-width: 8rem; - max-width: 8rem; -} -.fvtt-ftl-nomad .tab.creature-skills .armors .armor .item-img { - width: 24px; - height: 24px; - margin: 4px 0 0 0; -} -.fvtt-ftl-nomad .tab.creature-skills .weapons { - display: grid; - grid-template-columns: repeat(2, 1fr); - gap: 4px; -} -.fvtt-ftl-nomad .tab.creature-skills .weapons .weapon { - display: flex; - align-items: center; - gap: 4px; - min-width: 13rem; - max-width: 13rem; -} -.fvtt-ftl-nomad .tab.creature-skills .weapons .weapon .rollable:hover, -.fvtt-ftl-nomad .tab.creature-skills .weapons .weapon .rollable:focus { - text-shadow: 0 0 8px var(--color-shadow-primary); - cursor: pointer; -} -.fvtt-ftl-nomad .tab.creature-skills .weapons .weapon .controls { - font-size: 0.7rem; - min-width: 1.8rem; - max-width: 1.8rem; -} -.fvtt-ftl-nomad .tab.creature-skills .weapons .weapon .damage { - min-width: 6rem; - max-width: 6rem; -} -.fvtt-ftl-nomad .tab.creature-skills .weapons .weapon .name { - min-width: 10rem; - max-width: 10rem; -} -.fvtt-ftl-nomad .tab.creature-skills .weapons .weapon .item-img { - width: 24px; - height: 24px; - margin: 4px 0 0 0; -} .fvtt-ftl-nomad .tab.creature-skills .skills { display: grid; grid-template-columns: repeat(3, 1fr); @@ -1836,6 +1762,120 @@ i.fvtt-ftl-nomad { height: 24px; margin: 4px 0 0 0; } +.fvtt-ftl-nomad .tab.creature-traits { + background-color: var(--color-light-1); + display: grid; + grid-template-columns: 1fr; +} +.fvtt-ftl-nomad .tab.creature-traits legend a { + font-size: calc(var(--font-size-standard) * 1.4); + padding-left: 5px; +} +.fvtt-ftl-nomad .tab.creature-traits .traits { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 4px; +} +.fvtt-ftl-nomad .tab.creature-traits .traits .trait { + display: flex; + align-items: center; + gap: 4px; + min-width: 13rem; + max-width: 13rem; +} +.fvtt-ftl-nomad .tab.creature-traits .traits .trait .rollable:hover, +.fvtt-ftl-nomad .tab.creature-traits .traits .trait .rollable:focus { + text-shadow: 0 0 8px var(--color-shadow-primary); + cursor: pointer; +} +.fvtt-ftl-nomad .tab.creature-traits .traits .trait .controls { + font-size: 0.7rem; + min-width: 1.8rem; + max-width: 1.8rem; +} +.fvtt-ftl-nomad .tab.creature-traits .traits .trait .damage { + min-width: 6rem; + max-width: 6rem; +} +.fvtt-ftl-nomad .tab.creature-traits .traits .trait .name { + min-width: 10rem; + max-width: 10rem; +} +.fvtt-ftl-nomad .tab.creature-traits .traits .trait .item-img { + width: 24px; + height: 24px; + margin: 4px 0 0 0; +} +.fvtt-ftl-nomad .tab.creature-traits .abilities { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 4px; +} +.fvtt-ftl-nomad .tab.creature-traits .abilities .ability { + display: flex; + align-items: center; + gap: 4px; + min-width: 13rem; + max-width: 13rem; +} +.fvtt-ftl-nomad .tab.creature-traits .abilities .ability .rollable:hover, +.fvtt-ftl-nomad .tab.creature-traits .abilities .ability .rollable:focus { + text-shadow: 0 0 8px var(--color-shadow-primary); + cursor: pointer; +} +.fvtt-ftl-nomad .tab.creature-traits .abilities .ability .controls { + font-size: 0.7rem; + min-width: 1.8rem; + max-width: 1.8rem; +} +.fvtt-ftl-nomad .tab.creature-traits .abilities .ability .damage { + min-width: 6rem; + max-width: 6rem; +} +.fvtt-ftl-nomad .tab.creature-traits .abilities .ability .name { + min-width: 10rem; + max-width: 10rem; +} +.fvtt-ftl-nomad .tab.creature-traits .abilities .ability .item-img { + width: 24px; + height: 24px; + margin: 4px 0 0 0; +} +.fvtt-ftl-nomad .tab.creature-traits .psionics { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 4px; +} +.fvtt-ftl-nomad .tab.creature-traits .psionics .psionic { + display: flex; + align-items: center; + gap: 4px; + min-width: 13rem; + max-width: 13rem; +} +.fvtt-ftl-nomad .tab.creature-traits .psionics .psionic .rollable:hover, +.fvtt-ftl-nomad .tab.creature-traits .psionics .psionic .rollable:focus { + text-shadow: 0 0 8px var(--color-shadow-primary); + cursor: pointer; +} +.fvtt-ftl-nomad .tab.creature-traits .psionics .psionic .controls { + font-size: 0.7rem; + min-width: 1.8rem; + max-width: 1.8rem; +} +.fvtt-ftl-nomad .tab.creature-traits .psionics .psionic .damage { + min-width: 6rem; + max-width: 6rem; +} +.fvtt-ftl-nomad .tab.creature-traits .psionics .psionic .name { + min-width: 10rem; + max-width: 10rem; +} +.fvtt-ftl-nomad .tab.creature-traits .psionics .psionic .item-img { + width: 24px; + height: 24px; + margin: 4px 0 0 0; +} .fvtt-ftl-nomad .tab.creature-equipment { background-color: var(--color-light-1); display: grid; @@ -1845,95 +1885,145 @@ i.fvtt-ftl-nomad { font-size: calc(var(--font-size-standard) * 1.4); padding-left: 5px; } -.fvtt-ftl-nomad .tab.creature-equipment .gears { +.fvtt-ftl-nomad .tab.creature-equipment .encumbrance { display: grid; - grid-template-columns: repeat(3, 1fr); + grid-template-columns: repeat(4, 1fr); gap: 4px; } -.fvtt-ftl-nomad .tab.creature-equipment .gears .gear { +.fvtt-ftl-nomad .tab.creature-equipment .encumbrance input { + max-width: 4rem; +} +.fvtt-ftl-nomad .tab.creature-equipment .encumbrance .encumbered { + color: red; + font-weight: bold; +} +.fvtt-ftl-nomad .tab.creature-equipment .implants { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 4px; +} +.fvtt-ftl-nomad .tab.creature-equipment .implants .implant { display: flex; align-items: center; gap: 4px; min-width: 13rem; max-width: 13rem; } -.fvtt-ftl-nomad .tab.creature-equipment .gears .gear .rollable:hover, -.fvtt-ftl-nomad .tab.creature-equipment .gears .gear .rollable:focus { +.fvtt-ftl-nomad .tab.creature-equipment .implants .implant .rollable:hover, +.fvtt-ftl-nomad .tab.creature-equipment .implants .implant .rollable:focus { text-shadow: 0 0 8px var(--color-shadow-primary); cursor: pointer; } -.fvtt-ftl-nomad .tab.creature-equipment .gears .gear .controls { +.fvtt-ftl-nomad .tab.creature-equipment .implants .implant .controls { font-size: 0.7rem; min-width: 1.8rem; max-width: 1.8rem; } -.fvtt-ftl-nomad .tab.creature-equipment .gears .gear .name { +.fvtt-ftl-nomad .tab.creature-equipment .implants .implant .damage { + min-width: 6rem; + max-width: 6rem; +} +.fvtt-ftl-nomad .tab.creature-equipment .implants .implant .name { min-width: 10rem; max-width: 10rem; } -.fvtt-ftl-nomad .tab.creature-equipment .gears .gear .item-img { +.fvtt-ftl-nomad .tab.creature-equipment .implants .implant .item-img { width: 24px; height: 24px; margin: 4px 0 0 0; } -.fvtt-ftl-nomad .tab.creature-equipment .rituals { +.fvtt-ftl-nomad .tab.creature-equipment .weapons { display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px; } -.fvtt-ftl-nomad .tab.creature-equipment .rituals .ritual { +.fvtt-ftl-nomad .tab.creature-equipment .weapons .weapon { display: flex; align-items: center; gap: 4px; - min-width: 20rem; - max-width: 20rem; + min-width: 13rem; + max-width: 13rem; } -.fvtt-ftl-nomad .tab.creature-equipment .rituals .ritual .rollable:hover, -.fvtt-ftl-nomad .tab.creature-equipment .rituals .ritual .rollable:focus { +.fvtt-ftl-nomad .tab.creature-equipment .weapons .weapon .rollable:hover, +.fvtt-ftl-nomad .tab.creature-equipment .weapons .weapon .rollable:focus { text-shadow: 0 0 8px var(--color-shadow-primary); cursor: pointer; } -.fvtt-ftl-nomad .tab.creature-equipment .rituals .ritual .controls { +.fvtt-ftl-nomad .tab.creature-equipment .weapons .weapon .controls { font-size: 0.7rem; min-width: 1.8rem; max-width: 1.8rem; } -.fvtt-ftl-nomad .tab.creature-equipment .rituals .ritual .name { - min-width: 17rem; - max-width: 17rem; +.fvtt-ftl-nomad .tab.creature-equipment .weapons .weapon .damage { + min-width: 6rem; + max-width: 6rem; } -.fvtt-ftl-nomad .tab.creature-equipment .rituals .ritual .item-img { +.fvtt-ftl-nomad .tab.creature-equipment .weapons .weapon .name { + min-width: 10rem; + max-width: 10rem; +} +.fvtt-ftl-nomad .tab.creature-equipment .weapons .weapon .item-img { width: 24px; height: 24px; margin: 4px 0 0 0; } -.fvtt-ftl-nomad .tab.creature-equipment .tomes { +.fvtt-ftl-nomad .tab.creature-equipment .armors { display: grid; grid-template-columns: repeat(2, 1fr); gap: 4px; } -.fvtt-ftl-nomad .tab.creature-equipment .tomes .tome { +.fvtt-ftl-nomad .tab.creature-equipment .armors .armor { display: flex; align-items: center; gap: 4px; - min-width: 20rem; - max-width: 20rem; + min-width: 13rem; + max-width: 13rem; } -.fvtt-ftl-nomad .tab.creature-equipment .tomes .tome .rollable:hover, -.fvtt-ftl-nomad .tab.creature-equipment .tomes .tome .rollable:focus { - text-shadow: 0 0 8px var(--color-shadow-primary); - cursor: pointer; -} -.fvtt-ftl-nomad .tab.creature-equipment .tomes .tome .controls { +.fvtt-ftl-nomad .tab.creature-equipment .armors .armor .controls { font-size: 0.7rem; min-width: 1.8rem; max-width: 1.8rem; } -.fvtt-ftl-nomad .tab.creature-equipment .tomes .tome .name { - min-width: 17rem; - max-width: 17rem; +.fvtt-ftl-nomad .tab.creature-equipment .armors .armor .protection { + min-width: 6rem; + max-width: 6rem; } -.fvtt-ftl-nomad .tab.creature-equipment .tomes .tome .item-img { +.fvtt-ftl-nomad .tab.creature-equipment .armors .armor .name { + min-width: 10rem; + max-width: 10rem; +} +.fvtt-ftl-nomad .tab.creature-equipment .armors .armor .item-img { + width: 24px; + height: 24px; + margin: 4px 0 0 0; +} +.fvtt-ftl-nomad .tab.creature-equipment .equipments { + display: grid; + grid-template-columns: repeat(3, 1fr); + gap: 4px; +} +.fvtt-ftl-nomad .tab.creature-equipment .equipments .equipment { + display: flex; + align-items: center; + gap: 4px; + min-width: 13rem; + max-width: 13rem; +} +.fvtt-ftl-nomad .tab.creature-equipment .equipments .equipment .rollable:hover, +.fvtt-ftl-nomad .tab.creature-equipment .equipments .equipment .rollable:focus { + text-shadow: 0 0 8px var(--color-shadow-primary); + cursor: pointer; +} +.fvtt-ftl-nomad .tab.creature-equipment .equipments .equipment .controls { + font-size: 0.7rem; + min-width: 1.8rem; + max-width: 1.8rem; +} +.fvtt-ftl-nomad .tab.creature-equipment .equipments .equipment .name { + min-width: 10rem; + max-width: 10rem; +} +.fvtt-ftl-nomad .tab.creature-equipment .equipments .equipment .item-img { width: 24px; height: 24px; margin: 4px 0 0 0; diff --git a/lang/en.json b/lang/en.json index e398348..9bbeef3 100644 --- a/lang/en.json +++ b/lang/en.json @@ -155,7 +155,56 @@ }, "Chat": {}, "Creature": { + "Niche": { + "Prey": "Prey", + "Opportunist": "Opportunist", + "Herbivore": "Herbivore", + "Predator": "Predator" + }, + "Size": { + "Tiny": "Tiny", + "Small": "Small", + "Medium": "Medium", + "Large": "Large", + "Huge": "Huge", + "Giant": "Giant", + "Titanic": "Titanic", + "Gargantuan": "Gargantuan" + }, + "Terrain": { + "Cave": "Cave", + "Coast": "Coast", + "Desert": "Desert", + "Forest": "Forest", + "Jungle": "Jungle", + "Mountain": "Mountain", + "Plains": "Plains", + "Swamp": "Swamp", + "Urban": "Urban", + "Ocean": "Ocean", + "Coastal": "Coast", + "Mixed": "Mixed", + "River": "River", + "Ruins": "Ruins", + "Savannah": "Savannah", + "Shallows" : "Shallows" + }, "FIELDS": { + "damage": { + "label": "Damage" + }, + "size": { + "label": "Size" + }, + "numberAppearing": { + "label": "Number Appearing" + }, + "terrain": { + "label": "Terrain" + }, + "niche": { + "label": "Niche" + }, "biodata": { "adaptedToHelplessness": { "label": "Adapted to helplessness" @@ -287,6 +336,16 @@ } }, "Label": { + "modifications": "Modifications", + "abilities": "Abilities", + "Details": "Details", + "traits": "Traits", + "capacity" : "Capacity", + "Agility" : "Agility", + "Armor": "Armor", + "cargo": "Cargo", + "vehicle": "Vehicle", + "starship": "Starship", "Easy": "Easy (+1D)", "Moderate": "Moderate (+0D)", "Difficult": "Difficult (-1D)", @@ -408,7 +467,48 @@ "Unnatural": "Unnatural" }, "Starship": { + "Hull": { + "Pod": "Pod", + "Micro": "Micro", + "Small": "Small", + "Scout": "Scout", + "Picket": "Picket", + "Destroyer": "Destroyer", + "Cruiser": "Cruiser", + "Battleship": "Battleship", + "Carrier": "Carrier" + }, "FIELDS": { + "monthlyCost": { + "label": "Monthly Cost" + }, + "hullType": { + "label": "Hull Type" + }, + "armor": { + "label": "Armor" + }, + "guns" : { + "label": "Guns" + }, + "travelMultiplier": { + "label": "Travel Multiplier" + }, + "agility": { + "label": "Agility" + }, + "endurance": { + "label": "Endurance" + }, + "cargo": { + "label": "Cargo" + }, + "cost": { + "label": "Cost" + }, + "crew": { + "label": "Crew" + }, "description": { "label": "Description" }, @@ -458,8 +558,26 @@ }, "Vehicle": { "FIELDS": { - "airSpeed": { - "label": "Air Speed" + "tonnage": { + "label": "Tonnage" + }, + "agility": { + "label": "Agility" + }, + "force": { + "label": "Force" + }, + "cargo": { + "label": "Cargo" + }, + "cost": { + "label": "Cost" + }, + "range": { + "label": "Range" + }, + "speed": { + "label": "Speed" }, "armor": { "label": "Armor" @@ -472,15 +590,6 @@ }, "notes": { "label": "Notes" - }, - "settings": { - "label": "Settings era" - }, - "state": { - "label": "State" - }, - "surfaceSpeed": { - "label": "Surface Speed" } } }, diff --git a/module/applications/sheets/creature-sheet.mjs b/module/applications/sheets/creature-sheet.mjs index 611e650..18c9099 100644 --- a/module/applications/sheets/creature-sheet.mjs +++ b/module/applications/sheets/creature-sheet.mjs @@ -12,10 +12,8 @@ export default class FTLNomadCreatureSheet extends FTLNomadActorSheet { contentClasses: ["npc-content"], }, actions: { - createArmor: FTLNomadCreatureSheet.#onCreateArmor, - createWeapon: FTLNomadCreatureSheet.#onCreateWeapon, - createSkill: FTLNomadCreatureSheet.#onCreateSkill, - + createTrait: FTLNomadCreatureSheet.#onCreateTrait, + createAbility: FTLNomadCreatureSheet.#onCreateAbility }, } @@ -27,8 +25,8 @@ export default class FTLNomadCreatureSheet extends FTLNomadActorSheet { tabs: { template: "templates/generic/tab-navigation.hbs", }, - skills: { - template: "systems/fvtt-ftl-nomad/templates/creature-skills.hbs", + traits: { + template: "systems/fvtt-ftl-nomad/templates/creature-trait.hbs", }, biography: { template: "systems/fvtt-ftl-nomad/templates/creature-biography.hbs", @@ -37,7 +35,7 @@ export default class FTLNomadCreatureSheet extends FTLNomadActorSheet { /** @override */ tabGroups = { - sheet: "skills", + sheet: "traits", } /** @@ -46,7 +44,7 @@ export default class FTLNomadCreatureSheet extends FTLNomadActorSheet { */ #getTabs() { const tabs = { - skills: { id: "skills", group: "sheet", icon: "fa-solid fa-shapes", label: "FTLNOMAD.Label.skills" }, + traits: { id: "traits", group: "sheet", icon: "fa-solid fa-shapes", label: "FTLNOMAD.Label.traits" }, biography: { id: "biography", group: "sheet", icon: "fa-solid fa-book", label: "FTLNOMAD.Label.biography" }, } for (const v of Object.values(tabs)) { @@ -63,7 +61,7 @@ export default class FTLNomadCreatureSheet extends FTLNomadActorSheet { context.enrichedDescription = await TextEditor.enrichHTML(this.document.system.description, { async: true }) context.enrichedNotes = await TextEditor.enrichHTML(this.document.system.notes, { async: true }) - + return context } @@ -73,14 +71,12 @@ export default class FTLNomadCreatureSheet extends FTLNomadActorSheet { switch (partId) { case "main": break - case "skills": - context.tab = context.tabs.skills - context.skills = doc.itemTypes.skill - context.skills.sort((a, b) => a.name.localeCompare(b.name)) - context.weapons = doc.itemTypes.weapon - context.weapons.sort((a, b) => a.name.localeCompare(b.name)) - context.armors = doc.itemTypes.armor - context.armors.sort((a, b) => a.name.localeCompare(b.name)) + case "traits": + context.tab = context.tabs.traits + context.abilities = doc.itemTypes["creature-ability"] + context.abilities.sort((a, b) => a.name.localeCompare(b.name)) + context.traits = doc.itemTypes["creature-trait"] + context.traits.sort((a, b) => a.name.localeCompare(b.name)) break case "biography": context.tab = context.tabs.biography @@ -96,16 +92,12 @@ export default class FTLNomadCreatureSheet extends FTLNomadActorSheet { * @param {Event} event The initiating click event. * @param {HTMLElement} target The current target of the event listener. */ - static #onCreateWeapon(event, target) { - this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("FTLNOMAD.Label.newWeapon"), type: "weapon" }]) + static #onCreateTrait(event, target) { + this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("FTLNOMAD.Label.newTrait"), type: "creaturetrait" }]) } - static #onCreateArmor(event, target) { - this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("FTLNOMAD.Label.newArmor"), type: "armor" }]) - } - - static #onCreateSkill(event, target) { - this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("FTLNOMAD.Label.newSkill"), type: "skill" }]) + static #onCreateAbility(event, target) { + this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("FTLNOMAD.Label.newAbility"), type: "creatureability" }]) } /** @@ -125,30 +117,31 @@ export default class FTLNomadCreatureSheet extends FTLNomadActorSheet { async _onRoll(event, target) { const rollType = $(event.currentTarget).data("roll-type") let item - let li - // Debug : console.log(">>>>", event, target, rollType) - // Deprecated : if (this.isEditMode) return + let formula + let roll switch (rollType) { - case "char": - let charId = $(event.currentTarget).data("char-id") - item = foundry.utils.duplicate(this.actor.system.characteristics[charId]) - item.name = game.i18n.localize(`FTLNOMAD.Label.${charId}Long`) - item.targetScore = item.value * 5 - break case "skill": - li = $(event.currentTarget).parents(".item"); - item = this.actor.items.get(li.data("item-id")); + let skillId = $(event.currentTarget).data("skill-id"); + item = this.actor.system.skills[skillId]; + await this.document.system.roll(rollType, item) break - case "weapon": - case "damage": - li = $(event.currentTarget).parents(".item"); - item = this.actor.items.get(li.data("item-id")); - item.damageBonus = this.actor.system.damageBonus + case "creature-damage": + formula = this.actor.system.damage + // Rolll the damage + roll = new Roll(formula) + await roll.evaluate() + roll.toMessage( { flavor: `${this.actor.name} : Damage roll` }) + break + case "creature-number": + formula = this.actor.system.numberAppearing + // Rolll the damage + roll = new Roll(formula) + await roll.evaluate() + roll.toMessage({flavor: `${this.actor.name} : Number Appearing roll`}) break default: throw new Error(`Unknown roll type ${rollType}`) } - await this.document.system.roll(rollType, item) } async _onDrop(event) { @@ -162,5 +155,4 @@ export default class FTLNomadCreatureSheet extends FTLNomadActorSheet { return super._onDropItem(item) } } - } diff --git a/module/applications/sheets/starship-sheet.mjs b/module/applications/sheets/starship-sheet.mjs index 2096e17..3f13469 100644 --- a/module/applications/sheets/starship-sheet.mjs +++ b/module/applications/sheets/starship-sheet.mjs @@ -3,17 +3,15 @@ import FTLNomadActorSheet from "./base-actor-sheet.mjs" export default class FTLNomadStarshipSheet extends FTLNomadActorSheet { /** @override */ static DEFAULT_OPTIONS = { - classes: ["vehicle"], + classes: ["starship"], position: { width: 680, - height: 540, + height: 640, }, window: { - contentClasses: ["vehicle-content"], + contentClasses: ["starship-content"], }, actions: { - createGear: FTLNomadStarshipSheet.#onCreateGear, - createWeapon: FTLNomadStarshipSheet.#onCreateWeapon, }, } @@ -25,9 +23,6 @@ export default class FTLNomadStarshipSheet extends FTLNomadActorSheet { tabs: { template: "templates/generic/tab-navigation.hbs", }, - equipment: { - template: "systems/fvtt-ftl-nomad/templates/starship-equipment.hbs", - }, description: { template: "systems/fvtt-ftl-nomad/templates/starship-description.hbs", }, @@ -35,7 +30,7 @@ export default class FTLNomadStarshipSheet extends FTLNomadActorSheet { /** @override */ tabGroups = { - sheet: "equipment", + sheet: "description", } /** @@ -44,7 +39,6 @@ export default class FTLNomadStarshipSheet extends FTLNomadActorSheet { */ #getTabs() { const tabs = { - equipment: { id: "equipment", group: "sheet", icon: "fa-solid fa-shapes", label: "FTLNOMAD.Label.equipment" }, description: { id: "description", group: "sheet", icon: "fa-solid fa-book", label: "FTLNOMAD.Label.description" }, } for (const v of Object.values(tabs)) { @@ -61,6 +55,7 @@ export default class FTLNomadStarshipSheet extends FTLNomadActorSheet { context.enrichedDescription = await TextEditor.enrichHTML(this.document.system.description, { async: true }) context.enrichedNotes = await TextEditor.enrichHTML(this.document.system.notes, { async: true }) + context.enrichedModifications = await TextEditor.enrichHTML(this.document.system.modifications, { async: true }) return context } @@ -74,11 +69,6 @@ export default class FTLNomadStarshipSheet extends FTLNomadActorSheet { switch (partId) { case "main": break - case "equipment": - context.tab = context.tabs.equipment - context.weapons = doc.itemTypes.weapon - context.gears = doc.itemTypes.gear - break case "description": context.tab = context.tabs.description context.enrichedDescription = await TextEditor.enrichHTML(doc.system.description, { async: true }) @@ -88,17 +78,22 @@ export default class FTLNomadStarshipSheet extends FTLNomadActorSheet { return context } - /** - * Creates a new attack item directly from the sheet and embeds it into the document. - * @param {Event} event The initiating click event. - * @param {HTMLElement} target The current target of the event listener. - */ - static #onCreateGear(event, target) { - this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("FTLNOMAD.Label.newGear"), type: "gear" }]) - } - - static #onCreateWeapon(event, target) { - this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("FTLNOMAD.Label.newWeapon"), type: "weapon" }]) + async _onRoll(event, target) { + const rollType = $(event.currentTarget).data("roll-type") + let item + let formula + let roll + switch (rollType) { + case "starship-guns": + formula = this.actor.system.guns + // Rolll the damage + roll = new Roll(formula) + await roll.evaluate() + roll.toMessage( { flavor: `Starship ${this.actor.name} : Guns Damage` }) + break + default: + throw new Error(`Unknown roll type ${rollType}`) + } } diff --git a/module/applications/sheets/vehicle-sheet.mjs b/module/applications/sheets/vehicle-sheet.mjs index cdf0e4e..a3fe1f9 100644 --- a/module/applications/sheets/vehicle-sheet.mjs +++ b/module/applications/sheets/vehicle-sheet.mjs @@ -12,7 +12,7 @@ export default class FTLNomadVehicleSheet extends FTLNomadActorSheet { contentClasses: ["vehicle-content"], }, actions: { - createGear: FTLNomadVehicleSheet.#onCreateGear, + createEquipment: FTLNomadVehicleSheet.#onCreateEquipment, createWeapon: FTLNomadVehicleSheet.#onCreateWeapon, }, } @@ -77,7 +77,9 @@ export default class FTLNomadVehicleSheet extends FTLNomadActorSheet { case "equipment": context.tab = context.tabs.equipment context.weapons = doc.itemTypes.weapon - context.gears = doc.itemTypes.gear + context.weapons.sort((a, b) => a.name.localeCompare(b.name)) + context.equipments = doc.itemTypes.equipment + context.equipments.sort((a, b) => a.name.localeCompare(b.name)) break case "description": context.tab = context.tabs.description @@ -93,8 +95,8 @@ export default class FTLNomadVehicleSheet extends FTLNomadActorSheet { * @param {Event} event The initiating click event. * @param {HTMLElement} target The current target of the event listener. */ - static #onCreateGear(event, target) { - this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("FTLNOMAD.Label.newGear"), type: "gear" }]) + static #onCreateEquipment(event, target) { + this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("FTLNOMAD.Label.newEquipment"), type: "equipment" }]) } static #onCreateWeapon(event, target) { diff --git a/module/config/system.mjs b/module/config/system.mjs index 7f131cc..4b5aa81 100644 --- a/module/config/system.mjs +++ b/module/config/system.mjs @@ -121,6 +121,18 @@ export const MODIFIER_CHOICES = { "impossible": { id: "impossible", label: "FTLNOMAD.Label.Impossible", value: "-4" } } +export const STARSHIP_HULL = { + "pod": { id: "pod", label: "FTLNOMAD.Starship.Hull.Pod" }, + "micro": { id: "micro", label: "FTLNOMAD.Starship.Hull.Micro" }, + "small": { id: "small", label: "FTLNOMAD.Starship.Hull.Small" }, + "scout": { id: "scout", label: "FTLNOMAD.Starship.Hull.Scout" }, + "picket": { id: "picket", label: "FTLNOMAD.Starship.Hull.Picket" }, + "destroyer": { id: "destroyer", label: "FTLNOMAD.Starship.Hull.Destroyer" }, + "cruiser": { id: "cruiser", label: "FTLNOMAD.Starship.Hull.Cruiser" }, + "battleship": { id: "battleship", label: "FTLNOMAD.Starship.Hull.Battleship" }, + "carrier": { id: "carrier", label: "FTLNOMAD.Starship.Hull.Carrier" } +} + /** * Include all constant definitions within the SYSTEM global export * @type {Object} @@ -135,6 +147,8 @@ export const SYSTEM = { TRIAGE_RESULTS, CREATURE_TERRAIN_TYPES, CREATURE_SIZES, + CREATURE_NICHES, + STARSHIP_HULL, SKILLS, ASCII } diff --git a/module/models/character.mjs b/module/models/character.mjs index cf32a01..1f10f2a 100644 --- a/module/models/character.mjs +++ b/module/models/character.mjs @@ -97,6 +97,10 @@ export default class FTLNomadProtagonist extends foundry.abstract.TypeDataModel if (armor !== this.armor.value) { this.armor.value = armor } + let staminaMax = 14 + (3*this.skills.physical.value) + if (staminaMax !== this.health.staminaMax) { + this.health.staminaMax = staminaMax + } } isEncumbered() { diff --git a/module/models/creature.mjs b/module/models/creature.mjs index 9e13bd8..113b3a1 100644 --- a/module/models/creature.mjs +++ b/module/models/creature.mjs @@ -7,9 +7,11 @@ export default class FTLNomadCreature extends foundry.abstract.TypeDataModel { const requiredInteger = { required: true, nullable: false, integer: true } const schema = {} + // Carac const skillField = (label) => { const schema = { value: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0, max: 5 }), + label: new fields.StringField({ required: true, nullable: false, initial: label }), enabled: new fields.BooleanField({ required: true, initial: true }), } return new fields.SchemaField(schema, { label }) @@ -42,32 +44,29 @@ export default class FTLNomadCreature extends foundry.abstract.TypeDataModel { /** @override */ static LOCALIZATION_PREFIXES = ["FTLNOMAD.Creature"] - /** */ - /** - * Rolls a dice for a character. - * @param {("save"|"resource|damage")} rollType The type of the roll. - * @param {number} rollItem The target value for the roll. Which caracteristic or resource. If the roll is a damage roll, this is the id of the item. - * @returns {Promise} - A promise that resolves to null if the roll is cancelled. - */ - async roll(rollType, rollItem) { - let opponentTarget - const hasTarget = opponentTarget !== undefined - - let roll = await CthulhuEternalRoll.prompt({ - rollType, - rollItem, - isLowWP: false, - isZeroWP: false, - isExhausted: false, - actorId: this.parent.id, - actorName: this.parent.name, - actorImage: this.parent.img, - hasTarget, - target: opponentTarget - }) - if (!roll) return null - - await roll.toMessage({}, { rollMode: roll.options.rollMode }) - } - + isEncumbered() { + return false + } + + async roll(rollType, rollItem) { + let opponentTarget + const hasTarget = opponentTarget !== undefined + + let roll = await FTLNomadRoll.prompt({ + rollType, + rollItem, + actorId: this.parent.id, + actorName: this.parent.name, + actorImage: this.parent.img, + traits: this.parent.items.filter(i => i.type === "creature-trait" && i.system.isAdvantage), + abilities: this.parent.items.filter(i => i.type === "creature-ability" && i.system.isAdvantage), + isEncumbered: this.isEncumbered(), + hasTarget, + target: opponentTarget + }) + if (!roll) return null + + await roll.toMessage({}, { rollMode: roll.options.rollMode }) + } + } diff --git a/module/models/starship.mjs b/module/models/starship.mjs index 1e40dfd..318b828 100644 --- a/module/models/starship.mjs +++ b/module/models/starship.mjs @@ -28,4 +28,8 @@ export default class FTLNomadStarship extends foundry.abstract.TypeDataModel { /** @override */ static LOCALIZATION_PREFIXES = ["FTLNOMAD.Starship"] + isEncumbered() { + return false + } + } diff --git a/module/models/vehicle.mjs b/module/models/vehicle.mjs index ab2da4d..be9e796 100644 --- a/module/models/vehicle.mjs +++ b/module/models/vehicle.mjs @@ -8,7 +8,7 @@ export default class FTLNomadVehicle extends foundry.abstract.TypeDataModel { const schema = {} schema.agility = new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }) - schema.armor = new fields.StringField({ required: true, initial: "" }) + schema.armor = new fields.StringField({ required: true, initial: 0, min:0 }) schema.cargo = new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }) schema.crew = new fields.NumberField({ ...requiredInteger, initial: 1, min: 1 }) schema.force = new fields.NumberField({ ...requiredInteger, initial: 1, min: 1 }) @@ -28,4 +28,8 @@ export default class FTLNomadVehicle extends foundry.abstract.TypeDataModel { /** @override */ static LOCALIZATION_PREFIXES = ["FTLNOMAD.Vehicle"] + isEncumbered() { + return false + } + } diff --git a/styles/creature.less b/styles/creature.less index beddf7c..9a786ea 100644 --- a/styles/creature.less +++ b/styles/creature.less @@ -39,11 +39,9 @@ align-items: center; input { flex: none; - width: 2rem; - margin-left: 4px; - } - .damage-bonus { - font-size: calc(var(--font-size-standard) * 0.8); + width: 2.5rem; + margin-left: 2px; + margin-right: 4px; } .hp-separator { font-size: calc(var(--font-size-standard) * 1.2); @@ -77,6 +75,28 @@ flex-direction: column; gap: 5px; + .creature-spec { + label { + max-width: 8rem; + } + select { + max-width: 10rem; + } + input { + max-width: 6rem; + } + .dice-2d6 { + max-width: 1.5rem; + } + .rollable:hover, + .rollable:focus { + text-shadow: 0 0 8px var(--color-shadow-primary); + cursor: pointer; + } + .rollable { + } + } + .creature-name { display: flex; input { @@ -85,87 +105,6 @@ width: 400px; } } - .san { - align-content: flex-start; - input { - min-width: 2.2rem; - max-width: 2.2rem; - margin-bottom: 4px; - } - select { - min-width: 6rem; - max-width: 6rem; - } - .rollable:hover, - .rollable:focus { - text-shadow: 0 0 8px var(--color-shadow-primary); - cursor: pointer; - font-size: 0.9rem; - } - .button { - min-width: 4rem; - max-width: 4rem; - } - .san-checkbox { - min-width: 1rem; - max-width: 1rem; - } - .label-short-field { - font-size: 0.9rem; - max-width: 3rem; - min-width: 3rem; - flex-grow: 1; - } - .label-recovery { - margin-left: 4px; - } - .label-field { - font-size: 0.9rem; - max-width: 6rem; - min-width: 6rem; - flex-grow: 1; - } - .label-bp { - flex-grow: 1; - max-width: 3rem; - min-width: 3rem; - margin-left: 4px; - } - .label-insanity { - flex-grow: 1; - margin-left: 4px; - max-width: 8rem; - min-width: 8rem; - } - .spacing { - margin-left: 4px; - } - .d100 { - flex: 0; - } - } - .willpower { - input { - min-width: 2.4rem; - max-width: 2.4rem; - } - input[type="checkbox"] { - min-width: 1rem; - max-width: 1rem; - } - .label-field { - flex-grow: 1; - margin-left: 4px; - max-width: 5rem; - min-width: 5rem; - font-size: 0.9rem; - } - .checkbox { - flex-grow: 0; - min-width: 1rem; - max-width: 1rem; - } - } label { min-width: 120px; } @@ -180,24 +119,29 @@ min-width: 650px; } - .creature-characteristics { + .creature-skills { background-color: var(--color-light-1); display: flex; flex-direction: column; gap: 5px; flex: 1; - .creature-characteristic { + .creature-skill { display: flex; align-items: center; + .icon-skill { + width: 24px; + height: 24px; + margin-right: 4px; + } .rollable:hover, .rollable:focus { text-shadow: 0 0 8px var(--color-shadow-primary); cursor: pointer; } .rollable { - min-width: 3rem; - max-width: 3rem; + min-width: 4.5rem; + max-width: 4.5rem; } .char-text { margin-left: 0.5rem; @@ -218,11 +162,11 @@ } } - .creature-characteristic-play { + .creature-skill-play { min-width: 225px; } - .creature-characteristic-edit { + .creature-skill-edit { min-width: 400px; } } @@ -239,12 +183,24 @@ margin-left: 8px; } - .adapted { + .rank { + display: grid; + grid-template-columns: repeat(5, 1fr); + gap: 8px; + label { + min-width: 6rem; + } + input { + max-width: 4rem; + } + } + + .biodata { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; label { - min-width: 20rem; + min-width: 12rem; } } @@ -285,79 +241,6 @@ padding-left: 5px; } } - - .armors { - display: grid; - grid-template-columns: repeat(3, 1fr); - gap: 4px; - .armor { - display: flex; - align-items: center; - gap: 4px; - min-width: 13rem; - max-width: 13rem; - .rollable:hover, - .rollable:focus { - text-shadow: 0 0 8px var(--color-shadow-primary); - cursor: pointer; - } - .controls { - font-size: 0.7rem; - min-width: 1.8rem; - max-width: 1.8rem; - } - .protection { - min-width: 5rem; - max-width: 5rem; - } - .name { - min-width: 8rem; - max-width: 8rem; - } - .item-img { - width: 24px; - height: 24px; - margin: 4px 0 0 0; - } - } - } - - .weapons { - display: grid; - grid-template-columns: repeat(2, 1fr); - gap: 4px; - .weapon { - display: flex; - align-items: center; - gap: 4px; - min-width: 13rem; - max-width: 13rem; - .rollable:hover, - .rollable:focus { - text-shadow: 0 0 8px var(--color-shadow-primary); - cursor: pointer; - } - .controls { - font-size: 0.7rem; - min-width: 1.8rem; - max-width: 1.8rem; - } - .damage { - min-width: 6rem; - max-width: 6rem; - } - .name { - min-width: 10rem; - max-width: 10rem; - } - .item-img { - width: 24px; - height: 24px; - margin: 4px 0 0 0; - } - } - } - .skills { display: grid; grid-template-columns: repeat(3, 1fr); @@ -528,7 +411,7 @@ } } -.tab.creature-equipment { +.tab.creature-traits { background-color: var(--color-light-1); display: grid; grid-template-columns: 1fr; @@ -539,11 +422,248 @@ } } - .gears { + .traits { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 4px; + .trait { + display: flex; + align-items: center; + gap: 4px; + min-width: 13rem; + max-width: 13rem; + .rollable:hover, + .rollable:focus { + text-shadow: 0 0 8px var(--color-shadow-primary); + cursor: pointer; + } + .controls { + font-size: 0.7rem; + min-width: 1.8rem; + max-width: 1.8rem; + } + .damage { + min-width: 6rem; + max-width: 6rem; + } + .name { + min-width: 10rem; + max-width: 10rem; + } + .item-img { + width: 24px; + height: 24px; + margin: 4px 0 0 0; + } + } + } + + .abilities { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 4px; + .ability { + display: flex; + align-items: center; + gap: 4px; + min-width: 13rem; + max-width: 13rem; + .rollable:hover, + .rollable:focus { + text-shadow: 0 0 8px var(--color-shadow-primary); + cursor: pointer; + } + .controls { + font-size: 0.7rem; + min-width: 1.8rem; + max-width: 1.8rem; + } + .damage { + min-width: 6rem; + max-width: 6rem; + } + .name { + min-width: 10rem; + max-width: 10rem; + } + .item-img { + width: 24px; + height: 24px; + margin: 4px 0 0 0; + } + } + } + + .psionics { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 4px; + .psionic { + display: flex; + align-items: center; + gap: 4px; + min-width: 13rem; + max-width: 13rem; + .rollable:hover, + .rollable:focus { + text-shadow: 0 0 8px var(--color-shadow-primary); + cursor: pointer; + } + .controls { + font-size: 0.7rem; + min-width: 1.8rem; + max-width: 1.8rem; + } + .damage { + min-width: 6rem; + max-width: 6rem; + } + .name { + min-width: 10rem; + max-width: 10rem; + } + .item-img { + width: 24px; + height: 24px; + margin: 4px 0 0 0; + } + } + } + +} + +.tab.creature-equipment { + background-color: var(--color-light-1); + display: grid; + grid-template-columns: 1fr; + legend { + a { + font-size: calc(var(--font-size-standard) * 1.4); + padding-left: 5px; + } + } + .encumbrance { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 4px; + input { + max-width: 4rem; + } + .encumbered { + color: red; + font-weight: bold; + } + } + + .implants { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 4px; + .implant { + display: flex; + align-items: center; + gap: 4px; + min-width: 13rem; + max-width: 13rem; + .rollable:hover, + .rollable:focus { + text-shadow: 0 0 8px var(--color-shadow-primary); + cursor: pointer; + } + .controls { + font-size: 0.7rem; + min-width: 1.8rem; + max-width: 1.8rem; + } + .damage { + min-width: 6rem; + max-width: 6rem; + } + .name { + min-width: 10rem; + max-width: 10rem; + } + .item-img { + width: 24px; + height: 24px; + margin: 4px 0 0 0; + } + } + } + + + .weapons { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 4px; + .weapon { + display: flex; + align-items: center; + gap: 4px; + min-width: 13rem; + max-width: 13rem; + .rollable:hover, + .rollable:focus { + text-shadow: 0 0 8px var(--color-shadow-primary); + cursor: pointer; + } + .controls { + font-size: 0.7rem; + min-width: 1.8rem; + max-width: 1.8rem; + } + .damage { + min-width: 6rem; + max-width: 6rem; + } + .name { + min-width: 10rem; + max-width: 10rem; + } + .item-img { + width: 24px; + height: 24px; + margin: 4px 0 0 0; + } + } + } + + .armors { + display: grid; + grid-template-columns: repeat(2, 1fr); + gap: 4px; + .armor { + display: flex; + align-items: center; + gap: 4px; + min-width: 13rem; + max-width: 13rem; + .controls { + font-size: 0.7rem; + min-width: 1.8rem; + max-width: 1.8rem; + } + .protection { + min-width: 6rem; + max-width: 6rem; + } + .name { + min-width: 10rem; + max-width: 10rem; + } + .item-img { + width: 24px; + height: 24px; + margin: 4px 0 0 0; + } + } + } + + .equipments { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; - .gear { + .equipment { display: flex; align-items: center; gap: 4px; @@ -571,70 +691,6 @@ } } - .rituals { - display: grid; - grid-template-columns: repeat(2, 1fr); - gap: 4px; - .ritual { - display: flex; - align-items: center; - gap: 4px; - min-width: 20rem; - max-width: 20rem; - .rollable:hover, - .rollable:focus { - text-shadow: 0 0 8px var(--color-shadow-primary); - cursor: pointer; - } - .controls { - font-size: 0.7rem; - min-width: 1.8rem; - max-width: 1.8rem; - } - .name { - min-width: 17rem; - max-width: 17rem; - } - .item-img { - width: 24px; - height: 24px; - margin: 4px 0 0 0; - } - } - } - - .tomes { - display: grid; - grid-template-columns: repeat(2, 1fr); - gap: 4px; - .tome { - display: flex; - align-items: center; - gap: 4px; - min-width: 20rem; - max-width: 20rem; - .rollable:hover, - .rollable:focus { - text-shadow: 0 0 8px var(--color-shadow-primary); - cursor: pointer; - } - .controls { - font-size: 0.7rem; - min-width: 1.8rem; - max-width: 1.8rem; - } - .name { - min-width: 17rem; - max-width: 17rem; - } - .item-img { - width: 24px; - height: 24px; - margin: 4px 0 0 0; - } - } - } - prose-mirror.inactive { min-height: 40px; } diff --git a/styles/starship.less b/styles/starship.less index 1a28a7e..c71766d 100644 --- a/styles/starship.less +++ b/styles/starship.less @@ -34,6 +34,15 @@ } } + .spec { + label { + max-width: 5rem; + } + input { + max-width: 3rem; + } + } + } .starship-right { @@ -50,6 +59,42 @@ } } + .capacity { + .dice-2d6 { + max-width: 1.5rem; + margin-left: 0.2rem; + } + .rollable:hover, + .rollable:focus { + text-shadow: 0 0 8px var(--color-shadow-primary); + cursor: pointer; + } + label { + margin-left: 0.2rem; + max-width: 10rem; + } + input { + max-width: 4rem; + } + select { + max-width: 5rem; + } + } + .cargo { + label { + margin-left: 0.2rem; + max-width: 10rem; + } + input { + max-width: 4rem; + } + select { + max-width: 5rem; + } + + } + + .starship-infos { display: flex; flex-direction: column; @@ -104,7 +149,7 @@ } } -.starship-biography { +.starship-description { background-color: var(--color-light-1); prose-mirror.inactive { min-height: 40px; diff --git a/styles/vehicle.less b/styles/vehicle.less index 3ca9cf1..5008c11 100644 --- a/styles/vehicle.less +++ b/styles/vehicle.less @@ -50,6 +50,17 @@ } } + .cargo, + .capacity { + label { + max-width: 5rem; + } + input { + max-width: 3.5rem; + margin-right: 0.5rem; + } + } + .vehicle-infos { display: flex; flex-direction: column; @@ -104,7 +115,7 @@ } } -.vehicle-biography { +.vehicle-description { background-color: var(--color-light-1); prose-mirror.inactive { min-height: 40px; @@ -179,11 +190,12 @@ } } } - .gears { + + .equipments { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; - .gear { + .equipment { display: flex; align-items: center; gap: 4px; diff --git a/system.json b/system.json index 1c376f0..5761d9b 100644 --- a/system.json +++ b/system.json @@ -59,5 +59,5 @@ }, "primaryTokenAttribute": "hp", "socket": true, - "background": "systems/fvtt-ftl-nomad/assets/ui/background_01.webp" + "background": "systems/fvtt-ftl-nomad/assets/ui/ftl_nomad_background_01.webp" } diff --git a/templates/character-biography.hbs b/templates/character-biography.hbs index 3c917ce..14b3af6 100644 --- a/templates/character-biography.hbs +++ b/templates/character-biography.hbs @@ -30,4 +30,5 @@ {{localize "FTLNOMAD.Label.notes"}} {{formInput systemFields.notes enriched=enrichedNotes value=system.notes name="system.notes" toggled=true}} + \ No newline at end of file diff --git a/templates/creature-main.hbs b/templates/creature-main.hbs index 1609840..f6e6f0f 100644 --- a/templates/creature-main.hbs +++ b/templates/creature-main.hbs @@ -1,4 +1,5 @@
+ {{!log "creature-main" this}}
{{localize "FTLNOMAD.Label.creature"}}
@@ -7,89 +8,96 @@
+
+ {{localize "FTLNOMAD.Label.Stamina"}} +
+ Curr. {{formField systemFields.health.fields.staminaValue value=health.staminaValue}} + Max {{formField systemFields.health.fields.staminaMax value=system.health.staminaMax rootId=partId}} +
+
{{formInput fields.name value=source.name rootId=partId disabled=isPlayMode}} - +
-
- {{localize "FTLNOMAD.Label.HP"}} -
- {{formField systemFields.hp.fields.value value=system.hp.value}} - / - {{formField systemFields.hp.fields.max value=system.hp.max }} -
-
- {{formField systemFields.damageBonus value=system.damageBonus classes="damage-bonus"}} -
-
-
- {{localize "FTLNOMAD.Label.willpower"}} -
- - {{formInput systemFields.wp.fields.value value=system.wp.value}} - - {{formInput systemFields.wp.fields.max value=system.wp.max rootId=partId }} - - {{formInput systemFields.wp.fields.exhausted value=system.wp.exhausted classes="checkbox"}} +
+ {{localize "FTLNOMAD.Label.Details"}} + {{formField systemFields.terrain value=system.terrain rootId=partId disabled=isPlayMode localize=true}} + {{formField systemFields.niche value=system.niche rootId=partId disabled=isPlayMode localize=true}} + {{formField systemFields.size value=system.size rootId=partId disabled=isPlayMode localize=true}} +
+ + {{formField systemFields.numberAppearing value=system.numberAppearing rootId=partId disabled=isPlayMode + localize=true}} +
+
+ + {{formField systemFields.damage value=system.damage rootId=partId disabled=isPlayMode localize=true}}
- -
-
- {{localize "FTLNOMAD.Label.characteristics"}} -
- - - {{formField systemFields.characteristics.fields.str.fields.value value=system.characteristics.str.value - rootId=partId disabled=isPlayMode }} - +
+ {{localize "FTLNOMAD.Label.skills"}} +
+ + + {{formInput systemFields.skills.fields.combat.fields.value value=system.skills.combat.value rootId=partId + disabled=isPlayMode type="number" }}
-
- - - {{formField systemFields.characteristics.fields.dex.fields.value value=system.characteristics.dex.value - rootId=partId disabled=isPlayMode }} - +
+ + + {{formInput systemFields.skills.fields.knowledge.fields.value value=system.skills.knowledge.value + rootId=partId disabled=isPlayMode type="number"}}
-
- - - {{formField systemFields.characteristics.fields.con.fields.value value=system.characteristics.con.value - rootId=partId disabled=isPlayMode }} - +
+ + + {{formInput systemFields.skills.fields.social.fields.value value=system.skills.social.value + rootId=partId disabled=isPlayMode type="number"}}
-
- - - {{formField systemFields.characteristics.fields.int.fields.value value=system.characteristics.int.value - rootId=partId disabled=isPlayMode }} - +
+ + + {{formInput systemFields.skills.fields.physical.fields.value value=system.skills.physical.value + rootId=partId disabled=isPlayMode type="number"}}
-
- - - {{formField systemFields.characteristics.fields.pow.fields.value value=system.characteristics.pow.value - rootId=partId disabled=isPlayMode }} - +
+ + + {{formInput systemFields.skills.fields.stealth.fields.value value=system.skills.stealth.value + rootId=partId disabled=isPlayMode type="number"}} +
+
+ + + {{formInput systemFields.skills.fields.vehicles.fields.value value=system.skills.vehicles.value + rootId=partId disabled=isPlayMode type="number"}} +
+
+ + + {{formInput systemFields.skills.fields.technology.fields.value value=system.skills.technology.value + rootId=partId disabled=isPlayMode type="number"}}
-
+ +
\ No newline at end of file diff --git a/templates/creature-skills.hbs b/templates/creature-skills.hbs deleted file mode 100644 index a4b9e26..0000000 --- a/templates/creature-skills.hbs +++ /dev/null @@ -1,57 +0,0 @@ -
- -
- {{localize "FTLNOMAD.Label.weapons"}}{{#if isEditMode}} - {{/if}} - -
- {{#each weapons as |item|}} - {{!log 'weapon' this}} - - {{/each}} -
-
- -
- {{localize "FTLNOMAD.Label.skills"}} -
- {{#each skills as |item|}} -
- - -
{{item.name}} -
-
- {{item.system.skillTotal}} -
-
- - -
-
- {{/each}} -
-
- - -
\ No newline at end of file diff --git a/templates/creature-trait.hbs b/templates/creature-trait.hbs index a372322..c9b028b 100644 --- a/templates/creature-trait.hbs +++ b/templates/creature-trait.hbs @@ -1,21 +1,50 @@ -
-
- - {{formInput fields.name value=source.name}} -
- +
+
- {{formField systemFields.isAdvantage value=system.isAdvantage}} + {{localize "FTLNOMAD.Label.traits"}}{{#if isEditMode}} + {{/if}} + +
+ {{#each traits as |item|}} +
+ +
+ {{item.name}} +
+
+ + +
+
+ {{/each}} +
- {{localize "FTLNOMAD.Label.description"}} - {{formInput - systemFields.description - enriched=description - value=system.description - name="system.description" - toggled="false" - }} + {{localize "FTLNOMAD.Label.abilities"}}{{#if isEditMode}} + {{/if}} + +
+ {{#each abilities as |item|}} + {{!log 'armor' this}} +
+ +
+ {{item.name}} +
+
+ + +
+
+ {{/each}} +
+
\ No newline at end of file diff --git a/templates/starship-description.hbs b/templates/starship-description.hbs new file mode 100644 index 0000000..d80af70 --- /dev/null +++ b/templates/starship-description.hbs @@ -0,0 +1,18 @@ +
+ +
+ {{localize "FTLNOMAD.Label.description"}} + {{formInput systemFields.description enriched=enrichedDescription value=system.description name="system.description" toggled=true}} +
+ +
+ {{localize "FTLNOMAD.Label.modifications"}} + {{formInput systemFields.modifications enriched=enrichedModifications value=system.modifications name="system.modifications" toggled=true}} +
+ +
+ {{localize "FTLNOMAD.Label.notes"}} + {{formInput systemFields.notes enriched=enrichedNotes value=system.notes name="system.notes" toggled=true}} +
+ +
\ No newline at end of file diff --git a/templates/starship-main.hbs b/templates/starship-main.hbs index d2e7ea0..b9e2f09 100644 --- a/templates/starship-main.hbs +++ b/templates/starship-main.hbs @@ -8,13 +8,10 @@ -
- {{localize "FTLNOMAD.Label.HP"}} -
- {{formField systemFields.hp.fields.value value=system.hp.value}} - / - {{formField systemFields.hp.fields.max value=system.hp.max rootId=partId disabled=true}} -
+
+ {{formField systemFields.agility value=system.agility localize=true}} + {{formField systemFields.armor value=system.armor localize=true}} + {{formField systemFields.endurance value=system.endurance localize=true}}
@@ -28,20 +25,29 @@ - -
- {{localize "FTLNOMAD.Label.Speed"}} +
+ {{localize "FTLNOMAD.Label.capacity"}}
- {{formField systemFields.surfaceSpeed value=system.surfaceSpeed localize=true}} - {{formField systemFields.airSpeed value=system.airSpeed localize=true}} - + {{formField systemFields.hullType value=system.hullType localize=true}} +
+ + {{formField systemFields.guns value=system.guns localize=true}} +
+
+
+ {{formField systemFields.cost value=system.cost localize=true}} + {{formField systemFields.monthlyCost value=system.monthlyCost localize=true}} +
+
+ {{formField systemFields.travelMultiplier value=system.travelMultiplier localize=true}}
-
- {{localize "FTLNOMAD.Label.armor"}} +
+ {{localize "FTLNOMAD.Label.cargo"}}
- {{formField systemFields.armor value=system.armor localize=true}} + {{formField systemFields.crew value=system.crew localize=true}} + {{formField systemFields.cargo value=system.cargo localize=true}}
diff --git a/templates/vehicle-description.hbs b/templates/vehicle-description.hbs index e959595..d1255d0 100644 --- a/templates/vehicle-description.hbs +++ b/templates/vehicle-description.hbs @@ -9,4 +9,5 @@ {{localize "FTLNOMAD.Label.notes"}} {{formInput systemFields.notes enriched=enrichedNotes value=system.notes name="system.notes" toggled=true}}
+
\ No newline at end of file diff --git a/templates/vehicle-equipment.hbs b/templates/vehicle-equipment.hbs index d24ffa4..b5c858a 100644 --- a/templates/vehicle-equipment.hbs +++ b/templates/vehicle-equipment.hbs @@ -28,14 +28,14 @@
- {{localize "FTLNOMAD.Label.gears"}}{{#if isEditMode}} - {{/if}} + {{localize "FTLNOMAD.Label.equipment"}}{{#if isEditMode}} + {{/if}} -
- {{#each gears as |item|}} +
+ {{#each equipments as |item|}} {{!log 'armor' this}} -
+
{{item.name}} diff --git a/templates/vehicle-main.hbs b/templates/vehicle-main.hbs index 8dfd1d7..845badf 100644 --- a/templates/vehicle-main.hbs +++ b/templates/vehicle-main.hbs @@ -9,11 +9,9 @@ data-tooltip="{{actor.name}}" />
- {{localize "FTLNOMAD.Label.HP"}} + {{localize "FTLNOMAD.Label.Agility"}}
- {{formField systemFields.hp.fields.value value=system.hp.value}} - / - {{formField systemFields.hp.fields.max value=system.hp.max rootId=partId disabled=true}} + {{formField systemFields.agility value=system.agility localize=true}}
@@ -28,20 +26,24 @@
- -
- {{localize "FTLNOMAD.Label.Speed"}} +
+ {{localize "FTLNOMAD.Label.capacity"}}
- {{formField systemFields.surfaceSpeed value=system.surfaceSpeed localize=true}} - {{formField systemFields.airSpeed value=system.airSpeed localize=true}} - + {{formField systemFields.armor value=system.armor localize=true}} + {{formField systemFields.force value=system.force localize=true}} +
+
+ {{formField systemFields.range value=system.range localize=true}} + {{formField systemFields.speed value=system.speed localize=true}}
-
- {{localize "FTLNOMAD.Label.armor"}} +
+ {{localize "FTLNOMAD.Label.cargo"}}
- {{formField systemFields.armor value=system.armor localize=true}} + {{formField systemFields.crew value=system.crew localize=true}} + {{formField systemFields.cargo value=system.cargo localize=true}} + {{formField systemFields.tonnage value=system.tonnage localize=true}}