Compare commits
6 Commits
fvtt-warhe
...
fvtt-warhe
| Author | SHA1 | Date | |
|---|---|---|---|
| c8f7c7c1e5 | |||
| d922d77736 | |||
| 7137de0983 | |||
| 46b129cf81 | |||
| fc9a878f3a | |||
| db8cf30e06 |
47
lang/en.json
47
lang/en.json
@@ -44,6 +44,9 @@
|
||||
"WH.ui.Strength": "Strength",
|
||||
"WH.ui.Instinct": "Instinct",
|
||||
"WH.ui.Dexterity": "Dexterity",
|
||||
"WH.ui.savestr": "Str Save",
|
||||
"WH.ui.savedex": "Dex Save",
|
||||
"WH.ui.savemin": "Mind Save",
|
||||
"WH.ui.Mind": "Mind",
|
||||
"WH.ui.Type": "Type",
|
||||
"WH.ui.HitPoints": "Hit Points",
|
||||
@@ -85,7 +88,49 @@
|
||||
"WH.ui.conditions": "Conditions",
|
||||
"WH.ui.effect": "Effect",
|
||||
|
||||
"WH.ui.main": "Main",
|
||||
"WH.ui.combat": "Combat",
|
||||
"WH.ui.skillstab": "Skills&Effects",
|
||||
"WH.ui.powers": "Powers",
|
||||
"WH.ui.equipment": "Equipment",
|
||||
"WH.ui.biography": "Biography",
|
||||
"WH.ui.race": "Race",
|
||||
"WH.ui.class": "Class",
|
||||
"WH.ui.religion": "Religion",
|
||||
"WH.ui.origin": "Origin",
|
||||
"WH.ui.age": "Age",
|
||||
"WH.ui.height": "Height",
|
||||
"WH.ui.eyes": "Eyes",
|
||||
"WH.ui.hair": "Hair",
|
||||
"WH.ui.preferredhand": "Preferred Hand",
|
||||
"WH.ui.size": "Size",
|
||||
"WH.ui.gender": "Gender",
|
||||
"WH.ui.background": "Background",
|
||||
"WH.ui.type": "Type",
|
||||
"WH.ui.description": "Description",
|
||||
"WH.ui.rawroll": "Raw Roll Formula (ex: 1d20+@statistics.str.value)",
|
||||
"WH.ui.rawdamage": "Raw Damage Formula (ex: 1d6+(@statistics.str.value/2))",
|
||||
"WH.ui.damage": "Damage",
|
||||
"WH.ui.2hdamage": "2 Hands Damage",
|
||||
"WH.ui.slotlocation": "Slot location",
|
||||
"WH.ui.quantity": "Quantity",
|
||||
"WH.ui.cost": "Cost",
|
||||
"WH.ui.details": "Details",
|
||||
"WH.ui.magicschool": "Magic School",
|
||||
"WH.ui.providedslot": "Provided slot",
|
||||
"WH.ui.skilllevelacquired": "Acquired at level",
|
||||
"WH.ui.totalmoney": "Total money owned",
|
||||
|
||||
"WH.chat.save": "Save"
|
||||
"WH.chat.save": "Save",
|
||||
"WH.chat.mweaponmalus": "Multiple weapons malus ",
|
||||
"WH.chat.diceresult": "Dice result",
|
||||
"WH.chat.result": "Result",
|
||||
"WH.chat.parysuccess": "Parry success !",
|
||||
"WH.chat.paryfailed": "Parry failed !",
|
||||
"WH.chat.rollformula": "Roll Formula",
|
||||
"WH.chat.useshield":"Use shield ?",
|
||||
"WH.chat.power": "Power",
|
||||
"WH.chat.powerlevel": "Power Level",
|
||||
|
||||
"WH.notif.skillmaxuse": "Maximum skill usage reach - Use is not allowed"
|
||||
}
|
||||
127
lang/it.json
Normal file
127
lang/it.json
Normal file
@@ -0,0 +1,127 @@
|
||||
{
|
||||
"WH.conf.short": "Corte",
|
||||
"WH.conf.long": "Lunghe",
|
||||
"WH.conf.twohanded": "A Due mani",
|
||||
"WH.conf.shooting": "Da tiro",
|
||||
"WH.conf.throwing": "Da lancio",
|
||||
"WH.conf.lightarmor" : "Leggera",
|
||||
"WH.conf.mediumarmor": "Media",
|
||||
"WH.conf.heavyarmor": "Pesante",
|
||||
"WH.conf.lightshield": "Leggero",
|
||||
"WH.conf.mediumshield": "Medio",
|
||||
"WH.conf.towershield": "Torre",
|
||||
"WH.conf.polearm": "Armi in asta",
|
||||
"WH.conf.special": "Speciali",
|
||||
|
||||
"WH.conf.head": "Testa",
|
||||
"WH.conf.cloak": "Mantello",
|
||||
"WH.conf.weapon1": "Mano primaria",
|
||||
"WH.conf.weapon2": "Mano secondaria",
|
||||
"WH.conf.gloves": "Guanti",
|
||||
"WH.conf.dress": "Abito",
|
||||
"WH.conf.boots": "Stivali",
|
||||
"WH.conf.ring": "Anelli",
|
||||
"WH.conf.belt": "Cintura",
|
||||
"WH.conf.quiver": "Faretra",
|
||||
"WH.conf.armor": "Armatura",
|
||||
"WH.conf.shield": "Scudo",
|
||||
"WH.conf.backpack": "Zaino",
|
||||
"WH.conf.beltpouch1": "Borsa da cintura 1",
|
||||
"WH.conf.beltpouch2": "Borsa da cintura 2",
|
||||
"WH.conf.beltpouch3": "Borsa da cintura 3",
|
||||
|
||||
"WH.ui.level": "Livello",
|
||||
"WH.ui.notes": "Note",
|
||||
|
||||
"WH.ui.hpprog": "Progressione PF",
|
||||
"WH.ui.lan": "Lingue",
|
||||
"WH.ui.attrbonus": "Attributi",
|
||||
"WH.ui.weapons": "Armi",
|
||||
"WH.ui.armors": "Armature",
|
||||
"WH.ui.shields": "Scudi",
|
||||
"WH.ui.weapon": "Arma",
|
||||
|
||||
"WH.ui.Strength": "Fisico",
|
||||
"WH.ui.Instinct": "Istinto",
|
||||
"WH.ui.Dexterity": "Istinto",
|
||||
"WH.ui.Mind": "Mente",
|
||||
"WH.ui.Type": "Tipo",
|
||||
"WH.ui.HitPoints": "Punti ferita",
|
||||
"WH.ui.Defence": "Difesa",
|
||||
"WH.ui.Throw2HitM": "TxC (corpo a corpo)",
|
||||
"WH.ui.Throw2HitR": "TxC (distanza)",
|
||||
"WH.ui.Mana": "Mana",
|
||||
"WH.ui.Initiative": "Iniziativa",
|
||||
"WH.ui.Movement": "Movimento (Terra)",
|
||||
"WH.ui.MovementSwim": "Movimento (Nuoto)",
|
||||
"WH.ui.MovementFly": "Movimento (Volare)",
|
||||
"WH.ui.power": "Potere",
|
||||
|
||||
"WH.ui.Qty": "Quantitá",
|
||||
"WH.ui.maxslots": "Max slots",
|
||||
"WH.ui.slotsused": "Slots usati",
|
||||
"WH.ui.Damage": "Danni",
|
||||
"WH.ui.parrybonus": "Bonus a parata",
|
||||
"WH.ui.damagereduction": "Riduzione danno",
|
||||
"WH.ui.save": "Salva",
|
||||
"WH.ui.XP": "PE",
|
||||
"WH.ui.xphp": "Progressione PF",
|
||||
"WH.ui.Knowledge": "Conoscenze",
|
||||
"WH.ui.malusmultiweapon": "Malus nell uso di due armi",
|
||||
"WH.ui.drbonus": "Bonus RD",
|
||||
"WH.ui.parrybonustotal": "Bonus Parata totale",
|
||||
"WH.ui.drbonustotal": "Bonus RD totale",
|
||||
"WH.ui.counterspell": "Contropotere",
|
||||
"WH.ui.createitem": "Bonus ai tiri percentuali",
|
||||
"WH.ui.classSkills": "Abilitá di classe",
|
||||
"WH.ui.skills": "Abilitá Aggiuntiva",
|
||||
"WH.ui.isclassskill": "Abilitá di classe?",
|
||||
"WH.ui.unlimited": "Usi illimitati?",
|
||||
"WH.ui.currentuse": "Numero di usi",
|
||||
"WH.ui.maxuse": "Usi Massimi",
|
||||
"WH.ui.languages": "Lingue",
|
||||
"WH.ui.languagesbonus": "Bonus a linguaggi conosciuti (men/2)",
|
||||
"WH.ui.competency": "Competenze",
|
||||
"WH.ui.conditions": "Condizione",
|
||||
"WH.ui.effect": "Effetto",
|
||||
|
||||
"WH.ui.main": "Principale",
|
||||
"WH.ui.combat": "Combattimento",
|
||||
"WH.ui.skillstab": "Abilitá ed effetti",
|
||||
"WH.ui.powers": "Poteri",
|
||||
"WH.ui.equipment": "Equipaggiamento",
|
||||
"WH.ui.biography": "Biografia",
|
||||
"WH.ui.race": "Razza",
|
||||
"WH.ui.class": "Classe",
|
||||
"WH.ui.religion": "Religione",
|
||||
"WH.ui.origin": "Origine",
|
||||
"WH.ui.age": "Etá",
|
||||
"WH.ui.height": "Altezza",
|
||||
"WH.ui.eyes": "Occhi",
|
||||
"WH.ui.hair": "Capelli",
|
||||
"WH.ui.preferredhand": "Mano preferita",
|
||||
"WH.ui.size": "Taglia",
|
||||
"WH.ui.gender": "Sesso",
|
||||
"WH.ui.background": "Storia",
|
||||
"WH.ui.type": "Tipo",
|
||||
"WH.ui.description": "Descrizione",
|
||||
"WH.ui.rawroll": "Formula TXC (ex: 1d20+@statistics.str.value)",
|
||||
"WH.ui.rawdamage": "Formula Danni (ex: 1d6+(@statistics.str.value/2))",
|
||||
"WH.ui.damage": "Danno",
|
||||
"WH.ui.2hdamage": "Danno a 2 mani",
|
||||
"WH.ui.slotlocation": "Slot",
|
||||
"WH.ui.quantity": "Quantitá",
|
||||
"WH.ui.cost": "Costo",
|
||||
"WH.ui.details": "Dettagli",
|
||||
|
||||
"WH.chat.save": "Tiro salvezza",
|
||||
"WH.chat.mweaponmalus": "Malus nell uso di due armi",
|
||||
"WH.chat.diceresult": "Risultato del dado",
|
||||
"WH.chat.result": "Risultato",
|
||||
"WH.chat.parysuccess": "Hai parato con successo",
|
||||
"WH.chat.paryfailed": "Hai fallito azione di parata",
|
||||
"WH.chat.rollformula": "Formula per il tiro di dado",
|
||||
"WH.chat.useshield":"Usa lo scudo?",
|
||||
"WH.chat.power": "Potere",
|
||||
"WH.chat.powerlevel": "Livello di potere"
|
||||
}
|
||||
@@ -56,6 +56,7 @@ export class WarheroActorSheet extends ActorSheet {
|
||||
competency: this.actor.getCompetency(),
|
||||
race: duplicate(race),
|
||||
class: duplicate(this.actor.getClass()),
|
||||
totalMoney: this.actor.computeTotalMoney(),
|
||||
//moneys: duplicate(this.actor.getMoneys()),
|
||||
description: await TextEditor.enrichHTML(this.object.system.biodata.description, {async: true}),
|
||||
notes: await TextEditor.enrichHTML(this.object.system.biodata.notes, {async: true}),
|
||||
@@ -99,7 +100,8 @@ export class WarheroActorSheet extends ActorSheet {
|
||||
})
|
||||
html.find('.item-add').click(ev => {
|
||||
let dataType = $(ev.currentTarget).data("type")
|
||||
this.actor.createEmbeddedDocuments('Item', [{ name: "NewItem", type: dataType }], { renderSheet: true })
|
||||
let slotKey = $(ev.currentTarget).data("slot")
|
||||
this.actor.createEmbeddedDocuments('Item', [{ name: "NewItem", type: dataType, system: { slotlocation: slotKey} }], { renderSheet: true })
|
||||
})
|
||||
|
||||
html.find('.equip-activate').click(ev => {
|
||||
@@ -133,6 +135,15 @@ export class WarheroActorSheet extends ActorSheet {
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
this.actor.incDecQuantity( li.data("item-id"), +1 );
|
||||
} );
|
||||
html.find('.skill-use-minus').click(event => {
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
this.actor.incDecSkillUse( li.data("item-id"), -1 );
|
||||
} );
|
||||
html.find('.skill-use-plus').click(event => {
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
this.actor.incDecSkillUse( li.data("item-id"), +1 );
|
||||
} );
|
||||
|
||||
|
||||
html.find('.ammo-minus').click(event => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
|
||||
@@ -174,16 +174,28 @@ export class WarheroActor extends Actor {
|
||||
return listItem
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
computeTotalMoney() {
|
||||
let nbMoney = 0
|
||||
this.items.forEach(it => {if (it.type == 'money') { nbMoney += it.system.quantity} } )
|
||||
return nbMoney
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
buildEquipmentsSlot() {
|
||||
let containers = {}
|
||||
for (let slotName in game.system.warhero.config.slotNames) {
|
||||
let slotDef = game.system.warhero.config.slotNames[slotName]
|
||||
containers[slotName] = duplicate(slotDef)
|
||||
containers[slotName].content = this.items.filter(it => (it.type == 'weapon' || it.type == 'armor' || it.type == 'shield'||it.type == 'equipment')
|
||||
containers[slotName].content = this.items.filter(it => (it.type == 'money' || it.type == 'weapon' || it.type == 'armor' || it.type == 'shield' || it.type == 'equipment')
|
||||
&& it.system.slotlocation == slotName)
|
||||
let slotUsed = 0
|
||||
for (let item of containers[slotName].content) {
|
||||
slotUsed += item.system.slotused * ((item.system.quantity) ? item.system.quantity : 1)
|
||||
let q = (item.system.quantity) ? item.system.quantity : 1
|
||||
containers[slotName].nbslots += (item.system.providedslot?? 0) * q
|
||||
if ( item.type == "money") {
|
||||
slotUsed += Math.ceil(item.system.quantity / 1000)
|
||||
} else {
|
||||
slotUsed += item.system.slotused * q
|
||||
}
|
||||
}
|
||||
slotUsed = Math.ceil(slotUsed)
|
||||
containers[slotName].slotUsed = slotUsed
|
||||
@@ -390,10 +402,11 @@ export class WarheroActor extends Actor {
|
||||
return Number(dmgRoll.total)
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
updateCompetency(competency, obj) {
|
||||
updateCompetency(competency, obj, labelTab) {
|
||||
for (let key in obj) {
|
||||
if (obj[key]) {
|
||||
competency[key] = true
|
||||
//console.log("Parsing", key) //game.system.warhero.config.weaponTypes[key].label)
|
||||
competency[key] = { enabled: true, label: labelTab[key].label }
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -401,13 +414,15 @@ export class WarheroActor extends Actor {
|
||||
let myRace = this.getRace()
|
||||
let myClass = this.getClass()
|
||||
let competency = { weapons: {}, armors: {}, shields: {} }
|
||||
if ( myRace.system && myClass.system) {
|
||||
this.updateCompetency(competency.weapons, myRace.system.weapons)
|
||||
this.updateCompetency(competency.armors, myRace.system.armors)
|
||||
this.updateCompetency(competency.shields, myRace.system.shields)
|
||||
this.updateCompetency(competency.weapons, myClass.system.weapons)
|
||||
this.updateCompetency(competency.armors, myClass.system.armors)
|
||||
this.updateCompetency(competency.shields, myClass.system.shields)
|
||||
if (myRace.system) {
|
||||
this.updateCompetency(competency.weapons, myRace.system.weapons, game.system.warhero.config.weaponTypes)
|
||||
this.updateCompetency(competency.armors, myRace.system.armors, game.system.warhero.config.armorTypes)
|
||||
this.updateCompetency(competency.shields, myRace.system.shields, game.system.warhero.config.shieldTypes)
|
||||
}
|
||||
if (myClass.system) {
|
||||
this.updateCompetency(competency.weapons, myClass.system.weapons, game.system.warhero.config.weaponTypes)
|
||||
this.updateCompetency(competency.armors, myClass.system.armors, game.system.warhero.config.armorTypes)
|
||||
this.updateCompetency(competency.shields, myClass.system.shields, game.system.warhero.config.shieldTypes)
|
||||
}
|
||||
return competency
|
||||
}
|
||||
@@ -456,12 +471,10 @@ export class WarheroActor extends Actor {
|
||||
}
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getInitiativeScore(combatId, combatantId) {
|
||||
if (this.type == 'character') {
|
||||
this.rollMR(true, combatId, combatantId)
|
||||
}
|
||||
console.log("Init required !!!!")
|
||||
return -1;
|
||||
async getInitiativeScore(combatId, combatantId) {
|
||||
let roll = new Roll("1d20+"+this.system.attributes.ini.value).roll({async: false})
|
||||
await WarheroUtility.showDiceSoNice(roll, game.settings.get("core", "rollMode"))
|
||||
return roll.total
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -542,7 +555,19 @@ export class WarheroActor extends Actor {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async incDecSkillUse(skillId, value) {
|
||||
let skill = this.items.get(skillId)
|
||||
if (skill) {
|
||||
let newUse = skill.system.currentuse + value
|
||||
if (newUse > skill.system.maxuse) {
|
||||
ui.notifications.warn(game.i18n.localize("WH.notif.skillmaxuse"))
|
||||
return
|
||||
}
|
||||
newUse = Math.max(newUse, 0)
|
||||
this.updateEmbeddedDocuments('Item', [{ _id: skill.id, 'system.currentuse': newUse }])
|
||||
}
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
async incDecQuantity(objetId, incDec = 0) {
|
||||
let objetQ = this.items.get(objetId)
|
||||
@@ -620,12 +645,14 @@ export class WarheroActor extends Actor {
|
||||
this.system.secondary.nblanguage.value = Math.floor(this.system.statistics.min.value / 2)
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
spentMana( mana) {
|
||||
if ( Number(mana) > this.system.attributes.mana.value) {
|
||||
spentMana(spentValue) {
|
||||
let mana = duplicate(this.system.attributes.mana)
|
||||
if (Number(spentValue) > mana.value) {
|
||||
ui.notifications.warn("Not enough Mana points !")
|
||||
return false
|
||||
}
|
||||
this.update({'system.attributes.mana.value': this.system.attributes.mana.value-mana})
|
||||
mana.value -= Number(spentValue)
|
||||
this.update({ 'system.attributes.mana': mana })
|
||||
return true
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
@@ -646,6 +673,10 @@ export class WarheroActor extends Actor {
|
||||
let rollData = this.getCommonRollData()
|
||||
rollData.mode = rollType
|
||||
rollData.stat = stat
|
||||
if (stat && stat.stat)
|
||||
{
|
||||
rollData.statBonus = duplicate(this.system.statistics[stat.stat])
|
||||
}
|
||||
if (rollKey == "parrybonustotal") {
|
||||
WarheroUtility.rollParry(rollData)
|
||||
return
|
||||
@@ -673,7 +704,7 @@ export class WarheroActor extends Actor {
|
||||
} else {
|
||||
rollData.stat = duplicate(this.system.attributes.txcm)
|
||||
}
|
||||
rollData.usemWeaponMalus =
|
||||
rollData.usemWeaponMalus = false
|
||||
rollData.mWeaponMalus = this.system.secondary.malusmultiweapon.value
|
||||
rollData.weapon = weapon
|
||||
rollData.img = weapon.img
|
||||
@@ -702,7 +733,7 @@ export class WarheroActor extends Actor {
|
||||
let rollData = this.getCommonRollData()
|
||||
rollData.mode = "power"
|
||||
rollData.power = power
|
||||
rollData.powerLevel = power.system.level
|
||||
rollData.powerLevel = Number(power.system.level)
|
||||
rollData.img = power.img
|
||||
rollData.hasBM = false
|
||||
this.startRoll(rollData)
|
||||
|
||||
@@ -9,7 +9,7 @@ export class WarheroCombat extends Combat {
|
||||
for (let cId = 0; cId < ids.length; cId++) {
|
||||
const c = this.combatants.get(ids[cId]);
|
||||
let id = c._id || c.id;
|
||||
let initBonus = c.actor ? c.actor.getInitiativeScore( this.id, id ) : -1;
|
||||
let initBonus = c.actor ? await c.actor.getInitiativeScore( this.id, id ) : -1;
|
||||
await this.updateEmbeddedDocuments("Combatant", [ { _id: id, initiative: initBonus } ]);
|
||||
}
|
||||
|
||||
|
||||
@@ -69,12 +69,6 @@ export class WarheroItemSheet extends ItemSheet {
|
||||
owner: this.document.isOwner,
|
||||
isGM: game.user.isGM
|
||||
}
|
||||
if ( this.object.type == "power") {
|
||||
formData.level1 = await TextEditor.enrichHTML(this.object.system.level1, {async: true})
|
||||
formData.level2 = await TextEditor.enrichHTML(this.object.system.level2, {async: true})
|
||||
formData.level3 = await TextEditor.enrichHTML(this.object.system.level3, {async: true})
|
||||
formData.level4 = await TextEditor.enrichHTML(this.object.system.level4, {async: true})
|
||||
}
|
||||
this.options.editable = !(this.object.origin == "embeddedItem");
|
||||
console.log("ITEM DATA", formData, this);
|
||||
return formData;
|
||||
@@ -130,11 +124,6 @@ export class WarheroItemSheet extends ItemSheet {
|
||||
const item = this.object.options.actor.getOwnedItem(li.data("item-id"));
|
||||
item.sheet.render(true);
|
||||
});
|
||||
|
||||
html.find('.delete-spec').click(ev => {
|
||||
this.object.update({ "data.specialisation": [{ name: 'None' }] });
|
||||
});
|
||||
|
||||
html.find('.delete-subitem').click(ev => {
|
||||
this.deleteSubitem(ev);
|
||||
});
|
||||
@@ -145,15 +134,6 @@ export class WarheroItemSheet extends ItemSheet {
|
||||
let itemId = li.data("item-id");
|
||||
let itemType = li.data("item-type");
|
||||
});
|
||||
|
||||
html.find('.view-subitem').click(ev => {
|
||||
this.viewSubitem(ev);
|
||||
});
|
||||
|
||||
html.find('.view-spec').click(ev => {
|
||||
this.manageSpec();
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -11,6 +11,7 @@ export const defaultItemImg = {
|
||||
money: "systems/fvtt-warhero/images/icons/two-coins.svg",
|
||||
power: "systems/fvtt-warhero/images/icons/magia.webp",
|
||||
condition: "systems/fvtt-warhero/images/icons/stordenti.webp",
|
||||
language: "systems/fvtt-warhero/images/icons/linguaggi.webp"
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -71,16 +71,6 @@ Hooks.once("init", async function () {
|
||||
WarheroUtility.init()
|
||||
});
|
||||
|
||||
/* -------------------------------------------- */
|
||||
function welcomeMessage() {
|
||||
ChatMessage.create({
|
||||
user: game.user.id,
|
||||
whisper: [game.user.id],
|
||||
content: `<div id="welcome-message-crucible"><span class="rdd-roll-part">
|
||||
<strong>Welcome to the Warhero RPG.</strong>
|
||||
` });
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/* Foundry VTT Initialization */
|
||||
/* -------------------------------------------- */
|
||||
@@ -96,15 +86,14 @@ Hooks.once("ready", function () {
|
||||
}
|
||||
|
||||
// CSS patch for v9
|
||||
if (game.version) {
|
||||
/*if (game.version) {
|
||||
let sidebar = document.getElementById("sidebar");
|
||||
sidebar.style.width = "min-content";
|
||||
}
|
||||
}*/
|
||||
|
||||
welcomeMessage();
|
||||
//welcomeMessage();
|
||||
WarheroUtility.ready()
|
||||
WarheroCommands.init()
|
||||
WarheroHotbar.initDropbar()
|
||||
//WarheroHotbar.initDropbar()
|
||||
|
||||
})
|
||||
|
||||
|
||||
@@ -20,6 +20,15 @@ export class WarheroUtility {
|
||||
|
||||
WarheroCommands.init();
|
||||
|
||||
Handlebars.registerHelper('concat', function () {
|
||||
var outStr = '';
|
||||
for (var arg in arguments) {
|
||||
if (typeof arguments[arg] != 'object') {
|
||||
outStr += arguments[arg];
|
||||
}
|
||||
}
|
||||
return outStr;
|
||||
});
|
||||
Handlebars.registerHelper('count', function (list) {
|
||||
return list.length;
|
||||
})
|
||||
@@ -216,10 +225,8 @@ export class WarheroUtility {
|
||||
|
||||
const templatePaths = [
|
||||
'systems/fvtt-warhero/templates/editor-notes-gm.html',
|
||||
'systems/fvtt-warhero/templates/partial-roll-select.html',
|
||||
'systems/fvtt-warhero/templates/partial-actor-stat-block.html',
|
||||
'systems/fvtt-warhero/templates/partial-actor-status.html',
|
||||
'systems/fvtt-warhero/templates/partial-options-abilities.html',
|
||||
'systems/fvtt-warhero/templates/partial-item-nav.html',
|
||||
'systems/fvtt-warhero/templates/partial-item-description.html',
|
||||
'systems/fvtt-warhero/templates/partial-item-common-equipment.html',
|
||||
@@ -545,7 +552,7 @@ export class WarheroUtility {
|
||||
let actor = game.actors.get(rollData.actorId)
|
||||
|
||||
if (rollData.mode == "power") {
|
||||
let manaCost = Array.from(rollData.powerLevel)[0]
|
||||
let manaCost = rollData.powerLevel
|
||||
if (actor.spentMana(manaCost)) {
|
||||
let powerKey = "level" + rollData.powerLevel
|
||||
rollData.powerText = rollData.power.system[powerKey]
|
||||
@@ -577,7 +584,7 @@ export class WarheroUtility {
|
||||
}
|
||||
|
||||
let diceFormula
|
||||
if (rollData.weapon.system.weapontype == "special") {
|
||||
if (rollData.weapon && rollData.weapon.system.weapontype == "special") {
|
||||
diceFormula = rollData.weapon.system.rollformula
|
||||
} else {
|
||||
// ability/save/size => 0
|
||||
@@ -585,6 +592,9 @@ export class WarheroUtility {
|
||||
if (rollData.stat) {
|
||||
diceFormula += "+" + rollData.stat.value
|
||||
}
|
||||
if (rollData.statBonus) {
|
||||
diceFormula += "+" + rollData.statBonus.value
|
||||
}
|
||||
}
|
||||
if (rollData.usemWeaponMalus) {
|
||||
diceFormula += "+" + rollData.mWeaponMalus
|
||||
|
||||
@@ -876,16 +876,36 @@ li {
|
||||
|
||||
/* background: rgb(105,85,65) url("../images/ui/texture_feuille_perso_onglets.webp") no-repeat right bottom;*/
|
||||
|
||||
#sidebar.collapsed {
|
||||
height: 470px !important;
|
||||
}
|
||||
|
||||
#sidebar-tabs > .collapsed,
|
||||
#chat-controls .chat-control-icon {
|
||||
color: rgba(220, 220, 220, 0.75);
|
||||
text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.75);
|
||||
}
|
||||
|
||||
#sidebar-tabs {
|
||||
flex: 0 0 28px;
|
||||
box-sizing: border-box;
|
||||
margin: 0 0 3px;
|
||||
border-bottom: 1px solid rgba(0,0,0,0);
|
||||
box-shadow: inset 0 0 2rem rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
#sidebar-tabs > .item.active {
|
||||
border: 1px solid rgba(114,98,72,1);
|
||||
background: rgba(30, 25, 20, 0.75);
|
||||
box-shadow: 0 0 6px inset rgba(114,98,72,1);
|
||||
}
|
||||
|
||||
#sidebar #sidebar-tabs i{
|
||||
width: 23px;
|
||||
height: 23px;
|
||||
display: inline-block;
|
||||
background-position:center;
|
||||
background-size:cover;
|
||||
text-shadow: 1px 1px 0 rgba(0,0,0,0.75);
|
||||
|
||||
}
|
||||
|
||||
.sidebar-tab .directory-list .entity {
|
||||
border-top: 1px dashed rgba(0, 0, 0, 0.25);
|
||||
border-bottom: 0 none;
|
||||
@@ -1028,21 +1048,6 @@ li {
|
||||
box-shadow: inset 0 0 2rem rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
#sidebar-tabs > .item.active {
|
||||
border: 1px solid rgba(114, 98, 72, 1);
|
||||
background: rgba(30, 25, 20, 0.75);
|
||||
box-shadow: 0 0 6px inset rgba(114, 98, 72, 1);
|
||||
}
|
||||
|
||||
#sidebar #sidebar-tabs i {
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
display: inline-block;
|
||||
background-position: center;
|
||||
background-size: cover;
|
||||
text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.75);
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
/* Control, Tool, hotbar & navigation */
|
||||
|
||||
@@ -1551,3 +1556,7 @@ form .notes {
|
||||
a.content-link, a.inline-roll {
|
||||
color: #222;
|
||||
}
|
||||
.journal-page-header,
|
||||
.journal-page-content {
|
||||
color: #222;
|
||||
}
|
||||
10
system.json
10
system.json
@@ -18,6 +18,12 @@
|
||||
"name": "English",
|
||||
"path": "lang/en.json",
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"lang": "it",
|
||||
"name": "English",
|
||||
"path": "lang/it.json",
|
||||
"flags": {}
|
||||
}
|
||||
],
|
||||
"license": "LICENSE.txt",
|
||||
@@ -101,7 +107,7 @@
|
||||
"styles": [
|
||||
"styles/simple.css"
|
||||
],
|
||||
"version": "10.0.25",
|
||||
"version": "10.0.33",
|
||||
"compatibility": {
|
||||
"minimum": "10",
|
||||
"verified": "10",
|
||||
@@ -109,7 +115,7 @@
|
||||
},
|
||||
"title": "Warhero RPG",
|
||||
"manifest": "https://www.uberwald.me/gitea/public/fvtt-warhero/raw/branch/master/system.json",
|
||||
"download": "https://www.uberwald.me/gitea/uberwald/fvtt-warhero/archive/fvtt-warhero-10.0.25.zip",
|
||||
"download": "https://www.uberwald.me/gitea/uberwald/fvtt-warhero/archive/fvtt-warhero-10.0.33.zip",
|
||||
"url": "https://www.uberwald.me/gitea/public/fvtt-warhero",
|
||||
"background": "images/ui/warhero_welcome_page.webp",
|
||||
"id": "fvtt-warhero"
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
"biodata": {
|
||||
"class": "",
|
||||
"age": 0,
|
||||
"size": 0,
|
||||
"size": 3,
|
||||
"weight": "",
|
||||
"height": "",
|
||||
"hair": "",
|
||||
@@ -111,6 +111,7 @@
|
||||
"label": "WH.ui.Initiative",
|
||||
"abbrev": "ini",
|
||||
"style": "edit",
|
||||
"roll": true,
|
||||
"max": 1,
|
||||
"value": 1
|
||||
},
|
||||
@@ -180,9 +181,11 @@
|
||||
},
|
||||
"counterspell": {
|
||||
"label": "WH.ui.counterspell",
|
||||
"stat": "min",
|
||||
"abbrev": "counterspell",
|
||||
"style": "edit",
|
||||
"hasmax": true,
|
||||
"roll": true,
|
||||
"max": 1,
|
||||
"value": 0
|
||||
},
|
||||
@@ -236,7 +239,9 @@
|
||||
"power",
|
||||
"language",
|
||||
"condition",
|
||||
"class"
|
||||
"class",
|
||||
"genericitem",
|
||||
"money"
|
||||
],
|
||||
"templates": {
|
||||
"commonclassrace": {
|
||||
@@ -260,6 +265,14 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"money": {
|
||||
"quantity": 0,
|
||||
"slotlocation": "backpack",
|
||||
"description": ""
|
||||
},
|
||||
"genericitem": {
|
||||
"description": ""
|
||||
},
|
||||
"condition": {
|
||||
"shortdescription": "",
|
||||
"description": ""
|
||||
@@ -288,6 +301,7 @@
|
||||
"skill": {
|
||||
"classskill": false,
|
||||
"unlimited": false,
|
||||
"acquiredatlevel": 0,
|
||||
"currentuse": 0,
|
||||
"maxuse": 0,
|
||||
"description": ""
|
||||
@@ -332,6 +346,7 @@
|
||||
"equipped": false,
|
||||
"slotused": 1,
|
||||
"slotlocation": "backpack",
|
||||
"providedslot": 0,
|
||||
"description": ""
|
||||
},
|
||||
"power": {
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
<div class="ability-item">
|
||||
<ul>
|
||||
<li class="item flexrow list-item " data-item-id="{{race._id}}">
|
||||
<label class="item-field-label-medium">Race</label>
|
||||
<label class="item-field-label-medium">{{localize "WH.ui.race"}}</label>
|
||||
<a class="item-edit"><img class="sheet-competence-img" src="{{race.img}}"></a>
|
||||
<input type="text" class="item-field-label-medium" disabled value="{{race.name}}" data-dtype="String" />
|
||||
<div class="item-controls item-controls-fixed">
|
||||
@@ -28,7 +28,7 @@
|
||||
</div>
|
||||
</li>
|
||||
<li class="item flexrow list-item" data-item-id="{{class._id}}">
|
||||
<label class="item-field-label-medium">Class</label>
|
||||
<label class="item-field-label-medium">{{localize "WH.ui.class"}}</label>
|
||||
<a class="item-edit"><img class="sheet-competence-img" src="{{class.img}}"></a>
|
||||
<input type="text" class="item-field-label-medium" disabled value="{{class.name}}" data-dtype="String" />
|
||||
<div class="item-controls item-controls-fixed">
|
||||
@@ -36,7 +36,7 @@
|
||||
</div>
|
||||
</li>
|
||||
<li class="item flexrow list-item" >
|
||||
<label class="item-field-label-medium">Religion</label>
|
||||
<label class="item-field-label-medium">{{localize "WH.ui.religion"}}</label>
|
||||
<input type="text" class="item-field-label-medium" name="system.biodata.religion" value="{{system.biodata.religion}}" data-dtype="String" />
|
||||
</li>
|
||||
</ul>
|
||||
@@ -64,12 +64,12 @@
|
||||
|
||||
{{!-- Sheet Tab Navigation --}}
|
||||
<nav class="sheet-tabs tabs" data-group="primary">
|
||||
<a class="item" data-tab="main">Main</a>
|
||||
<a class="item" data-tab="combat">Combat</a>
|
||||
<a class="item" data-tab="skill">Skills&Effects</a>
|
||||
<a class="item" data-tab="power">Powers</a>
|
||||
<a class="item" data-tab="equipment">Equipment</a>
|
||||
<a class="item" data-tab="biodata">Biography</a>
|
||||
<a class="item" data-tab="main">{{localize "WH.ui.main"}}</a>
|
||||
<a class="item" data-tab="combat">{{localize "WH.ui.combat"}}</a>
|
||||
<a class="item" data-tab="skill">{{localize "WH.ui.skillstab"}}</a>
|
||||
<a class="item" data-tab="power">{{localize "WH.ui.powers"}}</a>
|
||||
<a class="item" data-tab="equipment">{{localize "WH.ui.equipment"}}</a>
|
||||
<a class="item" data-tab="biodata">{{localize "WH.ui.biography"}}</a>
|
||||
</nav>
|
||||
|
||||
{{!-- Sheet Body --}}
|
||||
@@ -96,24 +96,24 @@
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.competency"}}</label></h3>
|
||||
</span>
|
||||
</li>
|
||||
{{#each competency.weapons as |flag key|}}
|
||||
{{#if flag}}
|
||||
{{#each competency.weapons as |cdata key|}}
|
||||
{{#if cdata}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{language._id}}">
|
||||
<span class="item-name-label-long">{{localize "WH.ui.weapons"}} {{key}}</span>
|
||||
<span class="item-name-label-long">{{localize "WH.ui.weapons"}} {{localize cdata.label}}</span>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
{{#each competency.shields as |flag key|}}
|
||||
{{#if flag}}
|
||||
{{#each competency.shields as |cdata key|}}
|
||||
{{#if cdata}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{language._id}}">
|
||||
<span class="item-name-label-long">{{localize "WH.ui.shields"}} {{key}}</span>
|
||||
<span class="item-name-label-long">{{localize "WH.ui.shields"}} {{localize cdata.label}}</span>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
{{#each competency.armors as |flag key|}}
|
||||
{{#if flag}}
|
||||
{{#each competency.armors as |cdata key|}}
|
||||
{{#if cdata}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{language._id}}">
|
||||
<span class="item-name-label-long">{{localize "WH.ui.armors"}} {{key}}</span>
|
||||
<span class="item-name-label-long">{{localize "WH.ui.armors"}} {{localize cdata.label}}</span>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
@@ -176,7 +176,7 @@
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">Weapons</label></h3>
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.weapons"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
@@ -191,7 +191,7 @@
|
||||
src="{{weapon.img}}" /></a>
|
||||
<span class="item-name-label-long"><a class="roll-weapon"><i class="fa-solid fa-dice-d20"></i>{{weapon.name}}</a></span>
|
||||
|
||||
<span class="item-field-label-medium">{{weapon.system.weapontype}}</span>
|
||||
<span class="item-field-label-medium">{{localize (concat "WH.conf." weapon.system.weapontype)}}</span>
|
||||
|
||||
{{#if (eq system.weapontype "special")}}
|
||||
<span class="item-field-label-medium"><a class="roll-damage"><i class="fa-solid fa-dice-d20"></i>{{weapon.system.damageformula}}</a></span>
|
||||
@@ -216,7 +216,7 @@
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">Shields</label></h3>
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.shields"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
@@ -248,7 +248,7 @@
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">Armors</label></h3>
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.armors"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
@@ -306,7 +306,9 @@
|
||||
<span class="item-field-label-medium">N/A</span>
|
||||
<span class="item-field-label-medium">N/A</span>
|
||||
{{else}}
|
||||
<span class="item-field-label-medium">{{skill.system.currentuse}}</span>
|
||||
<span class="item-field-label-medium">{{skill.system.currentuse}}
|
||||
(<a class="skill-use-minus plus-minus-button"> -</a>/<a class="skill-use-plus plus-minus-button">+</a>)
|
||||
</span>
|
||||
<span class="item-field-label-medium">{{skill.system.maxuse}}</span>
|
||||
{{/if}}
|
||||
|
||||
@@ -426,6 +428,10 @@
|
||||
{{!-- Equipement Tab --}}
|
||||
<div class="tab equipment" data-group="primary" data-tab="equipment">
|
||||
|
||||
<div class="flexrow">
|
||||
<label class="">{{localize "WH.ui.totalmoney"}} : {{totalMoney}}</label>
|
||||
</div>
|
||||
|
||||
{{#each slotEquipments as |slot slotKey|}}
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg {{#if (gt slot.slotUsed slot.nbslots)}}items-title-bg-red{{/if}}">
|
||||
@@ -446,7 +452,7 @@
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="{{itemtype}}" title="Create Item"><i class="fas fa-plus"></i></a>
|
||||
<a class="item-control item-add" data-type="{{itemtype}}" data-slot="{{slotKey}}" title="Create Item"><i class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each slot.content as |item itemKey|}}
|
||||
@@ -485,29 +491,21 @@
|
||||
<div>
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Origin</label>
|
||||
<input type="text" class="" name="system.biodata.origin" value="{{data.biodata.origin}}"
|
||||
<label class="generic-label">{{localize "WH.ui.origin"}}</label>
|
||||
<input type="text" class="" name="system.biodata.origin" value="{{system.biodata.origin}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Age</label>
|
||||
<input type="text" class="" name="system.biodata.age" value="{{data.biodata.age}}" data-dtype="String" />
|
||||
<label class="generic-label">{{localize "WH.ui.age"}}</label>
|
||||
<input type="text" class="" name="system.biodata.age" value="{{system.biodata.age}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Height</label>
|
||||
<input type="text" class="" name="system.biodata.height" value="{{data.biodata.height}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Eyes</label>
|
||||
<input type="text" class="" name="system.biodata.eyes" value="{{data.biodata.eyes}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Hair</label>
|
||||
<input type="text" class="" name="system.biodata.hair" value="{{data.biodata.hair}}" data-dtype="String" />
|
||||
<label class="generic-label">{{localize "WH.ui.height"}}</label>
|
||||
<input type="text" class="" name="system.biodata.height" value="{{system.biodata.height}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Preferred Hand</label>
|
||||
<input type="text" class="" name="system.biodata.preferredhand" value="{{data.biodata.preferredhand}}"
|
||||
<label class="generic-label">{{localize "WH.ui.preferredhand"}}</label>
|
||||
<input type="text" class="" name="system.biodata.preferredhand" value="{{system.biodata.preferredhand}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
</ul>
|
||||
@@ -515,9 +513,9 @@
|
||||
<div>
|
||||
<ul>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Size</label>
|
||||
<select class="competence-base flexrow" type="text" name="system.biodata.size" value="{{data.biodata.size}}" data-dtype="Number">
|
||||
{{#select data.biodata.size}}
|
||||
<label class="generic-label">{{localize "WH.ui.size"}}</label>
|
||||
<select class="competence-base flexrow" type="text" name="system.biodata.size" value="{{system.biodata.size}}" data-dtype="Number">
|
||||
{{#select system.biodata.size}}
|
||||
<option value="1">Tiny</option>
|
||||
<option value="2">Small</option>
|
||||
<option value="3">Medium</option>
|
||||
@@ -528,8 +526,16 @@
|
||||
</select>
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Sex</label>
|
||||
<input type="text" class="" name="system.biodata.sex" value="{{data.biodata.sex}}" data-dtype="String" />
|
||||
<label class="generic-label">{{localize "WH.ui.gender"}}</label>
|
||||
<input type="text" class="" name="system.biodata.sex" value="{{system.biodata.sex}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">{{localize "WH.ui.eyes"}}</label>
|
||||
<input type="text" class="" name="system.biodata.eyes" value="{{system.biodata.eyes}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">{{localize "WH.ui.hair"}}</label>
|
||||
<input type="text" class="" name="system.biodata.hair" value="{{system.biodata.hair}}" data-dtype="String" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -537,13 +543,13 @@
|
||||
|
||||
|
||||
<hr>
|
||||
<h3>Background : </h3>
|
||||
<h3>{{localize "WH.ui.background"}} : </h3>
|
||||
<div class="form-group editor">
|
||||
{{editor description target="system.biodata.description" button=true owner=owner
|
||||
editable=editable}}
|
||||
</div>
|
||||
<hr>
|
||||
<h3>Notes : </h3>
|
||||
<h3>{{localize "WH.ui.notes"}} : </h3>
|
||||
<div class="form-group editor">
|
||||
{{editor notes target="system.biodata.notes" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
|
||||
@@ -1,75 +0,0 @@
|
||||
<div class="chat-message-header">
|
||||
{{#if actorImg}}
|
||||
<img class="actor-icon" src="{{actorImg}}" alt="{{alias}}" />
|
||||
{{/if}}
|
||||
<h4 class=chat-actor-name>{{alias}}</h4>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
{{#if img}}
|
||||
<div >
|
||||
<img class="chat-icon" src="{{img}}" alt="{{name}}" />
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="flexcol">
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<ul>
|
||||
<li><strong>Fight result !</strong></li>
|
||||
{{#if successDetails.fumbleDetails}}
|
||||
<li>Fumble ! : {{successDetails.fumbleDetails.data.text}} </li>
|
||||
{{/if}}
|
||||
|
||||
|
||||
{{#if armorResult}}
|
||||
<li>Armor initial result : {{armorResult.rawArmor}}</li>
|
||||
{{#each armorResult.messages as |message idx|}}
|
||||
<li>{{message}}</li>
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
|
||||
{{#if successDetails.hack_vs_shields}}
|
||||
<li>Hack weapon : check shield !</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if successDetails.entangle}}
|
||||
<li>Entangle weapon : attacker can entangle !</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if successDetails.knockback}}
|
||||
<li>Knockback weapon : check knockback !</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if successDetails.hack_armors}}
|
||||
<li>Hack weapon : check armor damage !</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if successDetails.penetrating_impale}}
|
||||
<li>Penetrating weapon : apply the Impale condition !</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if (or successDetails.critical_1 successDetails.critical_2)}}
|
||||
<li>Critical {{#if successDetails.critical_1}} 1 {{else}} 2 {{/if}} : {{successDetails.criticalText}} </li>
|
||||
{{/if}}
|
||||
|
||||
{{#if successDetails.attackerHPLossValue}}
|
||||
<li>Attacker has lost HP : {{successDetails.attackerHPLossValue}} HP </li>
|
||||
{{/if}}
|
||||
|
||||
{{#if successDetails.defenderHPLossValue}}
|
||||
<li>Defender has lost HP : {{successDetails.defenderHPLossValue}} HP </li>
|
||||
{{/if}}
|
||||
|
||||
<li>Success details : {{successDetails.result}} </li>
|
||||
|
||||
<li><strong>Final successes</strong> {{sumSuccess}} </li>
|
||||
|
||||
<!-- <button class="chat-card-button reroll-level-remaining" data-roll-id="{{rollId}}">Reroll</button> -->
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -31,18 +31,18 @@
|
||||
{{/if}}
|
||||
|
||||
{{#if usemWeaponMalus}}
|
||||
<li>Multiple weapons malus : {{mWeaponMalus}}</li>
|
||||
<li>{{localize "WH.chat.mweaponmalus"}}: {{mWeaponMalus}}</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if diceFormula}}
|
||||
<li>Formula : {{diceFormula}}</li>
|
||||
{{#if isCriticalSuccess}}
|
||||
<li><span class="crit-success">Dice result : {{diceResult}}</span></li>
|
||||
<li><span class="crit-success">{{localize "WH.chat.diceresult"}} : {{diceResult}}</span></li>
|
||||
{{else}}
|
||||
{{#if isCriticalFailure}}
|
||||
<li><span class="crit-failure">Dice result : {{diceResult}}</span></li>
|
||||
<li><span class="crit-failure">{{localize "WH.chat.diceresult"}} : {{diceResult}}</span></li>
|
||||
{{else}}
|
||||
<li>Dice result : <span>{{diceResult}}</span></li>
|
||||
<li>{{localize "WH.chat.diceresult"}} : <span>{{diceResult}}</span></li>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
@@ -53,7 +53,7 @@
|
||||
<li>{{localize "WH.ui.level"}} : {{power.system.level}}</li>
|
||||
<li>{{{powerText}}}</li>
|
||||
{{else}}
|
||||
<li><strong>Result : {{roll.total}} </strong></li>
|
||||
<li><strong>{{localize "WH.chat.result"}} : {{roll.total}} </strong></li>
|
||||
{{/if}}
|
||||
|
||||
</ul>
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
<div class="chat-message-header">
|
||||
<img class="actor-icon" src="{{actorImg}}" alt="{{alias}}" />
|
||||
<h4 class=chat-actor-name>{{defenderName}}</h4>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
<div >
|
||||
{{defenderName}} wins the opposition against {{attackerName}} !
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -20,19 +20,19 @@
|
||||
|
||||
<li>Formula : {{diceFormula}}</li>
|
||||
{{#if isCriticalSuccess}}
|
||||
<li><span class="crit-success">Dice result : {{diceResult}}</span></li>
|
||||
<li><span class="crit-success">{{localize "WH.chat.diceresult"}} : {{diceResult}}</span></li>
|
||||
{{else}}
|
||||
{{#if isCriticalFailure}}
|
||||
<li><span class="crit-failure">Dice result : {{diceResult}}</span></li>
|
||||
<li><span class="crit-failure">{{localize "WH.chat.diceresult"}} : {{diceResult}}</span></li>
|
||||
{{else}}
|
||||
<li>Dice result : <span>{{diceResult}}</span></li>
|
||||
<li>{{localize "WH.chat.diceresult"}} : <span>{{diceResult}}</span></li>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{#if isSuccess}}
|
||||
<li><strong>Parry success ! </strong></li>
|
||||
<li><strong>{{localize "WH.chat.parysuccess"}} </strong></li>
|
||||
{{else}}
|
||||
<li><strong>Parry failed ! </strong></li>
|
||||
<li><strong>{{localize "WH.chat.paryfailed"}} </strong></li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -1,46 +0,0 @@
|
||||
<div class="chat-message-header">
|
||||
{{#if actorImg}}
|
||||
<img class="actor-icon" src="{{actorImg}}" alt="{{alias}}" />
|
||||
{{/if}}
|
||||
<h4 class=chat-actor-name>{{alias}}</h4>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
{{#if img}}
|
||||
<div>
|
||||
<img class="chat-icon" src="{{img}}" alt="{{name}}" />
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="flexcol">
|
||||
</div>
|
||||
|
||||
<div>
|
||||
|
||||
{{#if isRangedAttack}}
|
||||
<div>{{defender.name}} is under Ranged attack. He must roll a Target Roll to defend himself.</div>
|
||||
{{else}}
|
||||
<div>{{defender.name}} is under Melee attack. He must roll a Defense Roll to defend himself.</div>
|
||||
{{/if}}
|
||||
|
||||
<ul>
|
||||
{{#if isRangedAttack}}
|
||||
<li>
|
||||
<button class="chat-card-button roll-defense-ranged" data-roll-id="{{@root.rollId}}">Roll Target !</button>
|
||||
</li>
|
||||
{{else}}
|
||||
<li>
|
||||
{{#each defenderWeapons as |weapon idx|}}
|
||||
<button class="chat-card-button roll-defense-melee" data-defense-weapon-id="{{weapon._id}}"
|
||||
data-roll-id="{{@root.rollId}}">{{weapon.name}}</button>
|
||||
{{/each}}
|
||||
</li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
<!-- <button class="chat-card-button reroll-level-remaining" data-roll-id="{{rollId}}">Reroll</button> -->
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
<div class="tab" data-group="primary">
|
||||
<ul>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">Type</label>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.type"}}</label>
|
||||
<select class="item-field-label-medium" type="text" name="system.armortype" value="{{system.armortype}}" data-dtype="String">
|
||||
{{#select system.armortype}}
|
||||
{{#each config.armorTypes as |type key|}}
|
||||
@@ -28,7 +28,7 @@
|
||||
</select>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-medium ">Damage reduction</label>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.damagereduction"}}</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.damagereduction" value="{{system.damagereduction}}" data-dtype="Number"/>
|
||||
</li>
|
||||
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
|
||||
<div class="tab details" data-group="primary" data-tab="description">
|
||||
|
||||
<label class="generic-label">Description</label>
|
||||
<div class="medium-editor item-text-long-line">
|
||||
<label class="generic-label">{{localize "WH.ui.description"}}</label>
|
||||
<div class="editor item-text-long-line">
|
||||
{{editor description target="system.description" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
@@ -22,7 +22,7 @@
|
||||
<ul>
|
||||
|
||||
{{#each system.weapons as |weaponflag key|}}
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.weapons"}} {{key}}</label>
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.weapons"}} {{localize (concat "WH.conf." key)}}</label>
|
||||
<input type="checkbox" class="padd-right status-small-label color-class-common item-field-label-short"
|
||||
name="system.weapons.{{key}}" {{checked weaponflag}}/>
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
{{/each}}
|
||||
|
||||
{{#each system.armors as |armorflag key|}}
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.armors"}} {{key}}</label>
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.armors"}} {{localize (concat "WH.conf." key "armor")}}</label>
|
||||
<input type="checkbox" class="padd-right status-small-label color-class-common item-field-label-short"
|
||||
name="system.armors.{{key}}" {{checked armorflag}}/>
|
||||
|
||||
@@ -38,7 +38,7 @@
|
||||
{{/each}}
|
||||
|
||||
{{#each system.shields as |shieldflag key|}}
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.shields"}} {{key}}</label>
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.shields"}} {{localize (concat "WH.conf." key "shield")}}</label>
|
||||
<input type="checkbox" class="padd-right status-small-label color-class-common item-field-label-short"
|
||||
name="system.shields.{{key}}" {{checked shieldflag}}/>
|
||||
|
||||
|
||||
@@ -16,6 +16,10 @@
|
||||
<div class="tab details" data-group="primary" data-tab="details">
|
||||
<ul>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.providedslot"}}</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.providedslot" value="{{system.providedslot}}" data-dtype="Number"/>
|
||||
</li>
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-common-equipment.html}}
|
||||
|
||||
</ul>
|
||||
|
||||
24
templates/item-genericitem-sheet.html
Normal file
24
templates/item-genericitem-sheet.html
Normal file
@@ -0,0 +1,24 @@
|
||||
<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-warhero/templates/partial-item-nav.html}}
|
||||
|
||||
{{!-- Sheet Body --}}
|
||||
<section class="sheet-body">
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-description.html}}
|
||||
|
||||
|
||||
<div class="tab details" data-group="primary" data-tab="details">
|
||||
<ul>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</section>
|
||||
</form>
|
||||
37
templates/item-money-sheet.html
Normal file
37
templates/item-money-sheet.html
Normal file
@@ -0,0 +1,37 @@
|
||||
<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-warhero/templates/partial-item-nav.html}}
|
||||
|
||||
|
||||
{{!-- Sheet Body --}}
|
||||
<section class="sheet-body">
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-description.html}}
|
||||
|
||||
|
||||
<div class="tab details" data-group="primary" data-tab="details">
|
||||
<ul>
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.quantity"}}</label>
|
||||
<input type="text" class="item-field-label-long" name="system.quantity" value="{{system.quantity}}" data-dtype="Number"/>
|
||||
</li>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.slotlocation"}}</label>
|
||||
<select class="item-field-label-long " type="text" name="system.slotlocation" value="{{system.slotlocation}}" data-dtype="String">
|
||||
{{#select system.slotlocation}}
|
||||
{{#each config.slotNames as |type key|}}
|
||||
<option value="{{key}}">{{localize type.label}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</section>
|
||||
</form>
|
||||
@@ -13,7 +13,7 @@
|
||||
<div class="tab details" data-group="primary" data-tab="description">
|
||||
|
||||
<label class="generic-label">Description</label>
|
||||
<div class="medium-editor item-text-long-line">
|
||||
<div class="editor item-text-long-line">
|
||||
{{editor description target="system.description" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
@@ -64,7 +64,7 @@
|
||||
</li>
|
||||
|
||||
{{#each system.weapons as |weaponflag key|}}
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.weapons"}} {{key}}</label>
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.weapons"}} {{localize (concat "WH.conf." key)}}</label>
|
||||
<input type="checkbox" class="padd-right status-small-label color-class-common item-field-label-short"
|
||||
name="system.weapons.{{key}}" {{checked weaponflag}}/>
|
||||
|
||||
@@ -72,7 +72,7 @@
|
||||
{{/each}}
|
||||
|
||||
{{#each system.armors as |armorflag key|}}
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.armors"}} {{key}}</label>
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.armors"}} {{localize (concat "WH.conf." key "armor")}}</label>
|
||||
<input type="checkbox" class="padd-right status-small-label color-class-common item-field-label-short"
|
||||
name="system.armors.{{key}}" {{checked armorflag}}/>
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
{{/each}}
|
||||
|
||||
{{#each system.shields as |shieldflag key|}}
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.shields"}} {{key}}</label>
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.shields"}} {{localize (concat "WH.conf." key "shield")}}</label>
|
||||
<input type="checkbox" class="padd-right status-small-label color-class-common item-field-label-short"
|
||||
name="system.shields.{{key}}" {{checked shieldflag}}/>
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
<div class="tab" data-group="primary">
|
||||
<ul>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">Shield type</label>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.type"}}</label>
|
||||
<select class="item-field-label-long " type="text" name="system.shieldtype" value="{{system.shieldtype}}" data-dtype="String">
|
||||
{{#select system.shieldtype}}
|
||||
{{#each config.armorTypes as |type key|}}
|
||||
@@ -28,7 +28,7 @@
|
||||
</select>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-medium ">Parry Bonus</label>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.parrybonus"}}</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.parrybonus" value="{{system.parrybonus}}" data-dtype="Number"/>
|
||||
</li>
|
||||
|
||||
|
||||
@@ -23,6 +23,10 @@
|
||||
<input type="checkbox" name="system.unlimited" {{checked system.unlimited}}/>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.skilllevelacquired"}}</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.acquiredatlevel" value="{{system.acquiredatlevel}}" data-dtype="Number"/>
|
||||
</li>
|
||||
|
||||
{{#if system.unlimited}}
|
||||
|
||||
{{else}}
|
||||
|
||||
@@ -1,49 +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-warhero/templates/partial-item-nav.html}}
|
||||
|
||||
{{!-- Sheet Body --}}
|
||||
<section class="sheet-body">
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-description.html}}
|
||||
|
||||
<div class="tab details" data-group="primary" data-tab="details">
|
||||
<ul>
|
||||
<li class="flexrow"><label class="generic-label">Lore</label>
|
||||
<select class="competence-base flexrow" type="text" name="system.lore" value="{{data.lore}}" data-dtype="String">
|
||||
{{#select data.lore}}
|
||||
<option value="earth">Earth</option>
|
||||
<option value="air">Air</option>
|
||||
<option value="fire">Fire</option>
|
||||
<option value="water">Water</option>
|
||||
<option value="shadow">Shadow</option>
|
||||
{{/select}}
|
||||
</select>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="generic-label">Circle</label>
|
||||
<select class="competence-base flexrow" type="text" name="system.circle" value="{{data.circle}}" data-dtype="Number">
|
||||
{{#select data.circle}}
|
||||
<option value="1">1</option>
|
||||
<option value="2">2</option>
|
||||
<option value="3">3</option>
|
||||
<option value="4">4</option>
|
||||
<option value="5">5</option>
|
||||
{{/select}}
|
||||
</select>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="generic-label">Range</label>
|
||||
<input type="text" class="" name="system.range" value="{{data.range}}" data-dtype="String"/>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
</form>
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
<div class="tab" data-group="primary">
|
||||
<ul>
|
||||
<li class="flexrow"><label class="item-field-label-long ">Type</label>
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.type"}}</label>
|
||||
<select class="item-field-label-medium " type="text" name="system.weapontype" value="{{system.weapontype}}" data-dtype="String">
|
||||
{{#select system.weapontype}}
|
||||
{{#each config.weaponTypes as |type key|}}
|
||||
@@ -29,20 +29,20 @@
|
||||
</li>
|
||||
|
||||
{{#if (eq system.weapontype "special")}}
|
||||
<li class="flexrow"><label class="item-field-label-vlong2 ">Raw Roll Formula (ex: 1d20+@statistics.str.value)</label>
|
||||
<li class="flexrow"><label class="item-field-label-vlong2 ">{{localize "WH.ui.rawroll"}}</label>
|
||||
<input type="text" class="item-field-label-long " name="system.rollformula" value="{{system.rollformula}}" data-dtype="String"/>
|
||||
</li>
|
||||
<li class="flexrow"><label class="item-field-label-vlong2 ">Raw Damage Formula (ex: 1d6+(@statistics.str.value/2))</label>
|
||||
<li class="flexrow"><label class="item-field-label-vlong2 ">{{localize "WH.ui.rawdamage"}}</label>
|
||||
<input type="text" class="item-field-label-long " name="system.damageformula" value="{{system.damageformula}}" data-dtype="String"/>
|
||||
</li>
|
||||
{{else}}
|
||||
<li class="flexrow"><label class="item-field-label-long ">Damage</label>
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.damage"}}</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.damage" value="{{system.damage}}" data-dtype="String"/>
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq system.weapontype "polearm")}}
|
||||
<li class="flexrow"><label class="item-field-label-long ">Damage 2 arms</label>
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.2hdamage"}}</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.damage2hands" value="{{system.damage2hands}}" data-dtype="String"/>
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
@@ -64,12 +64,12 @@
|
||||
|
||||
{{!-- Sheet Tab Navigation --}}
|
||||
<nav class="sheet-tabs tabs" data-group="primary">
|
||||
<a class="item" data-tab="main">Main</a>
|
||||
<a class="item" data-tab="combat">Combat</a>
|
||||
<a class="item" data-tab="skill">Skills&Effects</a>
|
||||
<a class="item" data-tab="power">Powers</a>
|
||||
<a class="item" data-tab="equipment">Equipment</a>
|
||||
<a class="item" data-tab="biodata">Biography</a>
|
||||
<a class="item" data-tab="main">{{localize "WH.ui.main"}}</a>
|
||||
<a class="item" data-tab="combat">{{localize "WH.ui.combat"}}</a>
|
||||
<a class="item" data-tab="skill">{{localize "WH.ui.skillstab"}}</a>
|
||||
<a class="item" data-tab="power">{{localize "WH.ui.powers"}}</a>
|
||||
<a class="item" data-tab="equipment">{{localize "WH.ui.equipment"}}</a>
|
||||
<a class="item" data-tab="biodata">{{localize "WH.ui.biography"}}</a>
|
||||
</nav>
|
||||
|
||||
{{!-- Sheet Body --}}
|
||||
@@ -176,7 +176,7 @@
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">Weapons</label></h3>
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.weapons"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
@@ -193,7 +193,15 @@
|
||||
|
||||
<span class="item-field-label-medium">{{weapon.system.weapontype}}</span>
|
||||
|
||||
{{#if (eq system.weapontype "special")}}
|
||||
<span class="item-field-label-medium"><a class="roll-damage"><i class="fa-solid fa-dice-d20"></i>{{weapon.system.damageformula}}</a></span>
|
||||
{{else}}
|
||||
<span class="item-field-label-medium"><a class="roll-damage"><i class="fa-solid fa-dice-d20"></i>{{weapon.damageFormula}}</a></span>
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq system.weapontype "polearm")}}
|
||||
<span class="item-field-label-medium"><a class="roll-damage-2hands"><i class="fa-solid fa-dice-d20"></i>{{weapon.damageFormula2Hands}}</a></span>
|
||||
{{/if}}
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
@@ -208,7 +216,7 @@
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">Shields</label></h3>
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.shields"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
@@ -240,7 +248,7 @@
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">Armors</label></h3>
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.armors"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
@@ -477,28 +485,20 @@
|
||||
<div>
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Origin</label>
|
||||
<label class="generic-label">{{localize "WH.ui.origin"}}</label>
|
||||
<input type="text" class="" name="system.biodata.origin" value="{{data.biodata.origin}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Age</label>
|
||||
<label class="generic-label">{{localize "WH.ui.age"}}</label>
|
||||
<input type="text" class="" name="system.biodata.age" value="{{data.biodata.age}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Height</label>
|
||||
<label class="generic-label">{{localize "WH.ui.height"}}</label>
|
||||
<input type="text" class="" name="system.biodata.height" value="{{data.biodata.height}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Eyes</label>
|
||||
<input type="text" class="" name="system.biodata.eyes" value="{{data.biodata.eyes}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Hair</label>
|
||||
<input type="text" class="" name="system.biodata.hair" value="{{data.biodata.hair}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Preferred Hand</label>
|
||||
<label class="generic-label">{{localize "WH.ui.preferredhand"}}</label>
|
||||
<input type="text" class="" name="system.biodata.preferredhand" value="{{data.biodata.preferredhand}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
@@ -507,7 +507,7 @@
|
||||
<div>
|
||||
<ul>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Size</label>
|
||||
<label class="generic-label">{{localize "WH.ui.size"}}</label>
|
||||
<select class="competence-base flexrow" type="text" name="system.biodata.size" value="{{data.biodata.size}}" data-dtype="Number">
|
||||
{{#select data.biodata.size}}
|
||||
<option value="1">Tiny</option>
|
||||
@@ -520,22 +520,30 @@
|
||||
</select>
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Sex</label>
|
||||
<label class="generic-label">{{localize "WH.ui.gender"}}</label>
|
||||
<input type="text" class="" name="system.biodata.sex" value="{{data.biodata.sex}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">{{localize "WH.ui.eyes"}}</label>
|
||||
<input type="text" class="" name="system.biodata.eyes" value="{{data.biodata.eyes}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">{{localize "WH.ui.hair"}}</label>
|
||||
<input type="text" class="" name="system.biodata.hair" value="{{data.biodata.hair}}" data-dtype="String" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<hr>
|
||||
<h3>Background : </h3>
|
||||
<h3>{{localize "WH.ui.background"}} : </h3>
|
||||
<div class="form-group editor">
|
||||
{{editor description target="system.biodata.description" button=true owner=owner
|
||||
editable=editable}}
|
||||
</div>
|
||||
<hr>
|
||||
<h3>Notes : </h3>
|
||||
<h3>{{localize "WH.ui.notes"}} : </h3>
|
||||
<div class="form-group editor">
|
||||
{{editor notes target="system.biodata.notes" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
|
||||
@@ -64,12 +64,12 @@
|
||||
|
||||
{{!-- Sheet Tab Navigation --}}
|
||||
<nav class="sheet-tabs tabs" data-group="primary">
|
||||
<a class="item" data-tab="main">Main</a>
|
||||
<a class="item" data-tab="combat">Combat</a>
|
||||
<a class="item" data-tab="skill">Skills&Effects</a>
|
||||
<a class="item" data-tab="power">Powers</a>
|
||||
<a class="item" data-tab="equipment">Equipment</a>
|
||||
<a class="item" data-tab="biodata">Biography</a>
|
||||
<a class="item" data-tab="main">{{localize "WH.ui.main"}}</a>
|
||||
<a class="item" data-tab="combat">{{localize "WH.ui.combat"}}</a>
|
||||
<a class="item" data-tab="skill">{{localize "WH.ui.skillstab"}}</a>
|
||||
<a class="item" data-tab="power">{{localize "WH.ui.powers"}}</a>
|
||||
<a class="item" data-tab="equipment">{{localize "WH.ui.equipment"}}</a>
|
||||
<a class="item" data-tab="biodata">{{localize "WH.ui.biography"}}</a>
|
||||
</nav>
|
||||
|
||||
{{!-- Sheet Body --}}
|
||||
@@ -176,7 +176,7 @@
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">Weapons</label></h3>
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.weapons"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
@@ -193,7 +193,15 @@
|
||||
|
||||
<span class="item-field-label-medium">{{weapon.system.weapontype}}</span>
|
||||
|
||||
{{#if (eq system.weapontype "special")}}
|
||||
<span class="item-field-label-medium"><a class="roll-damage"><i class="fa-solid fa-dice-d20"></i>{{weapon.system.damageformula}}</a></span>
|
||||
{{else}}
|
||||
<span class="item-field-label-medium"><a class="roll-damage"><i class="fa-solid fa-dice-d20"></i>{{weapon.damageFormula}}</a></span>
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq system.weapontype "polearm")}}
|
||||
<span class="item-field-label-medium"><a class="roll-damage-2hands"><i class="fa-solid fa-dice-d20"></i>{{weapon.damageFormula2Hands}}</a></span>
|
||||
{{/if}}
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
@@ -208,7 +216,7 @@
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">Shields</label></h3>
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.shields"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
@@ -240,7 +248,7 @@
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">Armors</label></h3>
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.armors"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
@@ -378,6 +386,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{{!-- Powers Tab --}}
|
||||
<div class="tab power" data-group="primary" data-tab="power">
|
||||
|
||||
@@ -476,28 +485,20 @@
|
||||
<div>
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Origin</label>
|
||||
<label class="generic-label">{{localize "WH.ui.origin"}}</label>
|
||||
<input type="text" class="" name="system.biodata.origin" value="{{data.biodata.origin}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Age</label>
|
||||
<label class="generic-label">{{localize "WH.ui.age"}}</label>
|
||||
<input type="text" class="" name="system.biodata.age" value="{{data.biodata.age}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Height</label>
|
||||
<label class="generic-label">{{localize "WH.ui.height"}}</label>
|
||||
<input type="text" class="" name="system.biodata.height" value="{{data.biodata.height}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Eyes</label>
|
||||
<input type="text" class="" name="system.biodata.eyes" value="{{data.biodata.eyes}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Hair</label>
|
||||
<input type="text" class="" name="system.biodata.hair" value="{{data.biodata.hair}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Preferred Hand</label>
|
||||
<label class="generic-label">{{localize "WH.ui.preferredhand"}}</label>
|
||||
<input type="text" class="" name="system.biodata.preferredhand" value="{{data.biodata.preferredhand}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
@@ -506,7 +507,7 @@
|
||||
<div>
|
||||
<ul>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Size</label>
|
||||
<label class="generic-label">{{localize "WH.ui.size"}}</label>
|
||||
<select class="competence-base flexrow" type="text" name="system.biodata.size" value="{{data.biodata.size}}" data-dtype="Number">
|
||||
{{#select data.biodata.size}}
|
||||
<option value="1">Tiny</option>
|
||||
@@ -519,22 +520,30 @@
|
||||
</select>
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Sex</label>
|
||||
<label class="generic-label">{{localize "WH.ui.gender"}}</label>
|
||||
<input type="text" class="" name="system.biodata.sex" value="{{data.biodata.sex}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">{{localize "WH.ui.eyes"}}</label>
|
||||
<input type="text" class="" name="system.biodata.eyes" value="{{data.biodata.eyes}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">{{localize "WH.ui.hair"}}</label>
|
||||
<input type="text" class="" name="system.biodata.hair" value="{{data.biodata.hair}}" data-dtype="String" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<hr>
|
||||
<h3>Background : </h3>
|
||||
<h3>{{localize "WH.ui.background"}} : </h3>
|
||||
<div class="form-group editor">
|
||||
{{editor description target="system.biodata.description" button=true owner=owner
|
||||
editable=editable}}
|
||||
</div>
|
||||
<hr>
|
||||
<h3>Notes : </h3>
|
||||
<h3>{{localize "WH.ui.notes"}} : </h3>
|
||||
<div class="form-group editor">
|
||||
{{editor notes target="system.biodata.notes" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
|
||||
@@ -34,11 +34,11 @@
|
||||
{{/if}}
|
||||
|
||||
{{#if hassave}}
|
||||
<span class="item-field-label-short" name="{{key}}">
|
||||
<h4 class="item-field-label-short">
|
||||
<span class="item-field-label-medium" name="{{key}}">
|
||||
<h4 class="item-field-label-medium">
|
||||
<i class="fa-solid fa-dice-d20"></i>
|
||||
<a class="roll-save stat-margin" data-type="{{path}}" data-key="{{key}}">
|
||||
{{localize "WH.ui.save"}}
|
||||
{{localize (concat "WH.ui.save" key)}}
|
||||
</a>
|
||||
</h4>
|
||||
</span>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<li class="flexrow"><label class="item-field-label-medium ">Slots used</label>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.slotsused"}}</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.slotused" value="{{system.slotused}}" data-dtype="Number"/>
|
||||
</li>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">Slot location</label>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.slotlocation"}}</label>
|
||||
<select class="item-field-label-long " type="text" name="system.slotlocation" value="{{system.slotlocation}}" data-dtype="String">
|
||||
{{#select system.slotlocation}}
|
||||
{{#each config.slotNames as |type key|}}
|
||||
@@ -10,9 +10,9 @@
|
||||
{{/select}}
|
||||
</select>
|
||||
</li>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">Quantity</label>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.quantity"}}</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.quantity" value="{{system.quantity}}" data-dtype="Number"/>
|
||||
</li>
|
||||
<li class="flexrow"><label class="item-field-label-medium">Cost</label>
|
||||
<li class="flexrow"><label class="item-field-label-medium">{{localize "WH.ui.cost"}}</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.cost" value="{{system.cost}}" data-dtype="Number"/>
|
||||
</li>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<div class="tab description" data-group="primary" data-tab="description">
|
||||
<div>
|
||||
<label class="generic-label">Description</label>
|
||||
<div class="medium-editor item-text-long-line">
|
||||
<label class="generic-label">{{localize "WH.ui.description"}}</label>
|
||||
<div class="editor item-text-long-line">
|
||||
{{editor description target="system.description" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{{!-- Sheet Tab Navigation --}}
|
||||
<nav class="sheet-tabs tabs" data-group="primary">
|
||||
<a class="item" data-tab="description">Description</a>
|
||||
<a class="item" data-tab="details">Details</a>
|
||||
<a class="item" data-tab="description">{{localize "WH.ui.description"}}</a>
|
||||
<a class="item" data-tab="details">{{localize "WH.ui.details"}}</a>
|
||||
</nav>
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
<option value="agi">Agility</option>
|
||||
<option value="str">Strength</option>
|
||||
<option value="dex">Dexterity</option>
|
||||
<option value="con">Constitution</option>
|
||||
<option value="int">Intelligence</option>
|
||||
<option value="wit">Wits</option>
|
||||
<option value="cha">Charisma</option>
|
||||
@@ -1,13 +0,0 @@
|
||||
<option value="camping">Camping & Survival</option>
|
||||
<option value="communication">Communication & Information</option>
|
||||
<option value="equestrian">Equestrian</option>
|
||||
<option value="spy">Law/Security/Spy/Thief</option>
|
||||
<option value="medical">Medical</option>
|
||||
<option value="tools">Tools</option>
|
||||
<option value="weaponaccess">Weapons accessories</option>
|
||||
<option value="wizard">Wizards materials</option>
|
||||
<option value="mount">Mounts</option>
|
||||
<option value="vehicle">Vehicles</option>
|
||||
<option value="clothing">Clothing</option>
|
||||
<option value="ammo">Ammo</option>
|
||||
<option value="misc">Misc</option>
|
||||
@@ -1,14 +0,0 @@
|
||||
{{#if notapplicable}}
|
||||
<option value="notapplicable">Not applicable</option>
|
||||
{{/if}}
|
||||
<option value="0">0</option>
|
||||
<option value="1">d4</option>
|
||||
<option value="2">d6</option>
|
||||
<option value="3">d8</option>
|
||||
<option value="4">d10</option>
|
||||
<option value="5">d12</option>
|
||||
<option value="6">d12 d4</option>
|
||||
<option value="7">d12 d6</option>
|
||||
<option value="8">d12 d8</option>
|
||||
<option value="9">d12 d10</option>
|
||||
<option value="10">d12 d12</option>
|
||||
@@ -1,15 +0,0 @@
|
||||
{{#if notapplicable}}
|
||||
<option value="notapplicable">Not applicable</option>
|
||||
{{/if}}
|
||||
<option value="touch">Self Only</option>
|
||||
<option value="touchself">Touch/Self</option>
|
||||
<option value="tz">Threat Zone</option>
|
||||
<option value="close">Close</option>
|
||||
<option value="medium">Medium</option>
|
||||
<option value="long">Long</option>
|
||||
<option value="extreme">Extreme</option>
|
||||
<option value="sight">Line of Sight</option>
|
||||
<option value="tz_close">TZ/Close</option>
|
||||
<option value="close_medium">Close/Medium</option>
|
||||
<option value="medium_long">Medium/Long</option>
|
||||
<option value="long_extreme">Long/Extreme</option>
|
||||
@@ -1,4 +0,0 @@
|
||||
|
||||
<ul>
|
||||
</ul>
|
||||
|
||||
@@ -4,5 +4,5 @@
|
||||
<img class="chat-img" src="{{img}}" title="{{name}}" />
|
||||
{{/if}}
|
||||
<h4><b>Description : </b></h4>
|
||||
<p class="card-content">{{{data.description}}}</p>
|
||||
<p class="card-content">{{{system.description}}}</p>
|
||||
</div>
|
||||
|
||||
@@ -10,23 +10,23 @@
|
||||
|
||||
{{#if weapon}}
|
||||
<div class="flexrow">
|
||||
<span class="item-field-label-vlong">Weapon : </span>
|
||||
<span class="item-field-label-vlong">{{localize "WH.ui.weapon"}} : </span>
|
||||
<span class="item-field-label-vlong">{{weapon.name}}</span>
|
||||
</div>
|
||||
|
||||
{{#if (eq mode "damage")}}
|
||||
{{#if (eq weapon.system.weapontype "special")}}
|
||||
<div class="flexrow">
|
||||
<span class="item-field-label-vlong">Damage : </span>
|
||||
<span class="item-field-label-vlong">{{localize "WH.ui.damage"}} : </span>
|
||||
<span class="item-field-label-vlong">{{weapon.system.damageformula}}</span>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="flexrow">
|
||||
<span class="item-field-label-vlong">Damage : </span>
|
||||
<span class="item-field-label-vlong">{{localize "WH.ui.damage"}} : </span>
|
||||
{{#if is2hands}}
|
||||
<span class="item-field-label-vlong">{{weapon.damageFormula2Hands}}</span>
|
||||
{{else}}
|
||||
<span class="item-field-label-vlong">{{weapon.damage}}</span>
|
||||
<span class="item-field-label-vlong">{{weapon.damageFormula}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
@@ -34,7 +34,7 @@
|
||||
{{else}}
|
||||
{{#if (eq weapon.system.weapontype "special")}}
|
||||
<div class="flexrow">
|
||||
<span class="item-field-label-vlong">Roll Formula : </span>
|
||||
<span class="item-field-label-vlong">{{localize "WH.chat.rollformula"}} : </span>
|
||||
<span class="item-field-label-vlong">{{weapon.system.rollformula}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
@@ -54,7 +54,7 @@
|
||||
|
||||
{{#if stat.istxc}}
|
||||
<div class="flexrow">
|
||||
<span class="item-field-label-vlong">Multiple weapons malus ({{mWeaponMalus}})? </span>
|
||||
<span class="item-field-label-vlong">{{localize "WH.chat.mweaponmalus"}} ({{mWeaponMalus}})? </span>
|
||||
<span class="item-field-label-medium"><input type="checkbox" id="usemWeaponMalus" name="usemWeaponMalus" {{checked usemWeaponMalus}}/></span>
|
||||
{{/if}}
|
||||
</div>
|
||||
@@ -62,7 +62,7 @@
|
||||
|
||||
{{#if shield}}
|
||||
<div class="flexrow">
|
||||
<span class="item-field-label-vlong">Use shield ? : </span>
|
||||
<span class="item-field-label-vlong">{{localize "WH.chat.useshield"}} : </span>
|
||||
<span class="roll-dialog-label">
|
||||
<input type="checkbox" id="useshield" name="useshield" {{checked useshield}}/>
|
||||
</span>
|
||||
@@ -75,11 +75,11 @@
|
||||
|
||||
{{#if power}}
|
||||
<div class="flexrow">
|
||||
<span class="item-field-label-vlong">Power : </span>
|
||||
<span class="item-field-label-vlong">{{localize "WH.chat.power"}} : </span>
|
||||
<span class="item-field-label-medium">{{power.name}}</span>
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="item-field-label-vlong">Power Level : </span>
|
||||
<span class="item-field-label-vlong">{{localize "WH.chat.powerlevel"}} : </span>
|
||||
<span class="item-field-label-medium">{{power.system.level}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
Reference in New Issue
Block a user