DataModels + Appv2 migration : OK

This commit is contained in:
2026-02-28 21:00:06 +01:00
parent 8017bb207d
commit 1ffb8b08fc
119 changed files with 2268 additions and 384 deletions

View File

@@ -1,4 +1,4 @@
<form class="{{cssClass}} flexcol bol-actor-form" autocomplete="off">
<div class="{{cssClass}} flexcol bol-actor-form" autocomplete="off">
<!--<img class="system-img" src="/systems/bol/ui/logo.webp" height="115" width="190"/> -->
<div class="wrap flexrow">
@@ -97,4 +97,4 @@
<img src="/systems/bol/ui/banner.webp" />
</div>
</div>
</form>
</div>

View File

@@ -1,4 +1,4 @@
<form class="{{cssClass}} flexcol bol-actor-form" autocomplete="off">
<div class="{{cssClass}} flexcol bol-actor-form" autocomplete="off">
<!--<img class="system-img" src="/systems/bol/ui/logo.webp" height="115" width="190"/> -->
<div class="wrap flexrow">
@@ -72,4 +72,4 @@
<img src="/systems/bol/ui/banner.webp" />
</div>
</div>
</form>
</div>

View File

@@ -2,19 +2,18 @@
<header class="sheet-header">
<div class="header-field flex1">
<div class="header-field-group flexrow">
<label class="header-field-label flex2">{{localize "BOL.ui.name"}}</label><br/>
<input class="charname flex6" name="name" type="text" value="{{actor.name}}" placeholder="Name"/>
<input class="charname flex1" name="name" type="text" value="{{actor.name}}" placeholder="Name"/>
</div>
{{#if (eq charType "player")}}
<div class="header-field-group flexrow">
<label class="header-field-label flex2">{{localize "BOL.ui.xp"}}</label><br/>
<div class="header-field-group flex3">
<label class="header-field-label flex1" style="font-size: 1.5em; color:#606060;">{{localize "BOL.ui.xpspent"}}</label><br/>
<label class="header-field-label xp-sublabel flex1">{{localize "BOL.ui.xpspent"}}</label><br/>
<input class="header-field-value flex1" type="text" name="system.xp.spent" value="{{numberFormat xp.spent decimals=0 sign=false}}" data-dtype="Number"/><br/>
</div>
<div class="header-field-group flex3">
<label class="header-field-label flex1" style="font-size: 1.5em; color:#606060;">&nbsp;{{localize "BOL.ui.xptotal"}}</label><br/>
<label class="header-field-label xp-sublabel flex1">&nbsp;{{localize "BOL.ui.xptotal"}}</label><br/>
<input class="header-field-value flex1" type="text" name="system.xp.total" value="{{numberFormat xp.total decimals=0 sign=false}}" data-dtype="Number"/><br/>
</div>
</div>

View File

@@ -15,7 +15,7 @@
{{#if ../protection}}<div class="item-field"><a class="rollable" data-roll-type="protection">{{item.system.properties.soak.formula}}</a> / {{item.system.properties.soak.value}}</div>{{/if}}
{{#if ../blocking}}<div class="item-field">{{item.system.properties.blocking.malus}}</div>{{/if}}
{{#if ../weapon}}<div class="item-field"><a class="rollable" data-roll-type="damage">
{{item.system.properties.damage}}+{{item.system.properties.damageModifiers}}x{{item.system.properties.damageMultiplier}}
{{item.system.properties.damage}}{{#if item.system.properties.damageModifiers}}+{{item.system.properties.damageModifiers}}{{/if}}{{#if item.system.properties.damageMultiplier}}x{{item.system.properties.damageMultiplier}}{{/if}}
</a></div>{{/if}}
{{#if ../ranged}}<div class="item-field">{{item.system.properties.range}}</div>{{else}}<div class="item-field"></div>{{/if}}
{{#if ../options}}<div class="item-field">

View File

@@ -95,13 +95,9 @@
</li>
</ol>
{{editor
biography
target='system.details.biography'
button=true
owner=owner
editable=editable
}}
<prose-mirror name="system.details.biography" toggled>
{{{biography}}}
</prose-mirror>
{{#if (eq charType "player")}}
<ol class="items-list">
@@ -113,7 +109,7 @@ editable=editable
<div class="item-field flex1 center">{{localize "BOL.ui.cost"}}</div>
<div class="item-field flex1 center">{{localize "BOL.ui.value"}}</div>
<div class="item-field flex1 right">
<a class="inc-dec-btns-resource xplog-add"><i class="fas fa-plus-square"></i></a>
<a class="xplog-add"><i class="fas fa-plus-square"></i></a>
</div>
</li>
{{#each xplog as |xp idx|}}
@@ -162,10 +158,6 @@ editable=editable
<div class='item-field flex1 right'></div>
</li>
</ol>
{{editor
notes
target='system.details.notes'
button=true
owner=owner
editable=editable
}}
<prose-mirror name="system.details.notes" toggled>
{{{notes}}}
</prose-mirror>

View File

@@ -1,5 +1,4 @@
<!--ARMES-->
<button class="create-item">{{localize "BOL.ui.createEquipment"}}</button>
{{#if useBougette}}
<ol class="items-list">
@@ -37,7 +36,7 @@
<div class="item-field flex1 center">{{localize "BOL.ui.qty"}}</div>
<div class="item-field flex1 center">{{localize "BOL.ui.price"}}</div>
<div class="item-field flex1 center">{{localize "BOL.ui.equip"}}</div>
<div class="item-field flex1 right"></div>
<div class="item-field flex1 right"><a class="item-add" data-item-type="item" data-category="equipment" data-subtype="weapon"><i class="fas fa-plus-square"></i></a></div>
</li>
{{#each weapons as |item id|}}
<li class="item flexrow" data-item-id="{{item._id}}">
@@ -90,7 +89,7 @@
<div class="item-field flex1 center">{{localize "BOL.ui.qty"}}</div>
<div class="item-field flex1 center">{{localize "BOL.ui.price"}}</div>
<div class="item-field flex1 center">{{localize "BOL.ui.equip"}}</div>
<div class="item-field flex1 right"></div>
<div class="item-field flex1 right"><a class="item-add" data-item-type="item" data-category="equipment" data-subtype="armor"><i class="fas fa-plus-square"></i></a></div>
</li>
{{#each protections as |item id|}}
<li class="item flexrow" data-item-id="{{item._id}}">
@@ -148,7 +147,7 @@
<div class="item-field flex1 center">{{localize "BOL.ui.qty"}}</div>
<div class="item-field flex1 center">{{localize "BOL.ui.price"}}</div>
<div class="item-field flex1 center">{{localize "BOL.ui.equip"}}</div>
<div class="item-field flex1 right"></div>
<div class="item-field flex1 right"><a class="item-add" data-item-type="item" data-category="equipment" data-subtype="ammunition"><i class="fas fa-plus-square"></i></a></div>
</li>
{{#each ammos as |item id|}}
<li class="item flexrow" data-item-id="{{item._id}}">
@@ -200,7 +199,7 @@
<div class="item-field flex1 center">{{localize "BOL.ui.qty"}}</div>
<div class="item-field flex1 center">{{localize "BOL.ui.price"}}</div>
<div class="item-field flex1 center">{{localize "BOL.ui.equip"}}</div>
<div class="item-field flex1 right"></div>
<div class="item-field flex1 right"><a class="item-add" data-item-type="item" data-category="equipment" data-subtype="container"><i class="fas fa-plus-square"></i></a></div>
</li>
{{#each containers as |item id|}}
<li class="item flexrow" data-item-id="{{item._id}}">
@@ -252,7 +251,7 @@
<div class="item-field flex1 center">{{localize "BOL.ui.qty"}}</div>
<div class="item-field flex1 center">{{localize "BOL.ui.price"}}</div>
<div class="item-field flex1 center">{{localize "BOL.ui.equip"}}</div>
<div class="item-field flex1 right"></div>
<div class="item-field flex1 right"><a class="item-add" data-item-type="item" data-category="equipment" data-subtype="currency"><i class="fas fa-plus-square"></i></a></div>
</li>
{{#each treasure as |item id|}}
<li class="item flexrow" data-item-id="{{item._id}}">
@@ -304,7 +303,7 @@
<div class="item-field flex1 center">{{localize "BOL.ui.qty"}}</div>
<div class="item-field flex1 center">{{localize "BOL.ui.price"}}</div>
<div class="item-field flex1 center">{{localize "BOL.ui.equip"}}</div>
<div class="item-field flex1 right"></div>
<div class="item-field flex1 right"><a class="item-add" data-item-type="item" data-category="vehicle" data-subtype="vehicle"><i class="fas fa-plus-square"></i></a></div>
</li>
{{#each vehicles as |item id|}}
<li class="item flexrow" data-item-id="{{item._id}}">
@@ -356,7 +355,7 @@
<div class="item-field flex1 center">{{localize "BOL.ui.qty"}}</div>
<div class="item-field flex1 center">{{localize "BOL.ui.price"}}</div>
<div class="item-field flex1 center">{{localize "BOL.ui.equip"}}</div>
<div class="item-field flex1 right"></div>
<div class="item-field flex1 right"><a class="item-add" data-item-type="item" data-category="equipment" data-subtype="other"><i class="fas fa-plus-square"></i></a></div>
</li>
{{#each misc as |item id|}}
<li class="item flexrow" data-item-id="{{item._id}}">

View File

@@ -1,4 +1,4 @@
<form class="{{cssClass}} flexcol bol-actor-form" autocomplete="off">
<div class="{{cssClass}} flexcol bol-actor-form" autocomplete="off">
<!--<img class="system-img" src="/systems/bol/ui/logo.webp" height="115" width="190"/> -->
<div class="wrap flexrow">
@@ -63,4 +63,4 @@
<img src="/systems/bol/ui/banner.webp" />
</div>
</div>
</form>
</div>

View File

@@ -1,4 +1,4 @@
<form class="{{cssClass}}" autocomplete="off">
<div class="{{cssClass}}" autocomplete="off">
<div class="wrap flexrow">
<div class="main flex1">
{{> "systems/bol/templates/item/parts/item-header.hbs"}}
@@ -16,7 +16,7 @@
{{!-- Sheet Body --}}
<section class="sheet-body">
{{!-- Description Tab --}}
<div class="tab description {{#if (eq activeTab 'description')}}active{{/if}}" data-group="primary" data-tab="description">
<div class="tab description" data-group="primary" data-tab="description">
{{#if itemProperties}}
<div class="item-properties">
<ol class="properties-list">
@@ -27,14 +27,14 @@
</div>
{{/if}}
{{editor enrichedDescription target="system.description" button=true editable=isEditable engine="prosemirror"}}
{{formInput systemFields.description enriched=enrichedDescription value=system.description name="system.description" toggled=isEditable}}
</div>
{{!-- Properties Tab --}}
<div class="tab properties {{#if (eq activeTab 'properties')}}active{{/if}}" data-group="primary" data-tab="properties">
<div class="tab properties" data-group="primary" data-tab="properties">
{{> "systems/bol/templates/item/parts/properties/feature-properties.hbs"}}
</div>
</section>
</div>
</div>
</form>
</div>

View File

@@ -1,4 +1,4 @@
<form class="{{cssClass}}" autocomplete="off">
<div class="{{cssClass}}" autocomplete="off">
<div class="wrap flexrow">
<div class="main flex1">
{{> "systems/bol/templates/item/parts/item-header.hbs"}}
@@ -16,7 +16,7 @@
{{!-- Sheet Body --}}
<section class="sheet-body">
{{!-- Description Tab --}}
<div class="tab description {{#if (eq activeTab 'description')}}active{{/if}}" data-group="primary" data-tab="description">
<div class="tab description" data-group="primary" data-tab="description">
{{#if itemProperties}}
<div class="item-properties">
<ol class="properties-list">
@@ -27,14 +27,14 @@
</div>
{{/if}}
{{editor enrichedDescription target="system.description" button=true editable=isEditable engine="prosemirror"}}
{{formInput systemFields.description enriched=enrichedDescription value=system.description name="system.description" toggled=isEditable}}
</div>
{{!-- Properties Tab --}}
<div class="tab properties {{#if (eq activeTab 'properties')}}active{{/if}}" data-group="primary" data-tab="properties">
<div class="tab properties" data-group="primary" data-tab="properties">
{{> "systems/bol/templates/item/parts/properties/item-properties.hbs"}}
</div>
</section>
</div>
</div>
</form>
</div>

View File

@@ -1,8 +1,237 @@
<div class="post-item" data-transfer="{{transfer}}">
<h3><b>{{name}}</b></h3>
{{#if img}}
<img class="chat-icon" src="{{img}}" title="{{name}}" />
<div class="bol-post-item" data-jsondata="{{jsondata}}">
{{!-- Header: image + name + type --}}
<div class="bpi-header">
{{#if img}}
<img class="bpi-img" src="{{img}}" title="{{name}}" />
{{/if}}
<div class="bpi-title-block">
<h3 class="bpi-name">{{name}}</h3>
<span class="bpi-type">
{{#if (eq type "feature")}}
{{localize (concat "BOL.featureSubtypes." system.subtype)}}
{{else}}
{{localize (concat "BOL.itemCategory." system.category)}}
{{#if (and (eq system.category "equipment") system.subtype)}}
&mdash; {{localize (concat "BOL.equipmentCategory." system.subtype)}}
{{/if}}
{{/if}}
</span>
</div>
</div>
{{!-- ======= WEAPON ======= --}}
{{#if (or system.properties.weapon (eq system.subtype "weapon"))}}
<div class="bpi-stats-row">
{{#if system.properties.damage}}
<div class="bpi-stat">
<span class="bpi-sl">{{localize "BOL.itemProperty.damage"}}</span>
<span class="bpi-sv">{{system.properties.damage}}{{#if system.properties.damageAttribute}} + {{localize (concat "BOL.attributes." system.properties.damageAttribute)}}{{/if}}{{#if system.properties.damageModifiers}} {{#if (isPositive system.properties.damageModifiers)}}+{{/if}}{{system.properties.damageModifiers}}{{/if}}</span>
</div>
{{/if}}
{{#if system.properties.weaponSize}}
<div class="bpi-stat">
<span class="bpi-sl">{{localize "BOL.itemProperty.weaponSize"}}</span>
<span class="bpi-sv">{{localize (concat "BOL.weaponSize." system.properties.weaponSize)}}</span>
</div>
{{/if}}
{{#if system.properties.attackModifiers}}
<div class="bpi-stat">
<span class="bpi-sl">{{localize "BOL.itemProperty.attackModifiers"}}</span>
<span class="bpi-sv">{{system.properties.attackModifiers}}</span>
</div>
{{/if}}
{{#if system.properties.range}}
<div class="bpi-stat">
<span class="bpi-sl">{{localize "BOL.itemProperty.range"}}</span>
<span class="bpi-sv">{{system.properties.range}} m</span>
</div>
{{/if}}
{{#if system.properties.reload}}
<div class="bpi-stat">
<span class="bpi-sl">{{localize "BOL.itemProperty.reload"}}</span>
<span class="bpi-sv">{{system.properties.reload}}</span>
</div>
{{/if}}
</div>
<div class="bpi-tags">
{{#if system.properties.melee}}<span class="bpi-tag">{{localize "BOL.itemProperty.melee"}}</span>{{/if}}
{{#if system.properties.ranged}}<span class="bpi-tag">{{localize "BOL.itemProperty.ranged"}}</span>{{/if}}
{{#if system.properties.throwing}}<span class="bpi-tag">{{localize "BOL.itemProperty.throwing"}}</span>{{/if}}
{{#if (lookup system.properties "2H")}}<span class="bpi-tag">{{localize "BOL.itemProperty.2H"}}</span>{{/if}}
{{#if system.properties.bashing}}<span class="bpi-tag">{{localize "BOL.itemProperty.bashing"}}</span>{{/if}}
{{#if system.properties.throwable}}<span class="bpi-tag">{{localize "BOL.itemProperty.throwable"}}</span>{{/if}}
{{#if system.properties.concealable}}<span class="bpi-tag">{{localize "BOL.itemProperty.concealable"}}</span>{{/if}}
{{#if system.properties.ignoreshield}}<span class="bpi-tag">{{localize "BOL.itemProperty.ignoreshield"}}</span>{{/if}}
{{#if system.properties.attackBonusDice}}<span class="bpi-tag bpi-tag-bonus">{{localize "BOL.itemProperty.attackBonusDice"}}</span>{{/if}}
{{#if system.properties.attackMalusDice}}<span class="bpi-tag bpi-tag-malus">{{localize "BOL.itemProperty.attackMalusDice"}}</span>{{/if}}
{{#if system.properties.magical}}<span class="bpi-tag bpi-tag-magic">{{localize "BOL.itemProperty.magical"}}</span>{{/if}}
</div>
{{/if}}
<h4><b>Description : </b></h4>
<p class="card-content">{{{system.description}}}</p>
{{!-- ======= PROTECTION ======= --}}
{{#if system.properties.protection}}
<div class="bpi-stats-row">
{{#if system.properties.armor}}
<div class="bpi-stat">
<span class="bpi-sl">{{localize "BOL.itemProperty.armorQuality"}}</span>
<span class="bpi-sv">{{localize (concat "BOL.armorQuality." system.properties.armorQuality)}}</span>
</div>
<div class="bpi-stat">
<span class="bpi-sl">{{localize "BOL.itemProperty.soakFormula"}}</span>
<span class="bpi-sv">{{system.properties.soak.formula}}{{#if system.properties.soak.value}} ({{system.properties.soak.value}}){{/if}}</span>
</div>
{{/if}}
{{#if system.properties.helm}}
<div class="bpi-stat">
<span class="bpi-sl">{{localize "BOL.itemProperty.soakModifiers"}}</span>
<span class="bpi-sv">{{system.properties.soak.modifier}}</span>
</div>
{{/if}}
{{#if system.properties.shield}}
<div class="bpi-stat">
<span class="bpi-sl">{{localize "BOL.itemProperty.blockingMalus"}}</span>
<span class="bpi-sv">{{system.properties.blocking.malus}}</span>
</div>
{{/if}}
{{#if system.properties.modifiers.init}}
<div class="bpi-stat">
<span class="bpi-sl">{{localize "BOL.itemModifiers.init"}}</span>
<span class="bpi-sv">{{system.properties.modifiers.init}}</span>
</div>
{{/if}}
{{#if system.properties.modifiers.agility}}
<div class="bpi-stat">
<span class="bpi-sl">{{localize "BOL.itemModifiers.agility"}}</span>
<span class="bpi-sv">{{system.properties.modifiers.agility}}</span>
</div>
{{/if}}
</div>
<div class="bpi-tags">
{{#if system.properties.armor}}<span class="bpi-tag">{{localize "BOL.itemProperty.armor"}}</span>{{/if}}
{{#if system.properties.shield}}<span class="bpi-tag">{{localize "BOL.itemProperty.shield"}}</span>{{/if}}
{{#if system.properties.helm}}<span class="bpi-tag">{{localize "BOL.itemProperty.helm"}}</span>{{/if}}
{{#if system.properties.blocking.blocking1}}<span class="bpi-tag">{{localize "BOL.itemProperty.blocking1Attack"}}</span>{{/if}}
{{#if system.properties.blocking.blockingAll}}<span class="bpi-tag">{{localize "BOL.itemProperty.blockingAllAttacks"}}</span>{{/if}}
{{#if system.properties.magical}}<span class="bpi-tag bpi-tag-magic">{{localize "BOL.itemProperty.magical"}}</span>{{/if}}
</div>
{{/if}}
{{!-- ======= SPELL ======= --}}
{{#if (eq system.category "spell")}}
<div class="bpi-stats-row">
<div class="bpi-stat">
<span class="bpi-sl">{{localize "BOL.ui.circle"}}</span>
<span class="bpi-sv">
{{#if (eq system.properties.circle 0)}}{{localize "BOL.spellItem.charm"}}{{/if}}
{{#if (eq system.properties.circle 1)}}{{localize "BOL.spellItem.circle1"}}{{/if}}
{{#if (eq system.properties.circle 2)}}{{localize "BOL.spellItem.circle2"}}{{/if}}
{{#if (eq system.properties.circle 3)}}{{localize "BOL.spellItem.circle3"}}{{/if}}
</span>
</div>
<div class="bpi-stat">
<span class="bpi-sl">{{localize "BOL.ui.ppcost"}}</span>
<span class="bpi-sv">{{system.properties.ppcost}} PP</span>
</div>
{{#if system.properties.difficulty}}
<div class="bpi-stat">
<span class="bpi-sl">{{localize "BOL.ui.difficulty"}}</span>
<span class="bpi-sv">{{system.properties.difficulty}}</span>
</div>
{{/if}}
{{#if system.properties.duration}}
<div class="bpi-stat">
<span class="bpi-sl">{{localize "BOL.ui.duration"}}</span>
<span class="bpi-sv">{{system.properties.duration}}</span>
</div>
{{/if}}
</div>
{{#if system.properties.nbmandatoryconditions}}
<div class="bpi-conditions">
<span class="bpi-cond-label">{{localize "BOL.ui.mandatoryconditions"}} :</span>
{{#each system.properties.mandatoryconditions as |cond idx|}}
{{#if (lt idx ../system.properties.nbmandatoryconditions)}}
{{#if cond}}<span class="bpi-condition bpi-cond-req">{{cond}}</span>{{/if}}
{{/if}}
{{/each}}
</div>
{{/if}}
{{#if system.properties.nboptionnalconditions}}
<div class="bpi-conditions">
<span class="bpi-cond-label">{{localize "BOL.ui.optionnalconditions"}} :</span>
{{#each system.properties.optionnalconditions as |cond idx|}}
{{#if (lt idx ../system.properties.nboptionnalconditions)}}
{{#if cond}}<span class="bpi-condition bpi-cond-opt">{{cond}}</span>{{/if}}
{{/if}}
{{/each}}
</div>
{{/if}}
<div class="bpi-tags">
{{#if system.properties.spellkeep}}<span class="bpi-tag">{{localize "BOL.ui.spellkeep"}}</span>{{/if}}
{{#if system.properties.concentrate}}<span class="bpi-tag">{{localize "BOL.ui.concentrate"}}</span>{{/if}}
{{#if system.properties.aggressive}}<span class="bpi-tag bpi-tag-malus">{{localize "BOL.ui.aggressive"}}</span>{{/if}}
</div>
{{/if}}
{{!-- ======= ALCHEMY ======= --}}
{{#if (eq system.category "alchemy")}}
<div class="bpi-stats-row">
<div class="bpi-stat">
<span class="bpi-sl">{{localize "BOL.ui.alchemyType"}}</span>
<span class="bpi-sv">{{localize (concat "BOL.alchemyItem." system.properties.alchemytype)}}</span>
</div>
<div class="bpi-stat">
<span class="bpi-sl">{{localize "BOL.ui.pccost"}}</span>
<span class="bpi-sv">{{system.properties.pccost}} PC</span>
</div>
{{#if system.properties.pccurrent}}
<div class="bpi-stat">
<span class="bpi-sl">{{localize "BOL.ui.pcnow"}}</span>
<span class="bpi-sv">{{system.properties.pccurrent}}</span>
</div>
{{/if}}
{{#if system.properties.difficulty}}
<div class="bpi-stat">
<span class="bpi-sl">{{localize "BOL.ui.difficulty"}}</span>
<span class="bpi-sv">{{system.properties.difficulty}}</span>
</div>
{{/if}}
</div>
{{/if}}
{{!-- ======= FEATURE ======= --}}
{{#if (eq type "feature")}}
{{#if (eq system.subtype "career")}}
<div class="bpi-stats-row">
<div class="bpi-stat">
<span class="bpi-sl">{{localize "BOL.ui.rank"}}</span>
<span class="bpi-sv">{{system.rank}}</span>
</div>
</div>
<div class="bpi-tags">
{{#if system.properties.sorcerer}}<span class="bpi-tag bpi-tag-magic">{{localize "BOL.ui.isSorcerer"}}</span>{{/if}}
{{#if system.properties.alchemist}}<span class="bpi-tag bpi-tag-magic">{{localize "BOL.ui.isAlchemist"}}</span>{{/if}}
{{#if system.properties.priest}}<span class="bpi-tag bpi-tag-magic">{{localize "BOL.ui.isPriest"}}</span>{{/if}}
{{#if system.properties.astrologer}}<span class="bpi-tag bpi-tag-magic">{{localize "BOL.ui.isAstrologer"}}</span>{{/if}}
</div>
{{/if}}
{{#if (eq system.subtype "boon")}}
<div class="bpi-tags">
{{#if system.properties.isbonusdice}}<span class="bpi-tag bpi-tag-bonus">{{localize "BOL.ui.isbonusdice"}}</span>{{/if}}
</div>
{{/if}}
{{#if (eq system.subtype "flaw")}}
<div class="bpi-tags">
{{#if system.properties.ismalusdice}}<span class="bpi-tag bpi-tag-malus">{{localize "BOL.ui.ismalusdice"}}</span>{{/if}}
</div>
{{/if}}
{{/if}}
{{!-- ======= DESCRIPTION ======= --}}
{{#if system.description}}
<div class="bpi-description">
<div class="bpi-desc-content">{{{system.description}}}</div>
</div>
{{/if}}
</div>