Commit graph

50 commits

Author SHA1 Message Date
Ty Conner
890cc488b8
Update LandblockInstanceWriter.cs 2025-08-05 13:46:01 -04:00
Ty Conner
d62d926eb1
Update LandblockInstanceWriter.cs 2025-08-05 00:24:11 -04:00
OptimShi
53edc5b1c3
Added importsql/exportsql support for events. Added additional weenie info to landblock SQLWriter. (#4333)
Co-authored-by: OptimShi <26606778+OptimShi@users.noreply.github.com>
2025-07-16 00:34:45 -04:00
Ty Conner
6180872702
Fix SQLWriter for WieldedTreasureDID data (#3967)
* Update SQLWriter.cs

* Update TreasureWieldedSQLWriter.cs
2023-04-08 13:34:04 -04:00
Ty Conner
a27a07201e
Update SQL Writers (#3768) 2022-01-02 02:19:39 -05:00
Ty Conner
c380b6e442
Update Event SQL Writer (#3756) 2021-12-14 00:12:48 -05:00
Ty Conner
71dc02ed63
Fix issue with SQL writers in rounding and negative zeros (#3734) 2021-11-08 00:41:17 -05:00
Ty Conner
b29de8941d
Update SQL Writers (#3733) 2021-11-07 03:53:43 -05:00
Ty Conner
880c031102
Update SQL Writer output (#3694)
* Update SQL Writer output

* Update SQLWriter.cs

* Add PacketOpCodeNames

* Update PropertyInt.cs

* Update PropertyInt.cs
2021-10-18 21:33:27 -04:00
Ty Conner
f4356a0b94
SQL Writer tweaks (#3032)
- Also corpse height bug fix
2020-06-19 22:26:17 -04:00
Ty Conner
da3c56623d
LandblockInstanceWriter: InstanceNames -> WeenieNames (#2789)
* LandblockInstanceWriter: InstanceNames -> WeenieNames

* Revert "LandblockInstanceWriter: InstanceNames -> WeenieNames"

This reverts commit 77356feafa.

* Update DeveloperContentCommands.cs

* @gmriggs

* Update LandblockInstanceWriter.cs

* Update LandblockInstanceWriter.cs

* Update LandblockInstanceWriter.cs

* Update LandblockInstanceWriter.cs
2020-03-07 23:24:57 -05:00
gmriggs
6a35f6cfd5
adding support for landblock / recipe / quest to export-sql and export-json (#2739) 2020-02-26 23:54:17 -05:00
gmriggs
97ef273a73
add support for recipes to DeveloperContentCommands (#2664) 2020-02-12 03:31:38 -05:00
gmriggs
02505140ad
improving /createinst command for content dev (#2601)
* improving /createinst command for content dev

* .

* ..

* adding option to manually specify a start guid

* adding partial key handling, max static guid checks

* adding range check
2020-01-17 04:39:39 -05:00
gmriggs
92dc48dbac
adding json import, live editing for content creators (#2042)
* adding json import, live editing for content creators

* using existing WriteOutput functions

* adding DeveloperContentCommands.cs

* adding import-sql

* adding sql2json

* adding try/catch to sql2json

* Add a null check to emote action writer

* Update SQL output

* Update DeveloperContentCommands.cs

* Update DeveloperContentCommands.cs
2019-07-01 03:36:56 -04:00
Ty Conner
c620494863
Some Housing Changes (#1844)
* Changes to House Warning Messages filter

* Set HousePortal destinations based on data from database with fallback to SlumLord

* Init House from World DB if not found in Shard DB

* Update House SQL Writer
2019-05-02 11:24:58 -05:00
Ty Conner
5d4e721909
Change RecipeManager.ModifyX to follow rules of operation (#1837)
* Swap source and target in GetTargetMod

* Change ModifyOp.CopyTarget to copy sourceMod to target

* Adjust ModifyX functions to correct objects

* Update changelog.md

* Reorg Enums

* Update to Writers
2019-05-01 19:44:03 -05:00
Ty Conner
f9ee96a5c1
Fix Recipe Issue (#1721)
* Fix minor issue with scrolls

* Fix scoping issue with Recipe Requirements and Mods

* Update changelog and readme
2019-04-13 15:07:09 -05:00
Mag-nus
4dab146548
Code cleanup (#1681)
* 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
2019-04-10 20:48:34 -05:00
Ty Conner
4c3809faa8
Add support for GDLe recipe conversions (#1691)
* Update Crafting SQL Writer

* Add support for GDLe recipe conversion

* cleanup
2019-04-10 12:42:33 -05:00
Ty Conner
dad9d900a7
Remove sorting on Generator list (#1669)
* Remove sorting on Generator list

* Disallow WeenieId on TryConvert

* Update LifestonedConverter.cs
2019-04-08 01:36:03 -05:00
Ty Conner
3dc023d200
Update LSD converter to support enum shifting (#1666)
* Update LSD converter to support enum shifting

* Add bool to Try Converts

* Update LSD DataModel

* Update Writer and Exporter
2019-04-07 19:56:56 -05:00
Ty Conner
a890c07b26
Update CreateList output to not sort by weenie class id (#1635) 2019-04-02 23:42:13 -05:00
Ty Conner
daeddf48a1 Changes to GenerateTreasure (#1428)
* Changes to GenerateTreasure

* writer update

* Update writers to finish deletes

* correct column issue
2019-02-11 12:35:18 -08:00
Ty Conner
bd5d7fc32d
Add LastModified to things (#1410)
* Add LastModified to things

* Create db-pr-override.txt

* Update changelog.md

* Update README.md
2019-02-04 11:55:13 -06:00
Ty Conner
3dbf792591
Add and use DotDuration in Spells (#1331)
* Add DotDuration to Spell table

* Rename Emote Table script slightly

* Change to Double

* Update Duration to use DotDuration if it has a value

* Add DotDuration to SQL Writer
2019-01-20 22:15:12 -06:00
Ty Conner
350edddcf6
World DB Changes (#1295)
* Minor PCAP commenting fix

* Remove Duplicated Data from Spell Table

* Update MySqlInstall.bat

* Update Recipe Mods table column Unknown1 to Source

* Update SpellProperties.cs

* Add spell-export

* cleanup

* Update code

* delete spell-export

* remove data that was redunant from dat

* Update CreateList and Generator labels

* Change Emote.Display to Bool

* Change Emote.Display to Bool

* Fix script

* update changelog

* Add some null checks

* More null check

* syntax error

* cleanup

* more cleanup

* Create db-pr-override.txt
2019-01-19 19:55:26 -06:00
Ty Conner
13d68a0d5f
Update appveyor.yml for tests (#1114)
* Update appveyor.yml

* Update appveyor.yml

* Update appveyor.yml

* Update appveyor.yml

* Update appveyor.yml

* Update appveyor.yml

* Update appveyor.yml

* Update for appveyor logging

* Update appveyor.yml

* Update build order

Build source before setting up database and testing.. Faster notification of fail conditions

* Update batch files

* Add a delete to a writer
2018-12-04 00:26:05 -05:00
Ty Conner
a6e2308b68
remove redundant dictionary (#1080) 2018-11-01 02:54:42 -04:00
Ty Conner
23f033fd0e
Add teleloc to writers (#1055) 2018-10-09 22:54:25 -04:00
Ty Conner
eac0370646
Fix Generator Ints (#1042)
* Add SQL update scripts

* Update Shard and World base scripts

* Update Shard Scaffolding

* Update World database Scaffolding
2018-10-02 21:34:58 -04:00
gmriggs
43d1373568
Adding Void magic (#1028)
* Adding Void magic

* Mapping BaseRangeConstant to SpellBase

* Fixing DoTs to only use the top layer enchantments

* Added limiter for switching between war and void magic
2018-09-28 03:55:32 -04:00
Ty Conner
c01d39b4bf
Changing Sort Order for Create List and Generators (#948) 2018-08-11 21:40:08 -04:00
Ty Conner
19ab98ac7e
Update SQL Writers for more comment output (#946)
* Update SQL Writers for more comment output

* Update SQL Bases

Used included tools to align output of sql scripts

* Update AppVeyor
2018-08-11 16:12:08 -04:00
Mag-nus
c079bf0fd0 Treasure Death/Wielded column names updated (Thanks GDLE) 2018-08-06 00:16:28 -05:00
Mag-nus
478e891aa3 PropertiesSkill AdjustPP removed
In the cache.bin, this is probably a bool. It is 1 for every instance found.

If/When we understand what this flag might have meant, we can re-add. However, given that it was always true in cache.bin, that is unlikely.

Furthermore, in GDLE, this bit was always set to 1 on write, and always masked off on read.
2018-08-05 23:27:06 -05:00
Mag-nus
e9db9ab530 Defaults removed for native type default values
If an int/float had a default of '0', it was removed.
If a nullable had adefault of NULL, it was removed.

This isn't needed for EF.
This cleans up the SQL.
This also helps make sure our sql writers are generating the full INSERT query to recreate a record.
2018-08-05 12:24:43 -05:00
Mag-nus
7feffeedcc Spell table columns Id and SpellId merged into Id
There are no need for duplicate unique id's. The Spell Id is already gauranteed to be unique
2018-08-05 08:54:42 -05:00
Mag-nus
004d7d4f19 LandblockInstance refactored. DYNAMIC SUPPORT REMOVED
Columns id and guid have been combined into a single guid column.

This requires that every landblock instance be provided with a valid unique guid.

In the old code, you could provide an instance that would have an auto generated id (column) and a guid of 0. ACE would then see the guid is 0 and would use the following:
GuidManager.NewDynamicGuid();

In the cache.bin, every landblock instance has a unique id.

If we need to add the ability to have dynamically guid'd landblockinstances, this is an easy thing to add back.
2018-08-05 07:30:14 -05:00
Mag-nus
33ef2f2e7c Rename landblock_instances to landblock_instance
This follows the singular naming convention we are using for the other tables
2018-08-04 14:24:52 -05:00
Mag-nus
8a642308bc This changes the writers so that angles are written in WXYZ format instead of XYZW
The cache.bin, as well as the client use these data structs in WXYZ order.

However, when you actually construct a Quaternion in ACE (Which uses a System.Numerics native type), the arguments are passed in XYZW.

I prefer XYZW order, but, to keep things in lined with the client, I've univied angles to be WXYZ order in our cache.bin exporter and in ACE.
2018-08-04 10:36:36 -05:00
Mag-nus
005fd2339a EmoteActions are now childeren of Emote 2018-08-04 09:02:41 -05:00
Mag-nus
2c8e2507d4 Recipe_Mod Health/Stamina/Mana cleaned up
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.
2018-08-01 22:54:06 -05:00
Mag-nus
79b07792de Recipe_Mod ExecuteOnSuccess field added
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
2018-08-01 22:40:36 -05:00
Mag-nus
88805c14a8 Recipe_Component table removed and merged into Recipe table
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.
2018-08-01 22:09:09 -05:00
Mag-nus
7989686440 Recipe.RecipeId removed in favor of Recipe.Id
We basically had 2 id's, one static and one auto generated. We can just remove the auto generated id and use the static id as the primary key.
2018-08-01 21:35:18 -05:00
Mag-nus
cf3979de80 RecipeMod Properties are now recorded per mod, not per recipe 2018-08-01 18:47:05 -05:00
Mag-nus
fb5c1999a4
Rename SkillStatus to SkillAdvancementClass (#911)
* Rename SkillStatus to SkillAdvancementClass

SkillStatus and SkillAdvancementClass are neither the perfect names for what this value represents.

However, the client calls it SkillAdvancementClass. We call it SAC in the database. And GDLE also uses the SAC naming.

I think switching this name helps align ACE with the pdb without adding any additional confusion, meaning, this new name is equally as confusing as the previous, but at last its aligned with the pdb and gdle.

* changelog
2018-07-31 07:16:24 -05:00
Mag-nus
64d6e88f99
TreasureDeath and TreasureWielded SQL Writers added and tested (#906) 2018-07-29 08:56:50 -05:00
Mag-nus
3c46c07ffe
This moves the .sql file generation code that Ripley has been using into ACE.Database (#889)
* 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.
2018-07-28 21:01:19 -05:00