Update powers
This commit is contained in:
parent
d7dc6fbb42
commit
87bb1b6e93
@ -11,6 +11,7 @@
|
|||||||
"WH.conf.mediumshield": "Medium",
|
"WH.conf.mediumshield": "Medium",
|
||||||
"WH.conf.towershield": "Tower",
|
"WH.conf.towershield": "Tower",
|
||||||
"WH.conf.polearm": "Polearm",
|
"WH.conf.polearm": "Polearm",
|
||||||
|
"WH.conf.special": "Special",
|
||||||
|
|
||||||
"WH.conf.head": "Head",
|
"WH.conf.head": "Head",
|
||||||
"WH.conf.cloak": "Cloak",
|
"WH.conf.cloak": "Cloak",
|
||||||
|
@ -49,7 +49,7 @@ export class WarheroActorSheet extends ActorSheet {
|
|||||||
conditions: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getConditions()) ),
|
conditions: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getConditions()) ),
|
||||||
armors: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getArmors())),
|
armors: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getArmors())),
|
||||||
shields: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getShields())),
|
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()) ),
|
equipments: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getEquipmentsOnly()) ),
|
||||||
slotEquipments: this.actor.buildEquipmentsSlot(),
|
slotEquipments: this.actor.buildEquipmentsSlot(),
|
||||||
subActors: duplicate(this.actor.getSubActors()),
|
subActors: duplicate(this.actor.getSubActors()),
|
||||||
@ -168,7 +168,11 @@ export class WarheroActorSheet extends ActorSheet {
|
|||||||
const weaponId = li.data("item-id")
|
const weaponId = li.data("item-id")
|
||||||
this.actor.rollDamage(weaponId)
|
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) => {
|
html.find('.lock-unlock-sheet').click((event) => {
|
||||||
this.options.editScore = !this.options.editScore;
|
this.options.editScore = !this.options.editScore;
|
||||||
this.render(true);
|
this.render(true);
|
||||||
|
@ -133,6 +133,19 @@ export class WarheroActor extends Actor {
|
|||||||
WarheroUtility.sortArrayObjectsByName(comp)
|
WarheroUtility.sortArrayObjectsByName(comp)
|
||||||
return 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() {
|
getShields() {
|
||||||
let comp = duplicate(this.items.filter(item => item.type == 'shield') || []);
|
let comp = duplicate(this.items.filter(item => item.type == 'shield') || []);
|
||||||
@ -186,12 +199,16 @@ export class WarheroActor extends Actor {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
prepareWeapon(weapon) {
|
prepareWeapon(weapon) {
|
||||||
let formula = weapon.system.damage
|
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
|
formula += "+" + this.system.statistics.str.value
|
||||||
}
|
}
|
||||||
if (weapon.system.weapontype == "twohanded") {
|
if (weapon.system.weapontype == "twohanded") {
|
||||||
formula += "+" + Math.floor(this.system.statistics.str.value*1.5)
|
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
|
weapon.damageFormula = formula
|
||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@ -664,7 +681,7 @@ export class WarheroActor extends Actor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
rollDamage(weaponId) {
|
rollDamage(weaponId, is2hands = false) {
|
||||||
let weapon = this.items.get(weaponId)
|
let weapon = this.items.get(weaponId)
|
||||||
if (weapon) {
|
if (weapon) {
|
||||||
weapon = duplicate(weapon)
|
weapon = duplicate(weapon)
|
||||||
@ -672,6 +689,7 @@ export class WarheroActor extends Actor {
|
|||||||
let rollData = this.getCommonRollData()
|
let rollData = this.getCommonRollData()
|
||||||
rollData.mode = "damage"
|
rollData.mode = "damage"
|
||||||
rollData.weapon = weapon
|
rollData.weapon = weapon
|
||||||
|
rollData.is2hands = is2hands
|
||||||
rollData.img = weapon.img
|
rollData.img = weapon.img
|
||||||
this.startRoll(rollData)
|
this.startRoll(rollData)
|
||||||
}
|
}
|
||||||
|
@ -7,6 +7,7 @@ export const WARHERO_CONFIG = {
|
|||||||
polearm: {damage: "1d6", label: "WH.conf.polearm"},
|
polearm: {damage: "1d6", label: "WH.conf.polearm"},
|
||||||
shooting: {damage: "2d6", label: "WH.conf.shooting"},
|
shooting: {damage: "2d6", label: "WH.conf.shooting"},
|
||||||
throwing: {damage: "1d8", label: "WH.conf.throwing"},
|
throwing: {damage: "1d8", label: "WH.conf.throwing"},
|
||||||
|
special: {damage: "1d6", label: "WH.conf.special"},
|
||||||
},
|
},
|
||||||
|
|
||||||
armorTypes : {
|
armorTypes : {
|
||||||
|
@ -12,6 +12,7 @@ import { WarheroActor } from "./warhero-actor.js";
|
|||||||
import { WarheroItemSheet } from "./warhero-item-sheet.js";
|
import { WarheroItemSheet } from "./warhero-item-sheet.js";
|
||||||
import { WarheroActorSheet } from "./warhero-actor-sheet.js";
|
import { WarheroActorSheet } from "./warhero-actor-sheet.js";
|
||||||
import { WarheroNPCSheet } from "./warhero-npc-sheet.js";
|
import { WarheroNPCSheet } from "./warhero-npc-sheet.js";
|
||||||
|
import { WarheroMonsterSheet } from "./warhero-monster-sheet.js";
|
||||||
import { WarheroUtility } from "./warhero-utility.js";
|
import { WarheroUtility } from "./warhero-utility.js";
|
||||||
import { WarheroCombat } from "./warhero-combat.js";
|
import { WarheroCombat } from "./warhero-combat.js";
|
||||||
import { WarheroItem } from "./warhero-item.js";
|
import { WarheroItem } from "./warhero-item.js";
|
||||||
@ -60,11 +61,12 @@ Hooks.once("init", async function () {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
// Register sheet application classes
|
// Register sheet application classes
|
||||||
Actors.unregisterSheet("core", ActorSheet);
|
Actors.unregisterSheet("core", ActorSheet);
|
||||||
Actors.registerSheet("fvtt-crucible", WarheroActorSheet, { types: ["character"], makeDefault: true });
|
Actors.registerSheet("fvtt-warhero", WarheroActorSheet, { types: ["character"], makeDefault: true });
|
||||||
Actors.registerSheet("fvtt-crucible", WarheroNPCSheet, { types: ["npc"], makeDefault: false });
|
Actors.registerSheet("fvtt-warhero", WarheroNPCSheet, { types: ["npc"], makeDefault: false });
|
||||||
|
Actors.registerSheet("fvtt-warhero", WarheroMonsterSheet, { types: ["monster"], makeDefault: false });
|
||||||
|
|
||||||
Items.unregisterSheet("core", ItemSheet);
|
Items.unregisterSheet("core", ItemSheet);
|
||||||
Items.registerSheet("fvtt-crucible", WarheroItemSheet, { makeDefault: true });
|
Items.registerSheet("fvtt-warhero", WarheroItemSheet, { makeDefault: true });
|
||||||
|
|
||||||
WarheroUtility.init()
|
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
|
* Extend the basic ActorSheet with some very simple modifications
|
||||||
* @extends {ActorSheet}
|
* @extends {ActorSheet}
|
||||||
*/
|
*/
|
||||||
|
import { WarheroActorSheet } from "./warhero-actor-sheet.js";
|
||||||
import { WarheroUtility } from "./warhero-utility.js";
|
import { WarheroUtility } from "./warhero-utility.js";
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
export class WarheroNPCSheet extends ActorSheet {
|
export class WarheroNPCSheet extends WarheroActorSheet {
|
||||||
|
|
||||||
/** @override */
|
/** @override */
|
||||||
static get defaultOptions() {
|
static get defaultOptions() {
|
||||||
|
|
||||||
return mergeObject(super.defaultOptions, {
|
return mergeObject(super.defaultOptions, {
|
||||||
classes: ["warhero-rpg", "sheet", "actor"],
|
classes: ["warhero-rpg", "sheet", "actor"],
|
||||||
template: "systems/fvtt-warhero/templates/npc-sheet.html",
|
template: "systems/fvtt-warhero/templates/monster-sheet.html",
|
||||||
width: 640,
|
width: 640,
|
||||||
height: 720,
|
height: 720,
|
||||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "stats" }],
|
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);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -557,7 +557,13 @@ export class WarheroUtility {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
if (rollData.mode == "damage") {
|
if (rollData.mode == "damage") {
|
||||||
let myRoll = new Roll(rollData.weapon.damageFormula + "+" + rollData.bonusMalus).roll({ async: false })
|
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"))
|
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
||||||
rollData.roll = myRoll
|
rollData.roll = myRoll
|
||||||
rollData.diceFormula = myRoll.formula
|
rollData.diceFormula = myRoll.formula
|
||||||
@ -570,11 +576,16 @@ export class WarheroUtility {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let diceFormula
|
||||||
|
if (rollData.weapon.system.weapontype == "special") {
|
||||||
|
diceFormula = rollData.weapon.system.rollformula
|
||||||
|
} else {
|
||||||
// ability/save/size => 0
|
// ability/save/size => 0
|
||||||
let diceFormula = "1d20"
|
diceFormula = "1d20"
|
||||||
if (rollData.stat) {
|
if (rollData.stat) {
|
||||||
diceFormula += "+" + rollData.stat.value
|
diceFormula += "+" + rollData.stat.value
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (rollData.usemWeaponMalus) {
|
if (rollData.usemWeaponMalus) {
|
||||||
diceFormula += "+" + rollData.mWeaponMalus
|
diceFormula += "+" + rollData.mWeaponMalus
|
||||||
}
|
}
|
||||||
@ -584,7 +595,7 @@ export class WarheroUtility {
|
|||||||
console.log("Roll formula", diceFormula)
|
console.log("Roll formula", diceFormula)
|
||||||
let myRoll = rollData.roll
|
let myRoll = rollData.roll
|
||||||
if (!myRoll) { // New rolls only of no rerolls
|
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"))
|
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
||||||
}
|
}
|
||||||
rollData.roll = myRoll
|
rollData.roll = myRoll
|
||||||
@ -619,7 +630,19 @@ export class WarheroUtility {
|
|||||||
return 0;
|
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) {
|
static getUsers(filter) {
|
||||||
return game.users.filter(filter).map(user => user.id);
|
return game.users.filter(filter).map(user => user.id);
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
--major-button-font-weight: normal;
|
--major-button-font-weight: normal;
|
||||||
--major-button-color: #dadada;
|
--major-button-color: #dadada;
|
||||||
|
|
||||||
--tab-header-font-size: 1.0rem;
|
--tab-header-font-size: 1rem;
|
||||||
--tab-header-font-weight: 700;
|
--tab-header-font-weight: 700;
|
||||||
--tab-header-color: #403f3e;
|
--tab-header-color: #403f3e;
|
||||||
--tab-header-color-active: #4a0404;
|
--tab-header-color-active: #4a0404;
|
||||||
@ -41,12 +41,14 @@
|
|||||||
letter-spacing: 1px;
|
letter-spacing: 1px;
|
||||||
color: rgba(228, 240, 240, 0.75);
|
color: rgba(228, 240, 240, 0.75);
|
||||||
background: rgba(66, 66, 64, 0.95);
|
background: rgba(66, 66, 64, 0.95);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Fonts */
|
/* Fonts */
|
||||||
.sheet header.sheet-header h1 input, .window-app .window-header, #actors .directory-list, #navigation #scene-list .scene.nav-item {
|
.sheet header.sheet-header h1 input,
|
||||||
font-size: 1.0rem;
|
.window-app .window-header,
|
||||||
|
#actors .directory-list,
|
||||||
|
#navigation #scene-list .scene.nav-item {
|
||||||
|
font-size: 1rem;
|
||||||
color: rgba(228, 240, 240, 0.75);
|
color: rgba(228, 240, 240, 0.75);
|
||||||
background: rgba(66, 66, 64, 0.95);
|
background: rgba(66, 66, 64, 0.95);
|
||||||
} /* For title, sidebar character and scene */
|
} /* For title, sidebar character and scene */
|
||||||
@ -55,7 +57,16 @@
|
|||||||
color: rgba(228, 240, 240, 0.75);
|
color: rgba(228, 240, 240, 0.75);
|
||||||
background: rgba(66, 66, 64, 0.95);
|
background: rgba(66, 66, 64, 0.95);
|
||||||
} /* For nav and title */
|
} /* For nav and title */
|
||||||
.window-app input, .fvtt-warhero .item-form, .sheet header.sheet-header .flex-group-center.flex-compteurs, .sheet header.sheet-header .flex-group-center.flex-fatigue, select, button, .item-checkbox, #sidebar, #players, #navigation #nav-toggle {
|
.window-app input,
|
||||||
|
.fvtt-warhero .item-form,
|
||||||
|
.sheet header.sheet-header .flex-group-center.flex-compteurs,
|
||||||
|
.sheet header.sheet-header .flex-group-center.flex-fatigue,
|
||||||
|
select,
|
||||||
|
button,
|
||||||
|
.item-checkbox,
|
||||||
|
#sidebar,
|
||||||
|
#players,
|
||||||
|
#navigation #nav-toggle {
|
||||||
font-size: 0.8rem;
|
font-size: 0.8rem;
|
||||||
color: rgba(228, 240, 240, 0.75);
|
color: rgba(228, 240, 240, 0.75);
|
||||||
background: rgba(66, 66, 64, 0.95);
|
background: rgba(66, 66, 64, 0.95);
|
||||||
@ -67,7 +78,9 @@
|
|||||||
.dialog .window-content {
|
.dialog .window-content {
|
||||||
color: #ccdbe6;
|
color: #ccdbe6;
|
||||||
}
|
}
|
||||||
.dialog-content, .dialog-buttons, .form-fields {
|
.dialog-content,
|
||||||
|
.dialog-buttons,
|
||||||
|
.form-fields {
|
||||||
color: #ccdbe6;
|
color: #ccdbe6;
|
||||||
}
|
}
|
||||||
.window-app.sheet .window-content {
|
.window-app.sheet .window-content {
|
||||||
@ -79,7 +92,9 @@
|
|||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
.tabs .item.active, .blessures-list li ul li:first-child:hover, a:hover {
|
.tabs .item.active,
|
||||||
|
.blessures-list li ul li:first-child:hover,
|
||||||
|
a:hover {
|
||||||
text-shadow: 1px 0px 0px #ff6600;
|
text-shadow: 1px 0px 0px #ff6600;
|
||||||
}
|
}
|
||||||
select {
|
select {
|
||||||
@ -91,7 +106,8 @@
|
|||||||
color: rgba(66, 66, 64, 0.95);
|
color: rgba(66, 66, 64, 0.95);
|
||||||
}
|
}
|
||||||
|
|
||||||
.rollable:hover, .rollable:focus {
|
.rollable:hover,
|
||||||
|
.rollable:focus {
|
||||||
color: #000;
|
color: #000;
|
||||||
text-shadow: 0 0 10px red;
|
text-shadow: 0 0 10px red;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
@ -102,9 +118,12 @@
|
|||||||
select:disabled {
|
select:disabled {
|
||||||
color: #1c2058;
|
color: #1c2058;
|
||||||
}
|
}
|
||||||
table {border: 1px solid #7a7971;}
|
table {
|
||||||
|
border: 1px solid #7a7971;
|
||||||
|
}
|
||||||
|
|
||||||
.grid, .grid-2col {
|
.grid,
|
||||||
|
.grid-2col {
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-column: span 2 / span 2;
|
grid-column: span 2 / span 2;
|
||||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||||
@ -344,8 +363,8 @@
|
|||||||
|
|
||||||
.fvtt-warhero .tabs {
|
.fvtt-warhero .tabs {
|
||||||
height: 40px;
|
height: 40px;
|
||||||
border-top: 1px solid #AAA;
|
border-top: 1px solid #aaa;
|
||||||
border-bottom: 1px solid #AAA;
|
border-bottom: 1px solid #aaa;
|
||||||
color: #000000;
|
color: #000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -374,7 +393,7 @@
|
|||||||
height: 30px;
|
height: 30px;
|
||||||
line-height: 24px;
|
line-height: 24px;
|
||||||
padding: 1px 0;
|
padding: 1px 0;
|
||||||
border-bottom: 1px solid #BBB;
|
border-bottom: 1px solid #bbb;
|
||||||
}
|
}
|
||||||
|
|
||||||
.fvtt-warhero .items-list .item .item-image {
|
.fvtt-warhero .items-list .item .item-image {
|
||||||
@ -399,16 +418,19 @@
|
|||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* ======================================== */
|
/* ======================================== */
|
||||||
/* Sheet */
|
/* Sheet */
|
||||||
.window-app.sheet .window-content .sheet-header {
|
.window-app.sheet .window-content .sheet-header {
|
||||||
background: url("../images/ui/pc_sheet_bg.webp")
|
background: url('../images/ui/pc_sheet_bg.webp');
|
||||||
}
|
}
|
||||||
/* background: #011d33 url("../images/ui/fond1.webp") repeat left top;*/
|
/* background: #011d33 url("../images/ui/fond1.webp") repeat left top;*/
|
||||||
/*color: rgba(168, 139, 139, 0.5);*/
|
/*color: rgba(168, 139, 139, 0.5);*/
|
||||||
|
|
||||||
.window-app.sheet .window-content .sheet-header input[type="text"], .window-app.sheet .window-content .sheet-header input[type="number"], .window-app.sheet .window-content .sheet-header input[type="password"], .window-app.sheet .window-content .sheet-header input[type="date"], .window-app.sheet .window-content .sheet-header input[type="time"] {
|
.window-app.sheet .window-content .sheet-header input[type='text'],
|
||||||
|
.window-app.sheet .window-content .sheet-header input[type='number'],
|
||||||
|
.window-app.sheet .window-content .sheet-header input[type='password'],
|
||||||
|
.window-app.sheet .window-content .sheet-header input[type='date'],
|
||||||
|
.window-app.sheet .window-content .sheet-header input[type='time'] {
|
||||||
color: rgba(228, 240, 240, 0.75);
|
color: rgba(228, 240, 240, 0.75);
|
||||||
background: rgba(66, 66, 64, 0.95);
|
background: rgba(66, 66, 64, 0.95);
|
||||||
border: 1 none;
|
border: 1 none;
|
||||||
@ -416,7 +438,11 @@
|
|||||||
margin-left: 2px;
|
margin-left: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.window-app.sheet .window-content .sheet-body input[type="text"], .window-app.sheet .window-content .sheet-body input[type="number"], .window-app.sheet .window-content .sheet-body input[type="password"], .window-app.sheet .window-content .sheet-body input[type="date"], .window-app.sheet .window-content .sheet-body input[type="time"] {
|
.window-app.sheet .window-content .sheet-body input[type='text'],
|
||||||
|
.window-app.sheet .window-content .sheet-body input[type='number'],
|
||||||
|
.window-app.sheet .window-content .sheet-body input[type='password'],
|
||||||
|
.window-app.sheet .window-content .sheet-body input[type='date'],
|
||||||
|
.window-app.sheet .window-content .sheet-body input[type='time'] {
|
||||||
color: rgba(228, 240, 240, 0.75);
|
color: rgba(228, 240, 240, 0.75);
|
||||||
background: rgba(66, 66, 64, 0.95);
|
background: rgba(66, 66, 64, 0.95);
|
||||||
border: 1 none;
|
border: 1 none;
|
||||||
@ -424,7 +450,8 @@
|
|||||||
margin-left: 2px;
|
margin-left: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.window-app.sheet .window-content .sheet-body select, .window-app.sheet .window-content .sheet-header select {
|
.window-app.sheet .window-content .sheet-body select,
|
||||||
|
.window-app.sheet .window-content .sheet-header select {
|
||||||
color: rgba(228, 240, 240, 0.75);
|
color: rgba(228, 240, 240, 0.75);
|
||||||
background: rgba(66, 66, 64, 0.95);
|
background: rgba(66, 66, 64, 0.95);
|
||||||
border: 1 none;
|
border: 1 none;
|
||||||
@ -432,16 +459,19 @@
|
|||||||
margin-left: 2px;
|
margin-left: 2px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.window-app .window-content, .window-app.sheet .window-content .sheet-body{
|
.window-app .window-content,
|
||||||
|
.window-app.sheet .window-content .sheet-body {
|
||||||
font-size: 0.8rem;
|
font-size: 0.8rem;
|
||||||
background: url("../images/ui/pc_sheet_bg.webp") repeat left top;
|
background: url('../images/ui/pc_sheet_bg.webp') repeat left top;
|
||||||
color: rgba(228, 240, 240, 0.75);
|
color: rgba(228, 240, 240, 0.75);
|
||||||
background: rgba(66, 66, 64, 0.95);
|
background: rgba(66, 66, 64, 0.95);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* background: rgba(245,245,240,0.6) url("../images/ui/sheet_background.webp") left top;*/
|
/* background: rgba(245,245,240,0.6) url("../images/ui/sheet_background.webp") left top;*/
|
||||||
|
|
||||||
section.sheet-body{padding: 0.25rem 0.5rem;}
|
section.sheet-body {
|
||||||
|
padding: 0.25rem 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
.sheet header.sheet-header .profile-img {
|
.sheet header.sheet-header .profile-img {
|
||||||
object-fit: cover;
|
object-fit: cover;
|
||||||
@ -451,7 +481,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.sheet nav.sheet-tabs {
|
.sheet nav.sheet-tabs {
|
||||||
font-size: 0.70rem;
|
font-size: 0.7rem;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
height: 3rem;
|
height: 3rem;
|
||||||
flex: 0 0 3rem;
|
flex: 0 0 3rem;
|
||||||
@ -474,7 +504,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
nav.sheet-tabs .item:after {
|
nav.sheet-tabs .item:after {
|
||||||
content: "";
|
content: '';
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 0;
|
top: 0;
|
||||||
right: 0;
|
right: 0;
|
||||||
@ -488,13 +518,17 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
section.sheet-body:after {
|
section.sheet-body:after {
|
||||||
content: "";
|
content: '';
|
||||||
display: block;
|
display: block;
|
||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sheet header.sheet-header .flex-compteurs {text-align: right;}
|
.sheet header.sheet-header .flex-compteurs {
|
||||||
.sheet header.sheet-header .resource-content {width: 2rem;}
|
text-align: right;
|
||||||
|
}
|
||||||
|
.sheet header.sheet-header .resource-content {
|
||||||
|
width: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
.select-diff {
|
.select-diff {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
@ -509,7 +543,8 @@
|
|||||||
padding: 0.25rem;
|
padding: 0.25rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.window-app.sheet .window-content .carac-value, .window-app.sheet .window-content .competence-xp {
|
.window-app.sheet .window-content .carac-value,
|
||||||
|
.window-app.sheet .window-content .competence-xp {
|
||||||
margin: 0.05rem;
|
margin: 0.05rem;
|
||||||
flex-basis: 3rem;
|
flex-basis: 3rem;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
@ -520,20 +555,25 @@
|
|||||||
|
|
||||||
/* ======================================== */
|
/* ======================================== */
|
||||||
|
|
||||||
h1, h2, h3, h4 {
|
h1,
|
||||||
|
h2,
|
||||||
|
h3,
|
||||||
|
h4 {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
ul, ol {
|
ul,
|
||||||
|
ol {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
ul, li {
|
ul,
|
||||||
|
li {
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.sheet li {
|
.sheet li {
|
||||||
margin: 0.010rem;
|
margin: 0.01rem;
|
||||||
padding: 0.25rem;
|
padding: 0.25rem;
|
||||||
}
|
}
|
||||||
.header-fields li {
|
.header-fields li {
|
||||||
@ -545,7 +585,7 @@
|
|||||||
background: rgba(100, 100, 50, 0.25);
|
background: rgba(100, 100, 50, 0.25);
|
||||||
}
|
}
|
||||||
.alterne-list > .list-item:nth-child(even) {
|
.alterne-list > .list-item:nth-child(even) {
|
||||||
background: rgba(80, 60, 0, 0.10);
|
background: rgba(80, 60, 0, 0.1);
|
||||||
}
|
}
|
||||||
.alterne-list > .list-item:nth-child(odd) {
|
.alterne-list > .list-item:nth-child(odd) {
|
||||||
background: rgb(160, 130, 100, 0.05);
|
background: rgb(160, 130, 100, 0.05);
|
||||||
@ -822,7 +862,6 @@
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.flex-actions-bar {
|
.flex-actions-bar {
|
||||||
flex-grow: 2;
|
flex-grow: 2;
|
||||||
}
|
}
|
||||||
@ -841,7 +880,8 @@
|
|||||||
height: 470px !important;
|
height: 470px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#sidebar-tabs > .collapsed, #chat-controls .chat-control-icon {
|
#sidebar-tabs > .collapsed,
|
||||||
|
#chat-controls .chat-control-icon {
|
||||||
color: rgba(220, 220, 220, 0.75);
|
color: rgba(220, 220, 220, 0.75);
|
||||||
text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.75);
|
text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.75);
|
||||||
}
|
}
|
||||||
@ -866,7 +906,8 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.chat-message .message-header .flavor-text, .chat-message .message-header .whisper-to {
|
.chat-message .message-header .flavor-text,
|
||||||
|
.chat-message .message-header .whisper-to {
|
||||||
font-size: 0.9rem;
|
font-size: 0.9rem;
|
||||||
}
|
}
|
||||||
.chat-actor-name {
|
.chat-actor-name {
|
||||||
@ -890,8 +931,8 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.padding-dice {
|
.padding-dice {
|
||||||
padding-top: .2rem;
|
padding-top: 0.2rem;
|
||||||
padding-bottom: .2rem;
|
padding-bottom: 0.2rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dice-image {
|
.dice-image {
|
||||||
@ -916,8 +957,8 @@
|
|||||||
font-size: 15px;
|
font-size: 15px;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
padding-bottom: 20px;
|
padding-bottom: 20px;
|
||||||
padding-top: .2rem;
|
padding-top: 0.2rem;
|
||||||
padding-bottom: .2rem;
|
padding-bottom: 0.2rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.div-river-full {
|
.div-river-full {
|
||||||
@ -1000,13 +1041,13 @@
|
|||||||
background-position: center;
|
background-position: center;
|
||||||
background-size: cover;
|
background-size: cover;
|
||||||
text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.75);
|
text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.75);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------*/
|
||||||
/* Control, Tool, hotbar & navigation */
|
/* Control, Tool, hotbar & navigation */
|
||||||
|
|
||||||
#controls .scene-control, #controls .control-tool {
|
#controls .scene-control,
|
||||||
|
#controls .control-tool {
|
||||||
box-shadow: 0 0 3px #000;
|
box-shadow: 0 0 3px #000;
|
||||||
margin: 0 0 8px;
|
margin: 0 0 8px;
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
@ -1017,7 +1058,10 @@
|
|||||||
border-image-outset: 0px;
|
border-image-outset: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#controls .scene-control.active, #controls .control-tool.active, #controls .scene-control:hover, #controls .control-tool:hover {
|
#controls .scene-control.active,
|
||||||
|
#controls .control-tool.active,
|
||||||
|
#controls .scene-control:hover,
|
||||||
|
#controls .control-tool:hover {
|
||||||
background: rgba(72, 46, 28, 1);
|
background: rgba(72, 46, 28, 1);
|
||||||
background-origin: padding-box;
|
background-origin: padding-box;
|
||||||
border-image: url(img/ui/footer-button.png) 10 repeat;
|
border-image: url(img/ui/footer-button.png) 10 repeat;
|
||||||
@ -1063,7 +1107,8 @@
|
|||||||
border-image-outset: 0px;
|
border-image-outset: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#navigation #scene-list .scene.view, #navigation #scene-list .scene.context {
|
#navigation #scene-list .scene.view,
|
||||||
|
#navigation #scene-list .scene.context {
|
||||||
background: rgba(72, 46, 28, 1);
|
background: rgba(72, 46, 28, 1);
|
||||||
background-origin: padding-box;
|
background-origin: padding-box;
|
||||||
border-image: url(img/ui/footer-button.png) 10 repeat;
|
border-image: url(img/ui/footer-button.png) 10 repeat;
|
||||||
@ -1257,13 +1302,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*************************************************************/
|
/*************************************************************/
|
||||||
#pause
|
#pause {
|
||||||
{
|
|
||||||
font-size: 2rem;
|
font-size: 2rem;
|
||||||
}
|
}
|
||||||
#pause > h3
|
#pause > h3 {
|
||||||
{
|
color: #ccc;
|
||||||
color: #CCC
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* =================== 1. ACTOR SHEET FONT STYLES =========== */ /*
|
/* =================== 1. ACTOR SHEET FONT STYLES =========== */ /*
|
||||||
@ -1370,7 +1413,8 @@
|
|||||||
max-height: 42px;
|
max-height: 42px;
|
||||||
min-height: 36px;
|
min-height: 36px;
|
||||||
}
|
}
|
||||||
.item-ability-roll select, .item-ability-roll input {
|
.item-ability-roll select,
|
||||||
|
.item-ability-roll input {
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
margin-right: 2px;
|
margin-right: 2px;
|
||||||
}
|
}
|
||||||
@ -1474,8 +1518,8 @@
|
|||||||
.item-field-label-vlong2 {
|
.item-field-label-vlong2 {
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
max-width: 22rem;
|
max-width: 24rem;
|
||||||
min-width: 22rem;
|
min-width: 24rem;
|
||||||
}
|
}
|
||||||
.item-control-end {
|
.item-control-end {
|
||||||
align-self: flex-end;
|
align-self: flex-end;
|
||||||
@ -1501,3 +1545,6 @@
|
|||||||
.crit-failure {
|
.crit-failure {
|
||||||
color: darkred;
|
color: darkred;
|
||||||
}
|
}
|
||||||
|
.directory .directory-header .header-search input {
|
||||||
|
color: rgba(52, 52, 52, 0.95);
|
||||||
|
}
|
||||||
|
@ -101,7 +101,7 @@
|
|||||||
"styles": [
|
"styles": [
|
||||||
"styles/simple.css"
|
"styles/simple.css"
|
||||||
],
|
],
|
||||||
"version": "10.0.20",
|
"version": "10.0.23",
|
||||||
"compatibility": {
|
"compatibility": {
|
||||||
"minimum": "10",
|
"minimum": "10",
|
||||||
"verified": "10",
|
"verified": "10",
|
||||||
@ -109,7 +109,7 @@
|
|||||||
},
|
},
|
||||||
"title": "Warhero RPG",
|
"title": "Warhero RPG",
|
||||||
"manifest": "https://www.uberwald.me/gitea/public/fvtt-warhero/raw/branch/master/system.json",
|
"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.23.zip",
|
||||||
"url": "https://www.uberwald.me/gitea/public/fvtt-warhero",
|
"url": "https://www.uberwald.me/gitea/public/fvtt-warhero",
|
||||||
"background": "images/ui/warhero_welcome_page.webp",
|
"background": "images/ui/warhero_welcome_page.webp",
|
||||||
"id": "fvtt-warhero"
|
"id": "fvtt-warhero"
|
||||||
|
@ -1,6 +1,10 @@
|
|||||||
{
|
{
|
||||||
"Actor": {
|
"Actor": {
|
||||||
"types": ["character", "npc"],
|
"types": [
|
||||||
|
"character",
|
||||||
|
"npc",
|
||||||
|
"monster"
|
||||||
|
],
|
||||||
"templates": {
|
"templates": {
|
||||||
"biodata": {
|
"biodata": {
|
||||||
"biodata": {
|
"biodata": {
|
||||||
@ -203,14 +207,37 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"character": {
|
"character": {
|
||||||
"templates": [ "biodata", "core" ]
|
"templates": [
|
||||||
|
"biodata",
|
||||||
|
"core"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"npc": {
|
"npc": {
|
||||||
"templates": [ "biodata", "core" ]
|
"templates": [
|
||||||
|
"biodata",
|
||||||
|
"core"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"monster": {
|
||||||
|
"templates": [
|
||||||
|
"biodata",
|
||||||
|
"core"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Item": {
|
"Item": {
|
||||||
"types": [ "equipment", "race", "weapon", "armor", "shield", "skill", "power", "language", "condition", "class"],
|
"types": [
|
||||||
|
"equipment",
|
||||||
|
"race",
|
||||||
|
"weapon",
|
||||||
|
"armor",
|
||||||
|
"shield",
|
||||||
|
"skill",
|
||||||
|
"power",
|
||||||
|
"language",
|
||||||
|
"condition",
|
||||||
|
"class"
|
||||||
|
],
|
||||||
"templates": {
|
"templates": {
|
||||||
"commonclassrace": {
|
"commonclassrace": {
|
||||||
"weapons": {
|
"weapons": {
|
||||||
@ -238,7 +265,9 @@
|
|||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
"class": {
|
"class": {
|
||||||
"templates": ["commonclassrace"],
|
"templates": [
|
||||||
|
"commonclassrace"
|
||||||
|
],
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
"race": {
|
"race": {
|
||||||
@ -248,7 +277,9 @@
|
|||||||
"attributebonus1": "",
|
"attributebonus1": "",
|
||||||
"attributebonus4": "",
|
"attributebonus4": "",
|
||||||
"attributebonus8": "",
|
"attributebonus8": "",
|
||||||
"templates": ["commonclassrace"]
|
"templates": [
|
||||||
|
"commonclassrace"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"language": {
|
"language": {
|
||||||
"shortdescription": "",
|
"shortdescription": "",
|
||||||
@ -264,6 +295,9 @@
|
|||||||
"weapon": {
|
"weapon": {
|
||||||
"weapontype": "short",
|
"weapontype": "short",
|
||||||
"damage": "1d6",
|
"damage": "1d6",
|
||||||
|
"damage2hands": "1d6",
|
||||||
|
"rollformula": "",
|
||||||
|
"damageformula": "",
|
||||||
"cost": 0,
|
"cost": 0,
|
||||||
"equipped": false,
|
"equipped": false,
|
||||||
"quantity": 1,
|
"quantity": 1,
|
||||||
|
@ -193,7 +193,15 @@
|
|||||||
|
|
||||||
<span class="item-field-label-medium">{{weapon.system.weapontype}}</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>
|
<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-filler"> </div>
|
||||||
<div class="item-controls item-controls-fixed">
|
<div class="item-controls item-controls-fixed">
|
||||||
@ -384,20 +392,24 @@
|
|||||||
|
|
||||||
<div class="flexcol">
|
<div class="flexcol">
|
||||||
|
|
||||||
|
{{#each powers as |school schoolKey|}}
|
||||||
<ul class="stat-list alternate-list">
|
<ul class="stat-list alternate-list">
|
||||||
<li class="item flexrow list-item items-title-bg">
|
<li class="item flexrow list-item items-title-bg">
|
||||||
<span class="item-name-label-header">
|
<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>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
{{#each powers as |power key|}}
|
{{#each school as |power key|}}
|
||||||
<li class="item stat flexrow list-item list-item-shadow" data-item-id="{{power._id}}">
|
<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"
|
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||||
src="{{power.img}}" /></a>
|
src="{{power.img}}" /></a>
|
||||||
<span class="item-name-label">
|
<span class="item-name-label">
|
||||||
<a class="power-roll"><i class="fa-solid fa-dice-d20"></i>{{power.name}}</a>
|
<a class="power-roll"><i class="fa-solid fa-dice-d20"></i>{{power.name}}</a>
|
||||||
</span>
|
</span>
|
||||||
|
<span class="item-name-label">
|
||||||
|
<a class="power-roll">{{power.system.level}}</a>
|
||||||
|
</span>
|
||||||
<div class="item-filler"> </div>
|
<div class="item-filler"> </div>
|
||||||
<div class="item-controls item-controls-fixed">
|
<div class="item-controls item-controls-fixed">
|
||||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||||
@ -406,6 +418,7 @@
|
|||||||
{{/each}}
|
{{/each}}
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
{{/each}}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
<div class="tab" data-group="primary">
|
<div class="tab" data-group="primary">
|
||||||
<ul>
|
<ul>
|
||||||
<li class="flexrow"><label class="item-field-label-medium ">Type</label>
|
<li class="flexrow"><label class="item-field-label-long ">Type</label>
|
||||||
<select class="item-field-label-medium " type="text" name="system.weapontype" value="{{system.weapontype}}" data-dtype="String">
|
<select class="item-field-label-medium " type="text" name="system.weapontype" value="{{system.weapontype}}" data-dtype="String">
|
||||||
{{#select system.weapontype}}
|
{{#select system.weapontype}}
|
||||||
{{#each config.weaponTypes as |type key|}}
|
{{#each config.weaponTypes as |type key|}}
|
||||||
@ -28,10 +28,24 @@
|
|||||||
</select>
|
</select>
|
||||||
</li>
|
</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 ">Raw Roll Formula (ex: 1d20+@statistics.str.value)</label>
|
||||||
|
<input type="text" class="item-field-label-long " name="system.rollformula" value="{{system.rollformula}}" data-dtype="String"/>
|
||||||
|
</li>
|
||||||
|
<li class="flexrow"><label class="item-field-label-vlong2 ">Raw Damage Formula (ex: 1d6+(@statistics.str.value/2))</label>
|
||||||
|
<input type="text" class="item-field-label-long " name="system.damageformula" value="{{system.damageformula}}" data-dtype="String"/>
|
||||||
|
</li>
|
||||||
|
{{else}}
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">Damage</label>
|
||||||
<input type="text" class="item-field-label-medium " name="system.damage" value="{{system.damage}}" data-dtype="String"/>
|
<input type="text" class="item-field-label-medium " name="system.damage" value="{{system.damage}}" data-dtype="String"/>
|
||||||
</li>
|
</li>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{#if (eq system.weapontype "polearm")}}
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">Damage 2 arms</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}}
|
{{> systems/fvtt-warhero/templates/partial-item-common-equipment.html}}
|
||||||
|
|
||||||
|
547
templates/monster-sheet.html
Normal file
547
templates/monster-sheet.html
Normal file
@ -0,0 +1,547 @@
|
|||||||
|
<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">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>
|
||||||
|
</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">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>
|
||||||
|
|
||||||
|
<span class="item-field-label-medium"><a class="roll-damage"><i class="fa-solid fa-dice-d20"></i>{{weapon.damageFormula}}</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>
|
||||||
|
</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">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">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">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>
|
||||||
|
<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>
|
||||||
|
<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>
|
||||||
|
<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>
|
||||||
|
<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">Sex</label>
|
||||||
|
<input type="text" class="" name="system.biodata.sex" value="{{data.biodata.sex}}" data-dtype="String" />
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<hr>
|
||||||
|
<h3>Background : </h3>
|
||||||
|
<div class="form-group editor">
|
||||||
|
{{editor description target="system.biodata.description" button=true owner=owner
|
||||||
|
editable=editable}}
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
<h3>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,78 +11,64 @@
|
|||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<div class="ability-item">
|
<div class="ability-item">
|
||||||
<ul>
|
<ul>
|
||||||
{{#each data.abilities as |ability key|}}
|
{{#each system.statistics as |stat key|}}
|
||||||
{{#if (eq ability.col 1)}}
|
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=stat key=key path="statistics" fieldClass="item-field-label-medium"}}
|
||||||
{{> systems/fvtt-crucible-rpg/templates/partial-actor-ability-block.html ability=ability key=key}}
|
|
||||||
{{/if}}
|
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</ul>
|
</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>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="ability-item">
|
<div class="ability-item">
|
||||||
<ul>
|
<ul>
|
||||||
{{#each data.abilities as |ability key|}}
|
<li class="item flexrow list-item " data-item-id="{{race._id}}">
|
||||||
{{#if (eq ability.col 2)}}
|
<label class="item-field-label-medium">Race</label>
|
||||||
{{> systems/fvtt-crucible-rpg/templates/partial-actor-ability-block.html ability=ability key=key}}
|
<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}}
|
{{/if}}
|
||||||
{{/each}}
|
{{/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>
|
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="ability-item status-block">
|
|
||||||
{{> systems/fvtt-crucible-rpg/templates/partial-actor-status.html}}
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
{{!-- Sheet Tab Navigation --}}
|
{{!-- Sheet Tab Navigation --}}
|
||||||
<nav class="sheet-tabs tabs" data-group="primary">
|
<nav class="sheet-tabs tabs" data-group="primary">
|
||||||
<a class="item" data-tab="details">Details</a>
|
<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="biodata">Biography</a>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
@ -90,93 +76,82 @@
|
|||||||
<section class="sheet-body">
|
<section class="sheet-body">
|
||||||
|
|
||||||
{{!-- Skills Tab --}}
|
{{!-- Skills Tab --}}
|
||||||
<div class="tab skills" data-group="primary" data-tab="details">
|
<div class="tab main" data-group="primary" data-tab="main">
|
||||||
|
|
||||||
<ul class="stat-list alternate-list item-list">
|
<div class="flexrow">
|
||||||
<li class="item flexrow list-item items-title-bg">
|
|
||||||
<span class="item-name-label-header">
|
<div class="ability-item">
|
||||||
<h3><label class="items-title-text">Skills</label></h3>
|
<ul>
|
||||||
</span>
|
{{#each system.attributes as |attr key|}}
|
||||||
<span class="item-field-label-short">
|
{{#if (not attr.isheader)}}
|
||||||
<label class="short-label">Ability</label>
|
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=attr key=key path="attributes" fieldClass="item-field-label-vlong"}}
|
||||||
</span>
|
{{/if}}
|
||||||
<span class="item-field-label-short">
|
|
||||||
<label class="short-label">Dice</label>
|
|
||||||
</span>
|
|
||||||
<span class="item-field-label-long">
|
|
||||||
<label class="short-label">Background</label>
|
|
||||||
</span>
|
|
||||||
</li>
|
|
||||||
{{#each skills as |skill key|}}
|
|
||||||
<li class="item stat 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"><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>
|
|
||||||
<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}}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
<div>
|
||||||
<ul class="stat-list alternate-list">
|
<ul class="stat-list alternate-list">
|
||||||
<li class="item flexrow list-item items-title-bg">
|
<li class="item flexrow list-item items-title-bg">
|
||||||
<span class="item-name-label-header-long">
|
<span class="item-name-label-header-long">
|
||||||
<h3><label class="items-title-text">Combat</label></h3>
|
<h3><label class="items-title-text">{{localize "WH.ui.competency"}}</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>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
{{#each equippedWeapons as |weapon key|}}
|
{{#each competency.weapons as |flag key|}}
|
||||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{weapon._id}}">
|
{{#if flag}}
|
||||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
<li class="item flexrow list-item list-item-shadow" data-item-id="{{language._id}}">
|
||||||
src="{{weapon.img}}" /></a>
|
<span class="item-name-label-long">{{localize "WH.ui.weapons"}} {{key}}</span>
|
||||||
<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>
|
</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}}
|
{{/each}}
|
||||||
</ul>
|
</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">
|
<ul class="stat-list alternate-list">
|
||||||
<li class="item flexrow list-item items-title-bg">
|
<li class="item flexrow list-item items-title-bg">
|
||||||
<span class="item-name-label-header-long">
|
<span class="item-name-label-header-long">
|
||||||
<h3><label class="items-title-text">Monster Powers</label></h3>
|
<h3><label class="items-title-text">{{localize "WH.ui.languages"}}</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>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
{{#each feats as |feat key|}}
|
{{#each languages as |language key|}}
|
||||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{feat._id}}">
|
<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"
|
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||||
src="{{feat.img}}" /></a>
|
src="{{language.img}}" /></a>
|
||||||
<span class="item-name-label-long">{{feat.name}}</span>
|
<span class="item-name-label-long">{{language.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-filler"> </div>
|
||||||
<div class="item-controls item-controls-fixed">
|
<div class="item-controls item-controls-fixed">
|
||||||
@ -185,150 +160,313 @@
|
|||||||
</li>
|
</li>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</ul>
|
</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">
|
<ul class="stat-list alternate-list">
|
||||||
<li class="item flexrow list-item items-title-bg">
|
<li class="item flexrow list-item items-title-bg">
|
||||||
<span class="item-name-label-header-long">
|
<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>
|
<h3><label class="items-title-text">Weapons</label></h3>
|
||||||
</span>
|
</span>
|
||||||
<span class="item-field-label-short">
|
<span class="item-field-label-medium">
|
||||||
<label class="short-label">Attack</label>
|
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||||
</span>
|
</span>
|
||||||
<span class="item-field-label-short">
|
<span class="item-field-label-medium">
|
||||||
<label class="short-label">Damage</label>
|
<label class="short-label">{{localize "WH.ui.Damage"}}</label>
|
||||||
</span>
|
</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>
|
</li>
|
||||||
{{#each weapons as |weapon key|}}
|
{{#each weapons as |weapon key|}}
|
||||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{weapon._id}}">
|
<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"
|
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||||
src="{{weapon.img}}" /></a>
|
src="{{weapon.img}}" /></a>
|
||||||
<span class="item-name-label">{{weapon.name}}</span>
|
<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-short"><label>{{upper weapon.system.ability}}</label></span>
|
|
||||||
<span class="item-field-label-short"><label>{{upper weapon.system.damage}}</label></span>
|
<span class="item-field-label-medium">{{weapon.system.weapontype}}</span>
|
||||||
|
|
||||||
|
<span class="item-field-label-medium"><a class="roll-damage"><i class="fa-solid fa-dice-d20"></i>{{weapon.damageFormula}}</a></span>
|
||||||
|
|
||||||
<div class="item-filler"> </div>
|
<div class="item-filler"> </div>
|
||||||
<div class="item-controls item-controls-fixed">
|
<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>
|
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</ul>
|
</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>
|
</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>
|
||||||
<div class="item-controls item-controls-fixed">
|
<ul class="stat-list alternate-list">
|
||||||
<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">
|
<li class="item flexrow list-item items-title-bg">
|
||||||
<span class="item-name-label-header">
|
<span class="item-name-label-header-long">
|
||||||
<h3><label class="items-title-text">Shields</label></h3>
|
<h3><label class="items-title-text">Shields</label></h3>
|
||||||
</span>
|
</span>
|
||||||
<span class="item-field-label-short">
|
<span class="item-field-label-short">
|
||||||
<label class="short-label">Dice</label>
|
<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>
|
</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>
|
</li>
|
||||||
{{#each shields as |shield key|}}
|
{{#each shields as |shield key|}}
|
||||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{shield._id}}">
|
<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"
|
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||||
src="{{shield.img}}" /></a>
|
src="{{shield.img}}" /></a>
|
||||||
<span class="item-name-label">{{shield.name}}</span>
|
<span class="item-name-label-long">{{shield.name}}</span>
|
||||||
<span class="item-field-label-short">{{shield.system.levelDice}}</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-filler"> </div>
|
||||||
<div class="item-controls item-controls-fixed">
|
<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>
|
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</ul>
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
<ul class="item-list alternate-list">
|
<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">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">
|
<li class="item flexrow list-item items-title-bg">
|
||||||
<span class="item-name-label-header">
|
<span class="item-name-label-header">
|
||||||
<h3><label class="items-title-text">Equipment</label></h3>
|
<h3><label class="items-title-text">{{schoolKey}}</label></h3>
|
||||||
</span>
|
</span>
|
||||||
<span class="item-field-label-long">
|
</li>
|
||||||
<label class="short-label">Quantity</label>
|
|
||||||
|
{{#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>
|
</span>
|
||||||
<div class="item-filler"> </div>
|
<div class="item-filler"> </div>
|
||||||
<div class="item-controls item-controls-fixed">
|
<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>
|
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
{{/each}}
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
{{/each}}
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</li>
|
{{!-- Equipement Tab --}}
|
||||||
{{#each containersTree as |equip key|}}
|
<div class="tab equipment" data-group="primary" data-tab="equipment">
|
||||||
{{> systems/fvtt-crucible-rpg/templates/partial-actor-equipment.html equip=equip level=1}}
|
|
||||||
<ul class="item-list list-item-shadow2 list-item-margin1">
|
{{#each slotEquipments as |slot slotKey|}}
|
||||||
{{#each equip.data.contents as |subgear key|}}
|
<ul class="item-list alternate-list">
|
||||||
{{> systems/fvtt-crucible-rpg/templates/partial-actor-equipment.html equip=subgear level=2}}
|
<li class="item flexrow list-item items-title-bg {{#if (gt slot.slotUsed slot.nbslots)}}items-title-bg-red{{/if}}">
|
||||||
{{/each}}
|
<span class="item-name-label-header">
|
||||||
</ul>
|
<h3><label class="items-title-text">{{localize slot.label}}</label></h3>
|
||||||
{{/each}}
|
</span>
|
||||||
</ul>
|
<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>
|
</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>
|
</div>
|
||||||
|
|
||||||
@ -358,6 +496,11 @@
|
|||||||
<label class="generic-label">Hair</label>
|
<label class="generic-label">Hair</label>
|
||||||
<input type="text" class="" name="system.biodata.hair" value="{{data.biodata.hair}}" data-dtype="String" />
|
<input type="text" class="" name="system.biodata.hair" value="{{data.biodata.hair}}" data-dtype="String" />
|
||||||
</li>
|
</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>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
@ -379,16 +522,6 @@
|
|||||||
<label class="generic-label">Sex</label>
|
<label class="generic-label">Sex</label>
|
||||||
<input type="text" class="" name="system.biodata.sex" value="{{data.biodata.sex}}" data-dtype="String" />
|
<input type="text" class="" name="system.biodata.sex" value="{{data.biodata.sex}}" data-dtype="String" />
|
||||||
</li>
|
</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>
|
|
||||||
<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>
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -397,13 +530,13 @@
|
|||||||
<hr>
|
<hr>
|
||||||
<h3>Background : </h3>
|
<h3>Background : </h3>
|
||||||
<div class="form-group editor">
|
<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}}
|
editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
<h3>Notes : </h3>
|
<h3>Notes : </h3>
|
||||||
<div class="form-group editor">
|
<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>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
</article>
|
</article>
|
||||||
|
@ -10,20 +10,41 @@
|
|||||||
|
|
||||||
{{#if weapon}}
|
{{#if weapon}}
|
||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<span class="roll-dialog-long">Weapon : </span>
|
<span class="item-field-label-vlong">Weapon : </span>
|
||||||
<span class="item-field-label-medium">{{weapon.name}}</span>
|
<span class="item-field-label-vlong">{{weapon.name}}</span>
|
||||||
{{#if (eq mode "damage")}}
|
|
||||||
<div class="flexrow">
|
|
||||||
<span class="roll-dialog-long">Damage : </span>
|
|
||||||
<span class="item-field-label-medium">{{weapon.damageFormula}}</span>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{{#if (eq mode "damage")}}
|
||||||
|
{{#if (eq weapon.system.weapontype "special")}}
|
||||||
|
<div class="flexrow">
|
||||||
|
<span class="item-field-label-vlong">Damage : </span>
|
||||||
|
<span class="item-field-label-vlong">{{weapon.system.damageformula}}</span>
|
||||||
|
</div>
|
||||||
|
{{else}}
|
||||||
|
<div class="flexrow">
|
||||||
|
<span class="item-field-label-vlong">Damage : </span>
|
||||||
|
{{#if is2hands}}
|
||||||
|
<span class="item-field-label-vlong">{{weapon.damageFormula2Hands}}</span>
|
||||||
|
{{else}}
|
||||||
|
<span class="item-field-label-vlong">{{weapon.damage}}</span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
{{else}}
|
||||||
|
{{#if (eq weapon.system.weapontype "special")}}
|
||||||
|
<div class="flexrow">
|
||||||
|
<span class="item-field-label-vlong">Roll Formula : </span>
|
||||||
|
<span class="item-field-label-vlong">{{weapon.system.rollformula}}</span>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
{{#if stat}}
|
{{#if stat}}
|
||||||
<div class="flexrow">
|
<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")}}
|
{{#if (eq mode "save")}}
|
||||||
<span class="item-field-label-medium">{{stat.save}}</span>
|
<span class="item-field-label-medium">{{stat.save}}</span>
|
||||||
{{else}}
|
{{else}}
|
||||||
@ -33,7 +54,7 @@
|
|||||||
|
|
||||||
{{#if stat.istxc}}
|
{{#if stat.istxc}}
|
||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<span class="roll-dialog-long">Multiple weapons malus ({{mWeaponMalus}})? </span>
|
<span class="item-field-label-vlong">Multiple weapons malus ({{mWeaponMalus}})? </span>
|
||||||
<span class="item-field-label-medium"><input type="checkbox" id="usemWeaponMalus" name="usemWeaponMalus" {{checked usemWeaponMalus}}/></span>
|
<span class="item-field-label-medium"><input type="checkbox" id="usemWeaponMalus" name="usemWeaponMalus" {{checked usemWeaponMalus}}/></span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
@ -41,31 +62,31 @@
|
|||||||
|
|
||||||
{{#if shield}}
|
{{#if shield}}
|
||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<span class="roll-dialog-long">Use shield ? : </span>
|
<span class="item-field-label-vlong">Use shield ? : </span>
|
||||||
<span class="roll-dialog-label">
|
<span class="roll-dialog-label">
|
||||||
<input type="checkbox" id="useshield" name="useshield" {{checked useshield}}/>
|
<input type="checkbox" id="useshield" name="useshield" {{checked useshield}}/>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<span class="roll-dialog-long">{{shield.name}} : </span>
|
<span class="item-field-label-vlong">{{shield.name}} : </span>
|
||||||
<span class="roll-dialog-label">{{shield.data.shielddie}}</span>
|
<span class="item-field-label-medium">{{shield.data.shielddie}}</span>
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{#if power}}
|
{{#if power}}
|
||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<span class="item-field-label-long">Power : </span>
|
<span class="item-field-label-vlong">Power : </span>
|
||||||
<span class="item-field-label-medium">{{power.name}}</span>
|
<span class="item-field-label-medium">{{power.name}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<span class="item-field-label-long">Power Level : </span>
|
<span class="item-field-label-vlong">Power Level : </span>
|
||||||
<span class="item-field-label-medium">{{power.system.level}}</span>
|
<span class="item-field-label-medium">{{power.system.level}}</span>
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{#if hasBM}}
|
{{#if hasBM}}
|
||||||
<div class="flexrow">
|
<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 class="item-field-label-medium" type="text" id="bonusMalus" value="{{bonusMalus}}">
|
||||||
{{#select bonusMalus}}
|
{{#select bonusMalus}}
|
||||||
<option value="-6">-6</option>
|
<option value="-6">-6</option>
|
||||||
|
Reference in New Issue
Block a user