Skip to content

Commit 1329ae3

Browse files
Citrine (rocky)claude
andcommitted
Use type-specific default names for new item and actor creation
Default name now uses the document type label (e.g. "Weapon", "Armure") instead of a generic "New item" / "Nouvel objet". The name input starts empty with the type label as placeholder. Avoids French gender issues by using the type label directly rather than "Nouveau/Nouvelle {type}". Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 5eae514 commit 1329ae3

2 files changed

Lines changed: 8 additions & 4 deletions

File tree

scripts/entities/actors/entityActor.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ export class SR5Actor extends Actor {
3131
// Render the document creation form
3232
const html = await foundry.applications.handlebars.renderTemplate(`templates/sidebar/document-create.html`, {
3333
folders,
34-
name: data.name || game.i18n.format("DOCUMENT.New", {type: label}),
34+
name: data.name || '',
35+
defaultName: this.defaultName({type: data.type || CONFIG[documentName]?.defaultType || types[0], parent, pack}),
3536
folder: data.folder,
3637
hasFolders: folders.length >= 1,
3738
type: data.type || CONFIG[documentName]?.defaultType || types[0],
@@ -59,7 +60,7 @@ export class SR5Actor extends Actor {
5960
foundry.utils.mergeObject(data, fd.object, {inplace: true})
6061
if ( !data.folder ) delete data.folder
6162
if ( types.length === 1 ) data.type = types[0]
62-
if ( !data.name?.trim() ) data.name = this.defaultName()
63+
if ( !data.name?.trim() ) data.name = this.defaultName({type: data.type, parent, pack})
6364
return this.create(data, {parent, pack, renderSheet: true})
6465
},
6566
},

scripts/entities/items/entityItem.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -632,12 +632,14 @@ export class SR5Item extends Item {
632632
const title = game.i18n.localize('SR5.DIALOG_CreateNewItem')
633633

634634
// Render the document creation form
635+
const defaultType = data.type || types[0]
635636
const html = await foundry.applications.handlebars.renderTemplate(`templates/sidebar/document-create.html`, {
636-
name: game.i18n.localize('SR5.DIALOG_NewItem'),
637+
name: data.name || '',
638+
defaultName: this.defaultName({type: defaultType, parent, pack}),
637639
folder: data.folder,
638640
folders: folders,
639641
hasFolders: folders.length >= 1,
640-
type: types[0],
642+
type: defaultType,
641643
types: types.reduce((obj, t) => {
642644
const label = CONFIG[documentName]?.typeLabels?.[t] ?? t
643645
obj[t] = game.i18n.has(label) ? game.i18n.localize(label) : t
@@ -662,6 +664,7 @@ export class SR5Item extends Item {
662664
const fd = new foundry.applications.ux.FormDataExtended(form)
663665
foundry.utils.mergeObject(data, fd.object, {inplace: true})
664666
if ( !data.folder ) delete data["folder"]
667+
if ( !data.name?.trim() ) data.name = this.defaultName({type: data.type, parent, pack})
665668
const preset = CONFIG.Cards.presets[data.preset]
666669
if ( preset && (preset.type === data.type) ) {
667670
const presetData = await fetch(preset.src).then(r => r.json())

0 commit comments

Comments
 (0)