MrPrimate / pathmuncher

Munch Pathfinder 2e characters into Foundry from Pathbuilder
MIT License
23 stars 6 forks source link

Program locks up and character doesn't import #19

Open Tyfighter51 opened 1 year ago

Tyfighter51 commented 1 year ago

Describe the bug A clear and concise description of what the bug is.

To Reproduce Steps to reproduce the behavior:

  1. I open Pathmuncher from the character sheet
  2. I type in the JSON number
  3. The module starts to run and then locks up and I have to restart Foundry

Expected behavior The character to import

Screenshots If applicable, add screenshots to help explain your problem.

Environment:

MrPrimate commented 1 year ago

I can't fix this without a copy of the character to import, as something on that particular character is breaking the import.

Please provide a copy of the character as the bug template asks for.

PropaneMilo commented 1 year ago

Hello. One of my players has a similar issue to OP.

My player has to restart his browser to do anything with Foundry, but I as the GM can just close the window and try again.

Foundry 10.303, build 291 Pathmuncher 0.6.0

Importing this character causes Pathmuncher to lock up on Heritage. Even if we deselect "Heritage" it still gets stuck on "cooking heritage" and the import eventually fails.

His JSON https://pathbuilder2e.com/json.php?id=163111

{"success":true,"build":{"name":"Mr. Redacted","class":"Thaumaturge","dualClass":null,"level":3,"ancestry":"Elf","heritage":"Ancient Elf","background":"Prodigy","alignment":"N","gender":"Not set","age":"Not set","deity":"Not set","size":2,"sizeName":"Medium","keyability":"cha","languages":[],"rituals":[],"resistances":[],"attributes":{"ancestryhp":6,"classhp":8,"bonushp":0,"bonushpPerLevel":0,"speed":30,"speedBonus":0},"abilities":{"str":12,"dex":16,"con":8,"int":14,"wis":10,"cha":18,"breakdown":{"ancestryFree":["Cha"],"ancestryBoosts":["Dex","Int"],"ancestryFlaws":["Con"],"backgroundBoosts":["Dex","Cha"],"classBoosts":["Cha"],"mapLevelledBoosts":{"1":["Str","Dex","Int","Cha"]}}},"proficiencies":{"classDC":2,"perception":4,"fortitude":4,"reflex":4,"will":4,"heavy":0,"medium":2,"light":2,"unarmored":2,"advanced":0,"martial":2,"simple":2,"unarmed":2,"castingArcane":0,"castingDivine":0,"castingOccult":0,"castingPrimal":2,"acrobatics":2,"arcana":2,"athletics":2,"crafting":2,"deception":2,"diplomacy":2,"intimidation":2,"medicine":0,"nature":2,"occultism":2,"performance":0,"religion":2,"society":0,"stealth":4,"survival":0,"thievery":0},"mods":{},"feats":[["Alchemical Crafting",null,"Awarded Feat",1],["Specialty Crafting",null,"Awarded Feat",1],["Dubious Knowledge",null,"Awarded Feat",1],["Ancient Elf",null,"Heritage",1],["Alchemist Dedication",null,"Ancestry Feat",1],["Familiar",null,"Class Feat",1],["Wildborn Magic",null,"Ancestry Feat",1],["Read Psychometric Resonance",null,"Skill Feat",2],["Enhanced Familiar",null,"Class Feat",2],["Incredible Initiative",null,"General Feat",3]],"specials":["Esoteric Lore","Exploit Vulnerability","Implement's Interruption","Low-Light Vision","Weapon","Weapon Initiate Benefit","Implement's Empowerment","Infused Reagents (Archetype)","Lightning Reflexes","Ancient Elf"],"lores":[["Esoteric",4],["Alchemical",2]],"equipmentContainers":{},"equipment":[],"specificProficiencies":{"trained":[],"expert":[],"master":[],"legendary":[]},"weapons":[{"name":"Chakram","qty":1,"prof":"martial","die":"d8","pot":1,"str":"","mat":null,"display":"+1 Chakram","runes":[],"damageType":"S","attack":9,"damageBonus":1,"extraDamage":["+2 physical"]},{"name":"Chakri","qty":1,"prof":"martial","die":"d6","pot":0,"str":"","mat":null,"display":"Chakri","runes":[],"damageType":"S","attack":8,"damageBonus":1,"extraDamage":["+2 physical"]},{"name":"Mambele","qty":1,"prof":"martial","die":"d6","pot":0,"str":"","mat":null,"display":"Mambele","runes":[],"damageType":"S","attack":6,"damageBonus":1,"extraDamage":["+2 physical"]}],"money":{"cp":0,"sp":0,"gp":15,"pp":0},"armor":[{"name":"Studded Leather Armor","qty":1,"prof":"light","pot":0,"res":"","mat":null,"display":"Studded Leather","worn":true,"runes":[]}],"spellCasters":[{"name":"Wildborn Magic","magicTradition":"primal","spellcastingType":"prepared","ability":"cha","proficiency":2,"focusPoints":0,"innate":true,"perDay":[1,0,0,0,0,0,0,0,0,0,0],"spells":[{"spellLevel":0,"list":["Disrupt Undead"]}],"prepared":[],"blendedSpells":[]}],"focusPoints":0,"focus":{},"formula":[{"type":"Archetype Alchemist","known":["Blight Bomb (Lesser)","Acid Flask (Lesser)","Alchemist's Fire (Lesser)","Energy Mutagen (Lesser)","Giant Centipede Venom","Elixir of Life (Minor)","Bottled Lightning (Lesser)"]}],"acTotal":{"acProfBonus":5,"acAbilityBonus":3,"acItemBonus":2,"acTotal":20,"shieldBonus":null},"pets":[],"familiars":[{"type":"Familiar","name":"Familiar","equipment":[],"specific":null,"abilities":[]}]}}

Chrome's console output:

foundry.js:14610 Foundry VTT | Constructed index of pf2e.ancestryfeatures Compendium containing 39 entries
foundry.js:14610 Foundry VTT | Constructed index of pf2e.classfeatures Compendium containing 524 entries
foundry.js:14610 Foundry VTT | Constructed index of pf2e.actionspf2e Compendium containing 350 entries
foundry.js:14610 Foundry VTT | Constructed index of pf2e.spells-srd Compendium containing 1372 entries
foundry.js:14610 Foundry VTT | Constructed index of pf2e.classes Compendium containing 22 entries
foundry.js:14610 Foundry VTT | Constructed index of pf2e.ancestries Compendium containing 36 entries
foundry.js:14610 Foundry VTT | Constructed index of pf2e.heritages Compendium containing 227 entries
foundry.js:14610 Foundry VTT | Constructed index of pf2e.equipment-srd Compendium containing 4272 entries
foundry.js:14610 Foundry VTT | Constructed index of pf2e.deities Compendium containing 271 entries
foundry.js:14610 Foundry VTT | Constructed index of pf2e.backgrounds Compendium containing 354 entries
logger.js:53 pathmuncher | WARN > Unable to find parsed feature match for granted feature First Implement and Esoterica. This might not be an issue, but might indicate feature duplication. {document: {…}, parent: {…}}
log @ logger.js:53
warn @ logger.js:79
#createGrantedItem @ Pathmuncher.js:623
#addGrantedItems @ Pathmuncher.js:1027
await in #addGrantedItems (async)
#processGenericCompendiumLookup @ Pathmuncher.js:490
await in #processGenericCompendiumLookup (async)
processCharacter @ Pathmuncher.js:2041
await in processCharacter (async)
_updateObject @ PathmuncherImporter.js:104
await in _updateObject (async)
_onSubmit @ foundry.js:5916
commons.js:6946 Foundry VTT | Created Actor with id [eKj1sZVH6RdTS2xr]
commons.js:6946 Foundry VTT | Created 2 Item documents with ids: [998EGGJbpiTHSAbW,BEvU28GU6y7ZnQ2d] in parent Actor [eKj1sZVH6RdTS2xr]
commons.js:6946 Foundry VTT | Deleted Actor with id [eKj1sZVH6RdTS2xr]
commons.js:6946 Foundry VTT | Created Actor with id [B8C60Ztq7errxSQO]
commons.js:6946 Foundry VTT | Created 2 Item documents with ids: [998EGGJbpiTHSAbW,M67zWHzWHW32sEmc] in parent Actor [B8C60Ztq7errxSQO]
commons.js:6946 Foundry VTT | Deleted Actor with id [B8C60Ztq7errxSQO]
commons.js:6946 Foundry VTT | Created Actor with id [rR4q0ehUnryDAtfc]
commons.js:6946 Foundry VTT | Created 2 Item documents with ids: [998EGGJbpiTHSAbW,BEvU28GU6y7ZnQ2d] in parent Actor [rR4q0ehUnryDAtfc]
commons.js:6946 Foundry VTT | Deleted Actor with id [rR4q0ehUnryDAtfc]
commons.js:6946 Foundry VTT | Created Actor with id [mrslxl76KmVh8ESp]
commons.js:6946 Foundry VTT | Created 2 Item documents with ids: [998EGGJbpiTHSAbW,HFFm7E4iawO4tFKu] in parent Actor [mrslxl76KmVh8ESp]
commons.js:6946 Foundry VTT | Deleted Actor with id [mrslxl76KmVh8ESp]
commons.js:6946 Foundry VTT | Created Actor with id [YK2VvkdA8ekng0e6]
commons.js:6946 Foundry VTT | Created 2 Item documents with ids: [998EGGJbpiTHSAbW,uBAa0Q90YpS0ZBXi] in parent Actor [YK2VvkdA8ekng0e6]
commons.js:6946 Foundry VTT | Deleted Actor with id [YK2VvkdA8ekng0e6]
commons.js:6946 Foundry VTT | Created Actor with id [QBPDPuS0XdIMZ0v4]
commons.js:6946 Foundry VTT | Created 3 Item documents with ids: [KRtB1K0e91QtwyzU,GKoHnSAHjcezSVOb,998EGGJbpiTHSAbW] in parent Actor [QBPDPuS0XdIMZ0v4]
commons.js:6946 Foundry VTT | Deleted Actor with id [QBPDPuS0XdIMZ0v4]
logger.js:53 pathmuncher | WARN > Unable to find parsed feature match for granted feature Alchemist Dedication. This might not be an issue, but might indicate feature duplication. {document: {…}, parent: {…}}
log @ logger.js:53
warn @ logger.js:79
#createGrantedItem @ Pathmuncher.js:623
#addGrantedRules @ Pathmuncher.js:938
await in #addGrantedRules (async)
#addGrantedItems @ Pathmuncher.js:1050
#processGenericCompendiumLookup @ Pathmuncher.js:490
await in #processGenericCompendiumLookup (async)
processCharacter @ Pathmuncher.js:2045
await in processCharacter (async)
_updateObject @ PathmuncherImporter.js:104
await in _updateObject (async)
_onSubmit @ foundry.js:5916
commons.js:6946 Foundry VTT | Created Actor with id [4lP4IxRJIm1uVzw1]
commons.js:6946 Foundry VTT | Created 4 Item documents with ids: [KRtB1K0e91QtwyzU,GKoHnSAHjcezSVOb,998EGGJbpiTHSAbW,YbFknsebbWaZjvXx] in parent Actor [4lP4IxRJIm1uVzw1]
commons.js:6946 Foundry VTT | Deleted Actor with id [4lP4IxRJIm1uVzw1]
commons.js:6946 Foundry VTT | Created Actor with id [pzg2yKuZUdZJ0Ggw]
commons.js:6946 Foundry VTT | Created 4 Item documents with ids: [KRtB1K0e91QtwyzU,GKoHnSAHjcezSVOb,998EGGJbpiTHSAbW,YbFknsebbWaZjvXx] in parent Actor [pzg2yKuZUdZJ0Ggw]
commons.js:6946 Foundry VTT | Deleted Actor with id [pzg2yKuZUdZJ0Ggw]
commons.js:6946 Foundry VTT | Created Actor with id [Sy7oRC8R7lSvQsGT]
commons.js:6946 Foundry VTT | Created 3 Item documents with ids: [KRtB1K0e91QtwyzU,GKoHnSAHjcezSVOb,998EGGJbpiTHSAbW] in parent Actor [Sy7oRC8R7lSvQsGT]
commons.js:6946 Foundry VTT | Deleted Actor with id [Sy7oRC8R7lSvQsGT]
foundry.js:5919 TypeError: Cannot read properties of undefined (reading 'system')
    at Pathmuncher.js:1103:1
    at Array.forEach (<anonymous>)
    at #generateBackgroundAbilityBoosts (Pathmuncher.js:1102:1)
    at #setAbilityBoosts (Pathmuncher.js:1126:1)
    at Pathmuncher.processCharacter (Pathmuncher.js:2047:1)
    at async PathmuncherImporter._updateObject (PathmuncherImporter.js:104:1)
    at async PathmuncherImporter._onSubmit (foundry.js:5916:7)
_onSubmit @ foundry.js:5919

Last entry in the log is a big red "foundry.js:5919 TypeError" and is highlighted red in the chrome console.

MrPrimate commented 1 year ago

@PropaneMilo can you upgrade to v0.7.5 (the latest version) of Pathmuncher - I think this issue was fixed a few weeks ago.

If that doesn't work please in Pathbuilder please got to Export -> "Share Copy of Character" and provide the link.

PropaneMilo commented 1 year ago

Updating to the latest version did indeed correct the munching! I should have tried to update earlier, but most add ons just complain I'm still using v10 so I sort of just stopped trying.

Thank you for your efforts, your add on saves us countless hours :)

Taparu commented 1 year ago

I was on version 0.7.8 and am getting what appears to be the same issue.

I tried upgrading to the current version 0.8.1 and I get the same issue except it stops on "Cooking (Class)..." instead of heritage. I did multiple successful imports before this character, and 1 other character I tried afterward succeeded. Another thing to note is that one of the successfully created characters was imported with the same json ID from a previous export to that ID.

Character JSON affected {"success":true,"build":{"name":"Filipi Frau","class":"Kineticist","dualClass":null,"level":5,"ancestry":"Human","heritage":"Wintertouched Human","background":"Tall Tale","alignment":"N","gender":"Female","age":"23","deity":"Not set","size":2,"sizeName":"Medium","keyability":"con","languages":["Common"],"rituals":[],"resistances":["cold 2"],"attributes":{"ancestryhp":8,"classhp":8,"bonushp":0,"bonushpPerLevel":0,"speed":25,"speedBonus":0},"abilities":{"str":18,"dex":14,"con":18,"int":10,"wis":12,"cha":14,"breakdown":{"ancestryFree":["Str","Dex"],"ancestryBoosts":[],"ancestryFlaws":[],"backgroundBoosts":["Con","Str"],"classBoosts":["Con"],"mapLevelledBoosts":{"1":["Str","Con","Wis","Cha"],"5":["Dex","Str","Con","Cha"]}}},"proficiencies":{"classDC":2,"perception":2,"fortitude":4,"reflex":4,"will":4,"heavy":0,"medium":0,"light":2,"unarmored":2,"advanced":0,"martial":0,"simple":2,"unarmed":2,"castingArcane":2,"castingDivine":0,"castingOccult":0,"castingPrimal":0,"acrobatics":2,"arcana":4,"athletics":2,"crafting":0,"deception":0,"diplomacy":2,"intimidation":0,"medicine":2,"nature":2,"occultism":0,"performance":2,"religion":0,"society":0,"stealth":0,"survival":2,"thievery":0},"mods":{},"feats":[["Hefty Hauler",null,"Awarded Feat",5],["Assurance","Nature","Awarded Feat",3],["Impressive Performance",null,"Awarded Feat",1],["Shard Strike",null,"Kineticist Feat",1],["Stepping Stones",null,"Kineticist Feat",1],["Extended Kinesis",null,"Class Feat",1],["Wintertouched Human",null,"Heritage",1],["Natural Ambition",null,"Ancestry Feat",1],["Elemental Familiar",null,"Class Feat",1],["Terrain Expertise",null,"Skill Feat",2],["Metal Carapace",null,"Class Feat",2],["Ancestral Paragon",null,"General Feat",3],["Tribal Bond","Nature","Ancestry Feat",3],["Arcane Sense",null,"Skill Feat",4],["Versatile Blasts",null,"Class Feat",4],["Whirling Grindstone",null,"Kineticist Feat",5],["Arcane Tattoos",null,"Ancestry Feat",5]],"specials":["Dual Gate","Impulses","Kinetic Aura","Earth","Metal","Elemental Blast","Extract Element","Base Kinesis","Channel Elements","Plains","Will Expertise","Not Selected","Tanglefoot","Expand the Portal","Wintertouched Human"],"lores":[],"equipmentContainers":{"e21174b5-4efd-48d0-a68d-20745fe0c39e":{"containerName":"Backpack","bagOfHolding":false,"backpack":true}},"equipment":[["Firearm Cleaning Kit",1,"Invested"],["Backpack",1,"Invested"],["Bedroll",1,"e21174b5-4efd-48d0-a68d-20745fe0c39e","Invested"],["Chalk",10,"e21174b5-4efd-48d0-a68d-20745fe0c39e","Invested"],["Flint and Steel",1,"e21174b5-4efd-48d0-a68d-20745fe0c39e","Invested"],["Rope",1,"e21174b5-4efd-48d0-a68d-20745fe0c39e","Invested"],["Rations",2,"e21174b5-4efd-48d0-a68d-20745fe0c39e","Invested"],["Torch",5,"e21174b5-4efd-48d0-a68d-20745fe0c39e","Invested"],["Waterskin",1,"e21174b5-4efd-48d0-a68d-20745fe0c39e","Invested"],["Soap",1,"e21174b5-4efd-48d0-a68d-20745fe0c39e","Invested"]],"specificProficiencies":{"trained":[],"expert":[],"master":[],"legendary":[]},"weapons":[{"name":"Coat Pistol","qty":1,"prof":"simple","die":"d4","pot":0,"str":"","mat":null,"display":"Crushing Coat Pistol","runes":["Crushing"],"damageType":"P","attack":9,"damageBonus":0,"extraDamage":[]}],"money":{"cp":0,"sp":4,"gp":42,"pp":0},"armor":[{"name":"Hide","qty":1,"prof":"medium","pot":0,"res":"","mat":null,"display":"Hide","worn":true,"runes":[]},{"name":"Meteor Shield","qty":1,"prof":"shield","pot":0,"res":"","mat":null,"display":"","worn":true,"runes":[]}],"spellCasters":[{"name":"Caster Arcane Tattoos","magicTradition":"arcane","spellcastingType":"prepared","ability":"cha","proficiency":2,"focusPoints":0,"innate":true,"perDay":[1,0,0,0,0,0,0,0,0,0,0],"spells":[{"spellLevel":0,"list":["Tanglefoot"]}],"prepared":[],"blendedSpells":[]},{"name":"Caster Arcane Sense","magicTradition":"arcane","spellcastingType":"prepared","ability":"cha","proficiency":2,"focusPoints":0,"innate":true,"perDay":[1,0,0,0,0,0,0,0,0,0,0],"spells":[{"spellLevel":0,"list":["Detect Magic"]}],"prepared":[],"blendedSpells":[]}],"focusPoints":0,"focus":{},"formula":[],"acTotal":{"acProfBonus":0,"acAbilityBonus":2,"acItemBonus":3,"acTotal":15,"shieldBonus":"2"},"pets":[],"familiars":[{"type":"Familiar","name":"Familiar","equipment":[],"specific":null,"abilities":[]}]}}

Chrome Console Log

foundry.js:5099 Foundry VTT | Rendering PathmuncherImporter foundry.js:6887 Foundry VTT | Retrieved and compiled template modules/pathmuncher/templates/pathmuncher.hbs foundry.js:14610 Foundry VTT | Constructed index of pf2e.feats-srd Compendium containing 4022 entries foundry.js:14610 Foundry VTT | Constructed index of pf2e.ancestryfeatures Compendium containing 39 entries foundry.js:14610 Foundry VTT | Constructed index of pf2e.classfeatures Compendium containing 524 entries foundry.js:14610 Foundry VTT | Constructed index of pf2e.actionspf2e Compendium containing 350 entries foundry.js:14610 Foundry VTT | Constructed index of pf2e.spells-srd Compendium containing 1372 entries foundry.js:14610 Foundry VTT | Constructed index of pf2e.classes Compendium containing 22 entries foundry.js:14610 Foundry VTT | Constructed index of pf2e.ancestries Compendium containing 36 entries foundry.js:14610 Foundry VTT | Constructed index of pf2e.heritages Compendium containing 227 entries foundry.js:14610 Foundry VTT | Constructed index of pf2e.equipment-srd Compendium containing 4272 entries foundry.js:14610 Foundry VTT | Constructed index of pf2e.deities Compendium containing 271 entries foundry.js:14610 Foundry VTT | Constructed index of pf2e.backgrounds Compendium containing 354 entries foundry.js:5919 TypeError: Cannot read properties of undefined (reading 'system') at #setAbilityBoosts (Pathmuncher.js:1184:1) at Pathmuncher.processCharacter (Pathmuncher.js:2202:1) at async PathmuncherImporter._updateObject (PathmuncherImporter.js:105:1) at async PathmuncherImporter._onSubmit (foundry.js:5916:7) _onSubmit @ foundry.js:5919

MrPrimate commented 1 year ago

@Taparu hmm, there is an issue here loading the class which I will take a look at. What version of Foundry and PF2e are you on? (And can you also share a copy of the character from Pathbuilder?)

Taparu commented 1 year ago

Foundry v10 build 303. Does the JSON I had in my comment not work for sharing a copy of the character? The json link was shared to me from a friend I am the DM, but if another method is needed I can get that.

MrPrimate commented 1 year ago

Foundry v10 build 303. Does the JSON I had in my comment not work for sharing a copy of the character? The json link was shared to me from a friend I am the DM, but if another method is needed I can get that.

The Sharing method is helpful as it allows me to find bugs in the Pathbuilder export (one is present for this build I think).

You're also going to have to upgrade Foundry and your PF2E system if you want to use Kineticist, as it's not present in the V10 version.

joharr79 commented 1 year ago

Chrome, Foundry 11, build 308, PF2E 5.4.0, Pathmuncher 0.8.2 JSON ID 186862 - Kineticist import hangs on Cooking Heritage (versatile heritage) image

MrPrimate commented 1 year ago

Path

Chrome, Foundry 11, build 308, PF2E 5.4.0, Pathmuncher 0.8.2 JSON ID 186862 - Kineticist import hangs on Cooking Heritage (versatile heritage) image

Pathmuncher is not yet compatible with the 5.4.x version of PF2e, a new version should be released in the next day or so.

KysaSteele commented 1 year ago

Same issues. Import ID 199418 https://pathbuilder2e.com/launch.html?build=518098 I just updated foundry and all the mods installed. It worked on a different character. Something specific with this one.

MrPrimate commented 1 year ago

Same issues. Import ID 199418 https://pathbuilder2e.com/launch.html?build=518098 I just updated foundry and all the mods installed. It worked on a different character. Something specific with this one.

Pathmuncher is not yet compatible with the 5.4.x version of PF2e, a new version should be released in the next day or so.