diff options
author | Ben Longbons <b.r.longbons@gmail.com> | 2014-07-15 21:22:19 -0700 |
---|---|---|
committer | Ben Longbons <b.r.longbons@gmail.com> | 2014-07-16 13:47:36 -0700 |
commit | c999af595f4a8f7d30b6d7c822e2a1caf3298389 (patch) | |
tree | 27c22a95ff9342bbdc1e94fb4806279f61f058af /src/map/atcommand.cpp | |
parent | 17605f7782ac9a73a3dacf6ce27e5dae36160f01 (diff) | |
download | tmwa-c999af595f4a8f7d30b6d7c822e2a1caf3298389.tar.gz tmwa-c999af595f4a8f7d30b6d7c822e2a1caf3298389.tar.bz2 tmwa-c999af595f4a8f7d30b6d7c822e2a1caf3298389.tar.xz tmwa-c999af595f4a8f7d30b6d7c822e2a1caf3298389.zip |
Revert bounds checks and go back to signed integers
Diffstat (limited to 'src/map/atcommand.cpp')
-rw-r--r-- | src/map/atcommand.cpp | 22 |
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 |