• Visit Rebornbuddy
  • Visit Panda Profiles
  • Visit LLamamMagic
  • Fight at Joe's - 2.0

    Discussion in 'Buddy Wing Forum' started by adude, Apr 29, 2013.

    Thread Status:
    Not open for further replies.
    1. Jests

      Jests New Member

      Joined:
      Feb 13, 2013
      Messages:
      488
      Likes Received:
      1
      Trophy Points:
      0
      I'll test this after work, but in terms of how I play my commando, and how I usually open it might be a good idea to open with plasma grenade in the pull and strike it from the normal rotation.

      The reason for that is it's cast time is affected more by spell delay if you take damage while casting, and also there is a travel time before the mob Aggros you, and that travel time is enough (if cast from far enough away) to finish a cast of grav round.

      I would say that plasma grenade should probably only be used in the pull, and only if the mob is strong or greater.
       
    2. Jests

      Jests New Member

      Joined:
      Feb 13, 2013
      Messages:
      488
      Likes Received:
      1
      Trophy Points:
      0
      I tried running it really quick and this is the error I got:

      Compiler Error: c:\Users\Stephen\Desktop\Buddywing\Routines\DefaultCombat\Routines\Advanced\Commando\Gunnery.cs(51,55) : error CS0019: Operator '>' cannot be applied to operands of type 'bool' and 'int'
      Unhandled exception during init: System.InvalidOperationException: No routines were loaded. Please ensure there is a routine for your class before starting the bot.
      at Buddy.CommonBot.BotMain.SetCurrentCombatRoutine()
      at Buddywing.MainWindow.DoInitialization()
       
    3. adude

      adude New Member

      Joined:
      Feb 2, 2013
      Messages:
      259
      Likes Received:
      1
      Trophy Points:
      0
      ok well i fixed the error and changed the rotation see what i did.. i also made sure that grav gound fire three times in this rotation before the high impact bolt. may still need some tweaking thou

      PHP:
      Spell.WaitForCast(),
                      
      Movement.StopInRange(2.8f),

                      
      //***Generel***
                      
      Spell.Cast("Tenacity"ret => BuddyTor.Me.IsStunned),
                      
      Spell.Cast("Adrenaline Rush"ret => BuddyTor.Meret => BuddyTor.Me.HealthPercent <= 30),//-30 Health

                      //**Defensive**
                      
      Spell.Cast("Reactive Shield"castWhen => BuddyTor.Me.InCombat && !BuddyTor.Me.HasBuff("Reactive Shield")),

                      
      //**CC**
                      
      Spell.Cast("Concussive Round"on => Helpers.ccTarget(), castWhen => Helpers.Targets.Count() >= 4),

                      
      //*Interrupts*
                      
      Spell.Cast("Disabling Shot"ret => BuddyTor.Me.CurrentTarget.IsCasting),


                      
      //Rotation
                      
      Spell.Cast("Plasma Grenade"castWhen => Helpers.Targets.Count() >= && BuddyTor.Me.ResourceStat >= 10),//+30 Energy
                      
      Spell.Cast("Grav Round"castWhen => BuddyTor.Me.ResourceStat <= 49),//+19 Energy
                      
      Spell.Cast("Grav Round"castWhen => BuddyTor.Me.ResourceStat <= 68),//+19 Energy
                      
      Spell.Cast("Demolition Round"),//+16 Energy
                      
      Spell.Cast("Electro Net"),//+8 Energy
                      
      Spell.Cast("Reserve Powercell"), //-50 Energy
                      
      Spell.Cast("High Impact Bolt"ret => BuddyTor.Me.HasBuff("Charged Barrel")),//+16 Energy
                      
      Spell.Cast("Full Auto"ret => BuddyTor.Me.HasBuff("Curtain of Fire")),//+16 Energy
                      
      Spell.Cast("Sticky Grenade"castWhen => Helpers.Targets.Count() >= && BuddyTor.Me.ResourceStat >= 10),//+16 Energy
                      
      Spell.Cast("Pulse Cannon"castWhen => BuddyTor.Me.ResourceStat <= 63 && Helpers.Targets.Count(=> t.Distance <= 1) >= 3),//+25 Energy
                      
      Spell.Cast("Hammer Shot"),//+0 Energy

                      //Movement
                      
      Movement.MoveTo(ret => BuddyTor.Me.CurrentTarget.Position2.8f)
       
      Last edited: May 1, 2013
    4. Jests

      Jests New Member

      Joined:
      Feb 13, 2013
      Messages:
      488
      Likes Received:
      1
      Trophy Points:
      0
      I'm off my lunch break, so I won't be able to test this again for several hours, but I'll let you know how it runs!
       
    5. adude

      adude New Member

      Joined:
      Feb 2, 2013
      Messages:
      259
      Likes Received:
      1
      Trophy Points:
      0
      lol yea that rotation was crappy i made some serious changes again... before the commando was trying to use Force Shroud :rolleyes:
       
    6. Jests

      Jests New Member

      Joined:
      Feb 13, 2013
      Messages:
      488
      Likes Received:
      1
      Trophy Points:
      0
      Yeah, I noticed that you must have used your assassin routine as a template for this one :D I figured that'd get cleaned up eventually.

      My routine is guilty of that too. He would use reactive shield as long as he didn't have "shield probe" activated :p
       
    7. adude

      adude New Member

      Joined:
      Feb 2, 2013
      Messages:
      259
      Likes Received:
      1
      Trophy Points:
      0
      i wonder if anyone is using this now? i notice a few pep ole testing is but not sure if anyone is accually using it... but anyhow i will be working on the Agent class's next if anyone has one that want to test for me.. if not i m will get my ONLY char "Assassin Tank" to lvl 50 then try another class like Bounty Hunter.
       
    8. Jests

      Jests New Member

      Joined:
      Feb 13, 2013
      Messages:
      488
      Likes Received:
      1
      Trophy Points:
      0
      I've got a concealment routine that runs very well right now, I modified it from a routine that Wonone gave me, but I don't think he'd mind if I gave it to you to use in joe's.

      The thing that's nice about Operatives is all the code is there already in the Merchelpers file, so it'll be a lot easier to make run efficiently than having to wrestle with the code like you did with Commando. It's really just a matter of tweaking the routine to optimize it.
       
    9. adude

      adude New Member

      Joined:
      Feb 2, 2013
      Messages:
      259
      Likes Received:
      1
      Trophy Points:
      0
      so i guess commando never worked before then? and if Operatives are working fine i don't need to touch it then do i?
       
    10. Jests

      Jests New Member

      Joined:
      Feb 13, 2013
      Messages:
      488
      Likes Received:
      1
      Trophy Points:
      0
      Commando never worked at all, it just stood there.

      Operatives "work" but they need optimizing desperately. Before I got help with concealment, it stood in cover and used sniper abilities. After the optimization it actually stealths up and opens with ambush, and uses melee abilities.

      (P.S. by "got help" I mean he did like 75% of the coding and really helped to show me how these routines even work in the first place :p Most the work is his.)
       
    11. walter

      walter Active Member

      Joined:
      Jun 25, 2012
      Messages:
      1,112
      Likes Received:
      10
      Trophy Points:
      38
      Commando worked for me before. I may have changed some stuff my self so I can't 100% say that but I am pretty sure it used to work for gunnery and healing. I leveled a few commandos with this.
       
    12. Jests

      Jests New Member

      Joined:
      Feb 13, 2013
      Messages:
      488
      Likes Received:
      1
      Trophy Points:
      0
      Gunnery is functional, but doing some really, really odd stuff and it's far from an optimal rotation. I'm going to start tweaking it, because there's a few too many things to really give a detailed list on. I think it's just going to require tweaking.

      Good job getting this working again!
       
    13. Jests

      Jests New Member

      Joined:
      Feb 13, 2013
      Messages:
      488
      Likes Received:
      1
      Trophy Points:
      0
      How do you do a strength of the mob check in this language? I tried castWhen => BuddyTor.Me.CurrentTarget, StrongOrGreater but that didn't work :(

      *edit*
      I don't know how joe's got his code to write like it does and work but it's a lot, lot, lot simpler and user friendly to edit.
       
      Last edited: May 1, 2013
    14. xtreme3881

      xtreme3881 Member

      Joined:
      Apr 4, 2010
      Messages:
      241
      Likes Received:
      5
      Trophy Points:
      18
      Here is my suggestion

      Operative - Needs some fine tuning in its rotation. If you level as medicine needs specific tweaking to healing the companion.
      Assassin Tank - Just a little (Very little) tweaking
      Sorcerer - Seems pretty good, but like the healing to be better

      Last but not least when I disable movement I like it to not break skill usage.

      Thanks
       
    15. adude

      adude New Member

      Joined:
      Feb 2, 2013
      Messages:
      259
      Likes Received:
      1
      Trophy Points:
      0

      thanx for this... my assassin tank is only lvl 25 now do i have not tested any skills beyond that yet.
       
    16. adude

      adude New Member

      Joined:
      Feb 2, 2013
      Messages:
      259
      Likes Received:
      1
      Trophy Points:
      0
      in order for that to work your going to have to add this code to the file.... now rtemember i ma at work again so i cant test this i will add an AT Work version of the file in the top post.

      PHP:
      public static bool StrongOrGreater(TorCharacter unit)
              {
                  if (
      unit != null) if (unit.Toughness == CombatToughness.Strong || unit.Toughness == CombatToughness.Boss1 || unit.Toughness == CombatToughness.Boss2 || unit.Toughness == CombatToughness.Player) return true;
                  return 
      false;
              }
      and i think this is the syntax you need to use.

      PHP:
      Spell.Cast("Plasma Grenade"castWhen => Helpers.Targets.Count() >= && Helpers.Targets == StrongOrGreater(CT)),
       
      Last edited: May 2, 2013
    17. adude

      adude New Member

      Joined:
      Feb 2, 2013
      Messages:
      259
      Likes Received:
      1
      Trophy Points:
      0
      Also i want the Regen abilities to only cast for as long as the health and "Mana" bare are not 100% and not the whole 15 seconds... it stopped working in Joe's original code so i can trying to modify the default code.. i think they MAY work what do yall think


      Original
      PHP:
      new SwitchArgument<CharacterClass>(CharacterClass.KnightCast("Introspection"ret => BuddyTor.Meret => BuddyTor.Me.HealthPercent 95)),
      Modified
      PHP:
      new SwitchArgument<CharacterClass>(CharacterClass.KnightCast("Introspection"ret => BuddyTor.Meret => BuddyTor.Me.HealthPercent 95 && !BuddyTor.Me.HealthPercent >=100)),
      Thoughts
       
    18. Jests

      Jests New Member

      Joined:
      Feb 13, 2013
      Messages:
      488
      Likes Received:
      1
      Trophy Points:
      0
      Thanks. That's probably why he did all the classes in one spec file so he wouldn't have to redo that stuff every time.

      I was thinking the same thing about recharge and reload, I was going to see if I couldn't figure that out myself so I'm glad you're looking at it :D
       
    19. Jests

      Jests New Member

      Joined:
      Feb 13, 2013
      Messages:
      488
      Likes Received:
      1
      Trophy Points:
      0
      Just following up with the commando routine:

      The routine ran for ~7 hours with no crashes and not a noticeably high amount of deaths. I don't know if it died or not, my repair bill was very minimal so if it did die it was not often. I'd say this is a great starting point. The only place that I really notice the bot has some severe problems is that it has a really hard time against gold mobs because the routine is not running optimally.

      Along the lines above, it gets stuck on casting hammershot repeatedly. I'm wondering if it needs some sort of command to kick back to the start of the routine when it hits hammershots.

      Does the command "return" work in this language, or is that something that only Joes has?
       
    20. adude

      adude New Member

      Joined:
      Feb 2, 2013
      Messages:
      259
      Likes Received:
      1
      Trophy Points:
      0

      this should be an easy fix, all we have to do is.

      Find
      PHP:
      Spell.Cast("Hammer Shot"),//+0 Energy
      Replace
      PHP:
      Spell.Cast("Hammer Shot"castWhen => BuddyTor.Me.ResourceStat >= 80),//+0 Energy
      I will do this once i get home
       
    Thread Status:
    Not open for further replies.

    Share This Page