Issue Information
-
#005648
-
0 - None Assigned
-
Fixed
Issue Confirmations
-
Yes (0)No (0)
Originally posted by garet999
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:
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:
{ 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; },{},{}
Originally posted by Kenpachi
Nope, it's bonus3 bSPDrainRate so it n% chance, not n/10%.
Nope, it's bonus3 bSPDrainRate so it n% chance, not n/10%.
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
Originally posted by garet999
Well perhaps that's true, but you should try it out. try setting 'n' to 100, It will only activate 10% of the time.
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.
Well perhaps that's true, but you should try it out. try setting 'n' to 100, It will only activate 10% of the time.
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.
Edited by garet999, 07 May 2012 - 12:19 AM.
Originally posted by Kenpachi
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 pc_bonus3() in script.c:
But to be sure I'll test it when I come home.
//EDIT:
After talking with malufett I know that you're right.
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 pc_bonus3() in script.c:
case 3: val2 = script_getnum(st,4); val3 = script_getnum(st,5); pc_bonus3(sd, type, val1, val2, val3); break;And in pc_bonus3() the value isn't devided by 10:
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;
But to be sure I'll test it when I come home.
//EDIT:
After talking with malufett I know that you're right.
<&malufett> @kenpachi
<&malufett> the is no /10
<&malufett> because in the source it uses
<&malufett> rnd()%1000
<&malufett> so 100% = 1000
Originally posted by malufett
the documentation is wrong there is should '/10' suppose to be..
100% = 1000
the documentation is wrong there is should '/10' suppose to be..
100% = 1000
Originally posted by Kenpachi
Fixed in [rev=16087].
Fixed in [rev=16087].