PDA

View Full Version : Bot armor glitch


lich2594
09-02-2010, 01:01 AM
I am wondering if anyone else is having this issue... and if there is something anyone knows as a fix.

The issue:

Equipping bots with a full set of gear puts them in a state of GOD-mode. They become almost impossible to hit (by mobs).

While using the command #bot giveitem, to give the bots armor, the stats bug out. Give them one piece, and it says something like 2k AC, give them another piece and it says -20k AC (not just with AC either).

I have tested to see if item stats are bugging it, by giving them one piece of gear with uber stats - but that's simply not it. It seems that this melee-only avoidance only happens after I give the bots half a set of gear or more. A full set prevents them from getting hit at all.

Brewhaus
09-02-2010, 02:22 PM
I noticed the stats that are displayed wig out. Even the base stats it says the bot has change every time you give them something. I firgured it was just a display issue because I gave my bot something onetime and it said he had 304000 AC or something like that and so I sent him at a mob and the mob was still hitting him so I figured it just wasn't accurate. The bots do seem a bit overpowered though. I don't know why their base stats start off higher then you are allowed to actually start off a real character.

I haven't noticed this GOD mode yet but will report back if I see it. I tested a naked (except for 2 weapons) warrior bot at level 50 with an identically equipped level 50 war and the bot won with 50% of his hps left. Against a level 55 character it was about even.

lich2594
09-02-2010, 02:30 PM
We have a level 90 cap on our server. With the combination of that and mid-end (we haven't even started end-game gear yet), the bots have insane amounts of AC. Since the bots are on some of the same code as NPC's, this makes them avoid almost all incoming attacks; giving them GOD-Mode.

To get the information the server sees of them, you can type #showstats.

With a warrior, giving them a piece of gear with 400AC equals 800AC - that's only the first piece... From there, it gets added up over and over, with the same calculations; meaning that after a few pieces of 400, it quickly becomes over 30k armor... (that's not even a full set). So I am sure you should start to see the problem here, lol.

It's like the AC is getting double-added, every time the bot gets a new piece of gear.

-Hopefully we can get this worked out soon.

lich2594
09-02-2010, 08:41 PM
Alright, now I have the AC issue fixed - but the bots are still in a god-mode state... I don't even know what to do from here (lol)...

Any ideas?

lich2594
09-02-2010, 11:04 PM
Update: After fixing the AC problem and still having the avoidance issue, I narrowed it down to the bot's not capping avoidance (from armor) properly (or if they even do?). So I believe there needs to be a check on avoidance cap plugged in.

I hope this helps if anyone else has/had the same issue.

Brewhaus
09-03-2010, 04:14 PM
May I ask how you fixed the AC issue? Do you mean you found a way to change it in the DB or you changed it in the code and recompiled?

lich2594
09-06-2010, 10:52 PM
May I ask how you fixed the AC issue? Do you mean you found a way to change it in the DB or you changed it in the code and recompiled?

I changed some variables, deleted some, and added new code to the source.

Digging around through the bot code lead me to more than one issue that I resolved. The first issue was the incorrect AC values, the cause of this is that the bot code loads in data with the NPC code; creating a "double post" of information so to speak. After a few times creating incorrectly valued AC, it glitches and starts spitting out insane data.

The way I fixed this was to disable the bot.cpp code from adding any extra values. The code is not completely fixed, but it's a lot more accurate than the glitch previously used. Now, a 400AC piece of armor adds 800AC, each time I give another similar piece to the bot. (It sounds off still, but this method puts the bot almost equal in AC value as a normal player of the same class).

The second issue that was resolved is the mitigation of the bots. This was the main issue all along, but I thought that it was the AC because of the incorrectly displayed results. It could have been a combination, as well.

To correct this, you can adjust these lines of code:

(Located in bot.cpp)
damage -= (minhit * defender->GetItemBonuses().MeleeMitigation / 100);
damage -= (damage * defender->GetSpellBonuses().MeleeMitigation / 100);

These values may work fine, until you start to get up in the 8.5k+ AC range. Then it seems to put the bots into a GOD-mode state, where they can not be attacked. If you change the /100 to a higher number, such as /200, it will allow the bots to be hit more. (I'm not giving out my exact numbers, lol)

I hope this helps you!

Brewhaus
09-07-2010, 11:23 AM
Thanks! I'm going to have to checkout the code and start messing with it.

lich2594
09-07-2010, 01:52 PM
No problem, let me know if there is anything else I may be able to answer.

pfyon
09-12-2010, 06:50 PM
Just noticed this issue myself. A lvl 20 warrior with 5.5k ac. I'm going to try to find time to delve into the code and find/fix the issue.

lich2594
09-12-2010, 08:47 PM
I'm going to try to find time to delve into the code and find/fix the issue.

Did you read my posts further down the forum topic, or just read the first one? J/w ;)