Hotfixes and how do they work

Hello, so i’ve installed latest trinitycore and had to replace my MySQL 8 installation with MySQL 5.7 (lost all of my data, but i’m stupid, tho i had backups from 2 days before), anyways.

I’ve logged in to the world, and saw that some of the items are still 910 (talking about legendaries), so i’ve tried to ‘hotfix’ them, however, there are like 10 tables for hotfixing items and i’ve decided to start with the item_sparse table, no luck there, item became unusable, however, all of the stats remained the same (cant equip it right now). After that, i’ve tried to change item_armor_total table, since i’ve only needed to change item level of the item, again, no luck.

[ATTACH]2146._xfImport[/ATTACH]

The item i was working with is Velen’s Future Sight, i’ve chosen this item since it has no armor attached to it, so technically all of the fields should be equal to 0s, and the only field i had to change was ItemLevel, but, as i’ve already said, no luck.

So here comes the question, how to ‘hotfix’ an item without actually breaking it? I’ve looked at the atlassian wiki link, but there is 0 to none information on how this stuff is supposed to work.

Thank you for any possible help you can provide me with.

Oh but you are wrong here - legendaries are still 910, they just get a bonusList when created to make them 940

Your first idea was correct - edit item_sparse (but you need to fill a complete copy of the db2 data for that row, not just fields you want to override)

Then you fill hotfix_data

@Shauren thank you for reply. I was talking about leggies just because it is easier to update trinket rather than complete armor. But I got your point. So I first need to extract data from DB2, then edit the item level + the stats? Or simple ilvl change will fix the problem? (I mean will the stats gef bumped with the ilvl increase?)

Also, @Shauren, can you please help me with the following:

[ol][li]I’m adding ‘hotfix’ for item to the Item_sparse table[/li]
[li]I’m creating the record in the hotfix_data table, which contains[/li]
ID column - PK, id of what? Hotfix or?

		[li][B]TableHash[/B] column - 0x919BE54E in this case [I](The hash needs to equal the db2 hash of the table that you applied a hotfix to.)[/I][/li]			
		[li][B]RecordID[/B] column - what is this? ([I]The ID of the table that you applied the hotfix to. This ID is unique to the table defined with TableHash.[/I])[/li]			
		[li][B]Timestamp [/B]column - which is not used anymore (not in the 'live' database)[/li]			
		[li][B]Deleted[/B] column - okay this one is obvious[/li]			
	[/ol]

I don’t get the relation between TableHash and RecordID. Where does it come from?

ID - id of the hotfix itself

TableHash - taken from db2 header (client must know which file to hotfix), you can see the full enum here https://github.com/TrinityCore/WowPacketParser/blob/master/WowPacketParser/Enums/DB2Hash.cs

RecordID - ID in the table you applied hotix to - that description cant be more clear, in your case its id from item_sparse

Timestamp is gone.

@Shauren Thank you

Okay, thank you @Shauren i finally managed to make it working. However, there are still some minor issues with the flags (all of the parsed items from the DB2 file for some reason “Can only be used in the War Games”), but in general, thank you for pointing out where to look for answers