Open Class Pet Attack bug in Legion World Zones

MuDZaHeDiN

Mythical
Mythical
MuDZaHeDiN Rep
1
0
0
Rep
1
MuDZaHeDiN Vouches
0
0
0
Vouches
0
Posts
83
Likes
71
2 YEARS
2 YEARS OF SERVICE
LEVEL 8 101 XP
Hi all, I've been sitting for days on a bug that doesn't allow class pets to attack a target in Legion zones.
In all other zones the pet attacks, just not in Legion zones.

This is a private source Legion 7.3.5.
I have not found this bug in other repacks and have been able to use .npc info to rule out if a flag has been set incorrectly etc.

The pet tries to attack briefly and turns around again, as if it forgot what it was going to do.

I upload a video with this error, maybe someone knows how I can fix it.

Best regards

Here the Demo:
 

Alistar

Divine
Divine
Alistar Rep
1
0
0
Rep
1
Alistar Vouches
0
0
0
Vouches
0
Posts
55
Likes
79
Bits
2 YEARS
2 YEARS OF SERVICE
LEVEL 6 320 XP
Just put a breakpoint on COMMAND_ATTACK in PetHandler.cpp and you'll find the bug in no time.
 
Liked By 1 member :

MuDZaHeDiN

Mythical
Mythical
MuDZaHeDiN Rep
1
0
0
Rep
1
MuDZaHeDiN Vouches
0
0
0
Vouches
0
Posts
83
Likes
71
2 YEARS
2 YEARS OF SERVICE
LEVEL 8 101 XP
Just put a breakpoint on COMMAND_ATTACK in PetHandler.cpp and you'll find the bug in no time.
Thank you, I looked in that exact handler, but not in that exact spot.
Let me know if I get stuck.

Best regards
 
Liked By 1 member :

MuDZaHeDiN

Mythical
Mythical
MuDZaHeDiN Rep
1
0
0
Rep
1
MuDZaHeDiN Vouches
0
0
0
Vouches
0
Posts
83
Likes
71
2 YEARS
2 YEARS OF SERVICE
LEVEL 8 101 XP
All information in the TargetUnit with the following call
pet->ToCreature()->AI()->AttackStart(TargetUnit);
looks normal.

I don't understand why this happens only in Legion zones.
 

Alistar

Divine
Divine
Alistar Rep
1
0
0
Rep
1
Alistar Vouches
0
0
0
Vouches
0
Posts
55
Likes
79
Bits
2 YEARS
2 YEARS OF SERVICE
LEVEL 6 320 XP
All information in the TargetUnit with the following call
pet->ToCreature()->AI()->AttackStart(TargetUnit);
looks normal.

I don't understand why this happens only in Legion zones.


You need to follow a bit deeper than that. In AttackStart follow me->Attack that's most likely where it's failing.

1695406028406.png
 
Liked By 1 member :

MuDZaHeDiN

Mythical
Mythical
MuDZaHeDiN Rep
1
0
0
Rep
1
MuDZaHeDiN Vouches
0
0
0
Vouches
0
Posts
83
Likes
71
2 YEARS
2 YEARS OF SERVICE
LEVEL 8 101 XP
You need to follow a bit deeper than that. In AttackStart follow me->Attack that's most likely where it's failing.

View attachment 3711
I'm completely through from
C++:
void PetAI::DoAttack(Unit* target, bool chase)
to
C++:
ChaseMovementGenerator(Unit &target, float offset, float angle)
    : TargetedMovementGeneratorMedium<T, ChaseMovementGenerator<T> >(target, offset, angle) {}

The coordinates in the target are all correct and will not be lost.

The only thing I noticed is that the
C++:
void WorldSession::HandlePetActionHelper(Unit* pet, ObjectGuid petGuid, uint32 spellid, uint16 flag, ObjectGuid targetGuid, Position const& pos)
is called recursively and Position is always empty.

Is anyone aware of this error and has read a solution to it ?

Best regards
 

3,390

1,271

9,555

428

Top