• Visit Rebornbuddy
  • Make a new instance upon encountering difficult mobs (All-Seeing Eye, Rima, etc)

    Discussion in 'Archives' started by sabe, Mar 11, 2014.

    1. araklisk

      araklisk New Member

      Joined:
      Apr 4, 2014
      Messages:
      47
      Likes Received:
      0
      Trophy Points:
      0
      Just in case anyone wants it, I've updated my list to include the two new invasion bosses. They are currently under the "end bot run immediately" list as I do not know their damage output and better safe than sorry. I have also added an option to portal out if it's safe to do so (ie bot isn't in combat and won't chain into the boss before abandoning the run) instead of just logging out. Much thanks to pushedx for the combat check. :)

      Just as a disclaimer, the list of bosses to fight till you are at 50% is what my bot can currently handle in cruel as I have not made it to merciless yet. Your experience may be different so you may want to go in and move bosses you can't handle to the "NamesToProcessInstaKill" list as that is the one the bot will avoid the bosses completely.

      As with anything in invasion league, use at your own risk, but this has been working for me so far and lowers the amount of times you log out.

      View attachment AvoidBaddies1.0.3.cs

      EDIT: Added last rogue exile to list. All exiles and invasion bosses accounted for.
       
      Last edited: Apr 10, 2014
    2. FeedMe

      FeedMe New Member

      Joined:
      Oct 22, 2012
      Messages:
      30
      Likes Received:
      0
      Trophy Points:
      0

      I like this one :D thanks for the share !
       
    3. Igai

      Igai New Member

      Joined:
      May 5, 2013
      Messages:
      53
      Likes Received:
      0
      Trophy Points:
      0
      Is there a way to add a Skeletton Shrine somehow?
      Bot killed like 1000000 Skelettons and nearly died cause only 0.1 FPS left :X
       
    4. toNyx

      toNyx Well-Known Member

      Joined:
      Oct 29, 2011
      Messages:
      3,770
      Likes Received:
      35
      Trophy Points:
      48
      This is the advanced version (with multiple lists) including shrines, and some code cleaning regrouped in the region "Helpers"

      EDIT : Care, all the shrines are disabled by default, to enable a shrine just remove the "//" before the name.
       

      Attached Files:

    5. Igai

      Igai New Member

      Joined:
      May 5, 2013
      Messages:
      53
      Likes Received:
      0
      Trophy Points:
      0
      Thx :)

      Here is my savelist. Im botting a 76 Split Arrow Ranger on Docks Merc.

      Code:
      		private static string[] NamesToProcess =
              {
      
      			// Invasion Bosses
      		"Atziri's Pride",
      		"Balus Stoneskull",
      		"Blood Morpher",
      		"Blood Stasis",
      		"Corpsestitch",
      		"Glassmaul",
      		"Harbinger of Elements",
      		"Junglemare",
      		"Kall Foxfly",
      		"Mother of the Swarm",
      		"Pewterfang",
      		"Rancor",
      		"The Duchess",
      		"Wonderwalker",
      		
      		
      		//Rogue Exiles		
               "Jonah Unchained",               
               "Tinevin Highdove",   
               "Torr Olgosso",	
               "Damoi Tui",	
               "Eoin Greyfur",
              };
      
      	private static string[] NamesToProcessInstaKill =
              {
      
      			// Invasion Bosses
      				"Alpha Paradisae",
      				"Beheader Ataguchu",
      				"Bladeback Guardian",
      				"Bladetooth",
      				"Cava, Artist of Pain",
      				"Ch'aska, Maker of Rain",
      				"Cintiq, the Inescapable",
      				"Coniraya, Shadow of Malice",
      				"Corrector Draconides",
      				"Curator Miem",
      				"Docere Incarnatis",
      				"Droolscar",
      				"Evocata Apocalyptica",
      				"Genesis Paradisae",
      				"Granitecrush",
      				"Grath",
      				"Graveblood",
      				"Guardian of the Mound",
      				"Haviri, Vaal Metalsmith",
      				"Inti of the Blood Moon",
      				"Jikeji",
      				"Judgement Apparatus",
      				"Kamaq, Soilmaker",
      				"Konu, Maker of Wind",
      				"Kutec, Vaal Fleshsmith",
      				"M'gaska, the Living Pyre",
      				"Mammothcage",
      				"Mother of the Hive",
      				"Nighteater",
      				"Ossecati, Boneshaper",
      				"Perquil the Lucky",
      				"Rima, Deep Temptress",
      				"Shadow of Vengeance",
      				"Sheaq, Maker of Floods",
      				"Shivershell",
      				"Shrapnelbearer",
      				"Simi, the Nature Touched",
      				"Spinesnap",
      				"Strangledrift",
      				"Tailsinger",
      				"The All-seeing Eye",
      				"The Bolt Juggler",
      				"The Book Burner",
      				"The Firestarter",
      				"The Raging Mask",
      				"The Revenant",
      				"The Sunburst Queen",
      				"Thornrunner",
      				"Wiraq, the Impaler",
      				"Wiraqucha, Ancient Guardian",
      
      		//Rogue Exiles
      				"Magnus Stonethorn",
                      "Antalie Napora",
                      "Armios Bell",
                      "Ash Lessard",
                      "Igna Phoenix",
                      "Ion Darkshroud",
                      "Minara Anemina",
                      "Orra Greengate",
                      "Thena Moga",
                      "Xandro Blooddrinker",
      				"Augustina Solaria",
      
              };
      		
      		private static string[] ShrinesToProcess = 
      		{
      			// Simple Shrines
      			 "Acceleration Shrine",
      			 "Brutal Shrine",
      			 "Diamond Shrine",
      			// "Divine Shrine",
      			 "Echoing Shrine",
      			 "Hexing Shrine",
      			 "Impenetrable Shrine",
      			 "Massive Shrine",
      			 "Replenishing Shrine",
      			 "Resistance Shrine",
      			 "Shrouded Shrine",
      			
      			// // Spell Shrines
      			 "Burning Shrine",
      			 "Freezing Shrine",
      			 "Lightning Shrine",
      			// "Skeletal Shrine",
      		};
      

      I skip all Rain of Fire, Burst, Desecrate, Immunity, Viper Strike Invasion Bosses/Exiles and just skip the Skeletal and Immunity Shrine.
       
    6. d3vourm3nt

      d3vourm3nt Member

      Joined:
      May 5, 2014
      Messages:
      61
      Likes Received:
      0
      Trophy Points:
      6
      can i use this is ambush league?
       
    7. Igai

      Igai New Member

      Joined:
      May 5, 2013
      Messages:
      53
      Likes Received:
      0
      Trophy Points:
      0
      ofcourse
       
    8. toNyx

      toNyx Well-Known Member

      Joined:
      Oct 29, 2011
      Messages:
      3,770
      Likes Received:
      35
      Trophy Points:
      48
      When you put "//" in front of the corresponding value, you won't skip it ;) if you want to skip only skeletal, remove the "//" and add it to others :)
       
    9. Igai

      Igai New Member

      Joined:
      May 5, 2013
      Messages:
      53
      Likes Received:
      0
      Trophy Points:
      0
      oh xD where exactly is the "other" line? :X
       
    10. toNyx

      toNyx Well-Known Member

      Joined:
      Oct 29, 2011
      Messages:
      3,770
      Likes Received:
      35
      Trophy Points:
      48
      To avoid skeletal shrine only, your list must look like this :

      the "//" mark is supposed to not logout if the shrine is encountered ;)
       
    11. Trras

      Trras Member

      Joined:
      Oct 16, 2014
      Messages:
      84
      Likes Received:
      0
      Trophy Points:
      6
      Necro post, I need this plugin for Beyond league. Anyone can help me out here?
       
    12. h11brid

      h11brid New Member

      Joined:
      Jun 16, 2012
      Messages:
      22
      Likes Received:
      0
      Trophy Points:
      0
      Yeah would also like this for my beyond bot, dont wanna get one shot by magnus (flameblast exile)
       
    13. naut

      naut Community Developer

      Joined:
      Feb 9, 2012
      Messages:
      277
      Likes Received:
      21
      Trophy Points:
      18
      Very easy to do, just edit the Dominus/Piety plugin to your specific mob in question and remove the combat logic so it just forces a new instance.
       
    14. h11brid

      h11brid New Member

      Joined:
      Jun 16, 2012
      Messages:
      22
      Likes Received:
      0
      Trophy Points:
      0
      Can you explain how to do this? Sorry.
       
    15. pushedx

      pushedx Moderator Moderator Buddy Core Dev

      Joined:
      Sep 24, 2013
      Messages:
      4,252
      Likes Received:
      290
      Trophy Points:
      83
      You don't have to do this in a plugin. Here's an example of doing it with the new setup in your CR.

      In "Routines\ExampleRoutine\ExampleRoutine.cs", you'll want to change the CombatTargetingOnInclusionCalcuation function to this:
      You need to register and have one post to see spoilers!
      Change the name of course from Kuduku to whatever other mob you want. You can add as many names as you want simply by using the logical or operator (||) and checking the name against that as shown with the non-existant mob "Kuduku, the False God 2".

      Ideally, you'd not have that logic there really, but it's just a fast example of showing what actually needs to be done.

      NOTE: That logic won't work for corrupted areas or maps, and the process of trying to tell the bot to not enter the corrupted area again is not shown a bit more complicated.
       
    16. h11brid

      h11brid New Member

      Joined:
      Jun 16, 2012
      Messages:
      22
      Likes Received:
      0
      Trophy Points:
      0
      Oh wow thanks a lot for this, just what i needed! But is it possible to make the bot just disconnect instead? I don't want to risk being killed whilst making a TP, im botting HC.

      Thanks again
       
    17. Nepthys

      Nepthys Community Developer

      Joined:
      Oct 13, 2014
      Messages:
      89
      Likes Received:
      1
      Trophy Points:
      0
      edit this to your needs:


      Code:
      // CHICKEN ON ROGUE EXILE MAGNUS, ONESHOTS PEOPLE WITH FLAMEBLAST
      			if (m.Name == "Magnus Stonethorn")
      			{
      			// Stop it from returning to the same area, otherwise will be infinite loop of see mob, chicken, run back to same mob		
      			// If we aren't in a corrupted area, just blacklist the id. If we are, we need to blacklist the parent's id.
      			if (!LokiPoe.CurrentWorldArea.IsCorruptedArea)
      				{
      				AreaStateCache.SetNewInstanceOverride(LokiPoe.CurrentWorldArea.Id, true);
      				}
      			else
      				{
      				if (!string.IsNullOrEmpty(AreaStateCache.CorruptedAreaParentId))
      				AreaStateCache.SetNewInstanceOverride(AreaStateCache.CorruptedAreaParentId, true);
      				}
      
      				Log.ErrorFormat("[CR CHICKEN] MAGNUS ROGUE EXILE FOUND");
      				var lttserr = LokiPoe.EscapeState.LogoutToTitleScreen();
      				if (lttserr != LokiPoe.EscapeState.LogoutError.None)
      					{
      					Log.ErrorFormat("[CR CHICKEN] LogoutToTitleScreen returned {0}.", lttserr);
      					}
      			}

      Free up my time to release more code, help me pay my bills, and be awesome Support Me
       
      Last edited: Dec 24, 2014
    18. 1glide

      1glide Member

      Joined:
      Jan 19, 2010
      Messages:
      367
      Likes Received:
      1
      Trophy Points:
      18
      Using the code for Magnus, I tried to add a few Beyond Uniques that I struggle with... It does not seem to chicken when it finds them. Am I doing something wrong? ( I dont care about the log saying Magnus for all 3 btw)


      Code:
      	// CHICKEN ON ROGUE EXILE MAGNUS, ONESHOTS PEOPLE WITH FLAMEBLAST			if (m.Name == "Magnus Stonethorn")
      			if (m.Name == "Tzteosh, Hungering Flame")
      			if (m.Name == "Haast, Unrelenting Frost")
      				{
      			// Stop it from returning to the same area, otherwise will be infinite loop of see mob, chicken, run back to same mob		
      			// If we aren't in a corrupted area, just blacklist the id. If we are, we need to blacklist the parent's id.
      			if (!LokiPoe.CurrentWorldArea.IsCorruptedArea)
      				{
      				AreaStateCache.SetNewInstanceOverride(LokiPoe.CurrentWorldArea.Id, true);
      				}
      			else
      				{
      				if (!string.IsNullOrEmpty(AreaStateCache.CorruptedAreaParentId))
      				AreaStateCache.SetNewInstanceOverride(AreaStateCache.CorruptedAreaParentId, true);
      				}
      
      
      				Log.ErrorFormat("[CR CHICKEN] MAGNUS ROGUE EXILE FOUND");
      				var lttserr = LokiPoe.EscapeState.LogoutToTitleScreen();
      				if (lttserr != LokiPoe.EscapeState.LogoutError.None)
      					{
      					Log.ErrorFormat("[CR CHICKEN] LogoutToTitleScreen returned {0}.", lttserr);
      					}
      			}
       
    19. Nepthys

      Nepthys Community Developer

      Joined:
      Oct 13, 2014
      Messages:
      89
      Likes Received:
      1
      Trophy Points:
      0
      combining multiple checks to a single if statement should be done like this:
      if ((m.Name == "Magnus Stonethorn") || (m.Name == "Tzteosh, Hungering Flame") || (m.Name == "Haast, Unrelenting Frost"))

      note the || between each set of checks, and the extra ( ) around the entire lot
       

    Share This Page