Compare commits
	
		
			2 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| e54f998d29 | |||
| 7eee4fab7e | 
| @@ -893,6 +893,15 @@ i.fvtt-ftl-nomad { | |||||||
|   font-size: calc(var(--font-size-standard) * 1.4); |   font-size: calc(var(--font-size-standard) * 1.4); | ||||||
|   width: 400px; |   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 { | .fvtt-ftl-nomad .vehicle-main .vehicle-pc .vehicle-right .vehicle-infos { | ||||||
|   display: flex; |   display: flex; | ||||||
|   flex-direction: column; |   flex-direction: column; | ||||||
| @@ -937,27 +946,27 @@ i.fvtt-ftl-nomad { | |||||||
| .fvtt-ftl-nomad .vehicle-main .vehicle-pc-edit { | .fvtt-ftl-nomad .vehicle-main .vehicle-pc-edit { | ||||||
|   min-width: 650px; |   min-width: 650px; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .vehicle-biography { | .fvtt-ftl-nomad .vehicle-description { | ||||||
|   background-color: var(--color-light-1); |   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; |   min-height: 40px; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .vehicle-biography prose-mirror.active { | .fvtt-ftl-nomad .vehicle-description prose-mirror.active { | ||||||
|   min-height: 150px; |   min-height: 150px; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .vehicle-biography .field-label { | .fvtt-ftl-nomad .vehicle-description .field-label { | ||||||
|   margin-left: 8px; |   margin-left: 8px; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .vehicle-biography .biodata { | .fvtt-ftl-nomad .vehicle-description .biodata { | ||||||
|   display: grid; |   display: grid; | ||||||
|   grid-template-columns: repeat(2, 1fr); |   grid-template-columns: repeat(2, 1fr); | ||||||
|   gap: 8px; |   gap: 8px; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .vehicle-biography .biodata label { | .fvtt-ftl-nomad .vehicle-description .biodata label { | ||||||
|   min-width: 3rem; |   min-width: 3rem; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .vehicle-biography .biodata .feature { | .fvtt-ftl-nomad .vehicle-description .biodata .feature { | ||||||
|   display: flex; |   display: flex; | ||||||
|   align-items: center; |   align-items: center; | ||||||
|   gap: 4px; |   gap: 4px; | ||||||
| @@ -1007,36 +1016,36 @@ i.fvtt-ftl-nomad { | |||||||
|   height: 32px; |   height: 32px; | ||||||
|   margin: 4px 0 0 0; |   margin: 4px 0 0 0; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .tab.vehicle-equipment .gears { | .fvtt-ftl-nomad .tab.vehicle-equipment .equipments { | ||||||
|   display: grid; |   display: grid; | ||||||
|   grid-template-columns: repeat(3, 1fr); |   grid-template-columns: repeat(3, 1fr); | ||||||
|   gap: 4px; |   gap: 4px; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .tab.vehicle-equipment .gears .gear { | .fvtt-ftl-nomad .tab.vehicle-equipment .equipments .equipment { | ||||||
|   display: flex; |   display: flex; | ||||||
|   align-items: center; |   align-items: center; | ||||||
|   gap: 4px; |   gap: 4px; | ||||||
|   min-width: 13rem; |   min-width: 13rem; | ||||||
|   max-width: 13srem; |   max-width: 13srem; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .tab.vehicle-equipment .gears .gear .rollable:hover, | .fvtt-ftl-nomad .tab.vehicle-equipment .equipments .equipment .rollable:hover, | ||||||
| .fvtt-ftl-nomad .tab.vehicle-equipment .gears .gear .rollable:focus { | .fvtt-ftl-nomad .tab.vehicle-equipment .equipments .equipment .rollable:focus { | ||||||
|   text-shadow: 0 0 8px var(--color-shadow-primary); |   text-shadow: 0 0 8px var(--color-shadow-primary); | ||||||
|   cursor: pointer; |   cursor: pointer; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .tab.vehicle-equipment .gears .gear .controls { | .fvtt-ftl-nomad .tab.vehicle-equipment .equipments .equipment .controls { | ||||||
|   min-width: 2rem; |   min-width: 2rem; | ||||||
|   max-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; |   min-width: 5rem; | ||||||
|   max-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; |   min-width: 8rem; | ||||||
|   max-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; |   width: 32px; | ||||||
|   height: 32px; |   height: 32px; | ||||||
|   margin: 4px 0 0 0; |   margin: 4px 0 0 0; | ||||||
| @@ -1128,6 +1137,12 @@ i.fvtt-ftl-nomad { | |||||||
|   width: auto; |   width: auto; | ||||||
|   border: none; |   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 { | .fvtt-ftl-nomad .starship-main .starship-pc .starship-right { | ||||||
|   display: flex; |   display: flex; | ||||||
|   flex-direction: column; |   flex-direction: column; | ||||||
| @@ -1141,6 +1156,35 @@ i.fvtt-ftl-nomad { | |||||||
|   font-size: calc(var(--font-size-standard) * 1.4); |   font-size: calc(var(--font-size-standard) * 1.4); | ||||||
|   width: 400px; |   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 { | .fvtt-ftl-nomad .starship-main .starship-pc .starship-right .starship-infos { | ||||||
|   display: flex; |   display: flex; | ||||||
|   flex-direction: column; |   flex-direction: column; | ||||||
| @@ -1185,27 +1229,27 @@ i.fvtt-ftl-nomad { | |||||||
| .fvtt-ftl-nomad .starship-main .starship-pc-edit { | .fvtt-ftl-nomad .starship-main .starship-pc-edit { | ||||||
|   min-width: 650px; |   min-width: 650px; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .starship-biography { | .fvtt-ftl-nomad .starship-description { | ||||||
|   background-color: var(--color-light-1); |   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; |   min-height: 40px; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .starship-biography prose-mirror.active { | .fvtt-ftl-nomad .starship-description prose-mirror.active { | ||||||
|   min-height: 150px; |   min-height: 150px; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .starship-biography .field-label { | .fvtt-ftl-nomad .starship-description .field-label { | ||||||
|   margin-left: 8px; |   margin-left: 8px; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .starship-biography .biodata { | .fvtt-ftl-nomad .starship-description .biodata { | ||||||
|   display: grid; |   display: grid; | ||||||
|   grid-template-columns: repeat(2, 1fr); |   grid-template-columns: repeat(2, 1fr); | ||||||
|   gap: 8px; |   gap: 8px; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .starship-biography .biodata label { | .fvtt-ftl-nomad .starship-description .biodata label { | ||||||
|   min-width: 3rem; |   min-width: 3rem; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .starship-biography .biodata .feature { | .fvtt-ftl-nomad .starship-description .biodata .feature { | ||||||
|   display: flex; |   display: flex; | ||||||
|   align-items: center; |   align-items: center; | ||||||
|   gap: 4px; |   gap: 4px; | ||||||
| @@ -1382,11 +1426,9 @@ i.fvtt-ftl-nomad { | |||||||
| } | } | ||||||
| .fvtt-ftl-nomad .creature-main .creature-pc .creature-left .creature-hp input { | .fvtt-ftl-nomad .creature-main .creature-pc .creature-left .creature-hp input { | ||||||
|   flex: none; |   flex: none; | ||||||
|   width: 2rem; |   width: 2.5rem; | ||||||
|   margin-left: 4px; |   margin-left: 2px; | ||||||
| } |   margin-right: 4px; | ||||||
| .fvtt-ftl-nomad .creature-main .creature-pc .creature-left .creature-hp .damage-bonus { |  | ||||||
|   font-size: calc(var(--font-size-standard) * 0.8); |  | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .creature-main .creature-pc .creature-left .creature-hp .hp-separator { | .fvtt-ftl-nomad .creature-main .creature-pc .creature-left .creature-hp .hp-separator { | ||||||
|   font-size: calc(var(--font-size-standard) * 1.2); |   font-size: calc(var(--font-size-standard) * 1.2); | ||||||
| @@ -1412,6 +1454,23 @@ i.fvtt-ftl-nomad { | |||||||
|   flex-direction: column; |   flex-direction: column; | ||||||
|   gap: 5px; |   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 { | .fvtt-ftl-nomad .creature-main .creature-pc .creature-right .creature-name { | ||||||
|   display: flex; |   display: flex; | ||||||
| } | } | ||||||
| @@ -1420,85 +1479,6 @@ i.fvtt-ftl-nomad { | |||||||
|   font-size: var(--font-size-title); |   font-size: var(--font-size-title); | ||||||
|   width: 400px; |   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 { | .fvtt-ftl-nomad .creature-main .creature-pc .creature-right label { | ||||||
|   min-width: 120px; |   min-width: 120px; | ||||||
| } | } | ||||||
| @@ -1508,46 +1488,51 @@ i.fvtt-ftl-nomad { | |||||||
| .fvtt-ftl-nomad .creature-main .creature-pc-edit { | .fvtt-ftl-nomad .creature-main .creature-pc-edit { | ||||||
|   min-width: 650px; |   min-width: 650px; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .creature-main .creature-characteristics { | .fvtt-ftl-nomad .creature-main .creature-skills { | ||||||
|   background-color: var(--color-light-1); |   background-color: var(--color-light-1); | ||||||
|   display: flex; |   display: flex; | ||||||
|   flex-direction: column; |   flex-direction: column; | ||||||
|   gap: 5px; |   gap: 5px; | ||||||
|   flex: 1; |   flex: 1; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .creature-main .creature-characteristics .creature-characteristic { | .fvtt-ftl-nomad .creature-main .creature-skills .creature-skill { | ||||||
|   display: flex; |   display: flex; | ||||||
|   align-items: center; |   align-items: center; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .creature-main .creature-characteristics .creature-characteristic .rollable:hover, | .fvtt-ftl-nomad .creature-main .creature-skills .creature-skill .icon-skill { | ||||||
| .fvtt-ftl-nomad .creature-main .creature-characteristics .creature-characteristic .rollable:focus { |   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); |   text-shadow: 0 0 8px var(--color-shadow-primary); | ||||||
|   cursor: pointer; |   cursor: pointer; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .creature-main .creature-characteristics .creature-characteristic .rollable { | .fvtt-ftl-nomad .creature-main .creature-skills .creature-skill .rollable { | ||||||
|   min-width: 3rem; |   min-width: 4.5rem; | ||||||
|   max-width: 3rem; |   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; |   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; |   flex: 0; | ||||||
|   max-width: 0.6rem; |   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; |   flex: 0; | ||||||
|   padding-left: 5px; |   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; |   font-size: 1.1rem; | ||||||
|   flex: none; |   flex: none; | ||||||
|   width: 40px; |   width: 40px; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .creature-main .creature-characteristic-play { | .fvtt-ftl-nomad .creature-main .creature-skill-play { | ||||||
|   min-width: 225px; |   min-width: 225px; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .creature-main .creature-characteristic-edit { | .fvtt-ftl-nomad .creature-main .creature-skill-edit { | ||||||
|   min-width: 400px; |   min-width: 400px; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .creature-biography { | .fvtt-ftl-nomad .creature-biography { | ||||||
| @@ -1562,13 +1547,24 @@ i.fvtt-ftl-nomad { | |||||||
| .fvtt-ftl-nomad .creature-biography .field-label { | .fvtt-ftl-nomad .creature-biography .field-label { | ||||||
|   margin-left: 8px; |   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; |   display: grid; | ||||||
|   grid-template-columns: repeat(2, 1fr); |   grid-template-columns: repeat(2, 1fr); | ||||||
|   gap: 8px; |   gap: 8px; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .creature-biography .adapted label { | .fvtt-ftl-nomad .creature-biography .biodata label { | ||||||
|   min-width: 20rem; |   min-width: 12rem; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .creature-biography .resources { | .fvtt-ftl-nomad .creature-biography .resources { | ||||||
|   display: grid; |   display: grid; | ||||||
| @@ -1605,76 +1601,6 @@ i.fvtt-ftl-nomad { | |||||||
|   font-size: calc(var(--font-size-standard) * 1.4); |   font-size: calc(var(--font-size-standard) * 1.4); | ||||||
|   padding-left: 5px; |   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 { | .fvtt-ftl-nomad .tab.creature-skills .skills { | ||||||
|   display: grid; |   display: grid; | ||||||
|   grid-template-columns: repeat(3, 1fr); |   grid-template-columns: repeat(3, 1fr); | ||||||
| @@ -1836,6 +1762,120 @@ i.fvtt-ftl-nomad { | |||||||
|   height: 24px; |   height: 24px; | ||||||
|   margin: 4px 0 0 0; |   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 { | .fvtt-ftl-nomad .tab.creature-equipment { | ||||||
|   background-color: var(--color-light-1); |   background-color: var(--color-light-1); | ||||||
|   display: grid; |   display: grid; | ||||||
| @@ -1845,95 +1885,145 @@ i.fvtt-ftl-nomad { | |||||||
|   font-size: calc(var(--font-size-standard) * 1.4); |   font-size: calc(var(--font-size-standard) * 1.4); | ||||||
|   padding-left: 5px; |   padding-left: 5px; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .tab.creature-equipment .gears { | .fvtt-ftl-nomad .tab.creature-equipment .encumbrance { | ||||||
|   display: grid; |   display: grid; | ||||||
|   grid-template-columns: repeat(3, 1fr); |   grid-template-columns: repeat(4, 1fr); | ||||||
|   gap: 4px; |   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; |   display: flex; | ||||||
|   align-items: center; |   align-items: center; | ||||||
|   gap: 4px; |   gap: 4px; | ||||||
|   min-width: 13rem; |   min-width: 13rem; | ||||||
|   max-width: 13rem; |   max-width: 13rem; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .tab.creature-equipment .gears .gear .rollable:hover, | .fvtt-ftl-nomad .tab.creature-equipment .implants .implant .rollable:hover, | ||||||
| .fvtt-ftl-nomad .tab.creature-equipment .gears .gear .rollable:focus { | .fvtt-ftl-nomad .tab.creature-equipment .implants .implant .rollable:focus { | ||||||
|   text-shadow: 0 0 8px var(--color-shadow-primary); |   text-shadow: 0 0 8px var(--color-shadow-primary); | ||||||
|   cursor: pointer; |   cursor: pointer; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .tab.creature-equipment .gears .gear .controls { | .fvtt-ftl-nomad .tab.creature-equipment .implants .implant .controls { | ||||||
|   font-size: 0.7rem; |   font-size: 0.7rem; | ||||||
|   min-width: 1.8rem; |   min-width: 1.8rem; | ||||||
|   max-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; |   min-width: 10rem; | ||||||
|   max-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; |   width: 24px; | ||||||
|   height: 24px; |   height: 24px; | ||||||
|   margin: 4px 0 0 0; |   margin: 4px 0 0 0; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .tab.creature-equipment .rituals { | .fvtt-ftl-nomad .tab.creature-equipment .weapons { | ||||||
|   display: grid; |   display: grid; | ||||||
|   grid-template-columns: repeat(2, 1fr); |   grid-template-columns: repeat(2, 1fr); | ||||||
|   gap: 4px; |   gap: 4px; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .tab.creature-equipment .rituals .ritual { | .fvtt-ftl-nomad .tab.creature-equipment .weapons .weapon { | ||||||
|   display: flex; |   display: flex; | ||||||
|   align-items: center; |   align-items: center; | ||||||
|   gap: 4px; |   gap: 4px; | ||||||
|   min-width: 20rem; |   min-width: 13rem; | ||||||
|   max-width: 20rem; |   max-width: 13rem; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .tab.creature-equipment .rituals .ritual .rollable:hover, | .fvtt-ftl-nomad .tab.creature-equipment .weapons .weapon .rollable:hover, | ||||||
| .fvtt-ftl-nomad .tab.creature-equipment .rituals .ritual .rollable:focus { | .fvtt-ftl-nomad .tab.creature-equipment .weapons .weapon .rollable:focus { | ||||||
|   text-shadow: 0 0 8px var(--color-shadow-primary); |   text-shadow: 0 0 8px var(--color-shadow-primary); | ||||||
|   cursor: pointer; |   cursor: pointer; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .tab.creature-equipment .rituals .ritual .controls { | .fvtt-ftl-nomad .tab.creature-equipment .weapons .weapon .controls { | ||||||
|   font-size: 0.7rem; |   font-size: 0.7rem; | ||||||
|   min-width: 1.8rem; |   min-width: 1.8rem; | ||||||
|   max-width: 1.8rem; |   max-width: 1.8rem; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .tab.creature-equipment .rituals .ritual .name { | .fvtt-ftl-nomad .tab.creature-equipment .weapons .weapon .damage { | ||||||
|   min-width: 17rem; |   min-width: 6rem; | ||||||
|   max-width: 17rem; |   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; |   width: 24px; | ||||||
|   height: 24px; |   height: 24px; | ||||||
|   margin: 4px 0 0 0; |   margin: 4px 0 0 0; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .tab.creature-equipment .tomes { | .fvtt-ftl-nomad .tab.creature-equipment .armors { | ||||||
|   display: grid; |   display: grid; | ||||||
|   grid-template-columns: repeat(2, 1fr); |   grid-template-columns: repeat(2, 1fr); | ||||||
|   gap: 4px; |   gap: 4px; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .tab.creature-equipment .tomes .tome { | .fvtt-ftl-nomad .tab.creature-equipment .armors .armor { | ||||||
|   display: flex; |   display: flex; | ||||||
|   align-items: center; |   align-items: center; | ||||||
|   gap: 4px; |   gap: 4px; | ||||||
|   min-width: 20rem; |   min-width: 13rem; | ||||||
|   max-width: 20rem; |   max-width: 13rem; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .tab.creature-equipment .tomes .tome .rollable:hover, | .fvtt-ftl-nomad .tab.creature-equipment .armors .armor .controls { | ||||||
| .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 { |  | ||||||
|   font-size: 0.7rem; |   font-size: 0.7rem; | ||||||
|   min-width: 1.8rem; |   min-width: 1.8rem; | ||||||
|   max-width: 1.8rem; |   max-width: 1.8rem; | ||||||
| } | } | ||||||
| .fvtt-ftl-nomad .tab.creature-equipment .tomes .tome .name { | .fvtt-ftl-nomad .tab.creature-equipment .armors .armor .protection { | ||||||
|   min-width: 17rem; |   min-width: 6rem; | ||||||
|   max-width: 17rem; |   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; |   width: 24px; | ||||||
|   height: 24px; |   height: 24px; | ||||||
|   margin: 4px 0 0 0; |   margin: 4px 0 0 0; | ||||||
|   | |||||||
							
								
								
									
										139
									
								
								lang/en.json
									
									
									
									
									
								
							
							
						
						
									
										139
									
								
								lang/en.json
									
									
									
									
									
								
							| @@ -155,7 +155,56 @@ | |||||||
|     }, |     }, | ||||||
|     "Chat": {}, |     "Chat": {}, | ||||||
|     "Creature": { |     "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": { |       "FIELDS": { | ||||||
|  |         "damage": { | ||||||
|  |           "label": "Damage" | ||||||
|  |         }, | ||||||
|  |         "size": { | ||||||
|  |           "label": "Size" | ||||||
|  |         }, | ||||||
|  |         "numberAppearing": { | ||||||
|  |           "label": "Number Appearing" | ||||||
|  |         }, | ||||||
|  |         "terrain": { | ||||||
|  |           "label": "Terrain" | ||||||
|  |         }, | ||||||
|  |         "niche": { | ||||||
|  |           "label": "Niche" | ||||||
|  |         }, | ||||||
|         "biodata": { |         "biodata": { | ||||||
|           "adaptedToHelplessness": { |           "adaptedToHelplessness": { | ||||||
|             "label": "Adapted to helplessness" |             "label": "Adapted to helplessness" | ||||||
| @@ -287,6 +336,16 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "Label": { |     "Label": { | ||||||
|  |       "modifications": "Modifications", | ||||||
|  |       "abilities": "Abilities", | ||||||
|  |       "Details": "Details",  | ||||||
|  |       "traits": "Traits", | ||||||
|  |       "capacity"  : "Capacity", | ||||||
|  |       "Agility" : "Agility", | ||||||
|  |       "Armor": "Armor", | ||||||
|  |       "cargo": "Cargo", | ||||||
|  |       "vehicle": "Vehicle", | ||||||
|  |       "starship": "Starship", | ||||||
|       "Easy": "Easy (+1D)", |       "Easy": "Easy (+1D)", | ||||||
|       "Moderate": "Moderate (+0D)", |       "Moderate": "Moderate (+0D)", | ||||||
|       "Difficult": "Difficult (-1D)", |       "Difficult": "Difficult (-1D)", | ||||||
| @@ -329,6 +388,14 @@ | |||||||
|       "multiplier": "Multiplier", |       "multiplier": "Multiplier", | ||||||
|       "newArmor": "New Armor", |       "newArmor": "New Armor", | ||||||
|       "newWeapon": "New Weapon", |       "newWeapon": "New Weapon", | ||||||
|  |       "newTalent": "New Talent", | ||||||
|  |       "newSkill": "New Skill", | ||||||
|  |       "newImplant": "New Implant", | ||||||
|  |       "newEquipment": "New Equipment", | ||||||
|  |       "newLanguage": "New Language", | ||||||
|  |       "newPsionic": "New Psionic", | ||||||
|  |       "newCreatureAbility": "New Creature Ability", | ||||||
|  |       "newCreatureTrait": "New Creature Trait",       | ||||||
|       "notes": "Notes", |       "notes": "Notes", | ||||||
|       "psionics": "Psionics", |       "psionics": "Psionics", | ||||||
|       "rollView": "Roll View", |       "rollView": "Roll View", | ||||||
| @@ -408,7 +475,48 @@ | |||||||
|       "Unnatural": "Unnatural" |       "Unnatural": "Unnatural" | ||||||
|     }, |     }, | ||||||
|     "Starship": { |     "Starship": { | ||||||
|  |       "Hull": { | ||||||
|  |         "Pod": "Pod", | ||||||
|  |         "Micro": "Micro", | ||||||
|  |         "Small": "Small", | ||||||
|  |         "Scout": "Scout", | ||||||
|  |         "Picket": "Picket", | ||||||
|  |         "Destroyer": "Destroyer", | ||||||
|  |         "Cruiser": "Cruiser",  | ||||||
|  |         "Battleship": "Battleship", | ||||||
|  |         "Carrier": "Carrier" | ||||||
|  |       }, | ||||||
|       "FIELDS": { |       "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": { |         "description": { | ||||||
|           "label": "Description" |           "label": "Description" | ||||||
|         }, |         }, | ||||||
| @@ -458,8 +566,26 @@ | |||||||
|     }, |     }, | ||||||
|     "Vehicle": { |     "Vehicle": { | ||||||
|       "FIELDS": { |       "FIELDS": { | ||||||
|         "airSpeed": { |         "tonnage": { | ||||||
|           "label": "Air Speed" |           "label": "Tonnage" | ||||||
|  |         }, | ||||||
|  |         "agility": { | ||||||
|  |           "label": "Agility" | ||||||
|  |         }, | ||||||
|  |         "force": { | ||||||
|  |           "label": "Force" | ||||||
|  |         }, | ||||||
|  |         "cargo": { | ||||||
|  |           "label": "Cargo" | ||||||
|  |         }, | ||||||
|  |         "cost": { | ||||||
|  |           "label": "Cost" | ||||||
|  |         }, | ||||||
|  |         "range": { | ||||||
|  |           "label": "Range" | ||||||
|  |         }, | ||||||
|  |         "speed": { | ||||||
|  |           "label": "Speed" | ||||||
|         }, |         }, | ||||||
|         "armor": { |         "armor": { | ||||||
|           "label": "Armor" |           "label": "Armor" | ||||||
| @@ -472,15 +598,6 @@ | |||||||
|         }, |         }, | ||||||
|         "notes": { |         "notes": { | ||||||
|           "label": "Notes" |           "label": "Notes" | ||||||
|         }, |  | ||||||
|         "settings": { |  | ||||||
|           "label": "Settings era" |  | ||||||
|         }, |  | ||||||
|         "state": { |  | ||||||
|           "label": "State" |  | ||||||
|         }, |  | ||||||
|         "surfaceSpeed": { |  | ||||||
|           "label": "Surface Speed" |  | ||||||
|         } |         } | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|   | |||||||
| @@ -12,10 +12,8 @@ export default class FTLNomadCreatureSheet extends FTLNomadActorSheet { | |||||||
|       contentClasses: ["npc-content"], |       contentClasses: ["npc-content"], | ||||||
|     }, |     }, | ||||||
|     actions: { |     actions: { | ||||||
|       createArmor: FTLNomadCreatureSheet.#onCreateArmor, |       createTrait: FTLNomadCreatureSheet.#onCreateTrait, | ||||||
|       createWeapon: FTLNomadCreatureSheet.#onCreateWeapon, |       createAbility: FTLNomadCreatureSheet.#onCreateAbility | ||||||
|       createSkill: FTLNomadCreatureSheet.#onCreateSkill, |  | ||||||
|  |  | ||||||
|     }, |     }, | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @@ -27,8 +25,8 @@ export default class FTLNomadCreatureSheet extends FTLNomadActorSheet { | |||||||
|     tabs: { |     tabs: { | ||||||
|       template: "templates/generic/tab-navigation.hbs", |       template: "templates/generic/tab-navigation.hbs", | ||||||
|     }, |     }, | ||||||
|     skills: { |     traits: { | ||||||
|       template: "systems/fvtt-ftl-nomad/templates/creature-skills.hbs", |       template: "systems/fvtt-ftl-nomad/templates/creature-trait.hbs", | ||||||
|     }, |     }, | ||||||
|     biography: { |     biography: { | ||||||
|       template: "systems/fvtt-ftl-nomad/templates/creature-biography.hbs", |       template: "systems/fvtt-ftl-nomad/templates/creature-biography.hbs", | ||||||
| @@ -37,7 +35,7 @@ export default class FTLNomadCreatureSheet extends FTLNomadActorSheet { | |||||||
|  |  | ||||||
|   /** @override */ |   /** @override */ | ||||||
|   tabGroups = { |   tabGroups = { | ||||||
|     sheet: "skills", |     sheet: "traits", | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
| @@ -46,7 +44,7 @@ export default class FTLNomadCreatureSheet extends FTLNomadActorSheet { | |||||||
|    */ |    */ | ||||||
|   #getTabs() { |   #getTabs() { | ||||||
|     const tabs = { |     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" }, |       biography: { id: "biography", group: "sheet", icon: "fa-solid fa-book", label: "FTLNOMAD.Label.biography" }, | ||||||
|     } |     } | ||||||
|     for (const v of Object.values(tabs)) { |     for (const v of Object.values(tabs)) { | ||||||
| @@ -73,14 +71,12 @@ export default class FTLNomadCreatureSheet extends FTLNomadActorSheet { | |||||||
|     switch (partId) { |     switch (partId) { | ||||||
|       case "main": |       case "main": | ||||||
|         break |         break | ||||||
|       case "skills": |       case "traits": | ||||||
|         context.tab = context.tabs.skills |         context.tab = context.tabs.traits | ||||||
|         context.skills = doc.itemTypes.skill |         context.abilities = doc.itemTypes["creature-ability"] | ||||||
|         context.skills.sort((a, b) => a.name.localeCompare(b.name)) |         context.abilities.sort((a, b) => a.name.localeCompare(b.name)) | ||||||
|         context.weapons = doc.itemTypes.weapon |         context.traits = doc.itemTypes["creature-trait"] | ||||||
|         context.weapons.sort((a, b) => a.name.localeCompare(b.name)) |         context.traits.sort((a, b) => a.name.localeCompare(b.name)) | ||||||
|         context.armors = doc.itemTypes.armor |  | ||||||
|         context.armors.sort((a, b) => a.name.localeCompare(b.name)) |  | ||||||
|         break |         break | ||||||
|       case "biography": |       case "biography": | ||||||
|         context.tab = context.tabs.biography |         context.tab = context.tabs.biography | ||||||
| @@ -96,16 +92,12 @@ export default class FTLNomadCreatureSheet extends FTLNomadActorSheet { | |||||||
|    * @param {Event} event             The initiating click event. |    * @param {Event} event             The initiating click event. | ||||||
|    * @param {HTMLElement} target      The current target of the event listener. |    * @param {HTMLElement} target      The current target of the event listener. | ||||||
|    */ |    */ | ||||||
|   static #onCreateWeapon(event, target) { |   static #onCreateTrait(event, target) { | ||||||
|     this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("FTLNOMAD.Label.newWeapon"), type: "weapon" }]) |     this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("FTLNOMAD.Label.newTrait"), type: "creaturetrait" }]) | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static #onCreateArmor(event, target) { |   static #onCreateAbility(event, target) { | ||||||
|     this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("FTLNOMAD.Label.newArmor"), type: "armor" }]) |     this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("FTLNOMAD.Label.newAbility"), type: "creatureability" }]) | ||||||
|   } |  | ||||||
|  |  | ||||||
|   static #onCreateSkill(event, target) { |  | ||||||
|     this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("FTLNOMAD.Label.newSkill"), type: "skill" }]) |  | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   /** |   /** | ||||||
| @@ -125,30 +117,31 @@ export default class FTLNomadCreatureSheet extends FTLNomadActorSheet { | |||||||
|   async _onRoll(event, target) { |   async _onRoll(event, target) { | ||||||
|     const rollType = $(event.currentTarget).data("roll-type") |     const rollType = $(event.currentTarget).data("roll-type") | ||||||
|     let item |     let item | ||||||
|     let li |     let formula | ||||||
|     // Debug : console.log(">>>>", event, target, rollType) |     let roll | ||||||
|     // Deprecated : if (this.isEditMode) return |  | ||||||
|     switch (rollType) { |     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": |       case "skill": | ||||||
|         li = $(event.currentTarget).parents(".item"); |         let skillId = $(event.currentTarget).data("skill-id"); | ||||||
|         item = this.actor.items.get(li.data("item-id")); |         item = this.actor.system.skills[skillId]; | ||||||
|  |         await this.document.system.roll(rollType, item) | ||||||
|         break |         break | ||||||
|       case "weapon": |       case "creature-damage": | ||||||
|       case "damage": |         formula = this.actor.system.damage | ||||||
|         li = $(event.currentTarget).parents(".item"); |         // Rolll the damage | ||||||
|         item = this.actor.items.get(li.data("item-id")); |         roll = new Roll(formula) | ||||||
|         item.damageBonus = this.actor.system.damageBonus |         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 |         break | ||||||
|       default: |       default: | ||||||
|         throw new Error(`Unknown roll type ${rollType}`) |         throw new Error(`Unknown roll type ${rollType}`) | ||||||
|     } |     } | ||||||
|     await this.document.system.roll(rollType, item) |  | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   async _onDrop(event) { |   async _onDrop(event) { | ||||||
| @@ -162,5 +155,4 @@ export default class FTLNomadCreatureSheet extends FTLNomadActorSheet { | |||||||
|         return super._onDropItem(item) |         return super._onDropItem(item) | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -3,17 +3,15 @@ import FTLNomadActorSheet from "./base-actor-sheet.mjs" | |||||||
| export default class FTLNomadStarshipSheet extends FTLNomadActorSheet { | export default class FTLNomadStarshipSheet extends FTLNomadActorSheet { | ||||||
|   /** @override */ |   /** @override */ | ||||||
|   static DEFAULT_OPTIONS = { |   static DEFAULT_OPTIONS = { | ||||||
|     classes: ["vehicle"], |     classes: ["starship"], | ||||||
|     position: { |     position: { | ||||||
|       width: 680, |       width: 680, | ||||||
|       height: 540, |       height: 640, | ||||||
|     }, |     }, | ||||||
|     window: { |     window: { | ||||||
|       contentClasses: ["vehicle-content"], |       contentClasses: ["starship-content"], | ||||||
|     }, |     }, | ||||||
|     actions: { |     actions: { | ||||||
|       createGear: FTLNomadStarshipSheet.#onCreateGear, |  | ||||||
|       createWeapon: FTLNomadStarshipSheet.#onCreateWeapon, |  | ||||||
|     }, |     }, | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @@ -25,9 +23,6 @@ export default class FTLNomadStarshipSheet extends FTLNomadActorSheet { | |||||||
|     tabs: { |     tabs: { | ||||||
|       template: "templates/generic/tab-navigation.hbs", |       template: "templates/generic/tab-navigation.hbs", | ||||||
|     }, |     }, | ||||||
|     equipment: { |  | ||||||
|       template: "systems/fvtt-ftl-nomad/templates/starship-equipment.hbs", |  | ||||||
|     }, |  | ||||||
|     description: { |     description: { | ||||||
|       template: "systems/fvtt-ftl-nomad/templates/starship-description.hbs", |       template: "systems/fvtt-ftl-nomad/templates/starship-description.hbs", | ||||||
|     }, |     }, | ||||||
| @@ -35,7 +30,7 @@ export default class FTLNomadStarshipSheet extends FTLNomadActorSheet { | |||||||
|  |  | ||||||
|    /** @override */ |    /** @override */ | ||||||
|    tabGroups = { |    tabGroups = { | ||||||
|     sheet: "equipment", |     sheet: "description", | ||||||
|   } |   } | ||||||
|    |    | ||||||
|   /** |   /** | ||||||
| @@ -44,7 +39,6 @@ export default class FTLNomadStarshipSheet extends FTLNomadActorSheet { | |||||||
|    */ |    */ | ||||||
|   #getTabs() { |   #getTabs() { | ||||||
|     const tabs = { |     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" }, |       description: { id: "description", group: "sheet", icon: "fa-solid fa-book", label: "FTLNOMAD.Label.description" }, | ||||||
|     } |     } | ||||||
|     for (const v of Object.values(tabs)) { |     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.enrichedDescription = await TextEditor.enrichHTML(this.document.system.description, { async: true }) | ||||||
|     context.enrichedNotes = await TextEditor.enrichHTML(this.document.system.notes, { 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 |     return context | ||||||
|   } |   } | ||||||
| @@ -74,11 +69,6 @@ export default class FTLNomadStarshipSheet extends FTLNomadActorSheet { | |||||||
|     switch (partId) { |     switch (partId) { | ||||||
|       case "main": |       case "main": | ||||||
|         break |         break | ||||||
|       case "equipment": |  | ||||||
|         context.tab = context.tabs.equipment |  | ||||||
|         context.weapons = doc.itemTypes.weapon |  | ||||||
|         context.gears = doc.itemTypes.gear |  | ||||||
|         break   |  | ||||||
|       case "description": |       case "description": | ||||||
|         context.tab = context.tabs.description |         context.tab = context.tabs.description | ||||||
|         context.enrichedDescription = await TextEditor.enrichHTML(doc.system.description, { async: true }) |         context.enrichedDescription = await TextEditor.enrichHTML(doc.system.description, { async: true }) | ||||||
| @@ -88,17 +78,22 @@ export default class FTLNomadStarshipSheet extends FTLNomadActorSheet { | |||||||
|     return context |     return context | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   /** |   async _onRoll(event, target) { | ||||||
|    * Creates a new attack item directly from the sheet and embeds it into the document. |     const rollType = $(event.currentTarget).data("roll-type") | ||||||
|    * @param {Event} event             The initiating click event. |     let item | ||||||
|    * @param {HTMLElement} target      The current target of the event listener. |     let formula | ||||||
|    */ |     let roll | ||||||
|   static #onCreateGear(event, target) { |     switch (rollType) { | ||||||
|     this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("FTLNOMAD.Label.newGear"), type: "gear" }]) |       case "starship-guns": | ||||||
|   } |         formula = this.actor.system.guns | ||||||
|  |         // Rolll the damage | ||||||
|   static #onCreateWeapon(event, target) { |         roll = new Roll(formula) | ||||||
|     this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("FTLNOMAD.Label.newWeapon"), type: "weapon" }]) |         await roll.evaluate() | ||||||
|  |         roll.toMessage( { flavor: `Starship ${this.actor.name} : Guns Damage` }) | ||||||
|  |         break | ||||||
|  |       default: | ||||||
|  |         throw new Error(`Unknown roll type ${rollType}`) | ||||||
|  |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -12,7 +12,7 @@ export default class FTLNomadVehicleSheet extends FTLNomadActorSheet { | |||||||
|       contentClasses: ["vehicle-content"], |       contentClasses: ["vehicle-content"], | ||||||
|     }, |     }, | ||||||
|     actions: { |     actions: { | ||||||
|       createGear: FTLNomadVehicleSheet.#onCreateGear, |       createEquipment: FTLNomadVehicleSheet.#onCreateEquipment, | ||||||
|       createWeapon: FTLNomadVehicleSheet.#onCreateWeapon, |       createWeapon: FTLNomadVehicleSheet.#onCreateWeapon, | ||||||
|     }, |     }, | ||||||
|   } |   } | ||||||
| @@ -77,7 +77,9 @@ export default class FTLNomadVehicleSheet extends FTLNomadActorSheet { | |||||||
|       case "equipment": |       case "equipment": | ||||||
|         context.tab = context.tabs.equipment |         context.tab = context.tabs.equipment | ||||||
|         context.weapons = doc.itemTypes.weapon |         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   |         break   | ||||||
|       case "description": |       case "description": | ||||||
|         context.tab = context.tabs.description |         context.tab = context.tabs.description | ||||||
| @@ -93,8 +95,8 @@ export default class FTLNomadVehicleSheet extends FTLNomadActorSheet { | |||||||
|    * @param {Event} event             The initiating click event. |    * @param {Event} event             The initiating click event. | ||||||
|    * @param {HTMLElement} target      The current target of the event listener. |    * @param {HTMLElement} target      The current target of the event listener. | ||||||
|    */ |    */ | ||||||
|   static #onCreateGear(event, target) { |   static #onCreateEquipment(event, target) { | ||||||
|     this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("FTLNOMAD.Label.newGear"), type: "gear" }]) |     this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("FTLNOMAD.Label.newEquipment"), type: "equipment" }]) | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   static #onCreateWeapon(event, target) { |   static #onCreateWeapon(event, target) { | ||||||
|   | |||||||
| @@ -121,6 +121,18 @@ export const MODIFIER_CHOICES = { | |||||||
|   "impossible": { id: "impossible", label: "FTLNOMAD.Label.Impossible", value: "-4" }   |   "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 |  * Include all constant definitions within the SYSTEM global export | ||||||
|  * @type {Object} |  * @type {Object} | ||||||
| @@ -135,6 +147,8 @@ export const SYSTEM = { | |||||||
|   TRIAGE_RESULTS, |   TRIAGE_RESULTS, | ||||||
|   CREATURE_TERRAIN_TYPES, |   CREATURE_TERRAIN_TYPES, | ||||||
|   CREATURE_SIZES, |   CREATURE_SIZES, | ||||||
|  |   CREATURE_NICHES, | ||||||
|  |   STARSHIP_HULL, | ||||||
|   SKILLS, |   SKILLS, | ||||||
|   ASCII |   ASCII | ||||||
| } | } | ||||||
|   | |||||||
| @@ -97,6 +97,10 @@ export default class FTLNomadProtagonist extends foundry.abstract.TypeDataModel | |||||||
|     if (armor !== this.armor.value) { |     if (armor !== this.armor.value) { | ||||||
|       this.armor.value = armor |       this.armor.value = armor | ||||||
|     } |     } | ||||||
|  |     let staminaMax = 14 + (3*this.skills.physical.value) | ||||||
|  |     if (staminaMax !== this.health.staminaMax) { | ||||||
|  |       this.health.staminaMax = staminaMax | ||||||
|  |     } | ||||||
|   } |   } | ||||||
|    |    | ||||||
|   isEncumbered() { |   isEncumbered() { | ||||||
|   | |||||||
| @@ -7,9 +7,11 @@ export default class FTLNomadCreature extends foundry.abstract.TypeDataModel { | |||||||
|     const requiredInteger = { required: true, nullable: false, integer: true } |     const requiredInteger = { required: true, nullable: false, integer: true } | ||||||
|     const schema = {} |     const schema = {} | ||||||
|  |  | ||||||
|  |     // Carac | ||||||
|     const skillField = (label) => { |     const skillField = (label) => { | ||||||
|       const schema = { |       const schema = { | ||||||
|         value: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0, max: 5 }), |         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 }), |         enabled: new fields.BooleanField({ required: true, initial: true }), | ||||||
|       } |       } | ||||||
|       return new fields.SchemaField(schema, { label }) |       return new fields.SchemaField(schema, { label }) | ||||||
| @@ -42,32 +44,29 @@ export default class FTLNomadCreature extends foundry.abstract.TypeDataModel { | |||||||
|   /** @override */ |   /** @override */ | ||||||
|   static LOCALIZATION_PREFIXES = ["FTLNOMAD.Creature"] |   static LOCALIZATION_PREFIXES = ["FTLNOMAD.Creature"] | ||||||
|  |  | ||||||
|     /** */ |   isEncumbered() { | ||||||
|     /** |     return false | ||||||
|      * 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<null>} - 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({ |   async roll(rollType, rollItem) { | ||||||
|         rollType, |     let opponentTarget | ||||||
|         rollItem, |     const hasTarget = opponentTarget !== undefined | ||||||
|         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 }) |     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 }) | ||||||
|  |   } | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -28,4 +28,8 @@ export default class FTLNomadStarship extends foundry.abstract.TypeDataModel { | |||||||
|   /** @override */ |   /** @override */ | ||||||
|   static LOCALIZATION_PREFIXES = ["FTLNOMAD.Starship"] |   static LOCALIZATION_PREFIXES = ["FTLNOMAD.Starship"] | ||||||
|  |  | ||||||
|  |   isEncumbered() { | ||||||
|  |     return false | ||||||
|  |   } | ||||||
|  |    | ||||||
| } | } | ||||||
|   | |||||||
| @@ -8,7 +8,7 @@ export default class FTLNomadVehicle extends foundry.abstract.TypeDataModel { | |||||||
|     const schema = {} |     const schema = {} | ||||||
|  |  | ||||||
|     schema.agility = new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }) |     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.cargo = new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }) | ||||||
|     schema.crew = new fields.NumberField({ ...requiredInteger, initial: 1, min: 1 }) |     schema.crew = new fields.NumberField({ ...requiredInteger, initial: 1, min: 1 }) | ||||||
|     schema.force = 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 */ |   /** @override */ | ||||||
|   static LOCALIZATION_PREFIXES = ["FTLNOMAD.Vehicle"] |   static LOCALIZATION_PREFIXES = ["FTLNOMAD.Vehicle"] | ||||||
|  |  | ||||||
|  |   isEncumbered() { | ||||||
|  |     return false | ||||||
|  |   } | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -39,11 +39,9 @@ | |||||||
|         align-items: center; |         align-items: center; | ||||||
|         input { |         input { | ||||||
|           flex: none; |           flex: none; | ||||||
|           width: 2rem; |           width: 2.5rem; | ||||||
|           margin-left: 4px; |           margin-left: 2px; | ||||||
|         } |           margin-right: 4px; | ||||||
|         .damage-bonus { |  | ||||||
|           font-size: calc(var(--font-size-standard) * 0.8); |  | ||||||
|         } |         } | ||||||
|         .hp-separator { |         .hp-separator { | ||||||
|           font-size: calc(var(--font-size-standard) * 1.2); |           font-size: calc(var(--font-size-standard) * 1.2); | ||||||
| @@ -77,6 +75,28 @@ | |||||||
|       flex-direction: column; |       flex-direction: column; | ||||||
|       gap: 5px; |       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 { |       .creature-name { | ||||||
|         display: flex; |         display: flex; | ||||||
|         input { |         input { | ||||||
| @@ -85,87 +105,6 @@ | |||||||
|           width: 400px; |           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 { |       label { | ||||||
|         min-width: 120px; |         min-width: 120px; | ||||||
|       } |       } | ||||||
| @@ -180,24 +119,29 @@ | |||||||
|     min-width: 650px; |     min-width: 650px; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   .creature-characteristics { |   .creature-skills { | ||||||
|     background-color: var(--color-light-1); |     background-color: var(--color-light-1); | ||||||
|     display: flex; |     display: flex; | ||||||
|     flex-direction: column; |     flex-direction: column; | ||||||
|     gap: 5px; |     gap: 5px; | ||||||
|     flex: 1; |     flex: 1; | ||||||
|  |  | ||||||
|     .creature-characteristic { |     .creature-skill { | ||||||
|       display: flex; |       display: flex; | ||||||
|       align-items: center; |       align-items: center; | ||||||
|  |       .icon-skill { | ||||||
|  |         width: 24px; | ||||||
|  |         height: 24px; | ||||||
|  |         margin-right: 4px; | ||||||
|  |       } | ||||||
|       .rollable:hover, |       .rollable:hover, | ||||||
|       .rollable:focus { |       .rollable:focus { | ||||||
|         text-shadow: 0 0 8px var(--color-shadow-primary); |         text-shadow: 0 0 8px var(--color-shadow-primary); | ||||||
|         cursor: pointer; |         cursor: pointer; | ||||||
|       } |       } | ||||||
|       .rollable { |       .rollable { | ||||||
|         min-width: 3rem; |         min-width: 4.5rem; | ||||||
|         max-width: 3rem; |         max-width: 4.5rem; | ||||||
|       } |       } | ||||||
|       .char-text { |       .char-text { | ||||||
|         margin-left: 0.5rem; |         margin-left: 0.5rem; | ||||||
| @@ -218,11 +162,11 @@ | |||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   .creature-characteristic-play { |   .creature-skill-play { | ||||||
|     min-width: 225px; |     min-width: 225px; | ||||||
|   } |   } | ||||||
|  |  | ||||||
|   .creature-characteristic-edit { |   .creature-skill-edit { | ||||||
|     min-width: 400px; |     min-width: 400px; | ||||||
|   } |   } | ||||||
| } | } | ||||||
| @@ -239,12 +183,24 @@ | |||||||
|     margin-left: 8px; |     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; |     display: grid; | ||||||
|     grid-template-columns: repeat(2, 1fr); |     grid-template-columns: repeat(2, 1fr); | ||||||
|     gap: 8px; |     gap: 8px; | ||||||
|     label { |     label { | ||||||
|       min-width: 20rem; |       min-width: 12rem; | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|  |  | ||||||
| @@ -285,79 +241,6 @@ | |||||||
|       padding-left: 5px; |       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 { |   .skills { | ||||||
|     display: grid; |     display: grid; | ||||||
|     grid-template-columns: repeat(3, 1fr); |     grid-template-columns: repeat(3, 1fr); | ||||||
| @@ -528,7 +411,7 @@ | |||||||
|   } |   } | ||||||
| } | } | ||||||
|  |  | ||||||
| .tab.creature-equipment { | .tab.creature-traits { | ||||||
|   background-color: var(--color-light-1); |   background-color: var(--color-light-1); | ||||||
|   display: grid; |   display: grid; | ||||||
|   grid-template-columns: 1fr; |   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; |     display: grid; | ||||||
|     grid-template-columns: repeat(3, 1fr); |     grid-template-columns: repeat(3, 1fr); | ||||||
|     gap: 4px; |     gap: 4px; | ||||||
|     .gear { |     .equipment { | ||||||
|       display: flex; |       display: flex; | ||||||
|       align-items: center; |       align-items: center; | ||||||
|       gap: 4px; |       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 { |   prose-mirror.inactive { | ||||||
|     min-height: 40px; |     min-height: 40px; | ||||||
|   } |   } | ||||||
|   | |||||||
| @@ -34,6 +34,15 @@ | |||||||
|         } |         } | ||||||
|       } |       } | ||||||
|  |  | ||||||
|  |       .spec { | ||||||
|  |         label { | ||||||
|  |           max-width: 5rem; | ||||||
|  |         } | ||||||
|  |         input { | ||||||
|  |           max-width: 3rem; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |  | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     .starship-right { |     .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 { |       .starship-infos { | ||||||
|         display: flex; |         display: flex; | ||||||
|         flex-direction: column; |         flex-direction: column; | ||||||
| @@ -104,7 +149,7 @@ | |||||||
|   } |   } | ||||||
| } | } | ||||||
|  |  | ||||||
| .starship-biography { | .starship-description { | ||||||
|   background-color: var(--color-light-1); |   background-color: var(--color-light-1); | ||||||
|   prose-mirror.inactive { |   prose-mirror.inactive { | ||||||
|     min-height: 40px; |     min-height: 40px; | ||||||
|   | |||||||
| @@ -50,6 +50,17 @@ | |||||||
|         } |         } | ||||||
|       } |       } | ||||||
|  |  | ||||||
|  |       .cargo, | ||||||
|  |       .capacity { | ||||||
|  |         label { | ||||||
|  |           max-width: 5rem; | ||||||
|  |         } | ||||||
|  |         input { | ||||||
|  |           max-width: 3.5rem; | ||||||
|  |           margin-right: 0.5rem; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  |  | ||||||
|       .vehicle-infos { |       .vehicle-infos { | ||||||
|         display: flex; |         display: flex; | ||||||
|         flex-direction: column; |         flex-direction: column; | ||||||
| @@ -104,7 +115,7 @@ | |||||||
|   } |   } | ||||||
| } | } | ||||||
|  |  | ||||||
| .vehicle-biography { | .vehicle-description { | ||||||
|   background-color: var(--color-light-1); |   background-color: var(--color-light-1); | ||||||
|   prose-mirror.inactive { |   prose-mirror.inactive { | ||||||
|     min-height: 40px; |     min-height: 40px; | ||||||
| @@ -179,11 +190,12 @@ | |||||||
|       } |       } | ||||||
|     } |     } | ||||||
|   } |   } | ||||||
|   .gears { |    | ||||||
|  |   .equipments { | ||||||
|     display: grid; |     display: grid; | ||||||
|     grid-template-columns: repeat(3, 1fr); |     grid-template-columns: repeat(3, 1fr); | ||||||
|     gap: 4px; |     gap: 4px; | ||||||
|     .gear { |     .equipment { | ||||||
|       display: flex; |       display: flex; | ||||||
|       align-items: center; |       align-items: center; | ||||||
|       gap: 4px; |       gap: 4px; | ||||||
|   | |||||||
| @@ -59,5 +59,5 @@ | |||||||
|   }, |   }, | ||||||
|   "primaryTokenAttribute": "hp", |   "primaryTokenAttribute": "hp", | ||||||
|   "socket": true, |   "socket": true, | ||||||
|   "background": "systems/fvtt-ftl-nomad/assets/ui/background_01.webp" |   "background": "systems/fvtt-ftl-nomad/assets/ui/ftl_nomad_background_01.webp" | ||||||
| } | } | ||||||
|   | |||||||
| @@ -30,4 +30,5 @@ | |||||||
|     <legend>{{localize "FTLNOMAD.Label.notes"}}</legend> |     <legend>{{localize "FTLNOMAD.Label.notes"}}</legend> | ||||||
|     {{formInput systemFields.notes enriched=enrichedNotes value=system.notes name="system.notes" toggled=true}} |     {{formInput systemFields.notes enriched=enrichedNotes value=system.notes name="system.notes" toggled=true}} | ||||||
|   </fieldset> |   </fieldset> | ||||||
|  |    | ||||||
| </section> | </section> | ||||||
| @@ -1,4 +1,5 @@ | |||||||
| <section class="creature-main creature-main-{{ifThen isPlayMode 'play' 'edit'}}"> | <section class="creature-main creature-main-{{ifThen isPlayMode 'play' 'edit'}}"> | ||||||
|  |   {{!log "creature-main" this}} | ||||||
|   <fieldset> |   <fieldset> | ||||||
|     <legend>{{localize "FTLNOMAD.Label.creature"}}</legend> |     <legend>{{localize "FTLNOMAD.Label.creature"}}</legend> | ||||||
|     <div class="creature-pc creature-pc-{{ifThen isPlayMode 'play' 'edit'}}"> |     <div class="creature-pc creature-pc-{{ifThen isPlayMode 'play' 'edit'}}"> | ||||||
| @@ -7,89 +8,96 @@ | |||||||
|           <img class="creature-img" src="{{actor.img}}" data-edit="img" data-action="editImage" |           <img class="creature-img" src="{{actor.img}}" data-edit="img" data-action="editImage" | ||||||
|             data-tooltip="{{actor.name}}" /> |             data-tooltip="{{actor.name}}" /> | ||||||
|         </div> |         </div> | ||||||
|  |         <fieldset class="creature-hp"> | ||||||
|  |           <legend>{{localize "FTLNOMAD.Label.Stamina"}}</legend> | ||||||
|  |           <div class="flexrow"> | ||||||
|  |             Curr. {{formField systemFields.health.fields.staminaValue value=health.staminaValue}} | ||||||
|  |             Max {{formField systemFields.health.fields.staminaMax value=system.health.staminaMax rootId=partId}} | ||||||
|  |           </div> | ||||||
|  |         </fieldset> | ||||||
|  |  | ||||||
|       </div> |       </div> | ||||||
|       <div class="creature-right"> |       <div class="creature-right"> | ||||||
|         <div class="creature-name"> |         <div class="creature-name"> | ||||||
|           {{formInput fields.name value=source.name rootId=partId disabled=isPlayMode}} |           {{formInput fields.name value=source.name rootId=partId disabled=isPlayMode}} | ||||||
|           <a class="control" data-action="toggleSheet" data-tooltip="FTLNOMAD.ToggleSheet" |           <a class="control" data-action="toggleSheet" data-tooltip="FTLNOMAD.ToggleSheet" data-tooltip-direction="UP"> | ||||||
|             data-tooltip-direction="UP"> |  | ||||||
|             <i class="fa-solid fa-user-{{ifThen isPlayMode 'lock' 'pen'}}"></i> |             <i class="fa-solid fa-user-{{ifThen isPlayMode 'lock' 'pen'}}"></i> | ||||||
|           </a> |           </a> | ||||||
|         </div> |         </div> | ||||||
|         <fieldset class="creature-hp">  |  | ||||||
|           <legend>{{localize "FTLNOMAD.Label.HP"}}</legend> |  | ||||||
|           <div class="flexrow"> |  | ||||||
|             {{formField systemFields.hp.fields.value value=system.hp.value}} |  | ||||||
|             <span class="hp-separator">/</span> |  | ||||||
|             {{formField systemFields.hp.fields.max value=system.hp.max }} |  | ||||||
|           </div> |  | ||||||
|           <div class="flexrow "> |  | ||||||
|             {{formField systemFields.damageBonus value=system.damageBonus classes="damage-bonus"}} |  | ||||||
|           </div> |  | ||||||
|         </fieldset> |  | ||||||
|  |  | ||||||
|         <fieldset class="willpower"> |         <fieldset class="creature-spec"> | ||||||
|           <legend>{{localize "FTLNOMAD.Label.willpower"}}</legend> |           <legend>{{localize "FTLNOMAD.Label.Details"}}</legend> | ||||||
|           <div class="flexrow"> |           {{formField systemFields.terrain value=system.terrain rootId=partId disabled=isPlayMode localize=true}} | ||||||
|             <label class="label-field">{{localize "FTLNOMAD.Label.current"}}</label> |           {{formField systemFields.niche value=system.niche rootId=partId disabled=isPlayMode localize=true}} | ||||||
|             {{formInput systemFields.wp.fields.value value=system.wp.value}} |           {{formField systemFields.size value=system.size rootId=partId disabled=isPlayMode localize=true}} | ||||||
|             <label class="label-field">{{localize "FTLNOMAD.Label.max"}}</label> |           <div class="flexrow rollable" data-roll-type="creature-number"> | ||||||
|             {{formInput systemFields.wp.fields.max value=system.wp.max rootId=partId }} |             <i class="fa-regular fa-dice dice-2d6"></i> | ||||||
|             <label class="label-field">{{localize "FTLNOMAD.Label.exhausted"}}</label> |             {{formField systemFields.numberAppearing value=system.numberAppearing rootId=partId disabled=isPlayMode | ||||||
|             {{formInput systemFields.wp.fields.exhausted value=system.wp.exhausted classes="checkbox"}} |             localize=true}} | ||||||
|  |           </div> | ||||||
|  |           <div class="flexrow rollable" data-roll-type="creature-damage"> | ||||||
|  |             <i class="fa-regular fa-dice dice-2d6"></i> | ||||||
|  |             {{formField systemFields.damage value=system.damage rootId=partId disabled=isPlayMode localize=true}} | ||||||
|           </div> |           </div> | ||||||
|         </fieldset> |         </fieldset> | ||||||
|  |  | ||||||
|       </div> |       </div> | ||||||
|  |  | ||||||
|        |  | ||||||
|     </div> |     </div> | ||||||
|   </fieldset> |   </fieldset> | ||||||
|  |  | ||||||
|   <fieldset class="creature-characteristics creature-characteristics-{{ifThen isPlayMode 'play' 'edit'}}"> |   <fieldset class="creature-skills creature-skills-{{ifThen isPlayMode 'play' 'edit'}}"> | ||||||
|     <legend>{{localize "FTLNOMAD.Label.characteristics"}}</legend> |     <legend>{{localize "FTLNOMAD.Label.skills"}}</legend> | ||||||
|     <div class="creature-characteristic" > |     <div class="creature-skill"> | ||||||
|       <img src="systems/fvtt-cthulhu-eternal/assets/ui/d100.svg" class="d100" /> |       <img src="systems/fvtt-ftl-nomad/assets/icons/icon_combat.svg" class="icon-skill" /> | ||||||
|       <label class="rollable" data-roll-type="char" data-char-id="str" data-tooltip="{{system.characteristics.str.feature}}">{{localize |       <label class="rollable" data-roll-type="skill" data-skill-id="combat">{{localize | ||||||
|         "FTLNOMAD.Label.strShort"}}</label> |         "FTLNOMAD.Label.combat"}}</label> | ||||||
|       {{formField systemFields.characteristics.fields.str.fields.value value=system.characteristics.str.value |       {{formInput systemFields.skills.fields.combat.fields.value value=system.skills.combat.value rootId=partId | ||||||
|       rootId=partId disabled=isPlayMode }} |       disabled=isPlayMode type="number" }} | ||||||
|       <label class="char-text">{{mul system.characteristics.str.value 5}}</label> |  | ||||||
|     </div> |     </div> | ||||||
|     <div class="creature-characteristic"> |     <div class="creature-skill"> | ||||||
|       <img src="systems/fvtt-cthulhu-eternal/assets/ui/d100.svg" class="d100" /> |       <img src="systems/fvtt-ftl-nomad/assets/icons/icon_knowledge.svg" class="icon-skill" /> | ||||||
|       <label class="rollable" data-roll-type="char" data-char-id="dex" data-tooltip="{{system.characteristics.dex.feature}}">{{localize |       <label class="rollable" data-roll-type="skill" data-skill-id="knowledge">{{localize | ||||||
|         "FTLNOMAD.Label.dexShort"}}</label> |         "FTLNOMAD.Label.knowledge"}}</label> | ||||||
|       {{formField systemFields.characteristics.fields.dex.fields.value value=system.characteristics.dex.value |       {{formInput systemFields.skills.fields.knowledge.fields.value value=system.skills.knowledge.value | ||||||
|       rootId=partId disabled=isPlayMode }} |       rootId=partId disabled=isPlayMode type="number"}} | ||||||
|       <label class="char-text">{{mul system.characteristics.dex.value 5}}</label> |  | ||||||
|     </div> |     </div> | ||||||
|     <div class="creature-characteristic" > |     <div class="creature-skill"> | ||||||
|       <img src="systems/fvtt-cthulhu-eternal/assets/ui/d100.svg" class="d100" /> |       <img src="systems/fvtt-ftl-nomad/assets/icons/icon_social.svg" class="icon-skill" /> | ||||||
|       <label class="rollable" data-roll-type="char" data-char-id="con" data-tooltip="{{system.characteristics.con.feature}}">{{localize |       <label class="rollable" data-roll-type="skill" data-skill-id="social">{{localize | ||||||
|         "FTLNOMAD.Label.conShort"}}</label> |         "FTLNOMAD.Label.social"}}</label> | ||||||
|       {{formField systemFields.characteristics.fields.con.fields.value value=system.characteristics.con.value |       {{formInput systemFields.skills.fields.social.fields.value value=system.skills.social.value | ||||||
|       rootId=partId disabled=isPlayMode }} |       rootId=partId disabled=isPlayMode type="number"}} | ||||||
|        <label class="char-text">{{mul system.characteristics.con.value 5}}</label> |  | ||||||
|     </div> |     </div> | ||||||
|     <div class="creature-characteristic" > |     <div class="creature-skill"> | ||||||
|       <img src="systems/fvtt-cthulhu-eternal/assets/ui/d100.svg" class="d100" /> |       <img src="systems/fvtt-ftl-nomad/assets/icons/icon_physical.svg" class="icon-skill" /> | ||||||
|       <label class="rollable" data-roll-type="char" data-char-id="int" data-tooltip="{{system.characteristics.int.feature}}">{{localize |       <label class="rollable" data-roll-type="skill" data-skill-id="physical">{{localize | ||||||
|         "FTLNOMAD.Label.intShort"}}</label> |         "FTLNOMAD.Label.physical"}}</label> | ||||||
|       {{formField systemFields.characteristics.fields.int.fields.value value=system.characteristics.int.value |       {{formInput systemFields.skills.fields.physical.fields.value value=system.skills.physical.value | ||||||
|       rootId=partId disabled=isPlayMode }} |       rootId=partId disabled=isPlayMode type="number"}} | ||||||
|        <label class="char-text">{{mul system.characteristics.int.value 5}}</label> |  | ||||||
|     </div> |     </div> | ||||||
|     <div class="creature-characteristic" > |     <div class="creature-skill"> | ||||||
|       <img src="systems/fvtt-cthulhu-eternal/assets/ui/d100.svg" class="d100" /> |       <img src="systems/fvtt-ftl-nomad/assets/icons/icon_stealth.svg" class="icon-skill" /> | ||||||
|       <label class="rollable" data-roll-type="char" data-char-id="pow" data-tooltip="{{system.characteristics.pow.feature}}">{{localize |       <label class="rollable" data-roll-type="skill" data-skill-id="stealth">{{localize | ||||||
|         "FTLNOMAD.Label.powShort"}}</label> |         "FTLNOMAD.Label.stealth"}}</label> | ||||||
|       {{formField systemFields.characteristics.fields.pow.fields.value value=system.characteristics.pow.value |       {{formInput systemFields.skills.fields.stealth.fields.value value=system.skills.stealth.value | ||||||
|       rootId=partId disabled=isPlayMode }} |       rootId=partId disabled=isPlayMode type="number"}} | ||||||
|        <label class="char-text">{{mul system.characteristics.pow.value 5}}</label> |     </div> | ||||||
|  |     <div class="creature-skill"> | ||||||
|  |       <img src="systems/fvtt-ftl-nomad/assets/icons/icon_vehicles.svg" class="icon-skill" /> | ||||||
|  |       <label class="rollable" data-roll-type="skill" data-skill-id="vehicles">{{localize | ||||||
|  |         "FTLNOMAD.Label.vehicles"}}</label> | ||||||
|  |       {{formInput systemFields.skills.fields.vehicles.fields.value value=system.skills.vehicles.value | ||||||
|  |       rootId=partId disabled=isPlayMode type="number"}} | ||||||
|  |     </div> | ||||||
|  |     <div class="creature-skill"> | ||||||
|  |       <img src="systems/fvtt-ftl-nomad/assets/icons/icon_technology.svg" class="icon-skill" /> | ||||||
|  |       <label class="rollable" data-roll-type="skill" data-skill-id="technology">{{localize | ||||||
|  |         "FTLNOMAD.Label.technology"}}</label> | ||||||
|  |       {{formInput systemFields.skills.fields.technology.fields.value value=system.skills.technology.value | ||||||
|  |       rootId=partId disabled=isPlayMode type="number"}} | ||||||
|     </div> |     </div> | ||||||
|  |  | ||||||
|   </fieldset> |   </fieldset> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
| </section> | </section> | ||||||
| @@ -1,57 +0,0 @@ | |||||||
| <section class="tab creature-{{tab.id}} {{tab.cssClass}}" data-tab="{{tab.id}}" data-group="{{tab.group}}"> |  | ||||||
|  |  | ||||||
|   <fieldset> |  | ||||||
|     <legend>{{localize "FTLNOMAD.Label.weapons"}}{{#if isEditMode}} |  | ||||||
|       <a class="action" data-tooltip="{{localize " FTLNOMAD.Tooltip.addWeapon"}}" data-tooltip-direction="UP"><i |  | ||||||
|           class="fas fa-plus" data-action="createWeapon"></i></a>{{/if}} |  | ||||||
|     </legend> |  | ||||||
|     <div class="weapons"> |  | ||||||
|       {{#each weapons as |item|}} |  | ||||||
|       {{!log 'weapon' this}} |  | ||||||
|       <div class="weapon item" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-drag="true"> |  | ||||||
|  |  | ||||||
|         <img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" /> |  | ||||||
|         <img src="systems/fvtt-cthulhu-eternal/assets/ui/d100.svg" class="d100" /> |  | ||||||
|         <div class="name rollable" data-roll-type="weapon" data-tooltip="{{{item.system.description}}}"> |  | ||||||
|           {{item.name}} |  | ||||||
|         </div> |  | ||||||
|  |  | ||||||
|         <img src="systems/fvtt-cthulhu-eternal/assets/ui/d100.svg" class="d100" /> |  | ||||||
|         <a class="damage rollable" data-item-id="{{item.id}}" data-action="roll" data-roll-type="damage" |  | ||||||
|           data-roll-value="{{item.system.damage}}"> |  | ||||||
|           {{localize "FTLNOMAD.Label.damageShort"}} : |  | ||||||
|           {{item.system.damage}}</a> |  | ||||||
|         <div class="controls"> |  | ||||||
|           <a data-tooltip="{{localize 'FTLNOMAD.Edit'}}" data-action="edit" data-item-id="{{item.id}}" |  | ||||||
|             data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a> |  | ||||||
|           <a data-tooltip="{{localize 'FTLNOMAD.Delete'}}" data-action="delete" data-item-id="{{item.id}}" |  | ||||||
|             data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a> |  | ||||||
|         </div> |  | ||||||
|       </div> |  | ||||||
|       {{/each}} |  | ||||||
|     </div> |  | ||||||
|   </fieldset> |  | ||||||
|  |  | ||||||
|   <fieldset> |  | ||||||
|     <legend data-tooltip="{{localize "FTLNOMAD.Tooltip.skills"}}" data-tooltip-direction="UP">{{localize "FTLNOMAD.Label.skills"}}</legend> |  | ||||||
|     <div class="skills"> |  | ||||||
|         {{#each skills as |item|}} |  | ||||||
|           <div class="skill item" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}"> |  | ||||||
|             <img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" /> |  | ||||||
|             <img src="systems/fvtt-cthulhu-eternal/assets/ui/d100.svg" class="d100" /> |  | ||||||
|             <div class="name rollable" data-roll-type="skill" data-tooltip="{{{item.description}}}" data-tooltip-direction="UP">{{item.name}} |  | ||||||
|             </div> |  | ||||||
|             <div class="score" > |  | ||||||
|               {{item.system.skillTotal}} |  | ||||||
|             </div> |  | ||||||
|             <div class="controls"> |  | ||||||
|               <a data-tooltip="{{localize 'FTLNOMAD.Edit'}}" data-action="edit" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a> |  | ||||||
|               <a data-tooltip="{{localize 'FTLNOMAD.Delete'}}" data-action="delete" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a> |  | ||||||
|             </div> |  | ||||||
|           </div> |  | ||||||
|         {{/each}} |  | ||||||
|     </div> |  | ||||||
|   </fieldset> |  | ||||||
|  |  | ||||||
|  |  | ||||||
| </section> |  | ||||||
| @@ -1,21 +1,50 @@ | |||||||
| <section> | <section class="tab creature-{{tab.id}} {{tab.cssClass}}" data-tab="{{tab.id}}" data-group="{{tab.group}}"> | ||||||
|   <div class="header"> |  | ||||||
|     <img class="item-img" src="{{item.img}}" data-edit="img" data-action="editImage" data-tooltip="{{item.name}}" /> |  | ||||||
|     {{formInput fields.name value=source.name}} |  | ||||||
|   </div>  |  | ||||||
|  |  | ||||||
|   <fieldset> |   <fieldset> | ||||||
|     {{formField systemFields.isAdvantage value=system.isAdvantage}} |     <legend>{{localize "FTLNOMAD.Label.traits"}}{{#if isEditMode}} | ||||||
|  |       <a class="action" data-tooltip="{{localize " FTLNOMAD.Tooltip.addTrait"}}" data-tooltip-direction="UP"><i | ||||||
|  |           class="fas fa-plus" data-action="createTrait"></i></a>{{/if}} | ||||||
|  |     </legend> | ||||||
|  |     <div class="traits"> | ||||||
|  |       {{#each traits as |item|}} | ||||||
|  |       <div class="trait item" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-drag="true"> | ||||||
|  |         <img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" /> | ||||||
|  |         <div class="name" data-tooltip="{{{item.system.description}}}"> | ||||||
|  |           {{item.name}} | ||||||
|  |         </div> | ||||||
|  |         <div class="controls"> | ||||||
|  |           <a data-tooltip="{{localize 'FTLNOMAD.Edit'}}" data-action="edit" data-item-id="{{item.id}}" | ||||||
|  |             data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a> | ||||||
|  |           <a data-tooltip="{{localize 'FTLNOMAD.Delete'}}" data-action="delete" data-item-id="{{item.id}}" | ||||||
|  |             data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a> | ||||||
|  |         </div> | ||||||
|  |       </div> | ||||||
|  |       {{/each}} | ||||||
|  |     </div> | ||||||
|   </fieldset> |   </fieldset> | ||||||
|  |  | ||||||
|   <fieldset> |   <fieldset> | ||||||
|     <legend>{{localize "FTLNOMAD.Label.description"}}</legend> |     <legend>{{localize "FTLNOMAD.Label.abilities"}}{{#if isEditMode}} | ||||||
|     {{formInput |       <a class="action" data-tooltip="{{localize " FTLNOMAD.Tooltip.addAbility"}}" data-tooltip-direction="UP"><i | ||||||
|       systemFields.description |           class="fas fa-plus" data-action="createAbility"></i></a>{{/if}} | ||||||
|       enriched=description |     </legend> | ||||||
|       value=system.description |     <div class="abilities"> | ||||||
|       name="system.description" |       {{#each abilities as |item|}} | ||||||
|       toggled="false" |       {{!log 'armor' this}} | ||||||
|     }} |       <div class="ability" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}"> | ||||||
|  |         <img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" /> | ||||||
|  |         <div class="name" data-tooltip="{{{item.system.description}}}"> | ||||||
|  |           {{item.name}} | ||||||
|  |         </div> | ||||||
|  |         <div class="controls"> | ||||||
|  |           <a data-tooltip="{{localize 'FTLNOMAD.Edit'}}" data-action="edit" data-item-id="{{item.id}}" | ||||||
|  |             data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a> | ||||||
|  |           <a data-tooltip="{{localize 'FTLNOMAD.Delete'}}" data-action="delete" data-item-id="{{item.id}}" | ||||||
|  |             data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a> | ||||||
|  |         </div> | ||||||
|  |       </div> | ||||||
|  |       {{/each}} | ||||||
|  |     </div> | ||||||
|   </fieldset> |   </fieldset> | ||||||
|  |  | ||||||
| </section> | </section> | ||||||
							
								
								
									
										18
									
								
								templates/starship-description.hbs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								templates/starship-description.hbs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,18 @@ | |||||||
|  | <section class="tab starship-{{tab.id}} {{tab.cssClass}}" data-tab="{{tab.id}}" data-group="{{tab.group}}"> | ||||||
|  |  | ||||||
|  |   <fieldset> | ||||||
|  |     <legend>{{localize "FTLNOMAD.Label.description"}}</legend> | ||||||
|  |     {{formInput systemFields.description enriched=enrichedDescription value=system.description name="system.description" toggled=true}} | ||||||
|  |   </fieldset> | ||||||
|  |  | ||||||
|  |   <fieldset> | ||||||
|  |     <legend>{{localize "FTLNOMAD.Label.modifications"}}</legend> | ||||||
|  |     {{formInput systemFields.modifications enriched=enrichedModifications value=system.modifications name="system.modifications" toggled=true}} | ||||||
|  |   </fieldset> | ||||||
|  |  | ||||||
|  |   <fieldset> | ||||||
|  |     <legend>{{localize "FTLNOMAD.Label.notes"}}</legend> | ||||||
|  |     {{formInput systemFields.notes enriched=enrichedNotes value=system.notes name="system.notes" toggled=true}} | ||||||
|  |   </fieldset> | ||||||
|  |  | ||||||
|  | </section> | ||||||
| @@ -8,13 +8,10 @@ | |||||||
|           <img class="starship-img" src="{{actor.img}}" data-edit="img" data-action="editImage" |           <img class="starship-img" src="{{actor.img}}" data-edit="img" data-action="editImage" | ||||||
|             data-tooltip="{{actor.name}}" /> |             data-tooltip="{{actor.name}}" /> | ||||||
|         </div> |         </div> | ||||||
|         <fieldset> |         <fieldset class="spec"> | ||||||
|           <legend>{{localize "FTLNOMAD.Label.HP"}}</legend> |           {{formField systemFields.agility value=system.agility localize=true}} | ||||||
|           <div class="flexrow"> |           {{formField systemFields.armor value=system.armor localize=true}}             | ||||||
|             {{formField systemFields.hp.fields.value value=system.hp.value}} |           {{formField systemFields.endurance value=system.endurance localize=true}} | ||||||
|             / |  | ||||||
|             {{formField systemFields.hp.fields.max value=system.hp.max rootId=partId disabled=true}} |  | ||||||
|           </div> |  | ||||||
|         </fieldset> |         </fieldset> | ||||||
|  |  | ||||||
|       </div> |       </div> | ||||||
| @@ -28,20 +25,29 @@ | |||||||
|           </a> |           </a> | ||||||
|         </div> |         </div> | ||||||
|  |  | ||||||
|  |         <fieldset class="capacity "> | ||||||
|         <fieldset class="speed"> |           <legend>{{localize "FTLNOMAD.Label.capacity"}}</legend> | ||||||
|           <legend>{{localize "FTLNOMAD.Label.Speed"}}</legend> |  | ||||||
|           <div class="flexrow"> |           <div class="flexrow"> | ||||||
|             {{formField systemFields.surfaceSpeed value=system.surfaceSpeed localize=true}} |             {{formField systemFields.hullType value=system.hullType localize=true}} | ||||||
|             {{formField systemFields.airSpeed value=system.airSpeed localize=true}} |             <div class="flexrow rollable" data-roll-type="starship-guns"> | ||||||
|              |               <i class="fa-regular fa-dice dice-2d6"></i> | ||||||
|  |               {{formField systemFields.guns value=system.guns localize=true}}             | ||||||
|  |             </div> | ||||||
|  |           </div> | ||||||
|  |           <div class="flexrow"> | ||||||
|  |             {{formField systemFields.cost value=system.cost localize=true}}             | ||||||
|  |             {{formField systemFields.monthlyCost value=system.monthlyCost localize=true}}             | ||||||
|  |           </div> | ||||||
|  |           <div class="flexrow"> | ||||||
|  |             {{formField systemFields.travelMultiplier value=system.travelMultiplier localize=true}}             | ||||||
|           </div> |           </div> | ||||||
|         </fieldset> |         </fieldset> | ||||||
|  |  | ||||||
|         <fieldset class="armr "> |         <fieldset class="cargo"> | ||||||
|           <legend>{{localize "FTLNOMAD.Label.armor"}}</legend> |           <legend>{{localize "FTLNOMAD.Label.cargo"}}</legend> | ||||||
|           <div class="flexrow"> |           <div class="flexrow"> | ||||||
|             {{formField systemFields.armor value=system.armor localize=true}} |             {{formField systemFields.crew value=system.crew localize=true}}             | ||||||
|  |             {{formField systemFields.cargo value=system.cargo localize=true}} | ||||||
|           </div> |           </div> | ||||||
|         </fieldset> |         </fieldset> | ||||||
|  |  | ||||||
|   | |||||||
| @@ -9,4 +9,5 @@ | |||||||
|     <legend>{{localize "FTLNOMAD.Label.notes"}}</legend> |     <legend>{{localize "FTLNOMAD.Label.notes"}}</legend> | ||||||
|     {{formInput systemFields.notes enriched=enrichedNotes value=system.notes name="system.notes" toggled=true}} |     {{formInput systemFields.notes enriched=enrichedNotes value=system.notes name="system.notes" toggled=true}} | ||||||
|   </fieldset> |   </fieldset> | ||||||
|  |  | ||||||
| </section> | </section> | ||||||
| @@ -28,14 +28,14 @@ | |||||||
|   </fieldset> |   </fieldset> | ||||||
|  |  | ||||||
|   <fieldset> |   <fieldset> | ||||||
|     <legend>{{localize "FTLNOMAD.Label.gears"}}{{#if isEditMode}} |     <legend>{{localize "FTLNOMAD.Label.equipment"}}{{#if isEditMode}} | ||||||
|       <a class="action" data-tooltip="{{localize " FTLNOMAD.Tooltip.addGear"}}" data-tooltip-direction="UP"><i |       <a class="action" data-tooltip="{{localize " FTLNOMAD.Tooltip.addEquipment"}}" data-tooltip-direction="UP"><i | ||||||
|           class="fas fa-plus" data-action="createGear"></i></a>{{/if}} |           class="fas fa-plus" data-action="createEquipment"></i></a>{{/if}} | ||||||
|     </legend> |     </legend> | ||||||
|     <div class="gears"> |     <div class="equipments"> | ||||||
|       {{#each gears as |item|}} |       {{#each equipments as |item|}} | ||||||
|       {{!log 'armor' this}} |       {{!log 'armor' this}} | ||||||
|       <div class="gear" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}"> |       <div class="equipment" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}"> | ||||||
|         <img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" /> |         <img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" /> | ||||||
|         <div class="name" data-tooltip="{{{item.system.description}}}"> |         <div class="name" data-tooltip="{{{item.system.description}}}"> | ||||||
|           {{item.name}} |           {{item.name}} | ||||||
|   | |||||||
| @@ -9,11 +9,9 @@ | |||||||
|             data-tooltip="{{actor.name}}" /> |             data-tooltip="{{actor.name}}" /> | ||||||
|         </div> |         </div> | ||||||
|         <fieldset> |         <fieldset> | ||||||
|           <legend>{{localize "FTLNOMAD.Label.HP"}}</legend> |           <legend>{{localize "FTLNOMAD.Label.Agility"}}</legend> | ||||||
|           <div class="flexrow"> |           <div class="flexrow"> | ||||||
|             {{formField systemFields.hp.fields.value value=system.hp.value}} |             {{formField systemFields.agility value=system.agility localize=true}} | ||||||
|             / |  | ||||||
|             {{formField systemFields.hp.fields.max value=system.hp.max rootId=partId disabled=true}} |  | ||||||
|           </div> |           </div> | ||||||
|         </fieldset> |         </fieldset> | ||||||
|  |  | ||||||
| @@ -28,20 +26,24 @@ | |||||||
|           </a> |           </a> | ||||||
|         </div> |         </div> | ||||||
|  |  | ||||||
|  |         <fieldset class="capacity "> | ||||||
|         <fieldset class="speed"> |           <legend>{{localize "FTLNOMAD.Label.capacity"}}</legend> | ||||||
|           <legend>{{localize "FTLNOMAD.Label.Speed"}}</legend> |  | ||||||
|           <div class="flexrow"> |           <div class="flexrow"> | ||||||
|             {{formField systemFields.surfaceSpeed value=system.surfaceSpeed localize=true}} |             {{formField systemFields.armor value=system.armor localize=true}} | ||||||
|             {{formField systemFields.airSpeed value=system.airSpeed localize=true}} |             {{formField systemFields.force value=system.force localize=true}} | ||||||
|              |           </div> | ||||||
|  |           <div class="flexrow"> | ||||||
|  |             {{formField systemFields.range value=system.range localize=true}}             | ||||||
|  |             {{formField systemFields.speed value=system.speed localize=true}}             | ||||||
|           </div> |           </div> | ||||||
|         </fieldset> |         </fieldset> | ||||||
|  |  | ||||||
|         <fieldset class="armr "> |         <fieldset class="cargo"> | ||||||
|           <legend>{{localize "FTLNOMAD.Label.armor"}}</legend> |           <legend>{{localize "FTLNOMAD.Label.cargo"}}</legend> | ||||||
|           <div class="flexrow"> |           <div class="flexrow"> | ||||||
|             {{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}}             | ||||||
|           </div> |           </div> | ||||||
|         </fieldset> |         </fieldset> | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user