diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/map/atcommand.cpp | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/map/atcommand.cpp b/src/map/atcommand.cpp index d9ec555..6901437 100644 --- a/src/map/atcommand.cpp +++ b/src/map/atcommand.cpp @@ -1667,6 +1667,8 @@ ATCE atcommand_pvpoff(Session *s, dumb_ptr<map_session_data> sd, return ATCE::OKAY; } +// Command not removed during bexprate/jexprate split +// because serverdata calls it. static ATCE atcommand_exprate(Session *s, dumb_ptr<map_session_data>, ZString message) @@ -1687,6 +1689,42 @@ ATCE atcommand_exprate(Session *s, dumb_ptr<map_session_data>, } static +ATCE atcommand_bexprate(Session *s, dumb_ptr<map_session_data>, + ZString message) +{ + int rate; + + if (!extract(message, &rate) || !rate) + { + clif_displaymessage(s, + "Please, enter a rate adjustement (usage: @bexprate <percent>)."_s); + return ATCE::USAGE; + } + battle_config.base_exp_rate = rate; + AString output = STRPRINTF("Base XP rate now at %d percent"_fmt, rate); + clif_displaymessage(s, output); + return ATCE::OKAY; +} + +static +ATCE atcommand_jexprate(Session *s, dumb_ptr<map_session_data>, + ZString message) +{ + int rate; + + if (!extract(message, &rate) || !rate) + { + clif_displaymessage(s, + "Please, enter a rate adjustement (usage: @jexprate <percent>)."_s); + return ATCE::USAGE; + } + battle_config.job_exp_rate = rate; + AString output = STRPRINTF("Job XP rate now at %d percent"_fmt, rate); + clif_displaymessage(s, output); + return ATCE::OKAY; +} + +static ATCE atcommand_rates(Session *s, dumb_ptr<map_session_data>, ZString message) { @@ -5600,6 +5638,12 @@ Map<XString, AtCommandInfo> atcommand_info = {"exprate"_s, {"<percent>"_s, 60, atcommand_exprate, "Set base and job exp rate"_s}}, + {"bexprate"_s, {"<percent>"_s, + 60, atcommand_bexprate, + "Set base exp rate"_s}}, + {"jexprate"_s, {"<percent>"_s, + 60, atcommand_jexprate, + "Set job exp rate"_s}}, {"rates"_s, {""_s, 0, atcommand_rates, "Show base and job exp rates"_s}}, |