Azerothcore-wotlk: (Pathfinding): There are some strange problems

Created on 6 Dec 2020  路  26Comments  路  Source: azerothcore/azerothcore-wotlk

Please reopen this question, there is a problem with the update, which leads to an error in the judgment of mmasp

Where is the key problem:

https://github.com/azerothcore/azerothcore-wotlk/pull/3658

After testing, these updates caused the problem

EXPECTED BLIZZLIKE BEHAVIOUR:

Normally, these should not happen in underground cities, and creatures should continue to attack players in the way of blizzard

STEPS TO REPRODUCE THE PROBLEM:
  1. .go 641.640 191.140 511.736 658 Through this Stone, creatures can quickly get out of combat
    2.The premise is that you need a melee creature, guide him here, and then jump to the top of Stone, and you will find that the creature is out of combat
EXTRA NOTES:

https://github.com/azerothcore/azerothcore-wotlk/commit/0baecd3e8f65db05a252cba8056360fd56b7cf8c

Check these updates
I use the latest https://github.com/azerothcore/azerothcore-wotlk/commit/e93a2ccc770c00477a52234674e55df89449b553

OPERATING SYSTEM:

win 10

MODULES:

Not used

OTHER CUSTOMIZATIONS:

Not used


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Confirmed

Most helpful comment

I can confirm this problem in Vioet Hold dalaran dungeons when the mobs free the Elemental boss, it does walk for 2 seconds and invade mode, which cause the dungeon to reset, there's no way you can kill that boss it always goes to evade mode when trying to get out of water

All 26 comments

@FALL1N1 please have a look at this

Can you upload a video of it, because I'm currently without a suitable PC to test it with? @boom8866

I'll log retail later to check how it behaves there, thank you.

Couldn't reproduce it, although as far as I can see from your video - you are jumping from the edge to the rock, which means that the creature cannot find a proper path (which in my opinion is normal, creatures in WoTLK cannot jump), so it goes to the closest point available then enters evade mode for a couple of seconds.

Dunno how it was handled in 3.3.5, so I am open for any suggestions, someone with fresh TrinityCore can give some hints as well (if it's the same there).

By default, the value for climbangle diff was 4:8, which is way too much (NPCs could climb nearly vertical walls/edges if they had alternative path to their target.
An example from the PR - https://image.prntscr.com/image/2cpYwuLVSQ_LipNYJWbYQQ.png
The red line was previous (4:8), the wisp (no line) one is from 3:6.
A long time ago it was set to 2:4 in both Mangos/Trinitycore and it was really bad, so something between the middle is blizzlike I suppose.

Either way, there are many "variables". For example - you can generate a mmap for a specific zone with custom values, for example " 4:8 " in PoS - so that mob is going to be able to climb it, while the rest of the world remains 3:6.

If you find retail videos with mmap/pathfinding behavior just ping me again and I will be here to help since I'm also interested in having it fully blizzlike.

@FALL1N1 Ok, I don't know how you can't restore my operation, but the operation should not happen in the underground city, and you must kill the creature to get rid of the battle, and even if the creature has no path, it should try for some time before giving up the attack to avoid the player from getting stuck in the BUG, but now the battle is too fast, and the creature has no waiting time at all.

The evade timer is set to 5s by default, ita the same in TC so I guess its sniff value. You can increase it to your likings.

https://github.com/azerothcore/azerothcore-wotlk/pull/3658/files#diff-2222cde2ff898034f0ce38bba2d5755cbdeef050c328b2d56599bc6d6664afc1R50

This modification is useless, I have tested it

What exactly did you test and how it is useless, please provide more information so I can work on a fix if necessary.

@FALL1N1 constexpr uint32 DEF_CANNOT_REACH = 5 * IN_MILLISECONDS;

This modification is useless, I have tried it, and the creature is still out of combat soon

The effect is just like in my video, you will see the prompt of getting out of combat/getting into combat and switching all the time

Blizzard's way should be that players can move from low Z coordinates to high Z coordinates, and creatures can certainly keep up with the path movement. If they encounter cliffs or unreachable positions, creatures should wait 5-10S to give up their goals

You can test that by standing on that rock and typing ".mmap path" with .gm on enabled, if there are wisps around you, then there's a path for the NPC. If there aren't - the NPC will keep on evading each time you attack it until you go to a reachable position (e.g off that rock).

The "DEF_CANNOT_REACH" variable stands for the "Evade time when unreachable", so the moment you are unreachable - the NPC will wait 5s in evade mode then reset.

@boom8866

Have you found any other location where this happens as well?

@FALL1N1

Found only 2 smaller issues.

  • If you check video from boom (Between 21-24sec youll see NPC targeting him again, which should not happen)
  • Timer for evade should be fixed - Think that's the prob for quick evade. (PM me on Disc for videos)

constexpr uint32 DEF_CANNOT_REACH = 5 * IN_MILLISECONDS; // this is when creatures are in los / no path to the target, 5s wait time then they return to spawn pos with evade - Should be 5000 cause its milisec (Not sure tho, i lack cpp skills)

@Knindzagxg Depending on some places with complex terrain, such problems can occur anywhere

Only evade timer is problem, but it's not big one.
Fall should be able to sort it pretty quick xP

So it's the evade timer, thank you, I will fix it as soon as I can. This issue can be assigned to me as well if necessary /so I don't forget/, I still bookmarked it tho.

@FALL1N1 Thank you

thanks @boom8866 for reporting this and @Knindzagxg for bringing more clarity in it

@FALL1N1

Found only 2 smaller issues.

  • If you check video from boom (Between 21-24sec youll see NPC targeting him again, which should not happen)
  • Timer for evade should be fixed - Think that's the prob for quick evade. (PM me on Disc for videos)

constexpr uint32 DEF_CANNOT_REACH = 5 * IN_MILLISECONDS; // this is when creatures are in los / no path to the target, 5s wait time then they return to spawn pos with evade - Should be 5000 cause its milisec (Not sure tho, i lack cpp skills)

Isnt the IN_MILLISECONDS variable set to 1000? so doing 5 * IN_MILLISECONDS should already be equal to 5000.

It is, just dumb comment left by me.

I can confirm this problem in Vioet Hold dalaran dungeons when the mobs free the Elemental boss, it does walk for 2 seconds and invade mode, which cause the dungeon to reset, there's no way you can kill that boss it always goes to evade mode when trying to get out of water

Can anyone else check how it behaves on Retail or any other pserver (e.g Warmane/Dalaran), if I remember well, they chase you for ~7s if you are unreachable (with evade mode on), then reset back to home pos.

Can anyone else check how it behaves on Retail or any other pserver (e.g Warmane/Dalaran), if I remember well, they chase you for ~7s if you are unreachable (with evade mode on), then reset back to home pos.

Are you talking about Elemental boss in Violet Hold or in general ?

Can anyone else check how it behaves on Retail or any other pserver (e.g Warmane/Dalaran), if I remember well, they chase you for ~7s if you are unreachable (with evade mode on), then reset back to home pos.

Are you talking about Elemental boss in Violet Hold or in general ?

In general, the issue is not just about the elemental boss.

Just to mention that, i couldn't confirm the bug that boom8866 talk about, for me the mobs follow me on that rock normally

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Maurowin picture Maurowin  路  3Comments

fallen26 picture fallen26  路  3Comments

wowissues picture wowissues  路  3Comments

Franklampardst picture Franklampardst  路  3Comments

Wokwer picture Wokwer  路  4Comments