EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Bots (https://www.eqemulator.org/forums/forumdisplay.php?f=676)
-   -   Bot Behavior (https://www.eqemulator.org/forums/showthread.php?t=40659)

AsmoTiC 06-01-2016 07:53 AM

Bot Behavior
 
Was working through Luclin Raid content last night and noticed something odd about the Bot AI during the Shei Vinitras encounter.

For some quick background. The Shei is permarooted in a room with two AE's that continue to go off, regardless if the Shei is up or not. Emu handles this by having a bunch of invisible mobs under the floor in that room who continually cast the AE spells. These mobs are untargetable, even by the GM.

First attempt, was the raid (12 clients + 24 bots) moving into the room to get everyone in position to engage the merchant version of the boss. As soon as we reached the threshold of the room the bots all targeted and started trying to attack one of the invis/untargetable mobs under the floor.

We ^camp spawned all the bots, and logged the characters that had the mob on the extended target window. Logged back in, resummoned the bots, and went for a second try; this time with a different approach.

We engaged the boss from outside the room, tank shot an arrow to start the fight (with Shei as the target). Bots reacted as expected and charged into the room to engage. Tank got setup, and as things settled down we noticed that the bots all went back to trying to fight the invis/untargetable mobs. Assumed after they got hit by the AE.

Tried using ^attack spawned to get all the bots back on the boss. This worked for a few moments, but as soon as the AE hit they all rushed back to the invis mobs.

Anyway, just noticed there was a problem with the AI somewhere:
1. They are somehow targeting a mob that a client (even GM) can't target.
2. When issued a ^attack command they don't ignore everything else and stick to that one declared target, ignoring anything else until that declared target is dead.

Uleat 06-01-2016 06:13 PM

You've pretty much answered your question :P


This clears the bots' hatelist when you use ^attack:
https://github.com/EQEmu/Server/blob...mand.cpp#L2534


For the 'untargetable' mobs, there is a flag that makes the client ignore the mob object when set..but, it is still a viable target in the server code.

I would imagine that pets also have this problem unless special consideration was put into their hate code.

AsmoTiC 06-01-2016 06:18 PM

Anyway to keep the bots from switching targets after using ^attack?

I don't mind that they are trying to murder those invis mobs, however they keep going back to them as soon as the room AE triggers (in this case the invis mobs cast their spells).

Uleat 06-01-2016 06:21 PM

Currently, I don't believe so...

I'm pretty sure their current target is based on 'most hate' and it is updated once per ai timer cycle.


That code is a little deeper than just class Bot..it would require a rework of that whole system - probably in more than one class.


I'll ponder for a solution and see what comes up.

AsmoTiC 06-01-2016 06:35 PM

Yea, totally understand if it's an issue that affects NPC's in general, or something bad like that.

Shei is the first event we've done that has some AE not coming off the Boss itself. I want to say as the expansions progress, room wide AE becomes more common. Hopefully there is some way to fix them. Otherwise, we'll just continue to spam ^attack. =)

Warkral 08-15-2016 10:31 AM

Old post I know, but couldn't you just locate the mobs in the zone list and move their spawn locations so they are visible? Seems a better solution then having to rewrite bot code.

AsmoTiC 08-15-2016 06:24 PM

Hey Warkral. Problem with moving the NPC's, is they are there to simulate a mechanic for the boss. If you moved them, they would still be invis and invuln. The bots would still try to attack them and get stuck.

If you make them so they can be targetted and killed then the boss mechanic goes away.

We never bothered to go back and try to boss again.

DanCanDo 08-15-2016 08:01 PM

You can change the invis 'race' from 240 to 1 or whatever in the db.
Being untargetable is a 'bodytype' of 11.

Uleat 08-15-2016 09:03 PM

Doesn't change the problem of bots attacking the mob they have the most hate with, though...

DanCanDo 08-16-2016 05:57 AM

Quote:

Originally Posted by Uleat (Post 250566)
Doesn't change the problem of bots attacking the mob they have the most hate with, though...

Yes, I was referring to this statement.

Quote:

Originally Posted by AsmoTiC (Post 250563)
If you moved them, they would still be invis and invuln.



All times are GMT -4. The time now is 04:00 AM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.