Feature #32

Character skills and what ships can fly

Added by diabeteman about 1 year ago. Updated 10 months ago.

Status:Closed Start date:Apr 07, 2012
Priority:Normal Due date:
Assignee:ajurna % Done:

100%

Category:app-hr Spent time: 9.00 hours
Target version:2.1.0

Description

A Characters skills section, where a Director/FC can see what type of ships can people fly. Search by member or globally.

I mean, you can go to a Character info and see the trained skills and level or go to a Search page to look for people who can, for example, fly Maelstrom with a specific fit.

This goes to a Fittings sections where you can put standard fits for each ship.

Mate, if im bothering with all those enhancements please, tell me and I will stop for a little :)

History

#1 Updated by diabeteman about 1 year ago

  • Assignee set to ajurna

#2 Updated by diabeteman about 1 year ago

  • Target version set to 2.1.0

#3 Updated by ajurna about 1 year ago

  • Status changed from New to In Progress

#4 Updated by ajurna about 1 year ago

  • % Done changed from 0 to 10

added skill view on member detail page.

#5 Updated by ajurna 10 months ago

after doing some research on this it seems all the required skills info is in the dgmTypeAttributes table.
this is a rather large table and to pull the required information from it would take quiet a lot of joins etc. so i was thinking of doing some sql magic or something similar to the way that our blueprint tables are

something to the effect of

itemid > relates to item or skill?
req1 > relates to a skill
req2 > relates to a skill
req3 > relates to a skill
reqlvl1
reqlvl2
reqlvl3

anyone have any feedback about this. dont want to steam ahead into this without getting some sort of idea if there may be a better way to do this.

note: its impossible with the current data in the db to do anything in relation to skill requirements, i checked and we have no data there.

#6 Updated by diabeteman 10 months ago

ajurna wrote:

after doing some research on this it seems all the required skills info is in the dgmTypeAttributes table.
this is a rather large table and to pull the required information from it would take quiet a lot of joins etc. so i was thinking of doing some sql magic or something similar to the way that our blueprint tables are

something to the effect of

itemid > relates to item or skill?
req1 > relates to a skill
req2 > relates to a skill
req3 > relates to a skill
reqlvl1
reqlvl2
reqlvl3

anyone have any feedback about this. dont want to steam ahead into this without getting some sort of idea if there may be a better way to do this.

Hello Aj,

Before doing ECM I did work on a lol project written in Java. The idea was to code a java version of evemon. It never was finished :) But it allowed to fetch all items/ships/skills and display their prerequisites.

Here is a screenshot

Here is the code related to where I fetch the skill prerequisites from the db.

http://code.google.com/p/pausequafe/source/browse/trunk/projects/pausequafe/src/main/java/org/pausequafe/core/dao/ItemDAO.java

ajurna wrote:

note: its impossible with the current data in the db to do anything in relation to skill requirements, i checked and we have no data there.

No we would have to add a new table in our dump. Preferably a strictly reduced version of the invTypeAttributes table from ccp.

#7 Updated by ajurna 10 months ago

tbh i wanted your comment on the data model i had suggested.

#8 Updated by ajurna 10 months ago

ok i got something more substantial now. run this against the eve db. this is what im thinking of for the new table.

SELECT 

invTypes.typeName, 
invTypes.typeID, 
sk1.valueInt skill1, 
sk2.valueInt skill2, 
sk3.valueInt skill3,
sk1req.valueInt skill1req, 
sk2req.valueInt skill2req, 
sk3req.valueInt skill3req 

FROM invTypes
LEFT JOIN dgmTypeAttributes AS sk1 ON (invTypes.typeID = sk1.typeID AND sk1.attributeID = 182)
LEFT JOIN dgmTypeAttributes AS sk2 ON (invTypes.typeID = sk2.typeID AND sk2.attributeID = 183)
LEFT JOIN dgmTypeAttributes AS sk3 ON (invTypes.typeID = sk3.typeID AND sk3.attributeID = 184)
LEFT JOIN dgmTypeAttributes AS sk1req ON (invTypes.typeID = sk1req.typeID AND sk1req.attributeID = 277)
LEFT JOIN dgmTypeAttributes AS sk2req ON (invTypes.typeID = sk2req.typeID AND sk2req.attributeID = 278)
LEFT JOIN dgmTypeAttributes AS sk3req ON (invTypes.typeID = sk3req.typeID AND sk3req.attributeID = 279)

WHERE skill1 NOT NULL;

#9 Updated by Drezil 10 months ago

What about making this bigger like: http://eve.topolis.de/skilltracker.php?pageId=details&SN=Abaddon&viewId=

would help much more if you can see if player can barely fly it or have it decently skilled.

#10 Updated by ajurna 10 months ago

that link is not working for me. and atm we don't have much planned. but its going to be simple to do a filter based on skills. which is where we are starting.

#11 Updated by ajurna 10 months ago

  • % Done changed from 10 to 20

added model and import scritps for skills. tested in sqlite but not in mysql and psql. would definatly appreciate someone testing psql!

#12 Updated by diabeteman 10 months ago

Hey Aj,

I pulled the changes to test in psql but the SQL patch didn't work. By the way, you had forgotten to include the migration file :P

I took advantage of that to revamp your model a little. I hope you're not mad ^^ It is more "django" style now.

Now the SQL patches works in psql and sqlite. Mysql needs testing but it should work (psql is the tougher of them all).

Changes are in the commit r912

#13 Updated by ajurna 10 months ago

  • % Done changed from 20 to 30

ok so im sucky at this new datatable stuff i commited what i had in r942. 95% of the code is done but i need someone to look at this and fix the table so it actually works. :S

#14 Updated by ajurna 10 months ago

  • % Done changed from 30 to 80

so i pushed r947 which fixed the backend. thanks alot to drezil for fixing the orginal table stuff.
im handing over to diab to do a small bit of front end fixing and then this feature is done!

#15 Updated by ajurna 10 months ago

  • Category set to app-hr
  • Status changed from In Progress to Closed
  • % Done changed from 80 to 100

diab finished his work and this feature is complete at r949

Also available in: Atom PDF