feat: complete visual redesign of all item sheets + compact chat roll messages

- Rewrote _item.sass with unified layout: type-bar + dark header + stats pills + tabs
 - All 11 item templates converted to new pill-based stats bar
 - Chat roll message font sizes and padding compacted
 - Physical item partial rewritten as stat pills (QTY/WEIGHT/COST/TL)
 - Legacy itemsheet-header and itemsheet-maincol hidden
This commit is contained in:
2026-04-19 21:31:52 +02:00
parent d62d14c1da
commit df0a93d715
15 changed files with 978 additions and 679 deletions

View File

@@ -1,38 +1,345 @@
// MGT2 Item Sheets
// New unified layout: type-bar header (image+name) stats-bar full-width tabs
// Outer window
.itemsheet
display: flex
flex-wrap: nowrap
flex-direction: row
.itemsheet-header
display: flex
background-color: var(--mgt2-bgcolor-primary)
color: var(--mgt2-color-primary)
padding: 0.5rem
align-items: center
flex: 0 0 2rem
display: flex !important
flex-direction: column !important
height: 100% !important
background: #ffffff !important
overflow: hidden !important
// Type bar (replaces vertical sidebar label)
.item-type-bar
background: #0A0405 !important
border-bottom: 3px solid #EE4050 !important
padding: 4px 12px !important
display: flex !important
align-items: center !important
gap: 8px !important
min-height: 0 !important
flex-shrink: 0 !important
.item-type-label
color: #EE4050 !important
font-family: 'Barlow Condensed', sans-serif !important
font-size: 0.65rem !important
font-weight: 700 !important
text-transform: uppercase !important
letter-spacing: 2px !important
// ── Header: image + name
.item-sheet-header
background: #0A0405 !important
padding: 10px 14px !important
display: flex !important
align-items: center !important
gap: 12px !important
flex-shrink: 0 !important
.item-header-img
width: 64px !important
height: 64px !important
object-fit: cover !important
border: 2px solid #EE4050 !important
border-radius: 4px !important
cursor: pointer !important
flex-shrink: 0 !important
.item-header-name
flex: 1 !important
background: transparent !important
border: none !important
border-bottom: 1px solid rgba(238,64,80,0.4) !important
color: #ffffff !important
font-family: 'Barlow Condensed', sans-serif !important
font-size: 1.6rem !important
font-weight: 800 !important
text-transform: uppercase !important
letter-spacing: 1px !important
padding: 2px 0 !important
line-height: 1.1 !important
width: 100% !important
&:focus
outline: none !important
border-bottom-color: #EE4050 !important
&::placeholder
color: rgba(255,255,255,0.35) !important
// Stats bar (pills)
.item-stats-bar
background: #f5eeee !important
border-bottom: 1px solid #ddc8c8 !important
padding: 6px 14px !important
display: flex !important
flex-wrap: wrap !important
gap: 6px !important
flex-shrink: 0 !important
.item-stat-pill
display: flex !important
flex-direction: column !important
align-items: center !important
background: #ffffff !important
border: 1px solid #ddc8c8 !important
border-radius: 4px !important
padding: 3px 10px !important
min-width: 56px !important
.stat-label
color: #664444 !important
font-family: 'Barlow Condensed', sans-serif !important
font-size: 0.6rem !important
font-weight: 700 !important
text-transform: uppercase !important
letter-spacing: 1.5px !important
line-height: 1.2 !important
.stat-value
color: #0A0405 !important
font-family: 'Barlow Condensed', sans-serif !important
font-size: 1rem !important
font-weight: 800 !important
line-height: 1.1 !important
input, select
color: #0A0405 !important
font-family: 'Barlow Condensed', sans-serif !important
font-size: 1rem !important
font-weight: 800 !important
background: transparent !important
border: none !important
text-align: center !important
width: 100% !important
padding: 0 !important
line-height: 1.1 !important
&:focus
outline: none !important
border-bottom: 1px solid #EE4050 !important
.item-stat-pill-checkbox
display: flex !important
flex-direction: row !important
align-items: center !important
gap: 5px !important
background: #ffffff !important
border: 1px solid #ddc8c8 !important
border-radius: 4px !important
padding: 4px 10px !important
input[type="checkbox"]
margin: 0 !important
width: 14px !important
height: 14px !important
accent-color: #EE4050 !important
label
writing-mode: tb-rl
transform: rotate(-180deg)
font-weight: 700
font-size: 20px
letter-spacing: 5px
font-family: "Rubik Mono One", monospace
font-style: normal
text-transform: uppercase
color: #664444 !important
font-family: 'Barlow Condensed', sans-serif !important
font-size: 0.65rem !important
font-weight: 700 !important
text-transform: uppercase !important
letter-spacing: 1px !important
cursor: pointer !important
// Tabs navigation
.itemsheet
.horizontal-tabs.tabs
background: #f5eeee !important
border-bottom: 2px solid #ddc8c8 !important
display: flex !important
flex-wrap: wrap !important
gap: 0 !important
padding: 0 10px !important
flex-shrink: 0 !important
.item.tab-select
color: #664444 !important
font-family: 'Barlow Condensed', sans-serif !important
font-size: 0.72rem !important
font-weight: 700 !important
text-transform: uppercase !important
letter-spacing: 1.5px !important
padding: 6px 14px !important
border: none !important
border-bottom: 2px solid transparent !important
margin-bottom: -2px !important
background: transparent !important
cursor: pointer !important
transition: color 0.15s, border-color 0.15s !important
&:hover
color: #EE4050 !important
&.active
color: #EE4050 !important
border-bottom-color: #EE4050 !important
background: transparent !important
// Tab content area
.itemsheet
.tab-content-area
flex: 1 !important
overflow-y: auto !important
padding: 10px 14px !important
background: #ffffff !important
.tab[data-group]
display: none !important
&.active
display: block !important
// Fields inside item sheets
.itemsheet
.field-group
margin-bottom: 8px !important
label
display: block !important
color: #664444 !important
font-family: 'Barlow Condensed', sans-serif !important
font-size: 0.68rem !important
font-weight: 700 !important
text-transform: uppercase !important
letter-spacing: 1px !important
margin-bottom: 2px !important
.field-groups
display: flex !important
flex-wrap: wrap !important
gap: 10px !important
align-items: flex-start !important
.field-group
flex: 1 !important
min-width: 80px !important
input[type="text"],
input[type="number"],
select,
textarea
background: #fdf8f8 !important
border: 1px solid #ddc8c8 !important
border-radius: 3px !important
color: #0A0405 !important
font-family: 'Barlow Condensed', sans-serif !important
font-size: 0.85rem !important
padding: 4px 8px !important
width: 100% !important
&:focus
outline: none !important
border-color: #EE4050 !important
box-shadow: 0 0 0 2px rgba(238,64,80,0.12) !important
textarea
resize: vertical !important
min-height: 80px !important
.mgt2-checkbox
display: flex !important
align-items: center !important
gap: 6px !important
color: #664444 !important
font-family: 'Barlow Condensed', sans-serif !important
font-size: 0.72rem !important
font-weight: 700 !important
text-transform: uppercase !important
letter-spacing: 1px !important
input[type="checkbox"]
width: 14px !important
height: 14px !important
margin: 0 !important
accent-color: #EE4050 !important
// Tables inside item sheets
.itemsheet
.table-container
border: 1px solid #ddc8c8 !important
border-radius: 4px !important
overflow: hidden !important
margin-top: 8px !important
.table-row
display: flex !important
align-items: stretch !important
border-bottom: 1px solid #e8dada !important
&:last-child
border-bottom: none !important
&.heading
background: #0A0405 !important
color: #EE4050 !important
.row-item
color: #EE4050 !important
font-family: 'Barlow Condensed', sans-serif !important
font-size: 0.68rem !important
font-weight: 700 !important
text-transform: uppercase !important
letter-spacing: 1px !important
padding: 5px 8px !important
&:not(.heading)
background: #ffffff !important
&:nth-child(even)
background: #fdf8f8 !important
.row-item
padding: 4px 6px !important
input, textarea, select
font-size: 0.8rem !important
padding: 2px 6px !important
.row-item
flex: 1 !important
border-right: 1px solid #e8dada !important
&:last-child
border-right: none !important
&.row-item-left
justify-content: flex-start !important
&.row-item-right
flex: 0 0 auto !important
min-width: 36px !important
display: flex !important
align-items: center !important
justify-content: center !important
&.row-item-30
flex: 0 0 30% !important
.item-controls
display: flex !important
align-items: center !important
justify-content: center !important
gap: 6px !important
a
color: #888888 !important
cursor: pointer !important
&:hover
color: #EE4050 !important
// Legacy classes kept for compatibility
// (old structure hidden, new structure used)
.itemsheet-header
display: none !important
.itemsheet-maincol
flex: 0 0 130px
padding: 0 1rem 0 0
display: none !important
.itemsheet-panel
display: flex
flex: inherit
padding: 1rem
img
&.profile-img
width: 100px
height: 100px
.itemsheet input,
.itemsheet select
color: var(--mgt2-input-color)
background-color: var(--mgt2-input-bgcolor)
display: block
width: 100%
font-size: 13px
display: contents !important

2
styles/mgt2.min.css vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,35 +1,40 @@
<div class="{{cssClass}} itemsheet">
<div class="itemsheet-header">
<label>{{localize 'MGT2.TYPES.Item.armor'}}</label>
<div class="item-type-bar">
<span class="item-type-label"><i class="fas fa-shield-halved"></i> {{localize 'MGT2.TYPES.Item.armor'}}</span>
</div>
<div class="itemsheet-panel">
<div class="itemsheet-maincol">
<img class="profile-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
<div class="item-sheet-header">
<img class="item-header-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
<input class="item-header-name" name="name" type="text" value="{{item.name}}" />
</div>
<div class="item-stats-bar">
{{> systems/mgt2/templates/items/parts/sheet-physical-item.html }}
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.Protection' }}</span>
<input type="text" name="system.protection" value="{{system.protection}}" data-dtype="String" />
</div>
<div class="w-100">
<input class="field field-item-name" name="name" type="text" value="{{item.name}}" />
<nav class="horizontal-tabs tabs mt-1" data-group="primary">
</div>
<nav class="horizontal-tabs tabs" data-group="primary">
<a class="item tab-select" data-tab="tab1">{{ localize 'MGT2.Items.Description' }}</a>
<a class="item tab-select" data-tab="tab2">{{ localize 'MGT2.Items.Details' }}</a>
<a class="item tab-select" data-tab="tab3">{{ localize 'MGT2.Items.Configuration' }}</a>
</nav>
<div class="tab-content-area">
<div class="tab" data-group="primary" data-tab="tab1">
<div class="field-group mt-1">
<div class="field-group">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</div>
</div>
<div class="tab" data-group="primary" data-tab="tab2">
<div class="field-groups mt-1">
<div class="field-group w3-10">
<div class="field-groups">
<div class="field-group">
<label class="mgt2-checkbox"><input type="checkbox" name="system.equipped" data-dtype="Boolean" {{checked system.equipped}} />{{ localize 'MGT2.Items.Equipped' }}</label>
</div>
<div class="field-group w3-10">
<div class="field-group">
<label class="mgt2-checkbox"><input type="checkbox" name="system.powered" data-dtype="Boolean" {{checked system.powered}} />{{ localize 'MGT2.Items.Powered' }}</label>
</div>
{{#if hadContainer}}
<div class="field-group w3-10">
<div class="field-group">
<label>{{ localize 'MGT2.Items.Storage' }}</label>
<select name="system.container.id">
{{selectOptions containers selected=system.container.id valueAttr="_id" labelAttr="name"}}
@@ -37,29 +42,23 @@
</div>
{{/if}}
</div>
<div class="field-groups mt-1">
<div class="field-group">
<div class="field-group" style="margin-top:8px;">
<label>{{ localize 'MGT2.Items.Radiations' }}</label>
<input type="number" name="system.radiations" value="{{system.radiations}}" data-dtype="Number" />
</div>
<div class="field-group">
<label>{{ localize 'MGT2.Items.Protection' }}</label>
<input type="text" name="system.protection" value="{{system.protection}}" data-dtype="String" />
</div>
</div>
<div class="table-container mt-1">
<div class="table-row heading color-2">
<div class="row-item row-item-left row-item-30 flex-fix upcase">{{ localize 'MGT2.Items.Options' }}</div>
<div class="table-container">
<div class="table-row heading">
<div class="row-item row-item-left row-item-30">{{ localize 'MGT2.Items.Options' }}</div>
<div class="row-item row-item-left">Description</div>
<div class="row-item row-item-right row-item-5 flex-fix"><a class="options-create" data-property="options"><i class="fas fa-plus"></i></a></div>
<div class="row-item row-item-right"><a class="options-create" data-property="options"><i class="fas fa-plus"></i></a></div>
</div>
{{#each system.options as |option i| }}
<div class="table-row dropitem options-part" data-options-part="{{i}}" data-property="options" role="rowgroup">
<div class="row-item row-item-left row-item-30 flex-fix"><input type="text" name="system.options.{{i}}.name" value="{{option.name}}" /></div>
<div class="row-item row-item-left row-item-30"><input type="text" name="system.options.{{i}}.name" value="{{option.name}}" /></div>
<div class="row-item row-item-left">
<textarea name="system.options.{{i}}.description" rows="3">{{option.description}}</textarea>
<textarea name="system.options.{{i}}.description" rows="2">{{option.description}}</textarea>
</div>
<div class="row-item row-item-right row-item-5 flex-fix item-controls">
<div class="row-item row-item-right item-controls">
<a class="item-control options-delete" title="Delete Option"><i class="fas fa-trash"></i></a>
</div>
</div>
@@ -70,5 +69,4 @@
{{> systems/mgt2/templates/items/parts/sheet-configuration.html }}
</div>
</div>
</div>
</div>

View File

@@ -1,44 +1,47 @@
<div class="{{cssClass}} itemsheet">
<div class="itemsheet-header"><label class="upcase">{{ localize 'MGT2.Items.Career' }}</label></div>
<div class="itemsheet-panel">
<div class="itemsheet-maincol">
<img class="profile-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
<div class="field-group mt-1">
<label class="upcase">{{ localize 'MGT2.Items.Terms' }}</label>
<div class="item-type-bar">
<span class="item-type-label"><i class="fas fa-briefcase"></i> {{ localize 'MGT2.Items.Career' }}</span>
</div>
<div class="item-sheet-header">
<img class="item-header-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
<input class="item-header-name" name="name" type="text" value="{{item.name}}" data-dtype="String" />
</div>
<div class="item-stats-bar">
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.Terms' }}</span>
<input type="number" name="system.terms" value="{{system.terms}}" data-dtype="Number" />
</div>
<div class="field-group mt-1">
<label class="upcase">{{ localize 'MGT2.Items.Rank' }}</label>
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.Rank' }}</span>
<input type="number" name="system.rank" value="{{system.rank}}" data-dtype="Number" />
</div>
</div>
<div class="w-100">
<input class="field field-item-name" name="name" type="text" value="{{item.name}}" data-dtype="String" />
<div class="field-group mt-1">
<label class="upcase">{{ localize 'MGT2.Items.Assignment' }}</label>
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.Assignment' }}</span>
<input type="text" name="system.assignment" value="{{system.assignment}}" data-dtype="String" />
</div>
<nav class="horizontal-tabs tabs mt-1" data-group="primary">
</div>
<nav class="horizontal-tabs tabs" data-group="primary">
<a class="item tab-select" data-tab="tab1">{{ localize 'MGT2.Items.Description' }}</a>
<a class="item tab-select" data-tab="events">{{ localize 'MGT2.Items.EventsMishaps' }}</a>
</nav>
<div class="tab-content-area">
<div class="tab" data-group="primary" data-tab="tab1">
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</div>
<div class="tab" data-group="primary" data-tab="events">
<div class="table-container color-2 mt-1">
<div class="table-row heading color-2">
<div class="row-item row-item-left upcase">{{ localize 'MGT2.Items.Age' }}</div>
<div class="row-item row-item-left upcase">{{ localize 'MGT2.Items.Details' }}</div>
<div class="row-item item-controls"><a class="event-create"><i class="fas fa-plus"></i></a></div>
<div class="table-container">
<div class="table-row heading">
<div class="row-item row-item-left">{{ localize 'MGT2.Items.Age' }}</div>
<div class="row-item row-item-left">{{ localize 'MGT2.Items.Details' }}</div>
<div class="row-item row-item-right item-controls"><a class="event-create"><i class="fas fa-plus"></i></a></div>
</div>
{{#each system.events as |event i| }}
<div class="table-row dropitem events-part" data-events-part="{{i}}" role="rowgroup">
<div class="row-item row-item-left"><input type="number" name="system.events.{{i}}.age" value="{{event.age}}" data-dtype="Number" /></div>
<div class="row-item row-item-left">
<textarea name="system.events.{{i}}.description" rows="3">{{event.description}}</textarea>
<textarea name="system.events.{{i}}.description" rows="2">{{event.description}}</textarea>
</div>
<div class="row-item item-controls">
<div class="row-item row-item-right item-controls">
<a class="item-control event-delete" title="Delete Event"><i class="fas fa-trash"></i></a>
</div>
</div>
@@ -46,5 +49,4 @@
</div>
</div>
</div>
</div>
</div>

View File

@@ -1,27 +1,32 @@
<div class="{{cssClass}} itemsheet">
<div class="itemsheet-header">
<label>{{localize 'MGT2.EquipmentSubType.computer'}}</label>
<div class="item-type-bar">
<span class="item-type-label"><i class="fas fa-desktop"></i> {{localize 'MGT2.EquipmentSubType.computer'}}</span>
</div>
<div class="itemsheet-panel">
<div class="itemsheet-maincol">
<img class="profile-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
<div class="item-sheet-header">
<img class="item-header-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
<input class="item-header-name" name="name" type="text" value="{{item.name}}" />
</div>
<div class="item-stats-bar">
{{> systems/mgt2/templates/items/parts/sheet-physical-item.html }}
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.Processing' }}</span>
<input type="number" name="system.processing" value="{{system.processing}}" data-dtype="Number" />
</div>
<div class="w-100">
<input class="field field-item-name" name="name" type="text" value="{{item.name}}" />
<nav class="horizontal-tabs tabs mt-1" data-group="primary">
</div>
<nav class="horizontal-tabs tabs" data-group="primary">
<a class="item tab-select" data-tab="tab1">{{ localize 'MGT2.Items.Description' }}</a>
<a class="item tab-select" data-tab="tab2">{{ localize 'MGT2.Items.Details' }}</a>
<a class="item tab-select" data-tab="tab3">{{ localize 'MGT2.Items.Configuration' }}</a>
</nav>
<div class="tab-content-area">
<div class="tab" data-group="primary" data-tab="tab1">
<div class="field-group mt-1">
<div class="field-group">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</div>
</div>
<div class="tab" data-group="primary" data-tab="tab2">
<div class="field-groups mt-1">
<div class="field-groups">
<div class="field-group">
<label class="mgt2-checkbox"><input type="checkbox" name="system.equipped" data-dtype="Boolean" {{checked system.equipped}} />{{ localize 'MGT2.Items.Equipped' }}</label>
</div>
@@ -34,21 +39,17 @@
</div>
{{/if}}
</div>
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Processing' }}</label>
<input type="number" name="system.processing" value="{{system.processing}}" data-dtype="Number" />
</div>
<div class="table-container mt-1">
<div class="table-row heading color-2">
<div class="row-item row-item-left flex-grow-2 upcase">{{ localize 'MGT2.Items.Options' }}</div>
<div class="row-item row-item-left flex-grow-3">{{ localize 'MGT2.Items.Description' }}</div>
<div class="table-container" style="margin-top:8px;">
<div class="table-row heading">
<div class="row-item row-item-left">{{ localize 'MGT2.Items.Options' }}</div>
<div class="row-item row-item-left">{{ localize 'MGT2.Items.Description' }}</div>
<div class="row-item row-item-right"><a class="options-create" data-property="options"><i class="fas fa-plus"></i></a></div>
</div>
{{#each system.options as |option i| }}
<div class="table-row dropitem options-part" data-options-part="{{i}}" data-property="options" role="rowgroup">
<div class="row-item row-item-left flex-grow-2"><input type="text" name="system.options.{{i}}.name" value="{{option.name}}" /></div>
<div class="row-item row-item-left flex-grow-3">
<textarea name="system.options.{{i}}.description" rows="3">{{option.description}}</textarea>
<div class="row-item row-item-left"><input type="text" name="system.options.{{i}}.name" value="{{option.name}}" /></div>
<div class="row-item row-item-left">
<textarea name="system.options.{{i}}.description" rows="2">{{option.description}}</textarea>
</div>
<div class="row-item row-item-right item-controls">
<a class="item-control options-delete" title="Delete Option"><i class="fas fa-trash"></i></a>
@@ -61,5 +62,4 @@
{{> systems/mgt2/templates/items/parts/sheet-configuration.html }}
</div>
</div>
</div>
</div>

View File

@@ -1,42 +1,49 @@
<div class="{{cssClass}} itemsheet">
<div class="itemsheet-header"><label class="upcase">{{ localize 'MGT2.Items.Contact' }}</label></div>
<div class="itemsheet-panel">
<div class="itemsheet-maincol">
<img class="profile-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Relation' }}</label>
<div class="item-type-bar">
<span class="item-type-label"><i class="fas fa-address-card"></i> {{ localize 'MGT2.Items.Contact' }}</span>
</div>
<div class="item-sheet-header">
<img class="item-header-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
<input class="item-header-name" name="name" type="text" value="{{item.name}}" />
</div>
<div class="item-stats-bar">
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.Relation' }}</span>
<select name="system.relation">
{{selectOptions config.ContactRelations selected = system.relation localize = true}}
{{selectOptions config.ContactRelations selected=system.relation localize=true}}
</select>
</div>
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Attitude' }}</label>
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.Attitude' }}</span>
<select name="system.attitude">
{{selectOptions config.Attitudes selected = system.attitude localize = true}}
{{selectOptions config.Attitudes selected=system.attitude localize=true}}
</select>
</div>
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Status' }}</label>
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.Status' }}</span>
<select name="system.status">
{{selectOptions config.ContactStatus selected = system.status localize = true}}
{{selectOptions config.ContactStatus selected=system.status localize=true}}
</select>
</div>
{{#if settings.useGender}}
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Gender' }}</span>
<input type="text" name="system.gender" value="{{system.gender}}" data-dtype="String" />
</div>
<div class="w-100 h100 flexcol">
<input class="field field-item-name" name="name" type="text" value="{{item.name}}" style="flex-grow: 0;" />
<div class="field-groups mt-1" style="flex-grow: 0;">
{{/if}}
</div>
<nav class="horizontal-tabs tabs" data-group="primary">
<a class="item tab-select" data-tab="tab1">{{ localize 'MGT2.Items.Informations' }}</a>
<a class="item tab-select" data-tab="description">{{ localize 'MGT2.Items.Description' }}</a>
<a class="item tab-select" data-tab="notes">{{ localize 'MGT2.Items.Notes' }}</a>
</nav>
<div class="tab-content-area">
<div class="tab" data-group="primary" data-tab="tab1">
<div class="field-groups">
<div class="field-group">
<label>{{ localize 'MGT2.Species' }}</label>
<input type="text" name="system.species" value="{{system.species}}" data-dtype="String" />
</div>
{{#if settings.useGender}}
<div class="field-group" style="margin:0 1rem">
<label>{{ localize 'MGT2.Gender' }}</label>
<input type="text" name="system.gender" value="{{system.gender}}" data-dtype="String" />
</div>
{{/if}}
{{#if settings.usePronouns}}
<div class="field-group">
<label>{{ localize 'MGT2.Pronouns' }}</label>
@@ -44,41 +51,34 @@
</div>
{{/if}}
</div>
<nav class="horizontal-tabs tabs mt-1" data-group="primary" style="flex-grow: 0;">
<a class="item tab-select" data-tab="tab1">{{ localize 'MGT2.Items.Informations' }}</a>
<a class="item tab-select" data-tab="description">{{ localize 'MGT2.Items.Description' }}</a>
<a class="item tab-select" data-tab="notes">{{ localize 'MGT2.Items.Notes' }}</a>
</nav>
<div class="tab" data-group="primary" data-tab="tab1">
<div class="field-group mt-1">
<div class="field-group" style="margin-top:8px;">
<label>{{ localize 'MGT2.Items.Title' }}</label>
<input type="text" name="system.title" value="{{system.title}}" data-dtype="String" />
</div>
<div class="field-group mt-1">
<div class="field-group">
<label>{{ localize 'MGT2.Items.Nickname' }}</label>
<input type="text" name="system.nickname" value="{{system.nickname}}" data-dtype="String" />
</div>
<div class="field-groups mt-1">
<div class="field-group flex-1">
<div class="field-groups">
<div class="field-group">
<label>{{ localize 'MGT2.Items.Homeworld' }}</label>
<input type="text" name="system.homeworld" value="{{system.homeworld}}" data-dtype="String" />
</div>
<div class="field-group flex-1">
<div class="field-group">
<label>{{ localize 'MGT2.Items.Location' }}</label>
<input type="text" name="system.location" value="{{system.location}}" data-dtype="String" />
</div>
</div>
<div class="field-group mt-1">
<div class="field-group">
<label>{{ localize 'MGT2.Items.Occupation' }}</label>
<input type="text" name="system.occupation" value="{{system.occupation}}" data-dtype="String" />
</div>
</div>
<div class="tab w100 h100" data-group="primary" data-tab="description">
<div class="tab" data-group="primary" data-tab="description">
{{editor system.description.value target="system.description" button=true editable=true}}
</div>
<div class="tab w100 h100" data-group="primary" data-tab="notes">
<div class="tab" data-group="primary" data-tab="notes">
{{editor system.notes target="system.notes" button=true editable=true}}
</div>
</div>
</div>
</div>

View File

@@ -1,55 +1,55 @@
<div class="{{cssClass}} itemsheet">
<div class="itemsheet-header"><label class="upcase">{{ localize 'MGT2.Items.Container' }}</label></div>
<div class="itemsheet-panel">
<div class="itemsheet-maincol">
<img class="profile-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
{{#if system.locked}}
<div class="field-group mt-05">
<i class="fa-solid fa-lock"></i><label class="upcase">{{ localize 'MGT2.Items.Locked' }}</label>
<div class="item-type-bar">
<span class="item-type-label"><i class="fas fa-box"></i> {{ localize 'MGT2.Items.Container' }}</span>
{{#if system.locked}}<span class="item-type-label" style="margin-left:8px;"><i class="fa-solid fa-lock"></i></span>{{/if}}
</div>
<div class="item-sheet-header">
<img class="item-header-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
<input class="item-header-name" name="name" type="text" value="{{item.name}}" data-dtype="String" />
</div>
<div class="item-stats-bar">
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.Weight' }} ({{unitlabels.weight}})</span>
<input type="number" value="{{weight}}" readonly style="opacity:0.7;" />
</div>
<div class="item-stat-pill-checkbox">
<input type="checkbox" name="system.onHand" id="onhand-{{item.id}}" data-dtype="Boolean" {{checked system.onHand}} />
<label for="onhand-{{item.id}}">{{ localize 'MGT2.Items.OnHand' }}</label>
</div>
{{#if isGM}}
<div class="item-stat-pill-checkbox">
<input type="checkbox" name="system.locked" id="locked-{{item.id}}" data-dtype="Boolean" {{checked system.locked}} />
<label for="locked-{{item.id}}">{{ localize 'MGT2.Items.Locked' }}</label>
</div>
{{/if}}
<div class="field-group mt-05">
<label>{{ localize 'MGT2.Items.Weight' }} ({{unitlabels.weight}})</label>
<input type="number" value="{{weight}}" readonly />
</div>
</div>
<div style="flex: 1">
<input class="field field-item-name" name="name" type="text" value="{{item.name}}" data-dtype="String" />
<nav class="horizontal-tabs tabs mt-1" data-group="primary">
<nav class="horizontal-tabs tabs" data-group="primary">
<a class="item tab-select" data-tab="tab1">{{ localize 'MGT2.Items.Description' }}</a>
<a class="item tab-select" data-tab="tab2">{{ localize 'MGT2.Items.Details' }}</a>
{{#if isGM}}
<a class="item tab-select" data-tab="tab3">{{ localize 'MGT2.Items.Configuration' }}</a>
{{/if}}
</nav>
<div class="tab-content-area">
<div class="tab" data-group="primary" data-tab="tab1">
<div class="field-group mt-1">
<div class="field-group">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</div>
</div>
<div class="tab" data-group="primary" data-tab="tab2">
<div class="field-groups mt-05">
<div class="field-group flex-1">
<label class="mgt2-checkbox"><input type="checkbox" name="system.onHand" data-dtype="Boolean" {{checked system.onHand}} />{{ localize 'MGT2.Items.OnHand' }}</label>
</div>
{{#if isGM}}
<div class="field-group flex-1">
<label class="mgt2-checkbox"><input type="checkbox" name="system.locked" data-dtype="Boolean" {{checked system.locked}} />{{ localize 'MGT2.Items.Locked' }}</label>
</div>
{{/if}}
</div>
<div class="field-group flex-1">
<div class="field-group">
<label>{{ localize 'MGT2.Items.Location' }}</label>
<input type="text" name="system.location" value="{{system.location}}" data-dtype="String" />
</div>
</div>
<div class="tab" data-group="primary" data-tab="tab3">
{{#if isGM}}
<div class="field-group mt-05">
<div class="tab" data-group="primary" data-tab="tab3">
<div class="field-group">
<label>{{ localize 'MGT2.Items.LockedDescription' }}</label>
<textarea name="system.lockedDescription" rows="6">{{system.lockedDescription}}</textarea>
</div>
</div>
{{/if}}
</div>
</div>
</div>
</div>

View File

@@ -1,45 +1,43 @@
<div class="{{cssClass}} itemsheet">
<div class="itemsheet-header">
<div class="item-type-bar">
{{#if (eq system.subType "disease")}}
<label>{{localize 'MGT2.DiseaseSubType.disease'}}</label>
<span class="item-type-label"><i class="fas fa-bacterium"></i> {{localize 'MGT2.DiseaseSubType.disease'}}</span>
{{else if (eq system.subType "poison")}}
<label>{{localize 'MGT2.DiseaseSubType.poison'}}</label>
<span class="item-type-label"><i class="fas fa-skull-crossbones"></i> {{localize 'MGT2.DiseaseSubType.poison'}}</span>
{{else}}
<label>{{localize 'MGT2.DiseaseSubType.wound'}}</label>
<span class="item-type-label"><i class="fas fa-heart-crack"></i> {{localize 'MGT2.DiseaseSubType.wound'}}</span>
{{/if}}
</div>
<div class="itemsheet-panel">
<div class="itemsheet-maincol">
<img class="profile-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Type' }}</label>
<select name="system.subType">
{{selectOptions config.DiseaseSubType selected = system.subType localize = true}}
<div class="item-sheet-header">
<img class="item-header-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
<input class="item-header-name" name="name" type="text" value="{{item.name}}" />
</div>
<div class="item-stats-bar">
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.Type' }}</span>
<select name="system.subType" style="font-size:0.75rem;">
{{selectOptions config.DiseaseSubType selected=system.subType localize=true}}
</select>
</div>
</div>
<div class="w-100">
<input class="field field-item-name" name="name" type="text" value="{{item.name}}" />
<div class="field-groups mt-1">
<div class="field-group w3-10">
<label>{{ localize 'MGT2.Items.Difficulty' }}</label>
<select name="system.difficulty">
{{selectOptions config.Difficulty selected = system.difficulty localize = true}}
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.Difficulty' }}</span>
<select name="system.difficulty" style="font-size:0.75rem;">
{{selectOptions config.Difficulty selected=system.difficulty localize=true}}
</select>
</div>
<div class="field-group w3-10" style="margin: 0 1rem;">
<label>{{ localize 'MGT2.Items.Damage' }}</label>
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.Damage' }}</span>
<input type="text" name="system.damage" value="{{system.damage}}" data-dtype="String" />
</div>
<div class="field-group w3-10">
<label>{{ localize 'MGT2.Items.Interval' }}</label>
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.Interval' }}</span>
<input type="text" name="system.interval" value="{{system.interval}}" data-dtype="String" />
</div>
</div>
<div class="field-group mt-1 w-100">
<div class="tab-content-area">
<div class="field-group">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</div>
<textarea name="system.description" rows="8">{{system.description}}</textarea>
</div>
</div>
</div>

View File

@@ -1,41 +1,42 @@
<div class="{{cssClass}} itemsheet">
<div class="itemsheet-header">
<div class="item-type-bar">
{{#if (eq system.subType "augment")}}
<label>{{localize 'MGT2.EquipmentSubType.augment'}}</label>
<span class="item-type-label"><i class="fas fa-dna"></i> {{localize 'MGT2.EquipmentSubType.augment'}}</span>
{{else if (eq system.subType "trinket")}}
<label>{{localize 'MGT2.EquipmentSubType.trinket'}}</label>
<span class="item-type-label"><i class="fas fa-gem"></i> {{localize 'MGT2.EquipmentSubType.trinket'}}</span>
{{else if (eq system.subType "clothing")}}
<label>{{localize 'MGT2.EquipmentSubType.clothing'}}</label>
<span class="item-type-label"><i class="fas fa-shirt"></i> {{localize 'MGT2.EquipmentSubType.clothing'}}</span>
{{else}}
<label>{{localize 'MGT2.EquipmentSubType.equipment'}}</label>
<span class="item-type-label"><i class="fas fa-toolbox"></i> {{localize 'MGT2.EquipmentSubType.equipment'}}</span>
{{/if}}
</div>
<div class="itemsheet-panel">
<div class="itemsheet-maincol">
<img class="profile-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Type' }}</label>
<select name="system.subType">
{{selectOptions config.EquipmentSubType selected = system.subType localize = true}}
<div class="item-sheet-header">
<img class="item-header-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
<input class="item-header-name" name="name" type="text" value="{{item.name}}" />
</div>
<div class="item-stats-bar">
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.Type' }}</span>
<select name="system.subType" style="font-size:0.75rem;">
{{selectOptions config.EquipmentSubType selected=system.subType localize=true}}
</select>
</div>
{{> systems/mgt2/templates/items/parts/sheet-physical-item.html }}
</div>
<div class="w-100">
<input class="field field-item-name" name="name" type="text" value="{{item.name}}" />
<nav class="horizontal-tabs tabs mt-1" data-group="primary">
<nav class="horizontal-tabs tabs" data-group="primary">
<a class="item tab-select" data-tab="tab1">{{ localize 'MGT2.Items.Description' }}</a>
<a class="item tab-select" data-tab="tab2">{{ localize 'MGT2.Items.Details' }}</a>
<a class="item tab-select" data-tab="tab3">{{ localize 'MGT2.Items.Configuration' }}</a>
</nav>
<div class="tab-content-area">
<div class="tab" data-group="primary" data-tab="tab1">
<div class="field-group mt-1">
<div class="field-group">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</div>
</div>
<div class="tab" data-group="primary" data-tab="tab2">
<div class="field-groups mt-1">
<div class="field-groups">
<div class="field-group">
<label class="mgt2-checkbox"><input type="checkbox" name="system.equipped" data-dtype="Boolean" {{checked system.equipped}} />Equipped</label>
</div>
@@ -53,5 +54,4 @@
{{> systems/mgt2/templates/items/parts/sheet-configuration.html }}
</div>
</div>
</div>
</div>

View File

@@ -1,37 +1,38 @@
<div class="{{cssClass}} itemsheet">
<div class="itemsheet-header">
<div class="item-type-bar">
{{#if (eq system.subType "loot")}}
<label>{{localize 'MGT2.ItemSubType.loot'}}</label>
<span class="item-type-label"><i class="fas fa-coins"></i> {{localize 'MGT2.ItemSubType.loot'}}</span>
{{else}}
<label>{{localize 'MGT2.ItemSubType.software'}}</label>
<span class="item-type-label"><i class="fas fa-floppy-disk"></i> {{localize 'MGT2.ItemSubType.software'}}</span>
{{/if}}
</div>
<div class="itemsheet-panel">
<div class="itemsheet-maincol">
<img class="profile-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Type' }}</label>
<select name="system.subType">
{{selectOptions config.ItemSubType selected = system.subType localize = true}}
<div class="item-sheet-header">
<img class="item-header-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
<input class="item-header-name" name="name" type="text" value="{{item.name}}" />
</div>
<div class="item-stats-bar">
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.Type' }}</span>
<select name="system.subType" style="font-size:0.75rem;">
{{selectOptions config.ItemSubType selected=system.subType localize=true}}
</select>
</div>
{{> systems/mgt2/templates/items/parts/sheet-physical-item.html }}
</div>
<div class="flex-1">
<input class="field field-item-name" name="name" type="text" value="{{item.name}}" />
<nav class="horizontal-tabs tabs mt-1" data-group="primary">
<nav class="horizontal-tabs tabs" data-group="primary">
<a class="item tab-select" data-tab="tab1">{{ localize 'MGT2.Items.Description' }}</a>
<a class="item tab-select" data-tab="tab2">{{ localize 'MGT2.Items.Details' }}</a>
</nav>
<div class="tab-content-area">
<div class="tab" data-group="primary" data-tab="tab1">
<div class="field-group mt-1">
<div class="field-group">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</div>
</div>
<div class="tab" data-group="primary" data-tab="tab2">
{{#if hadContainer}}
<div class="field-groups mt-1">
<div class="field-groups">
{{#if (eq system.subType "software")}}
<div class="field-group">
<label>{{ localize 'MGT2.Items.Computer' }}</label>
@@ -49,12 +50,11 @@
</div>
{{/if}}
{{#if (eq system.subType "software")}}
<div class="field-group mt-1">
<div class="field-group" style="margin-top:8px;">
<label>{{ localize 'MGT2.Items.Bandwidth' }}</label>
<input type="number" name="system.software.bandwidth" value="{{system.software.bandwidth}}" data-dtype="Number" />
</div>
{{/if}}
</div>
</div>
</div>
</div>

View File

@@ -1,21 +1,22 @@
<div class="field-group mt-05">
<label>{{ localize 'MGT2.Items.Quantity' }}</label>
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.Quantity' }}</span>
<input type="number" name="system.quantity" value="{{system.quantity}}" data-dtype="Number" integer="true" positive="true" />
</div>
<div class="field-group mt-05">
<label>{{ localize 'MGT2.Items.Weight' }} ({{unitlabels.weight}})</label>
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.Weight' }} ({{unitlabels.weight}})</span>
<input type="number" name="weight" value="{{weight}}" data-dtype="Number" step="0.5" />
</div>
<div class="field-group mt-05">
<label class="mgt2-checkbox"><input type="checkbox" name="system.weightless" data-dtype="Boolean" {{checked system.weightless}} />{{ localize 'MGT2.Items.Weightless' }}</label>
<div class="item-stat-pill-checkbox">
<input type="checkbox" name="system.weightless" id="weightless-{{item.id}}" data-dtype="Boolean" {{checked system.weightless}} />
<label for="weightless-{{item.id}}">{{ localize 'MGT2.Items.Weightless' }}</label>
</div>
<div class="field-group mt-05">
<label>{{ localize 'MGT2.Items.Cost' }}</label>
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.Cost' }}</span>
<input type="number" name="system.cost" value="{{system.cost}}" data-dtype="Number" step="1" />
</div>
<div class="field-group mt-05">
<label>{{ localize 'MGT2.Items.TL' }}</label>
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.TL' }}</span>
<select name="system.tl">
{{selectOptions config.TL selected = system.tl localize = true}}
</select>
</select>
</div>

View File

@@ -1,63 +1,62 @@
<div class="{{cssClass}} itemsheet">
<div class="itemsheet-header"><label>{{ localize 'MGT2.Specie' }}</label></div>
<div class="itemsheet-panel">
<div class="itemsheet-maincol">
<img class="profile-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
<div class="item-type-bar">
<span class="item-type-label"><i class="fas fa-dna"></i> {{ localize 'MGT2.Specie' }}</span>
</div>
<div class="w-100" style="display: flex;flex-direction: column;justify-content: flex-start;align-items: stretch;">
<input class="field item-name" name="name" type="text" value="{{item.name}}" />
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<nav class="horizontal-tabs tabs mt-1" data-group="primary">
<div class="item-sheet-header">
<img class="item-header-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
<input class="item-header-name" name="name" type="text" value="{{item.name}}" />
</div>
<nav class="horizontal-tabs tabs" data-group="primary">
<a class="item tab-select" data-tab="tab1">{{ localize 'MGT2.Items.Description' }}</a>
<a class="item tab-select" data-tab="tab2">{{ localize 'MGT2.Items.DetailedDescription' }}</a>
<a class="item tab-select" data-tab="tab3">{{ localize 'MGT2.Items.Details' }}</a>
</nav>
<div class="tab-content-area">
<div class="tab" data-group="primary" data-tab="tab1">
<div class="field-group mt-1">
<div class="field-group">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</div>
</div>
<div class="tab w100 h100" data-group="primary" data-tab="tab2">
<div class="tab" data-group="primary" data-tab="tab2">
{{editor system.descriptionLong target="system.descriptionLong" button=true editable=true}}
</div>
<div class="tab" data-group="primary" data-tab="tab3">
<div class="table-container">
<div class="table-row heading color-2">
<div class="row-item row-item-left upcase">{{ localize 'MGT2.Items.Characteristics' }}</div>
<div class="row-item row-item-center row-item-15 flex-fix">{{ localize 'MGT2.Items.Modifiers' }}</div>
<div class="row-item row-item-15 item-controls flex-fix"><a class="modifiers-create"><i class="fas fa-plus"></i></a></div>
<div class="table-row heading">
<div class="row-item row-item-left">{{ localize 'MGT2.Items.Characteristics' }}</div>
<div class="row-item row-item-left" style="flex:0 0 120px;">{{ localize 'MGT2.Items.Modifiers' }}</div>
<div class="row-item row-item-right item-controls"><a class="modifiers-create"><i class="fas fa-plus"></i></a></div>
</div>
{{#each system.modifiers as |modifier i| }}
<div class="table-row modifiers-part" data-modifiers-part="{{i}}" role="rowgroup">
<div class="row-item row-item-left">
<select name="system.modifiers.{{i}}.characteristic">
{{selectOptions ../config.Characteristics selected=modifier.characteristic localize = true}}
{{selectOptions ../config.Characteristics selected=modifier.characteristic localize=true}}
</select>
</div>
<div class="row-item row-item-left row-item-15 flex-fix">
<div class="row-item row-item-left" style="flex:0 0 120px;">
<input type="number" name="system.modifiers.{{i}}.value" value="{{modifier.value}}" />
</div>
<div class="row-item row-item-15 item-controls flex-fix">
<div class="row-item row-item-right item-controls">
<a class="item-control modifiers-delete" title="Delete Trait"><i class="fas fa-trash"></i></a>
</div>
</div>
{{/each}}
</div>
<div class="table-container mt-1">
<div class="table-row heading color-2">
<div class="row-item row-item-30 row-item-left upcase">{{ localize 'MGT2.Items.Traits' }}</div>
<div class="table-container" style="margin-top:8px;">
<div class="table-row heading">
<div class="row-item row-item-left" style="flex:0 0 30%;">{{ localize 'MGT2.Items.Traits' }}</div>
<div class="row-item row-item-left">{{ localize 'MGT2.Items.Description' }}</div>
<div class="row-item row-item-15 item-controls flex-fix"><a class="options-create" data-property="traits"><i class="fas fa-plus"></i></a></div>
<div class="row-item row-item-right item-controls"><a class="options-create" data-property="traits"><i class="fas fa-plus"></i></a></div>
</div>
{{#each system.traits as |trait i| }}
<div class="table-row options-part" data-options-part="{{i}}" data-property="traits" role="rowgroup">
<div class="row-item row-item-30 row-item-left"><input type="text" name="system.traits.{{i}}.name" value="{{trait.name}}" /></div>
<div class="row-item row-item-left" style="flex:0 0 30%;"><input type="text" name="system.traits.{{i}}.name" value="{{trait.name}}" /></div>
<div class="row-item row-item-left">
<textarea name="system.traits.{{i}}.description" rows="3">{{trait.description}}</textarea>
<textarea name="system.traits.{{i}}.description" rows="2">{{trait.description}}</textarea>
</div>
<div class="row-item row-item-15 item-controls flex-fix">
<div class="row-item row-item-right item-controls">
<a class="item-control options-delete" title="Delete Trait"><i class="fas fa-trash"></i></a>
</div>
</div>
@@ -65,6 +64,4 @@
</div>
</div>
</div>
</div>
</div>
</div>

View File

@@ -1,79 +1,77 @@
<div class="{{cssClass}} flexrow itemsheet">
<div class="itemsheet-header">
<div class="item-type-bar">
{{#if (eq system.subType "skill")}}
<label>{{localize 'MGT2.TalentSubType.skill'}}</label>
<span class="item-type-label"><i class="fas fa-star"></i> {{localize 'MGT2.TalentSubType.skill'}}</span>
{{else if (eq system.subType "psionic")}}
<label>{{localize 'MGT2.TalentSubType.psionic'}}</label>
<span class="item-type-label"><i class="fas fa-brain"></i> {{localize 'MGT2.TalentSubType.psionic'}}</span>
{{/if}}
</div>
<div class="itemsheet-panel">
<div class="itemsheet-maincol">
<img class="profile-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Type' }}</label>
<select name="system.subType">
{{selectOptions config.TalentSubType selected = system.subType localize = true}}
<div class="item-sheet-header">
<img class="item-header-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
<input class="item-header-name" name="name" type="text" value="{{item.name}}" />
</div>
<div class="item-stats-bar">
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.Type' }}</span>
<select name="system.subType" style="font-size:0.75rem;">
{{selectOptions config.TalentSubType selected=system.subType localize=true}}
</select>
</div>
</div>
<div class="w-100">
<input class="field field-item-name" name="name" type="text" value="{{item.name}}" />
{{#if (eq system.subType "skill")}}
<div class="field-groups mt-1">
<div class="field-group">
<label>{{ localize 'MGT2.Items.Speciality' }}</label>
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.Level' }}</span>
<input type="number" name="system.level" value="{{system.level}}" data-dtype="Number" />
</div>
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.Speciality' }}</span>
<input type="text" name="system.skill.speciality" value="{{system.skill.speciality}}" data-dtype="String" />
</div>
<div class="field-group">
<label>{{ localize 'MGT2.Items.Level' }}</label>
<input type="text" name="system.level" value="{{system.level}}" data-dtype="Number" />
</div>
</div>
{{else if (eq system.subType "psionic")}}
<div class="field-groups mt-1">
<div class="field-group">
<label>{{ localize 'MGT2.Items.Level' }}</label>
<input type="text" name="system.level" value="{{system.level}}" data-dtype="Number" />
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.Level' }}</span>
<input type="number" name="system.level" value="{{system.level}}" data-dtype="Number" />
</div>
<div class="field-group">
<label>{{ localize 'MGT2.Items.Reach' }}</label>
<select name="system.psionic.reach">
<option></option>
{{selectOptions config.PsionicReach selected = system.psionic.reach localize = true}}
</select>
</div>
<div class="field-group">
<label>{{ localize 'MGT2.Items.PSICost' }}</label>
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.PSICost' }}</span>
<input type="number" name="system.psionic.cost" value="{{system.psionic.cost}}" data-dtype="Number" />
</div>
</div>
<div class="field-groups mt-1">
<div class="field-group">
<label>{{ localize 'MGT2.Items.Duration' }}</label>
<div class="flexrow">
<input type="text" name="system.psionic.duration" value="{{system.psionic.duration}}" data-dtype="String" class="flex-basis-50" />
<select name="system.psionic.durationUnit" class="flex-basis-50 flex-fix">
{{selectOptions config.Durations selected=system.psionic.durationUnit localize = true}}
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.Reach' }}</span>
<select name="system.psionic.reach">
<option></option>
{{selectOptions config.PsionicReach selected=system.psionic.reach localize=true}}
</select>
</div>
</div>
</div>
{{/if}}
<nav class="horizontal-tabs tabs mt-1" data-group="primary">
</div>
<nav class="horizontal-tabs tabs" data-group="primary">
<a class="item tab-select" data-tab="tab1">{{ localize 'MGT2.Items.Description' }}</a>
<a class="item tab-select" data-tab="config">{{ localize 'MGT2.Items.Configuration' }}</a>
</nav>
<div class="tab-content-area">
<div class="tab" data-group="primary" data-tab="tab1">
{{#if (eq system.subType "psionic")}}
<div class="field-groups" style="margin-bottom:8px;">
<div class="field-group">
<label>{{ localize 'MGT2.Items.Duration' }}</label>
<div style="display:flex;gap:4px;">
<input type="text" name="system.psionic.duration" value="{{system.psionic.duration}}" data-dtype="String" />
<select name="system.psionic.durationUnit">
{{selectOptions config.Durations selected=system.psionic.durationUnit localize=true}}
</select>
</div>
</div>
</div>
{{/if}}
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</div>
<div class="tab" data-group="primary" data-tab="config">
{{#if (eq system.subType "skill")}}
<div class="field-group mt-05">
<div class="field-group">
<label class="mgt2-checkbox"><input type="checkbox" name="system.skill.reduceEncumbrance" data-dtype="Boolean" {{checked system.skill.reduceEncumbrance}} />{{ localize 'MGT2.Items.ReduceEncumbrance' }}</label>
</div>
{{/if}}
{{> systems/mgt2/templates/items/parts/sheet-configuration.html }}
</div>
</div>
</div>
</div>

View File

@@ -1,26 +1,51 @@
<div class="{{cssClass}} itemsheet">
<div class="itemsheet-header"><label class="upcase">{{ localize 'MGT2.Items.Weapon' }}</label></div>
<div class="itemsheet-panel">
<div class="itemsheet-maincol">
<img class="profile-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
{{> systems/mgt2/templates/items/parts/sheet-physical-item.html }}
<div class="item-type-bar">
<span class="item-type-label"><i class="fas fa-gun"></i> {{ localize 'MGT2.Items.Weapon' }}</span>
</div>
<div class="w-100">
<input class="field field-item-name" name="name" type="text" value="{{item.name}}" />
<nav class="horizontal-tabs tabs mt-1" data-group="primary">
<div class="item-sheet-header">
<img class="item-header-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
<input class="item-header-name" name="name" type="text" value="{{item.name}}" />
</div>
<div class="item-stats-bar">
{{> systems/mgt2/templates/items/parts/sheet-physical-item.html }}
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.Damage' }}</span>
<input type="text" name="system.damage" value="{{system.damage}}" data-dtype="String" />
</div>
{{#unless system.range.isMelee}}
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.Range' }}</span>
<div style="display:flex;gap:3px;align-items:center;">
<input type="text" name="system.range.value" value="{{system.range.value}}" data-dtype="String" style="width:3rem;" />
<select name="system.range.unit" style="width:5rem;">
{{selectOptions config.MetricRange selected=system.range.unit localize=true}}
</select>
</div>
</div>
{{/unless}}
<div class="item-stat-pill">
<span class="stat-label">{{ localize 'MGT2.Items.Magazine' }}</span>
<input type="number" name="system.magazine" value="{{system.magazine}}" data-dtype="Number" />
</div>
</div>
<nav class="horizontal-tabs tabs" data-group="primary">
<a class="item tab-select" data-tab="tab1">{{ localize 'MGT2.Items.Description' }}</a>
<a class="item tab-select" data-tab="tab2">{{ localize 'MGT2.Items.Details' }}</a>
<a class="item tab-select" data-tab="tab3">{{ localize 'MGT2.Items.Configuration' }}</a>
</nav>
<div class="tab-content-area">
<div class="tab" data-group="primary" data-tab="tab1">
<div class="field-group mt-1">
<div class="field-group">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</div>
</div>
<div class="tab" data-group="primary" data-tab="tab2">
<div class="field-groups mt-1">
<div class="field-group flex-1">
<div class="field-groups">
<div class="field-group">
<label class="mgt2-checkbox"><input type="checkbox" name="system.range.isMelee" data-dtype="Boolean" {{checked system.range.isMelee}} />{{ localize 'MGT2.Items.IsMelee' }}</label>
</div>
<div class="field-group">
<label class="mgt2-checkbox"><input type="checkbox" name="system.equipped" data-dtype="Boolean" {{checked system.equipped}} />{{ localize 'MGT2.Items.Equipped' }}</label>
</div>
{{#if hadContainer}}
@@ -32,39 +57,13 @@
</div>
{{/if}}
</div>
<div class="field-groups mt-1">
<div class="field-group w3-10">
<label class="mgt2-checkbox"><input type="checkbox" name="system.range.isMelee" data-dtype="Boolean" {{checked system.range.isMelee}} />{{ localize 'MGT2.Items.IsMelee' }}</label>
</div>
{{#unless system.range.isMelee}}
<div class="field-group w3-10">
<label>{{ localize 'MGT2.Items.Range' }}</label>
<div class="flexrow">
<input type="text" name="system.range.value" value="{{system.range.value}}" data-dtype="String" />
<select name="system.range.unit" class="flex-fix" style="width: 5rem;">
{{selectOptions config.MetricRange selected=system.range.unit localize = true}}
</select>
</div>
</div>
{{/unless}}
</div>
<div class="field-groups mt-1">
<div class="field-group w3-10">
<label>{{ localize 'MGT2.Items.Damage' }}</label>
<input type="text" name="system.damage" value="{{system.damage}}" data-dtype="String" />
</div>
<div class="field-group w3-10" style="margin: 0 1rem;">
<label>{{ localize 'MGT2.Items.Magazine' }}</label>
<input type="number" name="system.magazine" value="{{system.magazine}}" data-dtype="Number" />
</div>
<div class="field-group w3-10">
<div class="field-group" style="margin-top:8px;">
<label>{{ localize 'MGT2.Items.MagazineCost' }}</label>
<input type="number" name="system.magazineCost" value="{{system.magazineCost}}" data-dtype="Number" />
</div>
</div>
<div class="table-container">
<div class="table-row heading color-2">
<div class="row-item row-item-left upcase">{{ localize 'MGT2.Items.Trait' }}</div>
<div class="table-row heading">
<div class="row-item row-item-left">{{ localize 'MGT2.Items.Trait' }}</div>
<div class="row-item row-item-left">{{ localize 'MGT2.Items.Description' }}</div>
<div class="row-item row-item-right"><a class="options-create" data-property="traits"><i class="fas fa-plus"></i></a></div>
</div>
@@ -72,7 +71,7 @@
<div class="table-row dropitem options-part" data-options-part="{{i}}" data-property="traits" role="rowgroup">
<div class="row-item row-item-left"><input type="text" name="system.traits.{{i}}.name" value="{{trait.name}}" /></div>
<div class="row-item row-item-left">
<textarea name="system.traits.{{i}}.description" rows="3">{{trait.description}}</textarea>
<textarea name="system.traits.{{i}}.description" rows="2">{{trait.description}}</textarea>
</div>
<div class="row-item row-item-right item-controls">
<a class="item-control options-delete" title="Delete Trait"><i class="fas fa-trash"></i></a>
@@ -85,5 +84,4 @@
{{> systems/mgt2/templates/items/parts/sheet-configuration.html }}
</div>
</div>
</div>
</div>