DataModels + Appv2 migration : OK
This commit is contained in:
@@ -1,28 +1,40 @@
|
||||
<div>
|
||||
<img class="chat-icon" src="{{img}}" alt="{{name}}"/>
|
||||
<h2 class="bad"><strong>{{name}}</strong></h2>
|
||||
</div>
|
||||
<div class="bol-vitality-card">
|
||||
<div class="vitality-card-header">
|
||||
<img class="damage-weapon-img" src="{{img}}" alt="{{name}}"/>
|
||||
<div class="damage-card-title">
|
||||
{{#if isHeroAdversary}}
|
||||
{{#if (eq hp 0)}}
|
||||
<div class="damage-card-label">💀 {{localize "BOL.chat.vitalityzero" name="" hp=""}}</div>
|
||||
<div class="damage-weapon-name">{{name}}</div>
|
||||
<div class="damage-total-badge">{{hp}} PV</div>
|
||||
{{else}}
|
||||
<div class="damage-card-label">🩸 {{localize "BOL.chat.vitalitydying" name="" hp=""}}</div>
|
||||
<div class="damage-weapon-name">{{name}}</div>
|
||||
<div class="damage-total-badge">{{hp}} PV</div>
|
||||
{{/if}}
|
||||
{{else}}
|
||||
<div class="damage-card-label">☠ {{localize "BOL.chat.isdead" name=""}}</div>
|
||||
<div class="damage-weapon-name">{{name}}</div>
|
||||
<div class="damage-total-badge damage-total-badge--hit">{{hp}} PV</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flexrow">
|
||||
|
||||
{{#if isHeroAdversary}}
|
||||
{{#if (eq hp 0)}}
|
||||
{{localize "BOL.chat.vitalityzero" name=name hp=hp}}
|
||||
<br>{{localize "BOL.chat.vitalityheroism"}}
|
||||
<br>{{localize "BOL.chat.vitalityheroismhint"}}
|
||||
<div class="vitality-card-body">
|
||||
{{#if isHeroAdversary}}
|
||||
{{#if (eq hp 0)}}
|
||||
<div class="vitality-detail">{{localize "BOL.chat.vitalityheroism"}}</div>
|
||||
<div class="vitality-hint">{{localize "BOL.chat.vitalityheroismhint"}}</div>
|
||||
{{else}}
|
||||
<div class="vitality-detail">{{localize "BOL.chat.vitalitydyingheroism"}}</div>
|
||||
{{/if}}
|
||||
{{#if (lt hp -5)}}
|
||||
<div class="vitality-dead">☠ {{localize "BOL.chat.isdead" name=name}}</div>
|
||||
<div class="vitality-epitaph">{{localize "BOL.chat.epitaph"}}</div>
|
||||
{{/if}}
|
||||
{{else}}
|
||||
{{localize "BOL.chat.vitalitydying" name=name hp=hp}}
|
||||
<br>{{localize "BOL.chat.vitalitydyingheroism"}}
|
||||
<div class="vitality-dead">{{localize "BOL.chat.epitaph"}}</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if (lt hp -5)}}
|
||||
<br><strong>{{localize "BOL.chat.isdead" name=name}}</strong>
|
||||
<br>{{localize "BOL.chat.epitaph"}}
|
||||
{{/if}}
|
||||
{{else}}
|
||||
<br><strong>{{localize "BOL.chat.isdead" name=name}}</strong>
|
||||
<br>{{localize "BOL.chat.epitaph"}}
|
||||
{{/if}}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
20
templates/chat/chat-welcome.hbs
Normal file
20
templates/chat/chat-welcome.hbs
Normal file
@@ -0,0 +1,20 @@
|
||||
<div class="bol-welcome-card">
|
||||
<div class="welcome-header">
|
||||
<img class="welcome-logo" src="/systems/bol/ui/logo2.webp" alt="Barbarians of Lemuria"/>
|
||||
<div class="welcome-title">
|
||||
<div class="damage-card-label">⚔ Barbarians of Lemuria</div>
|
||||
<div class="damage-weapon-name">{{localize "BOL.chat.welcome1"}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="welcome-body">
|
||||
<p>{{{localize "BOL.chat.welcome2"}}}</p>
|
||||
<p>{{{localize "BOL.chat.welcome3"}}}</p>
|
||||
<p>{{{localize "BOL.chat.welcome4"}}}</p>
|
||||
<p>{{{localize "BOL.chat.welcome5"}}}</p>
|
||||
<div class="welcome-footer">🗡 {{{localize "BOL.chat.welcome6"}}}</div>
|
||||
{{#if noRulebook}}
|
||||
<p class="welcome-warning">{{{localize "BOL.chat.bolRulebookMessage"}}}</p>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,8 +1,16 @@
|
||||
<h4><strong>{{localize "BOL.chat.alchemytitle" name=alchemy.name}}</strong></h4>
|
||||
<h4><strong>{{localize "BOL.chat.alchemypoints" pcCostCurrent=pcCostCurrent}}</strong></h4>
|
||||
|
||||
{{#if isSuccess}}
|
||||
{{localize "BOL.chat.alchemysuccess"}}
|
||||
{{else}}
|
||||
{{localize "BOL.chat.alchemyfailure"}}
|
||||
{{/if}}
|
||||
<div class="bol-alchemy-card">
|
||||
<div class="alchemy-card-header">
|
||||
<img class="alchemy-img" src="{{alchemy.img}}" alt="{{alchemy.name}}"/>
|
||||
<div class="alchemy-card-title">
|
||||
<span class="alchemy-name">{{alchemy.name}}</span>
|
||||
<span class="alchemy-stat-badge"><i class="fas fa-flask"></i> {{localize "BOL.chat.alchemypoints" pcCostCurrent=pcCostCurrent}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="alchemy-result {{#if isSuccess}}success{{else}}failure{{/if}}">
|
||||
{{#if isSuccess}}
|
||||
<i class="fas fa-check-circle"></i> {{{localize "BOL.chat.alchemysuccess"}}}
|
||||
{{else}}
|
||||
<i class="fas fa-times-circle"></i> {{{localize "BOL.chat.alchemyfailure"}}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,20 +1,25 @@
|
||||
<img class="chat-icon" src="{{weapon.img}}" alt="{{weapon.name}}"/>
|
||||
<h3><strong>{{localize "BOL.chat.damageresult" name=weapon.name total=damageRoll.total}}</strong></h3>
|
||||
{{#if defender}}
|
||||
<h3><strong>{{localize "BOL.chat.damagetarget" target=defender.name}}</strong></h3>
|
||||
{{/if}}
|
||||
|
||||
{{#if weapon.system.properties.damageReroll1}}
|
||||
<div>
|
||||
<label>{{localize "BOL.chat.weaponreroll1"}}</label>
|
||||
<div class="bol-damage-card">
|
||||
<div class="damage-card-header">
|
||||
<img class="damage-weapon-img" src="{{weapon.img}}" alt="{{weapon.name}}"/>
|
||||
<div class="damage-card-title">
|
||||
<div class="damage-card-label">⚔ {{localize "BOL.ui.damages"}}</div>
|
||||
<div class="damage-weapon-name">{{weapon.name}}</div>
|
||||
<div class="damage-formula">{{damageFormula}}</div>
|
||||
<div class="damage-total-badge">{{damageRoll.total}}</div>
|
||||
</div>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="actions-section">
|
||||
{{#if targetId}}
|
||||
<div id="{{applyId}}">
|
||||
<button class="chat-damage-apply" data-attack-id="{{id}}">{{localize "BOL.chat.applydamagetotarget"}}</button>
|
||||
</div>
|
||||
<br>
|
||||
{{#if defender}}
|
||||
<div class="damage-target">{{localize "BOL.chat.damagetarget" target=defender.name}}</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
{{#if weapon.system.properties.damageReroll1}}
|
||||
<div class="damage-note">{{localize "BOL.chat.weaponreroll1"}}</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if targetId}}
|
||||
<div class="actions-section" id="{{applyId}}">
|
||||
<button class="chat-damage-apply" data-attack-id="{{id}}">{{localize "BOL.chat.applydamagetotarget"}}</button>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
@@ -1,27 +1,30 @@
|
||||
<img class="chat-icon" src="{{defender.img}}" alt="{{defender.name}}" />
|
||||
{{localize "BOL.chat.hurttitle" name=defender.name damageTotal=damageTotal}}
|
||||
<div class="bol-defense-card">
|
||||
<div class="defense-card-header">
|
||||
<img class="damage-weapon-img" src="{{defender.img}}" alt="{{defender.name}}"/>
|
||||
<div class="damage-card-title">
|
||||
<div class="damage-weapon-name">{{defender.name}}</div>
|
||||
<div class="damage-total-badge damage-total-badge--hit">{{damageTotal}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{#if damagesIgnoresArmor}}
|
||||
<br>{{localize "BOL.chat.armordefault"}}
|
||||
{{/if}}
|
||||
{{#if damagesIgnoresArmor}}
|
||||
<div class="damage-note damage-note--warn">⚠ {{localize "BOL.chat.armordefault"}}</div>
|
||||
{{/if}}
|
||||
|
||||
<button class="damage-handling" data-defense-mode="damage-with-armor" data-attack-id="{{attackId}}">{{localize
|
||||
"BOL.chat.witharmor"}}</button>
|
||||
<button class="damage-handling" data-defense-mode="damage-without-armor" data-attack-id="{{attackId}}">{{localize
|
||||
"BOL.chat.withoutarmor"}}</button>
|
||||
<div class="actions-section defense-actions">
|
||||
<button class="damage-handling" data-defense-mode="damage-with-armor" data-attack-id="{{attackId}}">{{localize "BOL.chat.witharmor"}}</button>
|
||||
<button class="damage-handling" data-defense-mode="damage-without-armor" data-attack-id="{{attackId}}">{{localize "BOL.chat.withoutarmor"}}</button>
|
||||
|
||||
{{#if (gt defenderHeroPoints 0)}}
|
||||
<button class="damage-handling" data-defense-mode="hero-reduce-damage" data-attack-id="{{attackId}}">{{localize
|
||||
"BOL.chat.shakeoff"}}</button>
|
||||
{{#if (gt defenderHeroPoints 0)}}
|
||||
<div class="defense-hero-separator">— {{localize "BOL.ui.heropoints"}} —</div>
|
||||
<button class="damage-handling" data-defense-mode="hero-reduce-damage" data-attack-id="{{attackId}}">{{localize "BOL.chat.shakeoff"}}</button>
|
||||
{{#each defenderWeapons as |weapon idx|}}
|
||||
<button class="damage-handling" data-defense-mode="hero-in-extremis" data-attack-id="{{@root.attackId}}" data-weapon-id="{{weapon._id}}">{{localize "BOL.chat.splinteredshield" name=weapon.name}}</button>
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
|
||||
{{#each defenderWeapons as |weapon idx|}}
|
||||
<button class="damage-handling" data-defense-mode="hero-in-extremis" data-attack-id="{{@root.attackId}}"
|
||||
data-weapon-id="{{weapon._id}}">{{localize "BOL.chat.splinteredshield" name=weapon.name}}</button>
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
<button class="damage-handling" data-defense-mode="damage-not-applied" data-attack-id="{{attackId}}">{{localize "BOL.chat.nodamage"}}</button>
|
||||
</div>
|
||||
|
||||
<button class="damage-handling" data-defense-mode="damage-not-applied" data-attack-id="{{attackId}}">{{localize
|
||||
"BOL.chat.nodamage"}}</button>
|
||||
|
||||
<br>
|
||||
{{localize "BOL.chat.defenseReduceDamage2"}}
|
||||
<div class="defense-footer-note">{{localize "BOL.chat.defenseReduceDamage2"}}</div>
|
||||
</div>
|
||||
|
||||
@@ -1,22 +1,33 @@
|
||||
<img class="chat-icon" src="{{defender.img}}" alt="{{defender.name}}"/>
|
||||
<h3>{{localize "BOL.chat.damagesummary" name=name}}</h3>
|
||||
<ul>
|
||||
<li>
|
||||
{{#if (eq defenseMode "damage-with-armor")}}
|
||||
{{localize "BOL.chat.protectvalue"}} : {{armorProtect}}.
|
||||
{{/if}}
|
||||
{{#if (eq defenseMode "damage-without-armor")}}
|
||||
{{localize "BOL.chat.noprotectvalue"}}
|
||||
{{/if}}
|
||||
{{#if (eq defenseMode "hero-reduce-damage")}}
|
||||
{{localize "BOL.chat.protectvalue"}} : {{armorProtect}}.
|
||||
{{localize "BOL.chat.heroreducedamage" total=rollHero.total}}
|
||||
{{/if}}
|
||||
{{#if (eq defenseMode "hero-in-extremis")}}
|
||||
{{localize "BOL.chat.herosplintered" name=weaponHero.name}}
|
||||
{{/if}}
|
||||
</li>
|
||||
<li>
|
||||
{{localize "BOL.chat.finaldamage" finalDamage=finalDamage}}
|
||||
</li>
|
||||
</ul>
|
||||
<div class="bol-defense-summary-card">
|
||||
<div class="defense-summary-header">
|
||||
<img class="damage-weapon-img" src="{{defender.img}}" alt="{{defender.name}}"/>
|
||||
<div class="damage-card-title">
|
||||
<div class="damage-card-label">🛡 {{localize "BOL.chat.damagesummary" name=""}}</div>
|
||||
<div class="damage-weapon-name">{{name}}</div>
|
||||
{{#if (eq finalDamage 0)}}
|
||||
<div class="damage-total-badge damage-total-badge--none">0</div>
|
||||
{{else}}
|
||||
<div class="damage-total-badge">{{finalDamage}}</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="defense-summary-details">
|
||||
{{#if (eq defenseMode "damage-with-armor")}}
|
||||
<div class="defense-detail">🔰 {{localize "BOL.chat.protectvalue"}} : <strong>{{armorProtect}}</strong></div>
|
||||
{{/if}}
|
||||
{{#if (eq defenseMode "damage-without-armor")}}
|
||||
<div class="defense-detail warning">⚠ {{localize "BOL.chat.noprotectvalue"}}</div>
|
||||
{{/if}}
|
||||
{{#if (eq defenseMode "hero-reduce-damage")}}
|
||||
<div class="defense-detail">🔰 {{localize "BOL.chat.protectvalue"}} : <strong>{{armorProtect}}</strong></div>
|
||||
<div class="defense-detail">✨ {{localize "BOL.chat.heroreducedamage" total=rollHero.total}}</div>
|
||||
{{/if}}
|
||||
{{#if (eq defenseMode "hero-in-extremis")}}
|
||||
<div class="defense-detail">⚔ {{localize "BOL.chat.herosplintered" name=weaponHero.name}}</div>
|
||||
{{/if}}
|
||||
<div class="defense-final {{#if (eq finalDamage 0)}}defense-final--safe{{/if}}">
|
||||
{{localize "BOL.chat.finaldamage" finalDamage=finalDamage}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,11 +1,21 @@
|
||||
<img class="chat-icon" src="{{defender.img}}" alt="{{defender.name}}"/>
|
||||
<h3>{{localize "BOL.chat.damagesummary" name=name}}</h3>
|
||||
<ul>
|
||||
<li>
|
||||
{{#if (eq finalDamage 0)}}
|
||||
{{localize "BOL.chat.nodamagesummary"}}
|
||||
{{else}}
|
||||
{{localize "BOL.chat.damageresume" name=name}}
|
||||
{{/if}}
|
||||
</li>
|
||||
</ul>
|
||||
<div class="bol-defense-summary-card">
|
||||
<div class="defense-summary-header">
|
||||
<img class="damage-weapon-img" src="{{defender.img}}" alt="{{defender.name}}"/>
|
||||
<div class="damage-card-title">
|
||||
<div class="damage-card-label">🛡 {{localize "BOL.chat.damagesummary" name=""}}</div>
|
||||
<div class="damage-weapon-name">{{name}}</div>
|
||||
{{#if (eq finalDamage 0)}}
|
||||
<div class="damage-total-badge damage-total-badge--none">0</div>
|
||||
{{else}}
|
||||
<div class="damage-total-badge">{{finalDamage}}</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="defense-summary-details">
|
||||
{{#if (eq finalDamage 0)}}
|
||||
<div class="defense-final defense-final--safe">{{localize "BOL.chat.nodamagesummary"}}</div>
|
||||
{{else}}
|
||||
<div class="defense-final">{{localize "BOL.chat.damageresume" name=name}}</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,26 +1,35 @@
|
||||
<h4><strong>{{localize "BOL.chat.horoscope"}} {{localize horoscopeTypeLabel}}</strong></h4>
|
||||
<h4><strong>{{localize "BOL.chat.horoscopepoints" points=astrologyPointsCost}}</strong></h4>
|
||||
<div class="bol-horoscope-card">
|
||||
<div class="horoscope-card-header">
|
||||
<i class="fas fa-star horoscope-icon"></i>
|
||||
<div class="horoscope-card-title">
|
||||
<span class="horoscope-type">{{localize "BOL.chat.horoscope"}} — {{localize horoscopeTypeLabel}}</span>
|
||||
<span class="horoscope-stat-badge"><i class="fas fa-coins"></i> {{localize "BOL.chat.horoscopepoints" points=astrologyPointsCost}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{#if (eq horoscopeType "minor")}}
|
||||
{{#if isSuccess}}
|
||||
{{localize "BOL.chat.horoscopeminorsuccess"}}
|
||||
{{else}}
|
||||
{{localize "BOL.chat.horoscopeminorfailure"}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
<div class="horoscope-result">
|
||||
{{#if (eq horoscopeType "minor")}}
|
||||
{{#if isSuccess}}
|
||||
<span class="horoscope-text success">{{{localize "BOL.chat.horoscopeminorsuccess"}}}</span>
|
||||
{{else}}
|
||||
<span class="horoscope-text failure">{{{localize "BOL.chat.horoscopeminorfailure"}}}</span>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq horoscopeType "major")}}
|
||||
{{#if isSuccess}}
|
||||
{{localize "BOL.chat.horoscopemajorsuccess" horoscopeName=horoscopeName}}
|
||||
{{else}}
|
||||
{{localize "BOL.chat.horoscopemajorfailure" horoscopeName=horoscopeName}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{#if (eq horoscopeType "major")}}
|
||||
{{#if isSuccess}}
|
||||
<span class="horoscope-text success">{{{localize "BOL.chat.horoscopemajorsuccess" horoscopeName=horoscopeName}}}</span>
|
||||
{{else}}
|
||||
<span class="horoscope-text failure">{{{localize "BOL.chat.horoscopemajorfailure" horoscopeName=horoscopeName}}}</span>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq horoscopeType "majorgroup")}}
|
||||
{{#if isSuccess}}
|
||||
{{localize "BOL.chat.horoscopemajorgroupsuccess" careerBonus=careerBonus}}
|
||||
{{else}}
|
||||
{{localize "BOL.chat.horoscopemajorgroupfailure" careerBonus=careerBonus}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{#if (eq horoscopeType "majorgroup")}}
|
||||
{{#if isSuccess}}
|
||||
<span class="horoscope-text success">{{{localize "BOL.chat.horoscopemajorgroupsuccess" careerBonus=careerBonus}}}</span>
|
||||
{{else}}
|
||||
<span class="horoscope-text failure">{{{localize "BOL.chat.horoscopemajorgroupfailure" careerBonus=careerBonus}}}</span>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,4 +1,13 @@
|
||||
<h4><strong>{{localize "BOL.chat.spell"}} : {{spell.name}}</strong></h4>
|
||||
<h4><strong>{{localize "BOL.chat.spellcost"}} : {{ppCost}}</strong></h4>
|
||||
<h4><strong>{{localize "BOL.chat.spellremaining"}} : {{remainingPP}}</strong></h4>
|
||||
<div class="bol-spell-card">
|
||||
<div class="spell-card-header">
|
||||
<img class="spell-img" src="{{spell.img}}" alt="{{spell.name}}"/>
|
||||
<div class="spell-card-title">
|
||||
<span class="spell-name">{{spell.name}}</span>
|
||||
<div class="spell-stats">
|
||||
<span class="spell-stat-badge cost"><i class="fas fa-bolt"></i> {{localize "BOL.chat.spellcost"}} : {{ppCost}}</span>
|
||||
{{#if remainingPP}}<span class="spell-stat-badge remaining"><i class="fas fa-battery-half"></i> {{localize "BOL.chat.spellremaining"}} : {{remainingPP}}</span>{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user