• Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • [Snippet/PoC] Dodge dangerous attacks (Dominus only for now)

    Discussion in 'Archives' started by jyam, Dec 28, 2014.

    1. jyam

      jyam Community Developer

      Joined:
      Dec 27, 2014
      Messages:
      72
      Likes Received:
      1
      Trophy Points:
      0
      i'm going to make a polygon object of restricted zone to be in and just move to the safest area. The code is already planned in my mind and i'll use GeoLib Features as a geometry library.
      I have 4 characters on standard with 90-100 pts waiting to get a respec, if i get a viable one to afk in atziri room + some gear lent i can boost my work on this.
       
    2. darkbluefirefly

      darkbluefirefly Community Developer

      Joined:
      Nov 8, 2013
      Messages:
      1,927
      Likes Received:
      18
      Trophy Points:
      38
      Hey jyam,
      oooooo, that sounds so good. I like Unity's thingies, but yea.
      Unity - Scripting API: Physics.OverlapSphere

      Ops, then we can do something like

      Code:
      float distance;
       
       var transformArray = (GameObject)FindObjectsWOfType(typeof(GameObject))
           .Select(go => go.transform)
           .Where(t => Vector3.Distance(t.position - transform.position) > distance
           .ToArray();
      Code supposedly is slow, so doing it once in a limited time frame is ok, But it basically returns array of objects away from the radius. But this is for Unity lol.
       
      Last edited: Dec 30, 2014
    3. jyam

      jyam Community Developer

      Joined:
      Dec 27, 2014
      Messages:
      72
      Likes Received:
      1
      Trophy Points:
      0
      Unity isn't the way to go for this though, a geolib is more than enough.
      Also what would make dodging "projectile" spells better is if there is a way to access the projectile object themselves, IDK if that is possible.
      pushedx to the rescue?
       
    4. darkbluefirefly

      darkbluefirefly Community Developer

      Joined:
      Nov 8, 2013
      Messages:
      1,927
      Likes Received:
      18
      Trophy Points:
      38
      Hey jyam,
      Good Question. I'm not too sure, but from the top of my head
      Code:
      Loki.Game.Objects.Actor.IsTargetingMe
      *Might* Work, as he must target you to be able to cast the skill?
      If He is, Move in a circular pastern around him? or just keep moving. But if you move in a circular position relative to him, you might hit a wall and screwed.
      Pushedx, will have to enlighten us with his wisdom.
       
    5. jyam

      jyam Community Developer

      Joined:
      Dec 27, 2014
      Messages:
      72
      Likes Received:
      1
      Trophy Points:
      0
      I'm talking about the projectile, Dominus fires like 15-20 object, i wanna be able to track them individually to make the dodging perfect.
      For that i need the object position, vector it's moving at (can be computed), missile speed (to calculate the travel time and if yes/no i need to dodge it within a certain frametime)
       
    6. darkbluefirefly

      darkbluefirefly Community Developer

      Joined:
      Nov 8, 2013
      Messages:
      1,927
      Likes Received:
      18
      Trophy Points:
      38
      Hey jyam.
      Ah Ok, you also must have to take into account of desync as well just in case. I'm interested in how you will proceed as I personally can't think of a way to do this. Did you get a chance to use object explorer to check which objects are available when he's firing the projectiles?
       
    7. jyam

      jyam Community Developer

      Joined:
      Dec 27, 2014
      Messages:
      72
      Likes Received:
      1
      Trophy Points:
      0
      Working on this right now, wanna hit me up on skype so we can work on this faster? doing all the data mining alone might take some time
      Can't seem to find anything in object explorer, will have to do simulation of projecitle i guess..
       
      Last edited: Dec 30, 2014
    8. darkbluefirefly

      darkbluefirefly Community Developer

      Joined:
      Nov 8, 2013
      Messages:
      1,927
      Likes Received:
      18
      Trophy Points:
      38
      Hey jyam,
      I will latter, I'm at work atm.
       
    9. tozededao

      tozededao Community Developer

      Joined:
      Jan 15, 2010
      Messages:
      1,225
      Likes Received:
      5
      Trophy Points:
      38
      To be able to afk on Atziri you might look at something with capped spell block and high life or ES pool. Just grab Rainbowstrides along with a Saffel's Frame and Stone of Lahzwar and on your build try to get as much Block as you can.

      A build like this, life% is low, Path of Exile URL Shortener , but gets you enough base block.

      Then all you need is to have Rainbowstrides, Saffels and Stone with a combination of at least 150% Spell Block, you always get 50% from Stone of Lahzwar so you need RS and Saffels to have a combined 100%, Saffels can have 70-80 and RS 20-25.
       
    10. darkbluefirefly

      darkbluefirefly Community Developer

      Joined:
      Nov 8, 2013
      Messages:
      1,927
      Likes Received:
      18
      Trophy Points:
      38
      Hey tozededao,
      Didn't they nerf block or something last patch?
       
    11. tozededao

      tozededao Community Developer

      Joined:
      Jan 15, 2010
      Messages:
      1,225
      Likes Received:
      5
      Trophy Points:
      38
      They did you can no longer reach 75% base block, unless you use Anvil and some block corruptions if I'm not mistaken, yet you can have 50% base block, and if you have 150% of Block applied to Spell block, you reach 75% Spell block.
       
    12. jyam

      jyam Community Developer

      Joined:
      Dec 27, 2014
      Messages:
      72
      Likes Received:
      1
      Trophy Points:
      0
      Well if any of you guys want to help me speed this up, pm me and i'll give you my skype.
      Some brutus data :

      [Brutus, Lord Incarcerator]
      //AttackName,Type,value,duration,hasTarget
      BrutusSpikedGround,circle,25,3000,n //Aoe that lasts 3s at Destination.(x,y)
      BrutusGroundSlam,triangle,?,3000,y //Cone skillshot that travels through time for 3s, won't dodge that for now
      BrutusHook,linear,10,0,y // Linear skillshot, calculate the direction vector from brutus.Position and skill.Destination(x,y), assuming the width of the hook is 5 approx for safer dodge
       
    13. jyam

      jyam Community Developer

      Joined:
      Dec 27, 2014
      Messages:
      72
      Likes Received:
      1
      Trophy Points:
      0
      Go in the dev tab and use
      Code:
      using Loki.Utilities;
      using log4net;
      using Loki.Game;
      using Loki.Bot;
      using Loki.Game.Objects;
      
      public class RuntimeCode
      {
      	private static readonly ILog Log = Logger.GetLoggerInstanceForType();
      
      	public void Execute()
      	{
      		using(LokiPoe.AcquireFrame())
      		{
      			
              			  var dom = LokiPoe.ObjectManager.GetObjectByName<Monster>("Brutus, Lord Incarcerator");
      			if (dom == null) {
      				Log.DebugFormat("Dom not loaded");
      				return;
      			}
      			if (dom.HasCurrentAction) {
      Log.DebugFormat("ACTION!!");
                      Log.DebugFormat("Action performed by {0} [X : {1}, Y : {2}]", dom.Name, dom.Position.X, dom.Position.Y);
                      if (dom.CurrentAction.Destination != null)
                          Log.DebugFormat("Destination X : {0}, Y : {1}", dom.CurrentAction.Destination.X, dom.CurrentAction.Destination.Y);
                      if (dom.CurrentAction.Target != null)
                          Log.DebugFormat("Target X : {0}, Y : {1}", dom.CurrentAction.Target.Position.X, dom.CurrentAction.Target.Position.Y);
                      if (dom.CurrentAction.Skill != null)
                          Log.DebugFormat("{0} {1}",dom.CurrentAction.Skill.Name,  dom.CurrentAction.Skill.Description);
                  } else {
      Log.DebugFormat("Dom isn't doing any action");
      }
                  
      			
      		}
      	}
      }
      Replace : var dom = LokiPoe.ObjectManager.GetObjectByName<Monster>("Brutus, Lord Incarcerator"); by the mob you wanna track and just spam Run Code while the monster is doing his skillshots, paste me data (and if it's an aoe skill that lasts 3s even after cast, try to calculate length and give me)
       
    14. tozededao

      tozededao Community Developer

      Joined:
      Jan 15, 2010
      Messages:
      1,225
      Likes Received:
      5
      Trophy Points:
      38
      I'll go to merveil and see what can I do.
       
    15. tozededao

      tozededao Community Developer

      Joined:
      Jan 15, 2010
      Messages:
      1,225
      Likes Received:
      5
      Trophy Points:
      38
      I have no idea how to calculate length

      Merveil, The Siren -> First Phase

      ACTION!!
      Action performed by Merveil, the Siren [X : 1329, Y : 1032]
      Destination X : 1324, Y : 1021
      Target X : 1324, Y : 1021
      Firestorm Flaming bolts rain down over the targeted area. They explode when landing, dealing damage to nearby enemies.


      ACTION!!
      Action performed by Merveil, the Siren [X : 1329, Y : 1032]
      Destination X : 1299, Y : 997
      Target X : 1291, Y : 989
      MerveilIceSpear


      Merveil, the Twisted -> Second Phase

      This one is multiple locations at same time so the location isn't accurate
      ACTION!!
      Action performed by Merveil, the Twisted [X : 1331, Y : 1034]
      Destination X : 1331, Y : 1034
      MerveilMultiGeyser
      Target X : 1331, Y : 1034

      ACTION!!
      Action performed by Merveil, the Twisted [X : 1301, Y : 1008]
      Destination X : 1279, Y : 1033
      MerveilGeyser

      ACTION!!
      Action performed by Merveil, the Twisted [X : 1297, Y : 1014]
      Destination X : 1278, Y : 1034
      Target X : 1278, Y : 1034
      SeaWitchWave
       
    16. jyam

      jyam Community Developer

      Joined:
      Dec 27, 2014
      Messages:
      72
      Likes Received:
      1
      Trophy Points:
      0
      Thank you! Now if someone can do that with atziri :3
      What i'm going to do right now is make a passive bot that dodges for you while you play manually.
       
      Last edited: Jan 1, 2015
    17. WhereIsMyMind

      WhereIsMyMind Member

      Joined:
      Oct 12, 2013
      Messages:
      848
      Likes Received:
      5
      Trophy Points:
      18
      pushedx is going to cum when he sees THIS THREAD

      wimm
       
    18. tozededao

      tozededao Community Developer

      Joined:
      Jan 15, 2010
      Messages:
      1,225
      Likes Received:
      5
      Trophy Points:
      38
      I'll see what I can do with other hard bosses aswell! And dangerous monsters.
       
    19. tozededao

      tozededao Community Developer

      Joined:
      Jan 15, 2010
      Messages:
      1,225
      Likes Received:
      5
      Trophy Points:
      38
      I'm making a full list of stuff that would be awesome to have added for a plugin in order to evade stuff, some to always evade and others to evade based on a percent health I guess since they aren't that bad unless you are low.

      The list would be good in order to have people pointing out stuff that is important to dodge and also to have the info of these spells in order to help jyam with the data he needs to implement it :)
       
      Last edited: Jan 3, 2015
    20. jyam

      jyam Community Developer

      Joined:
      Dec 27, 2014
      Messages:
      72
      Likes Received:
      1
      Trophy Points:
      0
      man i'm doing a few manual atziri runs and having an assistant dodge stuff for me while i manual play is going to be so good. i'm making it a priority to release it before monday.
       

    Share This Page