Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Explorer AI #18

Closed
jackpoz opened this issue Nov 10, 2015 · 4 comments
Closed

Explorer AI #18

jackpoz opened this issue Nov 10, 2015 · 4 comments

Comments

@jackpoz
Copy link
Owner

jackpoz commented Nov 10, 2015

Implement "Explorer AI" which should explore the world but avoiding any aggro, trying to get the Explorer achievement. Choose an optimized path based on where to go, taking into account learnt and to learn taxi paths.

Useful infos provided by @Warpten: Achievement.dbc, look for the criterias, then down into Achievement_Criteria.dbc, look for criteria id. if main requirement (first value of the huge ass union) is 8, go to the criteria indicated in second field. if it's 40-ish, open AreaPOIPoint.dbc, look for that second field's value as key. you get the x and y for the criteria

@jackpoz
Copy link
Owner Author

jackpoz commented Dec 19, 2015

Progress will be tracked at https://github.com/jackpoz/BotFarm/commits/explorer_ai branch

@jackpoz
Copy link
Owner Author

jackpoz commented Dec 20, 2015

Find area from WorldMapArea.dbc using mapid/x/y/z, Get area id, find rows in WorldMapOverlay.dbc with that id, find criterias in Achivement_Criteria.dbc with type ACHIEVEMENT_CRITERIA_TYPE_EXPLORE_AREA = 43 and the map overlay, then get all Achievement_Criteria with same Achievement id and find the locations of those areas from AreaTable.dbc

WorldMapArea with mapid/x/y/z -> WorldMapOverlay with the id -> Achievement_Criteria -> Achievement -> Achievement_Criteria -> WorldMapOverlay -> AreaTable, only missing piece is AreaTable -> x/y/z

GridMap::getArea(float x, float y) might be used to implement a getXandY(uint16 areaFlag). The vmaps areas will have to be retrieved manually and saved somewhere.

@jackpoz
Copy link
Owner Author

jackpoz commented Dec 25, 2015

All the locations could be retrieved once, saved in an xml and used by BotFarm to avoid runtime slowdowns.

@jackpoz
Copy link
Owner Author

jackpoz commented Dec 28, 2015

37120f3

lots of improvements left to do but at least the bot successfully explored the whole Elwynn Forest and earnt the achievement

@jackpoz jackpoz closed this as completed Dec 28, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant