mirror of
https://github.com/EQEmu/Server.git
synced 2026-04-07 21:32:26 +00:00
Pet Command hack for UF+
This commit is contained in:
parent
797c35230f
commit
8435fa269d
@ -54,6 +54,7 @@ extern volatile bool RunLoops;
|
|||||||
#include "guild_mgr.h"
|
#include "guild_mgr.h"
|
||||||
#include "quest_parser_collection.h"
|
#include "quest_parser_collection.h"
|
||||||
#include "queryserv.h"
|
#include "queryserv.h"
|
||||||
|
#include "pets.h"
|
||||||
|
|
||||||
extern QueryServ* QServ;
|
extern QueryServ* QServ;
|
||||||
extern EntityList entity_list;
|
extern EntityList entity_list;
|
||||||
@ -5713,6 +5714,20 @@ void Client::SuspendMinion()
|
|||||||
Message_StringID(clientMessageTell, SUSPEND_MINION_UNSUSPEND, CurrentPet->GetCleanName());
|
Message_StringID(clientMessageTell, SUSPEND_MINION_UNSUSPEND, CurrentPet->GetCleanName());
|
||||||
|
|
||||||
memset(&m_suspendedminion, 0, sizeof(struct PetInfo));
|
memset(&m_suspendedminion, 0, sizeof(struct PetInfo));
|
||||||
|
// TODO: These pet command states need to be synced ...
|
||||||
|
// Will just fix them for now
|
||||||
|
if (m_ClientVersionBit & EQEmu::versions::bit_UFAndLater) {
|
||||||
|
SetPetCommandState(PET_BUTTON_SIT, 0);
|
||||||
|
SetPetCommandState(PET_BUTTON_STOP, 0);
|
||||||
|
SetPetCommandState(PET_BUTTON_REGROUP, 0);
|
||||||
|
SetPetCommandState(PET_BUTTON_FOLLOW, 1);
|
||||||
|
SetPetCommandState(PET_BUTTON_GUARD, 0);
|
||||||
|
SetPetCommandState(PET_BUTTON_TAUNT, 1);
|
||||||
|
SetPetCommandState(PET_BUTTON_HOLD, 0);
|
||||||
|
SetPetCommandState(PET_BUTTON_GHOLD, 0);
|
||||||
|
SetPetCommandState(PET_BUTTON_FOCUS, 0);
|
||||||
|
SetPetCommandState(PET_BUTTON_SPELLHOLD, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
return;
|
return;
|
||||||
|
|||||||
@ -858,6 +858,21 @@ void Client::CompleteConnect()
|
|||||||
CastToClient()->FastQueuePacket(&outapp);
|
CastToClient()->FastQueuePacket(&outapp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: load these states
|
||||||
|
// We at least will set them to the correct state for now
|
||||||
|
if (m_ClientVersionBit & EQEmu::versions::bit_UFAndLater && GetPet()) {
|
||||||
|
SetPetCommandState(PET_BUTTON_SIT, 0);
|
||||||
|
SetPetCommandState(PET_BUTTON_STOP, 0);
|
||||||
|
SetPetCommandState(PET_BUTTON_REGROUP, 0);
|
||||||
|
SetPetCommandState(PET_BUTTON_FOLLOW, 1);
|
||||||
|
SetPetCommandState(PET_BUTTON_GUARD, 0);
|
||||||
|
SetPetCommandState(PET_BUTTON_TAUNT, 1);
|
||||||
|
SetPetCommandState(PET_BUTTON_HOLD, 0);
|
||||||
|
SetPetCommandState(PET_BUTTON_GHOLD, 0);
|
||||||
|
SetPetCommandState(PET_BUTTON_FOCUS, 0);
|
||||||
|
SetPetCommandState(PET_BUTTON_SPELLHOLD, 0);
|
||||||
|
}
|
||||||
|
|
||||||
entity_list.RefreshClientXTargets(this);
|
entity_list.RefreshClientXTargets(this);
|
||||||
|
|
||||||
worldserver.RequestTellQueue(GetName());
|
worldserver.RequestTellQueue(GetName());
|
||||||
|
|||||||
@ -30,6 +30,7 @@
|
|||||||
#include "quest_parser_collection.h"
|
#include "quest_parser_collection.h"
|
||||||
#include "string_ids.h"
|
#include "string_ids.h"
|
||||||
#include "worldserver.h"
|
#include "worldserver.h"
|
||||||
|
#include "pets.h"
|
||||||
|
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
|
|
||||||
@ -1240,6 +1241,23 @@ bool Mob::SpellEffect(Mob* caster, uint16 spell_id, float partial, int level_ove
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
MakePet(spell_id, spell.teleport_zone);
|
MakePet(spell_id, spell.teleport_zone);
|
||||||
|
// TODO: we need to sync the states for these clients ...
|
||||||
|
// Will fix buttons for now
|
||||||
|
if (IsClient()) {
|
||||||
|
auto c = CastToClient();
|
||||||
|
if (c->ClientVersionBit() & EQEmu::versions::bit_UFAndLater) {
|
||||||
|
c->SetPetCommandState(PET_BUTTON_SIT, 0);
|
||||||
|
c->SetPetCommandState(PET_BUTTON_STOP, 0);
|
||||||
|
c->SetPetCommandState(PET_BUTTON_REGROUP, 0);
|
||||||
|
c->SetPetCommandState(PET_BUTTON_FOLLOW, 1);
|
||||||
|
c->SetPetCommandState(PET_BUTTON_GUARD, 0);
|
||||||
|
c->SetPetCommandState(PET_BUTTON_TAUNT, 1);
|
||||||
|
c->SetPetCommandState(PET_BUTTON_HOLD, 0);
|
||||||
|
c->SetPetCommandState(PET_BUTTON_GHOLD, 0);
|
||||||
|
c->SetPetCommandState(PET_BUTTON_FOCUS, 0);
|
||||||
|
c->SetPetCommandState(PET_BUTTON_SPELLHOLD, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user