Bläddra i källkod

Use specific role for revenge

Bryan Drewery 13 år sedan
förälder
incheckning
b123e5bd59
3 ändrade filer med 4 tillägg och 3 borttagningar
  1. 1 0
      src/flags.h
  2. 1 1
      src/mod/irc.mod/chan.c
  3. 2 2
      src/mod/irc.mod/mode.c

+ 1 - 0
src/flags.h

@@ -68,6 +68,7 @@ enum deflag_event_t {
 #define ROLE_TOPIC    BIT6
 #define ROLE_LIMIT    BIT7
 #define ROLE_RESOLV   BIT8
+#define ROLE_REVENGE  BIT9
 
 #define USER_DEFAULT	0
 

+ 1 - 1
src/mod/irc.mod/chan.c

@@ -3004,7 +3004,7 @@ static int gotkick(char *from, char *origmsg)
     if (mv->user) {
       // Revenge kick clients that kick our bots
       if (chan->revenge && !mv->is_me && m && m != mv && mv->user->bot && !(m->user && m->user->bot)) {
-        if ((role & ROLE_KICK) && !chan_sentkick(m) && me_op(chan)) {
+        if ((role & ROLE_REVENGE) && !chan_sentkick(m) && me_op(chan)) {
           m->flags |= SENTKICK;
           dprintf(DP_MODE_NEXT, "KICK %s %s :%s%s\r\n", chan->name, m->nick, kickprefix, response(RES_REVENGE));
         } else {

+ 2 - 2
src/mod/irc.mod/mode.c

@@ -716,7 +716,7 @@ got_deop(struct chanset_t *chan, memberlist *m, memberlist *mv, char *isserver)
   } else {
     // Revenge kick clients that deop our bots
     if (chan->revenge && m && m != mv && mv->user && mv->user->bot && !(m->user && m->user->bot)) {
-      if (role < 5 && !chan_sentkick(m) && me_op(chan)) {
+      if ((role & ROLE_REVENGE) && !chan_sentkick(m) && me_op(chan)) {
         m->flags |= SENTKICK;
         dprintf(DP_MODE_NEXT, "KICK %s %s :%s%s\r\n", chan->name, m->nick, kickprefix, response(RES_REVENGE));
       } else {
@@ -763,7 +763,7 @@ got_ban(struct chanset_t *chan, memberlist *m, char *mask, char *isserver)
 
   // Revenge kick clients that ban our bots
   if (chan->revenge && m && matched_bot && !(m->user && m->user->bot)) {
-    if (role < 5 && !chan_sentkick(m)) {
+    if ((role & ROLE_REVENGE) && !chan_sentkick(m)) {
       m->flags |= SENTKICK;
       dprintf(DP_MODE_NEXT, "KICK %s %s :%s%s\r\n", chan->name, m->nick, kickprefix, response(RES_REVENGE));
     } else {