3 Commits

Author SHA1 Message Date
748c4480c9 Add armorRegular
All checks were successful
Release Creation / build (release) Successful in 1m7s
2025-11-24 19:49:15 +01:00
21dca4446f Fix starship agility
All checks were successful
Release Creation / build (release) Successful in 51s
2025-11-16 13:49:33 +01:00
6aa0b3a58d Fix robot weapon, and rework encumbrance
All checks were successful
Release Creation / build (release) Successful in 53s
2025-11-15 21:59:42 +01:00
20 changed files with 53 additions and 46 deletions

View File

@@ -622,6 +622,9 @@
"armorCritical": {
"label": "Armor (Crit.)"
},
"armorRegular": {
"label": "Armor (Reg.)"
},
"guns" : {
"label": "Guns"
},
@@ -728,6 +731,9 @@
"armorCritical": {
"label": "Armor (Crit.)"
},
"armorRegular": {
"label": "Armor (Reg.)"
},
"crew": {
"label": "Crew"
},

View File

@@ -199,7 +199,10 @@ export default class FTLNomadRoll extends Roll {
label: label,
callback: (event, button, dialog) => {
const output = Array.from(button.form.elements).reduce((obj, input) => {
if (input.name) obj[input.name] = input.value
if (input.name) {
// For checkboxes, use checked property instead of value
obj[input.name] = input.type === 'checkbox' ? input.checked : input.value
}
return obj
}, {})
return output
@@ -271,7 +274,7 @@ export default class FTLNomadRoll extends Roll {
options.skillModifier = Number(rollData.skillModifier) || 0
options.rangeModifier = Number(rollData.rangeModifier) || 0
options.numericModifierSelect = Number(rollData.numericModifierSelect) || 0
options.useVehicleBonus = rollData.useVehicleBonus !== "off" && rollData.useVehicleBonus !== false
options.useVehicleBonus = rollData.useVehicleBonus === true
options.finalModifier = options.numericModifier + options.skillModifier + options.rangeModifier
let mod = options.rollItem?.value || 0
mod += options.numericModifierSelect

View File

@@ -77,10 +77,7 @@ export default class FTLNomadProtagonist extends foundry.abstract.TypeDataModel
prepareDerivedData() {
super.prepareDerivedData();
let encMax = 10 + (2 * this.skills.physical.value)
if (encMax !== this.enc.max) {
this.enc.max = encMax
}
let encMax = this.enc.max // 10 + (2 * this.skills.physical.value)
let enc = 0
let armor = 0
for (let i of this.parent.items) {

View File

@@ -49,10 +49,8 @@ export default class FTLNomadRobot extends foundry.abstract.TypeDataModel {
prepareDerivedData() {
super.prepareDerivedData();
let encMax = this.durability + (2 * this.skills.physical.value)
if (encMax !== this.enc.max) {
this.enc.max = encMax
}
let encMax = this.enc.max // this.durability + (2 * this.skills.physical.value)
let enc = 0
for (let i of this.parent.items) {
if (i.system?.enc) {

View File

@@ -11,6 +11,7 @@ export default class FTLNomadStarship extends foundry.abstract.TypeDataModel {
schema.hullType = new fields.StringField({ required: true, initial: "small", choices: SYSTEM.STARSHIP_HULL })
schema.endurance = new fields.StringField({ required: true, initial: "" })
schema.armor = new fields.StringField({ required: true, initial: "" })
schema.armorRegular = new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 })
schema.armorCritical = new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 })
schema.crewList = new fields.ArrayField(new fields.StringField({ required: true }), { initial: [] })
schema.crewCapacity = new fields.StringField({ required: true, initial: "" })

View File

@@ -9,6 +9,7 @@ export default class FTLNomadVehicle extends foundry.abstract.TypeDataModel {
schema.agility = new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 })
schema.armor = new fields.StringField({ required: true, initial: "" })
schema.armorRegular = new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 })
schema.armorCritical = new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 })
schema.cargo = new fields.StringField({ required: true, initial: "" })
schema.crewList = new fields.ArrayField(new fields.StringField({ required: true }), { initial: [] })

View File

@@ -1 +1 @@
MANIFEST-000132
MANIFEST-000144

View File

@@ -1,7 +1,7 @@
2025/11/11-09:55:29.500472 7f0922ffd6c0 Recovering log #130
2025/11/11-09:55:29.510925 7f0922ffd6c0 Delete type=3 #128
2025/11/11-09:55:29.511008 7f0922ffd6c0 Delete type=0 #130
2025/11/11-12:13:09.876661 7f0920bff6c0 Level-0 table #135: started
2025/11/11-12:13:09.876709 7f0920bff6c0 Level-0 table #135: 0 bytes OK
2025/11/11-12:13:09.882679 7f0920bff6c0 Delete type=0 #133
2025/11/11-12:13:09.882804 7f0920bff6c0 Manual compaction at level-0 from '!folders!AuBtSOj1mJmh88qx' @ 72057594037927935 : 1 .. '!items!zv9dwgL3p7ThQn7j' @ 0 : 0; will stop at (end)
2025/11/24-19:41:43.032349 7f91477fe6c0 Recovering log #142
2025/11/24-19:41:43.121482 7f91477fe6c0 Delete type=3 #140
2025/11/24-19:41:43.121644 7f91477fe6c0 Delete type=0 #142
2025/11/24-19:48:51.201740 7f91467fc6c0 Level-0 table #147: started
2025/11/24-19:48:51.201811 7f91467fc6c0 Level-0 table #147: 0 bytes OK
2025/11/24-19:48:51.208431 7f91467fc6c0 Delete type=0 #145
2025/11/24-19:48:51.222941 7f91467fc6c0 Manual compaction at level-0 from '!folders!AuBtSOj1mJmh88qx' @ 72057594037927935 : 1 .. '!items!zv9dwgL3p7ThQn7j' @ 0 : 0; will stop at (end)

View File

@@ -1,7 +1,7 @@
2025/11/11-09:17:46.334216 7f0921ffb6c0 Recovering log #126
2025/11/11-09:17:46.344001 7f0921ffb6c0 Delete type=3 #124
2025/11/11-09:17:46.344052 7f0921ffb6c0 Delete type=0 #126
2025/11/11-09:53:31.537774 7f0920bff6c0 Level-0 table #131: started
2025/11/11-09:53:31.537826 7f0920bff6c0 Level-0 table #131: 0 bytes OK
2025/11/11-09:53:31.544859 7f0920bff6c0 Delete type=0 #129
2025/11/11-09:53:31.558512 7f0920bff6c0 Manual compaction at level-0 from '!folders!AuBtSOj1mJmh88qx' @ 72057594037927935 : 1 .. '!items!zv9dwgL3p7ThQn7j' @ 0 : 0; will stop at (end)
2025/11/16-13:42:15.516505 7f47817fa6c0 Recovering log #138
2025/11/16-13:42:15.531915 7f47817fa6c0 Delete type=3 #136
2025/11/16-13:42:15.531986 7f47817fa6c0 Delete type=0 #138
2025/11/16-13:48:27.487704 7f4780bff6c0 Level-0 table #143: started
2025/11/16-13:48:27.487749 7f4780bff6c0 Level-0 table #143: 0 bytes OK
2025/11/16-13:48:27.494893 7f4780bff6c0 Delete type=0 #141
2025/11/16-13:48:27.501327 7f4780bff6c0 Manual compaction at level-0 from '!folders!AuBtSOj1mJmh88qx' @ 72057594037927935 : 1 .. '!items!zv9dwgL3p7ThQn7j' @ 0 : 0; will stop at (end)

View File

@@ -1 +1 @@
MANIFEST-000110
MANIFEST-000122

View File

@@ -1,7 +1,7 @@
2025/11/11-09:55:29.516089 7f0921ffb6c0 Recovering log #108
2025/11/11-09:55:29.525977 7f0921ffb6c0 Delete type=3 #106
2025/11/11-09:55:29.526050 7f0921ffb6c0 Delete type=0 #108
2025/11/11-12:13:09.863976 7f0920bff6c0 Level-0 table #113: started
2025/11/11-12:13:09.864017 7f0920bff6c0 Level-0 table #113: 0 bytes OK
2025/11/11-12:13:09.870509 7f0920bff6c0 Delete type=0 #111
2025/11/11-12:13:09.882783 7f0920bff6c0 Manual compaction at level-0 from '!actors!0FQ6XaRi24OorI21' @ 72057594037927935 : 1 .. '!folders!vRnrOJqSMlxbSgyX' @ 0 : 0; will stop at (end)
2025/11/24-19:41:43.155366 7f9146ffd6c0 Recovering log #120
2025/11/24-19:41:43.249081 7f9146ffd6c0 Delete type=3 #118
2025/11/24-19:41:43.249224 7f9146ffd6c0 Delete type=0 #120
2025/11/24-19:48:51.208632 7f91467fc6c0 Level-0 table #125: started
2025/11/24-19:48:51.208686 7f91467fc6c0 Level-0 table #125: 0 bytes OK
2025/11/24-19:48:51.216157 7f91467fc6c0 Delete type=0 #123
2025/11/24-19:48:51.222968 7f91467fc6c0 Manual compaction at level-0 from '!actors!0FQ6XaRi24OorI21' @ 72057594037927935 : 1 .. '!folders!vRnrOJqSMlxbSgyX' @ 0 : 0; will stop at (end)

View File

@@ -1,7 +1,7 @@
2025/11/11-09:17:46.347112 7f09217fa6c0 Recovering log #104
2025/11/11-09:17:46.357554 7f09217fa6c0 Delete type=3 #102
2025/11/11-09:17:46.357636 7f09217fa6c0 Delete type=0 #104
2025/11/11-09:53:31.551245 7f0920bff6c0 Level-0 table #109: started
2025/11/11-09:53:31.551306 7f0920bff6c0 Level-0 table #109: 0 bytes OK
2025/11/11-09:53:31.558404 7f0920bff6c0 Delete type=0 #107
2025/11/11-09:53:31.558535 7f0920bff6c0 Manual compaction at level-0 from '!actors!0FQ6XaRi24OorI21' @ 72057594037927935 : 1 .. '!folders!vRnrOJqSMlxbSgyX' @ 0 : 0; will stop at (end)
2025/11/16-13:42:15.536081 7f4781ffb6c0 Recovering log #116
2025/11/16-13:42:15.550548 7f4781ffb6c0 Delete type=3 #114
2025/11/16-13:42:15.550621 7f4781ffb6c0 Delete type=0 #116
2025/11/16-13:48:27.494999 7f4780bff6c0 Level-0 table #121: started
2025/11/16-13:48:27.495027 7f4780bff6c0 Level-0 table #121: 0 bytes OK
2025/11/16-13:48:27.501164 7f4780bff6c0 Delete type=0 #119
2025/11/16-13:48:27.501339 7f4780bff6c0 Manual compaction at level-0 from '!actors!0FQ6XaRi24OorI21' @ 72057594037927935 : 1 .. '!folders!vRnrOJqSMlxbSgyX' @ 0 : 0; will stop at (end)

View File

@@ -26,8 +26,9 @@
src="{{item.img}}"
data-tooltip="{{item.name}}"
/>
<i class="fa-regular fa-dice"></i>
<div
class="name"
class="name rollable"
data-roll-type="weapon"
data-tooltip="{{{item.system.description}}}"
>

View File

@@ -31,7 +31,7 @@
{{/if}}
{{#if isEncumbered}}
<div class="dialog-skill red-warning">Encumbered : -1D</div>
<div class="dialog-skill red-warning">Encumbered : -1D for Physical Attacks</div>
{{/if}}
</fieldSet>

View File

@@ -24,8 +24,8 @@
}}
{{formField
systemFields.armor
value=system.armor
systemFields.armorRegular
value=system.armorRegular
localize=true
disabled=isPlayMode
}}

View File

@@ -21,8 +21,8 @@
disabled=isPlayMode
}}
{{formField
systemFields.armor
value=system.armor
systemFields.armorRegular
value=system.armorRegular
localize=true
disabled=isPlayMode
}}