Compare commits

..

No commits in common. "master" and "fvtt-avd12-v10.0.18" have entirely different histories.

17 changed files with 83 additions and 351 deletions

View File

@ -16,7 +16,6 @@
"TypeReaction": "Reaction", "TypeReaction": "Reaction",
"TypeStance": "Stance", "TypeStance": "Stance",
"TypeTrait": "Trait", "TypeTrait": "Trait",
"TypeCondition": "Condition", "TypeCondition": "Condition"
"TypeCraftingskill": "Crafting Skill"
} }
} }

View File

@ -45,7 +45,6 @@ export class Avd12ActorSheet extends ActorSheet {
equippedWeapons: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getEquippedWeapons()) ), equippedWeapons: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getEquippedWeapons()) ),
equippedArmor: this.actor.getEquippedArmor(), equippedArmor: this.actor.getEquippedArmor(),
equippedShield: this.actor.getEquippedShield(), equippedShield: this.actor.getEquippedShield(),
craftingSkills: this.actor.getCraftingSkills(),
subActors: duplicate(this.actor.getSubActors()), subActors: duplicate(this.actor.getSubActors()),
moneys: duplicate(this.actor.getMoneys()), moneys: duplicate(this.actor.getMoneys()),
focusData: this.actor.computeFinalFocusData(), focusData: this.actor.computeFinalFocusData(),
@ -130,14 +129,6 @@ export class Avd12ActorSheet extends ActorSheet {
const li = $(event.currentTarget).parents(".item"); const li = $(event.currentTarget).parents(".item");
this.actor.rollSpell( li.data("item-id") ) this.actor.rollSpell( li.data("item-id") )
}); });
html.find('.roll-crafting').click((event) => {
const li = $(event.currentTarget).parents(".item");
this.actor.rollCrafting( li.data("item-id") )
});
html.find('.roll-universal').click((event) => {
let skillKey = $(event.currentTarget).data("skill-key")
this.actor.rollUniversal(skillKey)
});
html.find('.roll-weapon').click((event) => { html.find('.roll-weapon').click((event) => {
const li = $(event.currentTarget).parents(".item"); const li = $(event.currentTarget).parents(".item");

View File

@ -176,12 +176,7 @@ export class Avd12Actor extends Actor {
Avd12Utility.sortArrayObjectsByName(comp) Avd12Utility.sortArrayObjectsByName(comp)
return comp; return comp;
} }
/* -------------------------------------------- */
getCraftingSkills() {
let comp = duplicate(this.items.filter(item => item.type == 'craftingskill') || [])
Avd12Utility.sortArrayObjectsByName(comp)
return comp;
}
/* -------------------------------------------- */ /* -------------------------------------------- */
getArmors() { getArmors() {
let comp = duplicate(this.items.filter(item => item.type == 'armor') || []); let comp = duplicate(this.items.filter(item => item.type == 'armor') || []);
@ -247,8 +242,7 @@ export class Avd12Actor extends Actor {
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
prepareWeapon(weapon) { prepareWeapon(weapon) {
//console.log(weapon) weapon.attackBonus = this.system.bonus.weapon.attack + this.system.bonus[weapon.system.weapontype].attack
weapon.attackBonus = this.system.bonus.weapon.attack + weapon.system.attackbonus + this.system.bonus[weapon.system.weapontype].attack
let bonusDamage = this.system.bonus.weapon.damage + this.system.bonus[weapon.system.weapontype].damage let bonusDamage = this.system.bonus.weapon.damage + this.system.bonus[weapon.system.weapontype].damage
this.addDamages(weapon.system.damages.primary, bonusDamage) this.addDamages(weapon.system.damages.primary, bonusDamage)
bonusDamage = this.system.bonus.weapon.damage + this.system.bonus[weapon.system.weapontype].crits bonusDamage = this.system.bonus.weapon.damage + this.system.bonus[weapon.system.weapontype].crits
@ -494,21 +488,12 @@ export class Avd12Actor extends Actor {
await this.updateEmbeddedDocuments('Item', [update]); // Updates one EmbeddedEntity await this.updateEmbeddedDocuments('Item', [update]); // Updates one EmbeddedEntity
} }
} }
/* -------------------------------------------- */
clearInitiative(){
this.getFlag("world", "initiative", -1)
}
/* -------------------------------------------- */ /* -------------------------------------------- */
getInitiativeScore(combatId, combatantId) { getInitiativeScore(combatId, combatantId) {
if (this.type == 'character') { if (this.type == 'character') {
let init = this.getFlag("world", "initiative" ) this.rollMR(true, combatId, combatantId)
console.log("INIT", init)
if (!init || init == -1) {
ChatMessage.create( { content: "Roll your initiative for this combat"} )
}
return init
} }
console.log("Init required !!!!")
return -1; return -1;
} }
@ -676,23 +661,6 @@ export class Avd12Actor extends Actor {
skill.attr = duplicate(attr) skill.attr = duplicate(attr)
let rollData = this.getCommonRollData() let rollData = this.getCommonRollData()
rollData.mode = "skill" rollData.mode = "skill"
rollMode.skillKey = skillKey
rollData.skill = skill
rollData.title = "Roll Skill " + skill.name
rollData.img = skill.img
this.startRoll(rollData)
}
}
/* -------------------------------------------- */
rollUniversal(skillKey) {
let skill = this.system.universal.skills[skillKey]
if (skill) {
skill = duplicate(skill)
skill.name = Avd12Utility.upperFirst(skillKey)
let rollData = this.getCommonRollData()
rollData.mode = "universal"
rollData.skillKey = skillKey
rollData.skill = skill rollData.skill = skill
rollData.title = "Roll Skill " + skill.name rollData.title = "Roll Skill " + skill.name
rollData.img = skill.img rollData.img = skill.img
@ -736,20 +704,7 @@ export class Avd12Actor extends Actor {
console.log("New fovcus", this.system, focusData) console.log("New fovcus", this.system, focusData)
this.update({ 'system.focus': focusData }) this.update({ 'system.focus': focusData })
} }
/* -------------------------------------------- */
rollCrafting(craftId) {
let crafting = this.items.get(craftId)
if (crafting) {
crafting = duplicate(crafting)
let rollData = this.getCommonRollData()
rollData.mode = "crafting"
rollData.crafting = crafting
rollData.img = crafting.img
this.startRoll(rollData)
} else {
ui.notifications.warn("Unable to find the relevant weapon ")
}
}
/* -------------------------------------------- */ /* -------------------------------------------- */
rollWeapon(weaponId) { rollWeapon(weaponId) {
let weapon = this.items.get(weaponId) let weapon = this.items.get(weaponId)
@ -766,7 +721,6 @@ export class Avd12Actor extends Actor {
ui.notifications.warn("Unable to find the relevant weapon ") ui.notifications.warn("Unable to find the relevant weapon ")
} }
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
async rollWeaponDamage(weaponId, damageType) { async rollWeaponDamage(weaponId, damageType) {
let weapon = this.items.get(weaponId) let weapon = this.items.get(weaponId)

View File

@ -27,14 +27,4 @@ export class Avd12Combat extends Combat {
} }
} }
/* -------------------------------------------- */
_onDelete() {
let combatants = this.combatants.contents
for (let c of combatants) {
let actor = game.actors.get(c.actorId)
actor.clearInitiative()
}
super._onDelete()
}
} }

View File

@ -52,12 +52,8 @@ export class Avd12ItemSheet extends ItemSheet {
// Specific case for formating descriptions of sub-items // Specific case for formating descriptions of sub-items
if (this.object.type == "module") { if (this.object.type == "module") {
for (let level of this.object.system.levels) { for (let level of this.object.system.levels) {
if ( level && level.features) { for (let id in level.features) {
for (let id in level.features) { level.features[id].descriptionHTML = await TextEditor.enrichHTML(level.features[id].system.description, { async: true })
if ( level.features[id] ) {
level.features[id].descriptionHTML = await TextEditor.enrichHTML(level.features[id].system.description, { async: true })
}
}
} }
} }
} }
@ -253,12 +249,6 @@ export class Avd12ItemSheet extends ItemSheet {
levels[levelIndex].choices[choiceIndex].features[featureId] = undefined levels[levelIndex].choices[choiceIndex].features[featureId] = undefined
this.object.update({ 'system.levels': levels }) this.object.update({ 'system.levels': levels })
}) })
html.find('.module-level-delete').click(ev => {
let levels = duplicate(this.object.system.levels)
let levelIndex = Number($(ev.currentTarget).data("level-index"))
levels.splice(levelIndex,levelIndex)
this.object.update({ 'system.levels': levels })
})
html.find('.choice-level-selected').change(ev => { html.find('.choice-level-selected').change(ev => {
this.processChoiceLevelSelection(ev) this.processChoiceLevelSelection(ev)

View File

@ -9,7 +9,6 @@ export const defaultItemImg = {
module: "systems/fvtt-avd12/images/icons/focus2.webp", module: "systems/fvtt-avd12/images/icons/focus2.webp",
money: "systems/fvtt-avd12/images/icons/focus2.webp", money: "systems/fvtt-avd12/images/icons/focus2.webp",
spell: "systems/fvtt-avd12/images/icons/spell1.webp", spell: "systems/fvtt-avd12/images/icons/spell1.webp",
craftingskill: "systems/fvtt-avd12/images/icons/cloak2.webp",
} }
/** /**

View File

@ -528,9 +528,6 @@ export class Avd12Utility {
if (rollData.skill) { if (rollData.skill) {
diceFormula += "+" + rollData.skill.finalvalue diceFormula += "+" + rollData.skill.finalvalue
} }
if (rollData.crafting) {
diceFormula += "+" + rollData.crafting.system.level
}
if (rollData.spellAttack) { if (rollData.spellAttack) {
diceFormula += "+" + rollData.spellAttack diceFormula += "+" + rollData.spellAttack
} }
@ -568,10 +565,6 @@ export class Avd12Utility {
content: await renderTemplate(`systems/fvtt-avd12/templates/chat/chat-generic-result.hbs`, rollData) content: await renderTemplate(`systems/fvtt-avd12/templates/chat/chat-generic-result.hbs`, rollData)
}) })
msg.setFlag("world", "rolldata", rollData) msg.setFlag("world", "rolldata", rollData)
if (rollData.skillKey == "initiative") {
console.log("REGISTERED")
actor.setFlag("world", "initiative", myRoll.total)
}
console.log("Rolldata result", rollData) console.log("Rolldata result", rollData)
} }

View File

@ -1320,37 +1320,10 @@ ul, li {
min-width:2rem; min-width:2rem;
max-width: 2rem; max-width: 2rem;
} }
.attribute-label {
font-weight: bold;
}
.flexrow-no-expand {
flex-grow: 0;
}
.item-input-small {
max-width: 16px;
max-height: 12px;
}
.drop-module-step { .drop-module-step {
background: linear-gradient(to bottom, #6c95b9fc 5%, #105177ab 100%); background: linear-gradient(to bottom, #6c95b9fc 5%, #105177ab 100%);
background-color: #7d5d3b00; background-color: #7d5d3b00;
border-radius: 3px; border-radius: 3px;
border: 2px ridge #846109; border: 2px ridge #846109;
} }
.module-level-box {
background: linear-gradient(to bottom, #6c95b9fc 5%, #105177ab 100%);
border-radius: 5px;
padding: 4px;
margin-bottom: 8px;
margin-left: 12px;
border: 2px ridge #846109;
max-width: 45%;
min-height: 64px;
align-content: center;
}
.color-selected {
background: linear-gradient(to bottom, #9ae470fc 5%, #247e30ab 100%);
}
.flex-center {
align-items: center;
align-content: space-between;
}

View File

@ -64,7 +64,7 @@
], ],
"title": "AnyVenture D12 RPG", "title": "AnyVenture D12 RPG",
"url": "https://www.uberwald.me/gitea/public/fvtt-avd12", "url": "https://www.uberwald.me/gitea/public/fvtt-avd12",
"version": "10.0.25", "version": "10.0.18",
"download": "https://www.uberwald.me/gitea/public/fvtt-avd12/archive/fvtt-avd12-v10.0.25.zip", "download": "https://www.uberwald.me/gitea/public/fvtt-avd12/archive/fvtt-avd12-v10.0.18.zip",
"background": "systems/fvtt-avd12/images/ui/avd12_welcome_page.webp" "background": "systems/fvtt-avd12/images/ui/avd12_welcome_page.webp"
} }

View File

@ -164,13 +164,11 @@
"universal": { "universal": {
"skills": { "skills": {
"search": { "search": {
"label": "Search",
"modifier": 0, "modifier": 0,
"finalvalue": 0, "finalvalue": 0,
"good": false "good": false
}, },
"initiative": { "initiative": {
"label": "Initiative",
"modifier": 0, "modifier": 0,
"finalvalue": 0, "finalvalue": 0,
"good": false "good": false
@ -261,12 +259,6 @@
"crits": 0, "crits": 0,
"brutals": 0 "brutals": 0
}, },
"crush": {
"attack": 0,
"damage": 0,
"crits": 0,
"brutals": 0
},
"slash": { "slash": {
"attack": 0, "attack": 0,
"damage": 0, "damage": 0,
@ -358,7 +350,6 @@
"weapon", "weapon",
"module", "module",
"money", "money",
"craftingskill",
"condition", "condition",
"action", "action",
"freeaction", "freeaction",
@ -420,10 +411,6 @@
"movespeed": 0 "movespeed": 0
} }
}, },
"craftingskill" : {
"level": 0,
"description": ""
},
"action": { "action": {
"description": "" "description": ""
}, },
@ -499,7 +486,6 @@
"templates": [ "templates": [
"commonitem" "commonitem"
], ],
"attackbonus": 0,
"minrange": 0, "minrange": 0,
"maxrange": 0, "maxrange": 0,
"throwrange": 0, "throwrange": 0,

View File

@ -11,45 +11,26 @@
<div class="flexrow"> <div class="flexrow">
{{#each system.attributes as |attr attrKey|}} {{#each system.attributes as |attr attrKey|}}
<div class="flexcol"> <div class="flexcol">
<div class="flexrow flexrow-no-expand"> <div class="flerow">
<span class="attribute-label">{{attr.label}}</span> <span>{{attr.label}}</span>
<input type="text" class="item-field-label-short" name="system.attributes.{{attrKey}}.value" value="{{attr.value}}" data-dtype="Number"/> <input type="text" class="item-field-label-short" name="system.attributes.{{attrKey}}.value" value="{{attr.value}}" data-dtype="Number"/>
</div> </div>
{{#each attr.skills as |skill skillKey|}} {{#each attr.skills as |skill skillKey|}}
<div class="flexrow flexrow-no-expand"> <div class="flexrow">
<span class="item-field-skill skill-label"> <span class="item-field-skill skill-label"><a class="roll-skill" data-attr-key="{{attrKey}}" data-skill-key="{{skillKey}}"><i class="fa-solid fa-dice-d12"></i> {{upperFirst skillKey}} {{skill.finalvalue}}</a></span>
<a class="roll-skill" data-attr-key="{{attrKey}}" data-skill-key="{{skillKey}}"> <input type="checkbox" class="skill-good-checkbox" name="system.attributes.{{attrKey}}.skills.{{skillKey}}.good" {{checked skill.good}} />
<i class="fa-solid fa-dice-d12"></i> {{upperFirst skillKey}} {{skill.finalvalue}}</a>
</span>
<input type="checkbox" class="skill-good-checkbox" name="system.attributes.{{attrKey}}.skills.{{skillKey}}.good" {{checked skill.good}} />
</div>
{{/each}}
<div class="flexrow flexrow-no-expand">
<span class="attribute-label">&nbsp;</span>
</div>
{{#if (eq attrKey "might")}}
<div class="flexrow flexrow-no-expand">
<span class="attribute-label">Universal</span>
</div>
{{#each @root.system.universal.skills as |skill skillKey|}}
<div class="flexrow flexrow-no-expand">
<span class="item-field-skill skill-label">
<a class="roll-universal" data-skill-key="{{skillKey}}">
<i class="fa-solid fa-dice-d12"></i> {{upperFirst skillKey}}
</a>
</span>
<input type="text" class="item-input-small" name="system.universal.skills.{{skillKey}}.finalvalue" value="{{skill.finalvalue}}" data-dtype="Number"/>
</div> </div>
{{/each}} {{/each}}
{{else}}
<div class="flexrow">
</div>
{{/if}}
</div> </div>
{{/each}} {{/each}}
</div> </div>
<div class="ability-item">
</div>
<div class="ability-item status-block">
</div>
</div> </div>
</div> </div>
</div> </div>
@ -512,39 +493,6 @@
</div> </div>
{{!-- Equipement Tab --}}
<div class="tab crafting" data-group="primary" data-tab="crafting">
<ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">
<h3><label class="items-title-text">Crafting</label></h3>
</span>
<span class="item-field-label-short">
<label class="short-label">Level</label>
</span>
<div class="item-controls item-controls-fixed">
<a class="item-control item-add" data-type="weapon" title="Create Item"><i class="fas fa-plus"></i></a>
</div>
</li>
{{#each craftingSkills as |crafting key|}}
<li class="item flexrow list-item list-item-shadow" data-item-id="{{crafting._id}}">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
src="{{crafting.img}}" /></a>
<span class="item-name-label"> <a class="roll-crafting"><i class="fa-solid fa-dice-d12"> </i>{{crafting.name}}</a></span>
<span class="item-field-label-short"><label>{{crafting.system.level}}</label></span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
</div>
{{!-- Biography Tab --}} {{!-- Biography Tab --}}
<div class="tab biodata" data-group="primary" data-tab="biodata"> <div class="tab biodata" data-group="primary" data-tab="biodata">
<div class="grid grid-2col"> <div class="grid grid-2col">

View File

@ -23,11 +23,6 @@
</li> </li>
{{/if}} {{/if}}
{{#if crafting}}
<li>Crafting : {{crafting.name}} ({{crafting.system.level}})
</li>
{{/if}}
{{#if spell}} {{#if spell}}
<li>Spell : {{spell.name}} ({{spell.system.level}}) <li>Spell : {{spell.name}} ({{spell.system.level}})
</li> </li>
@ -35,7 +30,6 @@
</li> </li>
{{/if}} {{/if}}
<li>Bonus/Malus {{bonusMalusRoll}} </li>
<li>Dice Formula {{diceFormula}} </li> <li>Dice Formula {{diceFormula}} </li>
<li>Result {{roll.total}} </li> <li>Result {{roll.total}} </li>

View File

@ -15,13 +15,6 @@
</div> </div>
{{/if}} {{/if}}
{{#if crafting}}
<div class="flexrow">
<span class="roll-dialog-label">Crafting : </span>
<span class="roll-dialog-label">{{crafting.name}} ({{crafting.system.level}})</span>
</div>
{{/if}}
{{#if weapon}} {{#if weapon}}
<div class="flexrow"> <div class="flexrow">
<span class="roll-dialog-label">Weapon Attack Bonus : </span> <span class="roll-dialog-label">Weapon Attack Bonus : </span>
@ -61,26 +54,22 @@
</select> </select>
</div> </div>
{{#if (eq skillKey "initiative") }} {{#if spell}}
{{else}} {{else}}
{{#if (or spell weapon)}} <div class="flexrow">
<span class="roll-dialog-label">Target check : </span>
{{else}} <select id="targetCheck" name="targetCheck">
<div class="flexrow"> {{#select targetCheck}}
<span class="roll-dialog-label">Target check : </span> <option value="none">None</option>
<select id="targetCheck" name="targetCheck"> <option value="5">5 (Trivial)</option>
{{#select targetCheck}} <option value="7">7 (Easy)</option>
<option value="none">None</option> <option value="10">10 (Regular)</option>
<option value="5">5 (Trivial)</option> <option value="14">14 (Difficult)</option>
<option value="7">7 (Easy)</option> <option value="20">20 (Heroic)</option>
<option value="10">10 (Regular)</option> {{/select}}
<option value="14">14 (Difficult)</option> </select>
<option value="20">20 (Heroic)</option> </div>
{{/select}}
</select>
</div>
{{/if}}
{{/if}} {{/if}}
</div> </div>

View File

@ -1,32 +0,0 @@
<form class="{{cssClass}}" autocomplete="off">
<header class="sheet-header">
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}"/>
<div class="header-fields">
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1>
</div>
</header>
{{> systems/fvtt-avd12/templates/items/partial-item-nav.hbs}}
{{!-- Sheet Body --}}
<section class="sheet-body">
{{> systems/fvtt-avd12/templates/items/partial-item-description.hbs}}
<div class="tab details" data-group="primary" data-tab="details">
<div class="tab" data-group="primary">
<ul>
<li class="flexrow">
<label class="item-field-label-long">Level</label>
<input type="text" class="item-field-label-short" name="system.level" value="{{system.level}}" data-dtype="Number"/>
</li>
</ul>
</div>
</div>
</section>
</form>

View File

@ -15,23 +15,7 @@
{{> systems/fvtt-avd12/templates/items/partial-item-description.hbs}} {{> systems/fvtt-avd12/templates/items/partial-item-description.hbs}}
<div class="tab details" data-group="primary" data-tab="details"> <div class="tab details" data-group="primary" data-tab="details">
TODO : The tre of module choices will be displayed here for players, with the "selected" option only
<div class="flexcol">
{{#each system.levels as |level index|}}
<div class="flexrow flex-center">
{{#each level.choices as |choice choiceIndex|}}
<span class="module-level-box {{#if choice.selected}}color-selected{{/if}}">
<ul>
{{#each choice.features as |feature id|}}
<li>{{feature.name}}</li>
{{/each}}
</ul>
</span>
{{/each}}
</div>
{{/each}}
</div>
</div> </div>
{{#if isGM}} {{#if isGM}}
@ -43,9 +27,6 @@
<hr> <hr>
<li class="flexrow"> <li class="flexrow">
<h2 class="item-field-label-long">Level {{add index 1}}</h2> <h2 class="item-field-label-long">Level {{add index 1}}</h2>
<span class="item-field-label-short">
<a class="item-control module-level-delete" data-level-index="{{index}}" title="Delete Level"><i class="fas fa-trash"></i></a>
</span>
</li> </li>
<ul class="ul-level1"> <ul class="ul-level1">

View File

@ -41,13 +41,10 @@
</li> </li>
{{/if}} {{/if}}
<!--
<li class="flexrow"> <li class="flexrow">
<label class="item-field-label-long">Selected</label> <label class="item-field-label-long">Selected</label>
<input type="checkbox" class="item-field-label-short" name="system.selected" {{checked system.selected}} /> <input type="checkbox" class="item-field-label-short" name="system.selected" {{checked system.selected}} />
</li> </li>
-->
</ul> </ul>
</div> </div>
</div> </div>

View File

@ -1,3 +1,43 @@
<li class='flexrow'>
<label class='item-field-label-long'>
Focus Points Bonus
</label>
<input
type='text'
class='item-field-label-short'
name='system.focuspointsbonus'
value="{{system.focuspointsbonus}}"
data-dtype='Number'
/>
<label class='item-field-label-short'>
&nbsp;
</label>
<label class='item-field-label-long'>
Focus Regen Bonus
</label>
<input
type='text'
class='item-field-label-short'
name='system.focusregenbonus'
value="{{system.focusregenbonus}}"
data-dtype='Number'
/>
</li>
<li class='flexrow'>
<label class='item-field-label-long'>
Burn Chance Bonus
</label>
<input
type='text'
class='item-field-label-short'
name='system.burnchancebonus'
value="{{system.burnchancebonus}}"
data-dtype='Number'
/>
</li>
<li class='flexrow'> <li class='flexrow'>
<h3 class='item-field-label-long'> <h3 class='item-field-label-long'>
@ -51,26 +91,6 @@
{{/each}} {{/each}}
</li> </li>
{{#if (eq type "weapon")}}
<li class='flexrow'>
<div>
<label class='item-field-label-short'>
Attack Bonus
</label>
<input
type='text'
class='item-field-label-short padd-right'
name="system.attackbonus"
value="{{system.attackbonus}}"
data-dtype='Number'
/>
<label>
&nbsp;
</label>
</div>
</li>
{{/if}}
<li class='flexrow'> <li class='flexrow'>
<h3 class='item-field-label-long'> <h3 class='item-field-label-long'>
Focus Focus
@ -106,46 +126,6 @@
<span>Spell Damage Bonus : {{focusData.spellDamageBonus}} </span> <span>Spell Damage Bonus : {{focusData.spellDamageBonus}} </span>
</li> </li>
{{/if}} {{/if}}
<li class='flexrow'>
<label class='item-field-label-long'>
Focus Points Bonus
</label>
<input
type='text'
class='item-field-label-short'
name='system.focuspointsbonus'
value="{{system.focuspointsbonus}}"
data-dtype='Number'
/>
<label class='item-field-label-short'>
&nbsp;
</label>
<label class='item-field-label-long'>
Focus Regen Bonus
</label>
<input
type='text'
class='item-field-label-short'
name='system.focusregenbonus'
value="{{system.focusregenbonus}}"
data-dtype='Number'
/>
</li>
<li class='flexrow'>
<label class='item-field-label-long'>
Burn Chance Bonus
</label>
<input
type='text'
class='item-field-label-short'
name='system.burnchancebonus'
value="{{system.burnchancebonus}}"
data-dtype='Number'
/>
</li>
<li class='flexrow'> <li class='flexrow'>
<h3 class='item-field-label-long'> <h3 class='item-field-label-long'>