Added ShopExecute throttling back in so we can use that to make easy bots slower at buying items.
Fixed an issue where a bot would buy items before loading is finished and they end up in the stash and aren't used.
Added a fail safe loop breaker to ShopExecute so we don't crash clients when a developer keeps sending the same item in DetermineNextItemDef.
Changed the ShopExecute buying loop to only be able to buy the same item in one frame rather then all items at once. This makes the behavior more humanlike. By setting shopping.buyInterval to 0 you can still get instant buying which might be useful for hard bots.
When the bot is buying he will now stand still (during pregame) or move to the location provided by PositionSelfLogic (after pregame). This can be extended to also have the bot stand still while buying when difficulty is set to easy to better simulate a bot having a hard time with the game.