1 Commits

Author SHA1 Message Date
0874507025 Fixes for damages + vehicle/ship ehancements
All checks were successful
Release Creation / build (release) Successful in 1m21s
2025-10-13 23:21:13 +02:00
24 changed files with 256 additions and 124 deletions

View File

@@ -1104,6 +1104,9 @@ i.fvtt-ftl-nomad {
.fvtt-ftl-nomad .vehicle-description .field-label {
margin-left: 8px;
}
.fvtt-ftl-nomad .vehicle-description .section-editor {
min-height: 10rem;
}
.fvtt-ftl-nomad .vehicle-description .biodata {
display: grid;
grid-template-columns: repeat(2, 1fr);
@@ -1408,6 +1411,9 @@ i.fvtt-ftl-nomad {
.fvtt-ftl-nomad .starship-description .field-label {
margin-left: 8px;
}
.fvtt-ftl-nomad .starship-description .section-editor {
min-height: 10rem;
}
.fvtt-ftl-nomad .starship-description .biodata {
display: grid;
grid-template-columns: repeat(2, 1fr);

View File

@@ -351,8 +351,9 @@
}
},
"Label": {
"techAge": "Tech Age",
"formula": "Formula",
"damages": "Damages",
"damages": "Damage",
"modifications": "Modifications",
"abilities": "Abilities",
"Details": "Details",
@@ -512,6 +513,9 @@
"Carrier": "Carrier"
},
"FIELDS": {
"techAge": {
"label": "Tech Age"
},
"monthlyCost": {
"label": "Monthly Cost"
},
@@ -590,7 +594,7 @@
"addPsionic" : "Add Psionic",
"addCreatureAbility" : "Add Creature Ability",
"addCreatureTrait" : "Add Creature Trait",
"damages": "Enter current damages suffered"
"damages": "Enter current damage suffered"
},
"Vehicle": {
"FIELDS": {
@@ -626,6 +630,9 @@
},
"notes": {
"label": "Notes"
},
"techAge": {
"label": "Tech Age"
}
}
},

View File

@@ -62,10 +62,14 @@ export default class FTLNomadRoll extends Roll {
static updateFullFormula(options) {
let fullFormula
let mod = options.rollItem?.value || 0
fullFormula = `${options.formula} + ${options.skillModifier}D + ${mod} + ${options.rangeModifier}D + ${options.numericModifier}D`
if (options.rollType === "damage") {
fullFormula = `${options.formula} + ${options.skillModifier}D6 `
} else {
let mod = options.rollItem?.value || 0
fullFormula = `${options.formula} + ${options.skillModifier}D + ${mod} + ${options.rangeModifier}D + ${options.numericModifier}D`
}
// Replace all the "+ -" with "-"
fullFormula = fullFormula.replace(/\+\s*-/g, "- ")
fullFormula = fullFormula.replace(/\+\s*\-/g, "- ")
$('#roll-dialog-full-formula').text(fullFormula)
options.fullFormula = fullFormula
}
@@ -229,17 +233,18 @@ export default class FTLNomadRoll extends Roll {
// Replace the D6 by the correct number of D6
damageFormula = damageFormula.replace(/(\d*)d6/gi, (match, p1) => {
let numDice = Number(p1) || 1
numDice += Math.abs(options.skillModifier)
return `${numDice}d6`
numDice += Number(options.skillModifier)
//numDice += options?.finalModifier || 0
return `${numDice}d6 + ${mod}`
})
diceFormula = damageFormula
} else {
diceFormula = `${2 + Math.abs(options.finalModifier)}D6`
}
if (options.finalModifier > 0) {
diceFormula += `kh2 + ${mod}`
} else {
diceFormula += `kl2 + ${mod}`
if (options.finalModifier > 0) {
diceFormula += `kh2 + ${mod}`
} else {
diceFormula += `kl2 + ${mod}`
}
}
console.log("FTLNomadRoll | Rolling ", diceFormula, options, rollData)

View File

@@ -15,9 +15,10 @@ export default class FTLNomadStarship extends foundry.abstract.TypeDataModel {
schema.cargo = new fields.StringField({ required: true, initial: "" })
schema.guns = new fields.StringField({ required: true, initial: "1d6" })
schema.travelMultiplier = new fields.StringField({ required: true, initial: "" })
schema.cost = new fields.NumberField({ required: true, initial: 0, min: 0 })
schema.monthlyCost = new fields.NumberField({ required: true, initial: 0, min: 0 })
schema.cost = new fields.StringField({ required: true, initial: "0" })
schema.monthlyCost = new fields.StringField({ required: true, initial: "0" })
schema.damages = new fields.StringField({ required: true, initial: "" })
schema.techAge = new fields.StringField({ required: true, choices: SYSTEM.TECH_AGES, initial: "lateatomic" })
schema.description = new fields.HTMLField({ required: true, textSearch: true })
schema.modifications = new fields.HTMLField({ required: true, textSearch: true })

View File

@@ -14,11 +14,11 @@ export default class FTLNomadVehicle extends foundry.abstract.TypeDataModel {
schema.force = new fields.NumberField({ ...requiredInteger, initial: 1, min: 1 })
schema.range = new fields.StringField({ required: true, initial: "1d6" })
schema.speed = new fields.StringField({ required: true, initial: "1d6" })
schema.techAge = new fields.StringField({ required: true, initial: "1d6" })
schema.techAge = new fields.StringField({ required: true, choices: SYSTEM.TECH_AGES, initial: "lateatomic" })
schema.tonnage = new fields.StringField({ required: true, initial: "" })
schema.damages = new fields.StringField({ required: true, initial: "" })
schema.cost = new fields.NumberField({ required: true, initial: 0, min: 0 })
schema.cost = new fields.StringField({ required: true, initial: "0" })
schema.description = new fields.HTMLField({ required: true, textSearch: true })
schema.notes = new fields.HTMLField({ required: true, textSearch: true })

View File

@@ -8,14 +8,14 @@ export default class FTLNomadWeapon extends foundry.abstract.TypeDataModel {
schema.description = new fields.HTMLField({ required: true, textSearch: true })
schema.techAge = new fields.StringField({ required: true, choices: SYSTEM.TECH_AGES, initial : "lateatomic" })
schema.techAge = new fields.StringField({ required: true, choices: SYSTEM.TECH_AGES, initial: "lateatomic" })
schema.weaponType = new fields.StringField({ required: true, initial: "melee", choices: SYSTEM.WEAPON_TYPES })
schema.rangeType = new fields.StringField({ required: true, initial: "melee", choices: SYSTEM.WEAPON_RANGE })
schema.damage = new fields.StringField({required: true, initial: "1d6"})
schema.damage = new fields.StringField({ required: true, initial: "1d6" })
schema.magazine = new fields.NumberField({ required: true, initial: 1, min: 0 })
schema.range = new fields.SchemaField({
schema.range = new fields.SchemaField({
close: new fields.NumberField({ ...requiredInteger, initial: 0 }),
near: new fields.NumberField({ ...requiredInteger, initial: 0 }),
far: new fields.NumberField({ ...requiredInteger, initial: 0 }),
@@ -23,7 +23,7 @@ export default class FTLNomadWeapon extends foundry.abstract.TypeDataModel {
})
schema.enc = new fields.NumberField({ required: true, initial: 1, min: 0 })
schema.aspect = new fields.StringField({ required: true, initial: ""})
schema.aspect = new fields.StringField({ required: true, initial: "" })
schema.cost = new fields.NumberField({ required: true, initial: 0, min: 0 })
schema.ammoCost = new fields.NumberField({ required: true, initial: 0, min: 0 })

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000051
MANIFEST-000069

View File

@@ -1,7 +1,11 @@
2025/08/26-08:04:22.211637 7f99c9ffb6c0 Recovering log #48
2025/08/26-08:04:22.223370 7f99c9ffb6c0 Delete type=3 #46
2025/08/26-08:04:22.223498 7f99c9ffb6c0 Delete type=0 #48
2025/08/26-08:13:33.915174 7f99c8ff96c0 Level-0 table #54: started
2025/08/26-08:13:33.915296 7f99c8ff96c0 Level-0 table #54: 0 bytes OK
2025/08/26-08:13:33.948896 7f99c8ff96c0 Delete type=0 #52
2025/08/26-08:13:33.949217 7f99c8ff96c0 Manual compaction at level-0 from '!folders!AuBtSOj1mJmh88qx' @ 72057594037927935 : 1 .. '!items!zv9dwgL3p7ThQn7j' @ 0 : 0; will stop at (end)
2025/10/13-22:56:27.667573 7f189ffff6c0 Delete type=3 #1
2025/10/13-23:20:46.625534 7f189e7fc6c0 Level-0 table #72: started
2025/10/13-23:20:46.625575 7f189e7fc6c0 Level-0 table #72: 0 bytes OK
2025/10/13-23:20:46.631818 7f189e7fc6c0 Delete type=0 #70
2025/10/13-23:20:46.644541 7f189e7fc6c0 Manual compaction at level-0 from '!folders!AuBtSOj1mJmh88qx' @ 72057594037927935 : 1 .. '!items!zv9dwgL3p7ThQn7j' @ 0 : 0; will stop at '!items!zv9dwgL3p7ThQn7j' @ 385 : 1
2025/10/13-23:20:46.644551 7f189e7fc6c0 Compacting 1@0 + 0@1 files
2025/10/13-23:20:46.649604 7f189e7fc6c0 Generated table #73@0: 285 keys, 111653 bytes
2025/10/13-23:20:46.649622 7f189e7fc6c0 Compacted 1@0 + 0@1 files => 111653 bytes
2025/10/13-23:20:46.655618 7f189e7fc6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2025/10/13-23:20:46.655762 7f189e7fc6c0 Delete type=2 #67
2025/10/13-23:20:46.675801 7f189e7fc6c0 Manual compaction at level-0 from '!items!zv9dwgL3p7ThQn7j' @ 385 : 1 .. '!items!zv9dwgL3p7ThQn7j' @ 0 : 0; will stop at (end)

View File

@@ -1,11 +1,4 @@
2025/08/25-21:48:36.909732 7f99c9ffb6c0 Delete type=3 #1
2025/08/25-21:56:45.440471 7f99c8ff96c0 Level-0 table #49: started
2025/08/25-21:56:45.440527 7f99c8ff96c0 Level-0 table #49: 0 bytes OK
2025/08/25-21:56:45.504826 7f99c8ff96c0 Delete type=0 #47
2025/08/25-21:56:45.558056 7f99c8ff96c0 Manual compaction at level-0 from '!folders!AuBtSOj1mJmh88qx' @ 72057594037927935 : 1 .. '!items!zv9dwgL3p7ThQn7j' @ 0 : 0; will stop at '!items!zv9dwgL3p7ThQn7j' @ 385 : 1
2025/08/25-21:56:45.558080 7f99c8ff96c0 Compacting 1@0 + 0@1 files
2025/08/25-21:56:45.590210 7f99c8ff96c0 Generated table #50@0: 285 keys, 111653 bytes
2025/08/25-21:56:45.590298 7f99c8ff96c0 Compacted 1@0 + 0@1 files => 111653 bytes
2025/08/25-21:56:45.648076 7f99c8ff96c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2025/08/25-21:56:45.648259 7f99c8ff96c0 Delete type=2 #44
2025/08/25-21:56:45.801444 7f99c8ff96c0 Manual compaction at level-0 from '!items!zv9dwgL3p7ThQn7j' @ 385 : 1 .. '!items!zv9dwgL3p7ThQn7j' @ 0 : 0; will stop at (end)
2025/10/13-22:56:27.556402 7f189ffff6c0 Log #65: 0 ops saved to Table #68 OK
2025/10/13-22:56:27.556458 7f189ffff6c0 Archiving /home/morr/foundry/foundrydata-v13/Data/systems/fvtt-ftl-nomad/packs/ftl-nomad-items/000065.log: OK
2025/10/13-22:56:27.556662 7f189ffff6c0 Table #67: 285 entries OK
2025/10/13-22:56:27.577220 7f189ffff6c0 **** Repaired leveldb /home/morr/foundry/foundrydata-v13/Data/systems/fvtt-ftl-nomad/packs/ftl-nomad-items; recovered 1 files; 111653 bytes. Some data may have been lost. ****

Binary file not shown.

View File

@@ -1 +1 @@
MANIFEST-000029
MANIFEST-000047

View File

@@ -1,7 +1,11 @@
2025/08/26-08:04:22.229470 7f99caffd6c0 Recovering log #26
2025/08/26-08:04:22.240597 7f99caffd6c0 Delete type=3 #24
2025/08/26-08:04:22.240743 7f99caffd6c0 Delete type=0 #26
2025/08/26-08:13:33.840012 7f99c8ff96c0 Level-0 table #32: started
2025/08/26-08:13:33.840112 7f99c8ff96c0 Level-0 table #32: 0 bytes OK
2025/08/26-08:13:33.862575 7f99c8ff96c0 Delete type=0 #30
2025/08/26-08:13:33.949166 7f99c8ff96c0 Manual compaction at level-0 from '!actors!3pydTJsM73Z4o0V6' @ 72057594037927935 : 1 .. '!folders!vRnrOJqSMlxbSgyX' @ 0 : 0; will stop at (end)
2025/10/13-22:56:27.777302 7f189ffff6c0 Delete type=3 #1
2025/10/13-23:20:46.638242 7f189e7fc6c0 Level-0 table #50: started
2025/10/13-23:20:46.638279 7f189e7fc6c0 Level-0 table #50: 0 bytes OK
2025/10/13-23:20:46.644407 7f189e7fc6c0 Delete type=0 #48
2025/10/13-23:20:46.655963 7f189e7fc6c0 Manual compaction at level-0 from '!actors!3pydTJsM73Z4o0V6' @ 72057594037927935 : 1 .. '!folders!vRnrOJqSMlxbSgyX' @ 0 : 0; will stop at '!folders!vRnrOJqSMlxbSgyX' @ 92 : 1
2025/10/13-23:20:46.655974 7f189e7fc6c0 Compacting 1@0 + 0@1 files
2025/10/13-23:20:46.659684 7f189e7fc6c0 Generated table #51@0: 51 keys, 49087 bytes
2025/10/13-23:20:46.659713 7f189e7fc6c0 Compacted 1@0 + 0@1 files => 49087 bytes
2025/10/13-23:20:46.665961 7f189e7fc6c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2025/10/13-23:20:46.666034 7f189e7fc6c0 Delete type=2 #45
2025/10/13-23:20:46.682181 7f189e7fc6c0 Manual compaction at level-0 from '!folders!vRnrOJqSMlxbSgyX' @ 92 : 1 .. '!folders!vRnrOJqSMlxbSgyX' @ 0 : 0; will stop at (end)

View File

@@ -1,11 +1,4 @@
2025/08/25-21:48:36.994202 7f99ca7fc6c0 Delete type=3 #1
2025/08/25-21:56:45.505125 7f99c8ff96c0 Level-0 table #27: started
2025/08/25-21:56:45.505238 7f99c8ff96c0 Level-0 table #27: 0 bytes OK
2025/08/25-21:56:45.557727 7f99c8ff96c0 Delete type=0 #25
2025/08/25-21:56:45.648499 7f99c8ff96c0 Manual compaction at level-0 from '!actors!3pydTJsM73Z4o0V6' @ 72057594037927935 : 1 .. '!folders!vRnrOJqSMlxbSgyX' @ 0 : 0; will stop at '!folders!vRnrOJqSMlxbSgyX' @ 92 : 1
2025/08/25-21:56:45.648514 7f99c8ff96c0 Compacting 1@0 + 0@1 files
2025/08/25-21:56:45.676577 7f99c8ff96c0 Generated table #28@0: 51 keys, 49087 bytes
2025/08/25-21:56:45.676616 7f99c8ff96c0 Compacted 1@0 + 0@1 files => 49087 bytes
2025/08/25-21:56:45.736809 7f99c8ff96c0 compacted to: files[ 0 1 0 0 0 0 0 ]
2025/08/25-21:56:45.736931 7f99c8ff96c0 Delete type=2 #22
2025/08/25-21:56:45.801488 7f99c8ff96c0 Manual compaction at level-0 from '!folders!vRnrOJqSMlxbSgyX' @ 92 : 1 .. '!folders!vRnrOJqSMlxbSgyX' @ 0 : 0; will stop at (end)
2025/10/13-22:56:27.671453 7f189ffff6c0 Log #43: 0 ops saved to Table #46 OK
2025/10/13-22:56:27.671525 7f189ffff6c0 Archiving /home/morr/foundry/foundrydata-v13/Data/systems/fvtt-ftl-nomad/packs/ftl-nomad-vehicles/000043.log: OK
2025/10/13-22:56:27.671630 7f189ffff6c0 Table #45: 51 entries OK
2025/10/13-22:56:27.705153 7f189ffff6c0 **** Repaired leveldb /home/morr/foundry/foundrydata-v13/Data/systems/fvtt-ftl-nomad/packs/ftl-nomad-vehicles; recovered 1 files; 49087 bytes. Some data may have been lost. ****

View File

@@ -42,7 +42,6 @@
max-width: 4rem;
}
}
}
.starship-right {
@@ -99,10 +98,8 @@
select {
max-width: 5rem;
}
}
.starship-infos {
display: flex;
flex-direction: column;
@@ -169,23 +166,25 @@
margin-left: 8px;
}
.section-editor {
min-height: 10rem;
}
.biodata {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 8px;
label {
min-width: 3.0rem;
min-width: 3rem;
}
.feature {
display: flex;
align-items: center;
gap: 4px;
min-width: 18rem;
max-width: 18rem;
display: flex;
align-items: center;
gap: 4px;
min-width: 18rem;
max-width: 18rem;
}
}
}
.tab.starship-equipment {

View File

@@ -136,7 +136,9 @@
.field-label {
margin-left: 8px;
}
.section-editor {
min-height: 10rem;
}
.biodata {
display: grid;

View File

@@ -2,7 +2,7 @@
"id": "fvtt-ftl-nomad",
"title": "Faster Than Light : Nomad",
"description": "Faster Than Light : Nomad is a system for Foundry VTT, based on the FTL system. It is a system for playing in a universe of space opera, where the players are the crew of a spaceship, traveling from planet to planet, from system to system, in search of adventure and fortune.",
"manifest": "https://www.uberwald.me/gitea/public/fvtt-ftl-nomad/raw/branch/main/system.json",
"manifest": "https://www.uberwald.me/gitea/uberwald/fvtt-ftl-nomad/releases/download/latest/system.json",
"download": "#{DOWNLOAD}#",
"url": "https://www.uberwald.me/gitea/public/fvtt-ftl-nomad",
"license": "LICENSE",

View File

@@ -1,22 +1,26 @@
<section class="tab starship-{{tab.id}} {{tab.cssClass}}" data-tab="{{tab.id}}" data-group="{{tab.group}}">
<fieldset>
{{formField systemFields.techAge value=system.techAge localize=true}}
</fieldset>
<fieldset>
<legend>{{localize "FTLNOMAD.Label.damages"}}</legend>
<textarea class="form-control" cols="66" rows="5" name="system.damages"
data-tooltip="{{localize "FTLNOMAD.Tooltip.damages"}}">{{system.damages}}</textarea>
</fieldset>
<fieldset>
<fieldset class="section-editor">
<legend>{{localize "FTLNOMAD.Label.description"}}</legend>
{{formInput systemFields.description enriched=enrichedDescription value=system.description name="system.description" toggled=true}}
</fieldset>
<fieldset>
<fieldset class="section-editor">
<legend>{{localize "FTLNOMAD.Label.modifications"}}</legend>
{{formInput systemFields.modifications enriched=enrichedModifications value=system.modifications name="system.modifications" toggled=true}}
</fieldset>
<fieldset>
<fieldset class="section-editor">
<legend>{{localize "FTLNOMAD.Label.notes"}}</legend>
{{formInput systemFields.notes enriched=enrichedNotes value=system.notes name="system.notes" toggled=true}}
</fieldset>

View File

@@ -1,52 +1,106 @@
<section class="tab vehicle-{{tab.id}} {{tab.cssClass}}" data-tab="{{tab.id}}" data-group="{{tab.group}}">
<section
class="tab vehicle-{{tab.id}} {{tab.cssClass}}"
data-tab="{{tab.id}}"
data-group="{{tab.group}}"
>
<div class="main-div">
<fieldset>
<legend>{{localize "FTLNOMAD.Label.weapons"}}{{#if isEditMode}}
<a class="action" data-tooltip="{{localize " FTLNOMAD.Tooltip.addWeapon"}}" data-tooltip-direction="UP"><i
class="fas fa-plus" data-action="createWeapon"></i></a>{{/if}}
<a
class="action"
data-tooltip="{{localize ' FTLNOMAD.Tooltip.addWeapon'}}"
data-tooltip-direction="UP"
><i class="fas fa-plus" data-action="createWeapon"></i></a>{{/if}}
</legend>
<div class="weapons">
{{#each weapons as |item|}}
{{!log 'weapon' this}}
<div class="weapon item" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-drag="true">
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
<div class="name rollable" data-roll-type="weapon" data-tooltip="{{{item.system.description}}}">
{{item.name}}
{{!log 'weapon' this}}
<div
class="weapon item"
data-item-id="{{item.id}}"
data-item-uuid="{{item.uuid}}"
data-drag="true"
>
<img
class="item-img"
src="{{item.img}}"
data-tooltip="{{item.name}}"
/>
<div
class="name rollable"
data-roll-type="weapon"
data-tooltip="{{{item.system.description}}}"
>
{{item.name}}
</div>
<a
class="damage rollable"
data-item-id="{{item.id}}"
data-action="roll"
data-roll-type="damage"
data-roll-value="{{item.system.damage}}"
>{{localize "FTLNOMAD.Label.damageShort"}}
:
{{item.system.damage}}</a>
<div class="controls">
<a
data-tooltip="{{localize 'FTLNOMAD.Edit'}}"
data-action="edit"
data-item-id="{{item.id}}"
data-item-uuid="{{item.uuid}}"
><i class="fas fa-edit"></i></a>
<a
data-tooltip="{{localize 'FTLNOMAD.Delete'}}"
data-action="delete"
data-item-id="{{item.id}}"
data-item-uuid="{{item.uuid}}"
><i class="fas fa-trash"></i></a>
</div>
</div>
<a class="damage rollable" data-item-id="{{item.id}}" data-action="roll" data-roll-type="damage"
data-roll-value="{{item.system.damage}}">{{localize "FTLNOMAD.Label.damageShort"}} :
{{item.system.damage}}</a>
<div class="controls">
<a data-tooltip="{{localize 'FTLNOMAD.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a>
<a data-tooltip="{{localize 'FTLNOMAD.Delete'}}" data-action="delete" data-item-id="{{item.id}}"
data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
</div>
</div>
{{/each}}
</div>
</fieldset>
<fieldset>
<legend>{{localize "FTLNOMAD.Label.equipment"}}{{#if isEditMode}}
<a class="action" data-tooltip="{{localize " FTLNOMAD.Tooltip.addEquipment"}}" data-tooltip-direction="UP"><i
class="fas fa-plus" data-action="createEquipment"></i></a>{{/if}}
<a
class="action"
data-tooltip="{{localize ' FTLNOMAD.Tooltip.addEquipment'}}"
data-tooltip-direction="UP"
><i class="fas fa-plus" data-action="createEquipment"></i></a>{{/if}}
</legend>
<div class="equipments">
{{#each equipments as |item|}}
{{!log 'armor' this}}
<div class="equipment" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}">
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
<div class="name" data-tooltip="{{{item.system.description}}}">
{{item.name}}
{{!log 'armor' this}}
<div
class="equipment"
data-item-id="{{item.id}}"
data-item-uuid="{{item.uuid}}"
>
<img
class="item-img"
src="{{item.img}}"
data-tooltip="{{item.name}}"
/>
<div class="name" data-tooltip="{{{item.system.description}}}">
{{item.name}}
</div>
<div class="controls">
<a
data-tooltip="{{localize 'FTLNOMAD.Edit'}}"
data-action="edit"
data-item-id="{{item.id}}"
data-item-uuid="{{item.uuid}}"
><i class="fas fa-edit"></i></a>
<a
data-tooltip="{{localize 'FTLNOMAD.Delete'}}"
data-action="delete"
data-item-id="{{item.id}}"
data-item-uuid="{{item.uuid}}"
><i class="fas fa-trash"></i></a>
</div>
</div>
<div class="controls">
<a data-tooltip="{{localize 'FTLNOMAD.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a>
<a data-tooltip="{{localize 'FTLNOMAD.Delete'}}" data-action="delete" data-item-id="{{item.id}}"
data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
</div>
</div>
{{/each}}
</div>
</fieldset>

View File

@@ -1,40 +1,72 @@
<section class="starship-main starship-main-{{ifThen isPlayMode 'play' 'edit'}}">
<section
class="starship-main starship-main-{{ifThen isPlayMode 'play' 'edit'}}"
>
<fieldset>
<legend>{{localize "FTLNOMAD.Label.starship"}}</legend>
<div class="starship-pc starship-pc-{{ifThen isPlayMode 'play' 'edit'}}">
<div class="starship-left">
<div class="starship-left-image">
<img class="starship-img" src="{{actor.img}}" data-edit="img" data-action="editImage"
data-tooltip="{{actor.name}}" />
<img
class="starship-img"
src="{{actor.img}}"
data-edit="img"
data-action="editImage"
data-tooltip="{{actor.name}}"
/>
</div>
<fieldset class="spec">
{{formField systemFields.agility value=system.agility localize=true}}
{{formField systemFields.armor value=system.armor localize=true}}
{{formField systemFields.endurance value=system.endurance localize=true}}
{{formField
systemFields.endurance
value=system.endurance
localize=true
}}
</fieldset>
</div>
<div class="starship-right">
<div class="starship-name">
{{formInput fields.name value=source.name rootId=partId disabled=isPlayMode}}
<a class="control" data-action="toggleSheet" data-tooltip="FTLNOMAD.ToggleSheet"
data-tooltip-direction="UP">
{{formInput
fields.name
value=source.name
rootId=partId
disabled=isPlayMode
}}
<a
class="control"
data-action="toggleSheet"
data-tooltip="FTLNOMAD.ToggleSheet"
data-tooltip-direction="UP"
>
<i class="fa-solid fa-user-{{ifThen isPlayMode 'lock' 'pen'}}"></i>
</a>
</div>
<fieldset class="capacity ">
<fieldset class="capacity">
<legend>{{localize "FTLNOMAD.Label.capacity"}}</legend>
<div class="flexrow">
{{formField systemFields.hullType value=system.hullType localize=true}}
{{formField systemFields.cost value=system.cost- localize=true}}
{{formField
systemFields.hullType
value=system.hullType
localize=true
}}
{{formField systemFields.cost value=system.cost localize=true}}
</div>
<div class="flexrow">
{{formField systemFields.travelMultiplier value=system.travelMultiplier localize=true}}
{{formField systemFields.monthlyCost value=system.monthlyCost localize=true}}
{{formField
systemFields.travelMultiplier
value=system.travelMultiplier
localize=true
}}
{{formField
systemFields.monthlyCost
value=system.monthlyCost
localize=true
}}
</div>
<div class="flexrow-guns rollable" data-roll-type="starship-guns">

View File

@@ -1,21 +1,46 @@
<section class="tab vehicle-{{tab.id}} {{tab.cssClass}}" data-tab="{{tab.id}}" data-group="{{tab.group}}">
<section
class="tab vehicle-{{tab.id}} {{tab.cssClass}}"
data-tab="{{tab.id}}"
data-group="{{tab.group}}"
>
<fieldset>
<legend>{{localize "FTLNOMAD.Label.techAge"}}</legend>
{{formField systemFields.techAge value=system.techAge localize=true}}
</fieldset>
<fieldset>
<legend>{{localize "FTLNOMAD.Label.damages"}}</legend>
<div class="text-center">
<textarea class="form-control " cols="64" rows="5" name="system.damages"
data-tooltip="{{localize "FTLNOMAD.Tooltip.damages"}}">{{system.damages}}</textarea>
<textarea
class="form-control"
cols="64"
rows="5"
name="system.damages"
data-tooltip="{{localize 'FTLNOMAD.Tooltip.damages'}}"
>{{system.damages}}</textarea>
</div>
</fieldset>
<fieldset>
<fieldset class="section-editor">
<legend>{{localize "FTLNOMAD.Label.description"}}</legend>
{{formInput systemFields.description enriched=enrichedDescription value=system.description name="system.description" toggled=true}}
{{formInput
systemFields.description
enriched=enrichedDescription
value=system.description
name="system.description"
toggled=true
}}
</fieldset>
<fieldset>
<fieldset class="section-editor">
<legend>{{localize "FTLNOMAD.Label.notes"}}</legend>
{{formInput systemFields.notes enriched=enrichedNotes value=system.notes name="system.notes" toggled=true}}
{{formInput
systemFields.notes
enriched=enrichedNotes
value=system.notes
name="system.notes"
toggled=true
}}
</fieldset>
</section>

View File

@@ -36,6 +36,9 @@
{{formField systemFields.range value=system.range localize=true}}
{{formField systemFields.speed value=system.speed localize=true}}
</div>
<div class="flexrow">
{{formField systemFields.cost value=system.cost localize=true}}
</div>
</fieldset>
<fieldset class="cargo">