cmangos / issues

This repository is used as a centralized point for all issues regarding CMaNGOS.
179 stars 47 forks source link

šŸš€ [Feature Request] Creature Groups switching between random/waypoint movement. #3722

Open miraco opened 1 month ago

miraco commented 1 month ago

Feature Details

There are multiple CreatureGroups in the world that have formation-waypoint movement from x to y. When this group reaches Point Y they will remove their FormationShape for sometime and every creature in this group will have random Movement. After x seconds this Group will go back into formation-waypoint movement, moving back to point x. On point X the same thing can happen.

Example Video, i can provide more if needed. The Arcatraz

I had multiple ways in my mind to recreate something like this but all will miss something. The easiest one would be normal spawn_group + spawn_group_formation, on waypoint reach use dbscript_on_creature_movement with

The biggest issues with doing it like this would be:

Visualizations

mspaint_u3fYIjelkd

As Example ill take the group from arcatraz shown in the short video.

This group will spawn on point X. They have random movement for ~20 seconds They change their FormationShape to SPAWN_GROUP_FORMATION_TYPE_LIKE_GEESE with having the Protean Horror as "Leader" They move down the ramp to Point Y On point Y they remove FormationShape and switch to rnd movement After ~20 seconds they move up the ramp to point X and start again.

Benefits and Purpose

Getting more Blizzlike

Core Versions

Tobschinski commented 1 month ago

The group here does not move in formation, it is the default movement shape of spawngroups. It is loosely following the leader, without the precision of an actual formation. (which is also not implemented so.. lets just keep going)

Grz3s commented 1 month ago

Gazelle packs https://www.wowhead.com/classic/npc=4166/gazelle in Barrens running in Formation Type (0 -SPAWN_GROUP_FORMATION_TYPE_RANDOM)..and they do random spread (wandering for X yards) for good 15-30 secs. After that time, they will return to formation running. So it is a missing feature.

Tobschinski commented 1 month ago

Our formation type random is not correct. It's actually supposed to pick a random formation from 1-x. I researched this incorrectly because type 0 is so rarely used. I finally found 1 months later. Gazelle's are moving in a group, but not moving in a formation.

Grz3s commented 1 month ago

I researched this incorrectly because type 0 is so rarely used. - well - they're many that fit this kind of shape. Theres a difference between how it should work (in your research) and how actually works in our core. Im not sain one or another is wrong... I simply see it as how it curently work on our side and if i can recreate exact behaviour of creature/object from source. This is what we have: spawn groups are simple relations like min\max spawn number or attack\evade together etc. Formations make creatures walk together. This is how our core works. You cannot make creatures walk together, using spawn groups without formations. (old linking system does not work with groups) Gazelle's are moving in a group, but not moving in a formation. - Pls explain me how to find difference between normal following in group (currently not supported) and walk in formation. Gazelle's run in one shape. I also did small experiment with holding one for some time from its group. Then after released he rushed back to them (with higher speed) and took the same exact spot and contined followin master.

Tobschinski commented 1 month ago

I'm not saying this shape is rare, it is more used than any actual formation, mostly recognizable in groups with 3 creatures. It's always the same shape (extendable even), but the angle and distance isn't precisely kept as they are in formation. (and, I think I remember they were also not updated in the same way in sniffs) They're really just loosely following, sometimes one creature overtakes another.. sometimes falls a bit back.. it's not as static. Also noticeable in turning points, while formations will keep angle and distance at all times (if terrain permits, accurate to one hundredth of a yard), this shape does not do it. You will not see them swap sides, they're perfectly fine just following from either side.

You will see that the 2 different groups look like this: image Highchief Winterfall is a very good example for this. I'll record a video of him at some point.

Will that be useful for us? I don't know.. But I see more and more "random" formations are added to our databases and since this was my mistake.. I should at least mention it.

Tobschinski commented 1 month ago

I also found no evidence yet that you can "break" a formation from the AI-commands that Blizzard uses. The dwarves in BRD use something like "move everything back to spawnpoint" for that, but will try to move back in their formation shape the second another movement command is applied.

miraco commented 1 month ago

Another example that came in my mind is this group in Karazhan. https://youtu.be/GdnqHVJQOz4

Not sure if this also is an Formation or default movement shape of spawngroup.

But when you kill the creature that actually has the waypoints (leader) and feign death after you can see that they switch positions and a nother one will use the waypoints.

Just to understand this right: Our "enum SpawnGroupFormationType" are extracted from client, so its not possible to have another type? Our SPAWN_GROUP_FORMATION_TYPE_RANDOM is completly wrong and should be more a Default movement where the distance and angle isnt precisely kept?

Tobschinski commented 1 month ago

That looks like a formation for to as well.

Our "enum SpawnGroupFormationType" are extracted from client, so its not possible to have another type?

Yes, there will be more types, but after WotLK.

Our SPAWN_GROUP_FORMATION_TYPE_RANDOM is completly wrong and should be more a Default movement where the distance and angle isnt precisely kept?

From my knowledge, yes.

There is something called WanderFacing, which is an option to the wander command, it allows creatures to wander around their spawnpoints (more exist, like angle.. current pos.. etc). Maybe that is similar to the "move everybody back to spawn positions" that is not executed in formation. But that is guesswork and needs to be researched more. Do you happen to know where those ghosts spawn?

(Garr in MC does wander movement IN formation, however)

al3xc1985 commented 1 month ago

I am throuing my 2 cents, I found in north auberdine, and some place that I do not remember, there are this panthers matriarchs and their runts, they have random movement BUT their runts do have that random movement 2.

Need to mention that the Runt is a summon https://www.wowhead.com/classic/npc=2071/moonstalker-matriarch#abilities