liyunfan1223 / mod-playerbots

AzerothCore Playerbots Module
https://discord.gg/NQm5QShwf9
GNU Affero General Public License v3.0
235 stars 130 forks source link

Flag carriers in WSG will hide & not fight back #424

Closed Dohtt closed 1 month ago

Dohtt commented 1 month ago

When a bot is carrying the flag in WSG and reaches their side of the map while their flag is gone, they will hide in the flag room, but not fight back when attacked.

Commit Hash 46c877d

Steps to reproduce the behavior:

  1. Go to WSG
  2. Let both teams grab the flags
  3. Let the bots reach their respective sides of the map
  4. Attack the flag carrier who won't fight back (tested with warlock ranged)

Expected behavior The Flag Carrier should also try to protect themselves.

Dreathean commented 1 month ago

Can confirm

fuzzdeveloper commented 1 month ago

Yeah the bots in BG's (and in general) either move to objectives or fight, never both, usually combat takes priority and movement to objectives stops completely whenever bot is in combat, but there's a big exception made for flag carriers where they've obviously been set to run to objectives and ignore combat (as they'd never cap flag if they took every fight).

I'll see what happens if I allow FC to take fights when when they've taken enemy flag back to their base and they cant cap (only in the area of the flag, and only until their own flag is returned), looks like it'll be possible from what I can see.

FYI I'm also experimenting with having bots move to objectives AND fight at same time, because I have to for vehicles in IOC (because the driver ends up stuck in combat indefinitely for some reason) though I'm not sure whether I can expand it to bots in general because its a bit glitchy (and obviously not something melee classes could really do at all).

fuzzdeveloper commented 1 month ago

Fixed in https://github.com/liyunfan1223/mod-playerbots/pull/447

Took me so many hours to do this one I'm actually a bit embarrassed by it - suffice to say the "flag carriers must always be passive" behavior was enforced in several different ways:

It wouldn't be so bad if the FC state was checked in a consistent manner (so I could find this stuff) but OF COURSE NOT, we have:

Happy hunting for me! It was also the most frustrating thing I've had to test so far, if the bots could screw up a test they would find a way (eg: enemy FC always choosing to run past the GY that all my sides bots were stuck at because their movement was disabled). The enemy team also seemed to pursue every possible distraction rather than grab the damn flag, eg: grabbing every one of the stupid buffs, mounting/dismounting several times when they're about to run into my base anyway (mounting being so messed up in BG's right now was certainly not helping). Me holding their flag in midair with .gm fly on? What better excuse for a gathering of every damn bot underneath me! (even though I was using .gm on and was so high up I could barely see them until I came down wondering what was taking so long, I hovered above my own flag in subsequent tests). When you're waiting on this stuff over and over again, it gets on your nerves fast.

Anyway that's my whinge over, have fun! :-)