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,74 +1,72 @@
<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}}" />
{{> systems/mgt2/templates/items/parts/sheet-physical-item.html }}
<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">
<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" data-group="primary" data-tab="tab1">
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</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">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</div>
<div class="tab" data-group="primary" data-tab="tab2">
<div class="field-groups mt-1">
<div class="field-group w3-10">
<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">
<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">
<label>{{ localize 'MGT2.Items.Storage' }}</label>
<select name="system.container.id">
{{selectOptions containers selected=system.container.id valueAttr="_id" labelAttr="name"}}
</select>
</div>
{{/if}}
</div>
<div class="tab" data-group="primary" data-tab="tab2">
<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-groups mt-1">
<div class="field-group">
<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 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>
<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="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>
{{#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">
<textarea name="system.options.{{i}}.description" rows="3">{{option.description}}</textarea>
</div>
<div class="row-item row-item-right row-item-5 flex-fix item-controls">
<a class="item-control options-delete" title="Delete Option"><i class="fas fa-trash"></i></a>
</div>
</div>
{{/each}}
{{#if hadContainer}}
<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"}}
</select>
</div>
{{/if}}
</div>
<div class="tab" data-group="primary" data-tab="tab3">
<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="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"><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"><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>
</div>
</div>
{{/each}}
</div>
</div>
<div class="tab" data-group="primary" data-tab="tab3">
{{> systems/mgt2/templates/items/parts/sheet-configuration.html }}
</div>
</div>
</div>
</div>

View File

@@ -1,50 +1,52 @@
<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>
<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>
<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>
<input type="text" name="system.assignment" value="{{system.assignment}}" data-dtype="String" />
</div>
<nav class="horizontal-tabs tabs mt-1" 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" 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>
{{#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>
</div>
<div class="row-item item-controls">
<a class="item-control event-delete" title="Delete Event"><i class="fas fa-trash"></i></a>
</div>
</div>
{{/each}}
</div>
</div>
</div>
<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="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 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>
</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">
<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="2">{{event.description}}</textarea>
</div>
<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>
{{/each}}
</div>
</div>
</div>
</div>

View File

@@ -1,65 +1,65 @@
<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}}" />
{{> systems/mgt2/templates/items/parts/sheet-physical-item.html }}
<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">
<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" data-group="primary" data-tab="tab1">
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</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">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</div>
<div class="tab" data-group="primary" data-tab="tab2">
<div class="field-groups mt-1">
<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}}
<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"}}
</select>
</div>
{{/if}}
</div>
<div class="tab" data-group="primary" data-tab="tab2">
<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 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="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>
<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>
{{/each}}
{{#if hadContainer}}
<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"}}
</select>
</div>
{{/if}}
</div>
<div class="tab" data-group="primary" data-tab="tab3">
{{> systems/mgt2/templates/items/parts/sheet-configuration.html }}
<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"><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>
</div>
</div>
{{/each}}
</div>
</div>
<div class="tab" data-group="primary" data-tab="tab3">
{{> systems/mgt2/templates/items/parts/sheet-configuration.html }}
</div>
</div>
</div>

View File

@@ -1,84 +1,84 @@
<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>
<select name="system.relation">
{{selectOptions config.ContactRelations selected = system.relation localize = true}}
</select>
</div>
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Attitude' }}</label>
<select name="system.attitude">
{{selectOptions config.Attitudes selected = system.attitude localize = true}}
</select>
</div>
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Status' }}</label>
<select name="system.status">
{{selectOptions config.ContactStatus selected = system.status localize = true}}
</select>
</div>
</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;">
<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>
<input type="text" name="system.pronouns" value="{{system.pronouns}}" data-dtype="String" />
</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">
<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">
<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">
<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">
<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">
<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">
{{editor system.description.value target="system.description" button=true editable=true}}
</div>
<div class="tab w100 h100" data-group="primary" data-tab="notes">
{{editor system.notes target="system.notes" button=true editable=true}}
</div>
</div>
<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}}
</select>
</div>
<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}}
</select>
</div>
<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}}
</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>
{{/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.usePronouns}}
<div class="field-group">
<label>{{ localize 'MGT2.Pronouns' }}</label>
<input type="text" name="system.pronouns" value="{{system.pronouns}}" data-dtype="String" />
</div>
{{/if}}
</div>
<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">
<label>{{ localize 'MGT2.Items.Nickname' }}</label>
<input type="text" name="system.nickname" value="{{system.nickname}}" data-dtype="String" />
</div>
<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">
<label>{{ localize 'MGT2.Items.Location' }}</label>
<input type="text" name="system.location" value="{{system.location}}" data-dtype="String" />
</div>
</div>
<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" data-group="primary" data-tab="description">
{{editor system.description.value target="system.description" button=true editable=true}}
</div>
<div class="tab" data-group="primary" data-tab="notes">
{{editor system.notes target="system.notes" button=true editable=true}}
</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>
{{/if}}
<div class="field-group mt-05">
<label>{{ localize 'MGT2.Items.Weight' }} ({{unitlabels.weight}})</label>
<input type="number" value="{{weight}}" readonly />
<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>
<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">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</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">
<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" data-group="primary" data-tab="tab1">
<div class="field-group mt-1">
<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">
<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">
<label>{{ localize 'MGT2.Items.LockedDescription' }}</label>
<textarea name="system.lockedDescription" rows="6">{{system.lockedDescription}}</textarea>
</div>
{{/if}}
<div class="tab" data-group="primary" data-tab="tab2">
<div class="field-group">
<label>{{ localize 'MGT2.Items.Location' }}</label>
<input type="text" name="system.location" value="{{system.location}}" data-dtype="String" />
</div>
</div>
{{#if isGM}}
<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>

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}}
</select>
</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.Type' }}</span>
<select name="system.subType" style="font-size:0.75rem;">
{{selectOptions config.DiseaseSubType selected=system.subType localize=true}}
</select>
</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}}
</select>
</div>
<div class="field-group w3-10" style="margin: 0 1rem;">
<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">
<label>{{ localize 'MGT2.Items.Interval' }}</label>
<input type="text" name="system.interval" value="{{system.interval}}" data-dtype="String" />
</div>
</div>
<div class="field-group mt-1 w-100">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
<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="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="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="tab-content-area">
<div class="field-group">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="8">{{system.description}}</textarea>
</div>
</div>
</div>

View File

@@ -1,57 +1,57 @@
<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}}
</select>
</div>
{{> systems/mgt2/templates/items/parts/sheet-physical-item.html }}
<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>
<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">
<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" data-group="primary" data-tab="tab1">
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
{{> systems/mgt2/templates/items/parts/sheet-physical-item.html }}
</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">
<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">
<div class="field-group">
<label class="mgt2-checkbox"><input type="checkbox" name="system.equipped" data-dtype="Boolean" {{checked system.equipped}} />Equipped</label>
</div>
</div>
<div class="tab" data-group="primary" data-tab="tab2">
<div class="field-groups mt-1">
<div class="field-group">
<label class="mgt2-checkbox"><input type="checkbox" name="system.equipped" data-dtype="Boolean" {{checked system.equipped}} />Equipped</label>
</div>
{{#if hadContainer}}
<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"}}
</select>
</div>
{{/if}}
{{#if hadContainer}}
<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"}}
</select>
</div>
{{/if}}
</div>
<div class="tab" data-group="primary" data-tab="tab3">
{{> systems/mgt2/templates/items/parts/sheet-configuration.html }}
</div>
</div>
<div class="tab" data-group="primary" data-tab="tab3">
{{> systems/mgt2/templates/items/parts/sheet-configuration.html }}
</div>
</div>
</div>

View File

@@ -1,60 +1,60 @@
<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}}
</select>
</div>
{{> systems/mgt2/templates/items/parts/sheet-physical-item.html }}
<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>
<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">
<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" data-group="primary" data-tab="tab1">
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</div>
{{> systems/mgt2/templates/items/parts/sheet-physical-item.html }}
</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>
</nav>
<div class="tab-content-area">
<div class="tab" data-group="primary" data-tab="tab1">
<div class="field-group">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</div>
<div class="tab" data-group="primary" data-tab="tab2">
{{#if hadContainer}}
<div class="field-groups mt-1">
{{#if (eq system.subType "software")}}
<div class="field-group">
<label>{{ localize 'MGT2.Items.Computer' }}</label>
<select name="system.software.computerId">
{{selectOptions computers selected=system.software.computerId valueAttr="_id" labelAttr="name"}}
</select>
</div>
{{/if}}
<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"}}
</select>
</div>
</div>
{{/if}}
</div>
<div class="tab" data-group="primary" data-tab="tab2">
{{#if hadContainer}}
<div class="field-groups">
{{#if (eq system.subType "software")}}
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Bandwidth' }}</label>
<input type="number" name="system.software.bandwidth" value="{{system.software.bandwidth}}" data-dtype="Number" />
<div class="field-group">
<label>{{ localize 'MGT2.Items.Computer' }}</label>
<select name="system.software.computerId">
{{selectOptions computers selected=system.software.computerId valueAttr="_id" labelAttr="name"}}
</select>
</div>
{{/if}}
<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"}}
</select>
</div>
</div>
{{/if}}
{{#if (eq system.subType "software")}}
<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>

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,70 +1,67 @@
<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>
<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">
<div class="item-type-bar">
<span class="item-type-label"><i class="fas fa-dna"></i> {{ localize 'MGT2.Specie' }}</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>
<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">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<nav class="horizontal-tabs tabs mt-1" 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" data-group="primary" data-tab="tab1">
<div class="field-group mt-1">
<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">
{{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>
{{#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}}
</select>
</div>
<div class="row-item row-item-left row-item-15 flex-fix">
<input type="number" name="system.modifiers.{{i}}.value" value="{{modifier.value}}" />
</div>
<div class="row-item row-item-15 item-controls flex-fix">
<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="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>
{{#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">
<textarea name="system.traits.{{i}}.description" rows="3">{{trait.description}}</textarea>
</div>
<div class="row-item row-item-15 item-controls flex-fix">
<a class="item-control options-delete" title="Delete Trait"><i class="fas fa-trash"></i></a>
</div>
</div>
{{/each}}
</div>
</div>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</div>
</div>
<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">
<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}}
</select>
</div>
<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-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" 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-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-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="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>
</div>
</div>
{{/each}}
</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="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 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}}
</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>
<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>
<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>
<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}}
</select>
</div>
</div>
</div>
{{/if}}
<nav class="horizontal-tabs tabs mt-1" 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" data-group="primary" data-tab="tab1">
<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">
<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>
{{#if (eq system.subType "skill")}}
<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>
{{else if (eq system.subType "psionic")}}
<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.PSICost' }}</span>
<input type="number" name="system.psionic.cost" value="{{system.psionic.cost}}" data-dtype="Number" />
</div>
<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>
{{/if}}
</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">
<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>

View File

@@ -1,89 +1,87 @@
<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="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>
<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">
<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" data-group="primary" data-tab="tab1">
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</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 class="tab" data-group="primary" data-tab="tab2">
<div class="field-groups mt-1">
<div class="field-group flex-1">
<label class="mgt2-checkbox"><input type="checkbox" name="system.equipped" data-dtype="Boolean" {{checked system.equipped}} />{{ localize 'MGT2.Items.Equipped' }}</label>
</div>
{{#if hadContainer}}
<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"}}
</select>
</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">
<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="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>
{{#each system.traits as |trait i| }}
<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>
</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>
</div>
</div>
{{/each}}
</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">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</div>
<div class="tab" data-group="primary" data-tab="tab3">
{{> systems/mgt2/templates/items/parts/sheet-configuration.html }}
</div>
<div class="tab" data-group="primary" data-tab="tab2">
<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}}
<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"}}
</select>
</div>
{{/if}}
</div>
<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 class="table-container">
<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>
{{#each system.traits as |trait i| }}
<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="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>
</div>
</div>
{{/each}}
</div>
</div>
<div class="tab" data-group="primary" data-tab="tab3">
{{> systems/mgt2/templates/items/parts/sheet-configuration.html }}
</div>
</div>
</div>