These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

EVE Technology Lab

 
  • Topic is locked indefinitely.
 

invTypeReactions table in DB dump doesn't entirely match in-game data (wrong material quantities

Author
Benny Therios
The Scope
Gallente Federation
#1 - 2012-12-21 07:44:41 UTC
There's a large set of reactions that, in game, involve 100 or 200 of something, but the database has them with 1 and 2. In most cases, the proportions are correct, but the absolute value is off (not always the case, though).

I made a list here (copypasta from SQL query) of all the relevant reactions.

Quote:
SELECT DISTINCT r.reactionTypeID,t.typeName
FROM invTypeReactions as r
INNER JOIN invTypes as t
ON r.reactionTypeID=t.typeID
WHERE r.quantity<5


Does anyone have any idea what's going on here and/or why? 'Cause I'm confused. I've never done much moon mining or T2 work, but I'm pretty sure that those are all moon-based materials. Is this just some screwed up quirk of moon mining?
Desmont McCallock
#2 - 2012-12-21 11:12:53 UTC  |  Edited by: Desmont McCallock
There is nothing wrong with the SDE. It's just the way CCP has this implemented. And the data you seem to be missing is indeed in the moon mining info.

Edit: Look in dgmTypeAttributes table and relate the moon mining amount property ID which value is the multiplier.
Benny Therios
The Scope
Gallente Federation
#3 - 2012-12-21 18:20:35 UTC  |  Edited by: Benny Therios
Desmont McCallock wrote:
There is nothing wrong with the SDE. It's just the way CCP has this implemented. And the data you seem to be missing is indeed in the moon mining info.

Edit: Look in dgmTypeAttributes table and relate the moon mining amount property ID which value is the multiplier.


OOOOH, that looks useful! Now I just need to find a way to differentiate properly between those that need to be looked up in dgmTypeAttributes and those which do not.

EDIT MOAR:
Quote:
SELECT r.reactionTypeID,r.input,r.typeID,r.quantity,a.valueInt,a.valueFloat FROM invTypeReactions as r
INNER JOIN invTypes as t
ON r.typeID=t.typeID
INNER JOIN invTypes as tt
ON r.reactionTypeID=tt.typeID
LEFT OUTER JOIN dgmTypeAttributes as a
ON r.typeID=a.typeID
WHERE t.published=1 AND tt.published=1 AND (a.attributeID=726 OR a.attributeID IS NULL)


That query, for anyone with this issue, will clear things up. It pulls in all the multipliers for the materials. You can then multiply at runtime or... whatever. There will be either a valueInt, a valueFloat, or neither.

So yeah, all fixed.