Minor fix for chronicles v1

This commit is contained in:
2025-12-04 18:26:26 +01:00
parent 6de15eeda7
commit 3fa5ca66d1
7 changed files with 285 additions and 115 deletions

View File

@@ -958,7 +958,7 @@ body.system-bol img#logo {
}
.journal-page-content {
color: rgba(0, 0, 0, 0.95);
/*color: rgba(0, 0, 0, 0.95);*/
}
.bol.sheet.actor .window-content form .sidebar .profile-img {

View File

@@ -290,6 +290,7 @@
"BOL.itemProperty.difficulty": "Schwierigkeit",
"BOL.itemProperty.natural": "Natürliche Waffe",
"BOL.itemProperty.onlymodifier": "Nur Modifikator (d.h. Angriffe von Kreaturen)",
"BOL.itemProperty.attackMalusDice": "Angriffsmalus (Würfel)",
"BOL.itemStat.quantity": "Anzahl",
"BOL.itemStat.weight": "Gewicht",

View File

@@ -365,6 +365,7 @@
"BOL.itemProperty.difficulty": "Difficulty",
"BOL.itemProperty.natural": "Natural weapon",
"BOL.itemProperty.onlymodifier": "Modifier only (ie creatures attacks)",
"BOL.itemProperty.attackMalusDice": "Attack Malus (Dice)",
"BOL.itemStat.quantity": "Quantity",
"BOL.itemStat.weight": "Weight",

View File

@@ -359,6 +359,7 @@
"BOL.itemProperty.difficulty": "Dificultad",
"BOL.itemProperty.natural": "Arma natural",
"BOL.itemProperty.onlymodifier": "Sólo modificador (ej criatura)",
"BOL.itemProperty.attackMalusDice": "Dado Desventaja Ataque",
"BOL.itemStat.quantity": "Cantidad",
"BOL.itemStat.weight": "Peso",

View File

@@ -394,6 +394,7 @@
"BOL.itemProperty.isboarding": "Abordage",
"BOL.itemProperty.isspur": "Eperonnage",
"BOL.itemProperty.isbreakrow": "Briser les rames",
"BOL.itemProperty.attackMalusDice": "Malus d'attaque (Dés)",
"BOL.itemStat.quantity": "Quantité",
"BOL.itemStat.weight": "Poids",

View File

@@ -19,9 +19,9 @@ export class BoLRoll {
static updateApplicableEffects(rollData) {
let appEffects = []
for (let effect of rollData.bolEffects) {
if ( (effect.system.properties.identifier == "always") ||
if ((effect.system.properties.identifier == "always") ||
(effect.system.properties.identifier.includes(rollData.attribute.key)) ||
(rollData.aptitude && effect.system.properties.identifier.includes(rollData.aptitude.key)) ){
(rollData.aptitude && effect.system.properties.identifier.includes(rollData.aptitude.key))) {
appEffects.push(effect)
}
}
@@ -76,7 +76,7 @@ export class BoLRoll {
}
/* -------------------------------------------- */
static attributeCheck(actor, key="vigor", event=undefined, combatData=undefined) {
static attributeCheck(actor, key = "vigor", event = undefined, combatData = undefined) {
let attribute = eval(`actor.system.attributes.${key}`)
@@ -89,7 +89,7 @@ export class BoLRoll {
}
/* -------------------------------------------- */
static aptitudeCheck(actor, key="init", event=undefined, combatData=undefined) {
static aptitudeCheck(actor, key = "init", event = undefined, combatData = undefined) {
let aptitude = eval(`actor.system.aptitudes.${key}`)
let attrKey = this.getDefaultAttribute(key)
@@ -482,10 +482,15 @@ export class BoLRoll {
if (rollData.mode == "weapon") {
rollData.weaponModifier = rollData.weapon.system.properties.attackModifiers ?? 0
rollData.attackBonusDice = rollData.weapon.system.properties.attackBonusDice
rollData.attackMalusDice = rollData.weapon.system.properties.attackMalusDice
if (rollData.attackBonusDice) {
rollData.adv = "1B"
rollData.bDice = 1
}
if (rollData.attackMalusDice) {
rollData.adv = "1M"
rollData.mDice = 1
}
if (defender) { // If target is selected
rollData.defence = defender.defenseValue
rollData.armorMalus = defender.armorMalusValue
@@ -534,6 +539,7 @@ export class BoLRoll {
rollData.id = foundry.utils.randomID(16)
rollData.weaponModifier = 0
rollData.attackBonusDice = false
rollData.attackMalusDice = false
rollData.armorMalus = 0
// Specific stuff
this.preProcessWeapon(rollData, defender)
@@ -634,7 +640,7 @@ export class BoLDefaultRoll {
const diceTotal = activeDice.map(r => r.result).reduce((a, b) => a + b)
this.rollData.roll = r
this.rollData.isFumble = (diceTotal <= diceData.criticalFailureValue)
if ( this.rollData.isFumble ) {
if (this.rollData.isFumble) {
this.rollData.isSuccess = false
this.rollData.isCritical = false
this.rollData.isRealCritical = false
@@ -642,7 +648,7 @@ export class BoLDefaultRoll {
this.rollData.isFailure = true
} else {
this.rollData.isCritical = (diceTotal >= diceData.criticalSuccessValue)
if ( this.rollData.isCritical) {
if (this.rollData.isCritical) {
this.rollData.isSuccess = true
} else {
this.rollData.isSuccess = (r.total >= diceData.successValue)

View File

@@ -3,20 +3,40 @@
<label>{{localize "BOL.ui.reach"}}</label>
<div class="form-fields">
<label class="checkbox">
<input class="field-value" type="checkbox" name="system.properties.melee" {{checked
item.system.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 class="checkbox">
<input class="field-value" type="checkbox" name="system.properties.ranged" {{checked
item.system.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 class="checkbox">
<input class="field-value" type="checkbox" name="system.properties.throwing" {{checked
item.system.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 class="checkbox">
<input class="field-value" type="checkbox" name="system.properties.natural" {{checked
item.system.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>
</div>
</div>
@@ -25,138 +45,278 @@
<label>{{localize "BOL.ui.properties"}}</label>
<div class="form-fields">
<label class="checkbox">
<input class="field-value" type="checkbox" name="system.properties.2H" {{checked item.system.properties.2H}}>
<input
class="field-value"
type="checkbox"
name="system.properties.2H"
{{checked item.system.properties.2H}}
/>
{{localize "BOL.itemProperty.2H"}}
</label>
<label class="checkbox">
<input class="field-value" type="checkbox" name="system.properties.concealable" {{checked
item.system.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 class="checkbox">
<input class="field-value" type="checkbox" name="system.properties.ignoreshield" {{checked
item.system.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 class="checkbox">
<input class="field-value" type="checkbox" name="system.properties.attackBonusDice" {{checked
item.system.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 class="checkbox">
<input class="field-value" type="checkbox" name="system.properties.onlymodifier" {{checked
item.system.properties.onlymodifier}}> {{localize "BOL.itemProperty.onlymodifier"}}
<input
class="field-value"
type="checkbox"
name="system.properties.attackMalusDice"
{{checked item.system.properties.attackMalusDice}}
/>
{{localize "BOL.itemProperty.attackMalusDice"}}
</label>
<label class="checkbox">
<input
class="field-value"
type="checkbox"
name="system.properties.onlymodifier"
{{checked item.system.properties.onlymodifier}}
/>
{{localize "BOL.itemProperty.onlymodifier"}}
</label>
{{#if item.system.properties.ranged}}
<label class="checkbox">
<input class="field-value" type="checkbox" name="system.properties.reloadable" {{checked
item.system.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>
{{/if}}
{{#if item.system.properties.melee}}
<label class="checkbox">
<input class="field-value" type="checkbox" name="system.properties.bashing" {{checked
item.system.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 class="checkbox">
<input class="field-value" type="checkbox" name="system.properties.throwable" {{checked
item.system.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>
{{/if}}
</div>
</div>
<hr />
{{#if (not item.system.properties.onlymodifier)}}
<div class="form-group">
<label class="property-label">{{localize "BOL.itemProperty.attackAttribute"}}</label>
<div class="form-group">
<label class="property-label">{{localize
"BOL.itemProperty.attackAttribute"
}}</label>
<div class="form-fields center">
<select class="field-value" name="system.properties.attackAttribute" data-dtype="String">
{{selectOptions config.attackAttributes selected=item.system.properties.attackAttribute localize=true}}
<select
class="field-value"
name="system.properties.attackAttribute"
data-dtype="String"
>
{{selectOptions
config.attackAttributes
selected=item.system.properties.attackAttribute
localize=true
}}
</select>
</div>
</div>
<div class="form-group">
<label class="property-label">{{localize "BOL.itemProperty.attackAptitude"}}</label>
</div>
<div class="form-group">
<label class="property-label">{{localize
"BOL.itemProperty.attackAptitude"
}}</label>
<div class="form-fields center">
<select class="field-value" name="system.properties.attackAptitude" data-dtype="String">
{{selectOptions config.attackAptitudes selected=item.system.properties.attackAptitude localize=true}}
<select
class="field-value"
name="system.properties.attackAptitude"
data-dtype="String"
>
{{selectOptions
config.attackAptitudes
selected=item.system.properties.attackAptitude
localize=true
}}
</select>
</div>
</div>
</div>
{{/if}}
<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">
<input class="field-value" type="text" name="system.properties.attackModifiers"
value="{{item.system.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>
<hr />
<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">
<select class="field-value" name="system.properties.weaponSize" data-dtype="String">
{{selectOptions config.weaponSizes selected=item.system.properties.weaponSize localize=true}}
<select
class="field-value"
name="system.properties.weaponSize"
data-dtype="String"
>
{{selectOptions
config.weaponSizes
selected=item.system.properties.weaponSize
localize=true
}}
</select>
</div>
</div>
<div class="form-group">
<label class="property-label">{{localize "BOL.itemProperty.damage"}}</label>
<div class="form-fields">
<select class="field-value" name="system.properties.damage" data-dtype="String">
{{selectOptions config.damageValues selected=item.system.properties.damage}}
<select
class="field-value"
name="system.properties.damage"
data-dtype="String"
>
{{selectOptions
config.damageValues
selected=item.system.properties.damage
}}
</select>
</div>
</div>
<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">
<select class="field-value" name="system.properties.damageAttribute" data-dtype="String">
{{selectOptions config.damageAttributes selected=item.system.properties.damageAttribute localize=true}}
<select
class="field-value"
name="system.properties.damageAttribute"
data-dtype="String"
>
{{selectOptions
config.damageAttributes
selected=item.system.properties.damageAttribute
localize=true
}}
</select>
</div>
</div>
<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">
<input class="field-value" type="text" name="system.properties.damageModifiers"
value="{{item.system.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 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">
<select class="field-value" name="system.properties.damageMultiplier" data-dtype="String">
{{selectOptions config.damageMultiplier selected=item.system.properties.damageMultiplier}}
<select
class="field-value"
name="system.properties.damageMultiplier"
data-dtype="String"
>
{{selectOptions
config.damageMultiplier
selected=item.system.properties.damageMultiplier
}}
</select>
</div>
</div>
<div class="form-group">
<label class="property-label">{{localize "BOL.itemProperty.damageSpecial"}}</label>
<label class="property-label">{{localize
"BOL.itemProperty.damageSpecial"
}}</label>
<div class="form-fields center">
<label class="checkbox">
<input class="field-value" type="checkbox" name="system.properties.damageReroll1" {{checked
item.system.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>
</div>
</div>
{{#if (or item.system.properties.throwing (or item.system.properties.ranged item.system.properties.throwable))}}
<hr />
<div class="form-group">
{{#if
(or
item.system.properties.throwing
(or item.system.properties.ranged item.system.properties.throwable)
)
}}
<hr />
<div class="form-group">
<label class="property-label">{{localize "BOL.itemProperty.range"}}</label>
<div class="form-fields center">
<input class="field-value" type="text" name="system.properties.range" value="{{item.system.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>
{{/if}}
{{#if item.system.properties.reloadable}}
<div class="form-group">
<div class="form-group">
<label class="property-label">{{localize "BOL.itemProperty.reload"}}</label>
<div class="form-fields center">
<input class="field-value" type="text" name="system.properties.reload" value="{{item.system.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>
{{/if}}