2 Commits

Author SHA1 Message Date
b7dfc71335 Fix creature-trait + edit hero points
All checks were successful
Release Creation / build (release) Successful in 50s
2025-03-31 15:57:05 +02:00
38e01dad24 Minor fixes
All checks were successful
Release Creation / build (release) Successful in 1m27s
2025-03-30 16:23:16 +02:00
13 changed files with 113 additions and 60 deletions

View File

@@ -390,6 +390,8 @@
"newArmor": "New Armor",
"newWeapon": "New Weapon",
"newTalent": "New Talent",
"newTrait": "New Trait",
"newAbility": "New Ability",
"newSkill": "New Skill",
"newImplant": "New Implant",
"newEquipment": "New Equipment",

View File

@@ -112,7 +112,7 @@ export default class FTLNomadCharacterSheet extends FTLNomadActorSheet {
static #onCreateEquipment(event, target) {
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("FTLNOMAD.Label.newGear"), type: "gear" }])
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("FTLNOMAD.Label.newEquipment"), type: "equipment" }])
}
static #onCreateWeapon(event, target) {

View File

@@ -26,7 +26,7 @@ export default class FTLNomadCreatureSheet extends FTLNomadActorSheet {
template: "templates/generic/tab-navigation.hbs",
},
traits: {
template: "systems/fvtt-ftl-nomad/templates/creature-trait.hbs",
template: "systems/fvtt-ftl-nomad/templates/creature-sheet-trait.hbs",
},
biography: {
template: "systems/fvtt-ftl-nomad/templates/creature-biography.hbs",
@@ -93,11 +93,11 @@ export default class FTLNomadCreatureSheet extends FTLNomadActorSheet {
* @param {HTMLElement} target The current target of the event listener.
*/
static #onCreateTrait(event, target) {
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("FTLNOMAD.Label.newTrait"), type: "creaturetrait" }])
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("FTLNOMAD.Label.newTrait"), type: "creature-trait" }])
}
static #onCreateAbility(event, target) {
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("FTLNOMAD.Label.newAbility"), type: "creatureability" }])
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("FTLNOMAD.Label.newAbility"), type: "creature-ability" }])
}
/**

View File

@@ -103,6 +103,21 @@ export default class FTLNomadVehicleSheet extends FTLNomadActorSheet {
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("FTLNOMAD.Label.newWeapon"), type: "weapon" }])
}
async _onRoll(event, target) {
const rollType = $(event.currentTarget).data("roll-type")
let item
let li
switch (rollType) {
case "damage":
li = $(event.currentTarget).parents(".item");
item = this.actor.items.get(li.data("item-id"));
break
default:
throw new Error(`Unknown roll type ${rollType}`)
}
await this.document.system.roll(rollType, item)
}
async _onDrop(event) {
if (!this.isEditable || !this.isEditMode) return

View File

@@ -31,7 +31,7 @@ export default class FTLNomadCreature extends foundry.abstract.TypeDataModel {
schema.numberAppearing = new fields.StringField({ required: true, initial: "1d6" })
schema.health = new fields.SchemaField({
staminaValue: new fields.NumberField({ ...requiredInteger, initial: 1, min: 0 }),
staminaMax: new fields.NumberField({ ...requiredInteger, initial: 1, min: 0 }),
staminaMax: new fields.NumberField({ ...requiredInteger, initial: 1, min: 1 }),
})
schema.damage = new fields.StringField({ required: true, initial: "1d6" })

View File

@@ -33,4 +33,23 @@ export default class FTLNomadVehicle extends foundry.abstract.TypeDataModel {
return false
}
async roll(rollType, rollItem) {
let opponentTarget
const hasTarget = opponentTarget !== undefined
let roll = await FTLNomadRoll.prompt({
rollType,
rollItem,
actorId: this.parent.id,
actorName: this.parent.name,
actorImage: this.parent.img,
isEncumbered: this.isEncumbered(),
hasTarget,
target: opponentTarget
})
if (!roll) return null
await roll.toMessage({}, { rollMode: roll.options.rollMode })
}
}

View File

@@ -12,7 +12,7 @@
<fieldset>
<legend>{{localize "FTLNOMAD.Label.weapons"}}{{#if isEditMode}}
<a class="action" data-tooltip="{{localize " FTLNOMAD.Tooltip.addWeapon"}}" data-tooltip-direction="UP"><i
<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">
@@ -43,7 +43,7 @@
<fieldset>
<legend>{{localize "FTLNOMAD.Label.armors"}}{{#if isEditMode}}
<a class="action" data-tooltip="{{localize " FTLNOMAD.Tooltip.addArmor"}}" data-tooltip-direction="UP"><i
<a class="action" data-tooltip="{{localize "FTLNOMAD.Tooltip.addArmor"}}" data-tooltip-direction="UP"><i
class="fas fa-plus" data-action="createArmor"></i></a>{{/if}}
</legend>
<div class="armors">
@@ -67,7 +67,7 @@
<fieldset>
<legend>{{localize "FTLNOMAD.Label.implants"}}{{#if isEditMode}}
<a class="action" data-tooltip="{{localize " FTLNOMAD.Tooltip.addTalent"}}" data-tooltip-direction="UP"><i
<a class="action" data-tooltip="{{localize "FTLNOMAD.Tooltip.addTalent"}}" data-tooltip-direction="UP"><i
class="fas fa-plus" data-action="createImplant"></i></a>{{/if}}
</legend>
<div class="implants">
@@ -101,8 +101,8 @@
<fieldset>
<legend>{{localize "FTLNOMAD.Label.equipments"}}{{#if isEditMode}}
<a class="action" data-tooltip="{{localize " FTLNOMAD.Tooltip.addGear"}}" data-tooltip-direction="UP"><i
class="fas fa-plus" data-action="createGear"></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|}}

View File

@@ -33,7 +33,7 @@
{{formField systemFields.species value=system.species rootId=partId disabled=isPlayMode}}
{{formField systemFields.archetype value=system.archetype rootId=partId disabled=isPlayMode}}
<div class="hero-armor">
{{formField systemFields.heroPoints value=system.heroPoints rootId=partId disabled=isPlayMode}}
{{formField systemFields.heroPoints value=system.heroPoints rootId=partId }}
{{formField systemFields.armor.fields.value value=system.armor.value rootId=partId disabled=isPlayMode}}
</div>
</fieldset>

View File

@@ -2,7 +2,7 @@
<fieldset>
<legend>{{localize "FTLNOMAD.Label.talents"}}{{#if isEditMode}}
<a class="action" data-tooltip="{{localize " FTLNOMAD.Tooltip.addTalent"}}" data-tooltip-direction="UP"><i
<a class="action" data-tooltip="{{localize "FTLNOMAD.Tooltip.addTalent"}}" data-tooltip-direction="UP"><i
class="fas fa-plus" data-action="createTalent"></i></a>{{/if}}
</legend>
<div class="talents">
@@ -36,7 +36,7 @@
<fieldset>
<legend>{{localize "FTLNOMAD.Label.psionics"}}{{#if isEditMode}}
<a class="action" data-tooltip="{{localize " FTLNOMAD.Tooltip.addImplant"}}" data-tooltip-direction="UP"><i
<a class="action" data-tooltip="{{localize "FTLNOMAD.Tooltip.addImplant"}}" data-tooltip-direction="UP"><i
class="fas fa-plus" data-action="createPsionic"></i></a>{{/if}}
</legend>
<div class="psionics">
@@ -70,7 +70,7 @@
<fieldset>
<legend>{{localize "FTLNOMAD.Label.languages"}}{{#if isEditMode}}
<a class="action" data-tooltip="{{localize " FTLNOMAD.Tooltip.addLanguage"}}" data-tooltip-direction="UP"><i
<a class="action" data-tooltip="{{localize "FTLNOMAD.Tooltip.addLanguage"}}" data-tooltip-direction="UP"><i
class="fas fa-plus" data-action="createLanguage"></i></a>{{/if}}
</legend>
<div class="languages">

View File

@@ -11,7 +11,7 @@
<fieldset class="creature-hp">
<legend>{{localize "FTLNOMAD.Label.Stamina"}}</legend>
<div class="flexrow">
Curr. {{formField systemFields.health.fields.staminaValue value=health.staminaValue}}
Curr. {{formField systemFields.health.fields.staminaValue value=system.health.staminaValue}}
Max {{formField systemFields.health.fields.staminaMax value=system.health.staminaMax rootId=partId}}
</div>
</fieldset>

View File

@@ -0,0 +1,50 @@
<section class="tab creature-{{tab.id}} {{tab.cssClass}}" data-tab="{{tab.id}}" data-group="{{tab.group}}">
<fieldset>
<legend>{{localize "FTLNOMAD.Label.traits"}}{{#if isEditMode}}
<a class="action" data-tooltip="{{localize "FTLNOMAD.Tooltip.addTrait"}}" data-tooltip-direction="UP"><i
class="fas fa-plus" data-action="createTrait"></i></a>{{/if}}
</legend>
<div class="traits">
{{#each traits as |item|}}
<div class="trait 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" 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>
{{/each}}
</div>
</fieldset>
<fieldset>
<legend>{{localize "FTLNOMAD.Label.abilities"}}{{#if isEditMode}}
<a class="action" data-tooltip="{{localize "FTLNOMAD.Tooltip.addAbility"}}" data-tooltip-direction="UP"><i
class="fas fa-plus" data-action="createAbility"></i></a>{{/if}}
</legend>
<div class="abilities">
{{#each abilities as |item|}}
{{!log 'armor' this}}
<div class="ability" 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>
{{/each}}
</div>
</fieldset>
</section>

View File

@@ -1,50 +1,17 @@
<section class="tab creature-{{tab.id}} {{tab.cssClass}}" data-tab="{{tab.id}}" data-group="{{tab.group}}">
<section>
<div class="header">
<img class="item-img" src="{{item.img}}" data-edit="img" data-action="editImage" data-tooltip="{{item.name}}" />
{{formInput fields.name value=source.name}}
</div>
<fieldset>
<legend>{{localize "FTLNOMAD.Label.traits"}}{{#if isEditMode}}
<a class="action" data-tooltip="{{localize " FTLNOMAD.Tooltip.addTrait"}}" data-tooltip-direction="UP"><i
class="fas fa-plus" data-action="createTrait"></i></a>{{/if}}
</legend>
<div class="traits">
{{#each traits as |item|}}
<div class="trait 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" 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>
{{/each}}
</div>
{{formField systemFields.isAdvantage value=system.isAdvantage}}
</fieldset>
<fieldset>
<legend>{{localize "FTLNOMAD.Label.abilities"}}{{#if isEditMode}}
<a class="action" data-tooltip="{{localize " FTLNOMAD.Tooltip.addAbility"}}" data-tooltip-direction="UP"><i
class="fas fa-plus" data-action="createAbility"></i></a>{{/if}}
</legend>
<div class="abilities">
{{#each abilities as |item|}}
{{!log 'armor' this}}
<div class="ability" 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>
{{/each}}
</div>
<legend>{{localize "FTLNOMAD.Label.description"}}</legend>
{{formInput systemFields.description enriched=enrichedDescription value=system.description name="system.description"
toggled=true}}
</fieldset>
</section>

View File

@@ -2,7 +2,7 @@
<fieldset>
<legend>{{localize "FTLNOMAD.Label.weapons"}}{{#if isEditMode}}
<a class="action" data-tooltip="{{localize " FTLNOMAD.Tooltip.addWeapon"}}" data-tooltip-direction="UP"><i
<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">
@@ -29,7 +29,7 @@
<fieldset>
<legend>{{localize "FTLNOMAD.Label.equipment"}}{{#if isEditMode}}
<a class="action" data-tooltip="{{localize " FTLNOMAD.Tooltip.addEquipment"}}" data-tooltip-direction="UP"><i
<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">