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 08-04-2006, 07:03 AM
mattmeck
Guest
 
Posts: n/a
Default

YEs it builds each nite with what the developers do that day, your asking for an ETA on when there going to include something.

Basicaly it will be included when its done, the fixes so far still dont work.
Reply With Quote
  #2  
Old 08-14-2006, 07:56 AM
Glorandwarf
Fire Beetle
 
Join Date: Jul 2006
Posts: 5
Default

Hello all,

I think I've finally gotten the AAs to display correctly in the AA window of the Titanium client. Now you can purchase the AAs and they will display correctly, even after zoning and logging. So if you purchase 2 ranks of Innate Strength, the client will reflect this in the Inventory window. It also has a fix that will display the purchase strings correctly for both Client62 and Titanium.

The following patches are built using the 0.7.0-841 source:

for common/emu_oplist.h:
Code:
25a26
> N(OP_UpdateAA),
for common/eq_packet_structs.h:
Code:
3116,3117c3116,3118
< /*0088*/	int32 total_abilities;
< /*0092*/	AA_Ability abilities[0];
---
> /*0088*/	char  name[128];		// added AA name to struct, not used outside of server
> /*0216*/	int32 total_abilities;
> /*0220*/	AA_Ability abilities[0];
for utils/patch_Titanium.conf:
Code:
414c414
< OP_UpdateAA=0x0000
---
> OP_UpdateAA=0x5966
for zone/AA.cpp:
Code:
569,587c569,572
< 		char val1[20]={0};
< 		char val2[20]={0};
< 		char val3[20]={0};
< 		char points[20]={0};
< 		char point[20]={0};
< 		const char* points2=ConvertArray(AA_POINTS,points);
< 		const char* point2=ConvertArray(AA_POINT,point);
< 		if(cur_level<1){
< 			if(aa2->cost>1)
< 				Message_StringID(15,AA_GAIN_ABILITY,ConvertArray(aa2->title_sid,val1),ConvertArray(aa2->cost,val2),points2);
< 			else
< 				Message_StringID(15,AA_GAIN_ABILITY,ConvertArray(aa2->title_sid,val1),ConvertArray(aa2->cost,val2),point2);
< 		}
< 		else{
< 			if(aa2->cost>1)
< 				Message_StringID(15,AA_IMPROVE,ConvertArray(aa2->title_sid,val1),ConvertArray(cur_level,val2),ConvertArray(aa2->cost,val3),points2);
< 			else
< 				Message_StringID(15,AA_IMPROVE,ConvertArray(aa2->title_sid,val1),ConvertArray(cur_level,val2),ConvertArray(aa2->cost,val3),point2);
<         }
---
> 		if(cur_level<1)
> 			Message(15,"You have gained the ability \"%s\" at a cost of %d ability %s.", aa2->name, aa2->cost, (aa2->cost>1)?"points":"point");
> 		else
> 			Message(15,"You have improved %s %d at a cost of %d ability %s.", aa2->name, cur_level, aa2->cost, (aa2->cost>1)?"points":"point");
671c656
< 			saa->abilities[0].increase_amt*=value;
---
> 			saa->abilities[0].increase_amt*=saa->current_level;
1001c986
< 		"classes, berserker,spellid,class_type"
---
> 		"classes, berserker,spellid,class_type,name"
1034a1020
> 			strcpy(sendaa->name,row[15]);
1037c1023
< 			if(sendaa->hotkey_sid==0xFFFFFFFF)
---
> 			if(sendaa->max_level>1)
for zone/client_packet.h:
Code:
7a8
> 	void Handle_Connect_OP_UpdateAA(const EQApplicationPacket *app);
and for zone/client_packet.cpp:
Code:
115a116
> 	ConnectingOpcodes[OP_UpdateAA] = &Client::Handle_Connect_OP_UpdateAA;
6449a6451,6455
> 
> void Client::Handle_Connect_OP_UpdateAA(const EQApplicationPacket *app)
> {
> 	SendAATable();
> }
\ No newline at end of file
Also, during my testing, I have found out that in SendAA_Struct, the field "class_type" refers instead to the minimum level the character has to be in order to buy the AA.

Hope this helps out.

P.S. Sorry about the long post, was going to send the files in a zip attachment, but couldn't upload them for some reason.
Reply With Quote
  #3  
Old 08-14-2006, 08:01 AM
Zengez
Hill Giant
 
Join Date: Nov 2004
Posts: 160
Default

Woot!

This makes me wish i had a compiler.... /cry

Good work on the aa's everyone, looking foward to them being fully functional

Quick question though, you said they 'display' correctly after zoning, but do their effects still stick? i noticed with the current 841 source when you zone it displays as 1 shorter than what it does (as i know people have noticed/mentioned) but more importantly only the 1st rank worth of an aa takes effect until you spend your next aa point, and unless you want to farm an aa point every time you go somewhere to use aa's that's kinda annoying... i know things don't work yet and they aren't done, just wondering if this was among the 'zoning issues resolved' or if thats still on the list?

Thanks Again GloranDwarf for all your efforts

Last edited by Zengez; 08-14-2006 at 05:01 PM..
Reply With Quote
  #4  
Old 08-14-2006, 01:14 PM
fathernitwit
Developer
 
Join Date: Jul 2004
Posts: 773
Default

good work. This seems to have improved things a bit, but I am still seeing problems with some AAs sticking across zoning with titanium... for example I trained salvage, did a #save just in case, and then zoned, on the other side, neither my "total points spent" nor my salvage item were correct (however, my avaliable points were reduced...) Hopefully you can repeat this, I am a bit busy right now, none the less I will get these changes in.
Reply With Quote
  #5  
Old 08-14-2006, 01:32 PM
fireclav
Sarnak
 
Join Date: Jun 2006
Location: nowhere
Posts: 56
Default

ive noticed a few problems and alot of aas not showing up but other then that this is a HUGE improvement over nothing
Reply With Quote
  #6  
Old 08-14-2006, 01:33 PM
Glorandwarf
Fire Beetle
 
Join Date: Jul 2006
Posts: 5
Default

will take a look into training the Salvage AA and see what happens, pretty much just tested it with Innate Strength and Innate Stamina. Those AAs will show the correct values in the client (have been working correctly on the server side), figured that they would work for all of them. Back to the drawing board.

I'm going to check my source and make sure that I did make a patch for all of my AA changes, and if I missed anything I will repost it.

LOL, when I first posted my changes to the AA code I was stuck at getting it to work, so I thought that maybe someone else would get it working. Never know when inspiration will strike, huh?
Reply With Quote
  #7  
Old 08-14-2006, 04:20 PM
Glorandwarf
Fire Beetle
 
Join Date: Jul 2006
Posts: 5
Default

After doing some preliminary checking on the Salvage AA, it appears that it is not saving it in the player profile for some reason. Using a test command that displays PC stats (including AAs), I can see that whenever I zone, it loses the Salvage AA altogther, but it keeps the others (ex. Innate Charisma).

Will check into it some more later, getting late now.

EDIT: I located the problem with the Salvage AA: has to do with its id of 997. There's some code that removes any AA entries that have ids out of range, and the highest ID (defined in AA.h) is 933, so it is removing the Salvage AA entry. Will see about adding the rest of the aa ids into the file later, it's still late.

Last edited by Glorandwarf; 08-15-2006 at 12:29 AM..
Reply With Quote
  #8  
Old 08-14-2006, 04:23 PM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

Slightly off-topic, but similar in loss of data (maybe due to it not saving while zoning) -- Endurance. Everytime I zone, it's 0. And yes, it's been posted before. But if Glorandwarf can locate the bad save, maybe it'll lead to a fix for endurance, too.
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:35 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