pwestling / battlescribe-roster-parser

Convert BattleScribe rosz files into Tabletop Simulator saved object files with models
BSD 3-Clause "New" or "Revised" License
26 stars 10 forks source link

Not Creating Multiple Models - Still Ongoing Issue #10

Closed AtemAndrew closed 5 years ago

AtemAndrew commented 5 years ago

Describe the bug This issue is still ongoing, instead of two MV1 Gun Drones, I got a 'x2 MV1 Gun Drone'

Expected behavior Two separate models should have been created instead of a single model that says 'hey, there are two of me!'

This is likely more of an issue with Battlescribe, something I was concerned with when I started looking into Chaos units with 'attendants'. Some units have 'x2 [insert unit here] within the dropdown of other units, which is read literally by the tool.

Upload the Roster T'au 2k Premade 1.zip

AtemAndrew commented 5 years ago

Addendum; This was also affecting the gun drones that came with the TX4 Piranhas.

pwestling commented 5 years ago

I've actually seen this one, and have thought about how to fix it, but ultimately this is more an issue with how the data file maintainers are structuring the files than with anything my code does. I can potentially specifically detect a few of these cases, but I've seen "x2" for the drones, "Two" (for Devourer with Brainleech worms) etc. Not going to promise anything but I'll think about it.

AtemAndrew commented 5 years ago

You might be able to program something in to detect x2, x5 etc if it's in the name of a sub unit, ex.

My java skills are more than a little rusty, but probably something along the lines of an if-then command that searches the first two-three characters of the name of the unit for x2-x10 . If it contains x2-x10 (either repeating the command until the search is above 10 or using seperate commands in the program), then remove the x2 etc from the name and create an additional copy that amount of times.

At minimum, while I'd like to believe most people would notice that they're missing units and some have weird names, maybe include a warning on the battlescribetts web page.

bpodgursky commented 5 years ago

@pwestling are you familiar with regular expressions? You could use them to match common patterns and avoid the if-else logic.

pwestling commented 5 years ago

This has been fixed for the specific case of modes whose names start with "{number}x ", which covers the T'au drone cases I know about and the Space Marine Aegis Shield Wall sections.