Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Development

Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum)

Reply
 
Thread Tools Display Modes
  #1  
Old 05-17-2019, 10:23 PM
Xanathol
Sarnak
 
Join Date: Oct 2009
Posts: 52
Default Implementing an Innate Proc AA?

Hey Folks,

I'm trying to implement an innate proc AA (Warrior agro proc) and now that I've updated to the latest & greatest, I'm trying to figure my way out around the new AA tables and such. Needless to say, what I have thus far isn't exactly working.

Here's what I've got so far.

In aa_ability:
Code:
id name category classes races drakkin_heritage deities status type charges grant_only first_rank_id enabled
30200 Spite -1 1 65535 127 131071 0 3 0 0 30200 1
In aa_ranks:
Code:
id upper_hotkey_sid lower_hotkey_sid title_sid desc_sid cost level_req spell spell_type recast_time expansion prev_id next_id
30200 -1 -1 366527 366527 0 1 -1 0 0 0 -1 -1
In aa_rank_effects:
Code:
rank_id slot effect_id base1 base2
30200 1 85 12266 0
I also have a new spell at ID 12266 and of course new DB_STR entries.

The AA shows up and is purchasable (though I wish it was auto-granted) but it never procs. Never a message or anything in the client (and sadly I don't know wth the logs go to in the code - debugview picked up nothing).

Did I miss something? Is it more a procing issue? And how do I turn on logging? Thanks!


Edit: finally found the new logging system info - that is NICE! No closer to implementing this AA though. :(
Reply With Quote
  #2  
Old 05-18-2019, 02:26 AM
Xanathol
Sarnak
 
Join Date: Oct 2009
Posts: 52
Default

Been digging around more all night and I don't see where effect ID 85 is ever loaded in bonuses.cpp->Mob->ApplyAABonuses. In testing, it looks like Touch of the Cursed doesn't work either, so it seems the funcitonality is missing?

I added the following and modified the AA info in aa_rank_effects to give Touch of the Cursed a 5% chance to proc (base2) and now it works, though I question whether I am missing something somewhere else, making this unnecessary.

Code:
case SE_WeaponProc:
   for( int i = 0; i < MAX_PROCS; i++ )
   {
        if( PermaProcs[i].spellID == base1 )
        {
            // this is a stupid catch all so higher ranks replace this one; needs improvement
            PermaProcs[i].spellID = SPELL_UNKNOWN;
         }
   }
   this->AddProcToWeapon( base1, true, base2, base1 );

   break;
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 10:49 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