Project 1999

Go Back   Project 1999 > Blue Community > Blue Server Chat

Closed Thread
 
Thread Tools Display Modes
  #1  
Old 08-06-2010, 06:21 AM
Aerist Aerist is offline
Kobold


Join Date: Aug 2010
Posts: 103
Default

sounds to me like haynar is already working on pvp fixes that vz/tz hasn't fixed in its 2+ years of existence......

I'll gladly test it on a rogean pvp server......

along with hundreds more who would too....

I'm just sayin.....
  #2  
Old 08-06-2010, 04:54 PM
cured cured is offline
Aviak


Join Date: Aug 2010
Posts: 71
Default

Quote:
Originally Posted by Haynar [You must be logged in to view images. Log in or Register.]
I finally found where the pushback is handled for clients. I have not decrypted how to set the packet yet. But I am getting close. I am not very fast at working with decompilers, but that is where I am at now. Looking through assembly language, tracing how that one part of the packet is handled.

Its only a 32 byte word. How hard could that be to figure out?

Hah. Hard. Let me tell ya. For someone like me who is not a super fast coder.

haynar
Keep plugging away! I played on TZ and would love a return to pre-Kunark PvP and so would a bunch of other people, I imagine. You are doing the lord's work, sir!
  #3  
Old 08-08-2010, 03:34 AM
Itchybottom Itchybottom is offline
Banned


Join Date: Jun 2010
Posts: 391
Default

Quote:
Originally Posted by Haynar [You must be logged in to view images. Log in or Register.]
I finally found where the pushback is handled for clients. I have not decrypted how to set the packet yet. But I am getting close. I am not very fast at working with decompilers, but that is where I am at now. Looking through assembly language, tracing how that one part of the packet is handled.

Its only a 32 byte word. How hard could that be to figure out?

Hah. Hard. Let me tell ya. For someone like me who is not a super fast coder.

haynar
Look at 0x47f7xx, range 69 to 9F. That is how the client handles the event locally. You should be able to use the opcode 0x7834 structure interchangeably at quick glance into the stack and .data region.
  #4  
Old 08-09-2010, 11:44 PM
Haynar Haynar is offline
Developer

Haynar's Avatar

Join Date: Oct 2009
Location: West of the Mississippi
Posts: 2,953
Default

Quote:
Originally Posted by Itchybottom [You must be logged in to view images. Log in or Register.]
Look at 0x47f7xx, range 69 to 9F. That is how the client handles the event locally. You should be able to use the opcode 0x7834 structure interchangeably at quick glance into the stack and .data region.
Thanks

The place I am working has to do with combat damage.

OP_Damage=0x5c78

Code:
struct CombatDamage_Struct
{
/* 00 */	int16	target;
/* 02 */	int16	source;
/* 04 */	int8	type; //slashing, etc.  231 (0xE7) for spells
/* 05 */	int16	spellid;
/* 07 */	int32	damage;
/* 11 */	int32 unknown11;
/* 15 */	int32 sequence;
/* 19 */	int32	unknown19;
/* 23 */
};
It turns out for combat damage when this packet is not paired with an action packet, the push due to melee is embedded in the sequence. That is what I am working on decoding. I just need to get more data from live. I made some test code, with known values for the sequence taken from live and could just push a client all over the place. But as this value varies, so does the direction of the push. I just have not got any time in the last week to play with it and get more data.

The cool place to play with on live, is in the water like in kedge keep. Because every hit contains the parts that cause push. On land, it is random when the push packet part is sent. But the magnitudes are same as in the water. But it will send the push, even on misses. But on a miss, when the code is sent, it does not cause push. Because the push is only 0.1 distance about, the client does not send updates until it has moved you a distance of 1 or somewhere there about. So you can do your own /loc after each hit, to see it move you.

Thats what I hope to get time to mess with in next few days. I will have one of the fishies in kedge push me in a circle. I think it is heading embedded in there. I tried nulling x movement and pushing +/- y directions, then vice versa, and the bit structures did not indicate it was sending x and y values. One attempt failed, but still working on it.

If you use hex-rays to make pseudocode, you can find

Code:
int8	type; //slashing, etc.  231 (0xE7) for spells
some places where there are checks for the type to be less than 0xE7, which would indicate combat based types. And I have been following the handling of those through the code. Or attempting that is.

Haynar
  #5  
Old 08-10-2010, 03:28 PM
HippoNipple HippoNipple is offline
Banned


Join Date: Jun 2010
Posts: 4,090
Default

Quote:
Originally Posted by Haynar [You must be logged in to view images. Log in or Register.]
Thanks

The place I am working has to do with combat damage.

OP_Damage=0x5c78

Code:
struct CombatDamage_Struct
{
/* 00 */	int16	target;
/* 02 */	int16	source;
/* 04 */	int8	type; //slashing, etc.  231 (0xE7) for spells
/* 05 */	int16	spellid;
/* 07 */	int32	damage;
/* 11 */	int32 unknown11;
/* 15 */	int32 sequence;
/* 19 */	int32	unknown19;
/* 23 */
};
It turns out for combat damage when this packet is not paired with an action packet, the push due to melee is embedded in the sequence. That is what I am working on decoding. I just need to get more data from live. I made some test code, with known values for the sequence taken from live and could just push a client all over the place. But as this value varies, so does the direction of the push. I just have not got any time in the last week to play with it and get more data.

The cool place to play with on live, is in the water like in kedge keep. Because every hit contains the parts that cause push. On land, it is random when the push packet part is sent. But the magnitudes are same as in the water. But it will send the push, even on misses. But on a miss, when the code is sent, it does not cause push. Because the push is only 0.1 distance about, the client does not send updates until it has moved you a distance of 1 or somewhere there about. So you can do your own /loc after each hit, to see it move you.

Thats what I hope to get time to mess with in next few days. I will have one of the fishies in kedge push me in a circle. I think it is heading embedded in there. I tried nulling x movement and pushing +/- y directions, then vice versa, and the bit structures did not indicate it was sending x and y values. One attempt failed, but still working on it.

If you use hex-rays to make pseudocode, you can find

Code:
int8	type; //slashing, etc.  231 (0xE7) for spells
some places where there are checks for the type to be less than 0xE7, which would indicate combat based types. And I have been following the handling of those through the code. Or attempting that is.

Haynar
Its not going to matter with my regained concentration anyways, I will still get my snare/fear off... at least it gives the poor tanks hope.
  #6  
Old 08-10-2010, 11:52 PM
Itchybottom Itchybottom is offline
Banned


Join Date: Jun 2010
Posts: 391
Default

Quote:
Originally Posted by Haynar [You must be logged in to view images. Log in or Register.]
If you use hex-rays to make pseudocode, you can find

Code:
int8	type; //slashing, etc.  231 (0xE7) for spells
some places where there are checks for the type to be less than 0xE7, which would indicate combat based types. And I have been following the handling of those through the code. Or attempting that is.
I've never seen any value other than queues for debug string text messages (slash, crush, hit, etc) on that value in the combat structure. There actually used to be two types, one for each hand. That's how one of the nodelay kill hacks worked, because the offhand data in the struct was still very much present in client/server, just not used. So people were able to spoof combat packets to hit at 0 delay with an empty offhand. Now that's split up between attack1Struct and attack2Struct, I'm not overly certain that anyone has bothered mapping them out aside from the Forever-Hacking crew.

Did any type of fling effect ever get corrected on EQEMU? I tend to recall Grieg Veneficus, and Cazic-Thule always throwing people north. PlayerPosCode has always been padded, and there is data after the x/y/z values -- goofing off with them before I was a GM on ProjectEQ, (keeping length at 22 total) moved me all over the place.
  #7  
Old 08-06-2010, 03:10 PM
HippoNipple HippoNipple is offline
Banned


Join Date: Jun 2010
Posts: 4,090
Default

Its actually the opposite, I have never pvped on an emulator. My only exposure to Everquest was on Rallos Zek back during classic through Vel. I didn't know Eq Emu was different as far as resists, thought you were just throwing out changes you thought should happen. If the changes you were implying are just getting it back to where classic was then yeah, I agree with ya for sure.
  #8  
Old 08-06-2010, 04:04 PM
PhelanKA PhelanKA is offline
Sarnak


Join Date: Jun 2010
Posts: 235
Default

Quote:
Originally Posted by HippoNipple [You must be logged in to view images. Log in or Register.]
Its actually the opposite, I have never pvped on an emulator. My only exposure to Everquest was on Rallos Zek back during classic through Vel. I didn't know Eq Emu was different as far as resists, thought you were just throwing out changes you thought should happen. If the changes you were implying are just getting it back to where classic was then yeah, I agree with ya for sure.
That's the impression I was under as well. I'm all for making a PVP server as classic as possible when it comes to resists and other PVP mechanics.
__________________
Dr. Oxoo Xoxx - Necromancer Extraordinaire
Lady Naelvenia <Thunderdome> - Enchanter Deluxe
  #9  
Old 08-06-2010, 04:07 PM
Kastro Kastro is offline
Sarnak


Join Date: Aug 2010
Posts: 226
Default

I agree that Snare should be somewhat inneffective over 100 or so MR, and that can be easily changed... Interupts and Pushback can be coded in as well.
  #10  
Old 08-06-2010, 09:45 PM
Buhbuh Buhbuh is offline
Planar Protector


Join Date: Jul 2010
Posts: 1,638
Default

Quote:
Originally Posted by Kastro [You must be logged in to view images. Log in or Register.]
I agree that Snare should be somewhat inneffective over 100 or so MR, and that can be easily changed... Interupts and Pushback can be coded in as well.
I agree. It was that way and forced players to find other ways to beat players.

People really seem to want a change there because of imbalance or whatever. This was the exact reason why EQ PvP owned. The jousting was insanely fun, you really had to have pumice prepared to save yourself, or actually get effective spells off on other people. It was a huge system really. And every class was good. Rogues pick up momentum with double BS at 55, and discplines sort of level out some things. I remember Mythd (Enc) and a lot of other casters who were monsters to deal with.

Snares are just flat out devastating in this game in PvP. It should be resisted frequently.
Last edited by Buhbuh; 08-06-2010 at 09:47 PM..
Closed Thread


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 07:33 PM.


Everquest is a registered trademark of Daybreak Game Company LLC.
Project 1999 is not associated or affiliated in any way with Daybreak Game Company LLC.
Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.