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-10-2010, 05:45 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

It appears similar but isn't the same. 0x3f24 is still target buff, though that struct seems to of changed a bit too.
Reply With Quote
  #2  
Old 07-10-2010, 07:25 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

I think my struct was a bit off

Code:
4a 13 00 00 ff 14 00 00 01 0c 00 00 00 00 00 83
26 00 00 55 00 00 00 00 00 00 00 00 01 00 00 00
96 4a 00 00 f8 04 00 00 00 00 00 00 00 02 00 00
00 c1 4b 00 00 55 00 00 00 00 00 00 00 00 03 00
00 00 e2 4b 00 00 51 01 00 00 00 00 00 00 00 04
00 00 00 e5 4b 00 00 51 01 00 00 00 00 00 00 00
05 00 00 00 1f 20 00 00 44 00 00 00 00 00 00 00
00 06 00 00 00 e2 46 00 00 2d 01 00 00 00 00 00
00 00 07 00 00 00 e3 4a 00 00 9d 01 00 00 00 00
00 00 00 08 00 00 00 93 47 00 00 f4 06 00 00 00
00 00 00 00 0a 00 00 00 bf 48 00 00 e5 01 00 00
00 00 00 00 00 0b 00 00 00 6f 05 00 00 99 01 00
00 00 00 00 00 00 0c 00 00 00 38 0d 00 00 c8 05
00 00 00 00 00 00 00 00

What appears on the client:
0: mammoth strength
1: brell's loamy ward
2: transcendent forsight
3: darkpaw focusing
4: spell of determination
5: cloak of shadows
6: spiritual edification
7: yowl of the predator
8: hand of gallantry
9: blank
10: voice of prescience
11: dead men floating
12: talisman of the tribunal
Reply With Quote
  #3  
Old 07-10-2010, 07:44 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

Code:
4a 13 00 00 //entity id (though it doesn't matter if this is set right or not the buffs still appear)
ff 14 00 00 //dunno
01 //dunno always 1 though
0c //count 
00 //always 0, maybe it's part of count as a int16

00 00 00 00 //buffslot 
83 26 00 00 //spell id
55 00 00 00 //duration in tics
00 00 00 00 //dunno
00 //caster name string
 
01 00 00 00 
96 4a 00 00 
f8 04 00 00 
00 00 00 00 
00 

02 00 00 00 
c1 4b 00 00 
55 00 00 00 
00 00 00 00 
00 

03 00 00 00 
e2 4b 00 00 
51 01 00 00 
00 00 00 00 
00 

04 00 00 00 
e5 4b 00 00 
51 01 00 00 
00 00 00 00 
00

05 00 00 00 
1f 20 00 00 
44 00 00 00 
00 00 00 00 
00 

06 00 00 00 
e2 46 00 00 
2d 01 00 00 
00 00 00 00 
00 

07 00 00 00 
e3 4a 00 00 
9d 01 00 00 
00 00 00 00 
00 

08 00 00 00 
93 47 00 00 
f4 06 00 00 
00 00 00 00 
00 

0a 00 00 00 
bf 48 00 00 
e5 01 00 00 
00 00 00 00 
00 

0b 00 00 00 
6f 05 00 00 
99 01 00 00 
00 00 00 00 
00 

0c 00 00 00 
38 0d 00 00 
c8 05 00 00 
00 00 00 00 
00 

00 //extra byte at end of packet that appears to do nothing
That extra byte at the end was throwing off my initial calcs... and like I said when it doubt send what live sends. I assume if entity id isn't set right buff info doesn't work right but the buffs still appear.

Also the stats seem to be controlled by the action packets these are just the icons (& pp? I didn't bother looking into it to get buffs to carry over while zoning but you said you did).
Reply With Quote
  #4  
Old 07-10-2010, 08:05 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

Yep that was it. It's also the structure of the target buffs; they share the same struct but diff opcodes.
Reply With Quote
  #5  
Old 07-10-2010, 08:46 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

Zoning in zones with multiple zone points is currently broken. A live zone point follows.
Code:
[OPCode: 0x2370] OP_SendZonepoints [Server->Client] [Size: 116]
000 | 03 00 00 00 0a 00 00 00 00 a0 05 45 00 c0 da c4  | ...........E....
016 | 00 00 68 c4 00 00 00 43 2d 01 00 00 00 00 00 00  | ..h....C-.......
032 | 14 00 00 00 00 50 03 c5 00 00 68 42 00 80 9e 43  | .....P....hB...C
048 | 00 80 cc 43 2f 01 00 00 00 00 00 00 1e 00 00 00  | ...C/...........
064 | 00 00 01 c3 00 00 0b 43 00 00 e0 40 00 80 eb 43  | .......C...@...C
080 | 4f 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | O...............
096 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................
112 | 00 00 00 00                                      | ....
Env damage is currently broken.
Code:
[Error] Received invalid sized OP_EnvDamage: got 37, expected 31
   0: 0A 01 00 00 00 00 01 00 - 00 00 00 00 80 3F 00 00  | .............?..
  16: 00 00 00 00 00 00 00 00 - 00 00 FC C5 0E CC E3 42  | ...............B
  32: 00 FF FF FF 00                                     | .....
[Error] Received invalid sized OP_Damage: got 28, expected 23
   0: 0A 01 00 00 FC FF FF 01 - 00 00 00 00 00 00 00 00  | ................
  16: 00 00 00 00 00 00 00 00 - 00 00 00 00              | ............
Reply With Quote
  #6  
Old 07-10-2010, 09:51 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

The zone point structs looks like a simple change should fix it:

Code:
// Size: 28 octets
struct ZonePoint_Entry {
/*0000*/	int32	iterator;
/*0004*/	float	y;
/*0008*/	float	x;
/*0012*/	float	z;
/*0016*/	float	heading;
/*0020*/	int16	zoneid;
/*0022*/	int16	zoneinstance;	// LDoN instance
/*0024*/	int32	unknown0024;	// New to Underfoot - Seen 0
/*0028*/
};

struct ZonePoints {
/*0000*/	int32	count;
/*0004*/	struct	ZonePoint_Entry zpe[0]; // Always add one extra to the end after all zonepoints
//*0xxx*/    uint8     unknown0xxx[24]; //New from SEQ
};
May need to mess with the zonepoints encode, but not sure yet.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #7  
Old 07-10-2010, 10:41 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Looks like this should be the new Environment Damage Struct:

Code:
// EnvDamage is EnvDamage2 without a few bytes at the end.
// Size: 37 bytes
struct EnvDamage2_Struct {
/*0000*/	int32 id;
/*0004*/	int16 unknown4;
/*0006*/	int32 damage;
/*0010*/	float unknown10;	// New to Underfoot - Seen 1
/*0014*/	int8 unknown14[12];
/*0026*/	int8 dmgtype;		// FA = Lava; FC = Falling
/*0027*/	int8 unknown27[4];
/*0031*/	int16 unknown31;	// New to Underfoot - Seen 66
/*0033*/	int16 constant;		// Always FFFF
/*0035*/	int16 unknown35;
/*0037*/
};
I think we will need a new encode/decode for that.

I am not sure why you are getting the unexpected size error for OP_Damage though. That one looks like the right struct for the packet you posted. The struct is size 28 as expected.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
Reply

Thread Tools
Display Modes

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 11:54 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