Issue information

Issue ID
#1806
Status
Fixed
Severity
Medium
Started
Hercules Elf Bot
Jul 6, 2008 15:23
Last Post
Hercules Elf Bot
Mar 5, 2012 16:34
Confirmation
N/A

Hercules Elf Bot - Jul 6, 2008 15:23

Originally posted by [b]theultramage[/b]
http://www.eathena.ws/board/index.php?autocom=bugtracker&showbug=1806

One of Grimtooth's side-effects is causing "stop" on mobs and "slow" on players
CODE
    case AS_GRIMTOOTH:
        status = dstsd?SC_SLOWDOWN:SC_STOP;
        if (!tsc->data[status])
            sc_start(bl,status,100,skilllv,skill_get_time2(skillid, skilllv));
with a duration of
CODE
//-- AS_GRIMTOOTH
137,0,0,0,0,1000

During the walk speed analysis of aegis we discovered no such factor in the speed calculation code. This lead me to believe that this 'feature' is not based on any official info, but more likely erroneous observations - we all know how poorly the client displays mobs that get hit while walking.

Therefore I ran a few ingame tests, along with packet capture analysis. Results are as follows. For mobs, there is no information sent about any sort of walk speed change. The mob isn't stopped because I received a walk packet every 300ms while testing. This contradicts the "1 second stop time" on eathena.
Against players, again there is no walk speed adjustment present in the recorded packets. The only issue here is the flinch animation which impairs movement clientside. A followup test with Eddga Card equipped confirmed that Grimtooth does not affect one's ability to move in any way.

The change was possibly inspired by observations on official servers, where grimtoothing a mob might have caused it to stop walking, and trigger its AI's "recharge time" delay. This might have appeared as if the mob is stopped. But this would be a feature of the mob AI in general, not a Grimtooth feature.
Additionally, I could find no mention of it on iROwiki's page, nor in jAthena code (which is usually a good reference).

Therefore I conclude that this is a bug, exploitable by the Assassin class to make mobbing+grimtoothing easier. Removing the abovementioned code will resolve this.

Here is a general timeline for this feature's development:
r232 - Celest added first mention of SC_GRIMTOOTH and its "slowdown"; no actual code.
r262 - Celest implemented SC_SLOWDOWN (renamed SC_GRIMTOOTH).
r3480 - Skotlex made Grimtooth's slowdown work on mobs too.
r3701 - Skotlex updated Grimtooth to cause "Stop" on enemies instead of slow down.

This post has been edited by theultramage: Jul 6 2008, 08:24 AM