Issue information

Issue ID
#5648
Status
Fixed
Severity
None
Started
Hercules Elf Bot
Apr 26, 2012 16:21
Last Post
Hercules Elf Bot
May 30, 2012 10:09
Confirmation
N/A

Hercules Elf Bot - Apr 26, 2012 16:21

Originally posted by [b]garet999[/b]
Proxy Skin fragment's SP recovery is only 0.1% instead of 1%. where it is 1% in the description and on the official servers.

in the rAthena 'itemDB' document it says the following
"bonus3 bSPDrainRate,n,x,y; When attacking there is a n% chance to either gain SP equivalent to x% of damage dealt,"
However, this is not true(Basicly there is a mistake in the document, it should be n/10%).. I just tried to set the chance to 100%, and the drain rate would only occur ever 7~15 hits(Thus about 10%). So the correct script for the proxy skin fragment would be:

[code]{ bonus2 bSubEle,Ele_Neutral,7; bonus2 bSubEle,Ele_Water,7; bonus2 bSubEle,Ele_Earth,7; bonus2 bSubEle,Ele_Fire,7; bonus2 bSubEle,Ele_Wind,7; bonus2 bSubEle,Ele_Poison,7; bonus2 bSubEle,Ele_Holy,7; bonus2 bSubEle,Ele_Dark,7; bonus2 bSubEle,Ele_Ghost,7; bonus2 bSubEle,Ele_Undead,7; bonus bMaxSP,(BaseLevel/3)+(getrefine()*10); bonus3 bSPDrainRate,10,1,0; bonus bMdef,3; },{},{}[/code]

This post has been edited by garet999 on May 1, 2012 19:51

Hercules Elf Bot - May 3, 2012 15:30

Originally posted by [b]Kenpachi[/b]
Nope, it's bonus[b]3[/b] bSPDrainRate so it n% chance, not n/10%.
[quote]
bonus3 bSPDrainRate,n,x,y;
When attacking there is a n% chance to either gain SP equivalent to x% of damage dealt, OR drain the amount of sp from the enemy.
y: 0=gain sp 1:drain enemy sp
[/quote]

This post has been edited by Kenpachi on May 3, 2012 15:30

Hercules Elf Bot - May 7, 2012 0:10

Originally posted by [b]garet999[/b]
Well perhaps that's true, but you should try it out. try setting 'n' to 100, It will only activate 10% of the time. :P

Edit:
Just retested and it's really an issue

set to 100 = Activates once in a while, no where near 100%
set to 500 = About 50% of the time
set to 1000 = activates all the time.

This post has been edited by garet999 on May 7, 2012 0:19

Hercules Elf Bot - May 7, 2012 7:18

Originally posted by [b]Kenpachi[/b]
I can't believe this and currently I'm not able to test it. But according to the source files you are wrong.
The bonus is called with[i] pc_bonus3()[/i] in script.c:[CODE]
case 3:
val2 = script_getnum(st,4);
val3 = script_getnum(st,5);
pc_bonus3(sd, type, val1, val2, val3);
break;
[/CODE]
And in pc_bonus3() the value isn't devided by 10:[CODE]
case SP_SP_DRAIN_RATE:
if(!sd->state.lr_flag) {
sd->right_weapon.sp_drain[RC_NONBOSS].rate += type2;
sd->right_weapon.sp_drain[RC_NONBOSS].per += type3;
sd->right_weapon.sp_drain[RC_NONBOSS].type = val;
sd->right_weapon.sp_drain[RC_BOSS].rate += type2;
sd->right_weapon.sp_drain[RC_BOSS].per += type3;
sd->right_weapon.sp_drain[RC_BOSS].type = val;
}
else if(sd->state.lr_flag == 1) {
sd->left_weapon.sp_drain[RC_NONBOSS].rate += type2;
sd->left_weapon.sp_drain[RC_NONBOSS].per += type3;
sd->left_weapon.sp_drain[RC_NONBOSS].type = val;
sd->left_weapon.sp_drain[RC_BOSS].rate += type2;
sd->left_weapon.sp_drain[RC_BOSS].per += type3;
sd->left_weapon.sp_drain[RC_BOSS].type = val;
}
break;
[/CODE]

But to be sure I'll test it when I come home.


//EDIT:
After talking with malufett I know that you're right.
[quote]<&malufett> @kenpachi
<&malufett> the is no /10
<&malufett> because in the source it uses
<&malufett> rnd()%1000
<&malufett> so 100% = 1000[/quote]

This post has been edited by Kenpachi on May 7, 2012 7:24

Hercules Elf Bot - May 7, 2012 7:28

Originally posted by [b]malufett[/b]
the documentation is wrong there is should '/10' suppose to be..
100% = 1000

This post has been edited by malufett on May 7, 2012 7:28

Hercules Elf Bot - May 8, 2012 20:50

Originally posted by [b]Kenpachi[/b]
Fixed in [rev=16087].