azerothcore / azerothcore-wotlk

Complete Open Source and Modular solution for MMO
http://www.azerothcore.org
GNU Affero General Public License v3.0
6.56k stars 2.63k forks source link

possibly hundreds of item_template entries missing stats and incorrect statscount values #19485

Closed dewmguy closed 3 months ago

dewmguy commented 3 months ago

Current Behaviour

there are dozens of items that are missing stats, typically spell power, but other stats include resistances, armor penetration, spell crit, and more.

2234, missing 11 spell power 3752, missing 6 spell power 4324, missing 6 spell power 4476, missing 45 spell power 6263, missing 5 spell power ...and on and on.

Expected Blizzlike Behaviour

I would hope that if you leave DBC.EnforceItemAttributes = 1 that the dbc has the correct values. The confusing part to me is that if this is true and the base item_template was copied from the dbc, why are these stats sporadically missing?

Source

I have been developing an item level calculator and part of the refinement of coefficients and values requires me to export the item_template database into excel and create formulas that highlight outliers. 99% of these outliers are almost always missing stats. there are a few outliers that blizzard created themselves and they're not missing stats.

Steps to reproduce the problem

look closelier

Extra Notes

No response

AC rev. hash/commit

AzerothCore rev. https://github.com/azerothcore/azerothcore-wotlk/commit/5dae761a947956775ceea5a87dc39bf420b947e6 2024-06-15 20:08:09 +0000 (master branch) (Unix, RelWithDebInfo, Static)

Operating system

Ubuntu 22.04 Server Windows 11 Client

Custom changes or Modules

Eluna, Ah-Bot, Solo-lfg

heyitsbench commented 3 months ago

2234, missing 11 spell power

2234, AoWoW

3752, missing 6 spell power

3752, AoWoW

4324, missing 6 spell power

4324, AoWoW

4476, missing 45 spell power

4476, AoWoW

6263, missing 5 spell power

6263

Checked in-game as well as AoWoW (where these pictures are taken), these items all have proper stats, all just handled through spell passives it looks like.

Nyeriah commented 3 months ago

@dewmguy please clear your client cache and try again

dewmguy commented 3 months ago

please clear your client cache and try again

i'm not talking about in-game data. i'm talking about database data.

all just handled through spell passives it looks like.

every time i look closer at this database data, the less sense it makes. what is "spell passives" and how would the game know to put 11 spell power on an item in-game if it's not in the database, and if the world conf has DBC.EnforceItemAttributes set to 0?

heyitsbench commented 3 months ago

how would the game know to put 11 spell power on an item in-game

SELECT `spellid_1` FROM `item_template` WHERE `entry` = 2234;
dewmguy commented 3 months ago

how would the game know to put 11 spell power on an item in-game

SELECT `spellid_1` FROM `item_template` WHERE `entry` = 2234;

i'm sorry, i feel like i'm in elementary school here. i'm going to need you to expand on this. where is the referenced spellid data in the database? i searched the entire database 'the exact phrase as whole field' for 9416 and found nothing of value other than that there are 49 other items that use the same value, and that it obviously adds 11 spell power to the item it's on.

Nyeriah commented 3 months ago

how would the game know to put 11 spell power on an item in-game

SELECT `spellid_1` FROM `item_template` WHERE `entry` = 2234;

i'm sorry, i feel like i'm in elementary school here. i'm going to need you to expand on this. where is the referenced spellid data in the database? i searched the entire database 'the exact phrase as whole field' for 9416 and found nothing of value other than that there are 49 other items that use the same value, and that it obviously adds 11 spell power to the item it's on.

If it shows correctly in-game there's nothing for us to do here. Spells are client side, you will find them in the spell.dbc file, not the database. Database only server side spells (that do not show in any way at client side)

dewmguy commented 3 months ago

If it shows correctly in-game there's nothing for us to do here. Spells are client side, you will find them in the spell.dbc file, not the database. Database only server side spells (that do not show in any way at client side)

i'm just trying to understand how this works. i realize that from the perspective of providing a blizz-like experience that this is where the buck stops but this is valuable information. As far as I can tell, there is no documentation in any azerothcore resources that explain this to any degree or why it is this way. Nor why the spell_dbc table contains no reference to this. if the spell_dbc table is supposed to be a reflection of the spell.dbc file, why would this be missing?

Nyeriah commented 3 months ago

It is not a reflection of the spell.dbc file. It's complementary.

Spell.dbc holds all client spells, used by the game client (that display visually in-game) spell_dbc database table only holds server-side spells (not displayed graphically at client side in any way whatsoever)

dewmguy commented 3 months ago

so then I assume if someone were to edit item_template entry 2234, increase its statscount to 2, add stat 45 with a value of 11, that the game would then put 22 spell power on the item?

Kitzunu commented 3 months ago

as for your documentation concern - it is all open-source and community-driven. If nobody is interested in documenting it, then there won't be documentation. Information is mostly passed through people reading code, asking questions, and learning from others that way.

There is limited to no documentation of what's going on within the wow emulation scene, which has been going on for well over a decade at this point. If there is none now, there's little chance there will ever be :D

dewmguy commented 3 months ago

as for your documentation concern - it is all open-source and community-driven. If nobody is interested in documenting it, then there won't be documentation. Information is mostly passed through people reading code, asking questions, and learning from others that way.

There is limited to no documentation of what's going on within the wow emulation scene, which has been going on for well over a decade at this point. If there is none now, there's little chance there will ever be :D

yep, i've been around the scene for a long time, mostly as a lurker, but i've been getting a bit more involved where i can. i have been more interested in the unblizz-like customization of my private server for the past couple of years, which is where the lack of documentation really hurts the most.

but there are a lot of very intelligent people have have and continue to contribute to the emulation scene and i love it.