Compare commits
4 Commits
fvtt-warhe
...
fvtt-warhe
| Author | SHA1 | Date | |
|---|---|---|---|
| db8cf30e06 | |||
| 8524653c6b | |||
| b962f9ed41 | |||
| 87bb1b6e93 |
41
lang/en.json
41
lang/en.json
@@ -11,6 +11,7 @@
|
||||
"WH.conf.mediumshield": "Medium",
|
||||
"WH.conf.towershield": "Tower",
|
||||
"WH.conf.polearm": "Polearm",
|
||||
"WH.conf.special": "Special",
|
||||
|
||||
"WH.conf.head": "Head",
|
||||
"WH.conf.cloak": "Cloak",
|
||||
@@ -84,7 +85,43 @@
|
||||
"WH.ui.conditions": "Conditions",
|
||||
"WH.ui.effect": "Effect",
|
||||
|
||||
"WH.ui.magicschool": "Magic School",
|
||||
"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.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"
|
||||
}
|
||||
91
lang/it.json
Normal file
91
lang/it.json
Normal file
@@ -0,0 +1,91 @@
|
||||
{
|
||||
"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": "Competeze",
|
||||
"WH.ui.conditions": "Condizioni",
|
||||
"WH.ui.effect": "Effetti",
|
||||
|
||||
"WH.ui.magicschool": "Sfera di magia",
|
||||
|
||||
"WH.chat.save": "Salva"
|
||||
}
|
||||
@@ -10,7 +10,7 @@ export class WarheroActorSheet extends ActorSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
|
||||
|
||||
return mergeObject(super.defaultOptions, {
|
||||
classes: ["fvtt-warhero", "sheet", "actor"],
|
||||
template: "systems/fvtt-warhero/templates/actor-sheet.html",
|
||||
@@ -49,14 +49,14 @@ export class WarheroActorSheet extends ActorSheet {
|
||||
conditions: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getConditions()) ),
|
||||
armors: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getArmors())),
|
||||
shields: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getShields())),
|
||||
powers: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getPowers())),
|
||||
powers: this.actor.sortPowers(),
|
||||
equipments: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getEquipmentsOnly()) ),
|
||||
slotEquipments: this.actor.buildEquipmentsSlot(),
|
||||
subActors: duplicate(this.actor.getSubActors()),
|
||||
competency: this.actor.getCompetency(),
|
||||
race: duplicate(race),
|
||||
class: duplicate(this.actor.getClass()),
|
||||
moneys: duplicate(this.actor.getMoneys()),
|
||||
//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}),
|
||||
options: this.options,
|
||||
@@ -168,7 +168,11 @@ export class WarheroActorSheet extends ActorSheet {
|
||||
const weaponId = li.data("item-id")
|
||||
this.actor.rollDamage(weaponId)
|
||||
});
|
||||
|
||||
html.find('.roll-damage-2hands').click((event) => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
const weaponId = li.data("item-id")
|
||||
this.actor.rollDamage(weaponId, true)
|
||||
});
|
||||
html.find('.lock-unlock-sheet').click((event) => {
|
||||
this.options.editScore = !this.options.editScore;
|
||||
this.render(true);
|
||||
|
||||
@@ -133,6 +133,19 @@ export class WarheroActor extends Actor {
|
||||
WarheroUtility.sortArrayObjectsByName(comp)
|
||||
return comp;
|
||||
}
|
||||
sortPowers() {
|
||||
let schools = {}
|
||||
for(let power of this.items) {
|
||||
if (power.type == "power") {
|
||||
power = duplicate(power)
|
||||
let school = schools[power.system.magicschool] || []
|
||||
school.push(power)
|
||||
WarheroUtility.sortArrayObjectsByNameAndLevel(school)
|
||||
schools[power.system.magicschool] = school
|
||||
}
|
||||
}
|
||||
return schools
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getShields() {
|
||||
let comp = duplicate(this.items.filter(item => item.type == 'shield') || []);
|
||||
@@ -186,12 +199,16 @@ export class WarheroActor extends Actor {
|
||||
/* -------------------------------------------- */
|
||||
prepareWeapon(weapon) {
|
||||
let formula = weapon.system.damage
|
||||
if (weapon.system.weapontype == "long") {
|
||||
if (weapon.system.weapontype == "long" || weapon.system.weapontype == "short") {
|
||||
formula += "+" + this.system.statistics.str.value
|
||||
}
|
||||
if (weapon.system.weapontype == "twohanded") {
|
||||
formula += "+" + Math.floor(this.system.statistics.str.value*1.5)
|
||||
}
|
||||
if (weapon.system.weapontype == "polearm") {
|
||||
formula += "+" + Math.floor(this.system.statistics.str.value*1)
|
||||
weapon.damageFormula2Hands = weapon.system.damage2hands + "+" + Math.floor(this.system.statistics.str.value*1.5)
|
||||
}
|
||||
weapon.damageFormula = formula
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
@@ -664,7 +681,7 @@ export class WarheroActor extends Actor {
|
||||
}
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
rollDamage(weaponId) {
|
||||
rollDamage(weaponId, is2hands = false) {
|
||||
let weapon = this.items.get(weaponId)
|
||||
if (weapon) {
|
||||
weapon = duplicate(weapon)
|
||||
@@ -672,6 +689,7 @@ export class WarheroActor extends Actor {
|
||||
let rollData = this.getCommonRollData()
|
||||
rollData.mode = "damage"
|
||||
rollData.weapon = weapon
|
||||
rollData.is2hands = is2hands
|
||||
rollData.img = weapon.img
|
||||
this.startRoll(rollData)
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ export const WARHERO_CONFIG = {
|
||||
polearm: {damage: "1d6", label: "WH.conf.polearm"},
|
||||
shooting: {damage: "2d6", label: "WH.conf.shooting"},
|
||||
throwing: {damage: "1d8", label: "WH.conf.throwing"},
|
||||
special: {damage: "1d6", label: "WH.conf.special"},
|
||||
},
|
||||
|
||||
armorTypes : {
|
||||
|
||||
@@ -12,6 +12,7 @@ import { WarheroActor } from "./warhero-actor.js";
|
||||
import { WarheroItemSheet } from "./warhero-item-sheet.js";
|
||||
import { WarheroActorSheet } from "./warhero-actor-sheet.js";
|
||||
import { WarheroNPCSheet } from "./warhero-npc-sheet.js";
|
||||
import { WarheroMonsterSheet } from "./warhero-monster-sheet.js";
|
||||
import { WarheroUtility } from "./warhero-utility.js";
|
||||
import { WarheroCombat } from "./warhero-combat.js";
|
||||
import { WarheroItem } from "./warhero-item.js";
|
||||
@@ -60,11 +61,12 @@ Hooks.once("init", async function () {
|
||||
/* -------------------------------------------- */
|
||||
// Register sheet application classes
|
||||
Actors.unregisterSheet("core", ActorSheet);
|
||||
Actors.registerSheet("fvtt-crucible", WarheroActorSheet, { types: ["character"], makeDefault: true });
|
||||
Actors.registerSheet("fvtt-crucible", WarheroNPCSheet, { types: ["npc"], makeDefault: false });
|
||||
Actors.registerSheet("fvtt-warhero", WarheroActorSheet, { types: ["character"], makeDefault: true });
|
||||
Actors.registerSheet("fvtt-warhero", WarheroNPCSheet, { types: ["npc"], makeDefault: false });
|
||||
Actors.registerSheet("fvtt-warhero", WarheroMonsterSheet, { types: ["monster"], makeDefault: false });
|
||||
|
||||
Items.unregisterSheet("core", ItemSheet);
|
||||
Items.registerSheet("fvtt-crucible", WarheroItemSheet, { makeDefault: true });
|
||||
Items.registerSheet("fvtt-warhero", WarheroItemSheet, { makeDefault: true });
|
||||
|
||||
WarheroUtility.init()
|
||||
});
|
||||
|
||||
27
modules/warhero-monster-sheet.js
Normal file
27
modules/warhero-monster-sheet.js
Normal file
@@ -0,0 +1,27 @@
|
||||
/**
|
||||
* Extend the basic ActorSheet with some very simple modifications
|
||||
* @extends {ActorSheet}
|
||||
*/
|
||||
import { WarheroActorSheet } from "./warhero-actor-sheet.js";
|
||||
|
||||
import { WarheroUtility } from "./warhero-utility.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
export class WarheroMonsterSheet extends WarheroActorSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
|
||||
|
||||
return mergeObject(super.defaultOptions, {
|
||||
classes: ["warhero-rpg", "sheet", "actor"],
|
||||
template: "systems/fvtt-warhero/templates/npc-sheet.html",
|
||||
width: 640,
|
||||
height: 720,
|
||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "stats" }],
|
||||
dragDrop: [{ dragSelector: ".item-list .item", dropSelector: null }],
|
||||
editScore: true
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
@@ -2,18 +2,18 @@
|
||||
* Extend the basic ActorSheet with some very simple modifications
|
||||
* @extends {ActorSheet}
|
||||
*/
|
||||
|
||||
import { WarheroActorSheet } from "./warhero-actor-sheet.js";
|
||||
import { WarheroUtility } from "./warhero-utility.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
export class WarheroNPCSheet extends ActorSheet {
|
||||
export class WarheroNPCSheet extends WarheroActorSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
|
||||
return mergeObject(super.defaultOptions, {
|
||||
classes: ["warhero-rpg", "sheet", "actor"],
|
||||
template: "systems/fvtt-warhero/templates/npc-sheet.html",
|
||||
template: "systems/fvtt-warhero/templates/monster-sheet.html",
|
||||
width: 640,
|
||||
height: 720,
|
||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "stats" }],
|
||||
@@ -22,188 +22,4 @@ export class WarheroNPCSheet extends ActorSheet {
|
||||
});
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async getData() {
|
||||
const objectData = this.object.system
|
||||
let actorData = duplicate(objectData)
|
||||
|
||||
let formData = {
|
||||
title: this.title,
|
||||
id: this.actor.id,
|
||||
type: this.actor.type,
|
||||
img: this.actor.img,
|
||||
name: this.actor.name,
|
||||
editable: this.isEditable,
|
||||
cssClass: this.isEditable ? "editable" : "locked",
|
||||
data: actorData,
|
||||
limited: this.object.limited,
|
||||
skills: this.actor.getSkills( ),
|
||||
weapons: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getWeapons()) ),
|
||||
armors: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getArmors())),
|
||||
shields: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getShields())),
|
||||
spells: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getLore())),
|
||||
equipments: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getEquipmentsOnly()) ),
|
||||
equippedWeapons: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getEquippedWeapons()) ),
|
||||
equippedArmor: this.actor.getEquippedArmor(),
|
||||
equippedShield: this.actor.getEquippedShield(),
|
||||
feats: duplicate(this.actor.getFeats()),
|
||||
subActors: duplicate(this.actor.getSubActors()),
|
||||
race: duplicate(this.actor.getRace()),
|
||||
moneys: duplicate(this.actor.getMoneys()),
|
||||
encCapacity: this.actor.getEncumbranceCapacity(),
|
||||
saveRolls: this.actor.getSaveRoll(),
|
||||
conditions: this.actor.getConditions(),
|
||||
containersTree: this.actor.containersTree,
|
||||
encCurrent: this.actor.encCurrent,
|
||||
options: this.options,
|
||||
owner: this.document.isOwner,
|
||||
editScore: this.options.editScore,
|
||||
isGM: game.user.isGM
|
||||
}
|
||||
this.formData = formData;
|
||||
|
||||
console.log("PC : ", formData, this.object);
|
||||
return formData;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** @override */
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
|
||||
// Everything below here is only needed if the sheet is editable
|
||||
if (!this.options.editable) return;
|
||||
|
||||
html.bind("keydown", function(e) { // Ignore Enter in actores sheet
|
||||
if (e.keyCode === 13) return false;
|
||||
});
|
||||
|
||||
// Update Inventory Item
|
||||
html.find('.item-edit').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item")
|
||||
let itemId = li.data("item-id")
|
||||
const item = this.actor.items.get( itemId );
|
||||
item.sheet.render(true);
|
||||
});
|
||||
// Delete Inventory Item
|
||||
html.find('.item-delete').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item")
|
||||
WarheroUtility.confirmDelete(this, li)
|
||||
})
|
||||
html.find('.item-add').click(ev => {
|
||||
let dataType = $(ev.currentTarget).data("type")
|
||||
this.actor.createEmbeddedDocuments('Item', [{ name: "NewItem", type: dataType }], { renderSheet: true })
|
||||
})
|
||||
|
||||
html.find('.equip-activate').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item")
|
||||
let itemId = li.data("item-id")
|
||||
this.actor.equipActivate( itemId)
|
||||
});
|
||||
html.find('.equip-deactivate').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item")
|
||||
let itemId = li.data("item-id")
|
||||
this.actor.equipDeactivate( itemId)
|
||||
});
|
||||
|
||||
html.find('.subactor-edit').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
let actorId = li.data("actor-id");
|
||||
let actor = game.actors.get( actorId );
|
||||
actor.sheet.render(true);
|
||||
});
|
||||
|
||||
html.find('.subactor-delete').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
let actorId = li.data("actor-id");
|
||||
this.actor.delSubActor(actorId);
|
||||
});
|
||||
html.find('.quantity-minus').click(event => {
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
this.actor.incDecQuantity( li.data("item-id"), -1 );
|
||||
} );
|
||||
html.find('.quantity-plus').click(event => {
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
this.actor.incDecQuantity( li.data("item-id"), +1 );
|
||||
} );
|
||||
|
||||
html.find('.ammo-minus').click(event => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
this.actor.incDecAmmo( li.data("item-id"), -1 );
|
||||
} );
|
||||
html.find('.ammo-plus').click(event => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
this.actor.incDecAmmo( li.data("item-id"), +1 )
|
||||
} );
|
||||
|
||||
html.find('.roll-ability').click((event) => {
|
||||
const abilityKey = $(event.currentTarget).data("ability-key");
|
||||
this.actor.rollAbility(abilityKey);
|
||||
});
|
||||
html.find('.roll-skill').click((event) => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
const skillId = li.data("item-id")
|
||||
this.actor.rollSkill(skillId)
|
||||
});
|
||||
|
||||
html.find('.roll-weapon').click((event) => {
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
const skillId = li.data("item-id")
|
||||
this.actor.rollWeapon(skillId)
|
||||
});
|
||||
html.find('.roll-armor-die').click((event) => {
|
||||
this.actor.rollArmorDie()
|
||||
});
|
||||
html.find('.roll-shield-die').click((event) => {
|
||||
this.actor.rollShieldDie()
|
||||
});
|
||||
html.find('.roll-target-die').click((event) => {
|
||||
this.actor.rollDefenseRanged()
|
||||
});
|
||||
|
||||
html.find('.roll-save').click((event) => {
|
||||
const saveKey = $(event.currentTarget).data("save-key")
|
||||
this.actor.rollSave(saveKey)
|
||||
});
|
||||
|
||||
|
||||
html.find('.lock-unlock-sheet').click((event) => {
|
||||
this.options.editScore = !this.options.editScore;
|
||||
this.render(true);
|
||||
});
|
||||
html.find('.item-link a').click((event) => {
|
||||
const itemId = $(event.currentTarget).data("item-id");
|
||||
const item = this.actor.getOwnedItem(itemId);
|
||||
item.sheet.render(true);
|
||||
});
|
||||
html.find('.item-equip').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
this.actor.equipItem( li.data("item-id") );
|
||||
this.render(true);
|
||||
});
|
||||
|
||||
html.find('.update-field').change(ev => {
|
||||
const fieldName = $(ev.currentTarget).data("field-name");
|
||||
let value = Number(ev.currentTarget.value);
|
||||
this.actor.update( { [`${fieldName}`]: value } );
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** @override */
|
||||
setPosition(options = {}) {
|
||||
const position = super.setPosition(options);
|
||||
const sheetBody = this.element.find(".sheet-body");
|
||||
const bodyHeight = position.height - 192;
|
||||
sheetBody.css("height", bodyHeight);
|
||||
return position;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** @override */
|
||||
_updateObject(event, formData) {
|
||||
// Update the Actor
|
||||
return this.object.update(formData);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ export class WarheroUtility {
|
||||
console.log("Element Found !!!!")
|
||||
}) */
|
||||
}
|
||||
|
||||
|
||||
/*-------------------------------------------- */
|
||||
static upperFirst(text) {
|
||||
if (typeof text !== 'string') return text
|
||||
@@ -216,10 +216,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',
|
||||
@@ -544,10 +542,10 @@ export class WarheroUtility {
|
||||
|
||||
let actor = game.actors.get(rollData.actorId)
|
||||
|
||||
if ( rollData.mode == "power") {
|
||||
if (rollData.mode == "power") {
|
||||
let manaCost = Array.from(rollData.powerLevel)[0]
|
||||
if( actor.spentMana(manaCost)) {
|
||||
let powerKey = "level"+rollData.powerLevel
|
||||
if (actor.spentMana(manaCost)) {
|
||||
let powerKey = "level" + rollData.powerLevel
|
||||
rollData.powerText = rollData.power.system[powerKey]
|
||||
let msg = await this.createChatWithRollMode(rollData.alias, {
|
||||
content: await renderTemplate(`systems/fvtt-warhero/templates/chat-generic-result.html`, rollData)
|
||||
@@ -556,13 +554,19 @@ export class WarheroUtility {
|
||||
}
|
||||
return
|
||||
}
|
||||
if ( rollData.mode == "damage") {
|
||||
let myRoll = new Roll(rollData.weapon.damageFormula + "+" + rollData.bonusMalus).roll({ async: false })
|
||||
if (rollData.mode == "damage") {
|
||||
let formula
|
||||
if (rollData.weapon.system.weapontype == "special") {
|
||||
formula = rollData.weapon.system.damageformula
|
||||
} else {
|
||||
formula = (rollData.is2hands) ? rollData.weapon.damageFormula2Hands : rollData.weapon.damageFormula
|
||||
}
|
||||
let myRoll = new Roll(formula + "+" + rollData.bonusMalus, actor.system).roll({ async: false })
|
||||
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
||||
rollData.roll = myRoll
|
||||
rollData.diceFormula = myRoll.formula
|
||||
rollData.diceResult = myRoll.terms[0].results[0].result
|
||||
|
||||
|
||||
let msg = await this.createChatWithRollMode(rollData.alias, {
|
||||
content: await renderTemplate(`systems/fvtt-warhero/templates/chat-generic-result.html`, rollData)
|
||||
})
|
||||
@@ -570,12 +574,17 @@ export class WarheroUtility {
|
||||
return
|
||||
}
|
||||
|
||||
// ability/save/size => 0
|
||||
let diceFormula = "1d20"
|
||||
if ( rollData.stat) {
|
||||
diceFormula += "+" + rollData.stat.value
|
||||
let diceFormula
|
||||
if (rollData.weapon.system.weapontype == "special") {
|
||||
diceFormula = rollData.weapon.system.rollformula
|
||||
} else {
|
||||
// ability/save/size => 0
|
||||
diceFormula = "1d20"
|
||||
if (rollData.stat) {
|
||||
diceFormula += "+" + rollData.stat.value
|
||||
}
|
||||
}
|
||||
if ( rollData.usemWeaponMalus) {
|
||||
if (rollData.usemWeaponMalus) {
|
||||
diceFormula += "+" + rollData.mWeaponMalus
|
||||
}
|
||||
diceFormula += "+" + rollData.bonusMalus
|
||||
@@ -584,7 +593,7 @@ export class WarheroUtility {
|
||||
console.log("Roll formula", diceFormula)
|
||||
let myRoll = rollData.roll
|
||||
if (!myRoll) { // New rolls only of no rerolls
|
||||
myRoll = new Roll(diceFormula).roll({ async: false })
|
||||
myRoll = new Roll(diceFormula, actor.system).roll({ async: false })
|
||||
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
||||
}
|
||||
rollData.roll = myRoll
|
||||
@@ -619,7 +628,19 @@ export class WarheroUtility {
|
||||
return 0;
|
||||
})
|
||||
}
|
||||
|
||||
static sortArrayObjectsByNameAndLevel(myArray) {
|
||||
myArray.sort((a, b) => {
|
||||
let fa = a.system.level + a.name.toLowerCase();
|
||||
let fb = b.system.level + b.name.toLowerCase();
|
||||
if (fa < fb) {
|
||||
return -1;
|
||||
}
|
||||
if (fa > fb) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
})
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
static getUsers(filter) {
|
||||
return game.users.filter(filter).map(user => user.id);
|
||||
|
||||
3032
styles/simple.css
3032
styles/simple.css
File diff suppressed because it is too large
Load Diff
14
system.json
14
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",
|
||||
@@ -95,13 +101,13 @@
|
||||
"flags": {}
|
||||
}
|
||||
],
|
||||
"primaryTokenAttribute": "secondary.hp",
|
||||
"secondaryTokenAttribute": "secondary.effort",
|
||||
"primaryTokenAttribute": "attributes.hp",
|
||||
"secondaryTokenAttribute": "attributes.mana",
|
||||
"socket": true,
|
||||
"styles": [
|
||||
"styles/simple.css"
|
||||
],
|
||||
"version": "10.0.20",
|
||||
"version": "10.0.26",
|
||||
"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.20.zip",
|
||||
"download": "https://www.uberwald.me/gitea/uberwald/fvtt-warhero/archive/fvtt-warhero-10.0.26.zip",
|
||||
"url": "https://www.uberwald.me/gitea/public/fvtt-warhero",
|
||||
"background": "images/ui/warhero_welcome_page.webp",
|
||||
"id": "fvtt-warhero"
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
{
|
||||
"Actor": {
|
||||
"types": ["character", "npc"],
|
||||
"types": [
|
||||
"character",
|
||||
"npc",
|
||||
"monster"
|
||||
],
|
||||
"templates": {
|
||||
"biodata": {
|
||||
"biodata": {
|
||||
@@ -51,7 +55,7 @@
|
||||
}
|
||||
},
|
||||
"attributes": {
|
||||
"hp":{
|
||||
"hp": {
|
||||
"label": "WH.ui.HitPoints",
|
||||
"abbrev": "hp",
|
||||
"style": "edit",
|
||||
@@ -60,7 +64,7 @@
|
||||
"max": 1,
|
||||
"value": 1
|
||||
},
|
||||
"knowledge":{
|
||||
"knowledge": {
|
||||
"label": "WH.ui.Knowledge",
|
||||
"abbrev": "knowledge",
|
||||
"style": "edit",
|
||||
@@ -69,14 +73,14 @@
|
||||
"max": 1,
|
||||
"value": 1
|
||||
},
|
||||
"def":{
|
||||
"def": {
|
||||
"label": "WH.ui.Defence",
|
||||
"abbrev": "def",
|
||||
"style": "edit",
|
||||
"max": 1,
|
||||
"value": 1
|
||||
},
|
||||
"txcm":{
|
||||
"txcm": {
|
||||
"label": "WH.ui.Throw2HitM",
|
||||
"abbrev": "txcm",
|
||||
"istxc": true,
|
||||
@@ -85,7 +89,7 @@
|
||||
"max": 1,
|
||||
"value": 1
|
||||
},
|
||||
"txcr":{
|
||||
"txcr": {
|
||||
"label": "WH.ui.Throw2HitR",
|
||||
"abbrev": "txcr",
|
||||
"istxc": true,
|
||||
@@ -94,7 +98,7 @@
|
||||
"max": 1,
|
||||
"value": 1
|
||||
},
|
||||
"mana":{
|
||||
"mana": {
|
||||
"label": "WH.ui.Mana",
|
||||
"abbrev": "pm",
|
||||
"style": "edit",
|
||||
@@ -103,28 +107,28 @@
|
||||
"max": 1,
|
||||
"value": 1
|
||||
},
|
||||
"ini":{
|
||||
"ini": {
|
||||
"label": "WH.ui.Initiative",
|
||||
"abbrev": "ini",
|
||||
"style": "edit",
|
||||
"max": 1,
|
||||
"value": 1
|
||||
},
|
||||
"movearth":{
|
||||
"movearth": {
|
||||
"label": "WH.ui.Movement",
|
||||
"abbrev": "mov",
|
||||
"style": "edit",
|
||||
"max": 1,
|
||||
"value": 1
|
||||
},
|
||||
"movswim":{
|
||||
"movswim": {
|
||||
"label": "WH.ui.MovementSwim",
|
||||
"abbrev": "mov",
|
||||
"style": "edit",
|
||||
"max": 1,
|
||||
"value": 1
|
||||
},
|
||||
"movfly":{
|
||||
"movfly": {
|
||||
"label": "WH.ui.MovementFly",
|
||||
"abbrev": "mov",
|
||||
"style": "edit",
|
||||
@@ -144,27 +148,27 @@
|
||||
"label": "WH.ui.malusmultiweapon",
|
||||
"abbrev": "malusmultiweapon",
|
||||
"style": "edit",
|
||||
"value": 0
|
||||
"value": 0
|
||||
},
|
||||
"drbonus": {
|
||||
"label": "WH.ui.drbonus",
|
||||
"abbrev": "drbonus",
|
||||
"style": "edit",
|
||||
"value": 0
|
||||
"value": 0
|
||||
},
|
||||
"drbonustotal": {
|
||||
"label": "WH.ui.drbonustotal",
|
||||
"abbrev": "drbonustotal",
|
||||
"disabled": true,
|
||||
"style": "edit",
|
||||
"value": 0
|
||||
"value": 0
|
||||
},
|
||||
"parrybonus": {
|
||||
"label": "WH.ui.parrybonus",
|
||||
"abbrev": "parrybonus",
|
||||
"isparrybonus": true,
|
||||
"style": "edit",
|
||||
"value": 0
|
||||
"value": 0
|
||||
},
|
||||
"parrybonustotal": {
|
||||
"label": "WH.ui.parrybonustotal",
|
||||
@@ -172,7 +176,7 @@
|
||||
"disabled": true,
|
||||
"style": "edit",
|
||||
"roll": true,
|
||||
"value": 0
|
||||
"value": 0
|
||||
},
|
||||
"counterspell": {
|
||||
"label": "WH.ui.counterspell",
|
||||
@@ -180,20 +184,20 @@
|
||||
"style": "edit",
|
||||
"hasmax": true,
|
||||
"max": 1,
|
||||
"value": 0
|
||||
"value": 0
|
||||
},
|
||||
"createitem": {
|
||||
"label": "WH.ui.createitem",
|
||||
"abbrev": "createitem",
|
||||
"style": "edit",
|
||||
"value": 0
|
||||
"value": 0
|
||||
},
|
||||
"nblanguage": {
|
||||
"label": "WH.ui.languagesbonus",
|
||||
"abbrev": "nblanguage",
|
||||
"style": "edit",
|
||||
"disabled": true,
|
||||
"value": 0
|
||||
"value": 0
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -203,14 +207,37 @@
|
||||
}
|
||||
},
|
||||
"character": {
|
||||
"templates": [ "biodata", "core" ]
|
||||
"templates": [
|
||||
"biodata",
|
||||
"core"
|
||||
]
|
||||
},
|
||||
"npc": {
|
||||
"templates": [ "biodata", "core" ]
|
||||
}
|
||||
"templates": [
|
||||
"biodata",
|
||||
"core"
|
||||
]
|
||||
},
|
||||
"monster": {
|
||||
"templates": [
|
||||
"biodata",
|
||||
"core"
|
||||
]
|
||||
}
|
||||
},
|
||||
"Item": {
|
||||
"types": [ "equipment", "race", "weapon", "armor", "shield", "skill", "power", "language", "condition", "class"],
|
||||
"types": [
|
||||
"equipment",
|
||||
"race",
|
||||
"weapon",
|
||||
"armor",
|
||||
"shield",
|
||||
"skill",
|
||||
"power",
|
||||
"language",
|
||||
"condition",
|
||||
"class"
|
||||
],
|
||||
"templates": {
|
||||
"commonclassrace": {
|
||||
"weapons": {
|
||||
@@ -219,7 +246,7 @@
|
||||
"twohanded": false,
|
||||
"shooting": false,
|
||||
"polearm": false,
|
||||
"throwing": false
|
||||
"throwing": false
|
||||
},
|
||||
"armors": {
|
||||
"light": false,
|
||||
@@ -230,7 +257,7 @@
|
||||
"light": false,
|
||||
"medium": false,
|
||||
"tower": false
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"condition": {
|
||||
@@ -238,7 +265,9 @@
|
||||
"description": ""
|
||||
},
|
||||
"class": {
|
||||
"templates": ["commonclassrace"],
|
||||
"templates": [
|
||||
"commonclassrace"
|
||||
],
|
||||
"description": ""
|
||||
},
|
||||
"race": {
|
||||
@@ -248,7 +277,9 @@
|
||||
"attributebonus1": "",
|
||||
"attributebonus4": "",
|
||||
"attributebonus8": "",
|
||||
"templates": ["commonclassrace"]
|
||||
"templates": [
|
||||
"commonclassrace"
|
||||
]
|
||||
},
|
||||
"language": {
|
||||
"shortdescription": "",
|
||||
@@ -264,6 +295,9 @@
|
||||
"weapon": {
|
||||
"weapontype": "short",
|
||||
"damage": "1d6",
|
||||
"damage2hands": "1d6",
|
||||
"rollformula": "",
|
||||
"damageformula": "",
|
||||
"cost": 0,
|
||||
"equipped": false,
|
||||
"quantity": 1,
|
||||
@@ -279,7 +313,7 @@
|
||||
"quantity": 1,
|
||||
"slotused": 1,
|
||||
"slotlocation": "armor",
|
||||
"description":""
|
||||
"description": ""
|
||||
},
|
||||
"shield": {
|
||||
"shieldtype": "light",
|
||||
@@ -289,7 +323,7 @@
|
||||
"quantity": 1,
|
||||
"slotused": 1,
|
||||
"slotlocation": "shield",
|
||||
"description":""
|
||||
"description": ""
|
||||
},
|
||||
"equipment": {
|
||||
"equiptype": "",
|
||||
@@ -298,18 +332,18 @@
|
||||
"equipped": false,
|
||||
"slotused": 1,
|
||||
"slotlocation": "backpack",
|
||||
"description":""
|
||||
"description": ""
|
||||
},
|
||||
"power": {
|
||||
"level": "",
|
||||
"magicschool": "",
|
||||
"description": ""
|
||||
},
|
||||
"spell":{
|
||||
"spell": {
|
||||
"lore": "",
|
||||
"circle": 1,
|
||||
"range": "",
|
||||
"description": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -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>
|
||||
@@ -192,8 +192,16 @@
|
||||
<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>
|
||||
|
||||
|
||||
{{#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>
|
||||
@@ -383,29 +391,34 @@
|
||||
<div class="tab power" data-group="primary" data-tab="power">
|
||||
|
||||
<div class="flexcol">
|
||||
|
||||
|
||||
{{#each powers as |school schoolKey|}}
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Powers</label></h3>
|
||||
<h3><label class="items-title-text">{{schoolKey}}</label></h3>
|
||||
</span>
|
||||
</li>
|
||||
|
||||
{{#each powers as |power key|}}
|
||||
<li class="item stat flexrow list-item list-item-shadow" data-item-id="{{power._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{power.img}}" /></a>
|
||||
<span class="item-name-label">
|
||||
<a class="power-roll"><i class="fa-solid fa-dice-d20"></i>{{power.name}}</a>
|
||||
</span>
|
||||
<div class="item-filler"> </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}}
|
||||
{{#each school as |power key|}}
|
||||
<li class="item stat flexrow list-item list-item-shadow" data-item-id="{{power._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{power.img}}" /></a>
|
||||
<span class="item-name-label">
|
||||
<a class="power-roll"><i class="fa-solid fa-dice-d20"></i>{{power.name}}</a>
|
||||
</span>
|
||||
<span class="item-name-label">
|
||||
<a class="power-roll">{{power.system.level}}</a>
|
||||
</span>
|
||||
<div class="item-filler"> </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>
|
||||
{{/each}}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -472,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>
|
||||
@@ -502,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>
|
||||
@@ -515,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>
|
||||
|
||||
@@ -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,7 +12,7 @@
|
||||
|
||||
<div class="tab details" data-group="primary" data-tab="description">
|
||||
|
||||
<label class="generic-label">Description</label>
|
||||
<label class="generic-label">{{localize "WH.ui.description"}}</label>
|
||||
<div class="medium-editor item-text-long-line">
|
||||
{{editor description target="system.description" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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-medium ">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|}}
|
||||
@@ -27,11 +27,25 @@
|
||||
{{/select}}
|
||||
</select>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-medium ">Damage</label>
|
||||
|
||||
{{#if (eq system.weapontype "special")}}
|
||||
<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 ">{{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 ">{{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 ">{{localize "WH.ui.2hdamage"}}</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.damage2hands" value="{{system.damage2hands}}" data-dtype="String"/>
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-common-equipment.html}}
|
||||
|
||||
|
||||
555
templates/monster-sheet.html
Normal file
555
templates/monster-sheet.html
Normal file
@@ -0,0 +1,555 @@
|
||||
<form class="{{cssClass}}" autocomplete="off">
|
||||
|
||||
{{!-- Sheet Header --}}
|
||||
<header class="sheet-header">
|
||||
<div class="header-fields">
|
||||
<h1 class="charname margin-right"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
|
||||
<div class="flexrow">
|
||||
<img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}" />
|
||||
<div class="flexcol">
|
||||
|
||||
<div class="flexrow">
|
||||
<div class="ability-item">
|
||||
<ul>
|
||||
{{#each system.statistics as |stat key|}}
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=stat key=key path="statistics" fieldClass="item-field-label-medium"}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="ability-item">
|
||||
<ul>
|
||||
<li class="item flexrow list-item " data-item-id="{{race._id}}">
|
||||
<label class="item-field-label-medium">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">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="item flexrow list-item" data-item-id="{{class._id}}">
|
||||
<label class="item-field-label-medium">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">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="item flexrow list-item" >
|
||||
<label class="item-field-label-medium">Religion</label>
|
||||
<input type="text" class="item-field-label-medium" name="system.biodata.religion" value="{{system.biodata.religion}}" data-dtype="String" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flexrow">
|
||||
{{#each system.attributes as |attr key|}}
|
||||
{{#if attr.isheader}}
|
||||
<div class="flexrow">
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=attr key=key path="attributes" fieldClass="item-field-label-medium"}}
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{{!-- Sheet Tab Navigation --}}
|
||||
<nav class="sheet-tabs tabs" data-group="primary">
|
||||
<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 --}}
|
||||
<section class="sheet-body">
|
||||
|
||||
{{!-- Skills Tab --}}
|
||||
<div class="tab main" data-group="primary" data-tab="main">
|
||||
|
||||
<div class="flexrow">
|
||||
|
||||
<div class="ability-item">
|
||||
<ul>
|
||||
{{#each system.attributes as |attr key|}}
|
||||
{{#if (not attr.isheader)}}
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=attr key=key path="attributes" fieldClass="item-field-label-vlong"}}
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<div>
|
||||
<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">{{localize "WH.ui.competency"}}</label></h3>
|
||||
</span>
|
||||
</li>
|
||||
{{#each competency.weapons as |flag key|}}
|
||||
{{#if flag}}
|
||||
<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>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
{{#each competency.shields as |flag key|}}
|
||||
{{#if flag}}
|
||||
<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>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
{{#each competency.armors as |flag key|}}
|
||||
{{#if flag}}
|
||||
<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>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="ability-item">
|
||||
<ul>
|
||||
<li class="item flexrow list-item item-stat-roll" data-attr-key="{{key}}">
|
||||
<span class="item-field-label-vlong" name="{{key}}">
|
||||
<h4 class="item-field-label-vlong">
|
||||
{{localize "WH.ui.xphp"}}
|
||||
</h4>
|
||||
</span>
|
||||
<span class="item-field-label-long" >{{hpprogression}}</span>
|
||||
</li>
|
||||
|
||||
|
||||
{{#each system.secondary as |second key|}}
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=second key=key path="secondary" fieldClass="item-field-label-vlong"}}
|
||||
{{/each}}
|
||||
|
||||
</ul>
|
||||
|
||||
<div>
|
||||
<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">{{localize "WH.ui.languages"}}</label></h3>
|
||||
</span>
|
||||
</li>
|
||||
{{#each languages as |language key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{language._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{language.img}}" /></a>
|
||||
<span class="item-name-label-long">{{language.name}}</span>
|
||||
|
||||
<div class="item-filler"> </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>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
{{!-- Combat Tab --}}
|
||||
<div class="tab combat" data-group="primary" data-tab="combat">
|
||||
<div class="flexcol">
|
||||
|
||||
<div>
|
||||
<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">{{localize "WH.ui.weapons"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.Damage"}}</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each weapons as |weapon key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{weapon._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
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>
|
||||
|
||||
{{#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">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<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">{{localize "WH.ui.shields"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.parrybonus"}}</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each shields as |shield key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{shield._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{shield.img}}" /></a>
|
||||
<span class="item-name-label-long">{{shield.name}}</span>
|
||||
|
||||
<span class="item-field-label-short">{{shield.system.shieldtype}}</span>
|
||||
|
||||
<span class="item-field-label-medium">{{shield.system.parrybonus}}</span>
|
||||
|
||||
<div class="item-filler"> </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>
|
||||
|
||||
<div>
|
||||
<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">{{localize "WH.ui.armors"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.damagereduction"}}</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each armors as |armor key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{armor._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{armor.img}}" /></a>
|
||||
<span class="item-name-label-long">{{armor.name}}</span>
|
||||
|
||||
<span class="item-field-label-short">{{armor.system.armortype}}</span>
|
||||
|
||||
<span class="item-field-label-medium">{{armor.system.damagereduction}}</span>
|
||||
|
||||
<div class="item-filler"> </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>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{!-- Skills Tab --}}
|
||||
<div class="tab skill" data-group="primary" data-tab="skill">
|
||||
<div class="flexcol">
|
||||
|
||||
<div>
|
||||
<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">{{localize "WH.ui.classSkills"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.currentuse"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.maxuse"}}</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each classSkills as |skill key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{skill._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{skill.img}}" /></a>
|
||||
<span class="item-name-label-long">{{skill.name}}</a></span>
|
||||
|
||||
{{#if skill.system.unlimited}}
|
||||
<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.maxuse}}</span>
|
||||
{{/if}}
|
||||
|
||||
<div class="item-filler"> </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>
|
||||
|
||||
<div>
|
||||
<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">{{localize "WH.ui.skills"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.currentuse"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.maxuse"}}</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each skills as |skill key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{skill._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{skill.img}}" /></a>
|
||||
<span class="item-name-label-long">{{skill.name}}</span>
|
||||
|
||||
{{#if skill.system.unlimited}}
|
||||
<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.maxuse}}</span>
|
||||
{{/if}}
|
||||
|
||||
<div class="item-filler"> </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>
|
||||
|
||||
<div>
|
||||
<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">{{localize "WH.ui.conditions"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.effect"}}</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each conditions as |cond key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{cond._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{cond.img}}" /></a>
|
||||
<span class="item-name-label-long">{{cond.name}}</span>
|
||||
|
||||
<span class="item-field-label-medium">{{cond.system.shortdescription}}</span>
|
||||
|
||||
<div class="item-filler"> </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>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{{!-- Powers Tab --}}
|
||||
<div class="tab power" data-group="primary" data-tab="power">
|
||||
|
||||
<div class="flexcol">
|
||||
|
||||
{{#each powers as |school schoolKey|}}
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">{{schoolKey}}</label></h3>
|
||||
</span>
|
||||
</li>
|
||||
|
||||
{{#each school as |power key|}}
|
||||
<li class="item stat flexrow list-item list-item-shadow" data-item-id="{{power._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{power.img}}" /></a>
|
||||
<span class="item-name-label">
|
||||
<a class="power-roll"><i class="fa-solid fa-dice-d20"></i>{{power.name}}</a>
|
||||
</span>
|
||||
<span class="item-name-label">
|
||||
<a class="power-roll">{{power.system.level}}</a>
|
||||
</span>
|
||||
<div class="item-filler"> </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>
|
||||
{{/each}}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{!-- Equipement Tab --}}
|
||||
<div class="tab equipment" data-group="primary" data-tab="equipment">
|
||||
|
||||
{{#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}}">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">{{localize slot.label}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-long">
|
||||
<label class="short-label">{{localize "WH.ui.Qty"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.maxslots"}}: {{slot.nbslots}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.slotsused"}}: {{slot.slotUsed}}</label>
|
||||
</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>
|
||||
</div>
|
||||
</li>
|
||||
{{#each slot.content as |item itemKey|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{item._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{item.img}}" /></a>
|
||||
<span class="item-name-label">{{item.name}}</span>
|
||||
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{upperFirst item.type}}</label>
|
||||
</span>
|
||||
|
||||
<span class="item-field-label-long"><label>
|
||||
{{item.system.quantity}}
|
||||
(<a class="quantity-minus plus-minus-button"> -</a>/<a class="quantity-plus plus-minus-button">+</a>)
|
||||
</label>
|
||||
</span>
|
||||
|
||||
<div class="item-filler"> </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>
|
||||
{{/each}}
|
||||
|
||||
|
||||
<hr>
|
||||
|
||||
</div>
|
||||
|
||||
{{!-- Biography Tab --}}
|
||||
<div class="tab biodata" data-group="primary" data-tab="biodata">
|
||||
<div class="grid grid-2col">
|
||||
<div>
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow">
|
||||
<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">{{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">{{localize "WH.ui.height"}}</label>
|
||||
<input type="text" class="" name="system.biodata.height" value="{{data.biodata.height}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<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>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<ul>
|
||||
<li class="flexrow item">
|
||||
<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>
|
||||
<option value="2">Small</option>
|
||||
<option value="3">Medium</option>
|
||||
<option value="4">Large</option>
|
||||
<option value="5">Huge</option>
|
||||
<option value="6">Gargantuan</option>
|
||||
{{/select}}
|
||||
</select>
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<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>{{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>{{localize "WH.ui.notes"}} : </h3>
|
||||
<div class="form-group editor">
|
||||
{{editor notes target="system.biodata.notes" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
<hr>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
</form>
|
||||
@@ -11,110 +11,460 @@
|
||||
<div class="flexrow">
|
||||
<div class="ability-item">
|
||||
<ul>
|
||||
{{#each data.abilities as |ability key|}}
|
||||
{{#if (eq ability.col 1)}}
|
||||
{{> systems/fvtt-crucible-rpg/templates/partial-actor-ability-block.html ability=ability key=key}}
|
||||
{{/if}}
|
||||
{{#each system.statistics as |stat key|}}
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=stat key=key path="statistics" fieldClass="item-field-label-medium"}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<li class="item flexrow list-item" data-attr-key="class">
|
||||
<span class="ability-label " name="class">
|
||||
<h4 class="ability-text-white ability-margin">Class</h4>
|
||||
</span>
|
||||
<select class="competence-base flexrow" type="text" name="system.biodata.class" value="{{data.biodata.class}}" data-dtype="String">
|
||||
{{#select data.biodata.class}}
|
||||
<option value="none">None</option>
|
||||
<option value="chaplain">Chaplain</option>
|
||||
<option value="magus">Magus</option>
|
||||
<option value="martial">Martial</option>
|
||||
<option value="skalawag">Skalawag</option>
|
||||
<option value="warden">Warden</option>
|
||||
{{/select}}
|
||||
</select>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="ability-item">
|
||||
<ul>
|
||||
{{#each data.abilities as |ability key|}}
|
||||
{{#if (eq ability.col 2)}}
|
||||
{{> systems/fvtt-crucible-rpg/templates/partial-actor-ability-block.html ability=ability key=key}}
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
|
||||
{{#if equippedArmor}}
|
||||
<li class="item flexrow list-item" data-attr-key="class">
|
||||
<img class="sheet-competence-img" src="{{equippedArmor.img}}" />
|
||||
<span class="ability-label " name="class">
|
||||
<h4 class="ability-text-white ability-margin"><a class="roll-armor-die ability-margin">{{equippedArmor.name}}</a></h4>
|
||||
</span>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{#if equippedShield}}
|
||||
<li class="item flexrow list-item" data-attr-key="class">
|
||||
<img class="sheet-competence-img" src="{{equippedShield.img}}" />
|
||||
<span class="ability-label " name="equippedShield">
|
||||
<h4 class="ability-text-white ability-margin"><a class="roll-shield-die ability-margin">{{equippedShield.name}}</a></h4>
|
||||
</span>
|
||||
</li>
|
||||
{{/if}}
|
||||
<li class="item flexrow list-item" data-attr-key="class">
|
||||
<img class="sheet-competence-img" src="systems/fvtt-crucible-rpg/images/icons/feats/Marksman (Ballistic).webp" />
|
||||
<span class="ability-label " name="rollTarget">
|
||||
<h4 class="ability-text-white ability-margin"><a class="roll-target-die ability-margin">Target Roll</a></h4>
|
||||
</span>
|
||||
</li>
|
||||
|
||||
<li class="item flexrow list-item " data-item-id="{{race._id}}">
|
||||
<label class="item-field-label-medium">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">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="item flexrow list-item" data-item-id="{{class._id}}">
|
||||
<label class="item-field-label-medium">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">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="item flexrow list-item" >
|
||||
<label class="item-field-label-medium">Religion</label>
|
||||
<input type="text" class="item-field-label-medium" name="system.biodata.religion" value="{{system.biodata.religion}}" data-dtype="String" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ability-item status-block">
|
||||
{{> systems/fvtt-crucible-rpg/templates/partial-actor-status.html}}
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
{{#each system.attributes as |attr key|}}
|
||||
{{#if attr.isheader}}
|
||||
<div class="flexrow">
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=attr key=key path="attributes" fieldClass="item-field-label-medium"}}
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{{!-- Sheet Tab Navigation --}}
|
||||
<nav class="sheet-tabs tabs" data-group="primary">
|
||||
<a class="item" data-tab="details">Details</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 --}}
|
||||
<section class="sheet-body">
|
||||
|
||||
{{!-- Skills Tab --}}
|
||||
<div class="tab skills" data-group="primary" data-tab="details">
|
||||
<div class="tab main" data-group="primary" data-tab="main">
|
||||
|
||||
<div class="flexrow">
|
||||
|
||||
<ul class="stat-list alternate-list item-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<div class="ability-item">
|
||||
<ul>
|
||||
{{#each system.attributes as |attr key|}}
|
||||
{{#if (not attr.isheader)}}
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=attr key=key path="attributes" fieldClass="item-field-label-vlong"}}
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<div>
|
||||
<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">{{localize "WH.ui.competency"}}</label></h3>
|
||||
</span>
|
||||
</li>
|
||||
{{#each competency.weapons as |flag key|}}
|
||||
{{#if flag}}
|
||||
<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>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
{{#each competency.shields as |flag key|}}
|
||||
{{#if flag}}
|
||||
<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>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
{{#each competency.armors as |flag key|}}
|
||||
{{#if flag}}
|
||||
<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>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="ability-item">
|
||||
<ul>
|
||||
<li class="item flexrow list-item item-stat-roll" data-attr-key="{{key}}">
|
||||
<span class="item-field-label-vlong" name="{{key}}">
|
||||
<h4 class="item-field-label-vlong">
|
||||
{{localize "WH.ui.xphp"}}
|
||||
</h4>
|
||||
</span>
|
||||
<span class="item-field-label-long" >{{hpprogression}}</span>
|
||||
</li>
|
||||
|
||||
|
||||
{{#each system.secondary as |second key|}}
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=second key=key path="secondary" fieldClass="item-field-label-vlong"}}
|
||||
{{/each}}
|
||||
|
||||
</ul>
|
||||
|
||||
<div>
|
||||
<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">{{localize "WH.ui.languages"}}</label></h3>
|
||||
</span>
|
||||
</li>
|
||||
{{#each languages as |language key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{language._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{language.img}}" /></a>
|
||||
<span class="item-name-label-long">{{language.name}}</span>
|
||||
|
||||
<div class="item-filler"> </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>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
{{!-- Combat Tab --}}
|
||||
<div class="tab combat" data-group="primary" data-tab="combat">
|
||||
<div class="flexcol">
|
||||
|
||||
<div>
|
||||
<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">{{localize "WH.ui.weapons"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.Damage"}}</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each weapons as |weapon key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{weapon._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
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>
|
||||
|
||||
{{#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">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<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">{{localize "WH.ui.shields"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.parrybonus"}}</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each shields as |shield key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{shield._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{shield.img}}" /></a>
|
||||
<span class="item-name-label-long">{{shield.name}}</span>
|
||||
|
||||
<span class="item-field-label-short">{{shield.system.shieldtype}}</span>
|
||||
|
||||
<span class="item-field-label-medium">{{shield.system.parrybonus}}</span>
|
||||
|
||||
<div class="item-filler"> </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>
|
||||
|
||||
<div>
|
||||
<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">{{localize "WH.ui.armors"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.damagereduction"}}</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each armors as |armor key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{armor._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{armor.img}}" /></a>
|
||||
<span class="item-name-label-long">{{armor.name}}</span>
|
||||
|
||||
<span class="item-field-label-short">{{armor.system.armortype}}</span>
|
||||
|
||||
<span class="item-field-label-medium">{{armor.system.damagereduction}}</span>
|
||||
|
||||
<div class="item-filler"> </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>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{!-- Skills Tab --}}
|
||||
<div class="tab skill" data-group="primary" data-tab="skill">
|
||||
<div class="flexcol">
|
||||
|
||||
<div>
|
||||
<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">{{localize "WH.ui.classSkills"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.currentuse"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.maxuse"}}</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each classSkills as |skill key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{skill._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{skill.img}}" /></a>
|
||||
<span class="item-name-label-long">{{skill.name}}</a></span>
|
||||
|
||||
{{#if skill.system.unlimited}}
|
||||
<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.maxuse}}</span>
|
||||
{{/if}}
|
||||
|
||||
<div class="item-filler"> </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>
|
||||
|
||||
<div>
|
||||
<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">{{localize "WH.ui.skills"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.currentuse"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.maxuse"}}</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each skills as |skill key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{skill._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{skill.img}}" /></a>
|
||||
<span class="item-name-label-long">{{skill.name}}</span>
|
||||
|
||||
{{#if skill.system.unlimited}}
|
||||
<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.maxuse}}</span>
|
||||
{{/if}}
|
||||
|
||||
<div class="item-filler"> </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>
|
||||
|
||||
<div>
|
||||
<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">{{localize "WH.ui.conditions"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.effect"}}</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each conditions as |cond key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{cond._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{cond.img}}" /></a>
|
||||
<span class="item-name-label-long">{{cond.name}}</span>
|
||||
|
||||
<span class="item-field-label-medium">{{cond.system.shortdescription}}</span>
|
||||
|
||||
<div class="item-filler"> </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>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{{!-- Powers Tab --}}
|
||||
<div class="tab power" data-group="primary" data-tab="power">
|
||||
|
||||
<div class="flexcol">
|
||||
|
||||
{{#each powers as |school schoolKey|}}
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">{{schoolKey}}</label></h3>
|
||||
</span>
|
||||
</li>
|
||||
|
||||
{{#each school as |power key|}}
|
||||
<li class="item stat flexrow list-item list-item-shadow" data-item-id="{{power._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{power.img}}" /></a>
|
||||
<span class="item-name-label">
|
||||
<a class="power-roll"><i class="fa-solid fa-dice-d20"></i>{{power.name}}</a>
|
||||
</span>
|
||||
<span class="item-name-label">
|
||||
<a class="power-roll">{{power.system.level}}</a>
|
||||
</span>
|
||||
<div class="item-filler"> </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>
|
||||
{{/each}}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{!-- Equipement Tab --}}
|
||||
<div class="tab equipment" data-group="primary" data-tab="equipment">
|
||||
|
||||
{{#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}}">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Skills</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Ability</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Dice</label>
|
||||
<h3><label class="items-title-text">{{localize slot.label}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-long">
|
||||
<label class="short-label">Background</label>
|
||||
<label class="short-label">{{localize "WH.ui.Qty"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.maxslots"}}: {{slot.nbslots}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.slotsused"}}: {{slot.slotUsed}}</label>
|
||||
</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>
|
||||
</div>
|
||||
</li>
|
||||
{{#each skills as |skill key|}}
|
||||
<li class="item stat flexrow list-item list-item-shadow" data-item-id="{{skill._id}}">
|
||||
{{#each slot.content as |item itemKey|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{item._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{skill.img}}" /></a>
|
||||
<span class="item-name-label"><a class="roll-skill">{{skill.name}}</a></span>
|
||||
<span class="item-field-label-short">{{upper skill.system.ability}}</span>
|
||||
<span class="item-field-label-short">{{skill.system.skilldice}}</span>
|
||||
<span class="item-field-label-long"> - </span>
|
||||
src="{{item.img}}" /></a>
|
||||
<span class="item-name-label">{{item.name}}</span>
|
||||
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{upperFirst item.type}}</label>
|
||||
</span>
|
||||
|
||||
<span class="item-field-label-long"><label>
|
||||
{{item.system.quantity}}
|
||||
(<a class="quantity-minus plus-minus-button"> -</a>/<a class="quantity-plus plus-minus-button">+</a>)
|
||||
</label>
|
||||
</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
@@ -122,213 +472,10 @@
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/each}}
|
||||
|
||||
<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">Combat</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Ability</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">Range</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each equippedWeapons as |weapon key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{weapon._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{weapon.img}}" /></a>
|
||||
<span class="item-name-label-long"><a class ="roll-weapon">{{weapon.name}}</a></span>
|
||||
|
||||
<span class="item-field-label-short">{{weapon.system.ability}}</span>
|
||||
|
||||
<span class="item-field-label-medium">{{perk.system.range}}</span>
|
||||
|
||||
<div class="item-filler"> </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>
|
||||
|
||||
<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">Monster Powers</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">Feature Die?</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">SL?</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">SL</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each feats as |feat key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{feat._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{feat.img}}" /></a>
|
||||
<span class="item-name-label-long">{{feat.name}}</span>
|
||||
|
||||
<span class="item-field-label-medium">{{upperFirst feat.system.isfeatdie}}</span>
|
||||
<span class="item-field-label-medium">{{upperFirst feat.system.issl}}</span>
|
||||
<span class="item-field-label-medium">{{feat.system.sl}}</span>
|
||||
|
||||
<div class="item-filler"> </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>
|
||||
|
||||
<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">Conditions</label></h3>
|
||||
</span>
|
||||
</li>
|
||||
{{#each conditions as |condition key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{condition._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{condition.img}}" /></a>
|
||||
<span class="item-name-label-long">{{condition.name}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-filler"> </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>
|
||||
|
||||
<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">Weapons</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Attack</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Damage</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 weapons as |weapon key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{weapon._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{weapon.img}}" /></a>
|
||||
<span class="item-name-label">{{weapon.name}}</span>
|
||||
<span class="item-field-label-short"><label>{{upper weapon.system.ability}}</label></span>
|
||||
<span class="item-field-label-short"><label>{{upper weapon.system.damage}}</label></span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-equip" title="Worn">{{#if weapon.system.equipped}}<i
|
||||
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<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">Armors</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Type</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Absorption</label>
|
||||
</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="armor" title="Create Item"><i class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each armors as |armor key|}}
|
||||
<li class="item list-item flexrow list-item-shadow" data-item-id="{{armor._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{armor.img}}" /></a>
|
||||
<span class="item-name-label">{{armor.name}}</span>
|
||||
<span class="item-field-label-short">{{upper armor.system.armortype}}</span>
|
||||
<span class="item-field-label-short">{{armor.system.absorprionroll}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-equip" title="Worn">{{#if armor.system.equipped}}<i
|
||||
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<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">Shields</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Dice</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="shield" title="Create Item"><i class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each shields as |shield key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{shield._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{shield.img}}" /></a>
|
||||
<span class="item-name-label">{{shield.name}}</span>
|
||||
<span class="item-field-label-short">{{shield.system.levelDice}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-equip" title="Worn">{{#if shield.system.equipped}}<i
|
||||
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<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">Equipment</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-long">
|
||||
<label class="short-label">Quantity</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="equipment" title="Create Item"><i class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
{{#each containersTree as |equip key|}}
|
||||
{{> systems/fvtt-crucible-rpg/templates/partial-actor-equipment.html equip=equip level=1}}
|
||||
<ul class="item-list list-item-shadow2 list-item-margin1">
|
||||
{{#each equip.data.contents as |subgear key|}}
|
||||
{{> systems/fvtt-crucible-rpg/templates/partial-actor-equipment.html equip=subgear level=2}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
<hr>
|
||||
|
||||
</div>
|
||||
|
||||
@@ -338,32 +485,29 @@
|
||||
<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 class="flexrow item">
|
||||
<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>
|
||||
</ul>
|
||||
</div>
|
||||
<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>
|
||||
@@ -376,18 +520,16 @@
|
||||
</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="flexrow item">
|
||||
<label class="generic-label">Preferred Hand</label>
|
||||
<input type="text" class="" name="system.biodata.preferredhand" value="{{data.biodata.preferredhand}}"
|
||||
data-dtype="String" />
|
||||
<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="flexrow item" data-item-id="{{race._id}}">
|
||||
<label class="generic-label">Race</label>
|
||||
<a class="item-edit"><img class="stat-icon" src="{{race.img}}"></a>
|
||||
<input type="text" class="" name="system.biodata.racename" value="{{data.biodata.racename}}" data-dtype="String" />
|
||||
<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>
|
||||
@@ -395,15 +537,15 @@
|
||||
|
||||
|
||||
<hr>
|
||||
<h3>Background : </h3>
|
||||
<h3>{{localize "WH.ui.background"}} : </h3>
|
||||
<div class="form-group editor">
|
||||
{{editor data.biodata.description target="system.biodata.description" button=true owner=owner
|
||||
{{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 data.biodata.notes target="system.biodata.notes" button=true owner=owner editable=editable}}
|
||||
{{editor notes target="system.biodata.notes" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
<hr>
|
||||
</article>
|
||||
|
||||
@@ -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,6 +1,6 @@
|
||||
<div class="tab description" data-group="primary" data-tab="description">
|
||||
<div>
|
||||
<label class="generic-label">Description</label>
|
||||
<label class="generic-label">{{localize "WH.ui.description"}}</label>
|
||||
<div class="medium-editor item-text-long-line">
|
||||
{{editor description target="system.description" button=true owner=owner editable=editable}}
|
||||
</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>
|
||||
|
||||
@@ -9,21 +9,42 @@
|
||||
<div class="flexcol">
|
||||
|
||||
{{#if weapon}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-long">Weapon : </span>
|
||||
<span class="item-field-label-medium">{{weapon.name}}</span>
|
||||
<div class="flexrow">
|
||||
<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">{{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">{{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>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{else}}
|
||||
{{#if (eq weapon.system.weapontype "special")}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-long">Damage : </span>
|
||||
<span class="item-field-label-medium">{{weapon.damageFormula}}</span>
|
||||
</div>
|
||||
<span class="item-field-label-vlong">{{localize "WH.chat.rollformula"}} : </span>
|
||||
<span class="item-field-label-vlong">{{weapon.system.rollformula}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
{{/if}}
|
||||
|
||||
{{#if stat}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-long">{{localize stat.label}}</span>
|
||||
<span class="item-field-label-vlong">{{localize stat.label}}</span>
|
||||
{{#if (eq mode "save")}}
|
||||
<span class="item-field-label-medium">{{stat.save}}</span>
|
||||
{{else}}
|
||||
@@ -33,7 +54,7 @@
|
||||
|
||||
{{#if stat.istxc}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-long">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>
|
||||
@@ -41,31 +62,31 @@
|
||||
|
||||
{{#if shield}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-long">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>
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-long">{{shield.name}} : </span>
|
||||
<span class="roll-dialog-label">{{shield.data.shielddie}}</span>
|
||||
<span class="item-field-label-vlong">{{shield.name}} : </span>
|
||||
<span class="item-field-label-medium">{{shield.data.shielddie}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if power}}
|
||||
<div class="flexrow">
|
||||
<span class="item-field-label-long">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-long">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}}
|
||||
|
||||
{{#if hasBM}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-long">Bonus/Malus : </span>
|
||||
<span class="item-field-label-vlong">Bonus/Malus : </span>
|
||||
<select class="item-field-label-medium" type="text" id="bonusMalus" value="{{bonusMalus}}">
|
||||
{{#select bonusMalus}}
|
||||
<option value="-6">-6</option>
|
||||
|
||||
Reference in New Issue
Block a user