diff options
-rw-r--r-- | src/command_parse.cpp | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/command_parse.cpp b/src/command_parse.cpp index 1701a7366..190ade6be 100644 --- a/src/command_parse.cpp +++ b/src/command_parse.cpp @@ -303,13 +303,17 @@ bool CommandParser::ProcessCommand(User *user, std::string &cmd) } /* Modify the user's penalty */ - user->Penalty += cm->second->Penalty; - ServerInstance->Log(DEBUG,"Penalty for %s is now incremented to %d (%d added on)", user->nick, user->Penalty, cm->second->Penalty); - bool do_more = (user->Penalty < 10); - if (!do_more) + bool do_more = true; + if (!user->ExemptFromPenalty) { - user->OverPenalty = true; - ServerInstance->Log(DEBUG,"User %s now OVER penalty of 10", user->nick); + user->Penalty += cm->second->Penalty; + ServerInstance->Log(DEBUG,"Penalty for %s is now incremented to %d (%d added on)", user->nick, user->Penalty, cm->second->Penalty); + do_more = (user->Penalty < 10); + if (!do_more) + { + user->OverPenalty = true; + ServerInstance->Log(DEBUG,"User %s now OVER penalty of 10", user->nick); + } } /* activity resets the ping pending timer */ |