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 07-28-2006, 02:50 PM
Glorandwarf
Fire Beetle
 
Join Date: Jul 2006
Posts: 5
Default Working on Titanium AAs

Hello all.

I've found an opcode that allows AAs to be purchased for Titanium. The opcode is OP_RespondAA=0x3af4. I have included the coding changes for 0.7.0-840:

for common/patches/Titanium.cpp:
Code:
577c577
< 				Message_StringID(15,AA_GAIN_ABILITY,ConvertArray(aa2->title_sid,val1),ConvertArray(aa2->cost,val2),points2);
---
> 				Message_StringID(15,AA_GAIN_ABILITY,ConvertArray(aa2->id,val1),ConvertArray(aa2->cost,val2),points2);
579c579
< 				Message_StringID(15,AA_GAIN_ABILITY,ConvertArray(aa2->title_sid,val1),ConvertArray(aa2->cost,val2),point2);
---
> 				Message_StringID(15,AA_GAIN_ABILITY,ConvertArray(aa2->id,val1),ConvertArray(aa2->cost,val2),point2);
583c583
< 				Message_StringID(15,AA_IMPROVE,ConvertArray(aa2->title_sid,val1),ConvertArray(cur_level,val2),ConvertArray(aa2->cost,val3),points2);
---
> 				Message_StringID(15,AA_IMPROVE,ConvertArray(aa2->id,val1),ConvertArray(cur_level,val2),ConvertArray(aa2->cost,val3),points2);
585c585
< 				Message_StringID(15,AA_IMPROVE,ConvertArray(aa2->title_sid,val1),ConvertArray(cur_level,val2),ConvertArray(aa2->cost,val3),point2);
---
> 				Message_StringID(15,AA_IMPROVE,ConvertArray(aa2->id,val1),ConvertArray(cur_level,val2),ConvertArray(aa2->cost,val3),point2);
For zone/AA.cpp:
Code:
147,148c147,148
< 	eq->title_sid = emu->id;
< 	eq->desc_sid = emu->id;
---
> 	eq->title_sid = emu->id - emu->current_level + 1;
> 	eq->desc_sid = emu->id - emu->current_level + 1;
and for zone/client_packet.cpp:
Code:
6234c6234
< 	//SendAATable();
---
> 	SendAATable();
There are still some issues at the moment that need addressing:

1. This only works for Titanium, due to the changes in string ids that need to be sent to the client. I am working on a method that involves a custom Message_StringID function that uses a "fake" opcode that both Titanium and Client62 can interpret and send the correct string id.
2. The AA information does not show correctly in the AA window after zoning or logging. The rank for the AA appears to be one less than the actual rank. However, a rank that is maxed out (such as Innate Strength 5/5) will show correctly.

Hope this helps out.
Reply With Quote
  #2  
Old 07-28-2006, 04:53 PM
soulshot
Hill Giant
 
Join Date: Jun 2006
Posts: 142
Default

Nice work guy!
Reply With Quote
  #3  
Old 07-28-2006, 06:28 PM
greneday
Fire Beetle
 
Join Date: Jul 2004
Posts: 12
Default

nice!
I was wondering how I add this to my 0.7.0 server, I am still new to running one.
Reply With Quote
  #4  
Old 07-29-2006, 05:31 AM
fathernitwit
Developer
 
Join Date: Jul 2004
Posts: 773
Default

prolly the easiest thing to do about the string IDs is to just go back to sending the entire message ourself instead of using the stringID stuff... the hardest part would be updating the altadv_vars table to have the correct 'name' column (hasnt been updated in a long time), and then loading that field up from the DB so we can use it to make these messages.

I havent been able to figure out what they are not persisting across zones properly, I suspect its the AA storage in the player profile, but I have compred them across versions and theres no difference.... so either they are not getting stored into the PP properly, or we are sending some packet later (like SendAATable()) which is overriding the values stored in PP and breaking things.
Reply With Quote
  #5  
Old 08-01-2006, 09:00 PM
blaaaah
Fire Beetle
 
Join Date: Aug 2006
Posts: 8
Default phych outq

dude, this is so sic, i cant wait to start playing, how well does the server work now? any bugs?
Reply With Quote
  #6  
Old 08-02-2006, 04:38 AM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

After applying a decrypting interpolation routine to the OP instructions, I was able to get AA's to stick on my 840 server. Great find, and thank you for your effort!

Now to find that missing Innate STR AA.


Edit: Ahhh, I see what you're saying now. If I train 1/5 innate [anything] then zone, that entire AA is removed from the list. Gonna try and figure out how to get it back. That must be where STR went originally, since I had been playing with this for some time.

Last edited by John Adams; 08-02-2006 at 12:42 PM..
Reply With Quote
  #7  
Old 08-03-2006, 02:19 PM
fireclav
Sarnak
 
Join Date: Jun 2006
Location: nowhere
Posts: 56
Default

do aa;s work except the innate ones or no
Reply With Quote
  #8  
Old 08-03-2006, 02:54 PM
Zengez
Hill Giant
 
Join Date: Nov 2004
Posts: 160
Default

Just out of curiosity, (sorry if this is what the last poster was wondering, not really sure) but do teh AA's actually 'work' or are they just buyable as in it sticks and the numbers show (except the zoning issue)

Also, any ETA on when the next level emu will come out with this patch included? (like the 0.7.0-841 or whatnot)

Thanks!
Reply With Quote
  #9  
Old 08-03-2006, 05:41 PM
mattmeck
Guest
 
Posts: n/a
Default

Some AA's work some dont

no ETA's are ever given, could be tomorow could be next year.
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 03:48 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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3