feat(bots): v1.1.0 Adv Bots - Grand Exchange update / Refactor & Migrate multiple bot related files
What has been done in this MR?
NOTE: @ryannathans This changes how Adventure bots are spawned, the number defined in the config is now the exact number of Adventure bots spawned!!!
- Refactored multiple portions of 'Adventurer.kt'.
- Refactored spawning mechanism in 'ImmerseWorld.kt'.
- Adjusted max pulse count for bots 'GeneralBotCreator.kt' from 50 --> 75 (sweet spot found during profiling)
- Adjusted max skill baseline by +4 for Adventure bots to 69 in 'CombatBotAssembler.kt'
- Adds 500~ lines of unique dialogue.
- Adds 45,000~ unique bot names.
- Added multiple fail-safes for bots that get stuck in state or stuck somewhere in the game world.
- Added multiple random number functions to help add more variance to what Adventure bots do.
- Added 'checkNearBank' function to handle checking if a bot is near/in a Bank.
- Added 'checkCounter' function to handle bots stuck in states.
- Added 'teleportToRandomCity' function to handle getting a new city.
- Added 'randomizeLocationInRanges' function to add variability to locations given to bots.
- Added 'otherPlayersNearby' function to check if other players/bots are nearby.
- Added 'depositAtBank' function to handle bots banking their inventories if a bank booth is nearby.
- Improved random number generation used by multiple sections of the code.
- Improved how bots are spawned & add variance to spawn location.
- Improved how bots interact & handle being at the Grand Exchange.
- Improved how bots handle starting in Lumbridge.
- Fixed bots referencing themselves in dialogue.
- Fixed bots talking when they are by themselves.
- Fixed multiple cases where bots would get stuck in a state.
- Fixed multiple logic errors ex: redundant variables & checks.
- Fixed issues with bots banking but not switching states.
- Fixed code smell in 'CombatBotAssembler.kt'
- Lots of other small things.
What should testers check?
- Keep a general eye on Adventure bots, are they getting stuck, are they clumping in one spot, etc.
-
I have tested these changes thoroughly. -
I used the relevant Zaros tool for any JSON edits where possible, and have attached screenshots of any changes.
Edited by Kermit Frog