Implementing: AA/Character Traits

EQ2Emulator Development forum.

Moderator: Team Members

Post Reply
Jabantiz
Lead Developer
Posts: 2912
Joined: Wed Jul 25, 2007 2:52 pm
Location: California

Re: Character Traits

Post by Jabantiz » Wed Apr 18, 2012 5:59 pm

Zcoretri wrote:Added code to check for a null spell object when trying to get a spell from the master spell list. The zone server was throwing an exception when traits were being added and it could not find an associated spell in the spell_tier table. So instead of the zone throwing an exception and not allowing the character to login, it will LOGWRITE an error to console.
Figures I would overlook something simple like that. Thanks for finding and fixing it.

User avatar
Zcoretri
Team Member
Posts: 1642
Joined: Fri Jul 27, 2007 12:55 pm
Location: SoCal

Re: Character Traits

Post by Zcoretri » Wed Apr 18, 2012 6:20 pm

That's what collaboration is all about :)

Jabantiz
Lead Developer
Posts: 2912
Joined: Wed Jul 25, 2007 2:52 pm
Location: California

Re: AA Development

Post by Jabantiz » Sun Apr 22, 2012 11:19 pm

I am at a loss here. I went through all the unknowns from the character sheet with no luck, I even took a character sheet from the log I mentioned above and broke it down with our struct and set the unknown values to the same as the log with no luck. I came upon the idea that maybe it is limited by the expansions your account has (no idea if this is true or not) and so thought that maybe the login packet (OP_LoginReplyMsg) might have owned expansion info in it. Went through the same process of setting the unknowns to the exact same value as a live packet but again with no luck.

I have looked at the logs around the first AA packet to see if there was a special packet sent but I have been unable to find anything. Again any ideas would be appreciated.

I also now have a file with a 1096 character sheet almost completely broken down with our struct (skipped the section starting at the spell effects and picked up again right after the groups) if any one wants to take a look at it let me know.

User avatar
Scatman
Retired
Posts: 1688
Joined: Wed Apr 16, 2008 5:44 am
EQ2Emu Server: Scatman's Word
Characters: Scatman
Location: New Jersey

Re: AA Development

Post by Scatman » Mon Apr 23, 2012 9:06 pm

Is there a minimum level when AA's get activated? If so, is your character over that level? Unfortunately some things like those can be hardcoded into the client.

Jabantiz
Lead Developer
Posts: 2912
Joined: Wed Jul 25, 2007 2:52 pm
Location: California

Re: AA Development

Post by Jabantiz » Mon Apr 23, 2012 9:36 pm

You can't start getting AA's until level 10, but the lists still show on a brand new character on live, but I did make sure the char I was trying this on was level 10 just to be sure.

User avatar
Zcoretri
Team Member
Posts: 1642
Joined: Fri Jul 27, 2007 12:55 pm
Location: SoCal

Re: AA Development

Post by Zcoretri » Tue Apr 24, 2012 6:08 am

Scatman wrote:Is there a minimum level when AA's get activated? If so, is your character over that level? Unfortunately some things like those can be hardcoded into the client.
That's what I thought too, but I adjusted my characters level up to 21 and still could not get anything to show for AA. :cry:

Jabantiz
Lead Developer
Posts: 2912
Joined: Wed Jul 25, 2007 2:52 pm
Location: California

Re: AA Development

Post by Jabantiz » Tue Apr 24, 2012 2:16 pm

The only other thing that can effect AA's is the expansions that you own but I'm not even sure that that would completely prevent the lists from showing.

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: AA Development

Post by John Adams » Wed Apr 25, 2012 8:07 am

Regarding Expansions, not sure what use this has in our World yet, but check out zoneserver.h:

Code: Select all

#define EXPANSION_UNKNOWN	1
#define EXPANSION_UNKNOWN2	64
#define EXPANSION_UNKNOWN3	128
#define EXPANSION_UNKNOWN4	256
#define EXPANSION_UNKNOWN5	512
#define EXPANSION_DOF		1024
#define EXPANSION_KOS		2048
#define EXPANSION_EOF		4096
#define EXPANSION_ROK		8192
and zoneserver.cpp, EQ2Packet* ZoneServer::GetZoneInfoPacket(Client* client):

Code: Select all

int32 expansions = EXPANSION_UNKNOWN + EXPANSION_DOF + EXPANSION_KOS + EXPANSION_EOF + EXPANSION_ROK; // TODO: Figure out where these come from, and if they matter
Not sure if this has anythign to do with what you said, enabling stuff ROK+

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: AA Development

Post by John Adams » Thu Apr 26, 2012 9:20 am

Jab, there was once upon a time (can't remember which system) where tabs would not appear *unless* there was data sent to the client for them. Zcoretri or Scat might recall. Was it Guild Banks, or Tradeskills/Recipes? Something. Maybe this is the same thing... unless you forced all the data you can think of and still have zero results?

Rather than frustrate yourself to burning out (speaking from personal experience ;)) maybe take a breather and look into something else on the 0.7.1 list. Finishing 1 thing usually feels pretty good ;)

User avatar
Scatman
Retired
Posts: 1688
Joined: Wed Apr 16, 2008 5:44 am
EQ2Emu Server: Scatman's Word
Characters: Scatman
Location: New Jersey

Re: AA Development

Post by Scatman » Thu Apr 26, 2012 2:22 pm

Yeah I couldn't get the guild bank/bank log tabs to show. I had the same exact packet exchange between client/server as Live did and still nothing so there was something else affecting it. Never did find out what it was, so it sounds like a very similar problem.

Jabantiz
Lead Developer
Posts: 2912
Joined: Wed Jul 25, 2007 2:52 pm
Location: California

Re: AA Development

Post by Jabantiz » Sat Jul 21, 2012 1:52 am

I attempted to figure out how to get the mini map to stop opening every time the player logs in and assumed the data would be in the zone info packet, after going through this packet and changing the hardcoded unknowns to what the server had and testing this I failed at my task, hitting my keyboard in frustration I opened the character development window and this is what I saw.
Image
TABS!!! Finally after months of trying to figure this out I stumbled across it by accident but here they are. Now that I got this showing development can resume on this, however despite how exciting this is for me that we have tabs I will still be focusing my efforts on tradeskills and bug fixes for now.



BTW moved this to public forums so non devs can see it is being worked on.

(for those who are wondering, had an aa packet hardcoded in my server to send just before the trait list from when I originally started work on this, thank god i didn't delete that code)

EDIT: Tested a guild and have bank settings and bank log tab now as well (I believe those were the ones missing), I tried to test guild banks but right clicking a banker and selecting guild bank causes me to say bank in guild chat...

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: AA Development

Post by John Adams » Tue Jul 24, 2012 5:09 pm

That is amazing. If it weren't for your frustration, you never would have even known :)

So what was it that fixed this? I didn't quite get it in the post above. Zone Info packet data? It'll be cool to know, since so many aspects of the UI rely on Tabs.

Jabantiz
Lead Developer
Posts: 2912
Joined: Wed Jul 25, 2007 2:52 pm
Location: California

Re: AA Development

Post by Jabantiz » Tue Jul 24, 2012 5:14 pm

I changed the unknown values in WS_ZoneInfo to match a packet from a 1096 log, not sure wich unknown fixed it but one of them did.

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: Character Traits

Post by John Adams » Wed Aug 01, 2012 10:15 am

Putting us back on the Traits thread (Zcoretri), here's what I'm going to do.

I am going to take your Traits "spells" data and ID them similar to how we do Spells by Class (class_id * 1000), so I'll do race_id * 1000 just to keep things similar. I need to do this for the sake of our editor, and of course to keep things clear on what is what.


Edit: Hmm, I might be able to do this by joining to the spell_traits table and using the class/race columns. The questions still remain, so please answer them just so I understand what I am looking at.


The question I have for you Character Advancement experts now is, can you clarify for me all the different "classifications" of spells/abilities we're adding? Like, Traits are bound to Races, but what about Innate? Is that a Race, or Class? Then, Traditions are what... Race again? And finally, are there other things on that first Char Dev tab (Master? Class?) and I assume those are just uber versions of existing Spells at the top tier, so Nothing has to be done differently in the Spells table?


FYI, once upon a time, LE and I entertained the notion of splitting Spells/Abilities from Character Development and Alternate Advancement. Meaning, a whole different set of tables. Do you still think this is necessary, or should our Spells table structures handle all data for all these extra things?

Thanks. Let me know asap your answers here, since I am working on the Spells Editor today.
John Adams
EQ2Emulator - Project Ghost
"Everything should work now, except the stuff that doesn't" ~Xinux

Jabantiz
Lead Developer
Posts: 2912
Joined: Wed Jul 25, 2007 2:52 pm
Location: California

Re: Character Traits

Post by Jabantiz » Wed Aug 01, 2012 1:03 pm

Innate is racial starting abilities, you should get these spells when you make a new character, traditions are race also, but selectable every 10 levels, character traits (brawny, nimble, etc) are for every one, and finally is training wich is class grandmaster spell choices.

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest