summaryrefslogtreecommitdiff
path: root/src/map/atcommand.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/atcommand.c')
-rw-r--r--src/map/atcommand.c25
1 files changed, 14 insertions, 11 deletions
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index c0a834593..e0fb1c309 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -3065,7 +3065,7 @@ ACMD_FUNC(zeny)
*------------------------------------------*/
ACMD_FUNC(param)
{
- int i, value = 0, new_value;
+ int i, value = 0, new_value, max;
const char* param[] = { "str", "agi", "vit", "int", "dex", "luk" };
short* status[6];
//we don't use direct initialization because it isn't part of the c standard.
@@ -3094,16 +3094,16 @@ ACMD_FUNC(param)
status[4] = &sd->status.dex;
status[5] = &sd->status.luk;
- if(value < 0 && *status[i] <= -value)
- {
- new_value = 1;
- }
- else if(SHRT_MAX - *status[i] < value)
- {
- new_value = SHRT_MAX;
- }
+ if( battle_config.atcommand_max_stat_bypass )
+ max = SHRT_MAX;
else
- {
+ max = pc_maxparameter(sd);
+
+ if(value < 0 && *status[i] <= -value) {
+ new_value = 1;
+ } else if(max - *status[i] < value) {
+ new_value = max;
+ } else {
new_value = *status[i] + value;
}
@@ -3145,7 +3145,10 @@ ACMD_FUNC(stat_all)
value = pc_maxparameter(sd);
max = pc_maxparameter(sd);
} else {
- max = SHRT_MAX;
+ if( battle_config.atcommand_max_stat_bypass )
+ max = SHRT_MAX;
+ else
+ max = pc_maxparameter(sd);
}
count = 0;