Update powers
This commit is contained in:
parent
d7dc6fbb42
commit
87bb1b6e93
@ -11,6 +11,7 @@
|
||||
"WH.conf.mediumshield": "Medium",
|
||||
"WH.conf.towershield": "Tower",
|
||||
"WH.conf.polearm": "Polearm",
|
||||
"WH.conf.special": "Special",
|
||||
|
||||
"WH.conf.head": "Head",
|
||||
"WH.conf.cloak": "Cloak",
|
||||
|
@ -49,7 +49,7 @@ export class WarheroActorSheet extends ActorSheet {
|
||||
conditions: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getConditions()) ),
|
||||
armors: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getArmors())),
|
||||
shields: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getShields())),
|
||||
powers: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getPowers())),
|
||||
powers: this.actor.sortPowers(),
|
||||
equipments: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getEquipmentsOnly()) ),
|
||||
slotEquipments: this.actor.buildEquipmentsSlot(),
|
||||
subActors: duplicate(this.actor.getSubActors()),
|
||||
@ -168,7 +168,11 @@ export class WarheroActorSheet extends ActorSheet {
|
||||
const weaponId = li.data("item-id")
|
||||
this.actor.rollDamage(weaponId)
|
||||
});
|
||||
|
||||
html.find('.roll-damage-2hands').click((event) => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
const weaponId = li.data("item-id")
|
||||
this.actor.rollDamage(weaponId, true)
|
||||
});
|
||||
html.find('.lock-unlock-sheet').click((event) => {
|
||||
this.options.editScore = !this.options.editScore;
|
||||
this.render(true);
|
||||
|
@ -133,6 +133,19 @@ export class WarheroActor extends Actor {
|
||||
WarheroUtility.sortArrayObjectsByName(comp)
|
||||
return comp;
|
||||
}
|
||||
sortPowers() {
|
||||
let schools = {}
|
||||
for(let power of this.items) {
|
||||
if (power.type == "power") {
|
||||
power = duplicate(power)
|
||||
let school = schools[power.system.magicschool] || []
|
||||
school.push(power)
|
||||
WarheroUtility.sortArrayObjectsByNameAndLevel(school)
|
||||
schools[power.system.magicschool] = school
|
||||
}
|
||||
}
|
||||
return schools
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getShields() {
|
||||
let comp = duplicate(this.items.filter(item => item.type == 'shield') || []);
|
||||
@ -186,12 +199,16 @@ export class WarheroActor extends Actor {
|
||||
/* -------------------------------------------- */
|
||||
prepareWeapon(weapon) {
|
||||
let formula = weapon.system.damage
|
||||
if (weapon.system.weapontype == "long") {
|
||||
if (weapon.system.weapontype == "long" || weapon.system.weapontype == "short") {
|
||||
formula += "+" + this.system.statistics.str.value
|
||||
}
|
||||
if (weapon.system.weapontype == "twohanded") {
|
||||
formula += "+" + Math.floor(this.system.statistics.str.value*1.5)
|
||||
}
|
||||
if (weapon.system.weapontype == "polearm") {
|
||||
formula += "+" + Math.floor(this.system.statistics.str.value*1)
|
||||
weapon.damageFormula2Hands = weapon.system.damage2hands + "+" + Math.floor(this.system.statistics.str.value*1.5)
|
||||
}
|
||||
weapon.damageFormula = formula
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
@ -664,7 +681,7 @@ export class WarheroActor extends Actor {
|
||||
}
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
rollDamage(weaponId) {
|
||||
rollDamage(weaponId, is2hands = false) {
|
||||
let weapon = this.items.get(weaponId)
|
||||
if (weapon) {
|
||||
weapon = duplicate(weapon)
|
||||
@ -672,6 +689,7 @@ export class WarheroActor extends Actor {
|
||||
let rollData = this.getCommonRollData()
|
||||
rollData.mode = "damage"
|
||||
rollData.weapon = weapon
|
||||
rollData.is2hands = is2hands
|
||||
rollData.img = weapon.img
|
||||
this.startRoll(rollData)
|
||||
}
|
||||
|
@ -7,6 +7,7 @@ export const WARHERO_CONFIG = {
|
||||
polearm: {damage: "1d6", label: "WH.conf.polearm"},
|
||||
shooting: {damage: "2d6", label: "WH.conf.shooting"},
|
||||
throwing: {damage: "1d8", label: "WH.conf.throwing"},
|
||||
special: {damage: "1d6", label: "WH.conf.special"},
|
||||
},
|
||||
|
||||
armorTypes : {
|
||||
|
@ -12,6 +12,7 @@ import { WarheroActor } from "./warhero-actor.js";
|
||||
import { WarheroItemSheet } from "./warhero-item-sheet.js";
|
||||
import { WarheroActorSheet } from "./warhero-actor-sheet.js";
|
||||
import { WarheroNPCSheet } from "./warhero-npc-sheet.js";
|
||||
import { WarheroMonsterSheet } from "./warhero-monster-sheet.js";
|
||||
import { WarheroUtility } from "./warhero-utility.js";
|
||||
import { WarheroCombat } from "./warhero-combat.js";
|
||||
import { WarheroItem } from "./warhero-item.js";
|
||||
@ -60,11 +61,12 @@ Hooks.once("init", async function () {
|
||||
/* -------------------------------------------- */
|
||||
// Register sheet application classes
|
||||
Actors.unregisterSheet("core", ActorSheet);
|
||||
Actors.registerSheet("fvtt-crucible", WarheroActorSheet, { types: ["character"], makeDefault: true });
|
||||
Actors.registerSheet("fvtt-crucible", WarheroNPCSheet, { types: ["npc"], makeDefault: false });
|
||||
Actors.registerSheet("fvtt-warhero", WarheroActorSheet, { types: ["character"], makeDefault: true });
|
||||
Actors.registerSheet("fvtt-warhero", WarheroNPCSheet, { types: ["npc"], makeDefault: false });
|
||||
Actors.registerSheet("fvtt-warhero", WarheroMonsterSheet, { types: ["monster"], makeDefault: false });
|
||||
|
||||
Items.unregisterSheet("core", ItemSheet);
|
||||
Items.registerSheet("fvtt-crucible", WarheroItemSheet, { makeDefault: true });
|
||||
Items.registerSheet("fvtt-warhero", WarheroItemSheet, { makeDefault: true });
|
||||
|
||||
WarheroUtility.init()
|
||||
});
|
||||
|
27
modules/warhero-monster-sheet.js
Normal file
27
modules/warhero-monster-sheet.js
Normal file
@ -0,0 +1,27 @@
|
||||
/**
|
||||
* Extend the basic ActorSheet with some very simple modifications
|
||||
* @extends {ActorSheet}
|
||||
*/
|
||||
import { WarheroActorSheet } from "./warhero-actor-sheet.js";
|
||||
|
||||
import { WarheroUtility } from "./warhero-utility.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
export class WarheroMonsterSheet extends WarheroActorSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
|
||||
|
||||
return mergeObject(super.defaultOptions, {
|
||||
classes: ["warhero-rpg", "sheet", "actor"],
|
||||
template: "systems/fvtt-warhero/templates/npc-sheet.html",
|
||||
width: 640,
|
||||
height: 720,
|
||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "stats" }],
|
||||
dragDrop: [{ dragSelector: ".item-list .item", dropSelector: null }],
|
||||
editScore: true
|
||||
});
|
||||
}
|
||||
|
||||
}
|
@ -2,18 +2,18 @@
|
||||
* Extend the basic ActorSheet with some very simple modifications
|
||||
* @extends {ActorSheet}
|
||||
*/
|
||||
|
||||
import { WarheroActorSheet } from "./warhero-actor-sheet.js";
|
||||
import { WarheroUtility } from "./warhero-utility.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
export class WarheroNPCSheet extends ActorSheet {
|
||||
export class WarheroNPCSheet extends WarheroActorSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
|
||||
return mergeObject(super.defaultOptions, {
|
||||
classes: ["warhero-rpg", "sheet", "actor"],
|
||||
template: "systems/fvtt-warhero/templates/npc-sheet.html",
|
||||
template: "systems/fvtt-warhero/templates/monster-sheet.html",
|
||||
width: 640,
|
||||
height: 720,
|
||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "stats" }],
|
||||
@ -22,188 +22,4 @@ export class WarheroNPCSheet extends ActorSheet {
|
||||
});
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async getData() {
|
||||
const objectData = this.object.system
|
||||
let actorData = duplicate(objectData)
|
||||
|
||||
let formData = {
|
||||
title: this.title,
|
||||
id: this.actor.id,
|
||||
type: this.actor.type,
|
||||
img: this.actor.img,
|
||||
name: this.actor.name,
|
||||
editable: this.isEditable,
|
||||
cssClass: this.isEditable ? "editable" : "locked",
|
||||
data: actorData,
|
||||
limited: this.object.limited,
|
||||
skills: this.actor.getSkills( ),
|
||||
weapons: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getWeapons()) ),
|
||||
armors: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getArmors())),
|
||||
shields: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getShields())),
|
||||
spells: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getLore())),
|
||||
equipments: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getEquipmentsOnly()) ),
|
||||
equippedWeapons: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getEquippedWeapons()) ),
|
||||
equippedArmor: this.actor.getEquippedArmor(),
|
||||
equippedShield: this.actor.getEquippedShield(),
|
||||
feats: duplicate(this.actor.getFeats()),
|
||||
subActors: duplicate(this.actor.getSubActors()),
|
||||
race: duplicate(this.actor.getRace()),
|
||||
moneys: duplicate(this.actor.getMoneys()),
|
||||
encCapacity: this.actor.getEncumbranceCapacity(),
|
||||
saveRolls: this.actor.getSaveRoll(),
|
||||
conditions: this.actor.getConditions(),
|
||||
containersTree: this.actor.containersTree,
|
||||
encCurrent: this.actor.encCurrent,
|
||||
options: this.options,
|
||||
owner: this.document.isOwner,
|
||||
editScore: this.options.editScore,
|
||||
isGM: game.user.isGM
|
||||
}
|
||||
this.formData = formData;
|
||||
|
||||
console.log("PC : ", formData, this.object);
|
||||
return formData;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** @override */
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
|
||||
// Everything below here is only needed if the sheet is editable
|
||||
if (!this.options.editable) return;
|
||||
|
||||
html.bind("keydown", function(e) { // Ignore Enter in actores sheet
|
||||
if (e.keyCode === 13) return false;
|
||||
});
|
||||
|
||||
// Update Inventory Item
|
||||
html.find('.item-edit').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item")
|
||||
let itemId = li.data("item-id")
|
||||
const item = this.actor.items.get( itemId );
|
||||
item.sheet.render(true);
|
||||
});
|
||||
// Delete Inventory Item
|
||||
html.find('.item-delete').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item")
|
||||
WarheroUtility.confirmDelete(this, li)
|
||||
})
|
||||
html.find('.item-add').click(ev => {
|
||||
let dataType = $(ev.currentTarget).data("type")
|
||||
this.actor.createEmbeddedDocuments('Item', [{ name: "NewItem", type: dataType }], { renderSheet: true })
|
||||
})
|
||||
|
||||
html.find('.equip-activate').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item")
|
||||
let itemId = li.data("item-id")
|
||||
this.actor.equipActivate( itemId)
|
||||
});
|
||||
html.find('.equip-deactivate').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item")
|
||||
let itemId = li.data("item-id")
|
||||
this.actor.equipDeactivate( itemId)
|
||||
});
|
||||
|
||||
html.find('.subactor-edit').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
let actorId = li.data("actor-id");
|
||||
let actor = game.actors.get( actorId );
|
||||
actor.sheet.render(true);
|
||||
});
|
||||
|
||||
html.find('.subactor-delete').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
let actorId = li.data("actor-id");
|
||||
this.actor.delSubActor(actorId);
|
||||
});
|
||||
html.find('.quantity-minus').click(event => {
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
this.actor.incDecQuantity( li.data("item-id"), -1 );
|
||||
} );
|
||||
html.find('.quantity-plus').click(event => {
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
this.actor.incDecQuantity( li.data("item-id"), +1 );
|
||||
} );
|
||||
|
||||
html.find('.ammo-minus').click(event => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
this.actor.incDecAmmo( li.data("item-id"), -1 );
|
||||
} );
|
||||
html.find('.ammo-plus').click(event => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
this.actor.incDecAmmo( li.data("item-id"), +1 )
|
||||
} );
|
||||
|
||||
html.find('.roll-ability').click((event) => {
|
||||
const abilityKey = $(event.currentTarget).data("ability-key");
|
||||
this.actor.rollAbility(abilityKey);
|
||||
});
|
||||
html.find('.roll-skill').click((event) => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
const skillId = li.data("item-id")
|
||||
this.actor.rollSkill(skillId)
|
||||
});
|
||||
|
||||
html.find('.roll-weapon').click((event) => {
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
const skillId = li.data("item-id")
|
||||
this.actor.rollWeapon(skillId)
|
||||
});
|
||||
html.find('.roll-armor-die').click((event) => {
|
||||
this.actor.rollArmorDie()
|
||||
});
|
||||
html.find('.roll-shield-die').click((event) => {
|
||||
this.actor.rollShieldDie()
|
||||
});
|
||||
html.find('.roll-target-die').click((event) => {
|
||||
this.actor.rollDefenseRanged()
|
||||
});
|
||||
|
||||
html.find('.roll-save').click((event) => {
|
||||
const saveKey = $(event.currentTarget).data("save-key")
|
||||
this.actor.rollSave(saveKey)
|
||||
});
|
||||
|
||||
|
||||
html.find('.lock-unlock-sheet').click((event) => {
|
||||
this.options.editScore = !this.options.editScore;
|
||||
this.render(true);
|
||||
});
|
||||
html.find('.item-link a').click((event) => {
|
||||
const itemId = $(event.currentTarget).data("item-id");
|
||||
const item = this.actor.getOwnedItem(itemId);
|
||||
item.sheet.render(true);
|
||||
});
|
||||
html.find('.item-equip').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
this.actor.equipItem( li.data("item-id") );
|
||||
this.render(true);
|
||||
});
|
||||
|
||||
html.find('.update-field').change(ev => {
|
||||
const fieldName = $(ev.currentTarget).data("field-name");
|
||||
let value = Number(ev.currentTarget.value);
|
||||
this.actor.update( { [`${fieldName}`]: value } );
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** @override */
|
||||
setPosition(options = {}) {
|
||||
const position = super.setPosition(options);
|
||||
const sheetBody = this.element.find(".sheet-body");
|
||||
const bodyHeight = position.height - 192;
|
||||
sheetBody.css("height", bodyHeight);
|
||||
return position;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** @override */
|
||||
_updateObject(event, formData) {
|
||||
// Update the Actor
|
||||
return this.object.update(formData);
|
||||
}
|
||||
}
|
||||
|
@ -544,10 +544,10 @@ export class WarheroUtility {
|
||||
|
||||
let actor = game.actors.get(rollData.actorId)
|
||||
|
||||
if ( rollData.mode == "power") {
|
||||
if (rollData.mode == "power") {
|
||||
let manaCost = Array.from(rollData.powerLevel)[0]
|
||||
if( actor.spentMana(manaCost)) {
|
||||
let powerKey = "level"+rollData.powerLevel
|
||||
if (actor.spentMana(manaCost)) {
|
||||
let powerKey = "level" + rollData.powerLevel
|
||||
rollData.powerText = rollData.power.system[powerKey]
|
||||
let msg = await this.createChatWithRollMode(rollData.alias, {
|
||||
content: await renderTemplate(`systems/fvtt-warhero/templates/chat-generic-result.html`, rollData)
|
||||
@ -556,8 +556,14 @@ export class WarheroUtility {
|
||||
}
|
||||
return
|
||||
}
|
||||
if ( rollData.mode == "damage") {
|
||||
let myRoll = new Roll(rollData.weapon.damageFormula + "+" + rollData.bonusMalus).roll({ async: false })
|
||||
if (rollData.mode == "damage") {
|
||||
let formula
|
||||
if (rollData.weapon.system.weapontype == "special") {
|
||||
formula = rollData.weapon.system.damageformula
|
||||
} else {
|
||||
formula = (rollData.is2hands) ? rollData.weapon.damageFormula2Hands : rollData.weapon.damageFormula
|
||||
}
|
||||
let myRoll = new Roll(formula + "+" + rollData.bonusMalus, actor.system).roll({ async: false })
|
||||
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
||||
rollData.roll = myRoll
|
||||
rollData.diceFormula = myRoll.formula
|
||||
@ -570,12 +576,17 @@ export class WarheroUtility {
|
||||
return
|
||||
}
|
||||
|
||||
let diceFormula
|
||||
if (rollData.weapon.system.weapontype == "special") {
|
||||
diceFormula = rollData.weapon.system.rollformula
|
||||
} else {
|
||||
// ability/save/size => 0
|
||||
let diceFormula = "1d20"
|
||||
if ( rollData.stat) {
|
||||
diceFormula = "1d20"
|
||||
if (rollData.stat) {
|
||||
diceFormula += "+" + rollData.stat.value
|
||||
}
|
||||
if ( rollData.usemWeaponMalus) {
|
||||
}
|
||||
if (rollData.usemWeaponMalus) {
|
||||
diceFormula += "+" + rollData.mWeaponMalus
|
||||
}
|
||||
diceFormula += "+" + rollData.bonusMalus
|
||||
@ -584,7 +595,7 @@ export class WarheroUtility {
|
||||
console.log("Roll formula", diceFormula)
|
||||
let myRoll = rollData.roll
|
||||
if (!myRoll) { // New rolls only of no rerolls
|
||||
myRoll = new Roll(diceFormula).roll({ async: false })
|
||||
myRoll = new Roll(diceFormula, actor.system).roll({ async: false })
|
||||
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
||||
}
|
||||
rollData.roll = myRoll
|
||||
@ -619,7 +630,19 @@ export class WarheroUtility {
|
||||
return 0;
|
||||
})
|
||||
}
|
||||
|
||||
static sortArrayObjectsByNameAndLevel(myArray) {
|
||||
myArray.sort((a, b) => {
|
||||
let fa = a.system.level + a.name.toLowerCase();
|
||||
let fb = b.system.level + b.name.toLowerCase();
|
||||
if (fa < fb) {
|
||||
return -1;
|
||||
}
|
||||
if (fa > fb) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
})
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
static getUsers(filter) {
|
||||
return game.users.filter(filter).map(user => user.id);
|
||||
|
1351
styles/simple.css
1351
styles/simple.css
File diff suppressed because it is too large
Load Diff
@ -101,7 +101,7 @@
|
||||
"styles": [
|
||||
"styles/simple.css"
|
||||
],
|
||||
"version": "10.0.20",
|
||||
"version": "10.0.23",
|
||||
"compatibility": {
|
||||
"minimum": "10",
|
||||
"verified": "10",
|
||||
@ -109,7 +109,7 @@
|
||||
},
|
||||
"title": "Warhero RPG",
|
||||
"manifest": "https://www.uberwald.me/gitea/public/fvtt-warhero/raw/branch/master/system.json",
|
||||
"download": "https://www.uberwald.me/gitea/uberwald/fvtt-warhero/archive/fvtt-warhero-10.0.20.zip",
|
||||
"download": "https://www.uberwald.me/gitea/uberwald/fvtt-warhero/archive/fvtt-warhero-10.0.23.zip",
|
||||
"url": "https://www.uberwald.me/gitea/public/fvtt-warhero",
|
||||
"background": "images/ui/warhero_welcome_page.webp",
|
||||
"id": "fvtt-warhero"
|
||||
|
@ -1,6 +1,10 @@
|
||||
{
|
||||
"Actor": {
|
||||
"types": ["character", "npc"],
|
||||
"types": [
|
||||
"character",
|
||||
"npc",
|
||||
"monster"
|
||||
],
|
||||
"templates": {
|
||||
"biodata": {
|
||||
"biodata": {
|
||||
@ -51,7 +55,7 @@
|
||||
}
|
||||
},
|
||||
"attributes": {
|
||||
"hp":{
|
||||
"hp": {
|
||||
"label": "WH.ui.HitPoints",
|
||||
"abbrev": "hp",
|
||||
"style": "edit",
|
||||
@ -60,7 +64,7 @@
|
||||
"max": 1,
|
||||
"value": 1
|
||||
},
|
||||
"knowledge":{
|
||||
"knowledge": {
|
||||
"label": "WH.ui.Knowledge",
|
||||
"abbrev": "knowledge",
|
||||
"style": "edit",
|
||||
@ -69,14 +73,14 @@
|
||||
"max": 1,
|
||||
"value": 1
|
||||
},
|
||||
"def":{
|
||||
"def": {
|
||||
"label": "WH.ui.Defence",
|
||||
"abbrev": "def",
|
||||
"style": "edit",
|
||||
"max": 1,
|
||||
"value": 1
|
||||
},
|
||||
"txcm":{
|
||||
"txcm": {
|
||||
"label": "WH.ui.Throw2HitM",
|
||||
"abbrev": "txcm",
|
||||
"istxc": true,
|
||||
@ -85,7 +89,7 @@
|
||||
"max": 1,
|
||||
"value": 1
|
||||
},
|
||||
"txcr":{
|
||||
"txcr": {
|
||||
"label": "WH.ui.Throw2HitR",
|
||||
"abbrev": "txcr",
|
||||
"istxc": true,
|
||||
@ -94,7 +98,7 @@
|
||||
"max": 1,
|
||||
"value": 1
|
||||
},
|
||||
"mana":{
|
||||
"mana": {
|
||||
"label": "WH.ui.Mana",
|
||||
"abbrev": "pm",
|
||||
"style": "edit",
|
||||
@ -103,28 +107,28 @@
|
||||
"max": 1,
|
||||
"value": 1
|
||||
},
|
||||
"ini":{
|
||||
"ini": {
|
||||
"label": "WH.ui.Initiative",
|
||||
"abbrev": "ini",
|
||||
"style": "edit",
|
||||
"max": 1,
|
||||
"value": 1
|
||||
},
|
||||
"movearth":{
|
||||
"movearth": {
|
||||
"label": "WH.ui.Movement",
|
||||
"abbrev": "mov",
|
||||
"style": "edit",
|
||||
"max": 1,
|
||||
"value": 1
|
||||
},
|
||||
"movswim":{
|
||||
"movswim": {
|
||||
"label": "WH.ui.MovementSwim",
|
||||
"abbrev": "mov",
|
||||
"style": "edit",
|
||||
"max": 1,
|
||||
"value": 1
|
||||
},
|
||||
"movfly":{
|
||||
"movfly": {
|
||||
"label": "WH.ui.MovementFly",
|
||||
"abbrev": "mov",
|
||||
"style": "edit",
|
||||
@ -203,14 +207,37 @@
|
||||
}
|
||||
},
|
||||
"character": {
|
||||
"templates": [ "biodata", "core" ]
|
||||
"templates": [
|
||||
"biodata",
|
||||
"core"
|
||||
]
|
||||
},
|
||||
"npc": {
|
||||
"templates": [ "biodata", "core" ]
|
||||
"templates": [
|
||||
"biodata",
|
||||
"core"
|
||||
]
|
||||
},
|
||||
"monster": {
|
||||
"templates": [
|
||||
"biodata",
|
||||
"core"
|
||||
]
|
||||
}
|
||||
},
|
||||
"Item": {
|
||||
"types": [ "equipment", "race", "weapon", "armor", "shield", "skill", "power", "language", "condition", "class"],
|
||||
"types": [
|
||||
"equipment",
|
||||
"race",
|
||||
"weapon",
|
||||
"armor",
|
||||
"shield",
|
||||
"skill",
|
||||
"power",
|
||||
"language",
|
||||
"condition",
|
||||
"class"
|
||||
],
|
||||
"templates": {
|
||||
"commonclassrace": {
|
||||
"weapons": {
|
||||
@ -238,7 +265,9 @@
|
||||
"description": ""
|
||||
},
|
||||
"class": {
|
||||
"templates": ["commonclassrace"],
|
||||
"templates": [
|
||||
"commonclassrace"
|
||||
],
|
||||
"description": ""
|
||||
},
|
||||
"race": {
|
||||
@ -248,7 +277,9 @@
|
||||
"attributebonus1": "",
|
||||
"attributebonus4": "",
|
||||
"attributebonus8": "",
|
||||
"templates": ["commonclassrace"]
|
||||
"templates": [
|
||||
"commonclassrace"
|
||||
]
|
||||
},
|
||||
"language": {
|
||||
"shortdescription": "",
|
||||
@ -264,6 +295,9 @@
|
||||
"weapon": {
|
||||
"weapontype": "short",
|
||||
"damage": "1d6",
|
||||
"damage2hands": "1d6",
|
||||
"rollformula": "",
|
||||
"damageformula": "",
|
||||
"cost": 0,
|
||||
"equipped": false,
|
||||
"quantity": 1,
|
||||
@ -279,7 +313,7 @@
|
||||
"quantity": 1,
|
||||
"slotused": 1,
|
||||
"slotlocation": "armor",
|
||||
"description":""
|
||||
"description": ""
|
||||
},
|
||||
"shield": {
|
||||
"shieldtype": "light",
|
||||
@ -289,7 +323,7 @@
|
||||
"quantity": 1,
|
||||
"slotused": 1,
|
||||
"slotlocation": "shield",
|
||||
"description":""
|
||||
"description": ""
|
||||
},
|
||||
"equipment": {
|
||||
"equiptype": "",
|
||||
@ -298,14 +332,14 @@
|
||||
"equipped": false,
|
||||
"slotused": 1,
|
||||
"slotlocation": "backpack",
|
||||
"description":""
|
||||
"description": ""
|
||||
},
|
||||
"power": {
|
||||
"level": "",
|
||||
"magicschool": "",
|
||||
"description": ""
|
||||
},
|
||||
"spell":{
|
||||
"spell": {
|
||||
"lore": "",
|
||||
"circle": 1,
|
||||
"range": "",
|
||||
|
@ -193,7 +193,15 @@
|
||||
|
||||
<span class="item-field-label-medium">{{weapon.system.weapontype}}</span>
|
||||
|
||||
{{#if (eq system.weapontype "special")}}
|
||||
<span class="item-field-label-medium"><a class="roll-damage"><i class="fa-solid fa-dice-d20"></i>{{weapon.system.damageformula}}</a></span>
|
||||
{{else}}
|
||||
<span class="item-field-label-medium"><a class="roll-damage"><i class="fa-solid fa-dice-d20"></i>{{weapon.damageFormula}}</a></span>
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq system.weapontype "polearm")}}
|
||||
<span class="item-field-label-medium"><a class="roll-damage-2hands"><i class="fa-solid fa-dice-d20"></i>{{weapon.damageFormula2Hands}}</a></span>
|
||||
{{/if}}
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
@ -384,20 +392,24 @@
|
||||
|
||||
<div class="flexcol">
|
||||
|
||||
{{#each powers as |school schoolKey|}}
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Powers</label></h3>
|
||||
<h3><label class="items-title-text">{{schoolKey}}</label></h3>
|
||||
</span>
|
||||
</li>
|
||||
|
||||
{{#each powers as |power key|}}
|
||||
{{#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>
|
||||
@ -406,6 +418,7 @@
|
||||
{{/each}}
|
||||
|
||||
</ul>
|
||||
{{/each}}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
<div class="tab" data-group="primary">
|
||||
<ul>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">Type</label>
|
||||
<li class="flexrow"><label class="item-field-label-long ">Type</label>
|
||||
<select class="item-field-label-medium " type="text" name="system.weapontype" value="{{system.weapontype}}" data-dtype="String">
|
||||
{{#select system.weapontype}}
|
||||
{{#each config.weaponTypes as |type key|}}
|
||||
@ -28,10 +28,24 @@
|
||||
</select>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-medium ">Damage</label>
|
||||
{{#if (eq system.weapontype "special")}}
|
||||
<li class="flexrow"><label class="item-field-label-vlong2 ">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"/>
|
||||
</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}}
|
||||
|
||||
|
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="ability-item">
|
||||
<ul>
|
||||
{{#each data.abilities as |ability key|}}
|
||||
{{#if (eq ability.col 1)}}
|
||||
{{> systems/fvtt-crucible-rpg/templates/partial-actor-ability-block.html ability=ability key=key}}
|
||||
{{/if}}
|
||||
{{#each system.statistics as |stat key|}}
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=stat key=key path="statistics" fieldClass="item-field-label-medium"}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<li class="item flexrow list-item" data-attr-key="class">
|
||||
<span class="ability-label " name="class">
|
||||
<h4 class="ability-text-white ability-margin">Class</h4>
|
||||
</span>
|
||||
<select class="competence-base flexrow" type="text" name="system.biodata.class" value="{{data.biodata.class}}" data-dtype="String">
|
||||
{{#select data.biodata.class}}
|
||||
<option value="none">None</option>
|
||||
<option value="chaplain">Chaplain</option>
|
||||
<option value="magus">Magus</option>
|
||||
<option value="martial">Martial</option>
|
||||
<option value="skalawag">Skalawag</option>
|
||||
<option value="warden">Warden</option>
|
||||
{{/select}}
|
||||
</select>
|
||||
</li>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="ability-item">
|
||||
<ul>
|
||||
{{#each data.abilities as |ability key|}}
|
||||
{{#if (eq ability.col 2)}}
|
||||
{{> systems/fvtt-crucible-rpg/templates/partial-actor-ability-block.html ability=ability key=key}}
|
||||
<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}}
|
||||
|
||||
{{#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>
|
||||
</div>
|
||||
|
||||
<div class="ability-item status-block">
|
||||
{{> systems/fvtt-crucible-rpg/templates/partial-actor-status.html}}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{{!-- Sheet Tab Navigation --}}
|
||||
<nav class="sheet-tabs tabs" data-group="primary">
|
||||
<a class="item" data-tab="details">Details</a>
|
||||
<a class="item" data-tab="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>
|
||||
|
||||
@ -90,93 +76,82 @@
|
||||
<section class="sheet-body">
|
||||
|
||||
{{!-- Skills Tab --}}
|
||||
<div class="tab skills" data-group="primary" data-tab="details">
|
||||
<div class="tab main" data-group="primary" data-tab="main">
|
||||
|
||||
<ul class="stat-list alternate-list item-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Skills</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Ability</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Dice</label>
|
||||
</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>
|
||||
<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">Combat</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Ability</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">Range</label>
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.competency"}}</label></h3>
|
||||
</span>
|
||||
</li>
|
||||
{{#each equippedWeapons as |weapon key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{weapon._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{weapon.img}}" /></a>
|
||||
<span class="item-name-label-long"><a class ="roll-weapon">{{weapon.name}}</a></span>
|
||||
|
||||
<span class="item-field-label-short">{{weapon.system.ability}}</span>
|
||||
|
||||
<span class="item-field-label-medium">{{perk.system.range}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
{{#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">Monster Powers</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">Feature Die?</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">SL?</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">SL</label>
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.languages"}}</label></h3>
|
||||
</span>
|
||||
</li>
|
||||
{{#each feats as |feat key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{feat._id}}">
|
||||
{{#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="{{feat.img}}" /></a>
|
||||
<span class="item-name-label-long">{{feat.name}}</span>
|
||||
|
||||
<span class="item-field-label-medium">{{upperFirst feat.system.isfeatdie}}</span>
|
||||
<span class="item-field-label-medium">{{upperFirst feat.system.issl}}</span>
|
||||
<span class="item-field-label-medium">{{feat.system.sl}}</span>
|
||||
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">
|
||||
@ -185,150 +160,313 @@
|
||||
</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">Conditions</label></h3>
|
||||
</span>
|
||||
</li>
|
||||
{{#each conditions as |condition key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{condition._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{condition.img}}" /></a>
|
||||
<span class="item-name-label-long">{{condition.name}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Weapons</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Attack</label>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Damage</label>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.Damage"}}</label>
|
||||
</span>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="weapon" title="Create Item"><i class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each weapons as |weapon key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{weapon._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{weapon.img}}" /></a>
|
||||
<span class="item-name-label">{{weapon.name}}</span>
|
||||
<span class="item-field-label-short"><label>{{upper weapon.system.ability}}</label></span>
|
||||
<span class="item-field-label-short"><label>{{upper weapon.system.damage}}</label></span>
|
||||
<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-equip" title="Worn">{{#if weapon.system.equipped}}<i
|
||||
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Armors</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Type</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Absorption</label>
|
||||
</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="armor" title="Create Item"><i class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each armors as |armor key|}}
|
||||
<li class="item list-item flexrow list-item-shadow" data-item-id="{{armor._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{armor.img}}" /></a>
|
||||
<span class="item-name-label">{{armor.name}}</span>
|
||||
<span class="item-field-label-short">{{upper armor.system.armortype}}</span>
|
||||
<span class="item-field-label-short">{{armor.system.absorprionroll}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-equip" title="Worn">{{#if armor.system.equipped}}<i
|
||||
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<ul class="item-list alternate-list">
|
||||
<div>
|
||||
<ul class="stat-list alternate-list">
|
||||
<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>
|
||||
</span>
|
||||
<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>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="shield" title="Create Item"><i class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each shields as |shield key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{shield._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{shield.img}}" /></a>
|
||||
<span class="item-name-label">{{shield.name}}</span>
|
||||
<span class="item-field-label-short">{{shield.system.levelDice}}</span>
|
||||
<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-equip" title="Worn">{{#if shield.system.equipped}}<i
|
||||
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</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">
|
||||
<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 class="item-field-label-long">
|
||||
<label class="short-label">Quantity</label>
|
||||
</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-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>
|
||||
|
||||
</li>
|
||||
{{#each containersTree as |equip key|}}
|
||||
{{> systems/fvtt-crucible-rpg/templates/partial-actor-equipment.html equip=equip level=1}}
|
||||
<ul class="item-list list-item-shadow2 list-item-margin1">
|
||||
{{#each equip.data.contents as |subgear key|}}
|
||||
{{> systems/fvtt-crucible-rpg/templates/partial-actor-equipment.html equip=subgear level=2}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{!-- 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>
|
||||
|
||||
@ -358,6 +496,11 @@
|
||||
<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>
|
||||
@ -379,16 +522,6 @@
|
||||
<label class="generic-label">Sex</label>
|
||||
<input type="text" class="" name="system.biodata.sex" value="{{data.biodata.sex}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Preferred Hand</label>
|
||||
<input type="text" class="" name="system.biodata.preferredhand" value="{{data.biodata.preferredhand}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
<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>
|
||||
</div>
|
||||
</div>
|
||||
@ -397,13 +530,13 @@
|
||||
<hr>
|
||||
<h3>Background : </h3>
|
||||
<div class="form-group editor">
|
||||
{{editor data.biodata.description target="system.biodata.description" button=true owner=owner
|
||||
{{editor description target="system.biodata.description" button=true owner=owner
|
||||
editable=editable}}
|
||||
</div>
|
||||
<hr>
|
||||
<h3>Notes : </h3>
|
||||
<div class="form-group editor">
|
||||
{{editor data.biodata.notes target="system.biodata.notes" button=true owner=owner editable=editable}}
|
||||
{{editor notes target="system.biodata.notes" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
<hr>
|
||||
</article>
|
||||
|
@ -10,20 +10,41 @@
|
||||
|
||||
{{#if weapon}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-long">Weapon : </span>
|
||||
<span class="item-field-label-medium">{{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>
|
||||
<span class="item-field-label-vlong">Weapon : </span>
|
||||
<span class="item-field-label-vlong">{{weapon.name}}</span>
|
||||
</div>
|
||||
|
||||
{{#if (eq mode "damage")}}
|
||||
{{#if (eq weapon.system.weapontype "special")}}
|
||||
<div class="flexrow">
|
||||
<span class="item-field-label-vlong">Damage : </span>
|
||||
<span class="item-field-label-vlong">{{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}}
|
||||
</div>
|
||||
{{/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}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-long">{{localize stat.label}}</span>
|
||||
<span class="item-field-label-vlong">{{localize stat.label}}</span>
|
||||
{{#if (eq mode "save")}}
|
||||
<span class="item-field-label-medium">{{stat.save}}</span>
|
||||
{{else}}
|
||||
@ -33,7 +54,7 @@
|
||||
|
||||
{{#if stat.istxc}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-long">Multiple weapons malus ({{mWeaponMalus}})? </span>
|
||||
<span class="item-field-label-vlong">Multiple weapons malus ({{mWeaponMalus}})? </span>
|
||||
<span class="item-field-label-medium"><input type="checkbox" id="usemWeaponMalus" name="usemWeaponMalus" {{checked usemWeaponMalus}}/></span>
|
||||
{{/if}}
|
||||
</div>
|
||||
@ -41,31 +62,31 @@
|
||||
|
||||
{{#if shield}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-long">Use shield ? : </span>
|
||||
<span class="item-field-label-vlong">Use shield ? : </span>
|
||||
<span class="roll-dialog-label">
|
||||
<input type="checkbox" id="useshield" name="useshield" {{checked useshield}}/>
|
||||
</span>
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-long">{{shield.name}} : </span>
|
||||
<span class="roll-dialog-label">{{shield.data.shielddie}}</span>
|
||||
<span class="item-field-label-vlong">{{shield.name}} : </span>
|
||||
<span class="item-field-label-medium">{{shield.data.shielddie}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if power}}
|
||||
<div class="flexrow">
|
||||
<span class="item-field-label-long">Power : </span>
|
||||
<span class="item-field-label-vlong">Power : </span>
|
||||
<span class="item-field-label-medium">{{power.name}}</span>
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="item-field-label-long">Power Level : </span>
|
||||
<span class="item-field-label-vlong">Power Level : </span>
|
||||
<span class="item-field-label-medium">{{power.system.level}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if hasBM}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-long">Bonus/Malus : </span>
|
||||
<span class="item-field-label-vlong">Bonus/Malus : </span>
|
||||
<select class="item-field-label-medium" type="text" id="bonusMalus" value="{{bonusMalus}}">
|
||||
{{#select bonusMalus}}
|
||||
<option value="-6">-6</option>
|
||||
|
Reference in New Issue
Block a user