forked from public/bol
Compare commits
26 Commits
v9
...
bol-v10.2.
Author | SHA1 | Date | |
---|---|---|---|
edf8325109 | |||
895aa01419 | |||
9631e5e72a | |||
716cc53b29 | |||
44952d4410 | |||
a7991bce92 | |||
a1c20019e8 | |||
af8576a4a1 | |||
6c35ddfb0b | |||
0cbcaee45e | |||
904ff821e1 | |||
5c13cde07a | |||
51c1e205e9 | |||
90a83f4571 | |||
3311bc091a | |||
fa8f9869a6 | |||
36b905134e | |||
eeb0a906e7 | |||
c552411d61 | |||
89ec404ca8 | |||
d888c6a2eb | |||
165e41fef6 | |||
19bb0798c8 | |||
05f044bc7c | |||
996ac1c88d | |||
cc1964093d |
@ -40,4 +40,4 @@ Maps : Emmanuel Roudier.
|
|||||||
|
|
||||||
# Developmement
|
# Developmement
|
||||||
|
|
||||||
Zigmund, LeRatierBretonnien
|
LeRatierBretonnien, Zigmund (historical)
|
||||||
|
10
css/bol.css
10
css/bol.css
@ -389,16 +389,16 @@ ul.no-bullets {
|
|||||||
background-color: lightgray;
|
background-color: lightgray;
|
||||||
}
|
}
|
||||||
.bol h1.form-header {
|
.bol h1.form-header {
|
||||||
font-size: 2.5em;
|
font-size: 2.2em;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
}
|
}
|
||||||
.bol h2.form-header {
|
.bol h2.form-header {
|
||||||
font-size: 2em;
|
font-size: 1.8em;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
border-bottom: 1px groove #eeede0;
|
border-bottom: 1px groove #eeede0;
|
||||||
}
|
}
|
||||||
.bol h3.form-header {
|
.bol h3.form-header {
|
||||||
font-size: 1.5em;
|
font-size: 1.2em;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
border-bottom: 1px groove #eeede0;
|
border-bottom: 1px groove #eeede0;
|
||||||
}
|
}
|
||||||
@ -1051,3 +1051,7 @@ body.system-bol img#logo {
|
|||||||
.bol-hud-menu label {
|
.bol-hud-menu label {
|
||||||
font-size: 0.75rem;
|
font-size: 0.75rem;
|
||||||
}
|
}
|
||||||
|
.bol-margin-tb-2 {
|
||||||
|
margin-top: 2px;
|
||||||
|
margin-bottom: 2px;
|
||||||
|
}
|
@ -391,6 +391,7 @@
|
|||||||
"BOL.chat.spellremaining": "Points de Pouvoir restants",
|
"BOL.chat.spellremaining": "Points de Pouvoir restants",
|
||||||
"BOL.chat.nodamagesummary": "Aucun dégats n'a été subi ....",
|
"BOL.chat.nodamagesummary": "Aucun dégats n'a été subi ....",
|
||||||
"BOL.chat.damageresume": "{name} a subi des blessures ...",
|
"BOL.chat.damageresume": "{name} a subi des blessures ...",
|
||||||
|
"BOL.chat.fumblemessage": "Si vous acceptez les conséquences d'un echec catastrophique (au choix du MJ), vous pourrez bénéficier d'1 point d'Héroïsme supplémentaire",
|
||||||
|
|
||||||
"BOL.dialog.soeasy": "Inmanquable (+4)",
|
"BOL.dialog.soeasy": "Inmanquable (+4)",
|
||||||
"BOL.dialog.veryeasy": "Trés Facile (+2)",
|
"BOL.dialog.veryeasy": "Trés Facile (+2)",
|
||||||
|
@ -12,7 +12,7 @@ export class BoLActorSheet extends ActorSheet {
|
|||||||
return mergeObject(super.defaultOptions, {
|
return mergeObject(super.defaultOptions, {
|
||||||
classes: ["bol", "sheet", "actor"],
|
classes: ["bol", "sheet", "actor"],
|
||||||
template: "systems/bol/templates/actor/actor-sheet.hbs",
|
template: "systems/bol/templates/actor/actor-sheet.hbs",
|
||||||
width: 600,
|
width: 860,
|
||||||
height: 600,
|
height: 600,
|
||||||
dragDrop: [{ dragSelector: ".items-list .item", dropSelector: null }],
|
dragDrop: [{ dragSelector: ".items-list .item", dropSelector: null }],
|
||||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "stats" }]
|
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "stats" }]
|
||||||
@ -73,10 +73,9 @@ export class BoLActorSheet extends ActorSheet {
|
|||||||
const incr = parseInt(dataset.incr)
|
const incr = parseInt(dataset.incr)
|
||||||
const min = parseInt(dataset.min)
|
const min = parseInt(dataset.min)
|
||||||
const max = parseInt(dataset.max) || 10000
|
const max = parseInt(dataset.max) || 10000
|
||||||
const itemData = item.data;
|
let value = eval("item." + target)
|
||||||
let value = eval("itemData." + target)
|
|
||||||
value = value || 0
|
value = value || 0
|
||||||
console.log("IncDec", item, target, value, operator, min, max)
|
//console.log("IncDec", item, target, value, operator, min, max)
|
||||||
if (operator === "minus") {
|
if (operator === "minus") {
|
||||||
if (value >= min + incr) value -= incr;
|
if (value >= min + incr) value -= incr;
|
||||||
else value = min;
|
else value = min;
|
||||||
@ -115,17 +114,18 @@ export class BoLActorSheet extends ActorSheet {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
|
|
||||||
/** @override */
|
/** @override */
|
||||||
getData(options) {
|
async getData(options) {
|
||||||
const data = super.getData(options);
|
const data = super.getData(options)
|
||||||
const actorData = duplicate(data.data);
|
const actorData = duplicate(data)
|
||||||
let formData = duplicate(data)
|
let formData = duplicate(data)
|
||||||
|
|
||||||
formData.config = game.bol.config
|
formData.config = game.bol.config
|
||||||
formData.data = actorData.data
|
formData.data = actorData
|
||||||
formData.details = this.actor.details
|
formData.details = this.actor.details
|
||||||
formData.attributes = this.actor.attributes
|
formData.attributes = this.actor.attributes
|
||||||
formData.aptitudes = this.actor.aptitudes
|
formData.aptitudes = this.actor.aptitudes
|
||||||
formData.resources = this.actor.getResourcesFromType()
|
formData.resources = this.actor.getResourcesFromType()
|
||||||
|
formData.xp = this.actor.system.xp
|
||||||
formData.equipment = this.actor.equipment
|
formData.equipment = this.actor.equipment
|
||||||
formData.equipmentCreature = this.actor.equipmentCreature
|
formData.equipmentCreature = this.actor.equipmentCreature
|
||||||
formData.weapons = this.actor.weapons
|
formData.weapons = this.actor.weapons
|
||||||
@ -140,14 +140,17 @@ export class BoLActorSheet extends ActorSheet {
|
|||||||
formData.ammos = this.actor.ammos
|
formData.ammos = this.actor.ammos
|
||||||
formData.misc = this.actor.misc
|
formData.misc = this.actor.misc
|
||||||
formData.combat = this.actor.buildCombat()
|
formData.combat = this.actor.buildCombat()
|
||||||
formData.combatCreature = this.actor.buildCombatCreature()
|
//formData.combatCreature = this.actor.buildCombatCreature()
|
||||||
formData.features = this.actor.buildFeatures()
|
formData.features = this.actor.buildFeatures()
|
||||||
formData.isGM = game.user.isGM
|
formData.isGM = game.user.isGM
|
||||||
formData.options = this.options
|
formData.options = this.options
|
||||||
formData.owner = this.document.isOwner
|
formData.owner = this.document.isOwner
|
||||||
formData.editScore = this.options.editScore
|
formData.editScore = this.options.editScore
|
||||||
formData.useBougette = BoLUtility.getUseBougette()
|
formData.useBougette = BoLUtility.getUseBougette()
|
||||||
|
formData.charType = this.actor.getCharType()
|
||||||
|
formData.villainy = this.actor.getVillainy()
|
||||||
|
formData.biography = await TextEditor.enrichHTML(this.object.system.details.biography, {async: true})
|
||||||
|
formData.notes = await TextEditor.enrichHTML(this.object.system.details.notes, {async: true})
|
||||||
formData.isSorcerer = this.actor.isSorcerer()
|
formData.isSorcerer = this.actor.isSorcerer()
|
||||||
formData.isAlchemist = this.actor.isAlchemist()
|
formData.isAlchemist = this.actor.isAlchemist()
|
||||||
formData.isPriest = this.actor.isPriest()
|
formData.isPriest = this.actor.isPriest()
|
||||||
|
@ -9,29 +9,43 @@ export class BoLActor extends Actor {
|
|||||||
|
|
||||||
/** @override */
|
/** @override */
|
||||||
prepareData() {
|
prepareData() {
|
||||||
const actorData = this.data;
|
|
||||||
|
|
||||||
if (actorData.type === 'character') {
|
if (this.type === 'character') {
|
||||||
actorData.type = 'player';
|
this.chartype = 'player'
|
||||||
actorData.villainy = false;
|
this.villainy = false
|
||||||
}
|
}
|
||||||
if (actorData.type === 'encounter') {
|
if (this.type === 'encounter') {
|
||||||
actorData.type = 'tough';
|
this.chartype = 'tough'
|
||||||
actorData.villainy = true;
|
this.villainy = true
|
||||||
}
|
}
|
||||||
super.prepareData();
|
super.prepareData()
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
getCharType() {
|
||||||
|
if (this.type === 'character') {
|
||||||
|
return 'player'
|
||||||
|
}
|
||||||
|
return this.system.chartype
|
||||||
|
}
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
getVillainy() {
|
||||||
|
if (this.type === 'character') {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
updateResourcesData() {
|
updateResourcesData() {
|
||||||
if (this.type == 'character') {
|
if (this.type == 'character') {
|
||||||
let newVitality = 10 + this.data.data.attributes.vigor.value + this.data.data.resources.hp.bonus
|
let newVitality = 10 + this.system.attributes.vigor.value + this.system.resources.hp.bonus
|
||||||
if (this.data.data.resources.hp.max != newVitality) {
|
if (this.system.resources.hp.max != newVitality) {
|
||||||
this.update({ 'data.resources.hp.max': newVitality })
|
this.update({ 'system.resources.hp.max': newVitality })
|
||||||
}
|
}
|
||||||
let newPower = 10 + this.data.data.attributes.mind.value + this.data.data.resources.power.bonus
|
let newPower = 10 + this.system.attributes.mind.value + this.system.resources.power.bonus
|
||||||
if (this.data.data.resources.power.max != newPower) {
|
if (this.system.resources.power.max != newPower) {
|
||||||
this.update({ 'data.resources.power.max': newPower })
|
this.update({ 'system.resources.power.max': newPower })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -44,25 +58,22 @@ export class BoLActor extends Actor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
get itemData() {
|
|
||||||
return Array.from(this.data.items.values()).map(i => i.data)
|
|
||||||
}
|
|
||||||
get details() {
|
get details() {
|
||||||
return this.data.data.details
|
return this.system.details
|
||||||
}
|
}
|
||||||
get attributes() {
|
get attributes() {
|
||||||
return Object.values(this.data.data.attributes)
|
return Object.values(this.system.attributes)
|
||||||
}
|
}
|
||||||
get aptitudes() {
|
get aptitudes() {
|
||||||
return Object.values(this.data.data.aptitudes)
|
return Object.values(this.system.aptitudes)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
clearRoundModifiers() { // Process data/items that are finished at end of a round
|
clearRoundModifiers() { // Process data/items that are finished at end of a round
|
||||||
let foList = this.fightoptions
|
let foList = this.fightoptions
|
||||||
for (let fo of foList) {
|
for (let fo of foList) {
|
||||||
if (fo.data.properties.used) {
|
if (fo.system.properties.used) {
|
||||||
this.updateEmbeddedDocuments("Item", [{ _id: fo._id, 'data.properties.used': false }])
|
this.updateEmbeddedDocuments("Item", [{ _id: fo._id, 'system.properties.used': false }])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -71,28 +82,28 @@ export class BoLActor extends Actor {
|
|||||||
get defenseValue() {
|
get defenseValue() {
|
||||||
let defMod = 0
|
let defMod = 0
|
||||||
let fo = this.getActiveFightOption()
|
let fo = this.getActiveFightOption()
|
||||||
if (fo && fo.data.properties.fightoptiontype == "intrepid") {
|
if (fo && fo.system.properties.fightoptiontype == "intrepid") {
|
||||||
defMod += -2
|
defMod += -2
|
||||||
}
|
}
|
||||||
if (fo && fo.data.properties.fightoptiontype == "fulldefense") {
|
if (fo && fo.system.properties.fightoptiontype == "fulldefense") {
|
||||||
defMod += 2
|
defMod += 2
|
||||||
}
|
}
|
||||||
if (fo && fo.data.properties.fightoptiontype == "twoweaponsdef" && !fo.data.properties.used) {
|
if (fo && fo.system.properties.fightoptiontype == "twoweaponsdef" && !fo.system.properties.used) {
|
||||||
defMod += 1
|
defMod += 1
|
||||||
this.updateEmbeddedDocuments("Item", [{ _id: fo._id, 'data.properties.used': true }])
|
this.updateEmbeddedDocuments("Item", [{ _id: fo._id, 'system.properties.used': true }])
|
||||||
}
|
}
|
||||||
if (fo && fo.data.properties.fightoptiontype == "defense") {
|
if (fo && fo.system.properties.fightoptiontype == "defense") {
|
||||||
defMod += 1
|
defMod += 1
|
||||||
}
|
}
|
||||||
if (fo && fo.data.properties.fightoptiontype == "attack") {
|
if (fo && fo.system.properties.fightoptiontype == "attack") {
|
||||||
defMod += -1
|
defMod += -1
|
||||||
}
|
}
|
||||||
return this.data.data.aptitudes.def.value + defMod
|
return this.system.aptitudes.def.value + defMod
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getActiveFightOption() {
|
getActiveFightOption() {
|
||||||
let it = this.itemData.find(i => i.type === "feature" && i.data.subtype === "fightoption" && i.data.properties.activated)
|
let it = this.items.find(i => i.type === "feature" && i.system.subtype === "fightoption" && i.system.properties.activated)
|
||||||
if (it) {
|
if (it) {
|
||||||
return duplicate(it)
|
return duplicate(it)
|
||||||
}
|
}
|
||||||
@ -101,14 +112,14 @@ export class BoLActor extends Actor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
incAttributeXP(key) {
|
incAttributeXP(key) {
|
||||||
let attr = duplicate(this.data.data.attributes[key])
|
let attr = duplicate(this.system.attributes[key])
|
||||||
if (attr) {
|
if (attr) {
|
||||||
let nextXP = (attr.value == -1) ? 2 : attr.value + (attr.value + 1)
|
let nextXP = (attr.value == -1) ? 2 : attr.value + (attr.value + 1)
|
||||||
let xp = duplicate(this.data.data.xp)
|
let xp = duplicate(this.system.xp)
|
||||||
if (xp.total - xp.spent >= nextXP) {
|
if (xp.total - xp.spent >= nextXP) {
|
||||||
attr.value += 1
|
attr.value += 1
|
||||||
xp.spent += nextXP
|
xp.spent += nextXP
|
||||||
this.update({ [`data.attributes.${key}`]: attr, [`data.xp`]: xp })
|
this.update({ [`system.attributes.${key}`]: attr, [`system.xp`]: xp })
|
||||||
} else {
|
} else {
|
||||||
ui.notifications.warn("Pas assez de points d'expérience !")
|
ui.notifications.warn("Pas assez de points d'expérience !")
|
||||||
}
|
}
|
||||||
@ -117,14 +128,14 @@ export class BoLActor extends Actor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
incAptitudeXP(key) {
|
incAptitudeXP(key) {
|
||||||
let apt = duplicate(this.data.data.aptitudes[key])
|
let apt = duplicate(this.system.aptitudes[key])
|
||||||
if (apt) {
|
if (apt) {
|
||||||
let nextXP = (apt.value == -1) ? 1 : apt.value + 2
|
let nextXP = (apt.value == -1) ? 1 : apt.value + 2
|
||||||
let xp = duplicate(this.data.data.xp)
|
let xp = duplicate(this.system.xp)
|
||||||
if (xp.total - xp.spent >= nextXP) {
|
if (xp.total - xp.spent >= nextXP) {
|
||||||
apt.value += 1
|
apt.value += 1
|
||||||
xp.spent += nextXP
|
xp.spent += nextXP
|
||||||
this.update({ [`data.aptitudes.${key}`]: apt, [`data.xp`]: xp })
|
this.update({ [`system.aptitudes.${key}`]: apt, [`system.xp`]: xp })
|
||||||
} else {
|
} else {
|
||||||
ui.notifications.warn("Pas assez de points d'expérience !")
|
ui.notifications.warn("Pas assez de points d'expérience !")
|
||||||
}
|
}
|
||||||
@ -132,15 +143,15 @@ export class BoLActor extends Actor {
|
|||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
incCareerXP(itemId) {
|
incCareerXP(itemId) {
|
||||||
let career = this.data.items.get(itemId)
|
let career = this.items.get(itemId)
|
||||||
if (career) {
|
if (career) {
|
||||||
career = duplicate(career)
|
career = duplicate(career)
|
||||||
let nextXP = career.data.rank + 1
|
let nextXP = career.system.rank + 1
|
||||||
let xp = duplicate(this.data.data.xp)
|
let xp = duplicate(this.system.xp)
|
||||||
if (xp.total - xp.spent >= nextXP) {
|
if (xp.total - xp.spent >= nextXP) {
|
||||||
xp.spent += nextXP
|
xp.spent += nextXP
|
||||||
this.update({ [`data.xp`]: xp })
|
this.update({ [`system.xp`]: xp })
|
||||||
this.updateEmbeddedDocuments('Item', [{ _id: career._id, 'data.rank': career.data.rank + 1 }])
|
this.updateEmbeddedDocuments('Item', [{ _id: career._id, 'system.rank': career.system.rank + 1 }])
|
||||||
} else {
|
} else {
|
||||||
ui.notifications.warn("Pas assez de points d'expérience !")
|
ui.notifications.warn("Pas assez de points d'expérience !")
|
||||||
}
|
}
|
||||||
@ -149,18 +160,18 @@ export class BoLActor extends Actor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async toggleFightOption(itemId) {
|
async toggleFightOption(itemId) {
|
||||||
let fightOption = this.data.items.get(itemId)
|
let fightOption = this.items.get(itemId)
|
||||||
let state
|
let state
|
||||||
let updates = []
|
let updates = []
|
||||||
|
|
||||||
if (fightOption) {
|
if (fightOption) {
|
||||||
fightOption = duplicate(fightOption)
|
fightOption = duplicate(fightOption)
|
||||||
if (fightOption.data.properties.activated) {
|
if (fightOption.system.properties.activated) {
|
||||||
state = false
|
state = false
|
||||||
} else {
|
} else {
|
||||||
state = true
|
state = true
|
||||||
}
|
}
|
||||||
updates.push({ _id: fightOption._id, 'data.properties.activated': state }) // Update the selected one
|
updates.push({ _id: fightOption._id, 'system.properties.activated': state }) // Update the selected one
|
||||||
await this.updateEmbeddedDocuments("Item", updates) // Apply all changes
|
await this.updateEmbeddedDocuments("Item", updates) // Apply all changes
|
||||||
// Then notify
|
// Then notify
|
||||||
ChatMessage.create({
|
ChatMessage.create({
|
||||||
@ -175,13 +186,13 @@ export class BoLActor extends Actor {
|
|||||||
/*-------------------------------------------- */
|
/*-------------------------------------------- */
|
||||||
get armorMalusValue() { // used for Fight Options
|
get armorMalusValue() { // used for Fight Options
|
||||||
for (let armor of this.armors) {
|
for (let armor of this.armors) {
|
||||||
if (armor.data.properties.armorQuality.includes("light")) {
|
if (armor.system.properties.armorQuality.includes("light")) {
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
if (armor.data.properties.armorQuality.includes("medium")) {
|
if (armor.system.properties.armorQuality.includes("medium")) {
|
||||||
return 2
|
return 2
|
||||||
}
|
}
|
||||||
if (armor.data.properties.armorQuality.includes("heavy")) {
|
if (armor.system.properties.armorQuality.includes("heavy")) {
|
||||||
return 3
|
return 3
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -189,112 +200,113 @@ export class BoLActor extends Actor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
get resources() {
|
get resources() {
|
||||||
return Object.values(this.data.data.resources)
|
return Object.values(this.system.resources)
|
||||||
}
|
}
|
||||||
get boons() {
|
get boons() {
|
||||||
return this.itemData.filter(i => i.type === "feature" && i.data.subtype === "boon");
|
return duplicate(this.items.filter(i => i.type === "feature" && i.system.subtype === "boon") || []);
|
||||||
}
|
}
|
||||||
get flaws() {
|
get flaws() {
|
||||||
return this.itemData.filter(i => i.type === "feature" && i.data.subtype === "flaw");
|
return duplicate(this.items.filter(i => i.type === "feature" && i.system.subtype === "flaw") || []);
|
||||||
}
|
}
|
||||||
get careers() {
|
get careers() {
|
||||||
return this.itemData.filter(i => i.type === "feature" && i.data.subtype === "career");
|
return duplicate( this.items.filter(i => i.type === "feature" && i.system.subtype === "career") || [])
|
||||||
}
|
}
|
||||||
get origins() {
|
get origins() {
|
||||||
return this.itemData.filter(i => i.type === "feature" && i.data.subtype === "origin");
|
return this.items.filter(i => i.type === "feature" && i.system.subtype === "origin");
|
||||||
}
|
}
|
||||||
get races() {
|
get races() {
|
||||||
return this.itemData.filter(i => i.type === "feature" && i.data.subtype === "race");
|
return this.items.filter(i => i.type === "feature" && i.system.subtype === "race");
|
||||||
}
|
}
|
||||||
get languages() {
|
get languages() {
|
||||||
return this.itemData.filter(i => i.type === "feature" && i.data.subtype === "language")
|
return this.items.filter(i => i.type === "feature" && i.system.subtype === "language")
|
||||||
}
|
}
|
||||||
get fightoptions() {
|
get fightoptions() {
|
||||||
return this.itemData.filter(i => i.type === "feature" && i.data.subtype === "fightoption")
|
return this.items.filter(i => i.type === "feature" && i.system.subtype === "fightoption")
|
||||||
}
|
}
|
||||||
get godsfaith() {
|
get godsfaith() {
|
||||||
return this.itemData.filter(i => i.type === "feature" && i.data.subtype === "godsfaith")
|
return this.items.filter(i => i.type === "feature" && i.system.subtype === "godsfaith")
|
||||||
}
|
}
|
||||||
get features() {
|
get features() {
|
||||||
return this.itemData.filter(i => i.type === "feature")
|
return this.items.filter(i => i.type === "feature")
|
||||||
}
|
}
|
||||||
get equipment() {
|
get equipment() {
|
||||||
return this.itemData.filter(i => i.type === "item")
|
return this.items.filter(i => i.type === "item")
|
||||||
}
|
}
|
||||||
get equipmentCreature() {
|
get equipmentCreature() {
|
||||||
return this.itemData.filter(i => i.type === "item" && i.data.category === "equipment" && (( i.data.subtype === "weapon" && i.data.properties.natural === true) || (i.data.subtype === "armor")) )
|
return this.items.filter(i => i.type === "item" && i.system.category === "equipment" && (( i.system.subtype === "weapon" && i.system.properties.natural === true) || (i.system.subtype === "armor")) )
|
||||||
}
|
}
|
||||||
get armors() {
|
get armors() {
|
||||||
return this.itemData.filter(i => i.type === "item" && i.data.category === "equipment" && i.data.subtype === "armor");
|
return this.items.filter(i => i.type === "item" && i.system.category === "equipment" && i.system.subtype === "armor");
|
||||||
}
|
}
|
||||||
get helms() {
|
get helms() {
|
||||||
return this.itemData.filter(i => i.type === "item" && i.data.category === "equipment" && i.data.subtype === "helm");
|
return this.items.filter(i => i.type === "item" && i.system.category === "equipment" && i.system.subtype === "helm");
|
||||||
}
|
}
|
||||||
get shields() {
|
get shields() {
|
||||||
return this.itemData.filter(i => i.type === "item" && i.data.category === "equipment" && i.data.subtype === "shield");
|
return this.items.filter(i => i.type === "item" && i.system.category === "equipment" && i.system.subtype === "shield");
|
||||||
}
|
}
|
||||||
|
|
||||||
get weapons() {
|
get weapons() {
|
||||||
return this.itemData.filter(i => i.type === "item" && i.data.category === "equipment" && i.data.subtype === "weapon");
|
return this.items.filter(i => i.type === "item" && i.system.category === "equipment" && i.system.subtype === "weapon");
|
||||||
}
|
}
|
||||||
get protections() {
|
get protections() {
|
||||||
return this.armors.concat(this.helms).concat(this.shields)
|
return this.armors.concat(this.helms).concat(this.shields)
|
||||||
}
|
}
|
||||||
get spells() {
|
get spells() {
|
||||||
return this.itemData.filter(i => i.type === "item" && i.data.category === "spell");
|
return this.items.filter(i => i.type === "item" && i.system.category === "spell");
|
||||||
}
|
}
|
||||||
get alchemy() {
|
get alchemy() {
|
||||||
return this.itemData.filter(i => i.type === "item" && i.data.category === "alchemy");
|
return this.items.filter(i => i.type === "item" && i.system.category === "alchemy");
|
||||||
}
|
}
|
||||||
get melee() {
|
get melee() {
|
||||||
return this.weapons.filter(i => i.data.properties.melee === true);
|
return this.weapons.filter(i => i.system.properties.melee === true);
|
||||||
}
|
}
|
||||||
get natural() {
|
get natural() {
|
||||||
return this.weapons.filter(i => i.data.properties.natural === true);
|
return this.weapons.filter(i => i.system.properties.natural === true);
|
||||||
}
|
}
|
||||||
get ranged() {
|
get ranged() {
|
||||||
return this.weapons.filter(i => i.data.properties.ranged === true);
|
return this.weapons.filter(i => i.system.properties.ranged === true);
|
||||||
}
|
}
|
||||||
|
|
||||||
get containers() {
|
get containers() {
|
||||||
return this.itemData.filter(i => i.type === "item" && i.data.category === "equipment" && i.data.subtype === "container");
|
return this.items.filter(i => i.type === "item" && i.system.category === "equipment" && i.system.subtype === "container");
|
||||||
}
|
}
|
||||||
|
|
||||||
get treasure() {
|
get treasure() {
|
||||||
return this.itemData.filter(i => i.type === "item" && i.data.category === "equipment" && i.data.subtype === "currency");
|
return this.items.filter(i => i.type === "item" && i.system.category === "equipment" && i.system.subtype === "currency");
|
||||||
}
|
}
|
||||||
|
|
||||||
get vehicles() {
|
get vehicles() {
|
||||||
return this.itemData.filter(i => i.type === "item" && i.data.category === "vehicle");
|
return this.items.filter(i => i.type === "item" && i.system.category === "vehicle");
|
||||||
}
|
}
|
||||||
|
|
||||||
get ammos() {
|
get ammos() {
|
||||||
return this.itemData.filter(i => i.type === "item" && i.data.category === "equipment" && i.data.subtype === "ammunition");
|
return this.items.filter(i => i.type === "item" && i.system.category === "equipment" && i.system.subtype === "ammunition");
|
||||||
}
|
}
|
||||||
|
|
||||||
get misc() {
|
get misc() {
|
||||||
return this.itemData.filter(i => i.type === "item" && i.data.category === "equipment" && (i.data.subtype === "other" || i.data.subtype === "container" || i.data.subtype === "scroll" || i.data.subtype === "jewel"));
|
return this.items.filter(i => i.type === "item" && i.system.category === "equipment" && (i.system.subtype === "other" || i.system.subtype === "container" || i.system.subtype === "scroll" || i.system.subtype === "jewel"));
|
||||||
}
|
}
|
||||||
|
|
||||||
get bonusBoons() {
|
get bonusBoons() {
|
||||||
return this.itemData.filter(i => i.type === "feature" && i.data.subtype === "boon" && i.data.properties.isbonusdice);
|
let boons = this.items.filter(i => i.type === "feature" && i.system.subtype === "boon" && i.system.properties.isbonusdice)
|
||||||
|
return duplicate( boons || [])
|
||||||
}
|
}
|
||||||
get malusFlaws() {
|
get malusFlaws() {
|
||||||
return this.itemData.filter(i => i.type === "feature" && i.data.subtype === "flaw" && i.data.properties.ismalusdice);
|
return duplicate( this.items.filter(i => i.type === "feature" && i.system.subtype === "flaw" && i.system.properties.ismalusdice) || []);
|
||||||
}
|
}
|
||||||
|
|
||||||
isSorcerer() {
|
isSorcerer() {
|
||||||
if (this.careers.find(item => item.data.properties.sorcerer == true))
|
if (this.careers.find(item => item.system.properties.sorcerer == true))
|
||||||
return true
|
return true
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
isAlchemist() {
|
isAlchemist() {
|
||||||
if (this.careers.find(item => item.data.properties.alchemist == true))
|
if (this.careers.find(item => item.system.properties.alchemist == true))
|
||||||
return true
|
return true
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
isPriest() {
|
isPriest() {
|
||||||
if (this.careers.find(item => item.data.properties.priest == true))
|
if (this.careers.find(item => item.system.properties.priest == true))
|
||||||
return true
|
return true
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
@ -304,8 +316,8 @@ export class BoLActor extends Actor {
|
|||||||
let armors = this.armors
|
let armors = this.armors
|
||||||
let ppCostArmor = 0
|
let ppCostArmor = 0
|
||||||
for (let armor of armors) {
|
for (let armor of armors) {
|
||||||
if (armor.data.worn) {
|
if (armor.system.worn) {
|
||||||
ppCostArmor += Number(armor.data.properties.modifiers.powercost) || 0
|
ppCostArmor += Number(armor.system.properties.modifiers.powercost) || 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ppCostArmor
|
return ppCostArmor
|
||||||
@ -314,8 +326,8 @@ export class BoLActor extends Actor {
|
|||||||
getArmorAgiMalus() {
|
getArmorAgiMalus() {
|
||||||
let malusAgi = 0
|
let malusAgi = 0
|
||||||
for (let armor of this.protections) {
|
for (let armor of this.protections) {
|
||||||
if (armor.data.worn) {
|
if (armor.system.worn) {
|
||||||
malusAgi += Number(armor.data.properties.modifiers.agility) || 0
|
malusAgi += Number(armor.system.properties.modifiers.agility) || 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return malusAgi
|
return malusAgi
|
||||||
@ -324,8 +336,8 @@ export class BoLActor extends Actor {
|
|||||||
getArmorInitMalus() {
|
getArmorInitMalus() {
|
||||||
let malusInit = 0
|
let malusInit = 0
|
||||||
for (let armor of this.protections) {
|
for (let armor of this.protections) {
|
||||||
if (armor.data.worn) {
|
if (armor.system.worn) {
|
||||||
malusInit += Number(armor.data.properties.modifiers.init) || 0
|
malusInit += Number(armor.system.properties.modifiers.init) || 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return malusInit
|
return malusInit
|
||||||
@ -333,31 +345,31 @@ export class BoLActor extends Actor {
|
|||||||
|
|
||||||
/*-------------------------------------------- */
|
/*-------------------------------------------- */
|
||||||
spendPowerPoint(ppCost) {
|
spendPowerPoint(ppCost) {
|
||||||
let newPP = this.data.data.resources.power.value - ppCost
|
let newPP = this.system.resources.power.value - ppCost
|
||||||
newPP = (newPP < 0) ? 0 : newPP
|
newPP = (newPP < 0) ? 0 : newPP
|
||||||
this.update({ 'data.resources.power.value': newPP })
|
this.update({ 'system.resources.power.value': newPP })
|
||||||
return newPP
|
return newPP
|
||||||
}
|
}
|
||||||
|
|
||||||
/*-------------------------------------------- */
|
/*-------------------------------------------- */
|
||||||
resetAlchemyStatus(alchemyId) {
|
resetAlchemyStatus(alchemyId) {
|
||||||
let alchemy = this.data.items.get(alchemyId)
|
let alchemy = this.items.get(alchemyId)
|
||||||
if (alchemy) {
|
if (alchemy) {
|
||||||
this.updateEmbeddedDocuments('Item', [{ _id: alchemy.id, 'data.properties.pccurrent': 0 }])
|
this.updateEmbeddedDocuments('Item', [{ _id: alchemy.id, 'system.properties.pccurrent': 0 }])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*-------------------------------------------- */
|
/*-------------------------------------------- */
|
||||||
async spendAlchemyPoint(alchemyId, pcCost) {
|
async spendAlchemyPoint(alchemyId, pcCost) {
|
||||||
let alchemy = this.data.items.get(alchemyId)
|
let alchemy = this.items.get(alchemyId)
|
||||||
if (alchemy) {
|
if (alchemy) {
|
||||||
pcCost = Number(pcCost) ?? 0
|
pcCost = Number(pcCost) ?? 0
|
||||||
if (this.data.data.resources.alchemypoints.value >= pcCost) {
|
if (this.system.resources.alchemypoints.value >= pcCost) {
|
||||||
let newPC = this.data.data.resources.alchemypoints.value - pcCost
|
let newPC = this.system.resources.alchemypoints.value - pcCost
|
||||||
newPC = (newPC < 0) ? 0 : newPC
|
newPC = (newPC < 0) ? 0 : newPC
|
||||||
this.update({ 'data.resources.alchemypoints.value': newPC })
|
this.update({ 'data.resources.alchemypoints.value': newPC })
|
||||||
newPC = alchemy.data.data.properties.pccurrent + pcCost
|
newPC = alchemy.system.properties.pccurrent + pcCost
|
||||||
await this.updateEmbeddedDocuments('Item', [{ _id: alchemy.id, 'data.properties.pccurrent': newPC }])
|
await this.updateEmbeddedDocuments('Item', [{ _id: alchemy.id, 'system.properties.pccurrent': newPC }])
|
||||||
} else {
|
} else {
|
||||||
ui.notifications.warn("Plus assez de Points de Création !")
|
ui.notifications.warn("Plus assez de Points de Création !")
|
||||||
}
|
}
|
||||||
@ -366,17 +378,17 @@ export class BoLActor extends Actor {
|
|||||||
|
|
||||||
/*-------------------------------------------- */
|
/*-------------------------------------------- */
|
||||||
getAlchemistBonus() {
|
getAlchemistBonus() {
|
||||||
let sorcerer = this.careers.find(item => item.data.properties.alchemist == true)
|
let sorcerer = this.careers.find(item => item.system.properties.alchemist == true)
|
||||||
if (sorcerer) {
|
if (sorcerer) {
|
||||||
return sorcerer.data.rank
|
return sorcerer.system.rank
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
/*-------------------------------------------- */
|
/*-------------------------------------------- */
|
||||||
getSorcererBonus() {
|
getSorcererBonus() {
|
||||||
let sorcerer = this.careers.find(item => item.data.properties.sorcerer == true)
|
let sorcerer = this.careers.find(item => item.system.properties.sorcerer == true)
|
||||||
if (sorcerer) {
|
if (sorcerer) {
|
||||||
return sorcerer.data.rank
|
return sorcerer.system.rank
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -384,10 +396,10 @@ export class BoLActor extends Actor {
|
|||||||
/*-------------------------------------------- */
|
/*-------------------------------------------- */
|
||||||
heroReroll() {
|
heroReroll() {
|
||||||
if (this.type == 'character') {
|
if (this.type == 'character') {
|
||||||
return this.data.data.resources.hero.value > 0;
|
return this.system.resources.hero.value > 0;
|
||||||
} else {
|
} else {
|
||||||
if (this.data.data.type == 'adversary') {
|
if (this.system.type == 'adversary') {
|
||||||
return this.data.data.resources.hero.value > 0;
|
return this.system.resources.hero.value > 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
@ -396,17 +408,17 @@ export class BoLActor extends Actor {
|
|||||||
getResourcesFromType() {
|
getResourcesFromType() {
|
||||||
let resources = {};
|
let resources = {};
|
||||||
if (this.type == 'encounter') {
|
if (this.type == 'encounter') {
|
||||||
resources['hp'] = this.data.data.resources.hp;
|
resources['hp'] = this.system.resources.hp;
|
||||||
if (this.data.data.type != 'base') {
|
if (this.system.type != 'base') {
|
||||||
resources['faith'] = this.data.data.resources.faith
|
resources['faith'] = this.system.resources.faith
|
||||||
resources['power'] = this.data.data.resources.power
|
resources['power'] = this.system.resources.power
|
||||||
}
|
}
|
||||||
if (this.data.data.type == 'adversary') {
|
if (this.system.type == 'adversary') {
|
||||||
resources['hero'] = duplicate(this.data.data.resources.hero)
|
resources['hero'] = duplicate(this.system.resources.hero)
|
||||||
resources['hero'].label = "BOL.resources.villainy"
|
resources['hero'].label = "BOL.resources.villainy"
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
resources = this.data.data.resources;
|
resources = this.system.resources;
|
||||||
}
|
}
|
||||||
return resources
|
return resources
|
||||||
}
|
}
|
||||||
@ -467,6 +479,15 @@ export class BoLActor extends Actor {
|
|||||||
"options": false,
|
"options": false,
|
||||||
"items": this.melee
|
"items": this.melee
|
||||||
},
|
},
|
||||||
|
"natural": {
|
||||||
|
"label": "BOL.combatCategory.natural",
|
||||||
|
"weapon": true,
|
||||||
|
"protection": false,
|
||||||
|
"blocking": false,
|
||||||
|
"ranged": false,
|
||||||
|
"options": false,
|
||||||
|
"items": this.natural
|
||||||
|
},
|
||||||
"ranged": {
|
"ranged": {
|
||||||
"label": "BOL.combatCategory.ranged",
|
"label": "BOL.combatCategory.ranged",
|
||||||
"weapon": true,
|
"weapon": true,
|
||||||
@ -506,39 +527,17 @@ export class BoLActor extends Actor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
buildCombatCreature() {
|
|
||||||
return {
|
|
||||||
"natural": {
|
|
||||||
"label": "BOL.combatCategory.natural",
|
|
||||||
"weapon": true,
|
|
||||||
"protection": false,
|
|
||||||
"blocking": false,
|
|
||||||
"ranged": false,
|
|
||||||
"options": false,
|
|
||||||
"items": this.natural
|
|
||||||
},
|
|
||||||
"protections": {
|
|
||||||
"label": "BOL.combatCategory.protections",
|
|
||||||
"weapon": false,
|
|
||||||
"protection": true,
|
|
||||||
"blocking": false,
|
|
||||||
"ranged": false,
|
|
||||||
"options": false,
|
|
||||||
"items": this.protections
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*-------------------------------------------- */
|
/*-------------------------------------------- */
|
||||||
buildRollList() {
|
buildRollList() {
|
||||||
let rolls = []
|
let rolls = []
|
||||||
for (let key in this.data.data.attributes) {
|
for (let key in this.system.attributes) {
|
||||||
let attr = this.data.data.attributes[key]
|
let attr = this.system.attributes[key]
|
||||||
rolls.push({ key: key, value: attr.value, name: attr.label, type: "attribute" })
|
rolls.push({ key: key, value: attr.value, name: attr.label, type: "attribute" })
|
||||||
}
|
}
|
||||||
for (let key in this.data.data.aptitudes) {
|
for (let key in this.system.aptitudes) {
|
||||||
if (key != "def") {
|
if (key != "def") {
|
||||||
let apt = this.data.data.aptitudes[key]
|
let apt = this.system.aptitudes[key]
|
||||||
rolls.push({ key: key, value: apt.value, name: apt.label, type: "aptitude" })
|
rolls.push({ key: key, value: apt.value, name: apt.label, type: "aptitude" })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -554,13 +553,13 @@ export class BoLActor extends Actor {
|
|||||||
async manageHealthState() {
|
async manageHealthState() {
|
||||||
let hpID = "lastHP" + this.id
|
let hpID = "lastHP" + this.id
|
||||||
let lastHP = await this.getFlag("world", hpID)
|
let lastHP = await this.getFlag("world", hpID)
|
||||||
if (lastHP != this.data.data.resources.hp.value && game.user.isGM ) { // Only GM sends this
|
if (lastHP != this.system.resources.hp.value && game.user.isGM ) { // Only GM sends this
|
||||||
await this.setFlag("world", hpID, this.data.data.resources.hp.value)
|
await this.setFlag("world", hpID, this.system.resources.hp.value)
|
||||||
if (this.data.data.resources.hp.value <= 0) {
|
if (this.system.resources.hp.value <= 0) {
|
||||||
ChatMessage.create({
|
ChatMessage.create({
|
||||||
alias: this.name,
|
alias: this.name,
|
||||||
whisper: BoLUtility.getWhisperRecipientsAndGMs(this.name),
|
whisper: BoLUtility.getWhisperRecipientsAndGMs(this.name),
|
||||||
content: await renderTemplate('systems/bol/templates/chat/chat-vitality-zero.hbs', { name: this.name, img: this.img, hp: this.data.data.resources.hp.value })
|
content: await renderTemplate('systems/bol/templates/chat/chat-vitality-zero.hbs', { name: this.name, img: this.img, hp: this.system.resources.hp.value })
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -568,46 +567,46 @@ export class BoLActor extends Actor {
|
|||||||
|
|
||||||
/*-------------------------------------------- */
|
/*-------------------------------------------- */
|
||||||
registerInit(initScore, isCritical, isFumble) {
|
registerInit(initScore, isCritical, isFumble) {
|
||||||
this.update({ 'data.combat.lastinit': initScore, 'data.combat.iscritical': isCritical, 'data.combat.isfumble': isFumble })
|
this.update({ 'system.combat.lastinit': initScore, 'system.combat.iscritical': isCritical, 'system.combat.isfumble': isFumble })
|
||||||
}
|
}
|
||||||
|
|
||||||
/*-------------------------------------------- */
|
/*-------------------------------------------- */
|
||||||
getLastInitData() {
|
getLastInitData() {
|
||||||
return this.data.data.combat
|
return this.system.combat
|
||||||
}
|
}
|
||||||
|
|
||||||
/*-------------------------------------------- */
|
/*-------------------------------------------- */
|
||||||
async subHeroPoints(nb) {
|
async subHeroPoints(nb) {
|
||||||
let newHeroP = this.data.data.resources.hero.value - nb;
|
let newHeroP = this.system.resources.hero.value - nb;
|
||||||
newHeroP = (newHeroP < 0) ? 0 : newHeroP;
|
newHeroP = (newHeroP < 0) ? 0 : newHeroP;
|
||||||
await this.update({ 'data.resources.hero.value': newHeroP });
|
await this.update({ 'system.resources.hero.value': newHeroP });
|
||||||
}
|
}
|
||||||
|
|
||||||
/*-------------------------------------------- */
|
/*-------------------------------------------- */
|
||||||
async sufferDamage(damage) {
|
async sufferDamage(damage) {
|
||||||
let newHP = this.data.data.resources.hp.value - damage
|
let newHP = this.system.resources.hp.value - damage
|
||||||
await this.update({ 'data.resources.hp.value': newHP })
|
await this.update({ 'system.resources.hp.value': newHP })
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getArmorFormula() {
|
getArmorFormula() {
|
||||||
let protectWorn = this.protections.filter(item => item.data.worn)
|
let protectWorn = this.protections.filter(item => item.system.worn)
|
||||||
let formula = ""
|
let formula = ""
|
||||||
for (let protect of protectWorn) {
|
for (let protect of protectWorn) {
|
||||||
if (protect.data.subtype == 'helm') {
|
if (protect.system.subtype == 'helm') {
|
||||||
formula += "+1"
|
formula += "+1"
|
||||||
} else if (protect.data.subtype == 'armor') {
|
} else if (protect.system.subtype == 'armor') {
|
||||||
if (BoLUtility.getRollArmor()) {
|
if (BoLUtility.getRollArmor()) {
|
||||||
if (!protect.data.properties.soak.formula || protect.data.properties.soak.formula == "") {
|
if (!protect.system.properties.soak.formula || protect.system.properties.soak.formula == "") {
|
||||||
ui.notifications.warn(`L'armure ${protect.name} n'a pas de formule pour la protection !`)
|
ui.notifications.warn(`L'armure ${protect.name} n'a pas de formule pour la protection !`)
|
||||||
} else {
|
} else {
|
||||||
formula += "+" + " max(" + protect.data.properties.soak.formula +",0)"
|
formula += "+" + " max(" + protect.system.properties.soak.formula +",0)"
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (protect.data.properties.soak.value == undefined) {
|
if (protect.system.properties.soak.value == undefined) {
|
||||||
ui.notifications.warn(`L'armure ${protect.name} n'a pas de valeur fixe pour la protection !`)
|
ui.notifications.warn(`L'armure ${protect.name} n'a pas de valeur fixe pour la protection !`)
|
||||||
} else {
|
} else {
|
||||||
formula += "+ " + protect.data.properties.soak.value
|
formula += "+ " + protect.system.properties.soak.value
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -618,9 +617,9 @@ export class BoLActor extends Actor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
rollProtection(itemId) {
|
rollProtection(itemId) {
|
||||||
let armor = duplicate(this.data.items.get(itemId))
|
let armor = duplicate(this.items.get(itemId))
|
||||||
if (armor) {
|
if (armor) {
|
||||||
let armorFormula = "max("+armor.data.properties.soak.formula + ", 0)"
|
let armorFormula = "max("+armor.system.properties.soak.formula + ", 0)"
|
||||||
let rollArmor = new Roll(armorFormula)
|
let rollArmor = new Roll(armorFormula)
|
||||||
rollArmor.roll({ async: false }).toMessage()
|
rollArmor.roll({ async: false }).toMessage()
|
||||||
}
|
}
|
||||||
@ -628,7 +627,7 @@ export class BoLActor extends Actor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
rollWeaponDamage(itemId) {
|
rollWeaponDamage(itemId) {
|
||||||
let weapon = duplicate(this.data.items.get(itemId))
|
let weapon = duplicate(this.items.get(itemId))
|
||||||
if (weapon) {
|
if (weapon) {
|
||||||
let r = new BoLDefaultRoll({ id: randomID(16), isSuccess: true, mode: "weapon", weapon: weapon, actorId: this.id, actor: this })
|
let r = new BoLDefaultRoll({ id: randomID(16), isSuccess: true, mode: "weapon", weapon: weapon, actorId: this.id, actor: this })
|
||||||
r.setSuccess(true)
|
r.setSuccess(true)
|
||||||
@ -638,10 +637,10 @@ export class BoLActor extends Actor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
toggleEquipItem(item) {
|
toggleEquipItem(item) {
|
||||||
const equipable = item.data.data.properties.equipable;
|
const equipable = item.system.properties.equipable;
|
||||||
if (equipable) {
|
if (equipable) {
|
||||||
let itemData = duplicate(item.data);
|
let itemData = duplicate(item);
|
||||||
itemData.data.worn = !itemData.data.worn;
|
itemData.system.worn = !itemData.system.worn;
|
||||||
return item.update(itemData);
|
return item.update(itemData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -79,6 +79,7 @@ function registerUsageCount( registerKey ) {
|
|||||||
name: "Unique world key",
|
name: "Unique world key",
|
||||||
scope: "world",
|
scope: "world",
|
||||||
config: false,
|
config: false,
|
||||||
|
default: "",
|
||||||
type: String
|
type: String
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -88,7 +89,10 @@ function registerUsageCount( registerKey ) {
|
|||||||
game.settings.set(registerKey, "world-key", worldKey )
|
game.settings.set(registerKey, "world-key", worldKey )
|
||||||
}
|
}
|
||||||
// Simple API counter
|
// Simple API counter
|
||||||
let regURL = `https://www.uberwald.me/fvtt_appcount/count.php?name="${registerKey}"&worldKey="${worldKey}"&version="${game.release.generation}.${game.release.build}"&system="${game.system.id}"&systemversion="${game.system.data.version}"`
|
let regURL = `https://www.uberwald.me/fvtt_appcount/count.php?name="${registerKey}"&worldKey="${worldKey}"&version="${game.release.generation}.${game.release.build}"&system="${game.system.id}"&systemversion="${game.system.version}"`
|
||||||
|
//$.ajaxSetup({
|
||||||
|
//headers: { 'Access-Control-Allow-Origin': '*' }
|
||||||
|
//})
|
||||||
$.ajax(regURL)
|
$.ajax(regURL)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@ export class BoLRoll {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static attributeCheck(actor, key) {
|
static attributeCheck(actor, key) {
|
||||||
|
|
||||||
let attribute = eval(`actor.data.data.attributes.${key}`)
|
let attribute = eval(`actor.system.attributes.${key}`)
|
||||||
let label = (attribute.label) ? game.i18n.localize(attribute.label) : null
|
let label = (attribute.label) ? game.i18n.localize(attribute.label) : null
|
||||||
let description = game.i18n.localize('BOL.ui.attributeCheck') + " - " + game.i18n.localize(attribute.label)
|
let description = game.i18n.localize('BOL.ui.attributeCheck') + " - " + game.i18n.localize(attribute.label)
|
||||||
|
|
||||||
@ -43,9 +43,9 @@ export class BoLRoll {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static aptitudeCheck(actor, key) {
|
static aptitudeCheck(actor, key) {
|
||||||
|
|
||||||
let aptitude = eval(`actor.data.data.aptitudes.${key}`)
|
let aptitude = eval(`actor.system.aptitudes.${key}`)
|
||||||
let attrKey = this.getDefaultAttribute(key)
|
let attrKey = this.getDefaultAttribute(key)
|
||||||
let attribute = eval(`actor.data.data.attributes.${attrKey}`)
|
let attribute = eval(`actor.system.attributes.${attrKey}`)
|
||||||
|
|
||||||
let label = (aptitude.label) ? game.i18n.localize(aptitude.label) : null;
|
let label = (aptitude.label) ? game.i18n.localize(aptitude.label) : null;
|
||||||
let description = game.i18n.localize('BOL.ui.aptitudeCheck') + " - " + game.i18n.localize(aptitude.label);
|
let description = game.i18n.localize('BOL.ui.aptitudeCheck') + " - " + game.i18n.localize(aptitude.label);
|
||||||
@ -72,13 +72,13 @@ export class BoLRoll {
|
|||||||
|
|
||||||
let target = BoLUtility.getTarget()
|
let target = BoLUtility.getTarget()
|
||||||
|
|
||||||
let weaponData = weapon.data
|
let weaponData = weapon.system
|
||||||
let attribute = eval(`actor.data.data.attributes.${weaponData.properties.attackAttribute}`)
|
let attribute = eval(`actor.system.attributes.${weaponData.properties.attackAttribute}`)
|
||||||
let aptitude = eval(`actor.data.data.aptitudes.${weaponData.properties.attackAptitude}`)
|
let aptitude = eval(`actor.system.aptitudes.${weaponData.properties.attackAptitude}`)
|
||||||
|
|
||||||
// Manage specific case
|
// Manage specific case
|
||||||
let fightOption = actor.getActiveFightOption()
|
let fightOption = actor.getActiveFightOption()
|
||||||
if (fightOption && fightOption.data.fightoptiontype == "fulldefense") {
|
if (fightOption && fightOption.system.fightoptiontype == "fulldefense") {
|
||||||
ui.notifications.warn(`{{actor.name}} est en Défense Totale ! Il ne peut pas attaquer ce round.`)
|
ui.notifications.warn(`{{actor.name}} est en Défense Totale ! Il ne peut pas attaquer ce round.`)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -92,7 +92,7 @@ export class BoLRoll {
|
|||||||
targetId: target?.id,
|
targetId: target?.id,
|
||||||
fightOption: fightOption,
|
fightOption: fightOption,
|
||||||
careerBonus: 0,
|
careerBonus: 0,
|
||||||
defenderId: target?.data?.actorId,
|
defenderId: target?.actor.id,
|
||||||
attribute: attribute,
|
attribute: attribute,
|
||||||
aptitude: aptitude,
|
aptitude: aptitude,
|
||||||
attrValue: attribute.value,
|
attrValue: attribute.value,
|
||||||
@ -127,7 +127,7 @@ export class BoLRoll {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
alchemy = duplicate(alchemy)
|
alchemy = duplicate(alchemy)
|
||||||
let alchemyData = alchemy.data
|
let alchemyData = alchemy.system
|
||||||
if (alchemyData.properties.pccurrent < alchemyData.properties.pccost) {
|
if (alchemyData.properties.pccurrent < alchemyData.properties.pccost) {
|
||||||
ui.notifications.warn("Pas assez de Points de Cration investis dans la Préparation !")
|
ui.notifications.warn("Pas assez de Points de Cration investis dans la Préparation !")
|
||||||
return
|
return
|
||||||
@ -138,8 +138,8 @@ export class BoLRoll {
|
|||||||
actorId: actor.id,
|
actorId: actor.id,
|
||||||
img: actor.img,
|
img: actor.img,
|
||||||
alchemy: alchemy,
|
alchemy: alchemy,
|
||||||
attribute: actor.data.data.attributes.mind,
|
attribute: actor.system.attributes.mind,
|
||||||
attrValue: actor.data.data.attributes.mind.value,
|
attrValue: actor.system.attributes.mind.value,
|
||||||
aptValue: 0,
|
aptValue: 0,
|
||||||
careerBonus: actor.getAlchemistBonus(),
|
careerBonus: actor.getAlchemistBonus(),
|
||||||
pcCost: Number(alchemyData.properties.pccost),
|
pcCost: Number(alchemyData.properties.pccost),
|
||||||
@ -161,14 +161,14 @@ export class BoLRoll {
|
|||||||
actorId: actor.id,
|
actorId: actor.id,
|
||||||
img: actor.img,
|
img: actor.img,
|
||||||
spell: spell,
|
spell: spell,
|
||||||
attribute: actor.data.data.attributes.mind,
|
attribute: actor.system.attributes.mind,
|
||||||
attrValue: actor.data.data.attributes.mind.value,
|
attrValue: actor.system.attributes.mind.value,
|
||||||
aptValue: 0,
|
aptValue: 0,
|
||||||
ppCurrent: Number(actor.data.data.resources.power.value),
|
ppCurrent: Number(actor.system.resources.power.value),
|
||||||
careerBonus: actor.getSorcererBonus(),
|
careerBonus: actor.getSorcererBonus(),
|
||||||
ppCostArmor: actor.getPPCostArmor(),
|
ppCostArmor: actor.getPPCostArmor(),
|
||||||
ppCost: Number(spell.data.properties.ppcost),
|
ppCost: Number(spell.system.properties.ppcost),
|
||||||
mod: Number(spell.data.properties.difficulty),
|
mod: Number(spell.system.properties.difficulty),
|
||||||
armorAgiMalus: actor.getArmorAgiMalus(),
|
armorAgiMalus: actor.getArmorAgiMalus(),
|
||||||
armorInitMalus: actor.getArmorInitMalus(),
|
armorInitMalus: actor.getArmorInitMalus(),
|
||||||
label: spell.name,
|
label: spell.name,
|
||||||
@ -180,7 +180,7 @@ export class BoLRoll {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static spellCheck(actor, event) {
|
static spellCheck(actor, event) {
|
||||||
if (actor.data.data.resources.power.value <= 0) {
|
if (actor.system.resources.power.value <= 0) {
|
||||||
ui.notifications.warn("Plus assez de points de Pouvoir !")
|
ui.notifications.warn("Plus assez de points de Pouvoir !")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -209,7 +209,7 @@ export class BoLRoll {
|
|||||||
$('#roll-nbdice').val("2 + " + String(Math.abs(this.rollData.bmDice)) + letter)
|
$('#roll-nbdice').val("2 + " + String(Math.abs(this.rollData.bmDice)) + letter)
|
||||||
}
|
}
|
||||||
let rollbase = this.rollData.attrValue + "+" + this.rollData.aptValue
|
let rollbase = this.rollData.attrValue + "+" + this.rollData.aptValue
|
||||||
if ( this.rollData.weapon && this.rollData.weapon.data.properties.onlymodifier ) {
|
if ( this.rollData.weapon && this.rollData.weapon.system.properties.onlymodifier ) {
|
||||||
rollbase = ""
|
rollbase = ""
|
||||||
}
|
}
|
||||||
$('#roll-modifier').val(rollbase + "+" + this.rollData.careerBonus + "+" + this.rollData.mod + "+" +
|
$('#roll-modifier').val(rollbase + "+" + this.rollData.careerBonus + "+" + this.rollData.mod + "+" +
|
||||||
@ -226,20 +226,20 @@ export class BoLRoll {
|
|||||||
let fgItem = rollData.fightOption
|
let fgItem = rollData.fightOption
|
||||||
if (fgItem) {
|
if (fgItem) {
|
||||||
console.log(fgItem)
|
console.log(fgItem)
|
||||||
if (fgItem.data.properties.fightoptiontype == "armordefault") {
|
if (fgItem.system.properties.fightoptiontype == "armordefault") {
|
||||||
rollData.modArmorMalus = rollData.armorMalus // Activate the armor malus
|
rollData.modArmorMalus = rollData.armorMalus // Activate the armor malus
|
||||||
rollData.damagesIgnoresArmor = true
|
rollData.damagesIgnoresArmor = true
|
||||||
}
|
}
|
||||||
if (fgItem.data.properties.fightoptiontype == "intrepid") {
|
if (fgItem.system.properties.fightoptiontype == "intrepid") {
|
||||||
rollData.attackModifier += 2
|
rollData.attackModifier += 2
|
||||||
}
|
}
|
||||||
if (fgItem.data.properties.fightoptiontype == "defense") {
|
if (fgItem.system.properties.fightoptiontype == "defense") {
|
||||||
rollData.attackModifier += -1
|
rollData.attackModifier += -1
|
||||||
}
|
}
|
||||||
if (fgItem.data.properties.fightoptiontype == "attack") {
|
if (fgItem.system.properties.fightoptiontype == "attack") {
|
||||||
rollData.attackModifier += 1
|
rollData.attackModifier += 1
|
||||||
}
|
}
|
||||||
if (fgItem.data.properties.fightoptiontype == "twoweaponsdef" || fgItem.data.properties.fightoptiontype == "twoweaponsatt") {
|
if (fgItem.system.properties.fightoptiontype == "twoweaponsdef" || fgItem.system.properties.fightoptiontype == "twoweaponsatt") {
|
||||||
rollData.attackModifier += -1
|
rollData.attackModifier += -1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -289,15 +289,15 @@ export class BoLRoll {
|
|||||||
html.find('#attr').change((event) => {
|
html.find('#attr').change((event) => {
|
||||||
let attrKey = event.currentTarget.value
|
let attrKey = event.currentTarget.value
|
||||||
let actor = game.actors.get( this.rollData.actorId)
|
let actor = game.actors.get( this.rollData.actorId)
|
||||||
this.rollData.attribute = duplicate(actor.data.data.attributes[attrKey])
|
this.rollData.attribute = duplicate(actor.system.attributes[attrKey])
|
||||||
this.rollData.attrValue = actor.data.data.attributes[attrKey].value
|
this.rollData.attrValue = actor.system.attributes[attrKey].value
|
||||||
this.updateTotalDice()
|
this.updateTotalDice()
|
||||||
})
|
})
|
||||||
html.find('#apt').change((event) => {
|
html.find('#apt').change((event) => {
|
||||||
let aptKey = event.currentTarget.value
|
let aptKey = event.currentTarget.value
|
||||||
let actor = game.actors.get( this.rollData.actorId)
|
let actor = game.actors.get( this.rollData.actorId)
|
||||||
this.rollData.aptitude = duplicate(actor.data.data.aptitudes[aptKey])
|
this.rollData.aptitude = duplicate(actor.system.aptitudes[aptKey])
|
||||||
this.rollData.aptValue = actor.data.data.aptitudes[aptKey].value
|
this.rollData.aptValue = actor.system.aptitudes[aptKey].value
|
||||||
this.updateTotalDice()
|
this.updateTotalDice()
|
||||||
})
|
})
|
||||||
|
|
||||||
@ -339,16 +339,16 @@ export class BoLRoll {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static preProcessWeapon(rollData, defender) {
|
static preProcessWeapon(rollData, defender) {
|
||||||
if (rollData.mode == "weapon") {
|
if (rollData.mode == "weapon") {
|
||||||
rollData.weaponModifier = rollData.weapon.data.properties.attackModifiers ?? 0;
|
rollData.weaponModifier = rollData.weapon.system.properties.attackModifiers ?? 0;
|
||||||
rollData.attackBonusDice = rollData.weapon.data.properties.attackBonusDice
|
rollData.attackBonusDice = rollData.weapon.system.properties.attackBonusDice
|
||||||
if (defender) { // If target is selected
|
if (defender) { // If target is selected
|
||||||
rollData.defence = defender.defenseValue
|
rollData.defence = defender.defenseValue
|
||||||
rollData.armorMalus = defender.armorMalusValue
|
rollData.armorMalus = defender.armorMalusValue
|
||||||
rollData.shieldBlock = 'none'
|
rollData.shieldBlock = 'none'
|
||||||
let shields = defender.shields
|
let shields = defender.shields
|
||||||
for (let shield of shields) {
|
for (let shield of shields) {
|
||||||
rollData.shieldBlock = (shield.data.properties.blocking.blockingAll) ? 'blockall' : 'blockone';
|
rollData.shieldBlock = (shield.system.properties.blocking.blockingAll) ? 'blockall' : 'blockone';
|
||||||
rollData.shieldAttackMalus = (shield.data.properties.blocking.malus) ? shield.data.properties.blocking.malus : 1;
|
rollData.shieldAttackMalus = (shield.system.properties.blocking.malus) ? shield.system.properties.blocking.malus : 1;
|
||||||
rollData.applyShieldMalus = false
|
rollData.applyShieldMalus = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -431,7 +431,7 @@ export class BoLRoll {
|
|||||||
rollData.nbDice += (rollData.attackBonusDice) ? 1 : 0
|
rollData.nbDice += (rollData.attackBonusDice) ? 1 : 0
|
||||||
|
|
||||||
let rollbase = rollData.attrValue + rollData.aptValue
|
let rollbase = rollData.attrValue + rollData.aptValue
|
||||||
if ( rollData.weapon && rollData.weapon.data.properties.onlymodifier ) {
|
if ( rollData.weapon && rollData.weapon.system.properties.onlymodifier ) {
|
||||||
rollbase = 0
|
rollbase = 0
|
||||||
}
|
}
|
||||||
const modifiers = rollbase + rollData.careerBonus + rollData.mod + rollData.weaponModifier - rollData.defence - rollData.modArmorMalus + rollData.shieldMalus + rollData.attackModifier + rollData.appliedArmorMalus
|
const modifiers = rollbase + rollData.careerBonus + rollData.mod + rollData.weaponModifier - rollData.defence - rollData.modArmorMalus + rollData.shieldMalus + rollData.attackModifier + rollData.appliedArmorMalus
|
||||||
@ -488,6 +488,9 @@ export class BoLDefaultRoll {
|
|||||||
this.rollData.isLegendary = false
|
this.rollData.isLegendary = false
|
||||||
this.rollData.isFumble = (diceTotal === 2)
|
this.rollData.isFumble = (diceTotal === 2)
|
||||||
this.rollData.isFailure = !this.rollData.isSuccess
|
this.rollData.isFailure = !this.rollData.isSuccess
|
||||||
|
|
||||||
|
//this.rollData.isRealCritical = true
|
||||||
|
//this.rollData.isFumble = true
|
||||||
|
|
||||||
let actor = game.actors.get( this.rollData.actorId)
|
let actor = game.actors.get( this.rollData.actorId)
|
||||||
if (this.rollData.reroll == undefined) {
|
if (this.rollData.reroll == undefined) {
|
||||||
@ -575,7 +578,7 @@ export class BoLDefaultRoll {
|
|||||||
|
|
||||||
let actor = game.actors.get( (actorId) ? actorId: this.rollData.actorId)
|
let actor = game.actors.get( (actorId) ? actorId: this.rollData.actorId)
|
||||||
if (attrDamage.includes("vigor")) {
|
if (attrDamage.includes("vigor")) {
|
||||||
attrDamageValue = actor.data.data.attributes.vigor.value
|
attrDamageValue = actor.system.attributes.vigor.value
|
||||||
if (attrDamage.includes("half")) {
|
if (attrDamage.includes("half")) {
|
||||||
attrDamageValue = Math.floor(attrDamageValue / 2)
|
attrDamageValue = Math.floor(attrDamageValue / 2)
|
||||||
}
|
}
|
||||||
@ -598,8 +601,8 @@ export class BoLDefaultRoll {
|
|||||||
if (this.rollData.damageMode == 'damage-plus-12') {
|
if (this.rollData.damageMode == 'damage-plus-12') {
|
||||||
bonusDmg = 12
|
bonusDmg = 12
|
||||||
}
|
}
|
||||||
let attrDamageValue = this.getDamageAttributeValue(this.rollData.weapon.data.properties.damageAttribute)
|
let attrDamageValue = this.getDamageAttributeValue(this.rollData.weapon.system.properties.damageAttribute)
|
||||||
let weaponFormula = BoLUtility.getDamageFormula(this.rollData.weapon.data, this.rollData.fightOption)
|
let weaponFormula = BoLUtility.getDamageFormula(this.rollData.weapon.system, this.rollData.fightOption)
|
||||||
|
|
||||||
let damageFormula = weaponFormula + "+" + bonusDmg + "+" + attrDamageValue
|
let damageFormula = weaponFormula + "+" + bonusDmg + "+" + attrDamageValue
|
||||||
console.log("DAMAGE !!!", damageFormula, attrDamageValue, this.rollData)
|
console.log("DAMAGE !!!", damageFormula, attrDamageValue, this.rollData)
|
||||||
|
@ -19,43 +19,43 @@ export class BoLItemSheet extends ItemSheet {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
/** @override */
|
/** @override */
|
||||||
getData(options) {
|
async getData(options) {
|
||||||
const data = super.getData(options);
|
const data = super.getData(options)
|
||||||
const itemData = data.data;
|
let itemData = duplicate(data.document)
|
||||||
data.config = game.bol.config;
|
data.config = game.bol.config
|
||||||
data.item = itemData;
|
data.item = itemData
|
||||||
data.data = itemData.data;
|
data.category = itemData.system.category
|
||||||
data.category = itemData.category;
|
|
||||||
data.itemProperties = this.item.itemProperties;
|
|
||||||
data.isGM = game.user.isGM;
|
data.isGM = game.user.isGM;
|
||||||
|
data.itemProperties = this.item.itemProperties;
|
||||||
|
data.description = await TextEditor.enrichHTML(this.object.system.description, {async: true})
|
||||||
|
|
||||||
// Dynamic default data fix/adapt
|
// Dynamic default data fix/adapt
|
||||||
if (itemData.type == "item") {
|
if (itemData.type == "item") {
|
||||||
if (!itemData.data.category) {
|
if (!itemData.system.category) {
|
||||||
itemData.data.category = "equipment"
|
itemData.system.category = "equipment"
|
||||||
}
|
}
|
||||||
if ( itemData.data.category == "equipment" && itemData.data.properties.equipable) {
|
if ( itemData.system.category == "equipment" && itemData.system.properties.equipable) {
|
||||||
if (!itemData.data.properties.slot) {
|
if (!itemData.system.properties.slot) {
|
||||||
itemData.data.properties.slot = "-"
|
itemData.system.properties.slot = "-"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (itemData.data.category == 'spell') {
|
if (itemData.system.category == 'spell') {
|
||||||
if(!itemData.data.properties.mandatoryconditions) {
|
if(!itemData.system.properties.mandatoryconditions) {
|
||||||
itemData.data.properties.mandatoryconditions = []
|
itemData.system.properties.mandatoryconditions = []
|
||||||
}
|
}
|
||||||
if(!itemData.data.properties.optionnalconditions) {
|
if(!itemData.system.properties.optionnalconditions) {
|
||||||
itemData.data.properties.optionnalconditions = []
|
itemData.system.properties.optionnalconditions = []
|
||||||
}
|
}
|
||||||
for (let i = 0; i < 4; i++) {
|
for (let i = 0; i < 4; i++) {
|
||||||
itemData.data.properties.mandatoryconditions[i] = itemData.data.properties.mandatoryconditions[i] ?? ""
|
itemData.system.properties.mandatoryconditions[i] = itemData.system.properties.mandatoryconditions[i] ?? ""
|
||||||
}
|
}
|
||||||
for (let i = 0; i < 8; i++) {
|
for (let i = 0; i < 8; i++) {
|
||||||
itemData.data.properties.optionnalconditions[i] = itemData.data.properties.optionnalconditions[i] ?? ""
|
itemData.system.properties.optionnalconditions[i] = itemData.system.properties.optionnalconditions[i] ?? ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (!itemData.data.subtype) {
|
if (!itemData.system.subtype) {
|
||||||
itemData.data.category = "origin"
|
itemData.system.category = "origin"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -7,21 +7,17 @@ export class BoLItem extends Item {
|
|||||||
* Augment the basic Item data model with additional dynamic data.
|
* Augment the basic Item data model with additional dynamic data.
|
||||||
*/
|
*/
|
||||||
prepareData() {
|
prepareData() {
|
||||||
super.prepareData();
|
super.prepareData()
|
||||||
// console.debug("Item prepareData");
|
|
||||||
// Get the Item's data
|
|
||||||
const itemData = this.data;
|
|
||||||
// console.log(itemData);
|
|
||||||
const actorData = this.actor ? this.actor.data : {};
|
|
||||||
const data = itemData.data;
|
|
||||||
}
|
|
||||||
|
|
||||||
get properties() {
|
const actorData = this.actor ? this.actor.system : {}
|
||||||
return this.data.properties;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
|
get properties() {
|
||||||
|
return this.system.properties
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
/**
|
/**
|
||||||
* Get the Array of item properties which are used in the small sidebar of the description tab
|
* Get the Array of item properties which are used in the small sidebar of the description tab
|
||||||
* @return {Array}
|
* @return {Array}
|
||||||
@ -29,11 +25,11 @@ export class BoLItem extends Item {
|
|||||||
*/
|
*/
|
||||||
get itemProperties() {
|
get itemProperties() {
|
||||||
const props = [];
|
const props = [];
|
||||||
if ( this.data.type === "item" ) {
|
if ( this.type === "item" ) {
|
||||||
const entries = Object.entries(this.data.data.properties);
|
const entries = Object.entries(this.system.properties)
|
||||||
props.push(...entries.filter(e => e[1] === true).map(e => { return game.bol.config.itemProperties2[e[0]] }));
|
props.push(...entries.filter(e => e[1] === true).map(e => { return game.bol.config.itemProperties2[e[0]] }))
|
||||||
}
|
}
|
||||||
return props.filter(p => !!p);
|
return props.filter(p => !!p)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -15,7 +15,7 @@ export class BoLCombatManager extends Combat {
|
|||||||
|
|
||||||
/************************************************************************************/
|
/************************************************************************************/
|
||||||
async rollInitiative(ids, formula = undefined, messageOptions = {}) {
|
async rollInitiative(ids, formula = undefined, messageOptions = {}) {
|
||||||
console.log(`${game.data.system.data.title} | Combat.rollInitiative()`, ids, formula, messageOptions);
|
console.log(`${game.system.title} | Combat.rollInitiative()`, ids, formula, messageOptions);
|
||||||
// Structure input data
|
// Structure input data
|
||||||
ids = typeof ids === "string" ? [ids] : ids;
|
ids = typeof ids === "string" ? [ids] : ids;
|
||||||
const currentId = this.combatant._id;
|
const currentId = this.combatant._id;
|
||||||
@ -24,6 +24,7 @@ export class BoLCombatManager extends Combat {
|
|||||||
for (let cId = 0; cId < ids.length; cId++) {
|
for (let cId = 0; cId < ids.length; cId++) {
|
||||||
const combatant = this.combatants.get(ids[cId]);
|
const combatant = this.combatants.get(ids[cId]);
|
||||||
let fvttInit = 5
|
let fvttInit = 5
|
||||||
|
//console.log("TYPE", combatant.actor.type)
|
||||||
if (combatant.actor.type == 'character') {
|
if (combatant.actor.type == 'character') {
|
||||||
let initData = combatant.actor.getLastInitData()
|
let initData = combatant.actor.getLastInitData()
|
||||||
console.log("Init data !!!", initData)
|
console.log("Init data !!!", initData)
|
||||||
@ -37,11 +38,12 @@ export class BoLCombatManager extends Combat {
|
|||||||
fvttInit = 3
|
fvttInit = 3
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
fvttInit = 4 // Pietaille par defaut
|
fvttInit = 4 // Pietaille par defautco
|
||||||
if ( combatant.actor.getSubtype == 'adversary') {
|
//console.log("ACTOR", combatant.actor.getCharType())
|
||||||
|
if ( combatant.actor.getCharType() == 'adversary') {
|
||||||
fvttInit = 7
|
fvttInit = 7
|
||||||
}
|
}
|
||||||
if ( combatant.actor.getSubtype == 'tough') {
|
if ( combatant.actor.getCharType() == 'tough') {
|
||||||
fvttInit = 6
|
fvttInit = 6
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -2,6 +2,21 @@ import { BoLRoll } from "../controllers/bol-rolls.js";
|
|||||||
|
|
||||||
export class BoLHotbar {
|
export class BoLHotbar {
|
||||||
|
|
||||||
|
|
||||||
|
static async assignToHotBar( item, slot) {
|
||||||
|
let command = `game.bol.BoLHotbar.rollMacro("${item.name}", "${item.type}");`
|
||||||
|
let macro = game.macros.contents.find(m => (m.name === item.name) && (m.command === command))
|
||||||
|
if (!macro) {
|
||||||
|
macro = await Macro.create({
|
||||||
|
name: item.name,
|
||||||
|
type: "script",
|
||||||
|
img: item.img,
|
||||||
|
command: command
|
||||||
|
}, { displaySheet: false })
|
||||||
|
}
|
||||||
|
await game.user.assignHotbarMacro(macro, slot);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a macro when dropping an entity on the hotbar
|
* Create a macro when dropping an entity on the hotbar
|
||||||
* Item - open roll dialog for item
|
* Item - open roll dialog for item
|
||||||
@ -10,55 +25,20 @@ export class BoLHotbar {
|
|||||||
*/
|
*/
|
||||||
static init( ) {
|
static init( ) {
|
||||||
|
|
||||||
Hooks.on("hotbarDrop", async (bar, documentData, slot) => {
|
Hooks.on("hotbarDrop", (bar, documentData, slot) => {
|
||||||
// Create item macro if rollable item - weapon, spell, prayer, trait, or skill
|
// Create item macro if rollable item - weapon, spell, prayer, trait, or skill
|
||||||
if (documentData.type == "Item") {
|
if (documentData.type == "Item") {
|
||||||
console.log("Drop done !!!", bar, documentData, slot)
|
let item = fromUuidSync(documentData.uuid)
|
||||||
let item = documentData.data
|
if (item == undefined) {
|
||||||
let command = `game.bol.BoLHotbar.rollMacro("${item.name}", "${item.type}");`
|
item = this.actor.items.get(documentData.uuid)
|
||||||
let macro = game.macros.contents.find(m => (m.name === item.name) && (m.command === command))
|
|
||||||
if (!macro) {
|
|
||||||
macro = await Macro.create({
|
|
||||||
name: item.name,
|
|
||||||
type: "script",
|
|
||||||
img: item.img,
|
|
||||||
command: command
|
|
||||||
}, { displaySheet: false })
|
|
||||||
}
|
}
|
||||||
game.user.assignHotbarMacro(macro, slot);
|
if (item && (item.system.subtype === "weapon" || item.system.category === "spell")) {
|
||||||
}
|
this.assignToHotBar( item, slot )
|
||||||
// Create a macro to open the actor sheet of the actor dropped on the hotbar
|
return false
|
||||||
else if (documentData.type == "Actor") {
|
|
||||||
let actor = game.actors.get(documentData.id);
|
|
||||||
let command = `game.actors.get("${documentData.id}").sheet.render(true)`
|
|
||||||
let macro = game.macros.contents.find(m => (m.name === actor.name) && (m.command === command));
|
|
||||||
if (!macro) {
|
|
||||||
macro = await Macro.create({
|
|
||||||
name: actor.data.name,
|
|
||||||
type: "script",
|
|
||||||
img: actor.data.img,
|
|
||||||
command: command
|
|
||||||
}, { displaySheet: false })
|
|
||||||
game.user.assignHotbarMacro(macro, slot);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Create a macro to open the journal sheet of the journal dropped on the hotbar
|
return true
|
||||||
else if (documentData.type == "JournalEntry") {
|
})
|
||||||
let journal = game.journal.get(documentData.id);
|
|
||||||
let command = `game.journal.get("${documentData.id}").sheet.render(true)`
|
|
||||||
let macro = game.macros.contents.find(m => (m.name === journal.name) && (m.command === command));
|
|
||||||
if (!macro) {
|
|
||||||
macro = await Macro.create({
|
|
||||||
name: journal.data.name,
|
|
||||||
type: "script",
|
|
||||||
img: "systems/bol/icons/images/icone_parchement_vierge.webp",
|
|
||||||
command: command
|
|
||||||
}, { displaySheet: false })
|
|
||||||
game.user.assignHotbarMacro(macro, slot);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return false;
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Roll macro */
|
/** Roll macro */
|
||||||
@ -76,10 +56,10 @@ export class BoLHotbar {
|
|||||||
return ui.notifications.warn(`Impossible de trouver l'objet de cette macro`)
|
return ui.notifications.warn(`Impossible de trouver l'objet de cette macro`)
|
||||||
}
|
}
|
||||||
// Trigger the item roll
|
// Trigger the item roll
|
||||||
if (item.data.data.category === "equipment" && item.data.data.subtype === "weapon") {
|
if (item.system.category === "equipment" && item.system.subtype === "weapon") {
|
||||||
return BoLRoll.weaponCheckWithWeapon( actor, item)
|
return BoLRoll.weaponCheckWithWeapon( actor, item)
|
||||||
}
|
}
|
||||||
if (item.data.data.category === "spell") {
|
if (item.system.category === "spell") {
|
||||||
return BoLRoll.spellCheckWithSpell( actor, item)
|
return BoLRoll.spellCheckWithSpell( actor, item)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -159,7 +159,7 @@ export class BoLUtility {
|
|||||||
let users = []
|
let users = []
|
||||||
for (let user of game.users) {
|
for (let user of game.users) {
|
||||||
if (!user.isGM && user.name != name) {
|
if (!user.isGM && user.name != name) {
|
||||||
users.push(user.data._id)
|
users.push(user.id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return users
|
return users
|
||||||
@ -442,8 +442,8 @@ export class BoLUtility {
|
|||||||
}
|
}
|
||||||
// Build and send the defense message to the relevant people (ie GM + defender)
|
// Build and send the defense message to the relevant people (ie GM + defender)
|
||||||
let defender = game.actors.get(attackDef.defenderId)
|
let defender = game.actors.get(attackDef.defenderId)
|
||||||
let defenderWeapons = defender.weapons
|
console.log("DEF WEP", attackDef, defender)
|
||||||
console.log("DEF WEP", attackDef)
|
let defenderWeapons = defender.weapons || []
|
||||||
this.attackStore[attackDef.id] = attackDef // Store !
|
this.attackStore[attackDef.id] = attackDef // Store !
|
||||||
ChatMessage.create({
|
ChatMessage.create({
|
||||||
alias: defender.name,
|
alias: defender.name,
|
||||||
|
File diff suppressed because one or more lines are too long
108
system.json
108
system.json
@ -1,24 +1,23 @@
|
|||||||
{
|
{
|
||||||
"name": "bol",
|
"id": "bol",
|
||||||
"title": "Barbarians of Lemuria",
|
"title": "Barbarians of Lemuria",
|
||||||
"description": "The Barbarians of Lemuria system for FoundryVTT!",
|
"description": "The Barbarians of Lemuria system for FoundryVTT!",
|
||||||
"author": "LeRatierBretonnien,Zigmund",
|
|
||||||
"authors": [
|
"authors": [
|
||||||
{
|
{
|
||||||
"name": "LeRatierBretonnien"
|
"name": "LeRatierBretonnien",
|
||||||
|
"flags": {}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Zigmund"
|
"name": "Zigmund",
|
||||||
|
"flags": {}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"url": "https://www.uberwald.me/gitea/public/bol",
|
"url": "https://www.uberwald.me/gitea/public/bol",
|
||||||
"license": "LICENSE.txt",
|
"license": "LICENSE.txt",
|
||||||
"flags": {},
|
"version": "10.2.0",
|
||||||
"version": "1.5.2",
|
"compatibility": {
|
||||||
"templateVersion": 10,
|
"minimum": "10"
|
||||||
"minimumCoreVersion": "0.8.6",
|
},
|
||||||
"compatibleCoreVersion": "9",
|
|
||||||
"scripts": [],
|
|
||||||
"esmodules": [
|
"esmodules": [
|
||||||
"module/bol.js"
|
"module/bol.js"
|
||||||
],
|
],
|
||||||
@ -29,17 +28,20 @@
|
|||||||
{
|
{
|
||||||
"lang": "en",
|
"lang": "en",
|
||||||
"name": "English",
|
"name": "English",
|
||||||
"path": "lang/en.json"
|
"path": "lang/en.json",
|
||||||
|
"flags": {}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"lang": "fr",
|
"lang": "fr",
|
||||||
"name": "Français",
|
"name": "Français",
|
||||||
"path": "lang/fr.json"
|
"path": "lang/fr.json",
|
||||||
|
"flags": {}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"lang": "de",
|
"lang": "de",
|
||||||
"name": "Deutsch",
|
"name": "Deutsch",
|
||||||
"path": "lang/de.json"
|
"path": "lang/de.json",
|
||||||
|
"flags": {}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"packs": [
|
"packs": [
|
||||||
@ -47,64 +49,64 @@
|
|||||||
"name": "boons",
|
"name": "boons",
|
||||||
"label": "Avantages",
|
"label": "Avantages",
|
||||||
"system": "bol",
|
"system": "bol",
|
||||||
"path": "./packs/boons.db",
|
"path": "packs/boons.db",
|
||||||
"tag": "boon",
|
|
||||||
"type": "Item",
|
"type": "Item",
|
||||||
"private": false
|
"private": false,
|
||||||
|
"flags": {}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "boonsflawscreatures",
|
"name": "boonsflawscreatures",
|
||||||
"label": "Avantages/Désavantages de Créatures",
|
"label": "Avantages/Désavantages de Créatures",
|
||||||
"system": "bol",
|
"system": "bol",
|
||||||
"path": "./packs/boonsflawscreatures.db",
|
"path": "packs/boonsflawscreatures.db",
|
||||||
"tag": "boon",
|
|
||||||
"type": "Item",
|
"type": "Item",
|
||||||
"private": false
|
"private": false,
|
||||||
|
"flags": {}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "flaws",
|
"name": "flaws",
|
||||||
"label": "Désavantages",
|
"label": "Désavantages",
|
||||||
"system": "bol",
|
"system": "bol",
|
||||||
"path": "./packs/flaws.db",
|
"path": "packs/flaws.db",
|
||||||
"tag": "flaw",
|
|
||||||
"type": "Item",
|
"type": "Item",
|
||||||
"private": false
|
"private": false,
|
||||||
|
"flags": {}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "careers",
|
"name": "careers",
|
||||||
"label": "Carrières héroïques",
|
"label": "Carrières héroïques",
|
||||||
"system": "bol",
|
"system": "bol",
|
||||||
"path": "./packs/careers.db",
|
"path": "packs/careers.db",
|
||||||
"tag": "career",
|
|
||||||
"type": "Item",
|
"type": "Item",
|
||||||
"private": false
|
"private": false,
|
||||||
|
"flags": {}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "origins",
|
"name": "origins",
|
||||||
"label": "Origines",
|
"label": "Origines",
|
||||||
"system": "bol",
|
"system": "bol",
|
||||||
"path": "./packs/origins.db",
|
"path": "packs/origins.db",
|
||||||
"tag": "origin",
|
|
||||||
"type": "Item",
|
"type": "Item",
|
||||||
"private": false
|
"private": false,
|
||||||
|
"flags": {}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "races",
|
"name": "races",
|
||||||
"label": "Races",
|
"label": "Races",
|
||||||
"system": "bol",
|
"system": "bol",
|
||||||
"path": "./packs/races.db",
|
"path": "packs/races.db",
|
||||||
"tag": "race",
|
|
||||||
"type": "Item",
|
"type": "Item",
|
||||||
"private": false
|
"private": false,
|
||||||
|
"flags": {}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "equipment",
|
"name": "equipment",
|
||||||
"label": "Equipement",
|
"label": "Equipement",
|
||||||
"system": "bol",
|
"system": "bol",
|
||||||
"path": "./packs/equipment.db",
|
"path": "packs/equipment.db",
|
||||||
"tag": "item",
|
|
||||||
"type": "Item",
|
"type": "Item",
|
||||||
"private": false
|
"private": false,
|
||||||
|
"flags": {}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "Aides de Jeu",
|
"label": "Aides de Jeu",
|
||||||
@ -112,7 +114,8 @@
|
|||||||
"name": "aides-de-jeu",
|
"name": "aides-de-jeu",
|
||||||
"path": "packs/aides-de-jeu.db",
|
"path": "packs/aides-de-jeu.db",
|
||||||
"system": "bol",
|
"system": "bol",
|
||||||
"private": false
|
"private": false,
|
||||||
|
"flags": {}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "Cartes",
|
"label": "Cartes",
|
||||||
@ -120,7 +123,8 @@
|
|||||||
"name": "cartes",
|
"name": "cartes",
|
||||||
"path": "packs/cartes.db",
|
"path": "packs/cartes.db",
|
||||||
"system": "bol",
|
"system": "bol",
|
||||||
"private": false
|
"private": false,
|
||||||
|
"flags": {}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "Langues",
|
"label": "Langues",
|
||||||
@ -128,7 +132,8 @@
|
|||||||
"name": "languages",
|
"name": "languages",
|
||||||
"path": "packs/languages.db",
|
"path": "packs/languages.db",
|
||||||
"system": "bol",
|
"system": "bol",
|
||||||
"private": false
|
"private": false,
|
||||||
|
"flags": {}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "Sorts",
|
"label": "Sorts",
|
||||||
@ -136,7 +141,8 @@
|
|||||||
"name": "spells",
|
"name": "spells",
|
||||||
"path": "packs/spells.db",
|
"path": "packs/spells.db",
|
||||||
"system": "bol",
|
"system": "bol",
|
||||||
"private": false
|
"private": false,
|
||||||
|
"flags": {}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "Dieux",
|
"label": "Dieux",
|
||||||
@ -144,7 +150,8 @@
|
|||||||
"name": "godsfaith",
|
"name": "godsfaith",
|
||||||
"path": "packs/godsfaith.db",
|
"path": "packs/godsfaith.db",
|
||||||
"system": "bol",
|
"system": "bol",
|
||||||
"private": false
|
"private": false,
|
||||||
|
"flags": {}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "Options de Combat",
|
"label": "Options de Combat",
|
||||||
@ -152,7 +159,8 @@
|
|||||||
"name": "fightoptions",
|
"name": "fightoptions",
|
||||||
"path": "packs/fightoptions.db",
|
"path": "packs/fightoptions.db",
|
||||||
"system": "bol",
|
"system": "bol",
|
||||||
"private": false
|
"private": false,
|
||||||
|
"flags": {}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "Alchimie - Potions",
|
"label": "Alchimie - Potions",
|
||||||
@ -160,7 +168,8 @@
|
|||||||
"name": "potions-alchimie",
|
"name": "potions-alchimie",
|
||||||
"path": "packs/potions-alchimie.db",
|
"path": "packs/potions-alchimie.db",
|
||||||
"system": "bol",
|
"system": "bol",
|
||||||
"private": false
|
"private": false,
|
||||||
|
"flags": {}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "Alchimie - Objets",
|
"label": "Alchimie - Objets",
|
||||||
@ -168,7 +177,8 @@
|
|||||||
"name": "objets-alchimie",
|
"name": "objets-alchimie",
|
||||||
"path": "packs/objets-alchimie.db",
|
"path": "packs/objets-alchimie.db",
|
||||||
"system": "bol",
|
"system": "bol",
|
||||||
"private": false
|
"private": false,
|
||||||
|
"flags": {}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"label": "Créatures",
|
"label": "Créatures",
|
||||||
@ -176,18 +186,16 @@
|
|||||||
"name": "creatures",
|
"name": "creatures",
|
||||||
"path": "packs/creatures.db",
|
"path": "packs/creatures.db",
|
||||||
"system": "bol",
|
"system": "bol",
|
||||||
"private": false
|
"private": false,
|
||||||
|
"flags": {}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"system": [],
|
|
||||||
"dependencies": [],
|
|
||||||
"socket": true,
|
"socket": true,
|
||||||
"manifest": "https://www.uberwald.me/gitea/public/bol/raw/master/system.json",
|
"manifest": "https://www.uberwald.me/gitea/public/bol/raw/v10/system.json",
|
||||||
"download": "https://www.uberwald.me/gitea/public/bol/archive/bol-v1.5.2.zip",
|
"download": "https://www.uberwald.me/gitea/public/bol/archive/bol-v10.2.0.zip",
|
||||||
"protected": false,
|
"background": "systems/images/map_lemurie.webp",
|
||||||
"background": "images/map_lemurie.webp",
|
|
||||||
"gridDistance": 1.5,
|
"gridDistance": 1.5,
|
||||||
"gridUnits": "m",
|
"gridUnits": "m",
|
||||||
"primaryTokenAttribute": "resources.hp",
|
"primaryTokenAttribute": "resources.hp",
|
||||||
"secondaryTokenAttribute": "resources.hero"
|
"secondaryTokenAttribute": "resources.hero"
|
||||||
}
|
}
|
@ -137,7 +137,7 @@
|
|||||||
},
|
},
|
||||||
"character": {
|
"character": {
|
||||||
"templates": [ "base" ],
|
"templates": [ "base" ],
|
||||||
"type": "player",
|
"chartype": "player",
|
||||||
"villainy": false,
|
"villainy": false,
|
||||||
"bougette": {
|
"bougette": {
|
||||||
"state": "nomoney"
|
"state": "nomoney"
|
||||||
@ -157,7 +157,7 @@
|
|||||||
},
|
},
|
||||||
"encounter": {
|
"encounter": {
|
||||||
"templates": [ "base" ],
|
"templates": [ "base" ],
|
||||||
"type": "tough",
|
"chartype": "tough",
|
||||||
"villainy": false,
|
"villainy": false,
|
||||||
"size": "",
|
"size": "",
|
||||||
"environment": ""
|
"environment": ""
|
||||||
|
@ -6,23 +6,23 @@
|
|||||||
<input class="charname flex6" name="name" type="text" value="{{actor.name}}" placeholder="Name"/>
|
<input class="charname flex6" name="name" type="text" value="{{actor.name}}" placeholder="Name"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{#if (eq data.type "player")}}
|
{{#if (eq charType "player")}}
|
||||||
<div class="header-field-group flexrow">
|
<div class="header-field-group flexrow">
|
||||||
<label class="header-field-label flex2">{{localize "BOL.ui.xp"}}</label><br/>
|
<label class="header-field-label flex2">{{localize "BOL.ui.xp"}}</label><br/>
|
||||||
<div class="header-field-group flex3">
|
<div class="header-field-group flex3">
|
||||||
<label class="header-field-label flex1" style="font-size: 1.5em; color:#606060;">{{localize "BOL.ui.xpspent"}}</label><br/>
|
<label class="header-field-label flex1" style="font-size: 1.5em; color:#606060;">{{localize "BOL.ui.xpspent"}}</label><br/>
|
||||||
<input class="header-field-value flex1" type="text" name="data.xp.spent" value="{{numberFormat data.xp.spent decimals=0 sign=false}}" data-dtype="Number"/><br/>
|
<input class="header-field-value flex1" type="text" name="system.xp.spent" value="{{numberFormat xp.spent decimals=0 sign=false}}" data-dtype="Number"/><br/>
|
||||||
</div>
|
</div>
|
||||||
<div class="header-field-group flex3">
|
<div class="header-field-group flex3">
|
||||||
<label class="header-field-label flex1" style="font-size: 1.5em; color:#606060;"> {{localize "BOL.ui.xptotal"}}</label><br/>
|
<label class="header-field-label flex1" style="font-size: 1.5em; color:#606060;"> {{localize "BOL.ui.xptotal"}}</label><br/>
|
||||||
<input class="header-field-value flex1" type="text" name="data.xp.total" value="{{numberFormat data.xp.total decimals=0 sign=false}}" data-dtype="Number"/><br/>
|
<input class="header-field-value flex1" type="text" name="system.xp.total" value="{{numberFormat xp.total decimals=0 sign=false}}" data-dtype="Number"/><br/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{else}}
|
{{else}}
|
||||||
<div class="header-field-group flexrow">
|
<div class="header-field-group flexrow">
|
||||||
<label class="header-field-label flex2">Type : </label><br/>
|
<label class="header-field-label flex2">Type : </label><br/>
|
||||||
<select class="field-value" name="data.type" data-dtype="String">
|
<select class="field-value" name="system.chartype" data-dtype="String">
|
||||||
{{#select data.type}}
|
{{#select charType}}
|
||||||
<option value="creature">Créature</option>
|
<option value="creature">Créature</option>
|
||||||
<option value="base">Piétaille</option>
|
<option value="base">Piétaille</option>
|
||||||
<option value="tough">Coriace</option>
|
<option value="tough">Coriace</option>
|
||||||
|
@ -12,14 +12,14 @@
|
|||||||
<li class="item flexrow" data-item-id="{{item._id}}">
|
<li class="item flexrow" data-item-id="{{item._id}}">
|
||||||
<div class="item-image" ><img src="{{item.img}}" title="{{item.name}}"/></div>
|
<div class="item-image" ><img src="{{item.img}}" title="{{item.name}}"/></div>
|
||||||
<h4 class="item-name flex2">{{#if ../weapon}}<a class="rollable" data-roll-type="weapon">{{/if}}{{item.name}}{{#if ../weapon}}</a>{{/if}}</h4>
|
<h4 class="item-name flex2">{{#if ../weapon}}<a class="rollable" data-roll-type="weapon">{{/if}}{{item.name}}{{#if ../weapon}}</a>{{/if}}</h4>
|
||||||
{{#if ../protection}}<div class="item-field"><a class="rollable" data-roll-type="protection">{{item.data.properties.soak.formula}}</a> / {{item.data.properties.soak.value}}</div>{{/if}}
|
{{#if ../protection}}<div class="item-field"><a class="rollable" data-roll-type="protection">{{item.system.properties.soak.formula}}</a> / {{item.system.properties.soak.value}}</div>{{/if}}
|
||||||
{{#if ../blocking}}<div class="item-field">{{item.data.properties.blocking.malus}}</div>{{/if}}
|
{{#if ../blocking}}<div class="item-field">{{item.system.properties.blocking.malus}}</div>{{/if}}
|
||||||
{{#if ../weapon}}<div class="item-field"><a class="rollable" data-roll-type="damage">
|
{{#if ../weapon}}<div class="item-field"><a class="rollable" data-roll-type="damage">
|
||||||
{{item.data.properties.damage}}+{{item.data.properties.damageModifiers}} x{{item.data.properties.damageMultiplier}}
|
{{item.system.properties.damage}}+{{item.system.properties.damageModifiers}}x{{item.system.properties.damageMultiplier}}
|
||||||
</a></div>{{/if}}
|
</a></div>{{/if}}
|
||||||
{{#if ../ranged}}<div class="item-field">{{item.data.properties.range}}</div>{{else}}<div class="item-field"></div>{{/if}}
|
{{#if ../ranged}}<div class="item-field">{{item.system.properties.range}}</div>{{else}}<div class="item-field"></div>{{/if}}
|
||||||
{{#if ../options}}<div class="item-field">
|
{{#if ../options}}<div class="item-field">
|
||||||
{{#if item.data.properties.activated}}
|
{{#if item.system.properties.activated}}
|
||||||
<a class="toggle-fight-option">{{localize "BOL.ui.toactivated"}}</a>
|
<a class="toggle-fight-option">{{localize "BOL.ui.toactivated"}}</a>
|
||||||
{{else}}
|
{{else}}
|
||||||
<a class="toggle-fight-option">{{localize "BOL.ui.todeactivated"}}</a>
|
<a class="toggle-fight-option">{{localize "BOL.ui.todeactivated"}}</a>
|
||||||
|
@ -1,29 +1,29 @@
|
|||||||
<ol class="items-list">
|
<ol class="items-list">
|
||||||
{{#if (ne data.type "creature")}}
|
{{#if (ne actor.type "creature")}}
|
||||||
<li class="item flexrow item-header">
|
<li class="item flexrow item-header">
|
||||||
<div class="item-name left">{{localize "BOL.ui.biosize"}}</div>
|
<div class="item-name left">{{localize "BOL.ui.biosize"}}</div>
|
||||||
<div class="item-field flex2 left"><input type="text" name="data.details.height" value="{{data.details.height}}"></div>
|
<div class="item-field flex2 left"><input type="text" name="system.details.height" value="{{details.height}}"></div>
|
||||||
<div class="item-name right">{{localize "BOL.ui.bioweight"}}</div>
|
<div class="item-name right">{{localize "BOL.ui.bioweight"}}</div>
|
||||||
<div class="item-field flex2 "><input type="text" name="data.details.weight" value="{{data.details.weight}}"></div>
|
<div class="item-field flex2 "><input type="text" name="system.details.weight" value="{{details.weight}}"></div>
|
||||||
<div class="item-name right">{{localize "BOL.ui.bioage"}} </div>
|
<div class="item-name right">{{localize "BOL.ui.bioage"}} </div>
|
||||||
<div class="item-field flex2 "><input type="text" name="data.details.age" value="{{data.details.age}}"></div>
|
<div class="item-field flex2 "><input type="text" name="system.details.age" value="{{details.age}}"></div>
|
||||||
</li>
|
</li>
|
||||||
<li class="item flexrow item-header">
|
<li class="item flexrow item-header">
|
||||||
<div class="item-name left">{{localize "BOL.ui.biohair"}} </div>
|
<div class="item-name left">{{localize "BOL.ui.biohair"}} </div>
|
||||||
<div class="item-field flex2 left"><input type="text" name="data.details.hait" value="{{data.details.hait}}"></div>
|
<div class="item-field flex2 left"><input type="text" name="system.details.hait" value="{{details.hait}}"></div>
|
||||||
<div class="item-name right">{{localize "BOL.ui.bioeyes"}} </div>
|
<div class="item-name right">{{localize "BOL.ui.bioeyes"}} </div>
|
||||||
<div class="item-field flex2 "><input type="text" name="data.details.eyes" value="{{data.details.eyes}}"></div>
|
<div class="item-field flex2 "><input type="text" name="system.details.eyes" value="{{details.eyes}}"></div>
|
||||||
</li>
|
</li>
|
||||||
<li class="item flexrow item-header">
|
<li class="item flexrow item-header">
|
||||||
<div class="item-name left">{{localize "BOL.ui.biosigns"}} </div>
|
<div class="item-name left">{{localize "BOL.ui.biosigns"}} </div>
|
||||||
<div class="item-field flex2 left"><input type="text" name="data.details.signs" value="{{data.details.signs}}"></div>
|
<div class="item-field flex2 left"><input type="text" name="system.details.signs" value="{{details.signs}}"></div>
|
||||||
</li>
|
</li>
|
||||||
{{else}}
|
{{else}}
|
||||||
<li class="item flexrow item-header">
|
<li class="item flexrow item-header">
|
||||||
<div class="item-name left">Taille </div>
|
<div class="item-name left">Taille </div>
|
||||||
<div class="form-fields center">
|
<div class="form-fields center">
|
||||||
<select class="field-value size" name="data.details.size" data-dtype="String">
|
<select class="field-value size" name="system.details.size" data-dtype="String">
|
||||||
{{#select data.details.size}}
|
{{#select details.size}}
|
||||||
{{#each config.creatureSize as |value id|}}
|
{{#each config.creatureSize as |value id|}}
|
||||||
<option value="{{id}}">{{localize value}}</option>
|
<option value="{{id}}">{{localize value}}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
@ -40,7 +40,7 @@
|
|||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
|
|
||||||
{{editor content=data.details.biography target="data.details.biography" button=true owner=owner
|
{{editor biography target="system.details.biography" button=true owner=owner
|
||||||
editable=editable}}
|
editable=editable}}
|
||||||
|
|
||||||
<ol class="items-list">
|
<ol class="items-list">
|
||||||
@ -49,4 +49,4 @@ editable=editable}}
|
|||||||
<div class="item-field flex1 right"></div>
|
<div class="item-field flex1 right"></div>
|
||||||
</li>
|
</li>
|
||||||
</ol>
|
</ol>
|
||||||
{{editor content=data.details.notes target="data.details.notes" button=true owner=owner editable=editable}}
|
{{editor notes target="system.details.notes" button=true owner=owner editable=editable}}
|
@ -21,10 +21,10 @@
|
|||||||
<li class="item flexrow" data-item-id="{{item._id}}">
|
<li class="item flexrow" data-item-id="{{item._id}}">
|
||||||
<div class="item-image {{#if ../weapon}}roll-weapon{{/if}}"><img src="{{item.img}}" title="{{item.name}}"/></div>
|
<div class="item-image {{#if ../weapon}}roll-weapon{{/if}}"><img src="{{item.img}}" title="{{item.name}}"/></div>
|
||||||
<h4 class="item-name flex2"><a class="item-edit">{{item.name}}</a></h4>
|
<h4 class="item-name flex2"><a class="item-edit">{{item.name}}</a></h4>
|
||||||
{{#if ../protection}}<div class="item-field">{{item.data.properties.soak.value}}</div>{{/if}}
|
{{#if ../protection}}<div class="item-field">{{item.system.properties.soak.value}}</div>{{/if}}
|
||||||
{{#if ../blocking}}<div class="item-field">{{item.data.properties.blocking.malus}}</div>{{/if}}
|
{{#if ../blocking}}<div class="item-field">{{item.system.properties.blocking.malus}}</div>{{/if}}
|
||||||
{{#if ../weapon}}<div class="item-field">{{item.data.properties.damage}}</div>{{/if}}
|
{{#if ../weapon}}<div class="item-field">{{item.system.properties.damage}}</div>{{/if}}
|
||||||
{{#if ../ranged}}<div class="item-field">{{item.data.properties.range}}</div>{{else}}<div class="item-field"></div>{{/if}}
|
{{#if ../ranged}}<div class="item-field">{{item.system.properties.range}}</div>{{else}}<div class="item-field"></div>{{/if}}
|
||||||
</li>
|
</li>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</ol>
|
</ol>
|
||||||
|
@ -12,8 +12,8 @@
|
|||||||
<div class="item-image"><img src="icons/containers/bags/coinpouch-simple-leather-brown.webp" title="{{localize "BOL.ui.money"}}" /></div>
|
<div class="item-image"><img src="icons/containers/bags/coinpouch-simple-leather-brown.webp" title="{{localize "BOL.ui.money"}}" /></div>
|
||||||
{{localize "BOL.ui.money"}}
|
{{localize "BOL.ui.money"}}
|
||||||
</h4>
|
</h4>
|
||||||
<select class="field-value" name="data.bougette.state" data-dtype="String">
|
<select class="field-value" name="system.bougette.state" data-dtype="String">
|
||||||
{{#select data.bougette.state}}
|
{{#select system.bougette.state}}
|
||||||
{{#each config.bougetteState as |value id|}}
|
{{#each config.bougetteState as |value id|}}
|
||||||
<option value="{{id}}">{{localize value}}</option>
|
<option value="{{id}}">{{localize value}}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
@ -39,26 +39,26 @@
|
|||||||
<a class="item-edit">{{item.name}}</a>
|
<a class="item-edit">{{item.name}}</a>
|
||||||
</h4>
|
</h4>
|
||||||
<div class="item-field flex2 center">
|
<div class="item-field flex2 center">
|
||||||
{{#if item.data.properties.equipable}}
|
{{#if item.system.properties.equipable}}
|
||||||
<span class="item-field" style="font-size: smaller; font-style: italic; color:#4b4a44">{{localize (concat
|
<span class="item-field" style="font-size: smaller; font-style: italic; color:#4b4a44">{{localize (concat
|
||||||
"BOL.equipmentSlots." item.data.properties.slot)}}</span>
|
"BOL.equipmentSlots." item.system.properties.slot)}}</span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
<div class="item-field group-btns flex1 center">
|
<div class="item-field group-btns flex1 center">
|
||||||
{{#if item.data.properties.stackable}}
|
{{#if item.system.properties.stackable}}
|
||||||
<a class="inc-dec-btns" data-operator="minus" data-target="data.quantity" data-incr="1" data-min="0"
|
<a class="inc-dec-btns" data-operator="minus" data-target="system.quantity" data-incr="1" data-min="0"
|
||||||
data-max="{{item.data.properties.stacksize}}"><i class="fas fa-minus-square"></i></a>
|
data-max="{{item.system.properties.stacksize}}"><i class="fas fa-minus-square"></i></a>
|
||||||
<span class="item-field">{{item.data.quantity}}</span>
|
<span class="item-field">{{item.system.quantity}}</span>
|
||||||
<a class="inc-dec-btns" data-operator="plus" data-target="data.quantity" data-incr="1" data-min="0"
|
<a class="inc-dec-btns" data-operator="plus" data-target="system.quantity" data-incr="1" data-min="0"
|
||||||
data-max="{{item.data.properties.stacksize}}"><i class="fas fa-plus-square"></i></a>
|
data-max="{{item.system.properties.stacksize}}"><i class="fas fa-plus-square"></i></a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
<div class="item-field flex1 center">
|
<div class="item-field flex1 center">
|
||||||
<span class="item-field">{{item.data.price}}</span>
|
<span class="item-field">{{item.system.price}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item-field flex1 center">
|
<div class="item-field flex1 center">
|
||||||
{{#if data.properties.equipable}}
|
{{#if system.properties.equipable}}
|
||||||
{{#if data.worn}}
|
{{#if system.worn}}
|
||||||
<span class="item-field"><a class="item-control item-equip" title="{{localize " BOL.ui.unequip"}}"><i
|
<span class="item-field"><a class="item-control item-equip" title="{{localize " BOL.ui.unequip"}}"><i
|
||||||
class="fas fa-shield-alt"></i></a></span>
|
class="fas fa-shield-alt"></i></a></span>
|
||||||
{{else}}
|
{{else}}
|
||||||
@ -92,32 +92,32 @@
|
|||||||
<a class="item-edit">{{item.name}}</a>
|
<a class="item-edit">{{item.name}}</a>
|
||||||
</h4>
|
</h4>
|
||||||
<div class="item-field flex2 center">
|
<div class="item-field flex2 center">
|
||||||
{{#if item.data.properties.equipable}}
|
{{#if item.system.properties.equipable}}
|
||||||
<span class="item-field" style="font-size: smaller; font-style: italic; color:#4b4a44">{{localize (concat
|
<span class="item-field" style="font-size: smaller; font-style: italic; color:#4b4a44">{{localize (concat
|
||||||
"BOL.equipmentSlots." item.data.properties.slot)}}</span>
|
"BOL.equipmentSlots." item.system.properties.slot)}}</span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
<div class="item-field flex2 center">
|
<div class="item-field flex2 center">
|
||||||
{{#if item.data.properties.equipable}}
|
{{#if item.system.properties.equipable}}
|
||||||
<span class="item-field"
|
<span class="item-field"
|
||||||
style="font-size: smaller; font-style: italic; color:#4b4a44">{{data.properties.soak.formula}}</span>
|
style="font-size: smaller; font-style: italic; color:#4b4a44">{{system.properties.soak.formula}}</span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
<div class="item-field group-btns flex1 center">
|
<div class="item-field group-btns flex1 center">
|
||||||
{{#if item.data.properties.stackable}}
|
{{#if item.system.properties.stackable}}
|
||||||
<a class="inc-dec-btns" data-operator="minus" data-target="data.quantity" data-incr="1" data-min="0"
|
<a class="inc-dec-btns" data-operator="minus" data-target="system.quantity" data-incr="1" data-min="0"
|
||||||
data-max="{{item.data.properties.stacksize}}"><i class="fas fa-minus-square"></i></a>
|
data-max="{{item.system.properties.stacksize}}"><i class="fas fa-minus-square"></i></a>
|
||||||
<span class="item-field">{{item.data.quantity}}</span>
|
<span class="item-field">{{item.system.quantity}}</span>
|
||||||
<a class="inc-dec-btns" data-operator="plus" data-target="data.quantity" data-incr="1" data-min="0"
|
<a class="inc-dec-btns" data-operator="plus" data-target="system.quantity" data-incr="1" data-min="0"
|
||||||
data-max="{{item.data.properties.stacksize}}"><i class="fas fa-plus-square"></i></a>
|
data-max="{{item.system.properties.stacksize}}"><i class="fas fa-plus-square"></i></a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
<div class="item-field flex1 center">
|
<div class="item-field flex1 center">
|
||||||
<span class="item-field">{{item.data.price}}</span>
|
<span class="item-field">{{item.system.price}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item-field flex1 center">
|
<div class="item-field flex1 center">
|
||||||
{{#if data.properties.equipable}}
|
{{#if system.properties.equipable}}
|
||||||
{{#if data.worn}}
|
{{#if system.worn}}
|
||||||
<span class="item-field"><a class="item-control item-equip" title="{{localize " BOL.ui.unequip"}}"><i
|
<span class="item-field"><a class="item-control item-equip" title="{{localize " BOL.ui.unequip"}}"><i
|
||||||
class="fas fa-shield-alt"></i></a></span>
|
class="fas fa-shield-alt"></i></a></span>
|
||||||
{{else}}
|
{{else}}
|
||||||
@ -150,26 +150,26 @@
|
|||||||
<a class="item-edit">{{item.name}}</a>
|
<a class="item-edit">{{item.name}}</a>
|
||||||
</h4>
|
</h4>
|
||||||
<div class="item-field flex2 center">
|
<div class="item-field flex2 center">
|
||||||
{{#if item.data.properties.equipable}}
|
{{#if item.system.properties.equipable}}
|
||||||
<span class="item-field" style="font-size: smaller; font-style: italic; color:#4b4a44">{{localize (concat
|
<span class="item-field" style="font-size: smaller; font-style: italic; color:#4b4a44">{{localize (concat
|
||||||
"BOL.equipmentSlots." item.data.properties.slot)}}</span>
|
"BOL.equipmentSlots." item.system.properties.slot)}}</span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
<div class="item-field group-btns flex1 center">
|
<div class="item-field group-btns flex1 center">
|
||||||
{{#if item.data.properties.stackable}}
|
{{#if item.system.properties.stackable}}
|
||||||
<a class="inc-dec-btns" data-operator="minus" data-target="data.quantity" data-incr="1" data-min="0"
|
<a class="inc-dec-btns" data-operator="minus" data-target="system.quantity" data-incr="1" data-min="0"
|
||||||
data-max="{{item.data.properties.stacksize}}"><i class="fas fa-minus-square"></i></a>
|
data-max="{{item.system.properties.stacksize}}"><i class="fas fa-minus-square"></i></a>
|
||||||
<span class="item-field">{{item.data.quantity}}</span>
|
<span class="item-field">{{item.system.quantity}}</span>
|
||||||
<a class="inc-dec-btns" data-operator="plus" data-target="data.quantity" data-incr="1" data-min="0"
|
<a class="inc-dec-btns" data-operator="plus" data-target="system.quantity" data-incr="1" data-min="0"
|
||||||
data-max="{{item.data.properties.stacksize}}"><i class="fas fa-plus-square"></i></a>
|
data-max="{{item.system.properties.stacksize}}"><i class="fas fa-plus-square"></i></a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
<div class="item-field flex1 center">
|
<div class="item-field flex1 center">
|
||||||
<span class="item-field">{{item.data.price}}</span>
|
<span class="item-field">{{item.system.price}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item-field flex1 center">
|
<div class="item-field flex1 center">
|
||||||
{{#if data.properties.equipable}}
|
{{#if system.properties.equipable}}
|
||||||
{{#if data.worn}}
|
{{#if system.worn}}
|
||||||
<span class="item-field"><a class="item-control item-equip" title="{{localize " BOL.ui.unequip"}}"><i
|
<span class="item-field"><a class="item-control item-equip" title="{{localize " BOL.ui.unequip"}}"><i
|
||||||
class="fas fa-shield-alt"></i></a></span>
|
class="fas fa-shield-alt"></i></a></span>
|
||||||
{{else}}
|
{{else}}
|
||||||
@ -202,26 +202,26 @@
|
|||||||
<a class="item-edit">{{item.name}}</a>
|
<a class="item-edit">{{item.name}}</a>
|
||||||
</h4>
|
</h4>
|
||||||
<div class="item-field flex2 center">
|
<div class="item-field flex2 center">
|
||||||
{{#if item.data.properties.equipable}}
|
{{#if item.system.properties.equipable}}
|
||||||
<span class="item-field" style="font-size: smaller; font-style: italic; color:#4b4a44">{{localize (concat
|
<span class="item-field" style="font-size: smaller; font-style: italic; color:#4b4a44">{{localize (concat
|
||||||
"BOL.equipmentSlots." item.data.properties.slot)}}</span>
|
"BOL.equipmentSlots." item.system.properties.slot)}}</span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
<div class="item-field group-btns flex1 center">
|
<div class="item-field group-btns flex1 center">
|
||||||
{{#if item.data.properties.stackable}}
|
{{#if item.system.properties.stackable}}
|
||||||
<a class="inc-dec-btns" data-operator="minus" data-target="data.quantity" data-incr="1" data-min="0"
|
<a class="system-dec-btns" data-operator="minus" data-target="system.quantity" data-incr="1" data-min="0"
|
||||||
data-max="{{item.data.properties.stacksize}}"><i class="fas fa-minus-square"></i></a>
|
data-max="{{item.system.properties.stacksize}}"><i class="fas fa-minus-square"></i></a>
|
||||||
<span class="item-field">{{item.data.quantity}}</span>
|
<span class="item-field">{{item.system.quantity}}</span>
|
||||||
<a class="inc-dec-btns" data-operator="plus" data-target="data.quantity" data-incr="1" data-min="0"
|
<a class="inc-dec-btns" data-operator="plus" data-target="system.quantity" data-incr="1" data-min="0"
|
||||||
data-max="{{item.data.properties.stacksize}}"><i class="fas fa-plus-square"></i></a>
|
data-max="{{item.system.properties.stacksize}}"><i class="fas fa-plus-square"></i></a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
<div class="item-field flex1 center">
|
<div class="item-field flex1 center">
|
||||||
<span class="item-field">{{item.data.price}}</span>
|
<span class="item-field">{{item.system.price}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item-field flex1 center">
|
<div class="item-field flex1 center">
|
||||||
{{#if data.properties.equipable}}
|
{{#if system.properties.equipable}}
|
||||||
{{#if data.worn}}
|
{{#if system.worn}}
|
||||||
<span class="item-field"><a class="item-control item-equip" title="{{localize " BOL.ui.unequip"}}"><i
|
<span class="item-field"><a class="item-control item-equip" title="{{localize " BOL.ui.unequip"}}"><i
|
||||||
class="fas fa-shield-alt"></i></a></span>
|
class="fas fa-shield-alt"></i></a></span>
|
||||||
{{else}}
|
{{else}}
|
||||||
@ -254,26 +254,26 @@
|
|||||||
<a class="item-edit">{{item.name}}</a>
|
<a class="item-edit">{{item.name}}</a>
|
||||||
</h4>
|
</h4>
|
||||||
<div class="item-field flex2 center">
|
<div class="item-field flex2 center">
|
||||||
{{#if item.data.properties.equipable}}
|
{{#if item.system.properties.equipable}}
|
||||||
<span class="item-field" style="font-size: smaller; font-style: italic; color:#4b4a44">{{localize (concat
|
<span class="item-field" style="font-size: smaller; font-style: italic; color:#4b4a44">{{localize (concat
|
||||||
"BOL.equipmentSlots." item.data.properties.slot)}}</span>
|
"BOL.equipmentSlots." item.system.properties.slot)}}</span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
<div class="item-field group-btns flex1 center">
|
<div class="item-field group-btns flex1 center">
|
||||||
{{#if item.data.properties.stackable}}
|
{{#if item.system.properties.stackable}}
|
||||||
<a class="inc-dec-btns" data-operator="minus" data-target="data.quantity" data-incr="1" data-min="0"
|
<a class="inc-dec-btns" data-operator="minus" data-target="system.quantity" data-incr="1" data-min="0"
|
||||||
data-max="{{item.data.properties.stacksize}}"><i class="fas fa-minus-square"></i></a>
|
data-max="{{item.system.properties.stacksize}}"><i class="fas fa-minus-square"></i></a>
|
||||||
<span class="item-field">{{item.data.quantity}}</span>
|
<span class="item-field">{{item.system.quantity}}</span>
|
||||||
<a class="inc-dec-btns" data-operator="plus" data-target="data.quantity" data-incr="1" data-min="0"
|
<a class="inc-dec-btns" data-operator="plus" data-target="system.quantity" data-incr="1" data-min="0"
|
||||||
data-max="{{item.data.properties.stacksize}}"><i class="fas fa-plus-square"></i></a>
|
data-max="{{item.system.properties.stacksize}}"><i class="fas fa-plus-square"></i></a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
<div class="item-field flex1 center">
|
<div class="item-field flex1 center">
|
||||||
<span class="item-field">{{item.data.price}}</span>
|
<span class="item-field">{{item.system.price}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item-field flex1 center">
|
<div class="item-field flex1 center">
|
||||||
{{#if data.properties.equipable}}
|
{{#if system.properties.equipable}}
|
||||||
{{#if data.worn}}
|
{{#if system.worn}}
|
||||||
<span class="item-field"><a class="item-control item-equip" title="{{localize " BOL.ui.unequip"}}"><i
|
<span class="item-field"><a class="item-control item-equip" title="{{localize " BOL.ui.unequip"}}"><i
|
||||||
class="fas fa-shield-alt"></i></a></span>
|
class="fas fa-shield-alt"></i></a></span>
|
||||||
{{else}}
|
{{else}}
|
||||||
@ -306,26 +306,26 @@
|
|||||||
<a class="item-edit">{{item.name}}</a>
|
<a class="item-edit">{{item.name}}</a>
|
||||||
</h4>
|
</h4>
|
||||||
<div class="item-field flex2 center">
|
<div class="item-field flex2 center">
|
||||||
{{#if item.data.properties.equipable}}
|
{{#if item.system.properties.equipable}}
|
||||||
<span class="item-field" style="font-size: smaller; font-style: italic; color:#4b4a44">{{localize (concat
|
<span class="item-field" style="font-size: smaller; font-style: italic; color:#4b4a44">{{localize (concat
|
||||||
"BOL.equipmentSlots." item.data.properties.slot)}}</span>
|
"BOL.equipmentSlots." item.system.properties.slot)}}</span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
<div class="item-field group-btns flex1 center">
|
<div class="item-field group-btns flex1 center">
|
||||||
{{#if item.data.properties.stackable}}
|
{{#if item.system.properties.stackable}}
|
||||||
<a class="inc-dec-btns" data-operator="minus" data-target="data.quantity" data-incr="1" data-min="0"
|
<a class="inc-dec-btns" data-operator="minus" data-target="system.quantity" data-incr="1" data-min="0"
|
||||||
data-max="{{item.data.properties.stacksize}}"><i class="fas fa-minus-square"></i></a>
|
data-max="{{item.system.properties.stacksize}}"><i class="fas fa-minus-square"></i></a>
|
||||||
<span class="item-field">{{item.data.quantity}}</span>
|
<span class="item-field">{{item.system.quantity}}</span>
|
||||||
<a class="inc-dec-btns" data-operator="plus" data-target="data.quantity" data-incr="1" data-min="0"
|
<a class="inc-dec-btns" data-operator="plus" data-target="system.quantity" data-incr="1" data-min="0"
|
||||||
data-max="{{item.data.properties.stacksize}}"><i class="fas fa-plus-square"></i></a>
|
data-max="{{item.system.properties.stacksize}}"><i class="fas fa-plus-square"></i></a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
<div class="item-field flex1 center">
|
<div class="item-field flex1 center">
|
||||||
<span class="item-field">{{item.data.price}}</span>
|
<span class="item-field">{{item.system.price}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item-field flex1 center">
|
<div class="item-field flex1 center">
|
||||||
{{#if data.properties.equipable}}
|
{{#if system.properties.equipable}}
|
||||||
{{#if data.worn}}
|
{{#if system.worn}}
|
||||||
<span class="item-field"><a class="item-control item-equip" title="{{localize " BOL.ui.unequip"}}"><i
|
<span class="item-field"><a class="item-control item-equip" title="{{localize " BOL.ui.unequip"}}"><i
|
||||||
class="fas fa-shield-alt"></i></a></span>
|
class="fas fa-shield-alt"></i></a></span>
|
||||||
{{else}}
|
{{else}}
|
||||||
@ -358,26 +358,26 @@
|
|||||||
<a class="item-edit">{{item.name}}</a>
|
<a class="item-edit">{{item.name}}</a>
|
||||||
</h4>
|
</h4>
|
||||||
<div class="item-field flex2 center">
|
<div class="item-field flex2 center">
|
||||||
{{#if item.data.properties.equipable}}
|
{{#if item.system.properties.equipable}}
|
||||||
<span class="item-field" style="font-size: smaller; font-style: italic; color:#4b4a44">{{localize (concat
|
<span class="item-field" style="font-size: smaller; font-style: italic; color:#4b4a44">{{localize (concat
|
||||||
"BOL.equipmentSlots." item.data.properties.slot)}}</span>
|
"BOL.equipmentSlots." item.system.properties.slot)}}</span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
<div class="item-field group-btns flex1 center">
|
<div class="item-field group-btns flex1 center">
|
||||||
{{#if item.data.properties.stackable}}
|
{{#if item.system.properties.stackable}}
|
||||||
<a class="inc-dec-btns" data-operator="minus" data-target="data.quantity" data-incr="1" data-min="0"
|
<a class="inc-dec-btns" data-operator="minus" data-target="system.quantity" data-incr="1" data-min="0"
|
||||||
data-max="{{item.data.properties.stacksize}}"><i class="fas fa-minus-square"></i></a>
|
data-max="{{item.system.properties.stacksize}}"><i class="fas fa-minus-square"></i></a>
|
||||||
<span class="item-field">{{item.data.quantity}}</span>
|
<span class="item-field">{{item.system.quantity}}</span>
|
||||||
<a class="inc-dec-btns" data-operator="plus" data-target="data.quantity" data-incr="1" data-min="0"
|
<a class="inc-dec-btns" data-operator="plus" data-target="system.quantity" data-incr="1" data-min="0"
|
||||||
data-max="{{item.data.properties.stacksize}}"><i class="fas fa-plus-square"></i></a>
|
data-max="{{item.system.properties.stacksize}}"><i class="fas fa-plus-square"></i></a>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
<div class="item-field flex1 center">
|
<div class="item-field flex1 center">
|
||||||
<span class="item-field">{{item.data.price}}</span>
|
<span class="item-field">{{item.system.price}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item-field flex1 center">
|
<div class="item-field flex1 center">
|
||||||
{{#if data.properties.equipable}}
|
{{#if system.properties.equipable}}
|
||||||
{{#if data.worn}}
|
{{#if system.worn}}
|
||||||
<span class="item-field"><a class="item-control item-equip" title="{{localize " BOL.ui.unequip"}}"><i
|
<span class="item-field"><a class="item-control item-equip" title="{{localize " BOL.ui.unequip"}}"><i
|
||||||
class="fas fa-shield-alt"></i></a></span>
|
class="fas fa-shield-alt"></i></a></span>
|
||||||
{{else}}
|
{{else}}
|
||||||
|
@ -16,18 +16,18 @@
|
|||||||
</h4>
|
</h4>
|
||||||
<div class="item-field group-btns center flex2">
|
<div class="item-field group-btns center flex2">
|
||||||
{{#if (equals key "careers")}}
|
{{#if (equals key "careers")}}
|
||||||
<a class="inc-dec-btns" data-operator="minus" data-target="data.rank" data-incr="1" data-min="0" data-max="5"><i class="fas fa-minus-square"></i></a>
|
<a class="inc-dec-btns" data-operator="minus" data-target="system.rank" data-incr="1" data-min="0" data-max="5"><i class="fas fa-minus-square"></i></a>
|
||||||
<span class="item-field">{{item.data.rank}}</span>
|
<span class="item-field">{{item.system.rank}}</span>
|
||||||
<a class="inc-dec-btns" data-operator="plus" data-target="data.rank" data-incr="1" data-min="0" data-max="5"><i class="fas fa-plus-square"></i></a>
|
<a class="inc-dec-btns" data-operator="plus" data-target="system.rank" data-incr="1" data-min="0" data-max="5"><i class="fas fa-plus-square"></i></a>
|
||||||
<span class="item-field"> </span>
|
<span class="item-field"> </span>
|
||||||
<span class="tooltip-container">
|
<span class="tooltip-container">
|
||||||
<span class="stat-roll rollable" title="XP" data-roll-type="careerxp" data-key="{{key}}">
|
<span class="stat-roll rollable" title="XP" data-roll-type="careerxp" data-key="{{key}}">
|
||||||
<i class="xp-next fas fa-arrow-up"></i></span>
|
<i class="xp-next fas fa-arrow-up"></i></span>
|
||||||
<span class="tooltiptext">
|
<span class="tooltiptext">
|
||||||
{{#if (eq data.rank 0)}}
|
{{#if (eq system.rank 0)}}
|
||||||
1 XP
|
1 XP
|
||||||
{{else}}
|
{{else}}
|
||||||
{{add data.rank 1}} XP
|
{{add system.rank 1}} XP
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
|
@ -14,10 +14,10 @@
|
|||||||
<a class="rollable" data-roll-type="spell">{{item.name}}</a>
|
<a class="rollable" data-roll-type="spell">{{item.name}}</a>
|
||||||
</h4>
|
</h4>
|
||||||
<div class="item-field flex1 center">
|
<div class="item-field flex1 center">
|
||||||
<span class="item-field">{{item.data.properties.circle}}</span>
|
<span class="item-field">{{item.system.properties.circle}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item-field flex1 center">
|
<div class="item-field flex1 center">
|
||||||
<span class="item-field">{{item.data.properties.difficulty}}</span>
|
<span class="item-field">{{item.system.properties.difficulty}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item-field flex1 right">
|
<div class="item-field flex1 right">
|
||||||
<a class="item-control item-edit" title="{{localize "BOL.ui.edit"}}"><i class="fas fa-square"></i></a>
|
<a class="item-control item-edit" title="{{localize "BOL.ui.edit"}}"><i class="fas fa-square"></i></a>
|
||||||
@ -44,13 +44,13 @@
|
|||||||
<a class="rollable" data-roll-type="alchemy">{{item.name}}</a>
|
<a class="rollable" data-roll-type="alchemy">{{item.name}}</a>
|
||||||
</h4>
|
</h4>
|
||||||
<div class="item-field flex1 center">
|
<div class="item-field flex1 center">
|
||||||
<span class="item-field">{{localize (concat "BOL.alchemyItem." item.data.properties.alchemytype)}}</span>
|
<span class="item-field">{{localize (concat "BOL.alchemyItem." item.system.properties.alchemytype)}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item-field flex1 center">
|
<div class="item-field flex1 center">
|
||||||
<span class="item-field">{{item.data.properties.difficulty}}</span>
|
<span class="item-field">{{item.system.properties.difficulty}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item-field flex1 center">
|
<div class="item-field flex1 center">
|
||||||
<span class="item-field">{{item.data.properties.pccurrent}} / {{item.data.properties.pccost}}</span>
|
<span class="item-field">{{item.system.properties.pccurrent}} / {{item.system.properties.pccost}}</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="item-field flex1 center">
|
<div class="item-field flex1 center">
|
||||||
<a class="inc-dec-btns-alchemy"><i class="fas fa-plus-square"></i></a>
|
<a class="inc-dec-btns-alchemy"><i class="fas fa-plus-square"></i></a>
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<div class="attributes flexrow">
|
<div class="attributes flexrow">
|
||||||
{{#each data.attributes as |attribute id|}}
|
{{#each attributes as |attribute id|}}
|
||||||
<div class="attribute stat flex1 flex-group-center {{key}}">
|
<div class="attribute stat flex1 flex-group-center {{key}}">
|
||||||
<label class="stat-label"><a class="rollable" data-roll-type="attribute" data-roll="2d6+@attributes.{{key}}.value" data-adv="0" data-key="{{key}}">{{localize label}}</a></label><br/>
|
<label class="stat-label"><a class="rollable" data-roll-type="attribute" data-roll="2d6+@attributes.{{key}}.value" data-adv="0" data-key="{{key}}">{{localize label}}</a></label><br/>
|
||||||
<input class="stat-value rounded" type="text" name="data.attributes.{{key}}.value" value="{{numberFormat value decimals=0 sign=true}}" data-dtype="Number"/><br/>
|
<input class="stat-value rounded" type="text" name="system.attributes.{{key}}.value" value="{{numberFormat value decimals=0 sign=true}}" data-dtype="Number"/><br/>
|
||||||
<span class="stat-roll rollable" title="2d6" data-roll-type="attribute" data-roll="2d6+@attributes.{{key}}.value" data-adv="0" data-key="{{key}}">
|
<span class="stat-roll rollable" title="2d6" data-roll-type="attribute" data-roll="2d6+@attributes.{{key}}.value" data-adv="0" data-key="{{key}}">
|
||||||
<i class="darkgreen fas fa-dice"></i>
|
<i class="darkgreen fas fa-dice"></i>
|
||||||
</span>
|
</span>
|
||||||
@ -22,10 +22,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<hr/>
|
<hr/>
|
||||||
<div class="aptitudes flexrow">
|
<div class="aptitudes flexrow">
|
||||||
{{#each data.aptitudes as |aptitude id|}}
|
{{#each aptitudes as |aptitude id|}}
|
||||||
<div class="aptitude stat flex1 flex-group-center">
|
<div class="aptitude stat flex1 flex-group-center">
|
||||||
<label class="stat-label"><a class="rollable" data-roll-type="aptitude" data-roll="2d6+@aptitudes.{{key}}.value" data-adv="0" data-key="{{key}}">{{localize label}}</a></label><br/>
|
<label class="stat-label"><a class="rollable" data-roll-type="aptitude" data-roll="2d6+@aptitudes.{{key}}.value" data-adv="0" data-key="{{key}}">{{localize label}}</a></label><br/>
|
||||||
<input class="stat-value rounded-border" type="text" name="data.aptitudes.{{key}}.value" value="{{numberFormat value decimals=0 sign=true}}" data-dtype="Number"/><br/>
|
<input class="stat-value rounded-border" type="text" name="system.aptitudes.{{key}}.value" value="{{numberFormat value decimals=0 sign=true}}" data-dtype="Number"/><br/>
|
||||||
<span class="stat-roll rollable" title="2d6" data-roll-type="aptitude" data-roll="2d6+@aptitudes.{{key}}.value" data-adv="0" data-key="{{key}}">
|
<span class="stat-roll rollable" title="2d6" data-roll-type="aptitude" data-roll="2d6+@aptitudes.{{key}}.value" data-adv="0" data-key="{{key}}">
|
||||||
<i class="darkgreen fas fa-dice"></i>
|
<i class="darkgreen fas fa-dice"></i>
|
||||||
</span>
|
</span>
|
||||||
@ -50,29 +50,29 @@
|
|||||||
{{#if @root.isAlchemist}}
|
{{#if @root.isAlchemist}}
|
||||||
<div class="resource stat flex1 flex-group-center">
|
<div class="resource stat flex1 flex-group-center">
|
||||||
<label class="stat-label">{{localize label}}</label><br/>
|
<label class="stat-label">{{localize label}}</label><br/>
|
||||||
<input class="stat-value resources-value" type="text" name="data.resources.{{key}}.value" value="{{numberFormat value decimals=0 sign=false}}" data-dtype="Number"/>
|
<input class="stat-value resources-value" type="text" name="system.resources.{{key}}.value" value="{{numberFormat value decimals=0 sign=false}}" data-dtype="Number"/>
|
||||||
{{#if (eq @root.data.type 'player')}}
|
{{#if (eq @root.chartype 'player')}}
|
||||||
{{#if (exists bonus)}}
|
{{#if (exists bonus)}}
|
||||||
<span class="flexrow"><label class="stat-max bonus-text">Bonus</label><input class="resource-bonus resources-value" type="text" name="data.resources.{{key}}.bonus" value="{{numberFormat bonus decimals=0 sign=false}}" data-dtype="Number"/></span>
|
<span class="flexrow"><label class="stat-max bonus-text">Bonus</label><input class="resource-bonus resources-value" type="text" name="system.resources.{{key}}.bonus" value="{{numberFormat bonus decimals=0 sign=false}}" data-dtype="Number"/></span>
|
||||||
{{else}}
|
{{else}}
|
||||||
<span class="flexrow"><label class="stat-max resources-value"> </label><input class="resource-bonus resources-novalue" type="text" value="" disabled></span>
|
<span class="flexrow"><label class="stat-max resources-value"> </label><input class="resource-bonus resources-novalue" type="text" value="" disabled></span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
<input class="resources-value" type="text" name="data.resources.{{key}}.max" value="{{numberFormat max decimals=0 sign=false}}" data-dtype="Number"/>
|
<input class="resources-value" type="text" name="system.resources.{{key}}.max" value="{{numberFormat max decimals=0 sign=false}}" data-dtype="Number"/>
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{else}}
|
{{else}}
|
||||||
<div class="resource stat flex1 flex-group-center">
|
<div class="resource stat flex1 flex-group-center">
|
||||||
<label class="stat-label">{{localize label}}</label><br/>
|
<label class="stat-label">{{localize label}}</label><br/>
|
||||||
<input class="stat-value resources-value" type="text" name="data.resources.{{key}}.value" value="{{numberFormat value decimals=0 sign=false}}" data-dtype="Number"/>
|
<input class="stat-value resources-value" type="text" name="system.resources.{{key}}.value" value="{{numberFormat value decimals=0 sign=false}}" data-dtype="Number"/>
|
||||||
{{#if (eq @root.data.type 'player')}}
|
{{#if (eq @root.chartype 'player')}}
|
||||||
{{#if (exists bonus)}}
|
{{#if (exists bonus)}}
|
||||||
<span class="flexrow"><label class="stat-max bonus-text">Bonus</label><input class="resource-bonus resources-value" type="text" name="data.resources.{{key}}.bonus" value="{{numberFormat bonus decimals=0 sign=false}}" data-dtype="Number"/></span>
|
<span class="flexrow"><label class="stat-max bonus-text">Bonus</label><input class="resource-bonus resources-value" type="text" name="system.resources.{{key}}.bonus" value="{{numberFormat bonus decimals=0 sign=false}}" data-dtype="Number"/></span>
|
||||||
{{else}}
|
{{else}}
|
||||||
<span class="flexrow"><label class="stat-max"> </label><input class="resource-bonus resources-novalue" type="text" value="" disabled></span>
|
<span class="flexrow"><label class="stat-max"> </label><input class="resource-bonus resources-novalue" type="text" value="" disabled></span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
<input class="resources-value" type="text" name="data.resources.{{key}}.max" value="{{numberFormat max decimals=0 sign=false}}" data-dtype="Number"/>
|
<input class="resources-value" type="text" name="system.resources.{{key}}.max" value="{{numberFormat max decimals=0 sign=false}}" data-dtype="Number"/>
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/each}}
|
{{/each}}
|
||||||
|
@ -12,12 +12,12 @@
|
|||||||
<li class="item flexrow" data-item-id="{{item._id}}">
|
<li class="item flexrow" data-item-id="{{item._id}}">
|
||||||
<div class="item-image" ><img src="{{item.img}}" title="{{item.name}}"/></div>
|
<div class="item-image" ><img src="{{item.img}}" title="{{item.name}}"/></div>
|
||||||
<h4 class="item-name flex2">{{#if ../weapon}}<a class="rollable" data-roll-type="weapon">{{/if}}{{item.name}}{{#if ../weapon}}</a>{{/if}}</h4>
|
<h4 class="item-name flex2">{{#if ../weapon}}<a class="rollable" data-roll-type="weapon">{{/if}}{{item.name}}{{#if ../weapon}}</a>{{/if}}</h4>
|
||||||
{{#if ../protection}}<div class="item-field"><a class="rollable" data-roll-type="protection">{{item.data.properties.soak.formula}}</a> / {{item.data.properties.soak.value}}</div>{{/if}}
|
{{#if ../protection}}<div class="item-field"><a class="rollable" data-roll-type="protection">{{item.system.properties.soak.formula}}</a> / {{item.system.properties.soak.value}}</div>{{/if}}
|
||||||
{{#if ../blocking}}<div class="item-field">{{item.data.properties.blocking.malus}}</div>{{/if}}
|
{{#if ../blocking}}<div class="item-field">{{item.system.properties.blocking.malus}}</div>{{/if}}
|
||||||
{{#if ../weapon}}<div class="item-field"><a class="rollable" data-roll-type="damage">{{item.data.properties.damage}}+{{item.data.properties.damageModifiers}} x{{item.data.properties.damageMultiplier}}</a></div>{{/if}}
|
{{#if ../weapon}}<div class="item-field"><a class="rollable" data-roll-type="damage">{{item.system.properties.damage}}+{{item.system.properties.damageModifiers}} x{{item.system.properties.damageMultiplier}}</a></div>{{/if}}
|
||||||
{{#if ../ranged}}<div class="item-field">{{item.data.properties.range}}</div>{{else}}<div class="item-field"></div>{{/if}}
|
{{#if ../ranged}}<div class="item-field">{{item.system.properties.range}}</div>{{else}}<div class="item-field"></div>{{/if}}
|
||||||
{{#if ../options}}<div class="item-field">
|
{{#if ../options}}<div class="item-field">
|
||||||
{{#if item.data.properties.activated}}
|
{{#if item.system.properties.activated}}
|
||||||
<a class="toggle-fight-option">{{localize "BOL.ui.toactivated"}}</a>
|
<a class="toggle-fight-option">{{localize "BOL.ui.toactivated"}}</a>
|
||||||
{{else}}
|
{{else}}
|
||||||
<a class="toggle-fight-option">{{localize "BOL.ui.todeactivated"}}</a>
|
<a class="toggle-fight-option">{{localize "BOL.ui.todeactivated"}}</a>
|
||||||
|
@ -1,9 +1,9 @@
|
|||||||
<div class="attributes flexrow">
|
<div class="attributes flexrow">
|
||||||
{{#each data.attributes as |attribute id|}}
|
{{#each attributes as |attribute id|}}
|
||||||
{{#if (ne id "appeal")}}
|
{{#if (ne id "appeal")}}
|
||||||
<div class="attribute stat flex1 flex-group-center {{key}}">
|
<div class="attribute stat flex1 flex-group-center {{key}}">
|
||||||
<label class="stat-label"><a class="rollable" data-roll-type="attribute" data-roll="2d6+@attributes.{{key}}.value" data-adv="0" data-key="{{key}}">{{localize label}}</a></label><br/>
|
<label class="stat-label"><a class="rollable" data-roll-type="attribute" data-roll="2d6+@attributes.{{key}}.value" data-adv="0" data-key="{{key}}">{{localize label}}</a></label><br/>
|
||||||
<input class="stat-value rounded" type="text" name="data.attributes.{{key}}.value" value="{{numberFormat value decimals=0 sign=true}}" data-dtype="Number"/><br/>
|
<input class="stat-value rounded" type="text" name="system.attributes.{{key}}.value" value="{{numberFormat value decimals=0 sign=true}}" data-dtype="Number"/><br/>
|
||||||
<span class="stat-roll rollable" title="2d6" data-roll-type="attribute" data-roll="2d6+@attributes.{{key}}.value" data-adv="0" data-key="{{key}}">
|
<span class="stat-roll rollable" title="2d6" data-roll-type="attribute" data-roll="2d6+@attributes.{{key}}.value" data-adv="0" data-key="{{key}}">
|
||||||
<i class="darkgreen fas fa-dice"></i>
|
<i class="darkgreen fas fa-dice"></i>
|
||||||
</span>
|
</span>
|
||||||
@ -15,7 +15,7 @@
|
|||||||
<div class="aptitudes flexrow">
|
<div class="aptitudes flexrow">
|
||||||
<div class="aptitude stat flex1 flex-group-center">
|
<div class="aptitude stat flex1 flex-group-center">
|
||||||
<div class="stat-label"><a class="rollable" data-roll-type="aptitude" data-roll="2d6+@aptitudes.def.value" data-adv="0" data-key="def">{{localize "BOL.aptitudes.def"}}</a></label><br/>
|
<div class="stat-label"><a class="rollable" data-roll-type="aptitude" data-roll="2d6+@aptitudes.def.value" data-adv="0" data-key="def">{{localize "BOL.aptitudes.def"}}</a></label><br/>
|
||||||
<input class="stat-value rounded-border" type="text" name="data.aptitudes.def.value" value="{{numberFormat aptitudes.3.value decimals=0 sign=true}}" data-dtype="Number"/><br/>
|
<input class="stat-value rounded-border" type="text" name="system.aptitudes.def.value" value="{{numberFormat aptitudes.3.value decimals=0 sign=true}}" data-dtype="Number"/><br/>
|
||||||
<span class="stat-roll rollable" title="2d6" data-roll-type="aptitude" data-roll="2d6+@aptitudes.def.value" data-adv="0" data-key="def">
|
<span class="stat-roll rollable" title="2d6" data-roll-type="aptitude" data-roll="2d6+@aptitudes.def.value" data-adv="0" data-key="def">
|
||||||
<i class="darkgreen fas fa-dice"></i>
|
<i class="darkgreen fas fa-dice"></i>
|
||||||
</span>
|
</span>
|
||||||
@ -26,7 +26,7 @@
|
|||||||
<div class="resources flexrow">
|
<div class="resources flexrow">
|
||||||
<div class="resource stat flex1 flex-group-center">
|
<div class="resource stat flex1 flex-group-center">
|
||||||
<label class="stat-label">{{localize "BOL.resources.hp"}}</label><br/>
|
<label class="stat-label">{{localize "BOL.resources.hp"}}</label><br/>
|
||||||
<input class="stat-value" type="text" name="data.resources.hp.value" value="{{numberFormat resources.hp.value decimals=0 sign=false}}" data-dtype="Number"/>
|
<input class="stat-value" type="text" name="system.resources.hp.value" value="{{numberFormat resources.hp.value decimals=0 sign=false}}" data-dtype="Number"/>
|
||||||
<input class="stat-max" type="text" name="data.resources.hp.max" value="{{numberFormat resources.hp.max decimals=0 sign=false}}" data-dtype="Number"/>
|
<input class="stat-max" type="text" name="system.resources.hp.max" value="{{numberFormat resources.hp.max decimals=0 sign=false}}" data-dtype="Number"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
|
|
||||||
<button class="chat-damage-roll" data-damage-mode="normal-damage" data-attack-id="{{id}}">{{localize "BOL.chat.rolldamage"}}</button>
|
<button class="chat-damage-roll bol-margin-tb-2" data-damage-mode="normal-damage" data-attack-id="{{id}}">{{localize "BOL.chat.rolldamage"}}</button>
|
||||||
|
|
||||||
{{#if isCritical}}
|
{{#if isCritical}}
|
||||||
<button class="chat-damage-roll" data-damage-mode="damage-plus-6" data-attack-id="{{id}}">{{localize "BOL.chat.rolldamage6"}}</button>
|
<button class="chat-damage-roll bol-margin-tb-2 " data-damage-mode="damage-plus-6" data-attack-id="{{id}}">{{localize "BOL.chat.rolldamage6"}}</button>
|
||||||
<button class="chat-damage-roll" data-damage-mode="damage-plus-12" data-attack-id="{{id}}">{{localize "BOL.chat.rolldamage12"}}</button>
|
<button class="chat-damage-roll bol-margin-tb-2" data-damage-mode="damage-plus-12" data-attack-id="{{id}}">{{localize "BOL.chat.rolldamage12"}}</button>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
@ -24,6 +24,10 @@
|
|||||||
<h3><strong>{{description}}</strong></h3>
|
<h3><strong>{{description}}</strong></h3>
|
||||||
|
|
||||||
<div class="actions-section">
|
<div class="actions-section">
|
||||||
|
{{#if isFumble}}
|
||||||
|
{{localize "BOL.chat.fumblemessage"}}
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
{{#if fightOption}}
|
{{#if fightOption}}
|
||||||
<div>
|
<div>
|
||||||
{{localize "BOL.chat.fightoption"}} : {{fightOption.name}}
|
{{localize "BOL.chat.fightoption"}} : {{fightOption.name}}
|
||||||
@ -31,6 +35,13 @@
|
|||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
<div id="{{optionsId}}">
|
<div id="{{optionsId}}">
|
||||||
|
|
||||||
|
{{#if isRealCritical}}
|
||||||
|
<div class="bol-margin-tb-2">
|
||||||
|
<a class="content-link" draggable="true" data-uuid="Compendium.bol.aides-de-jeu.Yl1RKQb0BjVUtilk" data-id="Yl1RKQb0BjVUtilk" data-type="JournalEntry" data-pack="bol.aides-de-jeu" data-tooltip="un journal"><i class="fas fa-book-open"></i>Succès Héroïque</a>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
{{#if (and isSuccess weapon)}}
|
{{#if (and isSuccess weapon)}}
|
||||||
{{> "systems/bol/templates/chat/rolls/attack-damage-card.hbs"}}
|
{{> "systems/bol/templates/chat/rolls/attack-damage-card.hbs"}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
@ -42,16 +53,18 @@
|
|||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{#if reroll}}
|
{{#if reroll}}
|
||||||
<button class="chat-button button hero-reroll" data-roll-id=="{{rollId}}" data-actor-id="{{actor.id}}">{{localize "BOL.chat.reroll"}}</button>
|
<button class="chat-button button hero-reroll bol-margin-tb-2" data-roll-id=="{{rollId}}" data-actor-id="{{actor.id}}">{{localize "BOL.chat.reroll"}}</button>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{#if (and isSuccess (not isCritical))}}
|
{{#if (and isSuccess (not isCritical))}}
|
||||||
<button class="chat-button button transform-heroic-roll" data-roll-id=="{{rollId}}" data-actor-id="{{actor.id}}">{{localize "BOL.chat.toheroic"}}</button>
|
<button class="chat-button button transform-heroic-roll bol-margin-tb-2" data-roll-id=="{{rollId}}" data-actor-id="{{actor.id}}">{{localize "BOL.chat.toheroic"}}</button>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{#if isRealCritical}}
|
{{#if isRealCritical}}
|
||||||
<button class="chat-button button transform-legendary-roll" data-roll-id=="{{rollId}}" data-actor-id="{{actor.id}}">{{localize "BOL.chat.tolegend"}}</button>
|
<button class="chat-button button transform-legendary-roll bol-margin-tb-2" data-roll-id=="{{rollId}}" data-actor-id="{{actor.id}}">{{localize "BOL.chat.tolegend"}}</button>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
<br>
|
<br>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
<button class="damage-handling" data-defense-mode="damage-with-armor" data-attack-id="{{attackId}}">{{localize "BOL.chat.witharmor"}}</button>
|
<button class="damage-handling" data-defense-mode="damage-with-armor" data-attack-id="{{attackId}}">{{localize "BOL.chat.witharmor"}}</button>
|
||||||
<button class="damage-handling" data-defense-mode="damage-without-armor" data-attack-id="{{attackId}}">{{localize "BOL.chat.withoutarmor"}}</button>
|
<button class="damage-handling" data-defense-mode="damage-without-armor" data-attack-id="{{attackId}}">{{localize "BOL.chat.withoutarmor"}}</button>
|
||||||
|
|
||||||
{{#if defender.data.data.resources.hero.value}}
|
{{#if defender.system.resources.hero.value}}
|
||||||
<button class="damage-handling" data-defense-mode="hero-reduce-damage" data-attack-id="{{attackId}}">{{localize "BOL.chat.shakeoff"}}</button>
|
<button class="damage-handling" data-defense-mode="hero-reduce-damage" data-attack-id="{{attackId}}">{{localize "BOL.chat.shakeoff"}}</button>
|
||||||
|
|
||||||
{{#each defenderWeapons as |weapon idx|}}
|
{{#each defenderWeapons as |weapon idx|}}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<div class="flexrow box-roll">
|
<div class="flexrow box-roll">
|
||||||
<div class="flex1 center bg-darkred">
|
<div class="flex1 center bg-darkred" >
|
||||||
<label for="attr">{{localize 'BOL.ui.attribute'}}</label>
|
<label for="attr">{{localize 'BOL.ui.attribute'}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex1 center cell">
|
<div class="flex1 center cell">
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{{#if (count boons)}}
|
{{#if (count boons)}}
|
||||||
<div class="flexrow roll-box" >
|
<div class="flexrow roll-box" >
|
||||||
<div class="flex1 center bg-darkred">
|
<div class="flex1 center bg-darkred" data-tooltip-direction="LEFT" data-tooltip="Click-gauche pour sélectionner, CTRL+Click gauche pour déselectionner">
|
||||||
<label for="mod">{{localize 'BOL.ui.boons'}}</label>
|
<label for="mod">{{localize 'BOL.ui.boons'}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex1 center cell">
|
<div class="flex1 center cell">
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
{{#if careers}}
|
{{#if careers}}
|
||||||
<div class="flexrow roll-box">
|
<div class="flexrow roll-box">
|
||||||
<div class="flex1 center bg-darkred">
|
<div class="flex1 center bg-darkred" data-tooltip-direction="LEFT" data-tooltip="Click-gauche pour selectionner, CTRL+Click gauche pour déselectionner">
|
||||||
<label for="mod">{{localize 'BOL.ui.careers'}}</label>
|
<label for="mod">{{localize 'BOL.ui.careers'}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex1 center cell">
|
<div class="flex1 center cell">
|
||||||
<select class="flex1" name="career" id="career" data-type="String" multiple>
|
<select class="flex1" name="career" id="career" data-type="String" multiple>
|
||||||
{{#each careers as | career id|}}
|
{{#each careers as | career id|}}
|
||||||
<option value="{{career.data.rank}}">{{career.name}} ({{numberFormat career.data.rank decimals=0 sign=true}})</option>
|
<option value="{{career.system.rank}}">{{career.name}} ({{numberFormat career.system.rank decimals=0 sign=true}})</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{{#if (count flaws)}}
|
{{#if (count flaws)}}
|
||||||
<div class="flexrow roll-box">
|
<div class="flexrow roll-box">
|
||||||
<div class="flex1 center bg-darkred">
|
<div class="flex1 center bg-darkred" data-tooltip-direction="LEFT" data-tooltip="Click-gauche pour selectionner, CTRL+Click gauche pour déselectionner">
|
||||||
<label for="mod">{{localize 'BOL.ui.flaws'}}</label>
|
<label for="mod">{{localize 'BOL.ui.flaws'}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex1 center cell">
|
<div class="flex1 center cell">
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
{{#if weapon.data.data.properties.onlymodifier}}
|
{{#if weapon.system.properties.onlymodifier}}
|
||||||
{{else}}
|
{{else}}
|
||||||
{{> "systems/bol/templates/dialogs/attribute-roll-part.hbs"}}
|
{{> "systems/bol/templates/dialogs/attribute-roll-part.hbs"}}
|
||||||
{{> "systems/bol/templates/dialogs/aptitude-roll-part.hbs"}}
|
{{> "systems/bol/templates/dialogs/aptitude-roll-part.hbs"}}
|
||||||
@ -18,7 +18,7 @@
|
|||||||
<div class="flex1 center bg-darkred">
|
<div class="flex1 center bg-darkred">
|
||||||
<label for="mod">{{localize 'BOL.ui.attackValue'}}</label>
|
<label for="mod">{{localize 'BOL.ui.attackValue'}}</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex1 center cell">{{weapon.data.data.properties.attackModifiers}}</div>
|
<div class="flex1 center cell">{{weapon.system.properties.attackModifiers}}</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flexrow roll-box" >
|
<div class="flexrow roll-box" >
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
|
{{editor description target="system.description" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
<div class="tab properties" data-group="primary" data-tab="properties">
|
<div class="tab properties" data-group="primary" data-tab="properties">
|
||||||
{{#if (eq item.type "item")}}
|
{{#if (eq item.type "item")}}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<div class="property flexrow">
|
<div class="property flexrow">
|
||||||
<label class="property-label">{{localize "BOL.ui.subtype"}}</label>
|
<label class="property-label">{{localize "BOL.ui.subtype"}}</label>
|
||||||
<select name="data.subtype" value="{{data.subtype}}" data-dtype="String">
|
<select name="system.subtype" value="{{item.system.subtype}}" data-dtype="String">
|
||||||
{{#select data.subtype}}
|
{{#select item.system.subtype}}
|
||||||
{{#each config.featureSubtypes as |item id|}}
|
{{#each config.featureSubtypes as |item id|}}
|
||||||
<option value="{{id}}">{{localize item}}</option>
|
<option value="{{id}}">{{localize item}}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
@ -9,18 +9,18 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{#if (equals data.subtype "career")}}
|
{{#if (equals item.system.subtype "career")}}
|
||||||
{{> "systems/bol/templates/item/parts/properties/feature/career-properties.hbs"}}
|
{{> "systems/bol/templates/item/parts/properties/feature/career-properties.hbs"}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{#if (equals data.subtype "fightoption")}}
|
{{#if (equals item.system.subtype "fightoption")}}
|
||||||
{{> "systems/bol/templates/item/parts/properties/feature/fightoption-properties.hbs"}}
|
{{> "systems/bol/templates/item/parts/properties/feature/fightoption-properties.hbs"}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{!#if (equals data.subtype "race")}}
|
{{!#if (equals data.subtype "race")}}
|
||||||
{{!> "systems/bol/templates/item/parts/properties/feature/race-properties.hbs"}}
|
{{!> "systems/bol/templates/item/parts/properties/feature/race-properties.hbs"}}
|
||||||
{{!/if}}
|
{{!/if}}
|
||||||
{{#if (equals data.subtype "boon")}}
|
{{#if (equals item.system.subtype "boon")}}
|
||||||
{{> "systems/bol/templates/item/parts/properties/feature/boon-properties.hbs"}}
|
{{> "systems/bol/templates/item/parts/properties/feature/boon-properties.hbs"}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{#if (equals data.subtype "flaw")}}
|
{{#if (equals item.system.subtype "flaw")}}
|
||||||
{{> "systems/bol/templates/item/parts/properties/feature/flaw-properties.hbs"}}
|
{{> "systems/bol/templates/item/parts/properties/feature/flaw-properties.hbs"}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<h3 class="form-header">{{localize 'BOL.featureSubtypes.boon'}}</h3>
|
<h3 class="form-header">{{localize 'BOL.featureSubtypes.boon'}}</h3>
|
||||||
<div class="property flexrow">
|
<div class="property flexrow">
|
||||||
<label class="property-label">{{localize "BOL.ui.isbonusdice"}}</label>
|
<label class="property-label">{{localize "BOL.ui.isbonusdice"}}</label>
|
||||||
<input class="field-value" type="checkbox" name="data.properties.isbonusdice" {{checked data.properties.isbonusdice}}>
|
<input class="field-value" type="checkbox" name="system.properties.isbonusdice" {{checked item.system.properties.isbonusdice}}>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
<h3 class="form-header">{{localize 'BOL.featureSubtypes.career'}}</h3>
|
<h3 class="form-header">{{localize 'BOL.featureSubtypes.career'}}</h3>
|
||||||
<div class="property flexrow">
|
<div class="property flexrow">
|
||||||
<label class="property-label">{{localize "BOL.ui.rank"}}</label>
|
<label class="property-label">{{localize "BOL.ui.rank"}}</label>
|
||||||
<input type="text" name="data.rank" value="{{data.rank}}" data-dtype="Number"/>
|
<input type="text" name="system.rank" value="{{item.system.rank}}" data-dtype="Number"/>
|
||||||
</div>
|
</div>
|
||||||
<div class="property flexrow">
|
<div class="property flexrow">
|
||||||
<label class="property-label">{{localize "BOL.ui.isSorcerer"}}</label>
|
<label class="property-label">{{localize "BOL.ui.isSorcerer"}}</label>
|
||||||
<input class="field-value" type="checkbox" name="data.properties.sorcerer" {{checked data.properties.sorcerer}}>
|
<input class="field-value" type="checkbox" name="system.properties.sorcerer" {{checked item.system.properties.sorcerer}}>
|
||||||
</div>
|
</div>
|
||||||
<div class="property flexrow">
|
<div class="property flexrow">
|
||||||
<label class="property-label">{{localize "BOL.ui.isAlchemist"}}</label>
|
<label class="property-label">{{localize "BOL.ui.isAlchemist"}}</label>
|
||||||
<input class="field-value" type="checkbox" name="data.properties.alchemist" {{checked data.properties.alchemist}}>
|
<input class="field-value" type="checkbox" name="system.properties.alchemist" {{checked item.system.properties.alchemist}}>
|
||||||
</div>
|
</div>
|
||||||
<div class="property flexrow">
|
<div class="property flexrow">
|
||||||
<label class="property-label">{{localize "BOL.ui.isPriest"}}</label>
|
<label class="property-label">{{localize "BOL.ui.isPriest"}}</label>
|
||||||
<input class="field-value" type="checkbox" name="data.properties.priest" {{checked data.properties.priest}}>
|
<input class="field-value" type="checkbox" name="system.properties.priest" {{checked item.system.properties.priest}}>
|
||||||
</div>
|
</div>
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.ui.fightOptionType"}}</label>
|
<label class="property-label">{{localize "BOL.ui.fightOptionType"}}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<select name="data.properties.fightoptiontype" data-dtype="String">
|
<select name="system.properties.fightoptiontype" data-dtype="String">
|
||||||
{{#select data.properties.fightoptiontype}}
|
{{#select item.system.properties.fightoptiontype}}
|
||||||
{{#each config.fightOptionTypes as |item id|}}
|
{{#each config.fightOptionTypes as |item id|}}
|
||||||
<option value="{{id}}">{{localize item}}</option>
|
<option value="{{id}}">{{localize item}}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
@ -14,6 +14,6 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="property flexrow">
|
<div class="property flexrow">
|
||||||
<label class="property-label">{{localize "BOL.ui.activated"}}</label>
|
<label class="property-label">{{localize "BOL.ui.activated"}}</label>
|
||||||
<input class="field-value" type="checkbox" name="data.properties.activated" {{checked data.properties.activated}}>
|
<input class="field-value" type="checkbox" name="system.properties.activated" {{checked item.system.properties.activated}}>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<h3 class="form-header">{{localize 'BOL.featureSubtypes.flaw'}}</h3>
|
<h3 class="form-header">{{localize 'BOL.featureSubtypes.flaw'}}</h3>
|
||||||
<div class="property flexrow">
|
<div class="property flexrow">
|
||||||
<label class="property-label">{{localize "BOL.ui.ismalusdice"}}</label>
|
<label class="property-label">{{localize "BOL.ui.ismalusdice"}}</label>
|
||||||
<input class="field-value" type="checkbox" name="data.properties.ismalusdice" {{checked data.properties.ismalusdice}}>
|
<input class="field-value" type="checkbox" name="system.properties.ismalusdice" {{checked item.system.properties.ismalusdice}}>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.ui.category"}}</label>
|
<label class="property-label">{{localize "BOL.ui.category"}}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<select class="field-value" name="data.category" value="{{data.category}}" data-dtype="String">
|
<select class="field-value" name="system.category" value="{{item.system.category}}" data-dtype="String">
|
||||||
{{#select data.category}}
|
{{#select item.system.category}}
|
||||||
{{#each config.itemCategories as |item id|}}
|
{{#each config.itemCategories as |item id|}}
|
||||||
<option value="{{id}}">{{localize item}}</option>
|
<option value="{{id}}">{{localize item}}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
@ -11,18 +11,18 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{#if (eq data.category "equipment")}}
|
{{#if (eq item.system.category "equipment")}}
|
||||||
{{> "systems/bol/templates/item/parts/properties/item/equipment-properties.hbs"}}
|
{{> "systems/bol/templates/item/parts/properties/item/equipment-properties.hbs"}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{#if (eq data.category "capacity")}}
|
{{#if (eq item.system.category "capacity")}}
|
||||||
{{> "systems/bol/templates/item/parts/properties/item/capacity-properties.hbs"}}
|
{{> "systems/bol/templates/item/parts/properties/item/capacity-properties.hbs"}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{#if (eq data.category "vehicle")}}
|
{{#if (eq item.system.category "vehicle")}}
|
||||||
{{> "systems/bol/templates/item/parts/properties/item/vehicle-properties.hbs"}}
|
{{> "systems/bol/templates/item/parts/properties/item/vehicle-properties.hbs"}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{#if (eq data.category "spell")}}
|
{{#if (eq item.system.category "spell")}}
|
||||||
{{> "systems/bol/templates/item/parts/properties/item/spell-properties.hbs"}}
|
{{> "systems/bol/templates/item/parts/properties/item/spell-properties.hbs"}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{#if (eq data.category "alchemy")}}
|
{{#if (eq item.system.category "alchemy")}}
|
||||||
{{> "systems/bol/templates/item/parts/properties/item/alchemy-properties.hbs"}}
|
{{> "systems/bol/templates/item/parts/properties/item/alchemy-properties.hbs"}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
<div class="property flexrow">
|
<div class="property flexrow">
|
||||||
<label class="property-label">{{localize "BOL.ui.alchemyType"}}</label>
|
<label class="property-label">{{localize "BOL.ui.alchemyType"}}</label>
|
||||||
<select class="field-value" name="data.properties.alchemytype" data-dtype="String">
|
<select class="field-value" name="system.properties.alchemytype" data-dtype="String">
|
||||||
{{#select data.properties.alchemytype}}
|
{{#select item.system.properties.alchemytype}}
|
||||||
{{#each config.alchemyType as |value id|}}
|
{{#each config.alchemyType as |value id|}}
|
||||||
<option value="{{id}}">{{localize value}}</option>
|
<option value="{{id}}">{{localize value}}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
@ -13,8 +13,8 @@
|
|||||||
|
|
||||||
<div class="property flexrow">
|
<div class="property flexrow">
|
||||||
<label class="property-label">{{localize "BOL.ui.difficulty"}}</label>
|
<label class="property-label">{{localize "BOL.ui.difficulty"}}</label>
|
||||||
<select name="data.properties.difficulty" value="{{data.properties.difficulty}}">
|
<select name="system.properties.difficulty" value="{{item.system.properties.difficulty}}">
|
||||||
{{#select data.properties.difficulty}}
|
{{#select item.system.properties.difficulty}}
|
||||||
<option value="2">{{localize "BOL.dialog.veryeasy"}}</option>
|
<option value="2">{{localize "BOL.dialog.veryeasy"}}</option>
|
||||||
<option value="1">{{localize "BOL.dialog.easy"}}</option>
|
<option value="1">{{localize "BOL.dialog.easy"}}</option>
|
||||||
<option value="0">{{localize "BOL.dialog.moderate"}}</option>
|
<option value="0">{{localize "BOL.dialog.moderate"}}</option>
|
||||||
@ -29,11 +29,11 @@
|
|||||||
|
|
||||||
<div class="property flexrow">
|
<div class="property flexrow">
|
||||||
<label class="property-label">{{localize "BOL.ui.pccost"}}</label>
|
<label class="property-label">{{localize "BOL.ui.pccost"}}</label>
|
||||||
<input class="field-value" type="text" name="data.properties.pccost" value="{{data.properties.pccost}}" data-dtype="Number"/>
|
<input class="field-value" type="text" name="system.properties.pccost" value="{{item.system.properties.pccost}}" data-dtype="Number"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="property flexrow">
|
<div class="property flexrow">
|
||||||
<label class="property-label">{{localize "BOL.ui.pcnow"}}</label>
|
<label class="property-label">{{localize "BOL.ui.pcnow"}}</label>
|
||||||
<input class="field-value" type="text" name="data.properties.pccurrent" value="{{data.properties.pccurrent}}" data-dtype="Number"/>
|
<input class="field-value" type="text" name="system.properties.pccurrent" value="{{item.system.properties.pccurrent}}" data-dtype="Number"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -3,23 +3,23 @@
|
|||||||
<label class="property-label">{{localize "BOL.ui.type"}}</label>
|
<label class="property-label">{{localize "BOL.ui.type"}}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.weapon" {{checked data.properties.weapon}}> {{localize "BOL.itemProperty.weapon"}}
|
<input class="field-value" type="checkbox" name="system.properties.weapon" {{checked item.system.properties.weapon}}> {{localize "BOL.itemProperty.weapon"}}
|
||||||
</label>
|
</label>
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.protection" {{checked data.properties.protection}}> {{localize "BOL.itemProperty.protection"}}
|
<input class="field-value" type="checkbox" name="system.properties.protection" {{checked item.system.properties.protection}}> {{localize "BOL.itemProperty.protection"}}
|
||||||
</label>
|
</label>
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.magical" {{checked data.properties.magical}}> {{localize "BOL.itemProperty.magical"}}
|
<input class="field-value" type="checkbox" name="system.properties.magical" {{checked item.system.properties.magical}}> {{localize "BOL.itemProperty.magical"}}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{#if data.properties.weapon}}
|
{{#if item.system.properties.weapon}}
|
||||||
{{> "systems/bol/templates/item/parts/properties/item/weapon-properties.hbs"}}
|
{{> "systems/bol/templates/item/parts/properties/item/weapon-properties.hbs"}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{#if data.properties.protection}}
|
{{#if item.system.properties.protection}}
|
||||||
{{> "systems/bol/templates/item/parts/properties/item/protection-properties.hbs"}}
|
{{> "systems/bol/templates/item/parts/properties/item/protection-properties.hbs"}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{#if data.properties.magical}}
|
{{#if item.system.properties.magical}}
|
||||||
{{> "systems/bol/templates/item/parts/properties/item/magical-properties.hbs"}}
|
{{> "systems/bol/templates/item/parts/properties/item/magical-properties.hbs"}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.ui.subtype"}}</label>
|
<label class="property-label">{{localize "BOL.ui.subtype"}}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<select name="data.subtype" data-dtype="String">
|
<select name="system.subtype" data-dtype="String">
|
||||||
{{#select data.subtype}}
|
{{#select item.system.subtype}}
|
||||||
{{#each config.itemSubtypes as |item id|}}
|
{{#each config.itemSubtypes as |item id|}}
|
||||||
<option value="{{id}}">{{localize item}}</option>
|
<option value="{{id}}">{{localize item}}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
@ -17,13 +17,13 @@
|
|||||||
<label class="property-label">{{localize "BOL.ui.capacities"}}</label>
|
<label class="property-label">{{localize "BOL.ui.capacities"}}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.weapon" {{checked data.properties.weapon}}> {{localize "BOL.itemProperty.weapon"}}
|
<input class="field-value" type="checkbox" name="system.properties.weapon" {{checked item.system.properties.weapon}}> {{localize "BOL.itemProperty.weapon"}}
|
||||||
</label>
|
</label>
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.protection" {{checked data.properties.protection}}> {{localize "BOL.itemProperty.protection"}}
|
<input class="field-value" type="checkbox" name="system.properties.protection" {{checked item.system.properties.protection}}> {{localize "BOL.itemProperty.protection"}}
|
||||||
</label>
|
</label>
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.magical" {{checked data.properties.magical}}> {{localize "BOL.itemProperty.magical"}}
|
<input class="field-value" type="checkbox" name="system.properties.magical" {{checked item.system.properties.magical}}> {{localize "BOL.itemProperty.magical"}}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -32,31 +32,31 @@
|
|||||||
<label class="property-label">{{localize "BOL.ui.properties"}}</label>
|
<label class="property-label">{{localize "BOL.ui.properties"}}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.equipable" {{checked data.properties.equipable}}> {{localize "BOL.itemProperty.equipable"}}
|
<input class="field-value" type="checkbox" name="system.properties.equipable" {{checked item.system.properties.equipable}}> {{localize "BOL.itemProperty.equipable"}}
|
||||||
</label>
|
</label>
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.stackable" {{checked data.properties.stackable}}> {{localize "BOL.itemProperty.stackable"}}
|
<input class="field-value" type="checkbox" name="system.properties.stackable" {{checked item.system.properties.stackable}}> {{localize "BOL.itemProperty.stackable"}}
|
||||||
</label>
|
</label>
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.consumable" {{checked data.properties.consumable}}> {{localize "BOL.itemProperty.consumable"}}
|
<input class="field-value" type="checkbox" name="system.properties.consumable" {{checked item.system.properties.consumable}}> {{localize "BOL.itemProperty.consumable"}}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr/>
|
<hr/>
|
||||||
{{#if data.properties.equipable}}
|
{{#if item.system.properties.equipable}}
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{localize "BOL.itemProperty.worn"}}</label>
|
<label>{{localize "BOL.itemProperty.worn"}}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.worn" {{checked data.worn}}> {{localize "BOL.itemProperty.worn"}}
|
<input class="field-value" type="checkbox" name="system.worn" {{checked item.system.worn}}> {{localize "BOL.itemProperty.worn"}}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{localize "BOL.itemProperty.slot"}}</label>
|
<label>{{localize "BOL.itemProperty.slot"}}</label>
|
||||||
<div class="form-fields center">
|
<div class="form-fields center">
|
||||||
<select class="field-value" name="data.properties.slot" data-dtype="String">
|
<select class="field-value" name="system.properties.slot" data-dtype="String">
|
||||||
{{#select data.properties.slot}}
|
{{#select item.system.properties.slot}}
|
||||||
{{#each config.equipmentSlots as |value id|}}
|
{{#each config.equipmentSlots as |value id|}}
|
||||||
<option value="{{id}}">{{localize value}}</option>
|
<option value="{{id}}">{{localize value}}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
@ -66,41 +66,35 @@
|
|||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{#if data.properties.stackable}}
|
{{#if item.system.properties.stackable}}
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.ui.quantity"}}</label>
|
<label class="property-label">{{localize "BOL.ui.quantity"}}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<input class="field-value" type="text" name="data.quantity" value="{{data.quantity}}" data-dtype="Number"/>
|
<input class="field-value" type="text" name="system.quantity" value="{{item.system.quantity}}" data-dtype="Number"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.ui.stacksize"}}</label>
|
<label class="property-label">{{localize "BOL.ui.stacksize"}}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<input class="field-value" type="text" name="data.properties.stacksize" value="{{data.properties.stacksize}}" data-dtype="Number"/>
|
<input class="field-value" type="text" name="system.properties.stacksize" value="{{item.system.properties.stacksize}}" data-dtype="Number"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
<!--<div class="form-group">-->
|
|
||||||
<!-- <label class="property-label">{{!localize "BOL.ui.weight"}}</label>-->
|
|
||||||
<!-- <div class="form-fields">-->
|
|
||||||
<!-- <input class="field-value" type="text" name="data.weight" value="{{!data.weight}}" data-dtype="Number"/>-->
|
|
||||||
<!-- </div>-->
|
|
||||||
<!--</div>-->
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.ui.price"}}</label>
|
<label class="property-label">{{localize "BOL.ui.price"}}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<input class="field-value" type="text" name="data.price" value="{{data.price}}" data-dtype="Number"/>
|
<input class="field-value" type="text" name="system.price" value="{{item.system.price}}" data-dtype="Number"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
{{#if data.properties.weapon}}
|
{{#if item.system.properties.weapon}}
|
||||||
{{> "systems/bol/templates/item/parts/properties/item/weapon-properties.hbs"}}
|
{{> "systems/bol/templates/item/parts/properties/item/weapon-properties.hbs"}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{#if data.properties.protection}}
|
{{#if item.system.properties.protection}}
|
||||||
{{> "systems/bol/templates/item/parts/properties/item/protection-properties.hbs"}}
|
{{> "systems/bol/templates/item/parts/properties/item/protection-properties.hbs"}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{#if data.properties.magical}}
|
{{#if item.system.properties.magical}}
|
||||||
{{> "systems/bol/templates/item/parts/properties/item/magical-properties.hbs"}}
|
{{> "systems/bol/templates/item/parts/properties/item/magical-properties.hbs"}}
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
@ -3,31 +3,24 @@
|
|||||||
<label>{{localize "BOL.ui.subtype"}}</label>
|
<label>{{localize "BOL.ui.subtype"}}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.armor" {{checked data.properties.armor}}> {{localize "BOL.itemProperty.armor"}}
|
<input class="field-value" type="checkbox" name="system.properties.armor" {{checked item.system.properties.armor}}> {{localize "BOL.itemProperty.armor"}}
|
||||||
</label>
|
</label>
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.shield" {{checked data.properties.shield}}> {{localize "BOL.itemProperty.shield"}}
|
<input class="field-value" type="checkbox" name="system.properties.shield" {{checked item.system.properties.shield}}> {{localize "BOL.itemProperty.shield"}}
|
||||||
</label>
|
</label>
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.helm" {{checked data.properties.helm}}> {{localize "BOL.itemProperty.helm"}}
|
<input class="field-value" type="checkbox" name="system.properties.helm" {{checked item.system.properties.helm}}> {{localize "BOL.itemProperty.helm"}}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr/>
|
<hr/>
|
||||||
<!--<div class="form-group">-->
|
|
||||||
<!-- <label>{{!localize "BOL.ui.properties"}}</label>-->
|
{{#if item.system.properties.armor}}
|
||||||
<!-- <div class="form-fields">-->
|
|
||||||
<!-- <label class="checkbox">-->
|
|
||||||
<!-- <input class="field-value" type="checkbox" name="data.properties.throwable" {{!checked data.properties.throwable}}> {{!localize "BOL.itemProperty.throwable"}}-->
|
|
||||||
<!-- </label>-->
|
|
||||||
<!-- </div>-->
|
|
||||||
<!--</div>-->
|
|
||||||
{{#if data.properties.armor}}
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.itemProperty.armorQuality"}}</label>
|
<label class="property-label">{{localize "BOL.itemProperty.armorQuality"}}</label>
|
||||||
<div class="form-fields center">
|
<div class="form-fields center">
|
||||||
<select class="field-value armorQuality" name="data.properties.armorQuality" data-dtype="String">
|
<select class="field-value armorQuality" name="system.properties.armorQuality" data-dtype="String">
|
||||||
{{#select data.properties.armorQuality}}
|
{{#select item.system.properties.armorQuality}}
|
||||||
{{#each config.armorQualities as |value id|}}
|
{{#each config.armorQualities as |value id|}}
|
||||||
<option value="{{id}}">{{localize value}}</option>
|
<option value="{{id}}">{{localize value}}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
@ -38,41 +31,41 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.itemProperty.soakFormula"}}</label>
|
<label class="property-label">{{localize "BOL.itemProperty.soakFormula"}}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<input class="field-value soakFormula" type="text" name="data.properties.soak.formula" value="{{data.properties.soak.formula}}" data-dtype="String"/>
|
<input class="field-value soakFormula" type="text" name="system.properties.soak.formula" value="{{item.system.properties.soak.formula}}" data-dtype="String"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.itemProperty.soakValue"}}</label>
|
<label class="property-label">{{localize "BOL.itemProperty.soakValue"}}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<input class="field-value" type="text" name="data.properties.soak.value" value="{{data.properties.soak.value}}" data-dtype="Number"/>
|
<input class="field-value" type="text" name="system.properties.soak.value" value="{{item.system.properties.soak.value}}" data-dtype="Number"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{#if data.properties.helm}}
|
{{#if item.system.properties.helm}}
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.itemProperty.soakModifiers"}}</label>
|
<label class="property-label">{{localize "BOL.itemProperty.soakModifiers"}}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<input class="field-value" type="text" name="data.properties.soak.modifier" value="{{data.properties.soak.modifier}}" data-dtype="Number"/>
|
<input class="field-value" type="text" name="system.properties.soak.modifier" value="{{item.system.properties.soak.modifier}}" data-dtype="Number"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{#if data.properties.shield}}
|
{{#if item.system.properties.shield}}
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.itemProperty.blockingMalus"}}</label>
|
<label class="property-label">{{localize "BOL.itemProperty.blockingMalus"}}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<input class="field-value" type="text" name="data.properties.blocking.malus" value="{{data.properties.blocking.malus}}" data-dtype="Number"/>
|
<input class="field-value" type="text" name="system.properties.blocking.malus" value="{{item.system.properties.blocking.malus}}" data-dtype="Number"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.itemProperty.blockingAttacksBlocked"}}</label>
|
<label class="property-label">{{localize "BOL.itemProperty.blockingAttacksBlocked"}}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.blocking.blocking1" {{checked data.properties.blocking.blocking1}}> {{localize "BOL.itemProperty.blocking1Attack"}}
|
<input class="field-value" type="checkbox" name="system.properties.blocking.blocking1" {{checked item.system.properties.blocking.blocking1}}> {{localize "BOL.itemProperty.blocking1Attack"}}
|
||||||
</label>
|
</label>
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.blocking.blockingAll" {{checked data.properties.blocking.blockingAll}}> {{localize "BOL.itemProperty.blockingAllAttacks"}}
|
<input class="field-value" type="checkbox" name="system.properties.blocking.blockingAll" {{checked item.system.properties.blocking.blockingAll}}> {{localize "BOL.itemProperty.blockingAllAttacks"}}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -83,26 +76,26 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.itemModifiers.init"}}</label>
|
<label class="property-label">{{localize "BOL.itemModifiers.init"}}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<input class="field-value" type="text" name="data.properties.modifiers.init" value="{{data.properties.modifiers.c}}" data-dtype="Number"/>
|
<input class="field-value" type="text" name="system.properties.modifiers.init" value="{{item.system.properties.modifiers.c}}" data-dtype="Number"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.itemModifiers.agility"}}</label>
|
<label class="property-label">{{localize "BOL.itemModifiers.agility"}}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<input class="field-value" type="text" name="data.properties.modifiers.agility" value="{{data.properties.modifiers.agility}}" data-dtype="Number"/>
|
<input class="field-value" type="text" name="system.properties.modifiers.agility" value="{{item.system.properties.modifiers.agility}}" data-dtype="Number"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.itemModifiers.powercost"}}</label>
|
<label class="property-label">{{localize "BOL.itemModifiers.powercost"}}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<input class="field-value" type="text" name="data.properties.modifiers.powercost" value="{{data.properties.modifiers.powercost}}" data-dtype="Number"/>
|
<input class="field-value" type="text" name="system.properties.modifiers.powercost" value="{{item.system.properties.modifiers.powercost}}" data-dtype="Number"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.itemModifiers.social"}}</label>
|
<label class="property-label">{{localize "BOL.itemModifiers.social"}}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.modifiers.social" {{checked data.properties.modifiers.social}}>
|
<input class="field-value" type="checkbox" name="system.properties.modifiers.social" {{checked item.system.properties.modifiers.social}}>
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
<div class="property flexrow">
|
<div class="property flexrow">
|
||||||
<label class="property-label">{{localize "BOL.ui.circle"}}</label>
|
<label class="property-label">{{localize "BOL.ui.circle"}}</label>
|
||||||
<select class="field-value" name="data.properties.circle" data-dtype="Number">
|
<select class="field-value" name="system.properties.circle" data-dtype="Number">
|
||||||
{{#select data.properties.circle}}
|
{{#select item.system.properties.circle}}
|
||||||
{{#each config.spellType as |value id|}}
|
{{#each config.spellType as |value id|}}
|
||||||
<option value="{{id}}">{{localize value}}</option>
|
<option value="{{id}}">{{localize value}}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
@ -13,8 +13,8 @@
|
|||||||
|
|
||||||
<div class="property flexrow">
|
<div class="property flexrow">
|
||||||
<label class="property-label">{{localize "BOL.ui.difficulty"}}</label>
|
<label class="property-label">{{localize "BOL.ui.difficulty"}}</label>
|
||||||
<select name="data.properties.difficulty" value="{{data.properties.difficulty}}">
|
<select name="system.properties.difficulty" value="{{item.system.properties.difficulty}}">
|
||||||
{{#select data.properties.difficulty}}
|
{{#select item.system.properties.difficulty}}
|
||||||
<option value="2">{{localize "BOL.dialog.veryeasy"}}</option>
|
<option value="2">{{localize "BOL.dialog.veryeasy"}}</option>
|
||||||
<option value="1">{{localize "BOL.dialog.easy"}}</option>
|
<option value="1">{{localize "BOL.dialog.easy"}}</option>
|
||||||
<option value="0">{{localize "BOL.dialog.moderate"}}</option>
|
<option value="0">{{localize "BOL.dialog.moderate"}}</option>
|
||||||
@ -29,18 +29,18 @@
|
|||||||
|
|
||||||
<div class="property flexrow">
|
<div class="property flexrow">
|
||||||
<label class="property-label">{{localize "BOL.ui.ppcost"}}</label>
|
<label class="property-label">{{localize "BOL.ui.ppcost"}}</label>
|
||||||
<input class="field-value" type="text" name="data.properties.ppcost" value="{{data.properties.ppcost}}" data-dtype="Number"/>
|
<input class="field-value" type="text" name="system.properties.ppcost" value="{{item.system.properties.ppcost}}" data-dtype="Number"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="property flexrow">
|
<div class="property flexrow">
|
||||||
<label class="property-label">{{localize "BOL.ui.duration"}}</label>
|
<label class="property-label">{{localize "BOL.ui.duration"}}</label>
|
||||||
<input class="field-value" type="text" name="data.properties.duration" value="{{data.properties.duration}}" data-dtype="String"/>
|
<input class="field-value" type="text" name="system.properties.duration" value="{{item.system.properties.duration}}" data-dtype="String"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="property flexrow">
|
<div class="property flexrow">
|
||||||
<label class="property-label">{{localize "BOL.ui.mandatoryconditions"}}</label>
|
<label class="property-label">{{localize "BOL.ui.mandatoryconditions"}}</label>
|
||||||
<select class="field-value" name="data.properties.nbmandatoryconditions" data-dtype="Number">
|
<select class="field-value" name="system.properties.nbmandatoryconditions" data-dtype="Number">
|
||||||
{{#select data.properties.nbmandatoryconditions}}
|
{{#select item.system.properties.nbmandatoryconditions}}
|
||||||
<option value="1">1</option>
|
<option value="1">1</option>
|
||||||
<option value="2">2</option>
|
<option value="2">2</option>
|
||||||
<option value="3">3</option>
|
<option value="3">3</option>
|
||||||
@ -49,19 +49,19 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{#each data.properties.mandatoryconditions as |cond idx|}}
|
{{#each item.system.properties.mandatoryconditions as |cond idx|}}
|
||||||
{{#if (lt idx @root.data.properties.nbmandatoryconditions)}}
|
{{#if (lt idx @root.item.system.properties.nbmandatoryconditions)}}
|
||||||
<div class="property flexrow">
|
<div class="property flexrow">
|
||||||
<label class="property-label">{{localize "BOL.ui.mandatoryconditions"}} {{add idx 1}}</label>
|
<label class="property-label">{{localize "BOL.ui.mandatoryconditions"}} {{add idx 1}}</label>
|
||||||
<input class="field-value" type="text" name="data.properties.mandatoryconditions.{{idx}}" value="{{cond}}" data-dtype="String"/>
|
<input class="field-value" type="text" name="system.properties.mandatoryconditions.{{idx}}" value="{{cond}}" data-dtype="String"/>
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/each}}
|
{{/each}}
|
||||||
|
|
||||||
<div class="property flexrow">
|
<div class="property flexrow">
|
||||||
<label class="property-label">{{localize "BOL.ui.optionnalconditions"}}</label>
|
<label class="property-label">{{localize "BOL.ui.optionnalconditions"}}</label>
|
||||||
<select class="field-value" name="data.properties.nboptionnalconditions" data-dtype="Number">
|
<select class="field-value" name="system.properties.nboptionnalconditions" data-dtype="Number">
|
||||||
{{#select data.properties.nboptionnalconditions}}
|
{{#select item.system.properties.nboptionnalconditions}}
|
||||||
<option value="1">1</option>
|
<option value="1">1</option>
|
||||||
<option value="2">2</option>
|
<option value="2">2</option>
|
||||||
<option value="3">3</option>
|
<option value="3">3</option>
|
||||||
@ -74,11 +74,11 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{#each data.properties.optionnalconditions as |cond idx|}}
|
{{#each item.system.optionnalconditions as |cond idx|}}
|
||||||
{{#if (lt idx @root.data.properties.nboptionnalconditions)}}
|
{{#if (lt idx @root.item.system.properties.nboptionnalconditions)}}
|
||||||
<div class="property flexrow">
|
<div class="property flexrow">
|
||||||
<label class="property-label">{{localize "BOL.ui.optionnalconditions"}} {{add idx 1}}</label>
|
<label class="property-label">{{localize "BOL.ui.optionnalconditions"}} {{add idx 1}}</label>
|
||||||
<input class="field-value" type="text" name="data.properties.optionnalconditions.{{idx}}" value="{{cond}}" data-dtype="String"/>
|
<input class="field-value" type="text" name="system.properties.optionnalconditions.{{idx}}" value="{{cond}}" data-dtype="String"/>
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{/each}}
|
{{/each}}
|
||||||
@ -86,12 +86,12 @@
|
|||||||
<div class="property flexrow">
|
<div class="property flexrow">
|
||||||
<div class="form-fields center">
|
<div class="form-fields center">
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.spellkeep" {{checked data.properties.spellkeep}}> {{localize "BOL.ui.spellkeep"}}
|
<input class="field-value" type="checkbox" name="system.properties.spellkeep" {{checked item.system.properties.spellkeep}}> {{localize "BOL.ui.spellkeep"}}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-fields center">
|
<div class="form-fields center">
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.concentrate" {{checked data.properties.concentrate}}> {{localize "BOL.ui.concentrate"}}
|
<input class="field-value" type="checkbox" name="system.properties.concentrate" {{checked item.system.properties.concentrate}}> {{localize "BOL.ui.concentrate"}}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -3,8 +3,8 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.ui.subtype"}}</label>
|
<label class="property-label">{{localize "BOL.ui.subtype"}}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<select name="data.subtype" data-dtype="String">
|
<select name="system.subtype" data-dtype="String">
|
||||||
{{#select data.subtype}}
|
{{#select item.system.subtype}}
|
||||||
{{#each config.vehicleSubtypes as |item id|}}
|
{{#each config.vehicleSubtypes as |item id|}}
|
||||||
<option value="{{id}}">{{localize item}}</option>
|
<option value="{{id}}">{{localize item}}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
@ -16,13 +16,13 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.ui.speed"}}</label>
|
<label class="property-label">{{localize "BOL.ui.speed"}}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<input class="field-value" type="text" name="data.properties.speed" value="{{data.properties.speed}}" data-dtype="Number"/>
|
<input class="field-value" type="text" name="system.properties.speed" value="{{item.system.properties.speed}}" data-dtype="Number"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.ui.price"}}</label>
|
<label class="property-label">{{localize "BOL.ui.price"}}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<input class="field-value" type="text" name="data.price" value="{{data.price}}" data-dtype="Number"/>
|
<input class="field-value" type="text" name="system.price" value="{{item.system.price}}" data-dtype="Number"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -3,16 +3,16 @@
|
|||||||
<label>{{localize "BOL.ui.reach"}}</label>
|
<label>{{localize "BOL.ui.reach"}}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.melee" {{checked data.properties.melee}}> {{localize "BOL.itemProperty.melee"}}
|
<input class="field-value" type="checkbox" name="system.properties.melee" {{checked item.system.properties.melee}}> {{localize "BOL.itemProperty.melee"}}
|
||||||
</label>
|
</label>
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.ranged" {{checked data.properties.ranged}}> {{localize "BOL.itemProperty.ranged"}}
|
<input class="field-value" type="checkbox" name="system.properties.ranged" {{checked item.system.properties.ranged}}> {{localize "BOL.itemProperty.ranged"}}
|
||||||
</label>
|
</label>
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.throwing" {{checked data.properties.throwing}}> {{localize "BOL.itemProperty.throwing"}}
|
<input class="field-value" type="checkbox" name="system.properties.throwing" {{checked item.system.properties.throwing}}> {{localize "BOL.itemProperty.throwing"}}
|
||||||
</label>
|
</label>
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.natural" {{checked data.properties.natural}}> {{localize "BOL.itemProperty.natural"}}
|
<input class="field-value" type="checkbox" name="system.properties.natural" {{checked item.system.properties.natural}}> {{localize "BOL.itemProperty.natural"}}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -21,44 +21,44 @@
|
|||||||
<label>{{localize "BOL.ui.properties"}}</label>
|
<label>{{localize "BOL.ui.properties"}}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.2H" {{checked data.properties.2H}}> {{localize "BOL.itemProperty.2H"}}
|
<input class="field-value" type="checkbox" name="system.properties.2H" {{checked item.system.properties.2H}}> {{localize "BOL.itemProperty.2H"}}
|
||||||
</label>
|
</label>
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.concealable" {{checked data.properties.concealable}}> {{localize "BOL.itemProperty.concealable"}}
|
<input class="field-value" type="checkbox" name="system.properties.concealable" {{checked item.system.properties.concealable}}> {{localize "BOL.itemProperty.concealable"}}
|
||||||
</label>
|
</label>
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.ignoreshield" {{checked data.properties.ignoreshield}}> {{localize "BOL.itemProperty.ignoreshield"}}
|
<input class="field-value" type="checkbox" name="system.properties.ignoreshield" {{checked item.system.properties.ignoreshield}}> {{localize "BOL.itemProperty.ignoreshield"}}
|
||||||
</label>
|
</label>
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.attackBonusDice" {{checked data.properties.attackBonusDice}}> {{localize "BOL.itemProperty.attackBonusDice"}}
|
<input class="field-value" type="checkbox" name="system.properties.attackBonusDice" {{checked item.system.properties.attackBonusDice}}> {{localize "BOL.itemProperty.attackBonusDice"}}
|
||||||
</label>
|
</label>
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.onlymodifier" {{checked data.properties.onlymodifier}}> {{localize "BOL.itemProperty.onlymodifier"}}
|
<input class="field-value" type="checkbox" name="system.properties.onlymodifier" {{checked item.system.properties.onlymodifier}}> {{localize "BOL.itemProperty.onlymodifier"}}
|
||||||
</label>
|
</label>
|
||||||
|
|
||||||
|
|
||||||
{{#if data.properties.ranged}}
|
{{#if item.system.properties.ranged}}
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.reloadable" {{checked data.properties.reloadable}}> {{localize "BOL.itemProperty.reloadable"}}
|
<input class="field-value" type="checkbox" name="system.properties.reloadable" {{checked item.system.properties.reloadable}}> {{localize "BOL.itemProperty.reloadable"}}
|
||||||
</label>
|
</label>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
{{#if data.properties.melee}}
|
{{#if item.system.properties.melee}}
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.bashing" {{checked data.properties.bashing}}> {{localize "BOL.itemProperty.bashing"}}
|
<input class="field-value" type="checkbox" name="system.properties.bashing" {{checked item.system.properties.bashing}}> {{localize "BOL.itemProperty.bashing"}}
|
||||||
</label>
|
</label>
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.throwable" {{checked data.properties.throwable}}> {{localize "BOL.itemProperty.throwable"}}
|
<input class="field-value" type="checkbox" name="system.properties.throwable" {{checked item.system.properties.throwable}}> {{localize "BOL.itemProperty.throwable"}}
|
||||||
</label>
|
</label>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr/>
|
<hr/>
|
||||||
{{#if (not data.properties.onlymodifier)}}
|
{{#if (not item.system.properties.onlymodifier)}}
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.itemProperty.attackAttribute"}}</label>
|
<label class="property-label">{{localize "BOL.itemProperty.attackAttribute"}}</label>
|
||||||
<div class="form-fields center">
|
<div class="form-fields center">
|
||||||
<select class="field-value" name="data.properties.attackAttribute" data-dtype="String">
|
<select class="field-value" name="system.properties.attackAttribute" data-dtype="String">
|
||||||
{{#select data.properties.attackAttribute}}
|
{{#select item.system.properties.attackAttribute}}
|
||||||
{{#each config.attackAttributes as |value id|}}
|
{{#each config.attackAttributes as |value id|}}
|
||||||
<option value="{{id}}">{{localize value}}</option>
|
<option value="{{id}}">{{localize value}}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
@ -69,8 +69,8 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.itemProperty.attackAptitude"}}</label>
|
<label class="property-label">{{localize "BOL.itemProperty.attackAptitude"}}</label>
|
||||||
<div class="form-fields center">
|
<div class="form-fields center">
|
||||||
<select class="field-value" name="data.properties.attackAptitude" data-dtype="String">
|
<select class="field-value" name="system.properties.attackAptitude" data-dtype="String">
|
||||||
{{#select data.properties.attackAptitude}}
|
{{#select item.system.properties.attackAptitude}}
|
||||||
{{#each config.attackAptitudes as |value id|}}
|
{{#each config.attackAptitudes as |value id|}}
|
||||||
<option value="{{id}}">{{localize value}}</option>
|
<option value="{{id}}">{{localize value}}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
@ -82,15 +82,15 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.itemProperty.attackModifiers"}}</label>
|
<label class="property-label">{{localize "BOL.itemProperty.attackModifiers"}}</label>
|
||||||
<div class="form-fields center">
|
<div class="form-fields center">
|
||||||
<input class="field-value" type="text" name="data.properties.attackModifiers" value="{{data.properties.attackModifiers}}" data-dtype="Number"/>
|
<input class="field-value" type="text" name="system.properties.attackModifiers" value="{{item.system.properties.attackModifiers}}" data-dtype="Number"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<hr/>
|
<hr/>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.itemProperty.weaponSize"}}</label>
|
<label class="property-label">{{localize "BOL.itemProperty.weaponSize"}}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<select class="field-value" name="data.properties.weaponSize" data-dtype="String">
|
<select class="field-value" name="system.properties.weaponSize" data-dtype="String">
|
||||||
{{#select data.properties.weaponSize}}
|
{{#select item.system.properties.weaponSize}}
|
||||||
{{#each config.weaponSizes as |value id|}}
|
{{#each config.weaponSizes as |value id|}}
|
||||||
<option value="{{id}}">{{localize value}}</option>
|
<option value="{{id}}">{{localize value}}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
@ -101,8 +101,8 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.itemProperty.damage"}}</label>
|
<label class="property-label">{{localize "BOL.itemProperty.damage"}}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<select class="field-value" name="data.properties.damage" data-dtype="String">
|
<select class="field-value" name="system.properties.damage" data-dtype="String">
|
||||||
{{#select data.properties.damage}}
|
{{#select item.system.properties.damage}}
|
||||||
{{#each config.damageValues as |value id|}}
|
{{#each config.damageValues as |value id|}}
|
||||||
<option value="{{id}}">{{value}}</option>
|
<option value="{{id}}">{{value}}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
@ -113,8 +113,8 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.itemProperty.damageAttribute"}}</label>
|
<label class="property-label">{{localize "BOL.itemProperty.damageAttribute"}}</label>
|
||||||
<div class="form-fields center">
|
<div class="form-fields center">
|
||||||
<select class="field-value" name="data.properties.damageAttribute" data-dtype="String">
|
<select class="field-value" name="system.properties.damageAttribute" data-dtype="String">
|
||||||
{{#select data.properties.damageAttribute}}
|
{{#select item.system.properties.damageAttribute}}
|
||||||
{{#each config.damageAttributes as |value id|}}
|
{{#each config.damageAttributes as |value id|}}
|
||||||
<option value="{{id}}">{{localize value}}</option>
|
<option value="{{id}}">{{localize value}}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
@ -125,14 +125,14 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.itemProperty.damageModifiers"}}</label>
|
<label class="property-label">{{localize "BOL.itemProperty.damageModifiers"}}</label>
|
||||||
<div class="form-fields center">
|
<div class="form-fields center">
|
||||||
<input class="field-value" type="text" name="data.properties.damageModifiers" value="{{data.properties.damageModifiers}}" data-dtype="Number"/>
|
<input class="field-value" type="text" name="system.properties.damageModifiers" value="{{item.system.properties.damageModifiers}}" data-dtype="Number"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.itemProperty.damageMultiplier"}}</label>
|
<label class="property-label">{{localize "BOL.itemProperty.damageMultiplier"}}</label>
|
||||||
<div class="form-fields center">
|
<div class="form-fields center">
|
||||||
<select class="field-value" name="data.properties.damageMultiplier" data-dtype="String">
|
<select class="field-value" name="system.properties.damageMultiplier" data-dtype="String">
|
||||||
{{#select data.properties.damageMultiplier}}
|
{{#select item.system.properties.damageMultiplier}}
|
||||||
{{#each config.damageMultiplier as |value id|}}
|
{{#each config.damageMultiplier as |value id|}}
|
||||||
<option value="{{id}}">{{value}}</option>
|
<option value="{{id}}">{{value}}</option>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
@ -144,17 +144,17 @@
|
|||||||
<label class="property-label">{{localize "BOL.itemProperty.damageSpecial"}}</label>
|
<label class="property-label">{{localize "BOL.itemProperty.damageSpecial"}}</label>
|
||||||
<div class="form-fields center">
|
<div class="form-fields center">
|
||||||
<label class="checkbox">
|
<label class="checkbox">
|
||||||
<input class="field-value" type="checkbox" name="data.properties.damageReroll1" {{checked data.properties.damageReroll1}}> {{localize "BOL.itemProperty.damageReroll1"}}
|
<input class="field-value" type="checkbox" name="system.properties.damageReroll1" {{checked item.system.properties.damageReroll1}}> {{localize "BOL.itemProperty.damageReroll1"}}
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{#if (or data.properties.throwing (or data.properties.ranged data.properties.throwable))}}
|
{{#if (or item.system.properties.throwing (or item.system.properties.ranged item.system.properties.throwable))}}
|
||||||
<hr/>
|
<hr/>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.itemProperty.range"}}</label>
|
<label class="property-label">{{localize "BOL.itemProperty.range"}}</label>
|
||||||
<div class="form-fields center">
|
<div class="form-fields center">
|
||||||
<input class="field-value" type="text" name="data.properties.range" value="{{data.properties.range}}" data-dtype="Number"/>
|
<input class="field-value" type="text" name="system.properties.range" value="{{item.system.properties.range}}" data-dtype="Number"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
@ -162,7 +162,7 @@
|
|||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label class="property-label">{{localize "BOL.itemProperty.reload"}}</label>
|
<label class="property-label">{{localize "BOL.itemProperty.reload"}}</label>
|
||||||
<div class="form-fields center">
|
<div class="form-fields center">
|
||||||
<input class="field-value" type="text" name="data.properties.reload" value="{{data.properties.reload}}" data-dtype="Number"/>
|
<input class="field-value" type="text" name="system.properties.reload" value="{{item.system.properties.reload}}" data-dtype="Number"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
Reference in New Issue
Block a user