Fix item sheets
This commit is contained in:
parent
8a939e84a1
commit
91e5007391
12 changed files with 108 additions and 100 deletions
|
@ -55,10 +55,10 @@ async function init() {
|
|||
registerSystemSettings();
|
||||
|
||||
Actors.unregisterSheet("core", ActorSheet);
|
||||
// Actors.registerSheet("ds4", DS4CharacterActorSheet, { types: ["character"], makeDefault: true });
|
||||
// Actors.registerSheet("ds4", DS4CreatureActorSheet, { types: ["creature"], makeDefault: true });
|
||||
Actors.registerSheet("ds4", DS4CharacterActorSheet, { types: ["character"], makeDefault: true });
|
||||
Actors.registerSheet("ds4", DS4CreatureActorSheet, { types: ["creature"], makeDefault: true });
|
||||
Items.unregisterSheet("core", ItemSheet);
|
||||
// Items.registerSheet("ds4", DS4ItemSheet, { makeDefault: true });
|
||||
Items.registerSheet("ds4", DS4ItemSheet, { makeDefault: true });
|
||||
|
||||
await registerHandlebarsPartials();
|
||||
registerHandlebarsHelpers();
|
||||
|
|
|
@ -34,13 +34,14 @@ export class DS4ItemSheet extends ItemSheet<ItemSheet.Options, DS4ItemSheetData>
|
|||
|
||||
/** @override */
|
||||
async getData(): Promise<DS4ItemSheetData> {
|
||||
return {
|
||||
const data = {
|
||||
...(await super.getData()),
|
||||
config: DS4,
|
||||
isOwned: this.item.isOwned,
|
||||
actor: this.item.actor,
|
||||
isPhysical: isDS4ItemDataTypePhysical(this.item.data.data),
|
||||
};
|
||||
return data;
|
||||
}
|
||||
|
||||
/** @override */
|
||||
|
|
|
@ -3,8 +3,8 @@
|
|||
"title": "Dungeonslayers 4",
|
||||
"description": "The Dungeonslayers 4 system for FoundryVTT. Dungeonslayers by Christian Kennig is licensed under CC BY-NC-SA 3.0 (https://creativecommons.org/licenses/by-nc-sa/3.0/). The icons by the authors of Game-icons.net are licensed under CC BY 3.0 (https://creativecommons.org/licenses/by/3.0/).",
|
||||
"version": "0.8.0",
|
||||
"minimumCoreVersion": "0.7.9",
|
||||
"compatibleCoreVersion": "0.7.10",
|
||||
"minimumCoreVersion": "0.8.8",
|
||||
"compatibleCoreVersion": "0.8.8",
|
||||
"templateVersion": 6,
|
||||
"author": "Johannes Loher, Gesina Schwalbe, Oliver Rümpelein, Siegfried Krug, Max Tharr, Sascha Martens",
|
||||
"authors": [
|
||||
|
|
|
@ -7,35 +7,36 @@ SPDX-License-Identifier: MIT
|
|||
|
||||
<form class="{{cssClass}}" autocomplete="off">
|
||||
{{#> systems/ds4/templates/sheets/item/components/sheet-header.hbs}}
|
||||
<div class="grid grid-3col basic-properties">
|
||||
<div class="basic-property">
|
||||
<label>{{localize "DS4.ArmorType"}}</label>
|
||||
<select name="data.armorType" data-type="String">
|
||||
{{#select data.armorType}}
|
||||
{{#each config.i18n.armorTypes as |value key|}}
|
||||
<option value="{{key}}">{{value}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="basic-property">
|
||||
<label for="data.armorMaterialType">{{localize "DS4.ArmorMaterialType"}}</label>
|
||||
<select name="data.armorMaterialType" data-type="String">
|
||||
{{#select data.armorMaterialType}}
|
||||
{{#each config.i18n.armorMaterialTypes as |value key|}}
|
||||
<option value="{{key}}">{{value}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="basic-property">
|
||||
<label>{{localize "DS4.ArmorValue"}}</label>
|
||||
<input type="text" name="data.armorValue" value="{{data.armorValue}}"
|
||||
placeholder="0" data-dtype="Number" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="grid grid-3col basic-properties">
|
||||
<div class="basic-property">
|
||||
<label>{{localize "DS4.ArmorType"}}</label>
|
||||
<select name="data.armorType" data-type="String">
|
||||
{{#select data.data.armorType}}
|
||||
{{#each config.i18n.armorTypes as |value key|}}
|
||||
<option value="{{key}}">{{value}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="basic-property">
|
||||
<label for="data.armorMaterialType">{{localize "DS4.ArmorMaterialType"}}</label>
|
||||
<select name="data.armorMaterialType" data-type="String">
|
||||
{{#select data.data.armorMaterialType}}
|
||||
{{#each config.i18n.armorMaterialTypes as |value key|}}
|
||||
<option value="{{key}}">{{value}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="basic-property">
|
||||
<label>{{localize "DS4.ArmorValue"}}</label>
|
||||
<input type="text" name="data.armorValue" value="{{data.data.armorValue}}" placeholder="0"
|
||||
data-dtype="Number" />
|
||||
</div>
|
||||
</div>
|
||||
{{/systems/ds4/templates/sheets/item/components/sheet-header.hbs}}
|
||||
|
||||
{{!-- Common Item body --}}
|
||||
{{#> systems/ds4/templates/sheets/item/components/body.hbs}}{{/systems/ds4/templates/sheets/item/components/body.hbs}}
|
||||
{{#>
|
||||
systems/ds4/templates/sheets/item/components/body.hbs}}{{/systems/ds4/templates/sheets/item/components/body.hbs}}
|
||||
</form>
|
||||
|
|
|
@ -7,15 +7,16 @@ SPDX-License-Identifier: MIT
|
|||
|
||||
<form class="{{cssClass}}" autocomplete="off">
|
||||
{{#> systems/ds4/templates/sheets/item/components/sheet-header.hbs}}
|
||||
<div class="grid grid-1col basic-properties">
|
||||
<div class="basic-property">
|
||||
<label>{{localize "DS4.ArmorValue"}}</label>
|
||||
<input type="text" name="data.armorValue" value="{{data.armorValue}}"
|
||||
placeholder="0" data-dtype="Number" />
|
||||
</div>
|
||||
<div class="grid grid-1col basic-properties">
|
||||
<div class="basic-property">
|
||||
<label>{{localize "DS4.ArmorValue"}}</label>
|
||||
<input type="text" name="data.armorValue" value="{{data.data.armorValue}}" placeholder="0"
|
||||
data-dtype="Number" />
|
||||
</div>
|
||||
</div>
|
||||
{{/systems/ds4/templates/sheets/item/components/sheet-header.hbs}}
|
||||
|
||||
{{!-- Common Item body --}}
|
||||
{{#> systems/ds4/templates/sheets/item/components/body.hbs}}{{/systems/ds4/templates/sheets/item/components/body.hbs}}
|
||||
{{#>
|
||||
systems/ds4/templates/sheets/item/components/body.hbs}}{{/systems/ds4/templates/sheets/item/components/body.hbs}}
|
||||
</form>
|
||||
|
|
|
@ -9,7 +9,7 @@ SPDX-License-Identifier: MIT
|
|||
<div class="grid grid-3col basic-properties">
|
||||
<div class="basic-property">
|
||||
<label>{{localize "DS4.SpecialCreatureAbilityExperiencePoints"}}</label>
|
||||
<input type="number" min="0" step="1" name="data.experiencePoints" value="{{data.experiencePoints}}"
|
||||
<input type="number" min="0" step="1" name="data.experiencePoints" value="{{data.data.experiencePoints}}"
|
||||
placeholder="0" data-dtype="Number" />
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -16,9 +16,9 @@ SPDX-License-Identifier: MIT
|
|||
<label>{{localize localizeString}}</label>
|
||||
<div class="unit-data-pair">
|
||||
<input class="item-num-val" type="text" data-dtype="String" name="data.{{property}}.value"
|
||||
value="{{lookup (lookup data property) 'value'}}" />
|
||||
value="{{lookup (lookup data.data property) 'value'}}" />
|
||||
<select name="data.{{property}}.unit" data-type="String">
|
||||
{{#select (lookup (lookup data property) 'unit')}}
|
||||
{{#select (lookup (lookup data.data property) 'unit')}}
|
||||
{{#if (eq unitType 'temporal')}}
|
||||
{{#each (lookup config.i18n 'temporalUnitsAbbr') as |value key|}}
|
||||
<option value="{{key}}">{{value}}</option>
|
||||
|
@ -48,7 +48,7 @@ SPDX-License-Identifier: MIT
|
|||
<div class="basic-property">
|
||||
<label for="data.spellType">{{localize "DS4.SpellType"}}</label>
|
||||
<select id="data.spellType" name="data.spellType" data-type="String">
|
||||
{{#select data.spellType}}
|
||||
{{#select data.data.spellType}}
|
||||
{{#each config.i18n.spellTypes as |value key|}}
|
||||
<option value="{{key}}">{{value}}</option>
|
||||
{{/each}}
|
||||
|
@ -57,7 +57,7 @@ SPDX-License-Identifier: MIT
|
|||
</div>
|
||||
<div class="basic-property">
|
||||
<label for="data.bonus">{{localize "DS4.SpellBonus"}}</label>
|
||||
<input id="data.bonus" type="text" name="data.bonus" value="{{data.bonus}}" data-dtype="String" />
|
||||
<input id="data.bonus" type="text" name="data.bonus" value="{{data.data.bonus}}" data-dtype="String" />
|
||||
</div>
|
||||
</div>
|
||||
{{/systems/ds4/templates/sheets/item/components/sheet-header.hbs}}
|
||||
|
@ -67,7 +67,7 @@ SPDX-License-Identifier: MIT
|
|||
<div class="side-property">
|
||||
<label for="data.spellCategory">{{localize "DS4.SpellCategory"}}</label>
|
||||
<select id="data.spellCategory" name="data.spellCategory" data-type="String">
|
||||
{{#select data.spellCategory}}
|
||||
{{#select data.data.spellCategory}}
|
||||
{{#each config.i18n.spellCategories as |value key|}}
|
||||
<option value="{{key}}">{{value}}</option>
|
||||
{{/each}}
|
||||
|
@ -82,21 +82,21 @@ SPDX-License-Identifier: MIT
|
|||
<div class="side-property" title="{{localize 'DS4.SpellMinimumLevelsHealer'}}">
|
||||
<label for="data.minimumLevels.healer">{{localize "DS4.SpellMinimumLevelsHealerAbbr"}}</label>
|
||||
<input type="number" min="0" step="1" data-dtype="Number" name="data.minimumLevels.healer"
|
||||
id="data.minimumLevels.healer" value="{{data.minimumLevels.healer}}" />
|
||||
id="data.minimumLevels.healer" value="{{data.data.minimumLevels.healer}}" />
|
||||
</div>
|
||||
<div class="side-property" title="{{localize 'DS4.SpellMinimumLevelsWizard'}}">
|
||||
<label for="data.minimumLevels.wizard">{{localize "DS4.SpellMinimumLevelsWizardAbbr"}}</label>
|
||||
<input type="number" min="0" step="1" data-dtype="Number" name="data.minimumLevels.wizard"
|
||||
id="data.minimumLevels.wizard" value="{{data.minimumLevels.wizard}}" />
|
||||
id="data.minimumLevels.wizard" value="{{data.data.minimumLevels.wizard}}" />
|
||||
</div>
|
||||
<div class="side-property" title="{{localize 'DS4.SpellMinimumLevelsSorcerer'}}">
|
||||
<label for="data.minimumLevels.sorcerer">{{localize "DS4.SpellMinimumLevelsSorcererAbbr"}}</label>
|
||||
<input type="number" min="0" step="1" data-dtype="Number" name="data.minimumLevels.sorcerer"
|
||||
id="data.minimumLevels.sorcerer" value="{{data.minimumLevels.sorcerer}}" />
|
||||
id="data.minimumLevels.sorcerer" value="{{data.data.minimumLevels.sorcerer}}" />
|
||||
</div>
|
||||
<div class="side-property">
|
||||
<label for="data.price">{{localize "DS4.SpellPrice"}}</label>
|
||||
<span name="data.price" id="data.price">{{data.price}}</span>
|
||||
<span name="data.price" id="data.price">{{data.data.price}}</span>
|
||||
</div>
|
||||
{{/systems/ds4/templates/sheets/item/components/body.hbs}}
|
||||
|
||||
|
|
|
@ -13,25 +13,27 @@ Additional elements of the side-properties div can be handed over via the @parti
|
|||
<div class="tab flexrow description" data-group="primary" data-tab="description">
|
||||
<div class="side-properties">
|
||||
{{#if isOwned}}
|
||||
{{#if (ne data.equipped undefined)}}<div class="side-property">
|
||||
{{#if (ne data.data.equipped undefined)}}<div class="side-property">
|
||||
<label for="data.equipped">{{localize 'DS4.ItemEquipped'}}</label>
|
||||
<input type="checkbox" name="data.equipped" data-dtype="Boolean" {{checked data.equipped}} title="{{localize 'DS4.ItemEquipped'}}">
|
||||
<input type="checkbox" name="data.equipped" data-dtype="Boolean" {{checked data.data.equipped}}
|
||||
title="{{localize 'DS4.ItemEquipped'}}">
|
||||
</div>
|
||||
{{/if}}
|
||||
<div class="side-property">
|
||||
<label for="data.actor">{{localize 'DS4.ItemOwner'}}</label>
|
||||
<a class="entity-link" draggable="true" data-entity="Actor" data-id="{{actor._id}}"><i
|
||||
<a class="entity-link" draggable="true" data-entity="Actor" data-id="{{actor.id}}"><i
|
||||
class="fas fa-user"></i>{{actor.name}}</a>
|
||||
</div>
|
||||
{{#if isPhysical}}
|
||||
<div class="side-property">
|
||||
<label for="data.quantity">{{localize 'DS4.Quantity'}}</label>
|
||||
<input type="number" min="0" step="1" data-dtype="Number" name="data.quantity" value="{{data.quantity}}" />
|
||||
</div>
|
||||
<div class="side-property">
|
||||
<label for="data.storageLocation">{{localize 'DS4.StorageLocation'}}</label>
|
||||
<input type="text" data-dtype="String" name="data.storageLocation" value="{{data.storageLocation}}" />
|
||||
</div>
|
||||
<div class="side-property">
|
||||
<label for="data.quantity">{{localize 'DS4.Quantity'}}</label>
|
||||
<input type="number" min="0" step="1" data-dtype="Number" name="data.quantity"
|
||||
value="{{data.data.quantity}}" />
|
||||
</div>
|
||||
<div class="side-property">
|
||||
<label for="data.storageLocation">{{localize 'DS4.StorageLocation'}}</label>
|
||||
<input type="text" data-dtype="String" name="data.storageLocation" value="{{data.data.storageLocation}}" />
|
||||
</div>
|
||||
{{/if}}
|
||||
{{else}}
|
||||
<span>{{localize "DS4.NotOwned"}}</span>
|
||||
|
@ -39,6 +41,6 @@ Additional elements of the side-properties div can be handed over via the @parti
|
|||
{{> @partial-block}}
|
||||
</div>
|
||||
<div class="description" title="{{localize 'DS4.HeadingDescription'}}">
|
||||
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
|
||||
{{editor content=data.data.description target="data.description" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -11,13 +11,13 @@ SPDX-License-Identifier: MIT
|
|||
<div class="side-properties">
|
||||
<div class="side-property">
|
||||
<label for="data.price">{{localize "DS4.PriceGold"}}</label>
|
||||
<input type="number" min="0" max="99999" step="0.01" data-dtype="Number"
|
||||
name="data.price" value="{{data.price}}" />
|
||||
<input type="number" min="0" max="99999" step="0.01" data-dtype="Number" name="data.price"
|
||||
value="{{data.data.price}}" />
|
||||
</div>
|
||||
<div class="side-property">
|
||||
<label for="data.availability">{{localize "DS4.ItemAvailability"}}</label>
|
||||
<select name="data.availability" data-type="String">
|
||||
{{#select data.availability}}
|
||||
{{#select data.data.availability}}
|
||||
{{#each config.i18n.itemAvailabilities as |value key|}}
|
||||
<option value="{{key}}">{{value}}</option>
|
||||
{{/each}}
|
||||
|
|
|
@ -17,8 +17,8 @@ SPDX-License-Identifier: MIT
|
|||
</div>
|
||||
</li>
|
||||
{{#each item.effects as |effect id|}}
|
||||
<li class="effect flexrow" data-effect-id="{{effect._id}}">
|
||||
<h4 class="effect-name">{{effect.label}}</h4>
|
||||
<li class="effect flexrow" data-effect-id="{{effect.id}}">
|
||||
<h4 class="effect-name">{{effect.data.label}}</h4>
|
||||
<div class="effect-controls">
|
||||
<a class="effect-control" data-action="edit" title="{{localize 'DS4.UserInteractionEditEffect'}}">
|
||||
<i class="fas fa-edit"></i></a>
|
||||
|
|
|
@ -13,9 +13,9 @@ SPDX-License-Identifier: MIT
|
|||
{{#*inline "talentRankBasicProperty" }}
|
||||
<div class="basic-property">
|
||||
<label for="data.rank.{{property}}">{{localize localizeString}}</label>
|
||||
<input type="number" min="0" step="1" data-dtype="Number" {{disabled}}
|
||||
{{#if (eq property 'base') }}max="{{data.rank.max}}"{{/if}}
|
||||
name="data.rank.{{property}}" value="{{lookup data.rank property}}" />
|
||||
<input type="number" min="0" step="1" data-dtype="Number" {{disabled}} {{#if (eq property 'base' )
|
||||
}}max="{{data.data.rank.max}}" {{/if}} name="data.rank.{{property}}"
|
||||
value="{{lookup data.data.rank property}}" />
|
||||
</div>
|
||||
{{/inline}}
|
||||
|
||||
|
@ -25,15 +25,17 @@ SPDX-License-Identifier: MIT
|
|||
|
||||
<form class="{{cssClass}}" autocomplete="off">
|
||||
{{#> systems/ds4/templates/sheets/item/components/sheet-header.hbs}}
|
||||
<div class="grid grid-4col basic-properties">
|
||||
{{> talentRankBasicProperty data=data property='base' localizeString='DS4.TalentRankBase' }}
|
||||
{{> talentRankBasicProperty data=data property='max' localizeString='DS4.TalentRankMax'}}
|
||||
{{> talentRankBasicProperty data=data property='mod' localizeString='DS4.TalentRankMod'}}
|
||||
{{> talentRankBasicProperty data=data property='total' localizeString='DS4.TalentRankTotal' disabled='disabled'}}
|
||||
</div>
|
||||
<div class="grid grid-4col basic-properties">
|
||||
{{> talentRankBasicProperty data=data property='base' localizeString='DS4.TalentRankBase' }}
|
||||
{{> talentRankBasicProperty data=data property='max' localizeString='DS4.TalentRankMax'}}
|
||||
{{> talentRankBasicProperty data=data property='mod' localizeString='DS4.TalentRankMod'}}
|
||||
{{> talentRankBasicProperty data=data property='total' localizeString='DS4.TalentRankTotal'
|
||||
disabled='disabled'}}
|
||||
</div>
|
||||
{{/systems/ds4/templates/sheets/item/components/sheet-header.hbs}}
|
||||
|
||||
{{!-- Common Item body --}}
|
||||
{{#> systems/ds4/templates/sheets/item/components/body.hbs}}{{/systems/ds4/templates/sheets/item/components/body.hbs}}
|
||||
{{#>
|
||||
systems/ds4/templates/sheets/item/components/body.hbs}}{{/systems/ds4/templates/sheets/item/components/body.hbs}}
|
||||
|
||||
</form>
|
||||
|
|
|
@ -7,30 +7,31 @@ SPDX-License-Identifier: MIT
|
|||
|
||||
<form class="{{cssClass}}" autocomplete="off">
|
||||
{{#> systems/ds4/templates/sheets/item/components/sheet-header.hbs}}
|
||||
<div class="grid grid-3col basic-properties">
|
||||
<div class="basic-property">
|
||||
<label>{{localize "DS4.AttackType"}}</label>
|
||||
<select name="data.attackType" data-type="String">
|
||||
{{#select data.attackType}}
|
||||
{{#each config.i18n.attackTypes as |value key|}}
|
||||
<option value="{{key}}">{{value}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="basic-property">
|
||||
<label>{{localize "DS4.WeaponBonus"}}</label>
|
||||
<input type="number" name="data.weaponBonus" value="{{data.weaponBonus}}"
|
||||
placeholder="0" data-dtype="Number" />
|
||||
</div>
|
||||
<div class="basic-property">
|
||||
<label>{{localize "DS4.OpponentDefense"}}</label>
|
||||
<input type="number" name="data.opponentDefense"
|
||||
value="{{data.opponentDefense}}" placeholder="0" data-dtype="Number" />
|
||||
</div>
|
||||
<div class="grid grid-3col basic-properties">
|
||||
<div class="basic-property">
|
||||
<label>{{localize "DS4.AttackType"}}</label>
|
||||
<select name="data.attackType" data-type="String">
|
||||
{{#select data.data.attackType}}
|
||||
{{#each config.i18n.attackTypes as |value key|}}
|
||||
<option value="{{key}}">{{value}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="basic-property">
|
||||
<label>{{localize "DS4.WeaponBonus"}}</label>
|
||||
<input type="number" name="data.weaponBonus" value="{{data.data.weaponBonus}}" placeholder="0"
|
||||
data-dtype="Number" />
|
||||
</div>
|
||||
<div class="basic-property">
|
||||
<label>{{localize "DS4.OpponentDefense"}}</label>
|
||||
<input type="number" name="data.opponentDefense" value="{{data.data.opponentDefense}}" placeholder="0"
|
||||
data-dtype="Number" />
|
||||
</div>
|
||||
</div>
|
||||
{{/systems/ds4/templates/sheets/item/components/sheet-header.hbs}}
|
||||
|
||||
{{!-- Common Item body --}}
|
||||
{{#> systems/ds4/templates/sheets/item/components/body.hbs}}{{/systems/ds4/templates/sheets/item/components/body.hbs}}
|
||||
{{#>
|
||||
systems/ds4/templates/sheets/item/components/body.hbs}}{{/systems/ds4/templates/sheets/item/components/body.hbs}}
|
||||
</form>
|
||||
|
|
Loading…
Reference in a new issue