mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-11 21:01:29 +00:00
[BugFix] Remove detection of client pets from Sense[Summoned|Undead|Animal] spells (#1601)
* Remove detection of client pets from Sense[Summoned|Undead|Animal] * Use IsPetOwnerClient() function instead of individual checks * Add option to exclude client pets from GetClosestMobByBodyType * Add parameter Co-authored-by: Noudess <noudess@gmail.com>
This commit is contained in:
parent
6a962f2591
commit
cef873f793
@ -5146,7 +5146,7 @@ void EntityList::ExpeditionWarning(uint32 minutes_left)
|
||||
safe_delete(outapp);
|
||||
}
|
||||
|
||||
Mob *EntityList::GetClosestMobByBodyType(Mob *sender, bodyType BodyType)
|
||||
Mob *EntityList::GetClosestMobByBodyType(Mob *sender, bodyType BodyType, bool skip_client_pets)
|
||||
{
|
||||
|
||||
if (!sender)
|
||||
@ -5163,6 +5163,10 @@ Mob *EntityList::GetClosestMobByBodyType(Mob *sender, bodyType BodyType)
|
||||
if (CurrentMob->GetBodyType() != BodyType)
|
||||
continue;
|
||||
|
||||
// Do not detect client pets
|
||||
if (skip_client_pets && CurrentMob->IsPet() && CurrentMob->IsPetOwnerClient())
|
||||
continue;
|
||||
|
||||
CurrentDistance = ((CurrentMob->GetY() - sender->GetY()) * (CurrentMob->GetY() - sender->GetY())) +
|
||||
((CurrentMob->GetX() - sender->GetX()) * (CurrentMob->GetX() - sender->GetX()));
|
||||
|
||||
|
||||
@ -479,7 +479,7 @@ public:
|
||||
Corpse* GetClosestCorpse(Mob* sender, const char *Name);
|
||||
NPC* GetClosestBanker(Mob* sender, uint32 &distance);
|
||||
void CameraEffect(uint32 duration, uint32 intensity);
|
||||
Mob* GetClosestMobByBodyType(Mob* sender, bodyType BodyType);
|
||||
Mob* GetClosestMobByBodyType(Mob* sender, bodyType BodyType, bool skip_client_pets=false);
|
||||
void ForceGroupUpdate(uint32 gid);
|
||||
void SendGroupLeave(uint32 gid, const char *name);
|
||||
void SendGroupJoin(uint32 gid, const char *name);
|
||||
|
||||
@ -854,7 +854,7 @@ bool Mob::SpellEffect(Mob* caster, uint16 spell_id, float partial, int level_ove
|
||||
MessageID = SENSE_ANIMAL;
|
||||
}
|
||||
|
||||
Mob *ClosestMob = entity_list.GetClosestMobByBodyType(this, bt);
|
||||
Mob *ClosestMob = entity_list.GetClosestMobByBodyType(this, bt, true);
|
||||
|
||||
if(ClosestMob)
|
||||
{
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user