Add /pet hold on and /pet hold off support for UF/RoF

This commit is contained in:
Michael Cook (mackal) 2013-09-13 15:20:45 -04:00
parent fdb6f0fe84
commit d119ed058b
5 changed files with 33 additions and 0 deletions

View File

@ -1,5 +1,8 @@
EQEMu Changelog (Started on Sept 24, 2003 15:50)
-------------------------------------------------------
== 09/13/2013 ==
demonstar55: Add support for /pet hold on and /pet hold off (UF and RoF)
== 08/29/2013 ==
KLS: Removed Common Profiler and Zone Profiler. They're well past outdated status and are just code bloat.
KLS: Fix for reported issue on forums with skills that could potentially be trained before a player achieved the level to train.

View File

@ -4051,6 +4051,12 @@ DECODE(OP_PetCommands)
case 0x0f:
emu->command = 0x0c; // Hold
break;
case 0x10:
emu->command = 0x1b; // Hold on
break;
case 0x11:
emu->command = 0x1c; // Hold off
break;
case 0x1c:
emu->command = 0x01; // Back
break;

View File

@ -3366,6 +3366,12 @@ DECODE(OP_PetCommands)
case 0x0f:
emu->command = 0x0c; // Hold
break;
case 0x10:
emu->command = 0x1b; // Hold on
break;
case 0x11:
emu->command = 0x1c; // Hold off
break;
case 0x1c:
emu->command = 0x01; // Back
break;

View File

@ -7169,6 +7169,22 @@ void Client::Handle_OP_PetCommands(const EQApplicationPacket *app)
}
break;
}
case PET_HOLD_ON: {
if (GetAA(aaPetDiscipline) && mypet->IsNPC() && !mypet->IsHeld()) {
if (mypet->IsFeared())
break; //could be exploited like PET_BACKOFF
mypet->Say_StringID(MT_PetResponse, PET_ON_HOLD);
mypet->WipeHateList();
mypet->SetHeld(true);
}
break;
}
case PET_HOLD_OFF: {
if (GetAA(aaPetDiscipline) && mypet->IsNPC() && mypet->IsHeld())
mypet->SetHeld(false);
break;
}
case PET_NOCAST: {
if(GetAA(aaAdvancedPetDiscipline) == 2 && mypet->IsNPC()) {
if (mypet->IsFeared())

View File

@ -19,6 +19,8 @@
#define PET_FOCUS 19
#define PET_FOCUS_ON 25
#define PET_FOCUS_OFF 26
#define PET_HOLD_ON 27
#define PET_HOLD_OFF 28
class Pet : public NPC {
public: