Compare commits
7 Commits
fvtt-warhe
...
fvtt-warhe
| Author | SHA1 | Date | |
|---|---|---|---|
| 36c9945886 | |||
| bfad3d1e5f | |||
| 7827e07e1c | |||
| 3a8ad674bd | |||
| c8f7c7c1e5 | |||
| d922d77736 | |||
| 7137de0983 |
78
lang/en.json
78
lang/en.json
@@ -1,4 +1,28 @@
|
|||||||
{
|
{
|
||||||
|
"ACTOR": {
|
||||||
|
"TypeCharacter": "Character",
|
||||||
|
"TypeNpc": "NPC",
|
||||||
|
"TypeMonster": "Monster"
|
||||||
|
},
|
||||||
|
"ITEM": {
|
||||||
|
"TypeWeapon": "Weapon",
|
||||||
|
"TypeEquipment": "Equipment",
|
||||||
|
"TypeRace": "Race",
|
||||||
|
"TypeArmor": "Armor",
|
||||||
|
"TypeShield": "Shield",
|
||||||
|
"TypeSkill": "Skill",
|
||||||
|
"TypePower": "Power",
|
||||||
|
"TypeLanguage": "Language",
|
||||||
|
"TypeCondition": "Condition",
|
||||||
|
"TypeClass": "Class",
|
||||||
|
"TypeMoney": "Money",
|
||||||
|
"TypePotion": "Potion",
|
||||||
|
"TypePoison": "Poison",
|
||||||
|
"TypeTrap": "Trap",
|
||||||
|
"TypeClassitem": "Class item",
|
||||||
|
"TypeCompetency": "Competency"
|
||||||
|
},
|
||||||
|
|
||||||
"WH.conf.short": "Short",
|
"WH.conf.short": "Short",
|
||||||
"WH.conf.long": "Long",
|
"WH.conf.long": "Long",
|
||||||
"WH.conf.twohanded": "Two-Handed",
|
"WH.conf.twohanded": "Two-Handed",
|
||||||
@@ -30,6 +54,12 @@
|
|||||||
"WH.conf.beltpouch2": "Beltpouch 2",
|
"WH.conf.beltpouch2": "Beltpouch 2",
|
||||||
"WH.conf.beltpouch3": "Beltpouch 3",
|
"WH.conf.beltpouch3": "Beltpouch 3",
|
||||||
|
|
||||||
|
"WH.conf.unknown": "Unknown",
|
||||||
|
"WH.conf.yes": "Yes",
|
||||||
|
"WH.conf.no": "No",
|
||||||
|
"WH.conf.notapplicable": "Not applicable",
|
||||||
|
"WH.conf.undefined": "Not applicable",
|
||||||
|
|
||||||
"WH.ui.level": "Level",
|
"WH.ui.level": "Level",
|
||||||
"WH.ui.notes": "Notes",
|
"WH.ui.notes": "Notes",
|
||||||
|
|
||||||
@@ -79,6 +109,7 @@
|
|||||||
"WH.ui.classSkills": "Class Skills",
|
"WH.ui.classSkills": "Class Skills",
|
||||||
"WH.ui.skills": "Skills based on level",
|
"WH.ui.skills": "Skills based on level",
|
||||||
"WH.ui.isclassskill": "Class skill ?",
|
"WH.ui.isclassskill": "Class skill ?",
|
||||||
|
"WH.ui.israceskill": "Race skill ?",
|
||||||
"WH.ui.unlimited": "Unlimited use ?",
|
"WH.ui.unlimited": "Unlimited use ?",
|
||||||
"WH.ui.currentuse": "Current use",
|
"WH.ui.currentuse": "Current use",
|
||||||
"WH.ui.maxuse": "Max use",
|
"WH.ui.maxuse": "Max use",
|
||||||
@@ -118,6 +149,48 @@
|
|||||||
"WH.ui.details": "Details",
|
"WH.ui.details": "Details",
|
||||||
"WH.ui.magicschool": "Magic School",
|
"WH.ui.magicschool": "Magic School",
|
||||||
"WH.ui.providedslot": "Provided slot",
|
"WH.ui.providedslot": "Provided slot",
|
||||||
|
"WH.ui.skilllevelacquired": "Acquired at level",
|
||||||
|
"WH.ui.totalmoney": "Total money owned",
|
||||||
|
"WH.ui.preparetime": "Time to prepare",
|
||||||
|
"WH.ui.durationrounds": "Duration in rounds",
|
||||||
|
"WH.ui.application": "Application",
|
||||||
|
"WH.ui.savesdc": "Saves DC",
|
||||||
|
"WH.ui.savetype": "Save type",
|
||||||
|
"WH.ui.Touch": "Touch",
|
||||||
|
"WH.ui.Ingestion": "Ingestion",
|
||||||
|
"WH.ui.Weapon": "Weapon",
|
||||||
|
"WH.ui.halfdamage": "Half-damage",
|
||||||
|
"WH.ui.ignore": "Ignore effect",
|
||||||
|
"WH.ui.dcfind": "DC to find",
|
||||||
|
"WH.ui.dcdisable": "DC to disable",
|
||||||
|
"WH.ui.throwtohit": "Throw to hit",
|
||||||
|
"WH.ui.mandatoryfor": "Mandatory for",
|
||||||
|
"WH.ui.generic": "Generic",
|
||||||
|
"WH.ui.bless": "Bless",
|
||||||
|
"WH.ui.spell": "Spell",
|
||||||
|
"WH.ui.poison": "Poison",
|
||||||
|
"WH.ui.disease": "Disease",
|
||||||
|
"WH.ui.curse": "Curse",
|
||||||
|
"WH.ui.permanent": "Permanent",
|
||||||
|
"WH.ui.temporary": "Temporary",
|
||||||
|
"WH.ui.begin": "Begin",
|
||||||
|
"WH.ui.specialduration": "Special duration",
|
||||||
|
"WH.ui.infinite": "Infinite",
|
||||||
|
"WH.uiwithineor": "Within end of round",
|
||||||
|
"WH.ui.beginr": "Beginning of round",
|
||||||
|
"WH.ui.nextr": "Next round",
|
||||||
|
"WH.ui.nextcombat": "Next combat",
|
||||||
|
"WH.ui.untilendcombat": "Until end of combat",
|
||||||
|
"WH.ui.beginturn": "Beginning of turn",
|
||||||
|
"WH.ui.endturn": "End of turn",
|
||||||
|
"WH.ui.durationvalue": "Duration value",
|
||||||
|
"WH.ui.durationunit": "Duration unit",
|
||||||
|
"WH.ui.dcsave": "DC save",
|
||||||
|
"WH.ui.incubationtime": "Incubation time",
|
||||||
|
"WH.ui.diseaseduration": "Disease duration",
|
||||||
|
"WH.ui.ignoreeffect": "Ignore effect",
|
||||||
|
"WH.ui.raceSkills": "Race skills",
|
||||||
|
"WH.ui.identified": "Identified",
|
||||||
|
|
||||||
"WH.chat.save": "Save",
|
"WH.chat.save": "Save",
|
||||||
"WH.chat.mweaponmalus": "Multiple weapons malus ",
|
"WH.chat.mweaponmalus": "Multiple weapons malus ",
|
||||||
@@ -128,5 +201,8 @@
|
|||||||
"WH.chat.rollformula": "Roll Formula",
|
"WH.chat.rollformula": "Roll Formula",
|
||||||
"WH.chat.useshield":"Use shield ?",
|
"WH.chat.useshield":"Use shield ?",
|
||||||
"WH.chat.power": "Power",
|
"WH.chat.power": "Power",
|
||||||
"WH.chat.powerlevel": "Power Level"
|
"WH.chat.powerlevel": "Power Level",
|
||||||
|
|
||||||
|
"WH.notif.skillmaxuse": "Maximum skill usage reach - Use is not allowed",
|
||||||
|
"WH.notif.toomanyuses": "Maximum use reach - Roll is not allowed"
|
||||||
}
|
}
|
||||||
@@ -42,7 +42,9 @@ export class WarheroActorSheet extends ActorSheet {
|
|||||||
cssClass: this.isEditable ? "editable" : "locked",
|
cssClass: this.isEditable ? "editable" : "locked",
|
||||||
system: objectData,
|
system: objectData,
|
||||||
limited: this.object.limited,
|
limited: this.object.limited,
|
||||||
|
compentencyItems:this.actor.getCompetencyItems( ),
|
||||||
skills: this.actor.getNormalSkills( ),
|
skills: this.actor.getNormalSkills( ),
|
||||||
|
raceSkills: this.actor.getRaceSkills( ),
|
||||||
classSkills: this.actor.getClassSkills( ),
|
classSkills: this.actor.getClassSkills( ),
|
||||||
languages: this.actor.getLanguages( ),
|
languages: this.actor.getLanguages( ),
|
||||||
weapons: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getWeapons()) ),
|
weapons: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getWeapons()) ),
|
||||||
@@ -55,7 +57,8 @@ export class WarheroActorSheet extends ActorSheet {
|
|||||||
subActors: duplicate(this.actor.getSubActors()),
|
subActors: duplicate(this.actor.getSubActors()),
|
||||||
competency: this.actor.getCompetency(),
|
competency: this.actor.getCompetency(),
|
||||||
race: duplicate(race),
|
race: duplicate(race),
|
||||||
class: duplicate(this.actor.getClass()),
|
classes: duplicate(this.actor.getClasses()),
|
||||||
|
totalMoney: this.actor.computeTotalMoney(),
|
||||||
//moneys: duplicate(this.actor.getMoneys()),
|
//moneys: duplicate(this.actor.getMoneys()),
|
||||||
description: await TextEditor.enrichHTML(this.object.system.biodata.description, {async: true}),
|
description: await TextEditor.enrichHTML(this.object.system.biodata.description, {async: true}),
|
||||||
notes: await TextEditor.enrichHTML(this.object.system.biodata.notes, {async: true}),
|
notes: await TextEditor.enrichHTML(this.object.system.biodata.notes, {async: true}),
|
||||||
@@ -64,6 +67,9 @@ export class WarheroActorSheet extends ActorSheet {
|
|||||||
editScore: this.options.editScore,
|
editScore: this.options.editScore,
|
||||||
isGM: game.user.isGM
|
isGM: game.user.isGM
|
||||||
}
|
}
|
||||||
|
// Dynamic patch
|
||||||
|
formData.system.secondary.counterspell.hasmax = false
|
||||||
|
// Race mngt
|
||||||
if ( race && race.name) {
|
if ( race && race.name) {
|
||||||
formData.hpprogression = game.system.warhero.config.progressionList[race.system.hpprogresion]
|
formData.hpprogression = game.system.warhero.config.progressionList[race.system.hpprogresion]
|
||||||
}
|
}
|
||||||
@@ -134,6 +140,15 @@ export class WarheroActorSheet extends ActorSheet {
|
|||||||
const li = $(event.currentTarget).parents(".item");
|
const li = $(event.currentTarget).parents(".item");
|
||||||
this.actor.incDecQuantity( li.data("item-id"), +1 );
|
this.actor.incDecQuantity( li.data("item-id"), +1 );
|
||||||
} );
|
} );
|
||||||
|
html.find('.skill-use-minus').click(event => {
|
||||||
|
const li = $(event.currentTarget).parents(".item");
|
||||||
|
this.actor.incDecSkillUse( li.data("item-id"), -1 );
|
||||||
|
} );
|
||||||
|
html.find('.skill-use-plus').click(event => {
|
||||||
|
const li = $(event.currentTarget).parents(".item");
|
||||||
|
this.actor.incDecSkillUse( li.data("item-id"), +1 );
|
||||||
|
} );
|
||||||
|
|
||||||
|
|
||||||
html.find('.ammo-minus').click(event => {
|
html.find('.ammo-minus').click(event => {
|
||||||
const li = $(event.currentTarget).parents(".item")
|
const li = $(event.currentTarget).parents(".item")
|
||||||
|
|||||||
@@ -162,6 +162,11 @@ export class WarheroActor extends Actor {
|
|||||||
let classWH = this.items.filter(item => item.type == 'class')
|
let classWH = this.items.filter(item => item.type == 'class')
|
||||||
return classWH[0] ?? [];
|
return classWH[0] ?? [];
|
||||||
}
|
}
|
||||||
|
getClasses() {
|
||||||
|
let comp = duplicate(this.items.filter(item => item.type == "class") || []);
|
||||||
|
WarheroUtility.sortArrayObjectsByName(comp)
|
||||||
|
return comp;
|
||||||
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
checkAndPrepareEquipment(item) {
|
checkAndPrepareEquipment(item) {
|
||||||
}
|
}
|
||||||
@@ -174,18 +179,28 @@ export class WarheroActor extends Actor {
|
|||||||
return listItem
|
return listItem
|
||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
|
computeTotalMoney() {
|
||||||
|
let nbMoney = 0
|
||||||
|
this.items.forEach(it => {if (it.type == 'money') { nbMoney += it.system.quantity} } )
|
||||||
|
return nbMoney
|
||||||
|
}
|
||||||
|
/* -------------------------------------------- */
|
||||||
buildEquipmentsSlot() {
|
buildEquipmentsSlot() {
|
||||||
let containers = {}
|
let containers = {}
|
||||||
for (let slotName in game.system.warhero.config.slotNames) {
|
for (let slotName in game.system.warhero.config.slotNames) {
|
||||||
let slotDef = game.system.warhero.config.slotNames[slotName]
|
let slotDef = game.system.warhero.config.slotNames[slotName]
|
||||||
containers[slotName] = duplicate(slotDef)
|
containers[slotName] = duplicate(slotDef)
|
||||||
containers[slotName].content = this.items.filter(it => (it.type == 'weapon' || it.type == 'armor' || it.type == 'shield' || it.type == 'equipment')
|
containers[slotName].content = this.items.filter(it => (it.type == 'money' || it.type == 'weapon' || it.type == 'armor' || it.type == 'shield' || it.type == 'equipment')
|
||||||
&& it.system.slotlocation == slotName)
|
&& it.system.slotlocation == slotName)
|
||||||
let slotUsed = 0
|
let slotUsed = 0
|
||||||
for (let item of containers[slotName].content) {
|
for (let item of containers[slotName].content) {
|
||||||
let q = (item.system.quantity) ? item.system.quantity : 1
|
let q = (item.system.quantity) ? item.system.quantity : 1
|
||||||
containers[slotName].nbslots += (item.system.providedslot?? 0) * q
|
containers[slotName].nbslots += (item.system.providedslot?? 0) * q
|
||||||
slotUsed += item.system.slotused * q
|
if ( item.type == "money") {
|
||||||
|
slotUsed += Math.ceil(item.system.quantity / 1000)
|
||||||
|
} else {
|
||||||
|
slotUsed += item.system.slotused * q
|
||||||
|
}
|
||||||
}
|
}
|
||||||
slotUsed = Math.ceil(slotUsed)
|
slotUsed = Math.ceil(slotUsed)
|
||||||
containers[slotName].slotUsed = slotUsed
|
containers[slotName].slotUsed = slotUsed
|
||||||
@@ -244,7 +259,12 @@ export class WarheroActor extends Actor {
|
|||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getNormalSkills() {
|
getNormalSkills() {
|
||||||
let comp = this.items.filter(it => it.type == "skill" && !it.system.classskill)
|
let comp = this.items.filter(it => it.type == "skill" && !it.system.classskill && !it.system.raceskill)
|
||||||
|
WarheroUtility.sortArrayObjectsByName(comp)
|
||||||
|
return comp
|
||||||
|
}
|
||||||
|
getRaceSkills() {
|
||||||
|
let comp = this.items.filter(it => it.type == "skill" && it.system.raceskill)
|
||||||
WarheroUtility.sortArrayObjectsByName(comp)
|
WarheroUtility.sortArrayObjectsByName(comp)
|
||||||
return comp
|
return comp
|
||||||
}
|
}
|
||||||
@@ -302,7 +322,10 @@ export class WarheroActor extends Actor {
|
|||||||
|
|
||||||
/* ------------------------------------------- */
|
/* ------------------------------------------- */
|
||||||
getEquipments() {
|
getEquipments() {
|
||||||
return this.items.filter(item => item.type == 'shield' || item.type == 'armor' || item.type == "weapon" || item.type == "equipment");
|
return this.items.filter(item => item.type == 'shield' || item.type == 'armor' || item.type == "weapon" || item.type == "equipment" || item.type == "potion" || item.type == "poison"|| item.type == "trap" || item.type == "classitem");
|
||||||
|
}
|
||||||
|
getCompetencyItems() {
|
||||||
|
return duplicate(this.items.filter(item => item.type == "competency") || [])
|
||||||
}
|
}
|
||||||
/* ------------------------------------------- */
|
/* ------------------------------------------- */
|
||||||
getEquipmentsOnly() {
|
getEquipmentsOnly() {
|
||||||
@@ -461,12 +484,10 @@ export class WarheroActor extends Actor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getInitiativeScore(combatId, combatantId) {
|
async getInitiativeScore(combatId, combatantId) {
|
||||||
if (this.type == 'character') {
|
let roll = new Roll("1d20+"+this.system.attributes.ini.value).roll({async: false})
|
||||||
this.rollMR(true, combatId, combatantId)
|
await WarheroUtility.showDiceSoNice(roll, game.settings.get("core", "rollMode"))
|
||||||
}
|
return roll.total
|
||||||
console.log("Init required !!!!")
|
|
||||||
return -1;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@@ -547,7 +568,19 @@ export class WarheroActor extends Actor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
async incDecSkillUse(skillId, value) {
|
||||||
|
let skill = this.items.get(skillId)
|
||||||
|
if (skill) {
|
||||||
|
let newUse = skill.system.currentuse + value
|
||||||
|
if (newUse > skill.system.maxuse) {
|
||||||
|
ui.notifications.warn(game.i18n.localize("WH.notif.skillmaxuse"))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
newUse = Math.max(newUse, 0)
|
||||||
|
this.updateEmbeddedDocuments('Item', [{ _id: skill.id, 'system.currentuse': newUse }])
|
||||||
|
}
|
||||||
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async incDecQuantity(objetId, incDec = 0) {
|
async incDecQuantity(objetId, incDec = 0) {
|
||||||
let objetQ = this.items.get(objetId)
|
let objetQ = this.items.get(objetId)
|
||||||
@@ -625,14 +658,24 @@ export class WarheroActor extends Actor {
|
|||||||
this.system.secondary.nblanguage.value = Math.floor(this.system.statistics.min.value / 2)
|
this.system.secondary.nblanguage.value = Math.floor(this.system.statistics.min.value / 2)
|
||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
spentMana(mana) {
|
spentMana(spentValue) {
|
||||||
if (Number(mana) > this.system.attributes.mana.value) {
|
let mana = duplicate(this.system.attributes.mana)
|
||||||
|
if (Number(spentValue) > mana.value) {
|
||||||
ui.notifications.warn("Not enough Mana points !")
|
ui.notifications.warn("Not enough Mana points !")
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
this.update({ 'system.attributes.mana.value': this.system.attributes.mana.value - mana })
|
mana.value -= Number(spentValue)
|
||||||
|
this.update({ 'system.attributes.mana': mana })
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
incrementUse(rollData) {
|
||||||
|
let stat = duplicate(this.system[rollData.mode][rollData.statKey])
|
||||||
|
stat.nbuse++
|
||||||
|
this.update( { [`system.${rollData.mode}.${rollData.statKey}`]: stat })
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getCommonRollData() {
|
getCommonRollData() {
|
||||||
let rollData = WarheroUtility.getBasicRollData()
|
let rollData = WarheroUtility.getBasicRollData()
|
||||||
@@ -650,7 +693,16 @@ export class WarheroActor extends Actor {
|
|||||||
let stat = duplicate(this.system[rollType][rollKey])
|
let stat = duplicate(this.system[rollType][rollKey])
|
||||||
let rollData = this.getCommonRollData()
|
let rollData = this.getCommonRollData()
|
||||||
rollData.mode = rollType
|
rollData.mode = rollType
|
||||||
|
rollData.statKey = rollKey
|
||||||
rollData.stat = stat
|
rollData.stat = stat
|
||||||
|
if (stat && stat.stat)
|
||||||
|
{
|
||||||
|
rollData.statBonus = duplicate(this.system.statistics[stat.stat])
|
||||||
|
}
|
||||||
|
if ( stat.hasuse && stat.nbuse >= stat.maxuse) {
|
||||||
|
ui.notifications.warn(game.i18n.localize("WH.notif.toomanyuses"))
|
||||||
|
return
|
||||||
|
}
|
||||||
if (rollKey == "parrybonustotal") {
|
if (rollKey == "parrybonustotal") {
|
||||||
WarheroUtility.rollParry(rollData)
|
WarheroUtility.rollParry(rollData)
|
||||||
return
|
return
|
||||||
@@ -678,8 +730,8 @@ export class WarheroActor extends Actor {
|
|||||||
} else {
|
} else {
|
||||||
rollData.stat = duplicate(this.system.attributes.txcm)
|
rollData.stat = duplicate(this.system.attributes.txcm)
|
||||||
}
|
}
|
||||||
rollData.usemWeaponMalus =
|
rollData.usemWeaponMalus = false
|
||||||
rollData.mWeaponMalus = this.system.secondary.malusmultiweapon.value
|
rollData.mWeaponMalus = this.system.secondary.malusmultiweapon.value
|
||||||
rollData.weapon = weapon
|
rollData.weapon = weapon
|
||||||
rollData.img = weapon.img
|
rollData.img = weapon.img
|
||||||
this.startRoll(rollData)
|
this.startRoll(rollData)
|
||||||
@@ -707,7 +759,7 @@ export class WarheroActor extends Actor {
|
|||||||
let rollData = this.getCommonRollData()
|
let rollData = this.getCommonRollData()
|
||||||
rollData.mode = "power"
|
rollData.mode = "power"
|
||||||
rollData.power = power
|
rollData.power = power
|
||||||
rollData.powerLevel = power.system.level
|
rollData.powerLevel = Number(power.system.level)
|
||||||
rollData.img = power.img
|
rollData.img = power.img
|
||||||
rollData.hasBM = false
|
rollData.hasBM = false
|
||||||
this.startRoll(rollData)
|
this.startRoll(rollData)
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ export class WarheroCombat extends Combat {
|
|||||||
for (let cId = 0; cId < ids.length; cId++) {
|
for (let cId = 0; cId < ids.length; cId++) {
|
||||||
const c = this.combatants.get(ids[cId]);
|
const c = this.combatants.get(ids[cId]);
|
||||||
let id = c._id || c.id;
|
let id = c._id || c.id;
|
||||||
let initBonus = c.actor ? c.actor.getInitiativeScore( this.id, id ) : -1;
|
let initBonus = c.actor ? await c.actor.getInitiativeScore( this.id, id ) : -1;
|
||||||
await this.updateEmbeddedDocuments("Combatant", [ { _id: id, initiative: initBonus } ]);
|
await this.updateEmbeddedDocuments("Combatant", [ { _id: id, initiative: initBonus } ]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -45,6 +45,49 @@ export const WARHERO_CONFIG = {
|
|||||||
"high": "High (+6HP/Lvl)",
|
"high": "High (+6HP/Lvl)",
|
||||||
"medium": "Medium (+4HP/Lvl)",
|
"medium": "Medium (+4HP/Lvl)",
|
||||||
"low": "Low (+2 HP/Lvl)"
|
"low": "Low (+2 HP/Lvl)"
|
||||||
|
},
|
||||||
|
|
||||||
|
poisonApplication: {
|
||||||
|
touch: "WH.ui.Touch",
|
||||||
|
ingestion: "WH.ui.Ingestion",
|
||||||
|
weapon: "WH.ui.Weapon"
|
||||||
|
},
|
||||||
|
|
||||||
|
saveType: {
|
||||||
|
halfdmg: "WH.ui.halfdamage",
|
||||||
|
ignore: "WH.ui.ignoreeffect"
|
||||||
|
},
|
||||||
|
|
||||||
|
conditionType : {
|
||||||
|
generic: "WH.ui.generic",
|
||||||
|
bless: "WH.ui.bless",
|
||||||
|
spell: "WH.ui.spell",
|
||||||
|
disease: "WH.ui.disease",
|
||||||
|
poison: "WH.ui.poison",
|
||||||
|
curse: "WH.u,i.curse"
|
||||||
|
},
|
||||||
|
|
||||||
|
conditionDuration: {
|
||||||
|
permanent: "WH.ui.permanent",
|
||||||
|
temporary: "WH.ui.temporary"
|
||||||
|
},
|
||||||
|
|
||||||
|
conditionSpecialDuration : {
|
||||||
|
infinite: "WH.ui.infinite",
|
||||||
|
withineor: "WH.uiwithineor",
|
||||||
|
beginr: "WH.ui.beginr",
|
||||||
|
nextr: "WH.ui.nextr",
|
||||||
|
nextcombat: "WH.ui.nextcombat",
|
||||||
|
untilendcombat: "WH.ui.untilendcombat",
|
||||||
|
beginturn: "WH.ui.beginturn",
|
||||||
|
endturn: "WH.ui.endturn"
|
||||||
|
},
|
||||||
|
|
||||||
|
identifiedState: {
|
||||||
|
unknown: "WH.conf.unknown",
|
||||||
|
yes:"WH.conf.yes",
|
||||||
|
no:"WH.conf.no",
|
||||||
|
notapplicable:"WH.conf.notapplicable"
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -56,7 +56,6 @@ Hooks.once("init", async function () {
|
|||||||
CONFIG.Combat.documentClass = WarheroCombat
|
CONFIG.Combat.documentClass = WarheroCombat
|
||||||
CONFIG.Actor.documentClass = WarheroActor
|
CONFIG.Actor.documentClass = WarheroActor
|
||||||
CONFIG.Item.documentClass = WarheroItem
|
CONFIG.Item.documentClass = WarheroItem
|
||||||
//CONFIG.Token.objectClass = WarheroToken
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
// Register sheet application classes
|
// Register sheet application classes
|
||||||
@@ -71,16 +70,6 @@ Hooks.once("init", async function () {
|
|||||||
WarheroUtility.init()
|
WarheroUtility.init()
|
||||||
});
|
});
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
function welcomeMessage() {
|
|
||||||
/*ChatMessage.create({
|
|
||||||
user: game.user.id,
|
|
||||||
whisper: [game.user.id],
|
|
||||||
content: `<div id="welcome-message-crucible"><span class="rdd-roll-part">
|
|
||||||
<strong>Welcome to the Warhero RPG.</strong>
|
|
||||||
` });*/
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
/* Foundry VTT Initialization */
|
/* Foundry VTT Initialization */
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@@ -89,29 +78,15 @@ Hooks.once("ready", function () {
|
|||||||
// User warning
|
// User warning
|
||||||
if (!game.user.isGM && game.user.character == undefined) {
|
if (!game.user.isGM && game.user.character == undefined) {
|
||||||
ui.notifications.info("Warning ! No character linked to your user !");
|
ui.notifications.info("Warning ! No character linked to your user !");
|
||||||
/*ChatMessage.create({
|
|
||||||
content: "<b>WARNING</b> The player " + game.user.name + " is not linked to a character !",
|
|
||||||
user: game.user._id
|
|
||||||
});*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// CSS patch for v9
|
|
||||||
if (game.version) {
|
|
||||||
let sidebar = document.getElementById("sidebar");
|
|
||||||
sidebar.style.width = "min-content";
|
|
||||||
}
|
|
||||||
|
|
||||||
welcomeMessage();
|
|
||||||
WarheroUtility.ready()
|
WarheroUtility.ready()
|
||||||
WarheroCommands.init()
|
|
||||||
WarheroHotbar.initDropbar()
|
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
/* Foundry VTT Initialization */
|
/* Foundry VTT Initialization */
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
Hooks.on("chatMessage", (html, content, msg) => {
|
/*Hooks.on("chatMessage", (html, content, msg) => {
|
||||||
if (content[0] == '/') {
|
if (content[0] == '/') {
|
||||||
let regExp = /(\S+)/g;
|
let regExp = /(\S+)/g;
|
||||||
let commands = content.match(regExp);
|
let commands = content.match(regExp);
|
||||||
@@ -120,5 +95,5 @@ Hooks.on("chatMessage", (html, content, msg) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
});
|
});*/
|
||||||
|
|
||||||
|
|||||||
@@ -552,7 +552,7 @@ export class WarheroUtility {
|
|||||||
let actor = game.actors.get(rollData.actorId)
|
let actor = game.actors.get(rollData.actorId)
|
||||||
|
|
||||||
if (rollData.mode == "power") {
|
if (rollData.mode == "power") {
|
||||||
let manaCost = Array.from(rollData.powerLevel)[0]
|
let manaCost = rollData.powerLevel
|
||||||
if (actor.spentMana(manaCost)) {
|
if (actor.spentMana(manaCost)) {
|
||||||
let powerKey = "level" + rollData.powerLevel
|
let powerKey = "level" + rollData.powerLevel
|
||||||
rollData.powerText = rollData.power.system[powerKey]
|
rollData.powerText = rollData.power.system[powerKey]
|
||||||
@@ -592,6 +592,9 @@ export class WarheroUtility {
|
|||||||
if (rollData.stat) {
|
if (rollData.stat) {
|
||||||
diceFormula += "+" + rollData.stat.value
|
diceFormula += "+" + rollData.stat.value
|
||||||
}
|
}
|
||||||
|
if (rollData.statBonus) {
|
||||||
|
diceFormula += "+" + rollData.statBonus.value
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (rollData.usemWeaponMalus) {
|
if (rollData.usemWeaponMalus) {
|
||||||
diceFormula += "+" + rollData.mWeaponMalus
|
diceFormula += "+" + rollData.mWeaponMalus
|
||||||
@@ -615,6 +618,10 @@ export class WarheroUtility {
|
|||||||
rollData.isCriticalFailure = true
|
rollData.isCriticalFailure = true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ( rollData.stat.hasuse ) {
|
||||||
|
actor.incrementUse(rollData)
|
||||||
|
}
|
||||||
|
|
||||||
let msg = await this.createChatWithRollMode(rollData.alias, {
|
let msg = await this.createChatWithRollMode(rollData.alias, {
|
||||||
content: await renderTemplate(`systems/fvtt-warhero/templates/chat-generic-result.html`, rollData)
|
content: await renderTemplate(`systems/fvtt-warhero/templates/chat-generic-result.html`, rollData)
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -876,16 +876,35 @@ li {
|
|||||||
|
|
||||||
/* background: rgb(105,85,65) url("../images/ui/texture_feuille_perso_onglets.webp") no-repeat right bottom;*/
|
/* background: rgb(105,85,65) url("../images/ui/texture_feuille_perso_onglets.webp") no-repeat right bottom;*/
|
||||||
|
|
||||||
#sidebar.collapsed {
|
|
||||||
height: 470px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#sidebar-tabs > .collapsed,
|
#sidebar-tabs > .collapsed,
|
||||||
#chat-controls .chat-control-icon {
|
#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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#sidebar-tabs {
|
||||||
|
flex: 0 0 28px;
|
||||||
|
box-sizing: border-box;
|
||||||
|
margin: 0 0 3px;
|
||||||
|
border-bottom: 1px solid rgba(0,0,0,0);
|
||||||
|
box-shadow: inset 0 0 2rem rgba(0,0,0,0.5);
|
||||||
|
}
|
||||||
|
|
||||||
|
#sidebar-tabs > .item.active {
|
||||||
|
border: 1px solid rgba(114,98,72,1);
|
||||||
|
background: rgba(30, 25, 20, 0.75);
|
||||||
|
box-shadow: 0 0 6px inset rgba(114,98,72,1);
|
||||||
|
}
|
||||||
|
|
||||||
|
#sidebar #sidebar-tabs i{
|
||||||
|
width: 23px;
|
||||||
|
height: 23px;
|
||||||
|
/*display: inline-block;*/
|
||||||
|
background-position:center;
|
||||||
|
background-size:cover;
|
||||||
|
text-shadow: 1px 1px 0 rgba(0,0,0,0.75);
|
||||||
|
}
|
||||||
|
|
||||||
.sidebar-tab .directory-list .entity {
|
.sidebar-tab .directory-list .entity {
|
||||||
border-top: 1px dashed rgba(0, 0, 0, 0.25);
|
border-top: 1px dashed rgba(0, 0, 0, 0.25);
|
||||||
border-bottom: 0 none;
|
border-bottom: 0 none;
|
||||||
@@ -896,6 +915,7 @@ li {
|
|||||||
background: rgba(0, 0, 0, 0.05);
|
background: rgba(0, 0, 0, 0.05);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
.chat-message-header {
|
.chat-message-header {
|
||||||
background: rgba(220, 220, 210, 0.5);
|
background: rgba(220, 220, 210, 0.5);
|
||||||
font-size: 1.1rem;
|
font-size: 1.1rem;
|
||||||
@@ -910,6 +930,7 @@ li {
|
|||||||
.chat-message .message-header .whisper-to {
|
.chat-message .message-header .whisper-to {
|
||||||
font-size: 0.9rem;
|
font-size: 0.9rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.chat-actor-name {
|
.chat-actor-name {
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
}
|
}
|
||||||
@@ -1028,21 +1049,6 @@ li {
|
|||||||
box-shadow: inset 0 0 2rem rgba(0, 0, 0, 0.5);
|
box-shadow: inset 0 0 2rem rgba(0, 0, 0, 0.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
#sidebar-tabs > .item.active {
|
|
||||||
border: 1px solid rgba(114, 98, 72, 1);
|
|
||||||
background: rgba(30, 25, 20, 0.75);
|
|
||||||
box-shadow: 0 0 6px inset rgba(114, 98, 72, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
#sidebar #sidebar-tabs i {
|
|
||||||
width: 25px;
|
|
||||||
height: 25px;
|
|
||||||
display: inline-block;
|
|
||||||
background-position: center;
|
|
||||||
background-size: cover;
|
|
||||||
text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.75);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*--------------------------------------------------------------------------*/
|
/*--------------------------------------------------------------------------*/
|
||||||
/* Control, Tool, hotbar & navigation */
|
/* Control, Tool, hotbar & navigation */
|
||||||
|
|
||||||
@@ -1486,11 +1492,22 @@ li {
|
|||||||
max-width: 22rem;
|
max-width: 22rem;
|
||||||
min-width: 22rem;
|
min-width: 22rem;
|
||||||
}
|
}
|
||||||
|
.item-name-label-long3 {
|
||||||
|
flex-grow: 2;
|
||||||
|
max-width: 32rem;
|
||||||
|
min-width: 32rem;
|
||||||
|
}
|
||||||
.item-name-label-level2 {
|
.item-name-label-level2 {
|
||||||
flex-grow: 2;
|
flex-grow: 2;
|
||||||
max-width: 9rem;
|
max-width: 9rem;
|
||||||
min-width: 9rem;
|
min-width: 9rem;
|
||||||
}
|
}
|
||||||
|
.item-field-label-2rem {
|
||||||
|
flex-grow: 1;
|
||||||
|
margin-top: 4px;
|
||||||
|
max-width: 1.2rem;
|
||||||
|
min-width: 1.2rem;
|
||||||
|
}
|
||||||
.item-field-label-short {
|
.item-field-label-short {
|
||||||
flex-grow: 1;
|
flex-grow: 1;
|
||||||
margin-top: 4px;
|
margin-top: 4px;
|
||||||
|
|||||||
@@ -107,7 +107,7 @@
|
|||||||
"styles": [
|
"styles": [
|
||||||
"styles/simple.css"
|
"styles/simple.css"
|
||||||
],
|
],
|
||||||
"version": "10.0.29",
|
"version": "10.0.38",
|
||||||
"compatibility": {
|
"compatibility": {
|
||||||
"minimum": "10",
|
"minimum": "10",
|
||||||
"verified": "10",
|
"verified": "10",
|
||||||
@@ -115,7 +115,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.29.zip",
|
"download": "https://www.uberwald.me/gitea/uberwald/fvtt-warhero/archive/fvtt-warhero-10.0.38.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"
|
||||||
|
|||||||
@@ -111,6 +111,7 @@
|
|||||||
"label": "WH.ui.Initiative",
|
"label": "WH.ui.Initiative",
|
||||||
"abbrev": "ini",
|
"abbrev": "ini",
|
||||||
"style": "edit",
|
"style": "edit",
|
||||||
|
"roll": true,
|
||||||
"max": 1,
|
"max": 1,
|
||||||
"value": 1
|
"value": 1
|
||||||
},
|
},
|
||||||
@@ -180,11 +181,16 @@
|
|||||||
},
|
},
|
||||||
"counterspell": {
|
"counterspell": {
|
||||||
"label": "WH.ui.counterspell",
|
"label": "WH.ui.counterspell",
|
||||||
|
"stat": "min",
|
||||||
"abbrev": "counterspell",
|
"abbrev": "counterspell",
|
||||||
"style": "edit",
|
"style": "edit",
|
||||||
"hasmax": true,
|
"hasmax": false,
|
||||||
|
"roll": true,
|
||||||
"max": 1,
|
"max": 1,
|
||||||
"value": 0
|
"value": 0,
|
||||||
|
"hasuse": true,
|
||||||
|
"nbuse": 0,
|
||||||
|
"maxuse": 0
|
||||||
},
|
},
|
||||||
"createitem": {
|
"createitem": {
|
||||||
"label": "WH.ui.createitem",
|
"label": "WH.ui.createitem",
|
||||||
@@ -236,7 +242,13 @@
|
|||||||
"power",
|
"power",
|
||||||
"language",
|
"language",
|
||||||
"condition",
|
"condition",
|
||||||
"class"
|
"class",
|
||||||
|
"money",
|
||||||
|
"potion",
|
||||||
|
"poison",
|
||||||
|
"trap",
|
||||||
|
"classitem",
|
||||||
|
"competency"
|
||||||
],
|
],
|
||||||
"templates": {
|
"templates": {
|
||||||
"commonclassrace": {
|
"commonclassrace": {
|
||||||
@@ -260,8 +272,73 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"competency": {
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"potion": {
|
||||||
|
"cost": 0,
|
||||||
|
"quantity": 1,
|
||||||
|
"slotused": 1,
|
||||||
|
"slotlocation": "backpack",
|
||||||
|
"isidentified": "unknown",
|
||||||
|
"alchemycost": "",
|
||||||
|
"preparetime": "",
|
||||||
|
"durationround": 0,
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"poison": {
|
||||||
|
"cost": 0,
|
||||||
|
"quantity": 1,
|
||||||
|
"slotused": 1,
|
||||||
|
"slotlocation": "backpack",
|
||||||
|
"isidentified": "unknown",
|
||||||
|
"application": "",
|
||||||
|
"preparecost": "",
|
||||||
|
"preparetime": "",
|
||||||
|
"damageroll": "",
|
||||||
|
"durationround": 0,
|
||||||
|
"savesdc": 0,
|
||||||
|
"savetype": "",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"trap": {
|
||||||
|
"cost": 0,
|
||||||
|
"quantity": 1,
|
||||||
|
"slotused": 1,
|
||||||
|
"slotlocation": "backpack",
|
||||||
|
"isidentified": "unknown",
|
||||||
|
"dcfind": 0,
|
||||||
|
"dcdisable": 0,
|
||||||
|
"throwtohit": 0,
|
||||||
|
"damageroll": "",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"classitem": {
|
||||||
|
"cost": 0,
|
||||||
|
"quantity": 1,
|
||||||
|
"slotused": 1,
|
||||||
|
"slotlocation": "backpack",
|
||||||
|
"isidentified": "unknown",
|
||||||
|
"class": "",
|
||||||
|
"mandatoryfor": "",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
|
"money": {
|
||||||
|
"quantity": 0,
|
||||||
|
"slotlocation": "backpack",
|
||||||
|
"description": ""
|
||||||
|
},
|
||||||
"condition": {
|
"condition": {
|
||||||
|
"conditiontype": "",
|
||||||
|
"duration": "",
|
||||||
|
"begin": "",
|
||||||
|
"specialduration": "",
|
||||||
|
"durationvalue": 0,
|
||||||
|
"durationunit": "",
|
||||||
"shortdescription": "",
|
"shortdescription": "",
|
||||||
|
"dcsave": 0,
|
||||||
|
"incubationtime": "",
|
||||||
|
"diseaseduration": "",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
"class": {
|
"class": {
|
||||||
@@ -286,8 +363,10 @@
|
|||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
"skill": {
|
"skill": {
|
||||||
|
"raceskill": false,
|
||||||
"classskill": false,
|
"classskill": false,
|
||||||
"unlimited": false,
|
"unlimited": false,
|
||||||
|
"acquiredatlevel": 0,
|
||||||
"currentuse": 0,
|
"currentuse": 0,
|
||||||
"maxuse": 0,
|
"maxuse": 0,
|
||||||
"description": ""
|
"description": ""
|
||||||
@@ -303,6 +382,7 @@
|
|||||||
"quantity": 1,
|
"quantity": 1,
|
||||||
"slotused": 1,
|
"slotused": 1,
|
||||||
"slotlocation": "weapon1",
|
"slotlocation": "weapon1",
|
||||||
|
"isidentified": "unknown",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
"armor": {
|
"armor": {
|
||||||
@@ -313,6 +393,7 @@
|
|||||||
"quantity": 1,
|
"quantity": 1,
|
||||||
"slotused": 1,
|
"slotused": 1,
|
||||||
"slotlocation": "armor",
|
"slotlocation": "armor",
|
||||||
|
"isidentified": "unknown",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
"shield": {
|
"shield": {
|
||||||
@@ -323,6 +404,7 @@
|
|||||||
"quantity": 1,
|
"quantity": 1,
|
||||||
"slotused": 1,
|
"slotused": 1,
|
||||||
"slotlocation": "shield",
|
"slotlocation": "shield",
|
||||||
|
"isidentified": "unknown",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
"equipment": {
|
"equipment": {
|
||||||
@@ -333,6 +415,7 @@
|
|||||||
"slotused": 1,
|
"slotused": 1,
|
||||||
"slotlocation": "backpack",
|
"slotlocation": "backpack",
|
||||||
"providedslot": 0,
|
"providedslot": 0,
|
||||||
|
"isidentified": "unknown",
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
"power": {
|
"power": {
|
||||||
|
|||||||
@@ -27,14 +27,16 @@
|
|||||||
<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>
|
||||||
<li class="item flexrow list-item" data-item-id="{{class._id}}">
|
{{#each classes as |class idx|}}
|
||||||
<label class="item-field-label-medium">{{localize "WH.ui.class"}}</label>
|
<li class="item flexrow list-item" data-item-id="{{class._id}}">
|
||||||
<a class="item-edit"><img class="sheet-competence-img" src="{{class.img}}"></a>
|
<label class="item-field-label-medium">{{localize "WH.ui.class"}}</label>
|
||||||
<input type="text" class="item-field-label-medium" disabled value="{{class.name}}" data-dtype="String" />
|
<a class="item-edit"><img class="sheet-competence-img" src="{{class.img}}"></a>
|
||||||
<div class="item-controls item-controls-fixed">
|
<input type="text" class="item-field-label-medium" disabled value="{{class.name}}" data-dtype="String" />
|
||||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
<div class="item-controls item-controls-fixed">
|
||||||
</div>
|
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||||
</li>
|
</div>
|
||||||
|
</li>
|
||||||
|
{{/each}}
|
||||||
<li class="item flexrow list-item" >
|
<li class="item flexrow list-item" >
|
||||||
<label class="item-field-label-medium">{{localize "WH.ui.religion"}}</label>
|
<label class="item-field-label-medium">{{localize "WH.ui.religion"}}</label>
|
||||||
<input type="text" class="item-field-label-medium" name="system.biodata.religion" value="{{system.biodata.religion}}" data-dtype="String" />
|
<input type="text" class="item-field-label-medium" name="system.biodata.religion" value="{{system.biodata.religion}}" data-dtype="String" />
|
||||||
@@ -75,7 +77,7 @@
|
|||||||
{{!-- Sheet Body --}}
|
{{!-- Sheet Body --}}
|
||||||
<section class="sheet-body">
|
<section class="sheet-body">
|
||||||
|
|
||||||
{{!-- Skills Tab --}}
|
{{!-- Main Tab --}}
|
||||||
<div class="tab main" data-group="primary" data-tab="main">
|
<div class="tab main" data-group="primary" data-tab="main">
|
||||||
|
|
||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
@@ -117,6 +119,20 @@
|
|||||||
</li>
|
</li>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/each}}
|
{{/each}}
|
||||||
|
|
||||||
|
{{#each compentencyItems as |comp key|}}
|
||||||
|
<li class="item flexrow list-item list-item-shadow" data-item-id="{{comp._id}}">
|
||||||
|
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||||
|
src="{{comp.img}}" /></a>
|
||||||
|
<span class="item-name-label-long">{{comp.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>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -191,7 +207,7 @@
|
|||||||
src="{{weapon.img}}" /></a>
|
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-name-label-long"><a class="roll-weapon"><i class="fa-solid fa-dice-d20"></i>{{weapon.name}}</a></span>
|
||||||
|
|
||||||
<span class="item-field-label-medium">{{weapon.system.weapontype}}</span>
|
<span class="item-field-label-medium">{{localize (concat "WH.conf." weapon.system.weapontype)}}</span>
|
||||||
|
|
||||||
{{#if (eq system.weapontype "special")}}
|
{{#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>
|
<span class="item-field-label-medium"><a class="roll-damage"><i class="fa-solid fa-dice-d20"></i>{{weapon.system.damageformula}}</a></span>
|
||||||
@@ -283,6 +299,44 @@
|
|||||||
<div class="tab skill" data-group="primary" data-tab="skill">
|
<div class="tab skill" data-group="primary" data-tab="skill">
|
||||||
<div class="flexcol">
|
<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.raceSkills"}}</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 raceSkills 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}}
|
||||||
|
(<a class="skill-use-minus plus-minus-button"> -</a>/<a class="skill-use-plus plus-minus-button">+</a>)
|
||||||
|
</span>
|
||||||
|
<span class="item-field-label-medium">{{skill.system.maxuse}}</span>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
<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>
|
||||||
<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">
|
||||||
@@ -306,7 +360,9 @@
|
|||||||
<span class="item-field-label-medium">N/A</span>
|
<span class="item-field-label-medium">N/A</span>
|
||||||
<span class="item-field-label-medium">N/A</span>
|
<span class="item-field-label-medium">N/A</span>
|
||||||
{{else}}
|
{{else}}
|
||||||
<span class="item-field-label-medium">{{skill.system.currentuse}}</span>
|
<span class="item-field-label-medium">{{skill.system.currentuse}}
|
||||||
|
(<a class="skill-use-minus plus-minus-button"> -</a>/<a class="skill-use-plus plus-minus-button">+</a>)
|
||||||
|
</span>
|
||||||
<span class="item-field-label-medium">{{skill.system.maxuse}}</span>
|
<span class="item-field-label-medium">{{skill.system.maxuse}}</span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
@@ -404,10 +460,10 @@
|
|||||||
<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-long3">
|
||||||
<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">
|
<span class="item-name-label-medium">
|
||||||
<a class="power-roll">{{power.system.level}}</a>
|
<a class="power-roll">{{power.system.level}}</a>
|
||||||
</span>
|
</span>
|
||||||
<div class="item-filler"> </div>
|
<div class="item-filler"> </div>
|
||||||
@@ -426,6 +482,10 @@
|
|||||||
{{!-- Equipement Tab --}}
|
{{!-- Equipement Tab --}}
|
||||||
<div class="tab equipment" data-group="primary" data-tab="equipment">
|
<div class="tab equipment" data-group="primary" data-tab="equipment">
|
||||||
|
|
||||||
|
<div class="flexrow">
|
||||||
|
<label class="">{{localize "WH.ui.totalmoney"}} : {{totalMoney}}</label>
|
||||||
|
</div>
|
||||||
|
|
||||||
{{#each slotEquipments as |slot slotKey|}}
|
{{#each slotEquipments as |slot slotKey|}}
|
||||||
<ul class="item-list alternate-list">
|
<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}}">
|
<li class="item flexrow list-item items-title-bg {{#if (gt slot.slotUsed slot.nbslots)}}items-title-bg-red{{/if}}">
|
||||||
@@ -465,6 +525,10 @@
|
|||||||
</label>
|
</label>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
|
<span class="item-field-label-medium">
|
||||||
|
<label class="short-label">{{localize (concat "WH.conf." item.system.isidentified)}}</label>
|
||||||
|
</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>
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
<div class="tab details" data-group="primary" data-tab="description">
|
<div class="tab details" data-group="primary" data-tab="description">
|
||||||
|
|
||||||
<label class="generic-label">{{localize "WH.ui.description"}}</label>
|
<label class="generic-label">{{localize "WH.ui.description"}}</label>
|
||||||
<div class="medium-editor item-text-long-line">
|
<div class="editor item-text-long-line">
|
||||||
{{editor description target="system.description" button=true owner=owner editable=editable}}
|
{{editor description target="system.description" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
32
templates/item-classitem-sheet.html
Normal file
32
templates/item-classitem-sheet.html
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
<form class="{{cssClass}}" autocomplete="off">
|
||||||
|
<header class="sheet-header">
|
||||||
|
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}"/>
|
||||||
|
<div class="header-fields">
|
||||||
|
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
{{> systems/fvtt-warhero/templates/partial-item-nav.html}}
|
||||||
|
|
||||||
|
{{!-- Sheet Body --}}
|
||||||
|
<section class="sheet-body">
|
||||||
|
|
||||||
|
{{> systems/fvtt-warhero/templates/partial-item-description.html}}
|
||||||
|
|
||||||
|
<div class="tab details" data-group="primary" data-tab="details">
|
||||||
|
<ul>
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.class"}}</label>
|
||||||
|
<input type="text" class="item-field-label-medium " name="system.class" value="{{system.class}}" data-dtype="String"/>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.mandatoryfor"}}</label>
|
||||||
|
<input type="text" class="item-field-label-long2 " name="system.mandatoryfor" value="{{system.mandatoryfor}}" data-dtype="String"/>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
{{> systems/fvtt-warhero/templates/partial-item-common-equipment.html}}
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</form>
|
||||||
24
templates/item-competency-sheet.html
Normal file
24
templates/item-competency-sheet.html
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
<form class="{{cssClass}}" autocomplete="off">
|
||||||
|
<header class="sheet-header">
|
||||||
|
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}" />
|
||||||
|
<div class="header-fields">
|
||||||
|
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
{{> systems/fvtt-warhero/templates/partial-item-nav.html}}
|
||||||
|
|
||||||
|
{{!-- Sheet Body --}}
|
||||||
|
<section class="sheet-body">
|
||||||
|
|
||||||
|
{{> systems/fvtt-warhero/templates/partial-item-description.html}}
|
||||||
|
|
||||||
|
|
||||||
|
<div class="tab details" data-group="primary" data-tab="details">
|
||||||
|
<ul>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
</form>
|
||||||
@@ -16,6 +16,63 @@
|
|||||||
<div class="tab details" data-group="primary" data-tab="details">
|
<div class="tab details" data-group="primary" data-tab="details">
|
||||||
<ul>
|
<ul>
|
||||||
|
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.conditiontype"}}</label>
|
||||||
|
<select class="item-field-label-medium " type="text" name="system.conditiontype" value="{{system.conditiontype}}" data-dtype="String">
|
||||||
|
{{#select system.conditiontype}}
|
||||||
|
{{#each config.conditionType as |type key|}}
|
||||||
|
<option value="{{key}}">{{localize type}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.duration"}}</label>
|
||||||
|
<select class="item-field-label-medium " type="text" name="system.duration" value="{{system.duration}}" data-dtype="String">
|
||||||
|
{{#select system.duration}}
|
||||||
|
{{#each config.conditionDuration as |type key|}}
|
||||||
|
<option value="{{key}}">{{localize type}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.begin"}}</label>
|
||||||
|
<input type="text" class="item-field-label-long" name="system.begin" value="{{system.begin}}" data-dtype="String"/>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.specialduration"}}</label>
|
||||||
|
<select class="item-field-label-medium " type="text" name="system.specialduration" value="{{system.specialduration}}" data-dtype="String">
|
||||||
|
{{#select system.specialduration}}
|
||||||
|
{{#each config.conditionSpecialDuration as |type key|}}
|
||||||
|
<option value="{{key}}">{{localize type}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.durationvalue"}}</label>
|
||||||
|
<input type="text" class="item-field-label-short" name="system.durationvalue" value="{{system.durationvalue}}" data-dtype="Number"/>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.durationunit"}}</label>
|
||||||
|
<input type="text" class="item-field-label-long" name="system.durationunit" value="{{system.durationunit}}" data-dtype="String"/>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
{{#if (eq conditiontype "disease")}}
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.dcsave"}}</label>
|
||||||
|
<input type="text" class="item-field-label-short" name="system.dcsave" value="{{system.dcsave}}" data-dtype="Number"/>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.incubationtime"}}</label>
|
||||||
|
<input type="text" class="item-field-label-long" name="system.incubationtime" value="{{system.incubationtime}}" data-dtype="String"/>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.diseaseduration"}}</label>
|
||||||
|
<input type="text" class="item-field-label-long" name="system.diseaseduration" value="{{system.diseaseduration}}" data-dtype="String"/>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.effect"}}</label>
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.effect"}}</label>
|
||||||
<input type="text" class="item-field-label-long" name="system.shortdescription" value="{{system.shortdescription}}" data-dtype="String"/>
|
<input type="text" class="item-field-label-long" name="system.shortdescription" value="{{system.shortdescription}}" data-dtype="String"/>
|
||||||
</li>
|
</li>
|
||||||
|
|||||||
24
templates/item-genericitem-sheet.html
Normal file
24
templates/item-genericitem-sheet.html
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
<form class="{{cssClass}}" autocomplete="off">
|
||||||
|
<header class="sheet-header">
|
||||||
|
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}" />
|
||||||
|
<div class="header-fields">
|
||||||
|
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
{{> systems/fvtt-warhero/templates/partial-item-nav.html}}
|
||||||
|
|
||||||
|
{{!-- Sheet Body --}}
|
||||||
|
<section class="sheet-body">
|
||||||
|
|
||||||
|
{{> systems/fvtt-warhero/templates/partial-item-description.html}}
|
||||||
|
|
||||||
|
|
||||||
|
<div class="tab details" data-group="primary" data-tab="details">
|
||||||
|
<ul>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
</form>
|
||||||
37
templates/item-money-sheet.html
Normal file
37
templates/item-money-sheet.html
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
<form class="{{cssClass}}" autocomplete="off">
|
||||||
|
<header class="sheet-header">
|
||||||
|
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}"/>
|
||||||
|
<div class="header-fields">
|
||||||
|
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
{{> systems/fvtt-warhero/templates/partial-item-nav.html}}
|
||||||
|
|
||||||
|
|
||||||
|
{{!-- Sheet Body --}}
|
||||||
|
<section class="sheet-body">
|
||||||
|
|
||||||
|
{{> systems/fvtt-warhero/templates/partial-item-description.html}}
|
||||||
|
|
||||||
|
|
||||||
|
<div class="tab details" data-group="primary" data-tab="details">
|
||||||
|
<ul>
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.quantity"}}</label>
|
||||||
|
<input type="text" class="item-field-label-long" name="system.quantity" value="{{system.quantity}}" data-dtype="Number"/>
|
||||||
|
</li>
|
||||||
|
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.slotlocation"}}</label>
|
||||||
|
<select class="item-field-label-long " type="text" name="system.slotlocation" value="{{system.slotlocation}}" data-dtype="String">
|
||||||
|
{{#select system.slotlocation}}
|
||||||
|
{{#each config.slotNames as |type key|}}
|
||||||
|
<option value="{{key}}">{{localize type.label}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
</form>
|
||||||
64
templates/item-poison-sheet.html
Normal file
64
templates/item-poison-sheet.html
Normal file
@@ -0,0 +1,64 @@
|
|||||||
|
<form class="{{cssClass}}" autocomplete="off">
|
||||||
|
<header class="sheet-header">
|
||||||
|
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}"/>
|
||||||
|
<div class="header-fields">
|
||||||
|
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
{{> systems/fvtt-warhero/templates/partial-item-nav.html}}
|
||||||
|
|
||||||
|
{{!-- Sheet Body --}}
|
||||||
|
<section class="sheet-body">
|
||||||
|
|
||||||
|
{{> systems/fvtt-warhero/templates/partial-item-description.html}}
|
||||||
|
|
||||||
|
<div class="tab details" data-group="primary" data-tab="details">
|
||||||
|
<ul>
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.application"}}</label>
|
||||||
|
<select class="item-field-label-medium " type="text" name="system.application" value="{{system.application}}" data-dtype="String">
|
||||||
|
{{#select system.application}}
|
||||||
|
{{#each config.poisonApplication as |type key|}}
|
||||||
|
<option value="{{key}}">{{localize type}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.cost"}}</label>
|
||||||
|
<input type="text" class="item-field-label-medium " name="system.preparecost" value="{{system.preparecost}}" data-dtype="String"/>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.preparetime"}}</label>
|
||||||
|
<input type="text" class="item-field-label-medium " name="system.preparetime" value="{{system.preparetime}}" data-dtype="String"/>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.damage"}}</label>
|
||||||
|
<input type="text" class="item-field-label-medium " name="system.damageroll" value="{{system.damageroll}}" data-dtype="String"/>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.durationrounds"}}</label>
|
||||||
|
<input type="text" class="item-field-label-short " name="system.durationround" value="{{system.durationround}}" data-dtype="Number"/>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.savesdc"}}</label>
|
||||||
|
<input type="text" class="item-field-label-short " name="system.savesdc" value="{{system.savesdc}}" data-dtype="Number"/>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.savetype"}}</label>
|
||||||
|
<select class="item-field-label-long " type="text" name="system.savetype" value="{{system.savetype}}" data-dtype="String">
|
||||||
|
{{#select system.savetype}}
|
||||||
|
{{#each config.saveType as |type key|}}
|
||||||
|
<option value="{{key}}">{{localize type}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
{{> systems/fvtt-warhero/templates/partial-item-common-equipment.html}}
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</form>
|
||||||
36
templates/item-potion-sheet.html
Normal file
36
templates/item-potion-sheet.html
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
<form class="{{cssClass}}" autocomplete="off">
|
||||||
|
<header class="sheet-header">
|
||||||
|
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}"/>
|
||||||
|
<div class="header-fields">
|
||||||
|
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
{{> systems/fvtt-warhero/templates/partial-item-nav.html}}
|
||||||
|
|
||||||
|
{{!-- Sheet Body --}}
|
||||||
|
<section class="sheet-body">
|
||||||
|
|
||||||
|
{{> systems/fvtt-warhero/templates/partial-item-description.html}}
|
||||||
|
|
||||||
|
<div class="tab details" data-group="primary" data-tab="details">
|
||||||
|
<ul>
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.cost"}}</label>
|
||||||
|
<input type="text" class="item-field-label-medium " name="system.alchemycost" value="{{system.alchemycost}}" data-dtype="String"/>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.preparetime"}}</label>
|
||||||
|
<input type="text" class="item-field-label-medium " name="system.preparetime" value="{{system.preparetime}}" data-dtype="String"/>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.durationrounds"}}</label>
|
||||||
|
<input type="text" class="item-field-label-medium " name="system.durationround" value="{{system.durationround}}" data-dtype="Number"/>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
{{> systems/fvtt-warhero/templates/partial-item-common-equipment.html}}
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</form>
|
||||||
@@ -13,7 +13,7 @@
|
|||||||
<div class="tab details" data-group="primary" data-tab="description">
|
<div class="tab details" data-group="primary" data-tab="description">
|
||||||
|
|
||||||
<label class="generic-label">Description</label>
|
<label class="generic-label">Description</label>
|
||||||
<div class="medium-editor item-text-long-line">
|
<div class="editor item-text-long-line">
|
||||||
{{editor description target="system.description" button=true owner=owner editable=editable}}
|
{{editor description target="system.description" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -15,6 +15,10 @@
|
|||||||
|
|
||||||
<div class="tab details" data-group="primary" data-tab="details">
|
<div class="tab details" data-group="primary" data-tab="details">
|
||||||
<ul>
|
<ul>
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.israceskill"}}</label>
|
||||||
|
<input type="checkbox" name="system.raceskill" {{checked system.raceskill}}/>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.isclassskill"}}</label>
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.isclassskill"}}</label>
|
||||||
<input type="checkbox" name="system.classskill" {{checked system.classskill}}/>
|
<input type="checkbox" name="system.classskill" {{checked system.classskill}}/>
|
||||||
</li>
|
</li>
|
||||||
@@ -23,6 +27,10 @@
|
|||||||
<input type="checkbox" name="system.unlimited" {{checked system.unlimited}}/>
|
<input type="checkbox" name="system.unlimited" {{checked system.unlimited}}/>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.skilllevelacquired"}}</label>
|
||||||
|
<input type="text" class="item-field-label-medium " name="system.acquiredatlevel" value="{{system.acquiredatlevel}}" data-dtype="Number"/>
|
||||||
|
</li>
|
||||||
|
|
||||||
{{#if system.unlimited}}
|
{{#if system.unlimited}}
|
||||||
|
|
||||||
{{else}}
|
{{else}}
|
||||||
|
|||||||
40
templates/item-trap-sheet.html
Normal file
40
templates/item-trap-sheet.html
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
<form class="{{cssClass}}" autocomplete="off">
|
||||||
|
<header class="sheet-header">
|
||||||
|
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}"/>
|
||||||
|
<div class="header-fields">
|
||||||
|
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
{{> systems/fvtt-warhero/templates/partial-item-nav.html}}
|
||||||
|
|
||||||
|
{{!-- Sheet Body --}}
|
||||||
|
<section class="sheet-body">
|
||||||
|
|
||||||
|
{{> systems/fvtt-warhero/templates/partial-item-description.html}}
|
||||||
|
|
||||||
|
<div class="tab details" data-group="primary" data-tab="details">
|
||||||
|
<ul>
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.dcfind"}}</label>
|
||||||
|
<input type="text" class="item-field-label-short " name="system.dcfind" value="{{system.dcfind}}" data-dtype="Number"/>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.dcdisable"}}</label>
|
||||||
|
<input type="text" class="item-field-label-short " name="system.dcdisable" value="{{system.dcdisable}}" data-dtype="Number"/>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.throwtohit"}}</label>
|
||||||
|
<input type="text" class="item-field-label-medium " name="system.throwtohit" value="{{system.throwtohit}}" data-dtype="String"/>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.damage"}}</label>
|
||||||
|
<input type="text" class="item-field-label-medium " name="system.damageroll" value="{{system.damageroll}}" data-dtype="String"/>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
{{> systems/fvtt-warhero/templates/partial-item-common-equipment.html}}
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</form>
|
||||||
@@ -31,6 +31,12 @@
|
|||||||
{{#if hasmax}}
|
{{#if hasmax}}
|
||||||
<input type="text" class="item-field-label-short " name="system.{{path}}.{{key}}.max" value="{{stat.max}}" data-dtype="Number"/>
|
<input type="text" class="item-field-label-short " name="system.{{path}}.{{key}}.max" value="{{stat.max}}" data-dtype="Number"/>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
{{#if hasuse}}
|
||||||
|
<input type="text" class="item-field-label-short " name="system.{{path}}.{{key}}.nbuse" value="{{stat.nbuse}}" data-dtype="Number"/>
|
||||||
|
<label class="item-field-label-2rem"> / </label>
|
||||||
|
<input type="text" class="item-field-label-short " name="system.{{path}}.{{key}}.maxuse" value="{{stat.maxuse}}" data-dtype="Number"/>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{#if hassave}}
|
{{#if hassave}}
|
||||||
|
|||||||
@@ -10,7 +10,18 @@
|
|||||||
{{/select}}
|
{{/select}}
|
||||||
</select>
|
</select>
|
||||||
</li>
|
</li>
|
||||||
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.quantity"}}</label>
|
|
||||||
|
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.identified"}}</label>
|
||||||
|
<select class="item-field-label-long " type="text" name="system.isidentified" value="{{system.isidentified}}" data-dtype="String">
|
||||||
|
{{#select system.isidentified}}
|
||||||
|
{{#each config.identifiedState as |type key|}}
|
||||||
|
<option value="{{key}}">{{localize type}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.quantity"}}</label>
|
||||||
<input type="text" class="item-field-label-medium " name="system.quantity" value="{{system.quantity}}" data-dtype="Number"/>
|
<input type="text" class="item-field-label-medium " name="system.quantity" value="{{system.quantity}}" data-dtype="Number"/>
|
||||||
</li>
|
</li>
|
||||||
<li class="flexrow"><label class="item-field-label-medium">{{localize "WH.ui.cost"}}</label>
|
<li class="flexrow"><label class="item-field-label-medium">{{localize "WH.ui.cost"}}</label>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<div class="tab description" data-group="primary" data-tab="description">
|
<div class="tab description" data-group="primary" data-tab="description">
|
||||||
<div>
|
<div>
|
||||||
<label class="generic-label">{{localize "WH.ui.description"}}</label>
|
<label class="generic-label">{{localize "WH.ui.description"}}</label>
|
||||||
<div class="medium-editor item-text-long-line">
|
<div class="editor item-text-long-line">
|
||||||
{{editor description target="system.description" button=true owner=owner editable=editable}}
|
{{editor description target="system.description" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
{{#if is2hands}}
|
{{#if is2hands}}
|
||||||
<span class="item-field-label-vlong">{{weapon.damageFormula2Hands}}</span>
|
<span class="item-field-label-vlong">{{weapon.damageFormula2Hands}}</span>
|
||||||
{{else}}
|
{{else}}
|
||||||
<span class="item-field-label-vlong">{{weapon.damage}}</span>
|
<span class="item-field-label-vlong">{{weapon.damageFormula}}</span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|||||||
Reference in New Issue
Block a user