mirror of
https://github.com/EQEmu/Server.git
synced 2026-03-02 18:32:25 +00:00
Don't allow disbanding mercs that have their owner in combat if the rule is set.
This commit is contained in:
parent
b2c6bb4df5
commit
f8d000d660
@ -6582,8 +6582,7 @@ void Client::Handle_OP_GroupDisband(const EQApplicationPacket *app)
|
|||||||
if (group->IsLeader(this))
|
if (group->IsLeader(this))
|
||||||
{
|
{
|
||||||
// the group leader can kick other members out of the group...
|
// the group leader can kick other members out of the group...
|
||||||
if (memberToDisband->IsClient())
|
if (memberToDisband->IsClient()) {
|
||||||
{
|
|
||||||
group->DelMember(memberToDisband, false);
|
group->DelMember(memberToDisband, false);
|
||||||
Client* memberClient = memberToDisband->CastToClient();
|
Client* memberClient = memberToDisband->CastToClient();
|
||||||
Merc* memberMerc = memberToDisband->CastToClient()->GetMerc();
|
Merc* memberMerc = memberToDisband->CastToClient()->GetMerc();
|
||||||
@ -6592,9 +6591,19 @@ void Client::Handle_OP_GroupDisband(const EQApplicationPacket *app)
|
|||||||
memberMerc->MercJoinClientGroup();
|
memberMerc->MercJoinClientGroup();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (memberToDisband->IsMerc())
|
else if (memberToDisband->IsMerc()) {
|
||||||
{
|
//Can only remove mercs that aren't in combat if the rule is set.
|
||||||
memberToDisband->CastToMerc()->Suspend();
|
if (!RuleB(Mercs, AllowMercSuspendInCombat)) {
|
||||||
|
Mob* mercOwner = memberToDisband->CastToMerc()->GetOwner();
|
||||||
|
if (mercOwner && mercOwner->IsClient()) {
|
||||||
|
if (mercOwner->CastToClient()->CheckCanSpawnMerc(mercOwner->CastToClient()->GetMercInfo().MercTemplateID)) {
|
||||||
|
memberToDisband->CastToMerc()->Suspend();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
memberToDisband->CastToMerc()->Suspend();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user