PC sheet review + dialog rolls update
All checks were successful
Release Creation / build (release) Successful in 1m3s

This commit is contained in:
2025-05-25 14:35:18 +02:00
parent 585b9a1ab5
commit ff180ddd2e
25 changed files with 287 additions and 237 deletions

View File

@@ -9,7 +9,7 @@
:root {
--font-size-standard: 0.9rem;
--font-size-result: 1.4rem;
--background-image-base: linear-gradient(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.8)), url("../assets/ui/sheet_background_01.webp");
--background-image-base: url("../assets/ui/sheet_background_01.webp");
--font-primary: "MinionProRegular";
--font-secondary: "MinionProRegular";
--font-title: "SupernaturalKnight";
@@ -159,7 +159,7 @@ i.fvtt-hellborn {
background-color: var(--color-light-1);
}
.fvtt-hellborn .character-main {
background-color: var(--color-light-1);
/*background-color: var(--color-light-1);*/
display: flex;
}
.fvtt-hellborn .character-main .character-pc {
@@ -213,17 +213,24 @@ i.fvtt-hellborn {
align-items: center;
margin-bottom: 4px;
}
.fvtt-hellborn .character-main .character-pc .character-right .character-definition .splitted {
display: flex;
flex-direction: row;
gap: 4px;
}
.fvtt-hellborn .character-main .character-pc .character-right .character-definition label {
max-width: 4rem;
max-width: 5rem;
min-width: 5rem;
}
.fvtt-hellborn .character-main .character-pc .character-right .character-definition input {
min-width: 16rem;
max-width: 16rem;
text-align: left;
min-width: 9rem;
max-width: 9rem;
margin-bottom: auto;
}
.fvtt-hellborn .character-main .character-pc .character-right .character-definition .trait {
min-width: 13rem;
max-width: 13rem;
min-width: 7rem;
max-width: 7rem;
margin-right: 1rem;
margin-bottom: auto;
}
@@ -245,7 +252,7 @@ i.fvtt-hellborn {
min-width: 500px;
}
.fvtt-hellborn .character-main .character-stats {
background-color: var(--color-light-1);
/*background-color: var(--color-light-1);*/
display: flex;
flex-direction: column;
gap: 5px;
@@ -280,7 +287,7 @@ i.fvtt-hellborn {
min-width: 120px;
}
.fvtt-hellborn .tab.character-status .main-div {
background-color: var(--color-light-1);
/*background-color: var(--color-light-1);*/
display: grid;
grid-template-columns: 1fr;
}
@@ -307,6 +314,14 @@ i.fvtt-hellborn {
gap: 4px;
margin-left: 4px;
}
.fvtt-hellborn .tab.character-status .main-div .counters .characteristics-label {
color: grey;
font-size: small;
}
.fvtt-hellborn .tab.character-status .main-div .counters label {
min-width: 4rem;
max-width: 4rem;
}
.fvtt-hellborn .tab.character-status .main-div .counters input {
min-width: 2.5rem;
max-width: 2.5rem;
@@ -378,7 +393,7 @@ i.fvtt-hellborn {
margin: 4px 0 0 0;
}
.fvtt-hellborn .tab.character-maleficas .main-div {
background-color: var(--color-light-1);
/*background-color: var(--color-light-1);*/
display: grid;
grid-template-columns: 1fr;
}
@@ -463,7 +478,7 @@ i.fvtt-hellborn {
margin: 4px 0 0 0;
}
.fvtt-hellborn .tab.character-equipment .main-div {
background-color: var(--color-light-1);
/*background-color: var(--color-light-1);*/
display: grid;
grid-template-columns: 1fr;
}
@@ -475,6 +490,14 @@ i.fvtt-hellborn {
display: flex;
flex-direction: row;
}
.fvtt-hellborn .tab.character-equipment .main-div .limboes .limboes-layout {
display: flex;
flex-direction: column;
}
.fvtt-hellborn .tab.character-equipment .main-div .limboes .limboes-line {
display: flex;
flex-direction: row;
}
.fvtt-hellborn .tab.character-equipment .main-div .limboes .form-group {
display: flex;
flex-direction: row;
@@ -485,8 +508,9 @@ i.fvtt-hellborn {
max-width: 14rem;
}
.fvtt-hellborn .tab.character-equipment .main-div .limboes input {
min-width: 8rem;
max-width: 8rem;
text-align: left;
min-width: 6rem;
max-width: 6rem;
}
.fvtt-hellborn .tab.character-equipment .main-div .weapons {
display: grid;
@@ -607,7 +631,7 @@ i.fvtt-hellborn {
min-height: 150px;
}
.fvtt-hellborn .tab.character-biography .main-div {
background-color: var(--color-light-1);
/*background-color: var(--color-light-1);*/
display: grid;
grid-template-columns: 1fr;
}
@@ -680,11 +704,8 @@ i.fvtt-hellborn {
min-width: 6rem;
max-width: 6rem;
}
.fvtt-hellborn .tab.character-biography .main-div .biodata input .tarot {
min-width: 8rem;
max-width: 8rem;
}
.fvtt-hellborn .tab.character-biography .main-div .biodata input {
text-align: left;
min-width: 8rem;
max-width: 8rem;
}
@@ -1711,7 +1732,6 @@ i.fvtt-hellborn {
margin-left: 2rem;
}
.fvtt-hellborn .weapon-content .header {
background-color: var(--color-light-1);
display: flex;
}
.fvtt-hellborn .weapon-content .header img {
@@ -1720,7 +1740,6 @@ i.fvtt-hellborn {
}
.fvtt-hellborn .weapon-content fieldset {
margin-top: 8px;
background-color: var(--color-light-1);
}
.fvtt-hellborn .weapon-content fieldset .form-group {
display: flex;
@@ -1808,7 +1827,6 @@ i.fvtt-hellborn {
}
.fvtt-hellborn .equipment-content fieldset {
margin-top: 8px;
background-color: var(--color-light-1);
}
.fvtt-hellborn .equipment-content fieldset .form-group {
display: flex;
@@ -1823,7 +1841,6 @@ i.fvtt-hellborn {
max-width: 12rem;
}
.fvtt-hellborn .equipment-content .header {
background-color: var(--color-light-1);
display: flex;
}
.fvtt-hellborn .equipment-content .header img {
@@ -1907,7 +1924,6 @@ i.fvtt-hellborn {
}
.fvtt-hellborn .armor-content fieldset {
margin-top: 8px;
background-color: var(--color-light-1);
}
.fvtt-hellborn .armor-content fieldset .form-group {
display: flex;
@@ -1990,7 +2006,6 @@ i.fvtt-hellborn {
}
.fvtt-hellborn .deal-content fieldset {
margin-top: 8px;
background-color: var(--color-light-1);
}
.fvtt-hellborn .deal-content fieldset .form-group {
display: flex;
@@ -2010,7 +2025,6 @@ i.fvtt-hellborn {
max-width: 12rem;
}
.fvtt-hellborn .deal-content .header {
background-color: var(--color-light-1);
display: flex;
}
.fvtt-hellborn .deal-content .header img {
@@ -2086,7 +2100,6 @@ i.fvtt-hellborn {
}
.fvtt-hellborn .tarot-content fieldset {
margin-top: 8px;
background-color: var(--color-light-1);
}
.fvtt-hellborn .tarot-content fieldset .form-group {
display: flex;
@@ -2106,7 +2119,6 @@ i.fvtt-hellborn {
max-width: 12rem;
}
.fvtt-hellborn .tarot-content .header {
background-color: var(--color-light-1);
display: flex;
}
.fvtt-hellborn .tarot-content .header img {
@@ -2182,7 +2194,6 @@ i.fvtt-hellborn {
}
.fvtt-hellborn .ritual-content fieldset {
margin-top: 8px;
background-color: var(--color-light-1);
}
.fvtt-hellborn .ritual-content fieldset .form-group {
display: flex;
@@ -2202,7 +2213,6 @@ i.fvtt-hellborn {
max-width: 12rem;
}
.fvtt-hellborn .ritual-content .header {
background-color: var(--color-light-1);
display: flex;
}
.fvtt-hellborn .ritual-content .header img {
@@ -2278,7 +2288,6 @@ i.fvtt-hellborn {
}
.fvtt-hellborn .perk-content fieldset {
margin-top: 8px;
background-color: var(--color-light-1);
}
.fvtt-hellborn .perk-content fieldset .form-group {
display: flex;
@@ -2298,7 +2307,6 @@ i.fvtt-hellborn {
max-width: 12rem;
}
.fvtt-hellborn .perk-content .header {
background-color: var(--color-light-1);
display: flex;
}
.fvtt-hellborn .perk-content .header img {
@@ -2374,7 +2382,6 @@ i.fvtt-hellborn {
}
.fvtt-hellborn .malefica-content fieldset {
margin-top: 8px;
background-color: var(--color-light-1);
}
.fvtt-hellborn .malefica-content fieldset .form-group {
display: flex;
@@ -2393,7 +2400,6 @@ i.fvtt-hellborn {
max-width: 12rem;
}
.fvtt-hellborn .malefica-content .header {
background-color: var(--color-light-1);
display: flex;
}
.fvtt-hellborn .malefica-content .header img {
@@ -2469,7 +2475,6 @@ i.fvtt-hellborn {
}
.fvtt-hellborn .species-trait-content fieldset {
margin-top: 8px;
background-color: var(--color-light-1);
}
.fvtt-hellborn .species-trait-content fieldset .form-group {
display: flex;
@@ -2489,7 +2494,6 @@ i.fvtt-hellborn {
max-width: 12rem;
}
.fvtt-hellborn .species-trait-content .header {
background-color: var(--color-light-1);
display: flex;
}
.fvtt-hellborn .species-trait-content .header img {
@@ -2518,6 +2522,7 @@ i.fvtt-hellborn {
}
.application.dialog.fvtt-hellborn input,
.application.dialog.fvtt-hellborn select {
text-align: left;
background-color: rgba(0, 0, 0, 0.1);
border-color: var(--color-dark-6);
color: var(--color-dark-2);

View File

@@ -327,6 +327,7 @@
}
},
"Label": {
"titleStat": "Stat Roll Dialog",
"difficulty": "Difficulty",
"unknown": "Unknown",
"statRoll": "Stat Roll",

View File

@@ -32,7 +32,9 @@ export default class HellbornActorSheet extends HandlebarsApplicationMixin(found
editImage: HellbornActorSheet.#onEditImage,
toggleSheet: HellbornActorSheet.#onToggleSheet,
edit: HellbornActorSheet.#onItemEdit,
delete: HellbornActorSheet.#onItemDelete
delete: HellbornActorSheet.#onItemDelete,
updateCheckboxArray: HellbornActorSheet.#onUpdateCheckboxArray,
},
}
@@ -184,6 +186,18 @@ export default class HellbornActorSheet extends HandlebarsApplicationMixin(found
return fp.browse()
}
static #onUpdateCheckboxArray(event, target) {
console.log("Update checkbox array", event, target)
let arrayName = target.dataset.name
let arrayIdx = Number(target.dataset.index)
let dataPath = `system.mortality.${arrayName}`
let tab = foundry.utils.duplicate(this.document.system.mortality[arrayName])
tab[arrayIdx] = target.checked
this.actor.update( { [dataPath]: tab } )
// Dump
console.log("Array name", arrayName, arrayIdx, target.checked, dataPath)
}
/**
* Edit an existing item within the Actor
* Start with the uuid, if it's not found, fallback to the id (as Embedded item in the actor)

View File

@@ -90,6 +90,14 @@ export const WEAPON_TYPES = {
"ranged": { id: "ranged", label: "Ranged" },
}
export const AMMO_TYPES = {
"blessed": { id: "blessed", label: "Blessed" },
"hollow-points": { id: "hollow-points", label: "Hollow Points" },
"incendiary": { id: "incendiary", label: "Incendiary" },
"poisoned": { id: "poisoned", label: "Poisoned" },
"rubber": { id: "rubber", label: "Rubber" },
"tesla": { id: "tesla", label: "Tesla" },
}
/**
* Include all constant definitions within the SYSTEM global export
@@ -104,6 +112,7 @@ export const SYSTEM = {
MALEFICA_LEVELS,
MALEFICA_DOMAINS,
WEAPON_TYPES,
AMMO_TYPES,
DIFFICULTY_CHOICES,
CHOICE_ADVANTAGES_DISADVANTAGES,
ASCII

View File

@@ -135,11 +135,10 @@ export default class HellbornRoll extends Roll {
fullFormula: formula,
rollModes,
fieldRollMode,
difficultyChoices: SYSTEM.DIFFICULTY_CHOICES,
choiceAdvantages: SYSTEM.CHOICE_ADVANTAGES_DISADVANTAGES,
choiceDisadvantages: SYSTEM.CHOICE_ADVANTAGES_DISADVANTAGES,
hasTarget: options.hasTarget,
difficulty: "unknown",
difficulty: "0",
nbAdvantages: "0",
nbDisadvantages: "0",
}

View File

@@ -58,8 +58,18 @@ export default class HellbornActor extends foundry.abstract.TypeDataModel {
schema.limboes = new fields.StringField({ required: true, nullable: false, initial: "" })
schema.ammo = new fields.StringField({ required: true, nullable: false, initial: "" })
schema.ammoList = new fields.SchemaField(
Object.values(SYSTEM.AMMO_TYPES).reduce((obj, stat) => {
obj[stat.id] = new fields.StringField({ required: true, nullable: false, initial: "" })
return obj
}, {}),
)
schema.mortality = new fields.SchemaField({
/* Enabled: Array of 5 boolean field */
enabled: new fields.ArrayField(new fields.BooleanField(),
{ required: true, initial: [false, false, false, false, false], min:5, max:5 }),
current: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
max: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
})

View File

@@ -193,21 +193,4 @@ export default class HellbornUtils {
});
}
static setupCSSRootVariables() {
const era = game.settings.get("fvtt-cthulhu-eternal", "settings-era")
let eraCSS = SYSTEM.ERA_CSS[era];
if (!eraCSS) eraCSS = SYSTEM.ERA_CSS["jazz"];
document.documentElement.style.setProperty('--font-size-standard', eraCSS.baseFontSize);
document.documentElement.style.setProperty('--font-size-title', eraCSS.titleFontSize);
document.documentElement.style.setProperty('--font-size-result', eraCSS.titleFontSize);
document.documentElement.style.setProperty('--font-primary', eraCSS.primaryFont);
document.documentElement.style.setProperty('--font-secondary', eraCSS.secondaryFont);
document.documentElement.style.setProperty('--font-title', eraCSS.titleFont);
document.documentElement.style.setProperty('--img-icon-color-filter', eraCSS.imgFilter);
document.documentElement.style.setProperty('--background-image-base', `linear-gradient(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.8)), url("../assets/ui/${era}_background_main.webp")`);
}
}

View File

@@ -13,7 +13,6 @@
fieldset {
margin-top: 8px;
background-color: var(--color-light-1);
.form-group {
display: flex;
align-items: center;

View File

@@ -9,7 +9,7 @@
}
.character-main {
background-color: var(--color-light-1);
/*background-color: var(--color-light-1);*/
display: flex;
.character-pc {
@@ -70,17 +70,24 @@
align-items: center;
margin-bottom: 4px;
}
.splitted {
display: flex;
flex-direction: row;
gap: 4px;
}
label {
max-width: 4rem;
max-width: 5rem;
min-width: 5rem;
}
input {
min-width: 16rem;
max-width: 16rem;
text-align: left;
min-width: 9rem;
max-width: 9rem;
margin-bottom: auto;
}
.trait {
min-width: 13rem;
max-width: 13rem;
min-width: 7rem;
max-width: 7rem;
margin-right: 1rem;
margin-bottom: auto;
}
@@ -108,7 +115,7 @@
}
.character-stats {
background-color: var(--color-light-1);
/*background-color: var(--color-light-1);*/
display: flex;
flex-direction: column;
gap: 5px;
@@ -148,7 +155,7 @@
}
.tab.character-status .main-div {
background-color: var(--color-light-1);
/*background-color: var(--color-light-1);*/
display: grid;
grid-template-columns: 1fr;
legend {
@@ -176,6 +183,14 @@
align-items: center;
gap: 4px;
margin-left: 4px;
.characteristics-label{
color: grey;
font-size:small;
}
label {
min-width: 4rem;
max-width: 4rem;
}
input {
min-width: 2.5rem;
max-width: 2.5rem;
@@ -250,7 +265,7 @@
}
.tab.character-maleficas .main-div {
background-color: var(--color-light-1);
/*background-color: var(--color-light-1);*/
display: grid;
grid-template-columns: 1fr;
legend {
@@ -340,7 +355,7 @@
}
.tab.character-equipment .main-div {
background-color: var(--color-light-1);
/*background-color: var(--color-light-1);*/
display: grid;
grid-template-columns: 1fr;
legend {
@@ -353,6 +368,14 @@
.limboes {
display: flex;
flex-direction: row;
.limboes-layout {
display: flex;
flex-direction: column;
}
.limboes-line {
display: flex;
flex-direction: row;
}
.form-group {
display: flex;
flex-direction: row;
@@ -363,8 +386,9 @@
max-width: 14rem;
}
input {
min-width: 8rem;
max-width: 8rem;
text-align: left;
min-width: 6rem;
max-width: 6rem;
}
}
@@ -492,7 +516,7 @@
}
.tab.character-biography .main-div {
background-color: var(--color-light-1);
/*background-color: var(--color-light-1);*/
display: grid;
grid-template-columns: 1fr;
legend {
@@ -565,11 +589,8 @@
min-width: 14rem;
max-width: 14rem;
}
input .tarot {
min-width: 8rem;
max-width: 8rem;
}
input {
text-align: left;
min-width: 8rem;
max-width: 8rem;
}

View File

@@ -4,7 +4,6 @@
fieldset {
margin-top: 8px;
background-color: var(--color-light-1);
.form-group {
display: flex;
align-items: center;
@@ -25,7 +24,6 @@
}
.header {
background-color: var(--color-light-1);
display: flex;
img {
width: 50px;

View File

@@ -4,7 +4,6 @@
fieldset {
margin-top: 8px;
background-color: var(--color-light-1);
.form-group {
display: flex;
align-items: center;
@@ -22,7 +21,6 @@
}
.header {
background-color: var(--color-light-1);
display: flex;
img {
width: 50px;

View File

@@ -1,8 +1,7 @@
:root {
--font-size-standard: 0.9rem;
--font-size-result: 1.4rem;
--background-image-base: linear-gradient(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.8)),
url("../assets/ui/sheet_background_01.webp");
--background-image-base: url("../assets/ui/sheet_background_01.webp");
--font-primary: "MinionProRegular";
--font-secondary: "MinionProRegular";
--font-title: "SupernaturalKnight";

View File

@@ -4,7 +4,6 @@
fieldset {
margin-top: 8px;
background-color: var(--color-light-1);
.form-group {
display: flex;
align-items: center;
@@ -26,7 +25,6 @@
}
.header {
background-color: var(--color-light-1);
display: flex;
img {
width: 50px;

View File

@@ -4,7 +4,6 @@
fieldset {
margin-top: 8px;
background-color: var(--color-light-1);
.form-group {
display: flex;
align-items: center;
@@ -27,7 +26,6 @@
}
.header {
background-color: var(--color-light-1);
display: flex;
img {
width: 50px;

View File

@@ -4,7 +4,6 @@
fieldset {
margin-top: 8px;
background-color: var(--color-light-1);
.form-group {
display: flex;
align-items: center;
@@ -25,7 +24,6 @@
}
.header {
background-color: var(--color-light-1);
display: flex;
img {
width: 50px;

View File

@@ -10,6 +10,7 @@
input,
select {
text-align: left;
background-color: rgba(0, 0, 0, 0.1);
border-color: var(--color-dark-6);
color: var(--color-dark-2);

View File

@@ -4,7 +4,6 @@
fieldset {
margin-top: 8px;
background-color: var(--color-light-1);
.form-group {
display: flex;
align-items: center;
@@ -25,7 +24,6 @@
}
.header {
background-color: var(--color-light-1);
display: flex;
img {
width: 50px;

View File

@@ -4,7 +4,6 @@
fieldset {
margin-top: 8px;
background-color: var(--color-light-1);
.form-group {
display: flex;
align-items: center;
@@ -25,7 +24,6 @@
}
.header {
background-color: var(--color-light-1);
display: flex;
img {
width: 50px;

View File

@@ -3,7 +3,6 @@
.item-sheet-common();
.header {
background-color: var(--color-light-1);
display: flex;
img {
width: 50px;
@@ -13,7 +12,6 @@
fieldset {
margin-top: 8px;
background-color: var(--color-light-1);
.form-group {
display: flex;
align-items: center;

View File

@@ -41,18 +41,7 @@
{{formField systemFields.biodata.fields.birthplace value=system.biodata.birthplace rootId=partId
disabled=isPlayMode}}
</div>
<div class="experience">
<div class="form-group">
<label>{{localize "HELLBORN.Label.tarot"}}</label>
<input class="tarot" type="text" value="{{tarot.name}}" disabled >
<div class="controls">
<a data-tooltip="{{localize 'HELLBORN.Edit'}}" data-action="edit" data-item-id="{{tarot.id}}"
data-item-uuid="{{tarot.uuid}}"><i class="fas fa-edit"></i></a>
<a data-tooltip="{{localize 'HELLBORN.Delete'}}" data-action="delete" data-item-id="{{tarot.id}}"
data-item-uuid="{{tarot.uuid}}"><i class="fas fa-trash"></i></a>
</div>
</div>
</div>
</fieldset>
<fieldset>

View File

@@ -1,95 +1,107 @@
<section class="tab character-{{tab.id}} {{tab.cssClass}}" data-tab="{{tab.id}}" data-group="{{tab.group}}">
<div class="main-div">
<fieldset>
<legend>{{localize "HELLBORN.Label.weapons"}}{{#if isEditMode}}
<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">
{{#each weapons as |item|}}
<div class="weapon item" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-drag="true">
<fieldset>
<legend>{{localize "HELLBORN.Label.weapons"}}{{#if isEditMode}}
<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">
{{#each weapons as |item|}}
<div class="weapon 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}}" />
<i class="fa-regular fa-dice"></i>
<div class="name rollable" data-roll-type="weapon" data-tooltip="{{{item.system.description}}}">
{{item.name}}
</div>
<span class="type" data-tooltip="Type">{{upperFirst item.system.weaponType}}</span>
<span class="properties" data-tooltip="Properties">{{upperFirst item.system.properties}}</span>
<a class="damage rollable" data-tooltip="Damage" data-item-id="{{item.id}}" data-action="roll" data-roll-type="damage"
data-roll-value="{{item.system.damage}}">
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
<i class="fa-regular fa-dice"></i>
{{item.system.damage}}</a>
<div class="name rollable" data-roll-type="weapon" data-tooltip="{{{item.system.description}}}">
{{item.name}}
</div>
<span class="type" data-tooltip="Type">{{upperFirst item.system.weaponType}}</span>
<span class="properties" data-tooltip="Properties">{{upperFirst item.system.properties}}</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>
<a class="damage rollable" data-tooltip="Damage" data-item-id="{{item.id}}" data-action="roll"
data-roll-type="damage" data-roll-value="{{item.system.damage}}">
<i class="fa-regular fa-dice"></i>
{{item.system.damage}}</a>
<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>
<fieldset>
<legend>{{localize "HELLBORN.Label.armors"}}{{#if isEditMode}}
<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">
{{#each armors as |item|}}
<div class="armor item" 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>
<span class="bonus" data-tooltip="Bonus">{{item.system.bonus}}</span>
<span class="resilience" data-tooltip="Resilience">{{item.system.resilience}}</span>
<span class="reduction" data-tooltip="Reduction">{{item.system.reduction}}</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>
<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>
<fieldset class="limboes">
<legend>Limboes and Ammo</legend>
<div class="limboes-layout">
<div class="limboes-line">
{{formField systemFields.limboes value=system.limboes rootId=partId disabled=isPlayMode}}
{{formField systemFields.ammo value=system.ammo rootId=partId disabled=isPlayMode}}
</div>
<div class="limboes-line">
{{#each system.ammoList as |ammo key|}}
<div class="ammo-item">
<span class="ammo-name">{{upperFirst key}}</span>
<input type="number" class="ammo-quantity" value="{{ammo}}" min="0" name="system.ammoList.{{key}}" />
</div>
{{/each}}
</div>
</div>
{{/each}}
</div>
</fieldset>
</fieldset>
<fieldset>
<legend>{{localize "HELLBORN.Label.armors"}}{{#if isEditMode}}
<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">
{{#each armors as |item|}}
<div class="armor item" 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>
<span class="bonus" data-tooltip="Bonus">{{item.system.bonus}}</span>
<span class="resilience" data-tooltip="Resilience">{{item.system.resilience}}</span>
<span class="reduction" data-tooltip="Reduction">{{item.system.reduction}}</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>
<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>
<fieldset class="limboes">
<legend>Limbos & Ammo</legend>
{{formField systemFields.limboes value=system.limboes rootId=partId disabled=isPlayMode}}
{{formField systemFields.ammo value=system.ammo rootId=partId disabled=isPlayMode}}
</fieldset>
</div>
</div>
</section>

View File

@@ -19,43 +19,52 @@
</div>
<fieldset class="character-definition">
<div class="flexcol">
{{formField systemFields.pronouns value=system.pronouns rootId=partId disabled=isPlayMode}}
</div>
<div class="flexcol">
{{formField systemFields.species value=system.species rootId=partId disabled=isPlayMode}}
</div>
<div class="flexrow">
<div class="form-group">
<label>Trait</label>
<input class="trait" type="text" value="{{trait.name}}" disabled >
<div class="controls">
<a data-tooltip="{{localize 'HELLBORN.Edit'}}" data-action="edit" data-item-id="{{trait.id}}"
data-item-uuid="{{trait.uuid}}"><i class="fas fa-edit"></i></a>
<a data-tooltip="{{localize 'HELLBORN.Delete'}}" data-action="delete" data-item-id="{{trait.id}}"
data-item-uuid="{{trait.uuid}}"><i class="fas fa-trash"></i></a>
<div class="splitted">
<div>
<div class="flexcol">
{{formField systemFields.pronouns value=system.pronouns rootId=partId disabled=isPlayMode}}
</div>
<div class="flexcol">
{{formField systemFields.species value=system.species rootId=partId disabled=isPlayMode}}
</div>
<div class="flexrow">
<div class="form-group">
<label>Trait</label>
<input class="trait" type="text" value="{{trait.name}}" disabled >
<div class="controls">
<a data-tooltip="{{localize 'HELLBORN.Edit'}}" data-action="edit" data-item-id="{{trait.id}}"
data-item-uuid="{{trait.uuid}}"><i class="fas fa-edit"></i></a>
<a data-tooltip="{{localize 'HELLBORN.Delete'}}" data-action="delete" data-item-id="{{trait.id}}"
data-item-uuid="{{trait.uuid}}"><i class="fas fa-trash"></i></a>
</div>
</div>
</div>
</div>
<div class="flexrow">
<div class="form-group">
<label>Upright</label>
<input class="trait" type="text" value="{{upright.name}}" disabled >
<div class="controls">
<a data-tooltip="{{localize 'HELLBORN.Edit'}}" data-action="edit" data-item-id="{{upright.id}}"
data-item-uuid="{{upright.uuid}}"><i class="fas fa-edit"></i></a>
<a data-tooltip="{{localize 'HELLBORN.Delete'}}" data-action="delete" data-item-id="{{upright.id}}"
data-item-uuid="{{upright.uuid}}"><i class="fas fa-trash"></i></a>
<div>
<div class="flexrow">
<div class="form-group">
<label>Upright</label>
<input class="trait" type="text" value="{{upright.name}}" disabled >
<div class="controls">
<a data-tooltip="{{localize 'HELLBORN.Edit'}}" data-action="edit" data-item-id="{{upright.id}}"
data-item-uuid="{{upright.uuid}}"><i class="fas fa-edit"></i></a>
<a data-tooltip="{{localize 'HELLBORN.Delete'}}" data-action="delete" data-item-id="{{upright.id}}"
data-item-uuid="{{upright.uuid}}"><i class="fas fa-trash"></i></a>
</div>
</div>
</div>
</div>
<div class="flexrow">
<div class="form-group">
<label>Downright</label>
<input class="trait" type="text" value="{{downright.name}}" disabled >
<div class="controls">
<a data-tooltip="{{localize 'HELLBORN.Edit'}}" data-action="edit" data-item-id="{{downright.id}}"
data-item-uuid="{{downright.uuid}}"><i class="fas fa-edit"></i></a>
<a data-tooltip="{{localize 'HELLBORN.Delete'}}" data-action="delete" data-item-id="{{downright.id}}"
data-item-uuid="{{downright.uuid}}"><i class="fas fa-trash"></i></a>
<div class="flexrow">
<div class="form-group">
<label>Reversed</label>
<input class="trait" type="text" value="{{downright.name}}" disabled >
<div class="controls">
<a data-tooltip="{{localize 'HELLBORN.Edit'}}" data-action="edit" data-item-id="{{downright.id}}"
data-item-uuid="{{downright.uuid}}"><i class="fas fa-edit"></i></a>
<a data-tooltip="{{localize 'HELLBORN.Delete'}}" data-action="delete" data-item-id="{{downright.id}}"
data-item-uuid="{{downright.uuid}}"><i class="fas fa-trash"></i></a>
</div>
</div>
</div>
</div>
</div>

View File

@@ -4,17 +4,30 @@
<fieldset>
<legend>{{localize "HELLBORN.Label.characteristics"}}</legend>
<div class="counters">
<label>Trauma : </label>{{formInput systemFields.trauma.fields.current value=system.trauma.current}} /
{{formInput systemFields.trauma.fields.max value=system.trauma.max}}
<label> 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> 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> Movement : </label>{{formInput systemFields.movement.fields.base value=system.movement.base}}
{{formInput systemFields.movement.fields.reduce value=system.defense.reduce }}
<div class="flexcol">
<div>
<label>Trauma : </label>{{formInput systemFields.trauma.fields.current value=system.trauma.current}} /
{{formInput systemFields.trauma.fields.max value=system.trauma.max}}
<label> 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> 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> 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>Base</span><span>Armor</span><span>Total</span><span>Resi.</span>
<label>&nbsp;</label><span>Base</span><span>Redu.</span>
</div>
</div>
</div>
</fieldset>
@@ -51,7 +64,10 @@
<legend>{{localize "HELLBORN.Label.ailments"}}</legend>
<div class="mortality">
<label>Mortality :</label>
{{formInput systemFields.mortality.fields.current value=system.mortality.current rootId=partId disabled=isPlayMode classes="mortality"}}
{{#each system.mortality.enabled as |mortality idx|}}
<input class="mortality-checkbox" type="checkbox" data-action="updateCheckboxArray" data-index="{{@index}}"
data-name="enabled" {{#if mortality}} checked {{/if}}>
{{/each}}
</div>
<div class="ailments">

View File

@@ -14,6 +14,7 @@
{{#if weapon}}
<li><strong>Weapon : {{weapon.name}}</strong></li>
<li><strong>Properties : {{weapon.system.properties}}</strong></li>
{{/if}}
<li><strong>{{localize rollItem.label}} : {{rollItem.value}}</strong></li>

View File

@@ -28,9 +28,7 @@
<fieldSet class="dialog-formula">
<legend>Difficulty</legend>
<select name="difficulty" class="roll-difficulty">
{{selectOptions difficultyChoices selected=difficulty localize=true}}
</select>
<input name="difficulty" class="roll-difficulty" type="number" value="{{difficulty}}">
</fieldSet>
<fieldSet class="dialog-formula">