* Flags attribute
* empty statement
* Fix Formatting
* Fix OrderBy -> ThenBy
* use OfType
* Replace with asingle call to Count(...)
* Replace with a single call to FirstOrDefault
* Merge cast with type check
* use String.IsNullOrEmpty
* use collections count property
* use format specifier (results in shorter loc)
* use Any() instead of Count() > 0
* revert ThenBy with comment
There were 3 redundant values which were basically flags indicating if it's associated vital was actually used.
However, in the cache.bin, any time a vital was present, it's associated flag was also set to 1. This is basically redundant.
We can simplify this as follows. If the Vital != 0, it gets applied. If the Vital == 0, it doesn't get applied.
I suspect they may have wanted the flag so they could leave a vital value in the db, but just have it disabled. We don't need this.
This allows us to not have to add all 8 records found in the cache.bin.
Instead, we only have to add the records that actually modify something. This new bool basically indicates if it was the first 4 or the last 4 or the fixed 8 found in the cache.bin
We were relying on the order of the recipe_componet records to remain the same, but this isn't gauranteed unless we provide a zIndex.
Instead of adding a zIndex to the Recipe_Component table, we can just put the static values in the base Recipe table.
* This moves the .sql file generation code that Ripley has been using into ACE.Database
This will help us import data from any source into ACE EF objects, and then use these SQLWriters to create a unified output.
* Weenie and LandblockInstances SQL Writers added + Enums
Some styling and comments added to the other SQL Writer classes.
Still need to do the treasure tables, as well as recipe/cook books.
Also need to confirm SQL output is well formed and accurate.
* CookBookSQLWriter and RecipeSQLWriter
Writers that still aren't implemented:
PointsOfInterest
TreasureDeath
TreasureWielded
Also, still need to test the output of these writers to make sure it's correct.
* Formatting tweaked a little bit, much closer to the final product
This creates scripts that import.
Still need to verify a couple of data mismatches.
* This moves the Int/Did property decoder to ACE.Entity.Enum.Properties
This code will likely be used to help UI content editors and database viewers.
* This fixes float output where precision was lost. Woops.
* Fat fingered a variable in the weenie SQL writer
This concludes all the testing for the SQL Writers.
They all test OK and produce the same results as the code Ripley was using to generate the .sql files.