celguar / mangosbot-bots

Bot AI Core from ike3 for cmangos/mangos classic/tbc/wotlk
https://github.com/cmangos/playerbots
88 stars 41 forks source link

[Vanilla] Playerbot auto equip rules #389

Open kmaazh opened 4 days ago

kmaazh commented 4 days ago

Playing with a 5 man group of all characters on one account, sometimes my bot characters will roll need / equip weird things. Like Frost Mage will need on +fire dmg and then equip it, Holy Priest will need on a cape with just 4 spirit, and equip it over his 4 spirit / 4 int cape.

Is there a way to fine tune this behaviour easily or is it more involved with the bot source code, etc?

mostlikely4r commented 4 days ago

It is rather involved.

Here you can see what items are selected to equip: https://github.com/cmangos/playerbots/blob/509c5cf87b6074b149662e560fdbc063de7584f3/playerbot/strategy/actions/EquipAction.cpp#L244 It should equip ITEM_USAGE_EQUIP over ITEM_USAGE_BAD_EQUIP

And here you can see how these values are calculated: https://github.com/cmangos/playerbots/blob/509c5cf87b6074b149662e560fdbc063de7584f3/playerbot/strategy/values/ItemUsageValue.cpp#L431 With the main comparison to the current equipped item here: https://github.com/cmangos/playerbots/blob/509c5cf87b6074b149662e560fdbc063de7584f3/playerbot/strategy/values/ItemUsageValue.cpp#L575

The idea is that if the statweight is higher it should be better to equip.

You can also query the bots for the calculated use (and power) by using the command 'q [itemlink]'

If you see any errors let us know.

celguar commented 4 days ago

fire/frost/arcane statweight needs work, yes. As for spirit vs spirit + int, maybe that item was broken? In that case they would roll need on it