Issue information

Issue ID
#6473
Status
Fixed
Severity
None
Started
Hercules Elf Bot
Aug 14, 2012 22:52
Last Post
Hercules Elf Bot
Aug 18, 2012 7:56
Confirmation
N/A

Hercules Elf Bot - Aug 14, 2012 22:52

Originally posted by [b]Xanice[/b]
Problem:
Deadly infect has the ability to give (at level 5) an 80% chance to infect a target with all of a shadow chaser's negative ailments. The issue is when infected with leech end, the reinfecting another target, the shadow chaser's leech end only lasts for a duration of 2 seconds, versus a Gx's leech end which lasts 300 seconds.

How I tested it:

Dueled my own gx on my shadow chaser. Applied leech end on gx weapon, and infected my shadow chaser. Shadow chaser proceeded to use leech end, attacked my GX until he was infected and I watched the debuff timer. The debuff lasted for 2 seconds before falling off.


Other notes:
I believe this happens with more or less any of the new poisons though I need to do more extensive testing for the rest of the poisons. Deadly infect to my knowledge is supposed to reinfect the target with the ailments as if the affliction was just placed (therefore matching a gx's 300 second leech end).

I saw a few posts about this bug in the last 2 months but due to bad explanations and choppy english on the bug reporter's half, never got a direct resolution. Any help would be appreciated!

Hercules Elf Bot - Aug 15, 2012 2:32

Originally posted by [b]exneval[/b]
reference for [url="http://rathena.org/board/tracker/issue-6033-shadow-chasser-deadly-infect-gx-poison/page__gopid__10649#entry10649"]this[/url] and [url="http://rathena.org/board/tracker/issue-6325-shadow-chaser-deadly-infect-takes-2-seconds-of-infect-other-players/page__gopid__12461#entry12461"]this[/url]

Hercules Elf Bot - Aug 15, 2012 7:15

Originally posted by [b]Xanice[/b]
I saw both of those. Neither of them explained the problem clearly, and the person attending the post misunderstood what the actual problem for the bug was, which is why i posted it.

Hercules Elf Bot - Aug 15, 2012 12:05

Originally posted by [b]Lighta[/b]
This one quite easy to fix when you understand what happen :
- status_change_spread take shadow chaser status and try to apply it on target.
Ok nothing fancy here, he retriving his timer and sc.val to aplpy for the new one, sound good.

The matter is how those status are handled, let say for instance leech end who should stay 300s.
In status_start, we do :
val4 = tick/x;
tick = x;
Val4 represent the interval to relaunch the status, like dunno x second you should have dammage.
Then tick = x cause status does not need to be longer since it will be relaunched in status_change_timer.

What happening now is that status_change_spread taking tick = x, instead the 300s, so yeah status won't stay long. (if you look closely it's not always 2s duration).
So in short to fix it you'll need to to : tick = x*val4 + tick; //then you'll have number of repetition * intervall repetition + current tick => something close to 300s - current tick decrementation.
Hope you got it.

NB : this affect the following status (all those who have intervall) :
[code]
case SC_TOXIN: data.tick += 10000 * data.val4;
break; //10s tick
case SC_OBLIVIONCURSE: data.tick += 3000 * data.val4;
break; //3s tick
case SC_LEECHESEND: data.tick += 1000 * data.val4;
break; //1s tick
case SC_MAGICMUSHROOM: data.tick += 4000 * data.val4;
break; //4s tick
case SC_PYREXIA: data.tick += 3000 * data.val4;
break; //3s tick
case SC_FEAR: data.tick += 1000 * data.val4;
break; //1s tick
case SC_BURNING: data.tick += 2000 * data.val4;
break; //2s tick
case SC_BLEEDING: data.tick += 10000 * data.val4;
break; //10s tick
case SC_POISON: //1s tick (val3)
case SC_DPOISON: data.tick += 10000 * data.val3;
break; //1s tick (val3)
[/code]

Hercules Elf Bot - Aug 16, 2012 5:51

Originally posted by [b]malufett[/b]
Lighta is correct anyway does in official when spreading a status change via deadly infect does the duration dependent on the remaining duration or it starts to the original one?

:meow:

Hercules Elf Bot - Aug 16, 2012 8:32

Originally posted by [b]exneval[/b]
Depend on the remaining duration,

[CODE]
Additional Info
* Cast Time: Instant
* After-cast: 1 second
* Re-use delay: 2 seconds
* Duration of spread status equals to duration on user.
* Able to spread statuses through both skills and melee.
* Able to spread statuses when receiving damage.
* The following status isnt spreadable due to nature of effect:
[Frozen], [Deep Sleep], [Snare], [Coma], [Stone Curse], [Oblivion Curse], [Stun]
* Can only spread Guillotine Cross Poison through Attacker.
* Can no longer spread statuses via ranged attacks or skills.
[/CODE]

Source [url="http://irowiki.org/wiki/Deadly_Infection"]iRO Wiki[/url]

This post has been edited by exneval on Aug 16, 2012 8:33

Hercules Elf Bot - Aug 18, 2012 7:56

Originally posted by [b]malufett[/b]
Fixed @ [rev='16661']

:meow: