Issue information

Issue ID
#7307
Status
Fixed
Severity
None
Started
kyeme
May 31, 2013 13:05
Last Post
Unsung
Aug 20, 2016 6:11
Confirmation
Yes (1)
No (0)

kyeme - May 31, 2013 13:05

[color=rgb(40,40,40)][font=helvetica, arial, sans-serif][size=3]Example:[/size][/font][/color]
[color=rgb(40,40,40)][font=helvetica, arial, sans-serif][size=3]When you cast Asura Strike while wearing Bloody Weapon ( Hydra ) and switched quickly to ( Stormy Knight ) Weapon. The damage inflicted by the Bloody Weapon still take effect and at the same time the Status effect of the ( stormy knight card) takes effect as well ( Frost ) so what happens is, you get the damage from the Bloody and still get frozen after.[/size][/font][/color]

[color=rgb(40,40,40)][font=helvetica, arial, sans-serif][size=3]Here's my Video: Using Quad Bloody damage around 5k and @ [/size][/font][/color][b]0:57[/b][b]Using Bloody and switch to Stormy Card damage 5k and get frozen.[/b]

[b][url="http://www.youtube.com/watch?feature=player_embedded&v=Yi_WY5aYyU0"]http://www.youtube.com/watch?feature=player_embedded&v=Yi_WY5aYyU0[/url][/b]


[url="http://rathena.org/board/tracker/issue-7146-status-weapon-switch/?gopid=17107#entry17107"]http://rathena.org/board/tracker/issue-7146-status-weapon-switch/?gopid=17107#entry17107[/url]

This post has been edited by kyeme on May 31, 2013 13:09

Ind - May 31, 2013 16:32

i dont see this being possible huhu o__o~ it'd be more easy to understand the hydra weapon being broken hmmm whats asura damage with the stormy weapon?

kyeme - Jun 1, 2013 4:56

Iv make a new video:
[url="http://www.youtube.com/watch?v=iWkhTAotIc8&feature=youtu.be"]http://www.youtube.com/watch?v=iWkhTAotIc8&feature=youtu.be[/url]


Asura with +0 double bloody double bone mace [4] = 5,294
Asura with +0 Quad StormyKnight mace [4] = 3.4k

In the video you can see my damage is 5,294 but the High orc got frozen because of switching bug.

To reproduce:
Before casting bar end. . switch to status weapon (stormy card, etc. )

Ind - Jun 1, 2013 5:17

ah i understand now how its possible thanks for the video.

Beret - Jul 5, 2013 17:41

Bump.

Ind - Jul 6, 2013 2:06

[url="https://github.com/HerculesWS/Hercules/commit/144a9d0843dfe47e0b58c8857762f58ae70543c8"]https://github.com/HerculesWS/Hercules/commit/144a9d0843dfe47e0b58c8857762f58ae70543c8[/url]
Thank you all.

kyeme - Jul 6, 2013 2:08

Yahoooooo! THANK YOU!! :)

This post has been edited by kyeme on Jul 6, 2013 2:08

kyeme - Jul 6, 2013 5:58

When i tried to switch my weapon quickly after i cast my skill, i'd got this msg "[color=#ff0000]You can't put this item on[/color]" or you unable to change your weapon.
Is this intentional? :)

This post has been edited by kyeme on Jul 6, 2013 5:59

Ind - Jul 6, 2013 19:26

[quote name="kyeme" timestamp="1373090338"]
When i tried to switch my weapon quickly after i cast my skill, i'd got this msg "[color=#ff0000]You can't put this item on[/color]" or you unable to change your weapon.
Is this intentional? :)[/quote]I'd say its intentional, the fix to this makes character unable to change gear while any skill previously cast hasn't completed processing -- this avoids any gear change to affect damage/post-effect. (in most skills this is instantly and unnoticeable though)

kyeme - Jul 9, 2013 10:39

[quote name="Ind" timestamp="1373138772"][quote name="kyeme" timestamp="1373090338"]

When i tried to switch my weapon quickly after i cast my skill, i'd got this msg "[color=#ff0000]You can't put this item on[/color]" or you unable to change your weapon.
Is this intentional? :)[/quote]I'd say its intentional, the fix to this makes character unable to change gear while any skill previously cast hasn't completed processing -- this avoids any gear change to affect damage/post-effect. (in most skills this is instantly and unnoticeable though)[/quote]

But Sir, the way you fixed the bug the official bahavior of switching weapons are broken. Just like Clowns that cant switch faster from guitar to dagger. :o

Zopokx - Jul 9, 2013 11:37

I don't know if this is related to this bugfix but...

It seems that in some way, after several minutes playing, you can't switch any weapon/equipment. It just doesn't work. You need to relog to be able to switch equipment again. This affects arrows too.

kyeme - Jul 9, 2013 11:43

[quote name="Zopokx" timestamp="1373369867"]
I don't know if this is related to this bugfix but...

It seems that in some way, after several minutes playing, you can't switch any weapon/equipment. It just doesn't work. You need to relog to be able to switch equipment again. This affects arrows too.[/quote]
I can confirm this, related ithink :)

malufett - Jul 9, 2013 12:27

hmm..I tried to investigate I reverted Ind's fixed and I tried to mimic Kyeme's video and used some debug message in the server and it shows that the problem doesn't exist in Hercules..only tested in Re..but let me test again in Pre..

:meow:

Zopokx - Jul 9, 2013 17:23

I'm using RE, but I still don't know how to reproduce... because doing the same actions, the first time it worked but the second time it didn't. Weird, so weird.

Ind - Jul 9, 2013 17:41

[quote name="kyeme" timestamp="1373366395"]

[quote name="Ind" timestamp="1373138772"]

[quote name="kyeme" timestamp="1373090338"]
When i tried to switch my weapon quickly after i cast my skill, i'd got this msg "[color=#ff0000]You can't put this item on[/color]" or you unable to change your weapon.
Is this intentional? :)[/quote]I'd say its intentional, the fix to this makes character unable to change gear while any skill previously cast hasn't completed processing -- this avoids any gear change to affect damage/post-effect. (in most skills this is instantly and unnoticeable though)

[/quote]But Sir, the way you fixed the bug the official bahavior of switching weapons are broken. Just like Clowns that cant switch faster from guitar to dagger. :o

[/quote]I'll take a look
[hr][quote name="malufett" timestamp="1373372855"]
hmm..I tried to investigate I reverted Ind's fixed and I tried to mimic Kyeme's video and used some debug message in the server and it shows that the problem doesn't exist in Hercules..only tested in Re..but let me test again in Pre..

:meow:[/quote]I think the problem is in the timing (in your testing), as i understand (i can of course be wrong if you know it to be otherwise please tell me =3) there is nothing in the code that prevents it from happening (without the fix) regardless of pre-re or RE, damage is calculated before delay_damage is called, then when it is cast it calls a timer, so it is possible (without the fix) to switch gear during that timer, when the timer ends it calls:[code=auto:0] if( dat->attack_type && !iStatus->isdead(target) && dat->additional_effects ) skill->additional_effect(src,target,dat->skill_id,dat->skill_lv,dat->attack_type,dat->dmg_lv,tick); if( dat->dmg_lv > ATK_BLOCK && dat->attack_type ) skill->counter_additional_effect(src,target,dat->skill_id,dat->skill_lv,dat->attack_type,tick);[/code]which would trigger any effects of the weapons changed afterwards

This post has been edited by Ind on Jul 9, 2013 18:04

Ind - Jul 9, 2013 17:51

[quote name="kyeme" timestamp="1373370190"]

[quote name="Zopokx" timestamp="1373369867"]
I don't know if this is related to this bugfix but...

It seems that in some way, after several minutes playing, you can't switch any weapon/equipment. It just doesn't work. You need to relog to be able to switch equipment again. This affects arrows too.[/quote]I can confirm this, related ithink :)

[/quote]Do you have any info that can help me into reproducing this? I couldn't

Ind - Jul 9, 2013 19:18

[quote name="kyeme" timestamp="1373370190"]

[quote name="Zopokx" timestamp="1373369867"]
I don't know if this is related to this bugfix but...

It seems that in some way, after several minutes playing, you can't switch any weapon/equipment. It just doesn't work. You need to relog to be able to switch equipment again. This affects arrows too.[/quote]I can confirm this, related ithink :)

[/quote]I think I see how this could happen, might have been fixed in [url="https://github.com/HerculesWS/Hercules/commit/172315bdc45220bc2edeed57b8e6f6a781c2b640"]https://github.com/HerculesWS/Hercules/commit/172315bdc45220bc2edeed57b8e6f6a781c2b640[/url]

kyeme - Jul 13, 2013 0:40

Up~ :)

Haru - Jul 13, 2013 15:31

Yep, I am able to reproduce this before [url="https://github.com/HerculesWS/Hercules/commit/172315bdc45220bc2edeed57b8e6f6a781c2b640"]https://github.com/HerculesWS/Hercules/commit/172315bdc45220bc2edeed57b8e6f6a781c2b640[/url] but it should be fixed now. Is it still not fixed for you kyeme?

kyeme - Jul 14, 2013 16:04

[quote name="Haru" timestamp="1373729471"]
Yep, I am able to reproduce this before [url="https://github.com/HerculesWS/Hercules/commit/172315bdc45220bc2edeed57b8e6f6a781c2b640"]https://github.com/HerculesWS/Hercules/commit/172315bdc45220bc2edeed57b8e6f6a781c2b640[/url] but it should be fixed now. Is it still not fixed for you kyeme?[/quote]
The "can't switch item" issue that posted by Zopokx was already fixed.
The only problem now is "[color=#282828][font=helvetica, arial, sans-serif][size=3]official bahavior of switching weapons are broken. Just like Clowns that cant switch faster from guitar to dagger."[/size][/font][/color]

This post has been edited by kyeme on Jul 19, 2013 14:27

kyeme - Jul 21, 2013 11:08

UP~

Ind - Jul 21, 2013 11:52

[quote name="kyeme" timestamp="1373817894"]
The only problem now is "[color=#282828][font=helvetica, arial, sans-serif][size=3]official bahavior of switching weapons are broken. Just like Clowns that cant switch faster from guitar to dagger."[/size][/font][/color][/quote]can you elaborate/clarify? I don't understand what you are referring to

bgamez23 - Jul 21, 2013 15:18

maybe his referring with the delay?
You can't put this item on.

just like doing a normal attack. on a Barricade without any weapon. while having a continues attack.
try to equip a weapon or just like a knife. then continues attacking. the remove the knife.
then do it again. and you will get this message. You can't put this item on.

i just try it on iRO there is no You can't put this item on. while switching the weapon.

ramzelle100 - Jul 21, 2013 17:23

yes confirmed, i even tried to report it again. haha. all my players are complaining about it. because they cannot switch their weapon as fast as they could they always getting the "you cannot put this item" warning.

You can also do this:

Use sniper, normal attack other player then try to switch weapon while the character is attacking, you will get the warning which is not normal.

ramzelle100 - Jul 22, 2013 6:20

up, i hope this will be fix as soon as possible because it's an important thing in a PVP Server. ehehehe. thnx

Ind - Jul 22, 2013 6:40

[quote name="ramzelle100" timestamp="1374474035"]
up, i hope this will be fix as soon as possible because it's an important thing in a PVP Server. ehehehe. thnx[/quote]do you realize that by not having this fix players are able to do what the video in the first post shows? (attack with damage weapon; switch quickly to a status weapon and have them both work in a single strike), if you understand and agree to that I could give you a diff to remove it (its a very small portion of code anyway)

ramzelle100 - Jul 22, 2013 8:58

[quote name="Ind" timestamp="1374475232"]
[quote name="ramzelle100" timestamp="1374474035"]

up, i hope this will be fix as soon as possible because it's an important thing in a PVP Server. ehehehe. thnx[/quote]do you realize that by not having this fix players are able to do what the video in the first post shows? (attack with damage weapon; switch quickly to a status weapon and have them both work in a single strike), if you understand and agree to that I could give you a diff to remove it (its a very small portion of code anyway)[/quote]

oh sure, can you send it to me or post it here sir? just to stop my players from bugging me. thnx

This can only be done on low rate / 99/70 server anyway, so it wont affect us in a no cast server.

This post has been edited by ramzelle100 on Jul 22, 2013 9:00

kyeme - Jul 23, 2013 18:16

[quote name="Ind" timestamp="1374407530"][quote name="kyeme" timestamp="1373817894"]

The only problem now is "[color=#282828][font=helvetica, arial, sans-serif][size=3]official bahavior of switching weapons are broken. Just like Clowns that cant switch faster from guitar to dagger."[/size][/font][/color][/quote]can you elaborate/clarify? I don't understand what you are referring to[/quote]

What I am trying to point out is what bgamez23 is saying.

And i just want to know if in the future is there any way that we can fix this? Thank you :)

bgamez23 - Jul 26, 2013 13:12

[quote name="kyeme" timestamp="1374603386"][quote name="Ind" timestamp="1374407530"]
[quote name="kyeme" timestamp="1373817894"]


The only problem now is "[color=#282828][font=helvetica, arial, sans-serif][size=3]official bahavior of switching weapons are broken. Just like Clowns that cant switch faster from guitar to dagger."[/size][/font][/color][/quote]can you elaborate/clarify? I don't understand what you are referring to
[/quote]
What I am trying to point out is what bgamez23 is saying.

And i just want to know if in the future is there any way that we can fix this? Thank you :)[/quote]

you can fix it on your own.
in your clif.c

look for this[code=auto:0] if(!sd->status.inventory[index].identify || sd->delayed_damage != 0) { [/code]
remove the[code=auto:0] || sd->delayed_damage != 0 [/code]
then recompile.

Ind - Jul 26, 2013 16:19

[quote name="kyeme" timestamp="1374603386"]
What I am trying to point out is what bgamez23 is saying.

And i just want to know if in the future is there any way that we can fix this? Thank you :)[/quote]What officials do when you try to swap a weapon during calculation? it lets the exploit take place?

kyeme - Jul 26, 2013 17:11

[quote name="Ind" timestamp="1374855578"][quote name="kyeme" timestamp="1374603386"]

What I am trying to point out is what bgamez23 is saying.

And i just want to know if in the future is there any way that we can fix this? Thank you :)[/quote]What officials do when you try to swap a weapon during calculation? it lets the exploit take place?[/quote]

The weapon you are using upon casting the skill is the only effect that should apply. And even you switch your weapon to the end of the cast the effect of the switched weapon will not take effect.

Ind - Jul 26, 2013 20:47

Thank you kyeme
[url="https://github.com/HerculesWS/Hercules/commit/2eab181cece04d8c6a79f9d1a3ff74343cd3ae76"]https://github.com/HerculesWS/Hercules/commit/2eab181cece04d8c6a79f9d1a3ff74343cd3ae76[/url]

kyeme - Jul 27, 2013 1:50

[quote name="Ind" timestamp="1374871671"]
Thank you kyeme
[url="https://github.com/HerculesWS/Hercules/commit/2eab181cece04d8c6a79f9d1a3ff74343cd3ae76"]https://github.com/HerculesWS/Hercules/commit/2eab181cece04d8c6a79f9d1a3ff74343cd3ae76[/url][/quote]
Working perfect! Thank you SIR! /no1

Shatotech - Mar 2, 2015 15:49

[quote name="bgamez23" timestamp="1374844356"][quote name="kyeme" timestamp="1374603386"]
[quote name="Ind" timestamp="1374407530"]
[quote name="kyeme" timestamp="1373817894"]






The only problem now is "[color=#282828][font=helvetica, arial, sans-serif][size=3]official bahavior of switching weapons are broken. Just like Clowns that cant switch faster from guitar to dagger."[/size][/font][/color][/quote]can you elaborate/clarify? I don't understand what you are referring to




[/quote]What I am trying to point out is what bgamez23 is saying.

And i just want to know if in the future is there any way that we can fix this? Thank you :)



[/quote]you can fix it on your own.
in your clif.c

look for this[code=auto:0] if(!sd->status.inventory[index].identify || sd->delayed_damage != 0) { [/code]remove the[code=auto:0] || sd->delayed_damage != 0 [/code]then recompile.[/quote]

any fix update on this? fast switching behavior?

i wanna enable it. like on rathena.

This post has been edited by Shatotech on Mar 2, 2015 15:56

Angelmelody - Mar 2, 2015 17:21

[quote name="Shatotech" timestamp="1425311396"][quote name="bgamez23" timestamp="1374844356"]
[quote name="kyeme" timestamp="1374603386"]
[quote name="Ind" timestamp="1374407530"]
[quote name="kyeme" timestamp="1373817894"]







The only problem now is "[color=#282828][font=helvetica, arial, sans-serif][size=3]official bahavior of switching weapons are broken. Just like Clowns that cant switch faster from guitar to dagger."[/size][/font][/color][/quote]can you elaborate/clarify? I don't understand what you are referring to





[/quote]What I am trying to point out is what bgamez23 is saying.

And i just want to know if in the future is there any way that we can fix this? Thank you :)




[/quote]you can fix it on your own.
in your clif.c

look for this[code=auto:0] if(!sd->status.inventory[index].identify || sd->delayed_damage != 0) { [/code]remove the[code=auto:0] || sd->delayed_damage != 0 [/code]then recompile.
[/quote]
any fix update on this? fast switching behavior?

i wanna enable it. like on rathena.[/quote]

..............

Ind - Mar 5, 2015 17:09

[quote name="Shatotech" timestamp="1425311396"]
any fix update on this? fast switching behavior?

i wanna enable it. like on rathena.[/quote]you misunderstand it. being able to switch it fast is the bug in question, if you want it to work like that see what my commit linked earlier did, and undo it.

bluearies - Jan 1, 2016 10:06

[color=rgb(40,40,40)][font=helvetica, arial, sans-serif]
I got a problem in recompiling my server. A bit new in fixing server. [/font][/color]
[color=rgb(40,40,40)][font=helvetica, arial, sans-serif]
I had a back up of my trunk before i start editing files in my src folder. And I also have the original copy of the files i edited.[/font][/color]
[color=rgb(40,40,40)][font=helvetica, arial, sans-serif]
I was trying to enable frost switch so i undo everything from this topic. As I recompile, I got those errors and i tried to bring back the original files and yet same errors occurred.[/font][/color][code=html:0] make[1]: Entering directory `/home/trincli0900/trunk/src/map' MKDIR obj CC achievement.c CC atcommand.c atcommand.c:52:21: error: faction.h: No such file or directory atcommand.c: In function 'atcommand_mobevent': atcommand.c:8602: warning: unused variable 'y' atcommand.c:8602: warning: unused variable 'x' atcommand.c: In function 'atcommand_faction': atcommand.c:10791: warning: implicit declaration of function 'faction_search' atcommand.c:10791: warning: assignment makes pointer from integer without a cast atcommand.c:10798: error: dereferencing pointer to incomplete type atcommand.c:10801: error: dereferencing pointer to incomplete type atcommand.c: In function 'atcommand_language': atcommand.c:10813: warning: initialization makes pointer from integer without a cast atcommand.c:10814: error: dereferencing pointer to incomplete type atcommand.c:10821: error: dereferencing pointer to incomplete type atcommand.c:10821: warning: implicit declaration of function 'lang_search' atcommand.c:10821: error: dereferencing pointer to incomplete type atcommand.c:10823: error: dereferencing pointer to incomplete type atcommand.c:10824: error: dereferencing pointer to incomplete type atcommand.c:10836: warning: assignment makes pointer from integer without a cast atcommand.c:10836: error: dereferencing pointer to incomplete type atcommand.c:10842: error: 'lang_pow' undeclared (first use in this function) atcommand.c:10842: error: (Each undeclared identifier is reported only once atcommand.c:10842: error: for each function it appears in.) atcommand.c:10844: error: dereferencing pointer to incomplete type atcommand.c:10850: error: dereferencing pointer to incomplete type atcommand.c: In function 'atcommand_learnlang': atcommand.c:10860: warning: assignment makes pointer from integer without a cast atcommand.c:10866: error: 'lang_pow' undeclared (first use in this function) atcommand.c:10868: error: dereferencing pointer to incomplete type atcommand.c:10875: error: dereferencing pointer to incomplete type atcommand.c: In function 'atcommand_unlearnlang': atcommand.c:10885: warning: assignment makes pointer from integer without a cast atcommand.c:10891: error: 'lang_pow' undeclared (first use in this function) atcommand.c:10894: error: dereferencing pointer to incomplete type atcommand.c:10899: error: dereferencing pointer to incomplete type atcommand.c: In function 'atcommand_say': atcommand.c:10913: warning: implicit declaration of function 'lang_convert' make[1]: *** [obj/atcommand.o] Error 1 make[1]: Leaving directory `/home/trincli0900/trunk/src/map' make: *** [map] Error 2 [/code]

simh - Feb 6, 2016 12:26

Unfortunately this line does not exist anymore:[code=auto:0] if(!sd->status.inventory[index].identify || sd->delayed_damage != 0) { [/code]
I tried to disable this feature by removing:[code=auto:0] pc->update_idle_time(sd, BCIDLE_USEITEM); [/code]
from [i]clif_parse_EquipItem[/i] and [i]clif_parse_UnequipItem, [/i]but that didn't work. Can someone provide me the code i have to change to disable it?

Thanks in advance!
-simh

Unsung - Aug 20, 2016 6:11

What part in src folder to edit to enable the player to switch weapon to frost and take effect?