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.
 

ramAssemblyLineTypeDetailPerCategory - solved

First post First post
Author
Zifrian
The Frog Pond
Ribbit.
#1 - 2015-01-14 01:57:22 UTC  |  Edited by: Zifrian
ramAssemblyLineTypeDetailPerCategory still is missing all rows for categoryID=9, which is Blueprints. This affects the lookups for copying, and ME/TE research facilities.

We've brought this up in threads for the last three SDEs. Is there something here that I'm missing and this is not an issue, or can we get this fixed? Category 34 was removed (Ancient Relics) with pheobe, and that is fine but this is pretty key to facility look ups.

Help?

Maximze your Industry Potential! - Download EVE Isk per Hour!

Import CCP's SDE - EVE SDE Database Builder

CCP FoxFour
C C P
C C P Alliance
#2 - 2015-01-14 11:05:03 UTC
Have passed word of this on. Will let you know what I hear. :)

@CCP_FoxFour // Technical Designer // Team Tech Co

Third-party developer? Check out the official developers site for dev blogs, resources, and more.

Zifrian
The Frog Pond
Ribbit.
#3 - 2015-03-19 02:29:31 UTC
CCP FoxFour wrote:
Have passed word of this on. Will let you know what I hear. :)

Re-bumping this. I just looked at the Tiamat database and this still isn't fixed. Can you look into it again? I never got a response but I understand that this isn't a high priority.

Maximze your Industry Potential! - Download EVE Isk per Hour!

Import CCP's SDE - EVE SDE Database Builder

Aineko Macx
#4 - 2015-03-25 06:37:40 UTC
CCP FoxFour
C C P
C C P Alliance
#5 - 2015-03-25 11:01:08 UTC
Thanks for the bump. Will poke people harder. :)

@CCP_FoxFour // Technical Designer // Team Tech Co

Third-party developer? Check out the official developers site for dev blogs, resources, and more.

CCP Nullarbor
C C P
C C P Alliance
#6 - 2015-04-21 14:13:15 UTC
This is not an error, just a change to the data we store in this table since the Crius release.

Details per category defines the blueprints that are compatible with an assembly line type, as well as any bonuses available. The way it does this is by checking to see if the productTypeID defined in the manufacturing activity of each blueprint exists within the category in ramAssemblyLineTypeDetailPerCategory. If it is then the blueprint can be used and / or a bonus can be applied.

You can find the productTypeID from the blueprints.yaml file in the SDE.

It's not particularly elegant, and I want to eventually move the assembly line data into YAML too. Most likely when we get to the new assembly array structures.

For now though, I hope that helps.

CCP Nullarbor // Senior Engineer // Team Game of Drones

Ortho Loess
Escalated.
OnlyFleets.
#7 - 2015-04-21 19:18:13 UTC
Sounds like a great example of why I want to con fuzzysteve into writing the SDE docs P
Steve Ronuken
Fuzzwork Enterprises
Vote Steve Ronuken for CSM
#8 - 2015-04-21 21:12:58 UTC
Ortho Loess wrote:
Sounds like a great example of why I want to con fuzzysteve into writing the SDE docs P



Noooooooooooooooooooooooooooooooooooooooooooooooooo *breath* oooooooooooooooooooooooooooooooo

Woo! CSM XI!

Fuzzwork Enterprises

Twitter: @fuzzysteve on Twitter

Zifrian
The Frog Pond
Ribbit.
#9 - 2015-04-28 23:16:19 UTC  |  Edited by: Zifrian
CCP Nullarbor wrote:
This is not an error, just a change to the data we store in this table since the Crius release.

Details per category defines the blueprints that are compatible with an assembly line type, as well as any bonuses available. The way it does this is by checking to see if the productTypeID defined in the manufacturing activity of each blueprint exists within the category in ramAssemblyLineTypeDetailPerCategory. If it is then the blueprint can be used and / or a bonus can be applied.

You can find the productTypeID from the blueprints.yaml file in the SDE.

It's not particularly elegant, and I want to eventually move the assembly line data into YAML too. Most likely when we get to the new assembly array structures.

For now though, I hope that helps.

Thanks for the reply.

I'm still not sure I understand what is going on. The ramAssemblyLineTypeDetailPerCategory table is linked by assemblyLineTypeID to ramAssemblyLineTypes, which as the activityID field. Perhaps saying that there are no categoryID 9's in the table is incorrect. Maybe a better way to highlight the issue I'm seeing is that there are no assemblyLineTypeID's that link to activities 3, 4, or 5.

select * from ramAssemblyLineTypeDetailPerCategory where assemblyLineTypeID in (select assemblyLineTypeID from ramAssemblyLineTypes where activityID in (3,4,5))

This is what facilities do ME/TE/Copy activities and before this was accomplished with the records that had categoryID 9 (Blueprint).

It really doesn't matter (as far as I can tell) what blueprint you are using; what matters is what the bp's item category links to in the table. If I read right what you say above, then you would need every category of products for all blueprints added for every assemblyLineTypeID that you can do activity 3/4/5. Right now that's not the case and I don't know (for my purposes) what facilities can do copying and what bonuses they have, hence why I just copy over the old table from Phoebe.

Hope that makes more sense. Again, I might not be reading the data correctly but if not, I'd love to see an example of where I'm screwing up.

Maximze your Industry Potential! - Download EVE Isk per Hour!

Import CCP's SDE - EVE SDE Database Builder

Aineko Macx
#10 - 2015-04-29 07:06:19 UTC  |  Edited by: Aineko Macx
I'm with Zifrian.

@Nullarbor: You seem to have misunderstood the problem. You explained how the table is supposed to be used. We knew that.
The SDE has been missing assembly line compatibility and bonus data for blueprints for some time.

For example, take any Assembly Line for activity 4 (ME research). There is no data for it in both ramAssemblyLineTypeDetailPerCategory nor ramAssemblyLineTypeDetailPerGroup. This data also isn't available in any other place AFAIK.

Specifically, the following rows are missing (from the last SDE with the data):
INSERT INTO `ramAssemblyLineTypeDetailPerCategory` (`assemblyLineTypeID`, `categoryID`, `timeMultiplier`, `materialMultiplier`, `costMultiplier`)
VALUES (110, 9, 1, 1, 0.81),
(111, 9, 1, 1, 0.81),
(107, 9, 1, 1, 0.9),
(147, 9, 1, 1, 1),
(109, 9, 1, 1, 0.9),
(108, 9, 1, 1, 0.9),
(148, 9, 1, 1, 1),
(112, 9, 1, 1, 0.81),
(113, 9, 1, 1, 0.729),
(75, 9, 1, 1, 0.81),
(76, 9, 1, 1, 0.729),
(77, 9, 1, 1, 0.729),
(134, 9, 1, 1, 0.729),
(138, 9, 1, 1, 0.9),
(78, 9, 1, 1, 0.729),
(146, 9, 1, 1, 1),
(115, 9, 1, 1, 0.729),
(114, 9, 1, 1, 0.729),
(74, 9, 1, 1, 0.81),
(81, 9, 1, 1, 0.9),
(82, 9, 1, 1, 0.9),
(131, 9, 1, 1, 0.81),
(149, 9, 1, 1, 1),
(130, 9, 1, 1, 0.81),
(128, 9, 1, 1, 0.9),
(129, 9, 1, 1, 0.81),
(168, 9, 1, 1, 1),
(127, 9, 1, 1, 0.9),
(7, 9, 1, 1, 1),
(169, 9, 1, 1, 1),
(132, 9, 1, 1, 0.729),
(133, 9, 1, 1, 0.729),
(92, 9, 1, 1, 0.729),
(83, 9, 1, 1, 0.9),
(84, 9, 1, 1, 0.81),
(85, 9, 1, 1, 0.81),
(86, 9, 1, 1, 0.81),
(87, 9, 1, 1, 0.729),
(88, 9, 1, 1, 0.729),
(89, 9, 1, 1, 0.729),
(90, 9, 1, 1, 0.9),
(91, 9, 1, 1, 0.81),
(5, 9, 1, 1, 1),
(73, 9, 1, 1, 0.81),
(72, 9, 1, 1, 0.9),
(34, 9, 1, 1, 1),
(69, 9, 1, 1, 0.9),
(8, 9, 1, 1, 1),
(32, 9, 1, 1, 1),
(33, 9, 1, 1, 1),
(30, 9, 1, 1, 1),
(29, 9, 1, 1, 1),
(28, 9, 1, 1, 1),
(71, 9, 1, 1, 0.9);
CCP Nullarbor
C C P
C C P Alliance
#11 - 2015-05-02 15:02:06 UTC
Ok I inderstand now.

If there is no entry in details per group or category then it means that assembly line has no restrictions or bonuses to specific blueprints, and will accept any blueprint that supports that activity. You can check the blueprint data to determine which of them have that activity.

CCP Nullarbor // Senior Engineer // Team Game of Drones

Zifrian
The Frog Pond
Ribbit.
#12 - 2015-05-02 17:54:35 UTC  |  Edited by: Zifrian
CCP Nullarbor wrote:
Ok I inderstand now.

If there is no entry in details per group or category then it means that assembly line has no restrictions or bonuses to specific blueprints, and will accept any blueprint that supports that activity. You can check the blueprint data to determine which of them have that activity.

Thanks for the reply.

The issue with this though is that Copying, ME/TE research are all activities that have bonuses in POS laboratories and those values are not included in the group or category tables for activities 3,4, or 5. By your reply, they should have a bonus value in the tables.

See these labs: http://games.chruker.dk/eve_online/inventory.php?group_id=413

SELECT ARRAY_TYPE_ID, ARRAY_NAME, ACTIVITY_ID, ACTIVITY_NAME, BASE_MM * ADDITIONAL_MM AS MM, BASE_TM * ADDITIONAL_TM AS TM, BASE_CM * ADDITIONAL_CM AS CM, 
GROUP_ID, GROUP_NAME, CATEGORY_ID, CATEGORY_NAME
FROM (
SELECT typeID AS ARRAY_TYPE_ID, typeName AS ARRAY_NAME, ramActivities.activityID AS ACTIVITY_ID, activityName AS ACTIVITY_NAME,
baseMaterialMultiplier AS BASE_MM, baseTimeMultiplier AS BASE_TM, baseCostMultiplier AS BASE_CM, materialMultiplier AS ADDITIONAL_MM, timeMultiplier AS ADDITIONAL_TM, 
costMultiplier AS ADDITIONAL_CM,0 AS GROUP_ID, NULL AS GROUP_NAME, invCategories.categoryID AS CATEGORY_ID, invCategories.categoryName AS CATEGORY_NAME
FROM ramInstallationTypeContents, invTypes, ramAssemblyLineTypes, ramActivities,
invGroups AS IG1, invCategories AS IC1, invCategories, ramAssemblyLineTypeDetailPerCategory
WHERE ramInstallationTypeContents.assemblyLineTypeID = ramAssemblyLineTypes.assemblyLineTypeID
AND ramAssemblyLineTypeDetailPerCategory.categoryID = invCategories.categoryID
AND ramAssemblyLineTypes.assemblyLineTypeID = ramAssemblyLineTypeDetailPerCategory.assemblyLineTypeID
AND ramAssemblyLineTypes.activityID = ramActivities.activityID
AND invTypes.groupID = IG1.groupID
AND IG1.categoryID  = IC1.categoryID 
AND ramInstallationTypeContents.installationTypeID = invTypes.typeID
AND IC1.categoryID = 23
UNION
SELECT typeID AS ARRAY_TYPE_ID, typeName AS ARRAY_NAME, ramActivities.activityID AS ACTIVITY_ID, activityName AS ACTIVITY_NAME,
baseMaterialMultiplier AS BASE_MM, baseTimeMultiplier AS BASE_TM, baseCostMultiplier AS BASE_CM, materialMultiplier AS ADDITIONAL_MM, timeMultiplier AS ADDITIONAL_TM, 
costMultiplier AS ADDITIONAL_CM, invGroups.groupID AS GROUP_ID, invGroups.groupName AS GROUP_NAME, invGroups.categoryID AS CATEGORY_ID, invCategories.categoryName AS CATEGORY_NAME
FROM ramInstallationTypeContents, invTypes, ramAssemblyLineTypes, ramActivities,
invGroups AS IG1, invCategories AS IC1, invGroups, ramAssemblyLineTypeDetailPerGroup, invCategories
WHERE ramInstallationTypeContents.assemblyLineTypeID = ramAssemblyLineTypes.assemblyLineTypeID
AND ramAssemblyLineTypeDetailPerGroup.groupID = invGroups.groupID
AND ramAssemblyLineTypes.assemblyLineTypeID = ramAssemblyLineTypeDetailPerGroup.assemblyLineTypeID
AND ramAssemblyLineTypes.activityID = ramActivities.activityID
AND invTypes.groupID = IG1.groupID
AND IG1.categoryID  = IC1.categoryID 
AND invGroups.categoryID = invCategories.categoryID
AND ramInstallationTypeContents.installationTypeID = invTypes.typeID
AND IC1.categoryID = 23) AS ASSEMBLY_ARRAYS
WHERE (GROUP_NAME IS NOT NULL OR CATEGORY_NAME IS NOT NULL) AND ACTIVITY_ID <> 1
ORDER BY ARRAY_NAME


The result of the above query on the SDE in MSSQL is:
ARRAY_TYPE_ID    ARRAY_NAME    ACTIVITY_ID    ACTIVITY_NAME    MM    TM    CM    GROUP_ID    GROUP_NAME    CATEGORY_ID    CATEGORY_NAME
28351    Design Laboratory    8    Invention    1    0.5    1    0    NULL    6    Ship
28351    Design Laboratory    8    Invention    1    0.5    1    0    NULL    7    Module
28351    Design Laboratory    8    Invention    1    0.5    1    0    NULL    8    Charge
28351    Design Laboratory    8    Invention    1    0.5    1    0    NULL    18    Drone
28351    Design Laboratory    8    Invention    1    0.5    1    0    NULL    22    Deployable
24567    Experimental Laboratory    8    Invention    1    1    1    973    Subsystem Blueprints    9    Blueprint
24567    Experimental Laboratory    8    Invention    1    1    1    996    Strategic Cruiser Blueprints    9    Blueprint
24567    Experimental Laboratory    8    Invention    1    1    1    1309    Tactical Destroyer Blueprint    9    Blueprint


Two things to note are that there are no records for 3/4/5 activities, which have bonuses in both those assembly arrays, and for the experimental lab, blueprints are included for subsystems and subsystems. Shouldn't those be Category 6 for ship and Category 23 for subsystem?

Although, above you said 'specific blueprints' so does that mean that we have to hardcode the bonus values (50% for copying in a design lab for instance) that we would otherwise get from the table? What? That's not ideal and not really the point of all this is it? I'd like to use the SDE to NOT do work every time a bonus value changes if possible. The system seems to be here and imo, we just need to add records for blueprints like in the past or categories of items from blueprints that look like invention above.

Again, thanks for looking at this. I know you have a lot going on with the new patch so thanks for looking at it. Also, if I'm missing something in my query above, I'd appreciate any feedback.

Maximze your Industry Potential! - Download EVE Isk per Hour!

Import CCP's SDE - EVE SDE Database Builder

CCP Nullarbor
C C P
C C P Alliance
#13 - 2015-05-04 22:27:50 UTC
The bonus for the other activities is on the ramAssemblyLineTypes table in the baseTimeMultiplier, baseMaterialMultiplier and baseCostMultiplier columns.

Take note that these bonuses multiply with any category or group bonuses in the case where there is both a base value and a per group or per category value. You can actually see this in game because the facility bonus will appear twice in the tooltip.

CCP Nullarbor // Senior Engineer // Team Game of Drones

Zifrian
The Frog Pond
Ribbit.
#14 - 2015-05-04 23:19:55 UTC  |  Edited by: Zifrian
CCP Nullarbor wrote:
The bonus for the other activities is on the ramAssemblyLineTypes table in the baseTimeMultiplier, baseMaterialMultiplier and baseCostMultiplier columns.

Take note that these bonuses multiply with any category or group bonuses in the case where there is both a base value and a per group or per category value. You can actually see this in game because the facility bonus will appear twice in the tooltip.

Ahh ok, that was what I was missing. I guess I should have figured that out but I was stuck on the idea that we had to have a record in category or group since we had the old blueprint category for so long. Looks like it's a left join then.

I'll play around with it and rework my create table queries but I should be able to figure out what I need.

I do have a new question though, which seems like a bug on the group data for the Supercapital Ship Assembly Array. The data I have from my query is this:

ARRAY_TYPE_ID    ARRAY_NAME    ACTIVITY_ID    ACTIVITY_NAME    MATERIAL_MULTIPLIER    TIME_MULTIPLIER    COST_MULTIPLIER    GROUP_ID    GROUP_NAME    CATEGORY_ID    CATEGORY_NAME
24575    Supercapital Ship Assembly Array    1    Manufacturing    1    1        1    30    Titan                                    NULL    NULL
24575    Supercapital Ship Assembly Array    1    Manufacturing    1    0.75    1    485    Dreadnought                            NULL    NULL
24575    Supercapital Ship Assembly Array    1    Manufacturing    1    0.75    1    513    Freighter                            NULL    NULL
24575    Supercapital Ship Assembly Array    1    Manufacturing    1    0.75    1    547    Carrier                                    NULL    NULL
24575    Supercapital Ship Assembly Array    1    Manufacturing    1    1        1    659    Supercarrier                            NULL    NULL
24575    Supercapital Ship Assembly Array    1    Manufacturing    1    0.75    1    883    Capital Industrial Ship                    NULL    NULL


But the description on the structure says: A mobile assembly facility where capital and supercapital ships can be manufactured. Anchoring this structure requires system sovereignty. This structure has no specific time or material requirement bonuses to ship manufacturing.

So is this incorrect in the description or the data? Because it looks like caps get 25% TE bonus and supers do not. I'm not sure what it is in game since I don't have access to a Super assembly array.


Anyway, thanks again for the replies. Very helpful...Now if we could just get the installed upgrades and tax rates for outposts in the industry facilities via CREST, this would be perfect. Big smile

Maximze your Industry Potential! - Download EVE Isk per Hour!

Import CCP's SDE - EVE SDE Database Builder

CCP Nullarbor
C C P
C C P Alliance
#15 - 2015-05-05 11:17:09 UTC
I don't think that one is used, if you have a look at ramInstallationTypeContents you can see it is not assigned to any installation types.

We don't have outposts in the crest api because the tax rate is private information. In game we show you *your* tax rate but not the tax rates for all the different standings, nor do we show you what standing you have been set to. All NPC stations should be in there though.

CCP Nullarbor // Senior Engineer // Team Game of Drones

Zifrian
The Frog Pond
Ribbit.
#16 - 2015-05-05 11:47:59 UTC
CCP Nullarbor wrote:
I don't think that one is used, if you have a look at ramInstallationTypeContents you can see it is not assigned to any installation types.

We don't have outposts in the crest api because the tax rate is private information. In game we show you *your* tax rate but not the tax rates for all the different standings, nor do we show you what standing you have been set to. All NPC stations should be in there though.

Yeah I figured the tax and upgrade info would be private, but was hoping. Thanks again.

Maximze your Industry Potential! - Download EVE Isk per Hour!

Import CCP's SDE - EVE SDE Database Builder

Aineko Macx
#17 - 2015-05-06 20:50:53 UTC
What hasn't been mentioned is that the bonuses for cat=9 have been merged into the base bonuses of the assembly line types with Phoebe. So for developers using this data there's only need to code the special casing for blueprint compatibility, not bonuses.