3 Commits

Author SHA1 Message Date
4aa22195a3 Add Enemy sheet
All checks were successful
Release Creation / build (release) Successful in 56s
2025-05-25 20:44:49 +02:00
7e517bfb12 Add Enemy sheet 2025-05-25 20:43:10 +02:00
57706629e1 Add Enemy sheet
All checks were successful
Release Creation / build (release) Successful in 59s
2025-05-25 18:39:57 +02:00
14 changed files with 381 additions and 100 deletions

View File

@@ -1173,6 +1173,14 @@ i.fvtt-hellborn {
font-size: calc(var(--font-size-standard) * 1.4);
padding-left: 5px;
}
.fvtt-hellborn .tab.enemy-traits .main-div .enemy-column {
display: flex;
flex-direction: row;
gap: 4px;
}
.fvtt-hellborn .tab.enemy-traits .main-div .enemy-column fieldset {
width: 100%;
}
.fvtt-hellborn .tab.enemy-traits .main-div .mortality {
display: flex;
align-items: center;
@@ -1196,6 +1204,14 @@ i.fvtt-hellborn {
color: grey;
font-size: small;
}
.fvtt-hellborn .tab.enemy-traits .main-div .counters .characteristics-label label {
min-width: 3.5rem;
max-width: 3.5rem;
}
.fvtt-hellborn .tab.enemy-traits .main-div .counters .characteristics-label span {
min-width: 3rem;
max-width: 3rem;
}
.fvtt-hellborn .tab.enemy-traits .main-div .counters label {
min-width: 4rem;
max-width: 4rem;
@@ -1217,8 +1233,8 @@ i.fvtt-hellborn {
align-items: center;
gap: 4px;
margin-left: 4px;
min-width: 20rem;
max-width: 20rem;
min-width: 12rem;
max-width: 12rem;
}
.fvtt-hellborn .tab.enemy-traits .main-div .traits .trait .rollable:hover,
.fvtt-hellborn .tab.enemy-traits .main-div .traits .trait .rollable:focus {
@@ -1230,23 +1246,82 @@ i.fvtt-hellborn {
min-width: 1.8rem;
max-width: 1.8rem;
}
.fvtt-hellborn .tab.enemy-traits .main-div .traits .trait .flavor {
min-width: 24rem;
max-width: 24rem;
.fvtt-hellborn .tab.enemy-traits .main-div .traits .trait .name {
min-width: 18rem;
max-width: 18rem;
}
.fvtt-hellborn .tab.enemy-traits .main-div .traits .trait .role {
.fvtt-hellborn .tab.enemy-traits .main-div .traits .trait .item-img {
width: 24px;
height: 24px;
margin: 4px 0 0 0;
}
.fvtt-hellborn .tab.enemy-traits .main-div .equipments {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 4px;
}
.fvtt-hellborn .tab.enemy-traits .main-div .equipments .equipment {
display: flex;
align-items: center;
gap: 4px;
min-width: 13rem;
max-width: 13rem;
}
.fvtt-hellborn .tab.enemy-traits .main-div .equipments .equipment .rollable:hover,
.fvtt-hellborn .tab.enemy-traits .main-div .equipments .equipment .rollable:focus {
text-shadow: 0 0 8px var(--color-shadow-primary);
cursor: pointer;
}
.fvtt-hellborn .tab.enemy-traits .main-div .equipments .equipment .controls {
font-size: 0.7rem;
min-width: 1.8rem;
max-width: 1.8rem;
}
.fvtt-hellborn .tab.enemy-traits .main-div .equipments .equipment .name {
min-width: 12rem;
max-width: 12rem;
}
.fvtt-hellborn .tab.enemy-traits .main-div .equipments .equipment .item-img {
width: 24px;
height: 24px;
margin: 4px 0 0 0;
}
.fvtt-hellborn .tab.enemy-traits .main-div .maleficas {
display: grid;
grid-template-columns: repeat(1, 1fr);
gap: 4px;
}
.fvtt-hellborn .tab.enemy-traits .main-div .maleficas .malefica {
display: flex;
align-items: center;
gap: 4px;
margin-left: 4px;
min-width: 12rem;
max-width: 12rem;
}
.fvtt-hellborn .tab.enemy-traits .main-div .maleficas .malefica .rollable:hover,
.fvtt-hellborn .tab.enemy-traits .main-div .maleficas .malefica .rollable:focus {
text-shadow: 0 0 8px var(--color-shadow-primary);
cursor: pointer;
}
.fvtt-hellborn .tab.enemy-traits .main-div .maleficas .malefica .controls {
font-size: 0.7rem;
min-width: 1.8rem;
max-width: 1.8rem;
}
.fvtt-hellborn .tab.enemy-traits .main-div .maleficas .malefica .domain {
min-width: 5rem;
max-width: 5rem;
}
.fvtt-hellborn .tab.enemy-traits .main-div .traits .trait .level {
min-width: 4rem;
max-width: 4rem;
.fvtt-hellborn .tab.enemy-traits .main-div .maleficas .malefica .level {
min-width: 3rem;
max-width: 3rem;
}
.fvtt-hellborn .tab.enemy-traits .main-div .traits .trait .name {
min-width: 10rem;
max-width: 10rem;
.fvtt-hellborn .tab.enemy-traits .main-div .maleficas .malefica .name {
min-width: 11rem;
max-width: 11rem;
}
.fvtt-hellborn .tab.enemy-traits .main-div .traits .trait .item-img {
.fvtt-hellborn .tab.enemy-traits .main-div .maleficas .malefica .item-img {
width: 24px;
height: 24px;
margin: 4px 0 0 0;
@@ -2269,6 +2344,12 @@ i.fvtt-hellborn {
font-size: calc(var(--font-size-standard) * 2);
color: var(--color-dark-1);
}
.item-to-chat h2 {
margin-left: 10px;
font-family: var(--font-title);
font-size: calc(var(--font-size-standard) * 1.4);
color: var(--title-color);
}
.item-to-chat ul {
list-style-type: none;
padding: 0;

View File

@@ -343,6 +343,18 @@
}
},
"Label": {
"addArmor": "Add Armor",
"addPerk": "Add Perk",
"addRitual": "Add Ritual",
"addSpeciesTrait": "Add Trait",
"addTarot": "Add Tarot",
"addMalefica": "Add Malefica",
"addTrait": "Add Trait",
"newMalefica": "New Malefica",
"newPerk": "New Perk",
"newRitual": "New Ritual",
"newSpeciesTrait": "New Trait",
"newTarot": "New Tarot",
"titleStat": "Stat Roll Dialog",
"difficulty": "Difficulty",
"unknown": "Unknown",

View File

@@ -18,6 +18,7 @@ export default class HellbornCharacterSheet extends HellbornActorSheet {
createDeal: HellbornCharacterSheet.#onCreateDeal,
createMalefica: HellbornCharacterSheet.#onCreateMalefica,
createRitual: HellbornCharacterSheet.#onCreateRitual,
createPerk: HellbornCharacterSheet.#onCreatePerk,
},
}
@@ -89,12 +90,24 @@ export default class HellbornCharacterSheet extends HellbornActorSheet {
case "status":
context.tab = context.tabs.status
context.perks = doc.itemTypes.perk
context.perks.sort((a, b) => a.name.localeCompare(b.name))
// Sort the perks by system.role and then by the system.level
context.perks.sort((a, b) => {
if (a.system.role === b.system.role) {
return a.system.level.localeCompare(b.system.level)
}
return a.system.role.localeCompare(b.system.role)
})
break;
case "maleficas":
context.tab = context.tabs.maleficas
context.maleficas = doc.itemTypes.malefica
context.maleficas.sort((a, b) => a.name.localeCompare(b.name))
// Sort the maleficas by system.domain and then by the system.level
context.maleficas.sort((a, b) => {
if (a.system.domain === b.system.domain) {
return a.system.level.localeCompare(b.system.level)
}
return a.system.domain.localeCompare(b.system.domain)
})
context.rituals = doc.itemTypes.ritual
context.rituals.sort((a, b) => a.name.localeCompare(b.name))
break
@@ -152,6 +165,9 @@ export default class HellbornCharacterSheet extends HellbornActorSheet {
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newArmor"), type: "armor" }])
}
static #onCreatePerk(event, target) {
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newPerk"), type: "perk" }])
}
/**

View File

@@ -13,7 +13,11 @@ export default class HellbornEnemySheet extends HellbornActorSheet {
},
actions: {
createTrait: HellbornEnemySheet.#onCreateTrait,
},
createEquipment: HellbornEnemySheet.#onCreateEquipment,
createWeapon: HellbornEnemySheet.#onCreateWeapon,
createMalefica: HellbornEnemySheet.#onCreateMalefica,
}
}
/** @override */
@@ -37,6 +41,7 @@ export default class HellbornEnemySheet extends HellbornActorSheet {
sheet: "traits",
}
/**
* Prepare an array of form header tabs.
* @returns {Record<string, Partial<ApplicationTab>>}
@@ -73,6 +78,10 @@ export default class HellbornEnemySheet extends HellbornActorSheet {
context.traits.sort((a, b) => a.name.localeCompare(b.name))
context.weapons = doc.itemTypes.weapon
context.weapons.sort((a, b) => a.name.localeCompare(b.name))
context.maleficas = doc.itemTypes.malefica
context.maleficas.sort((a, b) => a.name.localeCompare(b.name))
context.equipments = doc.itemTypes.equipment
context.equipments.sort((a, b) => a.name.localeCompare(b.name))
break
case "biography":
context.tab = context.tabs.biography
@@ -89,9 +98,22 @@ export default class HellbornEnemySheet extends HellbornActorSheet {
* @param {HTMLElement} target The current target of the event listener.
*/
static #onCreateTrait(event, target) {
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newTrait"), type: "trait" }])
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newTrait"), type: "species-trait" }])
}
static #onCreateEquipment(event, target) {
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newEquipment"), type: "equipment" }])
}
static #onCreateMalefica(event, target) {
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newMalefica"), type: "malefica" }])
}
static #onCreateWeapon(event, target) {
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newWeapon"), type: "weapon" }])
}
/**
* Handles the roll action triggered by user interaction.
*

View File

@@ -47,6 +47,8 @@ export default class HellbornEnemy extends foundry.abstract.TypeDataModel {
bonus: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
total: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
resistance: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
maleficDR: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
resilience: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
})
schema.movement = new fields.SchemaField({

View File

@@ -172,16 +172,16 @@ export default class HellbornUtils {
if (level=== "highpowers") return "High";
if (level === "mastery") return "Mastery";
level = parseInt(level);
if (level === 0) return "I";
if (level === 1) return "II";
if (level === 2) return "III";
if (level === 3) return "IV";
if (level === 4) return "V";
if (level === 5) return "VI";
if (level === 6) return "VII";
if (level === 7) return "VIII";
if (level === 8) return "IX";
if (level === 9) return "X";
if (level === 0) return "0";
if (level === 1) return "I";
if (level === 2) return "II";
if (level === 3) return "III";
if (level === 4) return "IV";
if (level === 5) return "V";
if (level === 6) return "VI";
if (level === 7) return "VII";
if (level === 8) return "VIII";
if (level === 9) return "IX";
return level;
})
// Handle v12 removal of this helper

View File

@@ -164,6 +164,14 @@
padding-left: 5px;
}
}
.enemy-column {
display:flex;
flex-direction: row;
gap: 4px;
fieldset {
width: 100%;
}
}
.mortality {
display: flex;
align-items: center;
@@ -186,6 +194,14 @@
.characteristics-label{
color: grey;
font-size:small;
label {
min-width: 3.5rem;
max-width: 3.5rem;
}
span {
min-width: 3rem;
max-width: 3rem;
}
}
label {
min-width: 4rem;
@@ -208,8 +224,8 @@
align-items: center;
gap: 4px;
margin-left: 4px;
min-width: 20rem;
max-width: 20rem;
min-width: 12rem;
max-width: 12rem;
.rollable:hover,
.rollable:focus {
text-shadow: 0 0 8px var(--color-shadow-primary);
@@ -220,21 +236,9 @@
min-width: 1.8rem;
max-width: 1.8rem;
}
.flavor {
min-width: 24rem;
max-width: 24rem;
}
.role {
min-width: 5rem;
max-width: 5rem;
}
.level {
min-width: 4rem;
max-width: 4rem;
}
.name {
min-width: 10rem;
max-width: 10rem;
min-width: 18rem;
max-width: 18rem;
}
.item-img {
width: 24px;
@@ -243,7 +247,79 @@
}
}
}
.weapons {
.equipments {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 4px;
.equipment {
display: flex;
align-items: center;
gap: 4px;
min-width: 13rem;
max-width: 13rem;
.rollable:hover,
.rollable:focus {
text-shadow: 0 0 8px var(--color-shadow-primary);
cursor: pointer;
}
.controls {
font-size: 0.7rem;
min-width: 1.8rem;
max-width: 1.8rem;
}
.name {
min-width: 12rem;
max-width: 12rem;
}
.item-img {
width: 24px;
height: 24px;
margin: 4px 0 0 0;
}
}
}
.maleficas {
display: grid;
grid-template-columns: repeat(1, 1fr);
gap: 4px;
.malefica {
display: flex;
align-items: center;
gap: 4px;
margin-left: 4px;
min-width: 12rem;
max-width: 12rem;
.rollable:hover,
.rollable:focus {
text-shadow: 0 0 8px var(--color-shadow-primary);
cursor: pointer;
}
.controls {
font-size: 0.7rem;
min-width: 1.8rem;
max-width: 1.8rem;
}
.domain {
min-width: 5rem;
max-width: 5rem;
}
.level {
min-width: 3rem;
max-width: 3rem;
}
.name {
min-width: 11rem;
max-width: 11rem;
}
.item-img {
width: 24px;
height: 24px;
margin: 4px 0 0 0;
}
}
}
.weapons {
display: grid;
grid-template-columns: repeat(1, 1fr);
gap: 4px;

View File

@@ -55,6 +55,12 @@
}
.item-to-chat {
h2 {
margin-left:10px;
font-family: var(--font-title);
font-size: calc(var(--font-size-standard) * 1.4);
color: var(--title-color);
}
ul {
list-style-type: none;
padding: 0;

View File

@@ -3,7 +3,7 @@
<fieldset>
<legend>{{localize "HELLBORN.Label.weapons"}}{{#if isEditMode}}
<a class="action" data-tooltip="{{localize " HELLBORN.Tooltip.addWeapon"}}" data-tooltip-direction="UP"><i
<a class="action" data-tooltip="{{localize "HELLBORN.Tooltip.addWeapon"}}" data-tooltip-direction="UP"><i
class="fas fa-plus" data-action="createWeapon"></i></a>{{/if}}
</legend>
<div class="weapons">
@@ -36,7 +36,7 @@
<fieldset>
<legend>{{localize "HELLBORN.Label.armors"}}{{#if isEditMode}}
<a class="action" data-tooltip="{{localize " HELLBORN.Tooltip.addArmor"}}" data-tooltip-direction="UP"><i
<a class="action" data-tooltip="{{localize "HELLBORN.Tooltip.addArmor"}}" data-tooltip-direction="UP"><i
class="fas fa-plus" data-action="createArmor"></i></a>{{/if}}
</legend>
<div class="armors">
@@ -63,7 +63,7 @@
<fieldset>
<legend>{{localize "HELLBORN.Label.equipments"}}{{#if isEditMode}}
<a class="action" data-tooltip="{{localize " HELLBORN.Tooltip.addEquipment"}}" data-tooltip-direction="UP"><i
<a class="action" data-tooltip="{{localize "HELLBORN.Tooltip.addEquipment"}}" data-tooltip-direction="UP"><i
class="fas fa-plus" data-action="createEquipment"></i></a>{{/if}}
</legend>
<div class="equipments">
@@ -100,7 +100,7 @@
{{#each system.ammoArray as |ammo key|}}
<div class="ammo-item">
<input type="number" class="ammo-quantity" value="{{ammo.value}}" min="0" name="system.ammoList.{{key}}.value" />
<input type="text" class="ammo-quantity" value="{{ammo.value}}" min="0" name="system.ammoArray.{{key}}.value" />
<span class="ammo-name">{{upperFirst ammo.label}}</span>
</div>
{{/each}}

View File

@@ -6,23 +6,23 @@
<div class="counters">
<div class="flexcol">
<div>
<label>Trauma : </label>{{formInput systemFields.trauma.fields.current value=system.trauma.current}} /
<label>Trauma </label>{{formInput systemFields.trauma.fields.current value=system.trauma.current}} /
{{formInput systemFields.trauma.fields.max value=system.trauma.max}}
<label class="spaced-left"> Darkness : </label>{{formInput systemFields.darkness.fields.current value=system.darkness.current}} /
<label class="spaced-left"> Darkness </label>{{formInput systemFields.darkness.fields.current value=system.darkness.current}} /
{{formInput systemFields.darkness.fields.max value=system.darkness.max}}
{{formInput systemFields.darkness.fields.value value=system.darkness.value}}
<label class="spaced-left"> Defense : </label>{{formInput systemFields.defense.fields.base value=system.defense.base}}
<label class="spaced-left"> Defense </label>{{formInput systemFields.defense.fields.base value=system.defense.base}}
{{formInput systemFields.defense.fields.bonus value=system.defense.bonus }}
{{formInput systemFields.defense.fields.total value=system.defense.total}}
{{formInput systemFields.defense.fields.resistance value=system.defense.resistance}}
<label class="spaced-left"> Movement : </label>{{formInput systemFields.movement.fields.base value=system.movement.base}}
<label class="spaced-left"> Movement </label>{{formInput systemFields.movement.fields.base value=system.movement.base}}
{{formInput systemFields.movement.fields.reduce value=system.defense.reduce }}
</div>
<div class="flexrow characteristics-label">
<label>&nbsp;</label><span>Curr.</span><span>Max</span>
<label>&nbsp;</label><span>Curr.</span><span>Max</span><span>MaxDR</span>
<label>&nbsp;</label><span>Curr.</span><span>Max</span><span>Mal.DR</span>
<label>&nbsp;</label><span>Base</span><span>Armor</span><span>Total</span><span>Resi.</span>
<label>&nbsp;</label><span>Base</span><span>Redu.</span>
@@ -33,7 +33,7 @@
<fieldset>
<legend>{{localize "HELLBORN.Label.perks"}}{{#if isEditMode}}
<a class="action" data-tooltip="{{localize " HELLBORN.Tooltip.addPerk"}}" data-tooltip-direction="UP"><i
<a class="action" data-tooltip="{{localize "HELLBORN.Tooltip.addPerk"}}" data-tooltip-direction="UP"><i
class="fas fa-plus" data-action="createPerk"></i></a>{{/if}}
</legend>
<div class="perks">

View File

@@ -1,12 +1,13 @@
<div class="item-to-chat">
<div class="intro-chat">
<h2>{{name}}</h2>
<ul>
<li><strong>Malefica : {{name}}</strong></li>
<li>Domain : {{system.domain}}</li>
<li>Level : {{system.level}}</li>
<li>Time : {{system.time}}</li>
<li>Range : {{system.range}}</li>
<li>Target : {{system.target}}</li>
<li><strong>Domain : </strong>{{upperFirst system.domain}}</li>
<li><strong>Level : </strong>{{getRomanLevel system.level}}</li>
<li><strong>Time : </strong>{{system.time}}</li>
<li><strong>Range : </strong>{{system.range}}</li>
<li><strong>Target : </strong>{{system.target}}</li>
<li>{{{system.description}}}</li>
</ul>
</div>

View File

@@ -1,10 +1,10 @@
<div class="item-to-chat">
<div class="intro-chat">
<h2>{{name}}</h2>
<ul>
<li><strong>Perk : {{name}}</strong></li>
<li>{{system.flavorText}}</li>
<li>Role : {{system.role}}</li>
<li>Level : {{system.level}}</li>
<li><strong>{{system.flavorText}}</strong></li>
<li><strong>Role : </strong>{{upperFirst system.role}}</li>
<li><strong>Level : </strong>{{getRomanLevel system.level}}</li>
<li>{{{system.description}}}</li>
</ul>
</div>

View File

@@ -1,12 +1,12 @@
<div class="item-to-chat">
<div class="intro-chat">
<h2>{{name}}</h2>
<ul>
<li><strong>Ritual : {{name}}</strong></li>
<li>Difficulty : {{system.difficulty}}</li>
<li>Threshold : {{system.threshold}}</li>
<li>Limit : {{system.limit}}</li>
<li>Ingredients : {{system.ingredients}}</li>
<li>N. Attempts : {{system.nbAttempts}}</li>
<li><strong>Difficulty : </strong>{{system.difficulty}}</li>
<li><strong>Threshold : </strong>{{system.threshold}}</li>
<li><strong>Limit : </strong>{{system.limit}}</li>
<li><strong>Ingredients : </strong>{{system.ingredients}}</li>
<li><strong>N. Attempts : </strong>{{system.nbAttempts}}</li>
<li>{{{system.description}}}</li>
</ul>
</div>

View File

@@ -6,53 +6,94 @@
<div class="counters">
<div class="flexcol">
<div>
<label>Trauma : </label>{{formInput systemFields.trauma.fields.current value=system.trauma.current}}
<label>Trauma : </label>{{formInput systemFields.trauma.fields.current value=system.trauma.current}} /
{{formInput systemFields.trauma.fields.max value=system.trauma.max}}
<label class="spaced-left"> Darkness : </label>
<label class="spaced-left"> Darkness </label>
{{formInput systemFields.darkness.fields.current value=system.darkness.current}} /
{{formInput systemFields.darkness.fields.max value=system.darkness.max}}
{{formInput systemFields.darkness.fields.value value=system.darkness.value}}
<label class="spaced-left"> Defense : </label>{{formInput systemFields.defense.fields.base value=system.defense.base}}
<label class="spaced-left"> Movement : </label>{{formInput systemFields.movement.fields.base value=system.movement.base}}
<label class="spaced-left"> Defense </label>
{{formInput systemFields.defense.fields.base value=system.defense.base}}
{{formInput systemFields.defense.fields.resilience value=system.defense.resilience}}
<label class="spaced-left"> Movement </label>{{formInput systemFields.movement.fields.base value=system.movement.base}}
</div>
<div class="flexrow characteristics-label">
<label>&nbsp;</label><span>Curr.</span>
<label>&nbsp;</label><span>Curr.</span>
<label>&nbsp;</label><span>Base</span>
<label>&nbsp;</label><span>Base</span>
<label></label><span>Curr.</span><span>Max</span>
<label></label><span>&nbsp;&nbsp;&nbsp;Curr.</span><span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Max</span><span>&nbsp;&nbsp;Mal.DR</span>
<label></label><span>&nbsp;&nbsp;&nbsp;Total</span><span>&nbsp;&nbsp;&nbsp;Resi.</span>
<label></label>
<label></label>
<label></label>
<label></label>
</div>
</div>
</div>
</fieldset>
<fieldset>
<legend>{{localize "HELLBORN.Label.traits"}}{{#if isEditMode}}
<a class="action" data-tooltip="{{localize " HELLBORN.Tooltip.addPerk"}}" data-tooltip-direction="UP"><i
class="fas fa-plus" data-action="createPerk"></i></a>{{/if}}
</legend>
<div class="traits">
{{#each traits as |item|}}
<div class="trait item" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-drag="true">
<div class="enemy-column">
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
<!-- <img src="systems/fvtt-cthulhu-eternal/assets/ui/d100.svg" class="d100" />-->
<div class="name" data-roll-type="trait" data-action="toChat" data-item-uuid="{{item.uuid}}" data-tooltip="{{{item.system.description}}}">
<a>{{item.name}}</a>
</div>
<fieldset>
<legend>{{localize "HELLBORN.Label.traits"}}{{#if isEditMode}}
<a class="action" data-tooltip="{{localize "HELLBORN.Tooltip.addTrait"}}" data-tooltip-direction="UP"><i
class="fas fa-plus" data-action="createTrait"></i></a>{{/if}}
</legend>
<div class="traits">
{{#each traits as |item|}}
<div class="trait item" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-drag="true">
<div class="controls">
<a data-tooltip="{{localize 'HELLBORN.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a>
<a data-tooltip="{{localize 'HELLBORN.Delete'}}" data-action="delete" data-item-id="{{item.id}}"
data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
<!-- <img src="systems/fvtt-cthulhu-eternal/assets/ui/d100.svg" class="d100" />-->
<div class="name" data-roll-type="trait" data-action="toChat" data-item-uuid="{{item.uuid}}" data-tooltip="{{{item.system.description}}}">
<a>{{item.name}}</a>
</div>
<div class="controls">
<a data-tooltip="{{localize 'HELLBORN.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a>
<a data-tooltip="{{localize 'HELLBORN.Delete'}}" data-action="delete" data-item-id="{{item.id}}"
data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
</div>
</div>
{{/each}}
</div>
{{/each}}
</div>
</fieldset>
</fieldset>
<fieldset>
<legend>{{localize "HELLBORN.Label.maleficas"}}{{#if isEditMode}}
<a class="action" data-tooltip="{{localize "HELLBORN.Tooltip.addMalefica"}}" data-tooltip-direction="UP"><i
class="fas fa-plus" data-action="createMalefica"></i></a>{{/if}}
</legend>
<div class="maleficas">
{{#each maleficas as |item|}}
<div class="malefica item" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-drag="true">
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
<!-- <img src="systems/fvtt-cthulhu-eternal/assets/ui/d100.svg" class="d100" />-->
<div class="name" data-roll-type="malefica" data-action="toChat" data-item-uuid="{{item.uuid}}" data-tooltip="{{{item.system.description}}}">
<a>{{item.name}}</a>
</div>
<span class="domain" data-tooltip="Domain">{{upperFirst item.system.domain}}</span>
<span class="level" data-tooltip="Level">{{getRomanLevel item.system.level}}</span>
<div class="controls">
<a data-tooltip="{{localize 'HELLBORN.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a>
<a data-tooltip="{{localize 'HELLBORN.Delete'}}" data-action="delete" data-item-id="{{item.id}}"
data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
</div>
</div>
{{/each}}
</div>
</fieldset>
</div>
<fieldset>
<legend>{{localize "HELLBORN.Label.weapons"}}{{#if isEditMode}}
<a class="action" data-tooltip="{{localize " HELLBORN.Tooltip.addWeapon"}}" data-tooltip-direction="UP"><i
<a class="action" data-tooltip="{{localize "HELLBORN.Tooltip.addWeapon"}}" data-tooltip-direction="UP"><i
class="fas fa-plus" data-action="createWeapon"></i></a>{{/if}}
</legend>
<div class="weapons">
@@ -83,5 +124,29 @@
</div>
</fieldset>
<fieldset>
<legend>{{localize "HELLBORN.Label.equipments"}}{{#if isEditMode}}
<a class="action" data-tooltip="{{localize "HELLBORN.Tooltip.addEquipment"}}" data-tooltip-direction="UP"><i
class="fas fa-plus" data-action="createEquipment"></i></a>{{/if}}
</legend>
<div class="equipments">
{{#each equipments as |item|}}
{{!log 'armor' this}}
<div class="equipment" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}">
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
<div class="name" data-tooltip="{{{item.system.description}}}">
{{item.name}}
</div>
<div class="controls">
<a data-tooltip="{{localize 'HELLBORN.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a>
<a data-tooltip="{{localize 'HELLBORN.Delete'}}" data-action="delete" data-item-id="{{item.id}}"
data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
</div>
</div>
{{/each}}
</div>
</fieldset>
</div>
</section>