Jump to content

  •  

Bug Tracker Migration

June 3rd
Good news everyone! The staff has decided that it is time to slowly kill off this Bug Tracker. We will begin the process of slowly migrating from this Bug Tracker over to our Github Issues which can be found here: https://github.com/HerculesWS/Hercules/issues

Over the next couple of days, I will be closing off any opportunity to create new reports. However, I still will keep the opportunity to reply to existing Bug Reports. Doing this will allow us to slowly fix any bug reports we have listed here so that we can easily migrate over to our Issue Tracker.

Update - June 7th 2015: Creating new bug posts has been disabled. Please use our https://github.com/HerculesWS/Hercules/issues tracker to post bugs. Users are still able to reply to existing bug posts.

- Administration

Issue Information

Issue Confirmations

  • Yes (0)No (0)
Photo

Proxy skinfragment

Posted by Hercules Bot on 26 April 2012 - 04:21 PM

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:

{ 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%.

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. :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.

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:
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

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