summaryrefslogtreecommitdiff
path: root/src/map/atcommand.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/atcommand.cpp')
-rw-r--r--src/map/atcommand.cpp22
1 files changed, 14 insertions, 8 deletions
diff --git a/src/map/atcommand.cpp b/src/map/atcommand.cpp
index a17838f..11f6eb1 100644
--- a/src/map/atcommand.cpp
+++ b/src/map/atcommand.cpp
@@ -1457,9 +1457,10 @@ ATCE atcommand_baselevelup(Session *s, dumb_ptr<map_session_data> sd,
if (sd->status.status_point > 0)
{
for (i = 0; i > level; i--)
- sd->status.status_point -= std::min(
- static_cast<int>(sd->status.status_point),
- (sd->status.base_level + i + 14) / 4);
+ sd->status.status_point -=
+ (sd->status.base_level + i + 14) / 4;
+ if (sd->status.status_point < 0)
+ sd->status.status_point = 0;
clif_updatestatus(sd, SP::STATUSPOINT);
}
// to add: remove status points from stats
@@ -1520,7 +1521,9 @@ ATCE atcommand_joblevelup(Session *s, dumb_ptr<map_session_data> sd,
clif_updatestatus(sd, SP::NEXTJOBEXP);
if (sd->status.skill_point > 0)
{
- sd->status.skill_point += std::max(level, -sd->status.skill_point);
+ sd->status.skill_point += level;
+ if (sd->status.skill_point < 0)
+ sd->status.skill_point = 0;
clif_updatestatus(sd, SP::SKILLPOINT);
}
// to add: remove status points from skills
@@ -2585,9 +2588,10 @@ ATCE atcommand_character_baselevel(Session *s, dumb_ptr<map_session_data> sd,
if (pl_sd->status.status_point > 0)
{
for (i = 0; i > level; i--)
- pl_sd->status.status_point -= std::min(
- static_cast<int>(pl_sd->status.status_point),
- (pl_sd->status.base_level + i + 14) / 4);
+ pl_sd->status.status_point -=
+ (pl_sd->status.base_level + i + 14) / 4;
+ if (pl_sd->status.status_point < 0)
+ pl_sd->status.status_point = 0;
clif_updatestatus(pl_sd, SP::STATUSPOINT);
}
// to add: remove status points from stats
@@ -2668,7 +2672,9 @@ ATCE atcommand_character_joblevel(Session *s, dumb_ptr<map_session_data> sd,
clif_updatestatus(pl_sd, SP::NEXTJOBEXP);
if (pl_sd->status.skill_point > 0)
{
- pl_sd->status.skill_point += std::max(level, -pl_sd->status.skill_point);
+ pl_sd->status.skill_point += level;
+ if (pl_sd->status.skill_point < 0)
+ pl_sd->status.skill_point = 0;
clif_updatestatus(pl_sd, SP::SKILLPOINT);
}
// to add: remove status points from skills