mirror of
https://github.com/EQEmu/Server.git
synced 2026-03-11 07:02:35 +00:00
Pet commands only reply to master now (except leader)
This commit is contained in:
parent
6e70d12b0a
commit
82776deb89
@ -10007,7 +10007,7 @@ void Client::Handle_OP_PetCommands(const EQApplicationPacket *app)
|
|||||||
break; //prevent pet from attacking stuff while feared
|
break; //prevent pet from attacking stuff while feared
|
||||||
|
|
||||||
if (!mypet->IsAttackAllowed(target)) {
|
if (!mypet->IsAttackAllowed(target)) {
|
||||||
mypet->Say_StringID(NOT_LEGAL_TARGET);
|
mypet->SayTo_StringID(this, NOT_LEGAL_TARGET);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -10048,7 +10048,7 @@ void Client::Handle_OP_PetCommands(const EQApplicationPacket *app)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!mypet->IsAttackAllowed(GetTarget())) {
|
if (!mypet->IsAttackAllowed(GetTarget())) {
|
||||||
mypet->Say_StringID(NOT_LEGAL_TARGET);
|
mypet->SayTo_StringID(this, NOT_LEGAL_TARGET);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -10073,7 +10073,7 @@ void Client::Handle_OP_PetCommands(const EQApplicationPacket *app)
|
|||||||
if (mypet->IsFeared()) break; //keeps pet running while feared
|
if (mypet->IsFeared()) break; //keeps pet running while feared
|
||||||
|
|
||||||
if ((mypet->GetPetType() == petAnimation && aabonuses.PetCommands[PetCommand]) || mypet->GetPetType() != petAnimation) {
|
if ((mypet->GetPetType() == petAnimation && aabonuses.PetCommands[PetCommand]) || mypet->GetPetType() != petAnimation) {
|
||||||
mypet->Say_StringID(MT_PetResponse, PET_CALMING);
|
mypet->SayTo_StringID(this, MT_PetResponse, PET_CALMING);
|
||||||
mypet->WipeHateList();
|
mypet->WipeHateList();
|
||||||
mypet->SetTarget(nullptr);
|
mypet->SetTarget(nullptr);
|
||||||
if (mypet->IsPetStop()) {
|
if (mypet->IsPetStop()) {
|
||||||
@ -10104,7 +10104,7 @@ void Client::Handle_OP_PetCommands(const EQApplicationPacket *app)
|
|||||||
SetPet(nullptr);
|
SetPet(nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
mypet->Say_StringID(MT_PetResponse, PET_GETLOST_STRING);
|
mypet->SayTo_StringID(this, MT_PetResponse, PET_GETLOST_STRING);
|
||||||
mypet->CastToNPC()->Depop();
|
mypet->CastToNPC()->Depop();
|
||||||
|
|
||||||
//Oddly, the client (Titanium) will still allow "/pet get lost" command despite me adding the code below. If someone can figure that out, you can uncomment this code and use it.
|
//Oddly, the client (Titanium) will still allow "/pet get lost" command despite me adding the code below. If someone can figure that out, you can uncomment this code and use it.
|
||||||
@ -10122,7 +10122,7 @@ void Client::Handle_OP_PetCommands(const EQApplicationPacket *app)
|
|||||||
|
|
||||||
if ((mypet->GetPetType() == petAnimation && aabonuses.PetCommands[PetCommand]) || mypet->GetPetType() != petAnimation) {
|
if ((mypet->GetPetType() == petAnimation && aabonuses.PetCommands[PetCommand]) || mypet->GetPetType() != petAnimation) {
|
||||||
if (mypet->IsNPC()) {
|
if (mypet->IsNPC()) {
|
||||||
mypet->Say_StringID(MT_PetResponse, PET_GUARDINGLIFE);
|
mypet->SayTo_StringID(this, MT_PetResponse, PET_GUARDINGLIFE);
|
||||||
mypet->SetPetOrder(SPO_Guard);
|
mypet->SetPetOrder(SPO_Guard);
|
||||||
mypet->CastToNPC()->SaveGuardSpot();
|
mypet->CastToNPC()->SaveGuardSpot();
|
||||||
if (!mypet->GetTarget()) // want them to not twitch if they're chasing something down
|
if (!mypet->GetTarget()) // want them to not twitch if they're chasing something down
|
||||||
@ -10139,7 +10139,7 @@ void Client::Handle_OP_PetCommands(const EQApplicationPacket *app)
|
|||||||
if (mypet->IsFeared()) break; //could be exploited like PET_BACKOFF
|
if (mypet->IsFeared()) break; //could be exploited like PET_BACKOFF
|
||||||
|
|
||||||
if ((mypet->GetPetType() == petAnimation && aabonuses.PetCommands[PetCommand]) || mypet->GetPetType() != petAnimation) {
|
if ((mypet->GetPetType() == petAnimation && aabonuses.PetCommands[PetCommand]) || mypet->GetPetType() != petAnimation) {
|
||||||
mypet->Say_StringID(MT_PetResponse, PET_FOLLOWING);
|
mypet->SayTo_StringID(this, MT_PetResponse, PET_FOLLOWING);
|
||||||
mypet->SetPetOrder(SPO_Follow);
|
mypet->SetPetOrder(SPO_Follow);
|
||||||
mypet->SendAppearancePacket(AT_Anim, ANIM_STAND);
|
mypet->SendAppearancePacket(AT_Anim, ANIM_STAND);
|
||||||
if (mypet->IsPetStop()) {
|
if (mypet->IsPetStop()) {
|
||||||
@ -10182,7 +10182,7 @@ void Client::Handle_OP_PetCommands(const EQApplicationPacket *app)
|
|||||||
if (mypet->IsFeared()) break; //could be exploited like PET_BACKOFF
|
if (mypet->IsFeared()) break; //could be exploited like PET_BACKOFF
|
||||||
|
|
||||||
if ((mypet->GetPetType() == petAnimation && aabonuses.PetCommands[PetCommand]) || mypet->GetPetType() != petAnimation) {
|
if ((mypet->GetPetType() == petAnimation && aabonuses.PetCommands[PetCommand]) || mypet->GetPetType() != petAnimation) {
|
||||||
mypet->Say_StringID(MT_PetResponse, PET_GUARDME_STRING);
|
mypet->SayTo_StringID(this, MT_PetResponse, PET_GUARDME_STRING);
|
||||||
mypet->SetPetOrder(SPO_Follow);
|
mypet->SetPetOrder(SPO_Follow);
|
||||||
mypet->SendAppearancePacket(AT_Anim, ANIM_STAND);
|
mypet->SendAppearancePacket(AT_Anim, ANIM_STAND);
|
||||||
if (mypet->IsPetStop()) {
|
if (mypet->IsPetStop()) {
|
||||||
@ -10198,13 +10198,13 @@ void Client::Handle_OP_PetCommands(const EQApplicationPacket *app)
|
|||||||
if ((mypet->GetPetType() == petAnimation && aabonuses.PetCommands[PetCommand]) || mypet->GetPetType() != petAnimation) {
|
if ((mypet->GetPetType() == petAnimation && aabonuses.PetCommands[PetCommand]) || mypet->GetPetType() != petAnimation) {
|
||||||
if (mypet->GetPetOrder() == SPO_Sit)
|
if (mypet->GetPetOrder() == SPO_Sit)
|
||||||
{
|
{
|
||||||
mypet->Say_StringID(MT_PetResponse, PET_SIT_STRING);
|
mypet->SayTo_StringID(this, MT_PetResponse, PET_SIT_STRING);
|
||||||
mypet->SetPetOrder(SPO_Follow);
|
mypet->SetPetOrder(SPO_Follow);
|
||||||
mypet->SendAppearancePacket(AT_Anim, ANIM_STAND);
|
mypet->SendAppearancePacket(AT_Anim, ANIM_STAND);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mypet->Say_StringID(MT_PetResponse, PET_SIT_STRING);
|
mypet->SayTo_StringID(this, MT_PetResponse, PET_SIT_STRING);
|
||||||
mypet->SetPetOrder(SPO_Sit);
|
mypet->SetPetOrder(SPO_Sit);
|
||||||
mypet->SetRunAnimSpeed(0);
|
mypet->SetRunAnimSpeed(0);
|
||||||
if (!mypet->UseBardSpellLogic()) //maybe we can have a bard pet
|
if (!mypet->UseBardSpellLogic()) //maybe we can have a bard pet
|
||||||
@ -10218,7 +10218,7 @@ void Client::Handle_OP_PetCommands(const EQApplicationPacket *app)
|
|||||||
if (mypet->IsFeared()) break; //could be exploited like PET_BACKOFF
|
if (mypet->IsFeared()) break; //could be exploited like PET_BACKOFF
|
||||||
|
|
||||||
if ((mypet->GetPetType() == petAnimation && aabonuses.PetCommands[PetCommand]) || mypet->GetPetType() != petAnimation) {
|
if ((mypet->GetPetType() == petAnimation && aabonuses.PetCommands[PetCommand]) || mypet->GetPetType() != petAnimation) {
|
||||||
mypet->Say_StringID(MT_PetResponse, PET_SIT_STRING);
|
mypet->SayTo_StringID(this, MT_PetResponse, PET_SIT_STRING);
|
||||||
mypet->SetPetOrder(SPO_Follow);
|
mypet->SetPetOrder(SPO_Follow);
|
||||||
mypet->SendAppearancePacket(AT_Anim, ANIM_STAND);
|
mypet->SendAppearancePacket(AT_Anim, ANIM_STAND);
|
||||||
}
|
}
|
||||||
@ -10228,7 +10228,7 @@ void Client::Handle_OP_PetCommands(const EQApplicationPacket *app)
|
|||||||
if (mypet->IsFeared()) break; //could be exploited like PET_BACKOFF
|
if (mypet->IsFeared()) break; //could be exploited like PET_BACKOFF
|
||||||
|
|
||||||
if ((mypet->GetPetType() == petAnimation && aabonuses.PetCommands[PetCommand]) || mypet->GetPetType() != petAnimation) {
|
if ((mypet->GetPetType() == petAnimation && aabonuses.PetCommands[PetCommand]) || mypet->GetPetType() != petAnimation) {
|
||||||
mypet->Say_StringID(MT_PetResponse, PET_SIT_STRING);
|
mypet->SayTo_StringID(this, MT_PetResponse, PET_SIT_STRING);
|
||||||
mypet->SetPetOrder(SPO_Sit);
|
mypet->SetPetOrder(SPO_Sit);
|
||||||
mypet->SetRunAnimSpeed(0);
|
mypet->SetRunAnimSpeed(0);
|
||||||
if (!mypet->UseBardSpellLogic()) //maybe we can have a bard pet
|
if (!mypet->UseBardSpellLogic()) //maybe we can have a bard pet
|
||||||
@ -10251,9 +10251,9 @@ void Client::Handle_OP_PetCommands(const EQApplicationPacket *app)
|
|||||||
Message_StringID(MT_PetResponse, PET_HOLD_SET_ON);
|
Message_StringID(MT_PetResponse, PET_HOLD_SET_ON);
|
||||||
|
|
||||||
if (m_ClientVersionBit & EQEmu::versions::bit_UFAndLater)
|
if (m_ClientVersionBit & EQEmu::versions::bit_UFAndLater)
|
||||||
mypet->Say_StringID(MT_PetResponse, PET_NOW_HOLDING);
|
mypet->SayTo_StringID(this, MT_PetResponse, PET_NOW_HOLDING);
|
||||||
else
|
else
|
||||||
mypet->Say_StringID(MT_PetResponse, PET_ON_HOLD);
|
mypet->SayTo_StringID(this, MT_PetResponse, PET_ON_HOLD);
|
||||||
|
|
||||||
mypet->SetHeld(true);
|
mypet->SetHeld(true);
|
||||||
}
|
}
|
||||||
@ -10268,9 +10268,9 @@ void Client::Handle_OP_PetCommands(const EQApplicationPacket *app)
|
|||||||
Message_StringID(MT_PetResponse, PET_HOLD_SET_ON);
|
Message_StringID(MT_PetResponse, PET_HOLD_SET_ON);
|
||||||
|
|
||||||
if (m_ClientVersionBit & EQEmu::versions::bit_UFAndLater)
|
if (m_ClientVersionBit & EQEmu::versions::bit_UFAndLater)
|
||||||
mypet->Say_StringID(MT_PetResponse, PET_NOW_HOLDING);
|
mypet->SayTo_StringID(this, MT_PetResponse, PET_NOW_HOLDING);
|
||||||
else
|
else
|
||||||
mypet->Say_StringID(MT_PetResponse, PET_ON_HOLD);
|
mypet->SayTo_StringID(this, MT_PetResponse, PET_ON_HOLD);
|
||||||
mypet->SetHeld(true);
|
mypet->SetHeld(true);
|
||||||
mypet->SetGHeld(false);
|
mypet->SetGHeld(false);
|
||||||
SetPetCommandState(PET_BUTTON_GHOLD, 0);
|
SetPetCommandState(PET_BUTTON_GHOLD, 0);
|
||||||
@ -10297,9 +10297,9 @@ void Client::Handle_OP_PetCommands(const EQApplicationPacket *app)
|
|||||||
{
|
{
|
||||||
if (m_ClientVersionBit & EQEmu::versions::bit_UFAndLater) {
|
if (m_ClientVersionBit & EQEmu::versions::bit_UFAndLater) {
|
||||||
Message_StringID(MT_PetResponse, PET_ON_GHOLD);
|
Message_StringID(MT_PetResponse, PET_ON_GHOLD);
|
||||||
mypet->Say_StringID(MT_PetResponse, PET_GHOLD_ON_MSG);
|
mypet->SayTo_StringID(this, MT_PetResponse, PET_GHOLD_ON_MSG);
|
||||||
} else {
|
} else {
|
||||||
mypet->Say_StringID(MT_PetResponse, PET_ON_HOLD);
|
mypet->SayTo_StringID(this, MT_PetResponse, PET_ON_HOLD);
|
||||||
}
|
}
|
||||||
mypet->SetGHeld(true);
|
mypet->SetGHeld(true);
|
||||||
}
|
}
|
||||||
@ -10312,9 +10312,9 @@ void Client::Handle_OP_PetCommands(const EQApplicationPacket *app)
|
|||||||
if (aabonuses.PetCommands[PetCommand] && mypet->IsNPC()) {
|
if (aabonuses.PetCommands[PetCommand] && mypet->IsNPC()) {
|
||||||
if (m_ClientVersionBit & EQEmu::versions::bit_UFAndLater) {
|
if (m_ClientVersionBit & EQEmu::versions::bit_UFAndLater) {
|
||||||
Message_StringID(MT_PetResponse, PET_ON_GHOLD);
|
Message_StringID(MT_PetResponse, PET_ON_GHOLD);
|
||||||
mypet->Say_StringID(MT_PetResponse, PET_GHOLD_ON_MSG);
|
mypet->SayTo_StringID(this, MT_PetResponse, PET_GHOLD_ON_MSG);
|
||||||
} else {
|
} else {
|
||||||
mypet->Say_StringID(MT_PetResponse, PET_ON_HOLD);
|
mypet->SayTo_StringID(this, MT_PetResponse, PET_ON_HOLD);
|
||||||
}
|
}
|
||||||
mypet->SetGHeld(true);
|
mypet->SetGHeld(true);
|
||||||
mypet->SetHeld(false);
|
mypet->SetHeld(false);
|
||||||
@ -10435,7 +10435,7 @@ void Client::Handle_OP_PetCommands(const EQApplicationPacket *app)
|
|||||||
SetPetCommandState(PET_BUTTON_REGROUP, 0);
|
SetPetCommandState(PET_BUTTON_REGROUP, 0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
mypet->Say_StringID(MT_PetResponse, PET_GETLOST_STRING);
|
mypet->SayTo_StringID(this, MT_PetResponse, PET_GETLOST_STRING);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -10446,7 +10446,7 @@ void Client::Handle_OP_PetCommands(const EQApplicationPacket *app)
|
|||||||
mypet->SetPetStop(true);
|
mypet->SetPetStop(true);
|
||||||
mypet->SetCurrentSpeed(0);
|
mypet->SetCurrentSpeed(0);
|
||||||
mypet->SetTarget(nullptr);
|
mypet->SetTarget(nullptr);
|
||||||
mypet->Say_StringID(MT_PetResponse, PET_GETLOST_STRING);
|
mypet->SayTo_StringID(this, MT_PetResponse, PET_GETLOST_STRING);
|
||||||
if (mypet->IsPetRegroup()) {
|
if (mypet->IsPetRegroup()) {
|
||||||
mypet->SetPetRegroup(false);
|
mypet->SetPetRegroup(false);
|
||||||
SetPetCommandState(PET_BUTTON_REGROUP, 0);
|
SetPetCommandState(PET_BUTTON_REGROUP, 0);
|
||||||
@ -10459,7 +10459,7 @@ void Client::Handle_OP_PetCommands(const EQApplicationPacket *app)
|
|||||||
|
|
||||||
if ((mypet->GetPetType() == petAnimation && aabonuses.PetCommands[PetCommand]) || mypet->GetPetType() != petAnimation) {
|
if ((mypet->GetPetType() == petAnimation && aabonuses.PetCommands[PetCommand]) || mypet->GetPetType() != petAnimation) {
|
||||||
mypet->SetPetStop(false);
|
mypet->SetPetStop(false);
|
||||||
mypet->Say_StringID(MT_PetResponse, PET_GETLOST_STRING);
|
mypet->SayTo_StringID(this, MT_PetResponse, PET_GETLOST_STRING);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -10469,11 +10469,11 @@ void Client::Handle_OP_PetCommands(const EQApplicationPacket *app)
|
|||||||
if (aabonuses.PetCommands[PetCommand]) {
|
if (aabonuses.PetCommands[PetCommand]) {
|
||||||
if (mypet->IsPetRegroup()) {
|
if (mypet->IsPetRegroup()) {
|
||||||
mypet->SetPetRegroup(false);
|
mypet->SetPetRegroup(false);
|
||||||
mypet->Say_StringID(MT_PetResponse, PET_OFF_REGROUPING);
|
mypet->SayTo_StringID(this, MT_PetResponse, PET_OFF_REGROUPING);
|
||||||
} else {
|
} else {
|
||||||
mypet->SetPetRegroup(true);
|
mypet->SetPetRegroup(true);
|
||||||
mypet->SetTarget(nullptr);
|
mypet->SetTarget(nullptr);
|
||||||
mypet->Say_StringID(MT_PetResponse, PET_ON_REGROUPING);
|
mypet->SayTo_StringID(this, MT_PetResponse, PET_ON_REGROUPING);
|
||||||
if (mypet->IsPetStop()) {
|
if (mypet->IsPetStop()) {
|
||||||
mypet->SetPetStop(false);
|
mypet->SetPetStop(false);
|
||||||
SetPetCommandState(PET_BUTTON_STOP, 0);
|
SetPetCommandState(PET_BUTTON_STOP, 0);
|
||||||
@ -10488,7 +10488,7 @@ void Client::Handle_OP_PetCommands(const EQApplicationPacket *app)
|
|||||||
if (aabonuses.PetCommands[PetCommand]) {
|
if (aabonuses.PetCommands[PetCommand]) {
|
||||||
mypet->SetPetRegroup(true);
|
mypet->SetPetRegroup(true);
|
||||||
mypet->SetTarget(nullptr);
|
mypet->SetTarget(nullptr);
|
||||||
mypet->Say_StringID(MT_PetResponse, PET_ON_REGROUPING);
|
mypet->SayTo_StringID(this, MT_PetResponse, PET_ON_REGROUPING);
|
||||||
if (mypet->IsPetStop()) {
|
if (mypet->IsPetStop()) {
|
||||||
mypet->SetPetStop(false);
|
mypet->SetPetStop(false);
|
||||||
SetPetCommandState(PET_BUTTON_STOP, 0);
|
SetPetCommandState(PET_BUTTON_STOP, 0);
|
||||||
@ -10501,7 +10501,7 @@ void Client::Handle_OP_PetCommands(const EQApplicationPacket *app)
|
|||||||
|
|
||||||
if (aabonuses.PetCommands[PetCommand]) {
|
if (aabonuses.PetCommands[PetCommand]) {
|
||||||
mypet->SetPetRegroup(false);
|
mypet->SetPetRegroup(false);
|
||||||
mypet->Say_StringID(MT_PetResponse, PET_OFF_REGROUPING);
|
mypet->SayTo_StringID(this, MT_PetResponse, PET_OFF_REGROUPING);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user