EthanJWright / foundryvtt-importer

Import entities from external sources like Reddit, CSV, etc.
MIT License
37 stars 8 forks source link

Error with parsing generated Character sheet. (by Chat GPT) #104

Open MB1997 opened 1 year ago

MB1997 commented 1 year ago

Describe the bug image

To Reproduce The prompt used, was: "Can you build me a CR 30 variant of the dnd Veteran Startblock, as a copyable dnd 5e stat block?"

CR 30 Veteran

Armor Class: 28 (plate mail +3, shield +3, ring of protection +3)

Hit Points: 850 (50d10+500)

Speed: 30 ft.

Ability Score   Modifier
Strength    30  +10
Dexterity   24  +7
Constitution    30  +10
Intelligence    18  +4
Wisdom  20  +5
Charisma    16  +3
Skills: Athletics +24, Intimidation +16, Perception +15

Saving Throws: Strength +22, Constitution +22, Wisdom +15

Damage Immunities: Poison

Condition Immunities: Charmed, Exhaustion, Frightened, Poisoned

Senses: passive Perception 25

Languages: any two languages

Challenge Rating: 30

Actions:

Multi-Attack: The Veteran can make four melee attacks per turn.

Greatsword: Melee Weapon Attack: +22 to hit, reach 5 ft., one target. Hit: 60 (8d6 + 30) slashing damage.

Throwing Axe: Ranged Weapon Attack: +22 to hit, range 20/60 ft., one target. Hit: 40 (8d8 + 10) slashing damage.

Intimidating Presence: As a bonus action, the Veteran can choose one creature within 30 feet of it and attempt to intimidate it. The target must make a DC 22 Wisdom saving throw. On a failed save, the target is frightened for 1 minute.

Legendary Actions:

The Veteran can take 3 legendary actions per turn, choosing from the options below. Only one legendary action can be used at a time, and only at the end of another creature's turn. The Veteran regains spent legendary actions at the start of its turn.

Attack: The Veteran makes one melee attack.

Move: The Veteran moves up to its speed without provoking opportunity attacks.

Command: The Veteran uses its Intimidating Presence ability.

Equipment: The Veteran is equipped with plate mail +3, shield +3, a greatsword, and 10 throwing axes.

Expected behavior Create a usable Actor.

BrockBosnar commented 1 year ago

Hey, was having issues myself. I have been fighting with this Addon and another as chat GPT does not like to do the same thing twice, or even consistently.

My work around was copy and pasting the example given in Actors section. And tell ChatGPT to follow this format. I've put exactly what I used. And it's worked for multiple monsters and NPC's.

Would recommend to reset by repeating the instructions above if it stops working. Hope this helps.

Swashbuckler Armor Class 17 (leather armor) Hit Points 66 (12d8 + 12) Speed 30 ft.Armor Class 12 (15 with mage armor) Hit Points 78 (12d8 + 24) Speed 30 ft. Medium humanoid (any race), any non-lawful alignment STR 12 (+1) DEX 18 (+4) CON 12 (+1) INT 14 (+2) WIS 11 (+0) Medium humanoid (any race), any alignment CHA 15 (+2) Skills Acrobatics +8, Athletics +5, Persuasion +6 Senses passive Perception 10 Languages any one language (usually Common) Challenge 3 (700 XP) Lightfooted. The swashbuckler can take the Dash or Disengage action as a bonus action on each of its turns. Suave Defense. While the swashbuckler is wearing light or no armor and wielding no shield, its AC includes its Charisma modifier. Actions Multiattack. The swashbuckler makes three attacks: one with a dagger and two with its rapier. Dagger. Melee or Ranged Weapon Attack: +6 to hit, reach 5 ft. or range 20/60 ft., one target. Hit: 6 (1d4 + 4) piercing damage. Rapier. Melee Weapon Attack: +6 to hit, reach 5 ft., one target. Hit: 8 (1d8 + 4) piercing damage.

Generate Stat Blocks in the Format above when asked too.

Limpbark commented 1 year ago

I've learned to use the same work-around but the recurring stumbling block seems to be the linebreaks after every ability name/score/bonus. This is not just a Chat GPT issue - a lot of statblocks from around the internet or PDFs aren't formatted like that.

I'm happy the content the parser exists but I would be even happier if the mod can deal consistently with spaces in ability scores rather than these mandatory linebreaks.