PDA

View Full Version : Were AAs revamped?


revloc02c
12-31-2012, 11:02 PM
Pardon me, I recently returned to the forums a couple months ago, and I swear I saw a post back then that indicated that there was a new AA system or something like that. Now I am searching and searching for it and I can't find it. Maybe it was a new expansion's AAs that someone was talking about. Please, can someone tell me if the AA system was recently revamped/changed/improved?

Kayen
01-01-2013, 12:10 AM
The system itself was not significantly changed. The major improvement is that almost all AA are handled in via the dbase tables and not hard coded in the source.

For more details see the change log .http://projecteqemu.googlecode.com/svn/trunk/EQEmuServer/changelog.txt

I started a wiki page for little more details on how it all works. Might be of use.
http://www.eqemulator.net/wiki/wikka.php?wakka=AAInfo

Kayen

Akkadius
01-01-2013, 12:19 AM
Yes, your man Kayen raised the roof and did a tremendous amount of work on AA's and Spells!

revloc02c
01-01-2013, 03:36 AM
Yes! Thank you. This is exactly what I was hoping for--the ability to tweak and change AAs with the databse! Thanks for all your hard work and for pointing me to this.

revloc02c
01-01-2013, 04:40 AM
Yes, your man Kayen raised the roof and did a tremendous amount of work on AA's and Spells!
@Akkadius
Spells? Could you elaborate on that please? What did he do?

Akkadius
01-01-2013, 04:50 AM
@Akkadius
Spells? Could you elaborate on that please? What did he do?

Finished most of the unimplemented spell cases.

revloc02c
01-01-2013, 05:12 AM
The system itself was not significantly changed. The major improvement is that almost all AA are handled in via the dbase tables and not hard coded in the source.

For more details see the change log .http://projecteqemu.googlecode.com/svn/trunk/EQEmuServer/changelog.txt

I started a wiki page for little more details on how it all works. Might be of use.
http://www.eqemulator.net/wiki/wikka.php?wakka=AAInfo

Kayen
Hey Kayen, I've been messing with this and I have a question. In the excellent wiki you wrote is says:
max_level
How many ranks the AA has for its specific tier (max 20)
I tried setting some of them to 20 and they only went up to what they had been previously set to (5). Was there something else I had to change, or have I misunderstood something?

revloc02c
01-01-2013, 05:15 AM
Finished most of the unimplemented spell cases.

So are you referring to the spells_us.txt and spells_en.txt files or something else?

Kayen
01-01-2013, 06:10 AM
I tried setting some of them to 20 and they only went up to what they had been previously set to (5). Was there something else I had to change, or have I misunderstood something?

If you have AA stacking turned on, you probably need to make sure the sof_max_level is also set correctly. I am guessing that is what is overriding your changes.

It also is not as simple just adding the max level, you will actually need the aaid's for all those levels. Every level needs to have its own unique 'skill_id' even if its not in the table. That is why the 'skill_id' have gaps.

So if you make AA with skill_id 200 have 20 ranks its really 200-220.

It is better to use the AA stacking for making AA's with increased ranks, see examples in the dbase like combat stability ect.

To the other post.

I implemented almost all the 'spell effects' that exist for spells in the spells_us ect. So all spells should work properly at least through underfoot.

revloc02c
01-01-2013, 02:21 PM
Hey Kayen,

Thanks for your replies, and thanks for your work on this. I think I am starting to understand, and I believe I can really use this system (man, I've been hoping someone would do this...thanks again, I really appreciate that I can reap rewards from your hard labor).

I see AA:Stacking in the rule_values table an it is set to "true".
you probably need to make sure the sof_max_level is also set correctly. I am guessing that is what is overriding your changes.
What is a correct setting? Take Innate STR as an example, 5 ranks from Innante Strength, and 10 from Advanced Innate Strength makes 15 which is what is in the sof_max_level from both rows, have I got that right?

And so say I want to add more STR, like Adv Innate STR II, 20 ranks of it. You're saying the best way is to make a new row for it, give it a free skill_id (2001 is free), make "Advanced Innate Strength" a prereq for it (maybe this step is optional?), and change the sof_max_level to 35 (15 existing + my 20 more) in all three innate STR rows? Have I got that correct? And then make corresponding entries in the aa_effects table that look very similar to "Advanced Innate Strength" entries except use aaid 2001-2020?

And one more thing, I use the Titanium client, is that going to put a damper on any of this?

revloc02c
01-01-2013, 03:04 PM
Hmm, I just realized it says to choose a name already in the dbstr_us file. So my scenario might not be the right way to do it. Let me try a rewrite and tell me if I am thinking through this correctly.

I want to add more STR, and re-do "Innate Strength" so that there's 20 ranks of it. Copy "Innate Strength" to a new row and give it a free skill_id (2001 is free). And then delete the old "Innate Strength" row (so there's not a duplicate). Change the max_level to 20, and change the sof_max_level to 30 (my 20 + 10 more from "Advanced Innate Strength") in both innate STR rows? And then change the corresponding entry in the aa_effects table so that the aaid number references 2001. Is that right?

And I am still hoping that the Titanium client won't have any problems with this. True?

wolfwalkereci
01-01-2013, 07:14 PM
The wiki page is really nice. I added it to my bookmark.
Thank you for all the work you have done on the AA man

revloc02c
01-01-2013, 10:56 PM
Crap. I've been working on this for a while and I am not getting it. Is there someone that knows what to do that could check my two previous posts and see if you can set me straight and get me on the right path please?

sorvani
01-01-2013, 11:26 PM
Without sitting down and doing it myself, it sounds right.

Kayen
01-02-2013, 12:45 AM
First Titanium clients can not display AA's as stacking.

You will just see an individual line for each AA that has a skill_id.

Now for what you want to accomplish.

You want to add another 20 ranks of STR.

Lets say you want to add this to the existing 15 ranks.

First copy and paste 'skill_id 292 Advanced Innate Strength' to a new row and rename it 'skill_id 2000 Advanced Innate Strength II'

For 'skill_id 2000 Advanced Innate Strength II' change max_level = 20, sof_max_level = 35, sof_current_level = 15,

For 'skill_id 292 Advanced Innate Strength' change sof_max_level = 35, sof_next_id = 2000,

For 'skill_id Innate Strength' change sof_max_level = 35,

In the AA effects table you will want to add some thing like this, which gives +2 STR per point.

3000 2000 1 4 2 0
3001 2001 1 4 4 0
3002 2002 1 4 6 0
3003 2003 1 4 8 0
3004 2004 1 4 10 0
3005 2005 1 4 12 0
3006 2006 1 4 14 0
3007 2007 1 4 16 0
3008 2008 1 4 18 0
3009 2009 1 4 20 0
3010 2010 1 4 22 0
3011 2011 1 4 24 0
3012 2012 1 4 26 0
3013 2013 1 4 28 0
3014 2014 1 4 30 0
3015 2015 1 4 32 0
3016 2016 1 4 34 0
3017 2017 1 4 36 0
3018 2018 1 4 38 0
3019 2019 1 4 40 0

This the basics of what you need to do.

Kayen

wolfwalkereci
01-02-2013, 12:59 AM
That is a good working example many people can look at and follow Kayen.
Even a total nub like myself!

trevius
01-02-2013, 02:31 AM
It is unfortunate that AAs have to be so complex to manage in the DB. The problem lies in how SOE reworked their AA system after Titanium, and even in how it worked in Titanium. I am sure they could have made a much better system for them, but since they did not, we have to deal with what we have available to us.

Editing AAs can at least be done now in the DB thanks to the work Kayen did. It definitely takes some getting used to, and even once you learn how to do it, it is hard to retain the info unless it is fresh in your head.

revloc02c
01-02-2013, 08:03 PM
Thanks again Kayen for walking me through this. I got it all to work except for one thing. In game, in the AA window my new AA is labeled:
Unknown DB String 2001-1
It all functions correctly, but just the name is odd. Do I need to edit the dbstr_us file?

revloc02c
01-02-2013, 08:12 PM
Yep, that was it. I just added:
2001^1^Advanced Innate Strength II
2001^4^This ability raises your innate Strength by two points per rank. You may train in this ability twice each level, beginning at level 61.
...to the bottom of the dbstr_us.txt file (in the Everquest installation directory).

Thanks again Kayen, I am rolling now.

Kayen
01-02-2013, 11:54 PM
You can technically just use the same desc and title id of the 'Advanced Innate Strength', need to make sure though if on SoF you are set the sof_next_skill = to the skill_id of Advanced Innate Strength.

revloc02c
01-03-2013, 11:13 PM
So here's my next question: If I used a dbstr_us file from a SoF client or one of the others more recent than Titanium (HoT, Und) could I get more functional AAs in the Titanium client since there are many things in the database already that Titanium is not using? Has anyone tried this? Could someone PM me to set up emailing me a copy of the SoF dbstr_us file so that I can try it? (I hope I didn't violate any laws asking for that.)

Kayen
01-04-2013, 02:03 AM
You can technically get SoF+ AA's in Titanium but you need to set the client version on all those AA's and also adjust all the fields only effect Titanium AA. It is not as simple as just having the dbstr_us. Basically all the dbstr file does it allow the names and description to display correctly.

revloc02c
01-04-2013, 09:45 AM
You can technically get SoF+ AA's in Titanium but you need to set the client version on all those AA's and also adjust all the fields only effect Titanium AA.
So, these changes of which you speak, are they in the cpp code or is it simply another database change? (Perhaps the aa_expansion column--hmm, no, wiki says this is for display.)
It is not as simple as just having the dbstr_us. Basically all the dbstr file does it allow the names and description to display correctly.
Understood.

revloc02c
01-04-2013, 05:35 PM
So, these changes of which you speak, are they in the cpp code or is it simply another database change? (Perhaps the aa_expansion column--hmm, no, wiki says this is for display.)
DOH!
It's clientvar, right there in front of me. Sorry about that, now I feel sheepish.

revloc02c
01-05-2013, 11:30 PM
Could someone please check the "Healing Gift Mastery" (skill_id=1086) entry in the aa_effects table? I don't see it there.

Healing Gift Mastery exists in the altadv_vars table and also shows up in game just fine, but there are no entries for it in that other table (aa_effects). Maybe that's okay? Or maybe you can buy it, but there is no functionality behind it?

Will someone please take a look at this?

Kayen
01-06-2013, 08:11 AM
Yeah looks like its missing should be 2% per rank for the 3 ranks.

Kayen
01-06-2013, 08:32 AM
In reviewing this also found the SoF+ Healing Adept AA's were not set to the correct values.

Committed an sql to resolve all these issues.

revloc02c
01-06-2013, 10:39 AM
Thanks Kayen, I appreciate that. I am still working through AAs and I'll keep an eye out for anything else.

revloc02c
01-09-2013, 10:31 PM
Healing Gift VII in the aa_effects table, it's skill_id = 12454. Usually in this table the aaid (skill_id) increments with each rank, so it gets higher, but the other two entries here are aaid=12453, 12452, going lower.

Furthermore, the base1 value for 12454 is a 3, and then it also gets lower to a 2 then 1.

So,

seems like the skill_id for Healing Gift VII should be 12452

OR

the other entries for it in the aa_effects table should increment, 12455, 12456 (adjusting the base1 values for each so that they all correspond correctly).


Or it all may be okay and just work because I don't understand the implementation of it all well enough. But I thought I should bring it up here to make sure.

revloc02c
01-10-2013, 09:58 PM
In addition to the previous post...

I could not find Finishing Blow, skill_id=119 in the aa_effects table.

Could someone please double check these things for me?

revloc02c
01-11-2013, 08:38 PM
Found another question:
Veteran's Wrath cites 445 as the prereq_skill, but that is the third rank of Fury of Ages skill_id 443. So should the prereq_skill actually be 443?

In game it says Veteran's Wrath "has no previous ability requirements"

Perhaps someone in the know could also check this potential issue.

Thanks.

revloc02c
01-12-2013, 04:02 PM
I found another mistake if someone would please take a look:

In the altadv_vars table Healing Gift V prereq_skill = 4479 (two 4s), but Healing Gift IV skill_id is 4779 (two 7s).

Here's a script to fix this if someone with the power will put it in the right place:

UPDATE altadv_vars SET prereq_skill = 4779 WHERE skill_id = 5592;

Thanks.

revloc02c
01-14-2013, 07:38 PM
You can technically get SoF+ AA's in Titanium but you need to set the client version on all those AA's and also adjust all the fields only effect Titanium AA. It is not as simple as just having the dbstr_us. Basically all the dbstr file does it allow the names and description to display correctly.
I did this--imported AAs beyond the Titanium expansion into Titanium. For anyone else who might also do this I found that any AAs in the database that have 5 digit skill_id numbers will not show up in the client. Just FYI.

revloc02c
01-21-2013, 11:11 PM
Found another question:
Veteran's Wrath cites 445 as the prereq_skill, but that is the third rank of Fury of Ages skill_id 443. So should the prereq_skill actually be 443?

In game it says Veteran's Wrath "has no previous ability requirements"

Perhaps someone in the know could also check this potential issue.

Thanks.
Here's a script to fix this problem in case anyone needs it.

UPDATE altadv_vars SET prereq_skill = 443 WHERE skill_id = 1041;

revloc02c
01-21-2013, 11:16 PM
In fact if you run this query it will show where there are disconnects in AA prereq progressions:

SELECT t1.skill_id, t1.name, t1.prereq_skill, t2.name FROM altadv_vars t1 LEFT JOIN altadv_vars t2 ON t1.prereq_skill = t2.skill_id ORDER BY t1.prereq_skill DESC;

Wherever there is a NULL on the right is a disconnect (except where the prereq_skill is zero or 4292967295 of course).

revloc02c
01-21-2013, 11:24 PM
And here's one that shows disconnects in the next id progression:

SELECT t1.skill_id, t1.name, t1.sof_next_id, t2.name FROM altadv_vars t1 LEFT JOIN altadv_vars t2 ON t1.sof_next_id = t2.skill_id ORDER BY t1.sof_next_id DESC;

Looks like there's only one.

revloc02c
01-22-2013, 09:36 PM
Earthen Brawn
Earthen Stability
Earthen Alacrity
Earthen Artistry
Earthen Sagacity
Earthen Brilliance
Earthen Allure
These AAs all have a prereq_skill of 7357, but there is no such skill in the altadv_vars table. Does anyone know what the prereq AA is supposed to be?

lerxst2112
01-22-2013, 10:03 PM
On live they require planar power at level 20 and have a level req of 81