1
0
mirror of https://github.com/anope/anope.git synced 2026-06-30 22:06:38 +02:00

Set minus no arg on +l in all proto mods

Set oper modes/vhost on oper too, evan after iding
Add umode +q to plexus
This commit is contained in:
Adam
2014-04-02 22:37:35 -04:00
parent e357c39774
commit fb5c5e3442
6 changed files with 27 additions and 6 deletions
+20
View File
@@ -523,8 +523,28 @@ void User::SetModeInternal(const MessageSource &source, UserMode *um, const Anop
this->modes[um->name] = param;
if (um->name == "OPER")
{
++OperCount;
if (this->IsServicesOper())
{
if (!this->nc->o->ot->modes.empty())
{
this->SetModes(NULL, "%s", this->nc->o->ot->modes.c_str());
this->SendMessage(NULL, "Changing your usermodes to \002%s\002", this->nc->o->ot->modes.c_str());
UserMode *oper = ModeManager::FindUserModeByName("OPER");
if (oper && !this->HasMode("OPER") && this->nc->o->ot->modes.find(oper->mchar) != Anope::string::npos)
IRCD->SendOper(this);
}
if (IRCD->CanSetVHost && !this->nc->o->vhost.empty())
{
this->SendMessage(NULL, "Changing your vhost to \002%s\002", this->nc->o->vhost.c_str());
this->SetDisplayedHost(this->nc->o->vhost);
IRCD->SendVhost(this, "", this->nc->o->vhost);
}
}
}
if (um->name == "CLOAK" || um->name == "VHOST")
this->UpdateHost();