Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::General Support

Support::General Support Post all topics here having to do with errors while trying to connect to an EQEMu server but not about the setup/running of the Server itself.

Reply
 
Thread Tools Display Modes
  #1  
Old 09-20-2015, 08:42 PM
JimB_1958
Sarnak
 
Join Date: Mar 2013
Location: Springfield MO
Posts: 66
Default revamped AA

Saw this on changelog.txt

== 7/2/2015 ==
KLS/Demonstar55: AA system has been rewritten fixing a ton of bugs and extending functionality while making it easier to create new AA points.
KLS/Demonstar55: New tables are needed and so older data will need to be migrated to the new system.
KLS/Demonstar55: The SQL saves the old aa points spent/avail/character_alt_abilities data if any server ops want to do something different than PEQ did with it.
KLS/Demonstar55: Will try to get a wiki entry written up next week some time explaining the system but it's really not hard to follow the db tables in the meantime.

is there a wiki reference yet? if so, can someone point me the way?
__________________
"We are all on the same team, and I think not enough people realize this."
- Leetsauce
Reply With Quote
  #2  
Old 09-20-2015, 11:35 PM
demonstar55
Demi-God
 
Join Date: Apr 2008
Location: MA
Posts: 1,165
Default

Quick description assuming you're looking to do custom stuff:

Tables: aa_ability, aa_ranks, aa_rank_effects, an aa_rank_prereqs.

Each of these tables correspond to a new class/object server side.

Each AA line has a single aa_ability. Each aa_ability has multiple aa_ranks with various data. Each rank can have an associated aa_rank_effects, which is just spell data for the AA rank. The aa_rank_prereqs table may seem silly, but live now has AA that have multiple prereqs, which that lets us do. (that's RoF+, so you won't see them on older clients)

That should give you kind of a good idea of how it all works just looking at the tables.

Data common to every line is in aa_ability, note name in this table is just for easy of use, the actual displayed name is done via some DB string ID entries in aa_ranks since live has AAs that change name with each rank. The aa_ability table needs to point to the first rank ID, and each rank points to the next etc.
Reply With Quote
  #3  
Old 09-21-2015, 08:34 AM
JimB_1958
Sarnak
 
Join Date: Mar 2013
Location: Springfield MO
Posts: 66
Default

Thanks... that will get me started. I have some custom AA in the old system I am trying to port over
__________________
"We are all on the same team, and I think not enough people realize this."
- Leetsauce
Reply With Quote
  #4  
Old 09-22-2015, 01:40 AM
demonstar55
Demi-God
 
Join Date: Apr 2008
Location: MA
Posts: 1,165
Default

This might help a bit, let me go over an AA:

Code:
select * from aa_ability where name = "Innate Strength"\G;
*************************** 1. row ***************************
              id: 1
            name: Innate Strength
        category: -1
         classes: 65535
           races: 65535
drakkin_heritage: 127
         deities: 131071
          status: 0
            type: 1
         charges: 0
      grant_only: 0
   first_rank_id: 2
         enabled: 1
Here we see the ID of the AA group for Innate Strength is 1. This is what we once called SEQ (for sequence.) This is also the number you use for /alt act if this was an activated AA.

Here we can see the first_rank_id tells us the first AA ID is 2. So lets grab that from aa_rank.

Code:
select * from aa_ranks where id = 2\G;
*************************** 1. row ***************************
              id: 2
upper_hotkey_sid: -1
lower_hotkey_sid: -1
       title_sid: 2
        desc_sid: 2
            cost: 1
       level_req: 51
           spell: -1
      spell_type: 0
     recast_time: 0
       expansion: 3
         prev_id: -1
         next_id: 3
Here we can see stuff like hotkey SIDs, title SID, cost, level, etc. Here we see prev_id is -1 meaning there is none, and the next_id is 3, so we can do select * from aa_ranks where id = 3 to get that one. Now this doesn't tell us how many abilities the AA have since we can just calculate that.

Code:
select * from aa_rank_effects where rank_id = 2\G;
*************************** 1. row ***************************
  rank_id: 2
     slot: 1
effect_id: 4
    base1: 2
    base2: 0
Now Innate Strength doesn't have any prereqs, so let me just grab an example from a random AA

Code:
select * from aa_rank_prereqs where rank_id = 255\G;
*************************** 1. row ***************************
rank_id: 255
  aa_id: 309
 points: 3
This is the Flurry AA which depends on rank 3 of AA 309, which is the id from aa_ability, which means ...

Code:
select * from aa_ability where id = 309\G;
*************************** 1. row ***************************
              id: 309
            name: Combat Fury
        category: -1
         classes: 32769
           races: 65535
drakkin_heritage: 127
         deities: 131071
          status: 0
            type: 2
         charges: 0
      grant_only: 0
   first_rank_id: 934
         enabled: 1
It depends on rank 3 of Combat Fury :P
Reply With Quote
  #5  
Old 09-22-2015, 02:26 AM
Shendare
Dragon
 
Join Date: Apr 2009
Location: California
Posts: 814
Default

Reply With Quote
  #6  
Old 09-22-2015, 02:24 PM
JimB_1958
Sarnak
 
Join Date: Mar 2013
Location: Springfield MO
Posts: 66
Default

Very cool. Thanks again.
__________________
"We are all on the same team, and I think not enough people realize this."
- Leetsauce
Reply With Quote
  #7  
Old 04-19-2016, 12:11 PM
JimB_1958
Sarnak
 
Join Date: Mar 2013
Location: Springfield MO
Posts: 66
Default

Sorry to revive this thread but I had another question and wanted to keep it all together...

What determines the cool down groups? What I mean is, If I click an AA and it greys out 2 other similar AA how do I change that?
__________________
"We are all on the same team, and I think not enough people realize this."
- Leetsauce
Reply With Quote
  #8  
Old 04-19-2016, 01:00 PM
demonstar55
Demi-God
 
Join Date: Apr 2008
Location: MA
Posts: 1,165
Default

aa_ranks.spell_type
Reply With Quote
  #9  
Old 04-19-2016, 02:24 PM
JimB_1958
Sarnak
 
Join Date: Mar 2013
Location: Springfield MO
Posts: 66
Default

Thank you very much. Worked Perfectly
__________________
"We are all on the same team, and I think not enough people realize this."
- Leetsauce
Reply With Quote
  #10  
Old 05-28-2016, 12:19 AM
fryguy
Sarnak
 
Join Date: May 2007
Posts: 41
Default

Has anyone been able to update a wiki or have a detailed guide on each field. I have been able to understand most of the linking, but fields like "Upper_Hotkey_sid" and "Lower_hotkey_sid" I have not understood yet.
Reply With Quote
  #11  
Old 05-28-2016, 02:54 AM
demonstar55
Demi-God
 
Join Date: Apr 2008
Location: MA
Posts: 1,165
Default

Quote:
Originally Posted by fryguy View Post
Has anyone been able to update a wiki or have a detailed guide on each field. I have been able to understand most of the linking, but fields like "Upper_Hotkey_sid" and "Lower_hotkey_sid" I have not understood yet.
The hotkeys for AAs are made up of two lines. Upper SID is the string ID for the top line, Lower is for the bottom line.

EDIT: I think it might be a dbstring ID actually, whatever.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 04:07 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3