feat: use new ActiveEffect transferral system

Closes #68
This commit is contained in:
Johannes Loher 2023-06-25 23:55:08 +02:00
parent 032b006dd5
commit 62065a8d31
No known key found for this signature in database
GPG key ID: 7CB0A9FB553DA045
1793 changed files with 64779 additions and 67933 deletions

View file

@ -9,7 +9,7 @@ SPDX-License-Identifier: MIT
!-- Render an effect list entry row.
!-- @param effectData: The data of the item.
--}}
<li class="ds4-embedded-document-list__row effect" data-effect-id="{{effectData._id}}">
<li class="ds4-embedded-document-list__row effect" data-effect-uuid="{{effectData.uuid}}">
{{!-- enabled --}}
<input class="ds4-embedded-document-list__editable ds4-embedded-document-list__editable--checkbox change-effect"
type="checkbox" {{checked (ne effectData.disabled true)}} data-dtype="Boolean" data-property="disabled"

View file

@ -9,34 +9,36 @@ SPDX-License-Identifier: MIT
!-- Render an item list entry row.
!-- If the partial is called with a partial block, the partial block
!-- content is inserted before the description.
!-- @param itemData: The data of the item.
!-- @param item: The item.
!-- @param isEquipable: A flag to enable the equipped column.
!-- @param hasQuantity: A flag to enable the quantity column.
!-- @param hideDescription: A flag to disable the description column.
!-- @param @partial-block: Custom column headers can be passed using the partial block.
--}}
<li class="ds4-embedded-document-list__row item" data-item-id="{{itemData._id}}">
<li class="ds4-embedded-document-list__row item" data-item-uuid="{{item.uuid}}">
{{!-- equipped --}}
{{#if isEquipable}}
<input class="ds4-embedded-document-list__editable ds4-embedded-document-list__editable--checkbox change-item" type="checkbox" {{checked
itemData.system.equipped}} data-dtype="Boolean" data-property="system.equipped"
<input class="ds4-embedded-document-list__editable ds4-embedded-document-list__editable--checkbox change-item"
type="checkbox" {{checked item.system.equipped}} data-dtype="Boolean" data-property="system.equipped"
title="{{localize 'DS4.ItemEquipped'}}">
{{/if}}
{{!-- image --}}
{{> systems/ds4/templates/sheets/shared/components/rollable-image.hbs rollable=(and itemData.system.rollable @root/editable)
src=itemData.img alt=(localize "DS4.DocumentImageAltText" name=itemData.name) title=itemData.name
rollableTitle=(localize "DS4.RollableImageRollableTitle" name=itemData.name) rollableClass="rollable-item"}}
{{> systems/ds4/templates/sheets/shared/components/rollable-image.hbs rollable=(and item.system.rollable
@root/editable)
src=item.img alt=(localize "DS4.DocumentImageAltText" name=item.name) title=item.name
rollableTitle=(localize "DS4.RollableImageRollableTitle" name=item.name) rollableClass="rollable-item"}}
{{!-- amount --}}
{{#if hasQuantity}}
<input class="ds4-embedded-document-list__editable change-item" type="number" min="0" step="1" value="{{itemData.system.quantity}}"
data-dtype="Number" data-property="system.quantity" title="{{localize 'DS4.Quantity'}}" />
<input class="ds4-embedded-document-list__editable change-item" type="number" min="0" step="1"
value="{{item.system.quantity}}" data-dtype="Number" data-property="system.quantity"
title="{{localize 'DS4.Quantity'}}" />
{{/if}}
{{!-- name --}}
<input class="ds4-embedded-document-list__editable change-item" type="text" value="{{itemData.name}}" data-dtype="String"
data-property="name" title="{{htmlToPlainText itemData.system.description}}" />
<input class="ds4-embedded-document-list__editable change-item" type="text" value="{{item.name}}"
data-dtype="String" data-property="name" title="{{htmlToPlainText item.system.description}}" />
{{!-- item type specifics --}}
{{#if @partial-block }}
@ -45,8 +47,8 @@ SPDX-License-Identifier: MIT
{{!-- description --}}
{{#unless hideDescription}}
<div class="ds4-embedded-document-list__description" title="{{htmlToPlainText itemData.system.description}}">
{{{itemData.system.description}}}</div>
<div class="ds4-embedded-document-list__description" title="{{htmlToPlainText item.system.description}}">
{{{item.system.description}}}</div>
{{/unless}}
{{!-- control button group --}}

View file

@ -31,29 +31,29 @@ SPDX-License-Identifier: MIT
</div>
{{/systems/ds4/templates/sheets/actor/components/item-list-header.hbs}}
{{#each itemsByType.weapon as |itemData id|}}
{{#> systems/ds4/templates/sheets/actor/components/item-list-entry.hbs itemData=itemData isEquipable=true
{{#each itemsByType.weapon as |item id|}}
{{#> systems/ds4/templates/sheets/actor/components/item-list-entry.hbs item=item isEquipable=true
hasQuantity=true}}
{{!-- attack type --}}
<img class="ds4-embedded-document-list__image"
src="{{lookup @root/config.icons.attackTypes itemData.system.attackType}}"
title="{{lookup @root/config.i18n.attackTypes itemData.system.attackType}}" />
src="{{lookup @root/config.icons.attackTypes item.system.attackType}}"
title="{{lookup @root/config.i18n.attackTypes item.system.attackType}}" />
{{!-- weapon bonus --}}
<div>{{ itemData.system.weaponBonus}}</div>
<div>{{ item.system.weaponBonus}}</div>
{{!-- opponent defense --}}
<div>
{{#if itemData.system.opponentDefenseForAttackType.melee includeZero=true}}
{{#if itemData.system.opponentDefenseForAttackType.ranged includeZero=true}}
{{#if item.system.opponentDefenseForAttackType.melee includeZero=true}}
{{#if item.system.opponentDefenseForAttackType.ranged includeZero=true}}
<span
title="{{localize 'DS4.OpponentDefenseMelee'}}">{{itemData.system.opponentDefenseForAttackType.melee}}</span>/<span
title="{{localize 'DS4.OpponentDefenseRanged'}}">{{itemData.system.opponentDefenseForAttackType.ranged}}</span>
title="{{localize 'DS4.OpponentDefenseMelee'}}">{{item.system.opponentDefenseForAttackType.melee}}</span>/<span
title="{{localize 'DS4.OpponentDefenseRanged'}}">{{item.system.opponentDefenseForAttackType.ranged}}</span>
{{else}}
{{itemData.system.opponentDefenseForAttackType.melee}}
{{item.system.opponentDefenseForAttackType.melee}}
{{/if}}
{{else}}
{{itemData.system.opponentDefenseForAttackType.ranged}}
{{item.system.opponentDefenseForAttackType.ranged}}
{{/if}}
</div>
{{/systems/ds4/templates/sheets/actor/components/item-list-entry.hbs}}
@ -84,21 +84,21 @@ documentType='item' type='weapon'}}
</div>
{{/systems/ds4/templates/sheets/actor/components/item-list-header.hbs}}
{{#each itemsByType.armor as |itemData id|}}
{{#> systems/ds4/templates/sheets/actor/components/item-list-entry.hbs itemData=itemData isEquipable=true
{{#each itemsByType.armor as |item id|}}
{{#> systems/ds4/templates/sheets/actor/components/item-list-entry.hbs item=item isEquipable=true
hasQuantity=true}}
{{!-- armor material type --}}
<div title="{{lookup @root/config.i18n.armorMaterialTypes itemData.system.armorMaterialType}}">
{{lookup @root/config.i18n.armorMaterialTypesAbbr itemData.system.armorMaterialType}}
<div title="{{lookup @root/config.i18n.armorMaterialTypes item.system.armorMaterialType}}">
{{lookup @root/config.i18n.armorMaterialTypesAbbr item.system.armorMaterialType}}
</div>
{{!-- armor type --}}
<div title="{{lookup @root/config.i18n.armorTypes itemData.system.armorType}}">
{{lookup @root/config.i18n.armorTypesAbbr itemData.system.armorType}}
<div title="{{lookup @root/config.i18n.armorTypes item.system.armorType}}">
{{lookup @root/config.i18n.armorTypesAbbr item.system.armorType}}
</div>
{{!-- armor value --}}
<div>{{ itemData.system.armorValue}}</div>
<div>{{ item.system.armorValue}}</div>
{{/systems/ds4/templates/sheets/actor/components/item-list-entry.hbs}}
{{/each}}
</ol>
@ -118,11 +118,11 @@ documentType='item' type='armor'}}
{{localize 'DS4.ArmorValueAbbr'}}
</div>
{{/systems/ds4/templates/sheets/actor/components/item-list-header.hbs}}
{{#each itemsByType.shield as |itemData id|}}
{{#> systems/ds4/templates/sheets/actor/components/item-list-entry.hbs itemData=itemData isEquipable=true
{{#each itemsByType.shield as |item id|}}
{{#> systems/ds4/templates/sheets/actor/components/item-list-entry.hbs item=item isEquipable=true
hasQuantity=true}}
{{!-- armor value --}}
<div>{{itemData.system.armorValue}}</div>
<div>{{item.system.armorValue}}</div>
{{/systems/ds4/templates/sheets/actor/components/item-list-entry.hbs}}
{{/each}}
</ol>
@ -140,13 +140,12 @@ documentType='item' type='shield'}}
<div class="ds4-embedded-document-list__clickable sort-items" data-data-path="system.storageLocation"
title="{{localize 'DS4.SortByStorageLocation'}}">{{localize 'DS4.StorageLocation'}}</div>
{{/systems/ds4/templates/sheets/actor/components/item-list-header.hbs}}
{{#each itemsByType.equipment as |itemData id|}}
{{#> systems/ds4/templates/sheets/actor/components/item-list-entry.hbs itemData=itemData isEquipable=true
{{#each itemsByType.equipment as |item id|}}
{{#> systems/ds4/templates/sheets/actor/components/item-list-entry.hbs item=item isEquipable=true
hasQuantity=true}}
{{!-- storage location --}}
<input class="ds4-embedded-document-list__editable change-item" type="text"
value="{{itemData.system.storageLocation}}" data-dtype="String" data-property="system.storageLocation"
title="{{localize 'DS4.StorageLocation'}}">
<input class="ds4-embedded-document-list__editable change-item" type="text" value="{{item.system.storageLocation}}"
data-dtype="String" data-property="system.storageLocation" title="{{localize 'DS4.StorageLocation'}}">
{{/systems/ds4/templates/sheets/actor/components/item-list-entry.hbs}}
{{/each}}
</ol>
@ -163,12 +162,11 @@ documentType='item' type='equipment'}}
<div class="ds4-embedded-document-list__clickable sort-items" data-data-path="system.storageLocation"
title="{{localize 'DS4.SortByStorageLocation'}}">{{localize 'DS4.StorageLocation'}}</div>
{{/systems/ds4/templates/sheets/actor/components/item-list-header.hbs}}
{{#each itemsByType.loot as |itemData id|}}
{{#> systems/ds4/templates/sheets/actor/components/item-list-entry.hbs itemData=itemData hasQuantity=true}}
{{#each itemsByType.loot as |item id|}}
{{#> systems/ds4/templates/sheets/actor/components/item-list-entry.hbs item=item hasQuantity=true}}
{{!-- storage location --}}
<input class="ds4-embedded-document-list__editable change-item" type="text"
value="{{itemData.system.storageLocation}}" data-dtype="String" data-property="system.storageLocation"
title="{{localize 'DS4.StorageLocation'}}">
<input class="ds4-embedded-document-list__editable change-item" type="text" value="{{item.system.storageLocation}}"
data-dtype="String" data-property="system.storageLocation" title="{{localize 'DS4.StorageLocation'}}">
{{/systems/ds4/templates/sheets/actor/components/item-list-entry.hbs}}
{{/each}}
</ol>

View file

@ -15,10 +15,10 @@ SPDX-License-Identifier: MIT
<div class="ds4-embedded-document-list__clickable sort-items" data-data-path="system.rank.total"
title="{{localize 'DS4.SortByTalentRank'}}">{{localize 'DS4.TalentRank'}}</div>
{{/systems/ds4/templates/sheets/actor/components/item-list-header.hbs}}
{{#each itemsByType.talent as |itemData id|}}
{{#> systems/ds4/templates/sheets/actor/components/item-list-entry.hbs itemData=itemData}}
{{#each itemsByType.talent as |item id|}}
{{#> systems/ds4/templates/sheets/actor/components/item-list-entry.hbs item=item}}
{{!-- rank --}}
<div>{{toRomanNumerals itemData.system.rank.total}}</div>
<div>{{toRomanNumerals item.system.rank.total}}</div>
{{/systems/ds4/templates/sheets/actor/components/item-list-entry.hbs}}
{{/each}}
</ol>
@ -31,8 +31,8 @@ SPDX-License-Identifier: MIT
{{#unless (isEmpty itemsByType.racialAbility)}}
<ol class="ds4-embedded-document-list ds4-embedded-document-list--racial-ability item-list">
{{> systems/ds4/templates/sheets/actor/components/item-list-header.hbs type='racialAbility'}}
{{#each itemsByType.racialAbility as |itemData id|}}
{{> systems/ds4/templates/sheets/actor/components/item-list-entry.hbs itemData=itemData}}
{{#each itemsByType.racialAbility as |item id|}}
{{> systems/ds4/templates/sheets/actor/components/item-list-entry.hbs item=item}}
{{/each}}
</ol>
{{/unless}}
@ -44,8 +44,8 @@ SPDX-License-Identifier: MIT
{{#unless (isEmpty itemsByType.language)}}
<ol class="ds4-embedded-document-list ds4-embedded-document-list--language item-list">
{{> systems/ds4/templates/sheets/actor/components/item-list-header.hbs type='language'}}
{{#each itemsByType.language as |itemData id|}}
{{> systems/ds4/templates/sheets/actor/components/item-list-entry.hbs itemData=itemData}}
{{#each itemsByType.language as |item id|}}
{{> systems/ds4/templates/sheets/actor/components/item-list-entry.hbs item=item}}
{{/each}}
</ol>
{{/unless}}
@ -57,8 +57,8 @@ SPDX-License-Identifier: MIT
{{#unless (isEmpty itemsByType.alphabet)}}
<ol class="ds4-embedded-document-list ds4-embedded-document-list--alphabet item-list">
{{> systems/ds4/templates/sheets/actor/components/item-list-header.hbs type='alphabet'}}
{{#each itemsByType.alphabet as |itemData id|}}
{{> systems/ds4/templates/sheets/actor/components/item-list-entry.hbs itemData=itemData}}
{{#each itemsByType.alphabet as |item id|}}
{{> systems/ds4/templates/sheets/actor/components/item-list-entry.hbs item=item}}
{{/each}}
</ol>
{{/unless}}

View file

@ -9,8 +9,8 @@ SPDX-License-Identifier: MIT
{{#unless (isEmpty itemsByType.specialCreatureAbility)}}
<ol class="ds4-embedded-document-list ds4-embedded-document-list--special-creature-ability item-list">
{{> systems/ds4/templates/sheets/actor/components/item-list-header.hbs type='specialCreatureAbility'}}
{{#each itemsByType.specialCreatureAbility as |itemData id|}}
{{> systems/ds4/templates/sheets/actor/components/item-list-entry.hbs itemData=itemData}}
{{#each itemsByType.specialCreatureAbility as |item id|}}
{{> systems/ds4/templates/sheets/actor/components/item-list-entry.hbs item=item}}
{{/each}}
</ol>
{{/unless}}

View file

@ -6,7 +6,7 @@ SPDX-License-Identifier: MIT
--}}
<div class="ds4-sheet-tab tab effects" data-group="primary" data-tab="effects">
{{#unless (isEmpty data.effects)}}
{{#unless (isEmpty enrichedEffects)}}
<ol class="ds4-embedded-document-list ds4-embedded-document-list--effect effect-list">
{{> systems/ds4/templates/sheets/actor/components/effect-list-header.hbs}}
{{#each enrichedEffects as |effectData id| }}

View file

@ -68,28 +68,29 @@ titleKey=titleKey}}
<div title="{{localize 'DS4.CooldownDuration'}}"><i class="fas fa-hourglass-half"></i></div>
{{/systems/ds4/templates/sheets/actor/components/item-list-header.hbs}}
{{#each itemsByType.spell as |itemData id|}}
{{#> systems/ds4/templates/sheets/actor/components/item-list-entry.hbs itemData=itemData isEquipable=true
{{#each itemsByType.spell as |item id|}}
{{#> systems/ds4/templates/sheets/actor/components/item-list-entry.hbs item=item isEquipable=true
hideDescription=true}}
{{!-- spell type --}}
<img class="ds4-embedded-document-list__image"
src="{{lookup @root/config.icons.spellTypes itemData.system.spellType}}"
title="{{lookup @root/config.i18n.spellTypes itemData.system.spellType}}" />
src="{{lookup @root/config.icons.spellTypes item.system.spellType}}"
title="{{lookup @root/config.i18n.spellTypes item.system.spellType}}" />
{{!-- spell modifier --}}
<div title="{{localize 'DS4.SpellModifier'}}">{{#if (eq itemData.system.spellModifier.complex
'')}}{{itemData.system.spellModifier.numerical}}{{else}}{{itemData.system.spellModifier.complex}}{{/if}}</div>
<div title="{{localize 'DS4.SpellModifier'}}">{{#if (eq item.system.spellModifier.complex
'')}}{{item.system.spellModifier.numerical}}{{else}}{{item.system.spellModifier.complex}}{{/if}}
</div>
{{!-- max. distance --}}
{{> distanceUnit titleKey='DS4.SpellDistance' unitDatum=itemData.system.maxDistance
{{> distanceUnit titleKey='DS4.SpellDistance' unitDatum=item.system.maxDistance
config=@root/config}}
{{!-- duration --}}
{{> temporalUnit titleKey='DS4.SpellDuration' unitDatum=itemData.system.duration config=@root/config}}
{{> temporalUnit titleKey='DS4.SpellDuration' unitDatum=item.system.duration config=@root/config}}
{{!-- cooldown duration --}}
<div title="{{localize 'DS4.CooldownDuration'}}">{{lookup @root/config.i18n.cooldownDurations
itemData.system.cooldownDuration}}</div>
item.system.cooldownDuration}}</div>
{{/systems/ds4/templates/sheets/actor/components/item-list-entry.hbs}}
{{/each}}