HerculesWS / Hercules

Hercules is a collaborative software development project revolving around the creation of a robust massively multiplayer online role playing game (MMORPG) server package. Written in C, the program is very versatile and provides NPCs, warps and modifications. The project is jointly managed by a group of volunteers located around the world as well as a tremendous community providing QA and support. Hercules is a continuation of the original Athena project.
http://herc.ws
GNU General Public License v3.0
896 stars 753 forks source link

@duel / Infinite Songs #546

Closed Streusel closed 9 years ago

Streusel commented 9 years ago

Step 1: Clown will cast the song with the player or without the player in it's AoE Step 2: The Clown will type "@duel" (no name) Step 3: The player will now then leave the AoE of the song Step 4: Once the player is out of range the AoE of the song, the Clown will now type "@leave"

Or refer to this post: http://herc.ws/board/tracker/issue-8582-duel-infinite-songs/

anacondaq commented 9 years ago

at rathena this bug as i remember already fixed. i do not remember, is it fixed at herc too.

Streusel commented 9 years ago

Well I got the report today that it is still possible to recreate this, and that is with the latest hercules. So I'll assume it still is possible. Also I don't see why kyeme would else keep bumping it.

AnisotropicDefixation commented 9 years ago

It was fixed partially but there are still way to exploit it (even on rA), it's been years and nobody managed to fully deal with this issue.

What I did myself was add SC_DANCING checks and status_change_ends for the @duel atcommand, no issues so far.

kyeme commented 9 years ago

@Streusel thanks!

@MishimaHaruna :D

kyeme commented 9 years ago

:[

GrumpyLittlePanda commented 9 years ago

It was fixed https://github.com/HerculesWS/Hercules/commit/145a4fe644c4fe856ba6f83086e8ee5075caad99, It seemed to work fine after the first fix from what I tested. However it was broken again the same day. https://github.com/HerculesWS/Hercules/commit/127f9b52a4030a655564584b95b7c10dfdcb04e6

Not sure what situation that else if (blaa or blaa) return 0 is needed for as mordekaisers scenario is not explained anywhere.

However considering songs if source master is in a duel group x and target is not the song will not cancel upon leaving the area because skill->unit_onleft does not get triggered due to battle_check_target returning 0.

WillTheDoggy commented 9 years ago

My scenario is much more devastating than this current bug. If you are able to target anything (including monsters) during @duel, then there is no reason to leave a duel. Therefore infinite provoke and mindbreaker is granted.

The best fix I see for this is put back commit 145a4fe, remove my scenario fix in 127f9b5, make duel defaulted to towns only, and pray no one abuses hocus pocus in towns with provoke/mindbreaker.

kyeme commented 9 years ago

@MishimaHaruna master pls :D

kyeme commented 9 years ago

Up~

kyeme commented 9 years ago

~ Up ~