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.
 

material requirements for Procurer

Author
Badmoons
Industrial Nightmare Inc
#1 - 2012-12-04 17:10:43 UTC
So I've loaded the Retribution db dump and I'm still seeing incorrect returns for the required materials for the Procurer. I was hopeing someone knew what's up.

select t2.typeName, round(tm.quantity*1.10)
from evestatic.invTypes t, evestatic.invTypeMaterials tm, evestatic.invTypes t2
where t.typeName = 'Procurer'
and t.typeid = tm.typeID
and t2.typeid = tm.materialTypeID

typeName round(tm.quantity*1.10)
Tritanium 256824
Pyerite 16173
Mexallon 6602
Isogen 560
Nocxium 54
Zydrine 32
Megacyte 10

Tritanium should be 1423348. Any ideas?
Matthew
BloodStar Technologies
#2 - 2012-12-04 19:45:33 UTC
The problem is that you are only retrieving the "Raw Material" requirements (those that suffer waste). You need to retrieve the "Extra Materials" as well (those that do not suffer waste). For a long time, T1 manufacturing didn't feature Extra Materials, so you'll find a lot of "T1 manufacture requirement" queries out there that ignore it.

But with the tiericide rebalancing of ships, they are also rebalancing the material requirements. While Extra Materials do not suffer waste, they also have the property that they are not recovered when the ship is reprocessed. CCP have been adding the additional mineral requirements for rebalanced ships as Extra Materials, presumably to avoid people mass-producing the ships pre-patch and reprocessing them all post-patch and magically creating huge piles of minerals (which is what would have happened if they had just increased the quantities of Raw Materials).

You can retrieve the Extra Materials from the ramTypeRequirements table, bearing in mind that this is keyed on the ProductTypeID, not the BlueprintTypeID.

Just to be safe, I'd probably suggest implementing the full manufacturing logic along the lines of what I originally described way back when...

Really old forum post
Badmoons
Industrial Nightmare Inc
#3 - 2012-12-04 19:53:20 UTC
I was thinking that may have been the problem, but

select *
from evestatic.ramTypeRequirements
where typeID = 17480

reveals no results.
Badmoons
Industrial Nightmare Inc
#4 - 2012-12-04 20:15:58 UTC
I figured that was kind of the problem, but my inital query returned 0 results. After I read through your old post I tried something new.

select typeName, round(sum(quantity)*1.10)
from (select t2.typeName, tm.quantity
from evestatic.invTypes t, evestatic.invTypeMaterials tm, evestatic.invTypes t2
where t.typeName = 'Procurer'
and t.typeid = tm.typeID
and t2.typeid = tm.materialTypeID
union
select t2.typeName, tr.quantity
from evestatic.invTypes t, evestatic.invBlueprintTypes bt, evestatic.ramTypeRequirements tr, evestatic.invTypes t2
where t.typeName = 'Procurer'
and t.typeID = bt.productTypeID
and bt.blueprintTypeID = tr.typeID
and tr.requiredTypeID = t2.typeid
and tr.activityID = 1
and tr.damagePerJob > 0) as r1
group by typeName

I get the following results.

typeName round(sum(quantity)*1.10)
Isogen 30800
Megacyte 231
Mexallon 46200
Nocxium 3080
Pyerite 462000
Tritanium 1540000
Zydrine 770

Which still isn't correct, but it's getting there. I welcome any suggestions to clean up that query. This query is just for t1 products. I have a working t2 model (gotta fix the t1 component.)
Louis Vitton
Viziam
Amarr Empire
#5 - 2012-12-04 23:08:04 UTC
If your still having issues with this query i would hold off and try when the next SDD is done tomorrow as there are a few issues with the first one.
Steve Ronuken
Fuzzwork Enterprises
Vote Steve Ronuken for CSM
#6 - 2012-12-04 23:23:05 UTC
Extra materials aren't subject to waste from ME
They are only subject to waste from your production efficiency if they also exist in the base materials.

Woo! CSM XI!

Fuzzwork Enterprises

Twitter: @fuzzysteve on Twitter

Badmoons
Industrial Nightmare Inc
#7 - 2012-12-04 23:48:37 UTC  |  Edited by: Badmoons
BINGO, thank you to everyone for your help!

select typeName, round(sum(quantity))
from (select t2.typeName, tm.quantity*1.10 as quantity
from evestatic.invTypes t, evestatic.invTypeMaterials tm, evestatic.invTypes t2
where t.typeName = 'Procurer'
and t.typeid = tm.typeID
and t2.typeid = tm.materialTypeID
union
select t2.typeName, tr.quantity
from evestatic.invTypes t, evestatic.invBlueprintTypes bt, evestatic.ramTypeRequirements tr, evestatic.invTypes t2
where t.typeName = 'Procurer'
and t.typeID = bt.productTypeID
and bt.blueprintTypeID = tr.typeID
and tr.requiredTypeID = t2.typeid
and tr.activityID = 1
and tr.damagePerJob > 0) as r1
group by typeName


typeName round(sum(quantity))
Isogen 28051
Megacyte 211
Mexallon 42600
Nocxium 2805
Pyerite 421470
Tritanium 1423348
Zydrine 703
Steve Ronuken
Fuzzwork Enterprises
Vote Steve Ronuken for CSM
#8 - 2012-12-04 23:54:56 UTC  |  Edited by: Steve Ronuken
To make it a little more generic, your waste multiplier is in the invBlueprintTypes table as wasteFactor. not everything is 10%. I'd have directed you to the blog entry I wrote on this, but that server is taking a winter break in the Bahamas at the moment.

http://webcache.googleusercontent.com/search?q=cache:gdtQ14CzV8EJ:www.fuzzwork.co.uk/blog/2012/10/24/eve-sde-sql-blueprint-details/&hl=en&client=firefox-a&hs=Xd3&tbo=d&strip=1 isn't perfect, but it covers a lot of the stuff you might be interested in. Hit the text only link as everything is broken right now.

Woo! CSM XI!

Fuzzwork Enterprises

Twitter: @fuzzysteve on Twitter

Badmoons
Industrial Nightmare Inc
#9 - 2012-12-05 00:00:20 UTC
Cool, thanks. I keep it open because I want to make it changeable in my function.
Somatic Neuron
Masterwork Productions Inc
#10 - 2012-12-05 15:16:07 UTC
Wow, CCP sure have convoluted production calculations.....
Steve Ronuken
Fuzzwork Enterprises
Vote Steve Ronuken for CSM
#11 - 2012-12-05 15:19:04 UTC