X-Git-Url: https://jfr.im/git/irc/evilnet/x3.git/blobdiff_plain/1bcd5f19c2dc83addddf93dfa9a465dd7642586b..562697441bf6b9ec8f04f6841f4dbbaf0a92c8bb:/src/chanserv.c diff --git a/src/chanserv.c b/src/chanserv.c index daf8687..566b097 100644 --- a/src/chanserv.c +++ b/src/chanserv.c @@ -4478,7 +4478,7 @@ static CHANSERV_FUNC(cmd_resync) { if(mn->modes & MODE_CHANOP) { - changes->args[used].mode = MODE_REMOVE | (mn->modes & ~MODE_CHANOP); + changes->args[used].mode = MODE_REMOVE | MODE_CHANOP; changes->args[used++].u.member = mn; } if(!(mn->modes & MODE_HALFOP)) @@ -4486,22 +4486,24 @@ static CHANSERV_FUNC(cmd_resync) changes->args[used].mode = MODE_HALFOP; changes->args[used++].u.member = mn; } + /* why cant halfops keep voice if(mn->modes & MODE_VOICE) { changes->args[used].mode = MODE_REMOVE | (mn->modes & ~MODE_VOICE); changes->args[used++].u.member = mn; } + */ } else if(uData && uData->access >= UL_PEON /* cData->lvlOpts[lvlGiveVoice]*/) { if(mn->modes & MODE_CHANOP) { - changes->args[used].mode = MODE_REMOVE | (mn->modes & ~MODE_CHANOP); + changes->args[used].mode = MODE_REMOVE | MODE_CHANOP; changes->args[used++].u.member = mn; } if(mn->modes & MODE_HALFOP) { - changes->args[used].mode = MODE_REMOVE | (mn->modes & ~MODE_HALFOP); + changes->args[used].mode = MODE_REMOVE | MODE_HALFOP; changes->args[used++].u.member = mn; } if(!(mn->modes & MODE_VOICE))