Fraser commited on
Commit
e3dee72
·
1 Parent(s): 7ff2b28
src/lib/components/PicletGenerator/PicletGenerator.svelte CHANGED
@@ -335,7 +335,7 @@ Format your response exactly as follows:
335
  {Assess how rare the object is based on real-world availability and value. Rare objects give strong monsters while common objects give weak ones. Use: common, uncommon, rare, or legendary}
336
 
337
  # Monster Name
338
- {Creative name that hints at the original object}
339
 
340
  # Monster Description
341
  {Detailed physical description showing how the object becomes a creature. Ensure the creature uses all the unique attributes of the object. Include colors, shapes, materials, eyes, limbs, mouth, and distinctive features. This section will be used for stats generation and lore.}
@@ -502,8 +502,18 @@ Create a concise visual description (1-3 sentences, max 100 words). Focus only o
502
  let tier: 'low' | 'medium' | 'high' | 'legendary' = 'medium';
503
 
504
  // Extract monster name and rarity from the structured concept
505
- const monsterNameMatch = workflowState.picletConcept.match(/# Monster Name\s*\n([\s\S]*?)(?=^##|$)/m);
506
- const monsterName = monsterNameMatch ? monsterNameMatch[1].trim() : 'Unknown Monster';
 
 
 
 
 
 
 
 
 
 
507
 
508
  const rarityMatch = workflowState.picletConcept.match(/# Object Rarity\s*\n([\s\S]*?)(?=^#)/m);
509
  const objectRarity = rarityMatch ? rarityMatch[1].trim().toLowerCase() : 'common';
 
335
  {Assess how rare the object is based on real-world availability and value. Rare objects give strong monsters while common objects give weak ones. Use: common, uncommon, rare, or legendary}
336
 
337
  # Monster Name
338
+ {Creative name that hints at the original object, 11 letters max}
339
 
340
  # Monster Description
341
  {Detailed physical description showing how the object becomes a creature. Ensure the creature uses all the unique attributes of the object. Include colors, shapes, materials, eyes, limbs, mouth, and distinctive features. This section will be used for stats generation and lore.}
 
502
  let tier: 'low' | 'medium' | 'high' | 'legendary' = 'medium';
503
 
504
  // Extract monster name and rarity from the structured concept
505
+ const monsterNameMatch = workflowState.picletConcept.match(/# Monster Name\s*\n([\s\S]*?)(?=^#|$)/m);
506
+ let monsterName = monsterNameMatch ? monsterNameMatch[1].trim() : 'Unknown Monster';
507
+
508
+ // Truncate name at first comma if present
509
+ if (monsterName.includes(',')) {
510
+ monsterName = monsterName.split(',')[0].trim();
511
+ }
512
+
513
+ // Cap name length to 12 characters
514
+ if (monsterName.length > 12) {
515
+ monsterName = monsterName.substring(0, 12);
516
+ }
517
 
518
  const rarityMatch = workflowState.picletConcept.match(/# Object Rarity\s*\n([\s\S]*?)(?=^#)/m);
519
  const objectRarity = rarityMatch ? rarityMatch[1].trim().toLowerCase() : 'common';