Trinitycore: [MMaps] Pet/Charge Pathing in Arena

Created on 31 Aug 2012  路  27Comments  路  Source: TrinityCore/TrinityCore

Blade's Edge Arena is the main issue here, on other arenas (Ruins/Nagrand) the pet and charge pathing seems to work really well as long as pet.vmaplos is disabled.

  1. The ropes that go on top of the pillars in Blade's Edge dont seem to have any "pathing" on them (Pets wont cross them if set to attack and Warriors cant charge anyone on top of the pillars)
    If Pet is on follow it will fly across the air to follow the master and usually fall down in the progress.
  2. Charge only calculates the most straightforward distance from you to the target instead of calculating the actual distance of the charge path, this means you can charge someone on top of the bridge from below the bridge and have insanely long charge pathing
    Easy fix would be to just implement charge to check the distance of the actual path calculated before executing it?
  3. Charge Pathing is disabled by default in the files? If you don't enable it the Warrior will just fly through the air just like it does without MMaps.
    In MotionMaster.h:
    void MoveCharge(float x, float y, float z, float speed = SPEED_CHARGE, uint32 id = EVENT_CHARGE, bool generatePath = false);
Sub-MapMMapVmaps

All 27 comments

Charge pathing, that is _NOT_ blizzlike. Charge should only go in a straight line, and its pathing is disabled by default in the core in order to somewhat achieve this behaviour, once i find a way to make Detour generate a straight path, it will be enabled.
As for point 1, many places dont have tile (mmaps) or height (vmaps and maps) information, why? because we cant generate it for them based on the information that is given to us.

https://www.youtube.com/watch?v=kRsvNK6akrE&feature=player_detailpage#t=287s

You can see around there he charges someone on top of the Blade's Edge arena while being on the ramp himself, Charge clearly paths him up and around to the Mage.

For Blade's Edge Arena you have to build map with offmesh connections, look at https://github.com/mangos/server/blob/master/contrib/mmap/offmesh_example.txt

In PathGenerator there is SetUseStraightPath(bool useStraightPath), may be useful? It force to use straight path, but you can't set a max distance.

@nikybiasion SetUseStraightPath does not really mean a straight path ( confusing name is confusing )

I apologize for these idiotic questions beforehand.

I assume there is a function in the core the check the xyzo of the target and the player?
In theory, wouldn't it be possible to fix charging up and down on Blade's Edge to some extent if you checked if the z axis (Is that even the up-down axis?) difference is too big between the 2 players then charge won't work?

@Xarper That can lead to a lot of problems, like two players on a ramp, on stairways, etc.

Try out d7eeebe0f3b9c1256bce900c39e0abcbf9641168

No answer for 22 days, I'll close this.

@saqirmdev

If i use this patch for an old core without mmaps this can work also for me?

@callmephil nope, you need mmaps. Its generate a new points but cant without mmaps

well hacked saqir. Still this is real anyway. I just checked today.

Yeah still no points on the ropes and also, if you charge onto anyone who is right in the edge, you charge into him without following the MMAP Points (in the photos I use .mmap path to reproduce the issue better):

As you can see, I just charged in a straight line ignoring the path and also my character didn't reach the top of the edge where the player is so I fell to the ground again.

On lastest rev https://github.com/TrinityCore/TrinityCore/commit/51f5ce1b7364b730cb0bdabcfd6ad18794213f95

The ropes that link the bridge with the pillars (where the crystals pop) are still unusable by NPCs so the issue should be reopened.

didn't test the charge thing however.

tested on d7600f1126d2780fecdfcdfc66a598a48cee0136

EDIT:
Small precision, I tested the charge issue and it looks like it is worked as intend (and it has been for some time now https://github.com/TrinityCore/TrinityCore/issues/13847#issuecomment-112721334).

The only issue remaining is therefore the ropes pet pathing

and how does one do that?

Just generate some offmesh for the ropes = fixed.

Not really since they'll be jump connections and the pet will get stuck jumping back and forward from the rope. Offmesh connection parameters can be found at https://github.com/jackpoz/TrinityCore/commit/339287c9e79d6191334dc36f873f2879141d182e#diff-83f769a3cbf8b7fc6fec3ba14eb3c2f6R80 if needed.
The real fix would be to change the rope mesh to be wide enough to be walkable.

then you probably didn't test them enough to find the issue

no clue, you didn't post your offmesh connections yet

@jackpoz "The real fix would be to change the rope mesh to be wide enough to be walkable." How can we do that? Aren't the mesh auto generated?

This bug is still valid after fe68b2e99851a888c5182d7bebddfea67459afd3 ?

yes

Yeah, it is still broken.

@nawuko can you share your offmesh?

@kvipka that does not help anybody here.

@jackpoz when you have time can try find a offmesh for it?
The cord between bridge and pilar in Blades Edge still dont work for charge

Fixed the ropes, I ended up setting walkable radius to 0 for this small map https://github.com/TrinityCore/TrinityCore/commit/e4658a1307b1d52a4e6a0ed67f7dff92f02c090d

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Rushor picture Rushor  路  3Comments

Teppic1 picture Teppic1  路  3Comments

besplash picture besplash  路  3Comments

cbcs picture cbcs  路  3Comments

DDuarte picture DDuarte  路  3Comments