Various enhancements + fixes
This commit is contained in:
+41
-20
@@ -490,6 +490,16 @@ i.lethalfantasy {
|
|||||||
font-size: calc(var(--font-size-standard) * 1.4);
|
font-size: calc(var(--font-size-standard) * 1.4);
|
||||||
padding-left: 5px;
|
padding-left: 5px;
|
||||||
}
|
}
|
||||||
|
.lethalfantasy .tab.character-weapons .combat-details {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(2, 1fr);
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
.lethalfantasy .tab.character-weapons .combat-details .combat-detail {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
.lethalfantasy .tab.character-weapons .weapons {
|
.lethalfantasy .tab.character-weapons .weapons {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(2, 1fr);
|
grid-template-columns: repeat(2, 1fr);
|
||||||
@@ -576,32 +586,43 @@ i.lethalfantasy {
|
|||||||
.lethalfantasy .tab.character-spells .spells .spell .name {
|
.lethalfantasy .tab.character-spells .spells .spell .name {
|
||||||
min-width: 12rem;
|
min-width: 12rem;
|
||||||
}
|
}
|
||||||
.lethalfantasy .tab.character-spells .miracles {
|
|
||||||
display: grid;
|
|
||||||
grid-template-columns: repeat(3, 1fr);
|
|
||||||
gap: 10px;
|
|
||||||
}
|
|
||||||
.lethalfantasy .tab.character-spells .miracles .miracle {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
gap: 10px;
|
|
||||||
}
|
|
||||||
.lethalfantasy .tab.character-spells .miracles .miracle .item-img {
|
|
||||||
width: 32px;
|
|
||||||
height: 32px;
|
|
||||||
}
|
|
||||||
.lethalfantasy .tab.character-spells .miracles .miracle .name {
|
|
||||||
min-width: 12rem;
|
|
||||||
}
|
|
||||||
.lethalfantasy .tab.character-spells .appris {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
.lethalfantasy .tab.character-spells prose-mirror.inactive {
|
.lethalfantasy .tab.character-spells prose-mirror.inactive {
|
||||||
min-height: 40px;
|
min-height: 40px;
|
||||||
}
|
}
|
||||||
.lethalfantasy .tab.character-spells prose-mirror.active {
|
.lethalfantasy .tab.character-spells prose-mirror.active {
|
||||||
min-height: 150px;
|
min-height: 150px;
|
||||||
}
|
}
|
||||||
|
.lethalfantasy .tab.character-miracles {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
}
|
||||||
|
.lethalfantasy .tab.character-miracles legend a {
|
||||||
|
font-size: calc(var(--font-size-standard) * 1.4);
|
||||||
|
padding-left: 5px;
|
||||||
|
}
|
||||||
|
.lethalfantasy .tab.character-miracles .miracles {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(3, 1fr);
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
.lethalfantasy .tab.character-miracles .miracles .miracle {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
.lethalfantasy .tab.character-miracles .miracles .miracle .item-img {
|
||||||
|
width: 32px;
|
||||||
|
height: 32px;
|
||||||
|
}
|
||||||
|
.lethalfantasy .tab.character-miracles .miracles .miracle .name {
|
||||||
|
min-width: 12rem;
|
||||||
|
}
|
||||||
|
.lethalfantasy .tab.character-miracles prose-mirror.inactive {
|
||||||
|
min-height: 40px;
|
||||||
|
}
|
||||||
|
.lethalfantasy .tab.character-miracles prose-mirror.active {
|
||||||
|
min-height: 150px;
|
||||||
|
}
|
||||||
.lethalfantasy .opponent-content {
|
.lethalfantasy .opponent-content {
|
||||||
font-family: var(--font-primary);
|
font-family: var(--font-primary);
|
||||||
font-size: calc(var(--font-size-standard) * 1);
|
font-size: calc(var(--font-size-standard) * 1);
|
||||||
|
|||||||
+529
-505
File diff suppressed because it is too large
Load Diff
@@ -35,6 +35,9 @@ export default class LethalFantasyCharacterSheet extends LethalFantasyActorSheet
|
|||||||
spells: {
|
spells: {
|
||||||
template: "systems/fvtt-lethal-fantasy/templates/character-spells.hbs",
|
template: "systems/fvtt-lethal-fantasy/templates/character-spells.hbs",
|
||||||
},
|
},
|
||||||
|
miracles: {
|
||||||
|
template: "systems/fvtt-lethal-fantasy/templates/character-miracles.hbs",
|
||||||
|
},
|
||||||
biography: {
|
biography: {
|
||||||
template: "systems/fvtt-lethal-fantasy/templates/character-biography.hbs",
|
template: "systems/fvtt-lethal-fantasy/templates/character-biography.hbs",
|
||||||
},
|
},
|
||||||
@@ -58,7 +61,9 @@ export default class LethalFantasyCharacterSheet extends LethalFantasyActorSheet
|
|||||||
if (this.actor.system.biodata.magicUser) {
|
if (this.actor.system.biodata.magicUser) {
|
||||||
tabs.spells = { id: "spells", group: "sheet", icon: "fa-sharp-duotone fa-solid fa-wand-magic-sparkles", label: "LETHALFANTASY.Label.spells" }
|
tabs.spells = { id: "spells", group: "sheet", icon: "fa-sharp-duotone fa-solid fa-wand-magic-sparkles", label: "LETHALFANTASY.Label.spells" }
|
||||||
}
|
}
|
||||||
|
if (this.actor.system.biodata.clericUser) {
|
||||||
|
tabs.miracles = { id: "miracles", group: "sheet", icon: "fa-sharp-duotone fa-solid fa-hands-praying", label: "LETHALFANTASY.Label.miracles" }
|
||||||
|
}
|
||||||
for (const v of Object.values(tabs)) {
|
for (const v of Object.values(tabs)) {
|
||||||
v.active = this.tabGroups[v.group] === v.id
|
v.active = this.tabGroups[v.group] === v.id
|
||||||
v.cssClass = v.active ? "active" : ""
|
v.cssClass = v.active ? "active" : ""
|
||||||
@@ -71,14 +76,6 @@ export default class LethalFantasyCharacterSheet extends LethalFantasyActorSheet
|
|||||||
const context = await super._prepareContext()
|
const context = await super._prepareContext()
|
||||||
context.tabs = this.#getTabs()
|
context.tabs = this.#getTabs()
|
||||||
|
|
||||||
context.tooltipsCaracteristiques = {
|
|
||||||
}
|
|
||||||
|
|
||||||
context.tooltipsRessources = {
|
|
||||||
}
|
|
||||||
|
|
||||||
context.rollType = {
|
|
||||||
}
|
|
||||||
return context
|
return context
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -100,9 +97,13 @@ export default class LethalFantasyCharacterSheet extends LethalFantasyActorSheet
|
|||||||
case "spells":
|
case "spells":
|
||||||
context.tab = context.tabs.spells
|
context.tab = context.tabs.spells
|
||||||
context.spells = doc.itemTypes.spell
|
context.spells = doc.itemTypes.spell
|
||||||
context.miracles = doc.itemTypes.miracle
|
|
||||||
context.hasSpells = context.spells.length > 0
|
context.hasSpells = context.spells.length > 0
|
||||||
break
|
break
|
||||||
|
case "miracles":
|
||||||
|
context.tab = context.tabs.miracles
|
||||||
|
context.miracles = doc.itemTypes.miracle
|
||||||
|
context.hasMiracles = context.miracles.length > 0
|
||||||
|
break
|
||||||
case "weapons":
|
case "weapons":
|
||||||
context.tab = context.tabs.weapons
|
context.tab = context.tabs.weapons
|
||||||
context.weapons = doc.itemTypes.weapon
|
context.weapons = doc.itemTypes.weapon
|
||||||
|
|||||||
@@ -282,6 +282,7 @@ export default class LethalFantasyRoll extends Roll {
|
|||||||
titleFormula = `${dice}E`
|
titleFormula = `${dice}E`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Specific pain case
|
||||||
if (options.rollType === "save" && options.rollTarget.rollKey === "pain") {
|
if (options.rollType === "save" && options.rollTarget.rollKey === "pain") {
|
||||||
baseFormula = options.rollTarget.rollDice
|
baseFormula = options.rollTarget.rollDice
|
||||||
titleFormula = `${dice}`
|
titleFormula = `${dice}`
|
||||||
@@ -289,6 +290,11 @@ export default class LethalFantasyRoll extends Roll {
|
|||||||
fullModifier = 0
|
fullModifier = 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Specific pain/poison/contagion case
|
||||||
|
if (options.rollType === "save" && options.rollTarget.rollKey.includes(["pain", "poison", "contagion"])) {
|
||||||
|
hasD30 = false
|
||||||
|
}
|
||||||
|
|
||||||
maxValue = Number(baseFormula.match(/\d+$/)[0]) // Update the max value agains
|
maxValue = Number(baseFormula.match(/\d+$/)[0]) // Update the max value agains
|
||||||
|
|
||||||
const rollData = {
|
const rollData = {
|
||||||
|
|||||||
@@ -55,11 +55,20 @@ export default class LethalFantasyCharacter extends foundry.abstract.TypeDataMod
|
|||||||
obj[save.id] = challengeField(save.label)
|
obj[save.id] = challengeField(save.label)
|
||||||
return obj
|
return obj
|
||||||
}, {}),
|
}, {}),
|
||||||
|
|
||||||
|
|
||||||
)
|
)
|
||||||
|
const woundFieldSchema = {
|
||||||
|
value: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||||
|
duration: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||||
|
description: new fields.StringField({ initial: "", required: false, nullable: true }),
|
||||||
|
}
|
||||||
|
|
||||||
schema.hp = new fields.SchemaField({
|
schema.hp = new fields.SchemaField({
|
||||||
value: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
value: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||||
max: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
max: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||||
|
painDamage: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||||
|
wounds: new fields.ArrayField(new fields.SchemaField(woundFieldSchema ) ),
|
||||||
})
|
})
|
||||||
|
|
||||||
schema.perception = new fields.SchemaField({
|
schema.perception = new fields.SchemaField({
|
||||||
@@ -92,6 +101,7 @@ export default class LethalFantasyCharacter extends foundry.abstract.TypeDataMod
|
|||||||
eyes: new fields.StringField({ required: true, nullable: false, initial: "" }),
|
eyes: new fields.StringField({ required: true, nullable: false, initial: "" }),
|
||||||
hair: new fields.StringField({ required: true, nullable: false, initial: "" }),
|
hair: new fields.StringField({ required: true, nullable: false, initial: "" }),
|
||||||
magicUser: new fields.BooleanField({ initial: false }),
|
magicUser: new fields.BooleanField({ initial: false }),
|
||||||
|
clericUser: new fields.BooleanField({ initial: false }),
|
||||||
})
|
})
|
||||||
|
|
||||||
schema.modifiers = new fields.SchemaField({
|
schema.modifiers = new fields.SchemaField({
|
||||||
@@ -114,6 +124,7 @@ export default class LethalFantasyCharacter extends foundry.abstract.TypeDataMod
|
|||||||
attackModifier: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
attackModifier: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||||
defenseModifier: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
defenseModifier: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||||
damageModifier: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
damageModifier: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||||
|
armorHitPoints: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||||
})
|
})
|
||||||
|
|
||||||
const moneyField = (label) => {
|
const moneyField = (label) => {
|
||||||
|
|||||||
@@ -29,6 +29,8 @@ export default class LethalFantasyMiracle extends foundry.abstract.TypeDataModel
|
|||||||
schema.areaAffected = new fields.StringField({ required: true, initial: "" })
|
schema.areaAffected = new fields.StringField({ required: true, initial: "" })
|
||||||
schema.duration = new fields.StringField({ required: true, initial: "" })
|
schema.duration = new fields.StringField({ required: true, initial: "" })
|
||||||
schema.savingThrow = new fields.StringField({ required: true, initial: "" })
|
schema.savingThrow = new fields.StringField({ required: true, initial: "" })
|
||||||
|
schema.materialComponent = new fields.StringField({ required: true, initial: "" })
|
||||||
|
schema.catalyst = new fields.StringField({ required: true, initial: "" })
|
||||||
|
|
||||||
return schema
|
return schema
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -30,6 +30,7 @@ export default class LethalFantasySpell extends foundry.abstract.TypeDataModel {
|
|||||||
schema.duration = new fields.StringField({ required: true, initial: "" })
|
schema.duration = new fields.StringField({ required: true, initial: "" })
|
||||||
schema.savingThrow = new fields.StringField({ required: true, initial: "" })
|
schema.savingThrow = new fields.StringField({ required: true, initial: "" })
|
||||||
schema.extraAetherPoints = new fields.StringField({ required: true, initial: "" })
|
schema.extraAetherPoints = new fields.StringField({ required: true, initial: "" })
|
||||||
|
schema.materialComponent = new fields.StringField({ required: true, initial: "" })
|
||||||
|
|
||||||
return schema
|
return schema
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+30
-3
@@ -397,6 +397,17 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.combat-details {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(2, 1fr);
|
||||||
|
gap: 10px;
|
||||||
|
.combat-detail {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.weapons {
|
.weapons {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(2, 1fr);
|
grid-template-columns: repeat(2, 1fr);
|
||||||
@@ -488,6 +499,25 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
prose-mirror.inactive {
|
||||||
|
min-height: 40px;
|
||||||
|
}
|
||||||
|
prose-mirror.active {
|
||||||
|
min-height: 150px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.tab.character-miracles {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
legend {
|
||||||
|
a {
|
||||||
|
font-size: calc(var(--font-size-standard) * 1.4);
|
||||||
|
padding-left: 5px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.miracles {
|
.miracles {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-columns: repeat(3, 1fr);
|
grid-template-columns: repeat(3, 1fr);
|
||||||
@@ -506,9 +536,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.appris {
|
|
||||||
font-weight: bold;
|
|
||||||
}
|
|
||||||
prose-mirror.inactive {
|
prose-mirror.inactive {
|
||||||
min-height: 40px;
|
min-height: 40px;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -35,10 +35,22 @@
|
|||||||
<span class="name">Hair</span>
|
<span class="name">Hair</span>
|
||||||
{{formInput systemFields.biodata.fields.hair value=system.biodata.hair }}
|
{{formInput systemFields.biodata.fields.hair value=system.biodata.hair }}
|
||||||
</div>
|
</div>
|
||||||
|
<div class="biodata-elem">
|
||||||
|
<span class="name">Dev. Points (Total)</span>
|
||||||
|
{{formInput systemFields.developmentPoints.fields.total value=system.developmentPoints.total }}
|
||||||
|
</div>
|
||||||
|
<div class="biodata-elem">
|
||||||
|
<span class="name">Dev. Points (Rem.)</span>
|
||||||
|
{{formInput systemFields.developmentPoints.fields.remaining value=system.developmentPoints.remaining }}
|
||||||
|
</div>
|
||||||
<div class="biodata-elem">
|
<div class="biodata-elem">
|
||||||
<span class="name">Magic User</span>
|
<span class="name">Magic User</span>
|
||||||
{{formInput systemFields.biodata.fields.magicUser value=system.biodata.magicUser }}
|
{{formInput systemFields.biodata.fields.magicUser value=system.biodata.magicUser }}
|
||||||
</div>
|
</div>
|
||||||
|
<div class="biodata-elem">
|
||||||
|
<span class="name">Cleric User</span>
|
||||||
|
{{formInput systemFields.biodata.fields.clericUser value=system.biodata.clericUser }}
|
||||||
|
</div>
|
||||||
<div class="biodata-elem">
|
<div class="biodata-elem">
|
||||||
<span class="name">Save bonus (1/5levels)</span>
|
<span class="name">Save bonus (1/5levels)</span>
|
||||||
{{formInput systemFields.modifiers.fields.saveModifier value=system.modifiers.saveModifier disabled=true}}
|
{{formInput systemFields.modifiers.fields.saveModifier value=system.modifiers.saveModifier disabled=true}}
|
||||||
@@ -49,6 +61,8 @@
|
|||||||
<span class="name">Spell bonus (1/5levels)</span>
|
<span class="name">Spell bonus (1/5levels)</span>
|
||||||
{{formInput systemFields.modifiers.fields.levelSpellModifier value=system.modifiers.levelSpellModifier disabled=true}}
|
{{formInput systemFields.modifiers.fields.levelSpellModifier value=system.modifiers.levelSpellModifier disabled=true}}
|
||||||
</div>
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
{{#if system.biodata.clericUser}}
|
||||||
<div class="biodata-elem">
|
<div class="biodata-elem">
|
||||||
<span class="name">Miracle bonus (1/5levels)</span>
|
<span class="name">Miracle bonus (1/5levels)</span>
|
||||||
{{formInput systemFields.modifiers.fields.levelMiracleModifier value=system.modifiers.levelMiracleModifier disabled=true}}
|
{{formInput systemFields.modifiers.fields.levelMiracleModifier value=system.modifiers.levelMiracleModifier disabled=true}}
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
<section class="tab character-{{tab.id}} {{tab.cssClass}}" data-tab="{{tab.id}}" data-group="{{tab.group}}">
|
||||||
|
|
||||||
|
<fieldset>
|
||||||
|
<legend>{{localize "LETHALFANTASY.Label.miracles"}}{{#if isEditMode}}<a class="action" data-tooltip="{{localize "
|
||||||
|
LETHALFANTASY.Tooltip.addMiracle"}}" data-tooltip-direction="UP"><i class="fas fa-plus"
|
||||||
|
data-action="createMiracle"></i></a>{{/if}}</legend>
|
||||||
|
<div class="miracles">
|
||||||
|
{{#each miracles as |item|}}
|
||||||
|
<div class="miracle" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-drag="true" >
|
||||||
|
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||||
|
<div class="name" >
|
||||||
|
<a class="rollable" data-roll-type="miracle" data-roll-key="{{item.id}}">
|
||||||
|
<i class="lf-roll-small fa-solid fa-dice-d20"></i>
|
||||||
|
{{item.name}}
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
<div class="controls">
|
||||||
|
<a data-tooltip="{{localize 'LETHALFANTASY.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 'LETHALFANTASY.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>
|
||||||
|
|
||||||
|
</section>
|
||||||
@@ -25,29 +25,4 @@
|
|||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
<fieldset>
|
|
||||||
<legend>{{localize "LETHALFANTASY.Label.miracles"}}{{#if isEditMode}}<a class="action" data-tooltip="{{localize "
|
|
||||||
LETHALFANTASY.Tooltip.addMiracle"}}" data-tooltip-direction="UP"><i class="fas fa-plus"
|
|
||||||
data-action="createMiracle"></i></a>{{/if}}</legend>
|
|
||||||
<div class="miracles">
|
|
||||||
{{#each miracles as |item|}}
|
|
||||||
<div class="miracle" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-drag="true" >
|
|
||||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
|
||||||
<div class="name" >
|
|
||||||
<a class="rollable" data-roll-type="miracle" data-roll-key="{{item.id}}">
|
|
||||||
<i class="lf-roll-small fa-solid fa-dice-d20"></i>
|
|
||||||
{{item.name}}
|
|
||||||
</a>
|
|
||||||
</div>
|
|
||||||
<div class="controls">
|
|
||||||
<a data-tooltip="{{localize 'LETHALFANTASY.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 'LETHALFANTASY.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>
|
|
||||||
|
|
||||||
</section>
|
</section>
|
||||||
@@ -1,6 +1,15 @@
|
|||||||
<section class="tab character-{{tab.id}} {{tab.cssClass}}" data-tab="{{tab.id}}" data-group="{{tab.group}}">
|
<section class="tab character-{{tab.id}} {{tab.cssClass}}" data-tab="{{tab.id}}" data-group="{{tab.group}}">
|
||||||
|
|
||||||
<button class="action" data-action="rangedAttackDefense">{{localize "LETHALFANTASY.Label.rangedAttackDefense"}}</button>
|
<fieldset>
|
||||||
|
<legend>{{localize "LETHALFANTASY.Label.combatDetails"}}</legend>
|
||||||
|
<div class="combat-details">
|
||||||
|
<div class="combat-detail">
|
||||||
|
<button class="action" data-action="rangedAttackDefense">{{localize
|
||||||
|
"LETHALFANTASY.Label.rangedAttackDefense"}}</button>
|
||||||
|
{{formField systemFields.combat.fields.armorHitPoints value=system.combat.armorHitPoints localize=true}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>{{localize "LETHALFANTASY.Label.weapons"}}</legend>
|
<legend>{{localize "LETHALFANTASY.Label.weapons"}}</legend>
|
||||||
@@ -16,20 +25,24 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="attack-icons">
|
<div class="attack-icons">
|
||||||
|
|
||||||
<a class="rollable" data-roll-type="weapon-attack" data-roll-key="{{item.id}}" data-tooltip="Roll Attack">
|
<a class="rollable" data-roll-type="weapon-attack" data-roll-key="{{item.id}}" data-tooltip="Roll Attack">
|
||||||
<i class="lf-roll-small fa-solid fa-swords" data-roll-type="weapon-attack" data-roll-key="{{item.id}}"></i>
|
<i class="lf-roll-small fa-solid fa-swords" data-roll-type="weapon-attack" data-roll-key="{{item.id}}"></i>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<a class="rollable" data-roll-type="weapon-defense" data-roll-key="{{item.id}}" data-tooltip="Roll Defense">
|
<a class="rollable" data-roll-type="weapon-defense" data-roll-key="{{item.id}}" data-tooltip="Roll Defense">
|
||||||
<i class="fa-solid fa-shield-halved" data-roll-type="weapon-defense" data-roll-key="{{item.id}}"></i>
|
<i class="fa-solid fa-shield-halved" data-roll-type="weapon-defense" data-roll-key="{{item.id}}"></i>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<a class="rollable" data-roll-type="weapon-damage-small" data-roll-key="{{item.id}}" data-tooltip="Roll Damage (Small)">
|
<a class="rollable" data-roll-type="weapon-damage-small" data-roll-key="{{item.id}}"
|
||||||
<i class="fa-regular fa-face-head-bandage" data-roll-type="weapon-damage-small" data-roll-key="{{item.id}}"></i>S
|
data-tooltip="Roll Damage (Small)">
|
||||||
|
<i class="fa-regular fa-face-head-bandage" data-roll-type="weapon-damage-small"
|
||||||
|
data-roll-key="{{item.id}}"></i>S
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<a class="rollable" data-roll-type="weapon-damage-medium" data-roll-key="{{item.id}}" data-tooltip="Roll Damage (Medium)">
|
<a class="rollable" data-roll-type="weapon-damage-medium" data-roll-key="{{item.id}}"
|
||||||
<i class="fa-regular fa-face-head-bandage" data-roll-type="weapon-damage-medium" data-roll-key="{{item.id}}"></i>M
|
data-tooltip="Roll Damage (Medium)">
|
||||||
|
<i class="fa-regular fa-face-head-bandage" data-roll-type="weapon-damage-medium"
|
||||||
|
data-roll-key="{{item.id}}"></i>M
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -21,6 +21,10 @@
|
|||||||
{{formField systemFields.duration value=system.duration}}
|
{{formField systemFields.duration value=system.duration}}
|
||||||
{{formField systemFields.savingThrow value=system.savingThrow}}
|
{{formField systemFields.savingThrow value=system.savingThrow}}
|
||||||
|
|
||||||
|
{{formField systemFields.materialComponent value=system.materialComponent}}
|
||||||
|
{{formField systemFields.catalyst value=system.catalyst}}
|
||||||
|
|
||||||
|
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>{{localize "LETHALFANTASY.Label.description"}}</legend>
|
<legend>{{localize "LETHALFANTASY.Label.description"}}</legend>
|
||||||
{{formInput systemFields.description enriched=enrichedDescription value=system.description name="system.description" toggled=true}}
|
{{formInput systemFields.description enriched=enrichedDescription value=system.description name="system.description" toggled=true}}
|
||||||
|
|||||||
@@ -21,6 +21,8 @@
|
|||||||
{{formField systemFields.savingThrow value=system.savingThrow}}
|
{{formField systemFields.savingThrow value=system.savingThrow}}
|
||||||
{{formField systemFields.extraAetherPoints value=system.extraAetherPoints}}
|
{{formField systemFields.extraAetherPoints value=system.extraAetherPoints}}
|
||||||
|
|
||||||
|
{{formField systemFields.materialComponent value=system.materialComponent}}
|
||||||
|
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>{{localize "LETHALFANTASY.Label.description"}}</legend>
|
<legend>{{localize "LETHALFANTASY.Label.description"}}</legend>
|
||||||
{{formInput systemFields.description enriched=enrichedDescription value=system.description name="system.description" toggled=true}}
|
{{formInput systemFields.description enriched=enrichedDescription value=system.description name="system.description" toggled=true}}
|
||||||
|
|||||||
Reference in New Issue
Block a user