PV
{{ s.pvMax != 0 ? (s.pvMax > 0 ? '+' : '') ~ s.pvMax : '—' }}
EG
{{ s.egMax != 0 ? (s.egMax > 0 ? '+' : '') ~ s.egMax : '—' }}
ATQ
{{ s.attaque != 0 ? (s.attaque > 0 ? '+' : '') ~ s.attaque : '—' }}
DEF
{{ s.defense != 0 ? (s.defense > 0 ? '+' : '') ~ s.defense : '—' }}
ARC
{{ s.arcane != 0 ? (s.arcane > 0 ? '+' : '') ~ s.arcane : '—' }}
SAG
{{ s.sagesse != 0 ? (s.sagesse > 0 ? '+' : '') ~ s.sagesse : '—' }}
VIT
{{ s.vitesse != 0 ? (s.vitesse > 0 ? '+' : '') ~ s.vitesse : '—' }}
FIN
{{ s.finesse != 0 ? (s.finesse > 0 ? '+' : '') ~ s.finesse : '—' }}
{% endmacro %}
{# Renders elemental resistance rows #}
{% macro elemental_resistance(entries, elementMap) %}
{% if entries %}
{% for e in entries %}
{% set pct = ((1 - e.multiplier) * 1000)|round / 10 %}
Résistance {{ elementMap[e.element_id] ?? '?' }} :
{{ pct > 0 ? '+' }}{{ pct }}%
{% endfor %}
{% endif %}
{% endmacro %}
{# Renders a stats-grid for a statsBuff (kind='buff') or statsDebuff (kind='debuff') array #}
{% macro stat_changes(entries, kind) %}
{% if entries %}
{% set lbl = {pvMax: 'PV', egMax: 'EG', attaque: 'ATQ', defense: 'DEF', arcane: 'ARC', sagesse: 'SAG', vitesse: 'VIT', finesse: 'FIN'} %}
{% set isBuff = kind == 'buff' %}
{% set arrow = isBuff ? '↑' : '↓' %}
{% set cls = isBuff ? 'heal' : 'dmg' %}