Hi, I found this post
that's exactly the same problem I have, but when I enter to the src folder, I can't find the pc.c file, only found pc.cpp and pc.hpp
I found this piece of code in that file:
#ifdef RENEWAL_STAT
/// Renewal status point cost formula
#define PC_STATUS_POINT_COST(low) (((low) < 100) ? (2 + ((low) - 1) / 10) : (16 + 4 * (((low) - 100) / 5)))
#else
/// Pre-Renewal status point cost formula
#define PC_STATUS_POINT_COST(low) (( 1 + ((low) + 9) / 10 ))
#endif
/// Returns the number of stat points needed to change the specified stat by val.
/// If val is negative, returns the number of stat points that would be needed to
/// raise the specified stat from (current value - val) to current value.
int pc_need_status_point(struct map_session_data* sd, int type, int val)
{
int low, high, sp = 0, max = 0;
if ( val == 0 )
return 0;
low = pc_getstat(sd,type);
max = pc_maxparameter(sd,(enum e_params)(type-SP_STR));
if ( low >= max && val > 0 )
return 0; // Official servers show '0' when max is reached
high = low + val;
if ( val < 0 )
SWAP(low, high);
for ( ; low < high; low++ )
sp += PC_STATUS_POINT_COST(low);
return sp;
}
should I just replace the
#define PC_STATUS_POINT_COST(low) (((low) < 100) ? (2 + ((low) - 1) / 10) : (16 + 4 * (((low) - 100) / 5)))
for
#define PC_STATUS_POINT_COST(low) (( 1 + ((low) + 9) / 10 ))
to get it like this?
#ifdef RENEWAL_STAT
/// Renewal status point cost formula
#define PC_STATUS_POINT_COST(low) (( 1 + ((low) + 9) / 10 ))
#else
/// Pre-Renewal status point cost formula
#define PC_STATUS_POINT_COST(low) (( 1 + ((low) + 9) / 10 ))
#endif
/// Returns the number of stat points needed to change the specified stat by val.
/// If val is negative, returns the number of stat points that would be needed to
/// raise the specified stat from (current value - val) to current value.
int pc_need_status_point(struct map_session_data* sd, int type, int val)
{
int low, high, sp = 0, max = 0;
if ( val == 0 )
return 0;
low = pc_getstat(sd,type);
max = pc_maxparameter(sd,(enum e_params)(type-SP_STR));
if ( low >= max && val > 0 )
return 0; // Official servers show '0' when max is reached
high = low + val;
if ( val < 0 )
SWAP(low, high);
for ( ; low < high; low++ )
sp += PC_STATUS_POINT_COST(low);
return sp;
}
and then recompile?
thanks in advance < 3 kissu