kyeme - Jul 13, 2014 10:33
When using Dec 23 2013 client, damage using skills (examples : Bash, Cart termination) to players shows as if it is using ENDURE but its not.
Client or Server side problem?
@edit: Confirmed also on 2014-02-05 + client
Video: todo
This post has been edited by
kyeme
on Aug 9, 2014 1:53
pan - Jul 13, 2014 16:50
I've just tested with latest Herc and with both 2013-12-23cRagexe and 2014-02-05bRagexe and couldn't reproduce your issue, do you have any modifications in your Hercules?
kyeme - Jul 14, 2014 1:13
I don't have any modification..
Video: [url="https://www.youtube.com/watch?v=GXPq2JmJWRg&feature=youtu.be"]https://www.youtube.com/watch?v=GXPq2JmJWRg&feature=youtu.be[/url]
kyeme - Aug 1, 2014 7:42
Up~
kyeme - Aug 1, 2014 7:42
Up~
kyeme - Aug 9, 2014 1:53
Up~
pan - Aug 9, 2014 14:21
Just updating with what I found out about this issue in case other dev has time to try to fix it, it _seems_ that another packet is being used to let the client know that a player object was damaged, or another packet is being used to start the fighting stance. In older clients just using PACKET_ZC_NOTIFY_SKILL or ZC_NOTIFY_SKILL2 would suffice, note that PACKET_ZC_NOTIFY_ACT2 is still working.
Rytech - Aug 12, 2014 13:42
Maybe try this....
[code=auto:0]
ZC_NOTIFY_ACT3 = 0x8c8
struct PACKET_ZC_NOTIFY_ACT3 {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned long GID
/* this+0x6 */ unsigned long targetGID
/* this+0xa */ unsigned long startTime
/* this+0xe */ int attackMT
/* this+0x12 */ int attackedMT
/* this+0x16 */ int damage
/* this+0x1a */ unsigned char IsSPDamage
/* this+0x1b */ short count
/* this+0x1d */ unsigned char action
/* this+0x1e */ int leftDamage
}
[/code]
ill likely end up looking into this again soon if this doesn't fix it.
pan - Aug 12, 2014 22:58
Doesn't PACKET_ZC_NOTIFY_ACT3 is meant to be used to send information regarding regular attacks and not skill attacks? I tried using this packet to send regular attacks and it works fine, but I'm not sure if the client would handle properly, because some parameters are missing, see PACKET_ZC_NOTIFY_SKILL2's structure:[code=auto:0]
struct PACKET_ZC_NOTIFY_SKILL2 {
/* this+0x0 */ short PacketType
/* this+0x2 */ unsigned short SKID
/* this+0x4 */ unsigned long AID
/* this+0x8 */ unsigned long targetID
/* this+0xc */ unsigned long startTime
/* this+0x10 */ int attackMT
/* this+0x14 */ int attackedMT
/* this+0x18 */ int damage
/* this+0x1c */ short level
/* this+0x1e */ short count
/* this+0x20 */ unsigned char action
}
[/code]
kyeme - Aug 23, 2014 9:55
UP~
Frost - Aug 31, 2014 14:13
Bump?
Rytech - Sep 13, 2014 19:21
I just learned whats causing the strange issue. When doing regular attacks, enemys will flinch. Same for multi-hit skills. But when using 1 hit skills the enemy will not flinch. Its all because of this setting in the skill_db....
03 hit (8- repeated hitting, 6- single-hit)
Here's what 6 and 8 are on the action list....
typedef enum <unnamed-tag> {
ACTION_ATTACK = 0x0,
ACTION_ITEMPICKUP = 0x1,
ACTION_SIT = 0x2,
ACTION_STAND = 0x3,
ACTION_ATTACK_NOMOTION = 0x4,
ACTION_SPLASH = 0x5,
ACTION_SKILL = 0x6,
ACTION_ATTACK_REPEAT = 0x7,
ACTION_ATTACK_MULTIPLE = 0x8,
ACTION_ATTACK_MULTIPLE_NOMOTION = 0x9,
ACTION_ATTACK_CRITICAL = 0xa,
ACTION_ATTACK_LUCKY = 0xb,
ACTION_TOUCHSKILL = 0xc,
} <unnamed-tag>;
So its likely a packet issue. But looking at the packet length table for all of the packets there doesn't appear to be one for a newer NOTIFY_SKILL, unless the table dumper isnt showing it.
This post has been edited by
Rytech
on Sep 13, 2014 20:48
Ind - Sep 17, 2014 20:55
Valo mentioned this to me over IRC and I played with it a bit:
- Swapping value 6 for 8 ( if( type == 6 ) type = 8; ) fixed the animation
- I have no idea whether this is a problem exclusive to 2013-12-23 (perhaps it was a very specific packetver issue, in which case we [b]shouldn't[/b] apply it to packetver >= 20131223, and instead use == 20131223).
- From what I could tell using 8 has no visual difference because we send the number of hits in a different field.
Ind - Sep 20, 2014 18:40
Alright going with this until we find out what the new way the client handles it is (if anyone could provide a packet capture from a official client of this date or newer it'd be much appreciated)
Ind - Sep 20, 2014 19:44
Fixed in [url="https://github.com/HerculesWS/Hercules/commit/86d17badf325e9d87559a3a087d3c142a757cae9"]https://github.com/HerculesWS/Hercules/commit/86d17badf325e9d87559a3a087d3c142a757cae9[/url]
Ind - Sep 20, 2014 19:44
Fixed in [url="https://github.com/HerculesWS/Hercules/commit/86d17badf325e9d87559a3a087d3c142a757cae9"]https://github.com/HerculesWS/Hercules/commit/86d17badf325e9d87559a3a087d3c142a757cae9[/url]