@@ -493,28 +493,36 @@ export class CollectionReader {
493493 // Debug: log all folders and their parents
494494 console . log ( `FoundryAI | resolveWithChildren: input IDs:` , folderIds )
495495 console . log ( `FoundryAI | resolveWithChildren: total folders in game:` , game . folders . size )
496-
496+
497497 // Log parent relationships for debugging
498498 for ( const id of folderIds ) {
499499 const parentFolder = game . folders . get ( id )
500500 if ( parentFolder ) {
501- console . log ( `FoundryAI | resolveWithChildren: selected folder "${ parentFolder . name } " (${ id } ), type=${ parentFolder . type } ` )
501+ console . log (
502+ `FoundryAI | resolveWithChildren: selected folder "${ parentFolder . name } " (${ id } ), type=${ parentFolder . type } ` ,
503+ )
502504 }
503505 }
504506
505507 // Debug: Check first few Actor folders to see their parent structure
506508 let debugCount = 0
507509 for ( const folder of game . folders . values ( ) ) {
508510 if ( folder . type === 'Actor' && debugCount < 10 ) {
509- console . log ( `FoundryAI | resolveWithChildren: folder "${ folder . name } " (${ folder . id } ) -> parent: ${ folder . parent ?. id ?? 'null' } , folder.folder: ${ ( folder as any ) . folder ?? 'undefined' } ` )
511+ console . log (
512+ `FoundryAI | resolveWithChildren: folder "${ folder . name } " (${ folder . id } ) -> parent: ${ folder . parent ?. id ?? 'null' } , folder.folder: ${ ( folder as any ) . folder ?? 'undefined' } ` ,
513+ )
510514 debugCount ++
511515 }
512516 }
513517
514518 const addChildren = ( parentId : string ) => {
515519 for ( const folder of game . folders . values ( ) ) {
516- if ( folder . parent ?. id === parentId && ! result . has ( folder . id ) ) {
517- console . log ( `FoundryAI | resolveWithChildren: found child "${ folder . name } " (${ folder . id } ) of parent ${ parentId } ` )
520+ // Foundry V12+ uses folder.folder for parent, older versions use folder.parent
521+ const folderParentId = ( folder as any ) . folder ?. id ?? folder . parent ?. id
522+ if ( folderParentId === parentId && ! result . has ( folder . id ) ) {
523+ console . log (
524+ `FoundryAI | resolveWithChildren: found child "${ folder . name } " (${ folder . id } ) of parent ${ parentId } ` ,
525+ )
518526 result . add ( folder . id )
519527 addChildren ( folder . id ) // Recurse
520528 }
0 commit comments