Issue information

Issue ID
#1644
Status
Fixed
Severity
None
Started
Hercules Elf Bot
Jun 8, 2008 19:23
Last Post
Ind
Apr 16, 2013 7:20
Confirmation
N/A

Hercules Elf Bot - Jun 8, 2008 19:23

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

This report is related to bugreport #1438 where it was said that eathena ankle snare time is too short. Part of it is true because I discovered that eathena applies luck reductions to multiple statuses where it shouldn't. This is also a followup to r12738 which did not fix the issue at all, because of very poor / nonexistent testing.

CODE
        if (sc_def < battle_config.pc_max_sc_def)
            sc_def += (battle_config.pc_max_sc_def - sc_def)*
                status->luk/battle_config.pc_luk_sc_def;
This code reduces sc_def by a factor dependant on luck (added on r7168). The sc_def value is supposed to be a modifier of the activation chance of a status. But the following code makes it modify duration as well:
CODE
    if (!tick_def) tick_def = sc_def;
    tick -= tick*tick_def/100;
I would like to note here that the only status that sets tick_def to a nonzero value is Curse. That means that for all others, the status duration will get reduced by the sc_def_rate config setting, luck value, and SC_SCRESIST + SC_SIEGFRIED.

What is the biggest issue is that things like Decrease AGI and Ankle Snare got moved inside this status_calc_sc_def function (on r10206), even though logically they have no reason to be there. As a consequence of this, decrease-agi duration and ankle snare duration gets reduced by luck, making it last shorter than it should.

This post has been edited by theultramage: Jun 8 2008, 12:25 PM

Ind - Apr 16, 2013 7:20

this was recently removed.