This is a plugin for doing maps. Please read the following sections to properly understand what it does and how plugin works.
Settings description
How plugin chooses a map
How plugin explores a map
Other information
Thanks:
Version history:
Settings description
General Tab:
Main settings:
● Mode: Eternal Laboratory or Hideout. To make plugin work in Hideout you, obviously, should have a Map Device. Please ensure that you have "Vendor - Stash - Map Device" trio as close as possible to make bot's route effective, but do not overlap them! Keep in mind that standard selling task will sell items to the first found master in a given priority: Haku, Vorici, Elreon, Catarina, Vagan, Tora, Zana.
This screenshot demonstrates one of the possible effective placements:
● Upgrade to: plugin will upgrade normal (white) maps to the specified rarity.
● Max map level: plugin will not run maps higher than the specified level.
● Stash tab for maps: plugin will primarily operate on this stash tab: put newly found maps to it and take maps for running from it. If specified tab does not contain any map, bot will search in all other tabs. If there is no space, bot will put maps to the first available tab.
● Run unid maps: should or not plugin run unidentified maps. Please note that plugin does not identify maps by itself, thats an item filter's job.
● Come to trials: options for those who wanna manually complete Endgame trials. After map is cleared, if trial entrance was detected, bot will come to it and stop.
Map selling:
Enable this option if you want plugin to sell 3 maps of the same kind.
● Max map level: plugin will not sell maps higher than the specified level.
● Min map amount: plugin will not sell maps if total map amount in stash tab for maps (excluding unique) is lower than the specified value. Use this option to avoid a rare case when plugin can sell all your maps.
● Sell ignored maps: should or not plugin sell ignored maps regardless of their level. Use this option to avoid a common problem with ignored maps pile up a lot.
Aura precast:
Enable this option if you want plugin to apply auras and summon golem before entering a map.
● Ignore hidden: should or not plugin apply auras which are not present on the skillbar.
Rare map rerolling:
Enable this option if you want plugin to reroll ignored affixes on rare maps.
● Method: what orbs to use for rerolling. Please note that ScourTransmute method is just a downgrade to magic, use this if you set Upgrade to Magic and do not want to spend Alchemy orbs on newly found rare maps.
Chiseling:
Enable this option if you want plugin to apply chisels on normal (white) maps before upgrading them.
● Min map level: plugin will not use chisels on maps lower than the specified level.
● Quality: minimum map quality to stop the chiseling process.
Vaaling:
Enable this option if you want plugin to apply vaal orbs on map.
● Min map level: plugin will not use vaal orbs on maps lower than the specified level.
● Max map level: plugin will not use vaal orbs on maps higher than the specified level.
Statistics Tab:
Contains useful statistical information.
Map Ignoring Tab:
● Ignore by affix: plugin will not run maps with listed affixes.
For affix names look to Path of Exile Wiki. For example: if your want to ignore "Players have Blood Magic" you should add "of Hemomancy" , if you want to ignore "Monsters reflect x% of Elemental Damage" your should add "Mirrored".
● Ignore by name: plugin will not run maps with listed names.
● Ignore boss room in: plugin will not enter boss room in listed maps.
Mob Avoiding Tab:
Plugin will do the specified action when listed unique mob is detected. Use this feature to avoid hard Map Bosses, Beyond Bosses or Rogue Exiles.
Currently Pit and Malformation bosses are internally set to chicken. This is because bot does not recognize new "dynamic" area transition objects as obstacles, thus sticks to them indefinitely. Solution can be made, but is not ready yet.
● Chicken: plugin will instantly leave the current map. Logout if there are mobs nearby and portal out otherwise.
● Ignore: plugin will simply ignore the mob, without leaving the map. Useful for slow but deadly bosses like Shadow of the Vaal.

Main settings:
● Mode: Eternal Laboratory or Hideout. To make plugin work in Hideout you, obviously, should have a Map Device. Please ensure that you have "Vendor - Stash - Map Device" trio as close as possible to make bot's route effective, but do not overlap them! Keep in mind that standard selling task will sell items to the first found master in a given priority: Haku, Vorici, Elreon, Catarina, Vagan, Tora, Zana.
This screenshot demonstrates one of the possible effective placements:

● Max map level: plugin will not run maps higher than the specified level.
● Stash tab for maps: plugin will primarily operate on this stash tab: put newly found maps to it and take maps for running from it. If specified tab does not contain any map, bot will search in all other tabs. If there is no space, bot will put maps to the first available tab.
● Run unid maps: should or not plugin run unidentified maps. Please note that plugin does not identify maps by itself, thats an item filter's job.
● Come to trials: options for those who wanna manually complete Endgame trials. After map is cleared, if trial entrance was detected, bot will come to it and stop.
Map selling:
Enable this option if you want plugin to sell 3 maps of the same kind.
● Max map level: plugin will not sell maps higher than the specified level.
● Min map amount: plugin will not sell maps if total map amount in stash tab for maps (excluding unique) is lower than the specified value. Use this option to avoid a rare case when plugin can sell all your maps.
● Sell ignored maps: should or not plugin sell ignored maps regardless of their level. Use this option to avoid a common problem with ignored maps pile up a lot.
Aura precast:
Enable this option if you want plugin to apply auras and summon golem before entering a map.
● Ignore hidden: should or not plugin apply auras which are not present on the skillbar.
Rare map rerolling:
Enable this option if you want plugin to reroll ignored affixes on rare maps.
● Method: what orbs to use for rerolling. Please note that ScourTransmute method is just a downgrade to magic, use this if you set Upgrade to Magic and do not want to spend Alchemy orbs on newly found rare maps.
Chiseling:
Enable this option if you want plugin to apply chisels on normal (white) maps before upgrading them.
● Min map level: plugin will not use chisels on maps lower than the specified level.
● Quality: minimum map quality to stop the chiseling process.
Vaaling:
Enable this option if you want plugin to apply vaal orbs on map.
● Min map level: plugin will not use vaal orbs on maps lower than the specified level.
● Max map level: plugin will not use vaal orbs on maps higher than the specified level.
Statistics Tab:
Contains useful statistical information.
Map Ignoring Tab:

● Ignore by affix: plugin will not run maps with listed affixes.
For affix names look to Path of Exile Wiki. For example: if your want to ignore "Players have Blood Magic" you should add "of Hemomancy" , if you want to ignore "Monsters reflect x% of Elemental Damage" your should add "Mirrored".
● Ignore by name: plugin will not run maps with listed names.
● Ignore boss room in: plugin will not enter boss room in listed maps.
Mob Avoiding Tab:

Plugin will do the specified action when listed unique mob is detected. Use this feature to avoid hard Map Bosses, Beyond Bosses or Rogue Exiles.
Currently Pit and Malformation bosses are internally set to chicken. This is because bot does not recognize new "dynamic" area transition objects as obstacles, thus sticks to them indefinitely. Solution can be made, but is not ready yet.
● Chicken: plugin will instantly leave the current map. Logout if there are mobs nearby and portal out otherwise.
● Ignore: plugin will simply ignore the mob, without leaving the map. Useful for slow but deadly bosses like Shadow of the Vaal.
How plugin chooses a map
All maps in the "Stash tab for maps" are your initial map pool. After excluding all "inappropriate" ones, plugin sorts all remaining maps by level and rarity, thus choosing the most highlevel and rare map.
What maps plugin will exclude from your initial pool:
- Unique maps.
- Ignored maps (by name).
- Maps with level higher than stated in settings (max map level).
- Unidentified maps, if disabled in settings.
- Maps with ignored affix and:
What plugin will do after map is chosen:
● Plugin will open "ready to use" maps without any additional actions. Those maps are:
- Mirrored, corrupted or unidentified ones.
- Magic maps with 2 affixes, both of them are not ignored.
- Rare maps without ignored affixes.
- Normal (white) maps if Upgrade is set to Normal.
● If map of choice is normal (white), plugin will upgrade it according to settings:
- Plugin will do chiseling if corresponding option is enabled. If plugin cannot find any chisel in your stash, it will disable chiseling option in settings.
- If Upgrade is set to Rare, plugin will use alchemy orb on map. If plugin cannot find any alchemy orb in your stash, it will set Upgrade to Magic.
- If Upgrade is set to Magic, plugin will use transmutation orb on map. If plugin cannot find any transmutation orb in your stash, it will set Upgrade to Normal.
● Rerolling magic map:
- If magic map has ignored affix, plugin will use alteration orb on it. If plugin cannot find any alteration orb in your stash, it will set Upgrade to Normal.
- If magic map has only 1 affix, plugin will use augmentation orb on it. If plugin cannot find any augmentation orb in your stash, it will set Upgrade to Normal.
● Rerolling rare map:
- If rare reroll option is disabled, plugin will put the map back to stash and choose another one.
- If rare map has ignored affix, plugin will reroll it according to the selected method in settings. If plugin cannot find orbs required for selected reroll method, it will disable Rare map rerolling option in settings.
● Vaaling:
- If corresponding option is enabled in settings and map is within the level range for vaaling, plugin will use vaal orb on it. If plugin cannot find any vaal orb in your stash, it will disable vaaling option in settings.
- After vaal orb was used, plugin will check again if map is appropriate for run (name, level, affixes, non-unique). If one of those checks fails, plugin will put the map back to stash and choose another one. The only exception is when map becomes unidentified, plugin will run it even if corresponding option is disabled, because such map retains all it's original affixes unchanged.
What maps plugin will exclude from your initial pool:
- Unique maps.
- Ignored maps (by name).
- Maps with level higher than stated in settings (max map level).
- Unidentified maps, if disabled in settings.
- Maps with ignored affix and:
● map is also mirrored or corrupted.
● map is rare and rare reroll is disabled in settings.
● Upgrade is set to Normal.
What plugin will do after map is chosen:
● Plugin will open "ready to use" maps without any additional actions. Those maps are:
- Mirrored, corrupted or unidentified ones.
- Magic maps with 2 affixes, both of them are not ignored.
- Rare maps without ignored affixes.
- Normal (white) maps if Upgrade is set to Normal.
● If map of choice is normal (white), plugin will upgrade it according to settings:
- Plugin will do chiseling if corresponding option is enabled. If plugin cannot find any chisel in your stash, it will disable chiseling option in settings.
- If Upgrade is set to Rare, plugin will use alchemy orb on map. If plugin cannot find any alchemy orb in your stash, it will set Upgrade to Magic.
- If Upgrade is set to Magic, plugin will use transmutation orb on map. If plugin cannot find any transmutation orb in your stash, it will set Upgrade to Normal.
● Rerolling magic map:
- If magic map has ignored affix, plugin will use alteration orb on it. If plugin cannot find any alteration orb in your stash, it will set Upgrade to Normal.
- If magic map has only 1 affix, plugin will use augmentation orb on it. If plugin cannot find any augmentation orb in your stash, it will set Upgrade to Normal.
● Rerolling rare map:
- If rare reroll option is disabled, plugin will put the map back to stash and choose another one.
- If rare map has ignored affix, plugin will reroll it according to the selected method in settings. If plugin cannot find orbs required for selected reroll method, it will disable Rare map rerolling option in settings.
● Vaaling:
- If corresponding option is enabled in settings and map is within the level range for vaaling, plugin will use vaal orb on it. If plugin cannot find any vaal orb in your stash, it will disable vaaling option in settings.
- After vaal orb was used, plugin will check again if map is appropriate for run (name, level, affixes, non-unique). If one of those checks fails, plugin will put the map back to stash and choose another one. The only exception is when map becomes unidentified, plugin will run it even if corresponding option is disabled, because such map retains all it's original affixes unchanged.
How plugin explores a map
There are 2 tasks in MapRunner used for exploration (to understand what a Task is, please read the BasicGrindBot Guide Design section).
TrackMobTask
This task constantly scans an area around your character saving positions of all found monsters. Then takes the closest position and goes to it. When close enough to a monster, Combat Routine triggers, leading (hopefully) to a monster's death. Dead monster then will be removed from position cache. Due to high monster density in maps, this task usually explores almost all map area by itself.
TrackMobTask plays a vital role in map exploration because it guarantees that every monster you encounter will be killed. Without this task any action that leads to a moving out of combat range (looting items, switching to another target) can leave monster alive. Now imagine a bot that skips rogue exiles, map bosses...
The negative side of this task is that sometimes bot will waste a lot of time going from one side of the map to another only to kill 1 mob. Deal with it!
MapExplorationTask
This task is located after the TrackMobTask in a task queue. It means that MapExplorationTask will trigger only if TrackMobTask is out of monster positions.
This is the standard Exilebuddy exploration task. Without explaining a complicated stuff, basically what it does is: when you enter a new zone it splits all walkable area of that zone into small cells. All cells around your character are automatically marked as visited. Normally task just moves your character to the closest non-visited cell. The ratio between visited and non-visited cells is your explored percent.
In most cases MapExplorationTask triggers when explored percent is already around 90% all thanks to TrackMobTask.
Different map types
There are 3 general map types and exploration differs between them:
● Boss room map. Its a map where boss is located in a remote room. Examples: Cemetery, Museum, Jungle Valley.
On this type of map when explored percent reaches 85% plugin checks if entrance to the boss room was found, if it was - bot enters the room, kills the boss and leaves the map, otherwise explores until its found.
● Multilevel map. Map that has more then 1 level. Examples: Vaal Pyramid, Residence, Overgrown Ruin.
On this type of map when there is nothing left to explore on the current level, bot goes to the next level. If entrance to the next level was not found - bot is on the last level and should leave the map.
● Regular map.
On this type of map when explored percent reaches 85% plugin checks if map boss was killed, if it was - bot leaves the map, otherwise explores until its killed.
Why there is no exploration complete percent option like in the default grind bot?
Short answer - because maps are not regular zones. Its a common thing to set explored percent for regular zones to like 60-75%, and it will be ok, because bot will just keep creating new instances. Regular zones are infinite - maps aren't. If you set 60% exploration for map - you will run out of them in approx 2 hours depending on your initial pool.
Also, fixed explored percent would not be so useful if you take into account an existence of TrackMobTask (remember that it has higher priority then MapExplorationTask?).
And the last thing, I am completely satisfied with the current exploration system, never felt the need in a fixed explored percent and have absolutely no reasons to code it.
TrackMobTask
This task constantly scans an area around your character saving positions of all found monsters. Then takes the closest position and goes to it. When close enough to a monster, Combat Routine triggers, leading (hopefully) to a monster's death. Dead monster then will be removed from position cache. Due to high monster density in maps, this task usually explores almost all map area by itself.
TrackMobTask plays a vital role in map exploration because it guarantees that every monster you encounter will be killed. Without this task any action that leads to a moving out of combat range (looting items, switching to another target) can leave monster alive. Now imagine a bot that skips rogue exiles, map bosses...
The negative side of this task is that sometimes bot will waste a lot of time going from one side of the map to another only to kill 1 mob. Deal with it!
MapExplorationTask
This task is located after the TrackMobTask in a task queue. It means that MapExplorationTask will trigger only if TrackMobTask is out of monster positions.
This is the standard Exilebuddy exploration task. Without explaining a complicated stuff, basically what it does is: when you enter a new zone it splits all walkable area of that zone into small cells. All cells around your character are automatically marked as visited. Normally task just moves your character to the closest non-visited cell. The ratio between visited and non-visited cells is your explored percent.
In most cases MapExplorationTask triggers when explored percent is already around 90% all thanks to TrackMobTask.
Different map types
There are 3 general map types and exploration differs between them:
● Boss room map. Its a map where boss is located in a remote room. Examples: Cemetery, Museum, Jungle Valley.
On this type of map when explored percent reaches 85% plugin checks if entrance to the boss room was found, if it was - bot enters the room, kills the boss and leaves the map, otherwise explores until its found.
● Multilevel map. Map that has more then 1 level. Examples: Vaal Pyramid, Residence, Overgrown Ruin.
On this type of map when there is nothing left to explore on the current level, bot goes to the next level. If entrance to the next level was not found - bot is on the last level and should leave the map.
● Regular map.
On this type of map when explored percent reaches 85% plugin checks if map boss was killed, if it was - bot leaves the map, otherwise explores until its killed.
Why there is no exploration complete percent option like in the default grind bot?
Short answer - because maps are not regular zones. Its a common thing to set explored percent for regular zones to like 60-75%, and it will be ok, because bot will just keep creating new instances. Regular zones are infinite - maps aren't. If you set 60% exploration for map - you will run out of them in approx 2 hours depending on your initial pool.
Also, fixed explored percent would not be so useful if you take into account an existence of TrackMobTask (remember that it has higher priority then MapExplorationTask?).
And the last thing, I am completely satisfied with the current exploration system, never felt the need in a fixed explored percent and have absolutely no reasons to code it.
Other information
● MapRunner does things only somehow related to maps. All other logic is done by standard Exilebuddy tasks. Please do not report bugs related to fighting (combat routine), looting, chest/strongbox opening, shrine taking, pathfinding (stuck), stashing etc.
● Currently unsupported maps (ignored internally, you do not have to manually add them to ignore list):
- Arena. That map has an unusual multilevel type. Levels can have no transition to the next level, meaning that bot should return to the previous level and try another entrance. That requires too much coding for only one map.
- Colosseum. Highlevel map (82), I saw it only on youtube and it looks like a regular multilevel type. I need to test it in game, but 82 maps are so rare that I really doubt anyone will miss it.
- Core. Harvest-like map, nuff said. You have to kill 3 minibosses to access the final one. Additional coding required. Also hardest map in the game.
● Currently unsupported maps (ignored internally, you do not have to manually add them to ignore list):
- Arena. That map has an unusual multilevel type. Levels can have no transition to the next level, meaning that bot should return to the previous level and try another entrance. That requires too much coding for only one map.
- Colosseum. Highlevel map (82), I saw it only on youtube and it looks like a regular multilevel type. I need to test it in game, but 82 maps are so rare that I really doubt anyone will miss it.
- Core. Harvest-like map, nuff said. You have to kill 3 minibosses to access the final one. Additional coding required. Also hardest map in the game.
Thanks:
- Thanks to 54sgdg4d6s for testing beta version of the plugin.
- Thanks to MrUnreal for testing/helping me.
- Thanks to cyberbot for supporting/helping me.
- Thanks to zamup for supplying me with high level maps.
- Thanks to clandestine for giving me the Awakening beta key.
- Thanks to MrUnreal for testing/helping me.
- Thanks to cyberbot for supporting/helping me.
- Thanks to zamup for supplying me with high level maps.
- Thanks to clandestine for giving me the Awakening beta key.
Version history:
1.0 - initial release.
1.1 - added "upgrade level" functionality.
1.2 - changed exploration to one from OverwordAreaTweaks plugin. Possible fix to plugin loading after bot crash.
1.3 - added area transition functionality.
1.3.1 - removed corrupted normal maps from upgrade pool (thanks to powerpc for pointing that out). Increased area transition scan frequency.
1.3.2 - improved area transition logic.
1.3.3 - now bot can properly take transitions in Necropolis, Shrine, and Crematorium maps. Improved TrackMobTask.
1.4 - added Hideout support. Added ability to use chisels and vaal orbs. Further improved TrackMobTask. Fixed exploration issue in Jungle Valley bossroom. Fixed issue with area transitions in Labyrinth and Dry Peninsula maps. Fixed upgrade level issue, now bot will not try to place map in a full inventory (rare case when you have a lot of maps for upgrade). Improved FastMove (CTRL+Click), now its considerably faster. Now bot will not stop if run out of required orbs, instead it will switch to lower rarity.
1.4.1 Now bot does not stuck near invisible mobs. Fixed rare issue when bot leaves map without picking up all items. Inventory free space percent increased to 35 to avoid rare loot item issue.
1.5 Changes.
1.5.1 Fixed issue with bot going to town after death in Eternal Lab mode.
1.5.2 Fixed issue with bot not opening unidentified corrupted maps after vaaling.
1.5.3 Fixed rare map taking bug.
1.5.4 Changes.
1.5.5 Fixed infinite chisel searching bug.
1.5.6 Bloodlines tweaks.
1.6(unfinsihed) Just updates for 2.0.
1.6a(unfinsihed) Laboratory mode fix.
1.6 Changes.
1.6.1 Remaining check replaced with map boss killed check. Fixed bug with rare reroll. Added old map portals despawning wait. Added unique monster stats logging.
1.6.2 Added aurified curses support for aura precast.
1.6.3 Post Ascendancy bot compatible version. No currency stash tab support.
1.6.4 Fixes after api breaks. Added attempts to Map device logic.
1.6.5 Bossroom/multilevel exploration fix.
1.6.6 Fail to find path to area transition fixed.
1.6.7 Fixed a bug when endgame trial entrance was treated as boss room entrance. Added option to come to endgame trials, for those who wanna complete them manually.
1.6.8 Changes.
1.6.9 Fixed TrackMobTask sticking to Essence monsters.
1.6.10 Update for 2.5.0.
1.1 - added "upgrade level" functionality.
1.2 - changed exploration to one from OverwordAreaTweaks plugin. Possible fix to plugin loading after bot crash.
1.3 - added area transition functionality.
1.3.1 - removed corrupted normal maps from upgrade pool (thanks to powerpc for pointing that out). Increased area transition scan frequency.
1.3.2 - improved area transition logic.
1.3.3 - now bot can properly take transitions in Necropolis, Shrine, and Crematorium maps. Improved TrackMobTask.
1.4 - added Hideout support. Added ability to use chisels and vaal orbs. Further improved TrackMobTask. Fixed exploration issue in Jungle Valley bossroom. Fixed issue with area transitions in Labyrinth and Dry Peninsula maps. Fixed upgrade level issue, now bot will not try to place map in a full inventory (rare case when you have a lot of maps for upgrade). Improved FastMove (CTRL+Click), now its considerably faster. Now bot will not stop if run out of required orbs, instead it will switch to lower rarity.
1.4.1 Now bot does not stuck near invisible mobs. Fixed rare issue when bot leaves map without picking up all items. Inventory free space percent increased to 35 to avoid rare loot item issue.
1.5 Changes.
1.5.1 Fixed issue with bot going to town after death in Eternal Lab mode.
1.5.2 Fixed issue with bot not opening unidentified corrupted maps after vaaling.
1.5.3 Fixed rare map taking bug.
1.5.4 Changes.
1.5.5 Fixed infinite chisel searching bug.
1.5.6 Bloodlines tweaks.
1.6(unfinsihed) Just updates for 2.0.
1.6a(unfinsihed) Laboratory mode fix.
1.6 Changes.
1.6.1 Remaining check replaced with map boss killed check. Fixed bug with rare reroll. Added old map portals despawning wait. Added unique monster stats logging.
1.6.2 Added aurified curses support for aura precast.
1.6.3 Post Ascendancy bot compatible version. No currency stash tab support.
1.6.4 Fixes after api breaks. Added attempts to Map device logic.
1.6.5 Bossroom/multilevel exploration fix.
1.6.6 Fail to find path to area transition fixed.
1.6.7 Fixed a bug when endgame trial entrance was treated as boss room entrance. Added option to come to endgame trials, for those who wanna complete them manually.
1.6.8 Changes.
1.6.9 Fixed TrackMobTask sticking to Essence monsters.
1.6.10 Update for 2.5.0.
Last edited: